tencent-claw-shield 0.1.2 → 0.1.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x305886,_0x1970b3){const _0x3099fa={_0x18974b:0x3f,_0x4fba33:0x30,_0x3346b8:'m#(3',_0x245f0a:0x315,_0x446af1:0x321,_0x42437e:'KBW3',_0x54b771:0x4e,_0x544e77:0x4a,_0x5d1f88:'nlPP',_0x89d709:0x52,_0x1e188c:0x42,_0x2d6a78:0x26,_0x111ed9:0x48,_0x985704:0x3e,_0xccec30:'JAqZ',_0x351060:0x46,_0x2db4a5:0x331,_0x21de67:'^FFL',_0x51ad67:0x32c,_0x12863d:0x31e};function _0x402062(_0x2c654c,_0x5c0997,_0x58634d,_0x4fc5ea){return _0x36bf(_0x4fc5ea-0x2a0,_0x5c0997);}function _0x1efaf8(_0x58e86a,_0x3f4dfc,_0x1ad577,_0xe1d97d){return _0x36bf(_0xe1d97d- -0x3d,_0x3f4dfc);}const _0x2b3b4c=_0x305886();while(!![]){try{const _0x2b8aef=-parseInt(_0x1efaf8(0x2d,'(vpp',_0x3099fa._0x18974b,_0x3099fa._0x4fba33))/0x1*(-parseInt(_0x402062(0x32b,_0x3099fa._0x3346b8,_0x3099fa._0x245f0a,_0x3099fa._0x446af1))/0x2)+parseInt(_0x1efaf8(0x3b,_0x3099fa._0x42437e,_0x3099fa._0x54b771,_0x3099fa._0x544e77))/0x3+-parseInt(_0x1efaf8(0x52,_0x3099fa._0x5d1f88,_0x3099fa._0x89d709,_0x3099fa._0x18974b))/0x4+parseInt(_0x1efaf8(_0x3099fa._0x1e188c,'kL$w',0x4f,0x45))/0x5+-parseInt(_0x1efaf8(_0x3099fa._0x2d6a78,'6Kvm',_0x3099fa._0x111ed9,0x35))/0x6*(-parseInt(_0x1efaf8(_0x3099fa._0x985704,_0x3099fa._0xccec30,0x26,0x38))/0x7)+-parseInt(_0x1efaf8(0x47,'d3zi',0x57,_0x3099fa._0x351060))/0x8+parseInt(_0x402062(_0x3099fa._0x2db4a5,'z1W4',0x31b,0x32b))/0x9*(parseInt(_0x402062(0x311,_0x3099fa._0x21de67,_0x3099fa._0x51ad67,_0x3099fa._0x12863d))/0xa);if(_0x2b8aef===_0x1970b3)break;else _0x2b3b4c['push'](_0x2b3b4c['shift']());}catch(_0x2231da){_0x2b3b4c['push'](_0x2b3b4c['shift']());}}}(_0x4a14,0xbc293));function _0x36bf(_0x3288e8,_0x428237){_0x3288e8=_0x3288e8-0x6d;const _0x4a144a=_0x4a14();let _0x36bf56=_0x4a144a[_0x3288e8];if(_0x36bf['RojnYV']===undefined){var _0x3bbe83=function(_0x3b7176){const _0x9b24f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b1a82='',_0x5b242a='';for(let _0x30af80=0x0,_0x23aca7,_0xbb4965,_0x47344a=0x0;_0xbb4965=_0x3b7176['charAt'](_0x47344a++);~_0xbb4965&&(_0x23aca7=_0x30af80%0x4?_0x23aca7*0x40+_0xbb4965:_0xbb4965,_0x30af80++%0x4)?_0x3b1a82+=String['fromCharCode'](0xff&_0x23aca7>>(-0x2*_0x30af80&0x6)):0x0){_0xbb4965=_0x9b24f5['indexOf'](_0xbb4965);}for(let _0x4d308a=0x0,_0x113989=_0x3b1a82['length'];_0x4d308a<_0x113989;_0x4d308a++){_0x5b242a+='%'+('00'+_0x3b1a82['charCodeAt'](_0x4d308a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b242a);};const _0x17c388=function(_0x2693b1,_0x59fd34){let _0x402bee=[],_0x31accb=0x0,_0x2ea920,_0xdd74a='';_0x2693b1=_0x3bbe83(_0x2693b1);let _0x43cd18;for(_0x43cd18=0x0;_0x43cd18<0x100;_0x43cd18++){_0x402bee[_0x43cd18]=_0x43cd18;}for(_0x43cd18=0x0;_0x43cd18<0x100;_0x43cd18++){_0x31accb=(_0x31accb+_0x402bee[_0x43cd18]+_0x59fd34['charCodeAt'](_0x43cd18%_0x59fd34['length']))%0x100,_0x2ea920=_0x402bee[_0x43cd18],_0x402bee[_0x43cd18]=_0x402bee[_0x31accb],_0x402bee[_0x31accb]=_0x2ea920;}_0x43cd18=0x0,_0x31accb=0x0;for(let _0x48bed3=0x0;_0x48bed3<_0x2693b1['length'];_0x48bed3++){_0x43cd18=(_0x43cd18+0x1)%0x100,_0x31accb=(_0x31accb+_0x402bee[_0x43cd18])%0x100,_0x2ea920=_0x402bee[_0x43cd18],_0x402bee[_0x43cd18]=_0x402bee[_0x31accb],_0x402bee[_0x31accb]=_0x2ea920,_0xdd74a+=String['fromCharCode'](_0x2693b1['charCodeAt'](_0x48bed3)^_0x402bee[(_0x402bee[_0x43cd18]+_0x402bee[_0x31accb])%0x100]);}return _0xdd74a;};_0x36bf['afTUsn']=_0x17c388,_0x36bf['rBREwH']={},_0x36bf['RojnYV']=!![];}const _0x56f267=_0x4a144a[0x0],_0x16b837=_0x3288e8+_0x56f267,_0x5af1b0=_0x36bf['rBREwH'][_0x16b837];return!_0x5af1b0?(_0x36bf['tmxiWc']===undefined&&(_0x36bf['tmxiWc']=!![]),_0x36bf56=_0x36bf['afTUsn'](_0x36bf56,_0x428237),_0x36bf['rBREwH'][_0x16b837]=_0x36bf56):_0x36bf56=_0x5af1b0,_0x36bf56;}function _0x5ebcfd(_0x229e82,_0x580243,_0x333e15,_0x3d2c5e){return _0x36bf(_0x333e15- -0xab,_0x580243);}function _0x4a14(){const _0x3f0016=['ySkzwSols8oDW54','WOyAu8keW7S','WOZdJmoUbdNdJa','CfbzWQqj','h0v1WPtdOSkYv8oOW6iWW48VswO','Efn9WPeMW5nE','WRVcLCkmWRHCAuFdS1XxEaxdHa','Emktw8ott8oiW78YfKe','hCkBW4v3W58pj8o2imo/zG','W4VcKta','v2T5WP07','CCk5j8orW7lcG8kuzNK','cmkXW5yNp0JdIHpdLwrJW41T','tdxdISkpiX8xWR0rWOhcUSo6WOa','wJnEzSo1qf4DgCkVWOmTW4y','CaqfnCkHWP/dUXeummkLFmkex8kJumkEwCkLlmoLmCk2rmoYWOddMSo4','WOiRWOJdUCkwWRbof8koCSoFsSk0iwVcQSkiWOSZaeRcRmkCpcC2W58F','m8oeoCkPawe6WQyoW6xdRh0','WPhcNKm','WQasWRdcS8kfBa','j8oGzW','W7vjWPnAkXxcJ8oxWOJdQq','kNaYWONdPa','W4pcLJ3dVrpdTa','W74CWRzFsCoAusS','eCovr8kz','CSkrkLXs','WRJcN8kmWRLvcstdM3bjBq','jWdcGaVcS8kIWQZdVa','smkKCWpcGmktW4lcKSk5kq','F17cT8kle8oLW5RdGNNcO8oKxCoZ','qmkAW73cVbdcMb5SW5PJ','bColWRRdSq','saPjW7RcHSkZWO7dSKzfW5xcPmoI','v8kadmoDWRlcGLdcJmkChCowW50a','W5tcJvzkWQNdH8kmW7Tx','WQiyWQRcVCkxFq','W5a5vmkgW6pdQZ0'];_0x4a14=function(){return _0x3f0016;};return _0x4a14();}var i=require(_0x5ebcfd(-0x3c,'ryJf',-0x31,-0x3e)),{sab:d,url:s,method:m,headers:h,body:l,timeoutMs:g}=i[_0x1e5294('VqH$',0x4c,0x4f,0x5c)];if(s['startsWith']('https://'))try{let t=new URL(s)[_0x5ebcfd(-0xe,'^4#I',-0x19,-0xe)];/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/[_0x5ebcfd(-0x47,'N^pX',-0x3b,-0x45)](t)&&(process['env'][_0x1e5294('KJ85',0x54,0x49,0x42)]='0');}catch{process[_0x1e5294('m#(3',0x59,0x55,0x57)][_0x5ebcfd(-0x35,'$vqc',-0x25,-0x14)]='0';}var o=new Int32Array(d,0x0,0x2),a=new Uint8Array(d,0x8),c=(_0x23f596,_0x31ce23)=>{const _0x28dbec={_0x4dddb7:0x2b8,_0x2a447a:'d$(E',_0x47a11b:0x2c3,_0x366d82:0x2b9,_0x3fa373:'6TDK',_0x493c77:0x448,_0x3c40fc:0x43a,_0x55eb96:0x45c,_0x21333c:'pF57',_0x3e9a99:0x445,_0x2616ef:0x446,_0x183e95:0x450},_0x5596ae={_0x1d6039:0x3f6},_0x4761d5={_0x3f83c0:0x130,_0xc33832:0x100};let _0xabbe4a=new TextEncoder()[_0x20e71a(0x450,0x44f,0x452,'d$(E')](_0x31ce23),_0x571acd=Math[_0x2a17da(-_0x28dbec._0x4dddb7,-0x2b5,_0x28dbec._0x2a447a,-0x2c9)](_0xabbe4a[_0x2a17da(-_0x28dbec._0x47a11b,-_0x28dbec._0x366d82,_0x28dbec._0x3fa373,-0x2b2)],a['length']);function _0x2a17da(_0x294c6e,_0x1ed6e8,_0x30fe2f,_0xac2082){return _0x1e5294(_0x30fe2f,_0x294c6e- -0x306,_0x30fe2f-_0x4761d5._0x3f83c0,_0xac2082-_0x4761d5._0xc33832);}function _0x20e71a(_0xf2d049,_0x1215ba,_0xfad2ec,_0x36a342){return _0x1e5294(_0x36a342,_0xfad2ec-_0x5596ae._0x1d6039,_0xfad2ec-0x13,_0x36a342-0xb);}a[_0x20e71a(_0x28dbec._0x493c77,_0x28dbec._0x3c40fc,0x44d,'M^p%')](_0xabbe4a[_0x20e71a(0x447,_0x28dbec._0x55eb96,0x453,_0x28dbec._0x21333c)](0x0,_0x571acd)),Atomics[_0x20e71a(0x44e,0x448,_0x28dbec._0x3e9a99,'zc20')](o,0x1,_0x571acd),Atomics['store'](o,0x0,_0x23f596),Atomics[_0x20e71a(_0x28dbec._0x2616ef,_0x28dbec._0x183e95,0x44e,'6TDK')](o,0x0);};function _0x1e5294(_0x4db866,_0x3c9fdc,_0x365ecb,_0x3af1ce){return _0x36bf(_0x3c9fdc- -0x31,_0x4db866);}((async()=>{const _0x4d4607={_0x9bfc36:0x3cf,_0x3de567:0x168,_0x12fbd5:0x163,_0x15f7fc:0x3e9,_0x5d2b3f:0x3db,_0x4334d9:0x3dd,_0x51e758:0x3fc,_0x5aadaf:0x3d7,_0x10750a:0x15f,_0x334489:0x155,_0x2efc02:0x159},_0x11ca3a={_0x128795:0x405,_0x1e3da4:0x5e},_0xee7e33={_0x2c0bce:0x1b0},_0x3ad6e2={'OpXcs':function(_0x2d79fb,_0x572cf7,_0x229b3f){return _0x2d79fb(_0x572cf7,_0x229b3f);},'TOOKW':function(_0x10d520,_0x3a5669){return _0x10d520(_0x3a5669);},'ALQjn':function(_0x5af47e,_0x48b928,_0x3a32ae){return _0x5af47e(_0x48b928,_0x3a32ae);},'KWEib':function(_0x20a588,_0x13c0db,_0x3506d7){return _0x20a588(_0x13c0db,_0x3506d7);}};function _0x2d7b00(_0x17f2cc,_0x3976e4,_0x34f3f6,_0xabd145){return _0x1e5294(_0x3976e4,_0x34f3f6- -_0xee7e33._0x2c0bce,_0x34f3f6-0x19,_0xabd145-0x7f);}function _0x1f6311(_0xc036bd,_0xcfdcfd,_0x1bacd6,_0x130d1e){return _0x5ebcfd(_0xc036bd-0xf,_0xcfdcfd,_0xc036bd-_0x11ca3a._0x128795,_0x130d1e-_0x11ca3a._0x1e3da4);}try{let _0x3bff36=new AbortController(),_0x29d9d3=_0x3ad6e2['OpXcs'](setTimeout,()=>_0x3bff36[_0x1f6311(0x3d1,'JAqZ',0x3d0,0x3c4)](),g),_0x159ee4=await fetch(s,{'method':m,'headers':h,'body':l,'signal':_0x3bff36[_0x1f6311(0x3d2,'PYr^',_0x4d4607._0x9bfc36,0x3c8)]});_0x3ad6e2[_0x2d7b00(-_0x4d4607._0x3de567,'zc20',-_0x4d4607._0x3de567,-_0x4d4607._0x12fbd5)](clearTimeout,_0x29d9d3);let _0x4e3106=await _0x159ee4[_0x1f6311(_0x4d4607._0x15f7fc,'6Kvm',0x3eb,_0x4d4607._0x5d2b3f)]();_0x3ad6e2[_0x1f6311(0x3ea,'FlQc',_0x4d4607._0x4334d9,_0x4d4607._0x51e758)](c,_0x159ee4['ok']?0x1:0x2,_0x4e3106);}catch(_0xdaa44a){let _0x4151f4=_0xdaa44a instanceof Error?_0xdaa44a[_0x1f6311(0x3d0,'VqH$',0x3d8,_0x4d4607._0x5aadaf)]:_0x3ad6e2[_0x2d7b00(-_0x4d4607._0x10750a,'[Y6#',-_0x4d4607._0x334489,-_0x4d4607._0x2efc02)](String,_0xdaa44a);_0x3ad6e2['KWEib'](c,0x3,_0x4151f4);}})());
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RUNTIME_GUARDRAIL_VERSION = "0.1.
|
|
1
|
+
export declare const RUNTIME_GUARDRAIL_VERSION = "0.1.4";
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "tencent-claw-shield",
|
|
3
3
|
"name": "Claw Shield",
|
|
4
4
|
"description": "OpenClaw claw-shield plugin with remote policy, bundled guardrail config, skills upload, and telemetry.",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.4",
|
|
6
6
|
"configSchema": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
package/package.json
CHANGED
|
@@ -1580,14 +1580,29 @@ function checkOpenClawVersionOrFail(openclawBin, env) {
|
|
|
1580
1580
|
timeout: 5000,
|
|
1581
1581
|
...(env ? { env } : {}),
|
|
1582
1582
|
});
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1583
|
+
// openclaw --version 可能将版本号输出到 stdout 或 stderr(不同版本行为不同)
|
|
1584
|
+
// 同时从两者中尝试提取版本号
|
|
1585
|
+
const stdout = (result.stdout || "").trim();
|
|
1586
|
+
const stderr = (result.stderr || "").trim();
|
|
1587
|
+
const combined = stdout + "\n" + stderr;
|
|
1588
|
+
|
|
1589
|
+
// 从合并输出中提取版本号
|
|
1590
|
+
const current = parseOpenClawVersion(combined);
|
|
1591
|
+
if (!current) {
|
|
1592
|
+
fail(
|
|
1593
|
+
`[OPENCLAW_VERSION_UNKNOWN] 无法获取 OpenClaw 版本号,安装已中止。\n\n` +
|
|
1594
|
+
`Claw Shield 插件要求 OpenClaw >= ${MIN_OPENCLAW_VERSION},但无法确认当前版本。\n` +
|
|
1595
|
+
`这通常意味着 OpenClaw 版本过老,不支持 --version 参数。\n\n` +
|
|
1596
|
+
`请先升级 OpenClaw:\n\n` +
|
|
1597
|
+
` openclaw update\n\n` +
|
|
1598
|
+
`升级完成后重新执行安装命令。\n\n` +
|
|
1599
|
+
`(stdout="${stdout.slice(0, 200)}", stderr="${stderr.slice(0, 200)}")`
|
|
1600
|
+
);
|
|
1588
1601
|
}
|
|
1589
1602
|
|
|
1590
|
-
const
|
|
1603
|
+
const versionMatch = combined.match(/(\d+\.\d+\.\d+)/);
|
|
1604
|
+
const versionStr = versionMatch ? versionMatch[1] : "unknown";
|
|
1605
|
+
|
|
1591
1606
|
const minimum = parseOpenClawVersion(MIN_OPENCLAW_VERSION);
|
|
1592
1607
|
if (!current || !minimum) {
|
|
1593
1608
|
console.warn(`[claw-shieldctl] 无法解析 OpenClaw 版本号 "${versionStr}",跳过版本检测。`);
|
|
@@ -1608,9 +1623,15 @@ function checkOpenClawVersionOrFail(openclawBin, env) {
|
|
|
1608
1623
|
|
|
1609
1624
|
console.log(`[claw-shieldctl] OpenClaw 版本检测通过: ${versionStr} (>= ${MIN_OPENCLAW_VERSION})`);
|
|
1610
1625
|
} catch (error) {
|
|
1611
|
-
// 检测异常不阻断流程
|
|
1612
1626
|
const msg = error instanceof Error ? error.message : String(error);
|
|
1613
|
-
|
|
1627
|
+
if (error instanceof InstallError) {
|
|
1628
|
+
throw error;
|
|
1629
|
+
}
|
|
1630
|
+
fail(
|
|
1631
|
+
`[OPENCLAW_VERSION_UNKNOWN] OpenClaw 版本检测失败,安装已中止。\n\n` +
|
|
1632
|
+
`Claw Shield 插件要求 OpenClaw >= ${MIN_OPENCLAW_VERSION},但版本检测过程出错:${msg}\n\n` +
|
|
1633
|
+
`请确认 OpenClaw 已正确安装并可执行,然后重试。`
|
|
1634
|
+
);
|
|
1614
1635
|
}
|
|
1615
1636
|
}
|
|
1616
1637
|
|