@wujie-shell/core 2.0.1 → 3.0.0
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/README.md +3 -3
- package/bin/wujie-shell.mjs +65 -0
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -0
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -0
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -0
- package/dist/src/sessions/session-sqlite-store.mjs +1 -0
- package/dist/src/sessions/sql/001_init.sql +120 -0
- package/dist/src/sessions/sql/002_session_local_metadata.sql +15 -0
- package/dist/src/sessions/sql/schema.md +115 -0
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -0
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ This package is shell infrastructure. It must not contain product UI business
|
|
|
22
22
|
logic or hard-coded product asset lists.
|
|
23
23
|
|
|
24
24
|
Product-specific historical compatibility lives in
|
|
25
|
-
`apps/
|
|
25
|
+
`apps/wujie-desktop/shell-runtime`; that runtime should only keep config migrations.
|
|
26
26
|
New shell IPC capabilities should be added to the matching `src/*` module here,
|
|
27
27
|
not to product runtime.
|
|
28
28
|
|
|
@@ -251,8 +251,8 @@ Shell-level DevTools ability:
|
|
|
251
251
|
The package exposes `wujie-shell`:
|
|
252
252
|
|
|
253
253
|
```bash
|
|
254
|
-
wujie-shell prepare --project ../
|
|
255
|
-
wujie-shell sync --project ../
|
|
254
|
+
wujie-shell prepare --project ../wujie-desktop
|
|
255
|
+
wujie-shell sync --project ../wujie-desktop
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
`prepare` can install/switch OpenClaw version. `sync` expects the prepared
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { existsSync } from 'node:fs'
|
|
3
|
+
import { resolve } from 'node:path'
|
|
4
|
+
import { loadShellConfig } from '@wujie-shell/config'
|
|
5
|
+
|
|
6
|
+
const runtimeEntry = existsSync(new URL('../dist/src/runtime/index.mjs', import.meta.url))
|
|
7
|
+
? '../dist/src/runtime/index.mjs'
|
|
8
|
+
: '../src/runtime/index.mjs'
|
|
9
|
+
const { prepareRuntime } = await import(runtimeEntry)
|
|
10
|
+
|
|
11
|
+
function parseArgs(argv) {
|
|
12
|
+
const args = [...argv]
|
|
13
|
+
const command = args.shift() || 'help'
|
|
14
|
+
const options = { project: process.cwd() }
|
|
15
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
16
|
+
const arg = args[index]
|
|
17
|
+
if (arg === '--project' || arg === '-p') {
|
|
18
|
+
options.project = args[index + 1]
|
|
19
|
+
index += 1
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return { command, options }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function usage() {
|
|
26
|
+
console.log(`wujie-shell
|
|
27
|
+
|
|
28
|
+
Usage:
|
|
29
|
+
wujie-shell prepare --project <ui-project>
|
|
30
|
+
wujie-shell sync --project <ui-project>
|
|
31
|
+
`)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async function main() {
|
|
35
|
+
const { command, options } = parseArgs(process.argv.slice(2))
|
|
36
|
+
if (command === 'help' || command === '--help' || command === '-h') {
|
|
37
|
+
usage()
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
if (command !== 'prepare' && command !== 'sync') {
|
|
41
|
+
throw new Error(`unknown command: ${command}`)
|
|
42
|
+
}
|
|
43
|
+
const projectRoot = resolve(options.project)
|
|
44
|
+
const shellConfig = await loadShellConfig(projectRoot)
|
|
45
|
+
const manifest = await prepareRuntime(shellConfig, { syncOnly: command === 'sync' })
|
|
46
|
+
console.log(
|
|
47
|
+
JSON.stringify(
|
|
48
|
+
{
|
|
49
|
+
ok: true,
|
|
50
|
+
command,
|
|
51
|
+
projectRoot,
|
|
52
|
+
runtimeRoot: `${projectRoot}/.tmp/runtime`,
|
|
53
|
+
openclawVersion: manifest.openclawVersion,
|
|
54
|
+
pluginCount: Array.isArray(manifest.plugins) ? manifest.plugins.length : 0,
|
|
55
|
+
},
|
|
56
|
+
null,
|
|
57
|
+
2
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
main().catch(error => {
|
|
63
|
+
console.error(error instanceof Error ? error.stack || error.message : String(error))
|
|
64
|
+
process.exit(1)
|
|
65
|
+
})
|
package/dist/bin/wujie-shell.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const _0x263845=_0x1d2f;(function(_0x534199,_0x168b40){const _0x14f141=_0x1d2f,_0x37d94c=_0x534199();while(!![]){try{const _0x57699c=parseInt(_0x14f141(0x10f))/0x1*(parseInt(_0x14f141(0x10e))/0x2)+parseInt(_0x14f141(0x11e))/0x3+-parseInt(_0x14f141(0x113))/0x4*(parseInt(_0x14f141(0x125))/0x5)+parseInt(_0x14f141(0x111))/0x6+parseInt(_0x14f141(0x118))/0x7+-parseInt(_0x14f141(0x117))/0x8*(-parseInt(_0x14f141(0x107))/0x9)+-parseInt(_0x14f141(0x102))/0xa;if(_0x57699c===_0x168b40)break;else _0x37d94c['push'](_0x37d94c['shift']());}catch(_0x514837){_0x37d94c['push'](_0x37d94c['shift']());}}}(_0x1c02,0x81384));function _0x1c02(){const _0x34a342=['untime/i','51732KeBuNL','27qVNtXd','command:','5711214fvlnhB','shift','8qAYhfx','cwd','x.mjs','length','3930176SZKSKN','4582207UzFljh','exit','l\x20prepar','catch','stack','e\x20--proj','528636CGcbvq','ect\x20<ui-','src/runt','i-projec','project','ntime','stringif','1678335XvLEfA','plugins','--help','../dist/','ell\x0a\x0aUsa','isArray','unknown\x20','ime/inde','slice','jie-shel','\x0a\x20\x20wujie','wujie-sh','--projec','ync\x20--pr','log','17717180RiXryz','/.tmp/ru','sync','ndex.mjs','project>','9QybXwu','ge:\x0a\x20\x20wu','help','oject\x20<u','openclaw','argv'];_0x1c02=function(){return _0x34a342;};return _0x1c02();}import{existsSync}from'node:fs';import{resolve}from'node:path';import{loadShellConfig}from'@wujie-shell/config';const runtimeEntry=existsSync(new URL(_0x263845(0xf6)+'src/runt'+_0x263845(0xfa)+'x.mjs',import.meta.url))?_0x263845(0xf6)+_0x263845(0x120)+_0x263845(0xfa)+_0x263845(0x115):'../src/r'+_0x263845(0x10d)+_0x263845(0x105),{prepareRuntime}=await import(runtimeEntry);function _0x1d2f(_0x582e49,_0xb72c4e){_0x582e49=_0x582e49-0xf4;const _0x1c02df=_0x1c02();let _0x1d2f75=_0x1c02df[_0x582e49];return _0x1d2f75;}function parseArgs(_0x2cc1a7){const _0x3e47e4=_0x263845,_0x35803e=[..._0x2cc1a7],_0x16ef09=_0x35803e[_0x3e47e4(0x112)]()||_0x3e47e4(0x109),_0x278413={'project':process[_0x3e47e4(0x114)]()};for(let _0x5edce2=0x0;_0x5edce2<_0x35803e['length'];_0x5edce2+=0x1){const _0x451a88=_0x35803e[_0x5edce2];(_0x451a88===_0x3e47e4(0xff)+'t'||_0x451a88==='-p')&&(_0x278413[_0x3e47e4(0x122)]=_0x35803e[_0x5edce2+0x1],_0x5edce2+=0x1);}return{'command':_0x16ef09,'options':_0x278413};}function usage(){const _0x4b32ed=_0x263845;console['log'](_0x4b32ed(0xfe)+_0x4b32ed(0xf7)+_0x4b32ed(0x108)+_0x4b32ed(0xfc)+_0x4b32ed(0x11a)+_0x4b32ed(0x11d)+_0x4b32ed(0x11f)+_0x4b32ed(0x106)+_0x4b32ed(0xfd)+'-shell\x20s'+_0x4b32ed(0x100)+_0x4b32ed(0x10a)+_0x4b32ed(0x121)+'t>\x0a');}async function main(){const _0x4bf5a3=_0x263845,{command:_0x5b80a1,options:_0x45a2a8}=parseArgs(process[_0x4bf5a3(0x10c)][_0x4bf5a3(0xfb)](0x2));if(_0x5b80a1===_0x4bf5a3(0x109)||_0x5b80a1===_0x4bf5a3(0xf5)||_0x5b80a1==='-h'){usage();return;}if(_0x5b80a1!=='prepare'&&_0x5b80a1!==_0x4bf5a3(0x104))throw new Error(_0x4bf5a3(0xf9)+_0x4bf5a3(0x110)+'\x20'+_0x5b80a1);const _0xfef8c4=resolve(_0x45a2a8[_0x4bf5a3(0x122)]),_0x2a04ac=await loadShellConfig(_0xfef8c4),_0x2ee2a3=await prepareRuntime(_0x2a04ac,{'syncOnly':_0x5b80a1===_0x4bf5a3(0x104)});console[_0x4bf5a3(0x101)](JSON[_0x4bf5a3(0x124)+'y']({'ok':!![],'command':_0x5b80a1,'projectRoot':_0xfef8c4,'runtimeRoot':_0xfef8c4+(_0x4bf5a3(0x103)+_0x4bf5a3(0x123)),'openclawVersion':_0x2ee2a3[_0x4bf5a3(0x10b)+'Version'],'pluginCount':Array[_0x4bf5a3(0xf8)](_0x2ee2a3[_0x4bf5a3(0xf4)])?_0x2ee2a3[_0x4bf5a3(0xf4)][_0x4bf5a3(0x116)]:0x0},null,0x2));}main()[_0x263845(0x11b)](_0x39e20c=>{const _0x431572=_0x263845;console['error'](_0x39e20c instanceof Error?_0x39e20c[_0x431572(0x11c)]||_0x39e20c['message']:String(_0x39e20c)),process[_0x431572(0x119)](0x1);});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x42b4ca,_0x115b1b){const _0x35a5b=_0x346d,_0x52f5c2=_0x42b4ca();while(!![]){try{const _0x353565=parseInt(_0x35a5b(0x124))/0x1*(-parseInt(_0x35a5b(0x148))/0x2)+-parseInt(_0x35a5b(0x13f))/0x3*(-parseInt(_0x35a5b(0x12c))/0x4)+-parseInt(_0x35a5b(0x11e))/0x5*(-parseInt(_0x35a5b(0x13c))/0x6)+-parseInt(_0x35a5b(0x139))/0x7+parseInt(_0x35a5b(0x13e))/0x8*(-parseInt(_0x35a5b(0x14a))/0x9)+parseInt(_0x35a5b(0x145))/0xa+parseInt(_0x35a5b(0x122))/0xb;if(_0x353565===_0x115b1b)break;else _0x52f5c2['push'](_0x52f5c2['shift']());}catch(_0x45ad34){_0x52f5c2['push'](_0x52f5c2['shift']());}}}(_0x34a5,0xc281c));import{existsSync}from'node:fs';import{readFile,readdir}from'node:fs/promises';import{join}from'node:path';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function extractFrontmatter(_0x25fb93){const _0x599312=String(_0x25fb93||'')['match'](/^---\s*\r?\n([\s\S]*?)\r?\n---/);return _0x599312?.[0x1]||'';}function stripYamlQuote(_0x584a9c){const _0x44ca0b=_0x346d;return getTrimmedString(_0x584a9c)[_0x44ca0b(0x131)](/^["']|["']$/g,'');}function resolveFrontmatterValue(_0x128964,_0x4b6a94){const _0x2bdff7=_0x346d,_0x524711=_0x128964[_0x2bdff7(0x14b)](new RegExp(_0x2bdff7(0x147)+_0x4b6a94+(_0x2bdff7(0x126)+'$'),'m'))?.[0x1];return stripYamlQuote(_0x524711);}function resolveIndentedYamlValue(_0x4418b1,_0x39c240){const _0x31ab05=_0x346d,_0x15e339=String(_0x4418b1||'')[_0x31ab05(0x14b)](new RegExp(_0x31ab05(0x136)+_0x39c240+(_0x31ab05(0x126)+'$'),'m'))?.[0x1];return stripYamlQuote(_0x15e339);}function _0x346d(_0x49c7bc,_0x302327){_0x49c7bc=_0x49c7bc-0x11d;const _0x34a58f=_0x34a5();let _0x346df2=_0x34a58f[_0x49c7bc];return _0x346df2;}function resolveMetadataJsonBlock(_0x124483){const _0x3ec7f0=_0x346d,_0x4084fe=_0x124483[_0x3ec7f0(0x14b)](/^metadata:\s*[|>]\s*\r?\n((?:[ \t]+.*(?:\r?\n|$))*)/m);if(!_0x4084fe?.[0x1])return{};try{return asRecord(JSON['parse'](_0x4084fe[0x1]));}catch{return{};}}function _0x34a5(){const _0x2abd64=['map','^\x5cs+','SKILL.md','cnName','8929221AHLwOQ','metadata','catch','3767046baBKrC','lls]\x20fai','696PBDdQS','30954oNjnKy','extraDir','skillKey','utf8','ory','ls\x20dir\x20a','8488170nWtIuS','find','^\x5cs*','16490gGBGMe','cnDescri','135099TKFcNt','match','warn','agents','hell:ski','push','list','[wujie-s','trim','keys','5lAeqOS','object','load','name','29003491WbquGY','isArray','173JRoDXY','isDirect',':\x5cs*(.+)','skills','has','ead\x20skil','led\x20to\x20r','gent=','268nwKCVu','stringif','BySkillK','length','agentAll','replace','ption','owlist','main'];_0x34a5=function(){return _0x2abd64;};return _0x34a5();}function readOpenClawDisplayMetadataFromFrontmatter(_0x2d3f8f){const _0x15c4ec=_0x346d,_0x15e9a2=resolveMetadataJsonBlock(_0x2d3f8f),_0x38aed6=asRecord(_0x15e9a2['openclaw']),_0x2f9223=getTrimmedString(_0x38aed6[_0x15c4ec(0x138)])||resolveFrontmatterValue(_0x2d3f8f,_0x15c4ec(0x138))||resolveIndentedYamlValue(_0x2d3f8f,_0x15c4ec(0x138)),_0x4d730f=getTrimmedString(_0x38aed6['cnDescri'+'ption'])||resolveFrontmatterValue(_0x2d3f8f,_0x15c4ec(0x149)+_0x15c4ec(0x132))||resolveIndentedYamlValue(_0x2d3f8f,_0x15c4ec(0x149)+_0x15c4ec(0x132));return{..._0x2f9223?{'cnName':_0x2f9223}:{},..._0x4d730f?{'cnDescription':_0x4d730f}:{}};}async function readSkillDisplayMetadata(_0x5dbf4a){const _0x23a445=_0x346d,_0xca7c9e=await readFile(join(_0x5dbf4a,_0x23a445(0x137)),_0x23a445(0x142))[_0x23a445(0x13b)](()=>'');if(!_0xca7c9e['trim']())return{};const _0x4d939c=extractFrontmatter(_0xca7c9e);if(!_0x4d939c)return{};return readOpenClawDisplayMetadataFromFrontmatter(_0x4d939c);}async function listValidSkillKeys(_0x86453a,_0x38edf7){const _0x1c6f79=_0x346d;if(!existsSync(_0x86453a))return{'skillKeys':[],'metadataBySkillKey':{}};let _0x3c21d4=[];try{_0x3c21d4=await readdir(_0x86453a,{'withFileTypes':!![],'encoding':'utf8'});}catch(_0x86ab9c){return console[_0x1c6f79(0x14c)](_0x1c6f79(0x151)+_0x1c6f79(0x14e)+_0x1c6f79(0x13d)+_0x1c6f79(0x12a)+_0x1c6f79(0x129)+_0x1c6f79(0x144)+_0x1c6f79(0x12b)+_0x38edf7,_0x86ab9c),{'skillKeys':[],'metadataBySkillKey':{}};}const _0x51c040=[],_0x40248f={};for(const _0x531e84 of _0x3c21d4){if(!_0x531e84[_0x1c6f79(0x125)+_0x1c6f79(0x143)]())continue;const _0x387fb8=_0x531e84['name'][_0x1c6f79(0x152)]();if(!_0x387fb8||_0x387fb8['startsWi'+'th']('_'))continue;const _0x121d9b=join(_0x86453a,_0x387fb8);if(!existsSync(join(_0x121d9b,_0x1c6f79(0x137))))continue;_0x51c040[_0x1c6f79(0x14f)](_0x387fb8);const _0x239f04=await readSkillDisplayMetadata(_0x121d9b);if(Object[_0x1c6f79(0x11d)](_0x239f04)['length']>0x0)_0x40248f[_0x387fb8]=_0x239f04;}return{'skillKeys':_0x51c040,'metadataBySkillKey':_0x40248f};}export async function discoverBundledAgentSkills(_0x5890ad,_0x52a16b){const _0x57ea3a=_0x346d,_0x40192a=[],_0x33be1d={},_0x3ec657={},_0x21af86={};for(const _0x4ac501 of _0x5890ad){const _0x23bcb9=_0x52a16b(_0x4ac501),_0x52d4c8=await listValidSkillKeys(_0x23bcb9,_0x4ac501),{skillKeys:_0xfe08a3}=_0x52d4c8;_0x3ec657[_0x4ac501]=_0xfe08a3,Object['assign'](_0x21af86,_0x52d4c8['metadata'+_0x57ea3a(0x12e)+'ey']),_0xfe08a3[_0x57ea3a(0x12f)]>0x0&&(_0x40192a['push'](_0x23bcb9),_0x33be1d[_0x4ac501]=_0x23bcb9);}return{'extraDirs':_0x40192a,'extraDirByAgent':_0x33be1d,'agentAllowlist':_0x3ec657,'metadataBySkillKey':_0x21af86};}export async function syncBundledAgentSkillsToConfig({agentIds:_0x1a3203,resolveSkillsDir:_0x14d7fa,readConfig:_0x760753,writeConfig:_0x67c363,markConfigWriteHandledInternally:_0xeb2ee6}){const _0x1ecd91=_0x346d,_0x3ba8af=await discoverBundledAgentSkills(_0x1a3203,_0x14d7fa);if(_0x1a3203[_0x1ecd91(0x12f)]===0x0)return{'discovery':_0x3ba8af,'changed':![]};const _0x20de4d=await _0x760753();let _0x3bfcf5=![];const _0x43c673=asRecord(_0x20de4d[_0x1ecd91(0x127)]),_0x3f1c01=asRecord(_0x43c673[_0x1ecd91(0x120)]),_0x30920a=asStringArray(_0x3f1c01[_0x1ecd91(0x140)+'s']),_0x218bb9=dedupeStrings([..._0x30920a,..._0x3ba8af[_0x1ecd91(0x140)+'s']]);JSON[_0x1ecd91(0x12d)+'y'](_0x30920a)!==JSON['stringif'+'y'](_0x218bb9)&&(_0x3f1c01[_0x1ecd91(0x140)+'s']=_0x218bb9,_0x43c673[_0x1ecd91(0x120)]=_0x3f1c01,_0x20de4d[_0x1ecd91(0x127)]=_0x43c673,_0x3bfcf5=!![]);const _0x30b220=asRecord(_0x20de4d[_0x1ecd91(0x14d)]),_0x425fa0=Array[_0x1ecd91(0x123)](_0x30b220[_0x1ecd91(0x150)])?_0x30b220[_0x1ecd91(0x150)]:[];if(_0x425fa0[_0x1ecd91(0x12f)]>0x0){const _0x1212b9=_0x425fa0[_0x1ecd91(0x135)](_0x202f82=>_0x202f82&&typeof _0x202f82===_0x1ecd91(0x11f)?{..._0x202f82}:_0x202f82);let _0x36cdeb=![];for(const [_0x4596e7,_0x20a8c2]of Object['entries'](_0x3ba8af[_0x1ecd91(0x130)+_0x1ecd91(0x133)])){if(_0x4596e7==='main')continue;const _0x340aa1=_0x1212b9[_0x1ecd91(0x146)](_0x4ced69=>asRecord(_0x4ced69)['id']===_0x4596e7);if(!_0x340aa1)continue;const _0xa89baf=Array['isArray'](_0x340aa1[_0x1ecd91(0x127)])?_0x340aa1['skills']:null;(!_0xa89baf||JSON[_0x1ecd91(0x12d)+'y'](_0xa89baf)!==JSON[_0x1ecd91(0x12d)+'y'](_0x20a8c2))&&(_0x340aa1[_0x1ecd91(0x127)]=_0x20a8c2,_0x36cdeb=!![]);}_0x36cdeb&&(_0x30b220[_0x1ecd91(0x150)]=_0x1212b9,_0x20de4d[_0x1ecd91(0x14d)]=_0x30b220,_0x3bfcf5=!![]);}return _0x3bfcf5&&(_0xeb2ee6?.(),await _0x67c363(_0x20de4d)),{'discovery':_0x3ba8af,'changed':_0x3bfcf5};}function applyBundledSkillMetadata(_0xe67aba,_0xc7f0fa){const _0x26a1a7=_0x346d,_0x7ae1f8=asRecord(asRecord(_0xc7f0fa)[_0x26a1a7(0x13a)+_0x26a1a7(0x12e)+'ey']);if(Object['keys'](_0x7ae1f8)[_0x26a1a7(0x12f)]===0x0)return _0xe67aba;return _0xe67aba['map'](_0x573b66=>{const _0x3a5521=_0x26a1a7,_0x4886f0=asRecord(_0x573b66),_0x3718c3=getTrimmedString(_0x4886f0[_0x3a5521(0x141)])||getTrimmedString(_0x4886f0['name']),_0xc84ba1=asRecord(_0x7ae1f8[_0x3718c3]);if(Object['keys'](_0xc84ba1)[_0x3a5521(0x12f)]===0x0)return _0x573b66;return{..._0x4886f0,...getTrimmedString(_0x4886f0[_0x3a5521(0x138)])?{}:{'cnName':getTrimmedString(_0xc84ba1['cnName'])||null},...getTrimmedString(_0x4886f0['cnDescri'+_0x3a5521(0x132)])?{}:{'cnDescription':getTrimmedString(_0xc84ba1['cnDescri'+_0x3a5521(0x132)])||null}};});}export function filterSkillsForAgent(_0x3e1665,_0x10eb01,_0x104e50='',_0x320147=null){const _0x86d8eb=_0x346d,_0x1bb9bb=Array[_0x86d8eb(0x123)](asRecord(_0x3e1665)[_0x86d8eb(0x127)])?asRecord(_0x3e1665)[_0x86d8eb(0x127)]:[],_0x46bc28=getTrimmedString(_0x104e50)||_0x86d8eb(0x134),_0x36b1c6=Array[_0x86d8eb(0x123)](asRecord(asRecord(_0x10eb01)[_0x86d8eb(0x14d)])[_0x86d8eb(0x150)])?asRecord(asRecord(_0x10eb01)[_0x86d8eb(0x14d)])[_0x86d8eb(0x150)]:[],_0x2612ba=_0x36b1c6[_0x86d8eb(0x135)](asRecord)[_0x86d8eb(0x146)](_0x287ca0=>getTrimmedString(_0x287ca0['id'])===_0x46bc28),_0x5a06f9=_0x2612ba&&Array[_0x86d8eb(0x123)](_0x2612ba[_0x86d8eb(0x127)])?new Set(asStringArray(_0x2612ba[_0x86d8eb(0x127)])):null,_0xd81e0c=applyBundledSkillMetadata(_0x1bb9bb,_0x320147);if(!_0x5a06f9)return{...asRecord(_0x3e1665),'skills':_0xd81e0c};return{...asRecord(_0x3e1665),'skills':_0xd81e0c['filter'](_0x406a8d=>_0x5a06f9[_0x86d8eb(0x128)](getTrimmedString(asRecord(_0x406a8d)[_0x86d8eb(0x121)])))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x4945e3,_0x58c791){const _0x34f0a5=_0x51e5,_0x638a96=_0x4945e3();while(!![]){try{const _0x4bbe4c=-parseInt(_0x34f0a5(0xb6))/0x1*(parseInt(_0x34f0a5(0xe0))/0x2)+-parseInt(_0x34f0a5(0xb8))/0x3+parseInt(_0x34f0a5(0xd3))/0x4*(-parseInt(_0x34f0a5(0xcc))/0x5)+-parseInt(_0x34f0a5(0xcd))/0x6+-parseInt(_0x34f0a5(0xb2))/0x7+parseInt(_0x34f0a5(0xd6))/0x8+-parseInt(_0x34f0a5(0xc2))/0x9*(-parseInt(_0x34f0a5(0xe6))/0xa);if(_0x4bbe4c===_0x58c791)break;else _0x638a96['push'](_0x638a96['shift']());}catch(_0x5ac6f9){_0x638a96['push'](_0x638a96['shift']());}}}(_0x34fe,0x7e91c));function _0x34fe(){const _0x5e6dc3=['parse','2731666cOKofx','main','length','t\x20\x22','543nmUWgl','version','2302536gRRbPB','[wujie-s','relPath','cnName','aths','icon','pped\x20uns','utf8','find','led\x20to\x20s','6444fFtGfz','workspac','nts]\x20ski','function','nts]\x20fai','mcpServe','readme.j','error','agentId','capabili','53495vMJSbz','1318110NsNnyb','isArray','name','startsWi','gedPath:','filter','244FjMfuJ','isDirect','son','6543224LobUwt','emoji','led\x20agen','managedP','all','includes','afe\x20mana','cOnDev','toolDoma','avatar','3750FhtIiC','forceSyn','trim','map','absPath','agents','38390uOMijc'];_0x34fe=function(){return _0x5e6dc3;};return _0x34fe();}import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm}from'node:fs/promises';import{dirname,join,resolve,sep}from'node:path';import{asRecord,asStringArray,getTrimmedString,readJson}from'../common/utils.mjs';function toOptionalString(_0x304ea9){const _0x1f77c3=getTrimmedString(_0x304ea9);return _0x1f77c3||undefined;}export async function loadBundledAgents(_0x5b1479){const _0x34eeb8=_0x51e5;let _0x2bca03=[];try{_0x2bca03=await readdir(_0x5b1479,{'withFileTypes':!![],'encoding':_0x34eeb8(0xbf)});}catch{return[];}const _0x328d1d=await Promise[_0x34eeb8(0xda)](_0x2bca03[_0x34eeb8(0xd2)](_0x2186fc=>_0x2186fc[_0x34eeb8(0xd4)+'ory']())['map'](async _0x5b9ce3=>{const _0x4bb4da=_0x34eeb8,_0x46ce3c=_0x5b9ce3[_0x4bb4da(0xcf)][_0x4bb4da(0xe2)]();if(!_0x46ce3c)return null;const _0x32ae6b=await readJson(join(_0x5b1479,_0x46ce3c,'readme.j'+_0x4bb4da(0xd5)),{}),_0x36dd5b=asRecord(_0x32ae6b),_0xd3f086=toOptionalString(_0x36dd5b[_0x4bb4da(0xcf)])??_0x46ce3c;if(!_0xd3f086)return null;return{'name':_0xd3f086,'cnName':toOptionalString(_0x36dd5b[_0x4bb4da(0xbb)]),'avatar':toOptionalString(_0x36dd5b[_0x4bb4da(0xdf)]),'icon':toOptionalString(_0x36dd5b[_0x4bb4da(0xbd)]),'emoji':toOptionalString(_0x36dd5b[_0x4bb4da(0xd7)]),'model':toOptionalString(_0x36dd5b['model']),'version':toOptionalString(_0x36dd5b[_0x4bb4da(0xb7)]),'capabilityDomains':asStringArray(_0x36dd5b[_0x4bb4da(0xcb)+'tyDomain'+'s']??_0x36dd5b[_0x4bb4da(0xde)+'ins']),'managedPaths':asStringArray(_0x36dd5b[_0x4bb4da(0xd9)+_0x4bb4da(0xbc)]??_0x36dd5b['deletabl'+'ePaths']),'toolsDeny':asStringArray(_0x36dd5b['toolsDen'+'y']),'mcpServers':asRecord(_0x36dd5b[_0x4bb4da(0xc7)+'rs']),'forceSyncOnDev':typeof _0x36dd5b[_0x4bb4da(0xe1)+_0x4bb4da(0xdd)]==='boolean'?_0x36dd5b[_0x4bb4da(0xe1)+_0x4bb4da(0xdd)]:undefined};}));return _0x328d1d['filter'](Boolean);}export function shouldForceFullSync(_0x4b6aa1,_0x11445d){return _0x4b6aa1===!![]&&!_0x11445d;}function _0x51e5(_0x14abf4,_0x5bdfd9){_0x14abf4=_0x14abf4-0xb1;const _0x34fedd=_0x34fe();let _0x51e599=_0x34fedd[_0x14abf4];return _0x51e599;}async function readJsonVersion(_0xa994c9){const _0x1702b1=_0x51e5;try{const _0x53cce1=JSON[_0x1702b1(0xb1)](await readFile(_0xa994c9,_0x1702b1(0xbf)));return getTrimmedString(asRecord(_0x53cce1)[_0x1702b1(0xb7)])||null;}catch{return null;}}function assertSafeManagedPath(_0x186263,_0x326cbb){const _0x1dd108=_0x51e5,_0x471ebf=getTrimmedString(_0x326cbb);if(!_0x471ebf||_0x471ebf[_0x1dd108(0xd0)+'th']('/')||_0x471ebf[_0x1dd108(0xdb)]('..'))return null;const _0x92f271=resolve(_0x186263),_0x5017df=resolve(join(_0x186263,_0x471ebf));if(_0x5017df!==_0x92f271&&!_0x5017df['startsWi'+'th'](_0x92f271+sep))return null;return{'relPath':_0x471ebf,'absPath':_0x5017df};}async function copyManagedPaths(_0xc605ba,_0x51ef73,_0x40b3fe){const _0x538328=_0x51e5;if(_0x40b3fe[_0x538328(0xb4)]===0x0){await cp(_0xc605ba,_0x51ef73,{'recursive':!![]});return;}for(const _0x410f03 of _0x40b3fe){const _0x149595=assertSafeManagedPath(_0x51ef73,_0x410f03);if(!_0x149595){console['warn'](_0x538328(0xb9)+'hell:age'+_0x538328(0xc4)+_0x538328(0xbe)+_0x538328(0xdc)+_0x538328(0xd1)+'\x20'+_0x410f03);continue;}const _0xe7ea88=join(_0xc605ba,_0x149595[_0x538328(0xba)]);if(!existsSync(_0xe7ea88)){await rm(_0x149595['absPath'],{'recursive':!![],'force':!![]});continue;}await rm(_0x149595[_0x538328(0xe4)],{'recursive':!![],'force':!![]}),await mkdir(dirname(_0x149595[_0x538328(0xe4)]),{'recursive':!![]}),await cp(_0xe7ea88,_0x149595['absPath'],{'recursive':!![]});}}export async function ensureBundledAgents({runtimeBundledAgentsDir:_0xc44874,stateDir:_0x533fad,isPackaged:isPackaged=![],listAgents:_0x47cfdc,createAgent:_0x3e263e,updateAgent:_0x1897af,syncSkills:_0x198922,syncConfig:_0x4280a3,shouldContinue:_0x1c0836}){const _0x2640d2=_0x51e5;let _0x5e8d1a=![];const _0x52cfff=typeof _0x1c0836===_0x2640d2(0xc5)?_0x1c0836:()=>!![],_0x1f05d9=await _0x47cfdc();if(!_0x52cfff())return{'didUpdate':_0x5e8d1a,'bundledAgents':[]};const _0x450d73=Array[_0x2640d2(0xce)](_0x1f05d9[_0x2640d2(0xe5)])?_0x1f05d9[_0x2640d2(0xe5)]:[],_0x2c2d0a=_0x450d73[_0x2640d2(0xc0)](_0x201729=>_0x201729?.['id']===_0x2640d2(0xb3)),_0x2decf0=getTrimmedString(_0x2c2d0a?.[_0x2640d2(0xc3)+'e'])||join(_0x533fad,_0x2640d2(0xc3)+'e'),_0x3113b3=await loadBundledAgents(_0xc44874);for(const _0x24d26e of _0x3113b3){if(!_0x52cfff())break;const {name:_0x4b7001,cnName:_0x3fce9e,avatar:_0xaa6d8d,emoji:_0x398731,version:_0x98acd4,managedPaths:_0x3065bc}=_0x24d26e,_0x4231ca=_0x4b7001===_0x2640d2(0xb3),_0x9b0a53=_0x4231ca?_0x2decf0:join(dirname(_0x2decf0),'workspac'+'e-'+_0x4b7001),_0x245ad1=join(_0xc44874,_0x4b7001);if(!existsSync(_0x245ad1))continue;try{const _0x3c191a=_0x4231ca||_0x450d73['some'](_0x34b9f7=>_0x34b9f7?.['id']===_0x4b7001);if(_0x3c191a){const _0x120b0d=await readJsonVersion(join(_0x9b0a53,_0x2640d2(0xc8)+_0x2640d2(0xd5))),_0x15480d=shouldForceFullSync(_0x24d26e[_0x2640d2(0xe1)+_0x2640d2(0xdd)],isPackaged);if(_0x98acd4&&_0x120b0d&&_0x98acd4===_0x120b0d&&!_0x15480d)continue;_0x15480d?(await rm(_0x9b0a53,{'recursive':!![],'force':!![]}),await mkdir(_0x9b0a53,{'recursive':!![]}),await cp(_0x245ad1,_0x9b0a53,{'recursive':!![]})):(await mkdir(_0x9b0a53,{'recursive':!![]}),await copyManagedPaths(_0x245ad1,_0x9b0a53,_0x3065bc));}else await rm(_0x9b0a53,{'recursive':!![],'force':!![]}),await mkdir(_0x9b0a53,{'recursive':!![]}),await cp(_0x245ad1,_0x9b0a53,{'recursive':!![]});_0x5e8d1a=!![];if(_0x4231ca)continue;if(_0x3c191a){const _0x42aada={'agentId':_0x4b7001,'workspace':_0x9b0a53};if(_0x3fce9e)_0x42aada[_0x2640d2(0xcf)]=_0x3fce9e;if(_0xaa6d8d)_0x42aada['avatar']=_0xaa6d8d;if(_0x398731)_0x42aada[_0x2640d2(0xd7)]=_0x398731;if(!_0x52cfff())break;await _0x1897af(_0x42aada);}else{const _0x532e86={'name':_0x4b7001,'workspace':_0x9b0a53};if(_0xaa6d8d)_0x532e86['avatar']=_0xaa6d8d;if(_0x398731)_0x532e86[_0x2640d2(0xd7)]=_0x398731;if(!_0x52cfff())break;const _0x5899c2=asRecord(await _0x3e263e(_0x532e86));if(_0x3fce9e){if(!_0x52cfff())break;await _0x1897af({'agentId':getTrimmedString(_0x5899c2[_0x2640d2(0xca)])||_0x4b7001,'name':_0x3fce9e});}}}catch(_0x863bdc){console[_0x2640d2(0xc9)](_0x2640d2(0xb9)+'hell:age'+_0x2640d2(0xc6)+_0x2640d2(0xc1)+'ync\x20bund'+_0x2640d2(0xd8)+_0x2640d2(0xb5)+_0x4b7001+'\x22',_0x863bdc);}}return _0x52cfff()&&await _0x198922?.({'agentIds':_0x3113b3[_0x2640d2(0xe3)](_0x1c186c=>_0x1c186c[_0x2640d2(0xcf)]),'mainWorkspace':_0x2decf0}),_0x52cfff()&&await _0x4280a3?.({'bundledAgents':_0x3113b3}),{'didUpdate':_0x5e8d1a,'bundledAgents':_0x3113b3};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1440a2,_0x182991){const _0x2aa904=_0x3318,_0x2e7687=_0x1440a2();while(!![]){try{const _0x1e4100=parseInt(_0x2aa904(0x209))/0x1+parseInt(_0x2aa904(0x1f7))/0x2*(parseInt(_0x2aa904(0x212))/0x3)+-parseInt(_0x2aa904(0x1f9))/0x4+-parseInt(_0x2aa904(0x208))/0x5+-parseInt(_0x2aa904(0x204))/0x6*(parseInt(_0x2aa904(0x20b))/0x7)+parseInt(_0x2aa904(0x20e))/0x8+parseInt(_0x2aa904(0x1fc))/0x9;if(_0x1e4100===_0x182991)break;else _0x2e7687['push'](_0x2e7687['shift']());}catch(_0x4a411b){_0x2e7687['push'](_0x2e7687['shift']());}}}(_0x5e8b,0x349fe));import{createHash}from'node:crypto';import{copyFile,lstat,mkdir,readFile}from'node:fs/promises';import{join,parse,resolve,sep}from'node:path';function sanitizeSessionKey(_0x3d6f73){const _0x2f4490=_0x3318,_0xbb3013=String(_0x3d6f73??'')['trim']()[_0x2f4490(0x1fd)](/[^A-Za-z0-9._-]+/g,'_')[_0x2f4490(0x1fd)](/^_+|_+$/g,'')[_0x2f4490(0x1f2)](0x0,0x78);return _0xbb3013||'session';}function _0x5e8b(){const _0x19b721=['208528ZnzgFb','issing:\x20','chat\x20att','failed\x20f','9EGeabB','t\x20find\x20a','sha256','slice','chat-att','digest','skipped\x20','ot\x20for:\x20','261822KDkygp','achment\x20','1590040sajXMn','\x20source:','hex','5811165ixzRjv','replace','size','icLink','archive\x20','isFile','source\x20m','media','16614ctSGfo','could\x20no','achments','non-file','1753540ZwuvEh','140187HOjGZv','isSymbol','609nEUPlC','or\x20','\x20free\x20sl'];_0x5e8b=function(){return _0x19b721;};return _0x5e8b();}function _0x3318(_0x1cb98c,_0xd68111){_0x1cb98c=_0x1cb98c-0x1f2;const _0x5e8b29=_0x5e8b();let _0x331836=_0x5e8b29[_0x1cb98c];return _0x331836;}function isPathInsideDir(_0x589033,_0x17f5d5){const _0x1f1582=resolve(_0x589033),_0x233cf9=resolve(_0x17f5d5);return _0x1f1582===_0x233cf9||_0x1f1582['startsWi'+'th'](_0x233cf9+sep);}async function hashFile(_0x1e2c91){const _0x10ae88=_0x3318;return createHash(_0x10ae88(0x214))['update'](await readFile(_0x1e2c91))[_0x10ae88(0x1f4)](_0x10ae88(0x1fb));}export function getArchivedChatMediaDir(_0x336284,_0x16b343){const _0xf55fb1=_0x3318;return join(_0x336284,_0xf55fb1(0x203),_0xf55fb1(0x1f3)+_0xf55fb1(0x206),sanitizeSessionKey(_0x16b343));}export async function archiveChatAttachmentForHistory({mediaPath:_0x5e6b57,stateDir:_0x5f4aba,sessionKey:_0x2b59df,onWarn:_0x18a020}){const _0x392a54=_0x3318,_0x5a5f33=getArchivedChatMediaDir(_0x5f4aba,_0x2b59df),{base:_0x2806bf,name:_0x263eaa,ext:_0xf56a2b}=parse(_0x5e6b57);if(!_0x2806bf||_0x2806bf==='.'||_0x2806bf==='..')return _0x5e6b57;let _0x3c336a;try{_0x3c336a=await lstat(_0x5e6b57);}catch{return _0x18a020?.(_0x392a54(0x210)+_0x392a54(0x1f8)+_0x392a54(0x202)+_0x392a54(0x20f)+_0x5e6b57),_0x5e6b57;}if(!_0x3c336a[_0x392a54(0x201)]()||_0x3c336a[_0x392a54(0x20a)+_0x392a54(0x1ff)]())return _0x18a020?.('chat\x20att'+_0x392a54(0x1f8)+_0x392a54(0x1f5)+_0x392a54(0x207)+_0x392a54(0x1fa)+'\x20'+_0x5e6b57),_0x5e6b57;for(let _0x4a8914=0x0;_0x4a8914<=0x3e7;_0x4a8914+=0x1){const _0x50664c=_0x4a8914===0x0?_0x2806bf:_0x263eaa+'_'+_0x4a8914+_0xf56a2b,_0x26d0ec=join(_0x5a5f33,_0x50664c);if(!isPathInsideDir(_0x26d0ec,_0x5a5f33))break;let _0x574921;try{_0x574921=await lstat(_0x26d0ec);}catch{try{return await mkdir(_0x5a5f33,{'recursive':!![]}),await copyFile(_0x5e6b57,_0x26d0ec),_0x26d0ec;}catch(_0x103ef4){return _0x18a020?.(_0x392a54(0x210)+_0x392a54(0x1f8)+_0x392a54(0x200)+_0x392a54(0x211)+_0x392a54(0x20c)+_0x5e6b57+':\x20'+(_0x103ef4 instanceof Error?_0x103ef4['message']:String(_0x103ef4))),_0x5e6b57;}}if(!_0x574921[_0x392a54(0x201)]()||_0x574921['isSymbol'+_0x392a54(0x1ff)]())continue;if(_0x574921['size']===_0x3c336a[_0x392a54(0x1fe)]&&await hashFile(_0x26d0ec)===await hashFile(_0x5e6b57))return _0x26d0ec;}return _0x18a020?.(_0x392a54(0x210)+_0x392a54(0x1f8)+_0x392a54(0x200)+_0x392a54(0x205)+_0x392a54(0x213)+_0x392a54(0x20d)+_0x392a54(0x1f6)+_0x5e6b57),_0x5e6b57;}
|
package/dist/src/chat/queue.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x16fa0f,_0x529d5c){const _0x114c5d=_0x23a7,_0x588173=_0x16fa0f();while(!![]){try{const _0x3078ae=parseInt(_0x114c5d(0xd6))/0x1+parseInt(_0x114c5d(0xd9))/0x2+-parseInt(_0x114c5d(0xd0))/0x3*(parseInt(_0x114c5d(0xd8))/0x4)+parseInt(_0x114c5d(0xd2))/0x5+parseInt(_0x114c5d(0xcd))/0x6*(-parseInt(_0x114c5d(0xd1))/0x7)+-parseInt(_0x114c5d(0xda))/0x8*(-parseInt(_0x114c5d(0xd7))/0x9)+-parseInt(_0x114c5d(0xd3))/0xa;if(_0x3078ae===_0x529d5c)break;else _0x588173['push'](_0x588173['shift']());}catch(_0x59c9dd){_0x588173['push'](_0x588173['shift']());}}}(_0x5b34,0x3cd9c));function _0x23a7(_0x23ce6d,_0x13fd02){_0x23ce6d=_0x23ce6d-0xcd;const _0x5b34cc=_0x5b34();let _0x23a753=_0x5b34cc[_0x23ce6d];return _0x23a753;}export function createGatewayChatQueue(){const _0x1f0559=new Map();return{'enqueue'(_0x3887f9){const _0xb9f9c4=_0x23a7,_0x3077fd=_0x1f0559[_0xb9f9c4(0xcf)](_0x3887f9[_0xb9f9c4(0xd5)+'ey'])??null;return _0x1f0559[_0xb9f9c4(0xd4)](_0x3887f9['sessionK'+'ey'],_0x3887f9),_0x3077fd;},'remove'(_0x15b839){const _0x206710=_0x23a7;_0x1f0559['get'](_0x15b839['sessionK'+'ey'])===_0x15b839&&_0x1f0559[_0x206710(0xce)](_0x15b839['sessionK'+'ey']);},'clear'(){_0x1f0559['clear']();}};}function _0x5b34(){const _0x9cd65=['sessionK','444847SfMyYN','1976229agzlkR','4aPxHDf','556846BWFmTk','8XVzpZv','44586SOEOvP','delete','get','505902iiWzxy','49odQzOY','659710KcYUIa','6048980fxrQtB','set'];_0x5b34=function(){return _0x9cd65;};return _0x5b34();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5c4a91,_0x24ab56){const _0x556409=_0xb646,_0x8b5460=_0x5c4a91();while(!![]){try{const _0x44178a=parseInt(_0x556409(0x1a7))/0x1+-parseInt(_0x556409(0x187))/0x2+parseInt(_0x556409(0x16e))/0x3+parseInt(_0x556409(0x168))/0x4*(-parseInt(_0x556409(0x1aa))/0x5)+parseInt(_0x556409(0x190))/0x6+-parseInt(_0x556409(0x180))/0x7*(parseInt(_0x556409(0x167))/0x8)+parseInt(_0x556409(0x16f))/0x9;if(_0x44178a===_0x24ab56)break;else _0x8b5460['push'](_0x8b5460['shift']());}catch(_0x27099f){_0x8b5460['push'](_0x8b5460['shift']());}}}(_0x4cc8,0xf3f86));import{createHash}from'node:crypto';import{existsSync}from'node:fs';import{appendFile,mkdir,readFile,writeFile}from'node:fs/promises';import{basename,dirname,join,relative}from'node:path';function _0xb646(_0xdd7cc8,_0xf0b97f){_0xdd7cc8=_0xdd7cc8-0x161;const _0x4cc8dc=_0x4cc8();let _0xb6461d=_0x4cc8dc[_0xdd7cc8];return _0xb6461d;}import{redactLogValue}from'@wujie-shell/logger';import{summarizeError,summarizePayload,toHomePath,truncateText}from'./logging.mjs';const MAX_RELATED_LINES=0xf0,MAX_RELATED_LINE_LENGTH=0xfa0,MAX_TIMELINE_EVENTS=0x50,INCIDENT_BUCKET_MS=0xea60;function pad(_0x4a0aeb,_0x20e40f=0x2){return String(_0x4a0aeb)['padStart'](_0x20e40f,'0');}function formatIncidentTime(_0x49666a){const _0x548378=_0xb646,_0x580de2=new Date(Number['isFinite'](_0x49666a)?_0x49666a:Date[_0x548378(0x1ae)]());return''+_0x580de2[_0x548378(0x172)+_0x548378(0x19e)]()+pad(_0x580de2['getMonth']()+0x1)+pad(_0x580de2['getDate']())+'-'+(''+pad(_0x580de2[_0x548378(0x162)]())+pad(_0x580de2[_0x548378(0x19c)+'es']())+pad(_0x580de2[_0x548378(0x176)+'ds']()));}function normalizeSlug(_0x1321f7,_0x13dd87='event'){const _0x396295=_0xb646;return String(_0x1321f7||_0x13dd87)[_0x396295(0x19a)]()['toLowerC'+_0x396295(0x196)]()[_0x396295(0x1b2)](/[^a-z0-9._-]+/g,'-')[_0x396295(0x1b2)](/^-+|-+$/g,'')[_0x396295(0x1a5)](0x0,0x50)||_0x13dd87;}function hashValue(_0x2e5a43){const _0x21aed3=_0xb646;return createHash(_0x21aed3(0x195))['update'](JSON[_0x21aed3(0x1a9)+'y'](_0x2e5a43??''))['digest']('hex')[_0x21aed3(0x1a5)](0x0,0xc);}function safeJsonStringify(_0x203ee7){const _0x181e36=_0xb646;return JSON[_0x181e36(0x1a9)+'y'](redactLogValue(_0x203ee7));}function normalizeLevel(_0x426e96){const _0x781a75=_0xb646,_0x390cde=String(_0x426e96||'info')[_0x781a75(0x192)+'ase']();if(_0x390cde===_0x781a75(0x161))return _0x781a75(0x18f);if(['debug','info',_0x781a75(0x18f),_0x781a75(0x16b)]['includes'](_0x390cde))return _0x390cde;return _0x781a75(0x1af);}function normalizeDiagnosticEvent(_0x4b64d4={}){const _0x2ba9f8=_0xb646,_0x343930=_0x4b64d4&&typeof _0x4b64d4===_0x2ba9f8(0x173)?_0x4b64d4:{},_0x13756a=Number[_0x2ba9f8(0x1b0)](_0x343930['ts'])?_0x343930['ts']:Date[_0x2ba9f8(0x1ae)](),_0x1e3d09=normalizeSlug(_0x343930[_0x2ba9f8(0x19d)]||_0x2ba9f8(0x16c),_0x2ba9f8(0x16c)),_0x3c39b4=normalizeSlug(_0x343930[_0x2ba9f8(0x16a)]||_0x343930['type']||_0x2ba9f8(0x16a),_0x2ba9f8(0x16a)),_0x5d3972=String(_0x343930[_0x2ba9f8(0x1ad)]||_0x3c39b4),_0x5b1931=_0x343930[_0x2ba9f8(0x1b3)]&&typeof _0x343930[_0x2ba9f8(0x1b3)]===_0x2ba9f8(0x173)?_0x343930[_0x2ba9f8(0x1b3)]:undefined;return{'ts':_0x13756a,'level':normalizeLevel(_0x343930[_0x2ba9f8(0x197)]),'category':_0x1e3d09,'event':_0x3c39b4,'message':_0x5d3972,'sessionId':typeof _0x343930['sessionI'+'d']===_0x2ba9f8(0x18e)?_0x343930[_0x2ba9f8(0x164)+'d']:undefined,'runId':typeof _0x343930[_0x2ba9f8(0x194)]===_0x2ba9f8(0x18e)?_0x343930[_0x2ba9f8(0x194)]:undefined,'parentRunId':typeof _0x343930[_0x2ba9f8(0x177)+_0x2ba9f8(0x1a6)]==='string'?_0x343930[_0x2ba9f8(0x177)+_0x2ba9f8(0x1a6)]:undefined,'agentId':typeof _0x343930[_0x2ba9f8(0x184)]===_0x2ba9f8(0x18e)?_0x343930[_0x2ba9f8(0x184)]:undefined,'teamId':typeof _0x343930['teamId']==='string'?_0x343930['teamId']:undefined,'durationMs':Number[_0x2ba9f8(0x1b0)](_0x343930[_0x2ba9f8(0x193)+'Ms'])?_0x343930[_0x2ba9f8(0x193)+'Ms']:undefined,'meta':_0x5b1931?summarizePayload(_0x5b1931,{'maxDepth':0x5,'textPreviewLength':0x1f4}):undefined,'globalFields':_0x343930['globalFi'+'elds']&&typeof _0x343930[_0x2ba9f8(0x199)+_0x2ba9f8(0x18c)]===_0x2ba9f8(0x173)?summarizePayload(_0x343930[_0x2ba9f8(0x199)+_0x2ba9f8(0x18c)],{'maxDepth':0x3,'textPreviewLength':0xc8}):undefined};}export function createIncidentId(_0x48096e){const _0x453db9=_0xb646,_0xa216bd=_0x48096e['runId']||_0x48096e[_0x453db9(0x164)+'d']||_0x48096e[_0x453db9(0x19d)]+':'+_0x48096e[_0x453db9(0x16a)]+':'+Math[_0x453db9(0x1b1)](_0x48096e['ts']/INCIDENT_BUCKET_MS)+':'+hashValue({'message':_0x48096e[_0x453db9(0x1ad)],'meta':_0x48096e[_0x453db9(0x1b3)]}),_0x1d7750=normalizeSlug(_0xa216bd,hashValue(_0xa216bd))[_0x453db9(0x1a5)](0x0,0x60);return formatIncidentTime(_0x48096e['ts'])+'-'+_0x48096e[_0x453db9(0x19d)]+'-'+_0x48096e[_0x453db9(0x16a)]+'-'+_0x1d7750;}function _0x4cc8(){const _0x160024=['error','runtime','incident','405696sAdZkr','6113529QMFESs','gateway.','files.lo','getFullY','object','line','files','getSecon','parentRu','split','join','main.log','length','.jsonl','ics/even','filter','runtime.','63DLYOxj','business','ts.jsonl','json','agentId','diagnost','gateway','2735812OufbIp','renderer','ipc.log','min','utf8','elds','ics/inci','string','warn','11322072mIjYXl','manifest','toLowerC','duration','runId','sha256','ase','level','.log','globalFi','trim','events.j','getMinut','category','ear','some','ncident','push','log','captureI','related.','slice','nId','1371884meGhPV','ipc','stringif','37225XcmUNm','dents','file','message','now','info','isFinite','floor','replace','meta','warning','getHours','sonl','sessionI','abs','shift','894552RlpltB','376WOQBfY','map','event'];_0x4cc8=function(){return _0x160024;};return _0x4cc8();}async function ensureManifest(_0x25f0bd,_0x634c8b={}){const _0x492616=_0xb646,_0x196a42=join(_0x25f0bd,_0x492616(0x191)+'.json');if(existsSync(_0x196a42))return;await mkdir(dirname(_0x196a42),{'recursive':!![]}),await writeFile(_0x196a42,JSON['stringif'+'y']({'schemaVersion':0x1,'index':_0x492616(0x185)+_0x492616(0x17d)+_0x492616(0x182),'incidentsDir':_0x492616(0x185)+_0x492616(0x18d)+_0x492616(0x1ab),'generatedAt':Date['now'](),'app':_0x634c8b},null,0x2)+'\x0a',_0x492616(0x18b));}function getLogFilesForContext(_0x1a93ab){const _0x499e98=_0xb646;return[join(_0x1a93ab,'main',_0x499e98(0x17a)),join(_0x1a93ab,_0x499e98(0x188),_0x499e98(0x188)+_0x499e98(0x198)),join(_0x1a93ab,_0x499e98(0x1a8),_0x499e98(0x189)),join(_0x1a93ab,_0x499e98(0x186),_0x499e98(0x170)+_0x499e98(0x1a2)),join(_0x1a93ab,_0x499e98(0x16c),_0x499e98(0x17f)+'log'),join(_0x1a93ab,_0x499e98(0x181),_0x499e98(0x181)+_0x499e98(0x198)),join(_0x1a93ab,_0x499e98(0x175),_0x499e98(0x171)+'g')];}async function readRelatedLogLines(_0x3a4604,_0x3c89c3){const _0x584aad=_0xb646,_0x5330b2=[_0x3c89c3['runId'],_0x3c89c3[_0x584aad(0x164)+'d'],_0x3c89c3['agentId'],_0x3c89c3[_0x584aad(0x16a)],_0x3c89c3[_0x584aad(0x1ad)]]['filter'](_0x43997a=>typeof _0x43997a==='string'&&_0x43997a['trim']())['map'](_0xc97be2=>_0xc97be2['trim']()),_0x547c43=[];for(const _0x20f999 of getLogFilesForContext(_0x3a4604)){if(!existsSync(_0x20f999))continue;try{const _0x164332=(await readFile(_0x20f999,_0x584aad(0x18b)))[_0x584aad(0x178)](/\r?\n/)['filter'](Boolean),_0x17bda2=_0x5330b2['length']?_0x164332[_0x584aad(0x17e)](_0x2dbe66=>_0x5330b2[_0x584aad(0x19f)](_0x2ed550=>_0x2dbe66['includes'](_0x2ed550))):[],_0x342cae=_0x17bda2['length']?_0x17bda2[_0x584aad(0x1a5)](-MAX_RELATED_LINES):_0x164332[_0x584aad(0x1a5)](-Math[_0x584aad(0x18a)](MAX_RELATED_LINES,0x50));for(const _0x19ea38 of _0x342cae){_0x547c43['push']({'file':relative(_0x3a4604,_0x20f999),'line':truncateText(_0x19ea38,MAX_RELATED_LINE_LENGTH)});}}catch{}}return _0x547c43[_0x584aad(0x1a5)](-MAX_RELATED_LINES);}async function appendJsonLine(_0x22f2a3,_0x1c46d4){await mkdir(dirname(_0x22f2a3),{'recursive':!![]}),await appendFile(_0x22f2a3,safeJsonStringify(_0x1c46d4)+'\x0a','utf8');}export function createDiagnosticsWriter({logsDir:_0x4e6788,appContext:appContext={}}={}){const _0x82fa94=_0xb646,_0x484b63=_0x4e6788?join(_0x4e6788,_0x82fa94(0x185)+'ics'):'',_0x3f81bc=[];async function _0x4baa78(_0x3a5e93,_0x21aa62={}){const _0x37cfc9=_0x82fa94;if(!_0x484b63)return null;const _0x2ff094=normalizeDiagnosticEvent(_0x3a5e93),_0x2e48db=_0x21aa62[_0x37cfc9(0x1a3)+_0x37cfc9(0x1a0)]===!![]||_0x2ff094[_0x37cfc9(0x197)]==='error',_0x3a0fcb=_0x2e48db?_0x21aa62[_0x37cfc9(0x16d)+'Id']||createIncidentId(_0x2ff094):undefined,_0x2c80ab={..._0x2ff094,'incidentId':_0x3a0fcb};await ensureManifest(_0x484b63,appContext),await appendJsonLine(join(_0x484b63,_0x37cfc9(0x19b)+_0x37cfc9(0x163)),_0x2c80ab),_0x3f81bc[_0x37cfc9(0x1a1)](_0x2c80ab);if(_0x3f81bc[_0x37cfc9(0x17b)]>MAX_TIMELINE_EVENTS)_0x3f81bc[_0x37cfc9(0x166)]();if(_0x3a0fcb)await _0x38b877(_0x2c80ab,{'incidentId':_0x3a0fcb});return _0x2c80ab;}async function _0x38b877(_0x2635d6,{incidentId:incidentId=_0x2635d6['incident'+'Id']}={}){const _0x2cb3a=_0x82fa94;if(!_0x484b63||!incidentId)return null;const _0x54b390=join(_0x484b63,_0x2cb3a(0x16d)+'s',normalizeSlug(incidentId,hashValue(incidentId)));await mkdir(_0x54b390,{'recursive':!![]});const _0xa3d897=await readRelatedLogLines(_0x4e6788,_0x2635d6),_0x2fcdd8={'schemaVersion':0x1,'incidentId':incidentId,'capturedAt':Date['now'](),'app':appContext,'event':{'category':_0x2635d6['category'],'event':_0x2635d6['event'],'level':_0x2635d6[_0x2cb3a(0x197)],'message':_0x2635d6['message'],'ts':_0x2635d6['ts'],'sessionId':_0x2635d6['sessionI'+'d'],'runId':_0x2635d6[_0x2cb3a(0x194)],'agentId':_0x2635d6['agentId']},'relatedLogFiles':[...new Set(_0xa3d897[_0x2cb3a(0x169)](_0x114c12=>_0x114c12[_0x2cb3a(0x1ac)]))],'logsDir':toHomePath(_0x4e6788)};return await writeFile(join(_0x54b390,'event.js'+'on'),safeJsonStringify(_0x2635d6)+'\x0a',_0x2cb3a(0x18b)),await writeFile(join(_0x54b390,'context.'+_0x2cb3a(0x183)),JSON[_0x2cb3a(0x1a9)+'y'](_0x2fcdd8,null,0x2)+'\x0a',_0x2cb3a(0x18b)),await writeFile(join(_0x54b390,'timeline'+_0x2cb3a(0x17c)),_0x3f81bc[_0x2cb3a(0x17e)](_0x478fd7=>{const _0x519f37=_0x2cb3a;if(_0x478fd7[_0x519f37(0x16d)+'Id']===incidentId)return!![];if(_0x2635d6['runId']&&_0x478fd7['runId']===_0x2635d6['runId'])return!![];if(_0x2635d6[_0x519f37(0x164)+'d']&&_0x478fd7[_0x519f37(0x164)+'d']===_0x2635d6['sessionI'+'d'])return!![];return Math[_0x519f37(0x165)](_0x478fd7['ts']-_0x2635d6['ts'])<=INCIDENT_BUCKET_MS;})[_0x2cb3a(0x169)](_0x22fbaa=>safeJsonStringify(_0x22fbaa))[_0x2cb3a(0x179)]('\x0a')+'\x0a',_0x2cb3a(0x18b)),await writeFile(join(_0x54b390,_0x2cb3a(0x1a4)+_0x2cb3a(0x1a2)),_0xa3d897[_0x2cb3a(0x169)](_0x4d516f=>'['+_0x4d516f[_0x2cb3a(0x1ac)]+']\x20'+_0x4d516f[_0x2cb3a(0x174)])[_0x2cb3a(0x179)]('\x0a')+(_0xa3d897[_0x2cb3a(0x17b)]?'\x0a':''),_0x2cb3a(0x18b)),{'incidentId':incidentId,'path':_0x54b390};}return{'writeEvent':_0x4baa78,'captureIncident':(_0x25853c,_0x326444={})=>_0x4baa78(_0x25853c,{..._0x326444,'captureIncident':!![]})};}export function diagnosticEventFromError(_0x3d60e7,_0x495cd2={}){const _0x5c8224=_0xb646;return{'level':'error','category':_0x495cd2['category']||_0x5c8224(0x16c),'event':_0x495cd2[_0x5c8224(0x16a)]||_0x5c8224(0x16b),'message':_0x495cd2[_0x5c8224(0x1ad)]||(_0x3d60e7 instanceof Error?_0x3d60e7[_0x5c8224(0x1ad)]:String(_0x3d60e7||_0x5c8224(0x16b))),'sessionId':_0x495cd2[_0x5c8224(0x164)+'d'],'runId':_0x495cd2[_0x5c8224(0x194)],'agentId':_0x495cd2[_0x5c8224(0x184)],'durationMs':_0x495cd2[_0x5c8224(0x193)+'Ms'],'meta':{..._0x495cd2[_0x5c8224(0x1b3)]&&typeof _0x495cd2[_0x5c8224(0x1b3)]===_0x5c8224(0x173)?_0x495cd2[_0x5c8224(0x1b3)]:{},'error':summarizeError(_0x3d60e7)}};}
|
|
1
|
+
const _0x318aa6=_0x4207;(function(_0x554b0e,_0x4804c1){const _0x42ac75=_0x4207,_0x1fc61d=_0x554b0e();while(!![]){try{const _0x5ed270=parseInt(_0x42ac75(0xb5))/0x1*(-parseInt(_0x42ac75(0xc1))/0x2)+-parseInt(_0x42ac75(0x89))/0x3+parseInt(_0x42ac75(0xa4))/0x4*(-parseInt(_0x42ac75(0xa5))/0x5)+parseInt(_0x42ac75(0xa3))/0x6*(parseInt(_0x42ac75(0xb0))/0x7)+-parseInt(_0x42ac75(0xc0))/0x8*(parseInt(_0x42ac75(0x83))/0x9)+parseInt(_0x42ac75(0xc8))/0xa*(parseInt(_0x42ac75(0x9e))/0xb)+parseInt(_0x42ac75(0x85))/0xc;if(_0x5ed270===_0x4804c1)break;else _0x1fc61d['push'](_0x1fc61d['shift']());}catch(_0x287c07){_0x1fc61d['push'](_0x1fc61d['shift']());}}}(_0x5ee6,0x2cd98));import{createHash}from'node:crypto';import{existsSync}from'node:fs';import{appendFile,mkdir,readFile,writeFile}from'node:fs/promises';import{basename,dirname,join,relative}from'node:path';import{redactLogValue}from'@wujie-shell/logger';function _0x5ee6(){const _0x12279e=['sha256','getFullY','stringif','incident','runtime','toLowerC','some','context.','digest','8pLSHoZ','644918LOcJHI','ncident','split','agentId','map','trim','events.j','745110dhxNve','main.log','.jsonl','renderer','event','getHours','ipc','info','ics/inci','duration','replace','warning','dents','sessionI','string','category','min','runtime.','1319751glbAxY','teamId','11123232pouEvZ','event.js','parentRu','file','859428XEDqjE','ipc.log','elds','message','isFinite','globalFi','main','business','runId','now','related.','filter','level','line','ics/even','shift','floor','diagnost','.log','nId','getDate','22JTasOm','error','gateway','includes','manifest','972juKdbS','12FUGffo','583390fBfEAd','abs','object','padStart','sonl','getSecon','meta','.json','warn','log','utf8','9219UOStHE','push','slice','files.lo','length','1lbBbHs','join'];_0x5ee6=function(){return _0x12279e;};return _0x5ee6();}import{summarizeError,summarizePayload,toHomePath,truncateText}from'./logging.mjs';const MAX_RELATED_LINES=0xf0,MAX_RELATED_LINE_LENGTH=0xfa0,MAX_TIMELINE_EVENTS=0x50,INCIDENT_BUCKET_MS=0xea60;function pad(_0x299f50,_0x5da879=0x2){const _0x2ad2b1=_0x4207;return String(_0x299f50)[_0x2ad2b1(0xa8)](_0x5da879,'0');}function formatIncidentTime(_0x5ddf00){const _0x42d2fd=_0x4207,_0x1c1614=new Date(Number[_0x42d2fd(0x8d)](_0x5ddf00)?_0x5ddf00:Date[_0x42d2fd(0x92)]());return''+_0x1c1614[_0x42d2fd(0xb8)+'ear']()+pad(_0x1c1614['getMonth']()+0x1)+pad(_0x1c1614[_0x42d2fd(0x9d)]())+'-'+(''+pad(_0x1c1614[_0x42d2fd(0xcd)]())+pad(_0x1c1614['getMinut'+'es']())+pad(_0x1c1614[_0x42d2fd(0xaa)+'ds']()));}function normalizeSlug(_0x2d90a5,_0x30512c=_0x318aa6(0xcc)){const _0x360539=_0x318aa6;return String(_0x2d90a5||_0x30512c)['trim']()[_0x360539(0xbc)+'ase']()[_0x360539(0xd2)](/[^a-z0-9._-]+/g,'-')[_0x360539(0xd2)](/^-+|-+$/g,'')[_0x360539(0xb2)](0x0,0x50)||_0x30512c;}function hashValue(_0x312261){const _0x4f4226=_0x318aa6;return createHash(_0x4f4226(0xb7))['update'](JSON['stringif'+'y'](_0x312261??''))[_0x4f4226(0xbf)]('hex')['slice'](0x0,0xc);}function safeJsonStringify(_0x24b779){const _0xf5b607=_0x318aa6;return JSON[_0xf5b607(0xb9)+'y'](redactLogValue(_0x24b779));}function normalizeLevel(_0x29b549){const _0x4f8b59=_0x318aa6,_0x4060ff=String(_0x29b549||_0x4f8b59(0xcf))[_0x4f8b59(0xbc)+'ase']();if(_0x4060ff===_0x4f8b59(0xd3))return _0x4f8b59(0xad);if(['debug',_0x4f8b59(0xcf),_0x4f8b59(0xad),_0x4f8b59(0x9f)][_0x4f8b59(0xa1)](_0x4060ff))return _0x4060ff;return _0x4f8b59(0xcf);}function normalizeDiagnosticEvent(_0x5384fa={}){const _0x58a62c=_0x318aa6,_0x28bcf8=_0x5384fa&&typeof _0x5384fa===_0x58a62c(0xa7)?_0x5384fa:{},_0x1db9e7=Number[_0x58a62c(0x8d)](_0x28bcf8['ts'])?_0x28bcf8['ts']:Date['now'](),_0x2c5d5b=normalizeSlug(_0x28bcf8[_0x58a62c(0x80)]||'runtime',_0x58a62c(0xbb)),_0x5275ee=normalizeSlug(_0x28bcf8[_0x58a62c(0xcc)]||_0x28bcf8['type']||_0x58a62c(0xcc),_0x58a62c(0xcc)),_0x16fe9f=String(_0x28bcf8['message']||_0x5275ee),_0x515492=_0x28bcf8[_0x58a62c(0xab)]&&typeof _0x28bcf8['meta']===_0x58a62c(0xa7)?_0x28bcf8['meta']:undefined;return{'ts':_0x1db9e7,'level':normalizeLevel(_0x28bcf8[_0x58a62c(0x95)]),'category':_0x2c5d5b,'event':_0x5275ee,'message':_0x16fe9f,'sessionId':typeof _0x28bcf8['sessionI'+'d']===_0x58a62c(0x7f)?_0x28bcf8[_0x58a62c(0xd5)+'d']:undefined,'runId':typeof _0x28bcf8[_0x58a62c(0x91)]===_0x58a62c(0x7f)?_0x28bcf8[_0x58a62c(0x91)]:undefined,'parentRunId':typeof _0x28bcf8[_0x58a62c(0x87)+'nId']==='string'?_0x28bcf8[_0x58a62c(0x87)+_0x58a62c(0x9c)]:undefined,'agentId':typeof _0x28bcf8[_0x58a62c(0xc4)]===_0x58a62c(0x7f)?_0x28bcf8[_0x58a62c(0xc4)]:undefined,'teamId':typeof _0x28bcf8[_0x58a62c(0x84)]===_0x58a62c(0x7f)?_0x28bcf8[_0x58a62c(0x84)]:undefined,'durationMs':Number['isFinite'](_0x28bcf8['duration'+'Ms'])?_0x28bcf8[_0x58a62c(0xd1)+'Ms']:undefined,'meta':_0x515492?summarizePayload(_0x515492,{'maxDepth':0x5,'textPreviewLength':0x1f4}):undefined,'globalFields':_0x28bcf8[_0x58a62c(0x8e)+_0x58a62c(0x8b)]&&typeof _0x28bcf8['globalFi'+_0x58a62c(0x8b)]===_0x58a62c(0xa7)?summarizePayload(_0x28bcf8['globalFi'+_0x58a62c(0x8b)],{'maxDepth':0x3,'textPreviewLength':0xc8}):undefined};}export function createIncidentId(_0xc6408a){const _0x231e09=_0x318aa6,_0x21cfa6=_0xc6408a[_0x231e09(0x91)]||_0xc6408a[_0x231e09(0xd5)+'d']||_0xc6408a[_0x231e09(0x80)]+':'+_0xc6408a[_0x231e09(0xcc)]+':'+Math[_0x231e09(0x99)](_0xc6408a['ts']/INCIDENT_BUCKET_MS)+':'+hashValue({'message':_0xc6408a['message'],'meta':_0xc6408a[_0x231e09(0xab)]}),_0x53e57c=normalizeSlug(_0x21cfa6,hashValue(_0x21cfa6))[_0x231e09(0xb2)](0x0,0x60);return formatIncidentTime(_0xc6408a['ts'])+'-'+_0xc6408a[_0x231e09(0x80)]+'-'+_0xc6408a[_0x231e09(0xcc)]+'-'+_0x53e57c;}function _0x4207(_0x9b73dd,_0x3e82b5){_0x9b73dd=_0x9b73dd-0x7f;const _0x5ee63e=_0x5ee6();let _0x4207fb=_0x5ee63e[_0x9b73dd];return _0x4207fb;}async function ensureManifest(_0x25056b,_0x55d3b6={}){const _0x13c231=_0x318aa6,_0xe7e8ad=join(_0x25056b,_0x13c231(0xa2)+_0x13c231(0xac));if(existsSync(_0xe7e8ad))return;await mkdir(dirname(_0xe7e8ad),{'recursive':!![]}),await writeFile(_0xe7e8ad,JSON[_0x13c231(0xb9)+'y']({'schemaVersion':0x1,'index':_0x13c231(0x9a)+_0x13c231(0x97)+'ts.jsonl','incidentsDir':'diagnost'+_0x13c231(0xd0)+_0x13c231(0xd4),'generatedAt':Date[_0x13c231(0x92)](),'app':_0x55d3b6},null,0x2)+'\x0a',_0x13c231(0xaf));}function getLogFilesForContext(_0x434caf){const _0x3512d7=_0x318aa6;return[join(_0x434caf,_0x3512d7(0x8f),_0x3512d7(0xc9)),join(_0x434caf,_0x3512d7(0xcb),_0x3512d7(0xcb)+_0x3512d7(0x9b)),join(_0x434caf,_0x3512d7(0xce),_0x3512d7(0x8a)),join(_0x434caf,_0x3512d7(0xa0),'gateway.'+_0x3512d7(0xae)),join(_0x434caf,_0x3512d7(0xbb),_0x3512d7(0x82)+_0x3512d7(0xae)),join(_0x434caf,_0x3512d7(0x90),_0x3512d7(0x90)+_0x3512d7(0x9b)),join(_0x434caf,'files',_0x3512d7(0xb3)+'g')];}async function readRelatedLogLines(_0x6793e0,_0x118748){const _0x33a541=_0x318aa6,_0x4ec9cf=[_0x118748[_0x33a541(0x91)],_0x118748[_0x33a541(0xd5)+'d'],_0x118748['agentId'],_0x118748[_0x33a541(0xcc)],_0x118748[_0x33a541(0x8c)]]['filter'](_0x54ed2e=>typeof _0x54ed2e==='string'&&_0x54ed2e['trim']())[_0x33a541(0xc5)](_0x55762c=>_0x55762c[_0x33a541(0xc6)]()),_0xd96f78=[];for(const _0x51f672 of getLogFilesForContext(_0x6793e0)){if(!existsSync(_0x51f672))continue;try{const _0x321c77=(await readFile(_0x51f672,_0x33a541(0xaf)))[_0x33a541(0xc3)](/\r?\n/)[_0x33a541(0x94)](Boolean),_0x4563b9=_0x4ec9cf['length']?_0x321c77[_0x33a541(0x94)](_0x26453f=>_0x4ec9cf[_0x33a541(0xbd)](_0x452381=>_0x26453f['includes'](_0x452381))):[],_0xe9a8a4=_0x4563b9[_0x33a541(0xb4)]?_0x4563b9[_0x33a541(0xb2)](-MAX_RELATED_LINES):_0x321c77[_0x33a541(0xb2)](-Math[_0x33a541(0x81)](MAX_RELATED_LINES,0x50));for(const _0x58e32b of _0xe9a8a4){_0xd96f78['push']({'file':relative(_0x6793e0,_0x51f672),'line':truncateText(_0x58e32b,MAX_RELATED_LINE_LENGTH)});}}catch{}}return _0xd96f78[_0x33a541(0xb2)](-MAX_RELATED_LINES);}async function appendJsonLine(_0x3cf3e3,_0x5f44b0){const _0x2d458d=_0x318aa6;await mkdir(dirname(_0x3cf3e3),{'recursive':!![]}),await appendFile(_0x3cf3e3,safeJsonStringify(_0x5f44b0)+'\x0a',_0x2d458d(0xaf));}export function createDiagnosticsWriter({logsDir:_0x4d836a,appContext:appContext={}}={}){const _0x414f06=_0x4d836a?join(_0x4d836a,'diagnost'+'ics'):'',_0x326913=[];async function _0x56c7c4(_0x168efe,_0x249869={}){const _0x10cc36=_0x4207;if(!_0x414f06)return null;const _0x1d2d92=normalizeDiagnosticEvent(_0x168efe),_0xb5254c=_0x249869['captureI'+_0x10cc36(0xc2)]===!![]||_0x1d2d92['level']===_0x10cc36(0x9f),_0x21691d=_0xb5254c?_0x249869['incident'+'Id']||createIncidentId(_0x1d2d92):undefined,_0x249bdb={..._0x1d2d92,'incidentId':_0x21691d};await ensureManifest(_0x414f06,appContext),await appendJsonLine(join(_0x414f06,_0x10cc36(0xc7)+_0x10cc36(0xa9)),_0x249bdb),_0x326913[_0x10cc36(0xb1)](_0x249bdb);if(_0x326913[_0x10cc36(0xb4)]>MAX_TIMELINE_EVENTS)_0x326913[_0x10cc36(0x98)]();if(_0x21691d)await _0xb8337(_0x249bdb,{'incidentId':_0x21691d});return _0x249bdb;}async function _0xb8337(_0x523d26,{incidentId:incidentId=_0x523d26['incident'+'Id']}={}){const _0x17c025=_0x4207;if(!_0x414f06||!incidentId)return null;const _0x2d709e=join(_0x414f06,_0x17c025(0xba)+'s',normalizeSlug(incidentId,hashValue(incidentId)));await mkdir(_0x2d709e,{'recursive':!![]});const _0x352b9a=await readRelatedLogLines(_0x4d836a,_0x523d26),_0x5854af={'schemaVersion':0x1,'incidentId':incidentId,'capturedAt':Date[_0x17c025(0x92)](),'app':appContext,'event':{'category':_0x523d26[_0x17c025(0x80)],'event':_0x523d26[_0x17c025(0xcc)],'level':_0x523d26['level'],'message':_0x523d26[_0x17c025(0x8c)],'ts':_0x523d26['ts'],'sessionId':_0x523d26[_0x17c025(0xd5)+'d'],'runId':_0x523d26[_0x17c025(0x91)],'agentId':_0x523d26['agentId']},'relatedLogFiles':[...new Set(_0x352b9a['map'](_0x2fd62e=>_0x2fd62e['file']))],'logsDir':toHomePath(_0x4d836a)};return await writeFile(join(_0x2d709e,_0x17c025(0x86)+'on'),safeJsonStringify(_0x523d26)+'\x0a','utf8'),await writeFile(join(_0x2d709e,_0x17c025(0xbe)+'json'),JSON[_0x17c025(0xb9)+'y'](_0x5854af,null,0x2)+'\x0a',_0x17c025(0xaf)),await writeFile(join(_0x2d709e,'timeline'+_0x17c025(0xca)),_0x326913[_0x17c025(0x94)](_0x3f4f3e=>{const _0x1abcbc=_0x17c025;if(_0x3f4f3e[_0x1abcbc(0xba)+'Id']===incidentId)return!![];if(_0x523d26[_0x1abcbc(0x91)]&&_0x3f4f3e[_0x1abcbc(0x91)]===_0x523d26[_0x1abcbc(0x91)])return!![];if(_0x523d26['sessionI'+'d']&&_0x3f4f3e['sessionI'+'d']===_0x523d26[_0x1abcbc(0xd5)+'d'])return!![];return Math[_0x1abcbc(0xa6)](_0x3f4f3e['ts']-_0x523d26['ts'])<=INCIDENT_BUCKET_MS;})[_0x17c025(0xc5)](_0x10fa0d=>safeJsonStringify(_0x10fa0d))[_0x17c025(0xb6)]('\x0a')+'\x0a',_0x17c025(0xaf)),await writeFile(join(_0x2d709e,_0x17c025(0x93)+_0x17c025(0xae)),_0x352b9a[_0x17c025(0xc5)](_0x53a0ac=>'['+_0x53a0ac[_0x17c025(0x88)]+']\x20'+_0x53a0ac[_0x17c025(0x96)])[_0x17c025(0xb6)]('\x0a')+(_0x352b9a[_0x17c025(0xb4)]?'\x0a':''),_0x17c025(0xaf)),{'incidentId':incidentId,'path':_0x2d709e};}return{'writeEvent':_0x56c7c4,'captureIncident':(_0x3d6d8d,_0x26ce69={})=>_0x56c7c4(_0x3d6d8d,{..._0x26ce69,'captureIncident':!![]})};}export function diagnosticEventFromError(_0x3c378a,_0x5c00e1={}){const _0x2229bb=_0x318aa6;return{'level':'error','category':_0x5c00e1[_0x2229bb(0x80)]||_0x2229bb(0xbb),'event':_0x5c00e1[_0x2229bb(0xcc)]||_0x2229bb(0x9f),'message':_0x5c00e1[_0x2229bb(0x8c)]||(_0x3c378a instanceof Error?_0x3c378a[_0x2229bb(0x8c)]:String(_0x3c378a||_0x2229bb(0x9f))),'sessionId':_0x5c00e1[_0x2229bb(0xd5)+'d'],'runId':_0x5c00e1[_0x2229bb(0x91)],'agentId':_0x5c00e1[_0x2229bb(0xc4)],'durationMs':_0x5c00e1[_0x2229bb(0xd1)+'Ms'],'meta':{..._0x5c00e1['meta']&&typeof _0x5c00e1[_0x2229bb(0xab)]===_0x2229bb(0xa7)?_0x5c00e1[_0x2229bb(0xab)]:{},'error':summarizeError(_0x3c378a)}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3612ae,_0x365c6a){const _0xcfd91e=_0x3567,_0x2fdf86=_0x3612ae();while(!![]){try{const _0x1fd76e=parseInt(_0xcfd91e(0x8f))/0x1+-parseInt(_0xcfd91e(0x96))/0x2+-parseInt(_0xcfd91e(0x88))/0x3+parseInt(_0xcfd91e(0x8b))/0x4+-parseInt(_0xcfd91e(0x8d))/0x5+-parseInt(_0xcfd91e(0xcc))/0x6*(parseInt(_0xcfd91e(0x9b))/0x7)+parseInt(_0xcfd91e(0x7c))/0x8;if(_0x1fd76e===_0x365c6a)break;else _0x2fdf86['push'](_0x2fdf86['shift']());}catch(_0x57860f){_0x2fdf86['push'](_0x2fdf86['shift']());}}}(_0x2526,0xd77c1));function _0x2526(){const _0x5c3122=['get','sPrefere','Compress','Thumbs.d','logsDir','trim','stack','textPrev','Object','test','length','index','isFile','data','replace','stderr','update','string','has','wujie-sh','split','\x20-Force','toString','diagnost','no\x20valid','digest','iewLengt','732cgYfEL','close','-Encoded','base','hex','479664daUMah','powershe','.DS_Stor','set','platform','/staging','with\x20cod','filter','from','/tmp/','logs\x20dir','isArray','1499412uoaAZR','tinue\x27;','slice','5316312RXIjbW','isDirect','2529270uSKRnz','ectory\x20n','1159137PDAboE','message','sha256','pipe','.jsonl','\x20-Path\x20','-NoProfi','186888tDxyUO','pid','ing','ell-logs','zip','32501HSpsoC','catch','replaceA','map','ory','name','startsWi','endsWith','es\x20found','includes','[Circula','\x20failed\x20','\x20log\x20fil','join','base64','$Progres','maxDepth','.zip','groups','/.cache/','.log','some'];_0x2526=function(){return _0x5c3122;};return _0x2526();}import{createHash}from'node:crypto';import{spawn}from'node:child_process';import{existsSync}from'node:fs';import{copyFile,mkdir,readdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0,LOG_FILE_RE=/^(?<base>.+?)(?:\.(?<index>\d+))?\.log$/,LEGACY_LOG_FILE_RE=/^.+\.log\.(?<index>\d+)$/;export function createShellLogger(_0x287541,_0x135545,_0x310133=_0x135545){const _0x23d203=_0x3567,_0x426e85=_0x287541?.[_0x23d203(0xb5)];if(!_0x426e85||!_0x135545)return null;const _0x1f1ef5=join(_0x426e85,_0x135545,_0x135545+_0x23d203(0xaf)),_0x46190e=_0x1f1ef5+':'+_0x310133;return!loggers[_0x23d203(0xc3)](_0x46190e)&&loggers[_0x23d203(0x7f)](_0x46190e,createFileLogger({'filePath':_0x1f1ef5,'context':_0x310133,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x23d203(0xb1)](_0x46190e);}export function toHomePath(_0x1e1d61){const _0x39d74f=_0x3567,_0x501af6=typeof _0x1e1d61===_0x39d74f(0xc2)?_0x1e1d61:'';if(!_0x501af6)return'';const _0x199cdc=homedir(),_0x2f869b=isAbsolute(_0x501af6)?_0x501af6:resolve(_0x501af6),_0x4b01e1=relative(_0x199cdc,_0x2f869b);if(!_0x4b01e1||!_0x4b01e1[_0x39d74f(0xa1)+'th']('..')&&!isAbsolute(_0x4b01e1))return _0x4b01e1?'~/'+_0x4b01e1:'~';return _0x2f869b;}export function hashText(_0x215a63){const _0x270766=_0x3567;return createHash(_0x270766(0x91))[_0x270766(0xc1)](String(_0x215a63))[_0x270766(0xca)](_0x270766(0xd0))[_0x270766(0x8a)](0x0,0x10);}export function truncateText(_0x3db558,_0x1e5288=CONTENT_PREVIEW_LENGTH){const _0x448e6e=_0x3567,_0x5c4003=String(_0x3db558??'')[_0x448e6e(0xbf)](/\s+/g,'\x20')[_0x448e6e(0xb6)]();if(_0x5c4003[_0x448e6e(0xbb)]<=_0x1e5288)return _0x5c4003;return _0x5c4003['slice'](0x0,_0x1e5288)+'...';}export function summarizeText(_0x21f579,_0x562e26=CONTENT_PREVIEW_LENGTH){const _0x5501ee=_0x3567,_0x1530ed=String(_0x21f579??'');return{'length':_0x1530ed['length'],'hash':hashText(_0x1530ed),'preview':truncateText(_0x1530ed,_0x562e26),'truncated':_0x1530ed[_0x5501ee(0xbb)]>_0x562e26};}export function summarizeError(_0x4c6adc){const _0x8a2a95=_0x3567;if(_0x4c6adc instanceof Error)return{'name':_0x4c6adc[_0x8a2a95(0xa0)],'message':_0x4c6adc[_0x8a2a95(0x90)],'stack':_0x4c6adc[_0x8a2a95(0xb7)]};return{'message':String(_0x4c6adc)};}function summarizePathValue(_0x72d6fc){const _0x41e2d8=_0x3567;if(typeof _0x72d6fc!=='string')return _0x72d6fc;if(_0x72d6fc[_0x41e2d8(0xa4)]('/')||_0x72d6fc['includes']('\x5c'))return toHomePath(_0x72d6fc);return _0x72d6fc;}export function summarizePayload(_0x47a503,_0xc8d0fa={}){const _0x317c97=_0x3567,_0x1f30dc=_0xc8d0fa[_0x317c97(0xab)]??0x4,_0x4877c7=new WeakSet();function _0x2aa61d(_0xe4564d,_0x6d086b,_0x53c834=''){const _0x477e2c=_0x317c97;if(_0xe4564d==null)return _0xe4564d;if(typeof _0xe4564d===_0x477e2c(0xc2)){if(/message|content|prompt|text|body/i[_0x477e2c(0xba)](_0x53c834))return summarizeText(_0xe4564d,_0xc8d0fa[_0x477e2c(0xb8)+_0x477e2c(0xcb)+'h']);return summarizePathValue(_0xe4564d);}if(typeof _0xe4564d!=='object')return _0xe4564d;if(_0xe4564d instanceof Error)return summarizeError(_0xe4564d);if(_0x4877c7[_0x477e2c(0xc3)](_0xe4564d))return _0x477e2c(0xa5)+'r]';if(_0x6d086b>=_0x1f30dc)return'['+(Array[_0x477e2c(0x87)](_0xe4564d)?'Array':_0x477e2c(0xb9))+']';_0x4877c7['add'](_0xe4564d);if(Array[_0x477e2c(0x87)](_0xe4564d))return{'type':'array','length':_0xe4564d[_0x477e2c(0xbb)],'items':_0xe4564d[_0x477e2c(0x8a)](0x0,0x5)[_0x477e2c(0x9e)](_0x1d53ab=>_0x2aa61d(_0x1d53ab,_0x6d086b+0x1,_0x53c834)),'truncated':_0xe4564d['length']>0x5};const _0x16247a={};for(const [_0x1b3166,_0x37b2fe]of Object['entries'](_0xe4564d)){_0x16247a[_0x1b3166]=_0x2aa61d(_0x37b2fe,_0x6d086b+0x1,_0x1b3166);}return redactLogValue(_0x16247a);}return _0x2aa61d(_0x47a503,0x0);}export function summarizeFilePaths(_0x4f7028=[]){const _0x333d68=_0x3567;return(Array['isArray'](_0x4f7028)?_0x4f7028:[])[_0x333d68(0x9e)](_0x11ac3f=>String(_0x11ac3f||'')[_0x333d68(0xb6)]())[_0x333d68(0x83)](Boolean)['map'](_0x48dad8=>({'path':toHomePath(_0x48dad8),'name':basename(_0x48dad8)}));}function run(_0x3edb3f,_0x419d41,_0x56b62e={}){return new Promise((_0x104991,_0xa07bac)=>{const _0x17de2e=_0x3567,_0x2e88ea=spawn(_0x3edb3f,_0x419d41,{'cwd':_0x56b62e['cwd'],'env':{...process.env,..._0x56b62e['env']??{}},'stdio':['ignore',_0x17de2e(0x92),_0x17de2e(0x92)]});let _0x3eb29f='';_0x2e88ea[_0x17de2e(0xc0)]?.['on'](_0x17de2e(0xbe),_0x8e2431=>{const _0x1e122e=_0x17de2e;_0x3eb29f+=_0x8e2431[_0x1e122e(0xc7)]();}),_0x2e88ea['on']('error',_0xa07bac),_0x2e88ea['on'](_0x17de2e(0xcd),_0x157654=>{const _0x2ac7b4=_0x17de2e;if(_0x157654===0x0){_0x104991();return;}_0xa07bac(new Error(_0x3edb3f+(_0x2ac7b4(0xa6)+_0x2ac7b4(0x82)+'e=')+_0x157654+':\x20'+_0x3eb29f));});});}function isMetadataJunk(_0x2bdc01){const _0x5e772d=_0x3567;return _0x2bdc01===_0x5e772d(0x7e)+'e'||_0x2bdc01===_0x5e772d(0xb4)+'b';}function shouldIncludeRotatingLog(_0x163c96){const _0x317c61=_0x3567;if(LEGACY_LOG_FILE_RE['test'](_0x163c96))return![];const _0x29e3d6=LOG_FILE_RE['exec'](_0x163c96);if(!_0x29e3d6)return![];if(_0x29e3d6['groups'][_0x317c61(0xbc)])return![];return!/^\d+$/[_0x317c61(0xba)](_0x29e3d6[_0x317c61(0xad)][_0x317c61(0xcf)]);}function _0x3567(_0x4ca23e,_0x5a5471){_0x4ca23e=_0x4ca23e-0x7c;const _0x252656=_0x2526();let _0x356724=_0x252656[_0x4ca23e];return _0x356724;}export function shouldIncludeLogArchiveEntry(_0x235958){const _0x3fa39f=_0x3567,_0x4d86e7=String(_0x235958||'')[_0x3fa39f(0x9d)+'ll']('\x5c','/');if(!_0x4d86e7||_0x4d86e7[_0x3fa39f(0xc5)]('/')[_0x3fa39f(0xb0)](isMetadataJunk))return![];if(_0x4d86e7[_0x3fa39f(0xa4)]('/node_mo'+'dules/')||_0x4d86e7[_0x3fa39f(0xa4)](_0x3fa39f(0xae)))return![];if(_0x4d86e7[_0x3fa39f(0xa4)](_0x3fa39f(0x81)+'/')||_0x4d86e7[_0x3fa39f(0xa4)](_0x3fa39f(0x85)))return![];const _0x3e768d=_0x4d86e7['split']('/'),_0x45b13a=_0x3e768d['at'](-0x1)||'';if(!_0x45b13a)return![];if(_0x3e768d[0x0]===_0x3fa39f(0xc8)+'ics'){if(_0x45b13a[_0x3fa39f(0xa2)]('.json')||_0x45b13a[_0x3fa39f(0xa2)](_0x3fa39f(0x93))||_0x45b13a[_0x3fa39f(0xa2)](_0x3fa39f(0xaf)))return!![];return![];}return shouldIncludeRotatingLog(_0x45b13a);}async function copyAllowedLogs(_0xf12049,_0x51f8c,_0x4f48a2=_0xf12049){const _0x384999=_0x3567;let _0x339b38=0x0;const _0x5898f8=await readdir(_0x4f48a2,{'withFileTypes':!![]})[_0x384999(0x9c)](()=>[]);for(const _0x4effa1 of _0x5898f8){if(isMetadataJunk(_0x4effa1[_0x384999(0xa0)]))continue;const _0x47560b=join(_0x4f48a2,_0x4effa1[_0x384999(0xa0)]),_0x5591e6=relative(_0xf12049,_0x47560b);if(_0x4effa1[_0x384999(0x8c)+_0x384999(0x9f)]()){_0x339b38+=await copyAllowedLogs(_0xf12049,_0x51f8c,_0x47560b);continue;}if(!_0x4effa1[_0x384999(0xbd)]()||!shouldIncludeLogArchiveEntry(_0x5591e6))continue;const _0x19674c=join(_0x51f8c,_0x5591e6);try{await mkdir(dirname(_0x19674c),{'recursive':!![]}),await copyFile(_0x47560b,_0x19674c),_0x339b38+=0x1;}catch{}}return _0x339b38;}export async function exportLogsArchive({logsDir:_0x57957d,targetDir:_0x499fd8,appVersion:appVersion='dev'}){const _0x84bbbf=_0x3567;if(!_0x57957d||!existsSync(_0x57957d))throw new Error(_0x84bbbf(0x86)+_0x84bbbf(0x8e)+'ot\x20found'+':\x20'+(_0x57957d||''));const _0x365918=String(appVersion||'dev')[_0x84bbbf(0xbf)](/[^A-Za-z0-9._-]/g,'_'),_0x120ee1=new Date()['toISOStr'+_0x84bbbf(0x98)]()[_0x84bbbf(0xbf)](/[-:]/g,'')[_0x84bbbf(0xbf)](/\..+$/,''),_0x378065=_0x499fd8||tmpdir();await mkdir(_0x378065,{'recursive':!![]});const _0x2543db=join(_0x378065,_0x84bbbf(0xc4)+_0x84bbbf(0x99)+'-'+_0x120ee1+'-'+_0x365918+_0x84bbbf(0xac)),_0x459dae=join(tmpdir(),_0x84bbbf(0xc4)+_0x84bbbf(0x99)+'-'+process[_0x84bbbf(0x97)]+'-'+Date['now']());await rm(_0x459dae,{'recursive':!![],'force':!![]}),await mkdir(_0x459dae,{'recursive':!![]});try{const _0x407b82=await copyAllowedLogs(_0x57957d,_0x459dae);if(_0x407b82===0x0)throw new Error(_0x84bbbf(0xc9)+_0x84bbbf(0xa7)+_0x84bbbf(0xa3)+':\x20'+_0x57957d);if(process[_0x84bbbf(0x80)]==='win32'){const _0x5df7dd=[_0x84bbbf(0xaa)+_0x84bbbf(0xb2)+'nce=\x27Sil'+'entlyCon'+_0x84bbbf(0x89),_0x84bbbf(0xb3)+'-Archive'+_0x84bbbf(0x94)+JSON['stringif'+'y'](join(_0x459dae,'*'))+('\x20-Destin'+'ationPat'+'h\x20')+JSON['stringif'+'y'](_0x2543db)+_0x84bbbf(0xc6)][_0x84bbbf(0xa8)]('\x20'),_0x25c894=Buffer[_0x84bbbf(0x84)](_0x5df7dd,'utf16le')['toString'](_0x84bbbf(0xa9));await run(_0x84bbbf(0x7d)+'ll.exe',[_0x84bbbf(0x95)+'le',_0x84bbbf(0xce)+'Command',_0x25c894]);}else await run(_0x84bbbf(0x9a),['-r',_0x2543db,'.'],{'cwd':_0x459dae});}finally{await rm(_0x459dae,{'recursive':!![],'force':!![]})[_0x84bbbf(0x9c)](()=>{});}return{'ok':!![],'path':_0x2543db};}
|
|
1
|
+
const _0x3a11ae=_0x4d4f;(function(_0xfeb0d9,_0x3492c8){const _0x276dab=_0x4d4f,_0x25a5a7=_0xfeb0d9();while(!![]){try{const _0x2b614e=-parseInt(_0x276dab(0xf3))/0x1+-parseInt(_0x276dab(0xb8))/0x2*(-parseInt(_0x276dab(0xf4))/0x3)+-parseInt(_0x276dab(0xda))/0x4+parseInt(_0x276dab(0xbc))/0x5*(parseInt(_0x276dab(0x109))/0x6)+parseInt(_0x276dab(0xfa))/0x7*(-parseInt(_0x276dab(0x106))/0x8)+parseInt(_0x276dab(0xd0))/0x9*(parseInt(_0x276dab(0xf6))/0xa)+-parseInt(_0x276dab(0x113))/0xb*(-parseInt(_0x276dab(0xc8))/0xc);if(_0x2b614e===_0x3492c8)break;else _0x25a5a7['push'](_0x25a5a7['shift']());}catch(_0xbf11cb){_0x25a5a7['push'](_0x25a5a7['shift']());}}}(_0x9f92,0xe4b55));import{createHash}from'node:crypto';import{spawn}from'node:child_process';import{existsSync}from'node:fs';import{copyFile,mkdir,readdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0,LOG_FILE_RE=/^(?<base>.+?)(?:\.(?<index>\d+))?\.log$/,LEGACY_LOG_FILE_RE=/^.+\.log\.(?<index>\d+)$/;export function createShellLogger(_0x75ad15,_0x279537,_0x2ab8dd=_0x279537){const _0x1ee938=_0x4d4f,_0x3c9006=_0x75ad15?.[_0x1ee938(0x118)];if(!_0x3c9006||!_0x279537)return null;const _0x28d68c=join(_0x3c9006,_0x279537,_0x279537+_0x1ee938(0xc7)),_0x51ed62=_0x28d68c+':'+_0x2ab8dd;return!loggers[_0x1ee938(0xc6)](_0x51ed62)&&loggers[_0x1ee938(0xbd)](_0x51ed62,createFileLogger({'filePath':_0x28d68c,'context':_0x2ab8dd,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers['get'](_0x51ed62);}export function toHomePath(_0x37695b){const _0x188f90=_0x4d4f,_0x3e7b64=typeof _0x37695b==='string'?_0x37695b:'';if(!_0x3e7b64)return'';const _0x3639bd=homedir(),_0x1028e7=isAbsolute(_0x3e7b64)?_0x3e7b64:resolve(_0x3e7b64),_0x23c9f6=relative(_0x3639bd,_0x1028e7);if(!_0x23c9f6||!_0x23c9f6[_0x188f90(0x101)+'th']('..')&&!isAbsolute(_0x23c9f6))return _0x23c9f6?'~/'+_0x23c9f6:'~';return _0x1028e7;}export function hashText(_0x3f7130){const _0x5ed4d7=_0x4d4f;return createHash(_0x5ed4d7(0xe1))['update'](String(_0x3f7130))['digest'](_0x5ed4d7(0x100))['slice'](0x0,0x10);}export function truncateText(_0x5e4c63,_0x554120=CONTENT_PREVIEW_LENGTH){const _0x3b0656=_0x4d4f,_0x5404c7=String(_0x5e4c63??'')['replace'](/\s+/g,'\x20')[_0x3b0656(0x114)]();if(_0x5404c7[_0x3b0656(0xce)]<=_0x554120)return _0x5404c7;return _0x5404c7[_0x3b0656(0xe9)](0x0,_0x554120)+_0x3b0656(0xba);}export function summarizeText(_0x2fef9c,_0x5622d5=CONTENT_PREVIEW_LENGTH){const _0x477133=_0x4d4f,_0x444f02=String(_0x2fef9c??'');return{'length':_0x444f02[_0x477133(0xce)],'hash':hashText(_0x444f02),'preview':truncateText(_0x444f02,_0x5622d5),'truncated':_0x444f02['length']>_0x5622d5};}export function summarizeError(_0x33095e){const _0x588105=_0x4d4f;if(_0x33095e instanceof Error)return{'name':_0x33095e[_0x588105(0xc3)],'message':_0x33095e['message'],'stack':_0x33095e[_0x588105(0x108)]};return{'message':String(_0x33095e)};}function _0x9f92(){const _0x2365cc=['split','groups','.DS_Stor','base','\x20-Force','add','isFile','11hBvBcD','trim','index','test','tinue\x27;','logsDir','\x20-Destin','dev','4AaxuKz','replaceA','...','ationPat','97690jWidPT','set','.json','-NoProfi','pid','endsWith','ot\x20found','name','toISOStr','dules/','has','.log','21462468EBpDgA','\x20log\x20fil','$Progres','.jsonl','cwd','-Archive','length','/.cache/','351711RJNAQr','isArray','join','platform','Compress','map','sPrefere','with\x20cod','wujie-sh','textPrev','3451172FVtKsQ','/node_mo','catch','Object','data','ectory\x20n','from','sha256','stderr','stringif','diagnost','filter','isDirect','some','exec','slice','object','win32','toString','entlyCon','zip','error','\x20failed\x20','\x20-Path\x20','close','513995ZfiMax','981555yNbvLX','ell-logs','110KRVspv','includes','ics','ory','1760689pERcEm','/tmp/','-Encoded','.zip','[Circula','iewLengt','hex','startsWi','nce=\x27Sil','pipe','entries','string','24LldzVT','maxDepth','stack','60ZXrKAl','replace','ll.exe'];_0x9f92=function(){return _0x2365cc;};return _0x9f92();}function summarizePathValue(_0x1a226e){const _0x3ab702=_0x4d4f;if(typeof _0x1a226e!==_0x3ab702(0x105))return _0x1a226e;if(_0x1a226e[_0x3ab702(0xf7)]('/')||_0x1a226e[_0x3ab702(0xf7)]('\x5c'))return toHomePath(_0x1a226e);return _0x1a226e;}export function summarizePayload(_0x4eb06f,_0x10dc77={}){const _0x4cb9aa=_0x4d4f,_0x26a192=_0x10dc77[_0x4cb9aa(0x107)]??0x4,_0x4c727e=new WeakSet();function _0x57bf1d(_0x182185,_0xd42f92,_0xf965dd=''){const _0x2373a0=_0x4cb9aa;if(_0x182185==null)return _0x182185;if(typeof _0x182185===_0x2373a0(0x105)){if(/message|content|prompt|text|body/i[_0x2373a0(0x116)](_0xf965dd))return summarizeText(_0x182185,_0x10dc77[_0x2373a0(0xd9)+_0x2373a0(0xff)+'h']);return summarizePathValue(_0x182185);}if(typeof _0x182185!==_0x2373a0(0xea))return _0x182185;if(_0x182185 instanceof Error)return summarizeError(_0x182185);if(_0x4c727e[_0x2373a0(0xc6)](_0x182185))return _0x2373a0(0xfe)+'r]';if(_0xd42f92>=_0x26a192)return'['+(Array[_0x2373a0(0xd1)](_0x182185)?'Array':_0x2373a0(0xdd))+']';_0x4c727e[_0x2373a0(0x111)](_0x182185);if(Array[_0x2373a0(0xd1)](_0x182185))return{'type':'array','length':_0x182185[_0x2373a0(0xce)],'items':_0x182185['slice'](0x0,0x5)['map'](_0x17db6d=>_0x57bf1d(_0x17db6d,_0xd42f92+0x1,_0xf965dd)),'truncated':_0x182185[_0x2373a0(0xce)]>0x5};const _0x23bc11={};for(const [_0x27576d,_0x206d32]of Object[_0x2373a0(0x104)](_0x182185)){_0x23bc11[_0x27576d]=_0x57bf1d(_0x206d32,_0xd42f92+0x1,_0x27576d);}return redactLogValue(_0x23bc11);}return _0x57bf1d(_0x4eb06f,0x0);}export function summarizeFilePaths(_0x30b452=[]){const _0x3e3f73=_0x4d4f;return(Array[_0x3e3f73(0xd1)](_0x30b452)?_0x30b452:[])[_0x3e3f73(0xd5)](_0x16216d=>String(_0x16216d||'')[_0x3e3f73(0x114)]())[_0x3e3f73(0xe5)](Boolean)[_0x3e3f73(0xd5)](_0x493d84=>({'path':toHomePath(_0x493d84),'name':basename(_0x493d84)}));}function run(_0x26cc4b,_0x3e0cf4,_0x4a406f={}){return new Promise((_0x18b664,_0x2c33f6)=>{const _0x53f00d=_0x4d4f,_0x2e51ef=spawn(_0x26cc4b,_0x3e0cf4,{'cwd':_0x4a406f[_0x53f00d(0xcc)],'env':{...process.env,..._0x4a406f['env']??{}},'stdio':['ignore',_0x53f00d(0x103),_0x53f00d(0x103)]});let _0x4d9d67='';_0x2e51ef[_0x53f00d(0xe2)]?.['on'](_0x53f00d(0xde),_0x37f04c=>{const _0x5dd61c=_0x53f00d;_0x4d9d67+=_0x37f04c[_0x5dd61c(0xec)]();}),_0x2e51ef['on'](_0x53f00d(0xef),_0x2c33f6),_0x2e51ef['on'](_0x53f00d(0xf2),_0x4ca6b=>{const _0x2971c7=_0x53f00d;if(_0x4ca6b===0x0){_0x18b664();return;}_0x2c33f6(new Error(_0x26cc4b+(_0x2971c7(0xf0)+_0x2971c7(0xd7)+'e=')+_0x4ca6b+':\x20'+_0x4d9d67));});});}function isMetadataJunk(_0x5d45fa){const _0x3f3e9c=_0x4d4f;return _0x5d45fa===_0x3f3e9c(0x10e)+'e'||_0x5d45fa==='Thumbs.d'+'b';}function shouldIncludeRotatingLog(_0x5db7c1){const _0x34e1b1=_0x4d4f;if(LEGACY_LOG_FILE_RE['test'](_0x5db7c1))return![];const _0x2306f5=LOG_FILE_RE[_0x34e1b1(0xe8)](_0x5db7c1);if(!_0x2306f5)return![];if(_0x2306f5[_0x34e1b1(0x10d)][_0x34e1b1(0x115)])return![];return!/^\d+$/[_0x34e1b1(0x116)](_0x2306f5[_0x34e1b1(0x10d)][_0x34e1b1(0x10f)]);}export function shouldIncludeLogArchiveEntry(_0x378786){const _0x41bf71=_0x4d4f,_0x48e988=String(_0x378786||'')[_0x41bf71(0xb9)+'ll']('\x5c','/');if(!_0x48e988||_0x48e988[_0x41bf71(0x10c)]('/')[_0x41bf71(0xe7)](isMetadataJunk))return![];if(_0x48e988[_0x41bf71(0xf7)](_0x41bf71(0xdb)+_0x41bf71(0xc5))||_0x48e988['includes'](_0x41bf71(0xcf)))return![];if(_0x48e988[_0x41bf71(0xf7)]('/staging'+'/')||_0x48e988[_0x41bf71(0xf7)](_0x41bf71(0xfb)))return![];const _0x9fa318=_0x48e988[_0x41bf71(0x10c)]('/'),_0x53b37d=_0x9fa318['at'](-0x1)||'';if(!_0x53b37d)return![];if(_0x9fa318[0x0]===_0x41bf71(0xe4)+_0x41bf71(0xf8)){if(_0x53b37d[_0x41bf71(0xc1)](_0x41bf71(0xbe))||_0x53b37d[_0x41bf71(0xc1)](_0x41bf71(0xcb))||_0x53b37d[_0x41bf71(0xc1)](_0x41bf71(0xc7)))return!![];return![];}return shouldIncludeRotatingLog(_0x53b37d);}function _0x4d4f(_0x5da4b3,_0x1a0591){_0x5da4b3=_0x5da4b3-0xb8;const _0x9f9269=_0x9f92();let _0x4d4f96=_0x9f9269[_0x5da4b3];return _0x4d4f96;}async function copyAllowedLogs(_0x4aab23,_0x487785,_0x17541c=_0x4aab23){const _0xf0e7d4=_0x4d4f;let _0x3a6565=0x0;const _0x28a20c=await readdir(_0x17541c,{'withFileTypes':!![]})[_0xf0e7d4(0xdc)](()=>[]);for(const _0xb8e277 of _0x28a20c){if(isMetadataJunk(_0xb8e277[_0xf0e7d4(0xc3)]))continue;const _0xa5bdf7=join(_0x17541c,_0xb8e277['name']),_0xff81a0=relative(_0x4aab23,_0xa5bdf7);if(_0xb8e277[_0xf0e7d4(0xe6)+_0xf0e7d4(0xf9)]()){_0x3a6565+=await copyAllowedLogs(_0x4aab23,_0x487785,_0xa5bdf7);continue;}if(!_0xb8e277[_0xf0e7d4(0x112)]()||!shouldIncludeLogArchiveEntry(_0xff81a0))continue;const _0xd2ba6d=join(_0x487785,_0xff81a0);try{await mkdir(dirname(_0xd2ba6d),{'recursive':!![]}),await copyFile(_0xa5bdf7,_0xd2ba6d),_0x3a6565+=0x1;}catch{}}return _0x3a6565;}export async function exportLogsArchive({logsDir:_0x2ffa95,targetDir:_0x1c76d9,appVersion:appVersion=_0x3a11ae(0x11a)}){const _0x4b13d5=_0x3a11ae;if(!_0x2ffa95||!existsSync(_0x2ffa95))throw new Error('logs\x20dir'+_0x4b13d5(0xdf)+_0x4b13d5(0xc2)+':\x20'+(_0x2ffa95||''));const _0x1dbad2=String(appVersion||_0x4b13d5(0x11a))[_0x4b13d5(0x10a)](/[^A-Za-z0-9._-]/g,'_'),_0x49ed88=new Date()[_0x4b13d5(0xc4)+'ing']()['replace'](/[-:]/g,'')[_0x4b13d5(0x10a)](/\..+$/,''),_0x21beed=_0x1c76d9||tmpdir();await mkdir(_0x21beed,{'recursive':!![]});const _0x20792f=join(_0x21beed,_0x4b13d5(0xd8)+_0x4b13d5(0xf5)+'-'+_0x49ed88+'-'+_0x1dbad2+_0x4b13d5(0xfd)),_0x2f3fe5=join(tmpdir(),_0x4b13d5(0xd8)+_0x4b13d5(0xf5)+'-'+process[_0x4b13d5(0xc0)]+'-'+Date['now']());await rm(_0x2f3fe5,{'recursive':!![],'force':!![]}),await mkdir(_0x2f3fe5,{'recursive':!![]});try{const _0x3e9aee=await copyAllowedLogs(_0x2ffa95,_0x2f3fe5);if(_0x3e9aee===0x0)throw new Error('no\x20valid'+_0x4b13d5(0xc9)+'es\x20found'+':\x20'+_0x2ffa95);if(process[_0x4b13d5(0xd3)]===_0x4b13d5(0xeb)){const _0x1d2e17=[_0x4b13d5(0xca)+_0x4b13d5(0xd6)+_0x4b13d5(0x102)+_0x4b13d5(0xed)+_0x4b13d5(0x117),_0x4b13d5(0xd4)+_0x4b13d5(0xcd)+_0x4b13d5(0xf1)+JSON[_0x4b13d5(0xe3)+'y'](join(_0x2f3fe5,'*'))+(_0x4b13d5(0x119)+_0x4b13d5(0xbb)+'h\x20')+JSON[_0x4b13d5(0xe3)+'y'](_0x20792f)+_0x4b13d5(0x110)][_0x4b13d5(0xd2)]('\x20'),_0x558572=Buffer[_0x4b13d5(0xe0)](_0x1d2e17,'utf16le')[_0x4b13d5(0xec)]('base64');await run('powershe'+_0x4b13d5(0x10b),[_0x4b13d5(0xbf)+'le',_0x4b13d5(0xfc)+'Command',_0x558572]);}else await run(_0x4b13d5(0xee),['-r',_0x20792f,'.'],{'cwd':_0x2f3fe5});}finally{await rm(_0x2f3fe5,{'recursive':!![],'force':!![]})[_0x4b13d5(0xdc)](()=>{});}return{'ok':!![],'path':_0x20792f};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x3b31ae=_0x22a4;(function(_0x545940,_0x47b671){const _0x134319=_0x22a4,_0x995990=_0x545940();while(!![]){try{const _0x57f060=-parseInt(_0x134319(0xde))/0x1*(-parseInt(_0x134319(0xd9))/0x2)+-parseInt(_0x134319(0xeb))/0x3*(parseInt(_0x134319(0xf6))/0x4)+parseInt(_0x134319(0xed))/0x5*(-parseInt(_0x134319(0xe2))/0x6)+parseInt(_0x134319(0xdf))/0x7+-parseInt(_0x134319(0xf0))/0x8+parseInt(_0x134319(0xd5))/0x9+-parseInt(_0x134319(0xf4))/0xa*(-parseInt(_0x134319(0xd8))/0xb);if(_0x57f060===_0x47b671)break;else _0x995990['push'](_0x995990['shift']());}catch(_0xacaa36){_0x995990['push'](_0x995990['shift']());}}}(_0x4cd9,0x6bdbf));function _0x4cd9(){const _0x8204fe=['ame','plugins','22233viYJDz','wBin','5GjDCla','dataDir','logsDir','4905568RJCYWM','installP','LocalPlu','Version','910XQMGwa','agents','12KpiFQL','get','ecs','logsDirN','dAt','wujiecla','ginPaths','appId','nodeVers','set','ntPaths','isArray','pluginSp','runtime.','1401588xoCtpC','logger','resolved','56683QtjTWj','170026AaPRAL','has','runtime','ath','openclaw','3cJztrF','5135333tQrMvV','length','ion','3216558gymLBT','productN','llPaths','skills','oot','LocalAge','log'];_0x4cd9=function(){return _0x8204fe;};return _0x4cd9();}import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();export function createRuntimeLogger(_0x51abda,_0x2c60b9=_0x3b31ae(0xdb)){const _0x283a4f=_0x3b31ae,_0x3eadf7=_0x51abda?.['logsDir'];if(!_0x3eadf7)return null;const _0x4ed89c=join(_0x3eadf7,_0x283a4f(0xdb),_0x283a4f(0xd4)+_0x283a4f(0xe8)),_0x52b7f8=_0x4ed89c+':'+_0x2c60b9;return!runtimeLoggers[_0x283a4f(0xda)](_0x52b7f8)&&runtimeLoggers[_0x283a4f(0xd0)](_0x52b7f8,createFileLogger({'filePath':_0x4ed89c,'context':_0x2c60b9,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x283a4f(0xf7)](_0x52b7f8);}function _0x22a4(_0x35387b,_0x468196){_0x35387b=_0x35387b-0xcb;const _0x4cd9a7=_0x4cd9();let _0x22a414=_0x4cd9a7[_0x35387b];return _0x22a414;}export function summarizeShellConfig(_0x320091){const _0x2e31fc=_0x3b31ae;return{'appId':_0x320091[_0x2e31fc(0xce)],'productName':_0x320091[_0x2e31fc(0xe3)+_0x2e31fc(0xe9)],'projectRoot':_0x320091['projectR'+_0x2e31fc(0xe6)],'dataDir':_0x320091[_0x2e31fc(0xee)],'dataDirName':_0x320091['dataDirN'+_0x2e31fc(0xe9)],'logsDirName':_0x320091[_0x2e31fc(0xd6)]?.[_0x2e31fc(0xf9)+_0x2e31fc(0xe9)],'logsDir':_0x320091[_0x2e31fc(0xd6)]?.[_0x2e31fc(0xef)],'openclawVersion':_0x320091[_0x2e31fc(0xdd)]?.['openclaw'+_0x2e31fc(0xf3)],'nodeVersion':_0x320091[_0x2e31fc(0xdd)]?.[_0x2e31fc(0xcf)+'ion'],'pluginSpecCount':_0x320091[_0x2e31fc(0xdd)]?.[_0x2e31fc(0xd3)+_0x2e31fc(0xf8)]?.[_0x2e31fc(0xe0)]??0x0,'localPluginCount':_0x320091[_0x2e31fc(0xdd)]?.['resolved'+_0x2e31fc(0xf2)+_0x2e31fc(0xcd)]?.[_0x2e31fc(0xe0)]??0x0,'localAgentCount':_0x320091[_0x2e31fc(0xdd)]?.[_0x2e31fc(0xd7)+'LocalAge'+_0x2e31fc(0xd1)]?.['length']??0x0,'localSkillCount':_0x320091['openclaw']?.[_0x2e31fc(0xd7)+'LocalSki'+'llPaths']?.[_0x2e31fc(0xe0)]??0x0,'localAgentPaths':_0x320091[_0x2e31fc(0xdd)]?.[_0x2e31fc(0xd7)+_0x2e31fc(0xe7)+_0x2e31fc(0xd1)],'localSkillPaths':_0x320091[_0x2e31fc(0xdd)]?.['resolved'+'LocalSki'+_0x2e31fc(0xe4)],'workflowsDir':_0x320091[_0x2e31fc(0xdd)]?.['workflow'+'sDir']};}export function summarizeRuntimeManifest(_0x20f509){const _0x333e63=_0x3b31ae;return{'generatedAt':_0x20f509?.['generate'+_0x333e63(0xcb)],'openclawVersion':_0x20f509?.[_0x333e63(0xdd)+_0x333e63(0xf3)],'nodeVersion':_0x20f509?.[_0x333e63(0xcf)+_0x333e63(0xe1)],'pluginCount':Array[_0x333e63(0xd2)](_0x20f509?.['plugins'])?_0x20f509[_0x333e63(0xea)][_0x333e63(0xe0)]:0x0,'pluginSpecCount':Array[_0x333e63(0xd2)](_0x20f509?.['pluginSp'+_0x333e63(0xf8)])?_0x20f509[_0x333e63(0xd3)+_0x333e63(0xf8)][_0x333e63(0xe0)]:0x0,'agentsInstallPath':_0x20f509?.[_0x333e63(0xf5)]?.[_0x333e63(0xf1)+_0x333e63(0xdc)],'skillsInstallPath':_0x20f509?.[_0x333e63(0xe5)]?.[_0x333e63(0xf1)+_0x333e63(0xdc)],'wujieclawBin':_0x20f509?.[_0x333e63(0xcc)+_0x333e63(0xec)],'product':_0x20f509?.['product']};}
|