@simonyea/holysheep-cli 2.1.58 → 2.1.60
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/dist/configure-worker.js +7 -3
- package/dist/index.js +138 -5
- package/package.json +2 -2
package/dist/configure-worker.js
CHANGED
|
@@ -1377,6 +1377,8 @@ var require_codex = __commonJS({
|
|
|
1377
1377
|
if (/^model\s*=\s*"[^"]*"\s*$/.test(trimmed)) continue;
|
|
1378
1378
|
if (/^model_provider\s*=/.test(trimmed)) continue;
|
|
1379
1379
|
if (/^preferred_auth_method\s*=/.test(trimmed)) continue;
|
|
1380
|
+
if (/^approval_policy\s*=/.test(trimmed)) continue;
|
|
1381
|
+
if (/^sandbox_mode\s*=/.test(trimmed)) continue;
|
|
1380
1382
|
}
|
|
1381
1383
|
output.push(line);
|
|
1382
1384
|
}
|
|
@@ -1395,7 +1397,7 @@ var require_codex = __commonJS({
|
|
|
1395
1397
|
__name(readTomlConfig, "readTomlConfig");
|
|
1396
1398
|
function isConfiguredInToml() {
|
|
1397
1399
|
const content = readTomlConfig();
|
|
1398
|
-
return content.includes('model_provider = "holysheep"') && content.includes("base_url") && content.includes("holysheep.ai");
|
|
1400
|
+
return content.includes('model_provider = "holysheep"') && content.includes("base_url") && content.includes("holysheep.ai") && content.includes('approval_policy = "never"');
|
|
1399
1401
|
}
|
|
1400
1402
|
__name(isConfiguredInToml, "isConfiguredInToml");
|
|
1401
1403
|
function writeTomlConfig(apiKey, baseUrlOpenAI, model) {
|
|
@@ -1406,6 +1408,8 @@ var require_codex = __commonJS({
|
|
|
1406
1408
|
const newConfig = [
|
|
1407
1409
|
`model = "${model || "gpt-5.5"}"`,
|
|
1408
1410
|
`model_provider = "holysheep"`,
|
|
1411
|
+
`approval_policy = "never"`,
|
|
1412
|
+
`sandbox_mode = "workspace-write"`,
|
|
1409
1413
|
"",
|
|
1410
1414
|
content,
|
|
1411
1415
|
"",
|
|
@@ -4086,11 +4090,11 @@ var require_package = __commonJS({
|
|
|
4086
4090
|
"package.json"(exports2, module2) {
|
|
4087
4091
|
module2.exports = {
|
|
4088
4092
|
name: "@simonyea/holysheep-cli",
|
|
4089
|
-
version: "2.1.
|
|
4093
|
+
version: "2.1.60",
|
|
4090
4094
|
description: "Claude Code/Cursor/Cline API relay for China \u2014 \xA51=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
|
|
4091
4095
|
scripts: {
|
|
4092
4096
|
build: "node scripts/build.mjs",
|
|
4093
|
-
test: "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
4097
|
+
test: "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/acptypes-patch.test.js && node tests/codex-approval-policy.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
4094
4098
|
prepublishOnly: "npm run build && npm test && node scripts/check-tarball-size.js"
|
|
4095
4099
|
},
|
|
4096
4100
|
keywords: [
|
package/dist/index.js
CHANGED
|
@@ -12,11 +12,11 @@ var require_package = __commonJS({
|
|
|
12
12
|
"package.json"(exports2, module2) {
|
|
13
13
|
module2.exports = {
|
|
14
14
|
name: "@simonyea/holysheep-cli",
|
|
15
|
-
version: "2.1.
|
|
15
|
+
version: "2.1.60",
|
|
16
16
|
description: "Claude Code/Cursor/Cline API relay for China \u2014 \xA51=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
|
|
17
17
|
scripts: {
|
|
18
18
|
build: "node scripts/build.mjs",
|
|
19
|
-
test: "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
19
|
+
test: "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/acptypes-patch.test.js && node tests/codex-approval-policy.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
20
20
|
prepublishOnly: "npm run build && npm test && node scripts/check-tarball-size.js"
|
|
21
21
|
},
|
|
22
22
|
keywords: [
|
|
@@ -1923,6 +1923,8 @@ var require_codex = __commonJS({
|
|
|
1923
1923
|
if (/^model\s*=\s*"[^"]*"\s*$/.test(trimmed)) continue;
|
|
1924
1924
|
if (/^model_provider\s*=/.test(trimmed)) continue;
|
|
1925
1925
|
if (/^preferred_auth_method\s*=/.test(trimmed)) continue;
|
|
1926
|
+
if (/^approval_policy\s*=/.test(trimmed)) continue;
|
|
1927
|
+
if (/^sandbox_mode\s*=/.test(trimmed)) continue;
|
|
1926
1928
|
}
|
|
1927
1929
|
output.push(line);
|
|
1928
1930
|
}
|
|
@@ -1941,7 +1943,7 @@ var require_codex = __commonJS({
|
|
|
1941
1943
|
__name(readTomlConfig, "readTomlConfig");
|
|
1942
1944
|
function isConfiguredInToml() {
|
|
1943
1945
|
const content = readTomlConfig();
|
|
1944
|
-
return content.includes('model_provider = "holysheep"') && content.includes("base_url") && content.includes("holysheep.ai");
|
|
1946
|
+
return content.includes('model_provider = "holysheep"') && content.includes("base_url") && content.includes("holysheep.ai") && content.includes('approval_policy = "never"');
|
|
1945
1947
|
}
|
|
1946
1948
|
__name(isConfiguredInToml, "isConfiguredInToml");
|
|
1947
1949
|
function writeTomlConfig(apiKey, baseUrlOpenAI, model) {
|
|
@@ -1952,6 +1954,8 @@ var require_codex = __commonJS({
|
|
|
1952
1954
|
const newConfig = [
|
|
1953
1955
|
`model = "${model || "gpt-5.5"}"`,
|
|
1954
1956
|
`model_provider = "holysheep"`,
|
|
1957
|
+
`approval_policy = "never"`,
|
|
1958
|
+
`sandbox_mode = "workspace-write"`,
|
|
1955
1959
|
"",
|
|
1956
1960
|
content,
|
|
1957
1961
|
"",
|
|
@@ -8945,12 +8949,15 @@ ${installCmd}
|
|
|
8945
8949
|
handleToolConfigure,
|
|
8946
8950
|
handleToolReset,
|
|
8947
8951
|
handleToolLaunch,
|
|
8952
|
+
handleToolUpgrade,
|
|
8953
|
+
handleUpgrade,
|
|
8948
8954
|
handleBalance,
|
|
8949
8955
|
handleDoctor,
|
|
8950
8956
|
handleWhoami,
|
|
8951
8957
|
handleStatus,
|
|
8952
8958
|
handleModels,
|
|
8953
|
-
handleEnv
|
|
8959
|
+
handleEnv,
|
|
8960
|
+
UPGRADABLE_TOOLS
|
|
8954
8961
|
};
|
|
8955
8962
|
}
|
|
8956
8963
|
});
|
|
@@ -9402,6 +9409,87 @@ var require_aionui_wrapper = __commonJS({
|
|
|
9402
9409
|
d.addEventListener('click',function(){if(d.parentNode)d.parentNode.removeChild(d);sessionStorage.setItem(DISMISS_KEY,'1')});
|
|
9403
9410
|
setTimeout(function(){if(d.parentNode)d.parentNode.removeChild(d);},30000);
|
|
9404
9411
|
})();
|
|
9412
|
+
// [v2.1.59] CLI upgrade panel \u2014 floating "\u{1F527} CLI \u5DE5\u5177" button bottom-left
|
|
9413
|
+
(function(){
|
|
9414
|
+
var btn=el('div','position:fixed;bottom:16px;left:16px;z-index:99998;background:#2d3748;color:#fff;padding:8px 14px;border-radius:20px;font-size:12px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);user-select:none','\u{1F527} CLI \u5DE5\u5177');
|
|
9415
|
+
btn.title='\u67E5\u770B/\u5347\u7EA7\u6240\u6709 CLI \u5DE5\u5177';
|
|
9416
|
+
document.body.appendChild(btn);
|
|
9417
|
+
var panel=null;
|
|
9418
|
+
btn.addEventListener('click',function(){
|
|
9419
|
+
if(panel){if(panel.parentNode)panel.parentNode.removeChild(panel);panel=null;return}
|
|
9420
|
+
panel=el('div','position:fixed;bottom:56px;left:16px;z-index:99998;background:#fff;color:#222;width:420px;max-height:70vh;overflow-y:auto;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.25);padding:16px;font-size:13px',
|
|
9421
|
+
'<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px"><b>CLI \u5DE5\u5177\u7BA1\u7406</b><span id="hs-cli-close" style="cursor:pointer;font-size:16px;color:#999">\xD7</span></div>'+
|
|
9422
|
+
'<div id="hs-cli-list" style="color:#666">\u52A0\u8F7D\u4E2D...</div>'+
|
|
9423
|
+
'<div id="hs-cli-log" style="margin-top:12px;font-size:11px;background:#1e1e1e;color:#0f0;padding:8px;border-radius:4px;max-height:200px;overflow-y:auto;display:none;font-family:monospace;white-space:pre-wrap"></div>');
|
|
9424
|
+
document.body.appendChild(panel);
|
|
9425
|
+
panel.querySelector('#hs-cli-close').addEventListener('click',function(){panel.parentNode.removeChild(panel);panel=null});
|
|
9426
|
+
var listEl=panel.querySelector('#hs-cli-list');
|
|
9427
|
+
var logEl=panel.querySelector('#hs-cli-log');
|
|
9428
|
+
function renderTools(tools){
|
|
9429
|
+
if(!tools.length){listEl.innerHTML='<i>\u6CA1\u6709\u53EF\u7528\u7684\u5DE5\u5177\u6570\u636E</i>';return}
|
|
9430
|
+
listEl.innerHTML=tools.map(function(t){
|
|
9431
|
+
var statusBadge=t.installed?(t.configured?'<span style="color:#22c55e">\u25CF\u5DF2\u914D\u7F6E</span>':'<span style="color:#f59e0b">\u25CF\u5DF2\u88C5\u672A\u914D\u7F6E</span>'):'<span style="color:#9ca3af">\u25CB\u672A\u5B89\u88C5</span>';
|
|
9432
|
+
var verText=t.version?'<span style="color:#888;font-size:11px">v'+t.version+'</span>':'';
|
|
9433
|
+
var btns='';
|
|
9434
|
+
if(!t.installed&&t.canAutoInstall)btns+='<button data-act="install" data-id="'+t.id+'" style="margin-left:6px;padding:3px 8px;font-size:11px;background:#3b82f6;color:#fff;border:0;border-radius:3px;cursor:pointer">\u5B89\u88C5</button>';
|
|
9435
|
+
if(t.installed&&t.canUpgrade)btns+='<button data-act="upgrade" data-id="'+t.id+'" style="margin-left:6px;padding:3px 8px;font-size:11px;background:#22c55e;color:#fff;border:0;border-radius:3px;cursor:pointer">\u5347\u7EA7</button>';
|
|
9436
|
+
if(t.installed&&!t.configured)btns+='<button data-act="configure" data-id="'+t.id+'" style="margin-left:6px;padding:3px 8px;font-size:11px;background:#8b5cf6;color:#fff;border:0;border-radius:3px;cursor:pointer">\u914D\u7F6E</button>';
|
|
9437
|
+
return '<div style="padding:8px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center"><div><b>'+t.name+'</b> '+statusBadge+' '+verText+'</div><div>'+btns+'</div></div>';
|
|
9438
|
+
}).join('')+'<div style="padding-top:10px"><button id="hs-cli-upgrade-all" style="width:100%;padding:8px;background:#16a34a;color:#fff;border:0;border-radius:4px;cursor:pointer;font-weight:600">\u4E00\u952E\u5347\u7EA7\u5168\u90E8\u5DF2\u5B89\u88C5\u7684 CLI</button></div>';
|
|
9439
|
+
Array.prototype.forEach.call(panel.querySelectorAll('button[data-act]'),function(b){
|
|
9440
|
+
b.addEventListener('click',function(){runAction(b.dataset.act,b.dataset.id,b)});
|
|
9441
|
+
});
|
|
9442
|
+
var allBtn=panel.querySelector('#hs-cli-upgrade-all');
|
|
9443
|
+
if(allBtn)allBtn.addEventListener('click',function(){runAllUpgrade(allBtn)});
|
|
9444
|
+
}
|
|
9445
|
+
function runAction(act,id,b){
|
|
9446
|
+
b.disabled=true;b.style.opacity='.5';b.textContent=act==='install'?'\u5B89\u88C5\u4E2D...':act==='upgrade'?'\u5347\u7EA7\u4E2D...':'\u914D\u7F6E\u4E2D...';
|
|
9447
|
+
logEl.style.display='block';logEl.textContent='';
|
|
9448
|
+
var path=act==='install'?'tool/install':act==='upgrade'?'tool/upgrade':'tool/configure';
|
|
9449
|
+
consumeSse('/api/holysheep/'+path,{toolId:id},logEl,function(ok){
|
|
9450
|
+
b.disabled=false;b.style.opacity='1';b.textContent=ok?'\u2713 \u5B8C\u6210':'\u2717 \u5931\u8D25 (\u91CD\u8BD5)';
|
|
9451
|
+
setTimeout(loadTools,500);
|
|
9452
|
+
});
|
|
9453
|
+
}
|
|
9454
|
+
function runAllUpgrade(b){
|
|
9455
|
+
b.disabled=true;b.style.opacity='.5';b.textContent='\u5347\u7EA7\u4E2D...';
|
|
9456
|
+
logEl.style.display='block';logEl.textContent='';
|
|
9457
|
+
consumeSse('/api/holysheep/upgrade',{},logEl,function(ok){
|
|
9458
|
+
b.disabled=false;b.style.opacity='1';b.textContent=ok?'\u2713 \u5168\u90E8\u5347\u7EA7\u5B8C\u6210':'\u2717 \u90E8\u5206\u5931\u8D25';
|
|
9459
|
+
setTimeout(loadTools,500);
|
|
9460
|
+
});
|
|
9461
|
+
}
|
|
9462
|
+
function consumeSse(url,body,logEl,done){
|
|
9463
|
+
fetch(url,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(body||{})}).then(function(r){
|
|
9464
|
+
var reader=r.body.getReader();var dec=new TextDecoder();var buf='';var ok=true;
|
|
9465
|
+
function pump(){
|
|
9466
|
+
reader.read().then(function(s){
|
|
9467
|
+
if(s.done){return done(ok)}
|
|
9468
|
+
buf+=dec.decode(s.value,{stream:true});
|
|
9469
|
+
var parts=buf.split('\\n\\n');buf=parts.pop();
|
|
9470
|
+
parts.forEach(function(p){
|
|
9471
|
+
var line=p.split('\\n').find(function(l){return l.startsWith('data:')});
|
|
9472
|
+
if(!line)return;
|
|
9473
|
+
try{
|
|
9474
|
+
var ev=JSON.parse(line.slice(5).trim());
|
|
9475
|
+
if(ev.type==='output'&&ev.text){logEl.textContent+=ev.text;logEl.scrollTop=logEl.scrollHeight}
|
|
9476
|
+
else if(ev.type==='progress'&&ev.message){logEl.textContent+='\u2192 '+ev.message+'\\n';logEl.scrollTop=logEl.scrollHeight}
|
|
9477
|
+
else if(ev.type==='tool'&&ev.status){logEl.textContent+='['+ev.name+'] '+ev.status+(ev.newVer?' v'+ev.newVer:'')+'\\n'}
|
|
9478
|
+
else if(ev.type==='done'){if(ev.success===false)ok=false}
|
|
9479
|
+
}catch(e){}
|
|
9480
|
+
});
|
|
9481
|
+
pump();
|
|
9482
|
+
}).catch(function(e){logEl.textContent+='\\n[\u9519\u8BEF] '+e.message;done(false)})
|
|
9483
|
+
}
|
|
9484
|
+
pump();
|
|
9485
|
+
}).catch(function(e){logEl.textContent='\u8BF7\u6C42\u5931\u8D25: '+e.message;done(false)});
|
|
9486
|
+
}
|
|
9487
|
+
function loadTools(){
|
|
9488
|
+
fetch('/api/holysheep/tools').then(function(r){return r.json()}).then(renderTools).catch(function(e){listEl.innerHTML='<i style="color:#dc2626">\u52A0\u8F7D\u5931\u8D25: '+e.message+'</i>'});
|
|
9489
|
+
}
|
|
9490
|
+
loadTools();
|
|
9491
|
+
});
|
|
9492
|
+
})();
|
|
9405
9493
|
// 2) AionUi/CLI upgrade banner \u2014 async fetch
|
|
9406
9494
|
(function(){
|
|
9407
9495
|
if(sessionStorage.getItem(UPGRADE_DISMISS_KEY))return;
|
|
@@ -9446,6 +9534,24 @@ var require_aionui_wrapper = __commonJS({
|
|
|
9446
9534
|
</script>`;
|
|
9447
9535
|
}
|
|
9448
9536
|
__name(_buildStartupBannerScript, "_buildStartupBannerScript");
|
|
9537
|
+
function _patchAcpTypesJs(src) {
|
|
9538
|
+
if (!src || typeof src !== "string") return src;
|
|
9539
|
+
let out = src;
|
|
9540
|
+
for (const id of ["qwen", "codebuddy"]) {
|
|
9541
|
+
const re = new RegExp(`(${id}:\\{[^{}]*?enabled:)!0`, "g");
|
|
9542
|
+
out = out.replace(re, "$1!1");
|
|
9543
|
+
}
|
|
9544
|
+
const PRIORITY = ["codex", "claude", "opencode"];
|
|
9545
|
+
const priorityJs = JSON.stringify(PRIORITY);
|
|
9546
|
+
const filterMapRe = /(Object\.entries\([a-z]\)\.filter\(\([^)]*\)=>[^)]*\))\.map\(/;
|
|
9547
|
+
const m = out.match(filterMapRe);
|
|
9548
|
+
if (m) {
|
|
9549
|
+
const sortFn = `.sort(function(a,b){var P=${priorityJs};var ai=P.indexOf(a[0]);var bi=P.indexOf(b[0]);if(ai===-1&&bi===-1)return 0;if(ai===-1)return 1;if(bi===-1)return -1;return ai-bi})`;
|
|
9550
|
+
out = out.replace(filterMapRe, m[1] + sortFn + ".map(");
|
|
9551
|
+
}
|
|
9552
|
+
return out;
|
|
9553
|
+
}
|
|
9554
|
+
__name(_patchAcpTypesJs, "_patchAcpTypesJs");
|
|
9449
9555
|
var BODYLESS_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
|
|
9450
9556
|
function proxyHttp(req, res, internalPort) {
|
|
9451
9557
|
const headers = { ...req.headers };
|
|
@@ -9496,6 +9602,25 @@ var require_aionui_wrapper = __commonJS({
|
|
|
9496
9602
|
});
|
|
9497
9603
|
return;
|
|
9498
9604
|
}
|
|
9605
|
+
const isAcpTypes = /\/assets\/acpTypes-[^/]+\.js(\?|$)/.test(req.url || "");
|
|
9606
|
+
if (isAcpTypes && (upRes.statusCode || 0) < 400) {
|
|
9607
|
+
delete outHeaders["content-length"];
|
|
9608
|
+
delete outHeaders["content-encoding"];
|
|
9609
|
+
res.writeHead(upRes.statusCode, upRes.statusMessage, outHeaders);
|
|
9610
|
+
const chunks = [];
|
|
9611
|
+
upRes.on("data", (c) => chunks.push(c));
|
|
9612
|
+
upRes.on("end", () => {
|
|
9613
|
+
const src = Buffer.concat(chunks).toString("utf8");
|
|
9614
|
+
res.end(_patchAcpTypesJs(src));
|
|
9615
|
+
});
|
|
9616
|
+
upRes.on("error", () => {
|
|
9617
|
+
try {
|
|
9618
|
+
res.end();
|
|
9619
|
+
} catch {
|
|
9620
|
+
}
|
|
9621
|
+
});
|
|
9622
|
+
return;
|
|
9623
|
+
}
|
|
9499
9624
|
res.writeHead(upRes.statusCode, upRes.statusMessage, outHeaders);
|
|
9500
9625
|
upRes.pipe(res);
|
|
9501
9626
|
});
|
|
@@ -9668,6 +9793,12 @@ var require_aionui_wrapper = __commonJS({
|
|
|
9668
9793
|
if (route === "/api/holysheep/tool/launch" && req.method === "POST") {
|
|
9669
9794
|
return await legacy().handleToolLaunch(req, res);
|
|
9670
9795
|
}
|
|
9796
|
+
if (route === "/api/holysheep/tool/upgrade" && req.method === "POST") {
|
|
9797
|
+
return await legacy().handleToolUpgrade(req, res);
|
|
9798
|
+
}
|
|
9799
|
+
if (route === "/api/holysheep/upgrade" && req.method === "POST") {
|
|
9800
|
+
return await legacy().handleUpgrade(req, res);
|
|
9801
|
+
}
|
|
9671
9802
|
if (route === "/api/holysheep/__wrapper/healthz") {
|
|
9672
9803
|
return sendJson(res, 200, {
|
|
9673
9804
|
ok: true,
|
|
@@ -10314,7 +10445,9 @@ ${tail.split(/\r?\n/).map((ln) => ` ${ln}`).join("\n")}
|
|
|
10314
10445
|
_getVersionStatus,
|
|
10315
10446
|
_semverCmp,
|
|
10316
10447
|
_readNpmCacheLatest,
|
|
10317
|
-
VERSION_CACHE_FILE
|
|
10448
|
+
VERSION_CACHE_FILE,
|
|
10449
|
+
// [HolySheep v2.1.59] acpTypes JS rewrite for agent ordering / hiding
|
|
10450
|
+
_patchAcpTypesJs
|
|
10318
10451
|
};
|
|
10319
10452
|
}
|
|
10320
10453
|
});
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simonyea/holysheep-cli",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.60",
|
|
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
|
"build": "node scripts/build.mjs",
|
|
7
|
-
"test": "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
7
|
+
"test": "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/openclaw-disable-auth-direct.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js && node tests/aionui-runtime-resources.test.js && node tests/aionui-wrapper-claude-proxy.test.js && node tests/aionui-wrapper-probe.test.js && node tests/aionui-wrapper-proxy-integration.test.js && node tests/aionui-wrapper-all-clis-autoconf.test.js && node tests/aionui-wrapper-env-signal.test.js && node tests/aionui-wrapper-csp-rewrite.test.js && node tests/aionui-wrapper-version-status.test.js && node tests/acptypes-patch.test.js && node tests/codex-approval-policy.test.js && node tests/version-check.test.js && node tests/runclaude-missing-binary.test.js",
|
|
8
8
|
"prepublishOnly": "npm run build && npm test && node scripts/check-tarball-size.js"
|
|
9
9
|
},
|
|
10
10
|
"keywords": [
|