@tencent-ai/codebuddy-code 2.106.3-next.1d43b9c.202606151241 → 2.106.4

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.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * TUI mode entry point — full module set.
3
+ *
4
+ * Re-exports all shared modules from index-shared.ts, then adds TUI-only modules.
5
+ * The shared file is the DEFAULT place to add new modules.
6
+ * Only add exports here if the module has hard TUI dependencies
7
+ * (e.g., imports from ./ui, ink, react, TUI panels).
8
+ *
9
+ * See also: index-headless.ts (headless/SDK entry point)
10
+ */
11
+ import './process';
12
+ export * from './index-shared';
13
+ // ── TUI-only modules ─────────────────────────────────────────────────
14
+ // These modules are excluded from headless builds because they depend on
15
+ // TUI rendering (ink/react), heavy optional deps, or interactive-only features.
16
+ export * from './doctor'; // CLI diagnostics wizard
17
+ export * from './install'; // CLI install / shell-setup
18
+ export * from './navigation'; // TUI page routing
19
+ export * from './remote-control'; // Remote control via WeChat etc.
20
+ export * from './remote-gateway'; // Remote gateway (local + cloud)
21
+ export * from './resume'; // ResumeMiddleware (imports TUI panel)
22
+ export * from './sandbox'; // e2b sandbox (heavy deps ~1250 modules)
23
+ export * from './shortcut'; // TUI keyboard shortcuts
24
+ export * from './tips'; // TUI tips / user state tracking
25
+ export * from './worktree'; // Git worktree management
26
+ export * from './ui'; // TUI UI components
27
+ export * from './feedback-survey'; // TUI feedback survey
28
+ export * from './undo-redo'; // TUI undo/redo
29
+ export * from './prompt-suggestion'; // TUI prompt suggestions
30
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.106.3-next.1d43b9c.202606151241",
3
+ "version": "2.106.4",
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,8 +41,7 @@
41
41
  "url": "https://cnb.cool/codebuddy/codebuddy-code/-/issues"
42
42
  },
43
43
  "publishConfig": {
44
- "access": "public",
45
- "tag": "next"
44
+ "access": "public"
46
45
  },
47
46
  "scripts": {},
48
47
  "devDependencies": {}
@@ -814,6 +814,6 @@
814
814
  "SelectImage": true,
815
815
  "SkipToolCallSupportCheck": true
816
816
  },
817
- "commit": "1d43b9c33680aeee29953074ab189415c97b1b93",
818
- "date": "2026-06-15T04:40:39.568Z"
817
+ "commit": "170580347e374a0691748a7cd48560c182bc98f1",
818
+ "date": "2026-06-15T08:33:57.395Z"
819
819
  }
@@ -693,6 +693,6 @@
693
693
  }
694
694
  }
695
695
  },
696
- "commit": "1d43b9c33680aeee29953074ab189415c97b1b93",
697
- "date": "2026-06-15T04:40:39.569Z"
696
+ "commit": "170580347e374a0691748a7cd48560c182bc98f1",
697
+ "date": "2026-06-15T08:33:57.466Z"
698
698
  }
package/product.ioa.json CHANGED
@@ -1075,6 +1075,6 @@
1075
1075
  }
1076
1076
  }
1077
1077
  },
1078
- "commit": "1d43b9c33680aeee29953074ab189415c97b1b93",
1079
- "date": "2026-06-15T04:40:39.566Z"
1078
+ "commit": "170580347e374a0691748a7cd48560c182bc98f1",
1079
+ "date": "2026-06-15T08:33:57.466Z"
1080
1080
  }
package/product.json CHANGED
@@ -1737,6 +1737,6 @@
1737
1737
  "deferLoading": true
1738
1738
  }
1739
1739
  ],
1740
- "commit": "1d43b9c33680aeee29953074ab189415c97b1b93",
1741
- "date": "2026-06-15T04:40:39.585Z"
1740
+ "commit": "170580347e374a0691748a7cd48560c182bc98f1",
1741
+ "date": "2026-06-15T08:33:57.396Z"
1742
1742
  }
@@ -329,6 +329,6 @@
329
329
  "ScheduledTasks": true,
330
330
  "SkipToolCallSupportCheck": true
331
331
  },
332
- "commit": "1d43b9c33680aeee29953074ab189415c97b1b93",
333
- "date": "2026-06-15T04:40:39.565Z"
332
+ "commit": "170580347e374a0691748a7cd48560c182bc98f1",
333
+ "date": "2026-06-15T08:33:57.400Z"
334
334
  }
@@ -22,6 +22,19 @@ _safe_delete_diag() {
22
22
  echo "[safe-delete][diag] $*" >&2
23
23
  }
24
24
 
25
+ safe_delete_json_string() {
26
+ local value="$1"
27
+ if command -v python3 >/dev/null 2>&1; then
28
+ python3 -c 'import json,sys; print(json.dumps(sys.argv[1], ensure_ascii=False))' "$value" 2>/dev/null && return 0
29
+ fi
30
+ if command -v python >/dev/null 2>&1; then
31
+ python -c 'import json,sys; print(json.dumps(sys.argv[1], ensure_ascii=False))' "$value" 2>/dev/null && return 0
32
+ fi
33
+ local escaped
34
+ escaped="$(printf '%s' "$value" | sed 's/\\/\\\\/g; s/"/\\"/g')"
35
+ printf '"%s"' "$escaped"
36
+ }
37
+
25
38
  is_dir_empty() {
26
39
  local p="$1"
27
40
  [ -z "$(ls -A "$p" 2>/dev/null)" ]
@@ -240,7 +253,11 @@ try_trash() {
240
253
  if trash_one "$p"; then
241
254
  return 0
242
255
  fi
243
- echo "[safe-delete][SAFE_DELETE_FAIL_CLOSED] target=$p msg=trash-failed TRASH_BIN=${TRASH_BIN:-unset} GENIE_TRASH_DIR=${GENIE_TRASH_DIR:-unset}" >&2
256
+ local target_json trash_bin_json genie_trash_dir_json
257
+ target_json="$(safe_delete_json_string "$p")"
258
+ trash_bin_json="$(safe_delete_json_string "${TRASH_BIN:-unset}")"
259
+ genie_trash_dir_json="$(safe_delete_json_string "${GENIE_TRASH_DIR:-unset}")"
260
+ echo "[safe-delete][SAFE_DELETE_FAIL_CLOSED] {\"target\":$target_json,\"reason\":\"trash-failed\",\"trashBin\":$trash_bin_json,\"genieTrashDir\":$genie_trash_dir_json}" >&2
244
261
  return 1
245
262
  }
246
263
 
@@ -13,6 +13,7 @@ genie-safe-delete — Python 运行时安全删除 shim
13
13
  """
14
14
 
15
15
  import errno
16
+ import json
16
17
  import os
17
18
  import stat
18
19
  import sys
@@ -338,7 +339,10 @@ if _SESSION_ID:
338
339
  if sys.platform == "win32" and _IN_SANDBOX:
339
340
  message = (
340
341
  "[safe-delete][SAFE_DELETE_FAIL_CLOSED] "
341
- "target=%s reason=windows-sandbox-recycle-bin-unavailable" % abs_path
342
+ + json.dumps({
343
+ "target": abs_path,
344
+ "reason": "windows-sandbox-recycle-bin-unavailable",
345
+ }, ensure_ascii=False)
342
346
  )
343
347
  try:
344
348
  sys.stderr.write(message + "\n")