@tencent-ai/codebuddy-code 2.100.2 → 2.101.0

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/codebuddy-headless.js +150 -149
  3. package/dist/codebuddy.js +146 -145
  4. package/dist/web-ui/assets/index-9X2LkU-w.css +32 -0
  5. package/dist/web-ui/assets/{index-DlV6l3G1.js → index-Co5qIufv.js} +116 -116
  6. package/dist/web-ui/index.html +2 -2
  7. package/dist/web-ui/sw.js +1 -1
  8. package/package.json +1 -1
  9. package/product.cloudhosted.json +2 -2
  10. package/product.internal.json +2 -2
  11. package/product.ioa.json +2 -2
  12. package/product.json +4 -4
  13. package/product.selfhosted.json +2 -2
  14. package/vendor/sandbox/SandboxExt.xcframework/Info.plist +30 -0
  15. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Headers/SandboxExt-Swift.h +900 -0
  16. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Headers/SandboxExt.h +34 -0
  17. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Headers/fileprovider_bridge.h +125 -0
  18. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Headers/projfs_types.h +34 -0
  19. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Headers/xlog_bridge.h +106 -0
  20. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/arm64-apple-macos.abi.json +43957 -0
  21. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/arm64-apple-macos.package.swiftinterface +1085 -0
  22. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/arm64-apple-macos.private.swiftinterface +1084 -0
  23. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  24. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/arm64-apple-macos.swiftinterface +1084 -0
  25. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/x86_64-apple-macos.abi.json +43957 -0
  26. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/x86_64-apple-macos.package.swiftinterface +1085 -0
  27. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/x86_64-apple-macos.private.swiftinterface +1084 -0
  28. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  29. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/SandboxExt.swiftmodule/x86_64-apple-macos.swiftinterface +1084 -0
  30. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Modules/module.modulemap +10 -0
  31. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/Resources/Info.plist +46 -0
  32. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/SandboxExt +3 -0
  33. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/SandboxExt.framework/Versions/A/_CodeSignature/CodeResources +240 -0
  34. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/dSYMs/SandboxExt.framework.dSYM/Contents/Info.plist +20 -0
  35. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/dSYMs/SandboxExt.framework.dSYM/Contents/Resources/DWARF/SandboxExt +3 -0
  36. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/dSYMs/SandboxExt.framework.dSYM/Contents/Resources/Relocations/aarch64/SandboxExt.yml +3413 -0
  37. package/vendor/sandbox/SandboxExt.xcframework/macos-arm64_x86_64/dSYMs/SandboxExt.framework.dSYM/Contents/Resources/Relocations/x86_64/SandboxExt.yml +3390 -0
  38. package/vendor/sandbox/WorkBuddySandboxHelper +3 -0
  39. package/vendor/sandbox/WorkbuddyFileProvider.appex/Contents/Info.plist +59 -0
  40. package/vendor/sandbox/WorkbuddyFileProvider.appex/Contents/MacOS/WorkbuddyFileProvider +3 -0
  41. package/vendor/sandbox/WorkbuddyFileProvider.appex/Contents/_CodeSignature/CodeResources +123 -0
  42. package/vendor/sandbox/WorkbuddyFileProvider.appex/Contents/embedded.provisionprofile +0 -0
  43. package/vendor/sandbox/WorkbuddyNetworkExtension.appex/Contents/Info.plist +55 -0
  44. package/vendor/sandbox/WorkbuddyNetworkExtension.appex/Contents/MacOS/WorkbuddyNetworkExtension +3 -0
  45. package/vendor/sandbox/WorkbuddyNetworkExtension.appex/Contents/_CodeSignature/CodeResources +123 -0
  46. package/vendor/sandbox/WorkbuddyNetworkExtension.appex/Contents/embedded.provisionprofile +0 -0
  47. package/vendor/sandbox/libsandbox_ffi.dylib +3 -0
  48. package/vendor/sandbox/sandbox-cli +0 -0
  49. package/vendor/sandbox/sandbox-cli.exe +0 -0
  50. package/vendor/sandbox/sandbox_ffi.dll +0 -0
  51. package/vendor/sandbox/tsbx.dll +0 -0
  52. package/vendor/sandbox/tsbx_sdk.dll +0 -0
  53. package/dist/web-ui/assets/index-DOB9MrWi.css +0 -32
@@ -19,10 +19,10 @@
19
19
  <link rel="preconnect" href="https://fonts.googleapis.com">
