@wujie-shell/core 1.0.5 → 1.0.7

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.
Files changed (66) hide show
  1. package/bin/wujie-shell.mjs +10 -30
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  4. package/dist/src/agents/bundled-agents.mjs +1 -1
  5. package/dist/src/agents/codex-home.mjs +1 -0
  6. package/dist/src/agents/runtime-config.mjs +1 -1
  7. package/dist/src/chat/media-archive.mjs +1 -1
  8. package/dist/src/chat/queue.mjs +1 -1
  9. package/dist/src/common/cron-session-key.mjs +1 -1
  10. package/dist/src/common/diagnostics.mjs +1 -1
  11. package/dist/src/common/logging.mjs +1 -1
  12. package/dist/src/common/runtime-logger.mjs +1 -1
  13. package/dist/src/common/sqlite-paths.mjs +1 -1
  14. package/dist/src/common/user-events.mjs +1 -1
  15. package/dist/src/common/utils.mjs +1 -1
  16. package/dist/src/config/controller.mjs +1 -1
  17. package/dist/src/connectors/config-utils.mjs +1 -1
  18. package/dist/src/connectors/constants.mjs +1 -1
  19. package/dist/src/connectors/controller.mjs +1 -1
  20. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  21. package/dist/src/connectors/lark-cli.mjs +1 -1
  22. package/dist/src/electron/instance-identity.mjs +1 -0
  23. package/dist/src/electron/main.mjs +1 -1
  24. package/dist/src/electron/preload.mjs +1 -1
  25. package/dist/src/electron/protocol-url-state.mjs +1 -1
  26. package/dist/src/events/domain-event-journal.mjs +1 -1
  27. package/dist/src/files/generated-files-store.mjs +1 -1
  28. package/dist/src/files/handlers.mjs +1 -1
  29. package/dist/src/gateway/chat-delta.mjs +1 -1
  30. package/dist/src/gateway/controller.mjs +1 -1
  31. package/dist/src/gateway/request-id-title-events.mjs +1 -1
  32. package/dist/src/gateway/ws-client.mjs +1 -1
  33. package/dist/src/index.mjs +1 -1
  34. package/dist/src/log-reporting/handlers.mjs +1 -1
  35. package/dist/src/log-reporting/report-logs.mjs +1 -1
  36. package/dist/src/models/handlers.mjs +1 -1
  37. package/dist/src/preferences/store.mjs +1 -1
  38. package/dist/src/request-id/handlers.mjs +1 -1
  39. package/dist/src/request-id/runtime-bridge.mjs +1 -1
  40. package/dist/src/request-id/session-store.mjs +1 -1
  41. package/dist/src/request-id/title.mjs +1 -1
  42. package/dist/src/review/controller.mjs +1 -0
  43. package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
  44. package/dist/src/runtime/index.mjs +1 -1
  45. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  46. package/dist/src/runtime/patch-chat-attachment-base64.mjs +1 -1
  47. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  48. package/dist/src/runtime/patch-codex-isolated-auth.mjs +1 -0
  49. package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
  50. package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
  51. package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
  52. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  53. package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
  54. package/dist/src/runtime/plugin-sync.mjs +1 -1
  55. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  56. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  57. package/dist/src/sessions/session-data-service.mjs +1 -1
  58. package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
  59. package/dist/src/sessions/session-runtime-state.mjs +1 -1
  60. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  61. package/dist/src/skills/import.mjs +1 -1
  62. package/dist/src/skills/market.mjs +1 -1
  63. package/dist/src/terminal/manager.mjs +1 -1
  64. package/dist/src/updates/controller.mjs +1 -1
  65. package/dist/src/updates/loader.mjs +1 -1
  66. package/package.json +7 -19
