@lovrabet/lovrabet-cli 2.1.9-beta.2 → 2.1.9-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 (119) hide show
  1. package/NOTICE +5 -0
  2. package/README.md +156 -0
  3. package/lib/cli.js +1 -1
  4. package/lib/commands/api-doc/index.js +1 -1
  5. package/lib/commands/app/cache.js +1 -1
  6. package/lib/commands/app/definitions.js +1 -1
  7. package/lib/commands/app/eligibility.js +1 -1
  8. package/lib/commands/app/mock-loader.js +1 -1
  9. package/lib/commands/app/remote-source.js +1 -1
  10. package/lib/commands/app/shared.js +1 -1
  11. package/lib/commands/app-config/get.js +1 -1
  12. package/lib/commands/app-config/index.js +1 -1
  13. package/lib/commands/app-config/shared.js +1 -1
  14. package/lib/commands/artifact/index.js +1 -1
  15. package/lib/commands/auth/index.js +1 -1
  16. package/lib/commands/auth/prompt.js +1 -1
  17. package/lib/commands/bff/detail.js +1 -1
  18. package/lib/commands/bff/exec.js +1 -1
  19. package/lib/commands/bff/index.js +1 -1
  20. package/lib/commands/cli-skill/index.js +1 -1
  21. package/lib/commands/common/config-policy.js +1 -1
  22. package/lib/commands/common/constraints.js +1 -1
  23. package/lib/commands/common/flags.js +1 -1
  24. package/lib/commands/common/local-file.js +1 -1
  25. package/lib/commands/config/definitions.js +1 -1
  26. package/lib/commands/config/shared.js +1 -1
  27. package/lib/commands/data/index.js +1 -1
  28. package/lib/commands/dataset/detail.js +1 -1
  29. package/lib/commands/dataset/index.js +1 -1
  30. package/lib/commands/dataset/list.js +1 -1
  31. package/lib/commands/dataset/sdk-doc.js +1 -1
  32. package/lib/commands/doctor.js +1 -1
  33. package/lib/commands/file/index.js +1 -1
  34. package/lib/commands/init.js +1 -1
  35. package/lib/commands/kb/index.js +1 -1
  36. package/lib/commands/logs/index.js +1 -1
  37. package/lib/commands/ocr/index.js +1 -1
  38. package/lib/commands/personal-bff/index.js +1 -1
  39. package/lib/commands/registry.js +1 -1
  40. package/lib/commands/schema.js +1 -1
  41. package/lib/commands/service/dynamic.js +1 -1
  42. package/lib/commands/service/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/response.js +1 -1
  89. package/lib/framework/runner-confirmation.js +1 -1
  90. package/lib/framework/runner-error.js +1 -1
  91. package/lib/framework/runner.js +1 -1
  92. package/lib/framework/schema-export.js +1 -1
  93. package/lib/framework/service-order.js +1 -1
  94. package/lib/framework/types.js +1 -1
  95. package/lib/generated/build-info.js +1 -1
  96. package/lib/help.js +1 -1
  97. package/lib/skills/npx-skills-add.js +1 -1
  98. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  99. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  100. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  101. package/lib/skills/runtime-skill-sync/links.js +1 -1
  102. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  103. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  104. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  105. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  106. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  107. package/lib/skills/runtime-skill-sync/push.js +1 -1
  108. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  109. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  110. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  111. package/lib/skills/runtime-skill-sync.js +1 -1
  112. package/lib/utils/apply-jq-filter.js +1 -1
  113. package/lib/utils/logger.js +1 -1
  114. package/lib/utils/params.js +1 -1
  115. package/lib/utils/platform.js +1 -1
  116. package/lib/utils/update-notice.js +1 -1
  117. package/lib/utils/version.js +1 -1
  118. package/lib/utils/write-cli-side-channel.js +1 -1
  119. package/package.json +18 -2
