@lovrabet/lovrabet-cli 2.1.23 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +13 -10
  2. package/lib/cli.js +1 -1
  3. package/lib/commands/api-doc/index.js +1 -1
  4. package/lib/commands/app/cache.js +1 -1
  5. package/lib/commands/app/definitions.js +1 -1
  6. package/lib/commands/app/eligibility.js +1 -1
  7. package/lib/commands/app/mock-loader.js +1 -1
  8. package/lib/commands/app/remote-source.js +1 -1
  9. package/lib/commands/app/shared.js +1 -1
  10. package/lib/commands/app-config/get.js +1 -1
  11. package/lib/commands/app-config/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/shared.js +1 -1
  26. package/lib/commands/data/index.js +1 -1
  27. package/lib/commands/dataset/detail.js +1 -1
  28. package/lib/commands/dataset/index.js +1 -1
  29. package/lib/commands/dataset/list.js +1 -1
  30. package/lib/commands/dataset/sdk-doc.js +1 -1
  31. package/lib/commands/doctor.js +1 -1
  32. package/lib/commands/file/index.js +1 -1
  33. package/lib/commands/init.js +1 -1
  34. package/lib/commands/kb/index.js +1 -1
  35. package/lib/commands/logs/index.js +1 -1
  36. package/lib/commands/ocr/index.js +1 -1
  37. package/lib/commands/personal-bff/index.js +1 -1
  38. package/lib/commands/registry.js +1 -1
  39. package/lib/commands/schedule/index.js +1 -1
  40. package/lib/commands/schema.js +1 -1
  41. package/lib/commands/service/dynamic.js +1 -1
  42. package/lib/commands/service/function-name-adapter.js +1 -1
  43. package/lib/commands/service/index.js +1 -1
  44. package/lib/commands/service/registry.js +1 -1
  45. package/lib/commands/skill/commands/create.js +1 -1
  46. package/lib/commands/skill/commands/diagram.js +1 -1
  47. package/lib/commands/skill/commands/install.js +1 -1
  48. package/lib/commands/skill/commands/list.js +1 -1
  49. package/lib/commands/skill/commands/push.js +1 -1
  50. package/lib/commands/skill/commands/validate.js +1 -1
  51. package/lib/commands/skill/diagram.js +1 -1
  52. package/lib/commands/skill/flags.js +1 -1
  53. package/lib/commands/skill/index.js +1 -1
  54. package/lib/commands/skill/manifest-helpers.js +1 -1
  55. package/lib/commands/skill/push-execute.js +1 -1
  56. package/lib/commands/skill/push-flow-helpers.js +1 -1
  57. package/lib/commands/skill/push-retarget.js +1 -1
  58. package/lib/commands/skill/scopes.js +1 -1
  59. package/lib/commands/skill/summary.js +1 -1
  60. package/lib/commands/skill/templates.js +1 -1
  61. package/lib/commands/skill/validate.js +1 -1
  62. package/lib/commands/sql/detail.js +1 -1
  63. package/lib/commands/sql/exec.js +1 -1
  64. package/lib/commands/sql/index.js +1 -1
  65. package/lib/commands/update.d.ts +2 -2
  66. package/lib/commands/update.js +1 -1
  67. package/lib/commands/workspace/index.js +1 -1
  68. package/lib/config/schema.js +1 -1
  69. package/lib/constant/app.js +1 -1
  70. package/lib/constant/auth-mode.js +1 -1
  71. package/lib/constant/cli.js +1 -1
  72. package/lib/constant/defaults.js +1 -1
  73. package/lib/constant/distribution.js +1 -1
  74. package/lib/constant/domain.js +1 -1
  75. package/lib/constant/env.js +1 -1
  76. package/lib/constant/output.js +1 -1
  77. package/lib/constant/product.js +1 -1
  78. package/lib/constant/risk.js +1 -1
  79. package/lib/constant/url.js +1 -1
  80. package/lib/context.js +1 -1
  81. package/lib/core/api-client.js +1 -1
  82. package/lib/core/db-resolver.js +1 -1
  83. package/lib/core/sdk-client.js +1 -1
  84. package/lib/errors.js +1 -1
  85. package/lib/framework/build-all-flags.js +1 -1
  86. package/lib/framework/dryrun.js +1 -1
  87. package/lib/framework/flags.js +1 -1
  88. package/lib/framework/help.js +1 -1
  89. package/lib/framework/index.js +1 -1
  90. package/lib/framework/output.js +1 -1
  91. package/lib/framework/preparse.js +1 -1
  92. package/lib/framework/rate-limit.js +1 -1
  93. package/lib/framework/raw-flags.js +1 -1
  94. package/lib/framework/response.js +1 -1
  95. package/lib/framework/runner-confirmation.js +1 -1
  96. package/lib/framework/runner-error.js +1 -1
  97. package/lib/framework/runner.js +1 -1
  98. package/lib/framework/schema-export.js +1 -1
  99. package/lib/framework/service-order.js +1 -1
  100. package/lib/framework/types.js +1 -1
  101. package/lib/generated/build-info.d.ts +4 -4
  102. package/lib/generated/build-info.js +1 -1
  103. package/lib/help.js +1 -1
  104. package/lib/postinstall.d.ts +2 -0
  105. package/lib/postinstall.js +1 -0
  106. package/lib/runtime/confirmation.js +1 -1
  107. package/lib/runtime/event.js +1 -1
  108. package/lib/runtime/index.js +1 -1
  109. package/lib/runtime/queue.js +1 -1
  110. package/lib/runtime/resolve.js +1 -1
  111. package/lib/skills/builtin-skill.d.ts +37 -0
  112. package/lib/skills/builtin-skill.js +1 -0
  113. package/lib/skills/npx-skills-add.d.ts +3 -1
  114. package/lib/skills/npx-skills-add.js +1 -1
  115. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  116. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  117. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  118. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  119. package/lib/skills/runtime-skill-sync/links.js +1 -1
  120. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  121. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  122. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  123. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  124. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  125. package/lib/skills/runtime-skill-sync/push.js +1 -1
  126. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  127. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  128. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  129. package/lib/skills/runtime-skill-sync.js +1 -1
  130. package/lib/skills/skill-presence.js +1 -1
  131. package/lib/utils/apply-jq-filter.js +1 -1
  132. package/lib/utils/logger.js +1 -1
  133. package/lib/utils/lossless-json.js +1 -1
  134. package/lib/utils/params.js +1 -1
  135. package/lib/utils/platform.js +1 -1
  136. package/lib/utils/update-notice.js +1 -1
  137. package/lib/utils/version.js +1 -1
  138. package/lib/utils/write-cli-side-channel.js +1 -1
  139. package/package.json +14 -3
  140. package/scripts/postinstall.mjs +24 -0
  141. package/skills/lovrabet/SKILL.md +702 -0
  142. package/skills/lovrabet/guides/app-resolution.md +165 -0
  143. package/skills/lovrabet/guides/dataset-and-data-workflow.md +170 -0
  144. package/skills/lovrabet/guides/sql-and-bff-workflow.md +132 -0
  145. package/skills/lovrabet/guides/troubleshooting.md +91 -0
  146. package/skills/lovrabet/references/dataset-discovery-workflow.md +160 -0
  147. package/skills/lovrabet/references/instant-api-workflow.md +259 -0
  148. package/skills/lovrabet/references/lovrabet-app-config.md +51 -0
  149. package/skills/lovrabet/references/lovrabet-app.md +113 -0
  150. package/skills/lovrabet/references/lovrabet-auth.md +136 -0
  151. package/skills/lovrabet/references/lovrabet-bff-workflow.md +139 -0
  152. package/skills/lovrabet/references/lovrabet-config-commands.md +104 -0
  153. package/skills/lovrabet/references/lovrabet-config.md +124 -0
  154. package/skills/lovrabet/references/lovrabet-doctor.md +26 -0
  155. package/skills/lovrabet/references/lovrabet-file-workflow.md +62 -0
  156. package/skills/lovrabet/references/lovrabet-kb-workflow.md +78 -0
  157. package/skills/lovrabet/references/lovrabet-logs.md +19 -0
  158. package/skills/lovrabet/references/lovrabet-ocr-workflow.md +83 -0
  159. package/skills/lovrabet/references/lovrabet-output-format-jq.md +40 -0
  160. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +108 -0
  161. package/skills/lovrabet/references/lovrabet-schedule-workflow.md +175 -0
  162. package/skills/lovrabet/references/lovrabet-service-tree.md +279 -0
  163. package/skills/lovrabet/references/lovrabet-skill-authoring.md +128 -0
  164. package/skills/lovrabet/references/lovrabet-skill-install.md +34 -0
  165. package/skills/lovrabet/references/lovrabet-skill-sync.md +146 -0
  166. package/skills/lovrabet/references/lovrabet-sql-workflow.md +111 -0
  167. package/skills/lovrabet/references/lovrabet-update.md +34 -0
  168. package/skills/lovrabet/references/lovrabet-workspace.md +82 -0
  169. package/skills/lovrabet.manifest.json +38 -0
