@lovrabet/lovrabet-cli 2.2.4-beta.1 → 2.2.4-beta.3

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 (162) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/shared.js +1 -1
  25. package/lib/commands/data/index.js +1 -1
  26. package/lib/commands/dataset/detail.js +1 -1
  27. package/lib/commands/dataset/index.js +1 -1
  28. package/lib/commands/dataset/list.js +1 -1
  29. package/lib/commands/dataset/sdk-doc.js +1 -1
  30. package/lib/commands/doctor.js +1 -1
  31. package/lib/commands/file/index.js +1 -1
  32. package/lib/commands/init.js +1 -1
  33. package/lib/commands/kb/index.js +1 -1
  34. package/lib/commands/logs/index.js +1 -1
  35. package/lib/commands/notification/config-list.js +1 -1
  36. package/lib/commands/notification/index.js +1 -1
  37. package/lib/commands/notification/shared.js +1 -1
  38. package/lib/commands/ocr/index.js +1 -1
  39. package/lib/commands/permit/dataset-get.js +1 -1
  40. package/lib/commands/permit/dataset-set.js +1 -1
  41. package/lib/commands/permit/index.js +1 -1
  42. package/lib/commands/permit/page-get.js +1 -1
  43. package/lib/commands/permit/page-set.js +1 -1
  44. package/lib/commands/permit/role-menus-set.js +1 -1
  45. package/lib/commands/permit/role-menus.js +1 -1
  46. package/lib/commands/permit/shared.js +1 -1
  47. package/lib/commands/personal-bff/index.js +1 -1
  48. package/lib/commands/registry.js +1 -1
  49. package/lib/commands/role/create.js +1 -1
  50. package/lib/commands/role/delete.js +1 -1
  51. package/lib/commands/role/detail.js +1 -1
  52. package/lib/commands/role/index.js +1 -1
  53. package/lib/commands/role/list.js +1 -1
  54. package/lib/commands/role/shared.js +1 -1
  55. package/lib/commands/role/update.js +1 -1
  56. package/lib/commands/role/user-add.js +1 -1
  57. package/lib/commands/role/user-remove.js +1 -1
  58. package/lib/commands/schedule/index.js +1 -1
  59. package/lib/commands/schema.js +1 -1
  60. package/lib/commands/service/dynamic.js +1 -1
  61. package/lib/commands/service/function-name-adapter.js +1 -1
  62. package/lib/commands/service/index.js +1 -1
  63. package/lib/commands/service/registry.js +1 -1
  64. package/lib/commands/skill/commands/create.js +1 -1
  65. package/lib/commands/skill/commands/diagram.js +1 -1
  66. package/lib/commands/skill/commands/install.js +1 -1
  67. package/lib/commands/skill/commands/list.js +1 -1
  68. package/lib/commands/skill/commands/push.js +1 -1
  69. package/lib/commands/skill/commands/validate.js +1 -1
  70. package/lib/commands/skill/diagram.js +1 -1
  71. package/lib/commands/skill/flags.js +1 -1
  72. package/lib/commands/skill/index.js +1 -1
  73. package/lib/commands/skill/manifest-helpers.js +1 -1
  74. package/lib/commands/skill/push-execute.js +1 -1
  75. package/lib/commands/skill/push-flow-helpers.js +1 -1
  76. package/lib/commands/skill/push-retarget.js +1 -1
  77. package/lib/commands/skill/scopes.js +1 -1
  78. package/lib/commands/skill/summary.js +1 -1
  79. package/lib/commands/skill/templates.js +1 -1
  80. package/lib/commands/skill/validate.js +1 -1
  81. package/lib/commands/sql/detail.js +1 -1
  82. package/lib/commands/sql/exec.js +1 -1
  83. package/lib/commands/sql/index.js +1 -1
  84. package/lib/commands/update.d.ts +19 -0
  85. package/lib/commands/update.js +1 -1
  86. package/lib/commands/user-account/bind.js +1 -1
  87. package/lib/commands/user-account/index.js +1 -1
  88. package/lib/commands/workspace/index.js +1 -1
  89. package/lib/config/schema.js +1 -1
  90. package/lib/constant/app.js +1 -1
  91. package/lib/constant/auth-mode.js +1 -1
  92. package/lib/constant/cli.js +1 -1
  93. package/lib/constant/defaults.js +1 -1
  94. package/lib/constant/distribution.js +1 -1
  95. package/lib/constant/domain.js +1 -1
  96. package/lib/constant/env.js +1 -1
  97. package/lib/constant/output.js +1 -1
  98. package/lib/constant/product.js +1 -1
  99. package/lib/constant/risk.js +1 -1
  100. package/lib/constant/url.js +1 -1
  101. package/lib/context.js +1 -1
  102. package/lib/core/api-client.js +1 -1
  103. package/lib/core/db-resolver.js +1 -1
  104. package/lib/core/sdk-client.js +1 -1
  105. package/lib/errors.js +1 -1
  106. package/lib/framework/build-all-flags.js +1 -1
  107. package/lib/framework/dryrun.js +1 -1
  108. package/lib/framework/flags.js +1 -1
  109. package/lib/framework/help.js +1 -1
  110. package/lib/framework/index.js +1 -1
  111. package/lib/framework/output.js +1 -1
  112. package/lib/framework/preparse.js +1 -1
  113. package/lib/framework/rate-limit.js +1 -1
  114. package/lib/framework/raw-flags.js +1 -1
  115. package/lib/framework/response.js +1 -1
  116. package/lib/framework/runner-confirmation.js +1 -1
  117. package/lib/framework/runner-error.js +1 -1
  118. package/lib/framework/runner.js +1 -1
  119. package/lib/framework/schema-export.js +1 -1
  120. package/lib/framework/service-order.js +1 -1
  121. package/lib/framework/types.js +1 -1
  122. package/lib/generated/build-info.d.ts +4 -4
  123. package/lib/generated/build-info.js +1 -1
  124. package/lib/help.js +1 -1
  125. package/lib/postinstall.js +1 -1
  126. package/lib/runtime/confirmation.js +1 -1
  127. package/lib/runtime/event.js +1 -1
  128. package/lib/runtime/index.js +1 -1
  129. package/lib/runtime/queue.js +1 -1
  130. package/lib/runtime/resolve.js +1 -1
  131. package/lib/skills/builtin-skill.js +1 -1
  132. package/lib/skills/npx-skills-add.js +1 -1
  133. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  134. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  135. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  136. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  137. package/lib/skills/runtime-skill-sync/links.js +1 -1
  138. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  139. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  140. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  141. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  142. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  143. package/lib/skills/runtime-skill-sync/push.js +1 -1
  144. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  145. package/lib/skills/runtime-skill-sync/types.d.ts +1 -0
  146. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  147. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  148. package/lib/skills/runtime-skill-sync.js +1 -1
  149. package/lib/skills/skill-presence.js +1 -1
  150. package/lib/utils/apply-jq-filter.js +1 -1
  151. package/lib/utils/logger.js +1 -1
  152. package/lib/utils/lossless-json.js +1 -1
  153. package/lib/utils/params.js +1 -1
  154. package/lib/utils/platform.js +1 -1
  155. package/lib/utils/update-notice.js +1 -1
  156. package/lib/utils/version.js +1 -1
  157. package/lib/utils/write-cli-side-channel.js +1 -1
  158. package/package.json +1 -1
  159. package/skills/lovrabet/SKILL.md +5 -5
  160. package/skills/lovrabet/references/lovrabet-ocr-workflow.md +17 -2
  161. package/skills/lovrabet/references/lovrabet-skill-authoring.md +5 -4
  162. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a149_0x22db59=a149_0x2a94;(function(_0x3386bd,_0x32187b){const _0x388755=a149_0x2a94,_0xf403a=_0x3386bd();while(!![]){try{const _0x24e227=-parseInt(_0x388755(0xac))/0x1+-parseInt(_0x388755(0xc4))/0x2+parseInt(_0x388755(0xad))/0x3+-parseInt(_0x388755(0xbc))/0x4+parseInt(_0x388755(0xaa))/0x5*(parseInt(_0x388755(0xa5))/0x6)+parseInt(_0x388755(0xbb))/0x7*(parseInt(_0x388755(0xa4))/0x8)+parseInt(_0x388755(0xbf))/0x9*(parseInt(_0x388755(0xba))/0xa);if(_0x24e227===_0x32187b)break;else _0xf403a['push'](_0xf403a['shift']());}catch(_0x179a5f){_0xf403a['push'](_0xf403a['shift']());}}}(a149_0x2bf8,0xcb5f9));import a149_0x2a1b49 from'winston';function a149_0x2a94(_0xffae88,_0x5759b9){_0xffae88=_0xffae88-0x9e;const _0x2bf82f=a149_0x2bf8();let _0x2a941f=_0x2bf82f[_0xffae88];return _0x2a941f;}import a149_0x2a2ec2 from'node:fs';import a149_0x16678e from'node:path';import{PRODUCT_CONFIG}from'../constant/product.js';function a149_0x2bf8(){const _0x41bc50=['3542598TSEqPq','initWinstonLogger','transports','rawCommand','log','unknown','setRawCommand','readFileSync','info','getWinstonInstance','trim','Starting:\x20','join','19280840eMmhsD','4403QCqohy','6044140AdShUW','parse','stringify','9LVWSnI','green','currentRawCommand','printf','errors','1637674kCMnrl','logTask','existsSync','timestamp','warn','red','details','logFilePath','writeFileSync','clear','message','level','Completed:\x20','setLogPath','winstonLogger','logFileName','command','filter','now','error','readLogs','utf8','toISOString','Failed:\x20','10232avZOUI','801744LRFnuv','format','yellow','success','mkdirSync','30nHBryO','duration','1552296OnNPSa'];a149_0x2bf8=function(){return _0x41bc50;};return a149_0x2bf8();}class Logger{['winstonLogger'];[a149_0x22db59(0xcb)]='';[a149_0x22db59(0xc1)]='';constructor(){}[a149_0x22db59(0xb3)](_0x3f05d0){const _0x54808f=a149_0x22db59;this[_0x54808f(0xc1)]=_0x3f05d0;}[a149_0x22db59(0xd1)](_0x3087b2){const _0x506c91=a149_0x22db59;this[_0x506c91(0xcb)]=a149_0x16678e[_0x506c91(0xb9)](_0x3087b2,PRODUCT_CONFIG[_0x506c91(0xd3)]),this[_0x506c91(0xd2)]&&this['winstonLogger'][_0x506c91(0xcd)](),this[_0x506c91(0xae)]();}['initWinstonLogger'](){const _0x2581c9=a149_0x22db59,_0x467133=a149_0x16678e['dirname'](this[_0x2581c9(0xcb)]);!a149_0x2a2ec2[_0x2581c9(0xc6)](_0x467133)&&a149_0x2a2ec2[_0x2581c9(0xa9)](_0x467133,{'recursive':!![]});const _0x15aafd=a149_0x2a1b49[_0x2581c9(0xa6)]['combine'](a149_0x2a1b49[_0x2581c9(0xa6)]['timestamp'](),a149_0x2a1b49[_0x2581c9(0xa6)][_0x2581c9(0xc3)]({'stack':!![]}),a149_0x2a1b49[_0x2581c9(0xa6)][_0x2581c9(0xc2)](_0x14d66f=>{const _0x3b4db7=_0x2581c9,_0xc05e61={'timestamp':_0x14d66f[_0x3b4db7(0xc7)]||new Date()[_0x3b4db7(0xa2)](),'level':_0x14d66f[_0x3b4db7(0xcf)]||'info','command':_0x14d66f[_0x3b4db7(0xd4)]||_0x3b4db7(0xb2),'rawCommand':_0x14d66f[_0x3b4db7(0xb0)]||this[_0x3b4db7(0xc1)]||undefined,'message':_0x14d66f[_0x3b4db7(0xce)]||'','duration':_0x14d66f[_0x3b4db7(0xab)]||undefined,'details':_0x14d66f[_0x3b4db7(0xca)]||undefined};return JSON[_0x3b4db7(0xbe)](_0xc05e61);}));this[_0x2581c9(0xd2)]=a149_0x2a1b49['createLogger']({'level':_0x2581c9(0xb5),'format':_0x15aafd,'transports':[new a149_0x2a1b49[(_0x2581c9(0xaf))]['File']({'filename':this[_0x2581c9(0xcb)],'level':_0x2581c9(0xb5)})],'silent':![]}),a149_0x2a1b49['addColors']({'success':_0x2581c9(0xc0),'error':_0x2581c9(0xc9),'warn':_0x2581c9(0xa7),'info':'blue'});}[a149_0x22db59(0xb5)](_0x4f4a02,_0x44ec3d,_0x409a38){const _0xaedcca=a149_0x22db59;if(!this[_0xaedcca(0xcb)]||!this['winstonLogger'])return;this[_0xaedcca(0xd2)][_0xaedcca(0xb5)](_0x44ec3d,{'command':_0x4f4a02,'details':_0x409a38});}['success'](_0x506004,_0x233876,_0x3392f6,_0x5777d9){const _0x3dad7e=a149_0x22db59;if(!this[_0x3dad7e(0xcb)]||!this['winstonLogger'])return;this['winstonLogger'][_0x3dad7e(0xb1)](_0x3dad7e(0xb5),_0x233876,{'level':_0x3dad7e(0xa8),'command':_0x506004,'duration':_0x3392f6,'details':_0x5777d9});}['error'](_0x50adb4,_0x2b935e,_0x236ed5){const _0x1215ca=a149_0x22db59;if(!this[_0x1215ca(0xcb)]||!this[_0x1215ca(0xd2)])return;this[_0x1215ca(0xd2)][_0x1215ca(0x9f)](_0x2b935e,{'command':_0x50adb4,'details':_0x236ed5});}[a149_0x22db59(0xc8)](_0x4a3ff7,_0xd695fb,_0x5377bf){const _0x1dad41=a149_0x22db59;if(!this[_0x1dad41(0xcb)]||!this[_0x1dad41(0xd2)])return;this['winstonLogger'][_0x1dad41(0xc8)](_0xd695fb,{'command':_0x4a3ff7,'details':_0x5377bf});}async[a149_0x22db59(0xc5)](_0x29e354,_0x98c989,_0x5516a5){const _0x3f3e8c=a149_0x22db59,_0xb99dec=Date['now']();this[_0x3f3e8c(0xb5)](_0x29e354,_0x3f3e8c(0xb8)+_0x98c989);try{const _0x5b6b6d=await _0x5516a5(),_0x57dd95=Date[_0x3f3e8c(0x9e)]()-_0xb99dec;return this['success'](_0x29e354,_0x3f3e8c(0xd0)+_0x98c989,_0x57dd95),_0x5b6b6d;}catch(_0x2eb2f2){const _0x2b3f05=Date[_0x3f3e8c(0x9e)]()-_0xb99dec;this[_0x3f3e8c(0x9f)](_0x29e354,_0x3f3e8c(0xa3)+_0x98c989,{'error':_0x2eb2f2 instanceof Error?_0x2eb2f2['message']:String(_0x2eb2f2),'duration':_0x2b3f05});throw _0x2eb2f2;}}[a149_0x22db59(0xa0)](){const _0x13666d=a149_0x22db59;try{if(!a149_0x2a2ec2['existsSync'](this['logFilePath']))return[];const _0x22de7b=a149_0x2a2ec2[_0x13666d(0xb4)](this['logFilePath'],_0x13666d(0xa1));return _0x22de7b['split'](/\r?\n/)[_0x13666d(0xd5)](_0x5a8ceb=>_0x5a8ceb[_0x13666d(0xb7)]())['map'](_0x11121e=>JSON[_0x13666d(0xbd)](_0x11121e));}catch(_0x456707){return console[_0x13666d(0xc8)]('Failed\x20to\x20read\x20logs:',_0x456707),[];}}['clearLogs'](){const _0x1c687c=a149_0x22db59;try{a149_0x2a2ec2['existsSync'](this[_0x1c687c(0xcb)])&&a149_0x2a2ec2[_0x1c687c(0xcc)](this[_0x1c687c(0xcb)],'',_0x1c687c(0xa1));}catch(_0x9749bb){console[_0x1c687c(0xc8)]('Failed\x20to\x20clear\x20logs:',_0x9749bb);}}[a149_0x22db59(0xb6)](){const _0x36fe7f=a149_0x22db59;return this[_0x36fe7f(0xd2)];}}export const logger=new Logger();
