@lovrabet/lovrabet-cli 2.1.18-beta.2 → 2.1.18-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 (127) 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/ocr/index.js +1 -1
  36. package/lib/commands/personal-bff/index.js +1 -1
  37. package/lib/commands/registry.js +1 -1
  38. package/lib/commands/schedule/index.js +1 -1
  39. package/lib/commands/schema.js +1 -1
  40. package/lib/commands/service/dynamic.js +1 -1
  41. package/lib/commands/service/function-name-adapter.js +1 -1
  42. package/lib/commands/service/index.js +1 -1
  43. package/lib/commands/service/registry.js +1 -1
  44. package/lib/commands/skill/commands/create.js +1 -1
  45. package/lib/commands/skill/commands/install.js +1 -1
  46. package/lib/commands/skill/commands/list.js +1 -1
  47. package/lib/commands/skill/commands/push.js +1 -1
  48. package/lib/commands/skill/commands/validate.js +1 -1
  49. package/lib/commands/skill/flags.js +1 -1
  50. package/lib/commands/skill/index.js +1 -1
  51. package/lib/commands/skill/manifest-helpers.js +1 -1
  52. package/lib/commands/skill/push-execute.js +1 -1
  53. package/lib/commands/skill/push-flow-helpers.js +1 -1
  54. package/lib/commands/skill/push-retarget.js +1 -1
  55. package/lib/commands/skill/scopes.js +1 -1
  56. package/lib/commands/skill/summary.js +1 -1
  57. package/lib/commands/skill/templates.js +1 -1
  58. package/lib/commands/skill/validate.js +1 -1
  59. package/lib/commands/sql/detail.js +1 -1
  60. package/lib/commands/sql/exec.js +1 -1
  61. package/lib/commands/sql/index.js +1 -1
  62. package/lib/commands/update.js +1 -1
  63. package/lib/commands/workspace/index.js +1 -1
  64. package/lib/config/schema.js +1 -1
  65. package/lib/constant/app.js +1 -1
  66. package/lib/constant/auth-mode.js +1 -1
  67. package/lib/constant/cli.js +1 -1
  68. package/lib/constant/defaults.js +1 -1
  69. package/lib/constant/distribution.js +1 -1
  70. package/lib/constant/domain.js +1 -1
  71. package/lib/constant/env.js +1 -1
  72. package/lib/constant/output.js +1 -1
  73. package/lib/constant/product.js +1 -1
  74. package/lib/constant/risk.js +1 -1
  75. package/lib/constant/url.js +1 -1
  76. package/lib/context.js +1 -1
  77. package/lib/core/api-client.js +1 -1
  78. package/lib/core/db-resolver.js +1 -1
  79. package/lib/core/sdk-client.js +1 -1
  80. package/lib/errors.js +1 -1
  81. package/lib/framework/build-all-flags.js +1 -1
  82. package/lib/framework/dryrun.js +1 -1
  83. package/lib/framework/flags.js +1 -1
  84. package/lib/framework/help.js +1 -1
  85. package/lib/framework/index.js +1 -1
  86. package/lib/framework/output.js +1 -1
  87. package/lib/framework/preparse.js +1 -1
  88. package/lib/framework/rate-limit.js +1 -1
  89. package/lib/framework/response.js +1 -1
  90. package/lib/framework/runner-confirmation.js +1 -1
  91. package/lib/framework/runner-error.js +1 -1
  92. package/lib/framework/runner.js +1 -1
  93. package/lib/framework/schema-export.js +1 -1
  94. package/lib/framework/service-order.js +1 -1
  95. package/lib/framework/types.js +1 -1
  96. package/lib/generated/build-info.d.ts +4 -4
  97. package/lib/generated/build-info.js +1 -1
  98. package/lib/help.js +1 -1
  99. package/lib/runtime/event.js +1 -1
  100. package/lib/runtime/index.js +1 -1
  101. package/lib/runtime/queue.js +1 -1
  102. package/lib/runtime/resolve.js +1 -1
  103. package/lib/skills/npx-skills-add.js +1 -1
  104. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  105. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  106. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  107. package/lib/skills/runtime-skill-sync/links.js +1 -1
  108. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  109. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  110. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  111. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  112. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  113. package/lib/skills/runtime-skill-sync/push.js +1 -1
  114. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  115. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  116. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  117. package/lib/skills/runtime-skill-sync.js +1 -1
  118. package/lib/utils/apply-jq-filter.js +1 -1
  119. package/lib/utils/logger.js +1 -1
  120. package/lib/utils/lossless-json.d.ts +7 -14
  121. package/lib/utils/lossless-json.js +1 -1
  122. package/lib/utils/params.js +1 -1
  123. package/lib/utils/platform.js +1 -1
  124. package/lib/utils/update-notice.js +1 -1
  125. package/lib/utils/version.js +1 -1
  126. package/lib/utils/write-cli-side-channel.js +1 -1
  127. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x226a34,_0x4ae622){const _0x2c993b=a39_0x394c,_0x40baef=_0x226a34();while(!![]){try{const _0x4dc8c3=-parseInt(_0x2c993b(0x201))/0x1*(-parseInt(_0x2c993b(0x1ef))/0x2)+parseInt(_0x2c993b(0x1de))/0x3*(-parseInt(_0x2c993b(0x20a))/0x4)+parseInt(_0x2c993b(0x220))/0x5+parseInt(_0x2c993b(0x222))/0x6+parseInt(_0x2c993b(0x21c))/0x7+-parseInt(_0x2c993b(0x22c))/0x8+parseInt(_0x2c993b(0x1fd))/0x9*(-parseInt(_0x2c993b(0x1d1))/0xa);if(_0x4dc8c3===_0x4ae622)break;else _0x40baef['push'](_0x40baef['shift']());}catch(_0xee2dfe){_0x40baef['push'](_0x40baef['shift']());}}}(a39_0x2e63,0x5ac81));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x31f3f7,_0x58ac6a){const _0x28cae9=a39_0x394c,_0xba398b=listLocalServiceTrees();let _0x57cca7;for(const _0x32f2c5 of _0xba398b){const _0x34c76d=matchServiceTreeCommand(_0x32f2c5,_0x31f3f7);if(!_0x34c76d)continue;(!_0x57cca7||_0x34c76d[_0x28cae9(0x215)][_0x28cae9(0x1fc)][_0x28cae9(0x21d)]>_0x57cca7[_0x28cae9(0x215)][_0x28cae9(0x1fc)][_0x28cae9(0x21d)])&&(_0x57cca7={'tree':_0x32f2c5,'command':_0x34c76d[_0x28cae9(0x215)],'remainingArgs':_0x34c76d[_0x28cae9(0x1e9)]});}if(!_0x57cca7)return undefined;const _0x382aa8={..._0x58ac6a};return applyAppBinding(_0x57cca7['tree'],_0x57cca7[_0x28cae9(0x215)],_0x382aa8),{'definition':buildDynamicCommandDefinition(_0x57cca7[_0x28cae9(0x1dc)],_0x57cca7[_0x28cae9(0x215)]),'args':_0x57cca7['remainingArgs'],'flags':_0x382aa8,'tree':_0x57cca7[_0x28cae9(0x1dc)],'command':_0x57cca7[_0x28cae9(0x215)]};}export function generateDynamicServiceHelp(_0x3aa24b){const _0x3bbe84=a39_0x394c,_0x1093bd=listLocalServiceTrees()[_0x3bbe84(0x1c4)](_0x1f3da8=>_0x1f3da8[_0x3bbe84(0x228)][_0x3bbe84(0x1f8)]===_0x3aa24b);if(!_0x1093bd)return undefined;const _0x5a141f=[CLI_BIN_NAME+'\x20'+_0x3aa24b+_0x3bbe84(0x1d4),'',_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1fa)]||_0x3aa24b,_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1ce)]?'\x20\x20'+_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1ce)]:'','',_0x3bbe84(0x205),..._0x1093bd[_0x3bbe84(0x1e2)]['map'](_0x4e7fa0=>{const _0x25d8cc=_0x3bbe84,_0x4fa579=_0x4e7fa0[_0x25d8cc(0x1fc)][_0x25d8cc(0x1c3)](0x1)[_0x25d8cc(0x1e5)]('\x20'),_0x423d5e=_0x4e7fa0['risk']===_0x25d8cc(0x22d)?'':'\x20['+_0x4e7fa0[_0x25d8cc(0x1f7)]+']';return'\x20\x20'+_0x4fa579[_0x25d8cc(0x1fb)](0x18)+'\x20'+(_0x4e7fa0[_0x25d8cc(0x1ce)]||'')+_0x423d5e;}),'',_0x3bbe84(0x1e6)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x3aa24b+_0x3bbe84(0x1ec)]['filter'](Boolean);return _0x5a141f[_0x3bbe84(0x1e5)]('\x0a');}export function listDynamicServiceEntries(){const _0x1104b9=a39_0x394c;return listLocalServices()[_0x1104b9(0x1d6)](_0x575919=>{const _0x109fb5=_0x1104b9,_0x7c717f=_0x575919[_0x109fb5(0x221)];return{'service':_0x7c717f[_0x109fb5(0x228)][_0x109fb5(0x1f8)],'label':_0x7c717f['service'][_0x109fb5(0x1fa)]||_0x7c717f[_0x109fb5(0x228)][_0x109fb5(0x1f8)],'commands':_0x7c717f[_0x109fb5(0x1e2)][_0x109fb5(0x1d6)](_0x535a5e=>({'command':dynamicCommandName(_0x535a5e),'description':_0x535a5e[_0x109fb5(0x1ce)]||_0x109fb5(0x21f)+_0x535a5e[_0x109fb5(0x20b)],'tag':riskTag(_0x535a5e[_0x109fb5(0x1f7)])}))};});}export function getDynamicServiceEntry(_0x248157){const _0x2c93e8=a39_0x394c;return listDynamicServiceEntries()[_0x2c93e8(0x1c4)](_0x2000a2=>_0x2000a2['service']===_0x248157);}export function listDynamicServiceDefinitions(_0x15bae0){const _0x158fdd=a39_0x394c;return listLocalServiceTrees()['filter'](_0x2ece64=>!_0x15bae0||_0x2ece64[_0x158fdd(0x228)][_0x158fdd(0x1f8)]===_0x15bae0)[_0x158fdd(0x1f0)](_0x677afd=>_0x677afd[_0x158fdd(0x1e2)][_0x158fdd(0x1d6)](_0x222f17=>buildDynamicCommandDefinition(_0x677afd,_0x222f17)));}export function getDynamicServiceDefinitions(_0x16215f){const _0x1b1665=listDynamicServiceDefinitions(_0x16215f);return _0x1b1665['length']>0x0?_0x1b1665:undefined;}export function findDynamicServiceDefinition(_0x9448b6,_0x2ed4da){const _0x20b49f=a39_0x394c;return listDynamicServiceDefinitions(_0x9448b6)[_0x20b49f(0x1c4)](_0x202017=>_0x202017['command']===_0x2ed4da);}export function buildDynamicCommandDefinition(_0x5e535c,_0x8658f3){const _0x4b5a6f=a39_0x394c;return{'service':_0x5e535c[_0x4b5a6f(0x228)][_0x4b5a6f(0x1f8)],'command':dynamicCommandName(_0x8658f3),'description':_0x8658f3['description']||_0x4b5a6f(0x21f)+_0x8658f3[_0x4b5a6f(0x20b)],'risk':_0x8658f3[_0x4b5a6f(0x1f7)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x8658f3[_0x4b5a6f(0x1d0)][_0x4b5a6f(0x1d6)](_0x14f85c=>({'name':_0x14f85c[_0x4b5a6f(0x1fa)],'description':_0x14f85c['description']||_0x14f85c[_0x4b5a6f(0x1fa)],'required':_0x14f85c[_0x4b5a6f(0x212)]})),'flags':_0x8658f3['flags'][_0x4b5a6f(0x1d6)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x8658f3),async 'dryRun'(_0xf742a1){const _0x34981b=_0x4b5a6f,_0x3fdf77=await compilePlan(_0x8658f3,_0xf742a1);return{'method':_0x34981b(0x1ca),'url':_0x8658f3[_0x34981b(0x20b)],'body':{'target':targetPreview(_0x3fdf77),'params':_0x3fdf77[_0x34981b(0x1c9)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x8658f3[_0x34981b(0x20b)]};},async 'execute'(_0x85c409){const _0x39309c=_0x4b5a6f,_0x34627d=await compilePlan(_0x8658f3,_0x85c409),_0x13a50e=Date[_0x39309c(0x208)](),_0x1ee543=await executePlan(_0x34627d,_0x8658f3,_0x85c409),_0x2a8002=Date[_0x39309c(0x208)]()-_0x13a50e;return{'ok':!![],'data':{'service':_0x5e535c['service'],'command':_0x8658f3['cliPath'],'target':targetPreview(_0x34627d),'result':_0x1ee543,'elapsed':_0x2a8002},'message':_0x39309c(0x1cc)+_0x8658f3['cliPath']+_0x39309c(0x216)+_0x2a8002+'ms'};}};}function dynamicCommandName(_0x567e06){const _0x1e4543=a39_0x394c;return _0x567e06[_0x1e4543(0x1fc)][_0x1e4543(0x1c3)](0x1)[_0x1e4543(0x1e5)]('\x20');}function riskTag(_0x1ca161){const _0x13d682=a39_0x394c;return _0x1ca161===_0x13d682(0x22d)?'':_0x13d682(0x1c8)+_0x1ca161+']';}function flagToCommandFlag(_0x2430ed){const _0x276f99=a39_0x394c;return{'name':_0x2430ed[_0x276f99(0x219)],'type':_0x2430ed[_0x276f99(0x20c)]===_0x276f99(0x1fe)?_0x276f99(0x209):_0x2430ed[_0x276f99(0x20c)],'description':_0x2430ed[_0x276f99(0x1ce)]||_0x2430ed['name'],'required':_0x2430ed[_0x276f99(0x212)],'default':isPrimitiveFlagDefault(_0x2430ed['default'])?_0x2430ed[_0x276f99(0x21b)]:undefined,'enum':_0x2430ed[_0x276f99(0x211)]};}async function compilePlan(_0x1d6295,_0x3cc89a){const _0x38dbc1=a39_0x394c;return compileServiceTreeCommand(_0x1d6295,{'flags':_0x3cc89a[_0x38dbc1(0x229)],'args':_0x3cc89a[_0x38dbc1(0x1d0)],'context':await buildServiceContext(_0x1d6295,_0x3cc89a)});}async function buildServiceContext(_0x44b65d,_0x2f2027){const _0x30a2f9=a39_0x394c,_0x124393={'appCode':_0x2f2027['appCode'],'env':_0x2f2027[_0x30a2f9(0x1f2)],'envName':_0x2f2027['envName']};if(!usesRuntimeContext(_0x44b65d))return _0x124393;const _0xf34707=await getLoginUserInfo(),_0x352f2e=pickFirst(_0xf34707[_0x30a2f9(0x1d7)],_0xf34707['id']);return{..._0x124393,'user':_0xf34707,'userId':_0x352f2e,'id':_0xf34707['id'],'username':pickFirst(_0xf34707[_0x30a2f9(0x204)],_0xf34707[_0x30a2f9(0x1df)],_0xf34707['loginName']),'userName':_0xf34707[_0x30a2f9(0x1df)],'nickname':pickFirst(_0xf34707['nickname'],_0xf34707[_0x30a2f9(0x206)]),'nickName':_0xf34707[_0x30a2f9(0x206)],'tenantCode':_0xf34707[_0x30a2f9(0x1ff)],'employeeId':_0xf34707[_0x30a2f9(0x22a)]};}function usesRuntimeContext(_0x1ca1ae){const _0x2e3e27=a39_0x394c;return _0x1ca1ae[_0x2e3e27(0x1d2)][_0x2e3e27(0x1e7)](_0x231019=>typeof _0x231019[_0x2e3e27(0x1f3)]==='string'&&(_0x231019[_0x2e3e27(0x1f3)][_0x2e3e27(0x1eb)](_0x2e3e27(0x224))||_0x231019[_0x2e3e27(0x1f3)][_0x2e3e27(0x1eb)](_0x2e3e27(0x20e))));}function pickFirst(..._0x1dc730){const _0x444db7=a39_0x394c;return _0x1dc730[_0x444db7(0x1c4)](_0x415ad5=>_0x415ad5!==undefined&&_0x415ad5!==null);}function a39_0x2e63(){const _0x455c3e=['fromEntries','tree','appcode','3MPMPVD','userName','push','validation','commands','\x20\x20\x20\x20functionName:\x20','Unsupported\x20service\x20target\x20kind:\x20','join','Use\x20`','some','env','remainingArgs','dbtableConfig','startsWith','`\x20to\x20inspect\x20the\x20manifest.','appRef','\x20->\x20','251046pWBSOG','flatMap','target','envName','source','kind','sqlCode','appBindings','risk','code','Cannot\x20resolve\x20datatable\x20\x22','name','padEnd','fullPath','135fJtMPJ','json','tenantCode','\x20\x20SERVICE\x20TREE\x20TARGET','3LRYdiV','bffCode','boolean','username','Commands:','nickName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','now','string','2448092hmAsbC','cliPath','type','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','ctx.','\x20\x20\x20\x20datatable:\x20','\x22\x20in\x20service\x20command\x20','enum','required','filter','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','command','\x20completed\x20in\x20','number','scriptName','cliName','operator','default','2784040xEzZEL','length','datatable','Run\x20service\x20command\x20','3479120sKEtPH','normalizedManifest','4255146zsjEfs','trim','context.','\x20\x20\x20\x20','appCode','datasetCode','service','rawFlags','employeeId','tableName','4174440jBFMUV','read','slice','find','const','app','entries','\x20\x20[','params','SERVICE_TREE','\x20\x20\x20\x20command:\x20','Service\x20command\x20','data','description','\x20\x20\x20\x20datasetCode:\x20','args','449090QslveL','mapTo','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20<command>\x20[flags]','bffId','map','userId','\x20requires\x20target.functionName.','\x20\x20\x20\x20sqlCode:\x20','\x20requires\x20target.sqlCode.'];a39_0x2e63=function(){return _0x455c3e;};return a39_0x2e63();}function a39_0x394c(_0x232ffe,_0x506a9b){_0x232ffe=_0x232ffe-0x1c3;const _0x2e635b=a39_0x2e63();let _0x394c13=_0x2e635b[_0x232ffe];return _0x394c13;}async function executePlan(_0x4b25c0,_0x543d44,_0x3dfcd8){const _0x67b482=a39_0x394c;if(_0x4b25c0[_0x67b482(0x1f4)]===_0x67b482(0x1cd)){const _0x4c4ebd=await resolveDatasetCode(_0x4b25c0,_0x543d44,_0x3dfcd8);return executeData(_0x4c4ebd,_0x4b25c0[_0x67b482(0x215)],_0x4b25c0[_0x67b482(0x1c9)]);}if(_0x4b25c0[_0x67b482(0x1f4)]==='sql'){if(!_0x4b25c0[_0x67b482(0x1f5)])throw CliErrors['validation'](_0x67b482(0x1cc)+_0x543d44['cliPath']+_0x67b482(0x1da));return executeSdkSql(_0x4b25c0['sqlCode'],normalizeScalarParams(_0x4b25c0['params']));}if(_0x4b25c0[_0x67b482(0x1f4)]==='bff'){const _0x93964b=_0x4b25c0[_0x67b482(0x218)]||_0x4b25c0[_0x67b482(0x202)]||(_0x4b25c0['bffId']==null?'':String(_0x4b25c0[_0x67b482(0x1d5)]));if(!_0x93964b)throw CliErrors[_0x67b482(0x1e1)]('Service\x20command\x20'+_0x543d44[_0x67b482(0x20b)]+_0x67b482(0x1d8));return executeSdkBff(_0x93964b,_0x4b25c0[_0x67b482(0x1c9)]);}throw CliErrors[_0x67b482(0x1e1)](_0x67b482(0x1e4)+_0x4b25c0[_0x67b482(0x1f4)]);}async function resolveDatasetCode(_0x5804b4,_0x1e8baf,_0xbd66e0){const _0x3574da=a39_0x394c;if(_0x5804b4[_0x3574da(0x227)])return _0x5804b4[_0x3574da(0x227)];if(!_0x5804b4['datatable'])throw CliErrors[_0x3574da(0x1e1)](_0x3574da(0x1cc)+_0x1e8baf['cliPath']+_0x3574da(0x20d));const _0x4690eb=await listDatasets(_0xbd66e0['appCode']),_0x30a07f=_0x4690eb[_0x3574da(0x1c4)](_0x31982a=>_0x31982a[_0x3574da(0x1ea)]?.[_0x3574da(0x22b)]===_0x5804b4['datatable']);if(!_0x30a07f?.[_0x3574da(0x1f8)])throw CliErrors[_0x3574da(0x1e1)](_0x3574da(0x1f9)+_0x5804b4[_0x3574da(0x21e)]+_0x3574da(0x214)+_0xbd66e0[_0x3574da(0x226)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x30a07f[_0x3574da(0x1f8)];}function applyAppBinding(_0x12a220,_0x336270,_0x33ade2){const _0x17b9ed=a39_0x394c,_0x165dd1=_0x336270['target'][_0x17b9ed(0x1ed)];if(!_0x165dd1)return;const _0x1bb899=_0x12a220[_0x17b9ed(0x1f6)][_0x165dd1];if(!_0x1bb899)throw CliErrors[_0x17b9ed(0x1e1)]('Unknown\x20appRef\x20\x22'+_0x165dd1+_0x17b9ed(0x210)+_0x336270[_0x17b9ed(0x20b)]+'.',_0x17b9ed(0x207));const _0x1699af=_0x1bb899['appcode']||_0x1bb899[_0x17b9ed(0x226)];_0x1699af&&!hasText(_0x33ade2[_0x17b9ed(0x1dd)])&&(_0x33ade2[_0x17b9ed(0x1dd)]=_0x1699af),_0x1bb899['app']&&!hasText(_0x33ade2[_0x17b9ed(0x1c6)])&&!hasText(_0x33ade2[_0x17b9ed(0x1dd)])&&(_0x33ade2[_0x17b9ed(0x1c6)]=_0x1bb899[_0x17b9ed(0x1c6)]),_0x1bb899[_0x17b9ed(0x1e8)]&&!hasText(_0x33ade2[_0x17b9ed(0x1e8)])&&(_0x33ade2['env']=_0x1bb899['env']);}function renderDynamicCommandHelp(_0xb622c9){const _0x5607dc=a39_0x394c,_0x1eeabe=[_0x5607dc(0x200),_0x5607dc(0x1d3)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x1f4)],_0x5607dc(0x1cb)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x215)]];if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x227)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1cf)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x227)]);if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x21e)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x20f)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x21e)]);if(_0xb622c9[_0x5607dc(0x1f1)]['sqlCode'])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1d9)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x1f5)]);if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x218)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1e3)+_0xb622c9[_0x5607dc(0x1f1)]['scriptName']);if(_0xb622c9[_0x5607dc(0x1d2)][_0x5607dc(0x21d)]>0x0){_0x1eeabe[_0x5607dc(0x1e0)]('','\x20\x20MAP\x20TO');for(const _0x4463b1 of _0xb622c9[_0x5607dc(0x1d2)]){_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x225)+(_0x4463b1['source']||_0x5607dc(0x1c5))+_0x5607dc(0x1ee)+_0x4463b1[_0x5607dc(0x1f1)]+(_0x4463b1[_0x5607dc(0x21a)]?'.'+_0x4463b1[_0x5607dc(0x21a)]:''));}}return _0x1eeabe[_0x5607dc(0x1e5)]('\x0a');}function targetPreview(_0x567932){const _0x5436e8=a39_0x394c;return{'kind':_0x567932[_0x5436e8(0x1f4)],'command':_0x567932[_0x5436e8(0x215)],'appRef':_0x567932[_0x5436e8(0x1ed)],'datasetCode':_0x567932['datasetCode'],'datatable':_0x567932[_0x5436e8(0x21e)],'sqlCode':_0x567932[_0x5436e8(0x1f5)],'bffCode':_0x567932[_0x5436e8(0x202)],'bffId':_0x567932[_0x5436e8(0x1d5)],'functionName':_0x567932[_0x5436e8(0x218)]};}function normalizeScalarParams(_0x2b352c){const _0x5ce3df=a39_0x394c;return Object[_0x5ce3df(0x1db)](Object[_0x5ce3df(0x1c7)](_0x2b352c)[_0x5ce3df(0x213)](([,_0x18c04b])=>typeof _0x18c04b===_0x5ce3df(0x209)||typeof _0x18c04b===_0x5ce3df(0x217)));}function hasText(_0x4f8f31){const _0xa137c7=a39_0x394c;return typeof _0x4f8f31===_0xa137c7(0x209)&&_0x4f8f31[_0xa137c7(0x223)]()[_0xa137c7(0x21d)]>0x0;}function isPrimitiveFlagDefault(_0x53a435){const _0x40c144=a39_0x394c;return _0x53a435===undefined||typeof _0x53a435===_0x40c144(0x209)||typeof _0x53a435==='number'||typeof _0x53a435===_0x40c144(0x203);}