@@ -1 +1 @@
1
- const a125_0x5b31d7=a125_0x1073;function a125_0x1073(_0x44bd76,_0x51f7a1){_0x44bd76=_0x44bd76-0x1d7;const _0x40f127=a125_0x40f1();let _0x10731a=_0x40f127[_0x44bd76];return _0x10731a;}(function(_0x1d17a1,_0x2f722e){const _0x3c4e9a=a125_0x1073,_0x19b1a6=_0x1d17a1();while(!![]){try{const _0x154485=parseInt(_0x3c4e9a(0x1e4))/0x1+parseInt(_0x3c4e9a(0x20f))/0x2*(parseInt(_0x3c4e9a(0x1e5))/0x3)+-parseInt(_0x3c4e9a(0x211))/0x4+-parseInt(_0x3c4e9a(0x203))/0x5+-parseInt(_0x3c4e9a(0x1f1))/0x6*(parseInt(_0x3c4e9a(0x1dd))/0x7)+parseInt(_0x3c4e9a(0x210))/0x8*(-parseInt(_0x3c4e9a(0x208))/0x9)+-parseInt(_0x3c4e9a(0x1e6))/0xa*(-parseInt(_0x3c4e9a(0x20b))/0xb);if(_0x154485===_0x2f722e)break;else _0x19b1a6['push'](_0x19b1a6['shift']());}catch(_0x18ac6f){_0x19b1a6['push'](_0x19b1a6['shift']());}}}(a125_0x40f1,0x437d9));import a125_0x1885c9 from'winston';import a125_0x5d9be9 from'node:fs';import a125_0x37d73d from'node:path';function a125_0x40f1(){const _0x12ea68=['error','utf8','timestamp','writeFileSync','blue','initWinstonLogger','71646hTcbgL','combine','logFilePath','errors','join','warn','trim','map','existsSync','Completed:\x20','rawCommand','getWinstonInstance','readLogs','success','info','createLogger','filter','now','214920XZiBMU','split','command','readFileSync','log','522EuHLVN','clearLogs','red','156552sKbqsN','parse','transports','setRawCommand','160qpxzmr','49944wjZEEb','1830748qxewTd','mkdirSync','format','toISOString','level','logFileName','yellow','238CUWSuo','Failed\x20to\x20clear\x20logs:','message','currentRawCommand','Starting:\x20','details','Failed\x20to\x20read\x20logs:','542928IzopDE','2361PwyLkb','660NjwgHS','logTask','Failed:\x20','winstonLogger','duration'];a125_0x40f1=function(){return _0x12ea68;};return a125_0x40f1();}import{PRODUCT_CONFIG}from'../constant/product.js';class Logger{[a125_0x5b31d7(0x1e9)];[a125_0x5b31d7(0x1f3)]='';[a125_0x5b31d7(0x1e0)]='';constructor(){}[a125_0x5b31d7(0x20e)](_0x40130c){const _0x297a7c=a125_0x5b31d7;this[_0x297a7c(0x1e0)]=_0x40130c;}['setLogPath'](_0x2170d6){const _0x5996ec=a125_0x5b31d7;this[_0x5996ec(0x1f3)]=a125_0x37d73d[_0x5996ec(0x1f5)](_0x2170d6,PRODUCT_CONFIG[_0x5996ec(0x1db)]),this[_0x5996ec(0x1e9)]&&this[_0x5996ec(0x1e9)]['clear'](),this[_0x5996ec(0x1f0)]();}[a125_0x5b31d7(0x1f0)](){const _0x103413=a125_0x5b31d7,_0x5a3ca7=a125_0x37d73d['dirname'](this[_0x103413(0x1f3)]);!a125_0x5d9be9[_0x103413(0x1f9)](_0x5a3ca7)&&a125_0x5d9be9[_0x103413(0x1d7)](_0x5a3ca7,{'recursive':!![]});const _0x3e4de6=a125_0x1885c9[_0x103413(0x1d8)][_0x103413(0x1f2)](a125_0x1885c9[_0x103413(0x1d8)]['timestamp'](),a125_0x1885c9['format'][_0x103413(0x1f4)]({'stack':!![]}),a125_0x1885c9[_0x103413(0x1d8)]['printf'](_0x462401=>{const _0x4e5253=_0x103413,_0x436e5e={'timestamp':_0x462401[_0x4e5253(0x1ed)]||new Date()[_0x4e5253(0x1d9)](),'level':_0x462401[_0x4e5253(0x1da)]||_0x4e5253(0x1ff),'command':_0x462401[_0x4e5253(0x205)]||'unknown','rawCommand':_0x462401[_0x4e5253(0x1fb)]||this[_0x4e5253(0x1e0)]||undefined,'message':_0x462401['message']||'','duration':_0x462401[_0x4e5253(0x1ea)]||undefined,'details':_0x462401[_0x4e5253(0x1e2)]||undefined};return JSON['stringify'](_0x436e5e);}));this[_0x103413(0x1e9)]=a125_0x1885c9[_0x103413(0x200)]({'level':'info','format':_0x3e4de6,'transports':[new a125_0x1885c9[(_0x103413(0x20d))]['File']({'filename':this['logFilePath'],'level':_0x103413(0x1ff)})],'silent':![]}),a125_0x1885c9['addColors']({'success':'green','error':_0x103413(0x20a),'warn':_0x103413(0x1dc),'info':_0x103413(0x1ef)});}[a125_0x5b31d7(0x1ff)](_0x2fcd12,_0x2013ea,_0x52b55d){const _0x4e742f=a125_0x5b31d7;if(!this['logFilePath']||!this[_0x4e742f(0x1e9)])return;this[_0x4e742f(0x1e9)][_0x4e742f(0x1ff)](_0x2013ea,{'command':_0x2fcd12,'details':_0x52b55d});}['success'](_0x119ec7,_0x17dbbe,_0x4cccb3,_0x2b6062){const _0x24d346=a125_0x5b31d7;if(!this[_0x24d346(0x1f3)]||!this['winstonLogger'])return;this['winstonLogger'][_0x24d346(0x207)](_0x24d346(0x1ff),_0x17dbbe,{'level':_0x24d346(0x1fe),'command':_0x119ec7,'duration':_0x4cccb3,'details':_0x2b6062});}[a125_0x5b31d7(0x1eb)](_0x443f33,_0x20c84f,_0x7abe1e){const _0x596a84=a125_0x5b31d7;if(!this[_0x596a84(0x1f3)]||!this[_0x596a84(0x1e9)])return;this[_0x596a84(0x1e9)]['error'](_0x20c84f,{'command':_0x443f33,'details':_0x7abe1e});}[a125_0x5b31d7(0x1f6)](_0x41de40,_0x109027,_0x2c0ce0){const _0x545895=a125_0x5b31d7;if(!this['logFilePath']||!this['winstonLogger'])return;this['winstonLogger'][_0x545895(0x1f6)](_0x109027,{'command':_0x41de40,'details':_0x2c0ce0});}async[a125_0x5b31d7(0x1e7)](_0x4c4e4a,_0x13ae43,_0x1e05ad){const _0x5024d3=a125_0x5b31d7,_0x302cad=Date[_0x5024d3(0x202)]();this[_0x5024d3(0x1ff)](_0x4c4e4a,_0x5024d3(0x1e1)+_0x13ae43);try{const _0x1223fc=await _0x1e05ad(),_0x16a97b=Date[_0x5024d3(0x202)]()-_0x302cad;return this[_0x5024d3(0x1fe)](_0x4c4e4a,_0x5024d3(0x1fa)+_0x13ae43,_0x16a97b),_0x1223fc;}catch(_0x2ec860){const _0x1de2fc=Date['now']()-_0x302cad;this[_0x5024d3(0x1eb)](_0x4c4e4a,_0x5024d3(0x1e8)+_0x13ae43,{'error':_0x2ec860 instanceof Error?_0x2ec860[_0x5024d3(0x1df)]:String(_0x2ec860),'duration':_0x1de2fc});throw _0x2ec860;}}[a125_0x5b31d7(0x1fd)](){const _0x36c054=a125_0x5b31d7;try{if(!a125_0x5d9be9[_0x36c054(0x1f9)](this[_0x36c054(0x1f3)]))return[];const _0x4f9b4e=a125_0x5d9be9[_0x36c054(0x206)](this[_0x36c054(0x1f3)],_0x36c054(0x1ec));return _0x4f9b4e[_0x36c054(0x204)](/\r?\n/)[_0x36c054(0x201)](_0x19aa87=>_0x19aa87[_0x36c054(0x1f7)]())[_0x36c054(0x1f8)](_0x4ed166=>JSON[_0x36c054(0x20c)](_0x4ed166));}catch(_0x4c1648){return console[_0x36c054(0x1f6)](_0x36c054(0x1e3),_0x4c1648),[];}}[a125_0x5b31d7(0x209)](){const _0x53299a=a125_0x5b31d7;try{a125_0x5d9be9['existsSync'](this['logFilePath'])&&a125_0x5d9be9[_0x53299a(0x1ee)](this[_0x53299a(0x1f3)],'',_0x53299a(0x1ec));}catch(_0x1c461d){console[_0x53299a(0x1f6)](_0x53299a(0x1de),_0x1c461d);}}[a125_0x5b31d7(0x1fc)](){const _0x315fae=a125_0x5b31d7;return this[_0x315fae(0x1e9)];}}export const logger=new Logger();
1
+ const a127_0x31696a=a127_0x3df1;(function(_0x4f44e9,_0x2a74ff){const _0x764bf4=a127_0x3df1,_0xe0d69f=_0x4f44e9();while(!![]){try{const _0x4a3760=parseInt(_0x764bf4(0x1b2))/0x1*(parseInt(_0x764bf4(0x1d0))/0x2)+parseInt(_0x764bf4(0x1d6))/0x3*(-parseInt(_0x764bf4(0x1bc))/0x4)+-parseInt(_0x764bf4(0x1c8))/0x5*(parseInt(_0x764bf4(0x1c2))/0x6)+-parseInt(_0x764bf4(0x1d9))/0x7*(-parseInt(_0x764bf4(0x1d4))/0x8)+-parseInt(_0x764bf4(0x1ae))/0x9*(-parseInt(_0x764bf4(0x1de))/0xa)+parseInt(_0x764bf4(0x1b6))/0xb*(parseInt(_0x764bf4(0x1ad))/0xc)+-parseInt(_0x764bf4(0x1bb))/0xd;if(_0x4a3760===_0x2a74ff)break;else _0xe0d69f['push'](_0xe0d69f['shift']());}catch(_0x4b7017){_0xe0d69f['push'](_0xe0d69f['shift']());}}}(a127_0x3e1c,0x236f2));import a127_0x5b6b14 from'winston';import a127_0x4ae95d from'node:fs';function a127_0x3e1c(){const _0x35856f=['now','104855uUCkSq','readLogs','split','timestamp','toISOString','map','command','warn','93988kInbeJ','parse','red','logFilePath','16ssCzej','utf8','59739Nlychx','join','format','43141aITrdr','log','error','logFileName','info','690tyoTRG','winstonLogger','writeFileSync','Failed\x20to\x20clear\x20logs:','initWinstonLogger','Failed\x20to\x20read\x20logs:','combine','120sQxUTD','8172Ujazjh','level','Failed:\x20','logTask','2qMqIFW','green','addColors','success','99517UVmnHl','clearLogs','createLogger','dirname','setRawCommand','681759ktlnPe','4jBvtJk','rawCommand','existsSync','Completed:\x20','currentRawCommand','transports','12BjzYID','getWinstonInstance','message','yellow','blue'];a127_0x3e1c=function(){return _0x35856f;};return a127_0x3e1c();}import a127_0x3f22e2 from'node:path';import{PRODUCT_CONFIG}from'../constant/product.js';class Logger{[a127_0x31696a(0x1df)];['logFilePath']='';[a127_0x31696a(0x1c0)]='';constructor(){}[a127_0x31696a(0x1ba)](_0x13d1a3){const _0x1ba17a=a127_0x31696a;this[_0x1ba17a(0x1c0)]=_0x13d1a3;}['setLogPath'](_0x2d0727){const _0x323a2b=a127_0x31696a;this[_0x323a2b(0x1d3)]=a127_0x3f22e2[_0x323a2b(0x1d7)](_0x2d0727,PRODUCT_CONFIG[_0x323a2b(0x1dc)]),this[_0x323a2b(0x1df)]&&this[_0x323a2b(0x1df)]['clear'](),this[_0x323a2b(0x1aa)]();}[a127_0x31696a(0x1aa)](){const _0x253609=a127_0x31696a,_0x2d78dd=a127_0x3f22e2[_0x253609(0x1b9)](this[_0x253609(0x1d3)]);!a127_0x4ae95d['existsSync'](_0x2d78dd)&&a127_0x4ae95d['mkdirSync'](_0x2d78dd,{'recursive':!![]});const _0x53f6a9=a127_0x5b6b14[_0x253609(0x1d8)][_0x253609(0x1ac)](a127_0x5b6b14[_0x253609(0x1d8)][_0x253609(0x1cb)](),a127_0x5b6b14[_0x253609(0x1d8)]['errors']({'stack':!![]}),a127_0x5b6b14['format']['printf'](_0x569402=>{const _0x5a3e40=_0x253609,_0x4e76e3={'timestamp':_0x569402['timestamp']||new Date()[_0x5a3e40(0x1cc)](),'level':_0x569402[_0x5a3e40(0x1af)]||'info','command':_0x569402[_0x5a3e40(0x1ce)]||'unknown','rawCommand':_0x569402[_0x5a3e40(0x1bd)]||this['currentRawCommand']||undefined,'message':_0x569402[_0x5a3e40(0x1c4)]||'','duration':_0x569402['duration']||undefined,'details':_0x569402['details']||undefined};return JSON['stringify'](_0x4e76e3);}));this[_0x253609(0x1df)]=a127_0x5b6b14[_0x253609(0x1b8)]({'level':_0x253609(0x1dd),'format':_0x53f6a9,'transports':[new a127_0x5b6b14[(_0x253609(0x1c1))]['File']({'filename':this[_0x253609(0x1d3)],'level':_0x253609(0x1dd)})],'silent':![]}),a127_0x5b6b14[_0x253609(0x1b4)]({'success':_0x253609(0x1b3),'error':_0x253609(0x1d2),'warn':_0x253609(0x1c5),'info':_0x253609(0x1c6)});}[a127_0x31696a(0x1dd)](_0x3dee75,_0x50faf1,_0x423003){const _0x113212=a127_0x31696a;if(!this[_0x113212(0x1d3)]||!this[_0x113212(0x1df)])return;this[_0x113212(0x1df)][_0x113212(0x1dd)](_0x50faf1,{'command':_0x3dee75,'details':_0x423003});}[a127_0x31696a(0x1b5)](_0x552bd3,_0x4975cf,_0xcb014f,_0x321916){const _0x2e7302=a127_0x31696a;if(!this[_0x2e7302(0x1d3)]||!this['winstonLogger'])return;this['winstonLogger'][_0x2e7302(0x1da)](_0x2e7302(0x1dd),_0x4975cf,{'level':_0x2e7302(0x1b5),'command':_0x552bd3,'duration':_0xcb014f,'details':_0x321916});}['error'](_0x1de28c,_0x2f5f4e,_0x5cfc4c){const _0x183d3f=a127_0x31696a;if(!this[_0x183d3f(0x1d3)]||!this[_0x183d3f(0x1df)])return;this['winstonLogger']['error'](_0x2f5f4e,{'command':_0x1de28c,'details':_0x5cfc4c});}[a127_0x31696a(0x1cf)](_0x169d5a,_0xa70c24,_0x3c3219){const _0x52f85e=a127_0x31696a;if(!this[_0x52f85e(0x1d3)]||!this[_0x52f85e(0x1df)])return;this['winstonLogger'][_0x52f85e(0x1cf)](_0xa70c24,{'command':_0x169d5a,'details':_0x3c3219});}async[a127_0x31696a(0x1b1)](_0x3dae9c,_0x5acd97,_0x4e941a){const _0x5f1108=a127_0x31696a,_0x17e7f8=Date['now']();this[_0x5f1108(0x1dd)](_0x3dae9c,'Starting:\x20'+_0x5acd97);try{const _0x1a442b=await _0x4e941a(),_0x2cf3a3=Date[_0x5f1108(0x1c7)]()-_0x17e7f8;return this[_0x5f1108(0x1b5)](_0x3dae9c,_0x5f1108(0x1bf)+_0x5acd97,_0x2cf3a3),_0x1a442b;}catch(_0x255af3){const _0x19db91=Date['now']()-_0x17e7f8;this[_0x5f1108(0x1db)](_0x3dae9c,_0x5f1108(0x1b0)+_0x5acd97,{'error':_0x255af3 instanceof Error?_0x255af3[_0x5f1108(0x1c4)]:String(_0x255af3),'duration':_0x19db91});throw _0x255af3;}}[a127_0x31696a(0x1c9)](){const _0x3ea691=a127_0x31696a;try{if(!a127_0x4ae95d['existsSync'](this[_0x3ea691(0x1d3)]))return[];const _0x22a7bf=a127_0x4ae95d['readFileSync'](this['logFilePath'],_0x3ea691(0x1d5));return _0x22a7bf[_0x3ea691(0x1ca)](/\r?\n/)['filter'](_0x44a795=>_0x44a795['trim']())[_0x3ea691(0x1cd)](_0x36fab6=>JSON[_0x3ea691(0x1d1)](_0x36fab6));}catch(_0x3eb7cf){return console[_0x3ea691(0x1cf)](_0x3ea691(0x1ab),_0x3eb7cf),[];}}[a127_0x31696a(0x1b7)](){const _0x5df5ec=a127_0x31696a;try{a127_0x4ae95d[_0x5df5ec(0x1be)](this['logFilePath'])&&a127_0x4ae95d[_0x5df5ec(0x1e0)](this[_0x5df5ec(0x1d3)],'',_0x5df5ec(0x1d5));}catch(_0x21a41d){console[_0x5df5ec(0x1cf)](_0x5df5ec(0x1e1),_0x21a41d);}}[a127_0x31696a(0x1c3)](){const _0x342f32=a127_0x31696a;return this[_0x342f32(0x1df)];}}function a127_0x3df1(_0x1d0b29,_0x1d7501){_0x1d0b29=_0x1d0b29-0x1aa;const _0x3e1c3b=a127_0x3e1c();let _0x3df14f=_0x3e1c3b[_0x1d0b29];return _0x3df14f;}export const logger=new Logger();
@@ -1 +1 @@
1
- const a126_0x2b9abb=a126_0xefba;function a126_0x2dcf(){const _0x2d5401=['1290646rdnFhe','prototype','exec','6264140IprQzj','text','slice','2607745mRAGjk','792066jfWdjU','json','undefined','11PvWXmy','parse','39011oQfiYo','defineProperty','length','includes','MIN_SAFE_INTEGER','MAX_SAFE_INTEGER','168CEiAGi','7740GfXUWc','1711508PqvOty','4952tOwdyu','3qOtQdm','getOwnPropertyDescriptor'];a126_0x2dcf=function(){return _0x2d5401;};return a126_0x2dcf();}function a126_0xefba(_0x4bf264,_0x5e9bd8){_0x4bf264=_0x4bf264-0x102;const _0x2dcf7b=a126_0x2dcf();let _0xefba6f=_0x2dcf7b[_0x4bf264];return _0xefba6f;}(function(_0x1d4082,_0x4e5164){const _0x1959dc=a126_0xefba,_0xc0acde=_0x1d4082();while(!![]){try{const _0xf043e5=parseInt(_0x1959dc(0x103))/0x1+parseInt(_0x1959dc(0x114))/0x2+-parseInt(_0x1959dc(0x112))/0x3*(parseInt(_0x1959dc(0x110))/0x4)+-parseInt(_0x1959dc(0x102))/0x5+parseInt(_0x1959dc(0x10e))/0x6*(-parseInt(_0x1959dc(0x108))/0x7)+parseInt(_0x1959dc(0x111))/0x8*(-parseInt(_0x1959dc(0x10f))/0x9)+-parseInt(_0x1959dc(0x117))/0xa*(-parseInt(_0x1959dc(0x106))/0xb);if(_0xf043e5===_0x4e5164)break;else _0xc0acde['push'](_0xc0acde['shift']());}catch(_0x3d7348){_0xc0acde['push'](_0xc0acde['shift']());}}}(a126_0x2dcf,0x68009));const JSON_NUMBER_PATTERN=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,MAX_SAFE_INTEGER=BigInt(Number[a126_0x2b9abb(0x10d)]),MIN_SAFE_INTEGER=BigInt(Number[a126_0x2b9abb(0x10c)]);let restoreResponseJsonParser,responseJsonPrototype,originalResponseJsonDescriptor;function isUnsafeIntegerLiteral(_0xc3a1cf){const _0x25311b=a126_0x2b9abb;if(_0xc3a1cf[_0x25311b(0x10b)]('.')||_0xc3a1cf[_0x25311b(0x10b)]('e')||_0xc3a1cf['includes']('E'))return![];const _0x3e069b=BigInt(_0xc3a1cf);return _0x3e069b>MAX_SAFE_INTEGER||_0x3e069b<MIN_SAFE_INTEGER;}function quoteUnsafeIntegerLiterals(_0xfcb947){const _0x40f6dc=a126_0x2b9abb;let _0x3bd1a1='',_0x323087=![],_0x2b9d9a=![];for(let _0x404575=0x0;_0x404575<_0xfcb947[_0x40f6dc(0x10a)];){const _0x38059d=_0xfcb947[_0x404575];if(_0x323087){_0x3bd1a1+=_0x38059d,_0x404575+=0x1;if(_0x2b9d9a)_0x2b9d9a=![];else{if(_0x38059d==='\x5c')_0x2b9d9a=!![];else _0x38059d==='\x22'&&(_0x323087=![]);}continue;}if(_0x38059d==='\x22'){_0x323087=!![],_0x3bd1a1+=_0x38059d,_0x404575+=0x1;continue;}if(_0x38059d==='-'||_0x38059d>='0'&&_0x38059d<='9'){const _0x3300a8=JSON_NUMBER_PATTERN[_0x40f6dc(0x116)](_0xfcb947[_0x40f6dc(0x119)](_0x404575))?.[0x0];if(_0x3300a8){_0x3bd1a1+=isUnsafeIntegerLiteral(_0x3300a8)?'\x22'+_0x3300a8+'\x22':_0x3300a8,_0x404575+=_0x3300a8[_0x40f6dc(0x10a)];continue;}}_0x3bd1a1+=_0x38059d,_0x404575+=0x1;}return _0x3bd1a1;}export function parseLosslessJson(_0x25394e){const _0x4b54f6=a126_0x2b9abb;return JSON[_0x4b54f6(0x107)](quoteUnsafeIntegerLiterals(_0x25394e));}export function installLosslessJsonResponseParser(){const _0x3cd2fa=a126_0x2b9abb;if(typeof Response===_0x3cd2fa(0x105))return()=>{};if(restoreResponseJsonParser)return restoreResponseJsonParser;return responseJsonPrototype=Response[_0x3cd2fa(0x115)],originalResponseJsonDescriptor=Object[_0x3cd2fa(0x113)](responseJsonPrototype,_0x3cd2fa(0x104)),Object[_0x3cd2fa(0x109)](responseJsonPrototype,_0x3cd2fa(0x104),{...originalResponseJsonDescriptor??{'configurable':!![],'enumerable':![],'writable':!![]},'value':async function _0x4f4bbf(){const _0x577a20=_0x3cd2fa;return parseLosslessJson(await this[_0x577a20(0x118)]());}}),restoreResponseJsonParser=()=>{const _0x36ef4c=_0x3cd2fa;if(!responseJsonPrototype)return;originalResponseJsonDescriptor?Object[_0x36ef4c(0x109)](responseJsonPrototype,_0x36ef4c(0x104),originalResponseJsonDescriptor):delete responseJsonPrototype[_0x36ef4c(0x104)],responseJsonPrototype=undefined,originalResponseJsonDescriptor=undefined,restoreResponseJsonParser=undefined;},restoreResponseJsonParser;}export function restoreLosslessJsonResponseParser(){restoreResponseJsonParser?.();}
1
+ function a128_0x36f0(){const _0x19b713=['30oClLxD','24822JUmPXL','103nfHOog','5159759EUBEhG','defineProperty','1190532TkdzjR','3725420EmRMhX','slice','text','includes','50dsEaAy','4390uffHEF','4200732NPhOkL','24YsoiOu','prototype','json','6672980AfGhnX','MIN_SAFE_INTEGER','MAX_SAFE_INTEGER','exec','length'];a128_0x36f0=function(){return _0x19b713;};return a128_0x36f0();}const a128_0x574016=a128_0x5578;(function(_0x4550c4,_0x4d09a7){const _0x2037a6=a128_0x5578,_0x1209bc=_0x4550c4();while(!![]){try{const _0x4757d8=-parseInt(_0x2037a6(0x122))/0x1*(-parseInt(_0x2037a6(0x12b))/0x2)+parseInt(_0x2037a6(0x12c))/0x3+parseInt(_0x2037a6(0x126))/0x4+parseInt(_0x2037a6(0x130))/0x5+-parseInt(_0x2037a6(0x120))/0x6*(parseInt(_0x2037a6(0x125))/0x7)+parseInt(_0x2037a6(0x12d))/0x8*(parseInt(_0x2037a6(0x121))/0x9)+-parseInt(_0x2037a6(0x12a))/0xa*(parseInt(_0x2037a6(0x123))/0xb);if(_0x4757d8===_0x4d09a7)break;else _0x1209bc['push'](_0x1209bc['shift']());}catch(_0x327e9a){_0x1209bc['push'](_0x1209bc['shift']());}}}(a128_0x36f0,0xac13d));const JSON_NUMBER_PATTERN=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,MAX_SAFE_INTEGER=BigInt(Number[a128_0x574016(0x132)]),MIN_SAFE_INTEGER=BigInt(Number[a128_0x574016(0x131)]);let restoreResponseJsonParser,responseJsonPrototype,originalResponseJsonDescriptor;function isUnsafeIntegerLiteral(_0x506aba){const _0x487025=a128_0x574016;if(_0x506aba[_0x487025(0x129)]('.')||_0x506aba[_0x487025(0x129)]('e')||_0x506aba[_0x487025(0x129)]('E'))return![];const _0x524de1=BigInt(_0x506aba);return _0x524de1>MAX_SAFE_INTEGER||_0x524de1<MIN_SAFE_INTEGER;}function a128_0x5578(_0x372f39,_0x406908){_0x372f39=_0x372f39-0x11e;const _0x36f030=a128_0x36f0();let _0x5578ad=_0x36f030[_0x372f39];return _0x5578ad;}function quoteUnsafeIntegerLiterals(_0xf71174){const _0xd74e76=a128_0x574016;let _0x2f523a='',_0x469015=![],_0x24f338=![];for(let _0x8a66ea=0x0;_0x8a66ea<_0xf71174[_0xd74e76(0x11f)];){const _0x2bacc1=_0xf71174[_0x8a66ea];if(_0x469015){_0x2f523a+=_0x2bacc1,_0x8a66ea+=0x1;if(_0x24f338)_0x24f338=![];else{if(_0x2bacc1==='\x5c')_0x24f338=!![];else _0x2bacc1==='\x22'&&(_0x469015=![]);}continue;}if(_0x2bacc1==='\x22'){_0x469015=!![],_0x2f523a+=_0x2bacc1,_0x8a66ea+=0x1;continue;}if(_0x2bacc1==='-'||_0x2bacc1>='0'&&_0x2bacc1<='9'){const _0x2d37ca=JSON_NUMBER_PATTERN[_0xd74e76(0x11e)](_0xf71174[_0xd74e76(0x127)](_0x8a66ea))?.[0x0];if(_0x2d37ca){_0x2f523a+=isUnsafeIntegerLiteral(_0x2d37ca)?'\x22'+_0x2d37ca+'\x22':_0x2d37ca,_0x8a66ea+=_0x2d37ca[_0xd74e76(0x11f)];continue;}}_0x2f523a+=_0x2bacc1,_0x8a66ea+=0x1;}return _0x2f523a;}export function parseLosslessJson(_0x2c7acb){return JSON['parse'](quoteUnsafeIntegerLiterals(_0x2c7acb));}export function installLosslessJsonResponseParser(){const _0x1c3b92=a128_0x574016;if(typeof Response==='undefined')return()=>{};if(restoreResponseJsonParser)return restoreResponseJsonParser;return responseJsonPrototype=Response[_0x1c3b92(0x12e)],originalResponseJsonDescriptor=Object['getOwnPropertyDescriptor'](responseJsonPrototype,_0x1c3b92(0x12f)),Object[_0x1c3b92(0x124)](responseJsonPrototype,'json',{...originalResponseJsonDescriptor??{'configurable':!![],'enumerable':![],'writable':!![]},'value':async function _0x468556(){const _0x24b032=_0x1c3b92;return parseLosslessJson(await this[_0x24b032(0x128)]());}}),restoreResponseJsonParser=()=>{if(!responseJsonPrototype)return;originalResponseJsonDescriptor?Object['defineProperty'](responseJsonPrototype,'json',originalResponseJsonDescriptor):delete responseJsonPrototype['json'],responseJsonPrototype=undefined,originalResponseJsonDescriptor=undefined,restoreResponseJsonParser=undefined;},restoreResponseJsonParser;}export function restoreLosslessJsonResponseParser(){restoreResponseJsonParser?.();}
@@ -1 +1 @@
1
- (function(_0x37473d,_0x486b98){const _0x34df4c=a127_0x5d6b,_0x415950=_0x37473d();while(!![]){try{const _0x5676dc=-parseInt(_0x34df4c(0x9a))/0x1+-parseInt(_0x34df4c(0x82))/0x2*(parseInt(_0x34df4c(0x86))/0x3)+-parseInt(_0x34df4c(0x8c))/0x4+-parseInt(_0x34df4c(0x8d))/0x5+parseInt(_0x34df4c(0x96))/0x6+parseInt(_0x34df4c(0x88))/0x7*(parseInt(_0x34df4c(0x98))/0x8)+parseInt(_0x34df4c(0x93))/0x9;if(_0x5676dc===_0x486b98)break;else _0x415950['push'](_0x415950['shift']());}catch(_0x334d0c){_0x415950['push'](_0x415950['shift']());}}}(a127_0x2df5,0x33aa8));import{CliErrors}from'../errors.js';import{parseLosslessJson}from'../utils/lossless-json.js';export const MAX_DATA_UPDATE_IDS=0x3e8;function a127_0x2df5(){const _0x13b710=['number','6vmHSeR','map','2889173XvAErb','\x20must\x20be\x20a\x20positive\x20integer\x20or\x20numeric\x20string.','data\x20update\x20--params\x20must\x20be\x20a\x20JSON\x20object\x20with\x20id.','data\x20update\x20requires\x20\x22id\x22\x20in\x20--params.','44056IReuib','1308415QaornG','length','data\x20update\x20can\x20update\x20at\x20most\x20','\x20records\x20per\x20call;\x20received\x20','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27','object','4750362bUnZzV','join','Example:\x20--params\x20\x27[{\x22name\x22:\x22a\x22},{\x22name\x22:\x22b\x22}]\x27','1343418ZzZBnF','string','8ClBcKV','data\x20update\x20id\x20array\x20cannot\x20be\x20empty.','296527euTjTX','isSafeInteger','Invalid\x20JSON\x20for\x20--params:\x20','isArray','batchCreate\x20--params\x20must\x20be\x20a\x20JSON\x20array\x20or\x20{\x22items\x22:[...]}','383612ibRVgl','id[','validation'];a127_0x2df5=function(){return _0x13b710;};return a127_0x2df5();}export function parseJsonParams(_0x46939c){const _0x21f929=a127_0x5d6b;if(!_0x46939c)return undefined;try{return parseLosslessJson(_0x46939c);}catch{throw CliErrors[_0x21f929(0x84)](_0x21f929(0x9c)+_0x46939c);}}export function parseJsonParamsValue(_0x4118ba){const _0x3e4ff8=a127_0x5d6b;if(!_0x4118ba)return undefined;try{return parseLosslessJson(_0x4118ba);}catch{throw CliErrors['validation'](_0x3e4ff8(0x9c)+_0x4118ba);}}export function parseBatchCreateItemsFromParams(_0x5c0751){const _0x1ba7de=a127_0x5d6b;if(Array[_0x1ba7de(0x80)](_0x5c0751))return _0x5c0751;if(_0x5c0751!==null&&_0x5c0751!==undefined&&typeof _0x5c0751===_0x1ba7de(0x92)&&Array[_0x1ba7de(0x80)](_0x5c0751['items']))return _0x5c0751['items'];throw CliErrors[_0x1ba7de(0x84)](_0x1ba7de(0x81),_0x1ba7de(0x95));}function parseDataUpdateId(_0x3f01b1,_0x253d20){const _0xe18fac=a127_0x5d6b;if(typeof _0x3f01b1===_0xe18fac(0x85)&&Number[_0xe18fac(0x9b)](_0x3f01b1)&&_0x3f01b1>0x0)return _0x3f01b1;if(typeof _0x3f01b1===_0xe18fac(0x97)){if(/^[1-9]\d*$/['test'](_0x3f01b1))return _0x3f01b1;}throw CliErrors['validation']('data\x20update\x20--params.'+_0x253d20+_0xe18fac(0x89));}function a127_0x5d6b(_0x5efc22,_0x566a50){_0x5efc22=_0x5efc22-0x80;const _0x2df57e=a127_0x2df5();let _0x5d6bf5=_0x2df57e[_0x5efc22];return _0x5d6bf5;}export function parseUpdateIdsFromParams(_0x5af62b){const _0x46372d=a127_0x5d6b;if(_0x5af62b===null||_0x5af62b===undefined||typeof _0x5af62b!==_0x46372d(0x92)||Array[_0x46372d(0x80)](_0x5af62b))throw CliErrors[_0x46372d(0x84)](_0x46372d(0x8a),_0x46372d(0x91));const _0x2a484b=_0x5af62b['id'];if(_0x2a484b===undefined||_0x2a484b===null)throw CliErrors['validation'](_0x46372d(0x8b),'Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27');const _0x28ff72=Array[_0x46372d(0x80)](_0x2a484b)?_0x2a484b:[_0x2a484b];if(_0x28ff72[_0x46372d(0x8e)]===0x0)throw CliErrors['validation'](_0x46372d(0x99));if(_0x28ff72['length']>MAX_DATA_UPDATE_IDS)throw CliErrors[_0x46372d(0x84)](_0x46372d(0x8f)+MAX_DATA_UPDATE_IDS+_0x46372d(0x90)+_0x28ff72[_0x46372d(0x8e)]+'.');return _0x28ff72[_0x46372d(0x87)]((_0x100443,_0x368402)=>parseDataUpdateId(_0x100443,Array[_0x46372d(0x80)](_0x2a484b)?_0x46372d(0x83)+_0x368402+']':'id'));}export function normalizeUpdateParamsForRuntime(_0x36eea4,_0x32fefe){const _0x259a7a=a127_0x5d6b;if(Array[_0x259a7a(0x80)](_0x36eea4['id'])&&_0x32fefe[_0x259a7a(0x8e)]>0x1)return{..._0x36eea4,'id':_0x32fefe[_0x259a7a(0x94)](',')};return _0x36eea4;}
1
+ (function(_0x50691c,_0x1fa721){const _0x3a5945=a129_0x5966,_0xdadafa=_0x50691c();while(!![]){try{const _0x57ddc3=parseInt(_0x3a5945(0x1aa))/0x1+parseInt(_0x3a5945(0x19b))/0x2*(-parseInt(_0x3a5945(0x192))/0x3)+-parseInt(_0x3a5945(0x197))/0x4+parseInt(_0x3a5945(0x199))/0x5+-parseInt(_0x3a5945(0x1a2))/0x6+parseInt(_0x3a5945(0x19a))/0x7*(parseInt(_0x3a5945(0x1a3))/0x8)+parseInt(_0x3a5945(0x19d))/0x9;if(_0x57ddc3===_0x1fa721)break;else _0xdadafa['push'](_0xdadafa['shift']());}catch(_0x398e1f){_0xdadafa['push'](_0xdadafa['shift']());}}}(a129_0x59ba,0x80525));function a129_0x59ba(){const _0xc2d7b5=['items','data\x20update\x20--params\x20must\x20be\x20a\x20JSON\x20object\x20with\x20id.','validation','\x20records\x20per\x20call;\x20received\x20','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27','string','96910KtMpNn','isSafeInteger','join','object','3ZgJXRr','data\x20update\x20id\x20array\x20cannot\x20be\x20empty.','Invalid\x20JSON\x20for\x20--params:\x20','data\x20update\x20--params.','id[','2373460NfExhT','\x20must\x20be\x20a\x20positive\x20integer\x20or\x20numeric\x20string.','1630330wBlOyD','226051XaZCaS','167542tUFbOo','length','7547346pDUiqh','batchCreate\x20--params\x20must\x20be\x20a\x20JSON\x20array\x20or\x20{\x22items\x22:[...]}','map','test','isArray','546732lcCPLm','8aACIgw'];a129_0x59ba=function(){return _0xc2d7b5;};return a129_0x59ba();}import{CliErrors}from'../errors.js';import{parseLosslessJson}from'../utils/lossless-json.js';export const MAX_DATA_UPDATE_IDS=0x3e8;export function parseJsonParams(_0x4debe7){const _0x440f98=a129_0x5966;if(!_0x4debe7)return undefined;try{return parseLosslessJson(_0x4debe7);}catch{throw CliErrors['validation'](_0x440f98(0x194)+_0x4debe7);}}export function parseJsonParamsValue(_0x5991f0){const _0x36731e=a129_0x5966;if(!_0x5991f0)return undefined;try{return parseLosslessJson(_0x5991f0);}catch{throw CliErrors[_0x36731e(0x1a6)]('Invalid\x20JSON\x20for\x20--params:\x20'+_0x5991f0);}}export function parseBatchCreateItemsFromParams(_0x1d734c){const _0x3cf6d0=a129_0x5966;if(Array[_0x3cf6d0(0x1a1)](_0x1d734c))return _0x1d734c;if(_0x1d734c!==null&&_0x1d734c!==undefined&&typeof _0x1d734c===_0x3cf6d0(0x191)&&Array[_0x3cf6d0(0x1a1)](_0x1d734c[_0x3cf6d0(0x1a4)]))return _0x1d734c[_0x3cf6d0(0x1a4)];throw CliErrors[_0x3cf6d0(0x1a6)](_0x3cf6d0(0x19e),'Example:\x20--params\x20\x27[{\x22name\x22:\x22a\x22},{\x22name\x22:\x22b\x22}]\x27');}function parseDataUpdateId(_0x4c694d,_0x2a0f98){const _0x4bc20a=a129_0x5966;if(typeof _0x4c694d==='number'&&Number[_0x4bc20a(0x1ab)](_0x4c694d)&&_0x4c694d>0x0)return _0x4c694d;if(typeof _0x4c694d===_0x4bc20a(0x1a9)){if(/^[1-9]\d*$/[_0x4bc20a(0x1a0)](_0x4c694d))return _0x4c694d;}throw CliErrors[_0x4bc20a(0x1a6)](_0x4bc20a(0x195)+_0x2a0f98+_0x4bc20a(0x198));}function a129_0x5966(_0x5cb81d,_0x1a7386){_0x5cb81d=_0x5cb81d-0x190;const _0x59ba11=a129_0x59ba();let _0x596697=_0x59ba11[_0x5cb81d];return _0x596697;}export function parseUpdateIdsFromParams(_0x836a20){const _0x436fca=a129_0x5966;if(_0x836a20===null||_0x836a20===undefined||typeof _0x836a20!==_0x436fca(0x191)||Array['isArray'](_0x836a20))throw CliErrors[_0x436fca(0x1a6)](_0x436fca(0x1a5),_0x436fca(0x1a8));const _0x8965f2=_0x836a20['id'];if(_0x8965f2===undefined||_0x8965f2===null)throw CliErrors[_0x436fca(0x1a6)]('data\x20update\x20requires\x20\x22id\x22\x20in\x20--params.',_0x436fca(0x1a8));const _0x11a2c6=Array[_0x436fca(0x1a1)](_0x8965f2)?_0x8965f2:[_0x8965f2];if(_0x11a2c6['length']===0x0)throw CliErrors[_0x436fca(0x1a6)](_0x436fca(0x193));if(_0x11a2c6[_0x436fca(0x19c)]>MAX_DATA_UPDATE_IDS)throw CliErrors[_0x436fca(0x1a6)]('data\x20update\x20can\x20update\x20at\x20most\x20'+MAX_DATA_UPDATE_IDS+_0x436fca(0x1a7)+_0x11a2c6[_0x436fca(0x19c)]+'.');return _0x11a2c6[_0x436fca(0x19f)]((_0x3ebd60,_0x2ac5b9)=>parseDataUpdateId(_0x3ebd60,Array['isArray'](_0x8965f2)?_0x436fca(0x196)+_0x2ac5b9+']':'id'));}export function normalizeUpdateParamsForRuntime(_0x292f9f,_0x3c8fd6){const _0x573af6=a129_0x5966;if(Array['isArray'](_0x292f9f['id'])&&_0x3c8fd6['length']>0x1)return{..._0x292f9f,'id':_0x3c8fd6[_0x573af6(0x190)](',')};return _0x292f9f;}
@@ -1 +1 @@
1
- const a128_0x251f8f=a128_0x1e0c;(function(_0x22001c,_0x43dfe5){const _0x2b2c18=a128_0x1e0c,_0x2b26af=_0x22001c();while(!![]){try{const _0x19df1b=-parseInt(_0x2b2c18(0x1c4))/0x1+parseInt(_0x2b2c18(0x1cc))/0x2*(parseInt(_0x2b2c18(0x1cf))/0x3)+-parseInt(_0x2b2c18(0x1c8))/0x4*(-parseInt(_0x2b2c18(0x1cb))/0x5)+-parseInt(_0x2b2c18(0x1c9))/0x6*(parseInt(_0x2b2c18(0x1c3))/0x7)+-parseInt(_0x2b2c18(0x1c6))/0x8*(-parseInt(_0x2b2c18(0x1c7))/0x9)+parseInt(_0x2b2c18(0x1c5))/0xa+-parseInt(_0x2b2c18(0x1ca))/0xb;if(_0x19df1b===_0x43dfe5)break;else _0x2b26af['push'](_0x2b26af['shift']());}catch(_0x2b96af){_0x2b26af['push'](_0x2b26af['shift']());}}}(a128_0x432b,0xa66e0));function a128_0x432b(){const _0x5b1bd1=['88LpPqTq','.cmd','win32','74427rEbnFI','platform','7lodPYG','844169dgMCPr','9863490WBnmZY','440GKapbF','32013OxxNWi','2741368QUMtjA','5626914KtYbvw','5447618uglMAd','5bmhKom'];a128_0x432b=function(){return _0x5b1bd1;};return a128_0x432b();}export const isWindows=process[a128_0x251f8f(0x1d0)]===a128_0x251f8f(0x1ce);function a128_0x1e0c(_0x276e84,_0x2a4317){_0x276e84=_0x276e84-0x1c3;const _0x432bf9=a128_0x432b();let _0x1e0cbe=_0x432bf9[_0x276e84];return _0x1e0cbe;}export function resolveNpmBin(_0x187edc){const _0x26285c=a128_0x251f8f;return isWindows?_0x187edc+_0x26285c(0x1cd):_0x187edc;}
1
+ const a130_0x3514af=a130_0x4a69;function a130_0x4a69(_0x13b4fd,_0xaf4f81){_0x13b4fd=_0x13b4fd-0x8f;const _0x3130cb=a130_0x3130();let _0x4a699b=_0x3130cb[_0x13b4fd];return _0x4a699b;}function a130_0x3130(){const _0x38e430=['4734664cOudlo','12378087AZCWvM','7BVRkkA','13300991wRhEUk','win32','.cmd','99476kSobVE','8GFZAzQ','5gNHlSe','10iOoDbp','7059534wipawm','6820499DBlBXa','4832544UNpBbj'];a130_0x3130=function(){return _0x38e430;};return a130_0x3130();}(function(_0x3b33be,_0x5190c5){const _0x440d92=a130_0x4a69,_0x56a858=_0x3b33be();while(!![]){try{const _0x30a140=parseInt(_0x440d92(0x96))/0x1*(parseInt(_0x440d92(0x9a))/0x2)+parseInt(_0x440d92(0x93))/0x3+-parseInt(_0x440d92(0x94))/0x4*(parseInt(_0x440d92(0x8f))/0x5)+parseInt(_0x440d92(0x91))/0x6+-parseInt(_0x440d92(0x92))/0x7+parseInt(_0x440d92(0x9b))/0x8*(-parseInt(_0x440d92(0x95))/0x9)+parseInt(_0x440d92(0x90))/0xa*(parseInt(_0x440d92(0x97))/0xb);if(_0x30a140===_0x5190c5)break;else _0x56a858['push'](_0x56a858['shift']());}catch(_0x56cf83){_0x56a858['push'](_0x56a858['shift']());}}}(a130_0x3130,0xc619a));export const isWindows=process['platform']===a130_0x3514af(0x98);export function resolveNpmBin(_0x2d7f22){const _0x562523=a130_0x3514af;return isWindows?_0x2d7f22+_0x562523(0x99):_0x2d7f22;}
@@ -1 +1 @@
1
- (function(_0x5f0df7,_0x2ca386){const _0x4e727d=a129_0x4667,_0x529d37=_0x5f0df7();while(!![]){try{const _0x21ab2a=-parseInt(_0x4e727d(0x141))/0x1*(parseInt(_0x4e727d(0x12b))/0x2)+parseInt(_0x4e727d(0x133))/0x3+-parseInt(_0x4e727d(0x12a))/0x4*(-parseInt(_0x4e727d(0x126))/0x5)+parseInt(_0x4e727d(0x136))/0x6*(-parseInt(_0x4e727d(0x130))/0x7)+-parseInt(_0x4e727d(0x129))/0x8*(parseInt(_0x4e727d(0x134))/0x9)+-parseInt(_0x4e727d(0x11c))/0xa*(parseInt(_0x4e727d(0x131))/0xb)+parseInt(_0x4e727d(0x12c))/0xc;if(_0x21ab2a===_0x2ca386)break;else _0x529d37['push'](_0x529d37['shift']());}catch(_0x573295){_0x529d37['push'](_0x529d37['shift']());}}}(a129_0x42c1,0x3258c));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';function a129_0x4667(_0x4e6314,_0x54de16){_0x4e6314=_0x4e6314-0x11b;const _0x42c132=a129_0x42c1();let _0x4667a4=_0x42c132[_0x4e6314];return _0x4667a4;}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(_0x48fdb5){const _0x54c23f=a129_0x4667,_0x243850=_0x48fdb5[_0x54c23f(0x137)]()[_0x54c23f(0x124)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x243850)return null;return{'major':Number(_0x243850[0x1]),'minor':Number(_0x243850[0x2]),'patch':Number(_0x243850[0x3]),'prerelease':_0x243850[0x4]};}function a129_0x42c1(){const _0x54a0ab=['735735WZhLEx','327042vJujIP','now','90138fkCGxD','trim','fromEntries','\x20available,\x20current\x20','checkedAt','json','toLowerCase','timeout','latest','/-/package/','/dist-tags','87WtqopN',',\x20run:\x20','true','number','.cache','\x20update','update-check.json','1715650iyynUd','filter','patch','yes','entries','object','stringify','utf8','match','prerelease','1210645rLiiiS','lastNotifiedAt','major','88XeCtik','4drqLGQ','3818PzREWN','7457580KbQHEH','lovrabet-cli','string','Invalid\x20semver','77FFNeLb','11bQCXLP','lastNotifiedVersion'];a129_0x42c1=function(){return _0x54a0ab;};return a129_0x42c1();}function compareSemver(_0x360c0e,_0x2fd5f){const _0x1815b2=a129_0x4667,_0x194d16=parseSemver(_0x360c0e),_0xfbc557=parseSemver(_0x2fd5f);if(!_0x194d16||!_0xfbc557)throw new Error(_0x1815b2(0x12f));for(const _0x361354 of[_0x1815b2(0x128),'minor',_0x1815b2(0x11e)]){if(_0x194d16[_0x361354]<_0xfbc557[_0x361354])return-0x1;if(_0x194d16[_0x361354]>_0xfbc557[_0x361354])return 0x1;}if(!_0x194d16['prerelease']&&!_0xfbc557[_0x1815b2(0x125)])return 0x0;if(!_0x194d16[_0x1815b2(0x125)])return 0x1;if(!_0xfbc557[_0x1815b2(0x125)])return-0x1;if(_0x194d16['prerelease']===_0xfbc557[_0x1815b2(0x125)])return 0x0;return _0x194d16[_0x1815b2(0x125)]<_0xfbc557[_0x1815b2(0x125)]?-0x1:0x1;}function isUpdateNoticeDisabled(){const _0x33c6a0=a129_0x4667,_0x35f8e6=process.env.LOVRABET_NO_UPDATE_NOTICE?.['trim']()[_0x33c6a0(0x13c)]();return _0x35f8e6==='1'||_0x35f8e6===_0x33c6a0(0x143)||_0x35f8e6===_0x33c6a0(0x11f);}function cacheRoot(){const _0x2a8420=a129_0x4667;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x2a8420(0x145));}export function getUpdateNoticeCachePath(){const _0xbffd3b=a129_0x4667;return join(cacheRoot(),_0xbffd3b(0x12d),_0xbffd3b(0x11b));}async function readUpdateNoticeCache(){const _0x4f66ad=a129_0x4667;try{const _0x139e11=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x193480=JSON['parse'](_0x139e11);if(!_0x193480||typeof _0x193480!==_0x4f66ad(0x121))return{};return _0x193480;}catch{return{};}}async function writeUpdateNoticeCache(_0x7e7c3f){const _0x37eecf=a129_0x4667;try{const _0x1bc498=getUpdateNoticeCachePath();await mkdir(dirname(_0x1bc498),{'recursive':!![]}),await writeFile(_0x1bc498,JSON[_0x37eecf(0x122)](_0x7e7c3f,null,0x2)+'\x0a',_0x37eecf(0x123));}catch{}}function isFreshCheck(_0x3d8b7c,_0x1b9f41){const _0x401453=a129_0x4667;return typeof _0x3d8b7c[_0x401453(0x13a)]===_0x401453(0x144)&&_0x1b9f41-_0x3d8b7c['checkedAt']<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x3b7485,_0x207397,_0x279d5b){const _0x3b818c=a129_0x4667;return _0x3b7485[_0x3b818c(0x132)]===_0x207397&&typeof _0x3b7485[_0x3b818c(0x127)]===_0x3b818c(0x144)&&_0x279d5b-_0x3b7485['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}async function fetchNpmDistTags(_0xbd169=0x5dc){const _0x551a09=a129_0x4667;try{const _0xea2c=NPM_REGISTRY_BASE_URL+_0x551a09(0x13f)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x551a09(0x140),_0x543c93=await fetch(_0xea2c,{'signal':AbortSignal[_0x551a09(0x13d)](_0xbd169)});if(!_0x543c93['ok'])return null;const _0x2437d1=await _0x543c93[_0x551a09(0x13b)]();if(!_0x2437d1||typeof _0x2437d1!==_0x551a09(0x121))return null;return Object[_0x551a09(0x138)](Object[_0x551a09(0x120)](_0x2437d1)[_0x551a09(0x11d)](([,_0x250063])=>typeof _0x250063===_0x551a09(0x12e)&&_0x250063[_0x551a09(0x137)]())['map'](([_0x585ca2,_0x22f2d2])=>[_0x585ca2,String(_0x22f2d2)[_0x551a09(0x137)]()]));}catch{return null;}}export function buildNpmVersionUrl(_0x4ff711){return'https://www.npmjs.com/package/'+LOVRABET_NPM_PACKAGE_NAME+'/v/'+_0x4ff711;}export async function resolveLatestUpdateNotice(){const _0x86f6fb=a129_0x4667;if(isUpdateNoticeDisabled())return null;try{const _0x60923b=Date[_0x86f6fb(0x135)](),_0x2e9262=getCliVersion(),_0x4ff0bf=await readUpdateNoticeCache();let _0x3db6cc=isFreshCheck(_0x4ff0bf,_0x60923b)?_0x4ff0bf[_0x86f6fb(0x13e)]?.[_0x86f6fb(0x137)]():undefined;if(!_0x3db6cc&&!isFreshCheck(_0x4ff0bf,_0x60923b)){const _0x1afc1f=await fetchNpmDistTags();_0x3db6cc=_0x1afc1f?.[_0x86f6fb(0x13e)]?.[_0x86f6fb(0x137)](),await writeUpdateNoticeCache({..._0x4ff0bf,'checkedAt':_0x60923b,'latest':_0x3db6cc,'failed':!_0x3db6cc});}if(!_0x3db6cc||compareSemver(_0x2e9262,_0x3db6cc)>=0x0)return null;if(isRecentlyNotified(_0x4ff0bf,_0x3db6cc,_0x60923b))return null;const _0x1f9fdc=CLI_BIN_NAME+_0x86f6fb(0x146);return await writeUpdateNoticeCache({..._0x4ff0bf,'checkedAt':isFreshCheck(_0x4ff0bf,_0x60923b)?_0x4ff0bf[_0x86f6fb(0x13a)]:_0x60923b,'latest':_0x3db6cc,'failed':![],'lastNotifiedVersion':_0x3db6cc,'lastNotifiedAt':_0x60923b}),{'command':_0x1f9fdc,'current':_0x2e9262,'latest':_0x3db6cc,'url':buildNpmVersionUrl(_0x3db6cc),'message':CLI_BIN_NAME+'\x20'+_0x3db6cc+_0x86f6fb(0x139)+_0x2e9262+_0x86f6fb(0x142)+_0x1f9fdc};}catch{return null;}}
1
+ (function(_0x1109bd,_0x54364b){const _0x11263f=a131_0x460f,_0x528433=_0x1109bd();while(!![]){try{const _0x371328=parseInt(_0x11263f(0x1d2))/0x1*(parseInt(_0x11263f(0x1c1))/0x2)+parseInt(_0x11263f(0x1dc))/0x3+-parseInt(_0x11263f(0x1d5))/0x4+parseInt(_0x11263f(0x1db))/0x5+parseInt(_0x11263f(0x1da))/0x6*(-parseInt(_0x11263f(0x1ca))/0x7)+-parseInt(_0x11263f(0x1d4))/0x8+parseInt(_0x11263f(0x1c9))/0x9*(parseInt(_0x11263f(0x1c2))/0xa);if(_0x371328===_0x54364b)break;else _0x528433['push'](_0x528433['shift']());}catch(_0x48f675){_0x528433['push'](_0x528433['shift']());}}}(a131_0x28d9,0x53675));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';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(_0xad7e78){const _0x4b609a=a131_0x460f,_0x569247=_0xad7e78[_0x4b609a(0x1e0)]()['match'](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x569247)return null;return{'major':Number(_0x569247[0x1]),'minor':Number(_0x569247[0x2]),'patch':Number(_0x569247[0x3]),'prerelease':_0x569247[0x4]};}function compareSemver(_0x130283,_0x53b2cc){const _0x5064ad=a131_0x460f,_0x2f8c83=parseSemver(_0x130283),_0x1fc9c9=parseSemver(_0x53b2cc);if(!_0x2f8c83||!_0x1fc9c9)throw new Error(_0x5064ad(0x1d9));for(const _0x43efa0 of[_0x5064ad(0x1cd),_0x5064ad(0x1c3),'patch']){if(_0x2f8c83[_0x43efa0]<_0x1fc9c9[_0x43efa0])return-0x1;if(_0x2f8c83[_0x43efa0]>_0x1fc9c9[_0x43efa0])return 0x1;}if(!_0x2f8c83['prerelease']&&!_0x1fc9c9[_0x5064ad(0x1de)])return 0x0;if(!_0x2f8c83['prerelease'])return 0x1;if(!_0x1fc9c9['prerelease'])return-0x1;if(_0x2f8c83[_0x5064ad(0x1de)]===_0x1fc9c9[_0x5064ad(0x1de)])return 0x0;return _0x2f8c83[_0x5064ad(0x1de)]<_0x1fc9c9[_0x5064ad(0x1de)]?-0x1:0x1;}function isUpdateNoticeDisabled(){const _0x2be77b=a131_0x460f,_0x47850a=process.env.LOVRABET_NO_UPDATE_NOTICE?.[_0x2be77b(0x1e0)]()[_0x2be77b(0x1cf)]();return _0x47850a==='1'||_0x47850a===_0x2be77b(0x1dd)||_0x47850a===_0x2be77b(0x1c7);}function cacheRoot(){const _0x562e13=a131_0x460f;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x562e13(0x1c8));}export function getUpdateNoticeCachePath(){const _0xd7419b=a131_0x460f;return join(cacheRoot(),_0xd7419b(0x1e3),_0xd7419b(0x1df));}async function readUpdateNoticeCache(){const _0x2e1b2e=a131_0x460f;try{const _0x1ddbda=await readFile(getUpdateNoticeCachePath(),_0x2e1b2e(0x1c6)),_0x547823=JSON[_0x2e1b2e(0x1d8)](_0x1ddbda);if(!_0x547823||typeof _0x547823!==_0x2e1b2e(0x1c5))return{};return _0x547823;}catch{return{};}}async function writeUpdateNoticeCache(_0x20db7f){const _0x3b8c47=a131_0x460f;try{const _0x25e635=getUpdateNoticeCachePath();await mkdir(dirname(_0x25e635),{'recursive':!![]}),await writeFile(_0x25e635,JSON[_0x3b8c47(0x1e2)](_0x20db7f,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x20c1ae,_0x2b9268){const _0x77a48=a131_0x460f;return typeof _0x20c1ae['checkedAt']===_0x77a48(0x1cb)&&_0x2b9268-_0x20c1ae[_0x77a48(0x1bf)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x2a6528,_0x1ecf88,_0x2276e6){const _0x52a731=a131_0x460f;return _0x2a6528[_0x52a731(0x1e5)]===_0x1ecf88&&typeof _0x2a6528[_0x52a731(0x1c4)]===_0x52a731(0x1cb)&&_0x2276e6-_0x2a6528['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}function a131_0x460f(_0x4e7c6e,_0x441642){_0x4e7c6e=_0x4e7c6e-0x1bf;const _0x28d9ad=a131_0x28d9();let _0x460fb2=_0x28d9ad[_0x4e7c6e];return _0x460fb2;}async function fetchNpmDistTags(_0x1a3452=0x5dc){const _0x49774b=a131_0x460f;try{const _0x54c38f=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+'/dist-tags',_0x2c1ebe=await fetch(_0x54c38f,{'signal':AbortSignal[_0x49774b(0x1e6)](_0x1a3452)});if(!_0x2c1ebe['ok'])return null;const _0x155af3=await _0x2c1ebe['json']();if(!_0x155af3||typeof _0x155af3!==_0x49774b(0x1c5))return null;return Object[_0x49774b(0x1d0)](Object[_0x49774b(0x1ce)](_0x155af3)[_0x49774b(0x1d6)](([,_0x295de2])=>typeof _0x295de2==='string'&&_0x295de2['trim']())['map'](([_0x4e399b,_0x460a09])=>[_0x4e399b,String(_0x460a09)[_0x49774b(0x1e0)]()]));}catch{return null;}}export function buildNpmVersionUrl(_0x3ea9cb){const _0x2b6460=a131_0x460f;return _0x2b6460(0x1e4)+LOVRABET_NPM_PACKAGE_NAME+_0x2b6460(0x1d7)+_0x3ea9cb;}function a131_0x28d9(){const _0x46b526=['minor','lastNotifiedAt','object','utf8','yes','.cache','153YmFxAP','50491dkFlgd','number','\x20update','major','entries','toLowerCase','fromEntries','now','487164mpQFUx','latest','5243928ZDsjuE','2534384vXqAkD','filter','/v/','parse','Invalid\x20semver','6ECngay','1047245AKEbGc','523977OLQZas','true','prerelease','update-check.json','trim',',\x20run:\x20','stringify','lovrabet-cli','https://www.npmjs.com/package/','lastNotifiedVersion','timeout','checkedAt','\x20available,\x20current\x20','2oIJoeP','450970IrbVno'];a131_0x28d9=function(){return _0x46b526;};return a131_0x28d9();}export async function resolveLatestUpdateNotice(){const _0x171875=a131_0x460f;if(isUpdateNoticeDisabled())return null;try{const _0x11e556=Date[_0x171875(0x1d1)](),_0x52ebe6=getCliVersion(),_0x5b3009=await readUpdateNoticeCache();let _0x435df8=isFreshCheck(_0x5b3009,_0x11e556)?_0x5b3009['latest']?.['trim']():undefined;if(!_0x435df8&&!isFreshCheck(_0x5b3009,_0x11e556)){const _0xd1e877=await fetchNpmDistTags();_0x435df8=_0xd1e877?.[_0x171875(0x1d3)]?.[_0x171875(0x1e0)](),await writeUpdateNoticeCache({..._0x5b3009,'checkedAt':_0x11e556,'latest':_0x435df8,'failed':!_0x435df8});}if(!_0x435df8||compareSemver(_0x52ebe6,_0x435df8)>=0x0)return null;if(isRecentlyNotified(_0x5b3009,_0x435df8,_0x11e556))return null;const _0xaa081a=CLI_BIN_NAME+_0x171875(0x1cc);return await writeUpdateNoticeCache({..._0x5b3009,'checkedAt':isFreshCheck(_0x5b3009,_0x11e556)?_0x5b3009[_0x171875(0x1bf)]:_0x11e556,'latest':_0x435df8,'failed':![],'lastNotifiedVersion':_0x435df8,'lastNotifiedAt':_0x11e556}),{'command':_0xaa081a,'current':_0x52ebe6,'latest':_0x435df8,'url':buildNpmVersionUrl(_0x435df8),'message':CLI_BIN_NAME+'\x20'+_0x435df8+_0x171875(0x1c0)+_0x52ebe6+_0x171875(0x1e1)+_0xaa081a};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x305d9c,_0x4920a7){const _0x2a30bb=a130_0x5aa0,_0x590d9b=_0x305d9c();while(!![]){try{const _0x18e40c=parseInt(_0x2a30bb(0xd5))/0x1+parseInt(_0x2a30bb(0xde))/0x2*(-parseInt(_0x2a30bb(0xda))/0x3)+-parseInt(_0x2a30bb(0xdb))/0x4*(parseInt(_0x2a30bb(0xdd))/0x5)+-parseInt(_0x2a30bb(0xd6))/0x6+parseInt(_0x2a30bb(0xd9))/0x7+parseInt(_0x2a30bb(0xd4))/0x8+-parseInt(_0x2a30bb(0xdc))/0x9*(-parseInt(_0x2a30bb(0xd8))/0xa);if(_0x18e40c===_0x4920a7)break;else _0x590d9b['push'](_0x590d9b['shift']());}catch(_0xb75485){_0x590d9b['push'](_0x590d9b['shift']());}}}(a130_0x2456,0xd25ef));import{BUILD_TIME,GIT_COMMIT,VERSION}from'../generated/build-info.js';function a130_0x2456(){const _0x200137=['unknown','33456KtnQiu','546308RSdSYz','5002596DLfIsW','slice','391480qzSxNz','2802464FlDlnY','3411SzlMLa','64oAbFAu','477OJGcRG','398290zktUXZ','98iIgZIW'];a130_0x2456=function(){return _0x200137;};return a130_0x2456();}export function getCliVersion(){return VERSION;}function a130_0x5aa0(_0x328dbb,_0x5667fd){_0x328dbb=_0x328dbb-0xd3;const _0x245653=a130_0x2456();let _0x5aa032=_0x245653[_0x328dbb];return _0x5aa032;}export function getCliGitCommit(){const _0xb45b8a=a130_0x5aa0,_0x1bc74d=String(GIT_COMMIT);return _0x1bc74d&&_0x1bc74d!==_0xb45b8a(0xd3)?_0x1bc74d:'';}export function getCliVersionDisplay(){const _0x5c111c=a130_0x5aa0,_0x1ca1d2=getCliGitCommit(),_0x4daf6e=BUILD_TIME[_0x5c111c(0xd7)](0x0,0xa);if(!_0x1ca1d2||!_0x4daf6e)return VERSION;return VERSION+'\x20('+_0x1ca1d2+',\x20'+_0x4daf6e+')';}
1
+ function a132_0x5a10(){const _0x408f07=['unknown','6fWivLD','1147700sJMllt','3740305IrlfJu','134836cuefll','4eADPYE','1122374oQGEZp','105kjnRJM','8124248jsyygd','slice','45upeMvU','2944676sJyPsg','4160pXMTjb'];a132_0x5a10=function(){return _0x408f07;};return a132_0x5a10();}(function(_0x545260,_0x18fe49){const _0xe7427a=a132_0xb070,_0xab12eb=_0x545260();while(!![]){try{const _0x36eb47=parseInt(_0xe7427a(0x83))/0x1+parseInt(_0xe7427a(0x7e))/0x2*(-parseInt(_0xe7427a(0x86))/0x3)+parseInt(_0xe7427a(0x84))/0x4*(parseInt(_0xe7427a(0x82))/0x5)+parseInt(_0xe7427a(0x80))/0x6*(-parseInt(_0xe7427a(0x7d))/0x7)+parseInt(_0xe7427a(0x87))/0x8+parseInt(_0xe7427a(0x89))/0x9*(-parseInt(_0xe7427a(0x81))/0xa)+-parseInt(_0xe7427a(0x85))/0xb;if(_0x36eb47===_0x18fe49)break;else _0xab12eb['push'](_0xab12eb['shift']());}catch(_0x89f187){_0xab12eb['push'](_0xab12eb['shift']());}}}(a132_0x5a10,0xb1ff4));import{BUILD_TIME,GIT_COMMIT,VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}function a132_0xb070(_0xbbdce9,_0x4f348f){_0xbbdce9=_0xbbdce9-0x7d;const _0x5a10bb=a132_0x5a10();let _0xb070a7=_0x5a10bb[_0xbbdce9];return _0xb070a7;}export function getCliGitCommit(){const _0x25d756=a132_0xb070,_0x15c2f0=String(GIT_COMMIT);return _0x15c2f0&&_0x15c2f0!==_0x25d756(0x7f)?_0x15c2f0:'';}export function getCliVersionDisplay(){const _0xe238c0=a132_0xb070,_0x224431=getCliGitCommit(),_0x3d6f45=BUILD_TIME[_0xe238c0(0x88)](0x0,0xa);if(!_0x224431||!_0x3d6f45)return VERSION;return VERSION+'\x20('+_0x224431+',\x20'+_0x3d6f45+')';}
@@ -1 +1 @@
1
- (function(_0xe5d1a7,_0x11f7cc){var _0x1f4c68=a131_0x2d7e,_0x1cfebd=_0xe5d1a7();while(!![]){try{var _0x2137be=parseInt(_0x1f4c68(0xcb))/0x1+-parseInt(_0x1f4c68(0xc5))/0x2*(-parseInt(_0x1f4c68(0xc4))/0x3)+-parseInt(_0x1f4c68(0xca))/0x4+parseInt(_0x1f4c68(0xcc))/0x5+parseInt(_0x1f4c68(0xc9))/0x6*(-parseInt(_0x1f4c68(0xc3))/0x7)+parseInt(_0x1f4c68(0xc8))/0x8+parseInt(_0x1f4c68(0xc6))/0x9*(-parseInt(_0x1f4c68(0xc7))/0xa);if(_0x2137be===_0x11f7cc)break;else _0x1cfebd['push'](_0x1cfebd['shift']());}catch(_0x52e7cf){_0x1cfebd['push'](_0x1cfebd['shift']());}}}(a131_0x4836,0x60d7a));function a131_0x2d7e(_0x42ff90,_0x4ae3ff){_0x42ff90=_0x42ff90-0xc3;var _0x483622=a131_0x4836();var _0x2d7e38=_0x483622[_0x42ff90];return _0x2d7e38;}export function writeCliSideChannelLine(_0x2c0aaa){process['stderr']['write'](_0x2c0aaa+'\x0a');}function a131_0x4836(){var _0x3e4dd6=['335258CGrBwc','114QNOrGh','22808WLSsSK','4634046MHiejW','10fUftTH','4710552NtTouc','60JamFPU','796664shUuMW','158225FBcDZd','2046350BVNsdP'];a131_0x4836=function(){return _0x3e4dd6;};return a131_0x4836();}
1
+ (function(_0x456148,_0x2cdd26){var _0x42f2f1=a133_0x5f14,_0x243559=_0x456148();while(!![]){try{var _0x4c43c4=-parseInt(_0x42f2f1(0xb9))/0x1+parseInt(_0x42f2f1(0xb5))/0x2+-parseInt(_0x42f2f1(0xba))/0x3+-parseInt(_0x42f2f1(0xb8))/0x4+-parseInt(_0x42f2f1(0xb1))/0x5*(parseInt(_0x42f2f1(0xb4))/0x6)+-parseInt(_0x42f2f1(0xb3))/0x7*(-parseInt(_0x42f2f1(0xbb))/0x8)+parseInt(_0x42f2f1(0xb6))/0x9*(parseInt(_0x42f2f1(0xb2))/0xa);if(_0x4c43c4===_0x2cdd26)break;else _0x243559['push'](_0x243559['shift']());}catch(_0x3394a7){_0x243559['push'](_0x243559['shift']());}}}(a133_0x2ba1,0x66402));function a133_0x5f14(_0x5326e9,_0x6a6b02){_0x5326e9=_0x5326e9-0xb0;var _0x2ba1f5=a133_0x2ba1();var _0x5f1403=_0x2ba1f5[_0x5326e9];return _0x5f1403;}function a133_0x2ba1(){var _0x23ef29=['9950QxLtUP','413RVXbvy','120htnwhY','806546QORnMS','11862cXwXLN','stderr','122664owKljZ','689257CEdsEy','2421087NrdNUP','66024NSOKAG','write','63960lbmwVA'];a133_0x2ba1=function(){return _0x23ef29;};return a133_0x2ba1();}export function writeCliSideChannelLine(_0x13f4c6){var _0x5cb676=a133_0x5f14;process[_0x5cb676(0xb7)][_0x5cb676(0xb0)](_0x13f4c6+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/lovrabet-cli",
3
- "version": "2.1.23",
3
+ "version": "2.2.0",
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": [
@@ -34,13 +34,13 @@
34
34
  }
35
35
  },