20
20
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
21
21
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
22
- <script type="module" crossorigin src="/assets/index-DlV6l3G1.js"></script>
22
+ <script type="module" crossorigin src="/assets/index-Co5qIufv.js"></script>
23
23
  <link rel="modulepreload" crossorigin href="/assets/markdown-Ce2Umeb2.js">
24
24
  <link rel="modulepreload" crossorigin href="/assets/vendor-DpYitQz5.js">
25
- <link rel="stylesheet" crossorigin href="/assets/index-DOB9MrWi.css">
25
+ <link rel="stylesheet" crossorigin href="/assets/index-9X2LkU-w.css">
26
26
  <link rel="manifest" href="/manifest.webmanifest"></head>
27
27
  <body class="bg-bg-primary text-text-primary min-h-screen overscroll-none">
28
28
  <div id="root"></div>
package/dist/web-ui/sw.js CHANGED
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const o=(o,n)=>(o=new URL(o+".js",n).href,e[o]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=o,s.onload=e,document.head.appendChild(s)}else s=o,importScripts(o),e()}).then(()=>{let s=e[o];if(!s)throw new Error(`Module ${o} didn’t register its module`);return s}));self.define=(n,i)=>{const l=s||("document"in self?document.currentScript.src:"")||location.href;if(e[l])return;let t={};const r=s=>o(s,l),u={module:{uri:l},exports:t,require:r};e[l]=Promise.all(n.map(s=>u[s]||r(s))).then(s=>(i(...s),t))}}define(["./workbox-fed2bdfe"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"logo.svg",revision:"6165db837a6039880af9705aa09be574"},{url:"index.html",revision:"0925fb786dffbeebda71e7438ab5627a"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/vendor-DpYitQz5.js",revision:null},{url:"assets/octicons-CaZ_fok2.woff2",revision:null},{url:"assets/mfixx-CpAhKOZz.woff2",revision:null},{url:"assets/markdown-Ce2Umeb2.js",revision:null},{url:"assets/logo-iZVLr450.svg",revision:null},{url:"assets/index-DlV6l3G1.js",revision:null},{url:"assets/index-DixJ0kqk.js",revision:null},{url:"assets/index-DOB9MrWi.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:"6165db837a6039880af9705aa09be574"},{url:"manifest.webmanifest",revision:"ed76a251c8eb35918791b0d0a060a0c2"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api/,/^\/gateway/,/^\/docs\//]})),s.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),s.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:20,maxAgeSeconds:31536e3})]}),"GET")});
1
+ if(!self.define){let s,e={};const o=(o,n)=>(o=new URL(o+".js",n).href,e[o]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=o,s.onload=e,document.head.appendChild(s)}else s=o,importScripts(o),e()}).then(()=>{let s=e[o];if(!s)throw new Error(`Module ${o} didn’t register its module`);return s}));self.define=(n,i)=>{const l=s||("document"in self?document.currentScript.src:"")||location.href;if(e[l])return;let t={};const r=s=>o(s,l),u={module:{uri:l},exports:t,require:r};e[l]=Promise.all(n.map(s=>u[s]||r(s))).then(s=>(i(...s),t))}}define(["./workbox-fed2bdfe"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"logo.svg",revision:"6165db837a6039880af9705aa09be574"},{url:"index.html",revision:"d5bfd98e6c339cc3563fd20e273a0916"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/vendor-DpYitQz5.js",revision:null},{url:"assets/octicons-CaZ_fok2.woff2",revision:null},{url:"assets/mfixx-CpAhKOZz.woff2",revision:null},{url:"assets/markdown-Ce2Umeb2.js",revision:null},{url:"assets/logo-iZVLr450.svg",revision:null},{url:"assets/index-DixJ0kqk.js",revision:null},{url:"assets/index-Co5qIufv.js",revision:null},{url:"assets/index-9X2LkU-w.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:"6165db837a6039880af9705aa09be574"},{url:"manifest.webmanifest",revision:"ed76a251c8eb35918791b0d0a060a0c2"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api/,/^\/gateway/,/^\/docs\//]})),s.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),s.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:20,maxAgeSeconds:31536e3})]}),"GET")});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.100.2",
3
+ "version": "2.101.0",
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",
@@ -697,6 +697,6 @@
697
697
  "SelectImage": true,
698
698
  "SkipToolCallSupportCheck": true
699
699
  },
700
- "commit": "15b2c626d6383a497797a24b39e71a9fa8214040",
701
- "date": "2026-06-01T03:14:32.884Z"
700
+ "commit": "f19d375380c8d36623e5429c5d21ba433481bc6b",
701
+ "date": "2026-06-01T18:39:36.410Z"
702
702
  }