1
+ (function(_0x2b5eb2,_0x2b4c2d){const _0x4b2e4d=a39_0x2578,_0x8a46d7=_0x2b5eb2();while(!![]){try{const _0xe36030=parseInt(_0x4b2e4d(0x1d2))/0x1+-parseInt(_0x4b2e4d(0x19b))/0x2+parseInt(_0x4b2e4d(0x1bd))/0x3+-parseInt(_0x4b2e4d(0x1bb))/0x4*(-parseInt(_0x4b2e4d(0x1bf))/0x5)+parseInt(_0x4b2e4d(0x174))/0x6*(parseInt(_0x4b2e4d(0x1bc))/0x7)+parseInt(_0x4b2e4d(0x1af))/0x8+parseInt(_0x4b2e4d(0x1c9))/0x9*(-parseInt(_0x4b2e4d(0x199))/0xa);if(_0xe36030===_0x2b4c2d)break;else _0x8a46d7['push'](_0x8a46d7['shift']());}catch(_0x3d6a1c){_0x8a46d7['push'](_0x8a46d7['shift']());}}}(a39_0x2c4b,0xa4f6a));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4a8d8f,_0x1e893e){const _0xa79fa4=a39_0x2578,_0x21cad4=listLocalServiceTrees();let _0x2d3ba4;for(const _0x3afe4c of _0x21cad4){const _0x4371a8=matchServiceTreeCommand(_0x3afe4c,_0x4a8d8f);if(!_0x4371a8)continue;(!_0x2d3ba4||_0x4371a8[_0xa79fa4(0x1b2)][_0xa79fa4(0x1a1)][_0xa79fa4(0x18e)]>_0x2d3ba4[_0xa79fa4(0x1b2)][_0xa79fa4(0x1a1)]['length'])&&(_0x2d3ba4={'tree':_0x3afe4c,'command':_0x4371a8[_0xa79fa4(0x1b2)],'remainingArgs':_0x4371a8['remainingArgs']});}if(!_0x2d3ba4)return undefined;const _0x5a184d={..._0x1e893e};return applyAppBinding(_0x2d3ba4[_0xa79fa4(0x183)],_0x2d3ba4[_0xa79fa4(0x1b2)],_0x5a184d),{'definition':buildDynamicCommandDefinition(_0x2d3ba4[_0xa79fa4(0x183)],_0x2d3ba4[_0xa79fa4(0x1b2)]),'args':_0x2d3ba4[_0xa79fa4(0x178)],'flags':_0x5a184d,'tree':_0x2d3ba4[_0xa79fa4(0x183)],'command':_0x2d3ba4[_0xa79fa4(0x1b2)]};}export function generateDynamicServiceHelp(_0x122586){const _0x6377fc=a39_0x2578,_0x41c503=listLocalServiceTrees()[_0x6377fc(0x1b0)](_0x2eefe7=>_0x2eefe7[_0x6377fc(0x186)][_0x6377fc(0x1aa)]===_0x122586);if(!_0x41c503)return undefined;const _0x2e9712=[CLI_BIN_NAME+'\x20'+_0x122586+_0x6377fc(0x182),'',_0x41c503[_0x6377fc(0x186)]['name']||_0x122586,_0x41c503['service'][_0x6377fc(0x189)]?'\x20\x20'+_0x41c503['service']['description']:'','',_0x6377fc(0x196),..._0x41c503[_0x6377fc(0x1b5)][_0x6377fc(0x1c0)](_0x360ee2=>{const _0x4ab75f=_0x6377fc,_0x2c41aa=_0x360ee2['fullPath']['slice'](0x1)[_0x4ab75f(0x1b4)]('\x20'),_0x25ac88=_0x360ee2['risk']===_0x4ab75f(0x191)?'':'\x20['+_0x360ee2[_0x4ab75f(0x173)]+']';return'\x20\x20'+_0x2c41aa['padEnd'](0x18)+'\x20'+(_0x360ee2[_0x4ab75f(0x189)]||'')+_0x25ac88;}),'',_0x6377fc(0x18c)+CLI_BIN_NAME+_0x6377fc(0x171)+_0x122586+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x2e9712[_0x6377fc(0x1b4)]('\x0a');}export function listDynamicServiceEntries(){const _0x15978e=a39_0x2578;return listLocalServices()[_0x15978e(0x1c0)](_0x57e2ae=>{const _0x331818=_0x15978e,_0x54f7e6=_0x57e2ae[_0x331818(0x1a2)];return{'service':_0x54f7e6['service']['code'],'label':_0x54f7e6[_0x331818(0x186)][_0x331818(0x17a)]||_0x54f7e6['service'][_0x331818(0x1aa)],'commands':_0x54f7e6['commands'][_0x331818(0x1c0)](_0x2a9783=>({'command':dynamicCommandName(_0x2a9783),'description':_0x2a9783[_0x331818(0x189)]||'Run\x20service\x20command\x20'+_0x2a9783[_0x331818(0x185)],'tag':riskTag(_0x2a9783[_0x331818(0x173)])}))};});}export function getDynamicServiceEntry(_0x1fbef8){const _0x1518bb=a39_0x2578;return listDynamicServiceEntries()[_0x1518bb(0x1b0)](_0x340e78=>_0x340e78[_0x1518bb(0x186)]===_0x1fbef8);}export function listDynamicServiceDefinitions(_0x2978f6){const _0x4df593=a39_0x2578;return listLocalServiceTrees()[_0x4df593(0x1ae)](_0x2a988e=>!_0x2978f6||_0x2a988e['service']['code']===_0x2978f6)['flatMap'](_0x33a1f0=>_0x33a1f0[_0x4df593(0x1b5)][_0x4df593(0x1c0)](_0x5a99c6=>buildDynamicCommandDefinition(_0x33a1f0,_0x5a99c6)));}export function getDynamicServiceDefinitions(_0x54e3f9){const _0x7f88e7=a39_0x2578,_0x61e24d=listDynamicServiceDefinitions(_0x54e3f9);return _0x61e24d[_0x7f88e7(0x18e)]>0x0?_0x61e24d:undefined;}export function findDynamicServiceDefinition(_0x21ebf5,_0x252b5e){return listDynamicServiceDefinitions(_0x21ebf5)['find'](_0x2dbd0a=>_0x2dbd0a['command']===_0x252b5e);}export function buildDynamicCommandDefinition(_0x8a380b,_0xb0d89c){const _0xc2acca=a39_0x2578;return{'service':_0x8a380b['service'][_0xc2acca(0x1aa)],'command':dynamicCommandName(_0xb0d89c),'description':_0xb0d89c['description']||_0xc2acca(0x1ca)+_0xb0d89c[_0xc2acca(0x185)],'risk':_0xb0d89c['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xb0d89c[_0xc2acca(0x184)][_0xc2acca(0x1c0)](_0x216906=>({'name':_0x216906[_0xc2acca(0x17a)],'description':_0x216906[_0xc2acca(0x189)]||_0x216906[_0xc2acca(0x17a)],'required':_0x216906[_0xc2acca(0x1a0)]})),'flags':_0xb0d89c[_0xc2acca(0x195)][_0xc2acca(0x1c0)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xb0d89c),async 'dryRun'(_0x42c85b){const _0x3f1a54=_0xc2acca,_0x699f2=await compilePlan(_0xb0d89c,_0x42c85b);return{'method':_0x3f1a54(0x17f),'url':_0xb0d89c[_0x3f1a54(0x185)],'body':{'target':targetPreview(_0x699f2),'params':_0x699f2[_0x3f1a54(0x179)]},'description':_0x3f1a54(0x1ce)+_0xb0d89c['cliPath']};},async 'execute'(_0x5c4c32){const _0x2a8137=_0xc2acca,_0x4ce376=await compilePlan(_0xb0d89c,_0x5c4c32),_0x2b3c7e=Date[_0x2a8137(0x1d3)](),_0x427d22=await executePlan(_0x4ce376,_0xb0d89c,_0x5c4c32),_0x5de0da=Date[_0x2a8137(0x1d3)]()-_0x2b3c7e;return{'ok':!![],'data':{'service':_0x8a380b[_0x2a8137(0x186)],'command':_0xb0d89c['cliPath'],'target':targetPreview(_0x4ce376),'result':_0x427d22,'elapsed':_0x5de0da},'message':_0x2a8137(0x1a5)+_0xb0d89c[_0x2a8137(0x185)]+_0x2a8137(0x19f)+_0x5de0da+'ms'};}};}function dynamicCommandName(_0x1592e9){const _0x4aa690=a39_0x2578;return _0x1592e9['fullPath'][_0x4aa690(0x1ac)](0x1)['join']('\x20');}function riskTag(_0x557095){const _0x4aeb8a=a39_0x2578;return _0x557095==='read'?'':_0x4aeb8a(0x1c4)+_0x557095+']';}function flagToCommandFlag(_0x25971e){const _0x2f3fb2=a39_0x2578;return{'name':_0x25971e[_0x2f3fb2(0x187)],'type':_0x25971e['type']==='json'?_0x2f3fb2(0x1c1):_0x25971e[_0x2f3fb2(0x1be)],'description':_0x25971e[_0x2f3fb2(0x189)]||_0x25971e[_0x2f3fb2(0x17a)],'required':_0x25971e[_0x2f3fb2(0x1a0)],'default':isPrimitiveFlagDefault(_0x25971e[_0x2f3fb2(0x1a6)])?_0x25971e[_0x2f3fb2(0x1a6)]:undefined,'enum':_0x25971e[_0x2f3fb2(0x180)]};}async function compilePlan(_0x4f41ea,_0x3abf4b){const _0x7c1258=a39_0x2578;return compileServiceTreeCommand(_0x4f41ea,{'flags':_0x3abf4b[_0x7c1258(0x1ad)],'args':_0x3abf4b['args'],'context':await buildServiceContext(_0x4f41ea,_0x3abf4b)});}async function buildServiceContext(_0x34b52a,_0x935b62){const _0x400f2e=a39_0x2578,_0x2b3f59={'appCode':_0x935b62['appCode'],'env':_0x935b62[_0x400f2e(0x19c)],'envName':_0x935b62[_0x400f2e(0x19c)]};if(!usesRuntimeContext(_0x34b52a))return _0x2b3f59;const _0x3e13ce=await getLoginUserInfo(),_0x183807=pickFirst(_0x3e13ce['userId'],_0x3e13ce['id']);return{..._0x2b3f59,'user':_0x3e13ce,'userId':_0x183807,'id':_0x3e13ce['id'],'username':pickFirst(_0x3e13ce[_0x400f2e(0x1ba)],_0x3e13ce['userName'],_0x3e13ce[_0x400f2e(0x172)]),'userName':_0x3e13ce['userName'],'nickname':pickFirst(_0x3e13ce['nickname'],_0x3e13ce['nickName']),'nickName':_0x3e13ce[_0x400f2e(0x17c)],'tenantCode':_0x3e13ce[_0x400f2e(0x1c3)],'employeeId':_0x3e13ce[_0x400f2e(0x176)]};}function usesRuntimeContext(_0x237176){const _0x48d3dd=a39_0x2578;return _0x237176[_0x48d3dd(0x19a)]['some'](_0x4c0b25=>typeof _0x4c0b25['source']==='string'&&(_0x4c0b25[_0x48d3dd(0x1c2)][_0x48d3dd(0x1a7)]('context.')||_0x4c0b25[_0x48d3dd(0x1c2)][_0x48d3dd(0x1a7)](_0x48d3dd(0x192))));}function pickFirst(..._0x21e94d){const _0x3b7d03=a39_0x2578;return _0x21e94d[_0x3b7d03(0x1b0)](_0x5ad921=>_0x5ad921!==undefined&&_0x5ad921!==null);}async function executePlan(_0x33253f,_0x19535e,_0x194624){const _0x35f7e8=a39_0x2578;if(_0x33253f[_0x35f7e8(0x1cb)]===_0x35f7e8(0x1c5)){const _0x4d22b5=await resolveDatasetCode(_0x33253f,_0x19535e,_0x194624);return executeData(_0x4d22b5,_0x33253f[_0x35f7e8(0x1b2)],_0x33253f['params']);}if(_0x33253f[_0x35f7e8(0x1cb)]===_0x35f7e8(0x1b8)){if(!_0x33253f[_0x35f7e8(0x1c6)])throw CliErrors[_0x35f7e8(0x181)](_0x35f7e8(0x1a5)+_0x19535e['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x33253f[_0x35f7e8(0x1c6)],normalizeScalarParams(_0x33253f['params']));}if(_0x33253f[_0x35f7e8(0x1cb)]===_0x35f7e8(0x18d)){const _0x202f4d=_0x33253f[_0x35f7e8(0x198)]||_0x33253f[_0x35f7e8(0x193)]||(_0x33253f[_0x35f7e8(0x17d)]==null?'':String(_0x33253f[_0x35f7e8(0x17d)]));if(!_0x202f4d)throw CliErrors[_0x35f7e8(0x181)](_0x35f7e8(0x1a5)+_0x19535e[_0x35f7e8(0x185)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x202f4d,_0x33253f[_0x35f7e8(0x179)]);}throw CliErrors['validation'](_0x35f7e8(0x1c8)+_0x33253f[_0x35f7e8(0x1cb)]);}async function resolveDatasetCode(_0x2b97e5,_0x2d3f58,_0x22a94b){const _0x2ab63b=a39_0x2578;if(_0x2b97e5['datasetCode'])return _0x2b97e5[_0x2ab63b(0x17b)];if(!_0x2b97e5[_0x2ab63b(0x197)])throw CliErrors['validation'](_0x2ab63b(0x1a5)+_0x2d3f58[_0x2ab63b(0x185)]+_0x2ab63b(0x19d));const _0x4308ad=await listDatasets(_0x22a94b[_0x2ab63b(0x194)]),_0x479b96=_0x4308ad[_0x2ab63b(0x1b0)](_0x452596=>_0x452596[_0x2ab63b(0x19e)]?.[_0x2ab63b(0x1a8)]===_0x2b97e5[_0x2ab63b(0x197)]);if(!_0x479b96?.[_0x2ab63b(0x1aa)])throw CliErrors[_0x2ab63b(0x181)](_0x2ab63b(0x1b9)+_0x2b97e5[_0x2ab63b(0x197)]+_0x2ab63b(0x17e)+_0x22a94b[_0x2ab63b(0x194)]+'.',_0x2ab63b(0x1d4));return _0x479b96[_0x2ab63b(0x1aa)];}function applyAppBinding(_0x38fdb2,_0x1acd6e,_0x517c51){const _0x125e23=a39_0x2578,_0x264af0=_0x1acd6e[_0x125e23(0x18f)]['appRef'];if(!_0x264af0)return;const _0xc22e83=_0x38fdb2[_0x125e23(0x1d1)][_0x264af0];if(!_0xc22e83)throw CliErrors[_0x125e23(0x181)](_0x125e23(0x190)+_0x264af0+_0x125e23(0x1cc)+_0x1acd6e[_0x125e23(0x185)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x316d6a=_0xc22e83['appcode']||_0xc22e83[_0x125e23(0x194)];_0x316d6a&&!hasText(_0x517c51[_0x125e23(0x188)])&&(_0x517c51[_0x125e23(0x188)]=_0x316d6a),_0xc22e83['app']&&!hasText(_0x517c51[_0x125e23(0x1ab)])&&!hasText(_0x517c51[_0x125e23(0x188)])&&(_0x517c51[_0x125e23(0x1ab)]=_0xc22e83['app']),_0xc22e83[_0x125e23(0x1cd)]&&!hasText(_0x517c51[_0x125e23(0x1cd)])&&(_0x517c51[_0x125e23(0x1cd)]=_0xc22e83[_0x125e23(0x1cd)]);}function a39_0x2578(_0x3f21ea,_0x389a85){_0x3f21ea=_0x3f21ea-0x171;const _0x2c4b66=a39_0x2c4b();let _0x2578c8=_0x2c4b66[_0x3f21ea];return _0x2578c8;}function renderDynamicCommandHelp(_0x1dcf92){const _0x268209=a39_0x2578,_0x5d61cd=[_0x268209(0x18b),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x1dcf92[_0x268209(0x18f)][_0x268209(0x1cb)],_0x268209(0x1a3)+_0x1dcf92[_0x268209(0x18f)][_0x268209(0x1b2)]];if(_0x1dcf92[_0x268209(0x18f)]['datasetCode'])_0x5d61cd[_0x268209(0x1b1)](_0x268209(0x175)+_0x1dcf92[_0x268209(0x18f)]['datasetCode']);if(_0x1dcf92[_0x268209(0x18f)][_0x268209(0x197)])_0x5d61cd[_0x268209(0x1b1)](_0x268209(0x1b6)+_0x1dcf92['target'][_0x268209(0x197)]);if(_0x1dcf92[_0x268209(0x18f)][_0x268209(0x1c6)])_0x5d61cd[_0x268209(0x1b1)](_0x268209(0x1b7)+_0x1dcf92[_0x268209(0x18f)][_0x268209(0x1c6)]);if(_0x1dcf92['target'][_0x268209(0x198)])_0x5d61cd[_0x268209(0x1b1)](_0x268209(0x1c7)+_0x1dcf92[_0x268209(0x18f)][_0x268209(0x198)]);if(_0x1dcf92[_0x268209(0x19a)][_0x268209(0x18e)]>0x0){_0x5d61cd[_0x268209(0x1b1)]('',_0x268209(0x1a4));for(const _0x98f6c9 of _0x1dcf92[_0x268209(0x19a)]){_0x5d61cd[_0x268209(0x1b1)]('\x20\x20\x20\x20'+(_0x98f6c9['source']||_0x268209(0x1d5))+_0x268209(0x18a)+_0x98f6c9['target']+(_0x98f6c9['operator']?'.'+_0x98f6c9['operator']:''));}}return _0x5d61cd['join']('\x0a');}function a39_0x2c4b(){const _0x2f948d=['string','source','tenantCode','\x20\x20[','data','sqlCode','\x20\x20\x20\x20functionName:\x20','Unsupported\x20service\x20target\x20kind:\x20','45wBtfCx','Run\x20service\x20command\x20','kind','\x22\x20in\x20service\x20command\x20','env','Preview\x20dynamic\x20service\x20command:\x20','trim','number','appBindings','844919KMgnbP','now','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','const','\x20service\x20detail\x20--service\x20','loginName','risk','126sDdfXA','\x20\x20\x20\x20datasetCode:\x20','employeeId','appRef','remainingArgs','params','name','datasetCode','nickName','bffId','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','SERVICE_TREE','enum','validation','\x20<command>\x20[flags]','tree','args','cliPath','service','cliName','appcode','description','\x20->\x20','\x20\x20SERVICE\x20TREE\x20TARGET','Use\x20`','bff','length','target','Unknown\x20appRef\x20\x22','read','ctx.','bffCode','appCode','flags','Commands:','datatable','scriptName','5981510ufxHUX','mapTo','195832eWPSWG','envName','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','dbtableConfig','\x20completed\x20in\x20','required','fullPath','normalizedManifest','\x20\x20\x20\x20command:\x20','\x20\x20MAP\x20TO','Service\x20command\x20','default','startsWith','tableName','fromEntries','code','app','slice','rawFlags','filter','6069728cimVBs','find','push','command','boolean','join','commands','\x20\x20\x20\x20datatable:\x20','\x20\x20\x20\x20sqlCode:\x20','sql','Cannot\x20resolve\x20datatable\x20\x22','username','688MCjoFT','232477mjdRRP','1845489GqkaaV','type','24655WeKnQr','map'];a39_0x2c4b=function(){return _0x2f948d;};return a39_0x2c4b();}function targetPreview(_0x400475){const _0x1aa290=a39_0x2578;return{'kind':_0x400475['kind'],'command':_0x400475['command'],'appRef':_0x400475[_0x1aa290(0x177)],'datasetCode':_0x400475[_0x1aa290(0x17b)],'datatable':_0x400475['datatable'],'sqlCode':_0x400475[_0x1aa290(0x1c6)],'bffCode':_0x400475[_0x1aa290(0x193)],'bffId':_0x400475[_0x1aa290(0x17d)],'functionName':_0x400475[_0x1aa290(0x198)]};}function normalizeScalarParams(_0x910f59){const _0x36585d=a39_0x2578;return Object[_0x36585d(0x1a9)](Object['entries'](_0x910f59)[_0x36585d(0x1ae)](([,_0xfbae00])=>typeof _0xfbae00===_0x36585d(0x1c1)||typeof _0xfbae00===_0x36585d(0x1d0)));}function hasText(_0x33d5aa){const _0x1c99ec=a39_0x2578;return typeof _0x33d5aa===_0x1c99ec(0x1c1)&&_0x33d5aa[_0x1c99ec(0x1cf)]()[_0x1c99ec(0x18e)]>0x0;}function isPrimitiveFlagDefault(_0x4a0bb5){const _0x579f2=a39_0x2578;return _0x4a0bb5===undefined||typeof _0x4a0bb5===_0x579f2(0x1c1)||typeof _0x4a0bb5===_0x579f2(0x1d0)||typeof _0x4a0bb5===_0x579f2(0x1b3);}
@@ -1 +1 @@
1
- (function(_0x553d97,_0x36bfff){const _0x39378e=a40_0xbbfd,_0x3723f8=_0x553d97();while(!![]){try{const _0xa40f5e=-parseInt(_0x39378e(0xc5))/0x1*(-parseInt(_0x39378e(0xc2))/0x2)+parseInt(_0x39378e(0xb4))/0x3*(parseInt(_0x39378e(0xb5))/0x4)+-parseInt(_0x39378e(0xbc))/0x5+parseInt(_0x39378e(0xa6))/0x6+-parseInt(_0x39378e(0xc3))/0x7+-parseInt(_0x39378e(0xc6))/0x8+parseInt(_0x39378e(0xc7))/0x9;if(_0xa40f5e===_0x36bfff)break;else _0x3723f8['push'](_0x3723f8['shift']());}catch(_0x5a051a){_0x3723f8['push'](_0x3723f8['shift']());}}}(a40_0x6a7a,0x5edd6));export function adaptServiceTreeManifestForLegacyFramework(_0x4677ab){const _0x1392ef=a40_0xbbfd,_0x55a330=cloneJsonValue(_0x4677ab),_0x21eb93=[];if(!isObjectRecord(_0x55a330))return{'manifest':_0x55a330,'errors':_0x21eb93};return Array['isArray'](_0x55a330[_0x1392ef(0xbb)])&&_0x55a330[_0x1392ef(0xbb)][_0x1392ef(0xae)]((_0xc69568,_0x583da1)=>{const _0x5804d1=_0x1392ef;if(!isObjectRecord(_0xc69568))return;adaptBffTarget(_0xc69568[_0x5804d1(0xbd)],'$.commands['+_0x583da1+_0x5804d1(0xa9),_0x21eb93);}),adaptResources(_0x55a330[_0x1392ef(0xaa)],_0x1392ef(0xb0),_0x21eb93),{'manifest':_0x55a330,'errors':_0x21eb93};}export function toPublicServiceTreeTarget(_0x4b712a){const _0x533724=a40_0xbbfd,{scriptName:_0x5a7fd0,..._0x1cb813}=_0x4b712a;return typeof _0x5a7fd0===_0x533724(0xa8)&&_0x5a7fd0[_0x533724(0xa7)]()&&(_0x1cb813['functionName']=_0x5a7fd0),_0x1cb813;}export function toPublicNormalizedServiceTree(_0xf8a853){const _0x258b64=a40_0xbbfd;return{..._0xf8a853,'commands':_0xf8a853[_0x258b64(0xbb)][_0x258b64(0xb1)](_0x58f283=>({..._0x58f283,'target':toPublicServiceTreeTarget(_0x58f283[_0x258b64(0xbd)])}))};}function adaptResources(_0x596ced,_0x5e8214,_0x3223b9){const _0x25de8c=a40_0xbbfd;if(!isObjectRecord(_0x596ced))return;for(const [_0x1987c1,_0x8a3a8e]of Object[_0x25de8c(0xbf)](_0x596ced)){if(!isObjectRecord(_0x8a3a8e))continue;const _0x12e11b=_0x5e8214+'.'+_0x1987c1;if(isObjectRecord(_0x8a3a8e[_0x25de8c(0xb7)]))for(const [_0x286da5,_0x1c822a]of Object['entries'](_0x8a3a8e['actions'])){if(!isObjectRecord(_0x1c822a))continue;const _0x4433a0=_0x12e11b+'.actions.'+_0x286da5,_0x234f04=isObjectRecord(_0x1c822a['target'])&&_0x1c822a['target'][_0x25de8c(0xac)]==='bff';adaptBffTarget(_0x1c822a[_0x25de8c(0xbd)],_0x4433a0+'.target',_0x3223b9),(_0x234f04||isBffAction(_0x1c822a))&&adaptFunctionNameField(_0x1c822a,_0x4433a0,_0x3223b9);}adaptResources(_0x8a3a8e[_0x25de8c(0xaa)],_0x12e11b+_0x25de8c(0xb9),_0x3223b9);}}function adaptBffTarget(_0x368123,_0x59183b,_0x50af1f){const _0x5c549d=a40_0xbbfd;if(!isObjectRecord(_0x368123)||_0x368123[_0x5c549d(0xac)]!==_0x5c549d(0xba))return;adaptFunctionNameField(_0x368123,_0x59183b,_0x50af1f);}function adaptFunctionNameField(_0x2d5c0a,_0x17d7b8,_0x4a0215){const _0x636249=a40_0xbbfd;Object[_0x636249(0xa4)][_0x636249(0xb6)][_0x636249(0xab)](_0x2d5c0a,'scriptName')&&_0x4a0215['push']({'level':'error','path':_0x17d7b8+'.scriptName','message':_0x636249(0xad)});if(Object[_0x636249(0xa4)]['hasOwnProperty'][_0x636249(0xab)](_0x2d5c0a,'functionName')){if(typeof _0x2d5c0a[_0x636249(0xc1)]!==_0x636249(0xa8)||!_0x2d5c0a[_0x636249(0xc1)]['trim']()){_0x4a0215[_0x636249(0xbe)]({'level':_0x636249(0xa5),'path':_0x17d7b8+'.functionName','message':_0x636249(0xc0)}),delete _0x2d5c0a[_0x636249(0xc1)];return;}_0x2d5c0a[_0x636249(0xc4)]=_0x2d5c0a[_0x636249(0xc1)],delete _0x2d5c0a[_0x636249(0xc1)];}}function isBffAction(_0x57bf06){const _0xc4ec58=a40_0xbbfd;return _0x57bf06[_0xc4ec58(0xac)]==='bff'||_0x57bf06[_0xc4ec58(0xb8)]===_0xc4ec58(0xb2)||_0x57bf06[_0xc4ec58(0xbd)]==='bff.exec';}function cloneJsonValue(_0x33e793){const _0x306ca2=a40_0xbbfd;if(Array[_0x306ca2(0xaf)](_0x33e793))return _0x33e793[_0x306ca2(0xb1)](_0x5475d8=>cloneJsonValue(_0x5475d8));if(isObjectRecord(_0x33e793))return Object[_0x306ca2(0xb3)](Object[_0x306ca2(0xbf)](_0x33e793)[_0x306ca2(0xb1)](([_0x4464a7,_0x3a950e])=>[_0x4464a7,cloneJsonValue(_0x3a950e)]));return _0x33e793;}function a40_0xbbfd(_0x185084,_0x435a2d){_0x185084=_0x185084-0xa4;const _0x6a7af2=a40_0x6a7a();let _0xbbfd12=_0x6a7af2[_0x185084];return _0xbbfd12;}function a40_0x6a7a(){const _0x23d38c=['575032eGksZx','6027444BFaWvR','prototype','error','2318850jCvQTI','trim','string','].target','resources','call','kind','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','forEach','isArray','$.resources','map','bff.exec','fromEntries','123zqTFoW','6768hXBBiN','hasOwnProperty','actions','action','.resources','bff','commands','491600iiKMBs','target','push','entries','functionName\x20must\x20be\x20a\x20non-empty\x20string.','functionName','322646HMlOVD','5096847WjcKjn','scriptName','1mbUclk'];a40_0x6a7a=function(){return _0x23d38c;};return a40_0x6a7a();}function isObjectRecord(_0x3be07f){return Boolean(_0x3be07f)&&typeof _0x3be07f==='object'&&!Array['isArray'](_0x3be07f);}
1
+ (function(_0x139ec0,_0x3e02fe){const _0x508d70=a40_0x20e4,_0x1eec6b=_0x139ec0();while(!![]){try{const _0xb81c16=parseInt(_0x508d70(0x90))/0x1*(parseInt(_0x508d70(0xaa))/0x2)+-parseInt(_0x508d70(0x9c))/0x3*(parseInt(_0x508d70(0xb0))/0x4)+parseInt(_0x508d70(0x9f))/0x5+-parseInt(_0x508d70(0xaf))/0x6*(parseInt(_0x508d70(0x98))/0x7)+-parseInt(_0x508d70(0x8f))/0x8+-parseInt(_0x508d70(0xab))/0x9*(-parseInt(_0x508d70(0x8a))/0xa)+-parseInt(_0x508d70(0xa4))/0xb*(parseInt(_0x508d70(0x9d))/0xc);if(_0xb81c16===_0x3e02fe)break;else _0x1eec6b['push'](_0x1eec6b['shift']());}catch(_0x500911){_0x1eec6b['push'](_0x1eec6b['shift']());}}}(a40_0x360e,0xed817));function a40_0x360e(){const _0x1ea9e0=['prototype','error','resources','call','functionName','353558mVuDbV','15984CmoBer','trim','.functionName','$.resources','4044kCdhTB','36hzUVAh','map','isArray','bff.exec','3700uEAsPY','scriptName','action','.actions.','kind','6839512VPYXok','10LbpBjh','push','$.commands[','bff','.scriptName','commands','.target','string','3794URFRjS','].target','forEach','hasOwnProperty','405924ChnCxh','558732uCwFXU','functionName\x20must\x20be\x20a\x20non-empty\x20string.','5628075qyCHwq','.resources','entries','fromEntries','target','33XRNTCo'];a40_0x360e=function(){return _0x1ea9e0;};return a40_0x360e();}export function adaptServiceTreeManifestForLegacyFramework(_0x36057b){const _0x45d79f=a40_0x20e4,_0x5d79cb=cloneJsonValue(_0x36057b),_0x414a3e=[];if(!isObjectRecord(_0x5d79cb))return{'manifest':_0x5d79cb,'errors':_0x414a3e};return Array[_0x45d79f(0xb2)](_0x5d79cb['commands'])&&_0x5d79cb[_0x45d79f(0x95)][_0x45d79f(0x9a)]((_0x2deb0d,_0x4c2202)=>{const _0x4c4083=_0x45d79f;if(!isObjectRecord(_0x2deb0d))return;adaptBffTarget(_0x2deb0d['target'],_0x4c4083(0x92)+_0x4c2202+_0x4c4083(0x99),_0x414a3e);}),adaptResources(_0x5d79cb[_0x45d79f(0xa7)],_0x45d79f(0xae),_0x414a3e),{'manifest':_0x5d79cb,'errors':_0x414a3e};}export function toPublicServiceTreeTarget(_0x2b5ad4){const _0x383e6a=a40_0x20e4,{scriptName:_0x59e686,..._0x45a4c9}=_0x2b5ad4;return typeof _0x59e686===_0x383e6a(0x97)&&_0x59e686[_0x383e6a(0xac)]()&&(_0x45a4c9['functionName']=_0x59e686),_0x45a4c9;}export function toPublicNormalizedServiceTree(_0x27459e){const _0x2321d7=a40_0x20e4;return{..._0x27459e,'commands':_0x27459e[_0x2321d7(0x95)][_0x2321d7(0xb1)](_0x430f61=>({..._0x430f61,'target':toPublicServiceTreeTarget(_0x430f61[_0x2321d7(0xa3)])}))};}function adaptResources(_0x557cc9,_0x23fd45,_0x327008){const _0x18e208=a40_0x20e4;if(!isObjectRecord(_0x557cc9))return;for(const [_0x10819f,_0xe3127a]of Object[_0x18e208(0xa1)](_0x557cc9)){if(!isObjectRecord(_0xe3127a))continue;const _0x2f9c35=_0x23fd45+'.'+_0x10819f;if(isObjectRecord(_0xe3127a['actions']))for(const [_0x172a97,_0x3b74c5]of Object[_0x18e208(0xa1)](_0xe3127a['actions'])){if(!isObjectRecord(_0x3b74c5))continue;const _0x34834a=_0x2f9c35+_0x18e208(0x8d)+_0x172a97,_0x118064=isObjectRecord(_0x3b74c5[_0x18e208(0xa3)])&&_0x3b74c5[_0x18e208(0xa3)]['kind']==='bff';adaptBffTarget(_0x3b74c5[_0x18e208(0xa3)],_0x34834a+_0x18e208(0x96),_0x327008),(_0x118064||isBffAction(_0x3b74c5))&&adaptFunctionNameField(_0x3b74c5,_0x34834a,_0x327008);}adaptResources(_0xe3127a[_0x18e208(0xa7)],_0x2f9c35+_0x18e208(0xa0),_0x327008);}}function adaptBffTarget(_0x5fa2a6,_0x21b01b,_0xaeac37){const _0x58e4ee=a40_0x20e4;if(!isObjectRecord(_0x5fa2a6)||_0x5fa2a6[_0x58e4ee(0x8e)]!==_0x58e4ee(0x93))return;adaptFunctionNameField(_0x5fa2a6,_0x21b01b,_0xaeac37);}function a40_0x20e4(_0x4d770d,_0x5d9e6a){_0x4d770d=_0x4d770d-0x8a;const _0x360e42=a40_0x360e();let _0x20e497=_0x360e42[_0x4d770d];return _0x20e497;}function adaptFunctionNameField(_0x2cbc25,_0x201cd4,_0x462be7){const _0x2442c4=a40_0x20e4;Object[_0x2442c4(0xa5)]['hasOwnProperty'][_0x2442c4(0xa8)](_0x2cbc25,_0x2442c4(0x8b))&&_0x462be7[_0x2442c4(0x91)]({'level':_0x2442c4(0xa6),'path':_0x201cd4+_0x2442c4(0x94),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0x2442c4(0xa5)][_0x2442c4(0x9b)][_0x2442c4(0xa8)](_0x2cbc25,'functionName')){if(typeof _0x2cbc25['functionName']!==_0x2442c4(0x97)||!_0x2cbc25[_0x2442c4(0xa9)]['trim']()){_0x462be7['push']({'level':_0x2442c4(0xa6),'path':_0x201cd4+_0x2442c4(0xad),'message':_0x2442c4(0x9e)}),delete _0x2cbc25[_0x2442c4(0xa9)];return;}_0x2cbc25['scriptName']=_0x2cbc25['functionName'],delete _0x2cbc25[_0x2442c4(0xa9)];}}function isBffAction(_0x5cf9a8){const _0x57772e=a40_0x20e4;return _0x5cf9a8[_0x57772e(0x8e)]===_0x57772e(0x93)||_0x5cf9a8[_0x57772e(0x8c)]===_0x57772e(0xb3)||_0x5cf9a8[_0x57772e(0xa3)]===_0x57772e(0xb3);}function cloneJsonValue(_0x3ddd33){const _0x2f9bef=a40_0x20e4;if(Array[_0x2f9bef(0xb2)](_0x3ddd33))return _0x3ddd33[_0x2f9bef(0xb1)](_0x14c2d7=>cloneJsonValue(_0x14c2d7));if(isObjectRecord(_0x3ddd33))return Object[_0x2f9bef(0xa2)](Object[_0x2f9bef(0xa1)](_0x3ddd33)[_0x2f9bef(0xb1)](([_0x54238f,_0x18a02f])=>[_0x54238f,cloneJsonValue(_0x18a02f)]));return _0x3ddd33;}function isObjectRecord(_0x1c4b8a){const _0x54c0a3=a40_0x20e4;return Boolean(_0x1c4b8a)&&typeof _0x1c4b8a==='object'&&!Array[_0x54c0a3(0xb2)](_0x1c4b8a);}
@@ -1 +1 @@
1
- const a41_0x340f95=a41_0x89ed;(function(_0x4297ef,_0x1573ae){const _0x39ec4e=a41_0x89ed,_0x223bac=_0x4297ef();while(!![]){try{const _0x3f6aaa=-parseInt(_0x39ec4e(0x1c7))/0x1+parseInt(_0x39ec4e(0x1c4))/0x2+parseInt(_0x39ec4e(0x1e2))/0x3*(-parseInt(_0x39ec4e(0x1d9))/0x4)+parseInt(_0x39ec4e(0x1be))/0x5+parseInt(_0x39ec4e(0x1a9))/0x6*(-parseInt(_0x39ec4e(0x1e1))/0x7)+parseInt(_0x39ec4e(0x1d5))/0x8*(-parseInt(_0x39ec4e(0x1df))/0x9)+parseInt(_0x39ec4e(0x1b4))/0xa;if(_0x3f6aaa===_0x1573ae)break;else _0x223bac['push'](_0x223bac['shift']());}catch(_0x3b6d17){_0x223bac['push'](_0x223bac['shift']());}}}(a41_0x1f7a,0x780d3));function a41_0x1f7a(){const _0x4b6f8e=['Local\x20service\x20not\x20found:\x20','Service\x20Tree\x20manifest\x20file\x20path','length','manifests','import','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','detail','required','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','5014792LGpIex','reduce','normalizedManifest','flags','188264CKnZRa','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','list','entry','Local\x20service\x20code,\x20for\x20example\x20crm','\x20service\x20','9evgnOT','hash','1347773DXlzYy','9hjRPXm','file','manifest','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','write','WRITE','report','registryPath','Removed\x20service\x20','string','commands','risk','entries','registryServiceCode','6TBeXcs','cliPath','errors','name','str','Imported\x20','imported','serviceCode','source','registryIndex','service','3361590yHURGb','Service\x20manifest\x20validation\x20passed.','warnings','map','version','validate','serviceCount','read','type','Service\x20registry\x20validation\x20passed.','2689365EybWHc','target','export','\x20service(s),\x20updated\x20','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','filePath','1157642bIRkZy','replaced','updated','536mrgURL','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','kind','\x20service(s).','cliName'];a41_0x1f7a=function(){return _0x4b6f8e;};return a41_0x1f7a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a41_0x340f95(0x1e3),'type':a41_0x340f95(0x1a4),'required':!![],'description':a41_0x340f95(0x1cd)},SERVICE_FLAG={'name':a41_0x340f95(0x1b3),'type':a41_0x340f95(0x1a4),'required':!![],'description':a41_0x340f95(0x1dd),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function a41_0x89ed(_0x472df1,_0x514fac){_0x472df1=_0x472df1-0x1a3;const _0x1f7a3f=a41_0x1f7a();let _0x89ed18=_0x1f7a3f[_0x472df1];return _0x89ed18;}function summarizeService(_0x47f5c3){const _0x50c9f8=a41_0x340f95;return{'serviceCode':_0x47f5c3[_0x50c9f8(0x1b0)],'name':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1b3)][_0x50c9f8(0x1ac)],'version':_0x47f5c3[_0x50c9f8(0x1b8)],'importedAt':_0x47f5c3['importedAt'],'source':_0x47f5c3['source'],'commandCount':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1a5)]['length'],'commands':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1a5)]['map'](_0x4e5230=>({'path':_0x4e5230[_0x50c9f8(0x1aa)],'description':_0x4e5230['description'],'risk':_0x4e5230[_0x50c9f8(0x1a6)],'target':toPublicServiceTreeTarget(_0x4e5230[_0x50c9f8(0x1bf)]),'flags':_0x4e5230[_0x50c9f8(0x1d8)][_0x50c9f8(0x1b7)](_0x59c04e=>({'name':_0x59c04e['name'],'cliName':_0x59c04e[_0x50c9f8(0x1cb)],'type':_0x59c04e[_0x50c9f8(0x1bc)],'required':_0x59c04e[_0x50c9f8(0x1d3)]===!![]}))}))};}function summarizeLoadedManifest(_0x1eed6e){const _0x48e76f=a41_0x340f95;return{'service':_0x1eed6e['normalizedManifest']?.['service'],'version':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1b8)],'commandCount':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1a5)][_0x48e76f(0x1ce)]??0x0,'commands':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1a5)][_0x48e76f(0x1b7)](_0x39b921=>({'path':_0x39b921[_0x48e76f(0x1aa)],'risk':_0x39b921[_0x48e76f(0x1a6)],'target':toPublicServiceTreeTarget(_0x39b921[_0x48e76f(0x1bf)])}))??[],'registryIndex':_0x1eed6e[_0x48e76f(0x1b2)],'registryServiceCode':_0x1eed6e[_0x48e76f(0x1a8)],'errors':_0x1eed6e[_0x48e76f(0x1e8)][_0x48e76f(0x1ab)],'warnings':_0x1eed6e[_0x48e76f(0x1e8)][_0x48e76f(0x1b6)]};}export const serviceDefinitions=[{'service':'service','command':a41_0x340f95(0x1b9),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a41_0x340f95(0x1bb),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3460ab){const _0x8c65e4=a41_0x340f95,_0x4903f1=loadServiceManifestFromFile(_0x3460ab[_0x8c65e4(0x1ad)](_0x8c65e4(0x1e3)));if(!_0x4903f1['report']['ok'])return{'ok':![],'data':{'file':_0x4903f1['filePath'],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1['kind'],'serviceCount':_0x4903f1[_0x8c65e4(0x1cf)]['length'],'services':_0x4903f1['manifests']['map'](summarizeLoadedManifest),'errors':_0x4903f1[_0x8c65e4(0x1e8)]['errors'],'warnings':_0x4903f1[_0x8c65e4(0x1e8)][_0x8c65e4(0x1b6)]},'message':formatValidationFailure(_0x4903f1['report'])};if(_0x4903f1['kind']==='registry'||_0x4903f1[_0x8c65e4(0x1cf)][_0x8c65e4(0x1ce)]!==0x1)return{'ok':!![],'data':{'file':_0x4903f1['filePath'],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1[_0x8c65e4(0x1c9)],'serviceCount':_0x4903f1['manifests'][_0x8c65e4(0x1ce)],'commandCount':_0x4903f1['manifests'][_0x8c65e4(0x1d6)]((_0x57cadf,_0x25fcbe)=>_0x57cadf+(_0x25fcbe[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)][_0x8c65e4(0x1ce)]??0x0),0x0),'services':_0x4903f1[_0x8c65e4(0x1cf)][_0x8c65e4(0x1b7)](summarizeLoadedManifest),'warnings':_0x4903f1[_0x8c65e4(0x1e8)]['warnings']},'message':_0x8c65e4(0x1bd)};return{'ok':!![],'data':{'file':_0x4903f1[_0x8c65e4(0x1c3)],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1[_0x8c65e4(0x1c9)],'service':_0x4903f1[_0x8c65e4(0x1d7)]?.['service'],'version':_0x4903f1['normalizedManifest']?.['version'],'commandCount':_0x4903f1[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)][_0x8c65e4(0x1ce)]??0x0,'commands':_0x4903f1[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)]['map'](_0x5a38d1=>({'path':_0x5a38d1[_0x8c65e4(0x1aa)],'risk':_0x5a38d1[_0x8c65e4(0x1a6)],'target':toPublicServiceTreeTarget(_0x5a38d1[_0x8c65e4(0x1bf)])})),'warnings':_0x4903f1[_0x8c65e4(0x1e8)][_0x8c65e4(0x1b6)]},'message':_0x8c65e4(0x1b5)};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1d0),'description':a41_0x340f95(0x1da),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3d7bcb){const _0x48fef8=a41_0x340f95,_0x4448e9=loadServiceManifestFromFile(_0x3d7bcb[_0x48fef8(0x1ad)](_0x48fef8(0x1e3)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x4448e9[_0x48fef8(0x1c3)],'hash':_0x4448e9[_0x48fef8(0x1e0)],'kind':_0x4448e9[_0x48fef8(0x1c9)],'ok':_0x4448e9[_0x48fef8(0x1e8)]['ok'],'service':_0x4448e9[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1b3)],'version':_0x4448e9['normalizedManifest']?.['version'],'serviceCount':_0x4448e9[_0x48fef8(0x1cf)]['length'],'services':_0x4448e9[_0x48fef8(0x1cf)][_0x48fef8(0x1b7)](_0x169baf=>({'service':_0x169baf[_0x48fef8(0x1d7)]?.['service'],'version':_0x169baf[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1b8)],'commandCount':_0x169baf[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1a5)][_0x48fef8(0x1ce)]??0x0,'errors':_0x169baf[_0x48fef8(0x1e8)][_0x48fef8(0x1ab)]})),'errors':_0x4448e9[_0x48fef8(0x1e8)]['errors'],'commandCount':_0x4448e9['normalizedManifest']?.['commands'][_0x48fef8(0x1ce)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x1e6175){const _0x43a6d9=a41_0x340f95,_0x66fa95=importServiceManifest(_0x1e6175[_0x43a6d9(0x1ad)](_0x43a6d9(0x1e3)));if(_0x66fa95[_0x43a6d9(0x1a7)][_0x43a6d9(0x1ce)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x66fa95[_0x43a6d9(0x1e9)],'imported':_0x66fa95[_0x43a6d9(0x1af)],'updated':_0x66fa95[_0x43a6d9(0x1c6)],'serviceCount':_0x66fa95['serviceCount'],'services':_0x66fa95['entries'][_0x43a6d9(0x1b7)](summarizeService)},'message':_0x43a6d9(0x1ae)+_0x66fa95[_0x43a6d9(0x1af)]+_0x43a6d9(0x1c1)+_0x66fa95[_0x43a6d9(0x1c6)]+_0x43a6d9(0x1ca)};return{'ok':!![],'data':{'registryPath':_0x66fa95[_0x43a6d9(0x1e9)],'replaced':_0x66fa95[_0x43a6d9(0x1c5)],'imported':_0x66fa95[_0x43a6d9(0x1af)],'updated':_0x66fa95[_0x43a6d9(0x1c6)],'serviceCount':_0x66fa95[_0x43a6d9(0x1ba)],'service':summarizeService(_0x66fa95[_0x43a6d9(0x1dc)])},'message':(_0x66fa95['replaced']?'Updated':'Imported')+_0x43a6d9(0x1de)+_0x66fa95[_0x43a6d9(0x1dc)][_0x43a6d9(0x1b0)]+'.'};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1c0),'description':a41_0x340f95(0x1e5),'risk':a41_0x340f95(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x21638c){const _0xac7fcd=a41_0x340f95,_0x3587fc=getLocalServiceEntry(_0x21638c[_0xac7fcd(0x1ad)](_0xac7fcd(0x1b3)));return{'method':_0xac7fcd(0x1e7),'url':_0x21638c['str'](_0xac7fcd(0x1e3)),'body':{'service':_0x21638c[_0xac7fcd(0x1ad)]('service'),'found':Boolean(_0x3587fc),'version':_0x3587fc?.[_0xac7fcd(0x1b8)],'source':_0x3587fc?.[_0xac7fcd(0x1b1)]},'description':_0xac7fcd(0x1d4)};},async 'execute'(_0x1cc301){const _0x2a773a=a41_0x340f95,_0x44a8eb=exportServiceManifest(_0x1cc301['str'](_0x2a773a(0x1b3)),_0x1cc301[_0x2a773a(0x1ad)]('file'));return{'ok':!![],'data':{'registryPath':_0x44a8eb[_0x2a773a(0x1e9)],'file':_0x44a8eb['filePath'],'service':summarizeService(_0x44a8eb[_0x2a773a(0x1dc)])},'message':'Exported\x20service\x20'+_0x44a8eb['entry'][_0x2a773a(0x1b0)]+'.'};}},{'service':'service','command':a41_0x340f95(0x1db),'description':a41_0x340f95(0x1d1),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xd58511=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0xd58511['length'],'services':_0xd58511['map'](summarizeService)}};}},{'service':a41_0x340f95(0x1b3),'command':'remove','description':a41_0x340f95(0x1c2),'risk':a41_0x340f95(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x430504){const _0x137143=a41_0x340f95,_0x1eb68f=getLocalServiceEntry(_0x430504[_0x137143(0x1ad)](_0x137143(0x1b3)));return{'method':_0x137143(0x1e7),'url':getServiceRegistryPath(),'body':{'service':_0x430504['str'](_0x137143(0x1b3)),'found':Boolean(_0x1eb68f),'version':_0x1eb68f?.[_0x137143(0x1b8)],'source':_0x1eb68f?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x350130){const _0x2d02dc=a41_0x340f95,_0x5a6b3f=removeServiceManifest(_0x350130['str'](_0x2d02dc(0x1b3)));return{'ok':!![],'data':{'registryPath':_0x5a6b3f[_0x2d02dc(0x1e9)],'serviceCount':_0x5a6b3f[_0x2d02dc(0x1ba)],'service':summarizeService(_0x5a6b3f[_0x2d02dc(0x1dc)])},'message':_0x2d02dc(0x1a3)+_0x5a6b3f[_0x2d02dc(0x1dc)][_0x2d02dc(0x1b0)]+'.'};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1d2),'description':a41_0x340f95(0x1c8),'risk':a41_0x340f95(0x1bb),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x205944){const _0x28b595=a41_0x340f95,_0x32706c=getLocalServiceEntry(_0x205944[_0x28b595(0x1ad)]('service'));if(!_0x32706c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x205944[_0x28b595(0x1ad)](_0x28b595(0x1b3))},'message':_0x28b595(0x1cc)+_0x205944[_0x28b595(0x1ad)](_0x28b595(0x1b3))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x32706c),'manifest':_0x32706c[_0x28b595(0x1e4)],'normalizedManifest':toPublicNormalizedServiceTree(_0x32706c['normalizedManifest'])}};}}];
1
+ const a41_0x397be3=a41_0x4ac6;(function(_0x394a57,_0x48ffbd){const _0x37b31f=a41_0x4ac6,_0x23a051=_0x394a57();while(!![]){try{const _0x3a548a=parseInt(_0x37b31f(0xfc))/0x1*(-parseInt(_0x37b31f(0x115))/0x2)+parseInt(_0x37b31f(0xf7))/0x3+-parseInt(_0x37b31f(0x11f))/0x4+parseInt(_0x37b31f(0x11c))/0x5*(parseInt(_0x37b31f(0x12e))/0x6)+-parseInt(_0x37b31f(0xec))/0x7+parseInt(_0x37b31f(0x100))/0x8+parseInt(_0x37b31f(0x111))/0x9;if(_0x3a548a===_0x48ffbd)break;else _0x23a051['push'](_0x23a051['shift']());}catch(_0x2a7566){_0x23a051['push'](_0x23a051['shift']());}}}(a41_0x55e8,0xa10b1));function a41_0x4ac6(_0xc341ef,_0x367a19){_0xc341ef=_0xc341ef-0xe9;const _0x55e880=a41_0x55e8();let _0x4ac617=_0x55e880[_0xc341ef];return _0x4ac617;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':'file','type':'string','required':!![],'description':a41_0x397be3(0xfb)},SERVICE_FLAG={'name':a41_0x397be3(0xef),'type':a41_0x397be3(0x11d),'required':!![],'description':a41_0x397be3(0x12a),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0x397be3(0x107)}};function a41_0x55e8(){const _0x69acdc=['normalizedManifest','serviceCode','errors','40PyRdoJ','string','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','4331412EqNTgR','file','manifests','Imported','filePath','hash','registryIndex','str','\x20service\x20','kind','report','Local\x20service\x20code,\x20for\x20example\x20crm','replaced','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Exported\x20service\x20','130584fnZSas','registryPath','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','name','6415297nOuaxn','map','remove','service','required','Local\x20service\x20not\x20found:\x20','warnings','flags','entry','length','source','3447822DsOQid','Service\x20manifest\x20validation\x20passed.','importedAt','target','Service\x20Tree\x20manifest\x20file\x20path','82rlWJha','cliPath','\x20service(s),\x20updated\x20','WRITE','906032pWWMBD','export','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','detail','cliName','Service\x20registry\x20validation\x20passed.','version','lower\x20kebab-case\x20service\x20code','risk','imported','Imported\x20','registry','list','updated','commands','reduce','read','21242079xbfxto','registryServiceCode','write','entries','27754rFhBAE','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','serviceCount','description'];a41_0x55e8=function(){return _0x69acdc;};return a41_0x55e8();}function summarizeService(_0x307690){const _0x79e86c=a41_0x397be3;return{'serviceCode':_0x307690['serviceCode'],'name':_0x307690[_0x79e86c(0x119)][_0x79e86c(0xef)][_0x79e86c(0xeb)],'version':_0x307690[_0x79e86c(0x106)],'importedAt':_0x307690[_0x79e86c(0xf9)],'source':_0x307690[_0x79e86c(0xf6)],'commandCount':_0x307690[_0x79e86c(0x119)][_0x79e86c(0x10e)]['length'],'commands':_0x307690['normalizedManifest'][_0x79e86c(0x10e)]['map'](_0x2106e0=>({'path':_0x2106e0[_0x79e86c(0xfd)],'description':_0x2106e0[_0x79e86c(0x118)],'risk':_0x2106e0['risk'],'target':toPublicServiceTreeTarget(_0x2106e0[_0x79e86c(0xfa)]),'flags':_0x2106e0[_0x79e86c(0xf3)][_0x79e86c(0xed)](_0x19f93a=>({'name':_0x19f93a[_0x79e86c(0xeb)],'cliName':_0x19f93a[_0x79e86c(0x104)],'type':_0x19f93a['type'],'required':_0x19f93a[_0x79e86c(0xf0)]===!![]}))}))};}function summarizeLoadedManifest(_0x2e5efd){const _0xfe0c9b=a41_0x397be3;return{'service':_0x2e5efd[_0xfe0c9b(0x119)]?.[_0xfe0c9b(0xef)],'version':_0x2e5efd['normalizedManifest']?.[_0xfe0c9b(0x106)],'commandCount':_0x2e5efd['normalizedManifest']?.[_0xfe0c9b(0x10e)][_0xfe0c9b(0xf5)]??0x0,'commands':_0x2e5efd[_0xfe0c9b(0x119)]?.[_0xfe0c9b(0x10e)][_0xfe0c9b(0xed)](_0x2e4223=>({'path':_0x2e4223[_0xfe0c9b(0xfd)],'risk':_0x2e4223[_0xfe0c9b(0x108)],'target':toPublicServiceTreeTarget(_0x2e4223[_0xfe0c9b(0xfa)])}))??[],'registryIndex':_0x2e5efd[_0xfe0c9b(0x125)],'registryServiceCode':_0x2e5efd[_0xfe0c9b(0x112)],'errors':_0x2e5efd[_0xfe0c9b(0x129)]['errors'],'warnings':_0x2e5efd['report']['warnings']};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a41_0x397be3(0x116),'risk':a41_0x397be3(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x371fac){const _0x32189b=a41_0x397be3,_0x10643b=loadServiceManifestFromFile(_0x371fac[_0x32189b(0x126)]('file'));if(!_0x10643b[_0x32189b(0x129)]['ok'])return{'ok':![],'data':{'file':_0x10643b[_0x32189b(0x123)],'hash':_0x10643b['hash'],'kind':_0x10643b[_0x32189b(0x128)],'serviceCount':_0x10643b[_0x32189b(0x121)]['length'],'services':_0x10643b[_0x32189b(0x121)][_0x32189b(0xed)](summarizeLoadedManifest),'errors':_0x10643b['report'][_0x32189b(0x11b)],'warnings':_0x10643b[_0x32189b(0x129)][_0x32189b(0xf2)]},'message':formatValidationFailure(_0x10643b[_0x32189b(0x129)])};if(_0x10643b[_0x32189b(0x128)]===_0x32189b(0x10b)||_0x10643b['manifests']['length']!==0x1)return{'ok':!![],'data':{'file':_0x10643b[_0x32189b(0x123)],'hash':_0x10643b['hash'],'kind':_0x10643b[_0x32189b(0x128)],'serviceCount':_0x10643b[_0x32189b(0x121)][_0x32189b(0xf5)],'commandCount':_0x10643b[_0x32189b(0x121)][_0x32189b(0x10f)]((_0xc03a5b,_0x50abab)=>_0xc03a5b+(_0x50abab[_0x32189b(0x119)]?.[_0x32189b(0x10e)][_0x32189b(0xf5)]??0x0),0x0),'services':_0x10643b[_0x32189b(0x121)]['map'](summarizeLoadedManifest),'warnings':_0x10643b['report'][_0x32189b(0xf2)]},'message':_0x32189b(0x105)};return{'ok':!![],'data':{'file':_0x10643b['filePath'],'hash':_0x10643b[_0x32189b(0x124)],'kind':_0x10643b['kind'],'service':_0x10643b[_0x32189b(0x119)]?.[_0x32189b(0xef)],'version':_0x10643b[_0x32189b(0x119)]?.[_0x32189b(0x106)],'commandCount':_0x10643b[_0x32189b(0x119)]?.['commands'][_0x32189b(0xf5)]??0x0,'commands':_0x10643b[_0x32189b(0x119)]?.[_0x32189b(0x10e)][_0x32189b(0xed)](_0x15d187=>({'path':_0x15d187[_0x32189b(0xfd)],'risk':_0x15d187[_0x32189b(0x108)],'target':toPublicServiceTreeTarget(_0x15d187[_0x32189b(0xfa)])})),'warnings':_0x10643b[_0x32189b(0x129)]['warnings']},'message':_0x32189b(0xf8)};}},{'service':a41_0x397be3(0xef),'command':'import','description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1ff9ee){const _0x4ce86c=a41_0x397be3,_0x2d61f2=loadServiceManifestFromFile(_0x1ff9ee[_0x4ce86c(0x126)](_0x4ce86c(0x120)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x2d61f2[_0x4ce86c(0x123)],'hash':_0x2d61f2['hash'],'kind':_0x2d61f2[_0x4ce86c(0x128)],'ok':_0x2d61f2[_0x4ce86c(0x129)]['ok'],'service':_0x2d61f2[_0x4ce86c(0x119)]?.[_0x4ce86c(0xef)],'version':_0x2d61f2['normalizedManifest']?.[_0x4ce86c(0x106)],'serviceCount':_0x2d61f2[_0x4ce86c(0x121)][_0x4ce86c(0xf5)],'services':_0x2d61f2['manifests'][_0x4ce86c(0xed)](_0x10f349=>({'service':_0x10f349[_0x4ce86c(0x119)]?.[_0x4ce86c(0xef)],'version':_0x10f349[_0x4ce86c(0x119)]?.['version'],'commandCount':_0x10f349[_0x4ce86c(0x119)]?.[_0x4ce86c(0x10e)][_0x4ce86c(0xf5)]??0x0,'errors':_0x10f349['report']['errors']})),'errors':_0x2d61f2['report']['errors'],'commandCount':_0x2d61f2[_0x4ce86c(0x119)]?.['commands'][_0x4ce86c(0xf5)]??0x0},'description':_0x4ce86c(0xea)};},async 'execute'(_0x45a23d){const _0x34b92a=a41_0x397be3,_0xebae42=importServiceManifest(_0x45a23d[_0x34b92a(0x126)](_0x34b92a(0x120)));if(_0xebae42[_0x34b92a(0x114)][_0x34b92a(0xf5)]!==0x1)return{'ok':!![],'data':{'registryPath':_0xebae42['registryPath'],'imported':_0xebae42[_0x34b92a(0x109)],'updated':_0xebae42[_0x34b92a(0x10d)],'serviceCount':_0xebae42['serviceCount'],'services':_0xebae42[_0x34b92a(0x114)][_0x34b92a(0xed)](summarizeService)},'message':_0x34b92a(0x10a)+_0xebae42[_0x34b92a(0x109)]+_0x34b92a(0xfe)+_0xebae42['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0xebae42['registryPath'],'replaced':_0xebae42[_0x34b92a(0x12b)],'imported':_0xebae42['imported'],'updated':_0xebae42['updated'],'serviceCount':_0xebae42['serviceCount'],'service':summarizeService(_0xebae42['entry'])},'message':(_0xebae42['replaced']?'Updated':_0x34b92a(0x122))+_0x34b92a(0x127)+_0xebae42['entry'][_0x34b92a(0x11a)]+'.'};}},{'service':a41_0x397be3(0xef),'command':a41_0x397be3(0x101),'description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x132cc9){const _0x46474c=a41_0x397be3,_0x1ebe03=getLocalServiceEntry(_0x132cc9[_0x46474c(0x126)](_0x46474c(0xef)));return{'method':'WRITE','url':_0x132cc9[_0x46474c(0x126)](_0x46474c(0x120)),'body':{'service':_0x132cc9['str'](_0x46474c(0xef)),'found':Boolean(_0x1ebe03),'version':_0x1ebe03?.[_0x46474c(0x106)],'source':_0x1ebe03?.[_0x46474c(0xf6)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x54bf0e){const _0x5ec93b=a41_0x397be3,_0x2f6aa9=exportServiceManifest(_0x54bf0e[_0x5ec93b(0x126)]('service'),_0x54bf0e[_0x5ec93b(0x126)]('file'));return{'ok':!![],'data':{'registryPath':_0x2f6aa9[_0x5ec93b(0xe9)],'file':_0x2f6aa9[_0x5ec93b(0x123)],'service':summarizeService(_0x2f6aa9[_0x5ec93b(0xf4)])},'message':_0x5ec93b(0x12d)+_0x2f6aa9[_0x5ec93b(0xf4)][_0x5ec93b(0x11a)]+'.'};}},{'service':a41_0x397be3(0xef),'command':a41_0x397be3(0x10c),'description':a41_0x397be3(0x102),'risk':a41_0x397be3(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x3377e7=a41_0x397be3,_0x49a389=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x49a389[_0x3377e7(0xf5)],'services':_0x49a389[_0x3377e7(0xed)](summarizeService)}};}},{'service':a41_0x397be3(0xef),'command':a41_0x397be3(0xee),'description':a41_0x397be3(0x11e),'risk':a41_0x397be3(0x113),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1a55f5){const _0x297bdf=a41_0x397be3,_0xfb75f4=getLocalServiceEntry(_0x1a55f5['str'](_0x297bdf(0xef)));return{'method':_0x297bdf(0xff),'url':getServiceRegistryPath(),'body':{'service':_0x1a55f5[_0x297bdf(0x126)]('service'),'found':Boolean(_0xfb75f4),'version':_0xfb75f4?.[_0x297bdf(0x106)],'source':_0xfb75f4?.[_0x297bdf(0xf6)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x10f708){const _0x36bfaf=a41_0x397be3,_0x162707=removeServiceManifest(_0x10f708[_0x36bfaf(0x126)](_0x36bfaf(0xef)));return{'ok':!![],'data':{'registryPath':_0x162707[_0x36bfaf(0xe9)],'serviceCount':_0x162707[_0x36bfaf(0x117)],'service':summarizeService(_0x162707[_0x36bfaf(0xf4)])},'message':'Removed\x20service\x20'+_0x162707[_0x36bfaf(0xf4)][_0x36bfaf(0x11a)]+'.'};}},{'service':a41_0x397be3(0xef),'command':a41_0x397be3(0x103),'description':a41_0x397be3(0x12c),'risk':a41_0x397be3(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x25836f){const _0x8392da=a41_0x397be3,_0x1510fa=getLocalServiceEntry(_0x25836f['str'](_0x8392da(0xef)));if(!_0x1510fa)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x25836f['str'](_0x8392da(0xef))},'message':_0x8392da(0xf1)+_0x25836f['str'](_0x8392da(0xef))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1510fa),'manifest':_0x1510fa['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x1510fa[_0x8392da(0x119)])}};}}];
@@ -1 +1 @@
1
- (function(_0x4f182a,_0xd4fccb){const _0x181ace=a42_0x2c60,_0x3a863d=_0x4f182a();while(!![]){try{const _0x94692=parseInt(_0x181ace(0x1c5))/0x1+parseInt(_0x181ace(0x1fd))/0x2*(-parseInt(_0x181ace(0x1e7))/0x3)+-parseInt(_0x181ace(0x1f6))/0x4+-parseInt(_0x181ace(0x1d9))/0x5*(-parseInt(_0x181ace(0x1e4))/0x6)+parseInt(_0x181ace(0x1d1))/0x7+-parseInt(_0x181ace(0x1cd))/0x8+parseInt(_0x181ace(0x1de))/0x9;if(_0x94692===_0xd4fccb)break;else _0x3a863d['push'](_0x3a863d['shift']());}catch(_0x39537){_0x3a863d['push'](_0x3a863d['shift']());}}}(a42_0xee3d,0x34f7a));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';function a42_0x2c60(_0x3583b2,_0x3402f0){_0x3583b2=_0x3583b2-0x1bd;const _0xee3d8f=a42_0xee3d();let _0x2c60e3=_0xee3d8f[_0x3583b2];return _0x2c60e3;}export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a42_0xee3d(){const _0x4cbbc7=['Invalid\x20service\x20manifest\x20JSON:\x20','utf8','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','missing','$.services[','join','1253664qfUXWZ','manifests','schemaVersion','filePath','2768073Eijlqv','map','warnings','object','manifest','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Invalid\x20service\x20registry\x20JSON:\x20','trim','459605ToUtQI','].manifest','validation','commandCount','updatedAt','1770921mTWzig','path','hex','digest','sort','update','12zZkRZt','errors','startsWith','3GaYywQ','serviceCode','CliError','now','Local\x20service\x20not\x20found:\x20','name','source','Cannot\x20write\x20service\x20registry:\x20','findIndex','code','services\x20must\x20be\x20an\x20array','services','.tmp','service','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','1589264DKJAbM','slice','parse','stringify','splice','message','homeDirName','670756oOhnDA','length','isArray','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','target','version','registryIndex','ENOENT','invalid','string','report','sha256','push','homeDir','find','sourceHash','commands','normalizedManifest','command','330306UVSJMp'];a42_0xee3d=function(){return _0x4cbbc7;};return a42_0xee3d();}export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x3a5832={}){const _0x1845e0=a42_0x2c60;return resolve(_0x3a5832[_0x1845e0(0x1bf)]??homedir(),PRODUCT_CONFIG[_0x1845e0(0x1fc)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x4b5d64={}){const _0x5dc79c=a42_0x2c60,_0x28614d=getServiceRegistryPath(_0x4b5d64);if(!existsSync(_0x28614d))return emptyServiceRegistry();try{const _0x468f05=readFileSync(_0x28614d,_0x5dc79c(0x1c7));if(!_0x468f05[_0x5dc79c(0x1d8)]())return emptyServiceRegistry();const _0x7afbc9=JSON['parse'](_0x468f05);if(_0x7afbc9[_0x5dc79c(0x1cf)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5dc79c(0x1db)](_0x5dc79c(0x1d6)+String(_0x7afbc9[_0x5dc79c(0x1cf)]),'Remove\x20or\x20migrate\x20'+_0x28614d+'.');if(!Array[_0x5dc79c(0x1ff)](_0x7afbc9[_0x5dc79c(0x1f2)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x7afbc9[_0x5dc79c(0x1dd)],'services':_0x7afbc9[_0x5dc79c(0x1f2)]};}catch(_0x3b6d87){if(_0x3b6d87 instanceof Error&&_0x3b6d87['name']===_0x5dc79c(0x1e9))throw _0x3b6d87;throw CliErrors['validation'](_0x5dc79c(0x1d7)+_0x28614d,_0x5dc79c(0x201));}}export function writeServiceRegistry(_0x3c4995,_0x2cc3e9={}){const _0x2f5683=a42_0x2c60,_0x6410a8=getServiceRegistryPath(_0x2cc3e9),_0x3a7015=dirname(_0x6410a8);!existsSync(_0x3a7015)&&mkdirSync(_0x3a7015,{'recursive':!![]});const _0x31f64d=_0x6410a8+_0x2f5683(0x1f3);try{writeFileSync(_0x31f64d,JSON[_0x2f5683(0x1f9)](_0x3c4995,null,0x2)+'\x0a',{'encoding':_0x2f5683(0x1c7),'mode':0x180}),renameSync(_0x31f64d,_0x6410a8);}catch(_0x3b636e){try{unlinkSync(_0x31f64d);}catch{}if(_0x3b636e?.[_0x2f5683(0x1f0)]===_0x2f5683(0x205))throw CliErrors['validation'](_0x2f5683(0x1ee)+_0x6410a8);throw _0x3b636e;}return _0x6410a8;}export function loadServiceManifestFromFile(_0x367002){const _0x316ba1=a42_0x2c60,_0x43378e=resolve(_0x367002);if(!existsSync(_0x43378e))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x367002);let _0x4d504b;const _0x5d66c8=readFileSync(_0x43378e,'utf8');try{_0x4d504b=JSON[_0x316ba1(0x1f8)](_0x5d66c8);}catch{throw CliErrors[_0x316ba1(0x1db)](_0x316ba1(0x1c6)+_0x367002,_0x316ba1(0x200));}const _0x52db55=sha256(_0x5d66c8),_0x5ea301=extractLoadedServiceManifests(_0x4d504b,_0x52db55),_0x11fba1=aggregateValidationReports(_0x5ea301),_0x48c2ef=_0x5ea301[0x0];return{'filePath':_0x43378e,'hash':_0x52db55,'kind':isServiceRegistryLike(_0x4d504b)?'registry':_0x316ba1(0x1d5),'manifest':_0x48c2ef?.['manifest']??_0x4d504b,'report':_0x11fba1,'normalizedManifest':_0x5ea301['length']===0x1?_0x48c2ef?.[_0x316ba1(0x1c3)]:undefined,'manifests':_0x5ea301};}export function importServiceManifest(_0x1dc23f,_0xe6e995={}){const _0x2f591d=a42_0x2c60,_0x5e27bf=loadServiceManifestFromFile(_0x1dc23f);if(!_0x5e27bf[_0x2f591d(0x208)]['ok'])throw CliErrors[_0x2f591d(0x1db)](formatValidationFailure(_0x5e27bf[_0x2f591d(0x208)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x5e27bf[_0x2f591d(0x1ce)]['length']===0x0)throw CliErrors[_0x2f591d(0x1db)](_0x2f591d(0x1c9),_0x2f591d(0x1f5));const _0x2c0d4e=readServiceRegistry(_0xe6e995),_0x5d9e3c=(_0xe6e995['now']??(()=>new Date()))()['toISOString'](),_0x3d5893=[];let _0x16f798=0x0,_0x32d4ea=0x0;for(const _0x5b724b of _0x5e27bf[_0x2f591d(0x1ce)]){if(!_0x5b724b['normalizedManifest'])continue;const _0x171e44=_0x5b724b[_0x2f591d(0x1c3)][_0x2f591d(0x1f4)][_0x2f591d(0x1f0)],_0xa03b04={'serviceCode':_0x171e44,'version':_0x5b724b[_0x2f591d(0x1c3)][_0x2f591d(0x203)],'importedAt':_0x5d9e3c,'source':{'type':'file','path':_0x5e27bf[_0x2f591d(0x1d0)],'hash':_0x5b724b[_0x2f591d(0x1c1)]},'manifest':_0x5b724b[_0x2f591d(0x1d5)],'normalizedManifest':_0x5b724b[_0x2f591d(0x1c3)]},_0x5b884d=_0x2c0d4e[_0x2f591d(0x1f2)]['findIndex'](_0x427785=>_0x427785[_0x2f591d(0x1e8)]===_0x171e44);_0x5b884d>=0x0?(_0x2c0d4e[_0x2f591d(0x1f2)][_0x5b884d]=_0xa03b04,_0x32d4ea++):(_0x2c0d4e[_0x2f591d(0x1f2)]['push'](_0xa03b04),_0x16f798++),_0x3d5893[_0x2f591d(0x1be)](_0xa03b04);}_0x2c0d4e[_0x2f591d(0x1f2)][_0x2f591d(0x1e2)]((_0x191dc7,_0x234831)=>_0x191dc7[_0x2f591d(0x1e8)]['localeCompare'](_0x234831[_0x2f591d(0x1e8)])),_0x2c0d4e[_0x2f591d(0x1dd)]=_0x5d9e3c;const _0x4f7849=writeServiceRegistry(_0x2c0d4e,_0xe6e995);return{'registryPath':_0x4f7849,'entry':_0x3d5893[0x0],'replaced':_0x3d5893[_0x2f591d(0x1fe)]===0x1?_0x32d4ea===0x1:_0x32d4ea>0x0,'entries':_0x3d5893,'imported':_0x16f798,'updated':_0x32d4ea,'serviceCount':_0x2c0d4e[_0x2f591d(0x1f2)][_0x2f591d(0x1fe)]};}export function exportServiceManifest(_0x41d4e4,_0x36b84c,_0x5d77cd={}){const _0x304260=a42_0x2c60,_0x538231=getServiceRegistryPath(_0x5d77cd),_0x2912ca=getLocalServiceEntry(_0x41d4e4,_0x5d77cd);if(!_0x2912ca)throw CliErrors['validation'](_0x304260(0x1eb)+_0x41d4e4,_0x304260(0x1c8));const _0x17a613=resolve(_0x36b84c),_0xbe939d=dirname(_0x17a613);return!existsSync(_0xbe939d)&&mkdirSync(_0xbe939d,{'recursive':!![]}),writeFileSync(_0x17a613,JSON[_0x304260(0x1f9)](_0x2912ca['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x538231,'filePath':_0x17a613,'entry':_0x2912ca};}export function removeServiceManifest(_0x3465e6,_0x359b82={}){const _0x57a9a1=a42_0x2c60,_0x50bd71=readServiceRegistry(_0x359b82),_0x470b9f=_0x3465e6[_0x57a9a1(0x1d8)](),_0x2826eb=_0x50bd71[_0x57a9a1(0x1f2)][_0x57a9a1(0x1ef)](_0x43a2d0=>_0x43a2d0[_0x57a9a1(0x1e8)]===_0x470b9f);if(_0x2826eb<0x0)throw CliErrors[_0x57a9a1(0x1db)](_0x57a9a1(0x1eb)+_0x470b9f,_0x57a9a1(0x1c8));const [_0xa248c6]=_0x50bd71['services'][_0x57a9a1(0x1fa)](_0x2826eb,0x1),_0xb6934=(_0x359b82[_0x57a9a1(0x1ea)]??(()=>new Date()))()['toISOString']();_0x50bd71['updatedAt']=_0xb6934;const _0x20383e=writeServiceRegistry(_0x50bd71,_0x359b82);return{'registryPath':_0x20383e,'entry':_0xa248c6,'serviceCount':_0x50bd71[_0x57a9a1(0x1f2)][_0x57a9a1(0x1fe)]};}export function listLocalServices(_0x3bf593={}){return readServiceRegistry(_0x3bf593)['services'];}export function getLocalServiceEntry(_0x128e2e,_0x4da0a7={}){const _0x571408=a42_0x2c60;return readServiceRegistry(_0x4da0a7)[_0x571408(0x1f2)][_0x571408(0x1c0)](_0x2d97bf=>_0x2d97bf[_0x571408(0x1e8)]===_0x128e2e['trim']());}export function listLocalServiceTrees(_0x3b4367={}){const _0x92fc9a=a42_0x2c60;return readServiceRegistry(_0x3b4367)[_0x92fc9a(0x1f2)][_0x92fc9a(0x1d2)](_0x1b6cdd=>_0x1b6cdd[_0x92fc9a(0x1c3)]);}export function inspectServiceRegistry(_0x4c40b5={}){const _0x2cbd3b=a42_0x2c60,_0x19dfdb=getServiceRegistryPath(_0x4c40b5);if(!existsSync(_0x19dfdb))return emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x1ca),![]);try{const _0x3afa6f=readFileSync(_0x19dfdb,_0x2cbd3b(0x1c7));if(!_0x3afa6f[_0x2cbd3b(0x1d8)]())return emptyServiceRegistryInspection(_0x19dfdb,'empty',!![]);const _0x73446a=JSON['parse'](_0x3afa6f);if(_0x73446a['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x206),!![]),'schemaVersion':_0x73446a[_0x2cbd3b(0x1cf)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x73446a[_0x2cbd3b(0x1cf)])};if(!Array['isArray'](_0x73446a['services']))return{...emptyServiceRegistryInspection(_0x19dfdb,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x73446a[_0x2cbd3b(0x1dd)],'message':_0x2cbd3b(0x1f1)};const _0x927cda=_0x73446a[_0x2cbd3b(0x1f2)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x19dfdb,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x73446a[_0x2cbd3b(0x1dd)],'serviceCount':_0x927cda[_0x2cbd3b(0x1fe)],'commandCount':_0x927cda['reduce']((_0x1c56d5,_0x42e6b0)=>_0x1c56d5+_0x42e6b0[_0x2cbd3b(0x1dc)],0x0),'services':_0x927cda};}catch(_0x220c58){return{...emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x206),!![]),'message':_0x220c58 instanceof Error?_0x220c58[_0x2cbd3b(0x1fb)]:String(_0x220c58)};}}export function formatValidationFailure(_0x526247){const _0x32d482=a42_0x2c60,_0x577df7=_0x526247[_0x32d482(0x1e5)][_0x32d482(0x1d2)](_0x2d0fd4=>_0x2d0fd4[_0x32d482(0x1df)]+':\x20'+_0x2d0fd4['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x577df7[_0x32d482(0x1cc)]('\x0a');}function extractLoadedServiceManifests(_0x121320,_0x263dad){const _0x25a350=a42_0x2c60;if(!isServiceRegistryLike(_0x121320)){const _0x6d882d=_0x121320,{manifest:_0x9d983e,errors:_0x46c7f8}=adaptServiceTreeManifestForLegacyFramework(_0x6d882d),_0x334cdc=validateServiceTreeManifest(_0x9d983e),_0x4df0d8=mergeValidationErrors(_0x334cdc,_0x46c7f8);return[{'manifest':_0x6d882d,'report':_0x4df0d8,'normalizedManifest':_0x4df0d8['ok']?normalizeServiceTreeManifest(_0x9d983e):undefined,'sourceHash':_0x263dad}];}return _0x121320[_0x25a350(0x1f2)][_0x25a350(0x1d2)]((_0x25bfd4,_0x373fb0)=>{const _0x1b6b6e=_0x25a350,_0x2b50f3=isObjectRecord(_0x25bfd4)?_0x25bfd4[_0x1b6b6e(0x1d5)]:undefined,{manifest:_0x23eb74,errors:_0x435eb4}=adaptServiceTreeManifestForLegacyFramework(_0x2b50f3),_0x202adc=validateServiceTreeManifest(_0x23eb74),_0x37fb62=mergeValidationErrors(_0x202adc,_0x435eb4),_0xf88d85=isObjectRecord(_0x25bfd4)&&typeof _0x25bfd4[_0x1b6b6e(0x1e8)]===_0x1b6b6e(0x207)?_0x25bfd4[_0x1b6b6e(0x1e8)]:undefined;return{'manifest':_0x2b50f3,'report':_0x37fb62,'normalizedManifest':_0x37fb62['ok']?normalizeServiceTreeManifest(_0x23eb74):undefined,'sourceHash':sha256(JSON['stringify'](_0x2b50f3,null,0x2)+'\x0a'),'registryIndex':_0x373fb0,'registryServiceCode':_0xf88d85};});}function mergeValidationErrors(_0x3e5615,_0xe12dd7){const _0x5bd784=a42_0x2c60,_0x24206e=_0x3e5615[_0x5bd784(0x1e5)]['map'](_0x2ae10d=>_0x2ae10d[_0x5bd784(0x1fb)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x2ae10d,'message':'bff\x20target\x20requires\x20functionName.'}:_0x2ae10d),_0x1cd8cb=[..._0xe12dd7,..._0x24206e];return{'ok':_0x1cd8cb['length']===0x0,'errors':_0x1cd8cb,'warnings':_0x3e5615[_0x5bd784(0x1d3)]};}function aggregateValidationReports(_0x3cdb51){const _0xc42f75=a42_0x2c60,_0x3f5ebd=_0x3cdb51['flatMap'](_0x110214=>_0x110214[_0xc42f75(0x204)]===undefined?_0x110214[_0xc42f75(0x208)][_0xc42f75(0x1e5)]:_0x110214[_0xc42f75(0x208)][_0xc42f75(0x1e5)]['map'](_0x4e9791=>({..._0x4e9791,'path':prefixRegistryIssuePath(_0x110214[_0xc42f75(0x204)],_0x4e9791['path'])}))),_0x4377de=_0x3cdb51['flatMap'](_0x18810c=>_0x18810c[_0xc42f75(0x204)]===undefined?_0x18810c[_0xc42f75(0x208)][_0xc42f75(0x1d3)]:_0x18810c[_0xc42f75(0x208)][_0xc42f75(0x1d3)][_0xc42f75(0x1d2)](_0x203035=>({..._0x203035,'path':prefixRegistryIssuePath(_0x18810c['registryIndex'],_0x203035['path'])})));return{'ok':_0x3f5ebd[_0xc42f75(0x1fe)]===0x0,'errors':_0x3f5ebd,'warnings':_0x4377de};}function prefixRegistryIssuePath(_0x2f5ca0,_0x421baf){const _0x821bd6=a42_0x2c60;if(_0x421baf==='$')return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest';if(_0x421baf['startsWith']('$.'))return _0x821bd6(0x1cb)+_0x2f5ca0+_0x821bd6(0x1da)+_0x421baf['slice'](0x1);if(_0x421baf[_0x821bd6(0x1e6)]('$['))return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest'+_0x421baf[_0x821bd6(0x1f7)](0x1);return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest.'+_0x421baf;}function isServiceRegistryLike(_0x8558aa){const _0x5265e3=a42_0x2c60;return isObjectRecord(_0x8558aa)&&_0x8558aa[_0x5265e3(0x1cf)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x8558aa[_0x5265e3(0x1f2)]);}function isObjectRecord(_0x239f06){const _0x2eea5f=a42_0x2c60;return Boolean(_0x239f06)&&typeof _0x239f06===_0x2eea5f(0x1d4)&&!Array[_0x2eea5f(0x1ff)](_0x239f06);}function emptyServiceRegistryInspection(_0x374bac,_0x32675d,_0x4ea5bc){return{'registryPath':_0x374bac,'exists':_0x4ea5bc,'status':_0x32675d,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x3d656a){const _0x4b5756=a42_0x2c60,_0x5a4bab=_0x3d656a['normalizedManifest'],_0xc84c1e=_0x5a4bab[_0x4b5756(0x1c2)][_0x4b5756(0x1d2)](_0x416e7a=>({'path':_0x416e7a['cliPath'],'description':_0x416e7a['description'],'risk':_0x416e7a['risk'],'targetKind':_0x416e7a[_0x4b5756(0x202)]['kind'],'targetCommand':_0x416e7a['target'][_0x4b5756(0x1c4)]}));return{'serviceCode':_0x3d656a[_0x4b5756(0x1e8)],'name':_0x5a4bab[_0x4b5756(0x1f4)][_0x4b5756(0x1ec)],'description':_0x5a4bab['service']['description'],'version':_0x3d656a[_0x4b5756(0x203)],'importedAt':_0x3d656a['importedAt'],'source':_0x3d656a[_0x4b5756(0x1ed)],'commandCount':_0xc84c1e[_0x4b5756(0x1fe)],'commands':_0xc84c1e};}function sha256(_0x40263d){const _0x36e666=a42_0x2c60;return createHash(_0x36e666(0x1bd))[_0x36e666(0x1e3)](_0x40263d)[_0x36e666(0x1e1)](_0x36e666(0x1e0));}
1
+ (function(_0x506788,_0x418bed){const _0x469bde=a42_0x185b,_0x4277b7=_0x506788();while(!![]){try{const _0x17edd3=parseInt(_0x469bde(0x1ed))/0x1*(parseInt(_0x469bde(0x1e7))/0x2)+-parseInt(_0x469bde(0x1cc))/0x3+parseInt(_0x469bde(0x1c3))/0x4*(-parseInt(_0x469bde(0x1d8))/0x5)+-parseInt(_0x469bde(0x1b5))/0x6+parseInt(_0x469bde(0x1bb))/0x7*(-parseInt(_0x469bde(0x1f8))/0x8)+-parseInt(_0x469bde(0x1f2))/0x9+-parseInt(_0x469bde(0x1e3))/0xa*(-parseInt(_0x469bde(0x1e9))/0xb);if(_0x17edd3===_0x418bed)break;else _0x4277b7['push'](_0x4277b7['shift']());}catch(_0x2ec3b7){_0x4277b7['push'](_0x4277b7['shift']());}}}(a42_0x4fee,0x91942));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';function a42_0x4fee(){const _0x2c7d67=['description','4530936qReKWV','manifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','importedAt','commandCount','map','name','3174189iomGaP','hex','schemaVersion','].manifest','missing','services','Service\x20manifest\x20validation\x20failed:\x0a','length','manifests','Unsupported\x20service\x20registry\x20schemaVersion:\x20','toISOString','slice','5RmPkyh','version','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','update','.tmp','Service\x20manifest\x20file\x20not\x20found:\x20','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','target','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sort','code','5800QuVUZb','command','flatMap','sourceHash','1987852XxbsWB','join','78826GhdWyb','filePath','findIndex','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','1jnRqXR','errors','invalid','kind','Remove\x20or\x20migrate\x20','5513544JCmyCL','path','Cannot\x20write\x20service\x20registry:\x20','empty','source','commands','5817832tAJDGj','isArray','localeCompare','trim','normalizedManifest','warnings','report','push','stringify','parse','serviceCode','find','6139644XvNJvn','updatedAt','utf8','ENOENT','message','service','7pBXBOY','validation','string','Invalid\x20service\x20manifest\x20JSON:\x20','Unsupported\x20schemaVersion:\x20','now','$.services['];a42_0x4fee=function(){return _0x2c7d67;};return a42_0x4fee();}export function getServiceRegistryPath(_0x3232d6={}){return resolve(_0x3232d6['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x581b6e={}){const _0x24060b=a42_0x185b,_0x1db3e7=getServiceRegistryPath(_0x581b6e);if(!existsSync(_0x1db3e7))return emptyServiceRegistry();try{const _0xaabb22=readFileSync(_0x1db3e7,'utf8');if(!_0xaabb22['trim']())return emptyServiceRegistry();const _0x1f35a8=JSON[_0x24060b(0x1b2)](_0xaabb22);if(_0x1f35a8[_0x24060b(0x1ce)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x24060b(0x1bc)](_0x24060b(0x1d5)+String(_0x1f35a8['schemaVersion']),_0x24060b(0x1f1)+_0x1db3e7+'.');if(!Array[_0x24060b(0x1f9)](_0x1f35a8[_0x24060b(0x1d1)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1f35a8[_0x24060b(0x1b6)],'services':_0x1f35a8['services']};}catch(_0x4eb1af){if(_0x4eb1af instanceof Error&&_0x4eb1af['name']==='CliError')throw _0x4eb1af;throw CliErrors[_0x24060b(0x1bc)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x1db3e7,_0x24060b(0x1da));}}export function writeServiceRegistry(_0x33d730,_0x223953={}){const _0x3a99cc=a42_0x185b,_0x1a828b=getServiceRegistryPath(_0x223953),_0x38254b=dirname(_0x1a828b);!existsSync(_0x38254b)&&mkdirSync(_0x38254b,{'recursive':!![]});const _0x47a326=_0x1a828b+_0x3a99cc(0x1dc);try{writeFileSync(_0x47a326,JSON[_0x3a99cc(0x1b1)](_0x33d730,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x47a326,_0x1a828b);}catch(_0x1accb9){try{unlinkSync(_0x47a326);}catch{}if(_0x1accb9?.['code']===_0x3a99cc(0x1b8))throw CliErrors['validation'](_0x3a99cc(0x1f4)+_0x1a828b);throw _0x1accb9;}return _0x1a828b;}export function loadServiceManifestFromFile(_0x3467a9){const _0xed037a=a42_0x185b,_0x13c750=resolve(_0x3467a9);if(!existsSync(_0x13c750))throw CliErrors[_0xed037a(0x1bc)](_0xed037a(0x1dd)+_0x3467a9);let _0x2d8739;const _0x1ec854=readFileSync(_0x13c750,'utf8');try{_0x2d8739=JSON[_0xed037a(0x1b2)](_0x1ec854);}catch{throw CliErrors[_0xed037a(0x1bc)](_0xed037a(0x1be)+_0x3467a9,_0xed037a(0x1ec));}const _0x2d94b6=sha256(_0x1ec854),_0x3f32ac=extractLoadedServiceManifests(_0x2d8739,_0x2d94b6),_0x1d33a7=aggregateValidationReports(_0x3f32ac),_0x5c3727=_0x3f32ac[0x0];return{'filePath':_0x13c750,'hash':_0x2d94b6,'kind':isServiceRegistryLike(_0x2d8739)?'registry':_0xed037a(0x1c4),'manifest':_0x5c3727?.[_0xed037a(0x1c4)]??_0x2d8739,'report':_0x1d33a7,'normalizedManifest':_0x3f32ac[_0xed037a(0x1d3)]===0x1?_0x5c3727?.[_0xed037a(0x1ad)]:undefined,'manifests':_0x3f32ac};}export function importServiceManifest(_0x57b8f3,_0x19f387={}){const _0x44466b=a42_0x185b,_0x2044ef=loadServiceManifestFromFile(_0x57b8f3);if(!_0x2044ef[_0x44466b(0x1af)]['ok'])throw CliErrors[_0x44466b(0x1bc)](formatValidationFailure(_0x2044ef[_0x44466b(0x1af)]),_0x44466b(0x1c7));if(_0x2044ef[_0x44466b(0x1d4)][_0x44466b(0x1d3)]===0x0)throw CliErrors['validation']('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x44466b(0x1c5));const _0x45a495=readServiceRegistry(_0x19f387),_0x548d63=(_0x19f387[_0x44466b(0x1c0)]??(()=>new Date()))()[_0x44466b(0x1d6)](),_0x2b0543=[];let _0x9bb712=0x0,_0x5d088e=0x0;for(const _0x350983 of _0x2044ef[_0x44466b(0x1d4)]){if(!_0x350983['normalizedManifest'])continue;const _0x493eec=_0x350983[_0x44466b(0x1ad)][_0x44466b(0x1ba)][_0x44466b(0x1e2)],_0xc998ed={'serviceCode':_0x493eec,'version':_0x350983[_0x44466b(0x1ad)][_0x44466b(0x1d9)],'importedAt':_0x548d63,'source':{'type':'file','path':_0x2044ef[_0x44466b(0x1ea)],'hash':_0x350983[_0x44466b(0x1e6)]},'manifest':_0x350983[_0x44466b(0x1c4)],'normalizedManifest':_0x350983['normalizedManifest']},_0x3e258a=_0x45a495[_0x44466b(0x1d1)][_0x44466b(0x1eb)](_0xf9a083=>_0xf9a083['serviceCode']===_0x493eec);_0x3e258a>=0x0?(_0x45a495[_0x44466b(0x1d1)][_0x3e258a]=_0xc998ed,_0x5d088e++):(_0x45a495[_0x44466b(0x1d1)][_0x44466b(0x1b0)](_0xc998ed),_0x9bb712++),_0x2b0543[_0x44466b(0x1b0)](_0xc998ed);}_0x45a495[_0x44466b(0x1d1)][_0x44466b(0x1e1)]((_0x5d94cf,_0x29de59)=>_0x5d94cf[_0x44466b(0x1b3)][_0x44466b(0x1fa)](_0x29de59[_0x44466b(0x1b3)])),_0x45a495['updatedAt']=_0x548d63;const _0x31ea16=writeServiceRegistry(_0x45a495,_0x19f387);return{'registryPath':_0x31ea16,'entry':_0x2b0543[0x0],'replaced':_0x2b0543[_0x44466b(0x1d3)]===0x1?_0x5d088e===0x1:_0x5d088e>0x0,'entries':_0x2b0543,'imported':_0x9bb712,'updated':_0x5d088e,'serviceCount':_0x45a495['services'][_0x44466b(0x1d3)]};}export function exportServiceManifest(_0x2c9d72,_0x2fc775,_0x130bb6={}){const _0x8083ab=a42_0x185b,_0x5c1cce=getServiceRegistryPath(_0x130bb6),_0x3b20d9=getLocalServiceEntry(_0x2c9d72,_0x130bb6);if(!_0x3b20d9)throw CliErrors[_0x8083ab(0x1bc)]('Local\x20service\x20not\x20found:\x20'+_0x2c9d72,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x21b837=resolve(_0x2fc775),_0xdb3d56=dirname(_0x21b837);return!existsSync(_0xdb3d56)&&mkdirSync(_0xdb3d56,{'recursive':!![]}),writeFileSync(_0x21b837,JSON[_0x8083ab(0x1b1)](_0x3b20d9[_0x8083ab(0x1c4)],null,0x2)+'\x0a',{'encoding':_0x8083ab(0x1b7),'mode':0x180}),{'registryPath':_0x5c1cce,'filePath':_0x21b837,'entry':_0x3b20d9};}export function removeServiceManifest(_0x5e21f3,_0x28d2a3={}){const _0x49f32b=a42_0x185b,_0x1b21c1=readServiceRegistry(_0x28d2a3),_0x303611=_0x5e21f3[_0x49f32b(0x1fb)](),_0xda250f=_0x1b21c1[_0x49f32b(0x1d1)][_0x49f32b(0x1eb)](_0x187a2b=>_0x187a2b['serviceCode']===_0x303611);if(_0xda250f<0x0)throw CliErrors[_0x49f32b(0x1bc)]('Local\x20service\x20not\x20found:\x20'+_0x303611,_0x49f32b(0x1e0));const [_0x19bb2c]=_0x1b21c1[_0x49f32b(0x1d1)]['splice'](_0xda250f,0x1),_0x4cfcc2=(_0x28d2a3[_0x49f32b(0x1c0)]??(()=>new Date()))()[_0x49f32b(0x1d6)]();_0x1b21c1[_0x49f32b(0x1b6)]=_0x4cfcc2;const _0x50accd=writeServiceRegistry(_0x1b21c1,_0x28d2a3);return{'registryPath':_0x50accd,'entry':_0x19bb2c,'serviceCount':_0x1b21c1[_0x49f32b(0x1d1)][_0x49f32b(0x1d3)]};}export function listLocalServices(_0x2a7397={}){return readServiceRegistry(_0x2a7397)['services'];}export function getLocalServiceEntry(_0x43f967,_0x31c27a={}){const _0x360aa4=a42_0x185b;return readServiceRegistry(_0x31c27a)['services'][_0x360aa4(0x1b4)](_0x6fa622=>_0x6fa622[_0x360aa4(0x1b3)]===_0x43f967[_0x360aa4(0x1fb)]());}export function listLocalServiceTrees(_0x187314={}){return readServiceRegistry(_0x187314)['services']['map'](_0x5eada7=>_0x5eada7['normalizedManifest']);}export function inspectServiceRegistry(_0x3dc4d9={}){const _0x24dee2=a42_0x185b,_0x20aec4=getServiceRegistryPath(_0x3dc4d9);if(!existsSync(_0x20aec4))return emptyServiceRegistryInspection(_0x20aec4,_0x24dee2(0x1d0),![]);try{const _0x348a14=readFileSync(_0x20aec4,_0x24dee2(0x1b7));if(!_0x348a14[_0x24dee2(0x1fb)]())return emptyServiceRegistryInspection(_0x20aec4,_0x24dee2(0x1f5),!![]);const _0x4925bf=JSON[_0x24dee2(0x1b2)](_0x348a14);if(_0x4925bf[_0x24dee2(0x1ce)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x20aec4,_0x24dee2(0x1ef),!![]),'schemaVersion':_0x4925bf[_0x24dee2(0x1ce)],'message':_0x24dee2(0x1bf)+String(_0x4925bf['schemaVersion'])};if(!Array[_0x24dee2(0x1f9)](_0x4925bf[_0x24dee2(0x1d1)]))return{...emptyServiceRegistryInspection(_0x20aec4,_0x24dee2(0x1ef),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4925bf[_0x24dee2(0x1b6)],'message':'services\x20must\x20be\x20an\x20array'};const _0x42b105=_0x4925bf['services'][_0x24dee2(0x1ca)](summarizeLocalServiceEntry);return{'registryPath':_0x20aec4,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4925bf['updatedAt'],'serviceCount':_0x42b105[_0x24dee2(0x1d3)],'commandCount':_0x42b105['reduce']((_0x199a95,_0x45a221)=>_0x199a95+_0x45a221[_0x24dee2(0x1c9)],0x0),'services':_0x42b105};}catch(_0x4de7f6){return{...emptyServiceRegistryInspection(_0x20aec4,_0x24dee2(0x1ef),!![]),'message':_0x4de7f6 instanceof Error?_0x4de7f6['message']:String(_0x4de7f6)};}}export function formatValidationFailure(_0xa71e71){const _0x41fe8a=a42_0x185b,_0x146e23=_0xa71e71['errors']['map'](_0x4c3390=>_0x4c3390['path']+':\x20'+_0x4c3390[_0x41fe8a(0x1b9)]);return _0x41fe8a(0x1d2)+_0x146e23[_0x41fe8a(0x1e8)]('\x0a');}function extractLoadedServiceManifests(_0x24369b,_0x1de41d){const _0x1862b5=a42_0x185b;if(!isServiceRegistryLike(_0x24369b)){const _0x52070a=_0x24369b,{manifest:_0x350fcc,errors:_0x4ef2de}=adaptServiceTreeManifestForLegacyFramework(_0x52070a),_0x266838=validateServiceTreeManifest(_0x350fcc),_0x1ed9c6=mergeValidationErrors(_0x266838,_0x4ef2de);return[{'manifest':_0x52070a,'report':_0x1ed9c6,'normalizedManifest':_0x1ed9c6['ok']?normalizeServiceTreeManifest(_0x350fcc):undefined,'sourceHash':_0x1de41d}];}return _0x24369b[_0x1862b5(0x1d1)][_0x1862b5(0x1ca)]((_0x4bf206,_0x508841)=>{const _0x495972=_0x1862b5,_0x1b5eab=isObjectRecord(_0x4bf206)?_0x4bf206['manifest']:undefined,{manifest:_0x26cf3b,errors:_0x318efe}=adaptServiceTreeManifestForLegacyFramework(_0x1b5eab),_0x28a2da=validateServiceTreeManifest(_0x26cf3b),_0x48614a=mergeValidationErrors(_0x28a2da,_0x318efe),_0x10adbc=isObjectRecord(_0x4bf206)&&typeof _0x4bf206[_0x495972(0x1b3)]===_0x495972(0x1bd)?_0x4bf206[_0x495972(0x1b3)]:undefined;return{'manifest':_0x1b5eab,'report':_0x48614a,'normalizedManifest':_0x48614a['ok']?normalizeServiceTreeManifest(_0x26cf3b):undefined,'sourceHash':sha256(JSON['stringify'](_0x1b5eab,null,0x2)+'\x0a'),'registryIndex':_0x508841,'registryServiceCode':_0x10adbc};});}function mergeValidationErrors(_0xb50cf7,_0x37d986){const _0x11cc0a=a42_0x185b,_0x559fe3=_0xb50cf7['errors'][_0x11cc0a(0x1ca)](_0x207e82=>_0x207e82[_0x11cc0a(0x1b9)]===_0x11cc0a(0x1de)?{..._0x207e82,'message':'bff\x20target\x20requires\x20functionName.'}:_0x207e82),_0x528b22=[..._0x37d986,..._0x559fe3];return{'ok':_0x528b22[_0x11cc0a(0x1d3)]===0x0,'errors':_0x528b22,'warnings':_0xb50cf7[_0x11cc0a(0x1ae)]};}function aggregateValidationReports(_0x9f9c7){const _0x124884=a42_0x185b,_0x4b5b7c=_0x9f9c7[_0x124884(0x1e5)](_0x27ed40=>_0x27ed40[_0x124884(0x1c6)]===undefined?_0x27ed40[_0x124884(0x1af)][_0x124884(0x1ee)]:_0x27ed40[_0x124884(0x1af)][_0x124884(0x1ee)][_0x124884(0x1ca)](_0x7233a2=>({..._0x7233a2,'path':prefixRegistryIssuePath(_0x27ed40[_0x124884(0x1c6)],_0x7233a2[_0x124884(0x1f3)])}))),_0x2d3d33=_0x9f9c7[_0x124884(0x1e5)](_0x366151=>_0x366151['registryIndex']===undefined?_0x366151[_0x124884(0x1af)][_0x124884(0x1ae)]:_0x366151['report'][_0x124884(0x1ae)][_0x124884(0x1ca)](_0x42d696=>({..._0x42d696,'path':prefixRegistryIssuePath(_0x366151[_0x124884(0x1c6)],_0x42d696[_0x124884(0x1f3)])})));return{'ok':_0x4b5b7c[_0x124884(0x1d3)]===0x0,'errors':_0x4b5b7c,'warnings':_0x2d3d33};}function prefixRegistryIssuePath(_0x31bdfd,_0xca7965){const _0xe12600=a42_0x185b;if(_0xca7965==='$')return'$.services['+_0x31bdfd+_0xe12600(0x1cf);if(_0xca7965['startsWith']('$.'))return _0xe12600(0x1c1)+_0x31bdfd+'].manifest'+_0xca7965['slice'](0x1);if(_0xca7965['startsWith']('$['))return _0xe12600(0x1c1)+_0x31bdfd+_0xe12600(0x1cf)+_0xca7965[_0xe12600(0x1d7)](0x1);return _0xe12600(0x1c1)+_0x31bdfd+'].manifest.'+_0xca7965;}function isServiceRegistryLike(_0x140bd3){const _0x4b37f0=a42_0x185b;return isObjectRecord(_0x140bd3)&&_0x140bd3[_0x4b37f0(0x1ce)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x4b37f0(0x1f9)](_0x140bd3[_0x4b37f0(0x1d1)]);}function a42_0x185b(_0x3c07fd,_0x1aa014){_0x3c07fd=_0x3c07fd-0x1ad;const _0x4fee5e=a42_0x4fee();let _0x185be6=_0x4fee5e[_0x3c07fd];return _0x185be6;}function isObjectRecord(_0x4944a8){const _0x520317=a42_0x185b;return Boolean(_0x4944a8)&&typeof _0x4944a8==='object'&&!Array[_0x520317(0x1f9)](_0x4944a8);}function emptyServiceRegistryInspection(_0x4123f8,_0x2961d2,_0xc724a5){return{'registryPath':_0x4123f8,'exists':_0xc724a5,'status':_0x2961d2,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1926eb){const _0x340c44=a42_0x185b,_0x54a137=_0x1926eb[_0x340c44(0x1ad)],_0x264e8e=_0x54a137[_0x340c44(0x1f7)][_0x340c44(0x1ca)](_0x14e3f2=>({'path':_0x14e3f2['cliPath'],'description':_0x14e3f2[_0x340c44(0x1c2)],'risk':_0x14e3f2['risk'],'targetKind':_0x14e3f2[_0x340c44(0x1df)][_0x340c44(0x1f0)],'targetCommand':_0x14e3f2[_0x340c44(0x1df)][_0x340c44(0x1e4)]}));return{'serviceCode':_0x1926eb[_0x340c44(0x1b3)],'name':_0x54a137[_0x340c44(0x1ba)][_0x340c44(0x1cb)],'description':_0x54a137['service']['description'],'version':_0x1926eb[_0x340c44(0x1d9)],'importedAt':_0x1926eb[_0x340c44(0x1c8)],'source':_0x1926eb[_0x340c44(0x1f6)],'commandCount':_0x264e8e[_0x340c44(0x1d3)],'commands':_0x264e8e};}function sha256(_0x1c9281){const _0x2fb736=a42_0x185b;return createHash('sha256')[_0x2fb736(0x1db)](_0x1c9281)['digest'](_0x2fb736(0x1cd));}
@@ -1 +1 @@
1
- const a43_0x442b47=a43_0x357d;(function(_0x2da796,_0x28e757){const _0x4c05f9=a43_0x357d,_0x588ec8=_0x2da796();while(!![]){try{const _0x13100b=-parseInt(_0x4c05f9(0x96))/0x1*(-parseInt(_0x4c05f9(0xaa))/0x2)+-parseInt(_0x4c05f9(0xac))/0x3*(parseInt(_0x4c05f9(0xa6))/0x4)+-parseInt(_0x4c05f9(0x95))/0x5*(-parseInt(_0x4c05f9(0xb8))/0x6)+-parseInt(_0x4c05f9(0xa0))/0x7+-parseInt(_0x4c05f9(0xab))/0x8*(parseInt(_0x4c05f9(0xb0))/0x9)+-parseInt(_0x4c05f9(0x9f))/0xa*(parseInt(_0x4c05f9(0xa8))/0xb)+parseInt(_0x4c05f9(0xb3))/0xc;if(_0x13100b===_0x28e757)break;else _0x588ec8['push'](_0x588ec8['shift']());}catch(_0x467f95){_0x588ec8['push'](_0x588ec8['shift']());}}}(a43_0x101e,0xc945e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';function a43_0x101e(){const _0x1bad5c=['100nkCPbj','2003218xtmpAM','target','Refusing\x20to\x20overwrite\x20symlink:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillDir','str','5147072mhgtOh','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','367312PYFJjs','map','87616yajBFX','494680EUaaUf','3uoPZFm','write','skill','trim','63WZYvVM','WRITE','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','18126516XWipOx','Created\x20local\x20Skill\x20draft\x20','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','files','content','2595102waMndq','path','create','name','skillName','10aJCOXg','18SFUlGI','rendered','type','validation','Skill\x20directory\x20already\x20exists:\x20','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','force','isSymbolicLink','utf8'];a43_0x101e=function(){return _0x1bad5c;};return a43_0x101e();}import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x442b47(0xae),'command':a43_0x442b47(0x92),'description':a43_0x442b47(0x9b),'risk':a43_0x442b47(0xad),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x461b47){const _0x528d24=a43_0x442b47,_0x18b945=buildSkillCreatePlan(_0x461b47[_0x528d24(0xa5)]('name'),_0x461b47['str'](_0x528d24(0x98)),_0x461b47[_0x528d24(0xa5)](_0x528d24(0xa1)));return{'method':_0x528d24(0xb1),'url':_0x18b945[_0x528d24(0xa4)],'body':{'skillName':_0x18b945[_0x528d24(0x97)]['skillName'],'type':_0x18b945[_0x528d24(0x97)][_0x528d24(0x98)],'selfContained':!![],'files':_0x18b945[_0x528d24(0x97)][_0x528d24(0xb6)][_0x528d24(0xa9)](_0x4261cf=>_0x4261cf['path'])},'description':_0x528d24(0xb5)};},async 'execute'(_0x2298c7){const _0x217e15=a43_0x442b47,_0x4776d3=buildSkillCreatePlan(_0x2298c7[_0x217e15(0xa5)](_0x217e15(0x93)),_0x2298c7[_0x217e15(0xa5)](_0x217e15(0x98)),_0x2298c7['str']('target'));return writeSkillDraft(_0x4776d3,_0x2298c7['bool'](_0x217e15(0x9c))),{'ok':!![],'data':{'skillName':_0x4776d3[_0x217e15(0x97)][_0x217e15(0x94)],'type':_0x4776d3[_0x217e15(0x97)][_0x217e15(0x98)],'dir':_0x4776d3[_0x217e15(0xa4)],'files':_0x4776d3[_0x217e15(0x97)][_0x217e15(0xb6)][_0x217e15(0xa9)](_0x29eb57=>_0x29eb57[_0x217e15(0xb9)])},'message':_0x217e15(0xb4)+_0x4776d3[_0x217e15(0x97)][_0x217e15(0x94)]};}};function a43_0x357d(_0x4006b5,_0x581842){_0x4006b5=_0x4006b5-0x92;const _0x101ef2=a43_0x101e();let _0x357dd9=_0x101ef2[_0x4006b5];return _0x357dd9;}function buildSkillCreatePlan(_0x39853f,_0x294f19,_0x2b0a83){const _0xb32b47=a43_0x442b47,_0x366086=_0x294f19[_0xb32b47(0xaf)](),_0x379cb6=renderSkillTemplate({'skillName':_0x39853f,'type':_0x366086});!_0x366086&&writeCliSideChannelLine(_0xb32b47(0xb2));const _0x1f39c7=resolve(normalizeSkillTarget(_0x2b0a83));return{'rendered':_0x379cb6,'targetRoot':_0x1f39c7,'skillDir':resolve(_0x1f39c7,_0x379cb6['skillName'])};}function normalizeSkillTarget(_0xb1892b){const _0x516107=a43_0x442b47;return(_0xb1892b||DEFAULT_SKILL_TARGET)[_0x516107(0xaf)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x52433e,_0x28dcc9){const _0x1cda2d=a43_0x442b47;if(existsSync(_0x52433e[_0x1cda2d(0xa4)])){const _0x52b1e5=lstatSync(_0x52433e[_0x1cda2d(0xa4)]);if(!_0x52b1e5['isDirectory']()||_0x52b1e5[_0x1cda2d(0x9d)]())throw CliErrors[_0x1cda2d(0x99)](_0x1cda2d(0xa7)+_0x52433e[_0x1cda2d(0xa4)]);if(!_0x28dcc9)throw CliErrors['validation'](_0x1cda2d(0x9a)+_0x52433e[_0x1cda2d(0xa4)],_0x1cda2d(0xa3));}for(const _0x5d8fad of _0x52433e['rendered']['files']){const _0x50a7e9=resolve(_0x52433e[_0x1cda2d(0xa4)],_0x5d8fad[_0x1cda2d(0xb9)]),_0x2b6c75=dirname(_0x50a7e9);mkdirSync(_0x2b6c75,{'recursive':!![]});if(existsSync(_0x50a7e9)&&lstatSync(_0x50a7e9)[_0x1cda2d(0x9d)]())throw CliErrors['validation'](_0x1cda2d(0xa2)+_0x50a7e9);writeFileSync(_0x50a7e9,_0x5d8fad[_0x1cda2d(0xb7)],_0x1cda2d(0x9e));}}
1
+ const a43_0x42455c=a43_0x17f0;(function(_0xccec3a,_0x42f46e){const _0x256fbc=a43_0x17f0,_0x36301c=_0xccec3a();while(!![]){try{const _0x32285a=-parseInt(_0x256fbc(0x121))/0x1*(parseInt(_0x256fbc(0x141))/0x2)+-parseInt(_0x256fbc(0x126))/0x3+-parseInt(_0x256fbc(0x129))/0x4+parseInt(_0x256fbc(0x12b))/0x5*(parseInt(_0x256fbc(0x142))/0x6)+parseInt(_0x256fbc(0x125))/0x7+-parseInt(_0x256fbc(0x131))/0x8+-parseInt(_0x256fbc(0x138))/0x9*(-parseInt(_0x256fbc(0x13c))/0xa);if(_0x32285a===_0x42f46e)break;else _0x36301c['push'](_0x36301c['shift']());}catch(_0x448c2a){_0x36301c['push'](_0x36301c['shift']());}}}(a43_0x5a2d,0x600ba));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a43_0x17f0(_0x2e6e39,_0x343f9e){_0x2e6e39=_0x2e6e39-0x121;const _0x5a2daf=a43_0x5a2d();let _0x17f02b=_0x5a2daf[_0x2e6e39];return _0x17f02b;}import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':a43_0x42455c(0x133),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a43_0x42455c(0x137),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x11cb97){const _0x191b96=a43_0x42455c,_0x405fc2=buildSkillCreatePlan(_0x11cb97['str'](_0x191b96(0x139)),_0x11cb97[_0x191b96(0x13a)](_0x191b96(0x143)),_0x11cb97[_0x191b96(0x13a)](_0x191b96(0x122)));return{'method':'WRITE','url':_0x405fc2['skillDir'],'body':{'skillName':_0x405fc2[_0x191b96(0x136)][_0x191b96(0x12e)],'type':_0x405fc2[_0x191b96(0x136)]['type'],'selfContained':!![],'files':_0x405fc2['rendered'][_0x191b96(0x130)][_0x191b96(0x140)](_0x4f69a4=>_0x4f69a4[_0x191b96(0x123)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x1bdd1a){const _0x58647d=a43_0x42455c,_0xdfdf50=buildSkillCreatePlan(_0x1bdd1a[_0x58647d(0x13a)](_0x58647d(0x139)),_0x1bdd1a[_0x58647d(0x13a)](_0x58647d(0x143)),_0x1bdd1a[_0x58647d(0x13a)](_0x58647d(0x122)));return writeSkillDraft(_0xdfdf50,_0x1bdd1a[_0x58647d(0x13b)](_0x58647d(0x13d))),{'ok':!![],'data':{'skillName':_0xdfdf50[_0x58647d(0x136)][_0x58647d(0x12e)],'type':_0xdfdf50['rendered'][_0x58647d(0x143)],'dir':_0xdfdf50[_0x58647d(0x12c)],'files':_0xdfdf50[_0x58647d(0x136)][_0x58647d(0x130)]['map'](_0x2493e9=>_0x2493e9['path'])},'message':_0x58647d(0x134)+_0xdfdf50[_0x58647d(0x136)][_0x58647d(0x12e)]};}};function a43_0x5a2d(){const _0x4b9244=['2629696Orkamg','isDirectory','2591905yYJyAC','skillDir','Skill\x20directory\x20already\x20exists:\x20','skillName','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','files','5984648lkXong','isSymbolicLink','create','Created\x20local\x20Skill\x20draft\x20','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','rendered','write','837wENGOs','name','str','bool','179260YOnvaN','force','utf8','validation','map','69572eBsctu','6SgegpH','type','22QeoStS','target','path','trim','3952627RKvvoJ','557883vVjQsa','content','Refusing\x20to\x20overwrite\x20symlink:\x20'];a43_0x5a2d=function(){return _0x4b9244;};return a43_0x5a2d();}function buildSkillCreatePlan(_0x22b649,_0x1829bb,_0x3a164b){const _0x56fe70=a43_0x42455c,_0x1a1e8d=_0x1829bb[_0x56fe70(0x124)](),_0x201ef5=renderSkillTemplate({'skillName':_0x22b649,'type':_0x1a1e8d});!_0x1a1e8d&&writeCliSideChannelLine(_0x56fe70(0x12f));const _0x5d0336=resolve(normalizeSkillTarget(_0x3a164b));return{'rendered':_0x201ef5,'targetRoot':_0x5d0336,'skillDir':resolve(_0x5d0336,_0x201ef5['skillName'])};}function normalizeSkillTarget(_0x5ee2f8){const _0x268483=a43_0x42455c;return(_0x5ee2f8||DEFAULT_SKILL_TARGET)[_0x268483(0x124)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x12e8e7,_0x8e11f0){const _0x1163b=a43_0x42455c;if(existsSync(_0x12e8e7['skillDir'])){const _0x380fa4=lstatSync(_0x12e8e7[_0x1163b(0x12c)]);if(!_0x380fa4[_0x1163b(0x12a)]()||_0x380fa4[_0x1163b(0x132)]())throw CliErrors['validation'](_0x1163b(0x135)+_0x12e8e7[_0x1163b(0x12c)]);if(!_0x8e11f0)throw CliErrors[_0x1163b(0x13f)](_0x1163b(0x12d)+_0x12e8e7[_0x1163b(0x12c)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x232a2a of _0x12e8e7[_0x1163b(0x136)][_0x1163b(0x130)]){const _0x18f59a=resolve(_0x12e8e7['skillDir'],_0x232a2a[_0x1163b(0x123)]),_0x16b29b=dirname(_0x18f59a);mkdirSync(_0x16b29b,{'recursive':!![]});if(existsSync(_0x18f59a)&&lstatSync(_0x18f59a)[_0x1163b(0x132)]())throw CliErrors['validation'](_0x1163b(0x128)+_0x18f59a);writeFileSync(_0x18f59a,_0x232a2a[_0x1163b(0x127)],_0x1163b(0x13e));}}
@@ -1 +1 @@
1
- const a44_0x264615=a44_0x1516;(function(_0x1e921f,_0x4a4da8){const _0x344309=a44_0x1516,_0x372281=_0x1e921f();while(!![]){try{const _0x3fe4cd=parseInt(_0x344309(0x1e1))/0x1+parseInt(_0x344309(0x1cc))/0x2+-parseInt(_0x344309(0x1ca))/0x3+-parseInt(_0x344309(0x1c2))/0x4*(-parseInt(_0x344309(0x1d4))/0x5)+-parseInt(_0x344309(0x1d9))/0x6+-parseInt(_0x344309(0x1e3))/0x7*(parseInt(_0x344309(0x1ce))/0x8)+parseInt(_0x344309(0x1c5))/0x9*(-parseInt(_0x344309(0x1e2))/0xa);if(_0x3fe4cd===_0x4a4da8)break;else _0x372281['push'](_0x372281['shift']());}catch(_0x1e3df8){_0x372281['push'](_0x372281['shift']());}}}(a44_0x36e7,0x25242));function a44_0x1516(_0x2c5de8,_0x439b53){_0x2c5de8=_0x2c5de8-0x1bf;const _0x36e709=a44_0x36e7();let _0x151699=_0x36e709[_0x2c5de8];return _0x151699;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a44_0x36e7(){const _0x4a5bb5=['code','updated','10oTWVKW','action','personal','push','includes','39942xuIUbO','company','write','trim','version','str','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','force','253823CGhSEN','625990cgIuZe','2933JysOsC','flatMap','map','authRequired','bool','skill','removed','453828jxOyko','length','\x20personal\x20and\x20','27NRxQvY','scope','created','envName','filter','828567DrGPqE','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','429884JsMtpo','../../../core/api-client.js','1392yJauFC','appCode','skillCode','install'];a44_0x36e7=function(){return _0x4a5bb5;};return a44_0x36e7();}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a44_0x264615(0x1c0),'command':a44_0x264615(0x1d1),'description':a44_0x264615(0x1cb),'risk':a44_0x264615(0x1db),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG],async 'execute'(_0x631da8){return syncRuntimeSkills(_0x631da8);}};async function syncRuntimeSkills(_0x42fff5){const _0x14b00a=a44_0x264615,{downloadRuntimeSkillPackage:_0x49543b,listRuntimeSkills:_0x45aebe}=await import(_0x14b00a(0x1cd)),{linkEffectiveRuntimeSkills:_0x20cdec,materializeRuntimeSkill:_0x42f08b,pruneStaleRuntimeSkillCache:_0x2481a7,pruneStaleRuntimeSkillLinks:_0x4da632}=await import('../../../skills/runtime-skill-sync.js'),_0x4ea3e8=_0x42fff5[_0x14b00a(0x1de)](_0x14b00a(0x1d2)),_0x51ca1c=normalizeSyncScopes(_0x42fff5[_0x14b00a(0x1de)](_0x14b00a(0x1c6))),_0x2934c5=_0x42fff5[_0x14b00a(0x1c8)]??'production',_0x39b81d=_0x42fff5['accessKey'],_0x3b915d=_0x42fff5[_0x14b00a(0x1bf)](_0x14b00a(0x1e0));if(!_0x39b81d)throw CliErrors[_0x14b00a(0x1e6)](_0x14b00a(0x1df));const _0x402c21=await Promise['all'](_0x51ca1c[_0x14b00a(0x1e5)](_0x46283c=>_0x45aebe({'appCode':_0x42fff5[_0x14b00a(0x1cf)],'scope':_0x46283c,'code':_0x4ea3e8['trim']()||undefined}))),_0x52a94a=_0x51ca1c['includes'](_0x14b00a(0x1d6))?_0x402c21[_0x14b00a(0x1e4)]((_0x5ba2e8,_0x5007c5)=>_0x51ca1c[_0x5007c5]===_0x14b00a(0x1d6)?_0x5ba2e8[_0x14b00a(0x1d6)]:[]):[],_0x40cad6=_0x51ca1c[_0x14b00a(0x1d8)](_0x14b00a(0x1da))?_0x402c21[_0x14b00a(0x1e4)]((_0x8bf316,_0x82277b)=>_0x51ca1c[_0x82277b]==='company'?_0x8bf316[_0x14b00a(0x1da)]:[]):[],_0x537728=new Set([..._0x52a94a['map'](_0x4cdaaa=>_0x4cdaaa[_0x14b00a(0x1d0)]?.[_0x14b00a(0x1dc)]())[_0x14b00a(0x1c9)](_0x4ebde0=>Boolean(_0x4ebde0)),..._0x40cad6[_0x14b00a(0x1e5)](_0x3aef9a=>_0x3aef9a['skillCode']?.[_0x14b00a(0x1dc)]())['filter'](_0x5b156f=>Boolean(_0x5b156f))]),_0x361bac=_0x4ea3e8[_0x14b00a(0x1dc)]()?[_0x4ea3e8[_0x14b00a(0x1dc)]()]:undefined,_0x181c58=_0x51ca1c[_0x14b00a(0x1c3)]===0x2&&_0x51ca1c[_0x14b00a(0x1d8)](_0x14b00a(0x1d6))&&_0x51ca1c[_0x14b00a(0x1d8)](_0x14b00a(0x1da)),_0x1c1418=_0x181c58?_0x4da632(_0x42fff5[_0x14b00a(0x1cf)],_0x537728,{},_0x361bac):[],_0x1955bf=_0x2481a7({'env':_0x2934c5,'accessKey':_0x39b81d,'appCode':_0x42fff5[_0x14b00a(0x1cf)],'activeSkillCodes':_0x537728,'pruneSkillCodes':_0x361bac,'scopes':_0x51ca1c}),_0x4fdada=[];for(const _0x399540 of _0x52a94a){_0x4fdada[_0x14b00a(0x1d7)](_0x42f08b(_0x399540,_0x14b00a(0x1d6),{'env':_0x2934c5,'accessKey':_0x39b81d,'appCode':_0x42fff5[_0x14b00a(0x1cf)],'force':_0x3b915d,'packageBytes':await downloadSkillPackage(_0x399540,_0x14b00a(0x1d6),_0x42fff5[_0x14b00a(0x1cf)],_0x49543b)}));}for(const _0x109053 of _0x40cad6){_0x4fdada['push'](_0x42f08b(_0x109053,_0x14b00a(0x1da),{'env':_0x2934c5,'accessKey':_0x39b81d,'appCode':_0x42fff5[_0x14b00a(0x1cf)],'force':_0x3b915d,'packageBytes':await downloadSkillPackage(_0x109053,_0x14b00a(0x1da),_0x42fff5['appCode'],_0x49543b)}));}const _0x19d335=_0x20cdec(_0x4fdada,_0x42fff5[_0x14b00a(0x1cf)]),_0x2ab0a1=countLinkActions(_0x19d335);return{'ok':!![],'data':{'appCode':_0x42fff5[_0x14b00a(0x1cf)],'personal':_0x52a94a[_0x14b00a(0x1c3)],'company':_0x40cad6[_0x14b00a(0x1c3)],'materialized':_0x4fdada[_0x14b00a(0x1c3)],'links':{'total':_0x19d335[_0x14b00a(0x1c3)],'created':_0x2ab0a1[_0x14b00a(0x1c7)]??0x0,'updated':_0x2ab0a1[_0x14b00a(0x1d3)]??0x0,'unchanged':_0x2ab0a1['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1c1418[_0x14b00a(0x1c9)](_0x1367fd=>_0x1367fd[_0x14b00a(0x1d5)]===_0x14b00a(0x1c1))[_0x14b00a(0x1c3)],'cacheDirs':_0x1955bf[_0x14b00a(0x1c9)](_0x6ee3c3=>_0x6ee3c3[_0x14b00a(0x1d5)]===_0x14b00a(0x1c1))[_0x14b00a(0x1c3)],'skipped':[..._0x1c1418,..._0x1955bf][_0x14b00a(0x1c9)](_0x4dfe90=>_0x4dfe90[_0x14b00a(0x1d5)]==='skipped')[_0x14b00a(0x1c3)]},'skills':{'personal':_0x52a94a[_0x14b00a(0x1e5)](summarizeRuntimeSkill),'company':_0x40cad6[_0x14b00a(0x1e5)](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x52a94a[_0x14b00a(0x1c3)]+_0x14b00a(0x1c4)+_0x40cad6['length']+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x1c1647,_0x451536,_0xaee3f1,_0x123fa6){const _0x238b5e=a44_0x264615,_0x30a913=_0x1c1647[_0x238b5e(0x1dd)]?.[_0x238b5e(0x1dc)]();return _0x30a913?_0x123fa6(_0x451536,_0x1c1647[_0x238b5e(0x1d0)],_0xaee3f1,_0x30a913):_0x123fa6(_0x451536,_0x1c1647[_0x238b5e(0x1d0)],_0xaee3f1);}function countLinkActions(_0x519c04){return _0x519c04['reduce']((_0x4bd528,_0x3ea0c2)=>{const _0x3778a9=a44_0x1516;return _0x4bd528[_0x3ea0c2['action']]=(_0x4bd528[_0x3ea0c2[_0x3778a9(0x1d5)]]??0x0)+0x1,_0x4bd528;},{});}
1
+ const a44_0x387630=a44_0x420c;(function(_0x5ae837,_0x756de7){const _0x54265e=a44_0x420c,_0x20abe5=_0x5ae837();while(!![]){try{const _0x17b59e=-parseInt(_0x54265e(0x1c2))/0x1*(parseInt(_0x54265e(0x1c6))/0x2)+parseInt(_0x54265e(0x1af))/0x3+-parseInt(_0x54265e(0x1cc))/0x4+-parseInt(_0x54265e(0x1c1))/0x5+-parseInt(_0x54265e(0x1c7))/0x6*(parseInt(_0x54265e(0x1c8))/0x7)+parseInt(_0x54265e(0x1ae))/0x8*(parseInt(_0x54265e(0x1b1))/0x9)+parseInt(_0x54265e(0x1a5))/0xa*(parseInt(_0x54265e(0x1bb))/0xb);if(_0x17b59e===_0x756de7)break;else _0x20abe5['push'](_0x20abe5['shift']());}catch(_0x538554){_0x20abe5['push'](_0x20abe5['shift']());}}}(a44_0x3682,0x4e94c));function a44_0x420c(_0x179525,_0x41ff52){_0x179525=_0x179525-0x1a4;const _0x36827f=a44_0x3682();let _0x420c8c=_0x36827f[_0x179525];return _0x420c8c;}import{CliErrors}from'../../../errors.js';function a44_0x3682(){const _0xb36d4=['authRequired','17904310adzNpO','push','bool','removed','trim','created','skillCode','code','length','136mQAkiH','686376fJegNv','company','200601hWWIuM','scope','flatMap','includes','str','reduce','unchanged','\x20company\x20Skill(s).','personal','../../../core/api-client.js','11AVjZEh','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','action','filter','envName','force','2411015pvftEL','431614ibBmrA','version','skipped','../../../skills/runtime-skill-sync.js','2ehkkXC','18kxKRNw','1373134hVuhcJ','map','appCode','production','2295860oOxCxL','skill','accessKey','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.'];a44_0x3682=function(){return _0xb36d4;};return a44_0x3682();}import{CODE_FLAG,FORCE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a44_0x387630(0x1cd),'command':'install','description':a44_0x387630(0x1bc),'risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG],async 'execute'(_0x87791c){return syncRuntimeSkills(_0x87791c);}};async function syncRuntimeSkills(_0x1ebae9){const _0x83601c=a44_0x387630,{downloadRuntimeSkillPackage:_0x387b5f,listRuntimeSkills:_0x4aa498}=await import(_0x83601c(0x1ba)),{linkEffectiveRuntimeSkills:_0x9caaeb,materializeRuntimeSkill:_0x49e6a3,pruneStaleRuntimeSkillCache:_0xb70b2c,pruneStaleRuntimeSkillLinks:_0x49ba7c}=await import(_0x83601c(0x1c5)),_0x1b1a63=_0x1ebae9[_0x83601c(0x1b5)](_0x83601c(0x1ac)),_0x1d94a=normalizeSyncScopes(_0x1ebae9[_0x83601c(0x1b5)](_0x83601c(0x1b2))),_0x2177fd=_0x1ebae9[_0x83601c(0x1bf)]??_0x83601c(0x1cb),_0x4713af=_0x1ebae9[_0x83601c(0x1ce)],_0x46c756=_0x1ebae9[_0x83601c(0x1a7)](_0x83601c(0x1c0));if(!_0x4713af)throw CliErrors[_0x83601c(0x1a4)](_0x83601c(0x1cf));const _0x4d1de8=await Promise['all'](_0x1d94a[_0x83601c(0x1c9)](_0xbd2270=>_0x4aa498({'appCode':_0x1ebae9[_0x83601c(0x1ca)],'scope':_0xbd2270,'code':_0x1b1a63['trim']()||undefined}))),_0x346674=_0x1d94a[_0x83601c(0x1b4)](_0x83601c(0x1b9))?_0x4d1de8[_0x83601c(0x1b3)]((_0x5de020,_0x16077f)=>_0x1d94a[_0x16077f]===_0x83601c(0x1b9)?_0x5de020[_0x83601c(0x1b9)]:[]):[],_0x575f51=_0x1d94a[_0x83601c(0x1b4)](_0x83601c(0x1b0))?_0x4d1de8[_0x83601c(0x1b3)]((_0x59d902,_0x3586a6)=>_0x1d94a[_0x3586a6]==='company'?_0x59d902[_0x83601c(0x1b0)]:[]):[],_0x471e0c=new Set([..._0x346674[_0x83601c(0x1c9)](_0xa6f3e9=>_0xa6f3e9[_0x83601c(0x1ab)]?.['trim']())['filter'](_0x5d960b=>Boolean(_0x5d960b)),..._0x575f51[_0x83601c(0x1c9)](_0x562882=>_0x562882[_0x83601c(0x1ab)]?.['trim']())['filter'](_0x191846=>Boolean(_0x191846))]),_0x498cf2=_0x1b1a63[_0x83601c(0x1a9)]()?[_0x1b1a63[_0x83601c(0x1a9)]()]:undefined,_0xfef734=_0x1d94a[_0x83601c(0x1ad)]===0x2&&_0x1d94a[_0x83601c(0x1b4)](_0x83601c(0x1b9))&&_0x1d94a[_0x83601c(0x1b4)](_0x83601c(0x1b0)),_0x4a3803=_0xfef734?_0x49ba7c(_0x1ebae9['appCode'],_0x471e0c,{},_0x498cf2):[],_0x6ce3b7=_0xb70b2c({'env':_0x2177fd,'accessKey':_0x4713af,'appCode':_0x1ebae9[_0x83601c(0x1ca)],'activeSkillCodes':_0x471e0c,'pruneSkillCodes':_0x498cf2,'scopes':_0x1d94a}),_0x340b42=[];for(const _0x34e2d2 of _0x346674){_0x340b42[_0x83601c(0x1a6)](_0x49e6a3(_0x34e2d2,_0x83601c(0x1b9),{'env':_0x2177fd,'accessKey':_0x4713af,'appCode':_0x1ebae9[_0x83601c(0x1ca)],'force':_0x46c756,'packageBytes':await downloadSkillPackage(_0x34e2d2,_0x83601c(0x1b9),_0x1ebae9[_0x83601c(0x1ca)],_0x387b5f)}));}for(const _0x2a1572 of _0x575f51){_0x340b42[_0x83601c(0x1a6)](_0x49e6a3(_0x2a1572,_0x83601c(0x1b0),{'env':_0x2177fd,'accessKey':_0x4713af,'appCode':_0x1ebae9[_0x83601c(0x1ca)],'force':_0x46c756,'packageBytes':await downloadSkillPackage(_0x2a1572,_0x83601c(0x1b0),_0x1ebae9['appCode'],_0x387b5f)}));}const _0x52182b=_0x9caaeb(_0x340b42,_0x1ebae9[_0x83601c(0x1ca)]),_0xfcd6d2=countLinkActions(_0x52182b);return{'ok':!![],'data':{'appCode':_0x1ebae9['appCode'],'personal':_0x346674['length'],'company':_0x575f51[_0x83601c(0x1ad)],'materialized':_0x340b42['length'],'links':{'total':_0x52182b[_0x83601c(0x1ad)],'created':_0xfcd6d2[_0x83601c(0x1aa)]??0x0,'updated':_0xfcd6d2['updated']??0x0,'unchanged':_0xfcd6d2[_0x83601c(0x1b7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x4a3803[_0x83601c(0x1be)](_0x234479=>_0x234479[_0x83601c(0x1bd)]===_0x83601c(0x1a8))[_0x83601c(0x1ad)],'cacheDirs':_0x6ce3b7['filter'](_0x15a214=>_0x15a214[_0x83601c(0x1bd)]==='removed')[_0x83601c(0x1ad)],'skipped':[..._0x4a3803,..._0x6ce3b7][_0x83601c(0x1be)](_0x46ccd6=>_0x46ccd6['action']===_0x83601c(0x1c4))[_0x83601c(0x1ad)]},'skills':{'personal':_0x346674[_0x83601c(0x1c9)](summarizeRuntimeSkill),'company':_0x575f51[_0x83601c(0x1c9)](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x346674[_0x83601c(0x1ad)]+'\x20personal\x20and\x20'+_0x575f51[_0x83601c(0x1ad)]+_0x83601c(0x1b8)};}async function downloadSkillPackage(_0xdc71c8,_0x2755c8,_0x580f47,_0x5961e9){const _0x155311=a44_0x387630,_0x51abab=_0xdc71c8[_0x155311(0x1c3)]?.[_0x155311(0x1a9)]();return _0x51abab?_0x5961e9(_0x2755c8,_0xdc71c8[_0x155311(0x1ab)],_0x580f47,_0x51abab):_0x5961e9(_0x2755c8,_0xdc71c8[_0x155311(0x1ab)],_0x580f47);}function countLinkActions(_0x41c0ee){const _0x1f38d0=a44_0x387630;return _0x41c0ee[_0x1f38d0(0x1b6)]((_0x1d8296,_0x20660e)=>{const _0x56e5d6=_0x1f38d0;return _0x1d8296[_0x20660e[_0x56e5d6(0x1bd)]]=(_0x1d8296[_0x20660e['action']]??0x0)+0x1,_0x1d8296;},{});}
@@ -1 +1 @@
1
- const a45_0x4882de=a45_0x54ec;(function(_0x1e9299,_0x1aa435){const _0x3c23a2=a45_0x54ec,_0x510d99=_0x1e9299();while(!![]){try{const _0x45b82f=parseInt(_0x3c23a2(0x13d))/0x1+-parseInt(_0x3c23a2(0x13c))/0x2*(-parseInt(_0x3c23a2(0x130))/0x3)+parseInt(_0x3c23a2(0x137))/0x4*(-parseInt(_0x3c23a2(0x138))/0x5)+-parseInt(_0x3c23a2(0x131))/0x6*(parseInt(_0x3c23a2(0x12f))/0x7)+-parseInt(_0x3c23a2(0x141))/0x8+-parseInt(_0x3c23a2(0x143))/0x9+parseInt(_0x3c23a2(0x133))/0xa*(parseInt(_0x3c23a2(0x144))/0xb);if(_0x45b82f===_0x1aa435)break;else _0x510d99['push'](_0x510d99['shift']());}catch(_0x146a23){_0x510d99['push'](_0x510d99['shift']());}}}(a45_0x3bd7,0x90aff));function a45_0x54ec(_0x1671ce,_0x2f3dd6){_0x1671ce=_0x1671ce-0x12a;const _0x3bd7ba=a45_0x3bd7();let _0x54ecb0=_0x3bd7ba[_0x1671ce];return _0x54ecb0;}import{CliErrors}from'../../../errors.js';function a45_0x3bd7(){const _0x86dde8=['local','7658904XTeWqN','builtin','2025702OZeMhX','319BwrpkB','accessKey','skill','filter','map','production','appCode','code','length','company','str','scope','108430RYYLiZ','3HKJRUF','102RDvVDN','\x20remote\x20Skill(s).','497190pSQGoo','Listed\x20','personal','envName','24972ZlvCtv','65hTocfA','bool','read','list','808804ptHOrS','273316EXEmBI','trim','../../../skills/runtime-skill-sync.js'];a45_0x3bd7=function(){return _0x86dde8;};return a45_0x3bd7();}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a45_0x4882de(0x146),'command':a45_0x4882de(0x13b),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a45_0x4882de(0x13a),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x408a9f){const _0x4a57c2=a45_0x4882de,_0x3bdbac=_0x408a9f[_0x4a57c2(0x12d)](_0x4a57c2(0x12a)),_0x35b5ad=normalizeListScope(_0x408a9f[_0x4a57c2(0x12d)](_0x4a57c2(0x12e)));if(_0x408a9f[_0x4a57c2(0x139)]('local')){const _0x19b605=_0x408a9f[_0x4a57c2(0x145)];if(!_0x19b605)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x90ad18}=await import(_0x4a57c2(0x13f)),_0x1a74ad=_0x90ad18({'env':_0x408a9f[_0x4a57c2(0x136)]??_0x4a57c2(0x149),'accessKey':_0x19b605,'appCode':_0x408a9f[_0x4a57c2(0x14a)],'scopes':listScopeToRuntimeScopes(_0x35b5ad),'code':_0x3bdbac[_0x4a57c2(0x13e)]()||undefined}),_0x1a4348=groupLocalRuntimeSkills(_0x1a74ad);return{'ok':!![],'data':{'appCode':_0x408a9f[_0x4a57c2(0x14a)],'source':_0x4a57c2(0x140),'scope':_0x35b5ad,'total':_0x1a74ad['length'],'personal':_0x1a4348[_0x4a57c2(0x135)][_0x4a57c2(0x12b)],'company':_0x1a4348[_0x4a57c2(0x12c)][_0x4a57c2(0x12b)],'items':_0x1a74ad[_0x4a57c2(0x148)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x1a4348[_0x4a57c2(0x135)][_0x4a57c2(0x148)](summarizeLocalRuntimeSkill),'company':_0x1a4348[_0x4a57c2(0x12c)]['map'](summarizeLocalRuntimeSkill)}},'message':_0x4a57c2(0x134)+_0x1a74ad[_0x4a57c2(0x12b)]+'\x20local\x20Skill(s).'};}const {listRuntimeSkills:_0x2016b4}=await import('../../../core/api-client.js'),_0x449424=await _0x2016b4({'appCode':_0x408a9f[_0x4a57c2(0x14a)],'scope':listScopeToRemoteScope(_0x35b5ad),'code':_0x3bdbac[_0x4a57c2(0x13e)]()||undefined}),_0x20323d=shouldListScope(_0x35b5ad,_0x4a57c2(0x135))?_0x449424[_0x4a57c2(0x135)]??[]:[],_0x5077ed=shouldListScope(_0x35b5ad,'company')?_0x449424[_0x4a57c2(0x12c)]??[]:[],_0x5aee49=[..._0x20323d,..._0x5077ed];return{'ok':!![],'data':{'appCode':_0x408a9f[_0x4a57c2(0x14a)],'source':'remote','scope':_0x35b5ad,'total':_0x5aee49['length'],'personal':_0x20323d[_0x4a57c2(0x12b)],'company':_0x5077ed[_0x4a57c2(0x12b)],'items':_0x5aee49['map'](summarizeRuntimeSkill),'skills':{'personal':_0x20323d[_0x4a57c2(0x148)](summarizeRuntimeSkill),'company':_0x5077ed[_0x4a57c2(0x148)](summarizeRuntimeSkill)}},'message':_0x4a57c2(0x134)+_0x5aee49[_0x4a57c2(0x12b)]+_0x4a57c2(0x132)};}};function groupLocalRuntimeSkills(_0x38789a){const _0x242b3a=a45_0x4882de;return{'personal':_0x38789a['filter'](_0x351012=>_0x351012[_0x242b3a(0x12e)]===_0x242b3a(0x135)),'company':_0x38789a['filter'](_0x4c5365=>_0x4c5365['scope']==='company'),'builtin':_0x38789a[_0x242b3a(0x147)](_0x5dd183=>_0x5dd183[_0x242b3a(0x12e)]===_0x242b3a(0x142))};}
1
+ const a45_0x211437=a45_0x2e03;(function(_0x2d3acf,_0x46ded7){const _0x438f02=a45_0x2e03,_0x592b61=_0x2d3acf();while(!![]){try{const _0x54b873=-parseInt(_0x438f02(0x145))/0x1+parseInt(_0x438f02(0x141))/0x2+parseInt(_0x438f02(0x156))/0x3*(parseInt(_0x438f02(0x155))/0x4)+parseInt(_0x438f02(0x159))/0x5+parseInt(_0x438f02(0x143))/0x6+-parseInt(_0x438f02(0x13d))/0x7+parseInt(_0x438f02(0x14e))/0x8;if(_0x54b873===_0x46ded7)break;else _0x592b61['push'](_0x592b61['shift']());}catch(_0x3ad025){_0x592b61['push'](_0x592b61['shift']());}}}(a45_0x26cf,0x195a2));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';function a45_0x26cf(){const _0x30061d=['builtin','local','1452168pHfxHU','accessKey','\x20local\x20Skill(s).','appCode','company','skill','list','408neZIPx','4098OuOoUZ','personal','str','76780JDimCb','production','924007sOaAMy','scope','../../../core/api-client.js','read','131846lyYxtE','bool','123312wPXKuB','code','186841RmAwuA','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','length','filter','trim','../../../skills/runtime-skill-sync.js','map'];a45_0x26cf=function(){return _0x30061d;};return a45_0x26cf();}import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a45_0x2e03(_0x396555,_0x53328f){_0x396555=_0x396555-0x13d;const _0x26cf2c=a45_0x26cf();let _0x2e03a0=_0x26cf2c[_0x396555];return _0x2e03a0;}export const listCommand={'service':a45_0x211437(0x153),'command':a45_0x211437(0x154),'description':a45_0x211437(0x146),'risk':a45_0x211437(0x140),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x302254){const _0x502f13=a45_0x211437,_0x559581=_0x302254[_0x502f13(0x158)](_0x502f13(0x144)),_0x7f390f=normalizeListScope(_0x302254[_0x502f13(0x158)](_0x502f13(0x13e)));if(_0x302254[_0x502f13(0x142)]('local')){const _0x2e6386=_0x302254[_0x502f13(0x14f)];if(!_0x2e6386)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x1d5f6f}=await import(_0x502f13(0x14a)),_0x5a0b64=_0x1d5f6f({'env':_0x302254['envName']??_0x502f13(0x15a),'accessKey':_0x2e6386,'appCode':_0x302254[_0x502f13(0x151)],'scopes':listScopeToRuntimeScopes(_0x7f390f),'code':_0x559581[_0x502f13(0x149)]()||undefined}),_0x3b9a57=groupLocalRuntimeSkills(_0x5a0b64);return{'ok':!![],'data':{'appCode':_0x302254[_0x502f13(0x151)],'source':_0x502f13(0x14d),'scope':_0x7f390f,'total':_0x5a0b64[_0x502f13(0x147)],'personal':_0x3b9a57['personal']['length'],'company':_0x3b9a57[_0x502f13(0x152)][_0x502f13(0x147)],'items':_0x5a0b64['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3b9a57[_0x502f13(0x157)][_0x502f13(0x14b)](summarizeLocalRuntimeSkill),'company':_0x3b9a57[_0x502f13(0x152)][_0x502f13(0x14b)](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x5a0b64[_0x502f13(0x147)]+_0x502f13(0x150)};}const {listRuntimeSkills:_0x36e952}=await import(_0x502f13(0x13f)),_0x5698f2=await _0x36e952({'appCode':_0x302254[_0x502f13(0x151)],'scope':listScopeToRemoteScope(_0x7f390f),'code':_0x559581[_0x502f13(0x149)]()||undefined}),_0xb722c6=shouldListScope(_0x7f390f,'personal')?_0x5698f2[_0x502f13(0x157)]??[]:[],_0x729174=shouldListScope(_0x7f390f,'company')?_0x5698f2[_0x502f13(0x152)]??[]:[],_0x2696ed=[..._0xb722c6,..._0x729174];return{'ok':!![],'data':{'appCode':_0x302254[_0x502f13(0x151)],'source':'remote','scope':_0x7f390f,'total':_0x2696ed[_0x502f13(0x147)],'personal':_0xb722c6[_0x502f13(0x147)],'company':_0x729174[_0x502f13(0x147)],'items':_0x2696ed['map'](summarizeRuntimeSkill),'skills':{'personal':_0xb722c6[_0x502f13(0x14b)](summarizeRuntimeSkill),'company':_0x729174[_0x502f13(0x14b)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x2696ed[_0x502f13(0x147)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0xcaf5ac){const _0x4714e1=a45_0x211437;return{'personal':_0xcaf5ac[_0x4714e1(0x148)](_0x5851a3=>_0x5851a3[_0x4714e1(0x13e)]===_0x4714e1(0x157)),'company':_0xcaf5ac[_0x4714e1(0x148)](_0x5b1081=>_0x5b1081[_0x4714e1(0x13e)]===_0x4714e1(0x152)),'builtin':_0xcaf5ac[_0x4714e1(0x148)](_0x511508=>_0x511508[_0x4714e1(0x13e)]===_0x4714e1(0x14c))};}
@@ -1 +1 @@
1
- function a46_0x72cd(_0x341c4e,_0x27b096){_0x341c4e=_0x341c4e-0xb2;const _0x1ef164=a46_0x1ef1();let _0x72cd68=_0x1ef164[_0x341c4e];return _0x72cd68;}function a46_0x1ef1(){const _0x10d27b=['162ZZdPFC','1030472LdVIrs','913240DGGYrU','9eCTKwY','2576541ByeRms','12tHmAvb','2481518nGTWin','36frTqCU','13215HESKlb','push','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','1359850Bdurhc','21AdlmEG','320OZHJvS','272VGwtxQ'];a46_0x1ef1=function(){return _0x10d27b;};return a46_0x1ef1();}const a46_0x40e73a=a46_0x72cd;(function(_0xe49b82,_0x49af9c){const _0x3cb4da=a46_0x72cd,_0x3a84be=_0xe49b82();while(!![]){try{const _0x17c31a=-parseInt(_0x3cb4da(0xbc))/0x1*(-parseInt(_0x3cb4da(0xbd))/0x2)+parseInt(_0x3cb4da(0xb6))/0x3*(-parseInt(_0x3cb4da(0xbb))/0x4)+-parseInt(_0x3cb4da(0xbf))/0x5*(-parseInt(_0x3cb4da(0xb3))/0x6)+parseInt(_0x3cb4da(0xba))/0x7*(parseInt(_0x3cb4da(0xbe))/0x8)+-parseInt(_0x3cb4da(0xc0))/0x9*(-parseInt(_0x3cb4da(0xb9))/0xa)+parseInt(_0x3cb4da(0xb2))/0xb+-parseInt(_0x3cb4da(0xb5))/0xc*(parseInt(_0x3cb4da(0xb4))/0xd);if(_0x17c31a===_0x49af9c)break;else _0x3a84be['push'](_0x3a84be['shift']());}catch(_0x410bce){_0x3a84be['push'](_0x3a84be['shift']());}}}(a46_0x1ef1,0x35721));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':'skill','command':a46_0x40e73a(0xb7),'description':a46_0x40e73a(0xb8),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
1
+ const a46_0x565912=a46_0x1dd3;function a46_0x23fd(){const _0x1ee56b=['3039388bxSCxO','write','66652rrjArK','3113751KNmBmQ','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','1426594XigDRS','35286440baSwzC','10166240mrJCTj','1020792rXMcka','push','125dfsrNP'];a46_0x23fd=function(){return _0x1ee56b;};return a46_0x23fd();}(function(_0x1a06c2,_0x4d306d){const _0x133492=a46_0x1dd3,_0x42d54f=_0x1a06c2();while(!![]){try{const _0x5de0d5=-parseInt(_0x133492(0x1e1))/0x1+-parseInt(_0x133492(0x1dc))/0x2+parseInt(_0x133492(0x1df))/0x3+-parseInt(_0x133492(0x1de))/0x4*(parseInt(_0x133492(0x1db))/0x5)+parseInt(_0x133492(0x1d9))/0x6+-parseInt(_0x133492(0x1d8))/0x7+parseInt(_0x133492(0x1e2))/0x8;if(_0x5de0d5===_0x4d306d)break;else _0x42d54f['push'](_0x42d54f['shift']());}catch(_0x36a198){_0x42d54f['push'](_0x42d54f['shift']());}}}(a46_0x23fd,0xc4357));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';function a46_0x1dd3(_0x3734c0,_0x25a97e){_0x3734c0=_0x3734c0-0x1d8;const _0x23fdf2=a46_0x23fd();let _0x1dd3d3=_0x23fdf2[_0x3734c0];return _0x1dd3d3;}import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':'skill','command':a46_0x565912(0x1da),'description':a46_0x565912(0x1e0),'risk':a46_0x565912(0x1dd),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
@@ -1 +1 @@
1
- const a47_0x2c7186=a47_0x2289;function a47_0x2289(_0xc601db,_0x46ff1e){_0xc601db=_0xc601db-0x1b7;const _0x348ad4=a47_0x348a();let _0x228958=_0x348ad4[_0xc601db];return _0x228958;}(function(_0x2bb2a5,_0x26f434){const _0x49d162=a47_0x2289,_0x343955=_0x2bb2a5();while(!![]){try{const _0x802f98=parseInt(_0x49d162(0x1bb))/0x1+parseInt(_0x49d162(0x1b8))/0x2+-parseInt(_0x49d162(0x1bf))/0x3+parseInt(_0x49d162(0x1ca))/0x4*(-parseInt(_0x49d162(0x1b9))/0x5)+parseInt(_0x49d162(0x1c9))/0x6+parseInt(_0x49d162(0x1c7))/0x7*(-parseInt(_0x49d162(0x1c3))/0x8)+-parseInt(_0x49d162(0x1be))/0x9*(parseInt(_0x49d162(0x1c1))/0xa);if(_0x802f98===_0x26f434)break;else _0x343955['push'](_0x343955['shift']());}catch(_0x15cefe){_0x343955['push'](_0x343955['shift']());}}}(a47_0x348a,0x729ba));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x348a(){const _0x47edca=['1272308NUJzaT','985VfTBPl','read','209384nJVZzK','validate','errors','5291523coodYX','70140VAUScq','type','10OpaJNK','dir','194320kGMQQW','warnings','skill','str','112MsuhWa','bool','4610766eqOjyc','2936tCxyQH','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package'];a47_0x348a=function(){return _0x47edca;};return a47_0x348a();}export const validateCommand={'service':a47_0x2c7186(0x1c5),'command':a47_0x2c7186(0x1bc),'description':a47_0x2c7186(0x1b7),'risk':a47_0x2c7186(0x1ba),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0xf1355d){const _0x5dd257=a47_0x2c7186,_0x1b24bd=_0xf1355d[_0x5dd257(0x1c8)]('strict'),_0x312c65=validateSkillDirectory(_0xf1355d[_0x5dd257(0x1c6)](_0x5dd257(0x1c2)),{'strict':_0x1b24bd});return throwIfSkillValidationFailed(_0x312c65,_0x1b24bd),{'ok':!![],'data':{'dir':_0x312c65[_0x5dd257(0x1c2)],'type':_0x312c65[_0x5dd257(0x1c0)],'errors':_0x312c65[_0x5dd257(0x1bd)],'warnings':_0x312c65[_0x5dd257(0x1c4)]},'message':'Skill\x20validation\x20passed.'};}};
1
+ const a47_0x490efe=a47_0x27b1;(function(_0x531c30,_0x40a12a){const _0x8c3ce=a47_0x27b1,_0xb44c4c=_0x531c30();while(!![]){try{const _0x419abb=parseInt(_0x8c3ce(0x185))/0x1*(parseInt(_0x8c3ce(0x18c))/0x2)+-parseInt(_0x8c3ce(0x18f))/0x3+-parseInt(_0x8c3ce(0x184))/0x4+-parseInt(_0x8c3ce(0x191))/0x5*(parseInt(_0x8c3ce(0x18b))/0x6)+-parseInt(_0x8c3ce(0x186))/0x7*(parseInt(_0x8c3ce(0x190))/0x8)+-parseInt(_0x8c3ce(0x187))/0x9*(-parseInt(_0x8c3ce(0x183))/0xa)+parseInt(_0x8c3ce(0x189))/0xb;if(_0x419abb===_0x40a12a)break;else _0xb44c4c['push'](_0xb44c4c['shift']());}catch(_0x2b6757){_0xb44c4c['push'](_0xb44c4c['shift']());}}}(a47_0x8e11,0xe45e6));function a47_0x8e11(){const _0x32e8f4=['4638XMhlyX','2kBRBub','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','str','2881890hQREps','880hkoPUR','11525fbxKkM','type','skill','1090640alEgvt','111404OVHRSi','53675RDNVkX','37373dTeTFi','18xEJAzY','validate','44232441VxtcJy','read'];a47_0x8e11=function(){return _0x32e8f4;};return a47_0x8e11();}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';function a47_0x27b1(_0x54b9b5,_0x311c09){_0x54b9b5=_0x54b9b5-0x181;const _0x8e1152=a47_0x8e11();let _0x27b1c9=_0x8e1152[_0x54b9b5];return _0x27b1c9;}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a47_0x490efe(0x182),'command':a47_0x490efe(0x188),'description':a47_0x490efe(0x18d),'risk':a47_0x490efe(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x58ab67){const _0x229096=a47_0x490efe,_0x5ca204=_0x58ab67['bool']('strict'),_0x5733aa=validateSkillDirectory(_0x58ab67[_0x229096(0x18e)]('dir'),{'strict':_0x5ca204});return throwIfSkillValidationFailed(_0x5733aa,_0x5ca204),{'ok':!![],'data':{'dir':_0x5733aa['dir'],'type':_0x5733aa[_0x229096(0x181)],'errors':_0x5733aa['errors'],'warnings':_0x5733aa['warnings']},'message':'Skill\x20validation\x20passed.'};}};
@@ -1 +1 @@
1
- const a48_0x47fa70=a48_0x1aa1;(function(_0x1c455a,_0x355967){const _0x2c1eb3=a48_0x1aa1,_0x47c8f1=_0x1c455a();while(!![]){try{const _0x4ec511=-parseInt(_0x2c1eb3(0x1e5))/0x1*(parseInt(_0x2c1eb3(0x1ec))/0x2)+-parseInt(_0x2c1eb3(0x1e6))/0x3+-parseInt(_0x2c1eb3(0x1cf))/0x4*(parseInt(_0x2c1eb3(0x1dc))/0x5)+-parseInt(_0x2c1eb3(0x1d1))/0x6+-parseInt(_0x2c1eb3(0x1e4))/0x7*(-parseInt(_0x2c1eb3(0x1d3))/0x8)+parseInt(_0x2c1eb3(0x1d7))/0x9*(parseInt(_0x2c1eb3(0x1ee))/0xa)+parseInt(_0x2c1eb3(0x1e7))/0xb;if(_0x4ec511===_0x355967)break;else _0x47c8f1['push'](_0x47c8f1['shift']());}catch(_0x861bbd){_0x47c8f1['push'](_0x47c8f1['shift']());}}}(a48_0x306c,0x85fc6));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';function a48_0x1aa1(_0xb51186,_0x2e55b6){_0xb51186=_0xb51186-0x1cf;const _0x306c9d=a48_0x306c();let _0x1aa155=_0x306c9d[_0xb51186];return _0x1aa155;}export const CODE_FLAG={'name':a48_0x47fa70(0x1ea),'type':a48_0x47fa70(0x1e2),'description':a48_0x47fa70(0x1dd)};export const SCOPE_FLAG={'name':a48_0x47fa70(0x1d9),'type':a48_0x47fa70(0x1e2),'description':a48_0x47fa70(0x1d2),'enum':[a48_0x47fa70(0x1df),a48_0x47fa70(0x1eb),'company']};export const PUSH_SCOPE_FLAG={'name':a48_0x47fa70(0x1d9),'type':'string','description':a48_0x47fa70(0x1e0),'default':a48_0x47fa70(0x1eb),'enum':[a48_0x47fa70(0x1eb),a48_0x47fa70(0x1d8)]};export const LIST_SCOPE_FLAG={'name':'scope','type':a48_0x47fa70(0x1e2),'description':a48_0x47fa70(0x1f0),'enum':[a48_0x47fa70(0x1df),a48_0x47fa70(0x1eb),a48_0x47fa70(0x1d8)]};export const LOCAL_FLAG={'name':a48_0x47fa70(0x1e1),'type':'boolean','description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':a48_0x47fa70(0x1ed),'type':a48_0x47fa70(0x1e2),'required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};function a48_0x306c(){const _0x1f35cc=['543157LgpmFu','1884120Iuvkeg','25082189cVAAvJ','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','confirm-warnings','code','personal','2YRMAcJ','dir','510sIzFoy','name','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','boolean','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','65708LzXYtL','type','5509062fOgQCj','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','40maHCZB','target','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','51579YaCqek','company','scope','strict','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','75UFXFpT','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','all','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','local','string','force','436947JbQCPo'];a48_0x306c=function(){return _0x1f35cc;};return a48_0x306c();}export const CREATE_NAME_FLAG={'name':a48_0x47fa70(0x1ef),'type':a48_0x47fa70(0x1e2),'required':!![],'description':a48_0x47fa70(0x1d5),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x47fa70(0x1de)}};export const TYPE_FLAG={'name':a48_0x47fa70(0x1d0),'type':'string','description':a48_0x47fa70(0x1f2),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x47fa70(0x1d4),'type':'string','description':a48_0x47fa70(0x1db),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x47fa70(0x1e3),'type':a48_0x47fa70(0x1f1),'description':a48_0x47fa70(0x1d6)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x47fa70(0x1e9),'type':'boolean','description':a48_0x47fa70(0x1e8)};export const STRICT_FLAG={'name':a48_0x47fa70(0x1da),'type':'boolean','description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};
1
+ const a48_0x7c40cf=a48_0x4d92;(function(_0x220203,_0x3b6b39){const _0x153d29=a48_0x4d92,_0x436faa=_0x220203();while(!![]){try{const _0x1295f2=-parseInt(_0x153d29(0x16e))/0x1+-parseInt(_0x153d29(0x14e))/0x2+parseInt(_0x153d29(0x150))/0x3*(-parseInt(_0x153d29(0x157))/0x4)+-parseInt(_0x153d29(0x156))/0x5+parseInt(_0x153d29(0x167))/0x6+-parseInt(_0x153d29(0x16c))/0x7*(-parseInt(_0x153d29(0x161))/0x8)+parseInt(_0x153d29(0x164))/0x9;if(_0x1295f2===_0x3b6b39)break;else _0x436faa['push'](_0x436faa['shift']());}catch(_0x8de232){_0x436faa['push'](_0x436faa['shift']());}}}(a48_0x4dcd,0xb1b81));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':'code','type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'};export const SCOPE_FLAG={'name':a48_0x7c40cf(0x165),'type':a48_0x7c40cf(0x15d),'description':a48_0x7c40cf(0x154),'enum':['all',a48_0x7c40cf(0x151),a48_0x7c40cf(0x166)]};export const PUSH_SCOPE_FLAG={'name':'scope','type':a48_0x7c40cf(0x15d),'description':a48_0x7c40cf(0x14d),'default':a48_0x7c40cf(0x151),'enum':['personal',a48_0x7c40cf(0x166)]};export const LIST_SCOPE_FLAG={'name':'scope','type':'string','description':'Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','enum':[a48_0x7c40cf(0x153),a48_0x7c40cf(0x151),a48_0x7c40cf(0x166)]};export const LOCAL_FLAG={'name':a48_0x7c40cf(0x159),'type':a48_0x7c40cf(0x163),'description':a48_0x7c40cf(0x158)};export const DIR_FLAG={'name':a48_0x7c40cf(0x15f),'type':a48_0x7c40cf(0x15d),'required':!![],'description':a48_0x7c40cf(0x160)};export const CREATE_NAME_FLAG={'name':a48_0x7c40cf(0x155),'type':a48_0x7c40cf(0x15d),'required':!![],'description':a48_0x7c40cf(0x14f),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x7c40cf(0x16b)}};export const TYPE_FLAG={'name':a48_0x7c40cf(0x152),'type':a48_0x7c40cf(0x15d),'description':a48_0x7c40cf(0x15e),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x7c40cf(0x169),'type':'string','description':a48_0x7c40cf(0x15b),'default':DEFAULT_SKILL_TARGET};function a48_0x4d92(_0x11a7b6,_0x6429c){_0x11a7b6=_0x11a7b6-0x14d;const _0x4dcdd2=a48_0x4dcd();let _0x4d92ff=_0x4dcdd2[_0x11a7b6];return _0x4d92ff;}export const FORCE_FLAG={'name':a48_0x7c40cf(0x15a),'type':a48_0x7c40cf(0x163),'description':a48_0x7c40cf(0x15c)};function a48_0x4dcd(){const _0x40eb3b=['target','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','256550HTYCBg','confirm-warnings','1284800ztwuxv','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','2626720gWqBUJ','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','117891BPrKes','personal','type','all','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','name','6436430XvvQgF','124VFeStP','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','local','force','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','string','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','dir','Local\x20Skill\x20directory\x20containing\x20SKILL.md','48PZrHXu','strict','boolean','48308022ZWePxc','scope','company','1464792cpfNAe','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings'];a48_0x4dcd=function(){return _0x40eb3b;};return a48_0x4dcd();}export const CONFIRM_WARNINGS_FLAG={'name':a48_0x7c40cf(0x16d),'type':'boolean','description':a48_0x7c40cf(0x168)};export const STRICT_FLAG={'name':a48_0x7c40cf(0x162),'type':a48_0x7c40cf(0x163),'description':a48_0x7c40cf(0x16a)};
@@ -1 +1 @@
1
- (function(_0xfdade9,_0x23dedc){const _0x5c7d40=a49_0x3a42,_0x1f79fd=_0xfdade9();while(!![]){try{const _0x191341=parseInt(_0x5c7d40(0x92))/0x1*(-parseInt(_0x5c7d40(0x93))/0x2)+parseInt(_0x5c7d40(0x98))/0x3*(-parseInt(_0x5c7d40(0x94))/0x4)+-parseInt(_0x5c7d40(0x95))/0x5*(parseInt(_0x5c7d40(0x9a))/0x6)+-parseInt(_0x5c7d40(0x99))/0x7+parseInt(_0x5c7d40(0x9b))/0x8+parseInt(_0x5c7d40(0x97))/0x9+parseInt(_0x5c7d40(0x96))/0xa;if(_0x191341===_0x23dedc)break;else _0x1f79fd['push'](_0x1f79fd['shift']());}catch(_0x40d16f){_0x1f79fd['push'](_0x1f79fd['shift']());}}}(a49_0x191b,0x8c93b));import{createCommand}from'./commands/create.js';function a49_0x3a42(_0x2e408d,_0x4a600c){_0x2e408d=_0x2e408d-0x92;const _0x191bb4=a49_0x191b();let _0x3a42bc=_0x191bb4[_0x2e408d];return _0x3a42bc;}import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];function a49_0x191b(){const _0x1b68af=['1516992pqgyxd','1huajay','930838PJKZrJ','185648URAocT','5JqMwck','23998360PboiAV','4139460cmykeK','6cjJHLT','5657491uiaayr','6642846sCcixi'];a49_0x191b=function(){return _0x1b68af;};return a49_0x191b();}
1
+ (function(_0x4b0ee4,_0x414c3f){const _0x5887b5=a49_0x131c,_0x23a650=_0x4b0ee4();while(!![]){try{const _0x58c320=parseInt(_0x5887b5(0x115))/0x1+parseInt(_0x5887b5(0x119))/0x2*(-parseInt(_0x5887b5(0x110))/0x3)+-parseInt(_0x5887b5(0x112))/0x4+parseInt(_0x5887b5(0x118))/0x5+parseInt(_0x5887b5(0x117))/0x6*(-parseInt(_0x5887b5(0x116))/0x7)+-parseInt(_0x5887b5(0x10f))/0x8*(-parseInt(_0x5887b5(0x114))/0x9)+-parseInt(_0x5887b5(0x111))/0xa*(-parseInt(_0x5887b5(0x113))/0xb);if(_0x58c320===_0x414c3f)break;else _0x23a650['push'](_0x23a650['shift']());}catch(_0x168f67){_0x23a650['push'](_0x23a650['shift']());}}}(a49_0x1dc2,0x419a7));function a49_0x1dc2(){const _0x5002c9=['495znOHjY','4834782SqyDPH','210944nEUOQP','5131SXCgaP','2994xWwRLj','899405PcVjiA','334vJnStt','8XVNRNQ','3207seGXnA','21770ZYNmJm','851948AkyuwS'];a49_0x1dc2=function(){return _0x5002c9;};return a49_0x1dc2();}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';function a49_0x131c(_0x221575,_0x70588a){_0x221575=_0x221575-0x10f;const _0x1dc2ec=a49_0x1dc2();let _0x131cc5=_0x1dc2ec[_0x221575];return _0x131cc5;}import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
@@ -1 +1 @@
1
- (function(_0x3257d7,_0x1a44e3){var _0x9e3481=a50_0x2351,_0x3ac9a2=_0x3257d7();while(!![]){try{var _0x456eb7=-parseInt(_0x9e3481(0x183))/0x1+-parseInt(_0x9e3481(0x17f))/0x2+parseInt(_0x9e3481(0x17e))/0x3*(-parseInt(_0x9e3481(0x17d))/0x4)+-parseInt(_0x9e3481(0x17b))/0x5+-parseInt(_0x9e3481(0x181))/0x6+parseInt(_0x9e3481(0x186))/0x7+parseInt(_0x9e3481(0x18b))/0x8*(parseInt(_0x9e3481(0x180))/0x9);if(_0x456eb7===_0x1a44e3)break;else _0x3ac9a2['push'](_0x3ac9a2['shift']());}catch(_0x251c7f){_0x3ac9a2['push'](_0x3ac9a2['shift']());}}}(a50_0x43ab,0xb14c5));function a50_0x2351(_0x4ee5c6,_0x376f43){_0x4ee5c6=_0x4ee5c6-0x17b;var _0x43ab60=a50_0x43ab();var _0x2351d7=_0x43ab60[_0x4ee5c6];return _0x2351d7;}function a50_0x43ab(){var _0x53239f=['1362418PXvUEM','22923bSeaHT','1571832aFmdTx','SKILL.md','602619Mgashz','object','files','365876uabEcR','some','isArray','path','string','11976OrMwbD','length','5720945IugpYj','ossPath','1795700IlipWY','3NAxhXX'];a50_0x43ab=function(){return _0x53239f;};return a50_0x43ab();}export function isPackageBackedManifest(_0xa3963f){var _0x285db3=a50_0x2351;return!!_0xa3963f&&typeof _0xa3963f==='object'&&!Array[_0x285db3(0x188)](_0xa3963f)&&typeof _0xa3963f[_0x285db3(0x17c)]===_0x285db3(0x18a)&&_0xa3963f[_0x285db3(0x17c)][_0x285db3(0x18c)]>0x0&&Array['isArray'](_0xa3963f[_0x285db3(0x185)]);}export function isMultiFileManifest(_0x3fe665){var _0x5c13d0=a50_0x2351;return!!_0x3fe665&&typeof _0x3fe665===_0x5c13d0(0x184)&&!Array[_0x5c13d0(0x188)](_0x3fe665)&&Array['isArray'](_0x3fe665[_0x5c13d0(0x185)])&&_0x3fe665[_0x5c13d0(0x185)][_0x5c13d0(0x187)](_0x3710fa=>_0x3710fa[_0x5c13d0(0x189)]!==_0x5c13d0(0x182));}
1
+ (function(_0x2d8bf2,_0x476562){var _0x590808=a50_0x82b4,_0x140bb7=_0x2d8bf2();while(!![]){try{var _0x191515=parseInt(_0x590808(0xfa))/0x1*(parseInt(_0x590808(0x104))/0x2)+parseInt(_0x590808(0xfc))/0x3+parseInt(_0x590808(0x105))/0x4*(-parseInt(_0x590808(0xfd))/0x5)+-parseInt(_0x590808(0x100))/0x6*(parseInt(_0x590808(0x103))/0x7)+-parseInt(_0x590808(0x107))/0x8+parseInt(_0x590808(0xf9))/0x9+parseInt(_0x590808(0x102))/0xa*(-parseInt(_0x590808(0x101))/0xb);if(_0x191515===_0x476562)break;else _0x140bb7['push'](_0x140bb7['shift']());}catch(_0x13c73b){_0x140bb7['push'](_0x140bb7['shift']());}}}(a50_0xdf2b,0x61da7));function a50_0x82b4(_0x3ff783,_0x39929c){_0x3ff783=_0x3ff783-0xf5;var _0xdf2b7f=a50_0xdf2b();var _0x82b48a=_0xdf2b7f[_0x3ff783];return _0x82b48a;}export function isPackageBackedManifest(_0x2e4e5d){var _0xd4fbb7=a50_0x82b4;return!!_0x2e4e5d&&typeof _0x2e4e5d==='object'&&!Array['isArray'](_0x2e4e5d)&&typeof _0x2e4e5d[_0xd4fbb7(0xf8)]==='string'&&_0x2e4e5d[_0xd4fbb7(0xf8)][_0xd4fbb7(0xf7)]>0x0&&Array[_0xd4fbb7(0xfb)](_0x2e4e5d[_0xd4fbb7(0xff)]);}function a50_0xdf2b(){var _0x25880d=['238324UNXJsP','object','5568008gqKPJR','path','some','length','ossPath','5616360yXoCaX','7199fDBNRG','isArray','1657122PsjUhH','5dVyPjp','SKILL.md','files','78138xFVzQU','11VBKORV','4184750LaUPLL','196sFkWyl','212atKyaS'];a50_0xdf2b=function(){return _0x25880d;};return a50_0xdf2b();}export function isMultiFileManifest(_0x217c05){var _0x2e3108=a50_0x82b4;return!!_0x217c05&&typeof _0x217c05===_0x2e3108(0x106)&&!Array[_0x2e3108(0xfb)](_0x217c05)&&Array[_0x2e3108(0xfb)](_0x217c05[_0x2e3108(0xff)])&&_0x217c05[_0x2e3108(0xff)][_0x2e3108(0xf6)](_0x45a0df=>_0x45a0df[_0x2e3108(0xf5)]!==_0x2e3108(0xfe));}