36
36
  "engines": {
37
- "node": ">=20"
37
+ "node": ">=22.20.0"
38
38
  },
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
42
  "scripts": {
43
- "prebuild": "node scripts/generate-build-info.js",
43
+ "prebuild": "node scripts/generate-build-info.js && node scripts/generate-builtin-skill-manifest.mjs --check",
44
44
  "build": "rimraf lib && tsc && tsc-alias && javascript-obfuscator lib --output lib && node scripts/ensure-bin-executable.mjs",
45
45
  "prebuild:dev": "node scripts/generate-build-info.js",
46
46
  "build:dev": "rimraf lib && tsc && tsc-alias && node scripts/ensure-bin-executable.mjs",
@@ -49,12 +49,18 @@
49
49
  "pretypecheck": "node scripts/generate-build-info.js",
50
50
  "typecheck": "tsc --noEmit",
51
51
  "verify:bundled-jq": "node scripts/verify-bundled-jq.mjs",
52
+ "regression:release-smoke": "node scripts/regression-release-smoke.mjs",
53
+ "pack:dry-run-summary": "node scripts/package-dry-run-summary.mjs",
54
+ "verify:release-package": "node scripts/verify-release-package.mjs",
52
55
  "publish:github": "node scripts/publish-github.mjs",
53
56
  "lint": "echo 'No linter configured yet'",
54
57
  "beta-release": "node scripts/beta-release.mjs",
55
58
  "release": "node scripts/latest-release.mjs",
56
59
  "check:lockfile": "node scripts/check-lockfile-integrity.mjs",
57
60
  "check:skill-version": "node scripts/check-skill-version.mjs",
61
+ "generate:builtin-skill-manifest": "node scripts/generate-builtin-skill-manifest.mjs",
62
+ "check:builtin-skill-manifest": "node scripts/generate-builtin-skill-manifest.mjs --check",
63
+ "postinstall": "node scripts/postinstall.mjs",
58
64
  "ci": "npm run typecheck && npm run check:skill-version && npm run check:lockfile && npm run build",
59
65
  "pretest": "node scripts/generate-build-info.js",
60
66
  "test": "vitest run",
@@ -67,6 +73,9 @@
67
73
  },