@@ -648,6 +648,6 @@
648
648
  }
649
649
  }
650
650
  },
651
- "commit": "15b2c626d6383a497797a24b39e71a9fa8214040",
652
- "date": "2026-06-01T03:14:32.746Z"
651
+ "commit": "f19d375380c8d36623e5429c5d21ba433481bc6b",
652
+ "date": "2026-06-01T18:39:36.352Z"
653
653
  }
package/product.ioa.json CHANGED
@@ -896,6 +896,6 @@
896
896
  }
897
897
  }
898
898
  },
899
- "commit": "15b2c626d6383a497797a24b39e71a9fa8214040",
900
- "date": "2026-06-01T03:14:32.758Z"
899
+ "commit": "f19d375380c8d36623e5429c5d21ba433481bc6b",
900
+ "date": "2026-06-01T18:39:36.383Z"
901
901
  }
package/product.json CHANGED
@@ -561,11 +561,11 @@
561
561
  },
562
562
  {
563
563
  "name": "tool-bash-description",
564
- "template": "Executes a given bash command and returns its output.\n\nThe working directory persists between commands, but shell state does not. The shell environment is initialized from the user's profile.\n\nIMPORTANT: The user's default shell is {{defaultShell}}. Generate commands using syntax compatible with this shell.\n\n{% if platform == 'win32' %}\nIMPORTANT: On Windows, this tool uses Git Bash. Windows-specific notes:\n- Use forward slashes `/` in paths (Git Bash handles conversion automatically)\n- Standard Unix commands are available (ls, grep, cat, sed, awk, etc.)\n- For Windows-specific operations (registry, services, COM objects, .NET), consider using the PowerShell tool instead\n- Avoid CMD-style null redirects (`2>nul`) — use POSIX `2>/dev/null` instead\n- Drive paths are accessible as `/c/`, `/d/` etc. (e.g., `/c/Users/name/`)\n{% endif %}\n\nIMPORTANT: Avoid using this tool to run `cat`, `head`, `tail`, `sed`, `awk`, or `echo` commands, unless explicitly instructed or after you have verified that a dedicated tool cannot accomplish your task. Instead, use the appropriate dedicated tool as this will provide a much better experience for the user:\n\n- Read files: Use Read (NOT cat/head/tail)\n- Edit files: Use Edit (NOT sed/awk)\n- Write files: Use Write (NOT echo >/cat <<EOF)\n- Communication: Output text directly (NOT echo/printf)\n\nIMPORTANT: Avoid using this tool to run `find`, `grep`, or `rg` commands, unless explicitly instructed or after you have verified that a dedicated tool cannot accomplish your task. Instead, use the appropriate dedicated tool as this will provide a much better experience for the user:\n\n- File search: Use Glob (NOT find or ls)\n- Content search: Use Grep (NOT grep or rg)\n\nWhile the Bash tool can do similar things, it’s better to use the built-in tools as they provide a better user experience and make it easier to review tool calls and give permission.\n\n# Instructions\n- If your command will create new directories or files, first use this tool to run `ls` to verify the parent directory exists and is the correct location.\n- Always quote file paths that contain spaces with double quotes in your command (e.g., cd \"path with spaces/file.txt\").\n- Try to maintain your current working directory throughout the session by using absolute paths and avoiding usage of `cd`. You may use `cd` if the User explicitly requests it. In particular, never prepend `cd <current-directory>` to a `git` command — `git` already operates on the current working tree, and the compound triggers a permission prompt.\n- You may specify an optional timeout in milliseconds (up to {{bashMaxTimeoutMs}}ms). When the command may run longer than a few seconds (installers, build steps, long-running helper binaries, data processing) prefer to **omit the `timeout` parameter entirely** — the system default ({{bashDefaultTimeoutMs}}ms) is controlled by `BASH_DEFAULT_TIMEOUT_MS` and lets the user tune it without editing prompts. Only specify an explicit `timeout` when the command has a known short upper bound (e.g. a quick probe, a health check).\n- Non-interactive runs (`--print`/`-p`, `--output-format stream-json`) exit the process as soon as the main agent finishes its turn, even if earlier commands spawned background or long-running child processes. When designing multi-step workflows (skills, scripts that kick off build/analysis pipelines), either await the child process in the foreground (do not `nohup ... &` + return immediately) or plan the turns so the final step collects the artifact/exit status before the agent returns.\n- You can use the `run_in_background` parameter to run the command in the background. Prefer setting this to `true` for known long-running commands — installs, builds, image pulls, long tests, servers, etc. Examples: `yarn install/package/build`, `npm install/build`, `pnpm install`, `docker build/pull`, `cargo build`, `make`, `mvn package`, `go build`, `gradle build`. Once backgrounded you will receive a `task_id`; use the `TaskOutput` tool with that id to poll progress or fetch completed output. You do not need to use '&' at the end of the command when using this parameter.\n- If you forget `run_in_background` on a long command and it hits the foreground timeout, the command will **auto-background instead of being killed** (no SIGTERM, no state loss). The tool result will tell you the new `task_id` so you can pick it up with `TaskOutput`. This covers most long commands; the only exception is `sleep`, which is never auto-backgrounded because its timeout is usually the point of the command.\n- When issuing multiple commands:\n - If the commands are independent and can run in parallel, make multiple Bash tool calls in a single message. Example: if you need to run \"git status\" and \"git diff\", send a single message with two Bash tool calls in parallel.\n - If the commands depend on each other and must run sequentially, use a single Bash call with '&&' to chain them together.\n - Use ';' only when you need to run commands sequentially but don't care if earlier commands fail.\n - DO NOT use newlines to separate commands (newlines are ok in quoted strings).\n- For git commands:\n - For creating commits, use the `/commit` command — it handles git safety protocol, HEREDOC formatting, and pre-commit hook recovery.\n - For committing, pushing, and opening a PR, use the `/commit-push-pr` command.\n - Prefer creating a new commit rather than amending an existing commit.\n - Before running destructive operations (e.g., `git reset --hard`, `git push --force`, `git checkout --`), consider whether there is a safer alternative. Only use destructive operations when they are truly the best approach.\n - Never skip hooks (`--no-verify`) or bypass signing (`--no-gpg-sign`, `-c commit.gpgsign=false`) unless the user has explicitly asked for it. If a hook fails, investigate and fix the underlying issue.\n- Avoid unnecessary `sleep` commands:\n - Do not sleep between commands that can run immediately — just run them.\n - If your command is long running and you would like to be notified when it finishes — use `run_in_background`. No sleep needed.\n - Do not retry failing commands in a sleep loop — diagnose the root cause.\n - If waiting for a background task you started with `run_in_background`, check its output using the returned task id — do not poll in a sleep loop.\n - If you must poll an external process, use a check command (e.g. `gh run view`) rather than sleeping first.\n - If you must sleep, keep the duration short (1-5 seconds) to avoid blocking the user.\n- For GitHub operations (issues, PR checks, releases, comments), use the `gh` command via the Bash tool. If given a GitHub URL, use `gh` to get the information. Example: view PR comments via `gh api repos/foo/bar/pulls/123/comments`.\n"
564
+ "template": "Executes a given bash command and returns its output.\n\nThe working directory persists between commands, but shell state does not. The shell environment is initialized from the user's profile.\n\nIMPORTANT: The user's default shell is {{defaultShell}}. Generate commands using syntax compatible with this shell.\n\n{% if platform == 'win32' %}\nIMPORTANT: On Windows, this tool uses Git Bash. Windows-specific notes:\n- Use forward slashes `/` in paths (Git Bash handles conversion automatically)\n- Standard Unix commands are available (ls, grep, cat, sed, awk, etc.)\n- For Windows-specific operations (registry, services, COM objects, .NET), consider using the PowerShell tool instead\n- Avoid CMD-style null redirects (`2>nul`) — use POSIX `2>/dev/null` instead\n- Drive paths are accessible as `/c/`, `/d/` etc. (e.g., `/c/Users/name/`)\n{% endif %}\n\nIMPORTANT: Avoid using this tool to run `cat`, `head`, `tail`, `sed`, `awk`, or `echo` commands, unless explicitly instructed or after you have verified that a dedicated tool cannot accomplish your task. Instead, use the appropriate dedicated tool as this will provide a much better experience for the user:\n\n- Read files: Use Read (NOT cat/head/tail)\n- Edit files: Use Edit (NOT sed/awk)\n- Write files: Use Write (NOT echo >/cat <<EOF)\n- Communication: Output text directly (NOT echo/printf)\n\nIMPORTANT: Avoid using this tool to run `find`, `grep`, or `rg` commands, unless explicitly instructed or after you have verified that a dedicated tool cannot accomplish your task. Instead, use the appropriate dedicated tool as this will provide a much better experience for the user:\n\n- File search: Use Glob (NOT find or ls)\n- Content search: Use Grep (NOT grep or rg)\n\nWhile the Bash tool can do similar things, it’s better to use the built-in tools as they provide a better user experience and make it easier to review tool calls and give permission.\n\n# Instructions\n- If your command will create new directories or files, first use this tool to run `ls` to verify the parent directory exists and is the correct location.\n- Always quote file paths that contain spaces with double quotes in your command (e.g., cd \"path with spaces/file.txt\").\n- Try to maintain your current working directory throughout the session by using absolute paths and avoiding usage of `cd`. You may use `cd` if the User explicitly requests it. In particular, never prepend `cd <current-directory>` to a `git` command — `git` already operates on the current working tree, and the compound triggers a permission prompt.\n- You may specify an optional timeout in milliseconds (up to {{bashMaxTimeoutMs}}ms). When the command may run longer than a few seconds (installers, build steps, long-running helper binaries, data processing) prefer to **omit the `timeout` parameter entirely** — the system default ({{bashDefaultTimeoutMs}}ms) is controlled by `BASH_DEFAULT_TIMEOUT_MS` and lets the user tune it without editing prompts. Only specify an explicit `timeout` when the command has a known short upper bound (e.g. a quick probe, a health check).\n- Non-interactive runs (`--print`/`-p`, `--output-format stream-json`) exit the process as soon as the main agent finishes its turn, even if earlier commands spawned background or long-running child processes. When designing multi-step workflows (skills, scripts that kick off build/analysis pipelines), either await the child process in the foreground (do not `nohup ... &` + return immediately) or plan the turns so the final step collects the artifact/exit status before the agent returns.\n- You can use the `run_in_background` parameter to run the command in the background. Prefer setting this to `true` for known long-running commands — installs, builds, image pulls, long tests, servers, etc. Examples: `yarn install/package/build`, `npm install/build`, `pnpm install`, `docker build/pull`, `cargo build`, `make`, `mvn package`, `go build`, `gradle build`. Once backgrounded you will receive a `task_id`; **you do NOT need to poll** — when the command finishes you will be automatically notified via a `<task-notification>` message in your next turn. Use the `TaskOutput` tool only when the notification arrives and you actually need the output. You do not need to use '&' at the end of the command when using this parameter.\n- If you forget `run_in_background` on a long command and it hits the foreground timeout, the command will **auto-background instead of being killed** (no SIGTERM, no state loss). The tool result will tell you the new `task_id`; you will receive a `<task-notification>` when it finishes. This covers most long commands; the only exception is `sleep`, which is never auto-backgrounded because its timeout is usually the point of the command.\n- When issuing multiple commands:\n - If the commands are independent and can run in parallel, make multiple Bash tool calls in a single message. Example: if you need to run \"git status\" and \"git diff\", send a single message with two Bash tool calls in parallel.\n - If the commands depend on each other and must run sequentially, use a single Bash call with '&&' to chain them together.\n - Use ';' only when you need to run commands sequentially but don't care if earlier commands fail.\n - DO NOT use newlines to separate commands (newlines are ok in quoted strings).\n- For git commands:\n - For creating commits, use the `/commit` command — it handles git safety protocol, HEREDOC formatting, and pre-commit hook recovery.\n - For committing, pushing, and opening a PR, use the `/commit-push-pr` command.\n - Prefer creating a new commit rather than amending an existing commit.\n - Before running destructive operations (e.g., `git reset --hard`, `git push --force`, `git checkout --`), consider whether there is a safer alternative. Only use destructive operations when they are truly the best approach.\n - Never skip hooks (`--no-verify`) or bypass signing (`--no-gpg-sign`, `-c commit.gpgsign=false`) unless the user has explicitly asked for it. If a hook fails, investigate and fix the underlying issue.\n- Avoid unnecessary `sleep` commands:\n - Do not sleep between commands that can run immediately — just run them.\n - If your command is long running and you would like to be notified when it finishes — use `run_in_background`. No sleep needed.\n - Do not retry failing commands in a sleep loop — diagnose the root cause.\n - If waiting for a background task you started with `run_in_background`, you will be automatically notified when it completes — do NOT sleep, poll, or proactively check on its progress.\n - If you must poll an external process, use a check command (e.g. `gh run view`) rather than sleeping first.\n - If you must sleep, keep the duration short (1-5 seconds) to avoid blocking the user.\n- For GitHub operations (issues, PR checks, releases, comments), use the `gh` command via the Bash tool. If given a GitHub URL, use `gh` to get the information. Example: view PR comments via `gh api repos/foo/bar/pulls/123/comments`.\n"
565
565
  },
