@tencent-ai/codebuddy-code 2.137.0 → 2.137.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.137.0",
3
+ "version": "2.137.1",
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",
@@ -816,6 +816,6 @@
816
816
  "SelectImage": true,
817
817
  "SkipToolCallSupportCheck": true
818
818
  },
819
- "commit": "ed22bc24b734b6b197983588cb38277d3a4a17dd",
820
- "date": "2026-08-15T16:05:01.601Z"
819
+ "commit": "581a8fefa510a6f6277bf5e931807ad60b868a66",
820
+ "date": "2026-08-17T12:09:10.644Z"
821
821
  }
@@ -823,6 +823,6 @@
823
823
  }
824
824
  }
825
825
  },
826
- "commit": "ed22bc24b734b6b197983588cb38277d3a4a17dd",
827
- "date": "2026-08-15T16:05:01.664Z"
826
+ "commit": "581a8fefa510a6f6277bf5e931807ad60b868a66",
827
+ "date": "2026-08-17T12:09:10.667Z"
828
828
  }
package/product.ioa.json CHANGED
@@ -1319,6 +1319,6 @@
1319
1319
  }
1320
1320
  }
1321
1321
  },
1322
- "commit": "ed22bc24b734b6b197983588cb38277d3a4a17dd",
1323
- "date": "2026-08-15T16:05:01.600Z"
1322
+ "commit": "581a8fefa510a6f6277bf5e931807ad60b868a66",
1323
+ "date": "2026-08-17T12:09:10.641Z"
1324
1324
  }
package/product.json CHANGED
@@ -1559,16 +1559,8 @@
1559
1559
  ],
1560
1560
  "builtInMarketplaces": {
1561
1561
  "codebuddy-plugins-official": {
1562
- "source": "zip",
1563
- "url": "https://download.codebuddy.cn/plugin-marketplace/codebuddy-plugins-official.zip",
1564
- "metaUrl": "https://download.codebuddy.cn/plugin-marketplace/codebuddy-plugins-official.json",
1565
- "versionUrl": "https://download.codebuddy.cn/plugin-marketplace/version/codebuddy-plugins-official.txt"
1566
- },
1567
- "cb_teams_marketplace": {
1568
- "source": "zip",
1569
- "url": "https://download.codebuddy.cn/plugin-marketplace/cb_teams_marketplace.zip",
1570
- "metaUrl": "https://download.codebuddy.cn/plugin-marketplace/cb_teams_marketplace.json",
1571
- "versionUrl": "https://download.codebuddy.cn/plugin-marketplace/version/cb_teams_marketplace.txt"
1562
+ "source": "git",
1563
+ "url": "https://cnb.cool/codebuddy/marketplace"
1572
1564
  }
1573
1565
  },
1574
1566
  "deploymentType": "SaaS",
@@ -1832,6 +1824,6 @@
1832
1824
  "description": "tool-repl-description"
1833
1825
  }
1834
1826
  ],
1835
- "commit": "ed22bc24b734b6b197983588cb38277d3a4a17dd",
1836
- "date": "2026-08-15T16:05:01.660Z"
1827
+ "commit": "581a8fefa510a6f6277bf5e931807ad60b868a66",
1828
+ "date": "2026-08-17T12:09:10.825Z"
1837
1829
  }
@@ -353,6 +353,6 @@
353
353
  "ScheduledTasks": true,
354
354
  "SkipToolCallSupportCheck": true
355
355
  },
356
- "commit": "ed22bc24b734b6b197983588cb38277d3a4a17dd",
357
- "date": "2026-08-15T16:05:01.610Z"
356
+ "commit": "581a8fefa510a6f6277bf5e931807ad60b868a66",
357
+ "date": "2026-08-17T12:09:10.651Z"
358
358
  }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Shared brokered Program Blacklist check for command shims.
3
+ *
4
+ * CLI contract: `node broker-program-policy-check.cjs <program> [runtime] [brokerClientPath]`
5
+ * Exit codes: 0 = allowed/not configured, 126 = forbidden program,
6
+ * 13 = policy check unavailable or otherwise denied.
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+
14
+ function checkProgramPolicy(program, runtime = 'brokered-program-policy', options = {}) {
15
+ const command = options.command || process.env.CODEBUDDY_SANDBOX_PROGRAM_POLICY_COMMAND;
16
+ if (!command) {
17
+ return { code: 0 };
18
+ }
19
+
20
+ const socketPath = options.socketPath || process.env.CODEBUDDY_SANDBOX_BROKER_IPC_ADDRESS;
21
+ const sessionId = options.sessionId || process.env.CODEBUDDY_SANDBOX_BROKER_SESSION_ID;
22
+ const brokerClientPath = options.brokerClientPath || path.join(__dirname, 'broker-ipc-client.cjs');
23
+ if (!program || !socketPath || !sessionId || !fs.existsSync(brokerClientPath)) {
24
+ return { code: 13, error: 'Brokered program policy check unavailable' };
25
+ }
26
+
27
+ try {
28
+ const { sendBrokerRequestSync } = require(brokerClientPath);
29
+ const response = sendBrokerRequestSync({
30
+ command,
31
+ program,
32
+ sessionId,
33
+ toolCallId: options.toolCallId || process.env.CODEBUDDY_SANDBOX_BROKER_TOOL_CALL_ID,
34
+ brokerTraceId: options.brokerTraceId || process.env.CODEBUDDY_SANDBOX_BROKER_TRACE_ID,
35
+ runtime,
36
+ });
37
+ if (response && response.ok === true && response.decision === 'allow') {
38
+ return { code: 0, response };
39
+ }
40
+ return {
41
+ code: response && response.reason === 'forbidden_program' ? 126 : 13,
42
+ error: response && response.error
43
+ ? response.error
44
+ : `Brokered program policy denied "${program}"`,
45
+ response,
46
+ };
47
+ } catch (_) {
48
+ return { code: 13, error: 'Brokered program policy check unavailable' };
49
+ }
50
+ }
51
+
52
+ function runCli(argv = process.argv.slice(2)) {
53
+ const [program, runtime, brokerClientPath] = argv;
54
+ const result = checkProgramPolicy(program, runtime || 'brokered-program-policy', { brokerClientPath });
55
+ if (result.error) {
56
+ process.stderr.write(result.error);
57
+ }
58
+ return result.code;
59
+ }
60
+
61
+ module.exports = {
62
+ checkProgramPolicy,
63
+ runCli,
64
+ };
65
+
66
+ if (require.main === module) {
67
+ process.exit(runCli());
68
+ }
@@ -4,6 +4,7 @@ __cb_app="${0##*/}"
4
4
  __cb_toybox="${CODEBUDDY_TOYBOX_BIN:-}"