@@ -0,0 +1 @@
1
+ (function(_0x23e216,_0x540f7d){const _0x3393b1=_0x1ca7,_0x2769d3=_0x23e216();while(!![]){try{const _0x522e02=-parseInt(_0x3393b1(0x198))/0x1*(-parseInt(_0x3393b1(0x1a6))/0x2)+parseInt(_0x3393b1(0x24b))/0x3*(parseInt(_0x3393b1(0x1b4))/0x4)+-parseInt(_0x3393b1(0x23b))/0x5*(parseInt(_0x3393b1(0x20e))/0x6)+-parseInt(_0x3393b1(0x1d4))/0x7*(-parseInt(_0x3393b1(0x1b2))/0x8)+-parseInt(_0x3393b1(0x225))/0x9*(parseInt(_0x3393b1(0x1e9))/0xa)+parseInt(_0x3393b1(0x207))/0xb+-parseInt(_0x3393b1(0x1b8))/0xc;if(_0x522e02===_0x540f7d)break;else _0x2769d3['push'](_0x2769d3['shift']());}catch(_0x5b483c){_0x2769d3['push'](_0x2769d3['shift']());}}}(_0x252b,0xa73ed));import{Buffer}from'node:buffer';import{execFile}from'node:child_process';function _0x1ca7(_0x146074,_0x146913){_0x146074=_0x146074-0x188;const _0x252b67=_0x252b();let _0x1ca761=_0x252b67[_0x146074];return _0x1ca761;}import{existsSync}from'node:fs';import{mkdtemp,readdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,join,resolve}from'node:path';import{promisify}from'node:util';const execFileAsync=promisify(execFile),MAX_GIT_OUTPUT_BYTES=0x10*0x400*0x400,MAX_REVIEW_PATCH_CHARACTERS=0x2*0x400*0x400,MAX_REVIEW_PATCH_LINES=0x4e20,MAX_REVIEW_FILE_PATCH_CHARACTERS=0x400*0x400,MAX_REVIEW_FILE_PATCH_LINES=0x2710,MAX_DISCOVERY_DEPTH=0x2,LOGIN_SHELL_ENV_TIMEOUT_MS=0x2710;let computerGitEnvironmentPromise;function parseNullSeparatedEnvironment(_0x14d24d){const _0x2c20bf=_0x1ca7,_0x423377={};for(const _0x5ebeda of String(_0x14d24d||'')[_0x2c20bf(0x1d7)]('\x00')){const _0x40cd71=_0x5ebeda[_0x2c20bf(0x238)]('=');if(_0x40cd71<=0x0)continue;const _0x449f21=_0x5ebeda[_0x2c20bf(0x203)](0x0,_0x40cd71)[_0x2c20bf(0x1fc)]();if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x2c20bf(0x24d)](_0x449f21))continue;_0x423377[_0x449f21]=_0x5ebeda[_0x2c20bf(0x203)](_0x40cd71+0x1);}return _0x423377;}async function loadComputerGitEnvironment(){const _0x25edb0=_0x1ca7;if(process[_0x25edb0(0x20a)]==='win32')return{...process.env};const _0x3b2039=String(process.env.SHELL||'')[_0x25edb0(0x1fc)]()||_0x25edb0(0x1c3);try{const _0x592b2a=await execFileAsync(_0x3b2039,[_0x25edb0(0x201),_0x25edb0(0x1c8)+_0x25edb0(0x1ce)],{'encoding':_0x25edb0(0x25a),'maxBuffer':0x400*0x400,'timeout':LOGIN_SHELL_ENV_TIMEOUT_MS,'windowsHide':!![],'env':{...process.env,'HOME':process.env.HOME||homedir()}});return{...process.env,...parseNullSeparatedEnvironment(_0x592b2a['stdout'])};}catch{return{...process.env};}}function getComputerGitEnvironment(){return computerGitEnvironmentPromise||=loadComputerGitEnvironment(),computerGitEnvironmentPromise;}const GIT_C_STYLE_ESCAPES={'a':0x7,'b':0x8,'t':0x9,'n':0xa,'v':0xb,'f':0xc,'r':0xd,'\x22':0x22,'\x5c':0x5c};function decodeGitQuotedPath(_0x5b4557){const _0x547dcd=_0x1ca7;if(!_0x5b4557['startsWi'+'th']('\x22')||!_0x5b4557[_0x547dcd(0x1cf)]('\x22'))return _0x5b4557;const _0x800843=_0x5b4557[_0x547dcd(0x203)](0x1,-0x1),_0x3c3b22=[];for(let _0x4b6ca8=0x0;_0x4b6ca8<_0x800843[_0x547dcd(0x1bb)];_0x4b6ca8+=0x1){const _0x283785=_0x800843[_0x4b6ca8];if(_0x283785!=='\x5c'){const _0x2cc3b5=_0x800843['codePoin'+_0x547dcd(0x195)](_0x4b6ca8),_0x1ee0b3=String[_0x547dcd(0x236)+_0x547dcd(0x1b5)](_0x2cc3b5);_0x3c3b22[_0x547dcd(0x192)](...Buffer[_0x547dcd(0x205)](_0x1ee0b3,'utf8')),_0x4b6ca8+=_0x1ee0b3[_0x547dcd(0x1bb)]-0x1;continue;}const _0x43f9ef=_0x800843[_0x4b6ca8+0x1];if(_0x43f9ef===undefined){_0x3c3b22[_0x547dcd(0x192)](0x5c);continue;}if(/[0-7]/[_0x547dcd(0x24d)](_0x43f9ef)){let _0x34e3a6=_0x4b6ca8+0x2;while(_0x34e3a6<_0x800843[_0x547dcd(0x1bb)]&&_0x34e3a6<_0x4b6ca8+0x4&&/[0-7]/[_0x547dcd(0x24d)](_0x800843[_0x34e3a6])){_0x34e3a6+=0x1;}_0x3c3b22[_0x547dcd(0x192)](Number['parseInt'](_0x800843['slice'](_0x4b6ca8+0x1,_0x34e3a6),0x8)),_0x4b6ca8=_0x34e3a6-0x1;continue;}if(Object[_0x547dcd(0x221)](GIT_C_STYLE_ESCAPES,_0x43f9ef)){_0x3c3b22['push'](GIT_C_STYLE_ESCAPES[_0x43f9ef]),_0x4b6ca8+=0x1;continue;}_0x3c3b22[_0x547dcd(0x192)](0x5c,...Buffer[_0x547dcd(0x205)](_0x43f9ef,_0x547dcd(0x25a))),_0x4b6ca8+=0x1;}return Buffer[_0x547dcd(0x205)](_0x3c3b22)['toString'](_0x547dcd(0x25a));}function normalizePathFromDiff(_0x4531bf){const _0x2c2784=_0x1ca7,_0x12a0c8=String(_0x4531bf||'')['trim'](),_0x1062c5=decodeGitQuotedPath(_0x12a0c8);if(_0x1062c5===_0x2c2784(0x1f0)+'l')return'';return _0x1062c5[_0x2c2784(0x1f5)](/^[ab]\//,'');}function normalizeUnifiedPatch(_0x4e4f90){const _0x203ae6=_0x1ca7;return String(_0x4e4f90||'')[_0x203ae6(0x1f5)](/\r\n/g,'\x0a');}function splitUnifiedDiffPatches(_0x54b69d){const _0xadf3d3=_0x1ca7,_0x25f4a7=normalizeUnifiedPatch(_0x54b69d),_0xdb23a=[..._0x25f4a7['matchAll'](/^diff --git /gm)][_0xadf3d3(0x19a)](_0x33f307=>_0x33f307['index']);return _0xdb23a[_0xadf3d3(0x19a)]((_0x2e81ac,_0x13a36d)=>_0x25f4a7[_0xadf3d3(0x203)](_0x2e81ac,_0xdb23a[_0x13a36d+0x1]??_0x25f4a7[_0xadf3d3(0x1bb)]));}function parseDiffGitHeader(_0x924936){const _0x17db8d=_0x1ca7,_0x37e363=/^diff --git ((?:"(?:\\.|[^"\\])*")|\S+) ((?:"(?:\\.|[^"\\])*")|\S+)$/[_0x17db8d(0x1ac)](_0x924936);return{'oldPath':_0x37e363?.[0x1]??'','path':_0x37e363?.[0x2]??''};}function parseHunkHeader(_0x1e852e){const _0x184174=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/['exec'](_0x1e852e);if(!_0x184174)return null;return{'oldStart':Number(_0x184174[0x1]),'oldLines':Number(_0x184174[0x2]??'1'),'newStart':Number(_0x184174[0x3]),'newLines':Number(_0x184174[0x4]??'1')};}const CONFLICT_STATUSES=new Set(['DD','AU','UD','UA','DU','AA','UU']);function statusKind(_0x1d6931){const _0x55cf20=_0x1ca7;if(_0x1d6931==='A'||_0x1d6931==='?')return _0x55cf20(0x224);if(_0x1d6931==='D')return'deleted';if(_0x1d6931==='R'||_0x1d6931==='C')return'renamed';if(_0x1d6931==='U')return _0x55cf20(0x25d)+'ed';return _0x55cf20(0x1a2);}export function parsePorcelainStatus(_0xe2a479){const _0x407dd0=_0x1ca7,_0x48de37=String(_0xe2a479||'')[_0x407dd0(0x1d7)]('\x00'),_0x1a1ec3=[];for(let _0x343613=0x0;_0x343613<_0x48de37[_0x407dd0(0x1bb)];_0x343613+=0x1){const _0x28d974=_0x48de37[_0x343613];if(!_0x28d974||_0x28d974[_0x407dd0(0x1bb)]<0x3)continue;const _0x41f2e7=_0x28d974[0x0],_0xff680a=_0x28d974[0x1],_0x5b30b3=''+_0x41f2e7+_0xff680a,_0x3b7342=_0x28d974[_0x407dd0(0x203)](0x3),_0x4ce9d4=_0x41f2e7==='R'||_0x41f2e7==='C',_0x5ecb83=_0x4ce9d4?_0x48de37[++_0x343613]||null:null,_0x526d0f=_0x41f2e7!=='\x20'&&_0x41f2e7!=='?'&&_0x41f2e7!=='!',_0x52ad32=_0xff680a!=='\x20'&&_0xff680a!=='!';_0x1a1ec3['push']({'path':_0x3b7342,'oldPath':_0x5ecb83,'indexStatus':_0x41f2e7,'worktreeStatus':_0xff680a,'staged':_0x526d0f,'unstaged':_0x52ad32,'conflicted':CONFLICT_STATUSES['has'](_0x5b30b3),'status':CONFLICT_STATUSES[_0x407dd0(0x18a)](_0x5b30b3)?_0x407dd0(0x25d)+'ed':statusKind(_0x52ad32?_0xff680a:_0x41f2e7)});}return _0x1a1ec3;}export function parseUnifiedDiff(_0x2c3274){const _0x343f7f=_0x1ca7,_0x1e1d31=normalizeUnifiedPatch(_0x2c3274),_0x235311=_0x1e1d31[_0x343f7f(0x1d7)]('\x0a'),_0x28327f=splitUnifiedDiffPatches(_0x1e1d31),_0x9dff6e=[];let _0x38d16d=null,_0x419a6f=-0x1,_0x214ed6=null,_0x29c1b6=0x0,_0x54e3a3=0x0;const _0x39632d=()=>{const _0x59a75e=_0x343f7f;if(!_0x38d16d)return;_0x38d16d[_0x59a75e(0x1d3)]=_0x28327f[_0x419a6f]??'';if(!_0x38d16d[_0x59a75e(0x214)])_0x38d16d['path']=_0x38d16d['oldPath']??'未知文件';_0x9dff6e[_0x59a75e(0x192)](_0x38d16d),_0x38d16d=null,_0x214ed6=null;};for(const _0x239a0a of _0x235311){if(_0x239a0a[_0x343f7f(0x22d)+'th']('diff\x20--g'+_0x343f7f(0x1a3))){_0x39632d(),_0x419a6f+=0x1;const {oldPath:_0x5d50ae,path:_0x3bae42}=parseDiffGitHeader(_0x239a0a);_0x38d16d={'path':normalizePathFromDiff(_0x3bae42),'oldPath':normalizePathFromDiff(_0x5d50ae)||null,'status':_0x343f7f(0x1a2),'additions':0x0,'deletions':0x0,'patch':'','hunks':[]};continue;}if(!_0x38d16d)continue;if(_0x239a0a['startsWi'+'th'](_0x343f7f(0x243)+'\x20mode\x20'))_0x38d16d[_0x343f7f(0x23c)]=_0x343f7f(0x224);else{if(_0x239a0a[_0x343f7f(0x22d)+'th'](_0x343f7f(0x202)+_0x343f7f(0x233)+'e\x20'))_0x38d16d[_0x343f7f(0x23c)]=_0x343f7f(0x253);else{if(_0x239a0a[_0x343f7f(0x22d)+'th'](_0x343f7f(0x18f)+_0x343f7f(0x1ba)))_0x38d16d[_0x343f7f(0x23c)]='renamed',_0x38d16d['oldPath']=normalizePathFromDiff(_0x239a0a[_0x343f7f(0x203)]((_0x343f7f(0x18f)+'rom\x20')[_0x343f7f(0x1bb)]));else{if(_0x239a0a['startsWi'+'th']('rename\x20t'+'o\x20'))_0x38d16d[_0x343f7f(0x23c)]=_0x343f7f(0x1d0),_0x38d16d[_0x343f7f(0x214)]=normalizePathFromDiff(_0x239a0a[_0x343f7f(0x203)]((_0x343f7f(0x1bf)+'o\x20')[_0x343f7f(0x1bb)]));else{if(_0x239a0a[_0x343f7f(0x22d)+'th'](_0x343f7f(0x18d)+_0x343f7f(0x255))||_0x239a0a===_0x343f7f(0x22e)+_0x343f7f(0x1b1))_0x38d16d[_0x343f7f(0x23c)]=_0x343f7f(0x261);else{if(_0x239a0a['startsWi'+'th']('+++\x20')){const _0x103e34=normalizePathFromDiff(_0x239a0a[_0x343f7f(0x203)](0x4));if(_0x103e34)_0x38d16d[_0x343f7f(0x214)]=_0x103e34;}else{if(_0x239a0a['startsWi'+'th']('---\x20')){const _0x2d1d67=normalizePathFromDiff(_0x239a0a['slice'](0x4));if(_0x2d1d67)_0x38d16d[_0x343f7f(0x1ae)]=_0x2d1d67;}}}}}}}const _0x28f56c=parseHunkHeader(_0x239a0a);if(_0x28f56c){_0x29c1b6=_0x28f56c[_0x343f7f(0x204)],_0x54e3a3=_0x28f56c[_0x343f7f(0x19f)],_0x214ed6={'header':_0x239a0a,..._0x28f56c,'lines':[]},_0x38d16d[_0x343f7f(0x208)][_0x343f7f(0x192)](_0x214ed6);continue;}if(!_0x214ed6)continue;if(_0x239a0a[_0x343f7f(0x22d)+'th']('+')&&!_0x239a0a[_0x343f7f(0x22d)+'th'](_0x343f7f(0x1bc)))_0x38d16d['addition'+'s']+=0x1,_0x214ed6[_0x343f7f(0x211)][_0x343f7f(0x192)]({'kind':_0x343f7f(0x1eb),'content':_0x239a0a[_0x343f7f(0x203)](0x1),'oldLine':null,'newLine':_0x54e3a3}),_0x54e3a3+=0x1;else{if(_0x239a0a[_0x343f7f(0x22d)+'th']('-')&&!_0x239a0a['startsWi'+'th'](_0x343f7f(0x1b9)))_0x38d16d[_0x343f7f(0x251)+'s']+=0x1,_0x214ed6[_0x343f7f(0x211)][_0x343f7f(0x192)]({'kind':_0x343f7f(0x251),'content':_0x239a0a['slice'](0x1),'oldLine':_0x29c1b6,'newLine':null}),_0x29c1b6+=0x1;else{if(_0x239a0a[_0x343f7f(0x22d)+'th']('\x20'))_0x214ed6[_0x343f7f(0x211)]['push']({'kind':_0x343f7f(0x242),'content':_0x239a0a[_0x343f7f(0x203)](0x1),'oldLine':_0x29c1b6,'newLine':_0x54e3a3}),_0x29c1b6+=0x1,_0x54e3a3+=0x1;else _0x239a0a&&_0x214ed6[_0x343f7f(0x211)][_0x343f7f(0x192)]({'kind':_0x343f7f(0x1e8),'content':_0x239a0a,'oldLine':null,'newLine':null});}}}return _0x39632d(),_0x9dff6e;}function _0x252b(){const _0x3fcf66=['gitArgs','equired','refs/rem','utf8','diff','restore','conflict','stream','UT_TOO_L','head','binary','me:short','key\x20is\x20r','indexSta','\x20MiB\x20安全限','e-standa','has','GIT_OUTP','ory','Binary\x20f','check-re','rename\x20f','reduce','-all-spa','push','--no-ext','tree','tAt','--set-up','请选择基础分支','290uGmSmE','nch','map','join','remote','show','write-tr','newStart','Session\x20','stderr','modified','it\x20','--empty','fullFile','7482GvcUjY','rev-pars','loadFull','直接推送','now','isDirect','exec','\x20的更改','oldPath','全局项目范围内未','没有已暂存的更改','ry\x20patch','2442832IGeCGV','--no-ind','1512bQNHcW','Point','env','read-tre','3519648UokAYx','---','rom\x20','length','+++','tus','min','rename\x20t','已暂存的更改','itespace','\x0aBinary\x20','/bin/sh','--left-r','sTruncat','find','characte','/usr/bin','pull','/HEAD','--format','rev-list','请输入提交说明','/env\x20-0','endsWith','renamed','--branch','enames','patch','14BjhZPp','HEAD...','charCode','split','ignoreWh','=HEAD','上游分支','diffOpti','set','当前仓库没有远程','Git\x20命令执行','--quiet','--abbrev','--no-col','number','get','--source','Files','\x20HEAD\x20无法','\x20输出超过\x2016','meta','9205640QAqTVf','ERR_CHIL','addition','ight','branch','所选目录不是\x20G','.git','/dev/nul','--ff-onl','refs/hea','rawPatch','ons','replace','reset','merge-ba','HEAD','制,未返回不完整','ePath','--untrac','trim','staged','--ignore','上一轮更改','eError','-ilc','deleted\x20','slice','oldStart','from','--mixed','891330XGzClV','hunks','-ref','platform','base-bra','^{commit','-unmatch','954yJzmgW','Detached','code','lines','otes','ryPath','path','ked-file','GitOutpu','allowFai','--worktr','--staged','--cached','target','当前分支没有配置','Git\x20仓库不可','ain=v1','remotes','name','hasOwn','stdout','message','added','9QAeTdq','last-tur','lure','请输入新分支名称','\x20differ\x0a','--show-t','workspac','D_PROCES','startsWi','GIT\x20bina','--show-c','working-','-diff','wujie-re','file\x20mod','switch','--find-r','fromCode','isArray','indexOf','add','--exclud','34145dDDZnE','status','some','clean','--verify','tTooLarg','reposito','context','new\x20file','x00%ct','oplevel','请选择分支','--unifie','=%(refna','commit','upstream','9588wAjoDA','index','test','相对\x20','--all','git','deletion','ARGE','deleted','for-each','iles\x20','filter'];_0x252b=function(){return _0x3fcf66;};return _0x252b();}class GitOutputTooLargeError extends Error{constructor(){const _0x103865=_0x1ca7;super('Git\x20diff'+_0x103865(0x1e7)+_0x103865(0x188)+_0x103865(0x1f9)+'内容'),this[_0x103865(0x220)]=_0x103865(0x216)+_0x103865(0x240)+_0x103865(0x200),this['code']=_0x103865(0x18b)+_0x103865(0x25f)+_0x103865(0x252);}}function isMaxBufferFailure(_0x20b1ed){const _0x37ff1a=_0x1ca7;return _0x20b1ed?.[_0x37ff1a(0x210)]===_0x37ff1a(0x1ea)+_0x37ff1a(0x22c)+'S_STDIO_'+'MAXBUFFE'+'R'||/maxBuffer length exceeded|stdout maxBuffer|stderr maxBuffer|ENOBUFS/i[_0x37ff1a(0x24d)](_0x20b1ed instanceof Error?_0x20b1ed[_0x37ff1a(0x223)]:'');}function isGitOutputTooLargeError(_0x3e0e6b){const _0x3d1ab3=_0x1ca7;return _0x3e0e6b?.[_0x3d1ab3(0x210)]==='GIT_OUTP'+'UT_TOO_L'+_0x3d1ab3(0x252);}async function runGit(_0x1a2522,_0x3a25f9,_0x54c34d={}){const _0x242466=_0x1ca7;try{const _0xf765bc=await getComputerGitEnvironment(),_0x4fe6bf=await execFileAsync(_0x242466(0x250),['-C',_0x1a2522,..._0x3a25f9],{'encoding':'utf8','maxBuffer':MAX_GIT_OUTPUT_BYTES,'timeout':_0x54c34d['timeout']??0x1d4c0,'windowsHide':!![],'env':{..._0xf765bc,'GIT_OPTIONAL_LOCKS':'0','GIT_TERMINAL_PROMPT':'0',..._0x54c34d[_0x242466(0x1b6)]}});return{'stdout':_0x4fe6bf[_0x242466(0x222)],'stderr':_0x4fe6bf[_0x242466(0x1a1)],'code':0x0};}catch(_0x108bf9){if(isMaxBufferFailure(_0x108bf9))throw new GitOutputTooLargeError();if(!_0x54c34d[_0x242466(0x217)+_0x242466(0x227)])throw new Error(_0x108bf9?.[_0x242466(0x1a1)]?.[_0x242466(0x1fc)]()||_0x108bf9?.['message']||_0x242466(0x1de)+'失败');return{'stdout':_0x108bf9?.['stdout']??'','stderr':_0x108bf9?.[_0x242466(0x1a1)]??_0x108bf9?.[_0x242466(0x223)]??'','code':typeof _0x108bf9?.[_0x242466(0x210)]===_0x242466(0x1e2)?_0x108bf9[_0x242466(0x210)]:0x1};}}async function resolveGitRoot(_0xc74d50){const _0x5b658e=_0x1ca7;if(!_0xc74d50||!existsSync(_0xc74d50))return null;const _0x34eb8b=await runGit(_0xc74d50,[_0x5b658e(0x1a7)+'e',_0x5b658e(0x22a)+_0x5b658e(0x245)],{'allowFailure':!![]});return _0x34eb8b['code']===0x0&&_0x34eb8b['stdout']['trim']()?resolve(_0x34eb8b[_0x5b658e(0x222)][_0x5b658e(0x1fc)]()):null;}async function discoverGitRoot(_0x401d2c,_0xb6b48d=0x0){const _0x1a67e5=_0x1ca7,_0x16fbbb=await resolveGitRoot(_0x401d2c);if(_0x16fbbb)return _0x16fbbb;if(_0xb6b48d>=MAX_DISCOVERY_DEPTH)return null;let _0x387eb;try{_0x387eb=await readdir(_0x401d2c,{'withFileTypes':!![]});}catch{return null;}for(const _0x1464c7 of _0x387eb){if(!_0x1464c7[_0x1a67e5(0x1ab)+'ory']()||_0x1464c7[_0x1a67e5(0x220)][_0x1a67e5(0x22d)+'th']('.'))continue;const _0x22c9e0=join(_0x401d2c,_0x1464c7[_0x1a67e5(0x220)]);if(existsSync(join(_0x22c9e0,_0x1a67e5(0x1ef))))return resolve(_0x22c9e0);}for(const _0x134090 of _0x387eb){if(!_0x134090[_0x1a67e5(0x1ab)+_0x1a67e5(0x18c)]()||_0x134090[_0x1a67e5(0x220)]['startsWi'+'th']('.'))continue;const _0x50b1f7=await discoverGitRoot(join(_0x401d2c,_0x134090[_0x1a67e5(0x220)]),_0xb6b48d+0x1);if(_0x50b1f7)return _0x50b1f7;}return null;}async function createWorkingTreeSnapshot(_0x29b6a2){const _0x4b7e26=_0x1ca7,_0x18e575=await mkdtemp(join(tmpdir(),_0x4b7e26(0x232)+'view-ind'+'ex-')),_0x572337=join(_0x18e575,_0x4b7e26(0x24c)),_0x5c3c3c={'GIT_INDEX_FILE':_0x572337};try{const _0x546a0b=await runGit(_0x29b6a2,['rev-pars'+'e',_0x4b7e26(0x23f),_0x4b7e26(0x1f8)],{'allowFailure':!![]});return await runGit(_0x29b6a2,_0x546a0b[_0x4b7e26(0x210)]===0x0?['read-tre'+'e',_0x4b7e26(0x1f8)]:[_0x4b7e26(0x1b7)+'e',_0x4b7e26(0x1a4)],{'env':_0x5c3c3c}),await runGit(_0x29b6a2,['add','-A','--','.'],{'env':_0x5c3c3c}),(await runGit(_0x29b6a2,[_0x4b7e26(0x19e)+'ee'],{'env':_0x5c3c3c}))['stdout'][_0x4b7e26(0x1fc)]();}finally{await rm(_0x18e575,{'recursive':!![],'force':!![]});}}function resolveDiffOptions(_0xe86d9e={}){const _0x2d5d9d=_0x1ca7,_0x45e84e=_0xe86d9e['loadFull'+_0x2d5d9d(0x1e5)]!==![],_0x3f6acd=_0xe86d9e[_0x2d5d9d(0x1d8)+_0x2d5d9d(0x1c1)]===!![];return{'loadFullFiles':_0x45e84e,'ignoreWhitespace':_0x3f6acd,'gitArgs':[_0x2d5d9d(0x247)+'d='+(_0x45e84e?0xf4240:0x3),..._0x3f6acd?[_0x2d5d9d(0x1fe)+_0x2d5d9d(0x191)+'ce']:[]]};}function countPatchLines(_0x1ec518){const _0x14437e=_0x1ca7;let _0x57419a=0x0;for(let _0x237a8f=0x0;_0x237a8f<_0x1ec518[_0x14437e(0x1bb)];_0x237a8f+=0x1){if(_0x1ec518[_0x14437e(0x1d6)+'At'](_0x237a8f)===0xa)_0x57419a+=0x1;}return _0x57419a+(_0x1ec518&&!_0x1ec518[_0x14437e(0x1cf)]('\x0a')?0x1:0x0);}function patchMetrics(_0x4e38a9){return{'characters':_0x4e38a9['length'],'lines':countPatchLines(_0x4e38a9)};}function exceedsFileRenderBudget(_0x9315fb){const _0x415e3f=_0x1ca7,_0x12fd76=patchMetrics(_0x9315fb);return _0x12fd76[_0x415e3f(0x1c7)+'rs']>MAX_REVIEW_FILE_PATCH_CHARACTERS||_0x12fd76['lines']>MAX_REVIEW_FILE_PATCH_LINES;}function needsCompactPatch(_0x1cdb94){const _0xe8b5db=_0x1ca7,_0x439068=patchMetrics(_0x1cdb94);if(_0x439068[_0xe8b5db(0x1c7)+'rs']>MAX_REVIEW_PATCH_CHARACTERS||_0x439068[_0xe8b5db(0x211)]>MAX_REVIEW_PATCH_LINES)return!![];return splitUnifiedDiffPatches(_0x1cdb94)[_0xe8b5db(0x23d)](exceedsFileRenderBudget);}function quoteGitPath(_0x30b670){const _0x36ad7b=_0x1ca7,_0xb04c64=String(_0x30b670||'');if(!/[\s"\\]/u[_0x36ad7b(0x24d)](_0xb04c64))return _0xb04c64;return'\x22'+_0xb04c64['replace'](/\\/g,'\x5c\x5c')[_0x36ad7b(0x1f5)](/"/g,'\x5c\x22')[_0x36ad7b(0x1f5)](/\t/g,'\x5ct')[_0x36ad7b(0x1f5)](/\n/g,'\x5cn')['replace'](/\r/g,'\x5cr')+'\x22';}function buildOmittedFilePatchFromPaths(_0x1c9523,_0xc88f14=_0x1c9523,_0x1ce23c={}){const _0x45167a=_0x1ca7,_0x3dae57=_0x1c9523||_0xc88f14||'unknown',_0x1a7cbc=_0xc88f14||_0x3dae57,_0x399c14=_0x1ce23c[_0x45167a(0x224)]?_0x45167a(0x1f0)+'l':quoteGitPath('a/'+_0x1a7cbc),_0x1b0af7=_0x1ce23c['deleted']?_0x45167a(0x1f0)+'l':quoteGitPath('b/'+_0x3dae57);return'diff\x20--g'+_0x45167a(0x1a3)+quoteGitPath('a/'+_0x1a7cbc)+'\x20'+quoteGitPath('b/'+_0x3dae57)+(_0x45167a(0x1c2)+'files\x20')+_0x399c14+'\x20and\x20'+_0x1b0af7+_0x45167a(0x229);}function buildOmittedFilePatch(_0x23ac47){const _0x37c384=_0x1ca7,_0x3be7fb=_0x23ac47['indexOf']('\x0a'),_0x35fd49=_0x23ac47['slice'](0x0,_0x3be7fb===-0x1?undefined:_0x3be7fb),{oldPath:_0x5049e7,path:_0x1ca682}=parseDiffGitHeader(_0x35fd49),_0x5cbbf3=_0x23ac47['slice'](0x0,Math[_0x37c384(0x1be)](_0x23ac47[_0x37c384(0x1bb)],0x40*0x400)),_0x6cedbb=/^rename from (.+)$/m[_0x37c384(0x1ac)](_0x5cbbf3)?.[0x1],_0x4b7cd5=/^rename to (.+)$/m['exec'](_0x5cbbf3)?.[0x1],_0x49de76=normalizePathFromDiff(_0x6cedbb||_0x5049e7),_0x5a2242=normalizePathFromDiff(_0x4b7cd5||_0x1ca682);return buildOmittedFilePatchFromPaths(_0x5a2242,_0x49de76,{'added':/^new file mode /m[_0x37c384(0x24d)](_0x5cbbf3),'deleted':/^deleted file mode /m[_0x37c384(0x24d)](_0x5cbbf3)});}function limitPatchToRenderBudget(_0x1835f0){const _0x3745e4=_0x1ca7,_0x3cb8e5=splitUnifiedDiffPatches(_0x1835f0);if(_0x3cb8e5[_0x3745e4(0x1bb)]===0x0)return{'rawPatch':_0x1835f0,'fullFilesTruncated':![]};let _0x4378a3=0x0,_0x227fdb=0x0,_0x5d3a2d=![];const _0x554272=_0x3cb8e5[_0x3745e4(0x19a)](_0x3c16e9=>{const _0x3dc127=_0x3745e4,_0x23a91d=patchMetrics(_0x3c16e9),_0x243afd=_0x4378a3+_0x23a91d[_0x3dc127(0x1c7)+'rs']>MAX_REVIEW_PATCH_CHARACTERS||_0x227fdb+_0x23a91d[_0x3dc127(0x211)]>MAX_REVIEW_PATCH_LINES,_0x27b281=exceedsFileRenderBudget(_0x3c16e9)||_0x243afd?buildOmittedFilePatch(_0x3c16e9):_0x3c16e9;if(_0x27b281!==_0x3c16e9)_0x5d3a2d=!![];const _0xc7b1eb=patchMetrics(_0x27b281);return _0x4378a3+=_0xc7b1eb[_0x3dc127(0x1c7)+'rs'],_0x227fdb+=_0xc7b1eb['lines'],_0x27b281;});return{'rawPatch':_0x554272[_0x3745e4(0x19b)](''),'fullFilesTruncated':_0x5d3a2d};}function normalizePatchReadResult(_0x4c5547){return typeof _0x4c5547==='string'?{'rawPatch':_0x4c5547,'fullFilesTruncated':![]}:_0x4c5547;}async function prepareReviewPatch(_0x2adf33,_0x45262f){const _0x353397=_0x1ca7;let _0x5dbff0=_0x45262f,_0x329464=![],_0x3c21d3;const _0x4f4911=async _0x1da1bd=>normalizePatchReadResult(await _0x2adf33(_0x1da1bd));try{_0x3c21d3=await _0x4f4911(_0x5dbff0);}catch(_0x4edc65){if(!_0x5dbff0['loadFull'+'Files']||!isGitOutputTooLargeError(_0x4edc65))throw _0x4edc65;_0x5dbff0=resolveDiffOptions({..._0x5dbff0,'loadFullFiles':![]}),_0x329464=!![],_0x3c21d3=await _0x4f4911(_0x5dbff0);}_0x5dbff0[_0x353397(0x1a8)+_0x353397(0x1e5)]&&needsCompactPatch(_0x3c21d3['rawPatch'])&&(_0x5dbff0=resolveDiffOptions({..._0x5dbff0,'loadFullFiles':![]}),_0x329464=!![],_0x3c21d3=await _0x4f4911(_0x5dbff0));const _0x18536d=limitPatchToRenderBudget(_0x3c21d3[_0x353397(0x1f3)]);return{'rawPatch':_0x18536d['rawPatch'],'diffOptions':_0x5dbff0,'fullFilesTruncated':_0x329464||_0x3c21d3['fullFile'+'sTruncat'+'ed']||_0x18536d[_0x353397(0x1a5)+_0x353397(0x1c5)+'ed']};}async function appendUntrackedFilesPatch(_0xccd4eb,_0x5ae45f,_0x106cde=''){const _0x1566ea=_0x1ca7;let _0xe926a9=_0x106cde,_0x4b1e60=![];const _0x5e6ad0=await runGit(_0xccd4eb,['ls-files','--others',_0x1566ea(0x23a)+_0x1566ea(0x189)+'rd','-z']);for(const _0x301e7a of _0x5e6ad0[_0x1566ea(0x222)][_0x1566ea(0x1d7)]('\x00')[_0x1566ea(0x256)](Boolean)){try{const _0x2ce5f4=await runGit(_0xccd4eb,[_0x1566ea(0x25b),_0x1566ea(0x1b3)+'ex',_0x1566ea(0x1e1)+'or',..._0x5ae45f[_0x1566ea(0x257)],'--',_0x1566ea(0x1f0)+'l',_0x301e7a],{'allowFailure':!![]});_0x2ce5f4[_0x1566ea(0x222)]&&(_0xe926a9+=''+(_0xe926a9&&!_0xe926a9[_0x1566ea(0x1cf)]('\x0a')?'\x0a':'')+_0x2ce5f4[_0x1566ea(0x222)]);}catch(_0x31dac6){if(!isGitOutputTooLargeError(_0x31dac6))throw _0x31dac6;_0xe926a9+=''+(_0xe926a9&&!_0xe926a9[_0x1566ea(0x1cf)]('\x0a')?'\x0a':'')+buildOmittedFilePatchFromPaths(_0x301e7a,_0x301e7a,{'added':!![]}),_0x4b1e60=!![];}}return{'rawPatch':_0xe926a9,'fullFilesTruncated':_0x4b1e60};}async function readWorkingTreePatch(_0x1a5e29,_0x3da196){const _0xffb9d8=_0x1ca7,_0x3c82de=await runGit(_0x1a5e29,['rev-pars'+'e',_0xffb9d8(0x23f),_0xffb9d8(0x1f8)],{'allowFailure':!![]});let _0x1664c4='';return _0x3c82de[_0xffb9d8(0x210)]===0x0&&(_0x1664c4=(await runGit(_0x1a5e29,[_0xffb9d8(0x25b),_0xffb9d8(0x1e1)+'or',_0xffb9d8(0x193)+_0xffb9d8(0x231),_0xffb9d8(0x235)+_0xffb9d8(0x1d2),..._0x3da196['gitArgs'],_0xffb9d8(0x1f8),'--']))[_0xffb9d8(0x222)]),appendUntrackedFilesPatch(_0x1a5e29,_0x3da196,_0x1664c4);}async function readUnstagedPatch(_0x14cafe,_0x521fce){const _0x225f62=_0x1ca7,_0x422c09=(await runGit(_0x14cafe,[_0x225f62(0x25b),_0x225f62(0x1e1)+'or',_0x225f62(0x193)+_0x225f62(0x231),_0x225f62(0x235)+'enames',..._0x521fce[_0x225f62(0x257)],'--']))[_0x225f62(0x222)];return appendUntrackedFilesPatch(_0x14cafe,_0x521fce,_0x422c09);}async function readStagedPatch(_0x5843bb,_0x4623eb){const _0x3e16f4=_0x1ca7,_0xf9ac83=(await runGit(_0x5843bb,['diff',_0x3e16f4(0x21a),'--no-col'+'or',_0x3e16f4(0x193)+_0x3e16f4(0x231),'--find-r'+_0x3e16f4(0x1d2),..._0x4623eb['gitArgs'],'--']))[_0x3e16f4(0x222)];return{'rawPatch':_0xf9ac83,'fullFilesTruncated':![]};}function buildDiffResult(_0x320b38,_0x5b29b3,_0xa11931,_0x4d41f9,_0x1e052c,_0x35ba4b,_0x165761,_0xf3e5f5=![]){const _0x12147f=_0x1ca7,_0x25b0a8=parseUnifiedDiff(_0x4d41f9);return{'repositoryPath':_0x320b38,'target':_0x5b29b3,'targetLabel':_0xa11931,'loadFullFiles':_0x165761['loadFull'+_0x12147f(0x1e5)],'ignoreWhitespace':_0x165761['ignoreWh'+'itespace'],'fullFilesTruncated':_0xf3e5f5,'baseRef':_0x1e052c,'headRef':_0x35ba4b,'files':_0x25b0a8,'additions':_0x25b0a8[_0x12147f(0x190)]((_0x9fd068,_0x8fcf1)=>_0x9fd068+_0x8fcf1[_0x12147f(0x1eb)+'s'],0x0),'deletions':_0x25b0a8['reduce']((_0x4971bc,_0x571407)=>_0x4971bc+_0x571407[_0x12147f(0x251)+'s'],0x0),'generatedAt':Date[_0x12147f(0x1aa)](),'rawPatch':_0x4d41f9};}export function createReviewController({getWorkspacePath:_0x4f8588,getGlobalRepositoryPaths:getGlobalRepositoryPaths=async()=>[]}){const _0x1fa9f5=new Map(),_0x32327f=new Map(),_0x125a11=async _0x4ceadc=>{const _0x1b225b=_0x1ca7,_0x385aed=await _0x4f8588(),_0x18dca2=_0x4ceadc?.[_0x1b225b(0x1fc)]();let _0x56d4a6=_0x18dca2?await resolveGitRoot(_0x18dca2):null;if(!_0x18dca2){const _0x2ab7a8=await getGlobalRepositoryPaths(),_0x4a13c8=Array[_0x1b225b(0x237)](_0x2ab7a8)?_0x2ab7a8:[];for(const _0x47b53f of[...new Set(_0x4a13c8[_0x1b225b(0x256)](Boolean))]){_0x56d4a6=await discoverGitRoot(_0x47b53f);if(_0x56d4a6)break;}}return{'workspacePath':_0x385aed,'repositoryPath':_0x56d4a6};},_0x4bd2f1=async _0x49ced1=>{const _0x2e96a0=_0x1ca7,_0x5adec3=await _0x125a11(_0x49ced1);if(!_0x5adec3[_0x2e96a0(0x241)+_0x2e96a0(0x213)])return{'found':![],'workspacePath':_0x5adec3['workspac'+_0x2e96a0(0x1fa)],'repositoryPath':null,'repositoryName':null,'branch':null,'head':null,'branches':[],'commits':[]};const _0xa04f36=_0x5adec3[_0x2e96a0(0x241)+_0x2e96a0(0x213)],[_0x3ec2b1,_0xa1541b,_0x19d447,_0x3296ae]=await Promise['all']([runGit(_0xa04f36,[_0x2e96a0(0x1ed),'--show-c'+'urrent'],{'allowFailure':!![]}),runGit(_0xa04f36,[_0x2e96a0(0x1a7)+'e',_0x2e96a0(0x1f8)],{'allowFailure':!![]}),runGit(_0xa04f36,[_0x2e96a0(0x254)+_0x2e96a0(0x209),_0x2e96a0(0x1cb)+_0x2e96a0(0x248)+_0x2e96a0(0x262)+')',_0x2e96a0(0x1f2)+'ds',_0x2e96a0(0x259)+_0x2e96a0(0x212)]),runGit(_0xa04f36,['log','-30','--format'+'=%H%x00%'+'h%x00%s%'+_0x2e96a0(0x244)],{'allowFailure':!![]})]),_0x3eb81a=[...new Set(_0x19d447[_0x2e96a0(0x222)][_0x2e96a0(0x1d7)]('\x0a')[_0x2e96a0(0x19a)](_0x5c0281=>_0x5c0281[_0x2e96a0(0x1fc)]())['filter'](_0x3f595a=>_0x3f595a&&!_0x3f595a[_0x2e96a0(0x1cf)](_0x2e96a0(0x1ca))))],_0x5954bc=_0x3296ae[_0x2e96a0(0x222)]['split']('\x0a')[_0x2e96a0(0x256)](Boolean)[_0x2e96a0(0x19a)](_0x3f6014=>{const [_0x5ef2eb='',_0x42f2f9='',_0x719f7d='',_0x475bc0='0']=_0x3f6014['split']('\x00');return{'sha':_0x5ef2eb,'shortSha':_0x42f2f9,'title':_0x719f7d,'timestamp':Number(_0x475bc0)*0x3e8};});return{'found':!![],'workspacePath':_0x5adec3[_0x2e96a0(0x22b)+_0x2e96a0(0x1fa)],'repositoryPath':_0xa04f36,'repositoryName':basename(_0xa04f36),'branch':_0x3ec2b1[_0x2e96a0(0x222)][_0x2e96a0(0x1fc)]()||null,'head':_0xa1541b[_0x2e96a0(0x222)][_0x2e96a0(0x1fc)]()||null,'branches':_0x3eb81a,'commits':_0x5954bc};},_0x379ad4=async _0xff0d3c=>{const _0x11823e=_0x1ca7,_0x34d265=String(_0xff0d3c?.['sessionK'+'ey']||'')[_0x11823e(0x1fc)](),_0x5b43b2=await _0x125a11(_0xff0d3c?.[_0x11823e(0x241)+_0x11823e(0x213)]||(_0x34d265?_0x32327f[_0x11823e(0x1e3)](_0x34d265):undefined));if(!_0x5b43b2[_0x11823e(0x241)+_0x11823e(0x213)])throw new Error('全局项目范围内未'+'检测到\x20Git\x20'+'仓库');const _0x2a38f0=_0x5b43b2[_0x11823e(0x241)+_0x11823e(0x213)],[_0x43a905,_0x30edd3,_0x1e28cc,_0x5bfb94,_0x162482,_0x239b53]=await Promise['all']([runGit(_0x2a38f0,[_0x11823e(0x1ed),_0x11823e(0x22f)+'urrent'],{'allowFailure':!![]}),runGit(_0x2a38f0,[_0x11823e(0x1a7)+'e',_0x11823e(0x23f),_0x11823e(0x1f8)],{'allowFailure':!![]}),runGit(_0x2a38f0,[_0x11823e(0x1a7)+'e',_0x11823e(0x1e0)+'-ref','@{upstre'+'am}'],{'allowFailure':!![]}),runGit(_0x2a38f0,[_0x11823e(0x19c)],{'allowFailure':!![]}),runGit(_0x2a38f0,['for-each'+_0x11823e(0x209),'--format'+_0x11823e(0x248)+_0x11823e(0x262)+')',_0x11823e(0x1f2)+'ds']),runGit(_0x2a38f0,[_0x11823e(0x23c),'--porcel'+'ain=v1','-z',_0x11823e(0x1fb)+'ked-file'+'s=all'])]),_0x5b07c4=_0x1e28cc['code']===0x0?_0x1e28cc[_0x11823e(0x222)]['trim']():'';let _0x17de3a=0x0,_0x514a8e=0x0;if(_0x5b07c4&&_0x30edd3[_0x11823e(0x210)]===0x0){const _0x370799=await runGit(_0x2a38f0,[_0x11823e(0x1cc),_0x11823e(0x1c4)+_0x11823e(0x1ec),'--count',_0x11823e(0x1d5)+_0x5b07c4],{'allowFailure':!![]});if(_0x370799[_0x11823e(0x210)]===0x0){const [_0x5b9169,_0x59f3d7]=_0x370799['stdout'][_0x11823e(0x1fc)]()['split'](/\s+/);_0x17de3a=Number(_0x5b9169)||0x0,_0x514a8e=Number(_0x59f3d7)||0x0;}}return{'repositoryPath':_0x2a38f0,'branch':_0x43a905[_0x11823e(0x222)][_0x11823e(0x1fc)]()||null,'head':_0x30edd3[_0x11823e(0x222)][_0x11823e(0x1fc)]()||null,'upstream':_0x5b07c4||null,'ahead':_0x17de3a,'behind':_0x514a8e,'remotes':_0x5bfb94['stdout'][_0x11823e(0x1d7)]('\x0a')[_0x11823e(0x19a)](_0x595205=>_0x595205['trim']())[_0x11823e(0x256)](Boolean),'localBranches':_0x162482[_0x11823e(0x222)][_0x11823e(0x1d7)]('\x0a')[_0x11823e(0x19a)](_0x274508=>_0x274508[_0x11823e(0x1fc)]())[_0x11823e(0x256)](Boolean),'files':parsePorcelainStatus(_0x239b53[_0x11823e(0x222)])};},_0x4a385d=async(_0x4fc3fe,_0x426f03)=>{const _0xed8a41=_0x1ca7,_0x579b31=String(_0x4fc3fe||'')[_0xed8a41(0x1fc)]();if(!_0x579b31)return{'captured':![],'repositoryPath':null};const _0x47475c=await _0x125a11(_0x426f03||_0x32327f[_0xed8a41(0x1e3)](_0x579b31));if(!_0x47475c[_0xed8a41(0x241)+_0xed8a41(0x213)])return _0x1fa9f5['delete'](_0x579b31),{'captured':![],'repositoryPath':null};const _0x3da7f8=await createWorkingTreeSnapshot(_0x47475c['reposito'+_0xed8a41(0x213)]);return _0x1fa9f5['set'](_0x579b31,{'repositoryPath':_0x47475c[_0xed8a41(0x241)+_0xed8a41(0x213)],'tree':_0x3da7f8}),{'captured':!![],'repositoryPath':_0x47475c[_0xed8a41(0x241)+'ryPath']};},_0x5ac801=async(_0x3fc2e1={})=>{const _0x48e8de=_0x1ca7,_0x35b56c=_0x3fc2e1[_0x48e8de(0x21b)]??'working-'+_0x48e8de(0x194),_0x162d6c=resolveDiffOptions(_0x3fc2e1),_0xf097c3=String(_0x3fc2e1['sessionK'+'ey']||'')['trim'](),_0x5b2c53=_0xf097c3?_0x1fa9f5[_0x48e8de(0x1e3)](_0xf097c3):undefined,_0x3db052=await _0x125a11(_0x3fc2e1[_0x48e8de(0x241)+_0x48e8de(0x213)]||(_0xf097c3?_0x32327f[_0x48e8de(0x1e3)](_0xf097c3):undefined)),_0x159376=_0x35b56c===_0x48e8de(0x226)+'n'&&_0x5b2c53?_0x5b2c53[_0x48e8de(0x241)+_0x48e8de(0x213)]:_0x3db052['reposito'+_0x48e8de(0x213)];if(!_0x159376)throw new Error(_0x48e8de(0x1af)+'检测到\x20Git\x20'+'仓库');const _0x3d87ab=await runGit(_0x159376,[_0x48e8de(0x1a7)+'e',_0x48e8de(0x23f),_0x48e8de(0x1f8)],{'allowFailure':!![]}),_0x33256c=_0x3d87ab[_0x48e8de(0x222)]['trim']()||null;if(_0x35b56c===_0x48e8de(0x230)+_0x48e8de(0x194)){const _0x5eaf2a=await prepareReviewPatch(_0x1c7c45=>readWorkingTreePatch(_0x159376,_0x1c7c45),_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,'未提交的更改',_0x5eaf2a['rawPatch'],_0x33256c,_0x33256c,_0x5eaf2a[_0x48e8de(0x1db)+_0x48e8de(0x1f4)],_0x5eaf2a[_0x48e8de(0x1a5)+'sTruncat'+'ed']);}if(_0x35b56c==='unstaged'){const _0x257af1=await prepareReviewPatch(_0x2368fe=>readUnstagedPatch(_0x159376,_0x2368fe),_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,'未暂存的更改',_0x257af1[_0x48e8de(0x1f3)],_0x33256c,_0x33256c,_0x257af1['diffOpti'+'ons'],_0x257af1[_0x48e8de(0x1a5)+_0x48e8de(0x1c5)+'ed']);}if(_0x35b56c===_0x48e8de(0x1fd)){const _0x26ed80=await prepareReviewPatch(_0x23f208=>readStagedPatch(_0x159376,_0x23f208),_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,_0x48e8de(0x1c0),_0x26ed80[_0x48e8de(0x1f3)],_0x33256c,_0x33256c,_0x26ed80[_0x48e8de(0x1db)+_0x48e8de(0x1f4)],_0x26ed80[_0x48e8de(0x1a5)+_0x48e8de(0x1c5)+'ed']);}if(_0x35b56c===_0x48e8de(0x226)+'n'){if(!_0x5b2c53)return buildDiffResult(_0x159376,_0x35b56c,_0x48e8de(0x1ff),'',null,_0x33256c,_0x162d6c,![]);const _0x564ced=await createWorkingTreeSnapshot(_0x159376),_0x88450e=await prepareReviewPatch(async _0x4483b7=>(await runGit(_0x159376,[_0x48e8de(0x25b),'--no-col'+'or','--no-ext'+_0x48e8de(0x231),_0x48e8de(0x235)+_0x48e8de(0x1d2),..._0x4483b7['gitArgs'],_0x5b2c53[_0x48e8de(0x194)],_0x564ced,'--']))['stdout'],_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,_0x48e8de(0x1ff),_0x88450e[_0x48e8de(0x1f3)],_0x5b2c53['tree'],_0x564ced,_0x88450e['diffOpti'+_0x48e8de(0x1f4)],_0x88450e['fullFile'+_0x48e8de(0x1c5)+'ed']);}if(_0x35b56c===_0x48e8de(0x20b)+_0x48e8de(0x199)){const _0x4fac8f=String(_0x3fc2e1['baseBran'+'ch']||'')[_0x48e8de(0x1fc)]();if(!_0x4fac8f)throw new Error(_0x48e8de(0x197));await runGit(_0x159376,[_0x48e8de(0x1a7)+'e',_0x48e8de(0x23f),_0x4fac8f]);const _0xe1ea02=(await runGit(_0x159376,[_0x48e8de(0x1f7)+'se','HEAD',_0x4fac8f]))[_0x48e8de(0x222)][_0x48e8de(0x1fc)](),_0x4b9607=await prepareReviewPatch(async _0x13dc7f=>(await runGit(_0x159376,[_0x48e8de(0x25b),'--no-col'+'or',_0x48e8de(0x193)+_0x48e8de(0x231),_0x48e8de(0x235)+_0x48e8de(0x1d2),..._0x13dc7f[_0x48e8de(0x257)],_0xe1ea02,'--']))[_0x48e8de(0x222)],_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,_0x48e8de(0x24e)+_0x4fac8f+_0x48e8de(0x1ad),_0x4b9607[_0x48e8de(0x1f3)],_0xe1ea02,_0x33256c,_0x4b9607['diffOpti'+_0x48e8de(0x1f4)],_0x4b9607[_0x48e8de(0x1a5)+_0x48e8de(0x1c5)+'ed']);}const _0x28e03a=String(_0x3fc2e1[_0x48e8de(0x249)]||'')[_0x48e8de(0x1fc)]();if(!_0x28e03a)throw new Error('请选择提交');const _0x116102=(await runGit(_0x159376,['rev-pars'+'e',_0x48e8de(0x23f),_0x28e03a+(_0x48e8de(0x20c)+'}')]))['stdout'][_0x48e8de(0x1fc)](),_0x1fdeea=await prepareReviewPatch(async _0x571aff=>(await runGit(_0x159376,[_0x48e8de(0x19d),_0x48e8de(0x1cb)+'=',_0x48e8de(0x1e1)+'or',_0x48e8de(0x235)+_0x48e8de(0x1d2),..._0x571aff[_0x48e8de(0x257)],_0x116102,'--']))[_0x48e8de(0x222)],_0x162d6c);return buildDiffResult(_0x159376,_0x35b56c,'提交\x20'+_0x116102[_0x48e8de(0x203)](0x0,0x7),_0x1fdeea[_0x48e8de(0x1f3)],_0x116102+'^',_0x116102,_0x1fdeea['diffOpti'+'ons'],_0x1fdeea['fullFile'+'sTruncat'+'ed']);};return{'repositoryInfo':_0x4bd2f1,async 'setRepository'(_0x373bb8,_0x2798a0){const _0x15bcbe=_0x1ca7,_0x37c9d6=String(_0x373bb8||'')[_0x15bcbe(0x1fc)]();if(!_0x37c9d6)throw new Error(_0x15bcbe(0x1a0)+_0x15bcbe(0x263)+_0x15bcbe(0x258));const _0x3b17fd=await resolveGitRoot(_0x2798a0);if(!_0x3b17fd)throw new Error(_0x15bcbe(0x1ee)+'it\x20仓库');return _0x32327f[_0x15bcbe(0x1dc)](_0x37c9d6,_0x3b17fd),_0x4bd2f1(_0x3b17fd);},'captureTurnSnapshot':_0x4a385d,'diff':_0x5ac801,'gitStatus':_0x379ad4,async 'stage'(_0x13f733,_0x3a5805){const _0x29346d=_0x1ca7,_0x4303e7=await resolveGitRoot(_0x13f733);if(!_0x4303e7)throw new Error(_0x29346d(0x21d)+'用');const _0x32eb0a=Array[_0x29346d(0x237)](_0x3a5805)?_0x3a5805['filter'](Boolean):[];return await runGit(_0x4303e7,_0x32eb0a[_0x29346d(0x1bb)]?[_0x29346d(0x239),'-A','--',..._0x32eb0a]:[_0x29346d(0x239),'-A']),_0x379ad4({'repositoryPath':_0x4303e7});},async 'unstage'(_0x5ed97b,_0x512c34){const _0x47495a=_0x1ca7,_0x177a93=await resolveGitRoot(_0x5ed97b);if(!_0x177a93)throw new Error(_0x47495a(0x21d)+'用');const _0x4c4f5b=Array[_0x47495a(0x237)](_0x512c34)?_0x512c34[_0x47495a(0x256)](Boolean):[],_0x5fb141=await runGit(_0x177a93,[_0x47495a(0x1a7)+'e',_0x47495a(0x23f),_0x47495a(0x1f8)],{'allowFailure':!![]});return _0x5fb141[_0x47495a(0x210)]===0x0?await runGit(_0x177a93,_0x4c4f5b['length']?[_0x47495a(0x25c),_0x47495a(0x219),'--',..._0x4c4f5b]:[_0x47495a(0x1f6),_0x47495a(0x206),_0x47495a(0x1f8)]):await runGit(_0x177a93,_0x4c4f5b['length']?['rm',_0x47495a(0x21a),'-r',_0x47495a(0x1fe)+_0x47495a(0x20d),'--',..._0x4c4f5b]:['rm',_0x47495a(0x21a),'-r',_0x47495a(0x1fe)+_0x47495a(0x20d),'.']),_0x379ad4({'repositoryPath':_0x177a93});},async 'commit'(_0x286121,_0xed983c){const _0x179095=_0x1ca7,_0x3a5641=await resolveGitRoot(_0x286121);if(!_0x3a5641)throw new Error(_0x179095(0x21d)+'用');const _0x505667=String(_0xed983c||'')['trim']();if(!_0x505667)throw new Error(_0x179095(0x1cd));const _0x2dfe19=await runGit(_0x3a5641,[_0x179095(0x25b),_0x179095(0x21a),_0x179095(0x1df)],{'allowFailure':!![]});if(_0x2dfe19[_0x179095(0x210)]===0x0)throw new Error(_0x179095(0x1b0));await runGit(_0x3a5641,[_0x179095(0x249),'-m',_0x505667]);const _0x5578f3=await _0x379ad4({'repositoryPath':_0x3a5641});return{..._0x5578f3,'committed':!![],'commit':_0x5578f3[_0x179095(0x260)]};},async 'fetch'(_0x2ce796){const _0x3b6a9e=_0x1ca7,_0x206da9=await resolveGitRoot(_0x2ce796);if(!_0x206da9)throw new Error(_0x3b6a9e(0x21d)+'用');const _0x4a8dfa=await _0x379ad4({'repositoryPath':_0x206da9});if(_0x4a8dfa[_0x3b6a9e(0x21f)][_0x3b6a9e(0x1bb)]===0x0)throw new Error(_0x3b6a9e(0x1dd)+'仓库');return await runGit(_0x206da9,['fetch',_0x3b6a9e(0x24f),'--prune']),_0x379ad4({'repositoryPath':_0x206da9});},async 'pull'(_0x40cdbb){const _0x5b0280=_0x1ca7,_0x17a9ed=await resolveGitRoot(_0x40cdbb);if(!_0x17a9ed)throw new Error(_0x5b0280(0x21d)+'用');const _0x1a4311=await _0x379ad4({'repositoryPath':_0x17a9ed});if(!_0x1a4311['upstream'])throw new Error(_0x5b0280(0x21c)+_0x5b0280(0x1da));return await runGit(_0x17a9ed,[_0x5b0280(0x1c9),_0x5b0280(0x1f1)+'y']),_0x379ad4({'repositoryPath':_0x17a9ed});},async 'push'(_0x3ce188){const _0x96fc63=_0x1ca7,_0x231432=await resolveGitRoot(_0x3ce188);if(!_0x231432)throw new Error(_0x96fc63(0x21d)+'用');const _0x323860=await _0x379ad4({'repositoryPath':_0x231432});if(!_0x323860[_0x96fc63(0x1ed)])throw new Error(_0x96fc63(0x20f)+_0x96fc63(0x1e6)+_0x96fc63(0x1a9));if(_0x323860[_0x96fc63(0x21f)]['length']===0x0)throw new Error(_0x96fc63(0x1dd)+'仓库');return await runGit(_0x231432,_0x323860[_0x96fc63(0x24a)]?[_0x96fc63(0x192)]:['push',_0x96fc63(0x196)+_0x96fc63(0x25e),_0x323860[_0x96fc63(0x21f)][0x0],_0x323860['branch']]),_0x379ad4({'repositoryPath':_0x231432});},async 'switchBranch'(_0x4c5075,_0x811edc){const _0x2af9ab=_0x1ca7,_0x453e78=await resolveGitRoot(_0x4c5075);if(!_0x453e78)throw new Error(_0x2af9ab(0x21d)+'用');const _0x2286cb=String(_0x811edc||'')[_0x2af9ab(0x1fc)]();if(!_0x2286cb)throw new Error(_0x2af9ab(0x246));return await runGit(_0x453e78,[_0x2af9ab(0x234),_0x2286cb]),_0x379ad4({'repositoryPath':_0x453e78});},async 'createBranch'(_0x21843c,_0x372149){const _0x279be0=_0x1ca7,_0x4bb25a=await resolveGitRoot(_0x21843c);if(!_0x4bb25a)throw new Error('Git\x20仓库不可'+'用');const _0x16bbc4=String(_0x372149||'')[_0x279be0(0x1fc)]();if(!_0x16bbc4)throw new Error(_0x279be0(0x228));return await runGit(_0x4bb25a,[_0x279be0(0x18e)+'f-format',_0x279be0(0x1d1),_0x16bbc4]),await runGit(_0x4bb25a,[_0x279be0(0x234),'-c',_0x16bbc4]),_0x379ad4({'repositoryPath':_0x4bb25a});},async 'stageFile'(_0x5c3d1b,_0x208ca6){const _0x27200a=_0x1ca7,_0x478865=await resolveGitRoot(_0x5c3d1b);if(!_0x478865)throw new Error(_0x27200a(0x21d)+'用');return await runGit(_0x478865,[_0x27200a(0x239),'-A','--',_0x208ca6]),{'ok':!![]};},async 'revertFile'(_0x20d1b0,_0x448603){const _0x31220f=_0x1ca7,_0x3d2e9f=await resolveGitRoot(_0x20d1b0);if(!_0x3d2e9f)throw new Error(_0x31220f(0x21d)+'用');const _0x33f8ad=await runGit(_0x3d2e9f,[_0x31220f(0x23c),'--porcel'+_0x31220f(0x21e),'-z',_0x31220f(0x1fb)+_0x31220f(0x215)+'s=all']),_0x11d4fa=parsePorcelainStatus(_0x33f8ad[_0x31220f(0x222)])[_0x31220f(0x1c6)](_0x23b5be=>_0x23b5be['path']===_0x448603||_0x23b5be[_0x31220f(0x1ae)]===_0x448603);if(!_0x11d4fa)return{'ok':!![]};const _0x390134=[...new Set([_0x11d4fa[_0x31220f(0x1ae)],_0x11d4fa[_0x31220f(0x214)]][_0x31220f(0x256)](Boolean))],_0x2267eb=_0x11d4fa[_0x31220f(0x264)+_0x31220f(0x1bd)]==='A'||_0x11d4fa[_0x31220f(0x264)+_0x31220f(0x1bd)]==='?';return _0x2267eb?(await runGit(_0x3d2e9f,['rm',_0x31220f(0x21a),'-r','-f',_0x31220f(0x1fe)+_0x31220f(0x20d),'--',..._0x390134]),await runGit(_0x3d2e9f,[_0x31220f(0x23e),'-f','-d','--',..._0x390134])):await runGit(_0x3d2e9f,[_0x31220f(0x25c),_0x31220f(0x1e4)+_0x31220f(0x1d9),_0x31220f(0x219),_0x31220f(0x218)+'ee','--',..._0x390134]),{'ok':!![]};}};}
@@ -1 +1 @@
1
- const _0x4a3b27=_0x3caa;(function(_0x4d830e,_0x53019f){const _0xc8bd29=_0x3caa,_0x4ffec0=_0x4d830e();while(!![]){try{const _0x46f541=parseInt(_0xc8bd29(0x23b))/0x1*(parseInt(_0xc8bd29(0x253))/0x2)+parseInt(_0xc8bd29(0x256))/0x3+-parseInt(_0xc8bd29(0x245))/0x4+-parseInt(_0xc8bd29(0x20e))/0x5*(parseInt(_0xc8bd29(0x1f2))/0x6)+parseInt(_0xc8bd29(0x240))/0x7+-parseInt(_0xc8bd29(0x252))/0x8*(-parseInt(_0xc8bd29(0x222))/0x9)+-parseInt(_0xc8bd29(0x1f9))/0xa;if(_0x46f541===_0x53019f)break;else _0x4ffec0['push'](_0x4ffec0['shift']());}catch(_0x3740ca){_0x4ffec0['push'](_0x4ffec0['shift']());}}}(_0x4235,0x67690));function _0x4235(){const _0x572613=['state_js','on\x20=\x20?,\x0a','tore_key','\x0a\x20\x20\x20\x20\x20\x20S','ore_key\x20','t_run_at','chor_ms,','at_ms\x20IS','\x20\x20\x20\x20cons','nd\x20in\x20','\x20\x20\x20\x20\x20\x20\x20r','anchor_m',',\x200)\x20+\x201','store_ke','t_ms\x20=\x20N','cron_job','n,\x0a\x20\x20\x20\x20\x20','led','ssed\x20run','.js','\x20\x20\x20\x20\x20nex','21498bhgDVu','e\x20module','SELECT\x20n','skipped','MEDIATE','isFile','runtime_','7006880ONwVpZ','\x20\x20AND\x20ne','isFinite','\x20\x20\x20\x20\x20\x20\x20s','name\x20=\x20?','\x20\x20name,\x0a','_json\x0a\x20\x20','master\x20W','ning_at_','href','\x20WHERE\x20e','skipped,','_ms,\x0a\x20\x20\x20','t_ms\x20<=\x20','chedule_','importan','d\x20=\x20COAL','cron','ron_jobs','_ms\x20=\x20?,','dataDir','295cElaoY','_tz','ecutive_','info','length','name','job_id\x20=','UPDATE\x20c','ET\x20enabl','unning_a','ext_run_','enabled,','secutive','prepare','\x20\x20\x20state','ULL','max','\x20gateway','COMMIT','\x0a\x20\x20\x20\x20\x20\x20\x20','1503EcNpFm','\x20at,\x0a\x20\x20\x20','le\x27\x20AND\x20','consecut','abled\x20by','nabled\x20=','xt_run_a','schedule',',\x0a\x20\x20\x20\x20\x20\x20','cron:\x20sk','ipped\x20mi','\x20not\x20fou','\x20before\x20','e_skippe','\x20\x20\x20\x20\x20las','_kind','ET\x20next_','skip\x20fai','cron\x20mis','startsWi','\x20\x20\x20\x20\x20\x20co','openclaw','\x20cron_jo','.sqlite','run','225349IkrsoW','floor','\x20\x20\x20\x20\x20\x20\x20\x20','push','?\x0a\x20\x20\x20\x20\x20\x20','2644614mkcREj','next_run','filter','\x201\x0a\x20\x20\x20\x20\x20','job_json','2904740peXBnw','\x20NOT\x20NUL','\x20NULL,\x0a\x20','now','nowMs','s\x20before','gateway\x20','ame\x20FROM','ESCE(con','\x20last_ru','_at_ms\x20=','at_ms\x20=\x20','L\x0a\x20\x20\x20\x20\x20\x20','27624OKkCcY','6rnteYY','map','every_ms','1294014vGqwKo','BEGIN\x20IM','updated_','OpenClaw','logger','ULL,\x0a\x20\x20\x20','\x20\x20AND\x20ru','trim','\x20\x20job_js','\x20=\x20?,\x0a\x20\x20','y_ms,\x0a\x20\x20','_ms\x20IS\x20N','every','job_id','\x20\x20\x20\x20ever','sed-run\x20','\x20LIMIT\x201','dist','_skipped','bs\x0a\x20\x20\x20\x20\x20','ROLLBACK','\x20env','stateDir','warn','ms,\x0a\x20\x20\x20\x20','function','SELECT\x0a\x20','state','iveSkipp','e\x20=\x20\x27tab','message','stringif','n_status','nsecutiv'];_0x4235=function(){return _0x572613;};return _0x4235();}import{existsSync}from'node:fs';import{readdir}from'node:fs/promises';import{DatabaseSync}from'node:sqlite';import{join,resolve}from'node:path';import{pathToFileURL}from'node:url';import{asRecord,getTrimmedString}from'../common/utils.mjs';import{loadRuntimeInfo}from'./index.mjs';const CRON_DB_FILE=_0x4a3b27(0x237)+_0x4a3b27(0x239),CRON_TABLE_NAME=_0x4a3b27(0x1ec)+'s',SCHEDULE_MODULE_PREFIX=_0x4a3b27(0x229)+'-',SCHEDULE_MODULE_SUFFIX=_0x4a3b27(0x1f0);function toFiniteMs(_0x132b0b){const _0x5cf3bb=Number(_0x132b0b);return Number['isFinite'](_0x5cf3bb)?_0x5cf3bb:undefined;}function safeJsonParse(_0x8386c,_0x1273ac={}){const _0x3c8707=_0x4a3b27;if(typeof _0x8386c!=='string'||!_0x8386c[_0x3c8707(0x25d)]())return _0x1273ac;try{return JSON['parse'](_0x8386c);}catch{return _0x1273ac;}}function createScheduleFromRow(_0x507734){const _0x532da1=_0x4a3b27,_0x32cfc=getTrimmedString(_0x507734['schedule'+_0x532da1(0x231)]);if(_0x32cfc===_0x532da1(0x20a)){const _0x58b6a2=getTrimmedString(_0x507734['schedule'+'_expr']);if(!_0x58b6a2)return null;const _0x25d539=getTrimmedString(_0x507734['schedule'+_0x532da1(0x20f)]);return{'kind':_0x32cfc,'expr':_0x58b6a2,..._0x25d539?{'tz':_0x25d539}:{}};}if(_0x32cfc===_0x532da1(0x262)){const _0x505412=toFiniteMs(_0x507734[_0x532da1(0x255)]);if(_0x505412===undefined)return null;const _0x46c5fa=toFiniteMs(_0x507734[_0x532da1(0x283)+'s']);return{'kind':_0x32cfc,'everyMs':_0x505412,..._0x46c5fa===undefined?{}:{'anchorMs':_0x46c5fa}};}if(_0x32cfc==='at'){const _0x407f30=getTrimmedString(_0x507734['at']);return _0x407f30?{'kind':_0x32cfc,'at':_0x407f30}:null;}return null;}const MISSED_RUN_SKIPPED_STATUS=_0x4a3b27(0x1f5),MISSED_RUN_SKIPPED_ERROR=_0x4a3b27(0x22b)+_0x4a3b27(0x22c)+_0x4a3b27(0x1ef)+_0x4a3b27(0x22e)+_0x4a3b27(0x24b)+'start';function nextConsecutiveSkipped(_0x3da6a7,_0x31dad4){const _0x5d289e=_0x4a3b27,_0x392b62=Number(_0x3da6a7[_0x5d289e(0x225)+'ive_skip'+'ped']);if(Number['isFinite'](_0x392b62))return Math[_0x5d289e(0x21e)](0x0,Math[_0x5d289e(0x23c)](_0x392b62))+0x1;const _0x3201d0=Number(_0x31dad4['consecut'+_0x5d289e(0x272)+'ed']);return Number['isFinite'](_0x3201d0)?Math['max'](0x0,Math[_0x5d289e(0x23c)](_0x3201d0))+0x1:0x1;}function patchStateJson(_0x4610c5,_0x414bed,_0x5dae06){const _0x30acfd=_0x4a3b27,_0x218273=asRecord(safeJsonParse(_0x4610c5[_0x30acfd(0x278)+'on'],{})),_0x353def=nextConsecutiveSkipped(_0x4610c5,_0x218273);return JSON[_0x30acfd(0x275)+'y']({..._0x218273,'nextRunAtMs':_0x414bed,'runningAtMs':undefined,'lastRunAtMs':_0x5dae06,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x353def});}function patchJobJson(_0x5be5f8,{enabled:_0x3fb699,nextRunAtMs:_0x1a0be8,skippedAtMs:_0x336fde}){const _0x1a85dd=_0x4a3b27,_0x32a808=asRecord(safeJsonParse(_0x5be5f8[_0x1a85dd(0x244)],{})),_0x1d9a5b=asRecord(_0x32a808[_0x1a85dd(0x271)]),_0x11b58b=nextConsecutiveSkipped(_0x5be5f8,_0x1d9a5b);return JSON[_0x1a85dd(0x275)+'y']({..._0x32a808,'enabled':_0x3fb699,'state':{..._0x1d9a5b,'nextRunAtMs':_0x1a0be8,'runningAtMs':undefined,'lastRunAtMs':_0x336fde,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x11b58b}});}async function loadOpenClawScheduleComputer(_0x57943b){const _0x185002=_0x4a3b27,_0x107f76=resolve(_0x57943b[_0x185002(0x237)+'WorkingD'+'ir'],_0x185002(0x267)),_0x945c7d=await readdir(_0x107f76,{'withFileTypes':!![]}),_0x65d503=_0x945c7d[_0x185002(0x242)](_0x33f3e9=>_0x33f3e9[_0x185002(0x1f7)]())[_0x185002(0x254)](_0x586e61=>_0x586e61[_0x185002(0x213)])[_0x185002(0x242)](_0x35203e=>_0x35203e[_0x185002(0x235)+'th'](SCHEDULE_MODULE_PREFIX)&&_0x35203e['endsWith'](SCHEDULE_MODULE_SUFFIX));for(const _0x1e4b42 of _0x65d503){const _0x392643=pathToFileURL(join(_0x107f76,_0x1e4b42))[_0x185002(0x202)],_0x5dd51c=await import(_0x392643);if(typeof _0x5dd51c['t']===_0x185002(0x26f))return _0x5dd51c['t'];}throw new Error(_0x185002(0x259)+'\x20schedul'+_0x185002(0x1f3)+_0x185002(0x22d)+_0x185002(0x281)+_0x107f76);}function _0x3caa(_0x58b9cc,_0x4f1185){_0x58b9cc=_0x58b9cc-0x1ea;const _0x423565=_0x4235();let _0x3caafb=_0x423565[_0x58b9cc];return _0x3caafb;}function tableExists(_0x26baee){const _0x41cdef=_0x4a3b27,_0x200599=_0x26baee[_0x41cdef(0x21b)](_0x41cdef(0x1f4)+_0x41cdef(0x24c)+'\x20sqlite_'+_0x41cdef(0x200)+'HERE\x20typ'+_0x41cdef(0x273)+_0x41cdef(0x224)+_0x41cdef(0x1fd)+_0x41cdef(0x266))['get'](CRON_TABLE_NAME);return Boolean(_0x200599);}function readExpiredRows(_0xa3f18e,_0x50fa1f){const _0xc5604f=_0x4a3b27;return _0xa3f18e[_0xc5604f(0x21b)](_0xc5604f(0x270)+_0xc5604f(0x1fc)+_0xc5604f(0x27a)+_0xc5604f(0x22a)+'\x20\x20job_id'+_0xc5604f(0x22a)+_0xc5604f(0x1fe)+_0xc5604f(0x23d)+_0xc5604f(0x219)+_0xc5604f(0x221)+'\x20schedul'+'e_kind,\x0a'+_0xc5604f(0x23d)+'schedule'+'_expr,\x0a\x20'+'\x20\x20\x20\x20\x20\x20\x20s'+_0xc5604f(0x207)+'tz,\x0a\x20\x20\x20\x20'+_0xc5604f(0x264)+_0xc5604f(0x260)+'\x20\x20\x20\x20\x20\x20an'+_0xc5604f(0x27e)+_0xc5604f(0x221)+_0xc5604f(0x223)+_0xc5604f(0x1f1)+_0xc5604f(0x27d)+_0xc5604f(0x205)+'\x20\x20\x20\x20\x20run'+_0xc5604f(0x201)+_0xc5604f(0x26e)+_0xc5604f(0x280)+_0xc5604f(0x210)+_0xc5604f(0x204)+'\x0a\x20\x20\x20\x20\x20\x20\x20'+'\x20job_jso'+_0xc5604f(0x1ed)+_0xc5604f(0x21c)+_0xc5604f(0x1ff)+'\x20\x20\x20\x20FROM'+_0xc5604f(0x238)+_0xc5604f(0x269)+_0xc5604f(0x203)+_0xc5604f(0x227)+_0xc5604f(0x243)+'\x20\x20\x20AND\x20n'+_0xc5604f(0x218)+_0xc5604f(0x27f)+_0xc5604f(0x246)+_0xc5604f(0x251)+_0xc5604f(0x1fa)+_0xc5604f(0x228)+_0xc5604f(0x206)+_0xc5604f(0x23f)+_0xc5604f(0x25c)+'nning_at'+_0xc5604f(0x261)+_0xc5604f(0x21d))['all'](_0x50fa1f);}function updateNextRun(_0xb0618e,_0xd65011,_0x55845b,_0x44ac0d,_0x26ce89){const _0x384490=_0x4a3b27;_0xb0618e['prepare'](_0x384490(0x215)+_0x384490(0x20b)+'\x0a\x20\x20\x20\x20\x20\x20S'+_0x384490(0x232)+'run_at_m'+'s\x20=\x20?,\x0a\x20'+_0x384490(0x282)+'unning_a'+'t_ms\x20=\x20N'+'ULL,\x0a\x20\x20\x20'+_0x384490(0x230)+_0x384490(0x27d)+_0x384490(0x20c)+'\x0a\x20\x20\x20\x20\x20\x20\x20'+_0x384490(0x24e)+_0x384490(0x276)+_0x384490(0x25f)+'\x20\x20\x20\x20\x20\x20la'+'st_error'+_0x384490(0x25f)+_0x384490(0x236)+_0x384490(0x277)+_0x384490(0x22f)+'d\x20=\x20COAL'+'ESCE(con'+_0x384490(0x21a)+_0x384490(0x268)+_0x384490(0x284)+_0x384490(0x22a)+_0x384490(0x25e)+_0x384490(0x279)+_0x384490(0x23d)+_0x384490(0x278)+_0x384490(0x279)+_0x384490(0x23d)+_0x384490(0x1f8)+_0x384490(0x258)+_0x384490(0x250)+_0x384490(0x23f)+'WHERE\x20st'+'ore_key\x20'+'=\x20?\x20AND\x20'+_0x384490(0x214)+'\x20?')[_0x384490(0x23a)](_0x55845b,_0x26ce89,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0xd65011,{'enabled':!![],'nextRunAtMs':_0x55845b,'skippedAtMs':_0x26ce89}),patchStateJson(_0xd65011,_0x55845b,_0x26ce89),_0x44ac0d,_0xd65011[_0x384490(0x1ea)+'y'],_0xd65011[_0x384490(0x263)]);}function disableExpiredAtRun(_0x3b3590,_0x50bc4b,_0x453e1a,_0x3b2abd){const _0xd775b5=_0x4a3b27;_0x3b3590[_0xd775b5(0x21b)]('UPDATE\x20c'+'ron_jobs'+_0xd775b5(0x27b)+_0xd775b5(0x216)+'ed\x20=\x200,\x0a'+_0xd775b5(0x23d)+_0xd775b5(0x241)+_0xd775b5(0x24f)+_0xd775b5(0x247)+_0xd775b5(0x282)+_0xd775b5(0x217)+_0xd775b5(0x1eb)+_0xd775b5(0x25b)+_0xd775b5(0x230)+_0xd775b5(0x27d)+_0xd775b5(0x20c)+'\x0a\x20\x20\x20\x20\x20\x20\x20'+_0xd775b5(0x24e)+_0xd775b5(0x276)+_0xd775b5(0x25f)+'\x20\x20\x20\x20\x20\x20la'+'st_error'+_0xd775b5(0x25f)+'\x20\x20\x20\x20\x20\x20co'+_0xd775b5(0x277)+_0xd775b5(0x22f)+_0xd775b5(0x209)+_0xd775b5(0x24d)+_0xd775b5(0x21a)+_0xd775b5(0x268)+_0xd775b5(0x284)+',\x0a\x20\x20\x20\x20\x20\x20'+_0xd775b5(0x25e)+'on\x20=\x20?,\x0a'+_0xd775b5(0x23d)+_0xd775b5(0x278)+'on\x20=\x20?,\x0a'+_0xd775b5(0x23d)+_0xd775b5(0x1f8)+'updated_'+_0xd775b5(0x250)+'?\x0a\x20\x20\x20\x20\x20\x20'+'WHERE\x20st'+_0xd775b5(0x27c)+'=\x20?\x20AND\x20'+_0xd775b5(0x214)+'\x20?')[_0xd775b5(0x23a)](_0x3b2abd,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0x50bc4b,{'enabled':![],'nextRunAtMs':undefined,'skippedAtMs':_0x3b2abd}),patchStateJson(_0x50bc4b,undefined,_0x3b2abd),_0x453e1a,_0x50bc4b[_0xd775b5(0x1ea)+'y'],_0x50bc4b[_0xd775b5(0x263)]);}export async function skipMissedCronRunsBeforeGatewayStart(_0x3bb4fc,_0x9fe6ac={}){const _0x50e637=_0x4a3b27;if(process.env.WUJIE_SHELL_SKIP_MISSED_CRON_RUNS==='0')return _0x9fe6ac[_0x50e637(0x25a)]?.[_0x50e637(0x211)]?.({'enabled':![]},_0x50e637(0x234)+_0x50e637(0x265)+'skip\x20dis'+_0x50e637(0x226)+_0x50e637(0x26b)),{'skipped':0x0,'inspected':0x0,'disabled':!![]};const _0x502e3a=getTrimmedString(_0x9fe6ac[_0x50e637(0x26c)])||_0x3bb4fc[_0x50e637(0x20d)],_0x5207b5=join(_0x502e3a,_0x50e637(0x271),CRON_DB_FILE);if(!existsSync(_0x5207b5))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0xecfb5b=toFiniteMs(_0x9fe6ac[_0x50e637(0x249)])??Date[_0x50e637(0x248)](),_0x354c8f=Date[_0x50e637(0x248)]();let _0x39e07f;try{_0x39e07f=new DatabaseSync(_0x5207b5);if(!tableExists(_0x39e07f))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0x1432a2=readExpiredRows(_0x39e07f,_0xecfb5b);if(_0x1432a2[_0x50e637(0x212)]===0x0)return{'skipped':0x0,'inspected':0x0};const _0x3ba758=await loadRuntimeInfo(_0x3bb4fc['projectR'+'oot']),_0x4415b4=await loadOpenClawScheduleComputer(_0x3ba758);let _0x2ed5cd=0x0;const _0x592181=[];_0x39e07f['exec'](_0x50e637(0x257)+_0x50e637(0x1f6));try{for(const _0x3a13de of _0x1432a2){const _0xa91e6a=createScheduleFromRow(_0x3a13de);if(!_0xa91e6a)continue;if(_0xa91e6a['kind']==='at'){disableExpiredAtRun(_0x39e07f,_0x3a13de,_0x354c8f,_0xecfb5b),_0x2ed5cd+=0x1;continue;}let _0x182474;try{_0x182474=_0x4415b4(_0xa91e6a,_0xecfb5b);}catch(_0x36e92c){_0x592181[_0x50e637(0x23e)]({'jobId':_0x3a13de[_0x50e637(0x263)],'message':_0x36e92c instanceof Error?_0x36e92c[_0x50e637(0x274)]:String(_0x36e92c)});continue;}if(!Number[_0x50e637(0x1fb)](_0x182474)||_0x182474<=_0xecfb5b)continue;updateNextRun(_0x39e07f,_0x3a13de,Math[_0x50e637(0x23c)](_0x182474),_0x354c8f,_0xecfb5b),_0x2ed5cd+=0x1;}_0x39e07f['exec'](_0x50e637(0x220));}catch(_0x589254){_0x39e07f['exec'](_0x50e637(0x26a));throw _0x589254;}return(_0x2ed5cd>0x0||_0x592181[_0x50e637(0x212)]>0x0)&&_0x9fe6ac[_0x50e637(0x25a)]?.[_0x50e637(0x208)+'t']?.({'dbPath':_0x5207b5,'inspected':_0x1432a2[_0x50e637(0x212)],'skipped':_0x2ed5cd,'failures':_0x592181},_0x50e637(0x22b)+_0x50e637(0x22c)+_0x50e637(0x1ef)+_0x50e637(0x24a)+_0x50e637(0x21f)+'\x20start'),{'skipped':_0x2ed5cd,'inspected':_0x1432a2[_0x50e637(0x212)],'failures':_0x592181};}catch(_0x3ff5a6){return _0x9fe6ac[_0x50e637(0x25a)]?.[_0x50e637(0x26d)]?.(_0x50e637(0x234)+_0x50e637(0x265)+_0x50e637(0x233)+_0x50e637(0x1ee),{'dbPath':_0x5207b5,'error':_0x3ff5a6 instanceof Error?_0x3ff5a6['message']:String(_0x3ff5a6)}),{'skipped':0x0,'inspected':0x0,'error':_0x3ff5a6};}finally{_0x39e07f?.['close']();}}
1
+ const _0x3becdb=_0x2a78;(function(_0x4eb23f,_0x7e1d2e){const _0x597ac8=_0x2a78,_0x1822aa=_0x4eb23f();while(!![]){try{const _0x5edc5d=-parseInt(_0x597ac8(0x1cb))/0x1*(-parseInt(_0x597ac8(0x1b9))/0x2)+-parseInt(_0x597ac8(0x1c1))/0x3+-parseInt(_0x597ac8(0x1c8))/0x4*(parseInt(_0x597ac8(0x159))/0x5)+-parseInt(_0x597ac8(0x18e))/0x6*(parseInt(_0x597ac8(0x17c))/0x7)+-parseInt(_0x597ac8(0x1cd))/0x8*(-parseInt(_0x597ac8(0x1c7))/0x9)+parseInt(_0x597ac8(0x142))/0xa*(parseInt(_0x597ac8(0x1d5))/0xb)+-parseInt(_0x597ac8(0x1c3))/0xc*(-parseInt(_0x597ac8(0x160))/0xd);if(_0x5edc5d===_0x7e1d2e)break;else _0x1822aa['push'](_0x1822aa['shift']());}catch(_0x3f382c){_0x1822aa['push'](_0x1822aa['shift']());}}}(_0x12a9,0x500db));import{existsSync}from'node:fs';import{readdir}from'node:fs/promises';import{DatabaseSync}from'node:sqlite';import{join,resolve}from'node:path';import{pathToFileURL}from'node:url';function _0x2a78(_0x5cbc51,_0x3188b1){_0x5cbc51=_0x5cbc51-0x140;const _0x12a90d=_0x12a9();let _0x2a78fe=_0x12a90d[_0x5cbc51];return _0x2a78fe;}import{asRecord,getTrimmedString}from'../common/utils.mjs';import{loadRuntimeInfo}from'./index.mjs';const CRON_DB_FILE='openclaw'+_0x3becdb(0x1b8),CRON_TABLE_NAME=_0x3becdb(0x147)+'s',SCHEDULE_MODULE_PREFIX=_0x3becdb(0x1b2)+'-',SCHEDULE_MODULE_SUFFIX='.js';function toFiniteMs(_0x1d75e8){const _0x41a782=_0x3becdb,_0x431572=Number(_0x1d75e8);return Number[_0x41a782(0x1ab)](_0x431572)?_0x431572:undefined;}function safeJsonParse(_0x20c914,_0x5a8574={}){const _0x4cc599=_0x3becdb;if(typeof _0x20c914!==_0x4cc599(0x153)||!_0x20c914[_0x4cc599(0x152)]())return _0x5a8574;try{return JSON['parse'](_0x20c914);}catch{return _0x5a8574;}}function createScheduleFromRow(_0x325963){const _0x55d15a=_0x3becdb,_0x59f6c6=getTrimmedString(_0x325963[_0x55d15a(0x1b2)+_0x55d15a(0x195)]);if(_0x59f6c6===_0x55d15a(0x169)){const _0x512819=getTrimmedString(_0x325963[_0x55d15a(0x1b2)+_0x55d15a(0x1aa)]);if(!_0x512819)return null;const _0x2da293=getTrimmedString(_0x325963[_0x55d15a(0x1b2)+_0x55d15a(0x1c5)]);return{'kind':_0x59f6c6,'expr':_0x512819,..._0x2da293?{'tz':_0x2da293}:{}};}if(_0x59f6c6==='every'){const _0x628a1f=toFiniteMs(_0x325963[_0x55d15a(0x16d)]);if(_0x628a1f===undefined)return null;const _0x20ce90=toFiniteMs(_0x325963[_0x55d15a(0x17e)+'s']);return{'kind':_0x59f6c6,'everyMs':_0x628a1f,..._0x20ce90===undefined?{}:{'anchorMs':_0x20ce90}};}if(_0x59f6c6==='at'){const _0x1da608=getTrimmedString(_0x325963['at']);return _0x1da608?{'kind':_0x59f6c6,'at':_0x1da608}:null;}return null;}const MISSED_RUN_SKIPPED_STATUS='skipped',MISSED_RUN_SKIPPED_ERROR=_0x3becdb(0x17b)+_0x3becdb(0x18f)+'ssed\x20run'+'\x20before\x20'+_0x3becdb(0x1d7)+_0x3becdb(0x187);function nextConsecutiveSkipped(_0x32bf42,_0x5f5a6d){const _0x3d0179=_0x3becdb,_0x4092f2=Number(_0x32bf42[_0x3d0179(0x19c)+'ive_skip'+_0x3d0179(0x166)]);if(Number[_0x3d0179(0x1ab)](_0x4092f2))return Math[_0x3d0179(0x184)](0x0,Math[_0x3d0179(0x1a4)](_0x4092f2))+0x1;const _0x30c4c8=Number(_0x5f5a6d[_0x3d0179(0x19c)+'iveSkipp'+'ed']);return Number[_0x3d0179(0x1ab)](_0x30c4c8)?Math['max'](0x0,Math[_0x3d0179(0x1a4)](_0x30c4c8))+0x1:0x1;}function patchStateJson(_0x5b342f,_0x1033b1,_0x5d304b){const _0x51c9b7=_0x3becdb,_0x3b0c8f=asRecord(safeJsonParse(_0x5b342f[_0x51c9b7(0x158)+'on'],{})),_0x3d0d49=nextConsecutiveSkipped(_0x5b342f,_0x3b0c8f);return JSON[_0x51c9b7(0x173)+'y']({..._0x3b0c8f,'nextRunAtMs':_0x1033b1,'runningAtMs':undefined,'lastRunAtMs':_0x5d304b,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x3d0d49});}function _0x12a9(){const _0x14f508=['cron:\x20sk','4956rAFpwU','\x20WHERE\x20e','anchor_m','\x20\x20job_js','chedule_','\x20\x20AND\x20ne','updated_','ssed\x20run','max','\x20last_ru','run_at_m','start','ron_jobs','ESCE(con','_ms\x20=\x20?,','\x20\x20\x20\x20\x20\x20co','ning_at_','at_ms\x20IS','1818cBBGal','ipped\x20mi','skip\x20fai','\x20start','nowMs',',\x200)\x20+\x201','ROLLBACK','_kind','e\x20=\x20\x27tab','y_ms,\x0a\x20\x20','t_ms\x20=\x20N','dist','=\x20?\x20AND\x20','ed\x20=\x200,\x0a','consecut','chor_ms,','nabled\x20=','endsWith','\x20=\x20?,\x0a\x20\x20','?\x0a\x20\x20\x20\x20\x20\x20','ULL','\x20\x20job_id','floor','s\x20before','logger','job_id\x20=','name\x20=\x20?','openclaw','_expr','isFinite','\x20\x20\x20\x20\x20\x20\x20\x20','job_json','now','master\x20W','kind',',\x0a\x20\x20\x20\x20\x20\x20','schedule','store_ke','ext_run_','oot','skip\x20dis','ET\x20next_','.sqlite','18VWMjcC','dataDir','BEGIN\x20IM','nsecutiv','\x201\x0a\x20\x20\x20\x20\x20','_skipped','n,\x0a\x20\x20\x20\x20\x20','WHERE\x20st','1684419WnQnYX','COMMIT','108KOwDvW','bs\x0a\x20\x20\x20\x20\x20','_tz','\x20env','2167038SagWUP','1001272GjxHAj','\x20schedul','\x20\x20name,\x0a','56773hzsDiK','prepare','8ZSLVYQ','enabled,','\x20\x20\x20\x20FROM','projectR','tore_key','function','isFile','st_error','11prVATS','e_skippe','gateway\x20','at_ms\x20=\x20','\x0a\x20\x20\x20\x20\x20\x20S','d\x20=\x20COAL','href','unning_a','s\x20=\x20?,\x0a\x20','\x20\x20\x20\x20\x20\x20la','\x20\x20\x20\x20\x20las','660580rPgSYu','exec','\x20sqlite_','cron\x20mis','filter','cron_job','secutive','abled\x20by','led','job_id','close','\x20at,\x0a\x20\x20\x20','_json\x0a\x20\x20','ecutive_','importan','push','trim','string','runtime_','ULL,\x0a\x20\x20\x20','length','sed-run\x20','state_js','10EQUXqT','on\x20=\x20?,\x0a','next_run','_expr,\x0a\x20','nd\x20in\x20','\x20cron_jo','state','1136395iNWiIa','\x20\x20\x20AND\x20n','WorkingD','ET\x20enabl','run','\x0a\x20\x20\x20\x20\x20\x20\x20','ped','UPDATE\x20c','t_run_at','cron','\x20\x20\x20\x20\x20\x20\x20s','n_status','\x20\x20\x20\x20ever','every_ms','HERE\x20typ','name','le\x27\x20AND\x20','map','\x20not\x20fou','stringif','\x20\x20\x20\x20cons','ore_key\x20','\x20job_jso','\x20\x20\x20\x20\x20\x20\x20r','\x20\x20\x20\x20\x20run','\x20\x20\x20\x20\x20nex','tz,\x0a\x20\x20\x20\x20'];_0x12a9=function(){return _0x14f508;};return _0x12a9();}function patchJobJson(_0x5b3082,{enabled:_0x35ca89,nextRunAtMs:_0x230582,skippedAtMs:_0x2d13ea}){const _0x3a33a2=_0x3becdb,_0x5d814d=asRecord(safeJsonParse(_0x5b3082[_0x3a33a2(0x1ad)],{})),_0x4f4af3=asRecord(_0x5d814d[_0x3a33a2(0x15f)]),_0x3531eb=nextConsecutiveSkipped(_0x5b3082,_0x4f4af3);return JSON['stringif'+'y']({..._0x5d814d,'enabled':_0x35ca89,'state':{..._0x4f4af3,'nextRunAtMs':_0x230582,'runningAtMs':undefined,'lastRunAtMs':_0x2d13ea,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x3531eb}});}async function loadOpenClawScheduleComputer(_0x276bc9){const _0x107f17=_0x3becdb,_0x1f6956=resolve(_0x276bc9[_0x107f17(0x1a9)+_0x107f17(0x162)+'ir'],_0x107f17(0x199)),_0x23c8f7=await readdir(_0x1f6956,{'withFileTypes':!![]}),_0x2b7e66=_0x23c8f7['filter'](_0x14ffbe=>_0x14ffbe[_0x107f17(0x1d3)]())[_0x107f17(0x171)](_0x3516c6=>_0x3516c6[_0x107f17(0x16f)])[_0x107f17(0x146)](_0x17a682=>_0x17a682['startsWi'+'th'](SCHEDULE_MODULE_PREFIX)&&_0x17a682[_0x107f17(0x19f)](SCHEDULE_MODULE_SUFFIX));for(const _0x1bd2de of _0x2b7e66){const _0x2872d5=pathToFileURL(join(_0x1f6956,_0x1bd2de))[_0x107f17(0x1db)],_0x5f36cc=await import(_0x2872d5);if(typeof _0x5f36cc['t']===_0x107f17(0x1d2))return _0x5f36cc['t'];}throw new Error('OpenClaw'+_0x107f17(0x1c9)+'e\x20module'+_0x107f17(0x172)+_0x107f17(0x15d)+_0x1f6956);}function tableExists(_0x1ee0d6){const _0x1a4a50=_0x3becdb,_0x349011=_0x1ee0d6['prepare']('SELECT\x20n'+'ame\x20FROM'+_0x1a4a50(0x144)+_0x1a4a50(0x1af)+_0x1a4a50(0x16e)+_0x1a4a50(0x196)+_0x1a4a50(0x170)+_0x1a4a50(0x1a8)+'\x20LIMIT\x201')['get'](CRON_TABLE_NAME);return Boolean(_0x349011);}function readExpiredRows(_0x563b5d,_0x1c9c76){const _0x9ee136=_0x3becdb;return _0x563b5d[_0x9ee136(0x1cc)]('SELECT\x0a\x20'+_0x9ee136(0x16a)+_0x9ee136(0x1d1)+_0x9ee136(0x1b1)+_0x9ee136(0x1a3)+',\x0a\x20\x20\x20\x20\x20\x20'+_0x9ee136(0x1ca)+_0x9ee136(0x1ac)+_0x9ee136(0x1ce)+_0x9ee136(0x165)+'\x20schedul'+'e_kind,\x0a'+_0x9ee136(0x1ac)+_0x9ee136(0x1b2)+_0x9ee136(0x15c)+_0x9ee136(0x16a)+_0x9ee136(0x180)+_0x9ee136(0x17a)+_0x9ee136(0x16c)+_0x9ee136(0x197)+'\x20\x20\x20\x20\x20\x20an'+_0x9ee136(0x19d)+_0x9ee136(0x165)+_0x9ee136(0x14d)+_0x9ee136(0x179)+_0x9ee136(0x168)+'_ms,\x0a\x20\x20\x20'+_0x9ee136(0x178)+_0x9ee136(0x18c)+'ms,\x0a\x20\x20\x20\x20'+_0x9ee136(0x174)+_0x9ee136(0x14f)+'skipped,'+_0x9ee136(0x165)+_0x9ee136(0x176)+_0x9ee136(0x1bf)+'\x20\x20\x20state'+_0x9ee136(0x14e)+_0x9ee136(0x1cf)+_0x9ee136(0x15e)+_0x9ee136(0x1c4)+_0x9ee136(0x17d)+_0x9ee136(0x19e)+_0x9ee136(0x1bd)+_0x9ee136(0x161)+_0x9ee136(0x1b4)+_0x9ee136(0x18d)+'\x20NOT\x20NUL'+'L\x0a\x20\x20\x20\x20\x20\x20'+_0x9ee136(0x181)+'xt_run_a'+'t_ms\x20<=\x20'+_0x9ee136(0x1a1)+'\x20\x20AND\x20ru'+'nning_at'+'_ms\x20IS\x20N'+_0x9ee136(0x1a2))['all'](_0x1c9c76);}function updateNextRun(_0x8cd543,_0x5b60c5,_0x2ef3f8,_0x36d7c6,_0x7173f4){const _0x2fd6a6=_0x3becdb;_0x8cd543[_0x2fd6a6(0x1cc)](_0x2fd6a6(0x167)+_0x2fd6a6(0x188)+_0x2fd6a6(0x1d9)+_0x2fd6a6(0x1b7)+_0x2fd6a6(0x186)+_0x2fd6a6(0x1dd)+_0x2fd6a6(0x177)+_0x2fd6a6(0x1dc)+_0x2fd6a6(0x198)+_0x2fd6a6(0x155)+'\x20\x20\x20\x20\x20las'+_0x2fd6a6(0x168)+_0x2fd6a6(0x18a)+'\x0a\x20\x20\x20\x20\x20\x20\x20'+_0x2fd6a6(0x185)+_0x2fd6a6(0x16b)+_0x2fd6a6(0x1a0)+'\x20\x20\x20\x20\x20\x20la'+_0x2fd6a6(0x1d4)+_0x2fd6a6(0x1a0)+_0x2fd6a6(0x18b)+'nsecutiv'+_0x2fd6a6(0x1d6)+_0x2fd6a6(0x1da)+_0x2fd6a6(0x189)+_0x2fd6a6(0x148)+_0x2fd6a6(0x1be)+_0x2fd6a6(0x193)+_0x2fd6a6(0x1b1)+_0x2fd6a6(0x17f)+_0x2fd6a6(0x15a)+'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2fd6a6(0x158)+_0x2fd6a6(0x15a)+_0x2fd6a6(0x1ac)+'runtime_'+_0x2fd6a6(0x182)+'at_ms\x20=\x20'+'?\x0a\x20\x20\x20\x20\x20\x20'+_0x2fd6a6(0x1c0)+'ore_key\x20'+_0x2fd6a6(0x19a)+_0x2fd6a6(0x1a7)+'\x20?')[_0x2fd6a6(0x164)](_0x2ef3f8,_0x7173f4,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0x5b60c5,{'enabled':!![],'nextRunAtMs':_0x2ef3f8,'skippedAtMs':_0x7173f4}),patchStateJson(_0x5b60c5,_0x2ef3f8,_0x7173f4),_0x36d7c6,_0x5b60c5[_0x2fd6a6(0x1b3)+'y'],_0x5b60c5[_0x2fd6a6(0x14b)]);}function disableExpiredAtRun(_0x508d3f,_0x1cf44d,_0x345f40,_0x14e512){const _0x3723f1=_0x3becdb;_0x508d3f['prepare'](_0x3723f1(0x167)+_0x3723f1(0x188)+'\x0a\x20\x20\x20\x20\x20\x20S'+_0x3723f1(0x163)+_0x3723f1(0x19b)+_0x3723f1(0x1ac)+_0x3723f1(0x15b)+'_at_ms\x20='+'\x20NULL,\x0a\x20'+'\x20\x20\x20\x20\x20\x20\x20r'+_0x3723f1(0x1dc)+_0x3723f1(0x198)+_0x3723f1(0x155)+_0x3723f1(0x141)+'t_run_at'+'_ms\x20=\x20?,'+_0x3723f1(0x165)+'\x20last_ru'+_0x3723f1(0x16b)+_0x3723f1(0x1a0)+_0x3723f1(0x140)+'st_error'+_0x3723f1(0x1a0)+_0x3723f1(0x18b)+_0x3723f1(0x1bc)+_0x3723f1(0x1d6)+_0x3723f1(0x1da)+_0x3723f1(0x189)+'secutive'+'_skipped'+_0x3723f1(0x193)+_0x3723f1(0x1b1)+_0x3723f1(0x17f)+'on\x20=\x20?,\x0a'+_0x3723f1(0x1ac)+_0x3723f1(0x158)+'on\x20=\x20?,\x0a'+_0x3723f1(0x1ac)+_0x3723f1(0x154)+'updated_'+_0x3723f1(0x1d8)+_0x3723f1(0x1a1)+_0x3723f1(0x1c0)+_0x3723f1(0x175)+_0x3723f1(0x19a)+_0x3723f1(0x1a7)+'\x20?')[_0x3723f1(0x164)](_0x14e512,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0x1cf44d,{'enabled':![],'nextRunAtMs':undefined,'skippedAtMs':_0x14e512}),patchStateJson(_0x1cf44d,undefined,_0x14e512),_0x345f40,_0x1cf44d[_0x3723f1(0x1b3)+'y'],_0x1cf44d[_0x3723f1(0x14b)]);}export async function skipMissedCronRunsBeforeGatewayStart(_0x2857ef,_0x3949d9={}){const _0x303888=_0x3becdb;if(process.env.WUJIE_SHELL_SKIP_MISSED_CRON_RUNS==='0')return _0x3949d9[_0x303888(0x1a6)]?.['info']?.({'enabled':![]},'cron\x20mis'+_0x303888(0x157)+_0x303888(0x1b6)+_0x303888(0x149)+_0x303888(0x1c6)),{'skipped':0x0,'inspected':0x0,'disabled':!![]};const _0x2afad6=getTrimmedString(_0x3949d9['stateDir'])||_0x2857ef[_0x303888(0x1ba)],_0x8657ea=join(_0x2afad6,_0x303888(0x15f),CRON_DB_FILE);if(!existsSync(_0x8657ea))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0x50b16c=toFiniteMs(_0x3949d9[_0x303888(0x192)])??Date[_0x303888(0x1ae)](),_0x1b645f=Date['now']();let _0x5b544e;try{_0x5b544e=new DatabaseSync(_0x8657ea);if(!tableExists(_0x5b544e))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0x5e5268=readExpiredRows(_0x5b544e,_0x50b16c);if(_0x5e5268[_0x303888(0x156)]===0x0)return{'skipped':0x0,'inspected':0x0};const _0xf481c4=await loadRuntimeInfo(_0x2857ef[_0x303888(0x1d0)+_0x303888(0x1b5)]),_0x183176=await loadOpenClawScheduleComputer(_0xf481c4);let _0x5676a1=0x0;const _0x585c74=[];_0x5b544e[_0x303888(0x143)](_0x303888(0x1bb)+'MEDIATE');try{for(const _0x199546 of _0x5e5268){const _0xc8b2be=createScheduleFromRow(_0x199546);if(!_0xc8b2be)continue;if(_0xc8b2be[_0x303888(0x1b0)]==='at'){disableExpiredAtRun(_0x5b544e,_0x199546,_0x1b645f,_0x50b16c),_0x5676a1+=0x1;continue;}let _0x44d9da;try{_0x44d9da=_0x183176(_0xc8b2be,_0x50b16c);}catch(_0x1950c3){_0x585c74[_0x303888(0x151)]({'jobId':_0x199546['job_id'],'message':_0x1950c3 instanceof Error?_0x1950c3['message']:String(_0x1950c3)});continue;}if(!Number[_0x303888(0x1ab)](_0x44d9da)||_0x44d9da<=_0x50b16c)continue;updateNextRun(_0x5b544e,_0x199546,Math[_0x303888(0x1a4)](_0x44d9da),_0x1b645f,_0x50b16c),_0x5676a1+=0x1;}_0x5b544e['exec'](_0x303888(0x1c2));}catch(_0x22fc52){_0x5b544e[_0x303888(0x143)](_0x303888(0x194));throw _0x22fc52;}return(_0x5676a1>0x0||_0x585c74[_0x303888(0x156)]>0x0)&&_0x3949d9['logger']?.[_0x303888(0x150)+'t']?.({'dbPath':_0x8657ea,'inspected':_0x5e5268[_0x303888(0x156)],'skipped':_0x5676a1,'failures':_0x585c74},_0x303888(0x17b)+'ipped\x20mi'+_0x303888(0x183)+_0x303888(0x1a5)+'\x20gateway'+_0x303888(0x191)),{'skipped':_0x5676a1,'inspected':_0x5e5268[_0x303888(0x156)],'failures':_0x585c74};}catch(_0x262624){return _0x3949d9[_0x303888(0x1a6)]?.['warn']?.(_0x303888(0x145)+'sed-run\x20'+_0x303888(0x190)+_0x303888(0x14a),{'dbPath':_0x8657ea,'error':_0x262624 instanceof Error?_0x262624['message']:String(_0x262624)}),{'skipped':0x0,'inspected':0x0,'error':_0x262624};}finally{_0x5b544e?.[_0x303888(0x14c)]();}}