@tencent-ai/agent-sdk 0.3.138 → 0.3.139

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.
@@ -17,7 +17,7 @@
17
17
  <link rel="preconnect" href="https://fonts.googleapis.com">
18
18
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
19
19
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
20
- <script type="module" crossorigin src="/assets/index-ClYhbNYf.js"></script>
20
+ <script type="module" crossorigin src="/assets/index-DCBQHUWW.js"></script>
21
21
  <link rel="modulepreload" crossorigin href="/assets/markdown-Ce2Umeb2.js">
22
22
  <link rel="modulepreload" crossorigin href="/assets/vendor-DpYitQz5.js">
23
23
  <link rel="stylesheet" crossorigin href="/assets/index-pCdeaJFc.css">
@@ -1 +1 @@
1
- if(!self.define){let e,s={};const i=(i,o)=>(i=new URL(i+".js",o).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(o,n)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let t={};const r=e=>i(e,l),u={module:{uri:l},exports:t,require:r};s[l]=Promise.all(o.map(e=>u[e]||r(e))).then(e=>(n(...e),t))}}define(["./workbox-e082a648"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"logo.svg",revision:"6165db837a6039880af9705aa09be574"},{url:"index.html",revision:"43603c8bc30b4a4ae1ff300e13d3ab24"},{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-pCdeaJFc.css",revision:null},{url:"assets/index-DixJ0kqk.js",revision:null},{url:"assets/index-ClYhbNYf.js",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:"35cfb533d72bccfb26065a3c11b74203"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/"),{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")});
1
+ if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,o)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let t={};const r=e=>i(e,l),u={module:{uri:l},exports:t,require:r};s[l]=Promise.all(n.map(e=>u[e]||r(e))).then(e=>(o(...e),t))}}define(["./workbox-e082a648"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"logo.svg",revision:"6165db837a6039880af9705aa09be574"},{url:"index.html",revision:"0179f4d115dd725d71530c67614943f1"},{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-pCdeaJFc.css",revision:null},{url:"assets/index-DixJ0kqk.js",revision:null},{url:"assets/index-DCBQHUWW.js",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:"35cfb533d72bccfb26065a3c11b74203"}],{}),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.93.5",
3
+ "version": "2.93.6",
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",
@@ -41,6 +41,7 @@
41
41
  "TaskStop",
42
42
  "TaskOutput",
43
43
  "Skill",
44
+ "SkillManage",
44
45
  "AskUserQuestion",
45
46
  "StructuredOutput",
46
47
  "ToolSearch",
@@ -419,8 +420,9 @@
419
420
  "CustomModelsJSON": true,
420
421
  "DeferToolLoading": true,
421
422
  "ImageGen": true,
422
- "ScheduledTasks": true
423
+ "ScheduledTasks": true,
424
+ "SkillManage": false
423
425
  },
424
- "commit": "3098d6b7fabb6151933720b9425df734e7b3b92c",
425
- "date": "2026-04-23T09:13:36.399Z"
426
+ "commit": "ee55bdfa85ed10c67f7c41c2119c21033b4b4642",
427
+ "date": "2026-04-24T17:24:52.066Z"
426
428
  }
@@ -50,6 +50,7 @@
50
50
  "TaskStop",
51
51
  "TaskOutput",
52
52
  "Skill",
53
+ "SkillManage",
53
54
  "AskUserQuestion",
54
55
  "StructuredOutput",
55
56
  "ToolSearch",
@@ -604,7 +605,8 @@
604
605
  "DeferToolLoading": true,
605
606
  "ImageGen": true,
606
607
  "RequestBodyGzip": true,
607
- "ScheduledTasks": true
608
+ "ScheduledTasks": true,
609
+ "SkillManage": false
608
610
  },
609
611
  "config": {
610
612
  "creditPurchaseActions": {
@@ -628,6 +630,6 @@
628
630
  }
629
631
  }
630
632
  },
631
- "commit": "3098d6b7fabb6151933720b9425df734e7b3b92c",
632
- "date": "2026-04-23T09:13:36.419Z"
633
+ "commit": "ee55bdfa85ed10c67f7c41c2119c21033b4b4642",
634
+ "date": "2026-04-24T17:24:52.066Z"
633
635
  }
@@ -128,7 +128,8 @@
128
128
  "DeferExecuteTool",
129
129
  "SendMessage",
130
130
  "NotebookEdit",
131
- "LSP"
131
+ "LSP",
132
+ "SkillManage"
132
133
  ],
133
134
  "tags": [
134
135
  "cli",
@@ -1006,7 +1007,8 @@
1006
1007
  "ImageEdit": true,
1007
1008
  "RequestBodyGzip": true,
1008
1009
  "RemoteControl": true,
1009
- "ScheduledTasks": true
1010
+ "ScheduledTasks": true,
1011
+ "SkillManage": false
1010
1012
  },
