@simonyea/holysheep-cli 2.1.14 → 2.1.15

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": "@simonyea/holysheep-cli",
3
- "version": "2.1.14",
3
+ "version": "2.1.15",
4
4
  "description": "Claude Code/Cursor/Cline API relay for China — ¥1=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
5
5
  "scripts": {
6
6
  "test": "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js",
@@ -60,10 +60,10 @@ const VENDOR_DIR = path.join(__dirname, 'vendor', 'aionui')
60
60
  // new CLI release, the next `hs web` invocation on user machines will detect
61
61
  // the version drift and upgrade the cache in place.
62
62
  const DEFAULT_RUNTIME_URL =
63
- 'https://mail.holysheep.ai/app/cli/aionui-runtime-v1.9.18-holysheep-hs10.tar.gz'
63
+ 'https://mail.holysheep.ai/app/cli/aionui-runtime-v1.9.18-holysheep-hs11.tar.gz'
64
64
  const DEFAULT_RUNTIME_SHA256 =
65
- '45dfa23db819ea57f445a5db7652b0e4455d822e07f60458e6713c7d3a28baec'
66
- const DEFAULT_RUNTIME_VERSION = '1.9.18-holysheep-hs10'
65
+ '67a50b401eb671563952fe497a79e1de652c14a620360f8535f028fb7489f017'
66
+ const DEFAULT_RUNTIME_VERSION = '1.9.18-holysheep-hs11'
67
67
 
68
68
  function isValidRuntimeDir(dir) {
69
69
  if (!dir) return false
@@ -681,6 +681,30 @@ async function handleToolInstall(req, res) {
681
681
  ensureWindowsUserPathHasNpmBin()
682
682
  sseEmit(res, { type: 'output', text: '\n✓ 已更新 Windows 用户 PATH(包含 npm global bin)\n' })
683
683
  } catch {}
684
+ // Resolve the real install path via `where.exe` so the user sees
685
+ // exactly where the binary landed. This was a high-signal 2.1.14
686
+ // feedback item: previously users saw "install succeeded" but then
687
+ // `command not found` in the next terminal because PATH hadn't been
688
+ // refreshed — surfacing the absolute path (a) confirms the install
689
+ // really worked, (b) gives them a copy-pasteable fallback if PATH
690
+ // still isn't picked up by their shell.
691
+ try {
692
+ const cmd = getToolCommand(toolId)
693
+ if (cmd) {
694
+ const out = execSync(`where.exe ${cmd}`, { stdio: 'pipe', timeout: 5000 })
695
+ .toString().trim()
696
+ const first = out.split(/\r?\n/).find(Boolean)
697
+ if (first) {
698
+ sseEmit(res, { type: 'output', text: `\n📍 ${cmd} 二进制位置: ${first}\n` })
699
+ sseEmit(res, { type: 'output', text: ' 如果新终端里执行该命令仍报 not found,复制上述绝对路径直接运行。\n' })
700
+ } else {
701
+ sseEmit(res, { type: 'output', text: `\n⚠️ ${cmd} 安装完成但 where.exe 找不到 — 可能需要重新打开 PowerShell / CMD\n` })
702
+ }
703
+ }
704
+ } catch {
705
+ // `where.exe` can be missing in very old cmd.exe or locked-down images.
706
+ // Not fatal — the ensureWindowsUserPathHasNpmBin hint above is enough.
707
+ }
684
708
  // Bust the tool-check cache so the follow-up /api/holysheep/tools sees
685
709
  // the new binary without waiting 10s for the TTL.
686
710
  toolStateCache.delete(toolId)