68
74
  "files": [
69
75
  "lib",
76
+ "skills/lovrabet",
77
+ "skills/lovrabet.manifest.json",
78
+ "scripts/postinstall.mjs",
70
79
  "README.md",
71
80
  "LICENSE",
72
81
  "NOTICE"
@@ -83,6 +92,7 @@
83
92
  "meow": "^13.2.0",
84
93
  "mermaid": "11.16.0",
85
94
  "react": "^19.2.0",
95
+ "semver": "^7.7.3",
86
96
  "winston": "^3.17.0",
87
97
  "ws": "8.20.1",
88
98
  "yaml": "^2.9.0"
@@ -91,6 +101,7 @@
91
101
  "@types/fs-extra": "^11.0.4",
92
102
  "@types/node": "^24.5.2",
93
103
  "@types/react": "^19.2.0",
104
+ "@types/semver": "^7.7.1",
94
105
  "@vitest/coverage-v8": "^4.1.2",
95
106
  "javascript-obfuscator": "^5.4.1",
96
107
  "rimraf": "^6.1.3",
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ import { existsSync } from "node:fs";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { fileURLToPath, pathToFileURL } from "node:url";
5
+
6
+ const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
7
+ const entry = join(root, "lib", "postinstall.js");
8
+
9
+ if (!existsSync(entry)) {
10
+ if (existsSync(join(root, "src", "postinstall.ts"))) {
11
+ console.log("Skipping Lovrabet Built-in Skill postinstall in an unbuilt source checkout.");
12
+ } else {
13
+ console.error("[BUILTIN_SKILL_INSTALL_SOURCE_MISSING] Missing lib/postinstall.js");
14
+ process.exitCode = 1;
15
+ }
16
+ } else {
17
+ try {
18
+ const { runPostinstall } = await import(pathToFileURL(entry).href);
19
+ await runPostinstall();
20
+ } catch (error) {
21
+ console.error(error instanceof Error ? error.message : String(error));
22
+ process.exitCode = 1;
23
+ }
24
+ }