1011
1013
  "config": {
1012
1014
  "creditPurchaseActions": {
@@ -1030,6 +1032,6 @@
1030
1032
  }
1031
1033
  }
1032
1034
  },
1033
- "commit": "3098d6b7fabb6151933720b9425df734e7b3b92c",
1034
- "date": "2026-04-23T09:13:36.420Z"
1035
+ "commit": "ee55bdfa85ed10c67f7c41c2119c21033b4b4642",
1036
+ "date": "2026-04-24T17:24:52.056Z"
1035
1037
  }
package/cli/product.json CHANGED
@@ -695,7 +695,11 @@
695
695
  },
696
696
  {
697
697
  "name": "tool-skill-description",
698
- "template": "Execute a skill or built-in command within the main conversation\n\n<skills_instructions>\nWhen users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.\n\nWhen users ask you to run a \"slash command\" or reference \"/<something>\" (e.g., \"/commit\", \"/review-pr\", \"/clear\", \"/model\"), they are referring to a skill or built-in command. Use this tool to invoke it.\n\n<example>\nUser: \"run /commit\"\nAssistant: [Calls Skill tool with skill: \"commit\"]\n</example>\n\n<example>\nUser: \"switch to gpt-4o\"\nAssistant: [Calls Skill tool with skill: \"model\", args: \"gpt-4o\"]\n</example>\n\n<example>\nUser: \"clear the conversation\"\nAssistant: [Calls Skill tool with skill: \"clear\"]\n</example>\n\nHow to invoke:\n- Use this tool with the skill name and optional arguments\n- Examples:\n - `skill: \"pdf\"` - invoke the pdf skill\n - `skill: \"commit\", args: \"-m 'Fix bug'\"` - invoke with arguments\n - `skill: \"review-pr\", args: \"123\"` - invoke with arguments\n - `skill: \"ms-office-suite:pdf\"` - invoke using fully qualified name\n - `skill: \"model\", args: \"list\"` - list available AI models\n - `skill: \"model\", args: \"gpt-4o\"` - switch AI model\n - `skill: \"clear\"` - start a fresh conversation\n - `skill: \"resume\", args: \"list\"` - list available sessions\n - `skill: \"config\", args: \"set theme dark\"` - change a setting\n\nImportant:\n- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action\n- NEVER just announce or mention a skill in your text response without actually calling this tool\n- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task\n- Do not invoke a skill that is already running\n- If you see a <command-name> tag in the current conversation turn, the skill has ALREADY been loaded - follow the instructions directly instead of calling this tool again\n</skills_instructions>\n\n<available_skills>\n{%- if skills and skills.length > 0 -%}\n{%- for skill in skills %}\n<skill>\n<name>\n{{skill.name}}\n</name>\n<description>\n{{skill.description}}\n</description>\n<location>\n{{skill.source}}\n</location>\n{%- if skill.allowedTools %}\n<allowed-tools>\n{{skill.allowedTools.join(', ')}}\n</allowed-tools>\n{%- endif %}\n</skill>\n{%- endfor -%}\n{%- endif %}\n</available_skills>\n"
698
+ "template": "Execute a skill or built-in command within the main conversation\n\n<skills_instructions>\nWhen users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.\n\nWhen users ask you to run a \"slash command\" or reference \"/<something>\" (e.g., \"/commit\", \"/review-pr\", \"/clear\", \"/model\"), they are referring to a skill or built-in command. Use this tool to invoke it.\n\n<example>\nUser: \"run /commit\"\nAssistant: [Calls Skill tool with skill: \"commit\"]\n</example>\n\n<example>\nUser: \"switch to gpt-4o\"\nAssistant: [Calls Skill tool with skill: \"model\", args: \"gpt-4o\"]\n</example>\n\n<example>\nUser: \"clear the conversation\"\nAssistant: [Calls Skill tool with skill: \"clear\"]\n</example>\n\nHow to invoke:\n- Use this tool with the skill name and optional arguments\n- Examples:\n - `skill: \"pdf\"` - invoke the pdf skill\n - `skill: \"commit\", args: \"-m 'Fix bug'\"` - invoke with arguments\n - `skill: \"review-pr\", args: \"123\"` - invoke with arguments\n - `skill: \"ms-office-suite:pdf\"` - invoke using fully qualified name\n - `skill: \"model\", args: \"list\"` - list available AI models\n - `skill: \"model\", args: \"gpt-4o\"` - switch AI model\n - `skill: \"clear\"` - start a fresh conversation\n - `skill: \"resume\", args: \"list\"` - list available sessions\n - `skill: \"config\", args: \"set theme dark\"` - change a setting\n\nImportant:\n- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action\n- NEVER just announce or mention a skill in your text response without actually calling this tool\n- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task\n- Do not invoke a skill that is already running\n- If you see a <command-name> tag in the current conversation turn, the skill has ALREADY been loaded - follow the instructions directly instead of calling this tool again\n</skills_instructions>\n\n<available_skills>\n{%- if skills and skills.length > 0 -%}\n{%- for skill in skills %}\n<skill>\n<name>\n{{skill.name}}\n</name>\n<description>\n{{skill.description}}\n</description>\n<location>\n{{skill.source}}\n</location>\n{%- if skill.allowedTools %}\n<allowed-tools>\n{{skill.allowedTools.join(', ')}}\n</allowed-tools>\n{%- endif %}\n{%- if skill.agentCreated %}\n<agent_created>true</agent_created>\n{%- endif %}\n</skill>\n{%- endfor -%}\n{%- endif %}\n</available_skills>\n"
699
+ },
700
+ {
701
+ "name": "tool-skillmanage-description",
702
+ "template": "Manage the lifecycle of user-created skills. This is a read-only guidance tool that returns paths, templates, and workflow instructions.\n\nSupported actions:\n- **list**: Returns all available skills with their descriptions, sources, and locations. Agent_created skills are marked with [agent_created].\n- **create**: Returns the target directory path, a SKILL.md template with `agent_created: true` frontmatter, and step-by-step workflow instructions for creating the skill files and updating the registry.\n- **modify**: After validating that the skill is agent_created (dual check: registry file + frontmatter), returns the skill directory structure and editing workflow.\n- **delete**: After validating that the skill is agent_created, returns deletion workflow instructions (requires user confirmation).\n\nImportant:\n- Only skills with `agent_created: true` in their SKILL.md frontmatter AND/OR registered in `agent-created-skills.json` can be modified or deleted.\n- This tool does NOT directly create, modify, or delete any files. Follow the returned workflow instructions and use Write/Edit/Bash tools to perform the actual file operations.\n- When creating a skill, you MUST update both the SKILL.md file and the `agent-created-skills.json` registry file.\n- When deleting a skill, you MUST remove both the skill directory and the registry entry, and always confirm with the user first.\n"
699
703
  },