@@ -1 +1 @@
1
- (function(_0x219e05,_0x57361a){const _0x102199=a38_0x27e2,_0x52845f=_0x219e05();while(!![]){try{const _0x1e423a=-parseInt(_0x102199(0x126))/0x1+parseInt(_0x102199(0x16f))/0x2+parseInt(_0x102199(0x14b))/0x3+-parseInt(_0x102199(0x11b))/0x4+parseInt(_0x102199(0x133))/0x5+parseInt(_0x102199(0x118))/0x6*(-parseInt(_0x102199(0x134))/0x7)+parseInt(_0x102199(0x142))/0x8*(parseInt(_0x102199(0x147))/0x9);if(_0x1e423a===_0x57361a)break;else _0x52845f['push'](_0x52845f['shift']());}catch(_0x347612){_0x52845f['push'](_0x52845f['shift']());}}}(a38_0x1445,0xb5503));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(_0x48b01f,_0x4cfede){const _0x1fa76b=a38_0x27e2,_0x5ddd36=listLocalServiceTrees();let _0x4c7aca;for(const _0xc1ec5d of _0x5ddd36){const _0x2e8093=matchServiceTreeCommand(_0xc1ec5d,_0x48b01f);if(!_0x2e8093)continue;(!_0x4c7aca||_0x2e8093[_0x1fa76b(0x11d)][_0x1fa76b(0x14c)][_0x1fa76b(0x16a)]>_0x4c7aca[_0x1fa76b(0x11d)][_0x1fa76b(0x14c)][_0x1fa76b(0x16a)])&&(_0x4c7aca={'tree':_0xc1ec5d,'command':_0x2e8093[_0x1fa76b(0x11d)],'remainingArgs':_0x2e8093['remainingArgs']});}if(!_0x4c7aca)return undefined;const _0x294474={..._0x4cfede};return applyAppBinding(_0x4c7aca['tree'],_0x4c7aca[_0x1fa76b(0x11d)],_0x294474),{'definition':buildDynamicCommandDefinition(_0x4c7aca[_0x1fa76b(0x143)],_0x4c7aca[_0x1fa76b(0x11d)]),'args':_0x4c7aca[_0x1fa76b(0x15f)],'flags':_0x294474,'tree':_0x4c7aca[_0x1fa76b(0x143)],'command':_0x4c7aca['command']};}function a38_0x1445(){const _0x37aef8=['nickName','trim','6162584ktOSIw','tree','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','find','bff','18uWhIGf','app','read','Run\x20service\x20command\x20','2008530QAophN','fullPath','Preview\x20dynamic\x20service\x20command:\x20','service','\x20\x20\x20\x20sqlCode:\x20','operator','\x22\x20in\x20service\x20command\x20','bffCode','args','kind','\x20\x20\x20\x20kind:\x20\x20\x20\x20','appcode','ctx.','tenantCode','description','required','\x20\x20\x20\x20scriptName:\x20','userName','SERVICE_TREE','userId','remainingArgs','name','push','source','bffId','normalizedManifest','nickname','string','Unknown\x20appRef\x20\x22','\x20\x20[','envName','length','join','mapTo','boolean','type','1069402EXQBRE','\x20\x20\x20\x20datasetCode:\x20','appCode','json','now','sqlCode','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','scriptName','code','map','96042eDmTzt','filter','env','1653884EiepBK','Cannot\x20resolve\x20datatable\x20\x22','command','\x20\x20\x20\x20datatable:\x20','dbtableConfig','cliPath','data','risk','validation','rawFlags','`\x20to\x20inspect\x20the\x20manifest.','1397326hAGNZl','appRef','commands','enum','number','slice','\x20\x20MAP\x20TO','some','context.','\x20<command>\x20[flags]','params','Service\x20command\x20','datasetCode','2564535xGlpag','308tBVXFK','appBindings','datatable','flags','\x20\x20SERVICE\x20TREE\x20TARGET','cliName','target','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','\x20->\x20','Use\x20`','\x20requires\x20target.scriptName.','sql'];a38_0x1445=function(){return _0x37aef8;};return a38_0x1445();}export function generateDynamicServiceHelp(_0x49b820){const _0x3f8063=a38_0x27e2,_0x1af058=listLocalServiceTrees()[_0x3f8063(0x145)](_0x54ec3c=>_0x54ec3c[_0x3f8063(0x14e)][_0x3f8063(0x116)]===_0x49b820);if(!_0x1af058)return undefined;const _0x406c39=[CLI_BIN_NAME+'\x20'+_0x49b820+_0x3f8063(0x12f),'',_0x1af058[_0x3f8063(0x14e)]['name']||_0x49b820,_0x1af058[_0x3f8063(0x14e)][_0x3f8063(0x159)]?'\x20\x20'+_0x1af058[_0x3f8063(0x14e)][_0x3f8063(0x159)]:'','','Commands:',..._0x1af058[_0x3f8063(0x128)][_0x3f8063(0x117)](_0x1565ce=>{const _0x4001f6=_0x3f8063,_0x44730a=_0x1565ce['fullPath'][_0x4001f6(0x12b)](0x1)[_0x4001f6(0x16b)]('\x20'),_0x376a72=_0x1565ce[_0x4001f6(0x122)]===_0x4001f6(0x149)?'':'\x20['+_0x1565ce[_0x4001f6(0x122)]+']';return'\x20\x20'+_0x44730a['padEnd'](0x18)+'\x20'+(_0x1565ce[_0x4001f6(0x159)]||'')+_0x376a72;}),'',_0x3f8063(0x13d)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x49b820+_0x3f8063(0x125)][_0x3f8063(0x119)](Boolean);return _0x406c39['join']('\x0a');}export function listDynamicServiceEntries(){const _0x2a855a=a38_0x27e2;return listLocalServices()[_0x2a855a(0x117)](_0x2c4ab3=>{const _0x29349c=_0x2a855a,_0x3a17ab=_0x2c4ab3[_0x29349c(0x164)];return{'service':_0x3a17ab[_0x29349c(0x14e)][_0x29349c(0x116)],'label':_0x3a17ab[_0x29349c(0x14e)][_0x29349c(0x160)]||_0x3a17ab[_0x29349c(0x14e)][_0x29349c(0x116)],'commands':_0x3a17ab[_0x29349c(0x128)][_0x29349c(0x117)](_0x15fc49=>({'command':dynamicCommandName(_0x15fc49),'description':_0x15fc49[_0x29349c(0x159)]||_0x29349c(0x14a)+_0x15fc49[_0x29349c(0x120)],'tag':riskTag(_0x15fc49['risk'])}))};});}export function getDynamicServiceEntry(_0x46eaed){const _0x16d2e7=a38_0x27e2;return listDynamicServiceEntries()[_0x16d2e7(0x145)](_0x1df146=>_0x1df146[_0x16d2e7(0x14e)]===_0x46eaed);}export function listDynamicServiceDefinitions(_0x417097){const _0x637252=a38_0x27e2;return listLocalServiceTrees()[_0x637252(0x119)](_0x45b69a=>!_0x417097||_0x45b69a[_0x637252(0x14e)][_0x637252(0x116)]===_0x417097)['flatMap'](_0x53e5df=>_0x53e5df[_0x637252(0x128)][_0x637252(0x117)](_0x58983e=>buildDynamicCommandDefinition(_0x53e5df,_0x58983e)));}export function getDynamicServiceDefinitions(_0xca1471){const _0x2403cf=a38_0x27e2,_0x4f8041=listDynamicServiceDefinitions(_0xca1471);return _0x4f8041[_0x2403cf(0x16a)]>0x0?_0x4f8041:undefined;}export function findDynamicServiceDefinition(_0x2b022f,_0x1c0659){const _0x454533=a38_0x27e2;return listDynamicServiceDefinitions(_0x2b022f)['find'](_0x199438=>_0x199438[_0x454533(0x11d)]===_0x1c0659);}export function buildDynamicCommandDefinition(_0x1db319,_0x35dd2a){const _0x5c3a09=a38_0x27e2;return{'service':_0x1db319['service'][_0x5c3a09(0x116)],'command':dynamicCommandName(_0x35dd2a),'description':_0x35dd2a[_0x5c3a09(0x159)]||_0x5c3a09(0x14a)+_0x35dd2a['cliPath'],'risk':_0x35dd2a[_0x5c3a09(0x122)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x35dd2a[_0x5c3a09(0x153)][_0x5c3a09(0x117)](_0x5da729=>({'name':_0x5da729[_0x5c3a09(0x160)],'description':_0x5da729[_0x5c3a09(0x159)]||_0x5da729['name'],'required':_0x5da729['required']})),'flags':_0x35dd2a[_0x5c3a09(0x137)][_0x5c3a09(0x117)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x35dd2a),async 'dryRun'(_0x11b9fc){const _0x5b8b56=_0x5c3a09,_0x42e657=await compilePlan(_0x35dd2a,_0x11b9fc);return{'method':_0x5b8b56(0x15d),'url':_0x35dd2a['cliPath'],'body':{'target':targetPreview(_0x42e657),'params':_0x42e657['params']},'description':_0x5b8b56(0x14d)+_0x35dd2a[_0x5b8b56(0x120)]};},async 'execute'(_0x400aae){const _0x526d57=_0x5c3a09,_0x268018=await compilePlan(_0x35dd2a,_0x400aae),_0x2c7ae6=Date[_0x526d57(0x112)](),_0x44a5dc=await executePlan(_0x268018,_0x35dd2a,_0x400aae),_0x483593=Date[_0x526d57(0x112)]()-_0x2c7ae6;return{'ok':!![],'data':{'service':_0x1db319[_0x526d57(0x14e)],'command':_0x35dd2a[_0x526d57(0x120)],'target':targetPreview(_0x268018),'result':_0x44a5dc,'elapsed':_0x483593},'message':'Service\x20command\x20'+_0x35dd2a[_0x526d57(0x120)]+'\x20completed\x20in\x20'+_0x483593+'ms'};}};}function dynamicCommandName(_0x175b97){const _0x288a45=a38_0x27e2;return _0x175b97[_0x288a45(0x14c)][_0x288a45(0x12b)](0x1)[_0x288a45(0x16b)]('\x20');}function riskTag(_0x3c1184){const _0x1c42a6=a38_0x27e2;return _0x3c1184===_0x1c42a6(0x149)?'':_0x1c42a6(0x168)+_0x3c1184+']';}function flagToCommandFlag(_0x43f435){const _0x52a561=a38_0x27e2;return{'name':_0x43f435[_0x52a561(0x139)],'type':_0x43f435['type']===_0x52a561(0x111)?_0x52a561(0x166):_0x43f435[_0x52a561(0x16e)],'description':_0x43f435[_0x52a561(0x159)]||_0x43f435[_0x52a561(0x160)],'required':_0x43f435[_0x52a561(0x15a)],'default':isPrimitiveFlagDefault(_0x43f435['default'])?_0x43f435['default']:undefined,'enum':_0x43f435[_0x52a561(0x129)]};}async function compilePlan(_0x3562bb,_0x433a94){const _0x12c104=a38_0x27e2;return compileServiceTreeCommand(_0x3562bb,{'flags':_0x433a94[_0x12c104(0x124)],'args':_0x433a94[_0x12c104(0x153)],'context':await buildServiceContext(_0x3562bb,_0x433a94)});}async function buildServiceContext(_0x48b3b4,_0x1f2488){const _0x458c8e=a38_0x27e2,_0x44f843={'appCode':_0x1f2488[_0x458c8e(0x110)],'env':_0x1f2488[_0x458c8e(0x169)],'envName':_0x1f2488[_0x458c8e(0x169)]};if(!usesRuntimeContext(_0x48b3b4))return _0x44f843;const _0x27f12b=await getLoginUserInfo(),_0x25eee0=pickFirst(_0x27f12b[_0x458c8e(0x15e)],_0x27f12b['id']);return{..._0x44f843,'user':_0x27f12b,'userId':_0x25eee0,'id':_0x27f12b['id'],'username':pickFirst(_0x27f12b['username'],_0x27f12b[_0x458c8e(0x15c)],_0x27f12b['loginName']),'userName':_0x27f12b[_0x458c8e(0x15c)],'nickname':pickFirst(_0x27f12b[_0x458c8e(0x165)],_0x27f12b[_0x458c8e(0x140)]),'nickName':_0x27f12b['nickName'],'tenantCode':_0x27f12b[_0x458c8e(0x158)],'employeeId':_0x27f12b['employeeId']};}function usesRuntimeContext(_0x820926){const _0x4883ae=a38_0x27e2;return _0x820926[_0x4883ae(0x16c)][_0x4883ae(0x12d)](_0x1974dd=>typeof _0x1974dd[_0x4883ae(0x162)]==='string'&&(_0x1974dd['source']['startsWith'](_0x4883ae(0x12e))||_0x1974dd[_0x4883ae(0x162)]['startsWith'](_0x4883ae(0x157))));}function pickFirst(..._0x2cb268){return _0x2cb268['find'](_0x56f1c9=>_0x56f1c9!==undefined&&_0x56f1c9!==null);}async function executePlan(_0x5e298a,_0x3bdf5b,_0x4f8795){const _0x10580f=a38_0x27e2;if(_0x5e298a[_0x10580f(0x154)]===_0x10580f(0x121)){const _0x3f8459=await resolveDatasetCode(_0x5e298a,_0x3bdf5b,_0x4f8795);return executeData(_0x3f8459,_0x5e298a[_0x10580f(0x11d)],_0x5e298a[_0x10580f(0x130)]);}if(_0x5e298a[_0x10580f(0x154)]===_0x10580f(0x13f)){if(!_0x5e298a[_0x10580f(0x113)])throw CliErrors['validation']('Service\x20command\x20'+_0x3bdf5b[_0x10580f(0x120)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x5e298a[_0x10580f(0x113)],normalizeScalarParams(_0x5e298a[_0x10580f(0x130)]));}if(_0x5e298a[_0x10580f(0x154)]===_0x10580f(0x146)){const _0x132a81=_0x5e298a['scriptName']||_0x5e298a[_0x10580f(0x152)]||(_0x5e298a[_0x10580f(0x163)]==null?'':String(_0x5e298a[_0x10580f(0x163)]));if(!_0x132a81)throw CliErrors[_0x10580f(0x123)](_0x10580f(0x131)+_0x3bdf5b['cliPath']+_0x10580f(0x13e));return executeSdkBff(_0x132a81,_0x5e298a[_0x10580f(0x130)]);}throw CliErrors[_0x10580f(0x123)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x5e298a[_0x10580f(0x154)]);}async function resolveDatasetCode(_0x3fac6a,_0x193187,_0x1203f0){const _0x3957f4=a38_0x27e2;if(_0x3fac6a['datasetCode'])return _0x3fac6a['datasetCode'];if(!_0x3fac6a[_0x3957f4(0x136)])throw CliErrors[_0x3957f4(0x123)](_0x3957f4(0x131)+_0x193187[_0x3957f4(0x120)]+_0x3957f4(0x13b));const _0x538fd3=await listDatasets(_0x1203f0[_0x3957f4(0x110)]),_0x16af15=_0x538fd3[_0x3957f4(0x145)](_0x3737e6=>_0x3737e6[_0x3957f4(0x11f)]?.['tableName']===_0x3fac6a[_0x3957f4(0x136)]);if(!_0x16af15?.[_0x3957f4(0x116)])throw CliErrors['validation'](_0x3957f4(0x11c)+_0x3fac6a[_0x3957f4(0x136)]+_0x3957f4(0x144)+_0x1203f0[_0x3957f4(0x110)]+'.',_0x3957f4(0x114));return _0x16af15[_0x3957f4(0x116)];}function applyAppBinding(_0x39ac3e,_0xd6789c,_0x2c6e7d){const _0x397aca=a38_0x27e2,_0x57e3f3=_0xd6789c[_0x397aca(0x13a)][_0x397aca(0x127)];if(!_0x57e3f3)return;const _0x5465a7=_0x39ac3e[_0x397aca(0x135)][_0x57e3f3];if(!_0x5465a7)throw CliErrors[_0x397aca(0x123)](_0x397aca(0x167)+_0x57e3f3+_0x397aca(0x151)+_0xd6789c[_0x397aca(0x120)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x28ffb6=_0x5465a7[_0x397aca(0x156)]||_0x5465a7['appCode'];_0x28ffb6&&!hasText(_0x2c6e7d[_0x397aca(0x156)])&&(_0x2c6e7d[_0x397aca(0x156)]=_0x28ffb6),_0x5465a7[_0x397aca(0x148)]&&!hasText(_0x2c6e7d[_0x397aca(0x148)])&&!hasText(_0x2c6e7d[_0x397aca(0x156)])&&(_0x2c6e7d[_0x397aca(0x148)]=_0x5465a7['app']),_0x5465a7[_0x397aca(0x11a)]&&!hasText(_0x2c6e7d[_0x397aca(0x11a)])&&(_0x2c6e7d[_0x397aca(0x11a)]=_0x5465a7[_0x397aca(0x11a)]);}function renderDynamicCommandHelp(_0x4fb158){const _0x5cb80c=a38_0x27e2,_0x109804=[_0x5cb80c(0x138),_0x5cb80c(0x155)+_0x4fb158['target'][_0x5cb80c(0x154)],'\x20\x20\x20\x20command:\x20'+_0x4fb158[_0x5cb80c(0x13a)][_0x5cb80c(0x11d)]];if(_0x4fb158[_0x5cb80c(0x13a)][_0x5cb80c(0x132)])_0x109804[_0x5cb80c(0x161)](_0x5cb80c(0x10f)+_0x4fb158[_0x5cb80c(0x13a)]['datasetCode']);if(_0x4fb158[_0x5cb80c(0x13a)]['datatable'])_0x109804[_0x5cb80c(0x161)](_0x5cb80c(0x11e)+_0x4fb158['target'][_0x5cb80c(0x136)]);if(_0x4fb158[_0x5cb80c(0x13a)][_0x5cb80c(0x113)])_0x109804['push'](_0x5cb80c(0x14f)+_0x4fb158[_0x5cb80c(0x13a)]['sqlCode']);if(_0x4fb158['target'][_0x5cb80c(0x115)])_0x109804[_0x5cb80c(0x161)](_0x5cb80c(0x15b)+_0x4fb158[_0x5cb80c(0x13a)]['scriptName']);if(_0x4fb158['mapTo'][_0x5cb80c(0x16a)]>0x0){_0x109804[_0x5cb80c(0x161)]('',_0x5cb80c(0x12c));for(const _0x1b457a of _0x4fb158[_0x5cb80c(0x16c)]){_0x109804['push']('\x20\x20\x20\x20'+(_0x1b457a[_0x5cb80c(0x162)]||'const')+_0x5cb80c(0x13c)+_0x1b457a[_0x5cb80c(0x13a)]+(_0x1b457a[_0x5cb80c(0x150)]?'.'+_0x1b457a[_0x5cb80c(0x150)]:''));}}return _0x109804['join']('\x0a');}function targetPreview(_0x581edc){const _0xe1df1c=a38_0x27e2;return{'kind':_0x581edc[_0xe1df1c(0x154)],'command':_0x581edc[_0xe1df1c(0x11d)],'appRef':_0x581edc[_0xe1df1c(0x127)],'datasetCode':_0x581edc[_0xe1df1c(0x132)],'datatable':_0x581edc['datatable'],'sqlCode':_0x581edc[_0xe1df1c(0x113)],'bffCode':_0x581edc[_0xe1df1c(0x152)],'bffId':_0x581edc[_0xe1df1c(0x163)],'scriptName':_0x581edc[_0xe1df1c(0x115)]};}function a38_0x27e2(_0x5f3946,_0x2ce238){_0x5f3946=_0x5f3946-0x10f;const _0x144543=a38_0x1445();let _0x27e231=_0x144543[_0x5f3946];return _0x27e231;}function normalizeScalarParams(_0x6a6ed4){const _0x44a1a1=a38_0x27e2;return Object['fromEntries'](Object['entries'](_0x6a6ed4)[_0x44a1a1(0x119)](([,_0x44f7b5])=>typeof _0x44f7b5==='string'||typeof _0x44f7b5===_0x44a1a1(0x12a)));}function hasText(_0x31e538){const _0x47c7d5=a38_0x27e2;return typeof _0x31e538===_0x47c7d5(0x166)&&_0x31e538[_0x47c7d5(0x141)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x122bd6){const _0x5426eb=a38_0x27e2;return _0x122bd6===undefined||typeof _0x122bd6===_0x5426eb(0x166)||typeof _0x122bd6==='number'||typeof _0x122bd6===_0x5426eb(0x16d);}
1
+ function a38_0xf15c(_0x26292b,_0x48d6b0){_0x26292b=_0x26292b-0x1d6;const _0x13b3e1=a38_0x13b3();let _0xf15cc4=_0x13b3e1[_0x26292b];return _0xf15cc4;}(function(_0x85d22f,_0xfb87cc){const _0xe45d7e=a38_0xf15c,_0x13aaea=_0x85d22f();while(!![]){try{const _0x4257a1=parseInt(_0xe45d7e(0x22f))/0x1*(-parseInt(_0xe45d7e(0x209))/0x2)+parseInt(_0xe45d7e(0x1dd))/0x3*(-parseInt(_0xe45d7e(0x1f9))/0x4)+-parseInt(_0xe45d7e(0x1fc))/0x5+parseInt(_0xe45d7e(0x210))/0x6+-parseInt(_0xe45d7e(0x21e))/0x7+parseInt(_0xe45d7e(0x1fa))/0x8*(-parseInt(_0xe45d7e(0x214))/0x9)+parseInt(_0xe45d7e(0x235))/0xa;if(_0x4257a1===_0xfb87cc)break;else _0x13aaea['push'](_0x13aaea['shift']());}catch(_0x406cd9){_0x13aaea['push'](_0x13aaea['shift']());}}}(a38_0x13b3,0xcc595));function a38_0x13b3(){const _0x4b896f=['tenantCode','scriptName','SERVICE_TREE','context.','48749030rrImSe','args','target','cliName','risk','map','\x20\x20\x20\x20kind:\x20\x20\x20\x20','datatable','rawFlags','cliPath','source','mapTo','\x20\x20MAP\x20TO','loginName','3Gaqngw','const','appBindings','nickname','filter','trim','fromEntries','\x20\x20\x20\x20','normalizedManifest','padEnd','bffId','\x20\x20SERVICE\x20TREE\x20TARGET','slice','envName','default','some','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','appCode','find','now','\x20service\x20detail\x20--service\x20','enum','number','startsWith','ctx.','params','command','3164648mqEQxA','5947328SdelwZ','bffCode','605590AlWpiW','\x20->\x20','env','Service\x20command\x20','name','dbtableConfig','service','tree','validation','Unsupported\x20service\x20target\x20kind:\x20','code','tableName','username','3178018qmPTGm','\x20requires\x20target.scriptName.','entries','join','description','string','type','1315494RIpmQk','Run\x20service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','flatMap','18DddeFK','datasetCode','operator','push','data','employeeId','appRef','kind','appcode','sqlCode','1883126zFVtdY','commands','\x20\x20\x20\x20sqlCode:\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20\x20[','\x20\x20\x20\x20scriptName:\x20','nickName','fullPath','Use\x20`','length','\x20\x20\x20\x20datatable:\x20','userName','required','app','read','Commands:','boolean','1CAlZcg','userId'];a38_0x13b3=function(){return _0x4b896f;};return a38_0x13b3();}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(_0x2fdd46,_0x5e0339){const _0xe2d5a5=a38_0xf15c,_0x94454a=listLocalServiceTrees();let _0x539b5f;for(const _0x4a424c of _0x94454a){const _0x2e23da=matchServiceTreeCommand(_0x4a424c,_0x2fdd46);if(!_0x2e23da)continue;(!_0x539b5f||_0x2e23da['command'][_0xe2d5a5(0x225)][_0xe2d5a5(0x227)]>_0x539b5f[_0xe2d5a5(0x1f8)][_0xe2d5a5(0x225)][_0xe2d5a5(0x227)])&&(_0x539b5f={'tree':_0x4a424c,'command':_0x2e23da[_0xe2d5a5(0x1f8)],'remainingArgs':_0x2e23da['remainingArgs']});}if(!_0x539b5f)return undefined;const _0x469732={..._0x5e0339};return applyAppBinding(_0x539b5f[_0xe2d5a5(0x203)],_0x539b5f[_0xe2d5a5(0x1f8)],_0x469732),{'definition':buildDynamicCommandDefinition(_0x539b5f['tree'],_0x539b5f[_0xe2d5a5(0x1f8)]),'args':_0x539b5f['remainingArgs'],'flags':_0x469732,'tree':_0x539b5f[_0xe2d5a5(0x203)],'command':_0x539b5f[_0xe2d5a5(0x1f8)]};}export function generateDynamicServiceHelp(_0x1c0e05){const _0x56a859=a38_0xf15c,_0x169768=listLocalServiceTrees()[_0x56a859(0x1f0)](_0x1a3c9b=>_0x1a3c9b['service'][_0x56a859(0x206)]===_0x1c0e05);if(!_0x169768)return undefined;const _0x440f47=[CLI_BIN_NAME+'\x20'+_0x1c0e05+'\x20<command>\x20[flags]','',_0x169768[_0x56a859(0x202)][_0x56a859(0x200)]||_0x1c0e05,_0x169768[_0x56a859(0x202)][_0x56a859(0x20d)]?'\x20\x20'+_0x169768[_0x56a859(0x202)][_0x56a859(0x20d)]:'','',_0x56a859(0x22d),..._0x169768['commands']['map'](_0xb34f1c=>{const _0x29f1f2=_0x56a859,_0x30964f=_0xb34f1c[_0x29f1f2(0x225)][_0x29f1f2(0x1e9)](0x1)[_0x29f1f2(0x20c)]('\x20'),_0x54d7aa=_0xb34f1c[_0x29f1f2(0x239)]==='read'?'':'\x20['+_0xb34f1c[_0x29f1f2(0x239)]+']';return'\x20\x20'+_0x30964f[_0x29f1f2(0x1e6)](0x18)+'\x20'+(_0xb34f1c[_0x29f1f2(0x20d)]||'')+_0x54d7aa;}),'',_0x56a859(0x226)+CLI_BIN_NAME+_0x56a859(0x1f2)+_0x1c0e05+'`\x20to\x20inspect\x20the\x20manifest.'][_0x56a859(0x1e1)](Boolean);return _0x440f47[_0x56a859(0x20c)]('\x0a');}export function listDynamicServiceEntries(){const _0x484f6f=a38_0xf15c;return listLocalServices()[_0x484f6f(0x23a)](_0x160ff5=>{const _0x2ee1f4=_0x484f6f,_0x50c1aa=_0x160ff5[_0x2ee1f4(0x1e5)];return{'service':_0x50c1aa[_0x2ee1f4(0x202)][_0x2ee1f4(0x206)],'label':_0x50c1aa[_0x2ee1f4(0x202)]['name']||_0x50c1aa[_0x2ee1f4(0x202)][_0x2ee1f4(0x206)],'commands':_0x50c1aa[_0x2ee1f4(0x21f)][_0x2ee1f4(0x23a)](_0x5b9fc6=>({'command':dynamicCommandName(_0x5b9fc6),'description':_0x5b9fc6[_0x2ee1f4(0x20d)]||_0x2ee1f4(0x211)+_0x5b9fc6[_0x2ee1f4(0x1d8)],'tag':riskTag(_0x5b9fc6[_0x2ee1f4(0x239)])}))};});}export function getDynamicServiceEntry(_0x47bbb0){const _0x12e614=a38_0xf15c;return listDynamicServiceEntries()[_0x12e614(0x1f0)](_0x5309d4=>_0x5309d4[_0x12e614(0x202)]===_0x47bbb0);}export function listDynamicServiceDefinitions(_0x547682){const _0x34c56f=a38_0xf15c;return listLocalServiceTrees()['filter'](_0x14e539=>!_0x547682||_0x14e539['service']['code']===_0x547682)[_0x34c56f(0x213)](_0x24c857=>_0x24c857[_0x34c56f(0x21f)][_0x34c56f(0x23a)](_0x432530=>buildDynamicCommandDefinition(_0x24c857,_0x432530)));}export function getDynamicServiceDefinitions(_0x7f5098){const _0x4386dc=listDynamicServiceDefinitions(_0x7f5098);return _0x4386dc['length']>0x0?_0x4386dc:undefined;}export function findDynamicServiceDefinition(_0x14390b,_0x4b0e87){const _0x18f28d=a38_0xf15c;return listDynamicServiceDefinitions(_0x14390b)['find'](_0x5e9182=>_0x5e9182[_0x18f28d(0x1f8)]===_0x4b0e87);}export function buildDynamicCommandDefinition(_0x366300,_0x4252ac){const _0x4b3f4e=a38_0xf15c;return{'service':_0x366300[_0x4b3f4e(0x202)][_0x4b3f4e(0x206)],'command':dynamicCommandName(_0x4252ac),'description':_0x4252ac[_0x4b3f4e(0x20d)]||_0x4b3f4e(0x211)+_0x4252ac[_0x4b3f4e(0x1d8)],'risk':_0x4252ac[_0x4b3f4e(0x239)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4252ac[_0x4b3f4e(0x236)][_0x4b3f4e(0x23a)](_0x4d0f87=>({'name':_0x4d0f87[_0x4b3f4e(0x200)],'description':_0x4d0f87[_0x4b3f4e(0x20d)]||_0x4d0f87[_0x4b3f4e(0x200)],'required':_0x4d0f87[_0x4b3f4e(0x22a)]})),'flags':_0x4252ac['flags'][_0x4b3f4e(0x23a)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4252ac),async 'dryRun'(_0x5f18ba){const _0x3e72dc=_0x4b3f4e,_0x664b4c=await compilePlan(_0x4252ac,_0x5f18ba);return{'method':_0x3e72dc(0x233),'url':_0x4252ac['cliPath'],'body':{'target':targetPreview(_0x664b4c),'params':_0x664b4c[_0x3e72dc(0x1f7)]},'description':_0x3e72dc(0x212)+_0x4252ac['cliPath']};},async 'execute'(_0x1ead33){const _0x5a4ca4=_0x4b3f4e,_0x3a56a3=await compilePlan(_0x4252ac,_0x1ead33),_0x84daf8=Date[_0x5a4ca4(0x1f1)](),_0x35779b=await executePlan(_0x3a56a3,_0x4252ac,_0x1ead33),_0x528063=Date[_0x5a4ca4(0x1f1)]()-_0x84daf8;return{'ok':!![],'data':{'service':_0x366300[_0x5a4ca4(0x202)],'command':_0x4252ac[_0x5a4ca4(0x1d8)],'target':targetPreview(_0x3a56a3),'result':_0x35779b,'elapsed':_0x528063},'message':_0x5a4ca4(0x1ff)+_0x4252ac[_0x5a4ca4(0x1d8)]+'\x20completed\x20in\x20'+_0x528063+'ms'};}};}function dynamicCommandName(_0x493fde){const _0x2a7bb4=a38_0xf15c;return _0x493fde[_0x2a7bb4(0x225)]['slice'](0x1)[_0x2a7bb4(0x20c)]('\x20');}function riskTag(_0x58a1d6){const _0x2e8fdb=a38_0xf15c;return _0x58a1d6===_0x2e8fdb(0x22c)?'':_0x2e8fdb(0x222)+_0x58a1d6+']';}function flagToCommandFlag(_0xc539d0){const _0x16b162=a38_0xf15c;return{'name':_0xc539d0[_0x16b162(0x238)],'type':_0xc539d0['type']==='json'?_0x16b162(0x20e):_0xc539d0[_0x16b162(0x20f)],'description':_0xc539d0[_0x16b162(0x20d)]||_0xc539d0['name'],'required':_0xc539d0[_0x16b162(0x22a)],'default':isPrimitiveFlagDefault(_0xc539d0[_0x16b162(0x1eb)])?_0xc539d0[_0x16b162(0x1eb)]:undefined,'enum':_0xc539d0[_0x16b162(0x1f3)]};}async function compilePlan(_0x2ea232,_0xa6a0c6){const _0x59d185=a38_0xf15c;return compileServiceTreeCommand(_0x2ea232,{'flags':_0xa6a0c6[_0x59d185(0x1d7)],'args':_0xa6a0c6[_0x59d185(0x236)],'context':await buildServiceContext(_0x2ea232,_0xa6a0c6)});}async function buildServiceContext(_0x370155,_0x1ea597){const _0x2f3df3=a38_0xf15c,_0x339e49={'appCode':_0x1ea597[_0x2f3df3(0x1ef)],'env':_0x1ea597[_0x2f3df3(0x1ea)],'envName':_0x1ea597[_0x2f3df3(0x1ea)]};if(!usesRuntimeContext(_0x370155))return _0x339e49;const _0x5d11d3=await getLoginUserInfo(),_0x4cc62a=pickFirst(_0x5d11d3[_0x2f3df3(0x230)],_0x5d11d3['id']);return{..._0x339e49,'user':_0x5d11d3,'userId':_0x4cc62a,'id':_0x5d11d3['id'],'username':pickFirst(_0x5d11d3[_0x2f3df3(0x208)],_0x5d11d3[_0x2f3df3(0x229)],_0x5d11d3[_0x2f3df3(0x1dc)]),'userName':_0x5d11d3['userName'],'nickname':pickFirst(_0x5d11d3[_0x2f3df3(0x1e0)],_0x5d11d3[_0x2f3df3(0x224)]),'nickName':_0x5d11d3[_0x2f3df3(0x224)],'tenantCode':_0x5d11d3[_0x2f3df3(0x231)],'employeeId':_0x5d11d3[_0x2f3df3(0x219)]};}function usesRuntimeContext(_0x2dec8b){const _0x461aba=a38_0xf15c;return _0x2dec8b[_0x461aba(0x1da)][_0x461aba(0x1ec)](_0x16f27=>typeof _0x16f27[_0x461aba(0x1d9)]===_0x461aba(0x20e)&&(_0x16f27[_0x461aba(0x1d9)]['startsWith'](_0x461aba(0x234))||_0x16f27[_0x461aba(0x1d9)][_0x461aba(0x1f5)](_0x461aba(0x1f6))));}function pickFirst(..._0xa01dcd){return _0xa01dcd['find'](_0xce2566=>_0xce2566!==undefined&&_0xce2566!==null);}async function executePlan(_0x4e835c,_0x2e787e,_0x4b847d){const _0xff7453=a38_0xf15c;if(_0x4e835c['kind']===_0xff7453(0x218)){const _0x1975bb=await resolveDatasetCode(_0x4e835c,_0x2e787e,_0x4b847d);return executeData(_0x1975bb,_0x4e835c[_0xff7453(0x1f8)],_0x4e835c[_0xff7453(0x1f7)]);}if(_0x4e835c['kind']==='sql'){if(!_0x4e835c['sqlCode'])throw CliErrors[_0xff7453(0x204)]('Service\x20command\x20'+_0x2e787e['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x4e835c[_0xff7453(0x21d)],normalizeScalarParams(_0x4e835c[_0xff7453(0x1f7)]));}if(_0x4e835c[_0xff7453(0x21b)]==='bff'){const _0x5766ad=_0x4e835c[_0xff7453(0x232)]||_0x4e835c[_0xff7453(0x1fb)]||(_0x4e835c[_0xff7453(0x1e7)]==null?'':String(_0x4e835c[_0xff7453(0x1e7)]));if(!_0x5766ad)throw CliErrors['validation'](_0xff7453(0x1ff)+_0x2e787e[_0xff7453(0x1d8)]+_0xff7453(0x20a));return executeSdkBff(_0x5766ad,_0x4e835c[_0xff7453(0x1f7)]);}throw CliErrors[_0xff7453(0x204)](_0xff7453(0x205)+_0x4e835c[_0xff7453(0x21b)]);}async function resolveDatasetCode(_0x4eec81,_0x365398,_0x452a69){const _0x59e03a=a38_0xf15c;if(_0x4eec81['datasetCode'])return _0x4eec81[_0x59e03a(0x215)];if(!_0x4eec81['datatable'])throw CliErrors[_0x59e03a(0x204)]('Service\x20command\x20'+_0x365398[_0x59e03a(0x1d8)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x1dce8f=await listDatasets(_0x452a69[_0x59e03a(0x1ef)]),_0x1822bb=_0x1dce8f[_0x59e03a(0x1f0)](_0x1065bb=>_0x1065bb[_0x59e03a(0x201)]?.[_0x59e03a(0x207)]===_0x4eec81[_0x59e03a(0x1d6)]);if(!_0x1822bb?.[_0x59e03a(0x206)])throw CliErrors[_0x59e03a(0x204)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x4eec81[_0x59e03a(0x1d6)]+_0x59e03a(0x221)+_0x452a69['appCode']+'.',_0x59e03a(0x1ee));return _0x1822bb['code'];}function applyAppBinding(_0x2c0af4,_0x218673,_0x161258){const _0x3bb4be=a38_0xf15c,_0x749536=_0x218673[_0x3bb4be(0x237)][_0x3bb4be(0x21a)];if(!_0x749536)return;const _0x428945=_0x2c0af4[_0x3bb4be(0x1df)][_0x749536];if(!_0x428945)throw CliErrors[_0x3bb4be(0x204)]('Unknown\x20appRef\x20\x22'+_0x749536+'\x22\x20in\x20service\x20command\x20'+_0x218673[_0x3bb4be(0x1d8)]+'.',_0x3bb4be(0x1ed));const _0x35dff7=_0x428945[_0x3bb4be(0x21c)]||_0x428945[_0x3bb4be(0x1ef)];_0x35dff7&&!hasText(_0x161258[_0x3bb4be(0x21c)])&&(_0x161258[_0x3bb4be(0x21c)]=_0x35dff7),_0x428945['app']&&!hasText(_0x161258[_0x3bb4be(0x22b)])&&!hasText(_0x161258[_0x3bb4be(0x21c)])&&(_0x161258[_0x3bb4be(0x22b)]=_0x428945['app']),_0x428945['env']&&!hasText(_0x161258['env'])&&(_0x161258[_0x3bb4be(0x1fe)]=_0x428945[_0x3bb4be(0x1fe)]);}function renderDynamicCommandHelp(_0xd6588b){const _0x3da7d7=a38_0xf15c,_0x2c069f=[_0x3da7d7(0x1e8),_0x3da7d7(0x23b)+_0xd6588b[_0x3da7d7(0x237)][_0x3da7d7(0x21b)],'\x20\x20\x20\x20command:\x20'+_0xd6588b[_0x3da7d7(0x237)]['command']];if(_0xd6588b[_0x3da7d7(0x237)]['datasetCode'])_0x2c069f[_0x3da7d7(0x217)]('\x20\x20\x20\x20datasetCode:\x20'+_0xd6588b[_0x3da7d7(0x237)][_0x3da7d7(0x215)]);if(_0xd6588b[_0x3da7d7(0x237)][_0x3da7d7(0x1d6)])_0x2c069f['push'](_0x3da7d7(0x228)+_0xd6588b[_0x3da7d7(0x237)]['datatable']);if(_0xd6588b['target'][_0x3da7d7(0x21d)])_0x2c069f[_0x3da7d7(0x217)](_0x3da7d7(0x220)+_0xd6588b[_0x3da7d7(0x237)]['sqlCode']);if(_0xd6588b[_0x3da7d7(0x237)][_0x3da7d7(0x232)])_0x2c069f[_0x3da7d7(0x217)](_0x3da7d7(0x223)+_0xd6588b[_0x3da7d7(0x237)][_0x3da7d7(0x232)]);if(_0xd6588b[_0x3da7d7(0x1da)][_0x3da7d7(0x227)]>0x0){_0x2c069f[_0x3da7d7(0x217)]('',_0x3da7d7(0x1db));for(const _0x5ccb9f of _0xd6588b['mapTo']){_0x2c069f[_0x3da7d7(0x217)](_0x3da7d7(0x1e4)+(_0x5ccb9f[_0x3da7d7(0x1d9)]||_0x3da7d7(0x1de))+_0x3da7d7(0x1fd)+_0x5ccb9f[_0x3da7d7(0x237)]+(_0x5ccb9f[_0x3da7d7(0x216)]?'.'+_0x5ccb9f[_0x3da7d7(0x216)]:''));}}return _0x2c069f[_0x3da7d7(0x20c)]('\x0a');}function targetPreview(_0x5ed556){const _0xb0859b=a38_0xf15c;return{'kind':_0x5ed556[_0xb0859b(0x21b)],'command':_0x5ed556['command'],'appRef':_0x5ed556[_0xb0859b(0x21a)],'datasetCode':_0x5ed556[_0xb0859b(0x215)],'datatable':_0x5ed556[_0xb0859b(0x1d6)],'sqlCode':_0x5ed556[_0xb0859b(0x21d)],'bffCode':_0x5ed556[_0xb0859b(0x1fb)],'bffId':_0x5ed556[_0xb0859b(0x1e7)],'scriptName':_0x5ed556[_0xb0859b(0x232)]};}function normalizeScalarParams(_0x8543da){const _0x288876=a38_0xf15c;return Object[_0x288876(0x1e3)](Object[_0x288876(0x20b)](_0x8543da)['filter'](([,_0x5af1e0])=>typeof _0x5af1e0===_0x288876(0x20e)||typeof _0x5af1e0===_0x288876(0x1f4)));}function hasText(_0x30fd18){const _0x35573b=a38_0xf15c;return typeof _0x30fd18==='string'&&_0x30fd18[_0x35573b(0x1e2)]()[_0x35573b(0x227)]>0x0;}function isPrimitiveFlagDefault(_0x48854e){const _0x15a6a9=a38_0xf15c;return _0x48854e===undefined||typeof _0x48854e==='string'||typeof _0x48854e==='number'||typeof _0x48854e===_0x15a6a9(0x22e);}
@@ -1 +1 @@
1
- const a39_0xad46d8=a39_0x16c7;function a39_0x16c7(_0xe96e22,_0xe881e3){_0xe96e22=_0xe96e22-0x1d7;const _0x273264=a39_0x2732();let _0x16c73c=_0x273264[_0xe96e22];return _0x16c73c;}(function(_0x206b1c,_0x136a73){const _0x6787ac=a39_0x16c7,_0x44d54d=_0x206b1c();while(!![]){try{const _0x3478ed=parseInt(_0x6787ac(0x217))/0x1+-parseInt(_0x6787ac(0x203))/0x2*(parseInt(_0x6787ac(0x1dc))/0x3)+parseInt(_0x6787ac(0x208))/0x4+parseInt(_0x6787ac(0x1ef))/0x5*(parseInt(_0x6787ac(0x213))/0x6)+-parseInt(_0x6787ac(0x1e4))/0x7+parseInt(_0x6787ac(0x20a))/0x8+-parseInt(_0x6787ac(0x1db))/0x9*(parseInt(_0x6787ac(0x211))/0xa);if(_0x3478ed===_0x136a73)break;else _0x44d54d['push'](_0x44d54d['shift']());}catch(_0x4a9fc1){_0x44d54d['push'](_0x44d54d['shift']());}}}(a39_0x2732,0xdce6f));function a39_0x2732(){const _0x35d5cb=['remove','\x20service\x20','\x20service(s).','read','filePath','errors','flags','Local\x20service\x20code,\x20for\x20example\x20crm','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','kind','risk','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','map','file','normalizedManifest','17912YuvQje','Imported\x20','warnings','serviceCode','registry','3050944rqyyFG','description','10690840iJkcaR','cliName','imported','str','service','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','target','180batUay','serviceCount','1997658gbEVQK','registryServiceCode','entry','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','1367482PJXsqI','commands','lower\x20kebab-case\x20service\x20code','type','Imported','registryPath','required','source','report','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','write','770841YsCVmd','342JiOonc','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','detail','list','manifests','entries','version','updated','11646649MkgpCb','string','WRITE','Service\x20registry\x20validation\x20passed.','cliPath','importedAt','hash','\x20service(s),\x20updated\x20','replaced','length','Service\x20manifest\x20validation\x20passed.','25vZtuBo','validate','Exported\x20service\x20','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest'];a39_0x2732=function(){return _0x35d5cb;};return a39_0x2732();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a39_0xad46d8(0x201),'type':a39_0xad46d8(0x1e5),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a39_0xad46d8(0x20e),'type':'string','required':!![],'description':a39_0xad46d8(0x1fb),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a39_0xad46d8(0x219)}};function summarizeService(_0x3f6b76){const _0x372784=a39_0xad46d8;return{'serviceCode':_0x3f6b76[_0x372784(0x206)],'name':_0x3f6b76['normalizedManifest'][_0x372784(0x20e)]['name'],'version':_0x3f6b76[_0x372784(0x1e2)],'importedAt':_0x3f6b76[_0x372784(0x1e9)],'source':_0x3f6b76[_0x372784(0x1d7)],'commandCount':_0x3f6b76['normalizedManifest'][_0x372784(0x218)][_0x372784(0x1ed)],'commands':_0x3f6b76[_0x372784(0x202)][_0x372784(0x218)][_0x372784(0x200)](_0x97ff72=>({'path':_0x97ff72[_0x372784(0x1e8)],'description':_0x97ff72[_0x372784(0x209)],'risk':_0x97ff72[_0x372784(0x1fe)],'target':_0x97ff72[_0x372784(0x210)],'flags':_0x97ff72[_0x372784(0x1fa)][_0x372784(0x200)](_0x289a79=>({'name':_0x289a79['name'],'cliName':_0x289a79[_0x372784(0x20b)],'type':_0x289a79[_0x372784(0x21a)],'required':_0x289a79[_0x372784(0x21d)]===!![]}))}))};}function summarizeLoadedManifest(_0x2e8b33){const _0x30d2d2=a39_0xad46d8;return{'service':_0x2e8b33[_0x30d2d2(0x202)]?.['service'],'version':_0x2e8b33[_0x30d2d2(0x202)]?.['version'],'commandCount':_0x2e8b33[_0x30d2d2(0x202)]?.[_0x30d2d2(0x218)][_0x30d2d2(0x1ed)]??0x0,'commands':_0x2e8b33['normalizedManifest']?.['commands'][_0x30d2d2(0x200)](_0x4580c1=>({'path':_0x4580c1[_0x30d2d2(0x1e8)],'risk':_0x4580c1[_0x30d2d2(0x1fe)],'target':_0x4580c1['target']}))??[],'registryIndex':_0x2e8b33['registryIndex'],'registryServiceCode':_0x2e8b33[_0x30d2d2(0x214)],'errors':_0x2e8b33[_0x30d2d2(0x1d8)][_0x30d2d2(0x1f9)],'warnings':_0x2e8b33[_0x30d2d2(0x1d8)][_0x30d2d2(0x205)]};}export const serviceDefinitions=[{'service':a39_0xad46d8(0x20e),'command':a39_0xad46d8(0x1f0),'description':a39_0xad46d8(0x1f3),'risk':a39_0xad46d8(0x1f7),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x510de1){const _0x4131b1=a39_0xad46d8,_0xe573e=loadServiceManifestFromFile(_0x510de1[_0x4131b1(0x20d)](_0x4131b1(0x201)));if(!_0xe573e[_0x4131b1(0x1d8)]['ok'])return{'ok':![],'data':{'file':_0xe573e['filePath'],'hash':_0xe573e['hash'],'kind':_0xe573e[_0x4131b1(0x1fd)],'serviceCount':_0xe573e[_0x4131b1(0x1e0)][_0x4131b1(0x1ed)],'services':_0xe573e[_0x4131b1(0x1e0)][_0x4131b1(0x200)](summarizeLoadedManifest),'errors':_0xe573e[_0x4131b1(0x1d8)][_0x4131b1(0x1f9)],'warnings':_0xe573e['report'][_0x4131b1(0x205)]},'message':formatValidationFailure(_0xe573e[_0x4131b1(0x1d8)])};if(_0xe573e[_0x4131b1(0x1fd)]===_0x4131b1(0x207)||_0xe573e['manifests'][_0x4131b1(0x1ed)]!==0x1)return{'ok':!![],'data':{'file':_0xe573e['filePath'],'hash':_0xe573e[_0x4131b1(0x1ea)],'kind':_0xe573e[_0x4131b1(0x1fd)],'serviceCount':_0xe573e[_0x4131b1(0x1e0)]['length'],'commandCount':_0xe573e[_0x4131b1(0x1e0)]['reduce']((_0x929786,_0x5a5c52)=>_0x929786+(_0x5a5c52['normalizedManifest']?.[_0x4131b1(0x218)][_0x4131b1(0x1ed)]??0x0),0x0),'services':_0xe573e[_0x4131b1(0x1e0)]['map'](summarizeLoadedManifest),'warnings':_0xe573e['report'][_0x4131b1(0x205)]},'message':_0x4131b1(0x1e7)};return{'ok':!![],'data':{'file':_0xe573e[_0x4131b1(0x1f8)],'hash':_0xe573e[_0x4131b1(0x1ea)],'kind':_0xe573e[_0x4131b1(0x1fd)],'service':_0xe573e[_0x4131b1(0x202)]?.[_0x4131b1(0x20e)],'version':_0xe573e[_0x4131b1(0x202)]?.[_0x4131b1(0x1e2)],'commandCount':_0xe573e['normalizedManifest']?.['commands']['length']??0x0,'commands':_0xe573e[_0x4131b1(0x202)]?.['commands'][_0x4131b1(0x200)](_0x24e2fe=>({'path':_0x24e2fe[_0x4131b1(0x1e8)],'risk':_0x24e2fe[_0x4131b1(0x1fe)],'target':_0x24e2fe[_0x4131b1(0x210)]})),'warnings':_0xe573e['report'][_0x4131b1(0x205)]},'message':_0x4131b1(0x1ee)};}},{'service':a39_0xad46d8(0x20e),'command':'import','description':a39_0xad46d8(0x20f),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1300e4){const _0x361b11=a39_0xad46d8,_0x3f0afb=loadServiceManifestFromFile(_0x1300e4[_0x361b11(0x20d)](_0x361b11(0x201)));return{'method':_0x361b11(0x1e6),'url':getServiceRegistryPath(),'body':{'file':_0x3f0afb[_0x361b11(0x1f8)],'hash':_0x3f0afb[_0x361b11(0x1ea)],'kind':_0x3f0afb['kind'],'ok':_0x3f0afb[_0x361b11(0x1d8)]['ok'],'service':_0x3f0afb[_0x361b11(0x202)]?.[_0x361b11(0x20e)],'version':_0x3f0afb['normalizedManifest']?.[_0x361b11(0x1e2)],'serviceCount':_0x3f0afb[_0x361b11(0x1e0)][_0x361b11(0x1ed)],'services':_0x3f0afb['manifests'][_0x361b11(0x200)](_0x223ff5=>({'service':_0x223ff5[_0x361b11(0x202)]?.[_0x361b11(0x20e)],'version':_0x223ff5['normalizedManifest']?.[_0x361b11(0x1e2)],'commandCount':_0x223ff5[_0x361b11(0x202)]?.[_0x361b11(0x218)][_0x361b11(0x1ed)]??0x0,'errors':_0x223ff5[_0x361b11(0x1d8)][_0x361b11(0x1f9)]})),'errors':_0x3f0afb[_0x361b11(0x1d8)][_0x361b11(0x1f9)],'commandCount':_0x3f0afb[_0x361b11(0x202)]?.[_0x361b11(0x218)]['length']??0x0},'description':_0x361b11(0x216)};},async 'execute'(_0x330fde){const _0x259171=a39_0xad46d8,_0x1ea04f=importServiceManifest(_0x330fde[_0x259171(0x20d)]('file'));if(_0x1ea04f[_0x259171(0x1e1)][_0x259171(0x1ed)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1ea04f[_0x259171(0x21c)],'imported':_0x1ea04f['imported'],'updated':_0x1ea04f[_0x259171(0x1e3)],'serviceCount':_0x1ea04f[_0x259171(0x212)],'services':_0x1ea04f['entries'][_0x259171(0x200)](summarizeService)},'message':_0x259171(0x204)+_0x1ea04f[_0x259171(0x20c)]+_0x259171(0x1eb)+_0x1ea04f[_0x259171(0x1e3)]+_0x259171(0x1f6)};return{'ok':!![],'data':{'registryPath':_0x1ea04f['registryPath'],'replaced':_0x1ea04f[_0x259171(0x1ec)],'imported':_0x1ea04f['imported'],'updated':_0x1ea04f[_0x259171(0x1e3)],'serviceCount':_0x1ea04f['serviceCount'],'service':summarizeService(_0x1ea04f[_0x259171(0x215)])},'message':(_0x1ea04f[_0x259171(0x1ec)]?'Updated':_0x259171(0x21b))+_0x259171(0x1f5)+_0x1ea04f[_0x259171(0x215)][_0x259171(0x206)]+'.'};}},{'service':a39_0xad46d8(0x20e),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a39_0xad46d8(0x1da),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x303ed8){const _0x3b43af=a39_0xad46d8,_0x566947=getLocalServiceEntry(_0x303ed8[_0x3b43af(0x20d)](_0x3b43af(0x20e)));return{'method':_0x3b43af(0x1e6),'url':_0x303ed8[_0x3b43af(0x20d)](_0x3b43af(0x201)),'body':{'service':_0x303ed8[_0x3b43af(0x20d)]('service'),'found':Boolean(_0x566947),'version':_0x566947?.[_0x3b43af(0x1e2)],'source':_0x566947?.[_0x3b43af(0x1d7)]},'description':_0x3b43af(0x1dd)};},async 'execute'(_0x49cf52){const _0x3787fa=a39_0xad46d8,_0x3fc48b=exportServiceManifest(_0x49cf52['str']('service'),_0x49cf52[_0x3787fa(0x20d)](_0x3787fa(0x201)));return{'ok':!![],'data':{'registryPath':_0x3fc48b[_0x3787fa(0x21c)],'file':_0x3fc48b[_0x3787fa(0x1f8)],'service':summarizeService(_0x3fc48b[_0x3787fa(0x215)])},'message':_0x3787fa(0x1f1)+_0x3fc48b[_0x3787fa(0x215)][_0x3787fa(0x206)]+'.'};}},{'service':a39_0xad46d8(0x20e),'command':a39_0xad46d8(0x1df),'description':a39_0xad46d8(0x1d9),'risk':a39_0xad46d8(0x1f7),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2e19fd=a39_0xad46d8,_0x59b05e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x59b05e[_0x2e19fd(0x1ed)],'services':_0x59b05e[_0x2e19fd(0x200)](summarizeService)}};}},{'service':a39_0xad46d8(0x20e),'command':a39_0xad46d8(0x1f4),'description':a39_0xad46d8(0x1f2),'risk':a39_0xad46d8(0x1da),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x29f6cb){const _0x447a4a=a39_0xad46d8,_0x7b4a63=getLocalServiceEntry(_0x29f6cb[_0x447a4a(0x20d)]('service'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x29f6cb['str'](_0x447a4a(0x20e)),'found':Boolean(_0x7b4a63),'version':_0x7b4a63?.[_0x447a4a(0x1e2)],'source':_0x7b4a63?.[_0x447a4a(0x1d7)]},'description':_0x447a4a(0x1fc)};},async 'execute'(_0x4bf4a9){const _0x3c0abb=a39_0xad46d8,_0x4b3835=removeServiceManifest(_0x4bf4a9[_0x3c0abb(0x20d)](_0x3c0abb(0x20e)));return{'ok':!![],'data':{'registryPath':_0x4b3835[_0x3c0abb(0x21c)],'serviceCount':_0x4b3835[_0x3c0abb(0x212)],'service':summarizeService(_0x4b3835[_0x3c0abb(0x215)])},'message':'Removed\x20service\x20'+_0x4b3835[_0x3c0abb(0x215)][_0x3c0abb(0x206)]+'.'};}},{'service':a39_0xad46d8(0x20e),'command':a39_0xad46d8(0x1de),'description':a39_0xad46d8(0x1ff),'risk':a39_0xad46d8(0x1f7),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x35db8c){const _0x22d311=a39_0xad46d8,_0x2ae042=getLocalServiceEntry(_0x35db8c[_0x22d311(0x20d)](_0x22d311(0x20e)));if(!_0x2ae042)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x35db8c[_0x22d311(0x20d)](_0x22d311(0x20e))},'message':'Local\x20service\x20not\x20found:\x20'+_0x35db8c[_0x22d311(0x20d)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2ae042),'manifest':_0x2ae042['manifest'],'normalizedManifest':_0x2ae042[_0x22d311(0x202)]}};}}];
1
+ const a39_0xfbde82=a39_0x41ec;function a39_0x41ec(_0x588590,_0x12356d){_0x588590=_0x588590-0x15a;const _0x2df6cf=a39_0x2df6();let _0x41ecd2=_0x2df6cf[_0x588590];return _0x41ecd2;}function a39_0x2df6(){const _0x3ebd5a=['List\x20locally\x20imported\x20Service\x20Tree\x20manifests','report','file','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','errors','Removed\x20service\x20','Local\x20service\x20not\x20found:\x20','filePath','hash','kind','source','commands','imported','list','Service\x20manifest\x20validation\x20passed.','entries','567LxhBdk','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','34446VWcRng','486200ITMiTg','detail','str','Local\x20service\x20code,\x20for\x20example\x20crm','read','manifest','flags','lower\x20kebab-case\x20service\x20code','length','Imported','entry','cliName','remove','map','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','type','serviceCount','description','normalizedManifest','updated','replaced','service','cliPath','target','version','string','\x20service(s).','risk','30906GQstGc','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','registryIndex','registry','Exported\x20service\x20','manifests','Service\x20registry\x20validation\x20passed.','\x20service(s),\x20updated\x20','registryPath','warnings','3208UsJNQo','14PmuLsR','260612ZnyhIY','write','import','serviceCode','required','1352055giEfDC','34922xTYcLP','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','WRITE','validate','6993DNIJRL','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest'];a39_0x2df6=function(){return _0x3ebd5a;};return a39_0x2df6();}(function(_0x4f750d,_0x52fe0b){const _0x2a74c9=a39_0x41ec,_0x5cce96=_0x4f750d();while(!![]){try{const _0x1a9178=-parseInt(_0x2a74c9(0x19f))/0x1*(-parseInt(_0x2a74c9(0x15f))/0x2)+-parseInt(_0x2a74c9(0x194))/0x3+-parseInt(_0x2a74c9(0x1a0))/0x4+parseInt(_0x2a74c9(0x15e))/0x5+parseInt(_0x2a74c9(0x177))/0x6*(-parseInt(_0x2a74c9(0x175))/0x7)+-parseInt(_0x2a74c9(0x19e))/0x8*(-parseInt(_0x2a74c9(0x163))/0x9)+-parseInt(_0x2a74c9(0x178))/0xa;if(_0x1a9178===_0x52fe0b)break;else _0x5cce96['push'](_0x5cce96['shift']());}catch(_0x218be0){_0x5cce96['push'](_0x5cce96['shift']());}}}(a39_0x2df6,0x39f22));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a39_0xfbde82(0x167),'type':a39_0xfbde82(0x191),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a39_0xfbde82(0x18d),'type':a39_0xfbde82(0x191),'required':!![],'description':a39_0xfbde82(0x17b),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a39_0xfbde82(0x17f)}};function summarizeService(_0x512ab6){const _0x5ef7ef=a39_0xfbde82;return{'serviceCode':_0x512ab6[_0x5ef7ef(0x15c)],'name':_0x512ab6[_0x5ef7ef(0x18a)]['service']['name'],'version':_0x512ab6['version'],'importedAt':_0x512ab6['importedAt'],'source':_0x512ab6[_0x5ef7ef(0x16f)],'commandCount':_0x512ab6[_0x5ef7ef(0x18a)][_0x5ef7ef(0x170)][_0x5ef7ef(0x180)],'commands':_0x512ab6['normalizedManifest'][_0x5ef7ef(0x170)][_0x5ef7ef(0x185)](_0x3cb2e7=>({'path':_0x3cb2e7['cliPath'],'description':_0x3cb2e7[_0x5ef7ef(0x189)],'risk':_0x3cb2e7[_0x5ef7ef(0x193)],'target':_0x3cb2e7[_0x5ef7ef(0x18f)],'flags':_0x3cb2e7[_0x5ef7ef(0x17e)][_0x5ef7ef(0x185)](_0x672497=>({'name':_0x672497['name'],'cliName':_0x672497[_0x5ef7ef(0x183)],'type':_0x672497[_0x5ef7ef(0x187)],'required':_0x672497[_0x5ef7ef(0x15d)]===!![]}))}))};}function summarizeLoadedManifest(_0x460138){const _0x3c2bf3=a39_0xfbde82;return{'service':_0x460138[_0x3c2bf3(0x18a)]?.[_0x3c2bf3(0x18d)],'version':_0x460138['normalizedManifest']?.[_0x3c2bf3(0x190)],'commandCount':_0x460138[_0x3c2bf3(0x18a)]?.[_0x3c2bf3(0x170)][_0x3c2bf3(0x180)]??0x0,'commands':_0x460138[_0x3c2bf3(0x18a)]?.[_0x3c2bf3(0x170)][_0x3c2bf3(0x185)](_0x157731=>({'path':_0x157731[_0x3c2bf3(0x18e)],'risk':_0x157731[_0x3c2bf3(0x193)],'target':_0x157731[_0x3c2bf3(0x18f)]}))??[],'registryIndex':_0x460138[_0x3c2bf3(0x196)],'registryServiceCode':_0x460138['registryServiceCode'],'errors':_0x460138[_0x3c2bf3(0x166)][_0x3c2bf3(0x169)],'warnings':_0x460138['report']['warnings']};}export const serviceDefinitions=[{'service':a39_0xfbde82(0x18d),'command':a39_0xfbde82(0x162),'description':a39_0xfbde82(0x168),'risk':a39_0xfbde82(0x17c),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4ae283){const _0x56c36a=a39_0xfbde82,_0x4f2f49=loadServiceManifestFromFile(_0x4ae283[_0x56c36a(0x17a)]('file'));if(!_0x4f2f49[_0x56c36a(0x166)]['ok'])return{'ok':![],'data':{'file':_0x4f2f49[_0x56c36a(0x16c)],'hash':_0x4f2f49[_0x56c36a(0x16d)],'kind':_0x4f2f49[_0x56c36a(0x16e)],'serviceCount':_0x4f2f49['manifests']['length'],'services':_0x4f2f49[_0x56c36a(0x199)][_0x56c36a(0x185)](summarizeLoadedManifest),'errors':_0x4f2f49[_0x56c36a(0x166)][_0x56c36a(0x169)],'warnings':_0x4f2f49[_0x56c36a(0x166)][_0x56c36a(0x19d)]},'message':formatValidationFailure(_0x4f2f49['report'])};if(_0x4f2f49[_0x56c36a(0x16e)]===_0x56c36a(0x197)||_0x4f2f49[_0x56c36a(0x199)]['length']!==0x1)return{'ok':!![],'data':{'file':_0x4f2f49[_0x56c36a(0x16c)],'hash':_0x4f2f49[_0x56c36a(0x16d)],'kind':_0x4f2f49[_0x56c36a(0x16e)],'serviceCount':_0x4f2f49[_0x56c36a(0x199)][_0x56c36a(0x180)],'commandCount':_0x4f2f49[_0x56c36a(0x199)]['reduce']((_0x2fc362,_0x1b95c7)=>_0x2fc362+(_0x1b95c7[_0x56c36a(0x18a)]?.['commands'][_0x56c36a(0x180)]??0x0),0x0),'services':_0x4f2f49[_0x56c36a(0x199)][_0x56c36a(0x185)](summarizeLoadedManifest),'warnings':_0x4f2f49[_0x56c36a(0x166)][_0x56c36a(0x19d)]},'message':_0x56c36a(0x19a)};return{'ok':!![],'data':{'file':_0x4f2f49[_0x56c36a(0x16c)],'hash':_0x4f2f49['hash'],'kind':_0x4f2f49[_0x56c36a(0x16e)],'service':_0x4f2f49[_0x56c36a(0x18a)]?.['service'],'version':_0x4f2f49[_0x56c36a(0x18a)]?.[_0x56c36a(0x190)],'commandCount':_0x4f2f49['normalizedManifest']?.['commands'][_0x56c36a(0x180)]??0x0,'commands':_0x4f2f49[_0x56c36a(0x18a)]?.['commands'][_0x56c36a(0x185)](_0x2b12ad=>({'path':_0x2b12ad[_0x56c36a(0x18e)],'risk':_0x2b12ad[_0x56c36a(0x193)],'target':_0x2b12ad[_0x56c36a(0x18f)]})),'warnings':_0x4f2f49[_0x56c36a(0x166)][_0x56c36a(0x19d)]},'message':_0x56c36a(0x173)};}},{'service':a39_0xfbde82(0x18d),'command':a39_0xfbde82(0x15b),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x54dac7){const _0x551d8f=a39_0xfbde82,_0x1dfaf9=loadServiceManifestFromFile(_0x54dac7[_0x551d8f(0x17a)](_0x551d8f(0x167)));return{'method':_0x551d8f(0x161),'url':getServiceRegistryPath(),'body':{'file':_0x1dfaf9[_0x551d8f(0x16c)],'hash':_0x1dfaf9[_0x551d8f(0x16d)],'kind':_0x1dfaf9[_0x551d8f(0x16e)],'ok':_0x1dfaf9[_0x551d8f(0x166)]['ok'],'service':_0x1dfaf9[_0x551d8f(0x18a)]?.['service'],'version':_0x1dfaf9[_0x551d8f(0x18a)]?.['version'],'serviceCount':_0x1dfaf9['manifests'][_0x551d8f(0x180)],'services':_0x1dfaf9['manifests'][_0x551d8f(0x185)](_0x5b0055=>({'service':_0x5b0055['normalizedManifest']?.['service'],'version':_0x5b0055['normalizedManifest']?.[_0x551d8f(0x190)],'commandCount':_0x5b0055[_0x551d8f(0x18a)]?.['commands'][_0x551d8f(0x180)]??0x0,'errors':_0x5b0055[_0x551d8f(0x166)][_0x551d8f(0x169)]})),'errors':_0x1dfaf9[_0x551d8f(0x166)][_0x551d8f(0x169)],'commandCount':_0x1dfaf9[_0x551d8f(0x18a)]?.[_0x551d8f(0x170)]['length']??0x0},'description':_0x551d8f(0x186)};},async 'execute'(_0x527618){const _0xd3b217=a39_0xfbde82,_0x4cba31=importServiceManifest(_0x527618['str'](_0xd3b217(0x167)));if(_0x4cba31[_0xd3b217(0x174)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x4cba31['registryPath'],'imported':_0x4cba31[_0xd3b217(0x171)],'updated':_0x4cba31[_0xd3b217(0x18b)],'serviceCount':_0x4cba31[_0xd3b217(0x188)],'services':_0x4cba31[_0xd3b217(0x174)][_0xd3b217(0x185)](summarizeService)},'message':'Imported\x20'+_0x4cba31['imported']+_0xd3b217(0x19b)+_0x4cba31['updated']+_0xd3b217(0x192)};return{'ok':!![],'data':{'registryPath':_0x4cba31['registryPath'],'replaced':_0x4cba31[_0xd3b217(0x18c)],'imported':_0x4cba31[_0xd3b217(0x171)],'updated':_0x4cba31[_0xd3b217(0x18b)],'serviceCount':_0x4cba31[_0xd3b217(0x188)],'service':summarizeService(_0x4cba31[_0xd3b217(0x182)])},'message':(_0x4cba31['replaced']?'Updated':_0xd3b217(0x181))+'\x20service\x20'+_0x4cba31[_0xd3b217(0x182)]['serviceCode']+'.'};}},{'service':a39_0xfbde82(0x18d),'command':'export','description':a39_0xfbde82(0x176),'risk':a39_0xfbde82(0x15a),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x27183e){const _0x36c5a8=a39_0xfbde82,_0x4248e3=getLocalServiceEntry(_0x27183e[_0x36c5a8(0x17a)](_0x36c5a8(0x18d)));return{'method':_0x36c5a8(0x161),'url':_0x27183e[_0x36c5a8(0x17a)](_0x36c5a8(0x167)),'body':{'service':_0x27183e[_0x36c5a8(0x17a)](_0x36c5a8(0x18d)),'found':Boolean(_0x4248e3),'version':_0x4248e3?.[_0x36c5a8(0x190)],'source':_0x4248e3?.[_0x36c5a8(0x16f)]},'description':_0x36c5a8(0x160)};},async 'execute'(_0x5146ec){const _0x105dcc=a39_0xfbde82,_0x1ad72e=exportServiceManifest(_0x5146ec['str'](_0x105dcc(0x18d)),_0x5146ec[_0x105dcc(0x17a)](_0x105dcc(0x167)));return{'ok':!![],'data':{'registryPath':_0x1ad72e[_0x105dcc(0x19c)],'file':_0x1ad72e['filePath'],'service':summarizeService(_0x1ad72e[_0x105dcc(0x182)])},'message':_0x105dcc(0x198)+_0x1ad72e[_0x105dcc(0x182)]['serviceCode']+'.'};}},{'service':a39_0xfbde82(0x18d),'command':a39_0xfbde82(0x172),'description':a39_0xfbde82(0x165),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2edf93=a39_0xfbde82,_0x2082b7=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2082b7[_0x2edf93(0x180)],'services':_0x2082b7['map'](summarizeService)}};}},{'service':a39_0xfbde82(0x18d),'command':a39_0xfbde82(0x184),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a39_0xfbde82(0x15a),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2a2ddf){const _0x47274e=a39_0xfbde82,_0x50fde6=getLocalServiceEntry(_0x2a2ddf['str']('service'));return{'method':_0x47274e(0x161),'url':getServiceRegistryPath(),'body':{'service':_0x2a2ddf[_0x47274e(0x17a)](_0x47274e(0x18d)),'found':Boolean(_0x50fde6),'version':_0x50fde6?.[_0x47274e(0x190)],'source':_0x50fde6?.[_0x47274e(0x16f)]},'description':_0x47274e(0x195)};},async 'execute'(_0x5337da){const _0xc34bcb=a39_0xfbde82,_0x3180fc=removeServiceManifest(_0x5337da[_0xc34bcb(0x17a)]('service'));return{'ok':!![],'data':{'registryPath':_0x3180fc[_0xc34bcb(0x19c)],'serviceCount':_0x3180fc[_0xc34bcb(0x188)],'service':summarizeService(_0x3180fc[_0xc34bcb(0x182)])},'message':_0xc34bcb(0x16a)+_0x3180fc[_0xc34bcb(0x182)][_0xc34bcb(0x15c)]+'.'};}},{'service':a39_0xfbde82(0x18d),'command':a39_0xfbde82(0x179),'description':a39_0xfbde82(0x164),'risk':a39_0xfbde82(0x17c),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x329458){const _0x47aa33=a39_0xfbde82,_0x2d3b66=getLocalServiceEntry(_0x329458[_0x47aa33(0x17a)](_0x47aa33(0x18d)));if(!_0x2d3b66)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x329458[_0x47aa33(0x17a)](_0x47aa33(0x18d))},'message':_0x47aa33(0x16b)+_0x329458[_0x47aa33(0x17a)](_0x47aa33(0x18d))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2d3b66),'manifest':_0x2d3b66[_0x47aa33(0x17d)],'normalizedManifest':_0x2d3b66[_0x47aa33(0x18a)]}};}}];
@@ -1 +1 @@
1
- const a40_0x168e26=a40_0x2f9a;(function(_0xeba417,_0x3816f8){const _0x2d14a8=a40_0x2f9a,_0x30f464=_0xeba417();while(!![]){try{const _0x583ca8=-parseInt(_0x2d14a8(0xa5))/0x1*(parseInt(_0x2d14a8(0x96))/0x2)+parseInt(_0x2d14a8(0xcb))/0x3+parseInt(_0x2d14a8(0x9d))/0x4+parseInt(_0x2d14a8(0xc1))/0x5+-parseInt(_0x2d14a8(0xbc))/0x6*(-parseInt(_0x2d14a8(0xd0))/0x7)+-parseInt(_0x2d14a8(0x94))/0x8+-parseInt(_0x2d14a8(0xc5))/0x9;if(_0x583ca8===_0x3816f8)break;else _0x30f464['push'](_0x30f464['shift']());}catch(_0x123548){_0x30f464['push'](_0x30f464['shift']());}}}(a40_0x8957,0xef465));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';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x168e26(0xd7);export function getServiceRegistryPath(_0x53c535={}){const _0x478193=a40_0x168e26;return resolve(_0x53c535['homeDir']??homedir(),PRODUCT_CONFIG[_0x478193(0xaf)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0xca7fba={}){const _0x44ad03=a40_0x168e26,_0xaef048=getServiceRegistryPath(_0xca7fba);if(!existsSync(_0xaef048))return emptyServiceRegistry();try{const _0x50a109=readFileSync(_0xaef048,_0x44ad03(0xbe));if(!_0x50a109[_0x44ad03(0xa8)]())return emptyServiceRegistry();const _0x263021=JSON[_0x44ad03(0xc0)](_0x50a109);if(_0x263021['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x44ad03(0x97)](_0x44ad03(0x9a)+String(_0x263021[_0x44ad03(0xc6)]),_0x44ad03(0xb2)+_0xaef048+'.');if(!Array[_0x44ad03(0x99)](_0x263021[_0x44ad03(0xc2)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x263021[_0x44ad03(0x9e)],'services':_0x263021[_0x44ad03(0xc2)]};}catch(_0xd95265){if(_0xd95265 instanceof Error&&_0xd95265[_0x44ad03(0xb6)]===_0x44ad03(0xdd))throw _0xd95265;throw CliErrors[_0x44ad03(0x97)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0xaef048,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x5eca94,_0x1f25c0={}){const _0x34116d=a40_0x168e26,_0x281e2d=getServiceRegistryPath(_0x1f25c0),_0xf6f0bf=dirname(_0x281e2d);!existsSync(_0xf6f0bf)&&mkdirSync(_0xf6f0bf,{'recursive':!![]});const _0x5cf886=_0x281e2d+_0x34116d(0xbd);try{writeFileSync(_0x5cf886,JSON[_0x34116d(0xe0)](_0x5eca94,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x5cf886,_0x281e2d);}catch(_0x257693){try{unlinkSync(_0x5cf886);}catch{}if(_0x257693?.[_0x34116d(0xaa)]===_0x34116d(0xae))throw CliErrors[_0x34116d(0x97)](_0x34116d(0xcc)+_0x281e2d);throw _0x257693;}return _0x281e2d;}export function loadServiceManifestFromFile(_0x3245d1){const _0x147035=a40_0x168e26,_0x14e138=resolve(_0x3245d1);if(!existsSync(_0x14e138))throw CliErrors[_0x147035(0x97)](_0x147035(0xda)+_0x3245d1);let _0x3d6f03;const _0x18a949=readFileSync(_0x14e138,_0x147035(0xbe));try{_0x3d6f03=JSON['parse'](_0x18a949);}catch{throw CliErrors['validation'](_0x147035(0xa4)+_0x3245d1,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x3def34=sha256(_0x18a949),_0x3be2f0=extractLoadedServiceManifests(_0x3d6f03,_0x3def34),_0x295952=aggregateValidationReports(_0x3be2f0),_0x240173=_0x3be2f0[0x0];return{'filePath':_0x14e138,'hash':_0x3def34,'kind':isServiceRegistryLike(_0x3d6f03)?'registry':'manifest','manifest':_0x240173?.[_0x147035(0xac)]??_0x3d6f03,'report':_0x295952,'normalizedManifest':_0x3be2f0[_0x147035(0xdf)]===0x1?_0x240173?.[_0x147035(0xb1)]:undefined,'manifests':_0x3be2f0};}export function importServiceManifest(_0xe0631b,_0x3fa173={}){const _0x544ddd=a40_0x168e26,_0x2be234=loadServiceManifestFromFile(_0xe0631b);if(!_0x2be234['report']['ok'])throw CliErrors[_0x544ddd(0x97)](formatValidationFailure(_0x2be234[_0x544ddd(0xd8)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x2be234[_0x544ddd(0xe3)]['length']===0x0)throw CliErrors[_0x544ddd(0x97)](_0x544ddd(0xc4),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x4132b2=readServiceRegistry(_0x3fa173),_0xd83ff2=(_0x3fa173[_0x544ddd(0x9b)]??(()=>new Date()))()['toISOString'](),_0x49d1a1=[];let _0x291d82=0x0,_0x530a51=0x0;for(const _0x5f2960 of _0x2be234[_0x544ddd(0xe3)]){if(!_0x5f2960[_0x544ddd(0xb1)])continue;const _0x1db22e=_0x5f2960[_0x544ddd(0xb1)][_0x544ddd(0xb7)][_0x544ddd(0xaa)],_0x52c9be={'serviceCode':_0x1db22e,'version':_0x5f2960[_0x544ddd(0xb1)][_0x544ddd(0xcd)],'importedAt':_0xd83ff2,'source':{'type':_0x544ddd(0xd3),'path':_0x2be234[_0x544ddd(0xc8)],'hash':_0x5f2960[_0x544ddd(0xb4)]},'manifest':_0x5f2960[_0x544ddd(0xac)],'normalizedManifest':_0x5f2960[_0x544ddd(0xb1)]},_0x3cde35=_0x4132b2['services']['findIndex'](_0x2d6acf=>_0x2d6acf[_0x544ddd(0xd1)]===_0x1db22e);_0x3cde35>=0x0?(_0x4132b2[_0x544ddd(0xc2)][_0x3cde35]=_0x52c9be,_0x530a51++):(_0x4132b2[_0x544ddd(0xc2)]['push'](_0x52c9be),_0x291d82++),_0x49d1a1[_0x544ddd(0xa3)](_0x52c9be);}_0x4132b2[_0x544ddd(0xc2)][_0x544ddd(0xa2)]((_0x2cf371,_0x34a804)=>_0x2cf371[_0x544ddd(0xd1)][_0x544ddd(0xce)](_0x34a804[_0x544ddd(0xd1)])),_0x4132b2[_0x544ddd(0x9e)]=_0xd83ff2;const _0x134ada=writeServiceRegistry(_0x4132b2,_0x3fa173);return{'registryPath':_0x134ada,'entry':_0x49d1a1[0x0],'replaced':_0x49d1a1['length']===0x1?_0x530a51===0x1:_0x530a51>0x0,'entries':_0x49d1a1,'imported':_0x291d82,'updated':_0x530a51,'serviceCount':_0x4132b2['services'][_0x544ddd(0xdf)]};}export function exportServiceManifest(_0x4c2775,_0x3cad10,_0x58d2d5={}){const _0x211c16=a40_0x168e26,_0x7b4f62=getServiceRegistryPath(_0x58d2d5),_0x1589cc=getLocalServiceEntry(_0x4c2775,_0x58d2d5);if(!_0x1589cc)throw CliErrors[_0x211c16(0x97)]('Local\x20service\x20not\x20found:\x20'+_0x4c2775,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x5aeeb1=resolve(_0x3cad10),_0x141862=dirname(_0x5aeeb1);return!existsSync(_0x141862)&&mkdirSync(_0x141862,{'recursive':!![]}),writeFileSync(_0x5aeeb1,JSON[_0x211c16(0xe0)](_0x1589cc[_0x211c16(0xac)],null,0x2)+'\x0a',{'encoding':_0x211c16(0xbe),'mode':0x180}),{'registryPath':_0x7b4f62,'filePath':_0x5aeeb1,'entry':_0x1589cc};}export function removeServiceManifest(_0x155494,_0x48365f={}){const _0x57be8d=a40_0x168e26,_0x3443c9=readServiceRegistry(_0x48365f),_0x53e979=_0x155494[_0x57be8d(0xa8)](),_0x376850=_0x3443c9[_0x57be8d(0xc2)][_0x57be8d(0xa9)](_0x2a303d=>_0x2a303d['serviceCode']===_0x53e979);if(_0x376850<0x0)throw CliErrors[_0x57be8d(0x97)](_0x57be8d(0xe1)+_0x53e979,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4452d6]=_0x3443c9[_0x57be8d(0xc2)][_0x57be8d(0xcf)](_0x376850,0x1),_0x3889db=(_0x48365f[_0x57be8d(0x9b)]??(()=>new Date()))()[_0x57be8d(0x9c)]();_0x3443c9['updatedAt']=_0x3889db;const _0x57fbd1=writeServiceRegistry(_0x3443c9,_0x48365f);return{'registryPath':_0x57fbd1,'entry':_0x4452d6,'serviceCount':_0x3443c9['services']['length']};}export function listLocalServices(_0x496f50={}){const _0x284058=a40_0x168e26;return readServiceRegistry(_0x496f50)[_0x284058(0xc2)];}export function getLocalServiceEntry(_0x1efe68,_0x51dbbe={}){const _0x2146c6=a40_0x168e26;return readServiceRegistry(_0x51dbbe)['services'][_0x2146c6(0xba)](_0x2431a3=>_0x2431a3['serviceCode']===_0x1efe68['trim']());}export function listLocalServiceTrees(_0x137203={}){const _0x8860bf=a40_0x168e26;return readServiceRegistry(_0x137203)['services'][_0x8860bf(0xb9)](_0xa8abed=>_0xa8abed[_0x8860bf(0xb1)]);}export function inspectServiceRegistry(_0x786b53={}){const _0x320e6e=a40_0x168e26,_0x54ec8a=getServiceRegistryPath(_0x786b53);if(!existsSync(_0x54ec8a))return emptyServiceRegistryInspection(_0x54ec8a,_0x320e6e(0xb0),![]);try{const _0x76d1e=readFileSync(_0x54ec8a,_0x320e6e(0xbe));if(!_0x76d1e[_0x320e6e(0xa8)]())return emptyServiceRegistryInspection(_0x54ec8a,'empty',!![]);const _0x2314e7=JSON[_0x320e6e(0xc0)](_0x76d1e);if(_0x2314e7[_0x320e6e(0xc6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x54ec8a,'invalid',!![]),'schemaVersion':_0x2314e7[_0x320e6e(0xc6)],'message':_0x320e6e(0xdb)+String(_0x2314e7[_0x320e6e(0xc6)])};if(!Array[_0x320e6e(0x99)](_0x2314e7[_0x320e6e(0xc2)]))return{...emptyServiceRegistryInspection(_0x54ec8a,_0x320e6e(0xc9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2314e7['updatedAt'],'message':_0x320e6e(0xbb)};const _0x3bddc5=_0x2314e7[_0x320e6e(0xc2)][_0x320e6e(0xb9)](summarizeLocalServiceEntry);return{'registryPath':_0x54ec8a,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2314e7[_0x320e6e(0x9e)],'serviceCount':_0x3bddc5['length'],'commandCount':_0x3bddc5[_0x320e6e(0xa6)]((_0x38f3b0,_0x119665)=>_0x38f3b0+_0x119665[_0x320e6e(0xc3)],0x0),'services':_0x3bddc5};}catch(_0x5e56fd){return{...emptyServiceRegistryInspection(_0x54ec8a,_0x320e6e(0xc9),!![]),'message':_0x5e56fd instanceof Error?_0x5e56fd[_0x320e6e(0xb8)]:String(_0x5e56fd)};}}function a40_0x8957(){const _0x720760=['382817llDFdN','reduce','digest','trim','findIndex','code','registryIndex','manifest','join','ENOENT','homeDirName','missing','normalizedManifest','Remove\x20or\x20migrate\x20','description','sourceHash','sha256','name','service','message','map','find','services\x20must\x20be\x20an\x20array','6TYOPsW','.tmp','utf8','hex','parse','1459730sHBsZn','services','commandCount','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','3897018qtsIxL','schemaVersion','errors','filePath','invalid','path','3311466yIABuv','Cannot\x20write\x20service\x20registry:\x20','version','localeCompare','splice','2027235JFnZgq','serviceCode','flatMap','file','].manifest','target','commands','service.json','report','risk','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20schemaVersion:\x20','startsWith','CliError','cliPath','length','stringify','Local\x20service\x20not\x20found:\x20','kind','manifests','12322632sYaKik','command','2uKOMUa','validation','importedAt','isArray','Unsupported\x20service\x20registry\x20schemaVersion:\x20','now','toISOString','6603376LpcTyh','updatedAt','slice','warnings','$.services[','sort','push','Invalid\x20service\x20manifest\x20JSON:\x20'];a40_0x8957=function(){return _0x720760;};return a40_0x8957();}export function formatValidationFailure(_0x157bc5){const _0x560feb=a40_0x168e26,_0x34b612=_0x157bc5[_0x560feb(0xc7)][_0x560feb(0xb9)](_0x38ef96=>_0x38ef96[_0x560feb(0xca)]+':\x20'+_0x38ef96[_0x560feb(0xb8)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x34b612[_0x560feb(0xad)]('\x0a');}function extractLoadedServiceManifests(_0x3ee69a,_0x386701){const _0x164dd3=a40_0x168e26;if(!isServiceRegistryLike(_0x3ee69a)){const _0xe7b997=_0x3ee69a,_0x5305a7=validateServiceTreeManifest(_0xe7b997);return[{'manifest':_0xe7b997,'report':_0x5305a7,'normalizedManifest':_0x5305a7['ok']?normalizeServiceTreeManifest(_0xe7b997):undefined,'sourceHash':_0x386701}];}return _0x3ee69a[_0x164dd3(0xc2)]['map']((_0x3fa20c,_0x2323c1)=>{const _0x3d412e=_0x164dd3,_0x2b9b42=isObjectRecord(_0x3fa20c)?_0x3fa20c[_0x3d412e(0xac)]:undefined,_0x3b3305=validateServiceTreeManifest(_0x2b9b42),_0x3ef251=isObjectRecord(_0x3fa20c)&&typeof _0x3fa20c[_0x3d412e(0xd1)]==='string'?_0x3fa20c[_0x3d412e(0xd1)]:undefined;return{'manifest':_0x2b9b42,'report':_0x3b3305,'normalizedManifest':_0x3b3305['ok']?normalizeServiceTreeManifest(_0x2b9b42):undefined,'sourceHash':sha256(JSON['stringify'](_0x2b9b42,null,0x2)+'\x0a'),'registryIndex':_0x2323c1,'registryServiceCode':_0x3ef251};});}function aggregateValidationReports(_0x282d26){const _0x1ca4bb=a40_0x168e26,_0x3965d3=_0x282d26[_0x1ca4bb(0xd2)](_0x4c5431=>_0x4c5431[_0x1ca4bb(0xab)]===undefined?_0x4c5431[_0x1ca4bb(0xd8)]['errors']:_0x4c5431[_0x1ca4bb(0xd8)]['errors'][_0x1ca4bb(0xb9)](_0x5a10aa=>({..._0x5a10aa,'path':prefixRegistryIssuePath(_0x4c5431[_0x1ca4bb(0xab)],_0x5a10aa['path'])}))),_0x255b05=_0x282d26[_0x1ca4bb(0xd2)](_0x4e0d3e=>_0x4e0d3e[_0x1ca4bb(0xab)]===undefined?_0x4e0d3e[_0x1ca4bb(0xd8)][_0x1ca4bb(0xa0)]:_0x4e0d3e[_0x1ca4bb(0xd8)][_0x1ca4bb(0xa0)]['map'](_0x4b3c51=>({..._0x4b3c51,'path':prefixRegistryIssuePath(_0x4e0d3e[_0x1ca4bb(0xab)],_0x4b3c51['path'])})));return{'ok':_0x3965d3['length']===0x0,'errors':_0x3965d3,'warnings':_0x255b05};}function prefixRegistryIssuePath(_0x4c4199,_0x2e883a){const _0x43c4e7=a40_0x168e26;if(_0x2e883a==='$')return'$.services['+_0x4c4199+_0x43c4e7(0xd4);if(_0x2e883a[_0x43c4e7(0xdc)]('$.'))return _0x43c4e7(0xa1)+_0x4c4199+_0x43c4e7(0xd4)+_0x2e883a['slice'](0x1);if(_0x2e883a[_0x43c4e7(0xdc)]('$['))return _0x43c4e7(0xa1)+_0x4c4199+_0x43c4e7(0xd4)+_0x2e883a[_0x43c4e7(0x9f)](0x1);return'$.services['+_0x4c4199+'].manifest.'+_0x2e883a;}function isServiceRegistryLike(_0x3e2e84){const _0x1b096c=a40_0x168e26;return isObjectRecord(_0x3e2e84)&&_0x3e2e84[_0x1b096c(0xc6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x1b096c(0x99)](_0x3e2e84[_0x1b096c(0xc2)]);}function isObjectRecord(_0x3fc740){const _0x3cb47d=a40_0x168e26;return Boolean(_0x3fc740)&&typeof _0x3fc740==='object'&&!Array[_0x3cb47d(0x99)](_0x3fc740);}function emptyServiceRegistryInspection(_0x530733,_0x584bed,_0x3ce8d1){return{'registryPath':_0x530733,'exists':_0x3ce8d1,'status':_0x584bed,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0xd043f8){const _0x3faac3=a40_0x168e26,_0x45feb1=_0xd043f8[_0x3faac3(0xb1)],_0x35c688=_0x45feb1[_0x3faac3(0xd6)][_0x3faac3(0xb9)](_0x23aa14=>({'path':_0x23aa14[_0x3faac3(0xde)],'description':_0x23aa14['description'],'risk':_0x23aa14[_0x3faac3(0xd9)],'targetKind':_0x23aa14[_0x3faac3(0xd5)][_0x3faac3(0xe2)],'targetCommand':_0x23aa14[_0x3faac3(0xd5)][_0x3faac3(0x95)]}));return{'serviceCode':_0xd043f8[_0x3faac3(0xd1)],'name':_0x45feb1[_0x3faac3(0xb7)]['name'],'description':_0x45feb1[_0x3faac3(0xb7)][_0x3faac3(0xb3)],'version':_0xd043f8[_0x3faac3(0xcd)],'importedAt':_0xd043f8[_0x3faac3(0x98)],'source':_0xd043f8['source'],'commandCount':_0x35c688[_0x3faac3(0xdf)],'commands':_0x35c688};}function a40_0x2f9a(_0x13d6c4,_0x3cf70c){_0x13d6c4=_0x13d6c4-0x94;const _0x89571b=a40_0x8957();let _0x2f9ad3=_0x89571b[_0x13d6c4];return _0x2f9ad3;}function sha256(_0x4f04ec){const _0x37e45a=a40_0x168e26;return createHash(_0x37e45a(0xb5))['update'](_0x4f04ec)[_0x37e45a(0xa7)](_0x37e45a(0xbf));}
1
+ const a40_0x4fc44f=a40_0x33ce;function a40_0x3b68(){const _0x260bee=['Local\x20service\x20not\x20found:\x20','.tmp','invalid','serviceCode','reduce','path','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Remove\x20or\x20migrate\x20','string','2646231sdUdqr','Service\x20manifest\x20file\x20not\x20found:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','registryIndex','sort','importedAt','errors','440LtEEwW','manifest','flatMap','push','kind','missing','service.json','warnings','606owtcEZ','Invalid\x20service\x20manifest\x20JSON:\x20','toISOString','services','splice','service','hex','validation','homeDirName','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','updatedAt','code','].manifest','3722740MDedMt','sourceHash','schemaVersion','331688wojjsN','utf8','ENOENT','empty','slice','parse','cliPath','2848EIHgZi','$.services[','Service\x20manifest\x20validation\x20failed:\x0a','findIndex','commands','registry','commandCount','Cannot\x20write\x20service\x20registry:\x20','trim','Invalid\x20service\x20registry\x20JSON:\x20','target','message','map','digest','46370CKZlXA','4070864CrZOrw','join','source','report','stringify','696708pVLMNM','command','startsWith','normalizedManifest','manifests','description','].manifest.','version','length','homeDir','name','isArray','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','localeCompare','Unsupported\x20schemaVersion:\x20','now','file'];a40_0x3b68=function(){return _0x260bee;};return a40_0x3b68();}(function(_0x56fe06,_0x351722){const _0x52fa59=a40_0x33ce,_0x1d0d72=_0x56fe06();while(!![]){try{const _0x40b89e=-parseInt(_0x52fa59(0x131))/0x1*(parseInt(_0x52fa59(0xfc))/0x2)+-parseInt(_0x52fa59(0x12a))/0x3+parseInt(_0x52fa59(0xf5))/0x4+-parseInt(_0x52fa59(0x10a))/0x5*(-parseInt(_0x52fa59(0x139))/0x6)+parseInt(_0x52fa59(0xf2))/0x7+parseInt(_0x52fa59(0x10b))/0x8+parseInt(_0x52fa59(0x110))/0x9;if(_0x40b89e===_0x351722)break;else _0x1d0d72['push'](_0x1d0d72['shift']());}catch(_0x143624){_0x1d0d72['push'](_0x1d0d72['shift']());}}}(a40_0x3b68,0x99939));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';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x4fc44f(0x137);export function getServiceRegistryPath(_0x3d0c7b={}){const _0x2b8274=a40_0x4fc44f;return resolve(_0x3d0c7b[_0x2b8274(0x119)]??homedir(),PRODUCT_CONFIG[_0x2b8274(0x141)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1bfc33={}){const _0x22c0a1=a40_0x4fc44f,_0x222864=getServiceRegistryPath(_0x1bfc33);if(!existsSync(_0x222864))return emptyServiceRegistry();try{const _0x82188c=readFileSync(_0x222864,_0x22c0a1(0xf6));if(!_0x82188c['trim']())return emptyServiceRegistry();const _0x375937=JSON[_0x22c0a1(0xfa)](_0x82188c);if(_0x375937[_0x22c0a1(0xf4)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x22c0a1(0x140)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x375937[_0x22c0a1(0xf4)]),_0x22c0a1(0x128)+_0x222864+'.');if(!Array['isArray'](_0x375937[_0x22c0a1(0x13c)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x375937['updatedAt'],'services':_0x375937[_0x22c0a1(0x13c)]};}catch(_0xf7efe9){if(_0xf7efe9 instanceof Error&&_0xf7efe9[_0x22c0a1(0x11a)]==='CliError')throw _0xf7efe9;throw CliErrors[_0x22c0a1(0x140)](_0x22c0a1(0x105)+_0x222864,_0x22c0a1(0x12c));}}function a40_0x33ce(_0x25e38e,_0x56b7b1){_0x25e38e=_0x25e38e-0xf1;const _0x3b6859=a40_0x3b68();let _0x33ceb5=_0x3b6859[_0x25e38e];return _0x33ceb5;}export function writeServiceRegistry(_0x48b20d,_0x3230f5={}){const _0x213d3d=a40_0x4fc44f,_0x4d908f=getServiceRegistryPath(_0x3230f5),_0x499f41=dirname(_0x4d908f);!existsSync(_0x499f41)&&mkdirSync(_0x499f41,{'recursive':!![]});const _0x20d682=_0x4d908f+_0x213d3d(0x122);try{writeFileSync(_0x20d682,JSON[_0x213d3d(0x10f)](_0x48b20d,null,0x2)+'\x0a',{'encoding':_0x213d3d(0xf6),'mode':0x180}),renameSync(_0x20d682,_0x4d908f);}catch(_0x1d4867){try{unlinkSync(_0x20d682);}catch{}if(_0x1d4867?.[_0x213d3d(0x144)]===_0x213d3d(0xf7))throw CliErrors[_0x213d3d(0x140)](_0x213d3d(0x103)+_0x4d908f);throw _0x1d4867;}return _0x4d908f;}export function loadServiceManifestFromFile(_0xc9a279){const _0x19ee04=a40_0x4fc44f,_0x17bfad=resolve(_0xc9a279);if(!existsSync(_0x17bfad))throw CliErrors[_0x19ee04(0x140)](_0x19ee04(0x12b)+_0xc9a279);let _0x5acccf;const _0x2f2d78=readFileSync(_0x17bfad,_0x19ee04(0xf6));try{_0x5acccf=JSON['parse'](_0x2f2d78);}catch{throw CliErrors[_0x19ee04(0x140)](_0x19ee04(0x13a)+_0xc9a279,_0x19ee04(0x127));}const _0x375b3f=sha256(_0x2f2d78),_0x36e99f=extractLoadedServiceManifests(_0x5acccf,_0x375b3f),_0xd57e1f=aggregateValidationReports(_0x36e99f),_0x1f53aa=_0x36e99f[0x0];return{'filePath':_0x17bfad,'hash':_0x375b3f,'kind':isServiceRegistryLike(_0x5acccf)?_0x19ee04(0x101):_0x19ee04(0x132),'manifest':_0x1f53aa?.[_0x19ee04(0x132)]??_0x5acccf,'report':_0xd57e1f,'normalizedManifest':_0x36e99f['length']===0x1?_0x1f53aa?.[_0x19ee04(0x113)]:undefined,'manifests':_0x36e99f};}export function importServiceManifest(_0x2063c3,_0x5edede={}){const _0x4aa9be=a40_0x4fc44f,_0x12bcc4=loadServiceManifestFromFile(_0x2063c3);if(!_0x12bcc4['report']['ok'])throw CliErrors[_0x4aa9be(0x140)](formatValidationFailure(_0x12bcc4[_0x4aa9be(0x10e)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x12bcc4[_0x4aa9be(0x114)][_0x4aa9be(0x118)]===0x0)throw CliErrors[_0x4aa9be(0x140)](_0x4aa9be(0x11c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x20941b=readServiceRegistry(_0x5edede),_0x5ae758=(_0x5edede[_0x4aa9be(0x11f)]??(()=>new Date()))()[_0x4aa9be(0x13b)](),_0x1f9cfc=[];let _0x5cd725=0x0,_0x610876=0x0;for(const _0x172484 of _0x12bcc4[_0x4aa9be(0x114)]){if(!_0x172484['normalizedManifest'])continue;const _0x1d472e=_0x172484[_0x4aa9be(0x113)][_0x4aa9be(0x13e)][_0x4aa9be(0x144)],_0x17ec08={'serviceCode':_0x1d472e,'version':_0x172484[_0x4aa9be(0x113)][_0x4aa9be(0x117)],'importedAt':_0x5ae758,'source':{'type':_0x4aa9be(0x120),'path':_0x12bcc4['filePath'],'hash':_0x172484[_0x4aa9be(0xf3)]},'manifest':_0x172484[_0x4aa9be(0x132)],'normalizedManifest':_0x172484[_0x4aa9be(0x113)]},_0x35144d=_0x20941b[_0x4aa9be(0x13c)]['findIndex'](_0x212232=>_0x212232[_0x4aa9be(0x124)]===_0x1d472e);_0x35144d>=0x0?(_0x20941b[_0x4aa9be(0x13c)][_0x35144d]=_0x17ec08,_0x610876++):(_0x20941b[_0x4aa9be(0x13c)]['push'](_0x17ec08),_0x5cd725++),_0x1f9cfc[_0x4aa9be(0x134)](_0x17ec08);}_0x20941b[_0x4aa9be(0x13c)][_0x4aa9be(0x12e)]((_0x43dfdb,_0x489da1)=>_0x43dfdb[_0x4aa9be(0x124)][_0x4aa9be(0x11d)](_0x489da1[_0x4aa9be(0x124)])),_0x20941b[_0x4aa9be(0x143)]=_0x5ae758;const _0x467a4a=writeServiceRegistry(_0x20941b,_0x5edede);return{'registryPath':_0x467a4a,'entry':_0x1f9cfc[0x0],'replaced':_0x1f9cfc[_0x4aa9be(0x118)]===0x1?_0x610876===0x1:_0x610876>0x0,'entries':_0x1f9cfc,'imported':_0x5cd725,'updated':_0x610876,'serviceCount':_0x20941b[_0x4aa9be(0x13c)][_0x4aa9be(0x118)]};}export function exportServiceManifest(_0x5ed4ba,_0x4c4b45,_0x1d5ee3={}){const _0x3fa561=a40_0x4fc44f,_0x22b9a1=getServiceRegistryPath(_0x1d5ee3),_0x2123b1=getLocalServiceEntry(_0x5ed4ba,_0x1d5ee3);if(!_0x2123b1)throw CliErrors['validation'](_0x3fa561(0x121)+_0x5ed4ba,_0x3fa561(0x142));const _0x3a8732=resolve(_0x4c4b45),_0x27ebb3=dirname(_0x3a8732);return!existsSync(_0x27ebb3)&&mkdirSync(_0x27ebb3,{'recursive':!![]}),writeFileSync(_0x3a8732,JSON['stringify'](_0x2123b1[_0x3fa561(0x132)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x22b9a1,'filePath':_0x3a8732,'entry':_0x2123b1};}export function removeServiceManifest(_0x5671d3,_0x320933={}){const _0x16882c=a40_0x4fc44f,_0x72a048=readServiceRegistry(_0x320933),_0x4b9f17=_0x5671d3[_0x16882c(0x104)](),_0x282940=_0x72a048['services'][_0x16882c(0xff)](_0x3fdce2=>_0x3fdce2[_0x16882c(0x124)]===_0x4b9f17);if(_0x282940<0x0)throw CliErrors[_0x16882c(0x140)](_0x16882c(0x121)+_0x4b9f17,_0x16882c(0x142));const [_0xcf1466]=_0x72a048[_0x16882c(0x13c)][_0x16882c(0x13d)](_0x282940,0x1),_0x2d49ae=(_0x320933['now']??(()=>new Date()))()[_0x16882c(0x13b)]();_0x72a048['updatedAt']=_0x2d49ae;const _0xa75bba=writeServiceRegistry(_0x72a048,_0x320933);return{'registryPath':_0xa75bba,'entry':_0xcf1466,'serviceCount':_0x72a048[_0x16882c(0x13c)]['length']};}export function listLocalServices(_0x25c1cd={}){const _0xdd56a7=a40_0x4fc44f;return readServiceRegistry(_0x25c1cd)[_0xdd56a7(0x13c)];}export function getLocalServiceEntry(_0x38127a,_0x535590={}){const _0x41712f=a40_0x4fc44f;return readServiceRegistry(_0x535590)[_0x41712f(0x13c)]['find'](_0x3f94b2=>_0x3f94b2[_0x41712f(0x124)]===_0x38127a[_0x41712f(0x104)]());}export function listLocalServiceTrees(_0xf2209e={}){const _0x413c7f=a40_0x4fc44f;return readServiceRegistry(_0xf2209e)[_0x413c7f(0x13c)][_0x413c7f(0x108)](_0x4837d0=>_0x4837d0[_0x413c7f(0x113)]);}export function inspectServiceRegistry(_0x10006e={}){const _0x476bd6=a40_0x4fc44f,_0x4a909a=getServiceRegistryPath(_0x10006e);if(!existsSync(_0x4a909a))return emptyServiceRegistryInspection(_0x4a909a,_0x476bd6(0x136),![]);try{const _0x4bf4f4=readFileSync(_0x4a909a,_0x476bd6(0xf6));if(!_0x4bf4f4[_0x476bd6(0x104)]())return emptyServiceRegistryInspection(_0x4a909a,_0x476bd6(0xf8),!![]);const _0x286380=JSON[_0x476bd6(0xfa)](_0x4bf4f4);if(_0x286380[_0x476bd6(0xf4)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4a909a,_0x476bd6(0x123),!![]),'schemaVersion':_0x286380[_0x476bd6(0xf4)],'message':_0x476bd6(0x11e)+String(_0x286380[_0x476bd6(0xf4)])};if(!Array['isArray'](_0x286380['services']))return{...emptyServiceRegistryInspection(_0x4a909a,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x286380[_0x476bd6(0x143)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4cd738=_0x286380['services'][_0x476bd6(0x108)](summarizeLocalServiceEntry);return{'registryPath':_0x4a909a,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x286380[_0x476bd6(0x143)],'serviceCount':_0x4cd738[_0x476bd6(0x118)],'commandCount':_0x4cd738[_0x476bd6(0x125)]((_0x91ea6e,_0x1d4d97)=>_0x91ea6e+_0x1d4d97[_0x476bd6(0x102)],0x0),'services':_0x4cd738};}catch(_0x54fed7){return{...emptyServiceRegistryInspection(_0x4a909a,_0x476bd6(0x123),!![]),'message':_0x54fed7 instanceof Error?_0x54fed7[_0x476bd6(0x107)]:String(_0x54fed7)};}}export function formatValidationFailure(_0x429709){const _0x19394c=a40_0x4fc44f,_0x6803d4=_0x429709[_0x19394c(0x130)]['map'](_0x3a1dae=>_0x3a1dae[_0x19394c(0x126)]+':\x20'+_0x3a1dae[_0x19394c(0x107)]);return _0x19394c(0xfe)+_0x6803d4[_0x19394c(0x10c)]('\x0a');}function extractLoadedServiceManifests(_0x46312b,_0x147f1d){const _0x3d0bc3=a40_0x4fc44f;if(!isServiceRegistryLike(_0x46312b)){const _0xaf8022=_0x46312b,_0x13e5b6=validateServiceTreeManifest(_0xaf8022);return[{'manifest':_0xaf8022,'report':_0x13e5b6,'normalizedManifest':_0x13e5b6['ok']?normalizeServiceTreeManifest(_0xaf8022):undefined,'sourceHash':_0x147f1d}];}return _0x46312b[_0x3d0bc3(0x13c)][_0x3d0bc3(0x108)]((_0x1f63c4,_0x1c8cdc)=>{const _0xb7f231=_0x3d0bc3,_0x24d714=isObjectRecord(_0x1f63c4)?_0x1f63c4[_0xb7f231(0x132)]:undefined,_0x471e57=validateServiceTreeManifest(_0x24d714),_0x55a1f4=isObjectRecord(_0x1f63c4)&&typeof _0x1f63c4['serviceCode']===_0xb7f231(0x129)?_0x1f63c4[_0xb7f231(0x124)]:undefined;return{'manifest':_0x24d714,'report':_0x471e57,'normalizedManifest':_0x471e57['ok']?normalizeServiceTreeManifest(_0x24d714):undefined,'sourceHash':sha256(JSON['stringify'](_0x24d714,null,0x2)+'\x0a'),'registryIndex':_0x1c8cdc,'registryServiceCode':_0x55a1f4};});}function aggregateValidationReports(_0x266d8a){const _0x4ac253=a40_0x4fc44f,_0x18820b=_0x266d8a[_0x4ac253(0x133)](_0x1dba86=>_0x1dba86[_0x4ac253(0x12d)]===undefined?_0x1dba86[_0x4ac253(0x10e)][_0x4ac253(0x130)]:_0x1dba86[_0x4ac253(0x10e)][_0x4ac253(0x130)][_0x4ac253(0x108)](_0x47c1db=>({..._0x47c1db,'path':prefixRegistryIssuePath(_0x1dba86[_0x4ac253(0x12d)],_0x47c1db[_0x4ac253(0x126)])}))),_0x19cd2b=_0x266d8a[_0x4ac253(0x133)](_0x18c19d=>_0x18c19d['registryIndex']===undefined?_0x18c19d[_0x4ac253(0x10e)][_0x4ac253(0x138)]:_0x18c19d[_0x4ac253(0x10e)][_0x4ac253(0x138)][_0x4ac253(0x108)](_0x2e55b6=>({..._0x2e55b6,'path':prefixRegistryIssuePath(_0x18c19d[_0x4ac253(0x12d)],_0x2e55b6[_0x4ac253(0x126)])})));return{'ok':_0x18820b[_0x4ac253(0x118)]===0x0,'errors':_0x18820b,'warnings':_0x19cd2b};}function prefixRegistryIssuePath(_0x5318e5,_0xeb8bfa){const _0x50b464=a40_0x4fc44f;if(_0xeb8bfa==='$')return _0x50b464(0xfd)+_0x5318e5+_0x50b464(0xf1);if(_0xeb8bfa['startsWith']('$.'))return _0x50b464(0xfd)+_0x5318e5+'].manifest'+_0xeb8bfa['slice'](0x1);if(_0xeb8bfa[_0x50b464(0x112)]('$['))return _0x50b464(0xfd)+_0x5318e5+_0x50b464(0xf1)+_0xeb8bfa[_0x50b464(0xf9)](0x1);return _0x50b464(0xfd)+_0x5318e5+_0x50b464(0x116)+_0xeb8bfa;}function isServiceRegistryLike(_0x1ffaaf){const _0x159648=a40_0x4fc44f;return isObjectRecord(_0x1ffaaf)&&_0x1ffaaf[_0x159648(0xf4)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x1ffaaf[_0x159648(0x13c)]);}function isObjectRecord(_0x46a9a1){const _0x250000=a40_0x4fc44f;return Boolean(_0x46a9a1)&&typeof _0x46a9a1==='object'&&!Array[_0x250000(0x11b)](_0x46a9a1);}function emptyServiceRegistryInspection(_0x1a1d82,_0x30cd1b,_0x14398c){return{'registryPath':_0x1a1d82,'exists':_0x14398c,'status':_0x30cd1b,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x53ecff){const _0x1acb2b=a40_0x4fc44f,_0x42e8ee=_0x53ecff[_0x1acb2b(0x113)],_0x555abf=_0x42e8ee[_0x1acb2b(0x100)][_0x1acb2b(0x108)](_0x220153=>({'path':_0x220153[_0x1acb2b(0xfb)],'description':_0x220153[_0x1acb2b(0x115)],'risk':_0x220153['risk'],'targetKind':_0x220153[_0x1acb2b(0x106)][_0x1acb2b(0x135)],'targetCommand':_0x220153[_0x1acb2b(0x106)][_0x1acb2b(0x111)]}));return{'serviceCode':_0x53ecff[_0x1acb2b(0x124)],'name':_0x42e8ee[_0x1acb2b(0x13e)][_0x1acb2b(0x11a)],'description':_0x42e8ee[_0x1acb2b(0x13e)][_0x1acb2b(0x115)],'version':_0x53ecff['version'],'importedAt':_0x53ecff[_0x1acb2b(0x12f)],'source':_0x53ecff[_0x1acb2b(0x10d)],'commandCount':_0x555abf[_0x1acb2b(0x118)],'commands':_0x555abf};}function sha256(_0x5bb494){const _0x5bac6b=a40_0x4fc44f;return createHash('sha256')['update'](_0x5bb494)[_0x5bac6b(0x109)](_0x5bac6b(0x13f));}
@@ -1 +1 @@
1
- const a41_0x1031b8=a41_0x50c0;function a41_0x49c5(){const _0x423724=['skillDir','44DpUsgP','rendered','WRITE','546CeOCBh','2cTVVWi','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','bool','7278648KcMoCp','216981bmdHHT','force','content','write','utf8','validation','Refusing\x20to\x20overwrite\x20symlink:\x20','path','skillName','name','type','Skill\x20directory\x20already\x20exists:\x20','495492ljmqoc','files','27294UqBJeU','601651RDgYtp','1253772XIZPaA','1418710FuuBnX','target','create','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','8KxXquD','Created\x20local\x20Skill\x20draft\x20','str','180gKHFZr'];a41_0x49c5=function(){return _0x423724;};return a41_0x49c5();}(function(_0x3af752,_0x1e0c93){const _0x284095=a41_0x50c0,_0x3f8b45=_0x3af752();while(!![]){try{const _0x52d132=-parseInt(_0x284095(0x1c6))/0x1*(-parseInt(_0x284095(0x1b2))/0x2)+parseInt(_0x284095(0x1c7))/0x3+-parseInt(_0x284095(0x1cc))/0x4*(parseInt(_0x284095(0x1c8))/0x5)+parseInt(_0x284095(0x1c5))/0x6*(parseInt(_0x284095(0x1b1))/0x7)+-parseInt(_0x284095(0x1b6))/0x8+parseInt(_0x284095(0x1b7))/0x9*(parseInt(_0x284095(0x1cf))/0xa)+parseInt(_0x284095(0x1d1))/0xb*(parseInt(_0x284095(0x1c3))/0xc);if(_0x52d132===_0x1e0c93)break;else _0x3f8b45['push'](_0x3f8b45['shift']());}catch(_0x3b1c95){_0x3f8b45['push'](_0x3f8b45['shift']());}}}(a41_0x49c5,0x79250));function a41_0x50c0(_0x2a47b8,_0x36c59e){_0x2a47b8=_0x2a47b8-0x1b0;const _0x49c5af=a41_0x49c5();let _0x50c06c=_0x49c5af[_0x2a47b8];return _0x50c06c;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.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':a41_0x1031b8(0x1ca),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a41_0x1031b8(0x1ba),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x1fa00e){const _0x5e6ea0=a41_0x1031b8,_0x270bb9=buildSkillCreatePlan(_0x1fa00e[_0x5e6ea0(0x1ce)](_0x5e6ea0(0x1c0)),_0x1fa00e['str'](_0x5e6ea0(0x1c1)),_0x1fa00e[_0x5e6ea0(0x1ce)](_0x5e6ea0(0x1c9)));return{'method':_0x5e6ea0(0x1b0),'url':_0x270bb9[_0x5e6ea0(0x1d0)],'body':{'skillName':_0x270bb9[_0x5e6ea0(0x1d2)][_0x5e6ea0(0x1bf)],'type':_0x270bb9[_0x5e6ea0(0x1d2)][_0x5e6ea0(0x1c1)],'selfContained':!![],'files':_0x270bb9['rendered'][_0x5e6ea0(0x1c4)]['map'](_0x14a8e4=>_0x14a8e4[_0x5e6ea0(0x1be)])},'description':_0x5e6ea0(0x1b3)};},async 'execute'(_0x3d7925){const _0x47692a=a41_0x1031b8,_0x3adfe6=buildSkillCreatePlan(_0x3d7925['str']('name'),_0x3d7925['str']('type'),_0x3d7925[_0x47692a(0x1ce)](_0x47692a(0x1c9)));return writeSkillDraft(_0x3adfe6,_0x3d7925[_0x47692a(0x1b5)](_0x47692a(0x1b8))),{'ok':!![],'data':{'skillName':_0x3adfe6['rendered'][_0x47692a(0x1bf)],'type':_0x3adfe6[_0x47692a(0x1d2)][_0x47692a(0x1c1)],'dir':_0x3adfe6[_0x47692a(0x1d0)],'files':_0x3adfe6['rendered']['files']['map'](_0x510141=>_0x510141[_0x47692a(0x1be)])},'message':_0x47692a(0x1cd)+_0x3adfe6['rendered']['skillName']};}};function buildSkillCreatePlan(_0x5f2951,_0x9d6050,_0x63b1b5){const _0x4df460=a41_0x1031b8,_0x55e366=renderSkillTemplate({'skillName':_0x5f2951,'type':_0x9d6050}),_0x553afe=resolve(normalizeSkillTarget(_0x63b1b5));return{'rendered':_0x55e366,'targetRoot':_0x553afe,'skillDir':resolve(_0x553afe,_0x55e366[_0x4df460(0x1bf)])};}function normalizeSkillTarget(_0x3a9e6e){return(_0x3a9e6e||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x32e7ff,_0x1dfe9c){const _0x53919d=a41_0x1031b8;if(existsSync(_0x32e7ff[_0x53919d(0x1d0)])){const _0x3f9b7b=lstatSync(_0x32e7ff[_0x53919d(0x1d0)]);if(!_0x3f9b7b['isDirectory']()||_0x3f9b7b['isSymbolicLink']())throw CliErrors[_0x53919d(0x1bc)](_0x53919d(0x1cb)+_0x32e7ff[_0x53919d(0x1d0)]);if(!_0x1dfe9c)throw CliErrors[_0x53919d(0x1bc)](_0x53919d(0x1c2)+_0x32e7ff[_0x53919d(0x1d0)],_0x53919d(0x1b4));}for(const _0x49dc37 of _0x32e7ff[_0x53919d(0x1d2)]['files']){const _0x235eca=resolve(_0x32e7ff[_0x53919d(0x1d0)],_0x49dc37[_0x53919d(0x1be)]),_0x4067ff=dirname(_0x235eca);mkdirSync(_0x4067ff,{'recursive':!![]});if(existsSync(_0x235eca)&&lstatSync(_0x235eca)['isSymbolicLink']())throw CliErrors[_0x53919d(0x1bc)](_0x53919d(0x1bd)+_0x235eca);writeFileSync(_0x235eca,_0x49dc37[_0x53919d(0x1b9)],_0x53919d(0x1bb));}}
1
+ const a41_0x3905cc=a41_0x1f54;function a41_0x1f54(_0x417ef2,_0x24d54a){_0x417ef2=_0x417ef2-0xeb;const _0x21f9d1=a41_0x21f9();let _0x1f54ce=_0x21f9d1[_0x417ef2];return _0x1f54ce;}(function(_0x5a3240,_0xb0d166){const _0x2cc69e=a41_0x1f54,_0x5de04a=_0x5a3240();while(!![]){try{const _0x1a4937=parseInt(_0x2cc69e(0xf6))/0x1+parseInt(_0x2cc69e(0xfe))/0x2*(-parseInt(_0x2cc69e(0x108))/0x3)+parseInt(_0x2cc69e(0xec))/0x4*(-parseInt(_0x2cc69e(0xff))/0x5)+parseInt(_0x2cc69e(0xeb))/0x6*(-parseInt(_0x2cc69e(0x106))/0x7)+-parseInt(_0x2cc69e(0xfb))/0x8+-parseInt(_0x2cc69e(0x107))/0x9*(parseInt(_0x2cc69e(0x10b))/0xa)+parseInt(_0x2cc69e(0x10d))/0xb*(parseInt(_0x2cc69e(0x103))/0xc);if(_0x1a4937===_0xb0d166)break;else _0x5de04a['push'](_0x5de04a['shift']());}catch(_0x3b293e){_0x5de04a['push'](_0x5de04a['shift']());}}}(a41_0x21f9,0xea75b));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';function a41_0x21f9(){const _0x2ae71d=['map','84OZfEIr','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','2475907IJGfNd','117pxBvTa','1306077yZPabJ','target','skillDir','1119390qNAyAK','path','3805043tVypPG','6FXetSx','4Ywkczj','name','utf8','skillName','str','validation','WRITE','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','content','skill','1727839tCSbBn','files','type','Skill\x20directory\x20already\x20exists:\x20','force','4014352CFkDUh','rendered','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','4dzyLqT','37315YKyQjk','isSymbolicLink','bool'];a41_0x21f9=function(){return _0x2ae71d;};return a41_0x21f9();}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':a41_0x3905cc(0xf5),'command':'create','description':a41_0x3905cc(0x104),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5e2993){const _0x272c7c=a41_0x3905cc,_0x368a41=buildSkillCreatePlan(_0x5e2993[_0x272c7c(0xf0)]('name'),_0x5e2993[_0x272c7c(0xf0)](_0x272c7c(0xf8)),_0x5e2993['str']('target'));return{'method':_0x272c7c(0xf2),'url':_0x368a41[_0x272c7c(0x10a)],'body':{'skillName':_0x368a41[_0x272c7c(0xfc)][_0x272c7c(0xef)],'type':_0x368a41[_0x272c7c(0xfc)]['type'],'selfContained':!![],'files':_0x368a41['rendered'][_0x272c7c(0xf7)][_0x272c7c(0x102)](_0x41730a=>_0x41730a[_0x272c7c(0x10c)])},'description':_0x272c7c(0x105)};},async 'execute'(_0x2e4cac){const _0x1e6e71=a41_0x3905cc,_0x4f7c99=buildSkillCreatePlan(_0x2e4cac[_0x1e6e71(0xf0)](_0x1e6e71(0xed)),_0x2e4cac[_0x1e6e71(0xf0)](_0x1e6e71(0xf8)),_0x2e4cac[_0x1e6e71(0xf0)](_0x1e6e71(0x109)));return writeSkillDraft(_0x4f7c99,_0x2e4cac[_0x1e6e71(0x101)](_0x1e6e71(0xfa))),{'ok':!![],'data':{'skillName':_0x4f7c99[_0x1e6e71(0xfc)]['skillName'],'type':_0x4f7c99[_0x1e6e71(0xfc)][_0x1e6e71(0xf8)],'dir':_0x4f7c99['skillDir'],'files':_0x4f7c99[_0x1e6e71(0xfc)][_0x1e6e71(0xf7)][_0x1e6e71(0x102)](_0x47758e=>_0x47758e['path'])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x4f7c99[_0x1e6e71(0xfc)]['skillName']};}};function buildSkillCreatePlan(_0x36f4d6,_0x51ecf6,_0x159500){const _0xda4832=a41_0x3905cc,_0x2c6ed9=renderSkillTemplate({'skillName':_0x36f4d6,'type':_0x51ecf6}),_0x29ca08=resolve(normalizeSkillTarget(_0x159500));return{'rendered':_0x2c6ed9,'targetRoot':_0x29ca08,'skillDir':resolve(_0x29ca08,_0x2c6ed9[_0xda4832(0xef)])};}function normalizeSkillTarget(_0x2a9dab){return(_0x2a9dab||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x71ec12,_0x31d719){const _0x5fb64c=a41_0x3905cc;if(existsSync(_0x71ec12['skillDir'])){const _0x329203=lstatSync(_0x71ec12[_0x5fb64c(0x10a)]);if(!_0x329203['isDirectory']()||_0x329203['isSymbolicLink']())throw CliErrors[_0x5fb64c(0xf1)](_0x5fb64c(0xfd)+_0x71ec12[_0x5fb64c(0x10a)]);if(!_0x31d719)throw CliErrors['validation'](_0x5fb64c(0xf9)+_0x71ec12['skillDir'],_0x5fb64c(0xf3));}for(const _0x3c1728 of _0x71ec12[_0x5fb64c(0xfc)][_0x5fb64c(0xf7)]){const _0x307f16=resolve(_0x71ec12['skillDir'],_0x3c1728[_0x5fb64c(0x10c)]),_0x76f9da=dirname(_0x307f16);mkdirSync(_0x76f9da,{'recursive':!![]});if(existsSync(_0x307f16)&&lstatSync(_0x307f16)[_0x5fb64c(0x100)]())throw CliErrors[_0x5fb64c(0xf1)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x307f16);writeFileSync(_0x307f16,_0x3c1728[_0x5fb64c(0xf4)],_0x5fb64c(0xee));}}
@@ -1 +1 @@
1
- const a42_0x168834=a42_0x2b17;(function(_0x255133,_0x5aa171){const _0x27b05a=a42_0x2b17,_0x4ca873=_0x255133();while(!![]){try{const _0x49ea4c=-parseInt(_0x27b05a(0x1ed))/0x1*(-parseInt(_0x27b05a(0x20b))/0x2)+parseInt(_0x27b05a(0x1e0))/0x3+parseInt(_0x27b05a(0x1e6))/0x4*(parseInt(_0x27b05a(0x200))/0x5)+parseInt(_0x27b05a(0x1f6))/0x6*(-parseInt(_0x27b05a(0x1ef))/0x7)+parseInt(_0x27b05a(0x1fe))/0x8*(-parseInt(_0x27b05a(0x1e2))/0x9)+parseInt(_0x27b05a(0x1e8))/0xa*(parseInt(_0x27b05a(0x1e7))/0xb)+-parseInt(_0x27b05a(0x1ee))/0xc*(parseInt(_0x27b05a(0x1f3))/0xd);if(_0x49ea4c===_0x5aa171)break;else _0x4ca873['push'](_0x4ca873['shift']());}catch(_0x2c8bba){_0x4ca873['push'](_0x4ca873['shift']());}}}(a42_0x300f,0xd9ee5));function a42_0x300f(){const _0x40da60=['5084804FPFAYt','2821159NZJzTT','10yUqHiQ','company','../../../core/api-client.js','unchanged','action','16bTRmxI','6289176GUJbyL','8773947cYGMrm','../../../skills/runtime-skill-sync.js','write','push','26BDGzmn','appCode','version','6KXawEG','skill','trim','str','install','created','personal','map','161752pLEcke','removed','5vmGHhm','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','authRequired','includes','updated','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','\x20company\x20Skill(s).','reduce','filter','skipped','length','215786kznpRg','envName','Installed\x20','flatMap','3339018HdYCdx','code','522aSJMQc','scope','\x20personal\x20and\x20','skillCode'];a42_0x300f=function(){return _0x40da60;};return a42_0x300f();}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a42_0x2b17(_0x4d9283,_0x3d2329){_0x4d9283=_0x4d9283-0x1dd;const _0x300fca=a42_0x300f();let _0x2b172a=_0x300fca[_0x4d9283];return _0x2b172a;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a42_0x168834(0x1f7),'command':a42_0x168834(0x1fa),'description':a42_0x168834(0x205),'risk':a42_0x168834(0x1f1),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x9c7502){return syncRuntimeSkills(_0x9c7502);}};async function syncRuntimeSkills(_0x7626d){const _0xef078f=a42_0x168834,{downloadRuntimeSkillPackage:_0x5aac48,listRuntimeSkills:_0x27cfdd}=await import(_0xef078f(0x1ea)),{linkEffectiveRuntimeSkills:_0x523d69,materializeRuntimeSkill:_0x54233f,pruneStaleRuntimeSkillCache:_0x5be3e3,pruneStaleRuntimeSkillLinks:_0xe402e7}=await import(_0xef078f(0x1f0)),_0x324da1=_0x7626d[_0xef078f(0x1f9)](_0xef078f(0x1e1)),_0x1a115a=normalizeSyncScopes(_0x7626d['str'](_0xef078f(0x1e3))),_0x5bb3c2=_0x7626d[_0xef078f(0x1dd)]??'production',_0x2e050c=_0x7626d['accessKey'];if(!_0x2e050c)throw CliErrors[_0xef078f(0x202)](_0xef078f(0x201));const _0x35ae33=await Promise['all'](_0x1a115a[_0xef078f(0x1fd)](_0x464a53=>_0x27cfdd({'appCode':_0x7626d[_0xef078f(0x1f4)],'scope':_0x464a53,'code':_0x324da1[_0xef078f(0x1f8)]()||undefined}))),_0xa8eac0=_0x1a115a[_0xef078f(0x203)](_0xef078f(0x1fc))?_0x35ae33[_0xef078f(0x1df)]((_0x22326f,_0x5a656a)=>_0x1a115a[_0x5a656a]==='personal'?_0x22326f[_0xef078f(0x1fc)]:[]):[],_0x206bbf=_0x1a115a[_0xef078f(0x203)](_0xef078f(0x1e9))?_0x35ae33['flatMap']((_0x5b917b,_0x12cf9f)=>_0x1a115a[_0x12cf9f]==='company'?_0x5b917b['company']:[]):[],_0x166a53=new Set([..._0xa8eac0[_0xef078f(0x1fd)](_0x190f58=>_0x190f58[_0xef078f(0x1e5)]?.[_0xef078f(0x1f8)]())[_0xef078f(0x208)](_0x7a3033=>Boolean(_0x7a3033)),..._0x206bbf[_0xef078f(0x1fd)](_0x9d01e2=>_0x9d01e2[_0xef078f(0x1e5)]?.[_0xef078f(0x1f8)]())['filter'](_0x3989d6=>Boolean(_0x3989d6))]),_0x2abaa5=_0x324da1[_0xef078f(0x1f8)]()?[_0x324da1[_0xef078f(0x1f8)]()]:undefined,_0x17cb93=_0x1a115a[_0xef078f(0x20a)]===0x2&&_0x1a115a[_0xef078f(0x203)](_0xef078f(0x1fc))&&_0x1a115a[_0xef078f(0x203)](_0xef078f(0x1e9)),_0x5d44a9=_0x17cb93?_0xe402e7(_0x7626d[_0xef078f(0x1f4)],_0x166a53,{},_0x2abaa5):[],_0x54e247=_0x5be3e3({'env':_0x5bb3c2,'accessKey':_0x2e050c,'appCode':_0x7626d[_0xef078f(0x1f4)],'activeSkillCodes':_0x166a53,'pruneSkillCodes':_0x2abaa5,'scopes':_0x1a115a}),_0x8e16ea=[];for(const _0x297c05 of _0xa8eac0){_0x8e16ea['push'](_0x54233f(_0x297c05,_0xef078f(0x1fc),{'env':_0x5bb3c2,'accessKey':_0x2e050c,'appCode':_0x7626d[_0xef078f(0x1f4)],'packageBytes':await downloadSkillPackage(_0x297c05,_0xef078f(0x1fc),_0x7626d[_0xef078f(0x1f4)],_0x5aac48)}));}for(const _0x52d7da of _0x206bbf){_0x8e16ea[_0xef078f(0x1f2)](_0x54233f(_0x52d7da,'company',{'env':_0x5bb3c2,'accessKey':_0x2e050c,'appCode':_0x7626d[_0xef078f(0x1f4)],'packageBytes':await downloadSkillPackage(_0x52d7da,_0xef078f(0x1e9),_0x7626d[_0xef078f(0x1f4)],_0x5aac48)}));}const _0x3c9a39=_0x523d69(_0x8e16ea,_0x7626d[_0xef078f(0x1f4)]),_0x4becda=countLinkActions(_0x3c9a39);return{'ok':!![],'data':{'appCode':_0x7626d[_0xef078f(0x1f4)],'personal':_0xa8eac0['length'],'company':_0x206bbf[_0xef078f(0x20a)],'materialized':_0x8e16ea['length'],'links':{'total':_0x3c9a39[_0xef078f(0x20a)],'created':_0x4becda[_0xef078f(0x1fb)]??0x0,'updated':_0x4becda[_0xef078f(0x204)]??0x0,'unchanged':_0x4becda[_0xef078f(0x1eb)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5d44a9[_0xef078f(0x208)](_0x317c92=>_0x317c92[_0xef078f(0x1ec)]==='removed')['length'],'cacheDirs':_0x54e247[_0xef078f(0x208)](_0x15099c=>_0x15099c['action']===_0xef078f(0x1ff))[_0xef078f(0x20a)],'skipped':[..._0x5d44a9,..._0x54e247][_0xef078f(0x208)](_0x8c98b8=>_0x8c98b8['action']===_0xef078f(0x209))[_0xef078f(0x20a)]},'skills':{'personal':_0xa8eac0['map'](summarizeRuntimeSkill),'company':_0x206bbf[_0xef078f(0x1fd)](summarizeRuntimeSkill)}},'message':_0xef078f(0x1de)+_0xa8eac0[_0xef078f(0x20a)]+_0xef078f(0x1e4)+_0x206bbf[_0xef078f(0x20a)]+_0xef078f(0x206)};}async function downloadSkillPackage(_0x1ef9f8,_0x5e6aa5,_0x5b07d1,_0x406434){const _0x286496=a42_0x168834,_0x3aaa08=_0x1ef9f8[_0x286496(0x1f5)]?.[_0x286496(0x1f8)]();return _0x3aaa08?_0x406434(_0x5e6aa5,_0x1ef9f8[_0x286496(0x1e5)],_0x5b07d1,_0x3aaa08):_0x406434(_0x5e6aa5,_0x1ef9f8[_0x286496(0x1e5)],_0x5b07d1);}function countLinkActions(_0x1cc47c){const _0x43ec43=a42_0x168834;return _0x1cc47c[_0x43ec43(0x207)]((_0x518867,_0xb97bc9)=>{const _0x5dd03c=_0x43ec43;return _0x518867[_0xb97bc9[_0x5dd03c(0x1ec)]]=(_0x518867[_0xb97bc9[_0x5dd03c(0x1ec)]]??0x0)+0x1,_0x518867;},{});}
1
+ function a42_0xae0e(){const _0xa2d667=['99qxwCia','envName','../../../core/api-client.js','scope','updated','accessKey','18WTCzcX','skipped','map','skillCode','length','push','30VwmMhT','write','action','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','290892FBHiKY','446035YkytpG','removed','3755904BdDdBc','trim','created','skill','104ZhZlWc','unchanged','7313702LICOef','\x20personal\x20and\x20','version','includes','733740uFzqWB','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','authRequired','5436044ZmEdmA','personal','flatMap','company','code','filter','../../../skills/runtime-skill-sync.js','appCode','production','reduce','Installed\x20','all','145434Ziadff'];a42_0xae0e=function(){return _0xa2d667;};return a42_0xae0e();}const a42_0x4df4f0=a42_0x2e5a;(function(_0x55bc5c,_0x349152){const _0x1e73d0=a42_0x2e5a,_0x122501=_0x55bc5c();while(!![]){try{const _0x544ef9=parseInt(_0x1e73d0(0x130))/0x1*(parseInt(_0x1e73d0(0x156))/0x2)+parseInt(_0x1e73d0(0x13d))/0x3+-parseInt(_0x1e73d0(0x14a))/0x4+-parseInt(_0x1e73d0(0x13b))/0x5*(-parseInt(_0x1e73d0(0x136))/0x6)+parseInt(_0x1e73d0(0x13a))/0x7*(parseInt(_0x1e73d0(0x141))/0x8)+-parseInt(_0x1e73d0(0x157))/0x9*(parseInt(_0x1e73d0(0x147))/0xa)+-parseInt(_0x1e73d0(0x143))/0xb;if(_0x544ef9===_0x349152)break;else _0x122501['push'](_0x122501['shift']());}catch(_0x1e848e){_0x122501['push'](_0x122501['shift']());}}}(a42_0xae0e,0xaed62));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a42_0x4df4f0(0x140),'command':'install','description':a42_0x4df4f0(0x148),'risk':a42_0x4df4f0(0x137),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x54142c){return syncRuntimeSkills(_0x54142c);}};async function syncRuntimeSkills(_0x539f9b){const _0x52bdfc=a42_0x4df4f0,{downloadRuntimeSkillPackage:_0x251d82,listRuntimeSkills:_0x13cb7b}=await import(_0x52bdfc(0x159)),{linkEffectiveRuntimeSkills:_0x2abea6,materializeRuntimeSkill:_0x5de274,pruneStaleRuntimeSkillCache:_0x206825,pruneStaleRuntimeSkillLinks:_0x4a42e2}=await import(_0x52bdfc(0x150)),_0x116985=_0x539f9b['str'](_0x52bdfc(0x14e)),_0x3edcfd=normalizeSyncScopes(_0x539f9b['str'](_0x52bdfc(0x12d))),_0x53b05e=_0x539f9b[_0x52bdfc(0x158)]??_0x52bdfc(0x152),_0x387e50=_0x539f9b[_0x52bdfc(0x12f)];if(!_0x387e50)throw CliErrors[_0x52bdfc(0x149)](_0x52bdfc(0x139));const _0x87b67b=await Promise[_0x52bdfc(0x155)](_0x3edcfd[_0x52bdfc(0x132)](_0x37fc7a=>_0x13cb7b({'appCode':_0x539f9b[_0x52bdfc(0x151)],'scope':_0x37fc7a,'code':_0x116985[_0x52bdfc(0x13e)]()||undefined}))),_0x3fb3f5=_0x3edcfd[_0x52bdfc(0x146)](_0x52bdfc(0x14b))?_0x87b67b[_0x52bdfc(0x14c)]((_0x3c7099,_0x57dfe8)=>_0x3edcfd[_0x57dfe8]===_0x52bdfc(0x14b)?_0x3c7099[_0x52bdfc(0x14b)]:[]):[],_0x5e10f6=_0x3edcfd[_0x52bdfc(0x146)]('company')?_0x87b67b[_0x52bdfc(0x14c)]((_0x12b1cd,_0x55a5c2)=>_0x3edcfd[_0x55a5c2]===_0x52bdfc(0x14d)?_0x12b1cd[_0x52bdfc(0x14d)]:[]):[],_0x44c066=new Set([..._0x3fb3f5[_0x52bdfc(0x132)](_0x28e062=>_0x28e062[_0x52bdfc(0x133)]?.[_0x52bdfc(0x13e)]())[_0x52bdfc(0x14f)](_0x4a5eda=>Boolean(_0x4a5eda)),..._0x5e10f6[_0x52bdfc(0x132)](_0x316e63=>_0x316e63[_0x52bdfc(0x133)]?.[_0x52bdfc(0x13e)]())['filter'](_0x59bc9a=>Boolean(_0x59bc9a))]),_0x3b1fad=_0x116985[_0x52bdfc(0x13e)]()?[_0x116985[_0x52bdfc(0x13e)]()]:undefined,_0x2fbaea=_0x3edcfd[_0x52bdfc(0x134)]===0x2&&_0x3edcfd[_0x52bdfc(0x146)](_0x52bdfc(0x14b))&&_0x3edcfd[_0x52bdfc(0x146)](_0x52bdfc(0x14d)),_0x1f1f9b=_0x2fbaea?_0x4a42e2(_0x539f9b[_0x52bdfc(0x151)],_0x44c066,{},_0x3b1fad):[],_0x444c94=_0x206825({'env':_0x53b05e,'accessKey':_0x387e50,'appCode':_0x539f9b[_0x52bdfc(0x151)],'activeSkillCodes':_0x44c066,'pruneSkillCodes':_0x3b1fad,'scopes':_0x3edcfd}),_0x482385=[];for(const _0x310dfd of _0x3fb3f5){_0x482385['push'](_0x5de274(_0x310dfd,'personal',{'env':_0x53b05e,'accessKey':_0x387e50,'appCode':_0x539f9b[_0x52bdfc(0x151)],'packageBytes':await downloadSkillPackage(_0x310dfd,_0x52bdfc(0x14b),_0x539f9b[_0x52bdfc(0x151)],_0x251d82)}));}for(const _0x127865 of _0x5e10f6){_0x482385[_0x52bdfc(0x135)](_0x5de274(_0x127865,_0x52bdfc(0x14d),{'env':_0x53b05e,'accessKey':_0x387e50,'appCode':_0x539f9b[_0x52bdfc(0x151)],'packageBytes':await downloadSkillPackage(_0x127865,_0x52bdfc(0x14d),_0x539f9b[_0x52bdfc(0x151)],_0x251d82)}));}const _0x301c9f=_0x2abea6(_0x482385,_0x539f9b[_0x52bdfc(0x151)]),_0x18ebe=countLinkActions(_0x301c9f);return{'ok':!![],'data':{'appCode':_0x539f9b['appCode'],'personal':_0x3fb3f5[_0x52bdfc(0x134)],'company':_0x5e10f6['length'],'materialized':_0x482385[_0x52bdfc(0x134)],'links':{'total':_0x301c9f[_0x52bdfc(0x134)],'created':_0x18ebe[_0x52bdfc(0x13f)]??0x0,'updated':_0x18ebe[_0x52bdfc(0x12e)]??0x0,'unchanged':_0x18ebe[_0x52bdfc(0x142)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1f1f9b[_0x52bdfc(0x14f)](_0x5d5b1e=>_0x5d5b1e['action']==='removed')['length'],'cacheDirs':_0x444c94[_0x52bdfc(0x14f)](_0x44b2ce=>_0x44b2ce[_0x52bdfc(0x138)]===_0x52bdfc(0x13c))[_0x52bdfc(0x134)],'skipped':[..._0x1f1f9b,..._0x444c94][_0x52bdfc(0x14f)](_0x1f37fc=>_0x1f37fc[_0x52bdfc(0x138)]===_0x52bdfc(0x131))[_0x52bdfc(0x134)]},'skills':{'personal':_0x3fb3f5[_0x52bdfc(0x132)](summarizeRuntimeSkill),'company':_0x5e10f6[_0x52bdfc(0x132)](summarizeRuntimeSkill)}},'message':_0x52bdfc(0x154)+_0x3fb3f5['length']+_0x52bdfc(0x144)+_0x5e10f6[_0x52bdfc(0x134)]+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x4660b0,_0x187926,_0x16e30f,_0x558082){const _0x455a0e=a42_0x4df4f0,_0x2fb0af=_0x4660b0[_0x455a0e(0x145)]?.[_0x455a0e(0x13e)]();return _0x2fb0af?_0x558082(_0x187926,_0x4660b0[_0x455a0e(0x133)],_0x16e30f,_0x2fb0af):_0x558082(_0x187926,_0x4660b0[_0x455a0e(0x133)],_0x16e30f);}function a42_0x2e5a(_0x41528a,_0x376a45){_0x41528a=_0x41528a-0x12d;const _0xae0ecd=a42_0xae0e();let _0x2e5a62=_0xae0ecd[_0x41528a];return _0x2e5a62;}function countLinkActions(_0x2382f6){const _0x47d909=a42_0x4df4f0;return _0x2382f6[_0x47d909(0x153)]((_0x10fb56,_0x121889)=>{const _0x2a9ac7=_0x47d909;return _0x10fb56[_0x121889[_0x2a9ac7(0x138)]]=(_0x10fb56[_0x121889[_0x2a9ac7(0x138)]]??0x0)+0x1,_0x10fb56;},{});}
@@ -1 +1 @@
1
- const a43_0x23d3e3=a43_0x3a83;(function(_0x53e44b,_0x43b5f3){const _0x4a8a33=a43_0x3a83,_0x879603=_0x53e44b();while(!![]){try{const _0x235fb5=-parseInt(_0x4a8a33(0xe1))/0x1*(parseInt(_0x4a8a33(0xed))/0x2)+parseInt(_0x4a8a33(0xec))/0x3*(-parseInt(_0x4a8a33(0xdf))/0x4)+parseInt(_0x4a8a33(0xe4))/0x5+parseInt(_0x4a8a33(0xea))/0x6+parseInt(_0x4a8a33(0xe2))/0x7+parseInt(_0x4a8a33(0xd8))/0x8+-parseInt(_0x4a8a33(0xf4))/0x9;if(_0x235fb5===_0x43b5f3)break;else _0x879603['push'](_0x879603['shift']());}catch(_0x539c38){_0x879603['push'](_0x879603['shift']());}}}(a43_0x54bc,0x8e316));import{CliErrors}from'../../../errors.js';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':'skill','command':a43_0x23d3e3(0xde),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a43_0x23d3e3(0xee),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x22c1a0){const _0x48a204=a43_0x23d3e3,_0x41d5a1=_0x22c1a0[_0x48a204(0xe6)](_0x48a204(0xd7)),_0x4f1dfe=normalizeListScope(_0x22c1a0[_0x48a204(0xe6)]('scope'));if(_0x22c1a0[_0x48a204(0xeb)](_0x48a204(0xda))){const _0x333ac1=_0x22c1a0[_0x48a204(0xdb)];if(!_0x333ac1)throw CliErrors[_0x48a204(0xdd)]();const {listLocalRuntimeSkills:_0x678ad5}=await import(_0x48a204(0xe7)),_0x3c1d09=_0x678ad5({'env':_0x22c1a0['envName']??_0x48a204(0xe8),'accessKey':_0x333ac1,'appCode':_0x22c1a0[_0x48a204(0xf7)],'scopes':listScopeToRuntimeScopes(_0x4f1dfe),'code':_0x41d5a1[_0x48a204(0xe0)]()||undefined}),_0xd9a0c0=groupLocalRuntimeSkills(_0x3c1d09);return{'ok':!![],'data':{'appCode':_0x22c1a0[_0x48a204(0xf7)],'source':'local','scope':_0x4f1dfe,'total':_0x3c1d09[_0x48a204(0xe5)],'personal':_0xd9a0c0[_0x48a204(0xf1)][_0x48a204(0xe5)],'company':_0xd9a0c0[_0x48a204(0xe3)]['length'],'items':_0x3c1d09[_0x48a204(0xf0)](summarizeLocalRuntimeSkill),'skills':{'personal':_0xd9a0c0[_0x48a204(0xf1)][_0x48a204(0xf0)](summarizeLocalRuntimeSkill),'company':_0xd9a0c0[_0x48a204(0xe3)][_0x48a204(0xf0)](summarizeLocalRuntimeSkill)}},'message':_0x48a204(0xf6)+_0x3c1d09[_0x48a204(0xe5)]+_0x48a204(0xf2)};}const {listRuntimeSkills:_0x1ef49e}=await import(_0x48a204(0xdc)),_0x1c6304=await _0x1ef49e({'appCode':_0x22c1a0[_0x48a204(0xf7)],'scope':listScopeToRemoteScope(_0x4f1dfe),'code':_0x41d5a1['trim']()||undefined}),_0x25bf80=shouldListScope(_0x4f1dfe,_0x48a204(0xf1))?_0x1c6304[_0x48a204(0xf1)]??[]:[],_0x535daa=shouldListScope(_0x4f1dfe,_0x48a204(0xe3))?_0x1c6304['company']??[]:[],_0x53a854=[..._0x25bf80,..._0x535daa];return{'ok':!![],'data':{'appCode':_0x22c1a0['appCode'],'source':_0x48a204(0xf3),'scope':_0x4f1dfe,'total':_0x53a854[_0x48a204(0xe5)],'personal':_0x25bf80[_0x48a204(0xe5)],'company':_0x535daa[_0x48a204(0xe5)],'items':_0x53a854['map'](summarizeRuntimeSkill),'skills':{'personal':_0x25bf80[_0x48a204(0xf0)](summarizeRuntimeSkill),'company':_0x535daa[_0x48a204(0xf0)](summarizeRuntimeSkill)}},'message':_0x48a204(0xf6)+_0x53a854[_0x48a204(0xe5)]+_0x48a204(0xef)};}};function a43_0x3a83(_0x325af9,_0x63f1ab){_0x325af9=_0x325af9-0xd7;const _0x54bc17=a43_0x54bc();let _0x3a8372=_0x54bc17[_0x325af9];return _0x3a8372;}function groupLocalRuntimeSkills(_0x25b445){const _0x5dfaee=a43_0x23d3e3;return{'personal':_0x25b445['filter'](_0x12bce9=>_0x12bce9[_0x5dfaee(0xd9)]==='personal'),'company':_0x25b445[_0x5dfaee(0xe9)](_0xe2677a=>_0xe2677a[_0x5dfaee(0xd9)]==='company'),'builtin':_0x25b445[_0x5dfaee(0xe9)](_0x46a828=>_0x46a828[_0x5dfaee(0xd9)]===_0x5dfaee(0xf5))};}function a43_0x54bc(){const _0x1f1129=['filter','832242vHFOKw','bool','2353629wzAkWb','492nTamwX','read','\x20remote\x20Skill(s).','map','personal','\x20local\x20Skill(s).','remote','1229148jCjQdH','builtin','Listed\x20','appCode','code','5744440xhvzqa','scope','local','accessKey','../../../core/api-client.js','authRequired','list','4NKKWra','trim','2230lSpJaR','6063876FkhkQA','company','1645435dkLBOn','length','str','../../../skills/runtime-skill-sync.js','production'];a43_0x54bc=function(){return _0x1f1129;};return a43_0x54bc();}
1
+ const a43_0x5dbb69=a43_0x5208;function a43_0x5208(_0x47d05e,_0x133947){_0x47d05e=_0x47d05e-0xa1;const _0x355cd3=a43_0x355c();let _0x520871=_0x355cd3[_0x47d05e];return _0x520871;}(function(_0x39b395,_0x36d402){const _0x143b0a=a43_0x5208,_0x5c4db4=_0x39b395();while(!![]){try{const _0x3029e1=parseInt(_0x143b0a(0xa5))/0x1+-parseInt(_0x143b0a(0xa1))/0x2+parseInt(_0x143b0a(0xa7))/0x3+-parseInt(_0x143b0a(0xb6))/0x4+parseInt(_0x143b0a(0xa4))/0x5*(parseInt(_0x143b0a(0xb5))/0x6)+parseInt(_0x143b0a(0xbc))/0x7+-parseInt(_0x143b0a(0xb9))/0x8*(parseInt(_0x143b0a(0xa9))/0x9);if(_0x3029e1===_0x36d402)break;else _0x5c4db4['push'](_0x5c4db4['shift']());}catch(_0x566e43){_0x5c4db4['push'](_0x5c4db4['shift']());}}}(a43_0x355c,0xcff7e));function a43_0x355c(){const _0x585e6a=['length','read','32HXrWDR','../../../core/api-client.js','scope','5739174VrRDgU','321286kFpEPX','personal','list','25tcQFAF','511395IvgyKT','company','4187754nsdxIm','skill','2753532UodAht','map','filter','accessKey','../../../skills/runtime-skill-sync.js','\x20local\x20Skill(s).','appCode','Listed\x20','str','remote','builtin','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','17328gVTFov','2021448npFxMp'];a43_0x355c=function(){return _0x585e6a;};return a43_0x355c();}import{CliErrors}from'../../../errors.js';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':a43_0x5dbb69(0xa8),'command':a43_0x5dbb69(0xa3),'description':a43_0x5dbb69(0xb4),'risk':a43_0x5dbb69(0xb8),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x1af5c9){const _0x404296=a43_0x5dbb69,_0x1e775c=_0x1af5c9[_0x404296(0xb1)]('code'),_0x532287=normalizeListScope(_0x1af5c9['str']('scope'));if(_0x1af5c9['bool']('local')){const _0x38f9bf=_0x1af5c9[_0x404296(0xac)];if(!_0x38f9bf)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x154f2c}=await import(_0x404296(0xad)),_0x198ad3=_0x154f2c({'env':_0x1af5c9['envName']??'production','accessKey':_0x38f9bf,'appCode':_0x1af5c9[_0x404296(0xaf)],'scopes':listScopeToRuntimeScopes(_0x532287),'code':_0x1e775c['trim']()||undefined}),_0x383699=groupLocalRuntimeSkills(_0x198ad3);return{'ok':!![],'data':{'appCode':_0x1af5c9[_0x404296(0xaf)],'source':'local','scope':_0x532287,'total':_0x198ad3[_0x404296(0xb7)],'personal':_0x383699[_0x404296(0xa2)]['length'],'company':_0x383699[_0x404296(0xa6)][_0x404296(0xb7)],'items':_0x198ad3['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x383699['personal'][_0x404296(0xaa)](summarizeLocalRuntimeSkill),'company':_0x383699[_0x404296(0xa6)]['map'](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x198ad3[_0x404296(0xb7)]+_0x404296(0xae)};}const {listRuntimeSkills:_0x207631}=await import(_0x404296(0xba)),_0x3a2aee=await _0x207631({'appCode':_0x1af5c9[_0x404296(0xaf)],'scope':listScopeToRemoteScope(_0x532287),'code':_0x1e775c['trim']()||undefined}),_0x580ac8=shouldListScope(_0x532287,_0x404296(0xa2))?_0x3a2aee[_0x404296(0xa2)]??[]:[],_0x24f26a=shouldListScope(_0x532287,'company')?_0x3a2aee[_0x404296(0xa6)]??[]:[],_0x3bcf2c=[..._0x580ac8,..._0x24f26a];return{'ok':!![],'data':{'appCode':_0x1af5c9[_0x404296(0xaf)],'source':_0x404296(0xb2),'scope':_0x532287,'total':_0x3bcf2c[_0x404296(0xb7)],'personal':_0x580ac8[_0x404296(0xb7)],'company':_0x24f26a[_0x404296(0xb7)],'items':_0x3bcf2c[_0x404296(0xaa)](summarizeRuntimeSkill),'skills':{'personal':_0x580ac8[_0x404296(0xaa)](summarizeRuntimeSkill),'company':_0x24f26a[_0x404296(0xaa)](summarizeRuntimeSkill)}},'message':_0x404296(0xb0)+_0x3bcf2c['length']+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x1046ab){const _0x23b0e5=a43_0x5dbb69;return{'personal':_0x1046ab['filter'](_0x11213e=>_0x11213e[_0x23b0e5(0xbb)]===_0x23b0e5(0xa2)),'company':_0x1046ab[_0x23b0e5(0xab)](_0xc2ec2c=>_0xc2ec2c['scope']===_0x23b0e5(0xa6)),'builtin':_0x1046ab['filter'](_0x430213=>_0x430213[_0x23b0e5(0xbb)]===_0x23b0e5(0xb3))};}
@@ -1 +1 @@
1
- const a44_0x1312a2=a44_0x51a8;(function(_0x1b91e6,_0x3eded4){const _0x32aeee=a44_0x51a8,_0x5bcd56=_0x1b91e6();while(!![]){try{const _0x111eb2=parseInt(_0x32aeee(0x1bf))/0x1*(parseInt(_0x32aeee(0x1ba))/0x2)+-parseInt(_0x32aeee(0x1be))/0x3+-parseInt(_0x32aeee(0x1c4))/0x4*(-parseInt(_0x32aeee(0x1c5))/0x5)+parseInt(_0x32aeee(0x1bc))/0x6+parseInt(_0x32aeee(0x1c1))/0x7*(parseInt(_0x32aeee(0x1c3))/0x8)+-parseInt(_0x32aeee(0x1b9))/0x9+-parseInt(_0x32aeee(0x1bd))/0xa;if(_0x111eb2===_0x3eded4)break;else _0x5bcd56['push'](_0x5bcd56['shift']());}catch(_0x17e2c2){_0x5bcd56['push'](_0x5bcd56['shift']());}}}(a44_0x23d9,0xbeb26));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';function a44_0x51a8(_0x194363,_0x93318c){_0x194363=_0x194363-0x1b8;const _0x23d9af=a44_0x23d9();let _0x51a8be=_0x23d9af[_0x194363];return _0x51a8be;}import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a44_0x1312a2(0x1bb),'command':a44_0x1312a2(0x1c2),'description':a44_0x1312a2(0x1b8),'risk':a44_0x1312a2(0x1c0),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};function a44_0x23d9(){const _0xeabb13=['8497168ZZpWoN','5634308fnmTTF','5ZozzhT','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','9508392XxhHgE','4304vmiEmd','skill','1021374iWipdd','3769790PIpoFN','2234661HZdtTl','148DQCjPj','write','7omYECS','push'];a44_0x23d9=function(){return _0xeabb13;};return a44_0x23d9();}
1
+ function a44_0x58aa(){const _0x1b7ac5=['skill','4BxOpfz','7095768aiAoPB','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','1213799FDZqDF','414579USjDge','5iFnKwX','4914664xSupBf','123036XPfTJs','push','9pNWtsI','6873027RXeZMC','47267890wORkRx'];a44_0x58aa=function(){return _0x1b7ac5;};return a44_0x58aa();}const a44_0x1a6396=a44_0x4b0e;(function(_0x56a42d,_0xe563a7){const _0x315eda=a44_0x4b0e,_0x51b429=_0x56a42d();while(!![]){try{const _0x5a2a83=-parseInt(_0x315eda(0xee))/0x1+parseInt(_0x315eda(0xe5))/0x2+parseInt(_0x315eda(0xef))/0x3*(-parseInt(_0x315eda(0xeb))/0x4)+-parseInt(_0x315eda(0xf0))/0x5*(parseInt(_0x315eda(0xec))/0x6)+-parseInt(_0x315eda(0xe8))/0x7+-parseInt(_0x315eda(0xf1))/0x8*(parseInt(_0x315eda(0xe7))/0x9)+parseInt(_0x315eda(0xe9))/0xa;if(_0x5a2a83===_0xe563a7)break;else _0x51b429['push'](_0x51b429['shift']());}catch(_0x4aaf24){_0x51b429['push'](_0x51b429['shift']());}}}(a44_0x58aa,0xa0855));function a44_0x4b0e(_0x4243f4,_0x2cd256){_0x4243f4=_0x4243f4-0xe5;const _0x58aad5=a44_0x58aa();let _0x4b0e1f=_0x58aad5[_0x4243f4];return _0x4b0e1f;}import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a44_0x1a6396(0xea),'command':a44_0x1a6396(0xe6),'description':a44_0x1a6396(0xed),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
@@ -1 +1 @@
1
- const a45_0x2c20c3=a45_0x1f27;function a45_0x1f27(_0x185f3a,_0x2cba6d){_0x185f3a=_0x185f3a-0x76;const _0x43ebdd=a45_0x43eb();let _0x1f27d1=_0x43ebdd[_0x185f3a];return _0x1f27d1;}(function(_0x59d712,_0x1e5330){const _0x1da5f0=a45_0x1f27,_0x224f60=_0x59d712();while(!![]){try{const _0x5e3914=parseInt(_0x1da5f0(0x86))/0x1+-parseInt(_0x1da5f0(0x87))/0x2*(parseInt(_0x1da5f0(0x79))/0x3)+parseInt(_0x1da5f0(0x7b))/0x4*(-parseInt(_0x1da5f0(0x85))/0x5)+-parseInt(_0x1da5f0(0x8b))/0x6+-parseInt(_0x1da5f0(0x78))/0x7*(-parseInt(_0x1da5f0(0x84))/0x8)+-parseInt(_0x1da5f0(0x7f))/0x9*(-parseInt(_0x1da5f0(0x7a))/0xa)+parseInt(_0x1da5f0(0x7c))/0xb;if(_0x5e3914===_0x1e5330)break;else _0x224f60['push'](_0x224f60['shift']());}catch(_0x5ac377){_0x224f60['push'](_0x224f60['shift']());}}}(a45_0x43eb,0xa3a05));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a45_0x43eb(){const _0x46d220=['3tmgNeJ','10zzvzYk','3916Olezqj','8658606CwIpuL','validate','warnings','9977976zBYsyu','skill','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','dir','type','72856QRMgHq','4605jaUAWO','772007fMXWJb','2302290IWprcc','errors','strict','Skill\x20validation\x20passed.','1526628veZvcA','read','bool','238yFQTng'];a45_0x43eb=function(){return _0x46d220;};return a45_0x43eb();}export const validateCommand={'service':a45_0x2c20c3(0x80),'command':a45_0x2c20c3(0x7d),'description':a45_0x2c20c3(0x81),'risk':a45_0x2c20c3(0x76),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x5e9194){const _0x13a0c0=a45_0x2c20c3,_0x4c748b=_0x5e9194[_0x13a0c0(0x77)](_0x13a0c0(0x89)),_0x4636a9=validateSkillDirectory(_0x5e9194['str'](_0x13a0c0(0x82)),{'strict':_0x4c748b});return throwIfSkillValidationFailed(_0x4636a9,_0x4c748b),{'ok':!![],'data':{'dir':_0x4636a9[_0x13a0c0(0x82)],'type':_0x4636a9[_0x13a0c0(0x83)],'errors':_0x4636a9[_0x13a0c0(0x88)],'warnings':_0x4636a9[_0x13a0c0(0x7e)]},'message':_0x13a0c0(0x8a)};}};
1
+ const a45_0xa46ccb=a45_0x434d;(function(_0x341224,_0x15abdf){const _0x2065ed=a45_0x434d,_0x45d480=_0x341224();while(!![]){try{const _0x5dc0c5=-parseInt(_0x2065ed(0x6d))/0x1*(-parseInt(_0x2065ed(0x6f))/0x2)+parseInt(_0x2065ed(0x72))/0x3*(-parseInt(_0x2065ed(0x75))/0x4)+parseInt(_0x2065ed(0x73))/0x5+-parseInt(_0x2065ed(0x7c))/0x6+-parseInt(_0x2065ed(0x7a))/0x7*(parseInt(_0x2065ed(0x81))/0x8)+-parseInt(_0x2065ed(0x71))/0x9*(-parseInt(_0x2065ed(0x7e))/0xa)+parseInt(_0x2065ed(0x78))/0xb*(parseInt(_0x2065ed(0x7f))/0xc);if(_0x5dc0c5===_0x15abdf)break;else _0x45d480['push'](_0x45d480['shift']());}catch(_0x19366d){_0x45d480['push'](_0x45d480['shift']());}}}(a45_0x5c5b,0x91dc1));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';function a45_0x434d(_0x5b4b5c,_0x58984d){_0x5b4b5c=_0x5b4b5c-0x6d;const _0x5c5b61=a45_0x5c5b();let _0x434df8=_0x5c5b61[_0x5b4b5c];return _0x434df8;}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a45_0x5c5b(){const _0x20cfe7=['51VpYCFu','4900305xtFZEg','skill','126832LnPwUy','dir','strict','3111097DBkqDw','str','84lGsDpq','read','3749796FvPxwg','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','9422170wUFKXa','12BHXeLS','errors','359432AWnXbC','2zSDEcq','type','95486UYRkon','bool','9sVNVgX'];a45_0x5c5b=function(){return _0x20cfe7;};return a45_0x5c5b();}export const validateCommand={'service':a45_0xa46ccb(0x74),'command':'validate','description':a45_0xa46ccb(0x7d),'risk':a45_0xa46ccb(0x7b),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x3d4e6f){const _0x438ee4=a45_0xa46ccb,_0x4d8335=_0x3d4e6f[_0x438ee4(0x70)](_0x438ee4(0x77)),_0x48969f=validateSkillDirectory(_0x3d4e6f[_0x438ee4(0x79)](_0x438ee4(0x76)),{'strict':_0x4d8335});return throwIfSkillValidationFailed(_0x48969f,_0x4d8335),{'ok':!![],'data':{'dir':_0x48969f[_0x438ee4(0x76)],'type':_0x48969f[_0x438ee4(0x6e)],'errors':_0x48969f[_0x438ee4(0x80)],'warnings':_0x48969f['warnings']},'message':'Skill\x20validation\x20passed.'};}};
@@ -1 +1 @@
1
- function a46_0x3637(){const _0x207018=['Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','Continue\x20company\x20Skill\x20push\x20when\x20SkillHub\x20validation\x20reports\x20warnings','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','strict','344JWRVjs','code','4Wiaxmb','company','name','write','5810qXKMiU','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','string','all','scope','2974275EXbddA','1845084SorhFH','73182Uwidbe','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','type','boolean','dir','force','3844410XXySzW','3332515xGyild','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','personal','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','417282Unwraa','confirm-warnings','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens'];a46_0x3637=function(){return _0x207018;};return a46_0x3637();}const a46_0x41e2f0=a46_0x4e46;(function(_0x4e97e7,_0xf159f8){const _0x405417=a46_0x4e46,_0x20b8e4=_0x4e97e7();while(!![]){try{const _0x18ad78=parseInt(_0x405417(0x127))/0x1+-parseInt(_0x405417(0x131))/0x2*(-parseInt(_0x405417(0x11c))/0x3)+parseInt(_0x405417(0x11b))/0x4+-parseInt(_0x405417(0x123))/0x5+parseInt(_0x405417(0x122))/0x6+parseInt(_0x405417(0x115))/0x7*(parseInt(_0x405417(0x12f))/0x8)+-parseInt(_0x405417(0x11a))/0x9;if(_0x18ad78===_0xf159f8)break;else _0x20b8e4['push'](_0x20b8e4['shift']());}catch(_0x9f42da){_0x20b8e4['push'](_0x20b8e4['shift']());}}}(a46_0x3637,0x94244));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';function a46_0x4e46(_0x4190ac,_0x1acdaf){_0x4190ac=_0x4190ac-0x113;const _0x363735=a46_0x3637();let _0x4e469d=_0x363735[_0x4190ac];return _0x4e469d;}export const CODE_FLAG={'name':a46_0x41e2f0(0x130),'type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'};export const SCOPE_FLAG={'name':a46_0x41e2f0(0x119),'type':a46_0x41e2f0(0x117),'description':a46_0x41e2f0(0x116),'enum':['all',a46_0x41e2f0(0x125),'company']};export const PUSH_SCOPE_FLAG={'name':a46_0x41e2f0(0x119),'type':a46_0x41e2f0(0x117),'description':a46_0x41e2f0(0x12b),'default':a46_0x41e2f0(0x125),'enum':['personal',a46_0x41e2f0(0x132)]};export const LIST_SCOPE_FLAG={'name':'scope','type':a46_0x41e2f0(0x117),'description':'Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','enum':[a46_0x41e2f0(0x118),'personal',a46_0x41e2f0(0x132)]};export const LOCAL_FLAG={'name':'local','type':a46_0x41e2f0(0x11f),'description':a46_0x41e2f0(0x126)};export const DIR_FLAG={'name':a46_0x41e2f0(0x120),'type':a46_0x41e2f0(0x117),'required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};export const CREATE_NAME_FLAG={'name':a46_0x41e2f0(0x113),'type':a46_0x41e2f0(0x117),'required':!![],'description':a46_0x41e2f0(0x11d),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a46_0x41e2f0(0x12a)}};export const TYPE_FLAG={'name':a46_0x41e2f0(0x11e),'type':a46_0x41e2f0(0x117),'description':'Skill\x20template\x20type','default':a46_0x41e2f0(0x114),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':'target','type':a46_0x41e2f0(0x117),'description':a46_0x41e2f0(0x12d),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a46_0x41e2f0(0x121),'type':a46_0x41e2f0(0x11f),'description':a46_0x41e2f0(0x124)};export const CONFIRM_WARNINGS_FLAG={'name':a46_0x41e2f0(0x128),'type':a46_0x41e2f0(0x11f),'description':a46_0x41e2f0(0x12c)};export const STRICT_FLAG={'name':a46_0x41e2f0(0x12e),'type':'boolean','description':a46_0x41e2f0(0x129)};
1
+ const a46_0x2cd615=a46_0x364a;(function(_0x33b754,_0x35d6e2){const _0x43df3e=a46_0x364a,_0x51ed71=_0x33b754();while(!![]){try{const _0x343443=parseInt(_0x43df3e(0xe3))/0x1*(-parseInt(_0x43df3e(0xec))/0x2)+parseInt(_0x43df3e(0xe0))/0x3*(-parseInt(_0x43df3e(0xea))/0x4)+-parseInt(_0x43df3e(0xd2))/0x5+-parseInt(_0x43df3e(0xe4))/0x6*(parseInt(_0x43df3e(0xe8))/0x7)+-parseInt(_0x43df3e(0xe5))/0x8+parseInt(_0x43df3e(0xd7))/0x9+parseInt(_0x43df3e(0xed))/0xa;if(_0x343443===_0x35d6e2)break;else _0x51ed71['push'](_0x51ed71['shift']());}catch(_0x54cfb6){_0x51ed71['push'](_0x51ed71['shift']());}}}(a46_0x4351,0x21890));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':'code','type':'string','description':a46_0x2cd615(0xde)};export const SCOPE_FLAG={'name':a46_0x2cd615(0xd1),'type':a46_0x2cd615(0xdf),'description':'Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','enum':[a46_0x2cd615(0xeb),a46_0x2cd615(0xd8),a46_0x2cd615(0xd3)]};export const PUSH_SCOPE_FLAG={'name':a46_0x2cd615(0xd1),'type':a46_0x2cd615(0xdf),'description':'Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','default':a46_0x2cd615(0xd8),'enum':['personal',a46_0x2cd615(0xd3)]};function a46_0x4351(){const _0x2b4ffe=['Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','type','Skill\x20template\x20type','strict','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','string','84wqhbHE','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','148029bjRJjr','28794VyUdDp','8960jrmnAf','write','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','399kgJLOB','force','8404HHBKzP','all','2ZGMEUy','5971230sWWVmk','scope','83125ZgZOoG','company','target','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','confirm-warnings','345438uFngBB','personal','boolean'];a46_0x4351=function(){return _0x2b4ffe;};return a46_0x4351();}export const LIST_SCOPE_FLAG={'name':a46_0x2cd615(0xd1),'type':a46_0x2cd615(0xdf),'description':a46_0x2cd615(0xd5),'enum':[a46_0x2cd615(0xeb),a46_0x2cd615(0xd8),a46_0x2cd615(0xd3)]};function a46_0x364a(_0x15dec8,_0x15b56f){_0x15dec8=_0x15dec8-0xd1;const _0x435107=a46_0x4351();let _0x364a9a=_0x435107[_0x15dec8];return _0x364a9a;}export const LOCAL_FLAG={'name':'local','type':a46_0x2cd615(0xd9),'description':a46_0x2cd615(0xe7)};export const DIR_FLAG={'name':'dir','type':'string','required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};export const CREATE_NAME_FLAG={'name':'name','type':a46_0x2cd615(0xdf),'required':!![],'description':a46_0x2cd615(0xe1),'pattern':{'regex':SKILL_NAME_PATTERN,'description':'lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens'}};export const TYPE_FLAG={'name':a46_0x2cd615(0xdb),'type':a46_0x2cd615(0xdf),'description':a46_0x2cd615(0xdc),'default':a46_0x2cd615(0xe6),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a46_0x2cd615(0xd4),'type':a46_0x2cd615(0xdf),'description':a46_0x2cd615(0xda),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a46_0x2cd615(0xe9),'type':a46_0x2cd615(0xd9),'description':'Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists'};export const CONFIRM_WARNINGS_FLAG={'name':a46_0x2cd615(0xd6),'type':a46_0x2cd615(0xd9),'description':'Continue\x20company\x20Skill\x20push\x20when\x20SkillHub\x20validation\x20reports\x20warnings'};export const STRICT_FLAG={'name':a46_0x2cd615(0xdd),'type':a46_0x2cd615(0xd9),'description':a46_0x2cd615(0xe2)};
@@ -1 +1 @@
1
- (function(_0x1ce208,_0x5e466f){const _0x514f67=a47_0x13e5,_0x292b32=_0x1ce208();while(!![]){try{const _0x8c0725=-parseInt(_0x514f67(0xc1))/0x1*(-parseInt(_0x514f67(0xc0))/0x2)+parseInt(_0x514f67(0xc2))/0x3+parseInt(_0x514f67(0xc4))/0x4*(parseInt(_0x514f67(0xbc))/0x5)+parseInt(_0x514f67(0xc5))/0x6*(-parseInt(_0x514f67(0xbe))/0x7)+parseInt(_0x514f67(0xbd))/0x8+-parseInt(_0x514f67(0xc3))/0x9+parseInt(_0x514f67(0xc6))/0xa*(-parseInt(_0x514f67(0xbf))/0xb);if(_0x8c0725===_0x5e466f)break;else _0x292b32['push'](_0x292b32['shift']());}catch(_0x33cbe2){_0x292b32['push'](_0x292b32['shift']());}}}(a47_0x224b,0x22435));import{createCommand}from'./commands/create.js';function a47_0x224b(){const _0x564cc0=['168954BNXxXy','10diuPkR','587295fCJsYV','988504DZFalY','7FZxRNM','2971001idcYNa','4262qUWYrZ','57acBcgO','409119qdXxRR','542439LxnKYC','4qBfDta'];a47_0x224b=function(){return _0x564cc0;};return a47_0x224b();}import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';function a47_0x13e5(_0x22cc13,_0x5d8efa){_0x22cc13=_0x22cc13-0xbc;const _0x224b1e=a47_0x224b();let _0x13e557=_0x224b1e[_0x22cc13];return _0x13e557;}import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
1
+ (function(_0x11d5a7,_0x470e7b){const _0x2ab8e8=a47_0x3754,_0x574fc4=_0x11d5a7();while(!![]){try{const _0x1013df=parseInt(_0x2ab8e8(0x1ed))/0x1*(-parseInt(_0x2ab8e8(0x1ea))/0x2)+parseInt(_0x2ab8e8(0x1e7))/0x3+-parseInt(_0x2ab8e8(0x1eb))/0x4+-parseInt(_0x2ab8e8(0x1ee))/0x5*(parseInt(_0x2ab8e8(0x1ec))/0x6)+parseInt(_0x2ab8e8(0x1ef))/0x7+-parseInt(_0x2ab8e8(0x1f0))/0x8+-parseInt(_0x2ab8e8(0x1e9))/0x9*(-parseInt(_0x2ab8e8(0x1e8))/0xa);if(_0x1013df===_0x470e7b)break;else _0x574fc4['push'](_0x574fc4['shift']());}catch(_0x121a86){_0x574fc4['push'](_0x574fc4['shift']());}}}(a47_0xb997,0x9f247));function a47_0x3754(_0x21725e,_0x3be437){_0x21725e=_0x21725e-0x1e7;const _0xb997ed=a47_0xb997();let _0x375477=_0xb997ed[_0x21725e];return _0x375477;}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';function a47_0xb997(){const _0x21b82a=['3741915XcbhBu','27840CtrMkD','1908uIsdOw','464dzjkHb','275792HQTZco','276384fJqxAV','1238siyYmT','60TQsmqc','605472vMPxom','2905840mKTybm'];a47_0xb997=function(){return _0x21b82a;};return a47_0xb997();}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];
@@ -1 +1 @@
1
- (function(_0x1be4bb,_0x83f036){var _0x2b3e76=a48_0x11d6,_0x254e0b=_0x1be4bb();while(!![]){try{var _0x1d6c9b=-parseInt(_0x2b3e76(0x1eb))/0x1*(parseInt(_0x2b3e76(0x1ec))/0x2)+parseInt(_0x2b3e76(0x1e9))/0x3+-parseInt(_0x2b3e76(0x1e5))/0x4+-parseInt(_0x2b3e76(0x1e6))/0x5*(parseInt(_0x2b3e76(0x1ea))/0x6)+-parseInt(_0x2b3e76(0x1e8))/0x7+parseInt(_0x2b3e76(0x1ee))/0x8+parseInt(_0x2b3e76(0x1e4))/0x9;if(_0x1d6c9b===_0x83f036)break;else _0x254e0b['push'](_0x254e0b['shift']());}catch(_0x112ee8){_0x254e0b['push'](_0x254e0b['shift']());}}}(a48_0x3cfc,0x631a7));function a48_0x11d6(_0x13fb2a,_0x52d0da){_0x13fb2a=_0x13fb2a-0x1e1;var _0x3cfca1=a48_0x3cfc();var _0x11d6d5=_0x3cfca1[_0x13fb2a];return _0x11d6d5;}export function isPackageBackedManifest(_0x242f9b){var _0x197010=a48_0x11d6;return!!_0x242f9b&&typeof _0x242f9b===_0x197010(0x1e1)&&!Array[_0x197010(0x1e2)](_0x242f9b)&&typeof _0x242f9b[_0x197010(0x1ef)]===_0x197010(0x1e7)&&_0x242f9b[_0x197010(0x1ef)][_0x197010(0x1ed)]>0x0&&Array[_0x197010(0x1e2)](_0x242f9b[_0x197010(0x1f1)]);}function a48_0x3cfc(){var _0x33daa0=['some','3982446mZTKuR','286540AgbKrP','1455415JpIXdl','string','5560275qJPzFs','2217489KRHknC','6QUlhPS','1IWYqVy','240442HFXCiI','length','4012272zbDZVr','ossPath','SKILL.md','files','object','isArray'];a48_0x3cfc=function(){return _0x33daa0;};return a48_0x3cfc();}export function isMultiFileManifest(_0x21e974){var _0x2df861=a48_0x11d6;return!!_0x21e974&&typeof _0x21e974===_0x2df861(0x1e1)&&!Array['isArray'](_0x21e974)&&Array['isArray'](_0x21e974[_0x2df861(0x1f1)])&&_0x21e974['files'][_0x2df861(0x1e3)](_0x175ac3=>_0x175ac3['path']!==_0x2df861(0x1f0));}
1
+ (function(_0x2f7cf8,_0x8e3918){var _0x5cb32f=a48_0x2a23,_0x366ad9=_0x2f7cf8();while(!![]){try{var _0x1277b9=-parseInt(_0x5cb32f(0xdf))/0x1+-parseInt(_0x5cb32f(0xdc))/0x2*(parseInt(_0x5cb32f(0xe1))/0x3)+parseInt(_0x5cb32f(0xe3))/0x4*(-parseInt(_0x5cb32f(0xd9))/0x5)+parseInt(_0x5cb32f(0xd8))/0x6+parseInt(_0x5cb32f(0xdd))/0x7+-parseInt(_0x5cb32f(0xda))/0x8*(-parseInt(_0x5cb32f(0xd6))/0x9)+parseInt(_0x5cb32f(0xde))/0xa*(parseInt(_0x5cb32f(0xd4))/0xb);if(_0x1277b9===_0x8e3918)break;else _0x366ad9['push'](_0x366ad9['shift']());}catch(_0x3ec611){_0x366ad9['push'](_0x366ad9['shift']());}}}(a48_0x49c5,0xad067));export function isPackageBackedManifest(_0x3de6c1){var _0x25d05a=a48_0x2a23;return!!_0x3de6c1&&typeof _0x3de6c1===_0x25d05a(0xd3)&&!Array['isArray'](_0x3de6c1)&&typeof _0x3de6c1[_0x25d05a(0xe0)]===_0x25d05a(0xdb)&&_0x3de6c1[_0x25d05a(0xe0)]['length']>0x0&&Array[_0x25d05a(0xe2)](_0x3de6c1['files']);}function a48_0x2a23(_0x40a987,_0x5276d8){_0x40a987=_0x40a987-0xd2;var _0x49c5b2=a48_0x49c5();var _0x2a233f=_0x49c5b2[_0x40a987];return _0x2a233f;}function a48_0x49c5(){var _0x3f27bf=['831181aKpXNR','ossPath','336666SSwZfj','isArray','724BkxDGX','path','object','21725913HDzOHh','some','9AQdYsr','files','669432RZeBMH','30455fEeLIc','5452712jjJaEx','string','14ghFDZr','4617711aPGplt','10cMCMcb'];a48_0x49c5=function(){return _0x3f27bf;};return a48_0x49c5();}export function isMultiFileManifest(_0x61d503){var _0x3ca33f=a48_0x2a23;return!!_0x61d503&&typeof _0x61d503===_0x3ca33f(0xd3)&&!Array['isArray'](_0x61d503)&&Array['isArray'](_0x61d503[_0x3ca33f(0xd7)])&&_0x61d503['files'][_0x3ca33f(0xd5)](_0x1fd081=>_0x1fd081[_0x3ca33f(0xd2)]!=='SKILL.md');}
@@ -1 +1 @@
1
- (function(_0x8803d5,_0x17718b){const _0x3a211f=a49_0x435b,_0x237b4a=_0x8803d5();while(!![]){try{const _0x3e0a45=parseInt(_0x3a211f(0xed))/0x1*(-parseInt(_0x3a211f(0x101))/0x2)+parseInt(_0x3a211f(0x116))/0x3+-parseInt(_0x3a211f(0x11a))/0x4+parseInt(_0x3a211f(0x112))/0x5+-parseInt(_0x3a211f(0xfc))/0x6+parseInt(_0x3a211f(0x100))/0x7*(-parseInt(_0x3a211f(0x107))/0x8)+parseInt(_0x3a211f(0x111))/0x9*(parseInt(_0x3a211f(0xeb))/0xa);if(_0x3e0a45===_0x17718b)break;else _0x237b4a['push'](_0x237b4a['shift']());}catch(_0x369fc2){_0x237b4a['push'](_0x237b4a['shift']());}}}(a49_0x52a0,0xbfb08));import{CliErrors}from'../../errors.js';import{isMultiFileManifest,isPackageBackedManifest}from'./manifest-helpers.js';import{remotePersonalReadOptions,remoteMissingCompanyReadOptions,remoteMissingPersonalReadOptions}from'./push-flow-helpers.js';import{allowRetargetArgs,buildRetargetWarning,remoteFirstMetadataOptions,resolvePushScope,throwIfBuiltinPushTarget,throwIfPublishValidationFailed}from'./push-flow-helpers.js';import{withRetargetExistingMetadata}from'./push-retarget.js';import{summarizeRuntimeSkill}from'./summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'./validate.js';export async function skillPushDryRun(_0x420052){const _0x3e285e=a49_0x435b,{getRuntimeSkillByCode:_0x4657f5,validateRuntimeSkillPublish:_0x44da41}=await import(_0x3e285e(0xe8)),{readPushDirectory:_0x598d41,resolvePushDirectoryIdentity:_0x272ae5}=await import(_0x3e285e(0xf5));if(!_0x420052[_0x3e285e(0x105)])throw CliErrors['authRequired']();const _0x5ee3e2=resolvePushScope(_0x420052),_0x1ac09e=validateSkillDirectory(_0x420052['str']('dir'));throwIfSkillValidationFailed(_0x1ac09e);const _0x3b88bf=_0x272ae5(_0x1ac09e[_0x3e285e(0xf7)],_0x420052[_0x3e285e(0xe7)],remoteFirstMetadataOptions()),_0x2e5d5e=await _0x4657f5(_0x420052[_0x3e285e(0xe7)],_0x3b88bf[_0x3e285e(0x103)]);throwIfBuiltinPushTarget(_0x2e5d5e);if(_0x5ee3e2==='company'){const _0x25396e=_0x598d41(_0x1ac09e[_0x3e285e(0xf7)],_0x420052[_0x3e285e(0xe7)],remoteMissingCompanyReadOptions()),_0x40b385=await _0x44da41(_0x420052['appCode'],_0x25396e[_0x3e285e(0xe9)],{'visibility':_0x3e285e(0xf8)});return{'method':_0x3e285e(0x10a),'url':_0x3e285e(0xf4)+_0x420052['appCode']+_0x3e285e(0xf6),'body':{'skillCode':_0x25396e[_0x3e285e(0x103)],'visibility':_0x3e285e(0xf8),'valid':_0x40b385[_0x3e285e(0xe6)],'errors':_0x40b385[_0x3e285e(0x102)],'warnings':_0x40b385['warnings'],'resolvedSlug':_0x40b385['resolvedSlug'],'resolvedVersion':_0x40b385[_0x3e285e(0x104)]},'description':_0x3e285e(0xff)};}if(_0x2e5d5e&&_0x2e5d5e[_0x3e285e(0x108)]!==_0x3e285e(0xea))throw CliErrors[_0x3e285e(0xef)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20'+_0x3b88bf[_0x3e285e(0x103)]+_0x3e285e(0x10c)+(_0x2e5d5e['scope']??_0x3e285e(0xfe))+'\x22.');const _0x5966c5=_0x598d41(_0x1ac09e[_0x3e285e(0xf7)],_0x420052[_0x3e285e(0xe7)],_0x2e5d5e?remotePersonalReadOptions(!![]):remoteMissingPersonalReadOptions());return{'method':_0x3e285e(0x10a),'url':_0x3e285e(0xf4)+_0x420052[_0x3e285e(0xe7)]+_0x3e285e(0x10e),'body':{'skillCode':_0x5966c5['skillCode'],'visibility':_0x3e285e(0x113),'files':_0x5966c5[_0x3e285e(0xe9)][_0x3e285e(0xf1)]?.[_0x3e285e(0xf1)][_0x3e285e(0x10d)](_0x50701=>_0x50701[_0x3e285e(0x106)])??[]},'description':'Preview\x20a\x20personal\x20Skill\x20push\x20without\x20creating\x20or\x20updating\x20a\x20remote\x20Skill.'};}export async function skillPushExecute(_0x20d21f){const _0x6c4e51=a49_0x435b,{createPersonalRuntimeSkill:_0x31065d,downloadRuntimeSkillPackage:_0x56d646,getRuntimeSkillByCode:_0x251af9,publishCompanyRuntimeSkill:_0x4a96e3,updatePersonalRuntimeSkill:_0x53ed31,validateRuntimeSkillPublish:_0x494437}=await import('../../core/api-client.js'),{verifyRuntimeSkillPackage:_0x71d2e,verifyRuntimeSkillBundle:_0xe3fb30,readPushDirectory:_0x427f02,refreshPushDirectoryMetadataFromRemote:_0x3d6e78,recordPushedRuntimeSkill:_0x5e4fb7,resolvePushDirectoryIdentity:_0x473d9}=await import(_0x6c4e51(0xf5));if(!_0x20d21f['accessKey'])throw CliErrors[_0x6c4e51(0xf3)]();const _0x3bef4c=resolvePushScope(_0x20d21f),_0x302299=validateSkillDirectory(_0x20d21f[_0x6c4e51(0xee)](_0x6c4e51(0xf7)));throwIfSkillValidationFailed(_0x302299);const _0x3eec79=_0x302299[_0x6c4e51(0xf7)];if(_0x3bef4c===_0x6c4e51(0x10f)){const _0x5bc215=_0x473d9(_0x3eec79,_0x20d21f[_0x6c4e51(0xe7)],remoteFirstMetadataOptions()),_0x1bb1d5=await _0x251af9(_0x20d21f[_0x6c4e51(0xe7)],_0x5bc215[_0x6c4e51(0x103)]);throwIfBuiltinPushTarget(_0x1bb1d5);if(_0x1bb1d5)_0x3d6e78(_0x3eec79,_0x1bb1d5,_0x20d21f['appCode']);const _0x4cd572=_0x427f02(_0x3eec79,_0x20d21f[_0x6c4e51(0xe7)],_0x1bb1d5?{'targetScope':_0x6c4e51(0x10f),'ignoreInvalidMetadata':!![]}:remoteMissingCompanyReadOptions()),_0x20fa1c=await _0x494437(_0x20d21f[_0x6c4e51(0xe7)],_0x4cd572[_0x6c4e51(0xe9)],{'visibility':_0x6c4e51(0xf8)});throwIfPublishValidationFailed(_0x4cd572[_0x6c4e51(0x103)],_0x20fa1c);const _0xafa266=_0x20d21f[_0x6c4e51(0xfa)](_0x6c4e51(0xf2))||_0x20d21f[_0x6c4e51(0xfa)](_0x6c4e51(0x114));if(_0x20fa1c['warnings'][_0x6c4e51(0xf9)]>0x0&&!_0xafa266)throw CliErrors['validation'](_0x6c4e51(0x10b)+_0x4cd572['skillCode']+'.','Review\x20the\x20warnings\x20and\x20rerun\x20with\x20--confirm-warnings\x20to\x20submit:\x20'+_0x20fa1c['warnings']['join'](';\x20'));const _0x16433a=await _0x4a96e3(_0x20d21f[_0x6c4e51(0xe7)],_0x4cd572[_0x6c4e51(0xe9)],{'confirmWarnings':_0xafa266});return _0x5e4fb7(_0x3eec79,{..._0x16433a,'files':_0x4cd572[_0x6c4e51(0xe9)][_0x6c4e51(0xf1)]},_0x20d21f[_0x6c4e51(0xe7)],{'scope':'company'}),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x16433a),'scope':_0x6c4e51(0x10f),'reviewState':_0x6c4e51(0x118),'submittedForReview':!![],'validation':{'warnings':_0x20fa1c[_0x6c4e51(0x117)]}},'message':_0x6c4e51(0xfb)+_0x4cd572[_0x6c4e51(0x103)]+_0x6c4e51(0xec)+(_0x16433a['version']??'(unknown)')+'\x20for\x20review'};}const _0x449829=_0x20d21f[_0x6c4e51(0xee)](_0x6c4e51(0xfd))[_0x6c4e51(0x110)](),_0x1c063d=Boolean(_0x449829),_0x5688d8=allowRetargetArgs(_0x1c063d),_0x28cf72=_0x473d9(_0x3eec79,_0x20d21f[_0x6c4e51(0xe7)],{...remoteFirstMetadataOptions(),..._0x5688d8[0x0]}),_0xb8f4c3=await _0x251af9(_0x20d21f['appCode'],_0x28cf72[_0x6c4e51(0x103)]);throwIfBuiltinPushTarget(_0xb8f4c3);if(_0xb8f4c3){if(_0xb8f4c3[_0x6c4e51(0x108)]!=='personal'){if(_0x1c063d)throw CliErrors['validation'](_0x6c4e51(0xf0)+_0x28cf72[_0x6c4e51(0x103)]+'\x20has\x20scope=\x22'+(_0xb8f4c3[_0x6c4e51(0x108)]??_0x6c4e51(0xfe))+'\x22.');_0x3d6e78(_0x3eec79,_0xb8f4c3,_0x20d21f['appCode']);}else!_0x1c063d&&_0x3d6e78(_0x3eec79,_0xb8f4c3,_0x20d21f[_0x6c4e51(0xe7)]);}const _0x60de62=_0x427f02(_0x3eec79,_0x20d21f['appCode'],_0xb8f4c3?remotePersonalReadOptions(_0x1c063d,_0x5688d8[0x0]):remoteMissingPersonalReadOptions(_0x5688d8[0x0])),_0x176e0b=_0xb8f4c3?.['scope']==='personal'&&_0xb8f4c3[_0x6c4e51(0x103)]===_0x60de62['skillCode']?_0xb8f4c3:undefined,_0x2a87a9=_0x1c063d&&_0x176e0b?withRetargetExistingMetadata(_0x60de62['input'],_0x176e0b,{'preferInputSkillName':Boolean(_0x60de62[_0x6c4e51(0x119)])}):_0x60de62[_0x6c4e51(0xe9)],_0x5e859e=_0x176e0b?await _0x53ed31(_0x60de62[_0x6c4e51(0x103)],_0x20d21f[_0x6c4e51(0xe7)],_0x2a87a9):await _0x31065d(_0x20d21f[_0x6c4e51(0xe7)],_0x2a87a9);let _0x103d5c=_0x5e859e;if(isMultiFileManifest(_0x60de62[_0x6c4e51(0xe9)]['files'])){const _0x532095=await _0x56d646(_0x6c4e51(0xea),_0x5e859e[_0x6c4e51(0x103)]||_0x60de62[_0x6c4e51(0x103)],_0x20d21f[_0x6c4e51(0xe7)]);_0xe3fb30(_0x60de62['input'][_0x6c4e51(0xf1)],_0x532095),_0x103d5c={..._0x5e859e,'files':_0x60de62[_0x6c4e51(0xe9)][_0x6c4e51(0xf1)]};}else{if(isPackageBackedManifest(_0x5e859e['files'])){const _0x471c15=await _0x56d646(_0x6c4e51(0xea),_0x5e859e['skillCode']||_0x60de62[_0x6c4e51(0x103)],_0x20d21f[_0x6c4e51(0xe7)]);_0x71d2e(_0x5e859e[_0x6c4e51(0xf1)],_0x471c15);}}_0x5e4fb7(_0x3eec79,_0x103d5c,_0x20d21f['appCode']);const _0x50427f=_0x1c063d?buildRetargetWarning(_0x28cf72[_0x6c4e51(0x115)],_0x20d21f[_0x6c4e51(0xe7)]):[];return{'ok':!![],'data':{...summarizeRuntimeSkill(_0x5e859e),'warnings':[..._0x302299['warnings'],..._0x50427f]},'message':_0x176e0b?'Updated\x20personal\x20Skill\x20'+_0x60de62['skillCode']:_0x6c4e51(0x109)+_0x60de62[_0x6c4e51(0x103)]};}function a49_0x435b(_0xf3db45,_0x2b4ff8){_0xf3db45=_0xf3db45-0xe6;const _0x52a09a=a49_0x52a0();let _0x435bba=_0x52a09a[_0xf3db45];return _0x435bba;}function a49_0x52a0(){const _0x37e892=['map','/publish','company','trim','27549zahWFj','2239325RLyrrd','PRIVATE','confirmWarnings','metadata','3937341XHkoUS','warnings','submitted','frontmatterDisplayName','5725084DqBTwe','valid','appCode','../../core/api-client.js','input','personal','9810vRfyEJ','\x20version\x20','1087dyWJJv','str','validation','Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20','files','confirm-warnings','authRequired','/api/cli/v1/skills/','../../skills/runtime-skill-sync.js','/publish/validate','dir','NAMESPACE_ONLY','length','bool','Submitted\x20company\x20Skill\x20','8720004jzdRCy','appcode','unknown','Validate\x20a\x20company\x20Skill\x20push\x20package\x20without\x20creating\x20a\x20version\x20or\x20review\x20task.','6383013IcMtNw','334TtLvUi','errors','skillCode','resolvedVersion','accessKey','path','8Cboodw','scope','Created\x20personal\x20Skill\x20','POST','Company\x20Skill\x20push\x20validation\x20reported\x20warning(s)\x20for\x20','\x20has\x20scope=\x22'];a49_0x52a0=function(){return _0x37e892;};return a49_0x52a0();}
1
+ (function(_0x5e5dd0,_0x1d04cb){const _0x49f968=a49_0x3a3d,_0x5a3833=_0x5e5dd0();while(!![]){try{const _0x219c26=parseInt(_0x49f968(0x129))/0x1*(-parseInt(_0x49f968(0x128))/0x2)+parseInt(_0x49f968(0x12a))/0x3+parseInt(_0x49f968(0x104))/0x4*(-parseInt(_0x49f968(0x11d))/0x5)+-parseInt(_0x49f968(0x132))/0x6*(parseInt(_0x49f968(0x102))/0x7)+parseInt(_0x49f968(0x12e))/0x8*(-parseInt(_0x49f968(0x10f))/0x9)+-parseInt(_0x49f968(0x11b))/0xa+parseInt(_0x49f968(0x101))/0xb;if(_0x219c26===_0x1d04cb)break;else _0x5a3833['push'](_0x5a3833['shift']());}catch(_0x5d913a){_0x5a3833['push'](_0x5a3833['shift']());}}}(a49_0x3147,0x643ad));import{CliErrors}from'../../errors.js';function a49_0x3147(){const _0x5aff47=['(unknown)','6357980EEmVrf','frontmatterDisplayName','935gAKGVW','resolvedVersion','skillCode','bool','join','../../core/api-client.js','company','Company\x20Skill\x20push\x20validation\x20reported\x20warning(s)\x20for\x20','version','/api/cli/v1/skills/','valid','1312708LwhAMY','1nSVcQo','31470IVJbYQ','/publish/validate','/publish','appcode','8ZpNTGH','input','confirm-warnings','scope','3180kpDJQd','confirmWarnings','\x20for\x20review','POST','Updated\x20personal\x20Skill\x20','submitted','30953780xKTAkj','252VDcyAf','warnings','16636VDcDMG','files','\x20has\x20scope=\x22','personal','errors','dir','length','../../skills/runtime-skill-sync.js','str','NAMESPACE_ONLY','metadata','2924676TOEIvh','validation','Review\x20the\x20warnings\x20and\x20rerun\x20with\x20--confirm-warnings\x20to\x20submit:\x20','\x20version\x20','Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20','authRequired','appCode','unknown','accessKey','path','Preview\x20a\x20personal\x20Skill\x20push\x20without\x20creating\x20or\x20updating\x20a\x20remote\x20Skill.'];a49_0x3147=function(){return _0x5aff47;};return a49_0x3147();}import{isMultiFileManifest,isPackageBackedManifest}from'./manifest-helpers.js';function a49_0x3a3d(_0x32729f,_0x3f7f27){_0x32729f=_0x32729f-0x100;const _0x3147e2=a49_0x3147();let _0x3a3dac=_0x3147e2[_0x32729f];return _0x3a3dac;}import{remotePersonalReadOptions,remoteMissingCompanyReadOptions,remoteMissingPersonalReadOptions}from'./push-flow-helpers.js';import{allowRetargetArgs,buildRetargetWarning,remoteFirstMetadataOptions,resolvePushScope,throwIfBuiltinPushTarget,throwIfPublishValidationFailed}from'./push-flow-helpers.js';import{withRetargetExistingMetadata}from'./push-retarget.js';import{summarizeRuntimeSkill}from'./summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'./validate.js';export async function skillPushDryRun(_0x5d391d){const _0x93d264=a49_0x3a3d,{getRuntimeSkillByCode:_0x3b1710,validateRuntimeSkillPublish:_0x21540e}=await import('../../core/api-client.js'),{readPushDirectory:_0x1e01c1,resolvePushDirectoryIdentity:_0x36dd64}=await import(_0x93d264(0x10b));if(!_0x5d391d[_0x93d264(0x117)])throw CliErrors[_0x93d264(0x114)]();const _0x555d4b=resolvePushScope(_0x5d391d),_0x20245f=validateSkillDirectory(_0x5d391d[_0x93d264(0x10c)](_0x93d264(0x109)));throwIfSkillValidationFailed(_0x20245f);const _0x4242e9=_0x36dd64(_0x20245f['dir'],_0x5d391d[_0x93d264(0x115)],remoteFirstMetadataOptions()),_0x2b7fe7=await _0x3b1710(_0x5d391d[_0x93d264(0x115)],_0x4242e9[_0x93d264(0x11f)]);throwIfBuiltinPushTarget(_0x2b7fe7);if(_0x555d4b===_0x93d264(0x123)){const _0x12395d=_0x1e01c1(_0x20245f['dir'],_0x5d391d[_0x93d264(0x115)],remoteMissingCompanyReadOptions()),_0x16ec14=await _0x21540e(_0x5d391d[_0x93d264(0x115)],_0x12395d[_0x93d264(0x12f)],{'visibility':_0x93d264(0x10d)});return{'method':_0x93d264(0x135),'url':'/api/cli/v1/skills/'+_0x5d391d[_0x93d264(0x115)]+_0x93d264(0x12b),'body':{'skillCode':_0x12395d['skillCode'],'visibility':_0x93d264(0x10d),'valid':_0x16ec14[_0x93d264(0x127)],'errors':_0x16ec14[_0x93d264(0x108)],'warnings':_0x16ec14['warnings'],'resolvedSlug':_0x16ec14['resolvedSlug'],'resolvedVersion':_0x16ec14[_0x93d264(0x11e)]},'description':'Validate\x20a\x20company\x20Skill\x20push\x20package\x20without\x20creating\x20a\x20version\x20or\x20review\x20task.'};}if(_0x2b7fe7&&_0x2b7fe7[_0x93d264(0x131)]!==_0x93d264(0x107))throw CliErrors['validation'](_0x93d264(0x113)+_0x4242e9[_0x93d264(0x11f)]+_0x93d264(0x106)+(_0x2b7fe7[_0x93d264(0x131)]??'unknown')+'\x22.');const _0x28f685=_0x1e01c1(_0x20245f[_0x93d264(0x109)],_0x5d391d['appCode'],_0x2b7fe7?remotePersonalReadOptions(!![]):remoteMissingPersonalReadOptions());return{'method':_0x93d264(0x135),'url':_0x93d264(0x126)+_0x5d391d[_0x93d264(0x115)]+_0x93d264(0x12c),'body':{'skillCode':_0x28f685[_0x93d264(0x11f)],'visibility':'PRIVATE','files':_0x28f685['input'][_0x93d264(0x105)]?.[_0x93d264(0x105)]['map'](_0xd9ce96=>_0xd9ce96[_0x93d264(0x118)])??[]},'description':_0x93d264(0x119)};}export async function skillPushExecute(_0x3dccd5){const _0x4b8b4a=a49_0x3a3d,{createPersonalRuntimeSkill:_0x1eaf85,downloadRuntimeSkillPackage:_0xc82ee,getRuntimeSkillByCode:_0x17a2fa,publishCompanyRuntimeSkill:_0x4f45ce,updatePersonalRuntimeSkill:_0x26ba91,validateRuntimeSkillPublish:_0x23782e}=await import(_0x4b8b4a(0x122)),{verifyRuntimeSkillPackage:_0x3b2f2d,verifyRuntimeSkillBundle:_0x4a7e47,readPushDirectory:_0x2a0e38,refreshPushDirectoryMetadataFromRemote:_0x36c953,recordPushedRuntimeSkill:_0x15c851,resolvePushDirectoryIdentity:_0x5b9146}=await import(_0x4b8b4a(0x10b));if(!_0x3dccd5['accessKey'])throw CliErrors[_0x4b8b4a(0x114)]();const _0x5b4782=resolvePushScope(_0x3dccd5),_0x124799=validateSkillDirectory(_0x3dccd5['str'](_0x4b8b4a(0x109)));throwIfSkillValidationFailed(_0x124799);const _0x35253d=_0x124799[_0x4b8b4a(0x109)];if(_0x5b4782==='company'){const _0x54124c=_0x5b9146(_0x35253d,_0x3dccd5['appCode'],remoteFirstMetadataOptions()),_0x82056=await _0x17a2fa(_0x3dccd5[_0x4b8b4a(0x115)],_0x54124c[_0x4b8b4a(0x11f)]);throwIfBuiltinPushTarget(_0x82056);if(_0x82056)_0x36c953(_0x35253d,_0x82056,_0x3dccd5[_0x4b8b4a(0x115)]);const _0x33965e=_0x2a0e38(_0x35253d,_0x3dccd5[_0x4b8b4a(0x115)],_0x82056?{'targetScope':_0x4b8b4a(0x123),'ignoreInvalidMetadata':!![]}:remoteMissingCompanyReadOptions()),_0x222d57=await _0x23782e(_0x3dccd5[_0x4b8b4a(0x115)],_0x33965e[_0x4b8b4a(0x12f)],{'visibility':_0x4b8b4a(0x10d)});throwIfPublishValidationFailed(_0x33965e[_0x4b8b4a(0x11f)],_0x222d57);const _0xe009ad=_0x3dccd5[_0x4b8b4a(0x120)](_0x4b8b4a(0x130))||_0x3dccd5[_0x4b8b4a(0x120)](_0x4b8b4a(0x133));if(_0x222d57[_0x4b8b4a(0x103)][_0x4b8b4a(0x10a)]>0x0&&!_0xe009ad)throw CliErrors['validation'](_0x4b8b4a(0x124)+_0x33965e[_0x4b8b4a(0x11f)]+'.',_0x4b8b4a(0x111)+_0x222d57[_0x4b8b4a(0x103)][_0x4b8b4a(0x121)](';\x20'));const _0x367a2a=await _0x4f45ce(_0x3dccd5[_0x4b8b4a(0x115)],_0x33965e[_0x4b8b4a(0x12f)],{'confirmWarnings':_0xe009ad});return _0x15c851(_0x35253d,{..._0x367a2a,'files':_0x33965e[_0x4b8b4a(0x12f)][_0x4b8b4a(0x105)]},_0x3dccd5[_0x4b8b4a(0x115)],{'scope':_0x4b8b4a(0x123)}),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x367a2a),'scope':_0x4b8b4a(0x123),'reviewState':_0x4b8b4a(0x100),'submittedForReview':!![],'validation':{'warnings':_0x222d57['warnings']}},'message':'Submitted\x20company\x20Skill\x20'+_0x33965e[_0x4b8b4a(0x11f)]+_0x4b8b4a(0x112)+(_0x367a2a[_0x4b8b4a(0x125)]??_0x4b8b4a(0x11a))+_0x4b8b4a(0x134)};}const _0x4f74a3=_0x3dccd5['str'](_0x4b8b4a(0x12d))['trim'](),_0x1f7ff0=Boolean(_0x4f74a3),_0x4b878e=allowRetargetArgs(_0x1f7ff0),_0x47d365=_0x5b9146(_0x35253d,_0x3dccd5[_0x4b8b4a(0x115)],{...remoteFirstMetadataOptions(),..._0x4b878e[0x0]}),_0x3eda55=await _0x17a2fa(_0x3dccd5[_0x4b8b4a(0x115)],_0x47d365['skillCode']);throwIfBuiltinPushTarget(_0x3eda55);if(_0x3eda55){if(_0x3eda55[_0x4b8b4a(0x131)]!==_0x4b8b4a(0x107)){if(_0x1f7ff0)throw CliErrors[_0x4b8b4a(0x110)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20'+_0x47d365[_0x4b8b4a(0x11f)]+'\x20has\x20scope=\x22'+(_0x3eda55['scope']??_0x4b8b4a(0x116))+'\x22.');_0x36c953(_0x35253d,_0x3eda55,_0x3dccd5['appCode']);}else!_0x1f7ff0&&_0x36c953(_0x35253d,_0x3eda55,_0x3dccd5[_0x4b8b4a(0x115)]);}const _0x325531=_0x2a0e38(_0x35253d,_0x3dccd5['appCode'],_0x3eda55?remotePersonalReadOptions(_0x1f7ff0,_0x4b878e[0x0]):remoteMissingPersonalReadOptions(_0x4b878e[0x0])),_0x3c72d7=_0x3eda55?.[_0x4b8b4a(0x131)]===_0x4b8b4a(0x107)&&_0x3eda55[_0x4b8b4a(0x11f)]===_0x325531[_0x4b8b4a(0x11f)]?_0x3eda55:undefined,_0x2d4808=_0x1f7ff0&&_0x3c72d7?withRetargetExistingMetadata(_0x325531['input'],_0x3c72d7,{'preferInputSkillName':Boolean(_0x325531[_0x4b8b4a(0x11c)])}):_0x325531[_0x4b8b4a(0x12f)],_0x9433d5=_0x3c72d7?await _0x26ba91(_0x325531[_0x4b8b4a(0x11f)],_0x3dccd5[_0x4b8b4a(0x115)],_0x2d4808):await _0x1eaf85(_0x3dccd5[_0x4b8b4a(0x115)],_0x2d4808);let _0x289f4b=_0x9433d5;if(isMultiFileManifest(_0x325531[_0x4b8b4a(0x12f)][_0x4b8b4a(0x105)])){const _0x5fd68c=await _0xc82ee(_0x4b8b4a(0x107),_0x9433d5[_0x4b8b4a(0x11f)]||_0x325531[_0x4b8b4a(0x11f)],_0x3dccd5[_0x4b8b4a(0x115)]);_0x4a7e47(_0x325531['input'][_0x4b8b4a(0x105)],_0x5fd68c),_0x289f4b={..._0x9433d5,'files':_0x325531[_0x4b8b4a(0x12f)][_0x4b8b4a(0x105)]};}else{if(isPackageBackedManifest(_0x9433d5[_0x4b8b4a(0x105)])){const _0x238bae=await _0xc82ee(_0x4b8b4a(0x107),_0x9433d5['skillCode']||_0x325531[_0x4b8b4a(0x11f)],_0x3dccd5[_0x4b8b4a(0x115)]);_0x3b2f2d(_0x9433d5[_0x4b8b4a(0x105)],_0x238bae);}}_0x15c851(_0x35253d,_0x289f4b,_0x3dccd5[_0x4b8b4a(0x115)]);const _0x1c6d6a=_0x1f7ff0?buildRetargetWarning(_0x47d365[_0x4b8b4a(0x10e)],_0x3dccd5[_0x4b8b4a(0x115)]):[];return{'ok':!![],'data':{...summarizeRuntimeSkill(_0x9433d5),'warnings':[..._0x124799[_0x4b8b4a(0x103)],..._0x1c6d6a]},'message':_0x3c72d7?_0x4b8b4a(0x136)+_0x325531[_0x4b8b4a(0x11f)]:'Created\x20personal\x20Skill\x20'+_0x325531[_0x4b8b4a(0x11f)]};}
@@ -1 +1 @@
1
- (function(_0x689998,_0x5c6932){const _0x437409=a50_0x4425,_0x593aaa=_0x689998();while(!![]){try{const _0x5a6228=-parseInt(_0x437409(0xf6))/0x1*(parseInt(_0x437409(0xe6))/0x2)+parseInt(_0x437409(0xf5))/0x3*(-parseInt(_0x437409(0xef))/0x4)+-parseInt(_0x437409(0xed))/0x5+parseInt(_0x437409(0xf4))/0x6+parseInt(_0x437409(0xf8))/0x7*(-parseInt(_0x437409(0xfe))/0x8)+-parseInt(_0x437409(0x100))/0x9*(-parseInt(_0x437409(0xf3))/0xa)+parseInt(_0x437409(0xf2))/0xb;if(_0x5a6228===_0x5c6932)break;else _0x593aaa['push'](_0x593aaa['shift']());}catch(_0x110a06){_0x593aaa['push'](_0x593aaa['shift']());}}}(a50_0x2532,0x5c14e));function a50_0x4425(_0x2448b1,_0x4ea24d){_0x2448b1=_0x2448b1-0xe2;const _0x253209=a50_0x2532();let _0x442533=_0x253209[_0x2448b1];return _0x442533;}import{CliErrors}from'../../errors.js';function a50_0x2532(){const _0x511ca0=['Builtin\x20Skill\x20','\x20after\x20successful\x20push.','2098bcmxdE','length','Use\x20a\x20different\x20skillCode\x20when\x20submitting\x20a\x20personal\x20or\x20company\x20Skill.','appCode','skillCode','skill\x20push\x20supports\x20--scope\x20personal\x20or\x20--scope\x20company;\x20received\x20\x22','Local\x20Skill\x20metadata\x20appCode\x20','1853765lchJUC','errors','16412wfZytZ','validation','\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20','10851896Dbmekg','61700pHJNIS','1648164UvWyoK','321KOcXwY','140TVYZRh','scope','140DHCkNZ','(unknown)','SkillHub\x20validation\x20returned\x20invalid.','str','personal','lovrabet.skill.json','17864NBGHrP','Company\x20Skill\x20push\x20validation\x20failed\x20for\x20','171Srtwle','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','valid','builtin','warning'];a50_0x2532=function(){return _0x511ca0;};return a50_0x2532();}export function resolvePushScope(_0x4b76dd){const _0x3047e0=a50_0x4425,_0x181ed3=_0x4b76dd[_0x3047e0(0xfb)](_0x3047e0(0xf7))||'personal';if(_0x181ed3===_0x3047e0(0xfc)||_0x181ed3==='company')return _0x181ed3;throw CliErrors[_0x3047e0(0xf0)](_0x3047e0(0xeb)+_0x181ed3+'\x22.');}export function allowRetargetArgs(_0x1396fd){return _0x1396fd?[{'allowAppCodeRetarget':!![]}]:[];}export function remoteFirstMetadataOptions(){return{'ignoreInvalidMetadata':!![],'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingPayloadOptions(){return{'ignoreMetadataForPayload':!![],'ignoreMetadataScope':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingCompanyReadOptions(){return{'targetScope':'company',...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions()};}export function remoteMissingPersonalReadOptions(_0x1cebf9={}){return{...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions(),..._0x1cebf9};}export function remotePersonalReadOptions(_0x411ce6,_0x47417={}){return{'ignoreInvalidMetadata':!![],..._0x411ce6?{'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataScope':!![]}:{},..._0x47417};}export function throwIfBuiltinPushTarget(_0x11df9e){const _0x258d18=a50_0x4425;if(_0x11df9e?.[_0x258d18(0xf7)]!==_0x258d18(0xe2))return;throw CliErrors[_0x258d18(0xf0)](_0x258d18(0xe4)+(_0x11df9e[_0x258d18(0xea)]??_0x258d18(0xf9))+'\x20cannot\x20be\x20pushed.',_0x258d18(0xe8));}export function throwIfPublishValidationFailed(_0x298670,_0x30c808){const _0x2d1bed=a50_0x4425;if(_0x30c808[_0x2d1bed(0x102)]&&_0x30c808[_0x2d1bed(0xee)][_0x2d1bed(0xe7)]===0x0)return;const _0x125866=_0x30c808['errors']['length']>0x0?_0x30c808[_0x2d1bed(0xee)]['join'](';\x20'):_0x2d1bed(0xfa);throw CliErrors[_0x2d1bed(0xf0)](_0x2d1bed(0xff)+_0x298670+'.',_0x125866);}export function buildRetargetWarning(_0x5a76d9,_0x202f74){const _0x49524b=a50_0x4425;if(!_0x5a76d9?.[_0x49524b(0xe9)]||_0x5a76d9[_0x49524b(0xe9)]===_0x202f74)return[];return[{'level':_0x49524b(0xe3),'ruleId':'skill-metadata-appcode-retargeted','file':_0x49524b(0xfd),'message':_0x49524b(0xec)+_0x5a76d9[_0x49524b(0xe9)]+_0x49524b(0xf1)+_0x202f74+_0x49524b(0xe5),'suggestion':_0x49524b(0x101)}];}
1
+ (function(_0x515955,_0x4b4b04){const _0x2390f9=a50_0x2ea0,_0x3a3390=_0x515955();while(!![]){try{const _0x5b767a=-parseInt(_0x2390f9(0x1cd))/0x1*(-parseInt(_0x2390f9(0x1c0))/0x2)+parseInt(_0x2390f9(0x1ce))/0x3*(-parseInt(_0x2390f9(0x1c2))/0x4)+-parseInt(_0x2390f9(0x1c1))/0x5*(parseInt(_0x2390f9(0x1b8))/0x6)+parseInt(_0x2390f9(0x1b5))/0x7*(-parseInt(_0x2390f9(0x1bb))/0x8)+parseInt(_0x2390f9(0x1d1))/0x9*(-parseInt(_0x2390f9(0x1b6))/0xa)+-parseInt(_0x2390f9(0x1b7))/0xb+parseInt(_0x2390f9(0x1c7))/0xc;if(_0x5b767a===_0x4b4b04)break;else _0x3a3390['push'](_0x3a3390['shift']());}catch(_0x2e1e3a){_0x3a3390['push'](_0x3a3390['shift']());}}}(a50_0x4f6d,0xe6dec));import{CliErrors}from'../../errors.js';export function resolvePushScope(_0xad9d6f){const _0x19df71=a50_0x2ea0,_0x3685a9=_0xad9d6f[_0x19df71(0x1bd)](_0x19df71(0x1ba))||'personal';if(_0x3685a9===_0x19df71(0x1bf)||_0x3685a9==='company')return _0x3685a9;throw CliErrors[_0x19df71(0x1b9)](_0x19df71(0x1c4)+_0x3685a9+'\x22.');}function a50_0x4f6d(){const _0x9f2d5d=['errors','skill\x20push\x20supports\x20--scope\x20personal\x20or\x20--scope\x20company;\x20received\x20\x22','(unknown)','Company\x20Skill\x20push\x20validation\x20failed\x20for\x20','32188380FhATxd','company','\x20cannot\x20be\x20pushed.','\x20after\x20successful\x20push.','SkillHub\x20validation\x20returned\x20invalid.','Use\x20a\x20different\x20skillCode\x20when\x20submitting\x20a\x20personal\x20or\x20company\x20Skill.','190qvHPvL','3pJPjxB','Local\x20Skill\x20metadata\x20appCode\x20','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','117900wCcIFV','appCode','4861822dKcEkd','240dlzkeU','11174658aUGgiW','12vxMpIB','validation','scope','8wHDiVj','skillCode','str','lovrabet.skill.json','personal','6972MxQrpH','19585cTJDNx','1465612neoobl'];a50_0x4f6d=function(){return _0x9f2d5d;};return a50_0x4f6d();}export function allowRetargetArgs(_0x5affcd){return _0x5affcd?[{'allowAppCodeRetarget':!![]}]:[];}export function remoteFirstMetadataOptions(){return{'ignoreInvalidMetadata':!![],'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingPayloadOptions(){return{'ignoreMetadataForPayload':!![],'ignoreMetadataScope':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingCompanyReadOptions(){const _0x276609=a50_0x2ea0;return{'targetScope':_0x276609(0x1c8),...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions()};}export function remoteMissingPersonalReadOptions(_0x4465c0={}){return{...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions(),..._0x4465c0};}function a50_0x2ea0(_0x5d50b4,_0x4c3ca5){_0x5d50b4=_0x5d50b4-0x1b4;const _0x4f6d12=a50_0x4f6d();let _0x2ea019=_0x4f6d12[_0x5d50b4];return _0x2ea019;}export function remotePersonalReadOptions(_0x223662,_0x29fe0d={}){return{'ignoreInvalidMetadata':!![],..._0x223662?{'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataScope':!![]}:{},..._0x29fe0d};}export function throwIfBuiltinPushTarget(_0x38bb87){const _0x25e303=a50_0x2ea0;if(_0x38bb87?.[_0x25e303(0x1ba)]!=='builtin')return;throw CliErrors[_0x25e303(0x1b9)]('Builtin\x20Skill\x20'+(_0x38bb87[_0x25e303(0x1bc)]??_0x25e303(0x1c5))+_0x25e303(0x1c9),_0x25e303(0x1cc));}export function throwIfPublishValidationFailed(_0x37ec49,_0x25e14d){const _0x1cd563=a50_0x2ea0;if(_0x25e14d['valid']&&_0x25e14d[_0x1cd563(0x1c3)]['length']===0x0)return;const _0x26b36d=_0x25e14d[_0x1cd563(0x1c3)]['length']>0x0?_0x25e14d['errors']['join'](';\x20'):_0x1cd563(0x1cb);throw CliErrors['validation'](_0x1cd563(0x1c6)+_0x37ec49+'.',_0x26b36d);}export function buildRetargetWarning(_0x3096c3,_0x71a3e){const _0x2168ab=a50_0x2ea0;if(!_0x3096c3?.[_0x2168ab(0x1b4)]||_0x3096c3[_0x2168ab(0x1b4)]===_0x71a3e)return[];return[{'level':'warning','ruleId':'skill-metadata-appcode-retargeted','file':_0x2168ab(0x1be),'message':_0x2168ab(0x1cf)+_0x3096c3[_0x2168ab(0x1b4)]+'\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20'+_0x71a3e+_0x2168ab(0x1ca),'suggestion':_0x2168ab(0x1d0)}];}