5
5
  __cb_brokered_dir="${CODEBUDDY_BROKERED_BIN_DIR:-${0%/*}}"
6
6
  __cb_broker_client="${CODEBUDDY_BROKER_IPC_CLIENT:-${__cb_brokered_dir%/brokered-bin}/broker-ipc-client.cjs}"
7
+ __cb_program_policy_helper="${__cb_brokered_dir%/brokered-bin}/broker-program-policy-check.cjs"
7
8
 
8
9
  __cb_cleanup() { /bin/rm -f "$__cb_err" 2>/dev/null || true; }
9
10
 
@@ -13,28 +14,13 @@ __cb_check_program_policy() {
13
14
  [ -n "${CODEBUDDY_SANDBOX_PROGRAM_POLICY_COMMAND:-}" ] || return 0
14
15
  if [ -z "${CODEBUDDY_SANDBOX_BROKER_IPC_ADDRESS:-}" ] \
15
16
  || [ -z "${CODEBUDDY_SANDBOX_BROKER_SESSION_ID:-}" ] \
16
- || [ ! -f "$__cb_broker_client" ]; then
17
+ || [ ! -f "$__cb_broker_client" ] \
18
+ || [ ! -f "$__cb_program_policy_helper" ]; then
17
19
  printf '%s' 'Brokered program policy check unavailable' >&2
18
20
  return 13
19
21
  fi
20
-
21
- NODE_OPTIONS= "${CODEBUDDY_NODE_BIN:-node}" - "$__cb_broker_client" "$1" <<'NODE'
22
- const { sendBrokerRequestSync } = require(process.argv[2]);
23
- const program = process.argv[3];
24
- const response = sendBrokerRequestSync({
25
- command: process.env.CODEBUDDY_SANDBOX_PROGRAM_POLICY_COMMAND,
26
- program,
27
- sessionId: process.env.CODEBUDDY_SANDBOX_BROKER_SESSION_ID,
28
- toolCallId: process.env.CODEBUDDY_SANDBOX_BROKER_TOOL_CALL_ID,
29
- brokerTraceId: process.env.CODEBUDDY_SANDBOX_BROKER_TRACE_ID,
30
- runtime: 'toybox-dispatch',
31
- });
32
- if (response && response.ok === true && response.decision === 'allow') {
33
- process.exit(0);
34
- }
35
- process.stderr.write(response && response.error ? response.error : `Brokered program policy denied "${program}"`);
36
- process.exit(response && response.reason === 'forbidden_program' ? 126 : 13);
37
- NODE
22
+ NODE_OPTIONS= "${CODEBUDDY_NODE_BIN:-node}" \
23
+ "$__cb_program_policy_helper" "$1" toybox-dispatch "$__cb_broker_client"
38
24
  }
39
25
 
40
26
  __cb_check_program_policy "$__cb_app"
@@ -459,6 +459,24 @@ trash_one() {
459
459
  esac
460
460
  }
461
461
 
462
+ safe_delete_check_program_policy() {
463
+ local program="$1"
464
+ [ -n "${CODEBUDDY_SANDBOX_PROGRAM_POLICY_COMMAND:-}" ] || return 0
465
+
466
+ local helper="${SAFE_DELETE_BIN_DIR%/safe-bin}/broker-program-policy-check.cjs"
467
+ local broker_client="${SAFE_DELETE_BIN_DIR%/safe-bin}/broker-ipc-client.cjs"
468
+ local node_bin="${CODEBUDDY_NODE_BIN:-node}"
469
+ if [ -z "${CODEBUDDY_SANDBOX_BROKER_IPC_ADDRESS:-}" ] \
470
+ || [ -z "${CODEBUDDY_SANDBOX_BROKER_SESSION_ID:-}" ] \
471
+ || [ ! -f "$broker_client" ] \
472
+ || [ ! -f "$helper" ]; then
473
+ printf '%s' 'Brokered program policy check unavailable' >&2
474
+ return 13
475
+ fi
476
+
477
+ NODE_OPTIONS= "$node_bin" "$helper" "$program" safe-delete "$broker_client"
478
+ }
479
+
462
480
  try_broker_delete() {
463
481
  local abs="$1"
464
482
  local recursive="${2:-false}"
@@ -733,6 +751,9 @@ safe_delete_rmdir() {
733
751
  safe_delete_main() {
734
752
  local mode="$1"
735
753
  shift
754
+ safe_delete_check_program_policy "$mode"
755
+ local program_policy_rc=$?
756
+ [ $program_policy_rc -eq 0 ] || return $program_policy_rc
736
757
  case "$mode" in
737
758
  rm) safe_delete_rm "$@"; return $? ;;
738
759
  unlink) safe_delete_unlink "$@"; return $? ;;