566
566
  {
567
567
  "name": "tool-powershell-description",
568
- "template": "Executes a PowerShell command on Windows with optional timeout. Working directory persists between commands; shell state (variables, functions) does not.\n\nIMPORTANT: This tool is for terminal operations via PowerShell on Windows: git, npm, docker, and PowerShell cmdlets. DO NOT use it for file operations (reading, writing, editing, searching, finding files) - use the specialized tools for this instead.\n\n{% if psEdition == 'desktop' %}\nPowerShell edition: Windows PowerShell 5.1 (powershell.exe)\n - Pipeline chain operators `&&` and `||` are NOT available — they cause a parser error. To run B only if A succeeds: `A; if ($?) { B }`. To chain unconditionally: `A; B`.\n - Ternary (`?:`), null-coalescing (`??`), and null-conditional (`?.`) operators are NOT available. Use `if/else` and explicit `$null -eq` checks instead.\n - Avoid `2>&1` on native executables. In 5.1, redirecting stderr sets `$?` to `$false` even with exit code 0.\n - Default file encoding is UTF-16 LE (with BOM). When writing files other tools will read, pass `-Encoding utf8` to `Out-File`/`Set-Content`.\n{% elif psEdition == 'core' %}\nPowerShell edition: PowerShell 7+ (pwsh)\n - Pipeline chain operators `&&` and `||` ARE available and work like bash.\n - Ternary (`$cond ? $a : $b`), null-coalescing (`??`), and null-conditional (`?.`) operators are available.\n - Default file encoding is UTF-8 without BOM.\n{% else %}\nPowerShell edition: unknown — assume Windows PowerShell 5.1 for compatibility\n - Do NOT use `&&`, `||`, ternary `?:`, null-coalescing `??`, or null-conditional `?.`. These are PowerShell 7+ only.\n - To chain commands conditionally: `A; if ($?) { B }`. Unconditionally: `A; B`.\n{% endif %}\n\nBefore executing the command, please follow these steps:\n\n1. Directory Verification:\n - If the command will create new directories or files, first use `Get-ChildItem` (or `ls`) to verify the parent directory exists\n\n2. Command Execution:\n - Always quote file paths that contain spaces with double quotes\n - Capture the output of the command.\n\nPowerShell Syntax Notes:\n - Variables use $ prefix: $myVar = \"value\"\n - Escape character is backtick (`), not backslash\n - Use Verb-Noun cmdlet naming: Get-ChildItem, Set-Location, New-Item, Remove-Item\n - Common aliases: ls (Get-ChildItem), cd (Set-Location), cat (Get-Content), rm (Remove-Item)\n - Pipe operator | works similarly to bash but passes objects, not text\n - Use Select-Object, Where-Object, ForEach-Object for filtering and transformation\n - String interpolation: \"Hello $name\" or \"Hello $($obj.Property)\"\n - Registry access uses PSDrive prefixes: `HKLM:\\SOFTWARE\\...`, `HKCU:\\...` — NOT raw `HKEY_LOCAL_MACHINE\\...`\n - Environment variables: read with `$env:NAME`, set with `$env:NAME = \"value\"` (NOT `Set-Variable` or bash `export`)\n - Call native exe with spaces in path via call operator: `& \"C:\\Program Files\\App\\app.exe\" arg1 arg2`\n\nInteractive and blocking commands (will hang — this tool runs with -NonInteractive):\n - NEVER use `Read-Host`, `Get-Credential`, `Out-GridView`, `$Host.UI.PromptForChoice`, or `pause`\n - Destructive cmdlets (`Remove-Item`, `Stop-Process`, `Clear-Content`, etc.) may prompt for confirmation. Add `-Confirm:$false` when you intend the action to proceed. Use `-Force` for read-only/hidden items.\n - Never use `git rebase -i`, `git add -i`, or other commands that open an interactive editor\n\nPassing multiline strings to native executables:\n - Use a single-quoted here-string so PowerShell does not expand `$` or backticks inside. The closing `'@` MUST be at column 0 (no leading whitespace) on its own line:\n<example>\ngit commit -m @'\nCommit message here.\nSecond line with $literal dollar signs.\n'@\n</example>\n - Use `@'...'@` (single-quoted, literal) not `@\"...\"@` (double-quoted, interpolated) unless you need variable expansion\n\nUsage notes:\n - The command argument is required.\n - You can specify an optional timeout in milliseconds (up to 600000ms / 10 minutes). If not specified, commands will timeout after 120000ms (2 minutes).\n - It is very helpful if you write a clear, concise description of what this command does.\n - If the output exceeds 20000 characters, output will be truncated before being returned to you.\n - You can use the `run_in_background` parameter to run the command in the background.\n - Avoid using PowerShell to run commands that have dedicated tools:\n - File search: Use Glob (NOT Get-ChildItem -Recurse)\n - Content search: Use Grep (NOT Select-String)\n - Read files: Use Read (NOT Get-Content)\n - Edit files: Use Edit\n - Write files: Use Write (NOT Set-Content/Out-File)\n - Communication: Output text directly (NOT Write-Output/Write-Host)\n - When issuing multiple commands:\n - If the commands are independent and can run in parallel, make multiple PowerShell tool calls in a single message.\n - If the commands depend on each other and must run sequentially, chain them in a single call (see edition-specific chaining syntax above).\n - Use `;` only when you need to run commands sequentially but don't care if earlier commands fail.\n - Do NOT prefix commands with `cd` or `Set-Location` — the working directory is already set to the correct project directory automatically.\n - Avoid unnecessary `Start-Sleep` commands — if your command is long running, use `run_in_background` instead.\n - For git commands:\n - Prefer to create a new commit rather than amending an existing commit.\n - Before running destructive git operations, consider safer alternatives.\n - Never skip hooks (--no-verify) unless the user has explicitly asked for it.\n"
568
+ "template": "Executes a PowerShell command on Windows with optional timeout. Working directory persists between commands; shell state (variables, functions) does not.\n\nIMPORTANT: This tool is for terminal operations via PowerShell on Windows: git, npm, docker, and PowerShell cmdlets. DO NOT use it for file operations (reading, writing, editing, searching, finding files) - use the specialized tools for this instead.\n\n{% if psEdition == 'desktop' %}\nPowerShell edition: Windows PowerShell 5.1 (powershell.exe)\n - Pipeline chain operators `&&` and `||` are NOT available — they cause a parser error. To run B only if A succeeds: `A; if ($?) { B }`. To chain unconditionally: `A; B`.\n - Ternary (`?:`), null-coalescing (`??`), and null-conditional (`?.`) operators are NOT available. Use `if/else` and explicit `$null -eq` checks instead.\n - Avoid `2>&1` on native executables. In 5.1, redirecting stderr sets `$?` to `$false` even with exit code 0.\n - Default file encoding is UTF-16 LE (with BOM). When writing files other tools will read, pass `-Encoding utf8` to `Out-File`/`Set-Content`.\n{% elif psEdition == 'core' %}\nPowerShell edition: PowerShell 7+ (pwsh)\n - Pipeline chain operators `&&` and `||` ARE available and work like bash.\n - Ternary (`$cond ? $a : $b`), null-coalescing (`??`), and null-conditional (`?.`) operators are available.\n - Default file encoding is UTF-8 without BOM.\n{% else %}\nPowerShell edition: unknown — assume Windows PowerShell 5.1 for compatibility\n - Do NOT use `&&`, `||`, ternary `?:`, null-coalescing `??`, or null-conditional `?.`. These are PowerShell 7+ only.\n - To chain commands conditionally: `A; if ($?) { B }`. Unconditionally: `A; B`.\n{% endif %}\n\nBefore executing the command, please follow these steps:\n\n1. Directory Verification:\n - If the command will create new directories or files, first use `Get-ChildItem` (or `ls`) to verify the parent directory exists\n\n2. Command Execution:\n - Always quote file paths that contain spaces with double quotes\n - Capture the output of the command.\n\nPowerShell Syntax Notes:\n - Variables use $ prefix: $myVar = \"value\"\n - Escape character is backtick (`), not backslash\n - Use Verb-Noun cmdlet naming: Get-ChildItem, Set-Location, New-Item, Remove-Item\n - Common aliases: ls (Get-ChildItem), cd (Set-Location), cat (Get-Content), rm (Remove-Item)\n - Pipe operator | works similarly to bash but passes objects, not text\n - Use Select-Object, Where-Object, ForEach-Object for filtering and transformation\n - String interpolation: \"Hello $name\" or \"Hello $($obj.Property)\"\n - Registry access uses PSDrive prefixes: `HKLM:\\SOFTWARE\\...`, `HKCU:\\...` — NOT raw `HKEY_LOCAL_MACHINE\\...`\n - Environment variables: read with `$env:NAME`, set with `$env:NAME = \"value\"` (NOT `Set-Variable` or bash `export`)\n - Call native exe with spaces in path via call operator: `& \"C:\\Program Files\\App\\app.exe\" arg1 arg2`\n\nInteractive and blocking commands (will hang — this tool runs with -NonInteractive):\n - NEVER use `Read-Host`, `Get-Credential`, `Out-GridView`, `$Host.UI.PromptForChoice`, or `pause`\n - Destructive cmdlets (`Remove-Item`, `Stop-Process`, `Clear-Content`, etc.) may prompt for confirmation. Add `-Confirm:$false` when you intend the action to proceed. Use `-Force` for read-only/hidden items.\n - Never use `git rebase -i`, `git add -i`, or other commands that open an interactive editor\n\nPassing multiline strings to native executables:\n - Use a single-quoted here-string so PowerShell does not expand `$` or backticks inside. The closing `'@` MUST be at column 0 (no leading whitespace) on its own line:\n<example>\ngit commit -m @'\nCommit message here.\nSecond line with $literal dollar signs.\n'@\n</example>\n - Use `@'...'@` (single-quoted, literal) not `@\"...\"@` (double-quoted, interpolated) unless you need variable expansion\n\nUsage notes:\n - The command argument is required.\n - You can specify an optional timeout in milliseconds (up to 600000ms / 10 minutes). If not specified, commands will timeout after 120000ms (2 minutes).\n - It is very helpful if you write a clear, concise description of what this command does.\n - If the output exceeds 20000 characters, output will be truncated before being returned to you.\n - You can use the `run_in_background` parameter to run the command in the background. You will be automatically notified via a `<task-notification>` message when it finishes — do NOT poll. Use `TaskOutput` only when the notification arrives and you actually need the output.\n - Avoid using PowerShell to run commands that have dedicated tools:\n - File search: Use Glob (NOT Get-ChildItem -Recurse)\n - Content search: Use Grep (NOT Select-String)\n - Read files: Use Read (NOT Get-Content)\n - Edit files: Use Edit\n - Write files: Use Write (NOT Set-Content/Out-File)\n - Communication: Output text directly (NOT Write-Output/Write-Host)\n - When issuing multiple commands:\n - If the commands are independent and can run in parallel, make multiple PowerShell tool calls in a single message.\n - If the commands depend on each other and must run sequentially, chain them in a single call (see edition-specific chaining syntax above).\n - Use `;` only when you need to run commands sequentially but don't care if earlier commands fail.\n - Do NOT prefix commands with `cd` or `Set-Location` — the working directory is already set to the correct project directory automatically.\n - Avoid unnecessary `Start-Sleep` commands — if your command is long running, use `run_in_background` instead.\n - For git commands:\n - Prefer to create a new commit rather than amending an existing commit.\n - Before running destructive git operations, consider safer alternatives.\n - Never skip hooks (--no-verify) unless the user has explicitly asked for it.\n"
569
569
  },