1
+ const a149_0x5c4268=a149_0x1424;(function(_0x2aaac0,_0xfdae50){const _0x4959d2=a149_0x1424,_0x1f7918=_0x2aaac0();while(!![]){try{const _0x2c3087=-parseInt(_0x4959d2(0x19f))/0x1+parseInt(_0x4959d2(0x186))/0x2*(-parseInt(_0x4959d2(0x17b))/0x3)+parseInt(_0x4959d2(0x16b))/0x4+-parseInt(_0x4959d2(0x1a4))/0x5*(-parseInt(_0x4959d2(0x178))/0x6)+-parseInt(_0x4959d2(0x16e))/0x7*(-parseInt(_0x4959d2(0x197))/0x8)+-parseInt(_0x4959d2(0x196))/0x9*(-parseInt(_0x4959d2(0x187))/0xa)+parseInt(_0x4959d2(0x184))/0xb*(parseInt(_0x4959d2(0x1a5))/0xc);if(_0x2c3087===_0xfdae50)break;else _0x1f7918['push'](_0x1f7918['shift']());}catch(_0x2e8d56){_0x1f7918['push'](_0x1f7918['shift']());}}}(a149_0x398b,0x82359));import a149_0x10928b from'winston';function a149_0x1424(_0x273a74,_0x28783b){_0x273a74=_0x273a74-0x16b;const _0x398b8c=a149_0x398b();let _0x142488=_0x398b8c[_0x273a74];return _0x142488;}import a149_0x375359 from'node:fs';import a149_0x278aa1 from'node:path';import{PRODUCT_CONFIG}from'../constant/product.js';class Logger{['winstonLogger'];[a149_0x5c4268(0x195)]='';[a149_0x5c4268(0x1a1)]='';constructor(){}['setRawCommand'](_0x32428a){const _0x31c989=a149_0x5c4268;this[_0x31c989(0x1a1)]=_0x32428a;}[a149_0x5c4268(0x170)](_0x26cbb6){const _0x52cdce=a149_0x5c4268;this[_0x52cdce(0x195)]=a149_0x278aa1[_0x52cdce(0x17d)](_0x26cbb6,PRODUCT_CONFIG[_0x52cdce(0x18e)]),this['winstonLogger']&&this['winstonLogger']['clear'](),this[_0x52cdce(0x18f)]();}['initWinstonLogger'](){const _0x140ce0=a149_0x5c4268,_0x438c10=a149_0x278aa1['dirname'](this[_0x140ce0(0x195)]);!a149_0x375359[_0x140ce0(0x17f)](_0x438c10)&&a149_0x375359[_0x140ce0(0x172)](_0x438c10,{'recursive':!![]});const _0x129adf=a149_0x10928b[_0x140ce0(0x183)][_0x140ce0(0x18c)](a149_0x10928b[_0x140ce0(0x183)][_0x140ce0(0x176)](),a149_0x10928b[_0x140ce0(0x183)][_0x140ce0(0x193)]({'stack':!![]}),a149_0x10928b[_0x140ce0(0x183)][_0x140ce0(0x19b)](_0x52f8db=>{const _0x192787=_0x140ce0,_0x177117={'timestamp':_0x52f8db['timestamp']||new Date()[_0x192787(0x182)](),'level':_0x52f8db[_0x192787(0x17a)]||_0x192787(0x17e),'command':_0x52f8db['command']||_0x192787(0x19a),'rawCommand':_0x52f8db[_0x192787(0x188)]||this['currentRawCommand']||undefined,'message':_0x52f8db[_0x192787(0x1a3)]||'','duration':_0x52f8db[_0x192787(0x185)]||undefined,'details':_0x52f8db[_0x192787(0x180)]||undefined};return JSON[_0x192787(0x1a2)](_0x177117);}));this[_0x140ce0(0x194)]=a149_0x10928b[_0x140ce0(0x174)]({'level':_0x140ce0(0x17e),'format':_0x129adf,'transports':[new a149_0x10928b[(_0x140ce0(0x18a))][(_0x140ce0(0x177))]({'filename':this[_0x140ce0(0x195)],'level':_0x140ce0(0x17e)})],'silent':![]}),a149_0x10928b[_0x140ce0(0x16f)]({'success':_0x140ce0(0x16d),'error':'red','warn':_0x140ce0(0x179),'info':_0x140ce0(0x192)});}[a149_0x5c4268(0x17e)](_0x4ec14f,_0x13ea22,_0x26d7fb){const _0xa20e85=a149_0x5c4268;if(!this['logFilePath']||!this[_0xa20e85(0x194)])return;this[_0xa20e85(0x194)][_0xa20e85(0x17e)](_0x13ea22,{'command':_0x4ec14f,'details':_0x26d7fb});}[a149_0x5c4268(0x199)](_0x4f8337,_0x442fd0,_0xbf64a5,_0x229768){const _0x10f821=a149_0x5c4268;if(!this[_0x10f821(0x195)]||!this['winstonLogger'])return;this['winstonLogger'][_0x10f821(0x189)]('info',_0x442fd0,{'level':_0x10f821(0x199),'command':_0x4f8337,'duration':_0xbf64a5,'details':_0x229768});}['error'](_0x2ccf18,_0x47269f,_0x58a960){const _0x4869db=a149_0x5c4268;if(!this[_0x4869db(0x195)]||!this[_0x4869db(0x194)])return;this[_0x4869db(0x194)]['error'](_0x47269f,{'command':_0x2ccf18,'details':_0x58a960});}['warn'](_0x22d968,_0x41eedc,_0x582cd4){const _0x1cf75e=a149_0x5c4268;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x1cf75e(0x194)][_0x1cf75e(0x171)](_0x41eedc,{'command':_0x22d968,'details':_0x582cd4});}async[a149_0x5c4268(0x181)](_0x28a28e,_0xe71475,_0x1876ea){const _0x2d8b79=a149_0x5c4268,_0x132b5c=Date[_0x2d8b79(0x18b)]();this['info'](_0x28a28e,_0x2d8b79(0x191)+_0xe71475);try{const _0x1ab0e3=await _0x1876ea(),_0x5684bc=Date['now']()-_0x132b5c;return this[_0x2d8b79(0x199)](_0x28a28e,_0x2d8b79(0x19c)+_0xe71475,_0x5684bc),_0x1ab0e3;}catch(_0x41ec5e){const _0x30df0d=Date[_0x2d8b79(0x18b)]()-_0x132b5c;this[_0x2d8b79(0x18d)](_0x28a28e,_0x2d8b79(0x16c)+_0xe71475,{'error':_0x41ec5e instanceof Error?_0x41ec5e[_0x2d8b79(0x1a3)]:String(_0x41ec5e),'duration':_0x30df0d});throw _0x41ec5e;}}['readLogs'](){const _0xfcf7bf=a149_0x5c4268;try{if(!a149_0x375359[_0xfcf7bf(0x17f)](this[_0xfcf7bf(0x195)]))return[];const _0x371b2a=a149_0x375359[_0xfcf7bf(0x175)](this[_0xfcf7bf(0x195)],_0xfcf7bf(0x17c));return _0x371b2a[_0xfcf7bf(0x190)](/\r?\n/)['filter'](_0x36da36=>_0x36da36[_0xfcf7bf(0x19e)]())[_0xfcf7bf(0x19d)](_0x20872e=>JSON[_0xfcf7bf(0x1a0)](_0x20872e));}catch(_0x41fdf1){return console[_0xfcf7bf(0x171)]('Failed\x20to\x20read\x20logs:',_0x41fdf1),[];}}[a149_0x5c4268(0x173)](){const _0x52711d=a149_0x5c4268;try{a149_0x375359[_0x52711d(0x17f)](this[_0x52711d(0x195)])&&a149_0x375359['writeFileSync'](this[_0x52711d(0x195)],'','utf8');}catch(_0x400cb4){console[_0x52711d(0x171)](_0x52711d(0x198),_0x400cb4);}}['getWinstonInstance'](){const _0x54a1fa=a149_0x5c4268;return this[_0x54a1fa(0x194)];}}export const logger=new Logger();function a149_0x398b(){const _0x386d88=['unknown','printf','Completed:\x20','map','trim','806241gErQbs','parse','currentRawCommand','stringify','message','5XayaRm','5209692SPhlau','2322868DykdOe','Failed:\x20','green','14hWCpcx','addColors','setLogPath','warn','mkdirSync','clearLogs','createLogger','readFileSync','timestamp','File','726918myLyZU','yellow','level','57rKzJBN','utf8','join','info','existsSync','details','logTask','toISOString','format','11sexLWo','duration','74042CLPzPw','364300xFadXc','rawCommand','log','transports','now','combine','error','logFileName','initWinstonLogger','split','Starting:\x20','blue','errors','winstonLogger','logFilePath','9ioKNyL','3482144lBZrAR','Failed\x20to\x20clear\x20logs:','success'];a149_0x398b=function(){return _0x386d88;};return a149_0x398b();}
@@ -1 +1 @@
1
- const a150_0x24f27a=a150_0x1f14;(function(_0x57835b,_0x5c5fdc){const _0x3559c5=a150_0x1f14,_0x434217=_0x57835b();while(!![]){try{const _0x137386=-parseInt(_0x3559c5(0x84))/0x1+parseInt(_0x3559c5(0x77))/0x2*(parseInt(_0x3559c5(0x7f))/0x3)+-parseInt(_0x3559c5(0x83))/0x4*(-parseInt(_0x3559c5(0x70))/0x5)+parseInt(_0x3559c5(0x73))/0x6*(-parseInt(_0x3559c5(0x7c))/0x7)+parseInt(_0x3559c5(0x7d))/0x8+-parseInt(_0x3559c5(0x7b))/0x9+-parseInt(_0x3559c5(0x82))/0xa*(-parseInt(_0x3559c5(0x80))/0xb);if(_0x137386===_0x5c5fdc)break;else _0x434217['push'](_0x434217['shift']());}catch(_0x519316){_0x434217['push'](_0x434217['shift']());}}}(a150_0x34a2,0x21ddc));const JSON_NUMBER_PATTERN=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,MAX_SAFE_INTEGER=BigInt(Number['MAX_SAFE_INTEGER']),MIN_SAFE_INTEGER=BigInt(Number[a150_0x24f27a(0x7e)]);function a150_0x34a2(){const _0x47fbef=['prototype','json','undefined','2eirEfa','length','text','parse','297576JVgewn','154952VjVTVY','695432cnDRsr','MIN_SAFE_INTEGER','15501kMIyBD','2714558Ssfbpi','defineProperty','10nrYrmG','73552mUlyKA','199418yhMgKl','75gSXrAq','exec','includes','66AqLWdf'];a150_0x34a2=function(){return _0x47fbef;};return a150_0x34a2();}let restoreResponseJsonParser,responseJsonPrototype,originalResponseJsonDescriptor;function a150_0x1f14(_0x5cc568,_0x5e9468){_0x5cc568=_0x5cc568-0x70;const _0x34a253=a150_0x34a2();let _0x1f142d=_0x34a253[_0x5cc568];return _0x1f142d;}function isUnsafeIntegerLiteral(_0x2182e7){const _0x12a849=a150_0x24f27a;if(_0x2182e7[_0x12a849(0x72)]('.')||_0x2182e7['includes']('e')||_0x2182e7[_0x12a849(0x72)]('E'))return![];const _0x553e17=BigInt(_0x2182e7);return _0x553e17>MAX_SAFE_INTEGER||_0x553e17<MIN_SAFE_INTEGER;}function quoteUnsafeIntegerLiterals(_0x412370){const _0x15b6dc=a150_0x24f27a;let _0xcf693a='',_0x256c27=![],_0x5415b7=![];for(let _0x4dad82=0x0;_0x4dad82<_0x412370[_0x15b6dc(0x78)];){const _0x34d7e1=_0x412370[_0x4dad82];if(_0x256c27){_0xcf693a+=_0x34d7e1,_0x4dad82+=0x1;if(_0x5415b7)_0x5415b7=![];else{if(_0x34d7e1==='\x5c')_0x5415b7=!![];else _0x34d7e1==='\x22'&&(_0x256c27=![]);}continue;}if(_0x34d7e1==='\x22'){_0x256c27=!![],_0xcf693a+=_0x34d7e1,_0x4dad82+=0x1;continue;}if(_0x34d7e1==='-'||_0x34d7e1>='0'&&_0x34d7e1<='9'){const _0x49c541=JSON_NUMBER_PATTERN[_0x15b6dc(0x71)](_0x412370['slice'](_0x4dad82))?.[0x0];if(_0x49c541){_0xcf693a+=isUnsafeIntegerLiteral(_0x49c541)?'\x22'+_0x49c541+'\x22':_0x49c541,_0x4dad82+=_0x49c541[_0x15b6dc(0x78)];continue;}}_0xcf693a+=_0x34d7e1,_0x4dad82+=0x1;}return _0xcf693a;}export function parseLosslessJson(_0x5b5d54){const _0x3a1ac8=a150_0x24f27a;return JSON[_0x3a1ac8(0x7a)](quoteUnsafeIntegerLiterals(_0x5b5d54));}export function installLosslessJsonResponseParser(){const _0x3d40bd=a150_0x24f27a;if(typeof Response===_0x3d40bd(0x76))return()=>{};if(restoreResponseJsonParser)return restoreResponseJsonParser;return responseJsonPrototype=Response[_0x3d40bd(0x74)],originalResponseJsonDescriptor=Object['getOwnPropertyDescriptor'](responseJsonPrototype,_0x3d40bd(0x75)),Object[_0x3d40bd(0x81)](responseJsonPrototype,'json',{...originalResponseJsonDescriptor??{'configurable':!![],'enumerable':![],'writable':!![]},'value':async function _0x24de6a(){const _0x27f86d=_0x3d40bd;return parseLosslessJson(await this[_0x27f86d(0x79)]());}}),restoreResponseJsonParser=()=>{const _0xc10625=_0x3d40bd;if(!responseJsonPrototype)return;originalResponseJsonDescriptor?Object[_0xc10625(0x81)](responseJsonPrototype,_0xc10625(0x75),originalResponseJsonDescriptor):delete responseJsonPrototype[_0xc10625(0x75)],responseJsonPrototype=undefined,originalResponseJsonDescriptor=undefined,restoreResponseJsonParser=undefined;},restoreResponseJsonParser;}export function restoreLosslessJsonResponseParser(){restoreResponseJsonParser?.();}
1
+ const a150_0x12c5e3=a150_0x3d1e;function a150_0x3d1e(_0x357434,_0x47cdf0){_0x357434=_0x357434-0xb3;const _0x46e499=a150_0x46e4();let _0x3d1e55=_0x46e499[_0x357434];return _0x3d1e55;}(function(_0x485916,_0x42c9e6){const _0x40214b=a150_0x3d1e,_0x2d86f3=_0x485916();while(!![]){try{const _0x4c3d6d=-parseInt(_0x40214b(0xba))/0x1+-parseInt(_0x40214b(0xbf))/0x2+-parseInt(_0x40214b(0xb4))/0x3+parseInt(_0x40214b(0xc2))/0x4+-parseInt(_0x40214b(0xbb))/0x5+-parseInt(_0x40214b(0xbc))/0x6*(-parseInt(_0x40214b(0xbd))/0x7)+parseInt(_0x40214b(0xb6))/0x8;if(_0x4c3d6d===_0x42c9e6)break;else _0x2d86f3['push'](_0x2d86f3['shift']());}catch(_0x5bfc0c){_0x2d86f3['push'](_0x2d86f3['shift']());}}}(a150_0x46e4,0xab4ce));const JSON_NUMBER_PATTERN=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,MAX_SAFE_INTEGER=BigInt(Number['MAX_SAFE_INTEGER']),MIN_SAFE_INTEGER=BigInt(Number[a150_0x12c5e3(0xc0)]);let restoreResponseJsonParser,responseJsonPrototype,originalResponseJsonDescriptor;function isUnsafeIntegerLiteral(_0x59315d){const _0x25c57c=a150_0x12c5e3;if(_0x59315d[_0x25c57c(0xc1)]('.')||_0x59315d[_0x25c57c(0xc1)]('e')||_0x59315d['includes']('E'))return![];const _0x29a22f=BigInt(_0x59315d);return _0x29a22f>MAX_SAFE_INTEGER||_0x29a22f<MIN_SAFE_INTEGER;}function quoteUnsafeIntegerLiterals(_0x938f30){const _0x3ab78e=a150_0x12c5e3;let _0x48afcf='',_0x2dcf84=![],_0x3ecf19=![];for(let _0x5936d9=0x0;_0x5936d9<_0x938f30[_0x3ab78e(0xb5)];){const _0x5b2537=_0x938f30[_0x5936d9];if(_0x2dcf84){_0x48afcf+=_0x5b2537,_0x5936d9+=0x1;if(_0x3ecf19)_0x3ecf19=![];else{if(_0x5b2537==='\x5c')_0x3ecf19=!![];else _0x5b2537==='\x22'&&(_0x2dcf84=![]);}continue;}if(_0x5b2537==='\x22'){_0x2dcf84=!![],_0x48afcf+=_0x5b2537,_0x5936d9+=0x1;continue;}if(_0x5b2537==='-'||_0x5b2537>='0'&&_0x5b2537<='9'){const _0x2472f3=JSON_NUMBER_PATTERN[_0x3ab78e(0xb8)](_0x938f30[_0x3ab78e(0xb7)](_0x5936d9))?.[0x0];if(_0x2472f3){_0x48afcf+=isUnsafeIntegerLiteral(_0x2472f3)?'\x22'+_0x2472f3+'\x22':_0x2472f3,_0x5936d9+=_0x2472f3[_0x3ab78e(0xb5)];continue;}}_0x48afcf+=_0x5b2537,_0x5936d9+=0x1;}return _0x48afcf;}export function parseLosslessJson(_0x1c8ed8){return JSON['parse'](quoteUnsafeIntegerLiterals(_0x1c8ed8));}export function installLosslessJsonResponseParser(){const _0x4e2aa3=a150_0x12c5e3;if(typeof Response===_0x4e2aa3(0xc4))return()=>{};if(restoreResponseJsonParser)return restoreResponseJsonParser;return responseJsonPrototype=Response['prototype'],originalResponseJsonDescriptor=Object[_0x4e2aa3(0xc3)](responseJsonPrototype,'json'),Object[_0x4e2aa3(0xb3)](responseJsonPrototype,_0x4e2aa3(0xb9),{...originalResponseJsonDescriptor??{'configurable':!![],'enumerable':![],'writable':!![]},'value':async function _0x34dab3(){const _0x1f45ce=_0x4e2aa3;return parseLosslessJson(await this[_0x1f45ce(0xbe)]());}}),restoreResponseJsonParser=()=>{const _0x484a73=_0x4e2aa3;if(!responseJsonPrototype)return;originalResponseJsonDescriptor?Object[_0x484a73(0xb3)](responseJsonPrototype,_0x484a73(0xb9),originalResponseJsonDescriptor):delete responseJsonPrototype[_0x484a73(0xb9)],responseJsonPrototype=undefined,originalResponseJsonDescriptor=undefined,restoreResponseJsonParser=undefined;},restoreResponseJsonParser;}function a150_0x46e4(){const _0x2a1ad9=['exec','json','1340985MlpLWJ','1537880iTAbeH','48rqaonX','1225238WMriTz','text','1273070GCumHo','MIN_SAFE_INTEGER','includes','609072CHpkvg','getOwnPropertyDescriptor','undefined','defineProperty','366645kRuDzH','length','12451336frSesL','slice'];a150_0x46e4=function(){return _0x2a1ad9;};return a150_0x46e4();}export function restoreLosslessJsonResponseParser(){restoreResponseJsonParser?.();}
@@ -1 +1 @@
1
- (function(_0x3cfea1,_0x2d86e0){const _0x5c35a4=a151_0x46f4,_0x592932=_0x3cfea1();while(!![]){try{const _0xcbd620=parseInt(_0x5c35a4(0xce))/0x1*(parseInt(_0x5c35a4(0xd3))/0x2)+-parseInt(_0x5c35a4(0xd7))/0x3*(-parseInt(_0x5c35a4(0xc6))/0x4)+parseInt(_0x5c35a4(0xc2))/0x5+parseInt(_0x5c35a4(0xd0))/0x6+parseInt(_0x5c35a4(0xc5))/0x7*(-parseInt(_0x5c35a4(0xc4))/0x8)+parseInt(_0x5c35a4(0xd2))/0x9*(-parseInt(_0x5c35a4(0xd1))/0xa)+-parseInt(_0x5c35a4(0xcb))/0xb;if(_0xcbd620===_0x2d86e0)break;else _0x592932['push'](_0x592932['shift']());}catch(_0x5a713e){_0x592932['push'](_0x592932['shift']());}}}(a151_0x2f33,0xad591));import{CliErrors}from'../errors.js';import{parseLosslessJson}from'../utils/lossless-json.js';function a151_0x2f33(){const _0x3fff15=['data\x20update\x20--params.','8210328YSYnyO','563430lfBJHm','45GiFLZx','61478eRryQE','Invalid\x20JSON\x20for\x20--params:\x20','isArray','number','308001XhGGwV','test','data\x20update\x20id\x20array\x20cannot\x20be\x20empty.','items','data\x20update\x20--params\x20must\x20be\x20a\x20JSON\x20object\x20with\x20id.','batchCreate\x20--params\x20must\x20be\x20a\x20JSON\x20array\x20or\x20{\x22items\x22:[...]}','data\x20update\x20can\x20update\x20at\x20most\x20','447555eWgLwi','validation','9664KfbtCk','5327XGvaED','44QqsZfK','object','length','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27','\x20must\x20be\x20a\x20positive\x20integer\x20or\x20numeric\x20string.','9805103ahVyRA','id[','Example:\x20--params\x20\x27[{\x22name\x22:\x22a\x22},{\x22name\x22:\x22b\x22}]\x27','7IHLCkI'];a151_0x2f33=function(){return _0x3fff15;};return a151_0x2f33();}export const MAX_DATA_UPDATE_IDS=0x3e8;function a151_0x46f4(_0x5d33b1,_0x21e827){_0x5d33b1=_0x5d33b1-0xc2;const _0x2f3396=a151_0x2f33();let _0x46f46b=_0x2f3396[_0x5d33b1];return _0x46f46b;}export function parseJsonParams(_0x351292){const _0x191711=a151_0x46f4;if(!_0x351292)return undefined;try{return parseLosslessJson(_0x351292);}catch{throw CliErrors[_0x191711(0xc3)](_0x191711(0xd4)+_0x351292);}}export function parseJsonParamsValue(_0x42838f){const _0xface29=a151_0x46f4;if(!_0x42838f)return undefined;try{return parseLosslessJson(_0x42838f);}catch{throw CliErrors[_0xface29(0xc3)](_0xface29(0xd4)+_0x42838f);}}export function parseBatchCreateItemsFromParams(_0x16523e){const _0x3ce304=a151_0x46f4;if(Array[_0x3ce304(0xd5)](_0x16523e))return _0x16523e;if(_0x16523e!==null&&_0x16523e!==undefined&&typeof _0x16523e===_0x3ce304(0xc7)&&Array['isArray'](_0x16523e[_0x3ce304(0xda)]))return _0x16523e['items'];throw CliErrors[_0x3ce304(0xc3)](_0x3ce304(0xdc),_0x3ce304(0xcd));}function parseDataUpdateId(_0x259c9f,_0x30224a){const _0x3fbfcd=a151_0x46f4;if(typeof _0x259c9f===_0x3fbfcd(0xd6)&&Number['isSafeInteger'](_0x259c9f)&&_0x259c9f>0x0)return _0x259c9f;if(typeof _0x259c9f==='string'){if(/^[1-9]\d*$/[_0x3fbfcd(0xd8)](_0x259c9f))return _0x259c9f;}throw CliErrors[_0x3fbfcd(0xc3)](_0x3fbfcd(0xcf)+_0x30224a+_0x3fbfcd(0xca));}export function parseUpdateIdsFromParams(_0x4dcd5a){const _0x2aafcd=a151_0x46f4;if(_0x4dcd5a===null||_0x4dcd5a===undefined||typeof _0x4dcd5a!=='object'||Array['isArray'](_0x4dcd5a))throw CliErrors[_0x2aafcd(0xc3)](_0x2aafcd(0xdb),_0x2aafcd(0xc9));const _0x2319a5=_0x4dcd5a['id'];if(_0x2319a5===undefined||_0x2319a5===null)throw CliErrors[_0x2aafcd(0xc3)]('data\x20update\x20requires\x20\x22id\x22\x20in\x20--params.','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27');const _0x4a7946=Array[_0x2aafcd(0xd5)](_0x2319a5)?_0x2319a5:[_0x2319a5];if(_0x4a7946[_0x2aafcd(0xc8)]===0x0)throw CliErrors[_0x2aafcd(0xc3)](_0x2aafcd(0xd9));if(_0x4a7946[_0x2aafcd(0xc8)]>MAX_DATA_UPDATE_IDS)throw CliErrors[_0x2aafcd(0xc3)](_0x2aafcd(0xdd)+MAX_DATA_UPDATE_IDS+'\x20records\x20per\x20call;\x20received\x20'+_0x4a7946[_0x2aafcd(0xc8)]+'.');return _0x4a7946['map']((_0x592633,_0x56ba04)=>parseDataUpdateId(_0x592633,Array[_0x2aafcd(0xd5)](_0x2319a5)?_0x2aafcd(0xcc)+_0x56ba04+']':'id'));}export function normalizeUpdateParamsForRuntime(_0x395b95,_0x5abc98){const _0x55b090=a151_0x46f4;if(Array[_0x55b090(0xd5)](_0x395b95['id'])&&_0x5abc98[_0x55b090(0xc8)]>0x1)return{..._0x395b95,'id':_0x5abc98['join'](',')};return _0x395b95;}
1
+ function a151_0x234f(_0x5f4cc9,_0x5b537d){_0x5f4cc9=_0x5f4cc9-0x1a9;const _0x35eec6=a151_0x35ee();let _0x234f1d=_0x35eec6[_0x5f4cc9];return _0x234f1d;}(function(_0x4cb439,_0x40b1eb){const _0x244071=a151_0x234f,_0x33d3d6=_0x4cb439();while(!![]){try{const _0x483d49=-parseInt(_0x244071(0x1ba))/0x1+parseInt(_0x244071(0x1b2))/0x2*(-parseInt(_0x244071(0x1b7))/0x3)+-parseInt(_0x244071(0x1bc))/0x4+-parseInt(_0x244071(0x1b1))/0x5+parseInt(_0x244071(0x1ac))/0x6*(parseInt(_0x244071(0x1c2))/0x7)+parseInt(_0x244071(0x1c6))/0x8+parseInt(_0x244071(0x1bd))/0x9*(parseInt(_0x244071(0x1c0))/0xa);if(_0x483d49===_0x40b1eb)break;else _0x33d3d6['push'](_0x33d3d6['shift']());}catch(_0x1841e9){_0x33d3d6['push'](_0x33d3d6['shift']());}}}(a151_0x35ee,0xca819));import{CliErrors}from'../errors.js';import{parseLosslessJson}from'../utils/lossless-json.js';function a151_0x35ee(){const _0x24d81f=['\x20must\x20be\x20a\x20positive\x20integer\x20or\x20numeric\x20string.','2110386LhGPCR','batchCreate\x20--params\x20must\x20be\x20a\x20JSON\x20array\x20or\x20{\x22items\x22:[...]}','id[','items','join','7917050ZOTejr','350JxRHdz','isArray','object','data\x20update\x20--params\x20must\x20be\x20a\x20JSON\x20object\x20with\x20id.','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27','11151pmTyDR','test','validation','261713xgXBZa','map','4677700oibooz','9794781lXdxiQ','data\x20update\x20can\x20update\x20at\x20most\x20','length','20xRjqrO','\x20records\x20per\x20call;\x20received\x20','28jgPQvY','data\x20update\x20requires\x20\x22id\x22\x20in\x20--params.','Invalid\x20JSON\x20for\x20--params:\x20','Example:\x20--params\x20\x27[{\x22name\x22:\x22a\x22},{\x22name\x22:\x22b\x22}]\x27','7287568eNamhD','isSafeInteger','data\x20update\x20id\x20array\x20cannot\x20be\x20empty.'];a151_0x35ee=function(){return _0x24d81f;};return a151_0x35ee();}export const MAX_DATA_UPDATE_IDS=0x3e8;export function parseJsonParams(_0x29a3ed){const _0xfbbfe2=a151_0x234f;if(!_0x29a3ed)return undefined;try{return parseLosslessJson(_0x29a3ed);}catch{throw CliErrors['validation'](_0xfbbfe2(0x1c4)+_0x29a3ed);}}export function parseJsonParamsValue(_0x5a93ff){const _0x1e65e2=a151_0x234f;if(!_0x5a93ff)return undefined;try{return parseLosslessJson(_0x5a93ff);}catch{throw CliErrors[_0x1e65e2(0x1b9)](_0x1e65e2(0x1c4)+_0x5a93ff);}}export function parseBatchCreateItemsFromParams(_0x259ae5){const _0x5d2c8d=a151_0x234f;if(Array['isArray'](_0x259ae5))return _0x259ae5;if(_0x259ae5!==null&&_0x259ae5!==undefined&&typeof _0x259ae5===_0x5d2c8d(0x1b4)&&Array['isArray'](_0x259ae5[_0x5d2c8d(0x1af)]))return _0x259ae5['items'];throw CliErrors['validation'](_0x5d2c8d(0x1ad),_0x5d2c8d(0x1c5));}function parseDataUpdateId(_0x5c74c8,_0x4549ba){const _0x1c5c5b=a151_0x234f;if(typeof _0x5c74c8==='number'&&Number[_0x1c5c5b(0x1a9)](_0x5c74c8)&&_0x5c74c8>0x0)return _0x5c74c8;if(typeof _0x5c74c8==='string'){if(/^[1-9]\d*$/[_0x1c5c5b(0x1b8)](_0x5c74c8))return _0x5c74c8;}throw CliErrors[_0x1c5c5b(0x1b9)]('data\x20update\x20--params.'+_0x4549ba+_0x1c5c5b(0x1ab));}export function parseUpdateIdsFromParams(_0x275b8c){const _0x1e0794=a151_0x234f;if(_0x275b8c===null||_0x275b8c===undefined||typeof _0x275b8c!=='object'||Array[_0x1e0794(0x1b3)](_0x275b8c))throw CliErrors[_0x1e0794(0x1b9)](_0x1e0794(0x1b5),_0x1e0794(0x1b6));const _0x390899=_0x275b8c['id'];if(_0x390899===undefined||_0x390899===null)throw CliErrors[_0x1e0794(0x1b9)](_0x1e0794(0x1c3),_0x1e0794(0x1b6));const _0x55b71e=Array['isArray'](_0x390899)?_0x390899:[_0x390899];if(_0x55b71e[_0x1e0794(0x1bf)]===0x0)throw CliErrors[_0x1e0794(0x1b9)](_0x1e0794(0x1aa));if(_0x55b71e[_0x1e0794(0x1bf)]>MAX_DATA_UPDATE_IDS)throw CliErrors[_0x1e0794(0x1b9)](_0x1e0794(0x1be)+MAX_DATA_UPDATE_IDS+_0x1e0794(0x1c1)+_0x55b71e[_0x1e0794(0x1bf)]+'.');return _0x55b71e[_0x1e0794(0x1bb)]((_0xdb6569,_0x3311ed)=>parseDataUpdateId(_0xdb6569,Array[_0x1e0794(0x1b3)](_0x390899)?_0x1e0794(0x1ae)+_0x3311ed+']':'id'));}export function normalizeUpdateParamsForRuntime(_0x45b4cf,_0x3d7956){const _0x582580=a151_0x234f;if(Array[_0x582580(0x1b3)](_0x45b4cf['id'])&&_0x3d7956[_0x582580(0x1bf)]>0x1)return{..._0x45b4cf,'id':_0x3d7956[_0x582580(0x1b0)](',')};return _0x45b4cf;}
@@ -1 +1 @@
1
- const a152_0x36257b=a152_0x1ace;(function(_0x5db5e6,_0x21b445){const _0x4b0ceb=a152_0x1ace,_0x4b11ba=_0x5db5e6();while(!![]){try{const _0x2bbf3c=parseInt(_0x4b0ceb(0x6d))/0x1*(parseInt(_0x4b0ceb(0x75))/0x2)+parseInt(_0x4b0ceb(0x77))/0x3*(-parseInt(_0x4b0ceb(0x74))/0x4)+-parseInt(_0x4b0ceb(0x76))/0x5+parseInt(_0x4b0ceb(0x72))/0x6*(-parseInt(_0x4b0ceb(0x6f))/0x7)+-parseInt(_0x4b0ceb(0x6e))/0x8+-parseInt(_0x4b0ceb(0x71))/0x9+parseInt(_0x4b0ceb(0x70))/0xa;if(_0x2bbf3c===_0x21b445)break;else _0x4b11ba['push'](_0x4b11ba['shift']());}catch(_0x5c4938){_0x4b11ba['push'](_0x4b11ba['shift']());}}}(a152_0x3792,0x86b5a));function a152_0x1ace(_0x4ada19,_0x21b527){_0x4ada19=_0x4ada19-0x6d;const _0x3792cd=a152_0x3792();let _0x1aced7=_0x3792cd[_0x4ada19];return _0x1aced7;}function a152_0x3792(){const _0x321970=['31863770VLrvlh','1999665mXtAYI','18gEIfKU','.cmd','550456mTGsbl','1138exTkgj','3642140yASHuo','12YmCDBm','win32','157KWRgzA','6758080Mubdlk','882259Rlgmwg'];a152_0x3792=function(){return _0x321970;};return a152_0x3792();}export const isWindows=process['platform']===a152_0x36257b(0x78);export function resolveNpmBin(_0x3c763a){const _0x3e8426=a152_0x36257b;return isWindows?_0x3c763a+_0x3e8426(0x73):_0x3c763a;}
1
+ const a152_0x1a9498=a152_0x180f;function a152_0x180f(_0x30b85d,_0x4eb6ad){_0x30b85d=_0x30b85d-0x16c;const _0x1bb576=a152_0x1bb5();let _0x180ff7=_0x1bb576[_0x30b85d];return _0x180ff7;}(function(_0x538a97,_0x590084){const _0x27403b=a152_0x180f,_0x2d2b0b=_0x538a97();while(!![]){try{const _0x412cde=-parseInt(_0x27403b(0x173))/0x1+-parseInt(_0x27403b(0x170))/0x2*(parseInt(_0x27403b(0x175))/0x3)+-parseInt(_0x27403b(0x172))/0x4*(-parseInt(_0x27403b(0x16e))/0x5)+-parseInt(_0x27403b(0x16f))/0x6*(parseInt(_0x27403b(0x176))/0x7)+-parseInt(_0x27403b(0x171))/0x8+parseInt(_0x27403b(0x178))/0x9+parseInt(_0x27403b(0x177))/0xa;if(_0x412cde===_0x590084)break;else _0x2d2b0b['push'](_0x2d2b0b['shift']());}catch(_0x52f0a4){_0x2d2b0b['push'](_0x2d2b0b['shift']());}}}(a152_0x1bb5,0x5f86e));export const isWindows=process[a152_0x1a9498(0x16d)]===a152_0x1a9498(0x174);export function resolveNpmBin(_0x3b68f4){const _0x566761=a152_0x1a9498;return isWindows?_0x3b68f4+_0x566761(0x16c):_0x3b68f4;}function a152_0x1bb5(){const _0x534213=['31632FLuJuS','590699SmvzGU','win32','6LwyrMF','193123GWvopQ','12820270ZJlRSw','5440032pRqDRk','.cmd','platform','110MSfBWU','84HaNBuU','465098FGrWuS','1817040uvgfhT'];a152_0x1bb5=function(){return _0x534213;};return a152_0x1bb5();}
@@ -1 +1 @@
1
- (function(_0x218295,_0x50af71){const _0x44391f=a153_0x1a18,_0x7810d0=_0x218295();while(!![]){try{const _0x1092d1=parseInt(_0x44391f(0xfd))/0x1*(parseInt(_0x44391f(0xf6))/0x2)+-parseInt(_0x44391f(0x112))/0x3+parseInt(_0x44391f(0x101))/0x4+-parseInt(_0x44391f(0xf8))/0x5+parseInt(_0x44391f(0xfa))/0x6+-parseInt(_0x44391f(0x116))/0x7+parseInt(_0x44391f(0x107))/0x8;if(_0x1092d1===_0x50af71)break;else _0x7810d0['push'](_0x7810d0['shift']());}catch(_0x21fd23){_0x7810d0['push'](_0x7810d0['shift']());}}}(a153_0xdbdd,0x6a87a));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';function a153_0xdbdd(){const _0x3b51c7=['\x20update','3575844NobQPJ','checkedAt','Invalid\x20semver','103xuOWmn','true','major','yes','1820724VUvJpu','minor','latest',',\x20run:\x20','number','prerelease','6413312eqeXPL','json','trim','object','lastNotifiedAt','/v/','\x20available,\x20current\x20','fromEntries','now','timeout','patch','1034979HCUiDo','filter','/dist-tags','update-check.json','5477150oozCeW','/-/package/','map','string','6866qSXFUl','.cache','3213145VuOgXm'];a153_0xdbdd=function(){return _0x3b51c7;};return a153_0xdbdd();}import{CLI_BIN_NAME}from'../constant/cli.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function parseSemver(_0xe7e3e6){const _0x1ac624=a153_0x1a18,_0x309738=_0xe7e3e6[_0x1ac624(0x109)]()['match'](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x309738)return null;return{'major':Number(_0x309738[0x1]),'minor':Number(_0x309738[0x2]),'patch':Number(_0x309738[0x3]),'prerelease':_0x309738[0x4]};}function a153_0x1a18(_0x1ca3c6,_0x5a5590){_0x1ca3c6=_0x1ca3c6-0xf3;const _0xdbdd69=a153_0xdbdd();let _0x1a18a3=_0xdbdd69[_0x1ca3c6];return _0x1a18a3;}function compareSemver(_0x4a47d6,_0x1fc3b2){const _0x23cb92=a153_0x1a18,_0x402dc1=parseSemver(_0x4a47d6),_0x477f85=parseSemver(_0x1fc3b2);if(!_0x402dc1||!_0x477f85)throw new Error(_0x23cb92(0xfc));for(const _0x4a5737 of[_0x23cb92(0xff),_0x23cb92(0x102),_0x23cb92(0x111)]){if(_0x402dc1[_0x4a5737]<_0x477f85[_0x4a5737])return-0x1;if(_0x402dc1[_0x4a5737]>_0x477f85[_0x4a5737])return 0x1;}if(!_0x402dc1['prerelease']&&!_0x477f85[_0x23cb92(0x106)])return 0x0;if(!_0x402dc1[_0x23cb92(0x106)])return 0x1;if(!_0x477f85['prerelease'])return-0x1;if(_0x402dc1[_0x23cb92(0x106)]===_0x477f85['prerelease'])return 0x0;return _0x402dc1[_0x23cb92(0x106)]<_0x477f85['prerelease']?-0x1:0x1;}function isUpdateNoticeDisabled(){const _0x47bb6f=a153_0x1a18,_0x542f12=process.env.LOVRABET_NO_UPDATE_NOTICE?.[_0x47bb6f(0x109)]()['toLowerCase']();return _0x542f12==='1'||_0x542f12===_0x47bb6f(0xfe)||_0x542f12===_0x47bb6f(0x100);}function cacheRoot(){const _0x46495d=a153_0x1a18;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x46495d(0xf7));}export function getUpdateNoticeCachePath(){const _0x33a594=a153_0x1a18;return join(cacheRoot(),'lovrabet-cli',_0x33a594(0x115));}async function readUpdateNoticeCache(){const _0x14353a=a153_0x1a18;try{const _0x1cf84e=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x2ddab7=JSON['parse'](_0x1cf84e);if(!_0x2ddab7||typeof _0x2ddab7!==_0x14353a(0x10a))return{};return _0x2ddab7;}catch{return{};}}async function writeUpdateNoticeCache(_0x2f420d){try{const _0x19029a=getUpdateNoticeCachePath();await mkdir(dirname(_0x19029a),{'recursive':!![]}),await writeFile(_0x19029a,JSON['stringify'](_0x2f420d,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x243f8d,_0x57409e){const _0x4ac802=a153_0x1a18;return typeof _0x243f8d[_0x4ac802(0xfb)]===_0x4ac802(0x105)&&_0x57409e-_0x243f8d[_0x4ac802(0xfb)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x1139e4,_0x10dbc7,_0x4acd85){const _0xb66904=a153_0x1a18;return _0x1139e4['lastNotifiedVersion']===_0x10dbc7&&typeof _0x1139e4[_0xb66904(0x10b)]==='number'&&_0x4acd85-_0x1139e4[_0xb66904(0x10b)]<UPDATE_NOTICE_TTL_MS;}async function fetchNpmDistTags(_0x2639b5=0x5dc){const _0x466bad=a153_0x1a18;try{const _0x3fb6ff=NPM_REGISTRY_BASE_URL+_0x466bad(0xf3)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x466bad(0x114),_0x3aa0f1=await fetch(_0x3fb6ff,{'signal':AbortSignal[_0x466bad(0x110)](_0x2639b5)});if(!_0x3aa0f1['ok'])return null;const _0x3c59a4=await _0x3aa0f1[_0x466bad(0x108)]();if(!_0x3c59a4||typeof _0x3c59a4!==_0x466bad(0x10a))return null;return Object[_0x466bad(0x10e)](Object['entries'](_0x3c59a4)[_0x466bad(0x113)](([,_0xa3bc23])=>typeof _0xa3bc23===_0x466bad(0xf5)&&_0xa3bc23[_0x466bad(0x109)]())[_0x466bad(0xf4)](([_0x29a117,_0x532a1d])=>[_0x29a117,String(_0x532a1d)[_0x466bad(0x109)]()]));}catch{return null;}}export function buildNpmVersionUrl(_0x224c69){const _0x598451=a153_0x1a18;return'https://www.npmjs.com/package/'+LOVRABET_NPM_PACKAGE_NAME+_0x598451(0x10c)+_0x224c69;}export async function resolveLatestUpdateNotice(){const _0x1f0896=a153_0x1a18;if(isUpdateNoticeDisabled())return null;try{const _0x5e84a0=Date[_0x1f0896(0x10f)](),_0x155556=getCliVersion(),_0x29e8d5=await readUpdateNoticeCache();let _0x11f1e2=isFreshCheck(_0x29e8d5,_0x5e84a0)?_0x29e8d5[_0x1f0896(0x103)]?.[_0x1f0896(0x109)]():undefined;if(!_0x11f1e2&&!isFreshCheck(_0x29e8d5,_0x5e84a0)){const _0x53ea8d=await fetchNpmDistTags();_0x11f1e2=_0x53ea8d?.[_0x1f0896(0x103)]?.[_0x1f0896(0x109)](),await writeUpdateNoticeCache({..._0x29e8d5,'checkedAt':_0x5e84a0,'latest':_0x11f1e2,'failed':!_0x11f1e2});}if(!_0x11f1e2||compareSemver(_0x155556,_0x11f1e2)>=0x0)return null;if(isRecentlyNotified(_0x29e8d5,_0x11f1e2,_0x5e84a0))return null;const _0x509936=CLI_BIN_NAME+_0x1f0896(0xf9);return await writeUpdateNoticeCache({..._0x29e8d5,'checkedAt':isFreshCheck(_0x29e8d5,_0x5e84a0)?_0x29e8d5['checkedAt']:_0x5e84a0,'latest':_0x11f1e2,'failed':![],'lastNotifiedVersion':_0x11f1e2,'lastNotifiedAt':_0x5e84a0}),{'command':_0x509936,'current':_0x155556,'latest':_0x11f1e2,'url':buildNpmVersionUrl(_0x11f1e2),'message':CLI_BIN_NAME+'\x20'+_0x11f1e2+_0x1f0896(0x10d)+_0x155556+_0x1f0896(0x104)+_0x509936};}catch{return null;}}
1
+ (function(_0xc3ac4,_0x4b4aa9){const _0x490c83=a153_0x5f2e,_0x14b301=_0xc3ac4();while(!![]){try{const _0x21f667=-parseInt(_0x490c83(0x1dc))/0x1+parseInt(_0x490c83(0x1ce))/0x2+-parseInt(_0x490c83(0x1d6))/0x3+parseInt(_0x490c83(0x1ca))/0x4+parseInt(_0x490c83(0x1d1))/0x5+parseInt(_0x490c83(0x1dd))/0x6*(-parseInt(_0x490c83(0x1d9))/0x7)+parseInt(_0x490c83(0x1c1))/0x8;if(_0x21f667===_0x4b4aa9)break;else _0x14b301['push'](_0x14b301['shift']());}catch(_0x34ac68){_0x14b301['push'](_0x14b301['shift']());}}}(a153_0x4da4,0x972f6));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';function a153_0x5f2e(_0x5048d6,_0x30eeb8){_0x5048d6=_0x5048d6-0x1c0;const _0x4da4ac=a153_0x4da4();let _0x5f2ee0=_0x4da4ac[_0x5048d6];return _0x5f2ee0;}import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function parseSemver(_0x5a0459){const _0x546b4d=a153_0x5f2e,_0x17a6d7=_0x5a0459[_0x546b4d(0x1e3)]()[_0x546b4d(0x1d5)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x17a6d7)return null;return{'major':Number(_0x17a6d7[0x1]),'minor':Number(_0x17a6d7[0x2]),'patch':Number(_0x17a6d7[0x3]),'prerelease':_0x17a6d7[0x4]};}function a153_0x4da4(){const _0x2fd845=['true','9476368Sjnibd','stringify','lastNotifiedVersion','object','lastNotifiedAt','filter','update-check.json','parse','yes','2557332CYiNXP','latest','timeout','checkedAt','239622fJBSzu','/dist-tags','string','4798665kkduFu','entries','patch','Invalid\x20semver','match','1034757XmAapm','/v/','now','28gMXabe','number','prerelease','1132162FzoCuW','1210632byJBuB','minor','major','fromEntries',',\x20run:\x20','utf8','trim'];a153_0x4da4=function(){return _0x2fd845;};return a153_0x4da4();}function compareSemver(_0x5707a5,_0xa6bfb5){const _0x1d0cc0=a153_0x5f2e,_0x41dbcd=parseSemver(_0x5707a5),_0x180d4b=parseSemver(_0xa6bfb5);if(!_0x41dbcd||!_0x180d4b)throw new Error(_0x1d0cc0(0x1d4));for(const _0x302500 of[_0x1d0cc0(0x1df),_0x1d0cc0(0x1de),_0x1d0cc0(0x1d3)]){if(_0x41dbcd[_0x302500]<_0x180d4b[_0x302500])return-0x1;if(_0x41dbcd[_0x302500]>_0x180d4b[_0x302500])return 0x1;}if(!_0x41dbcd[_0x1d0cc0(0x1db)]&&!_0x180d4b[_0x1d0cc0(0x1db)])return 0x0;if(!_0x41dbcd[_0x1d0cc0(0x1db)])return 0x1;if(!_0x180d4b[_0x1d0cc0(0x1db)])return-0x1;if(_0x41dbcd['prerelease']===_0x180d4b[_0x1d0cc0(0x1db)])return 0x0;return _0x41dbcd[_0x1d0cc0(0x1db)]<_0x180d4b[_0x1d0cc0(0x1db)]?-0x1:0x1;}function isUpdateNoticeDisabled(){const _0xd1dda6=a153_0x5f2e,_0x35c551=process.env.LOVRABET_NO_UPDATE_NOTICE?.[_0xd1dda6(0x1e3)]()['toLowerCase']();return _0x35c551==='1'||_0x35c551===_0xd1dda6(0x1c0)||_0x35c551===_0xd1dda6(0x1c9);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x209f80=a153_0x5f2e;return join(cacheRoot(),'lovrabet-cli',_0x209f80(0x1c7));}async function readUpdateNoticeCache(){const _0x398ab7=a153_0x5f2e;try{const _0x5c99d1=await readFile(getUpdateNoticeCachePath(),_0x398ab7(0x1e2)),_0x41ec6c=JSON[_0x398ab7(0x1c8)](_0x5c99d1);if(!_0x41ec6c||typeof _0x41ec6c!==_0x398ab7(0x1c4))return{};return _0x41ec6c;}catch{return{};}}async function writeUpdateNoticeCache(_0x10e51e){const _0x2e56b4=a153_0x5f2e;try{const _0xa3a1c3=getUpdateNoticeCachePath();await mkdir(dirname(_0xa3a1c3),{'recursive':!![]}),await writeFile(_0xa3a1c3,JSON[_0x2e56b4(0x1c2)](_0x10e51e,null,0x2)+'\x0a',_0x2e56b4(0x1e2));}catch{}}function isFreshCheck(_0x503137,_0x44d6ae){const _0x4f3bdf=a153_0x5f2e;return typeof _0x503137[_0x4f3bdf(0x1cd)]===_0x4f3bdf(0x1da)&&_0x44d6ae-_0x503137[_0x4f3bdf(0x1cd)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x5ba946,_0x449b22,_0x3e21e3){const _0x3d2ac8=a153_0x5f2e;return _0x5ba946[_0x3d2ac8(0x1c3)]===_0x449b22&&typeof _0x5ba946[_0x3d2ac8(0x1c5)]===_0x3d2ac8(0x1da)&&_0x3e21e3-_0x5ba946[_0x3d2ac8(0x1c5)]<UPDATE_NOTICE_TTL_MS;}async function fetchNpmDistTags(_0x197160=0x5dc){const _0x17667a=a153_0x5f2e;try{const _0x47998a=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x17667a(0x1cf),_0x5a6e8c=await fetch(_0x47998a,{'signal':AbortSignal[_0x17667a(0x1cc)](_0x197160)});if(!_0x5a6e8c['ok'])return null;const _0x2ae1ff=await _0x5a6e8c['json']();if(!_0x2ae1ff||typeof _0x2ae1ff!==_0x17667a(0x1c4))return null;return Object[_0x17667a(0x1e0)](Object[_0x17667a(0x1d2)](_0x2ae1ff)[_0x17667a(0x1c6)](([,_0x1fec28])=>typeof _0x1fec28===_0x17667a(0x1d0)&&_0x1fec28[_0x17667a(0x1e3)]())['map'](([_0x432fb0,_0x374f42])=>[_0x432fb0,String(_0x374f42)['trim']()]));}catch{return null;}}export function buildNpmVersionUrl(_0x5902c1){const _0x451f06=a153_0x5f2e;return'https://www.npmjs.com/package/'+LOVRABET_NPM_PACKAGE_NAME+_0x451f06(0x1d7)+_0x5902c1;}export async function resolveLatestUpdateNotice(){const _0x358c81=a153_0x5f2e;if(isUpdateNoticeDisabled())return null;try{const _0x998613=Date[_0x358c81(0x1d8)](),_0xd74a7e=getCliVersion(),_0x503cda=await readUpdateNoticeCache();let _0x2f7da1=isFreshCheck(_0x503cda,_0x998613)?_0x503cda['latest']?.['trim']():undefined;if(!_0x2f7da1&&!isFreshCheck(_0x503cda,_0x998613)){const _0x25c18a=await fetchNpmDistTags();_0x2f7da1=_0x25c18a?.[_0x358c81(0x1cb)]?.[_0x358c81(0x1e3)](),await writeUpdateNoticeCache({..._0x503cda,'checkedAt':_0x998613,'latest':_0x2f7da1,'failed':!_0x2f7da1});}if(!_0x2f7da1||compareSemver(_0xd74a7e,_0x2f7da1)>=0x0)return null;if(isRecentlyNotified(_0x503cda,_0x2f7da1,_0x998613))return null;const _0x17ec95=CLI_BIN_NAME+'\x20update';return await writeUpdateNoticeCache({..._0x503cda,'checkedAt':isFreshCheck(_0x503cda,_0x998613)?_0x503cda[_0x358c81(0x1cd)]:_0x998613,'latest':_0x2f7da1,'failed':![],'lastNotifiedVersion':_0x2f7da1,'lastNotifiedAt':_0x998613}),{'command':_0x17ec95,'current':_0xd74a7e,'latest':_0x2f7da1,'url':buildNpmVersionUrl(_0x2f7da1),'message':CLI_BIN_NAME+'\x20'+_0x2f7da1+'\x20available,\x20current\x20'+_0xd74a7e+_0x358c81(0x1e1)+_0x17ec95};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x5b393b,_0x3a40c5){const _0x6460d7=a154_0x2f96,_0x4e6abd=_0x5b393b();while(!![]){try{const _0x3af9dd=-parseInt(_0x6460d7(0x193))/0x1*(parseInt(_0x6460d7(0x19b))/0x2)+-parseInt(_0x6460d7(0x196))/0x3*(parseInt(_0x6460d7(0x195))/0x4)+-parseInt(_0x6460d7(0x19a))/0x5+-parseInt(_0x6460d7(0x192))/0x6+-parseInt(_0x6460d7(0x191))/0x7*(parseInt(_0x6460d7(0x19d))/0x8)+-parseInt(_0x6460d7(0x19e))/0x9*(parseInt(_0x6460d7(0x197))/0xa)+parseInt(_0x6460d7(0x194))/0xb*(parseInt(_0x6460d7(0x199))/0xc);if(_0x3af9dd===_0x3a40c5)break;else _0x4e6abd['push'](_0x4e6abd['shift']());}catch(_0x742f7c){_0x4e6abd['push'](_0x4e6abd['shift']());}}}(a154_0x12ad,0xec89b));function a154_0x12ad(){const _0x51e536=['11186hAXYCQ','9143064iIvxeV','6KBoesC','2658546ruwtbV','90884SuxXPe','57gMYYVo','678070xOQaWv','unknown','252cQhMHS','2663445UMMoNd','224474JEpWQl','slice','3712wPDAys','27swXviz'];a154_0x12ad=function(){return _0x51e536;};return a154_0x12ad();}function a154_0x2f96(_0xbca88a,_0xcfe9a4){_0xbca88a=_0xbca88a-0x191;const _0x12ad8e=a154_0x12ad();let _0x2f9691=_0x12ad8e[_0xbca88a];return _0x2f9691;}import{BUILD_TIME,GIT_COMMIT,VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}export function getCliGitCommit(){const _0x43a459=a154_0x2f96,_0x35b819=String(GIT_COMMIT);return _0x35b819&&_0x35b819!==_0x43a459(0x198)?_0x35b819:'';}export function getCliVersionDisplay(){const _0x342aba=a154_0x2f96,_0x3795fe=getCliGitCommit(),_0x4b1f50=BUILD_TIME[_0x342aba(0x19c)](0x0,0xa);if(!_0x3795fe||!_0x4b1f50)return VERSION;return VERSION+'\x20('+_0x3795fe+',\x20'+_0x4b1f50+')';}
1
+ (function(_0x4f68cc,_0x1fff0f){const _0x447a9a=a154_0x46fc,_0x4d24e5=_0x4f68cc();while(!![]){try{const _0x3e219e=parseInt(_0x447a9a(0xf8))/0x1+parseInt(_0x447a9a(0xfd))/0x2*(parseInt(_0x447a9a(0xf9))/0x3)+-parseInt(_0x447a9a(0xfa))/0x4+parseInt(_0x447a9a(0xfe))/0x5+-parseInt(_0x447a9a(0xfb))/0x6+parseInt(_0x447a9a(0x100))/0x7+parseInt(_0x447a9a(0xfc))/0x8;if(_0x3e219e===_0x1fff0f)break;else _0x4d24e5['push'](_0x4d24e5['shift']());}catch(_0x4bd22a){_0x4d24e5['push'](_0x4d24e5['shift']());}}}(a154_0x4174,0xa87c1));import{BUILD_TIME,GIT_COMMIT,VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}export function getCliGitCommit(){const _0x33985c=a154_0x46fc,_0x3878e1=String(GIT_COMMIT);return _0x3878e1&&_0x3878e1!==_0x33985c(0xff)?_0x3878e1:'';}function a154_0x46fc(_0x1861ac,_0x39b46f){_0x1861ac=_0x1861ac-0xf8;const _0x41749a=a154_0x4174();let _0x46fc2c=_0x41749a[_0x1861ac];return _0x46fc2c;}function a154_0x4174(){const _0x1c6669=['21QqZkOg','4738416YOtnfx','4624908cbbtQT','306960HutNGb','371336whOLdS','3063630Xbjiom','unknown','780815sMzcrU','583218tPAgOy'];a154_0x4174=function(){return _0x1c6669;};return a154_0x4174();}export function getCliVersionDisplay(){const _0x5d7241=getCliGitCommit(),_0x2cb175=BUILD_TIME['slice'](0x0,0xa);if(!_0x5d7241||!_0x2cb175)return VERSION;return VERSION+'\x20('+_0x5d7241+',\x20'+_0x2cb175+')';}
@@ -1 +1 @@
1
- function a155_0x6799(){var _0xf479e4=['20kxNKQm','1440805qzUyNQ','569744UKbPsp','99MCOEyU','stderr','644835VDiDDy','write','3RTzggN','11bRWLGi','3606000zqLurU','1598478cDvVdV','3887540EekwGk','368086vZqqBu'];a155_0x6799=function(){return _0xf479e4;};return a155_0x6799();}function a155_0xfde0(_0x28668d,_0x1e4d00){_0x28668d=_0x28668d-0x167;var _0x6799db=a155_0x6799();var _0xfde07=_0x6799db[_0x28668d];return _0xfde07;}(function(_0x51a81e,_0x2ab1f3){var _0x28dd9c=a155_0xfde0,_0x1b8be6=_0x51a81e();while(!![]){try{var _0x817bcf=parseInt(_0x28dd9c(0x16c))/0x1*(parseInt(_0x28dd9c(0x171))/0x2)+parseInt(_0x28dd9c(0x16a))/0x3*(parseInt(_0x28dd9c(0x172))/0x4)+-parseInt(_0x28dd9c(0x173))/0x5+parseInt(_0x28dd9c(0x16e))/0x6+-parseInt(_0x28dd9c(0x16f))/0x7+-parseInt(_0x28dd9c(0x167))/0x8*(parseInt(_0x28dd9c(0x168))/0x9)+-parseInt(_0x28dd9c(0x170))/0xa*(parseInt(_0x28dd9c(0x16d))/0xb);if(_0x817bcf===_0x2ab1f3)break;else _0x1b8be6['push'](_0x1b8be6['shift']());}catch(_0x18aec1){_0x1b8be6['push'](_0x1b8be6['shift']());}}}(a155_0x6799,0x83a33));export function writeCliSideChannelLine(_0x301730){var _0x4afce3=a155_0xfde0;process[_0x4afce3(0x169)][_0x4afce3(0x16b)](_0x301730+'\x0a');}
1
+ function a155_0x4d19(_0x1d0202,_0xd8c47e){_0x1d0202=_0x1d0202-0x1ed;var _0x190a74=a155_0x190a();var _0x4d19d3=_0x190a74[_0x1d0202];return _0x4d19d3;}(function(_0x418802,_0x5b1000){var _0x3efbe5=a155_0x4d19,_0x3f96ab=_0x418802();while(!![]){try{var _0x4fa4db=parseInt(_0x3efbe5(0x1f7))/0x1*(parseInt(_0x3efbe5(0x1f4))/0x2)+-parseInt(_0x3efbe5(0x1ed))/0x3*(parseInt(_0x3efbe5(0x1f2))/0x4)+-parseInt(_0x3efbe5(0x1f5))/0x5+-parseInt(_0x3efbe5(0x1f1))/0x6+-parseInt(_0x3efbe5(0x1f8))/0x7*(parseInt(_0x3efbe5(0x1ef))/0x8)+parseInt(_0x3efbe5(0x1f6))/0x9+parseInt(_0x3efbe5(0x1f0))/0xa;if(_0x4fa4db===_0x5b1000)break;else _0x3f96ab['push'](_0x3f96ab['shift']());}catch(_0x442989){_0x3f96ab['push'](_0x3f96ab['shift']());}}}(a155_0x190a,0x5b357));function a155_0x190a(){var _0x146c2f=['stderr','5032552qHatpn','8821330SKfCIc','1276128Xfaeel','4008ijyKOT','write','29612IIbBuN','984270qzhxvL','6377841TxnHtA','1SSwqnw','7mPnGCc','579euunND'];a155_0x190a=function(){return _0x146c2f;};return a155_0x190a();}export function writeCliSideChannelLine(_0x1dc853){var _0x549a99=a155_0x4d19;process[_0x549a99(0x1ee)][_0x549a99(0x1f3)](_0x1dc853+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/lovrabet-cli",
3
- "version": "2.2.4-beta.1",
3
+ "version": "2.2.4-beta.3",
4
4
  "description": "Runtime CLI for Lovrabet apps, datasets, SQL, BFF, skills, and AI agent workflows.",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: lovrabet
3
3
  displayName: Lovrabet 运行态 CLI
4
- version: 2.2.4-beta.1
5
- description: "Lovrabet 运行态 CLI — 面向业务场景的 AI 操作套件,通过 lovrabet 命令管理应用目录、业务角色与权限、用户级外部账号、Service Tree 业务命令、API 文档发现、数据集查询、Instant API 数据操作、Custom SQL/Backend Function、personal BFF、文件上传、OCR 识别、定时任务、Skill、知识库与运行态 app-config key 状态检查。触发词:云图、lovrabet、lovrabet-cli、业务角色、角色成员、页面权限、菜单权限、数据集权限、user-account bind、provider 外部账号绑定、钉钉 userId 绑定、service tree、业务服务树、api-doc、dataset、data filter、file upload、file query-url、ocr recognize、发票识别、图片识别、附件上传、personal-bff、schedule、定时任务、cron、kb、skill、sql exec、bff exec、app-config、accessKey、compress、jq。"
4
+ version: 2.2.4-beta.3
5
+ description: "Lovrabet 运行态 CLI — 面向业务场景的 AI 操作套件,通过 lovrabet 命令管理应用目录、业务角色与权限、用户级外部账号、Service Tree 业务命令、API 文档发现、数据集查询、Instant API 数据操作、Custom SQL/Backend Function、personal BFF、文件上传、面向票证类业务材料文字与结构化字段提取的 OCR、定时任务、Skill、知识库与运行态 app-config key 状态检查。触发词:云图、lovrabet、lovrabet-cli、业务角色、角色成员、页面权限、菜单权限、数据集权限、user-account bind、provider 外部账号绑定、钉钉 userId 绑定、service tree、业务服务树、api-doc、dataset、data filter、file upload、file query-url、ocr recognize、OCR 识别、票证文字提取、票证字段提取、发票识别、票据识别、证照识别、附件上传、personal-bff、schedule、定时任务、cron、kb、skill、sql exec、bff exec、app-config、accessKey、compress、jq。"
6
6
  metadata:
7
7
  requires:
8
8
  bins: ["lovrabet"]
@@ -326,7 +326,7 @@ Service Tree 未命中不是失败条件,也不代表业务能力不存在。
326
326
  | **personal-bff** | `exec` | 按已知 ID 执行 personal BFF | write | AK |
327
327
  | **file** | `upload` | 上传本地文件到当前运行态应用 | read | AK |
328
328
  | **file** | `query-url` | 查询已上传文件的访问 URL,默认短效,可显式 3 年长期 | read | AK |
329
- | **ocr** | `recognize` | 对 URL 或本地文件执行 OCR 识别 | read | AK |
329
+ | **ocr** | `recognize` | 提取票证类业务材料中的文字与结构化字段 | read | AK |
330
330
  | **kb** | `list` | 查看 personal 知识库条目 | read | AK |
331
331
  | **kb** | `detail` | 查看 personal 知识库正文与 RAG 状态 | read | AK |
332
332
  | **kb** | `create` | 从本地文件创建 personal 知识库 | write | AK |
@@ -539,7 +539,7 @@ lovrabet data delete --code <datasetCode> --params '{"id":123}' --yes
539
539
 
540
540
  ## OCR 识别工作流
541
541
 
542
- `lovrabet ocr recognize` 用于对远程 URL 或本地文件执行 OCR,支持 dry-run 预览。当前服务端 `/client/ocr` 只接受 URL,识别本地文件时 CLI 会按上传、查询短效 URL、OCR 的顺序串联执行;OCR 中间 URL 不使用 `--long-term`。需要把识别结果写入数据集时,先用 `dataset detail` 确认字段,再按 `data create/update` 的 dry-run 和确认规则执行。详见 [OCR 识别工作流](references/lovrabet-ocr-workflow.md)。
542
+ `lovrabet ocr recognize` 面向发票、票据、证照等票证类业务材料的文字与结构化字段提取,不承接通用图片理解。普通照片、截图、商品图、设计稿或图表优先由 Agent 多模态能力处理;模型不能读取通用图片时,只有用户明确需要提取可见文字才使用 OCR 降级。当前服务端 `/client/ocr` 只接受 URL,识别本地文件时 CLI 会按上传、查询短效 URL、OCR 的顺序串联执行;OCR 中间 URL 不使用 `--long-term`。需要把识别结果写入数据集时,先用 `dataset detail` 确认字段,再按 `data create/update` 的 dry-run 和确认规则执行。详见 [OCR 识别工作流](references/lovrabet-ocr-workflow.md)。
543
543
 
544
544
  ## 定时任务工作流
545
545
 
@@ -559,7 +559,7 @@ Agent 执行 Skill 需要 app-config value 时,也调用 `lovrabet app-config
559
559
 
560
560
  `skill push` 上传前先检查 `SKILL.md` 和 frontmatter 必要字段;Agent 还必须根据本次源码直接编写 Mermaid 作用流程图并通过 `--diagram-file` 提交,不要求用户提供流程图。CLI 先在本地校验 Mermaid,再把 Skill 包和流程图放在同一次发布请求中;任一部分失败都不报告版本发布成功。历史版本补图或修图时先运行 `skill diagram-show`,只使用它本次返回的 `sourceFingerprint` 和 `expectedDiagramRevision`;`found=false` 仍必须返回版本 fingerprint,且首次写入 revision 为 `0`,不得猜测或复用旧并发参数。随后 CLI 用本地 skillCode 在当前 App namespace 下精确查询远端 Skill,并把远端 metadata 写回 `lovrabet.skill.json`,之后才进入打包上传;`skill push --scope company --dir <dir> --diagram-file <mermaid-file>` 会先做 SkillHub publish validate,再用 `visibility=NAMESPACE_ONLY` 提交审核,不代表版本已立即生效。
561
561
 
562
- frontmatter `name` 固定写稳定 `skillCode`,`displayName` 根据用户实际展示诉求填写人类可读名称并会随 push 更新远端;install 会始终物化顶层 `displayName`,缺失时 validate 会给 warning。`description` 应写模型触发语义,说明何时使用、不要使用的边界和关键词;可选的顶层 `example` 应写一句用户可直接发送的推荐触发话术,缺失或空白时 validate 只给 warning,不阻断 push。create 只生成 `displayName` 与 `example` 注释提示,不自动编造字段值。Skill 正文、章节、references、占位符、输出协议、明文凭证和外部链接不参与 CLI validate。RuntimeAgent 的 `skill_load`、`skill_update` 等原生工具不属于 CLI 命令,不要把它们写进 `lovrabet` 命令步骤。
562
+ frontmatter `name` 固定写稳定 `skillCode`,`displayName` 根据用户实际展示诉求填写人类可读名称并会随 push 更新远端;install 会始终物化顶层 `displayName`,缺失时 validate 会给 warning。`description` 应写模型触发语义,说明何时使用、不要使用的边界和关键词;可选的顶层 `example` 应从 `description` 已覆盖的应触发场景中选取一句具体、典型、用户可直接发送的诉求,不能写成“处理这个 Skill”等泛化占位话术。调用方可将它补全为 `/skillCode <example>`;`example` 只面向用户展示,不参与 Agent 隐式路由,也不包含 Skill 名、内部命令或执行步骤。缺失或空白时 validate 只给 warning,不阻断 push。create 只生成 `displayName` 与 `example` 注释提示,不自动编造字段值。Skill 正文、章节、references、占位符、输出协议、明文凭证和外部链接不参与 CLI validate。RuntimeAgent 的 `skill_load`、`skill_update` 等原生工具不属于 CLI 命令,不要把它们写进 `lovrabet` 命令步骤。
563
563
 
564
564
  用户明确要求配置业务 Skill 的 YAML frontmatter 时,按 [Skill 创建、更新与发布工作流](references/lovrabet-skill-authoring.md) 最小编辑目标 `SKILL.md`:只改用户指定字段,保持稳定 `name`,`metadata.type` 仅使用 `read | write`,不创建或开启 `metadata.internal`,并保留语义不明确的未知字段。修改后先 validate;push scope 必须来自用户明确要求,不得仅根据已安装 Skill 的现有 scope 推断 company 更新授权。company 新版本审核通过前不得声称已经生效。
565
565
 
@@ -1,6 +1,21 @@
1
1
  # OCR 识别工作流
2
2
 
3
- `ocr` 命令用于对远程 URL 或本地文件执行 OCR 识别。适用场景包括发票识别、证照识别、表格图片识别、合同或附件内容提取,以及把识别结果整理后写入业务数据。
3
+ `ocr` 命令用于提取远程 URL 或本地票证类业务材料中的文字与结构化字段。发票、票据、证照等是典型示例,不是票证类型的封闭白名单。
4
+
5
+ ## 使用边界
6
+
7
+ 图片本身不是 OCR 的触发条件。先判断用户处理的是否为票证类业务材料,再判断需要的是文字或结构化字段,还是通用画面理解。
8
+
9
+ | 任务 | 处理方式 |
10
+ |------|----------|
11
+ | 提取票证类材料的票面全文、关键字段或表格 | 使用 OCR;不要求用户必须说出“OCR” |
12
+ | 用户明确要求对票证材料执行 OCR 或文字识别 | 使用 OCR |
13
+ | 理解普通照片、UI 截图、商品图、设计稿或图表 | 当前模型支持多模态时由 Agent 直接处理,不调用 OCR |
14
+ | 当前模型不能读取通用图片,但用户只要求提取可见文字 | 仅将 OCR 作为明确的文字提取降级能力,并说明限制 |
15
+ | 当前模型不能读取图片,任务依赖物体、颜色、布局或视觉关系 | 不用 OCR 冒充视觉理解,向用户说明能力限制 |
16
+ | 图片只是附件,用户没有要求分析或提取 | 不调用 OCR |
17
+
18
+ 按业务对象和任务输出路由,不按文件名、扩展名、MIME、某组关键词或 `scene` 枚举路由。已明确需要精确票证提取时可以直接使用专业 OCR,不必先做一次重复的多模态识别。`general` 是兼容的通用文字识别 scene,可用于未被专用 scene 覆盖的票证材料或用户明确要求的纯文字降级;它不是通用图片理解入口。
4
19
 
5
20
  ## 命令概览
6
21
 
@@ -22,7 +37,7 @@ OCR 识别不创建、更新或删除业务数据,因此 `ocr recognize` 的
22
37
  | scene | 适用 |
23
38
  |-------|------|
24
39
  | `invoice` | 发票、票据 |
25
- | `general` | 通用图片或文档文本 |
40
+ | `general` | 票证材料的通用文字识别;非通用图片理解 |
26
41
  | `form` | 表格图片 |
27
42
  | `idCard` | 证照、身份类图片 |
28
43
 
@@ -11,7 +11,8 @@
11
11
  - `lovrabet.skill.json` 必须位于 Skill 目录根部。
12
12
  - 需要较长规则、schema、示例或脚本时,放入 `references/`、`scripts/` 或 `assets/`,并在 `SKILL.md` 中说明读取时机。
13
13
  - `SKILL.md` frontmatter 中 `name` 固定写稳定 `skillCode`,不要写展示文案;面向用户的业务展示名写顶层 `displayName`,即使展示名暂时等于 `skillCode` 也应显式保留。
14
- - 顶层 `example` 是一条用户可以直接发送、用于触发该 Skill 的推荐话术,例如 `example: 上传这份产品资料`。
14
+ - 顶层 `example` 是一条用户可以直接发送的推荐话术;调用方可展示或填入 `/skillCode <example>`,但它不参与 Agent 隐式路由。
15
+ - `example` 必须从 `description` 已覆盖的应触发场景中选取一个具体、典型诉求,并保留该场景的关键业务对象或变量,例如产品资料 Skill 可写 `example: 校验并导入这份产品资料`;不要写“处理这个业务 Skill”等与能力无关的泛化占位句。
15
16
  - `example` 可选;缺失、空白或不是单个标量时,`lovrabet skill validate` 会给出 warning,但不阻断 push。
16
17
  - 不要把正文说明、内部 CLI 命令、执行步骤或多个示例写入 `example`,也不要自动生成该字段。
17
18
 
@@ -19,7 +20,7 @@
19
20
 
20
21
  用户 Prompt 只表达本次任务相对于稳定契约发生变化的目标、对象、范围等变量;稳定规则、执行步骤、能力标识、输出契约、安全边界和降级策略由业务 Skill 承载,不要求用户重复输入。
21
22
 
22
- - `example`:一句用户可直接发送的最简典型诉求。
23
+ - `example`:从 `description` 的应触发场景中抽取的一句最简典型诉求,仅用于用户可见的调用提示。
23
24
  - `description`:说明触发语义以及何时使用或不使用。
24
25
  - `SKILL.md` 与其明确引用的 `references/`:承载完整稳定契约。
25
26
 
@@ -35,7 +36,7 @@ lovrabet skill push --dir .agents/skills/<skillCode> --diagram-file ./<skillCode
35
36
 
36
37
  业务 Skill 模板类型仅支持 `read | write`。Agent 必须根据业务目标显式传入 `--type`;无法判断是否存在业务副作用时,停止并请求澄清。仅查询、汇总或核对且不改变业务状态时选择 `read`;涉及创建、更新、删除、状态流转、发送、发布或上传等业务副作用时选择 `write`,并在 Skill 契约中定义预览、用户确认、正式执行、读回核对和失败恢复。
37
38
 
38
- `displayName` 是给人看的展示名,`description` 是触发依据,要说明 Skill 做什么、什么时候使用、什么时候不要使用;`example` 则是一句推荐给用户直接发送的最简触发话术。
39
+ `displayName` 是给人看的展示名,`description` 是触发依据,要说明 Skill 做什么、什么时候使用、什么时候不要使用;`example` 则是与其中一个应触发场景强相关、推荐给用户直接发送的最简典型话术,不承担触发判断。
39
40
 
40
41
  ## 更新
41
42
 
@@ -58,7 +59,7 @@ lovrabet skill push --dir .agents/skills/<skillCode> --diagram-file ./<skillCode
58
59
  - 只修改用户明确指定的字段,保留其他字段和 Markdown 正文。
59
60
  - `name` 是稳定 `skillCode`,普通配置任务不得修改。
60
61
  - `displayName` 根据用户实际展示诉求填写人类可读名称。
61
- - `example` 写一句用户可直接发送的最简触发话术。
62
+ - `example` 从 `description` 已覆盖的应触发场景中选一句具体、典型、用户可直接发送的话术。
62
63
  - `metadata.type` 只能是 `read` 或 `write`。
63
64
  - 不创建或开启 `metadata.internal`;未知字段默认保留,语义不明确时不修改。
64
65
 
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "lovrabet",
4
4
  "packageName": "@lovrabet/lovrabet-cli",
5
- "packageVersion": "2.2.4-beta.1",
6
- "skillVersion": "2.2.4-beta.1",
5
+ "packageVersion": "2.2.4-beta.3",
6
+ "skillVersion": "2.2.4-beta.3",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/app-resolution.md",
@@ -37,5 +37,5 @@
37
37
  "references/lovrabet-user-account.md",
38
38
  "references/lovrabet-workspace.md"
39
39
  ],
40
- "digest": "b07c87877407779445d49a9849d7dc963a2c715439b2efc9bd0fe4ee7aa0700b"
40
+ "digest": "bd9c5582bda0a89ad07047e5f2d3f81b672fbad2478ec973a1140e9ea119cd3f"
41
41
  }