700
704
  {
701
705
  "name": "agent-statusline-instructions",
@@ -902,6 +906,7 @@
902
906
  "TaskStop",
903
907
  "TaskOutput",
904
908
  "Skill",
909
+ "SkillManage",
905
910
  "AskUserQuestion",
906
911
  "StructuredOutput",
907
912
  "ToolSearch",
@@ -1272,7 +1277,8 @@
1272
1277
  "BillingNotice": true,
1273
1278
  "DeferToolLoading": true,
1274
1279
  "ImageEdit": false,
1275
- "ScheduledTasks": true
1280
+ "ScheduledTasks": true,
1281
+ "SkillManage": false
1276
1282
  },
1277
1283
  "featureToggles": {
1278
1284
  "QueueBanner": true,
@@ -1437,6 +1443,10 @@
1437
1443
  "name": "Skill",
1438
1444
  "description": "tool-skill-description"
1439
1445
  },
1446
+ {
1447
+ "name": "SkillManage",
1448
+ "description": "tool-skillmanage-description"
1449
+ },
1440
1450
  {
1441
1451
  "name": "AskUserQuestion",
1442
1452
  "description": "tool-ask-user-question-description"
@@ -1520,6 +1530,6 @@
1520
1530
  "description": "Send a reply to a WeCom (企业微信) user. For text: pass text (markdown supported)."
1521
1531
  }
1522
1532
  ],
1523
- "commit": "3098d6b7fabb6151933720b9425df734e7b3b92c",
1524
- "date": "2026-04-23T09:13:36.421Z"
1533
+ "commit": "ee55bdfa85ed10c67f7c41c2119c21033b4b4642",
1534
+ "date": "2026-04-24T17:24:52.088Z"
1525
1535
  }
@@ -310,6 +310,6 @@
310
310
  "DeferToolLoading": true,
311
311
  "ScheduledTasks": true
312
312
  },
313
- "commit": "3098d6b7fabb6151933720b9425df734e7b3b92c",
314
- "date": "2026-04-23T09:13:36.407Z"
313
+ "commit": "ee55bdfa85ed10c67f7c41c2119c21033b4b4642",
314
+ "date": "2026-04-24T17:24:52.054Z"
315
315
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/agent-sdk",
3
- "version": "0.3.138",
3
+ "version": "0.3.139",
4
4
  "description": "CodeBuddy Code SDK for JavaScript/TypeScript",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",