570
570
  {
571
571
  "name": "tool-glob-description",
@@ -1581,6 +1581,6 @@
1581
1581
  "description": "Send a reply to a WeCom (企业微信) user. For text: pass text (markdown supported)."
1582
1582
  }
1583
1583
  ],
1584
- "commit": "15b2c626d6383a497797a24b39e71a9fa8214040",
1585
- "date": "2026-06-01T03:14:32.887Z"
1584
+ "commit": "f19d375380c8d36623e5429c5d21ba433481bc6b",
1585
+ "date": "2026-06-01T18:39:36.354Z"
1586
1586
  }
@@ -306,6 +306,6 @@
306
306
  "ScheduledTasks": true,
307
307
  "SkipToolCallSupportCheck": true
308
308
  },
309
- "commit": "15b2c626d6383a497797a24b39e71a9fa8214040",
310
- "date": "2026-06-01T03:14:32.751Z"
309
+ "commit": "f19d375380c8d36623e5429c5d21ba433481bc6b",
310
+ "date": "2026-06-01T18:39:36.371Z"
311
311
  }
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>AvailableLibraries</key>
6
+ <array>
7
+ <dict>
8
+ <key>BinaryPath</key>
9
+ <string>SandboxExt.framework/Versions/A/SandboxExt</string>
10
+ <key>DebugSymbolsPath</key>
11
+ <string>dSYMs</string>
12
+ <key>LibraryIdentifier</key>
13
+ <string>macos-arm64_x86_64</string>
14
+ <key>LibraryPath</key>
15
+ <string>SandboxExt.framework</string>
16
+ <key>SupportedArchitectures</key>
17
+ <array>
18
+ <string>arm64</string>
19
+ <string>x86_64</string>
20
+ </array>
21
+ <key>SupportedPlatform</key>
22
+ <string>macos</string>
23
+ </dict>
24
+ </array>
25
+ <key>CFBundlePackageType</key>
26
+ <string>XFWK</string>
27
+ <key>XCFrameworkFormatVersion</key>
28
+ <string>1.0</string>
29
+ </dict>
30
+ </plist>