@wujie-shell/core 1.0.5 → 1.0.6

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(_0x388587,_0x2a64b4){const _0x7f3917=_0x4ddb,_0x3d27a9=_0x388587();while(!![]){try{const _0x4f2beb=parseInt(_0x7f3917(0x25d))/0x1*(parseInt(_0x7f3917(0x244))/0x2)+-parseInt(_0x7f3917(0x246))/0x3+parseInt(_0x7f3917(0x227))/0x4*(-parseInt(_0x7f3917(0x1b9))/0x5)+parseInt(_0x7f3917(0x24e))/0x6*(parseInt(_0x7f3917(0x242))/0x7)+-parseInt(_0x7f3917(0x1f7))/0x8+-parseInt(_0x7f3917(0x1ec))/0x9+parseInt(_0x7f3917(0x1c1))/0xa*(parseInt(_0x7f3917(0x28f))/0xb);if(_0x4f2beb===_0x2a64b4)break;else _0x3d27a9['push'](_0x3d27a9['shift']());}catch(_0x138366){_0x3d27a9['push'](_0x3d27a9['shift']());}}}(_0x497d,0x54f31));import{Buffer}from'node:buffer';import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{mkdtemp,readdir,rm}from'node:fs/promises';import{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,GIT_C_STYLE_ESCAPES={'a':0x7,'b':0x8,'t':0x9,'n':0xa,'v':0xb,'f':0xc,'r':0xd,'\x22':0x22,'\x5c':0x5c};function decodeGitQuotedPath(_0x5ae545){const _0x45ec36=_0x4ddb;if(!_0x5ae545['startsWi'+'th']('\x22')||!_0x5ae545['endsWith']('\x22'))return _0x5ae545;const _0x1e679e=_0x5ae545['slice'](0x1,-0x1),_0x518b0d=[];for(let _0x348e47=0x0;_0x348e47<_0x1e679e['length'];_0x348e47+=0x1){const _0x9ef2f2=_0x1e679e[_0x348e47];if(_0x9ef2f2!=='\x5c'){const _0x2cdd6b=_0x1e679e[_0x45ec36(0x290)+_0x45ec36(0x234)](_0x348e47),_0x3f914b=String[_0x45ec36(0x223)+_0x45ec36(0x1e1)](_0x2cdd6b);_0x518b0d[_0x45ec36(0x21b)](...Buffer[_0x45ec36(0x1c5)](_0x3f914b,'utf8')),_0x348e47+=_0x3f914b['length']-0x1;continue;}const _0x2155bf=_0x1e679e[_0x348e47+0x1];if(_0x2155bf===undefined){_0x518b0d[_0x45ec36(0x21b)](0x5c);continue;}if(/[0-7]/[_0x45ec36(0x249)](_0x2155bf)){let _0x388687=_0x348e47+0x2;while(_0x388687<_0x1e679e['length']&&_0x388687<_0x348e47+0x4&&/[0-7]/[_0x45ec36(0x249)](_0x1e679e[_0x388687])){_0x388687+=0x1;}_0x518b0d[_0x45ec36(0x21b)](Number['parseInt'](_0x1e679e[_0x45ec36(0x21e)](_0x348e47+0x1,_0x388687),0x8)),_0x348e47=_0x388687-0x1;continue;}if(Object[_0x45ec36(0x1d1)](GIT_C_STYLE_ESCAPES,_0x2155bf)){_0x518b0d[_0x45ec36(0x21b)](GIT_C_STYLE_ESCAPES[_0x2155bf]),_0x348e47+=0x1;continue;}_0x518b0d[_0x45ec36(0x21b)](0x5c,...Buffer[_0x45ec36(0x1c5)](_0x2155bf,_0x45ec36(0x204))),_0x348e47+=0x1;}return Buffer[_0x45ec36(0x1c5)](_0x518b0d)[_0x45ec36(0x22a)](_0x45ec36(0x204));}function normalizePathFromDiff(_0x39b2a1){const _0x13db53=_0x4ddb,_0x579767=String(_0x39b2a1||'')[_0x13db53(0x236)](),_0x4f15c1=decodeGitQuotedPath(_0x579767);if(_0x4f15c1===_0x13db53(0x1d0)+'l')return'';return _0x4f15c1[_0x13db53(0x200)](/^[ab]\//,'');}function normalizeUnifiedPatch(_0x4f1a53){const _0x8258d9=_0x4ddb;return String(_0x4f1a53||'')[_0x8258d9(0x200)](/\r\n/g,'\x0a');}function splitUnifiedDiffPatches(_0x30d1ae){const _0x31081a=_0x4ddb,_0x4c47bd=normalizeUnifiedPatch(_0x30d1ae),_0x589f46=[..._0x4c47bd['matchAll'](/^diff --git /gm)][_0x31081a(0x1ea)](_0x5c5e48=>_0x5c5e48[_0x31081a(0x24f)]);return _0x589f46[_0x31081a(0x1ea)]((_0x277e80,_0x1c9cc8)=>_0x4c47bd[_0x31081a(0x21e)](_0x277e80,_0x589f46[_0x1c9cc8+0x1]??_0x4c47bd[_0x31081a(0x275)]));}function parseDiffGitHeader(_0x4c481b){const _0x2f2f31=/^diff --git ((?:"(?:\\.|[^"\\])*")|\S+) ((?:"(?:\\.|[^"\\])*")|\S+)$/['exec'](_0x4c481b);return{'oldPath':_0x2f2f31?.[0x1]??'','path':_0x2f2f31?.[0x2]??''};}function parseHunkHeader(_0x57fdf0){const _0x412d95=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/['exec'](_0x57fdf0);if(!_0x412d95)return null;return{'oldStart':Number(_0x412d95[0x1]),'oldLines':Number(_0x412d95[0x2]??'1'),'newStart':Number(_0x412d95[0x3]),'newLines':Number(_0x412d95[0x4]??'1')};}const CONFLICT_STATUSES=new Set(['DD','AU','UD','UA','DU','AA','UU']);function statusKind(_0x54ba6f){const _0x31d54b=_0x4ddb;if(_0x54ba6f==='A'||_0x54ba6f==='?')return _0x31d54b(0x20e);if(_0x54ba6f==='D')return _0x31d54b(0x245);if(_0x54ba6f==='R'||_0x54ba6f==='C')return _0x31d54b(0x1fd);if(_0x54ba6f==='U')return _0x31d54b(0x1c4)+'ed';return _0x31d54b(0x1ff);}export function parsePorcelainStatus(_0x23a140){const _0x5af97c=_0x4ddb,_0x33558c=String(_0x23a140||'')[_0x5af97c(0x20b)]('\x00'),_0x3857e4=[];for(let _0x5b4cd0=0x0;_0x5b4cd0<_0x33558c['length'];_0x5b4cd0+=0x1){const _0x21787e=_0x33558c[_0x5b4cd0];if(!_0x21787e||_0x21787e[_0x5af97c(0x275)]<0x3)continue;const _0x505eb6=_0x21787e[0x0],_0x18ef43=_0x21787e[0x1],_0x55c659=''+_0x505eb6+_0x18ef43,_0xf4f15c=_0x21787e[_0x5af97c(0x21e)](0x3),_0x111bcd=_0x505eb6==='R'||_0x505eb6==='C',_0x581bd6=_0x111bcd?_0x33558c[++_0x5b4cd0]||null:null,_0x1f98c8=_0x505eb6!=='\x20'&&_0x505eb6!=='?'&&_0x505eb6!=='!',_0x4b9e43=_0x18ef43!=='\x20'&&_0x18ef43!=='!';_0x3857e4['push']({'path':_0xf4f15c,'oldPath':_0x581bd6,'indexStatus':_0x505eb6,'worktreeStatus':_0x18ef43,'staged':_0x1f98c8,'unstaged':_0x4b9e43,'conflicted':CONFLICT_STATUSES[_0x5af97c(0x1c9)](_0x55c659),'status':CONFLICT_STATUSES[_0x5af97c(0x1c9)](_0x55c659)?_0x5af97c(0x1c4)+'ed':statusKind(_0x4b9e43?_0x18ef43:_0x505eb6)});}return _0x3857e4;}export function parseUnifiedDiff(_0x289deb){const _0x5d1f2a=_0x4ddb,_0x975351=normalizeUnifiedPatch(_0x289deb),_0x3871dd=_0x975351['split']('\x0a'),_0x15bdd7=splitUnifiedDiffPatches(_0x975351),_0x351fe9=[];let _0x1b8334=null,_0x33fff0=-0x1,_0x4e6a72=null,_0xaca9f9=0x0,_0x25285d=0x0;const _0x4a95df=()=>{const _0x152e1d=_0x4ddb;if(!_0x1b8334)return;_0x1b8334[_0x152e1d(0x232)]=_0x15bdd7[_0x33fff0]??'';if(!_0x1b8334[_0x152e1d(0x295)])_0x1b8334[_0x152e1d(0x295)]=_0x1b8334['oldPath']??_0x152e1d(0x211);_0x351fe9[_0x152e1d(0x21b)](_0x1b8334),_0x1b8334=null,_0x4e6a72=null;};for(const _0x1bc319 of _0x3871dd){if(_0x1bc319[_0x5d1f2a(0x1f0)+'th'](_0x5d1f2a(0x20a)+_0x5d1f2a(0x202))){_0x4a95df(),_0x33fff0+=0x1;const {oldPath:_0x1066b7,path:_0x1a5c05}=parseDiffGitHeader(_0x1bc319);_0x1b8334={'path':normalizePathFromDiff(_0x1a5c05),'oldPath':normalizePathFromDiff(_0x1066b7)||null,'status':_0x5d1f2a(0x1ff),'additions':0x0,'deletions':0x0,'patch':'','hunks':[]};continue;}if(!_0x1b8334)continue;if(_0x1bc319['startsWi'+'th'](_0x5d1f2a(0x256)+_0x5d1f2a(0x1eb)))_0x1b8334[_0x5d1f2a(0x28d)]='added';else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th'](_0x5d1f2a(0x26a)+_0x5d1f2a(0x253)+'e\x20'))_0x1b8334[_0x5d1f2a(0x28d)]=_0x5d1f2a(0x245);else{if(_0x1bc319['startsWi'+'th'](_0x5d1f2a(0x1d4)+_0x5d1f2a(0x263)))_0x1b8334[_0x5d1f2a(0x28d)]=_0x5d1f2a(0x1fd),_0x1b8334[_0x5d1f2a(0x259)]=normalizePathFromDiff(_0x1bc319[_0x5d1f2a(0x21e)](('rename\x20f'+_0x5d1f2a(0x263))[_0x5d1f2a(0x275)]));else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th'](_0x5d1f2a(0x24d)+'o\x20'))_0x1b8334[_0x5d1f2a(0x28d)]=_0x5d1f2a(0x1fd),_0x1b8334['path']=normalizePathFromDiff(_0x1bc319[_0x5d1f2a(0x21e)]((_0x5d1f2a(0x24d)+'o\x20')[_0x5d1f2a(0x275)]));else{if(_0x1bc319['startsWi'+'th']('Binary\x20f'+'iles\x20')||_0x1bc319==='GIT\x20bina'+_0x5d1f2a(0x291))_0x1b8334['status']=_0x5d1f2a(0x261);else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th'](_0x5d1f2a(0x21c))){const _0x3d8d55=normalizePathFromDiff(_0x1bc319['slice'](0x4));if(_0x3d8d55)_0x1b8334['path']=_0x3d8d55;}else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th'](_0x5d1f2a(0x1c7))){const _0x399ae6=normalizePathFromDiff(_0x1bc319[_0x5d1f2a(0x21e)](0x4));if(_0x399ae6)_0x1b8334[_0x5d1f2a(0x259)]=_0x399ae6;}}}}}}}const _0x4f3474=parseHunkHeader(_0x1bc319);if(_0x4f3474){_0xaca9f9=_0x4f3474[_0x5d1f2a(0x272)],_0x25285d=_0x4f3474[_0x5d1f2a(0x268)],_0x4e6a72={'header':_0x1bc319,..._0x4f3474,'lines':[]},_0x1b8334[_0x5d1f2a(0x1d2)][_0x5d1f2a(0x21b)](_0x4e6a72);continue;}if(!_0x4e6a72)continue;if(_0x1bc319[_0x5d1f2a(0x1f0)+'th']('+')&&!_0x1bc319['startsWi'+'th'](_0x5d1f2a(0x247)))_0x1b8334['addition'+'s']+=0x1,_0x4e6a72[_0x5d1f2a(0x257)]['push']({'kind':_0x5d1f2a(0x216),'content':_0x1bc319['slice'](0x1),'oldLine':null,'newLine':_0x25285d}),_0x25285d+=0x1;else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th']('-')&&!_0x1bc319['startsWi'+'th'](_0x5d1f2a(0x214)))_0x1b8334[_0x5d1f2a(0x243)+'s']+=0x1,_0x4e6a72[_0x5d1f2a(0x257)][_0x5d1f2a(0x21b)]({'kind':_0x5d1f2a(0x243),'content':_0x1bc319[_0x5d1f2a(0x21e)](0x1),'oldLine':_0xaca9f9,'newLine':null}),_0xaca9f9+=0x1;else{if(_0x1bc319[_0x5d1f2a(0x1f0)+'th']('\x20'))_0x4e6a72[_0x5d1f2a(0x257)][_0x5d1f2a(0x21b)]({'kind':'context','content':_0x1bc319[_0x5d1f2a(0x21e)](0x1),'oldLine':_0xaca9f9,'newLine':_0x25285d}),_0xaca9f9+=0x1,_0x25285d+=0x1;else _0x1bc319&&_0x4e6a72['lines'][_0x5d1f2a(0x21b)]({'kind':'meta','content':_0x1bc319,'oldLine':null,'newLine':null});}}}return _0x4a95df(),_0x351fe9;}class GitOutputTooLargeError extends Error{constructor(){const _0x263422=_0x4ddb;super('Git\x20diff'+_0x263422(0x28c)+'\x20MiB\x20安全限'+_0x263422(0x221)+'内容'),this[_0x263422(0x1fc)]=_0x263422(0x1ef)+_0x263422(0x21a)+'eError',this[_0x263422(0x1c0)]=_0x263422(0x215)+_0x263422(0x235)+_0x263422(0x26f);}}function isMaxBufferFailure(_0x2ac477){const _0x8c24d6=_0x4ddb;return _0x2ac477?.[_0x8c24d6(0x1c0)]===_0x8c24d6(0x274)+'D_PROCES'+_0x8c24d6(0x1c8)+_0x8c24d6(0x1b7)+'R'||/maxBuffer length exceeded|stdout maxBuffer|stderr maxBuffer|ENOBUFS/i[_0x8c24d6(0x249)](_0x2ac477 instanceof Error?_0x2ac477[_0x8c24d6(0x1cd)]:'');}function isGitOutputTooLargeError(_0x3be12a){const _0x8d94be=_0x4ddb;return _0x3be12a?.[_0x8d94be(0x1c0)]===_0x8d94be(0x215)+_0x8d94be(0x235)+_0x8d94be(0x26f);}async function runGit(_0x131560,_0x3396ae,_0x4d9d58={}){const _0x914ac2=_0x4ddb;try{const _0x5bc479=await execFileAsync(_0x914ac2(0x1ba),['-C',_0x131560,..._0x3396ae],{'encoding':_0x914ac2(0x204),'maxBuffer':MAX_GIT_OUTPUT_BYTES,'timeout':_0x4d9d58[_0x914ac2(0x24a)]??0x1d4c0,'windowsHide':!![],'env':{...process.env,'GIT_OPTIONAL_LOCKS':'0','GIT_TERMINAL_PROMPT':'0',..._0x4d9d58[_0x914ac2(0x209)]}});return{'stdout':_0x5bc479['stdout'],'stderr':_0x5bc479[_0x914ac2(0x27b)],'code':0x0};}catch(_0x114a9c){if(isMaxBufferFailure(_0x114a9c))throw new GitOutputTooLargeError();if(!_0x4d9d58[_0x914ac2(0x22c)+'lure'])throw new Error(_0x114a9c?.[_0x914ac2(0x27b)]?.[_0x914ac2(0x236)]()||_0x114a9c?.[_0x914ac2(0x1cd)]||_0x914ac2(0x273)+'失败');return{'stdout':_0x114a9c?.[_0x914ac2(0x206)]??'','stderr':_0x114a9c?.['stderr']??_0x114a9c?.['message']??'','code':typeof _0x114a9c?.[_0x914ac2(0x1c0)]===_0x914ac2(0x289)?_0x114a9c[_0x914ac2(0x1c0)]:0x1};}}async function resolveGitRoot(_0x37eded){const _0x46c2b2=_0x4ddb;if(!_0x37eded||!existsSync(_0x37eded))return null;const _0x478d3e=await runGit(_0x37eded,[_0x46c2b2(0x26b)+'e','--show-t'+_0x46c2b2(0x1d9)],{'allowFailure':!![]});return _0x478d3e[_0x46c2b2(0x1c0)]===0x0&&_0x478d3e[_0x46c2b2(0x206)][_0x46c2b2(0x236)]()?resolve(_0x478d3e[_0x46c2b2(0x206)][_0x46c2b2(0x236)]()):null;}async function discoverGitRoot(_0x5f1a56,_0x385916=0x0){const _0x17ba55=_0x4ddb,_0x3ceb01=await resolveGitRoot(_0x5f1a56);if(_0x3ceb01)return _0x3ceb01;if(_0x385916>=MAX_DISCOVERY_DEPTH)return null;let _0x6ff58b;try{_0x6ff58b=await readdir(_0x5f1a56,{'withFileTypes':!![]});}catch{return null;}for(const _0x489606 of _0x6ff58b){if(!_0x489606['isDirect'+_0x17ba55(0x1cc)]()||_0x489606['name'][_0x17ba55(0x1f0)+'th']('.'))continue;const _0xf9e8b5=join(_0x5f1a56,_0x489606['name']);if(existsSync(join(_0xf9e8b5,_0x17ba55(0x226))))return resolve(_0xf9e8b5);}for(const _0x1130ae of _0x6ff58b){if(!_0x1130ae['isDirect'+_0x17ba55(0x1cc)]()||_0x1130ae['name'][_0x17ba55(0x1f0)+'th']('.'))continue;const _0xfe1f25=await discoverGitRoot(join(_0x5f1a56,_0x1130ae[_0x17ba55(0x1fc)]),_0x385916+0x1);if(_0xfe1f25)return _0xfe1f25;}return null;}async function createWorkingTreeSnapshot(_0x3a4106){const _0x1ef281=_0x4ddb,_0x5e6d1d=await mkdtemp(join(tmpdir(),_0x1ef281(0x224)+_0x1ef281(0x28e)+'ex-')),_0x399843=join(_0x5e6d1d,_0x1ef281(0x24f)),_0x5a9382={'GIT_INDEX_FILE':_0x399843};try{const _0x242151=await runGit(_0x3a4106,[_0x1ef281(0x26b)+'e',_0x1ef281(0x269),_0x1ef281(0x1dc)],{'allowFailure':!![]});return await runGit(_0x3a4106,_0x242151[_0x1ef281(0x1c0)]===0x0?[_0x1ef281(0x219)+'e',_0x1ef281(0x1dc)]:[_0x1ef281(0x219)+'e','--empty'],{'env':_0x5a9382}),await runGit(_0x3a4106,[_0x1ef281(0x254),'-A','--','.'],{'env':_0x5a9382}),(await runGit(_0x3a4106,[_0x1ef281(0x262)+'ee'],{'env':_0x5a9382}))[_0x1ef281(0x206)][_0x1ef281(0x236)]();}finally{await rm(_0x5e6d1d,{'recursive':!![],'force':!![]});}}function resolveDiffOptions(_0x2fb287={}){const _0x514692=_0x4ddb,_0x2bf4d5=_0x2fb287[_0x514692(0x251)+'Files']!==![],_0x574037=_0x2fb287['ignoreWh'+_0x514692(0x1d3)]===!![];return{'loadFullFiles':_0x2bf4d5,'ignoreWhitespace':_0x574037,'gitArgs':[_0x514692(0x25c)+'d='+(_0x2bf4d5?0xf4240:0x3),..._0x574037?[_0x514692(0x230)+_0x514692(0x1f6)+'ce']:[]]};}function countPatchLines(_0x4a96ce){const _0x41d01a=_0x4ddb;let _0x1c655c=0x0;for(let _0x42c11f=0x0;_0x42c11f<_0x4a96ce[_0x41d01a(0x275)];_0x42c11f+=0x1){if(_0x4a96ce['charCode'+'At'](_0x42c11f)===0xa)_0x1c655c+=0x1;}return _0x1c655c+(_0x4a96ce&&!_0x4a96ce[_0x41d01a(0x1db)]('\x0a')?0x1:0x0);}function patchMetrics(_0x18369f){const _0x3c275e=_0x4ddb;return{'characters':_0x18369f[_0x3c275e(0x275)],'lines':countPatchLines(_0x18369f)};}function exceedsFileRenderBudget(_0x1d3402){const _0x3d2991=_0x4ddb,_0x324632=patchMetrics(_0x1d3402);return _0x324632[_0x3d2991(0x27a)+'rs']>MAX_REVIEW_FILE_PATCH_CHARACTERS||_0x324632[_0x3d2991(0x257)]>MAX_REVIEW_FILE_PATCH_LINES;}function needsCompactPatch(_0x46a4a7){const _0x389d07=_0x4ddb,_0xd70a8e=patchMetrics(_0x46a4a7);if(_0xd70a8e[_0x389d07(0x27a)+'rs']>MAX_REVIEW_PATCH_CHARACTERS||_0xd70a8e[_0x389d07(0x257)]>MAX_REVIEW_PATCH_LINES)return!![];return splitUnifiedDiffPatches(_0x46a4a7)['some'](exceedsFileRenderBudget);}function quoteGitPath(_0x1751bb){const _0x385d9f=_0x4ddb,_0x20b4cd=String(_0x1751bb||'');if(!/[\s"\\]/u[_0x385d9f(0x249)](_0x20b4cd))return _0x20b4cd;return'\x22'+_0x20b4cd[_0x385d9f(0x200)](/\\/g,'\x5c\x5c')[_0x385d9f(0x200)](/"/g,'\x5c\x22')['replace'](/\t/g,'\x5ct')[_0x385d9f(0x200)](/\n/g,'\x5cn')['replace'](/\r/g,'\x5cr')+'\x22';}function buildOmittedFilePatchFromPaths(_0x5a8c6a,_0x37cd39=_0x5a8c6a,_0x5e73a5={}){const _0x5cecb3=_0x4ddb,_0x5c3604=_0x5a8c6a||_0x37cd39||_0x5cecb3(0x203),_0x35d5bd=_0x37cd39||_0x5c3604,_0x25b5c9=_0x5e73a5[_0x5cecb3(0x20e)]?_0x5cecb3(0x1d0)+'l':quoteGitPath('a/'+_0x35d5bd),_0x2e5024=_0x5e73a5[_0x5cecb3(0x245)]?_0x5cecb3(0x1d0)+'l':quoteGitPath('b/'+_0x5c3604);return'diff\x20--g'+_0x5cecb3(0x202)+quoteGitPath('a/'+_0x35d5bd)+'\x20'+quoteGitPath('b/'+_0x5c3604)+(_0x5cecb3(0x25a)+_0x5cecb3(0x1f1))+_0x25b5c9+_0x5cecb3(0x1e7)+_0x2e5024+'\x20differ\x0a';}function buildOmittedFilePatch(_0x280046){const _0x4f1fac=_0x4ddb,_0x55c6f0=_0x280046['indexOf']('\x0a'),_0x41a392=_0x280046[_0x4f1fac(0x21e)](0x0,_0x55c6f0===-0x1?undefined:_0x55c6f0),{oldPath:_0x197d07,path:_0x181006}=parseDiffGitHeader(_0x41a392),_0x2a29e0=_0x280046[_0x4f1fac(0x21e)](0x0,Math['min'](_0x280046[_0x4f1fac(0x275)],0x40*0x400)),_0x2caf82=/^rename from (.+)$/m[_0x4f1fac(0x23a)](_0x2a29e0)?.[0x1],_0x5528df=/^rename to (.+)$/m[_0x4f1fac(0x23a)](_0x2a29e0)?.[0x1],_0x53f506=normalizePathFromDiff(_0x2caf82||_0x197d07),_0x5512ec=normalizePathFromDiff(_0x5528df||_0x181006);return buildOmittedFilePatchFromPaths(_0x5512ec,_0x53f506,{'added':/^new file mode /m[_0x4f1fac(0x249)](_0x2a29e0),'deleted':/^deleted file mode /m[_0x4f1fac(0x249)](_0x2a29e0)});}function limitPatchToRenderBudget(_0x7137ef){const _0xfc234=_0x4ddb,_0x1c560c=splitUnifiedDiffPatches(_0x7137ef);if(_0x1c560c['length']===0x0)return{'rawPatch':_0x7137ef,'fullFilesTruncated':![]};let _0x52dd65=0x0,_0x1fa5aa=0x0,_0x1b98cd=![];const _0x30cde1=_0x1c560c[_0xfc234(0x1ea)](_0x2fd015=>{const _0x3ca2e6=_0xfc234,_0x3d14a8=patchMetrics(_0x2fd015),_0x1568e9=_0x52dd65+_0x3d14a8[_0x3ca2e6(0x27a)+'rs']>MAX_REVIEW_PATCH_CHARACTERS||_0x1fa5aa+_0x3d14a8['lines']>MAX_REVIEW_PATCH_LINES,_0x2538ae=exceedsFileRenderBudget(_0x2fd015)||_0x1568e9?buildOmittedFilePatch(_0x2fd015):_0x2fd015;if(_0x2538ae!==_0x2fd015)_0x1b98cd=!![];const _0x443c19=patchMetrics(_0x2538ae);return _0x52dd65+=_0x443c19[_0x3ca2e6(0x27a)+'rs'],_0x1fa5aa+=_0x443c19[_0x3ca2e6(0x257)],_0x2538ae;});return{'rawPatch':_0x30cde1[_0xfc234(0x1f4)](''),'fullFilesTruncated':_0x1b98cd};}function normalizePatchReadResult(_0x10f023){const _0x468c89=_0x4ddb;return typeof _0x10f023===_0x468c89(0x1e3)?{'rawPatch':_0x10f023,'fullFilesTruncated':![]}:_0x10f023;}async function prepareReviewPatch(_0x3d856e,_0x518c0d){const _0x11993c=_0x4ddb;let _0x46cffe=_0x518c0d,_0x211b2c=![],_0x4287e2;const _0x16259d=async _0x3f1202=>normalizePatchReadResult(await _0x3d856e(_0x3f1202));try{_0x4287e2=await _0x16259d(_0x46cffe);}catch(_0x162922){if(!_0x46cffe['loadFull'+'Files']||!isGitOutputTooLargeError(_0x162922))throw _0x162922;_0x46cffe=resolveDiffOptions({..._0x46cffe,'loadFullFiles':![]}),_0x211b2c=!![],_0x4287e2=await _0x16259d(_0x46cffe);}_0x46cffe[_0x11993c(0x251)+'Files']&&needsCompactPatch(_0x4287e2[_0x11993c(0x281)])&&(_0x46cffe=resolveDiffOptions({..._0x46cffe,'loadFullFiles':![]}),_0x211b2c=!![],_0x4287e2=await _0x16259d(_0x46cffe));const _0x415e92=limitPatchToRenderBudget(_0x4287e2['rawPatch']);return{'rawPatch':_0x415e92[_0x11993c(0x281)],'diffOptions':_0x46cffe,'fullFilesTruncated':_0x211b2c||_0x4287e2[_0x11993c(0x28b)+_0x11993c(0x1c6)+'ed']||_0x415e92[_0x11993c(0x28b)+_0x11993c(0x1c6)+'ed']};}async function appendUntrackedFilesPatch(_0x394aa2,_0x567005,_0x6f810=''){const _0x3fd220=_0x4ddb;let _0x56724b=_0x6f810,_0x1a8b49=![];const _0x2c677d=await runGit(_0x394aa2,[_0x3fd220(0x1f3),_0x3fd220(0x1f8),_0x3fd220(0x1cb)+_0x3fd220(0x27c)+'rd','-z']);for(const _0x2f7d0d of _0x2c677d[_0x3fd220(0x206)][_0x3fd220(0x20b)]('\x00')[_0x3fd220(0x1f5)](Boolean)){try{const _0x4691e6=await runGit(_0x394aa2,[_0x3fd220(0x207),_0x3fd220(0x1d5)+'ex','--no-col'+'or',..._0x567005[_0x3fd220(0x1fe)],'--','/dev/nul'+'l',_0x2f7d0d],{'allowFailure':!![]});_0x4691e6['stdout']&&(_0x56724b+=''+(_0x56724b&&!_0x56724b[_0x3fd220(0x1db)]('\x0a')?'\x0a':'')+_0x4691e6[_0x3fd220(0x206)]);}catch(_0x165d08){if(!isGitOutputTooLargeError(_0x165d08))throw _0x165d08;_0x56724b+=''+(_0x56724b&&!_0x56724b[_0x3fd220(0x1db)]('\x0a')?'\x0a':'')+buildOmittedFilePatchFromPaths(_0x2f7d0d,_0x2f7d0d,{'added':!![]}),_0x1a8b49=!![];}}return{'rawPatch':_0x56724b,'fullFilesTruncated':_0x1a8b49};}async function readWorkingTreePatch(_0x3f020,_0x16b3a1){const _0x95bf6d=_0x4ddb,_0x473484=await runGit(_0x3f020,[_0x95bf6d(0x26b)+'e',_0x95bf6d(0x269),'HEAD'],{'allowFailure':!![]});let _0x545c9e='';return _0x473484['code']===0x0&&(_0x545c9e=(await runGit(_0x3f020,[_0x95bf6d(0x207),_0x95bf6d(0x1fb)+'or',_0x95bf6d(0x22d)+_0x95bf6d(0x25b),_0x95bf6d(0x22e)+_0x95bf6d(0x222),..._0x16b3a1[_0x95bf6d(0x1fe)],_0x95bf6d(0x1dc),'--']))[_0x95bf6d(0x206)]),appendUntrackedFilesPatch(_0x3f020,_0x16b3a1,_0x545c9e);}function _0x4ddb(_0x47130b,_0x1ca8c5){_0x47130b=_0x47130b-0x1b7;const _0x497d25=_0x497d();let _0x4ddb05=_0x497d25[_0x47130b];return _0x4ddb05;}function _0x497d(){const _0x37e444=['utf8','remote','stdout','diff','--cached','env','diff\x20--g','split','unstaged','相对\x20','added','refs/rem','--count','未知文件','/HEAD','check-re','---','GIT_OUTP','addition','commit','nch','read-tre','tTooLarg','push','+++\x20','show','slice','base-bra','now','制,未返回不完整','enames','fromCode','wujie-re','set','.git','8hIEpqq','indexSta','branch','toString','equired','allowFai','--no-ext','--find-r','请选择基础分支','--ignore','get','patch','ePath','tAt','UT_TOO_L','trim','target','--quiet','--left-r','exec','请输入提交说明','ignoreWh','f-format','refs/hea','HEAD...','@{upstre','tus','7KYruHW','deletion','18lrYEzQ','deleted','494349nCUtLS','+++','已暂存的更改','test','timeout','--untrac','=%H%x00%','rename\x20t','3976716aMECnw','index','me:short','loadFull','--mixed','file\x20mod','add','直接推送','new\x20file','lines','key\x20is\x20r','oldPath','\x0aBinary\x20','-diff','--unifie','44054YnloNb','restore','tree','pull','binary','write-tr','rom\x20','--format','=%(refna','提交\x20','请输入新分支名称','newStart','--verify','deleted\x20','rev-pars','for-each','staged','clean','ARGE','当前仓库没有远程','all','oldStart','Git\x20命令执行','ERR_CHIL','length','x00%ct','-unmatch','ryPath','\x20的更改','characte','stderr','e-standa','ain=v1','请选择分支','Git\x20仓库不可','--porcel','rawPatch','--source','未暂存的更改','diffOpti','fetch','isArray','Session\x20','upstream','number','reposito','fullFile','\x20输出超过\x2016','status','view-ind','14619eoGbYi','codePoin','ry\x20patch','last-tur','--staged','--show-c','path','MAXBUFFE','测到\x20Git\x20仓','1655915XUzZnR','git','am}','otes','switch','remotes','未提交的更改','code','6390vAUcCX','=HEAD','delete','conflict','from','sTruncat','---\x20','S_STDIO_','has','上游分支','--exclud','ory','message','merge-ba','所选目录不是\x20G','/dev/nul','hasOwn','hunks','itespace','rename\x20f','--no-ind','head','it\x20仓库','当前分支没有配置','oplevel','rev-list','endsWith','HEAD','--worktr','working-','上一轮更改','ons','Point','ked-file','string','h%x00%s%','s=all','reset','\x20and\x20','当前工作区中未检','sessionK','map','\x20mode\x20','822447LRbjLT','stream','Files','GitOutpu','startsWi','files\x20','--branch','ls-files','join','filter','-all-spa','5136144vqHEME','--others','--abbrev','^{commit','--no-col','name','renamed','gitArgs','modified','replace','-ref','it\x20','unknown'];_0x497d=function(){return _0x37e444;};return _0x497d();}async function readUnstagedPatch(_0x134349,_0x45b299){const _0x5be881=_0x4ddb,_0x3a6489=(await runGit(_0x134349,[_0x5be881(0x207),'--no-col'+'or',_0x5be881(0x22d)+_0x5be881(0x25b),_0x5be881(0x22e)+_0x5be881(0x222),..._0x45b299[_0x5be881(0x1fe)],'--']))[_0x5be881(0x206)];return appendUntrackedFilesPatch(_0x134349,_0x45b299,_0x3a6489);}async function readStagedPatch(_0x1f38de,_0x3c3bf7){const _0xf8faef=_0x4ddb,_0xe2dc14=(await runGit(_0x1f38de,[_0xf8faef(0x207),_0xf8faef(0x208),'--no-col'+'or','--no-ext'+_0xf8faef(0x25b),_0xf8faef(0x22e)+_0xf8faef(0x222),..._0x3c3bf7[_0xf8faef(0x1fe)],'--']))[_0xf8faef(0x206)];return{'rawPatch':_0xe2dc14,'fullFilesTruncated':![]};}function buildDiffResult(_0x5f343a,_0x44dd5c,_0x58fe72,_0x460bec,_0x57f90a,_0x5c96e9,_0x53f404,_0x13205c=![]){const _0x16ee63=_0x4ddb,_0x45f933=parseUnifiedDiff(_0x460bec);return{'repositoryPath':_0x5f343a,'target':_0x44dd5c,'targetLabel':_0x58fe72,'loadFullFiles':_0x53f404['loadFull'+_0x16ee63(0x1ee)],'ignoreWhitespace':_0x53f404[_0x16ee63(0x23c)+_0x16ee63(0x1d3)],'fullFilesTruncated':_0x13205c,'baseRef':_0x57f90a,'headRef':_0x5c96e9,'files':_0x45f933,'additions':_0x45f933['reduce']((_0x24e142,_0x10fa4f)=>_0x24e142+_0x10fa4f[_0x16ee63(0x216)+'s'],0x0),'deletions':_0x45f933['reduce']((_0x27ed2a,_0x496a6e)=>_0x27ed2a+_0x496a6e[_0x16ee63(0x243)+'s'],0x0),'generatedAt':Date[_0x16ee63(0x220)](),'rawPatch':_0x460bec};}export function createReviewController({getWorkspacePath:_0x4c2cc8}){const _0x509cdd=new Map(),_0x48a8d2=new Map(),_0x57c75b=async _0x1579a8=>{const _0x1f4b51=_0x4ddb,_0x3a1e37=await _0x4c2cc8(),_0x14377e=_0x1579a8?.[_0x1f4b51(0x236)](),_0x48cff2=_0x14377e?await resolveGitRoot(_0x14377e):await discoverGitRoot(_0x3a1e37);return{'workspacePath':_0x3a1e37,'repositoryPath':_0x48cff2};},_0x49aeaa=async _0x26341f=>{const _0x1536d9=_0x4ddb,_0x21aef4=await _0x57c75b(_0x26341f);if(!_0x21aef4[_0x1536d9(0x28a)+_0x1536d9(0x278)])return{'found':![],'workspacePath':_0x21aef4['workspac'+_0x1536d9(0x233)],'repositoryPath':null,'repositoryName':null,'branch':null,'head':null,'branches':[],'commits':[]};const _0x3434ae=_0x21aef4[_0x1536d9(0x28a)+'ryPath'],[_0x205185,_0x5de87a,_0x13dfa0,_0x5b384f]=await Promise[_0x1536d9(0x271)]([runGit(_0x3434ae,[_0x1536d9(0x229),'--show-c'+'urrent'],{'allowFailure':!![]}),runGit(_0x3434ae,['rev-pars'+'e',_0x1536d9(0x1dc)],{'allowFailure':!![]}),runGit(_0x3434ae,[_0x1536d9(0x26c)+'-ref',_0x1536d9(0x264)+_0x1536d9(0x265)+_0x1536d9(0x250)+')',_0x1536d9(0x23e)+'ds',_0x1536d9(0x20f)+_0x1536d9(0x1bc)]),runGit(_0x3434ae,['log','-30',_0x1536d9(0x264)+_0x1536d9(0x24c)+_0x1536d9(0x1e4)+_0x1536d9(0x276)],{'allowFailure':!![]})]),_0x589163=[...new Set(_0x13dfa0[_0x1536d9(0x206)][_0x1536d9(0x20b)]('\x0a')[_0x1536d9(0x1ea)](_0x23c101=>_0x23c101[_0x1536d9(0x236)]())[_0x1536d9(0x1f5)](_0x1911b6=>_0x1911b6&&!_0x1911b6[_0x1536d9(0x1db)](_0x1536d9(0x212))))],_0x512551=_0x5b384f[_0x1536d9(0x206)][_0x1536d9(0x20b)]('\x0a')[_0x1536d9(0x1f5)](Boolean)[_0x1536d9(0x1ea)](_0xb33242=>{const _0x26de58=_0x1536d9,[_0x2388a2='',_0xa01386='',_0x4d3feb='',_0x5afb59='0']=_0xb33242[_0x26de58(0x20b)]('\x00');return{'sha':_0x2388a2,'shortSha':_0xa01386,'title':_0x4d3feb,'timestamp':Number(_0x5afb59)*0x3e8};});return{'found':!![],'workspacePath':_0x21aef4['workspac'+_0x1536d9(0x233)],'repositoryPath':_0x3434ae,'repositoryName':basename(_0x3434ae),'branch':_0x205185[_0x1536d9(0x206)][_0x1536d9(0x236)]()||null,'head':_0x5de87a[_0x1536d9(0x206)][_0x1536d9(0x236)]()||null,'branches':_0x589163,'commits':_0x512551};},_0x2fec81=async _0x77b3fd=>{const _0x2c8142=_0x4ddb,_0xdfc460=String(_0x77b3fd?.[_0x2c8142(0x1e9)+'ey']||'')[_0x2c8142(0x236)](),_0x1b9c0f=await _0x57c75b(_0x77b3fd?.[_0x2c8142(0x28a)+_0x2c8142(0x278)]||(_0xdfc460?_0x48a8d2[_0x2c8142(0x231)](_0xdfc460):undefined));if(!_0x1b9c0f[_0x2c8142(0x28a)+_0x2c8142(0x278)])throw new Error(_0x2c8142(0x1e8)+_0x2c8142(0x1b8)+'库');const _0x4c5d7e=_0x1b9c0f['reposito'+'ryPath'],[_0x369b7d,_0x431eef,_0x5877d3,_0x4aa4df,_0x5e7deb,_0x3c91ad]=await Promise['all']([runGit(_0x4c5d7e,[_0x2c8142(0x229),_0x2c8142(0x294)+'urrent'],{'allowFailure':!![]}),runGit(_0x4c5d7e,[_0x2c8142(0x26b)+'e',_0x2c8142(0x269),_0x2c8142(0x1dc)],{'allowFailure':!![]}),runGit(_0x4c5d7e,['rev-pars'+'e',_0x2c8142(0x1f9)+_0x2c8142(0x201),_0x2c8142(0x240)+_0x2c8142(0x1bb)],{'allowFailure':!![]}),runGit(_0x4c5d7e,[_0x2c8142(0x205)],{'allowFailure':!![]}),runGit(_0x4c5d7e,['for-each'+_0x2c8142(0x201),_0x2c8142(0x264)+_0x2c8142(0x265)+_0x2c8142(0x250)+')','refs/hea'+'ds']),runGit(_0x4c5d7e,[_0x2c8142(0x28d),_0x2c8142(0x280)+_0x2c8142(0x27d),'-z',_0x2c8142(0x24b)+'ked-file'+'s=all'])]),_0x57aa22=_0x5877d3[_0x2c8142(0x1c0)]===0x0?_0x5877d3[_0x2c8142(0x206)][_0x2c8142(0x236)]():'';let _0x4ce027=0x0,_0xb5c9d=0x0;if(_0x57aa22&&_0x431eef['code']===0x0){const _0x433b43=await runGit(_0x4c5d7e,[_0x2c8142(0x1da),_0x2c8142(0x239)+'ight',_0x2c8142(0x210),_0x2c8142(0x23f)+_0x57aa22],{'allowFailure':!![]});if(_0x433b43['code']===0x0){const [_0x525d09,_0x4dec2d]=_0x433b43[_0x2c8142(0x206)][_0x2c8142(0x236)]()[_0x2c8142(0x20b)](/\s+/);_0x4ce027=Number(_0x525d09)||0x0,_0xb5c9d=Number(_0x4dec2d)||0x0;}}return{'repositoryPath':_0x4c5d7e,'branch':_0x369b7d[_0x2c8142(0x206)][_0x2c8142(0x236)]()||null,'head':_0x431eef[_0x2c8142(0x206)][_0x2c8142(0x236)]()||null,'upstream':_0x57aa22||null,'ahead':_0x4ce027,'behind':_0xb5c9d,'remotes':_0x4aa4df[_0x2c8142(0x206)][_0x2c8142(0x20b)]('\x0a')[_0x2c8142(0x1ea)](_0x26b1ef=>_0x26b1ef['trim']())[_0x2c8142(0x1f5)](Boolean),'localBranches':_0x5e7deb['stdout']['split']('\x0a')[_0x2c8142(0x1ea)](_0x1adf0d=>_0x1adf0d['trim']())[_0x2c8142(0x1f5)](Boolean),'files':parsePorcelainStatus(_0x3c91ad[_0x2c8142(0x206)])};},_0x4e0265=async(_0x6cf5e6,_0x5db224)=>{const _0x1c7532=_0x4ddb,_0x3d7c31=String(_0x6cf5e6||'')[_0x1c7532(0x236)]();if(!_0x3d7c31)return{'captured':![],'repositoryPath':null};const _0x287d3b=await _0x57c75b(_0x5db224||_0x48a8d2['get'](_0x3d7c31));if(!_0x287d3b[_0x1c7532(0x28a)+_0x1c7532(0x278)])return _0x509cdd[_0x1c7532(0x1c3)](_0x3d7c31),{'captured':![],'repositoryPath':null};const _0x1ca64e=await createWorkingTreeSnapshot(_0x287d3b['reposito'+_0x1c7532(0x278)]);return _0x509cdd[_0x1c7532(0x225)](_0x3d7c31,{'repositoryPath':_0x287d3b['reposito'+_0x1c7532(0x278)],'tree':_0x1ca64e}),{'captured':!![],'repositoryPath':_0x287d3b[_0x1c7532(0x28a)+_0x1c7532(0x278)]};},_0x280475=async(_0x3973ca={})=>{const _0x40d0af=_0x4ddb,_0x4ae6da=_0x3973ca[_0x40d0af(0x237)]??_0x40d0af(0x1de)+_0x40d0af(0x25f),_0x523a4d=resolveDiffOptions(_0x3973ca),_0x5c2238=String(_0x3973ca[_0x40d0af(0x1e9)+'ey']||'')[_0x40d0af(0x236)](),_0x3af062=_0x5c2238?_0x509cdd[_0x40d0af(0x231)](_0x5c2238):undefined,_0x35b0f9=await _0x57c75b(_0x3973ca[_0x40d0af(0x28a)+'ryPath']||(_0x5c2238?_0x48a8d2['get'](_0x5c2238):undefined)),_0x367c13=_0x4ae6da===_0x40d0af(0x292)+'n'&&_0x3af062?_0x3af062['reposito'+_0x40d0af(0x278)]:_0x35b0f9['reposito'+_0x40d0af(0x278)];if(!_0x367c13)throw new Error(_0x40d0af(0x1e8)+_0x40d0af(0x1b8)+'库');const _0x4ce09a=await runGit(_0x367c13,[_0x40d0af(0x26b)+'e',_0x40d0af(0x269),_0x40d0af(0x1dc)],{'allowFailure':!![]}),_0x1141f6=_0x4ce09a['stdout']['trim']()||null;if(_0x4ae6da==='working-'+'tree'){const _0x59dc42=await prepareReviewPatch(_0x267aef=>readWorkingTreePatch(_0x367c13,_0x267aef),_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x1bf),_0x59dc42[_0x40d0af(0x281)],_0x1141f6,_0x1141f6,_0x59dc42[_0x40d0af(0x284)+'ons'],_0x59dc42[_0x40d0af(0x28b)+_0x40d0af(0x1c6)+'ed']);}if(_0x4ae6da===_0x40d0af(0x20c)){const _0x579edd=await prepareReviewPatch(_0x5a3cf3=>readUnstagedPatch(_0x367c13,_0x5a3cf3),_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x283),_0x579edd[_0x40d0af(0x281)],_0x1141f6,_0x1141f6,_0x579edd[_0x40d0af(0x284)+_0x40d0af(0x1e0)],_0x579edd[_0x40d0af(0x28b)+_0x40d0af(0x1c6)+'ed']);}if(_0x4ae6da===_0x40d0af(0x26d)){const _0x58a714=await prepareReviewPatch(_0x39491c=>readStagedPatch(_0x367c13,_0x39491c),_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x248),_0x58a714['rawPatch'],_0x1141f6,_0x1141f6,_0x58a714[_0x40d0af(0x284)+'ons'],_0x58a714[_0x40d0af(0x28b)+'sTruncat'+'ed']);}if(_0x4ae6da==='last-tur'+'n'){if(!_0x3af062)return buildDiffResult(_0x367c13,_0x4ae6da,'上一轮更改','',null,_0x1141f6,_0x523a4d,![]);const _0x5ae14b=await createWorkingTreeSnapshot(_0x367c13),_0x27e7a2=await prepareReviewPatch(async _0x52f947=>(await runGit(_0x367c13,[_0x40d0af(0x207),_0x40d0af(0x1fb)+'or','--no-ext'+_0x40d0af(0x25b),'--find-r'+_0x40d0af(0x222),..._0x52f947['gitArgs'],_0x3af062[_0x40d0af(0x25f)],_0x5ae14b,'--']))[_0x40d0af(0x206)],_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x1df),_0x27e7a2[_0x40d0af(0x281)],_0x3af062[_0x40d0af(0x25f)],_0x5ae14b,_0x27e7a2[_0x40d0af(0x284)+_0x40d0af(0x1e0)],_0x27e7a2[_0x40d0af(0x28b)+_0x40d0af(0x1c6)+'ed']);}if(_0x4ae6da===_0x40d0af(0x21f)+_0x40d0af(0x218)){const _0x540954=String(_0x3973ca['baseBran'+'ch']||'')[_0x40d0af(0x236)]();if(!_0x540954)throw new Error(_0x40d0af(0x22f));await runGit(_0x367c13,[_0x40d0af(0x26b)+'e',_0x40d0af(0x269),_0x540954]);const _0x276915=(await runGit(_0x367c13,[_0x40d0af(0x1ce)+'se',_0x40d0af(0x1dc),_0x540954]))['stdout'][_0x40d0af(0x236)](),_0x194e22=await prepareReviewPatch(async _0x65ab3a=>(await runGit(_0x367c13,[_0x40d0af(0x207),_0x40d0af(0x1fb)+'or',_0x40d0af(0x22d)+_0x40d0af(0x25b),_0x40d0af(0x22e)+'enames',..._0x65ab3a[_0x40d0af(0x1fe)],_0x276915,'--']))[_0x40d0af(0x206)],_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x20d)+_0x540954+_0x40d0af(0x279),_0x194e22[_0x40d0af(0x281)],_0x276915,_0x1141f6,_0x194e22[_0x40d0af(0x284)+_0x40d0af(0x1e0)],_0x194e22[_0x40d0af(0x28b)+_0x40d0af(0x1c6)+'ed']);}const _0xa7d538=String(_0x3973ca[_0x40d0af(0x217)]||'')[_0x40d0af(0x236)]();if(!_0xa7d538)throw new Error('请选择提交');const _0x31c96a=(await runGit(_0x367c13,[_0x40d0af(0x26b)+'e',_0x40d0af(0x269),_0xa7d538+(_0x40d0af(0x1fa)+'}')]))[_0x40d0af(0x206)][_0x40d0af(0x236)](),_0x55edf5=await prepareReviewPatch(async _0x1f7de2=>(await runGit(_0x367c13,[_0x40d0af(0x21d),_0x40d0af(0x264)+'=',_0x40d0af(0x1fb)+'or',_0x40d0af(0x22e)+_0x40d0af(0x222),..._0x1f7de2[_0x40d0af(0x1fe)],_0x31c96a,'--']))[_0x40d0af(0x206)],_0x523a4d);return buildDiffResult(_0x367c13,_0x4ae6da,_0x40d0af(0x266)+_0x31c96a[_0x40d0af(0x21e)](0x0,0x7),_0x55edf5[_0x40d0af(0x281)],_0x31c96a+'^',_0x31c96a,_0x55edf5[_0x40d0af(0x284)+_0x40d0af(0x1e0)],_0x55edf5[_0x40d0af(0x28b)+'sTruncat'+'ed']);};return{'repositoryInfo':_0x49aeaa,async 'setRepository'(_0xfa2f8d,_0x582ab6){const _0x4cf867=_0x4ddb,_0x44af62=String(_0xfa2f8d||'')['trim']();if(!_0x44af62)throw new Error(_0x4cf867(0x287)+_0x4cf867(0x258)+_0x4cf867(0x22b));const _0x1acb5d=await resolveGitRoot(_0x582ab6);if(!_0x1acb5d)throw new Error(_0x4cf867(0x1cf)+_0x4cf867(0x1d7));return _0x48a8d2[_0x4cf867(0x225)](_0x44af62,_0x1acb5d),_0x49aeaa(_0x1acb5d);},'captureTurnSnapshot':_0x4e0265,'diff':_0x280475,'gitStatus':_0x2fec81,async 'stage'(_0x4e8f26,_0x4aee31){const _0x35a753=_0x4ddb,_0x2b4b23=await resolveGitRoot(_0x4e8f26);if(!_0x2b4b23)throw new Error('Git\x20仓库不可'+'用');const _0xd3dd02=Array['isArray'](_0x4aee31)?_0x4aee31[_0x35a753(0x1f5)](Boolean):[];return await runGit(_0x2b4b23,_0xd3dd02[_0x35a753(0x275)]?[_0x35a753(0x254),'-A','--',..._0xd3dd02]:[_0x35a753(0x254),'-A']),_0x2fec81({'repositoryPath':_0x2b4b23});},async 'unstage'(_0x48c0e6,_0x283722){const _0x2cff82=_0x4ddb,_0x35eb1c=await resolveGitRoot(_0x48c0e6);if(!_0x35eb1c)throw new Error(_0x2cff82(0x27f)+'用');const _0xcee842=Array[_0x2cff82(0x286)](_0x283722)?_0x283722[_0x2cff82(0x1f5)](Boolean):[],_0x18190f=await runGit(_0x35eb1c,[_0x2cff82(0x26b)+'e',_0x2cff82(0x269),'HEAD'],{'allowFailure':!![]});return _0x18190f['code']===0x0?await runGit(_0x35eb1c,_0xcee842[_0x2cff82(0x275)]?['restore',_0x2cff82(0x293),'--',..._0xcee842]:[_0x2cff82(0x1e6),_0x2cff82(0x252),_0x2cff82(0x1dc)]):await runGit(_0x35eb1c,_0xcee842[_0x2cff82(0x275)]?['rm','--cached','-r',_0x2cff82(0x230)+'-unmatch','--',..._0xcee842]:['rm',_0x2cff82(0x208),'-r',_0x2cff82(0x230)+_0x2cff82(0x277),'.']),_0x2fec81({'repositoryPath':_0x35eb1c});},async 'commit'(_0x4ff854,_0x2d8e5e){const _0x1859fe=_0x4ddb,_0x5597fa=await resolveGitRoot(_0x4ff854);if(!_0x5597fa)throw new Error('Git\x20仓库不可'+'用');const _0x3b17b0=String(_0x2d8e5e||'')[_0x1859fe(0x236)]();if(!_0x3b17b0)throw new Error(_0x1859fe(0x23b));const _0x23d6d4=await runGit(_0x5597fa,[_0x1859fe(0x207),_0x1859fe(0x208),_0x1859fe(0x238)],{'allowFailure':!![]});if(_0x23d6d4[_0x1859fe(0x1c0)]===0x0)throw new Error('没有已暂存的更改');await runGit(_0x5597fa,['commit','-m',_0x3b17b0]);const _0xa3a396=await _0x2fec81({'repositoryPath':_0x5597fa});return{..._0xa3a396,'committed':!![],'commit':_0xa3a396[_0x1859fe(0x1d6)]};},async 'fetch'(_0x7b0a64){const _0x4b595d=_0x4ddb,_0x5dd2ae=await resolveGitRoot(_0x7b0a64);if(!_0x5dd2ae)throw new Error(_0x4b595d(0x27f)+'用');const _0x28a8fb=await _0x2fec81({'repositoryPath':_0x5dd2ae});if(_0x28a8fb[_0x4b595d(0x1be)]['length']===0x0)throw new Error(_0x4b595d(0x270)+'仓库');return await runGit(_0x5dd2ae,[_0x4b595d(0x285),'--all','--prune']),_0x2fec81({'repositoryPath':_0x5dd2ae});},async 'pull'(_0x1dfb24){const _0x46f898=_0x4ddb,_0x9f931b=await resolveGitRoot(_0x1dfb24);if(!_0x9f931b)throw new Error('Git\x20仓库不可'+'用');const _0x1dc7f8=await _0x2fec81({'repositoryPath':_0x9f931b});if(!_0x1dc7f8[_0x46f898(0x288)])throw new Error(_0x46f898(0x1d8)+_0x46f898(0x1ca));return await runGit(_0x9f931b,[_0x46f898(0x260),'--ff-onl'+'y']),_0x2fec81({'repositoryPath':_0x9f931b});},async 'push'(_0x1fc393){const _0x1b699d=_0x4ddb,_0x22f88c=await resolveGitRoot(_0x1fc393);if(!_0x22f88c)throw new Error(_0x1b699d(0x27f)+'用');const _0x59a6d0=await _0x2fec81({'repositoryPath':_0x22f88c});if(!_0x59a6d0[_0x1b699d(0x229)])throw new Error('Detached'+'\x20HEAD\x20无法'+_0x1b699d(0x255));if(_0x59a6d0['remotes'][_0x1b699d(0x275)]===0x0)throw new Error('当前仓库没有远程'+'仓库');return await runGit(_0x22f88c,_0x59a6d0['upstream']?[_0x1b699d(0x21b)]:[_0x1b699d(0x21b),'--set-up'+_0x1b699d(0x1ed),_0x59a6d0[_0x1b699d(0x1be)][0x0],_0x59a6d0[_0x1b699d(0x229)]]),_0x2fec81({'repositoryPath':_0x22f88c});},async 'switchBranch'(_0x341722,_0x31e176){const _0x560daa=_0x4ddb,_0xd90c74=await resolveGitRoot(_0x341722);if(!_0xd90c74)throw new Error(_0x560daa(0x27f)+'用');const _0x191428=String(_0x31e176||'')['trim']();if(!_0x191428)throw new Error(_0x560daa(0x27e));return await runGit(_0xd90c74,['switch',_0x191428]),_0x2fec81({'repositoryPath':_0xd90c74});},async 'createBranch'(_0x4c59f6,_0x457ef6){const _0x11676e=_0x4ddb,_0x3e7ca8=await resolveGitRoot(_0x4c59f6);if(!_0x3e7ca8)throw new Error(_0x11676e(0x27f)+'用');const _0x83596e=String(_0x457ef6||'')[_0x11676e(0x236)]();if(!_0x83596e)throw new Error(_0x11676e(0x267));return await runGit(_0x3e7ca8,[_0x11676e(0x213)+_0x11676e(0x23d),_0x11676e(0x1f2),_0x83596e]),await runGit(_0x3e7ca8,[_0x11676e(0x1bd),'-c',_0x83596e]),_0x2fec81({'repositoryPath':_0x3e7ca8});},async 'stageFile'(_0x4ee10d,_0x464102){const _0x3ac0a8=_0x4ddb,_0xfa24aa=await resolveGitRoot(_0x4ee10d);if(!_0xfa24aa)throw new Error(_0x3ac0a8(0x27f)+'用');return await runGit(_0xfa24aa,[_0x3ac0a8(0x254),'-A','--',_0x464102]),{'ok':!![]};},async 'revertFile'(_0x56a7a2,_0x2f57a3){const _0x532fa1=_0x4ddb,_0x1b36c0=await resolveGitRoot(_0x56a7a2);if(!_0x1b36c0)throw new Error(_0x532fa1(0x27f)+'用');const _0xabbdec=await runGit(_0x1b36c0,[_0x532fa1(0x28d),_0x532fa1(0x280)+_0x532fa1(0x27d),'-z',_0x532fa1(0x24b)+_0x532fa1(0x1e2)+_0x532fa1(0x1e5)]),_0x158369=parsePorcelainStatus(_0xabbdec['stdout'])['find'](_0x5e8041=>_0x5e8041[_0x532fa1(0x295)]===_0x2f57a3||_0x5e8041[_0x532fa1(0x259)]===_0x2f57a3);if(!_0x158369)return{'ok':!![]};const _0x927211=[...new Set([_0x158369[_0x532fa1(0x259)],_0x158369[_0x532fa1(0x295)]]['filter'](Boolean))],_0x458272=_0x158369[_0x532fa1(0x228)+'tus']==='A'||_0x158369[_0x532fa1(0x228)+_0x532fa1(0x241)]==='?';return _0x458272?(await runGit(_0x1b36c0,['rm','--cached','-r','-f','--ignore'+_0x532fa1(0x277),'--',..._0x927211]),await runGit(_0x1b36c0,[_0x532fa1(0x26e),'-f','-d','--',..._0x927211])):await runGit(_0x1b36c0,[_0x532fa1(0x25e),_0x532fa1(0x282)+_0x532fa1(0x1c2),'--staged',_0x532fa1(0x1dd)+'ee','--',..._0x927211]),{'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
+ function _0x3b50(_0x5c4d5e,_0x38ea7b){_0x5c4d5e=_0x5c4d5e-0x1a8;const _0x33a919=_0x33a9();let _0x3b5077=_0x33a919[_0x5c4d5e];return _0x3b5077;}const _0x1043a9=_0x3b50;(function(_0x4e5725,_0x4b5574){const _0x3a8d82=_0x3b50,_0x4462de=_0x4e5725();while(!![]){try{const _0x55eede=-parseInt(_0x3a8d82(0x218))/0x1*(parseInt(_0x3a8d82(0x22b))/0x2)+-parseInt(_0x3a8d82(0x21f))/0x3+parseInt(_0x3a8d82(0x1f7))/0x4*(parseInt(_0x3a8d82(0x1fd))/0x5)+-parseInt(_0x3a8d82(0x1c8))/0x6+-parseInt(_0x3a8d82(0x20c))/0x7*(parseInt(_0x3a8d82(0x210))/0x8)+parseInt(_0x3a8d82(0x229))/0x9+parseInt(_0x3a8d82(0x239))/0xa;if(_0x55eede===_0x4b5574)break;else _0x4462de['push'](_0x4462de['shift']());}catch(_0x1b2679){_0x4462de['push'](_0x4462de['shift']());}}}(_0x33a9,0x428c5));function _0x33a9(){const _0x4e4475=['state','t_run_at','secutive','string','map','cron_job','y_ms,\x0a\x20\x20','5897950cHdbkR','store_ke','startsWi','endsWith','kind','job_id\x20=','\x0a\x20\x20\x20\x20\x20\x20\x20','openclaw','chor_ms,','exec','dist','gateway\x20','\x20last_ru','consecut','job_json','ped','\x20\x20\x20\x20\x20\x20co','_kind','filter','UPDATE\x20c','at_ms\x20IS','name\x20=\x20?','run','warn','ame\x20FROM','state_js','next_run','\x20\x20name,\x0a','floor','e_skippe','_at_ms\x20=','schedule','.js','\x20NULL,\x0a\x20','WorkingD','_tz','n,\x0a\x20\x20\x20\x20\x20','=\x20?\x20AND\x20','le\x27\x20AND\x20','2002632QJnvAm','\x20schedul','info','\x20\x20\x20\x20\x20\x20\x20\x20','ore_key\x20','updated_','close','\x20at,\x0a\x20\x20\x20','enabled,','_expr,\x0a\x20','ning_at_','prepare','sed-run\x20','ext_run_','run_at_m','unning_a','job_id','WHERE\x20st','\x20\x20\x20\x20\x20\x20\x20s','_ms\x20=\x20?,','_expr','function','nning_at','t_ms\x20=\x20N','start','ET\x20next_','ecutive_','\x20cron_jo','ms,\x0a\x20\x20\x20\x20','\x20start','stringif','st_error','?\x0a\x20\x20\x20\x20\x20\x20','projectR','t_ms\x20<=\x20','message','importan','\x20\x20job_id','\x20\x20AND\x20ru','\x20\x20\x20state','length','max',',\x200)\x20+\x201','nsecutiv','parse','push','\x20LIMIT\x201','776NiZHxl','xt_run_a','anchor_m','isFinite','ESCE(con','skipped,','11955MhNVsG','ULL','\x20=\x20?,\x0a\x20\x20','nd\x20in\x20','cron','e\x20module','\x20sqlite_','COMMIT','\x20\x20\x20\x20\x20run',',\x0a\x20\x20\x20\x20\x20\x20','.sqlite','runtime_','\x20\x20\x20\x20\x20\x20an','href','SELECT\x20n','194985KGzBnC','cron\x20mis','\x20\x20\x20\x20ever','master\x20W','96tCBfNs','ive_skip','ULL,\x0a\x20\x20\x20','logger','nowMs','led','oot','s\x20=\x20?,\x0a\x20','42cvdOuk','iveSkipp','name','skipped','\x201\x0a\x20\x20\x20\x20\x20','n_status','tz,\x0a\x20\x20\x20\x20','402381vXPNvA','\x20\x20job_js','_ms,\x0a\x20\x20\x20','\x20\x20\x20AND\x20n','ron_jobs','now','\x20job_jso','ipped\x20mi','at_ms\x20=\x20','\x20\x20\x20\x20\x20\x20\x20r','3546837MXZxYZ','on\x20=\x20?,\x0a','17762PGUOod','\x20NOT\x20NUL','tore_key','d\x20=\x20COAL','_ms\x20IS\x20N','ssed\x20run','\x20\x20\x20\x20\x20\x20la'];_0x33a9=function(){return _0x4e4475;};return _0x33a9();}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=_0x1043a9(0x1a8)+_0x1043a9(0x207),CRON_TABLE_NAME=_0x1043a9(0x237)+'s',SCHEDULE_MODULE_PREFIX=_0x1043a9(0x1c0)+'-',SCHEDULE_MODULE_SUFFIX=_0x1043a9(0x1c1);function toFiniteMs(_0x24a166){const _0x26af24=Number(_0x24a166);return Number['isFinite'](_0x26af24)?_0x26af24:undefined;}function safeJsonParse(_0x5e10c5,_0x1669b2={}){const _0x374fce=_0x1043a9;if(typeof _0x5e10c5!==_0x374fce(0x235)||!_0x5e10c5['trim']())return _0x1669b2;try{return JSON[_0x374fce(0x1f4)](_0x5e10c5);}catch{return _0x1669b2;}}function createScheduleFromRow(_0x1d664b){const _0x2edcc8=_0x1043a9,_0x5bbf43=getTrimmedString(_0x1d664b['schedule'+_0x2edcc8(0x1b2)]);if(_0x5bbf43===_0x2edcc8(0x201)){const _0x7d333a=getTrimmedString(_0x1d664b[_0x2edcc8(0x1c0)+_0x2edcc8(0x1dc)]);if(!_0x7d333a)return null;const _0x1eb8cd=getTrimmedString(_0x1d664b[_0x2edcc8(0x1c0)+_0x2edcc8(0x1c4)]);return{'kind':_0x5bbf43,'expr':_0x7d333a,..._0x1eb8cd?{'tz':_0x1eb8cd}:{}};}if(_0x5bbf43==='every'){const _0x562df9=toFiniteMs(_0x1d664b['every_ms']);if(_0x562df9===undefined)return null;const _0x25cdad=toFiniteMs(_0x1d664b[_0x2edcc8(0x1f9)+'s']);return{'kind':_0x5bbf43,'everyMs':_0x562df9,..._0x25cdad===undefined?{}:{'anchorMs':_0x25cdad}};}if(_0x5bbf43==='at'){const _0x2146d3=getTrimmedString(_0x1d664b['at']);return _0x2146d3?{'kind':_0x5bbf43,'at':_0x2146d3}:null;}return null;}const MISSED_RUN_SKIPPED_STATUS=_0x1043a9(0x21b),MISSED_RUN_SKIPPED_ERROR='cron:\x20sk'+_0x1043a9(0x226)+_0x1043a9(0x230)+'\x20before\x20'+_0x1043a9(0x1ac)+_0x1043a9(0x1e0);function nextConsecutiveSkipped(_0x4fbcc8,_0x97c4a3){const _0x46e02e=_0x1043a9,_0x329223=Number(_0x4fbcc8[_0x46e02e(0x1ae)+_0x46e02e(0x211)+_0x46e02e(0x1b0)]);if(Number[_0x46e02e(0x1fa)](_0x329223))return Math[_0x46e02e(0x1f1)](0x0,Math[_0x46e02e(0x1bd)](_0x329223))+0x1;const _0x139fc8=Number(_0x97c4a3[_0x46e02e(0x1ae)+_0x46e02e(0x219)+'ed']);return Number[_0x46e02e(0x1fa)](_0x139fc8)?Math[_0x46e02e(0x1f1)](0x0,Math['floor'](_0x139fc8))+0x1:0x1;}function patchStateJson(_0x4c6e38,_0x4321c3,_0x5b5300){const _0x1c54f6=_0x1043a9,_0x41da58=asRecord(safeJsonParse(_0x4c6e38[_0x1c54f6(0x1ba)+'on'],{})),_0x18619a=nextConsecutiveSkipped(_0x4c6e38,_0x41da58);return JSON[_0x1c54f6(0x1e6)+'y']({..._0x41da58,'nextRunAtMs':_0x4321c3,'runningAtMs':undefined,'lastRunAtMs':_0x5b5300,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x18619a});}function patchJobJson(_0x54dcd3,{enabled:_0x2c7184,nextRunAtMs:_0x50cfe9,skippedAtMs:_0x3527de}){const _0x4d2286=_0x1043a9,_0x4863ed=asRecord(safeJsonParse(_0x54dcd3[_0x4d2286(0x1af)],{})),_0x4582ef=asRecord(_0x4863ed[_0x4d2286(0x232)]),_0x533284=nextConsecutiveSkipped(_0x54dcd3,_0x4582ef);return JSON[_0x4d2286(0x1e6)+'y']({..._0x4863ed,'enabled':_0x2c7184,'state':{..._0x4582ef,'nextRunAtMs':_0x50cfe9,'runningAtMs':undefined,'lastRunAtMs':_0x3527de,'lastRunStatus':MISSED_RUN_SKIPPED_STATUS,'lastStatus':MISSED_RUN_SKIPPED_STATUS,'lastError':MISSED_RUN_SKIPPED_ERROR,'consecutiveSkipped':_0x533284}});}async function loadOpenClawScheduleComputer(_0x3d04b0){const _0x28693e=_0x1043a9,_0x48f5ed=resolve(_0x3d04b0[_0x28693e(0x1a8)+_0x28693e(0x1c3)+'ir'],_0x28693e(0x1ab)),_0x2e7333=await readdir(_0x48f5ed,{'withFileTypes':!![]}),_0x3e0aa0=_0x2e7333[_0x28693e(0x1b3)](_0x23f823=>_0x23f823['isFile']())[_0x28693e(0x236)](_0x325522=>_0x325522[_0x28693e(0x21a)])[_0x28693e(0x1b3)](_0x250847=>_0x250847[_0x28693e(0x23b)+'th'](SCHEDULE_MODULE_PREFIX)&&_0x250847[_0x28693e(0x23c)](SCHEDULE_MODULE_SUFFIX));for(const _0x277f99 of _0x3e0aa0){const _0x46d6ef=pathToFileURL(join(_0x48f5ed,_0x277f99))[_0x28693e(0x20a)],_0x1fa3c5=await import(_0x46d6ef);if(typeof _0x1fa3c5['t']===_0x28693e(0x1dd))return _0x1fa3c5['t'];}throw new Error('OpenClaw'+_0x28693e(0x1c9)+_0x28693e(0x202)+'\x20not\x20fou'+_0x28693e(0x200)+_0x48f5ed);}function tableExists(_0x284356){const _0x3ddae7=_0x1043a9,_0x2c0683=_0x284356['prepare'](_0x3ddae7(0x20b)+_0x3ddae7(0x1b9)+_0x3ddae7(0x203)+_0x3ddae7(0x20f)+'HERE\x20typ'+'e\x20=\x20\x27tab'+_0x3ddae7(0x1c7)+_0x3ddae7(0x1b6)+_0x3ddae7(0x1f6))['get'](CRON_TABLE_NAME);return Boolean(_0x2c0683);}function readExpiredRows(_0x10ef07,_0x203ac5){const _0x21bf71=_0x1043a9;return _0x10ef07[_0x21bf71(0x1d3)]('SELECT\x0a\x20'+_0x21bf71(0x1da)+_0x21bf71(0x22d)+_0x21bf71(0x206)+_0x21bf71(0x1ed)+_0x21bf71(0x206)+_0x21bf71(0x1bc)+_0x21bf71(0x1cb)+_0x21bf71(0x1d0)+_0x21bf71(0x23f)+_0x21bf71(0x1c9)+'e_kind,\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x21bf71(0x1c0)+_0x21bf71(0x1d1)+'\x20\x20\x20\x20\x20\x20\x20s'+'chedule_'+_0x21bf71(0x21e)+_0x21bf71(0x20e)+_0x21bf71(0x238)+_0x21bf71(0x209)+_0x21bf71(0x1a9)+'\x0a\x20\x20\x20\x20\x20\x20\x20'+_0x21bf71(0x1cf)+'\x20\x20\x20\x20\x20nex'+_0x21bf71(0x233)+_0x21bf71(0x221)+_0x21bf71(0x205)+_0x21bf71(0x1d2)+_0x21bf71(0x1e4)+'\x20\x20\x20\x20cons'+_0x21bf71(0x1e2)+_0x21bf71(0x1fc)+_0x21bf71(0x23f)+_0x21bf71(0x225)+_0x21bf71(0x1c5)+_0x21bf71(0x1ef)+'_json\x0a\x20\x20'+'\x20\x20\x20\x20FROM'+_0x21bf71(0x1e3)+'bs\x0a\x20\x20\x20\x20\x20'+'\x20WHERE\x20e'+'nabled\x20='+_0x21bf71(0x21c)+_0x21bf71(0x222)+_0x21bf71(0x1d5)+_0x21bf71(0x1b5)+_0x21bf71(0x22c)+'L\x0a\x20\x20\x20\x20\x20\x20'+'\x20\x20AND\x20ne'+_0x21bf71(0x1f8)+_0x21bf71(0x1ea)+_0x21bf71(0x1e8)+_0x21bf71(0x1ee)+_0x21bf71(0x1de)+_0x21bf71(0x22f)+_0x21bf71(0x1fe))['all'](_0x203ac5);}function updateNextRun(_0x4164ab,_0x21a06d,_0x5018b6,_0x5d1fce,_0x1288cd){const _0x2ac140=_0x1043a9;_0x4164ab[_0x2ac140(0x1d3)](_0x2ac140(0x1b4)+_0x2ac140(0x223)+'\x0a\x20\x20\x20\x20\x20\x20S'+_0x2ac140(0x1e1)+_0x2ac140(0x1d6)+_0x2ac140(0x217)+_0x2ac140(0x228)+_0x2ac140(0x1d7)+_0x2ac140(0x1df)+_0x2ac140(0x212)+'\x20\x20\x20\x20\x20las'+_0x2ac140(0x233)+_0x2ac140(0x1db)+_0x2ac140(0x23f)+'\x20last_ru'+_0x2ac140(0x21d)+_0x2ac140(0x1ff)+'\x20\x20\x20\x20\x20\x20la'+_0x2ac140(0x1e7)+_0x2ac140(0x1ff)+_0x2ac140(0x1b1)+_0x2ac140(0x1f3)+_0x2ac140(0x1be)+'d\x20=\x20COAL'+_0x2ac140(0x1fb)+_0x2ac140(0x234)+'_skipped'+',\x200)\x20+\x201'+_0x2ac140(0x206)+_0x2ac140(0x220)+_0x2ac140(0x22a)+'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2ac140(0x1ba)+_0x2ac140(0x22a)+_0x2ac140(0x1cb)+'runtime_'+'updated_'+_0x2ac140(0x227)+_0x2ac140(0x1e8)+_0x2ac140(0x1d9)+_0x2ac140(0x1cc)+'=\x20?\x20AND\x20'+_0x2ac140(0x23e)+'\x20?')['run'](_0x5018b6,_0x1288cd,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0x21a06d,{'enabled':!![],'nextRunAtMs':_0x5018b6,'skippedAtMs':_0x1288cd}),patchStateJson(_0x21a06d,_0x5018b6,_0x1288cd),_0x5d1fce,_0x21a06d[_0x2ac140(0x23a)+'y'],_0x21a06d['job_id']);}function disableExpiredAtRun(_0x226ad9,_0x57ec63,_0x53e9ff,_0x5e4db4){const _0x3af8b6=_0x1043a9;_0x226ad9['prepare'](_0x3af8b6(0x1b4)+_0x3af8b6(0x223)+'\x0a\x20\x20\x20\x20\x20\x20S'+'ET\x20enabl'+'ed\x20=\x200,\x0a'+_0x3af8b6(0x1cb)+_0x3af8b6(0x1bb)+_0x3af8b6(0x1bf)+_0x3af8b6(0x1c2)+_0x3af8b6(0x228)+'unning_a'+_0x3af8b6(0x1df)+_0x3af8b6(0x212)+'\x20\x20\x20\x20\x20las'+'t_run_at'+'_ms\x20=\x20?,'+'\x0a\x20\x20\x20\x20\x20\x20\x20'+_0x3af8b6(0x1ad)+'n_status'+'\x20=\x20?,\x0a\x20\x20'+_0x3af8b6(0x231)+_0x3af8b6(0x1e7)+_0x3af8b6(0x1ff)+'\x20\x20\x20\x20\x20\x20co'+'nsecutiv'+'e_skippe'+_0x3af8b6(0x22e)+'ESCE(con'+_0x3af8b6(0x234)+'_skipped'+_0x3af8b6(0x1f2)+',\x0a\x20\x20\x20\x20\x20\x20'+_0x3af8b6(0x220)+_0x3af8b6(0x22a)+_0x3af8b6(0x1cb)+_0x3af8b6(0x1ba)+_0x3af8b6(0x22a)+_0x3af8b6(0x1cb)+_0x3af8b6(0x208)+_0x3af8b6(0x1cd)+_0x3af8b6(0x227)+_0x3af8b6(0x1e8)+_0x3af8b6(0x1d9)+_0x3af8b6(0x1cc)+_0x3af8b6(0x1c6)+_0x3af8b6(0x23e)+'\x20?')[_0x3af8b6(0x1b7)](_0x5e4db4,MISSED_RUN_SKIPPED_STATUS,MISSED_RUN_SKIPPED_ERROR,patchJobJson(_0x57ec63,{'enabled':![],'nextRunAtMs':undefined,'skippedAtMs':_0x5e4db4}),patchStateJson(_0x57ec63,undefined,_0x5e4db4),_0x53e9ff,_0x57ec63[_0x3af8b6(0x23a)+'y'],_0x57ec63[_0x3af8b6(0x1d8)]);}export async function skipMissedCronRunsBeforeGatewayStart(_0x2a2dd8,_0x49a565={}){const _0x3e7b93=_0x1043a9;if(process.env.WUJIE_SHELL_SKIP_MISSED_CRON_RUNS==='0')return _0x49a565[_0x3e7b93(0x213)]?.[_0x3e7b93(0x1ca)]?.({'enabled':![]},_0x3e7b93(0x20d)+'sed-run\x20'+'skip\x20dis'+'abled\x20by'+'\x20env'),{'skipped':0x0,'inspected':0x0,'disabled':!![]};const _0x7ea614=getTrimmedString(_0x49a565['stateDir'])||_0x2a2dd8['dataDir'],_0x3412ee=join(_0x7ea614,'state',CRON_DB_FILE);if(!existsSync(_0x3412ee))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0x52dbb5=toFiniteMs(_0x49a565[_0x3e7b93(0x214)])??Date['now'](),_0x21bfb9=Date[_0x3e7b93(0x224)]();let _0x144bcc;try{_0x144bcc=new DatabaseSync(_0x3412ee);if(!tableExists(_0x144bcc))return{'skipped':0x0,'inspected':0x0,'missing':!![]};const _0x291bc7=readExpiredRows(_0x144bcc,_0x52dbb5);if(_0x291bc7[_0x3e7b93(0x1f0)]===0x0)return{'skipped':0x0,'inspected':0x0};const _0x5a84d4=await loadRuntimeInfo(_0x2a2dd8[_0x3e7b93(0x1e9)+_0x3e7b93(0x216)]),_0x596bc5=await loadOpenClawScheduleComputer(_0x5a84d4);let _0x38da01=0x0;const _0x5c086b=[];_0x144bcc[_0x3e7b93(0x1aa)]('BEGIN\x20IM'+'MEDIATE');try{for(const _0x34a15d of _0x291bc7){const _0x2cba75=createScheduleFromRow(_0x34a15d);if(!_0x2cba75)continue;if(_0x2cba75[_0x3e7b93(0x23d)]==='at'){disableExpiredAtRun(_0x144bcc,_0x34a15d,_0x21bfb9,_0x52dbb5),_0x38da01+=0x1;continue;}let _0x3e2f7b;try{_0x3e2f7b=_0x596bc5(_0x2cba75,_0x52dbb5);}catch(_0x3946c0){_0x5c086b[_0x3e7b93(0x1f5)]({'jobId':_0x34a15d[_0x3e7b93(0x1d8)],'message':_0x3946c0 instanceof Error?_0x3946c0[_0x3e7b93(0x1eb)]:String(_0x3946c0)});continue;}if(!Number[_0x3e7b93(0x1fa)](_0x3e2f7b)||_0x3e2f7b<=_0x52dbb5)continue;updateNextRun(_0x144bcc,_0x34a15d,Math['floor'](_0x3e2f7b),_0x21bfb9,_0x52dbb5),_0x38da01+=0x1;}_0x144bcc[_0x3e7b93(0x1aa)](_0x3e7b93(0x204));}catch(_0x2aa567){_0x144bcc['exec']('ROLLBACK');throw _0x2aa567;}return(_0x38da01>0x0||_0x5c086b[_0x3e7b93(0x1f0)]>0x0)&&_0x49a565[_0x3e7b93(0x213)]?.[_0x3e7b93(0x1ec)+'t']?.({'dbPath':_0x3412ee,'inspected':_0x291bc7[_0x3e7b93(0x1f0)],'skipped':_0x38da01,'failures':_0x5c086b},'cron:\x20sk'+_0x3e7b93(0x226)+_0x3e7b93(0x230)+'s\x20before'+'\x20gateway'+_0x3e7b93(0x1e5)),{'skipped':_0x38da01,'inspected':_0x291bc7[_0x3e7b93(0x1f0)],'failures':_0x5c086b};}catch(_0x3537f8){return _0x49a565[_0x3e7b93(0x213)]?.[_0x3e7b93(0x1b8)]?.(_0x3e7b93(0x20d)+_0x3e7b93(0x1d4)+'skip\x20fai'+_0x3e7b93(0x215),{'dbPath':_0x3412ee,'error':_0x3537f8 instanceof Error?_0x3537f8[_0x3e7b93(0x1eb)]:String(_0x3537f8)}),{'skipped':0x0,'inspected':0x0,'error':_0x3537f8};}finally{_0x144bcc?.[_0x3e7b93(0x1ce)]();}}