@lovrabet/lovrabet-cli 2.1.19 → 2.1.20

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 (130) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/shared.js +1 -1
  25. package/lib/commands/data/index.js +1 -1
  26. package/lib/commands/dataset/detail.js +1 -1
  27. package/lib/commands/dataset/index.js +1 -1
  28. package/lib/commands/dataset/list.js +1 -1
  29. package/lib/commands/dataset/sdk-doc.js +1 -1
  30. package/lib/commands/doctor.js +1 -1
  31. package/lib/commands/file/index.js +1 -1
  32. package/lib/commands/init.js +1 -1
  33. package/lib/commands/kb/index.js +1 -1
  34. package/lib/commands/logs/index.js +1 -1
  35. package/lib/commands/ocr/index.js +1 -1
  36. package/lib/commands/personal-bff/index.js +1 -1
  37. package/lib/commands/registry.js +1 -1
  38. package/lib/commands/schedule/index.js +1 -1
  39. package/lib/commands/schema.js +1 -1
  40. package/lib/commands/service/dynamic.js +1 -1
  41. package/lib/commands/service/function-name-adapter.js +1 -1
  42. package/lib/commands/service/index.js +1 -1
  43. package/lib/commands/service/registry.js +1 -1
  44. package/lib/commands/skill/commands/create.js +1 -1
  45. package/lib/commands/skill/commands/install.js +1 -1
  46. package/lib/commands/skill/commands/list.js +1 -1
  47. package/lib/commands/skill/commands/push.js +1 -1
  48. package/lib/commands/skill/commands/validate.js +1 -1
  49. package/lib/commands/skill/flags.js +1 -1
  50. package/lib/commands/skill/index.js +1 -1
  51. package/lib/commands/skill/manifest-helpers.js +1 -1
  52. package/lib/commands/skill/push-execute.js +1 -1
  53. package/lib/commands/skill/push-flow-helpers.js +1 -1
  54. package/lib/commands/skill/push-retarget.js +1 -1
  55. package/lib/commands/skill/scopes.js +1 -1
  56. package/lib/commands/skill/summary.js +1 -1
  57. package/lib/commands/skill/templates.js +1 -1
  58. package/lib/commands/skill/validate.js +1 -1
  59. package/lib/commands/sql/detail.js +1 -1
  60. package/lib/commands/sql/exec.js +1 -1
  61. package/lib/commands/sql/index.js +1 -1
  62. package/lib/commands/update.js +1 -1
  63. package/lib/commands/workspace/index.js +1 -1
  64. package/lib/config/schema.js +1 -1
  65. package/lib/constant/app.js +1 -1
  66. package/lib/constant/auth-mode.js +1 -1
  67. package/lib/constant/cli.js +1 -1
  68. package/lib/constant/defaults.js +1 -1
  69. package/lib/constant/distribution.js +1 -1
  70. package/lib/constant/domain.js +1 -1
  71. package/lib/constant/env.js +1 -1
  72. package/lib/constant/output.js +1 -1
  73. package/lib/constant/product.js +1 -1
  74. package/lib/constant/risk.js +1 -1
  75. package/lib/constant/url.js +1 -1
  76. package/lib/context.js +1 -1
  77. package/lib/core/api-client.js +1 -1
  78. package/lib/core/db-resolver.js +1 -1
  79. package/lib/core/sdk-client.js +1 -1
  80. package/lib/errors.js +1 -1
  81. package/lib/framework/build-all-flags.js +1 -1
  82. package/lib/framework/dryrun.js +1 -1
  83. package/lib/framework/flags.js +1 -1
  84. package/lib/framework/help.js +1 -1
  85. package/lib/framework/index.js +1 -1
  86. package/lib/framework/output.js +1 -1
  87. package/lib/framework/preparse.d.ts +12 -0
  88. package/lib/framework/preparse.js +1 -1
  89. package/lib/framework/rate-limit.js +1 -1
  90. package/lib/framework/raw-flags.d.ts +12 -0
  91. package/lib/framework/raw-flags.js +1 -0
  92. package/lib/framework/response.js +1 -1
  93. package/lib/framework/runner-confirmation.js +1 -1
  94. package/lib/framework/runner-error.js +1 -1
  95. package/lib/framework/runner.js +1 -1
  96. package/lib/framework/schema-export.js +1 -1
  97. package/lib/framework/service-order.js +1 -1
  98. package/lib/framework/types.js +1 -1
  99. package/lib/generated/build-info.d.ts +4 -4
  100. package/lib/generated/build-info.js +1 -1
  101. package/lib/help.js +1 -1
  102. package/lib/runtime/event.js +1 -1
  103. package/lib/runtime/index.js +1 -1
  104. package/lib/runtime/queue.js +1 -1
  105. package/lib/runtime/resolve.js +1 -1
  106. package/lib/skills/npx-skills-add.js +1 -1
  107. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  108. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  109. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  110. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  111. package/lib/skills/runtime-skill-sync/links.js +1 -1
  112. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  113. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  114. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  115. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  116. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  117. package/lib/skills/runtime-skill-sync/push.js +1 -1
  118. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  119. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  120. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  121. package/lib/skills/runtime-skill-sync.js +1 -1
  122. package/lib/utils/apply-jq-filter.js +1 -1
  123. package/lib/utils/logger.js +1 -1
  124. package/lib/utils/lossless-json.js +1 -1
  125. package/lib/utils/params.js +1 -1
  126. package/lib/utils/platform.js +1 -1
  127. package/lib/utils/update-notice.js +1 -1
  128. package/lib/utils/version.js +1 -1
  129. package/lib/utils/write-cli-side-channel.js +1 -1
  130. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x45adab,_0x2b5115){const _0x18e583=a39_0x5b2b,_0x579e4d=_0x45adab();while(!![]){try{const _0x50a6fd=parseInt(_0x18e583(0xe0))/0x1*(parseInt(_0x18e583(0x112))/0x2)+-parseInt(_0x18e583(0xd4))/0x3+parseInt(_0x18e583(0xfd))/0x4*(parseInt(_0x18e583(0xe5))/0x5)+parseInt(_0x18e583(0xd0))/0x6+-parseInt(_0x18e583(0xd6))/0x7+-parseInt(_0x18e583(0xed))/0x8+-parseInt(_0x18e583(0xc3))/0x9;if(_0x50a6fd===_0x2b5115)break;else _0x579e4d['push'](_0x579e4d['shift']());}catch(_0x3e0cab){_0x579e4d['push'](_0x579e4d['shift']());}}}(a39_0x29f6,0x5da8a));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a39_0x29f6(){const _0x232c33=['now','kind','slice','cliName','code','Commands:','userId','datasetCode','service','source','nickName','type','const','length','rawFlags','1836999WuYfMv','mapTo','appBindings','appCode','data','operator','number','\x20requires\x20target.sqlCode.','required','tableName','Use\x20`','args','name','3167886kMqMaT','push','filter','\x20\x20\x20\x20command:\x20','387801ggMNjY','join','713433INhPry','sql','appcode','default','risk','tenantCode','string','some','remainingArgs','employeeId','754rzteXI','envName','Service\x20command\x20','json','read','25ZDAQdA','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','loginName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','username','validation','Cannot\x20resolve\x20datatable\x20\x22','context.','3155272OJfIcr','scriptName','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','startsWith','env','\x20\x20\x20\x20datatable:\x20','commands','find','\x20\x20\x20\x20datasetCode:\x20','Preview\x20dynamic\x20service\x20command:\x20','appRef','bffId','params','\x20requires\x20target.functionName.','entries','bff','162836iZxVzB','fromEntries','padEnd','target','app','flatMap','tree','cliPath','map','sqlCode','bffCode','\x20<command>\x20[flags]','fullPath','trim','enum','normalizedManifest','userName','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','description','datatable','\x20completed\x20in\x20','1278wRVYNs','\x20\x20\x20\x20functionName:\x20','command'];a39_0x29f6=function(){return _0x232c33;};return a39_0x29f6();}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';function a39_0x5b2b(_0xd7a85f,_0x308da4){_0xd7a85f=_0xd7a85f-0xbd;const _0x29f6e4=a39_0x29f6();let _0x5b2b60=_0x29f6e4[_0xd7a85f];return _0x5b2b60;}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x118185,_0x2bca22){const _0x54ca1c=a39_0x5b2b,_0x55022f=listLocalServiceTrees();let _0x1c2bd1;for(const _0x623cac of _0x55022f){const _0x466700=matchServiceTreeCommand(_0x623cac,_0x118185);if(!_0x466700)continue;(!_0x1c2bd1||_0x466700[_0x54ca1c(0x114)][_0x54ca1c(0x109)][_0x54ca1c(0xc1)]>_0x1c2bd1[_0x54ca1c(0x114)][_0x54ca1c(0x109)]['length'])&&(_0x1c2bd1={'tree':_0x623cac,'command':_0x466700[_0x54ca1c(0x114)],'remainingArgs':_0x466700['remainingArgs']});}if(!_0x1c2bd1)return undefined;const _0x422986={..._0x2bca22};return applyAppBinding(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1['command'],_0x422986),{'definition':buildDynamicCommandDefinition(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1[_0x54ca1c(0x114)]),'args':_0x1c2bd1[_0x54ca1c(0xde)],'flags':_0x422986,'tree':_0x1c2bd1[_0x54ca1c(0x103)],'command':_0x1c2bd1[_0x54ca1c(0x114)]};}export function generateDynamicServiceHelp(_0x39e742){const _0x5c81d5=a39_0x5b2b,_0x3800e3=listLocalServiceTrees()[_0x5c81d5(0xf4)](_0x3f5dba=>_0x3f5dba[_0x5c81d5(0x11d)][_0x5c81d5(0x119)]===_0x39e742);if(!_0x3800e3)return undefined;const _0x90f2f9=[CLI_BIN_NAME+'\x20'+_0x39e742+_0x5c81d5(0x108),'',_0x3800e3['service'][_0x5c81d5(0xcf)]||_0x39e742,_0x3800e3[_0x5c81d5(0x11d)]['description']?'\x20\x20'+_0x3800e3['service'][_0x5c81d5(0x10f)]:'','',_0x5c81d5(0x11a),..._0x3800e3[_0x5c81d5(0xf3)][_0x5c81d5(0x105)](_0x5a1eac=>{const _0x3ea294=_0x5c81d5,_0xf48a5a=_0x5a1eac[_0x3ea294(0x109)][_0x3ea294(0x117)](0x1)[_0x3ea294(0xd5)]('\x20'),_0x1f9d08=_0x5a1eac['risk']===_0x3ea294(0xe4)?'':'\x20['+_0x5a1eac[_0x3ea294(0xda)]+']';return'\x20\x20'+_0xf48a5a[_0x3ea294(0xff)](0x18)+'\x20'+(_0x5a1eac['description']||'')+_0x1f9d08;}),'',_0x5c81d5(0xcd)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x39e742+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x90f2f9[_0x5c81d5(0xd5)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x5af2ae=>{const _0x2315a9=a39_0x5b2b,_0x4f4e77=_0x5af2ae[_0x2315a9(0x10c)];return{'service':_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'label':_0x4f4e77['service'][_0x2315a9(0xcf)]||_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'commands':_0x4f4e77['commands'][_0x2315a9(0x105)](_0x1e91bb=>({'command':dynamicCommandName(_0x1e91bb),'description':_0x1e91bb['description']||'Run\x20service\x20command\x20'+_0x1e91bb[_0x2315a9(0x104)],'tag':riskTag(_0x1e91bb[_0x2315a9(0xda)])}))};});}export function getDynamicServiceEntry(_0x31f8ce){const _0x52b04a=a39_0x5b2b;return listDynamicServiceEntries()['find'](_0x1b2768=>_0x1b2768[_0x52b04a(0x11d)]===_0x31f8ce);}export function listDynamicServiceDefinitions(_0x570bf2){const _0x2357d6=a39_0x5b2b;return listLocalServiceTrees()[_0x2357d6(0xd2)](_0x1bd5ad=>!_0x570bf2||_0x1bd5ad['service']['code']===_0x570bf2)[_0x2357d6(0x102)](_0x3ac89b=>_0x3ac89b['commands'][_0x2357d6(0x105)](_0x58ae07=>buildDynamicCommandDefinition(_0x3ac89b,_0x58ae07)));}export function getDynamicServiceDefinitions(_0x49476e){const _0x2049dd=a39_0x5b2b,_0x26a557=listDynamicServiceDefinitions(_0x49476e);return _0x26a557[_0x2049dd(0xc1)]>0x0?_0x26a557:undefined;}export function findDynamicServiceDefinition(_0x2097f2,_0x203b7f){const _0x2e017b=a39_0x5b2b;return listDynamicServiceDefinitions(_0x2097f2)[_0x2e017b(0xf4)](_0x257014=>_0x257014[_0x2e017b(0x114)]===_0x203b7f);}export function buildDynamicCommandDefinition(_0x3d3894,_0x26608b){const _0x1cb403=a39_0x5b2b;return{'service':_0x3d3894[_0x1cb403(0x11d)][_0x1cb403(0x119)],'command':dynamicCommandName(_0x26608b),'description':_0x26608b[_0x1cb403(0x10f)]||'Run\x20service\x20command\x20'+_0x26608b[_0x1cb403(0x104)],'risk':_0x26608b['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x26608b[_0x1cb403(0xce)][_0x1cb403(0x105)](_0x508b8f=>({'name':_0x508b8f[_0x1cb403(0xcf)],'description':_0x508b8f['description']||_0x508b8f[_0x1cb403(0xcf)],'required':_0x508b8f[_0x1cb403(0xcb)]})),'flags':_0x26608b['flags'][_0x1cb403(0x105)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x26608b),async 'dryRun'(_0x2d9a13){const _0x1e550f=_0x1cb403,_0x1e656c=await compilePlan(_0x26608b,_0x2d9a13);return{'method':'SERVICE_TREE','url':_0x26608b[_0x1e550f(0x104)],'body':{'target':targetPreview(_0x1e656c),'params':_0x1e656c[_0x1e550f(0xf9)]},'description':_0x1e550f(0xf6)+_0x26608b[_0x1e550f(0x104)]};},async 'execute'(_0x366176){const _0x4396f6=_0x1cb403,_0x3131c5=await compilePlan(_0x26608b,_0x366176),_0x5bb8a8=Date[_0x4396f6(0x115)](),_0x35d8e0=await executePlan(_0x3131c5,_0x26608b,_0x366176),_0x275e83=Date[_0x4396f6(0x115)]()-_0x5bb8a8;return{'ok':!![],'data':{'service':_0x3d3894['service'],'command':_0x26608b[_0x4396f6(0x104)],'target':targetPreview(_0x3131c5),'result':_0x35d8e0,'elapsed':_0x275e83},'message':_0x4396f6(0xe2)+_0x26608b[_0x4396f6(0x104)]+_0x4396f6(0x111)+_0x275e83+'ms'};}};}function dynamicCommandName(_0x49ce9e){const _0x2654bb=a39_0x5b2b;return _0x49ce9e[_0x2654bb(0x109)][_0x2654bb(0x117)](0x1)[_0x2654bb(0xd5)]('\x20');}function riskTag(_0x58a482){const _0x334eed=a39_0x5b2b;return _0x58a482===_0x334eed(0xe4)?'':'\x20\x20['+_0x58a482+']';}function flagToCommandFlag(_0x32df96){const _0x197400=a39_0x5b2b;return{'name':_0x32df96[_0x197400(0x118)],'type':_0x32df96[_0x197400(0xbf)]===_0x197400(0xe3)?_0x197400(0xdc):_0x32df96[_0x197400(0xbf)],'description':_0x32df96['description']||_0x32df96['name'],'required':_0x32df96[_0x197400(0xcb)],'default':isPrimitiveFlagDefault(_0x32df96['default'])?_0x32df96[_0x197400(0xd9)]:undefined,'enum':_0x32df96[_0x197400(0x10b)]};}async function compilePlan(_0x446d2d,_0x2b9c65){const _0x473715=a39_0x5b2b;return compileServiceTreeCommand(_0x446d2d,{'flags':_0x2b9c65[_0x473715(0xc2)],'args':_0x2b9c65[_0x473715(0xce)],'context':await buildServiceContext(_0x446d2d,_0x2b9c65)});}async function buildServiceContext(_0x37fcd6,_0xba3949){const _0x4f4f7c=a39_0x5b2b,_0x5f0231={'appCode':_0xba3949['appCode'],'env':_0xba3949[_0x4f4f7c(0xe1)],'envName':_0xba3949[_0x4f4f7c(0xe1)]};if(!usesRuntimeContext(_0x37fcd6))return _0x5f0231;const _0x30842c=await getLoginUserInfo(),_0x1f5725=pickFirst(_0x30842c[_0x4f4f7c(0x11b)],_0x30842c['id']);return{..._0x5f0231,'user':_0x30842c,'userId':_0x1f5725,'id':_0x30842c['id'],'username':pickFirst(_0x30842c[_0x4f4f7c(0xe9)],_0x30842c[_0x4f4f7c(0x10d)],_0x30842c[_0x4f4f7c(0xe7)]),'userName':_0x30842c[_0x4f4f7c(0x10d)],'nickname':pickFirst(_0x30842c['nickname'],_0x30842c[_0x4f4f7c(0xbe)]),'nickName':_0x30842c[_0x4f4f7c(0xbe)],'tenantCode':_0x30842c[_0x4f4f7c(0xdb)],'employeeId':_0x30842c[_0x4f4f7c(0xdf)]};}function usesRuntimeContext(_0x109721){const _0x3075f7=a39_0x5b2b;return _0x109721[_0x3075f7(0xc4)][_0x3075f7(0xdd)](_0x561041=>typeof _0x561041[_0x3075f7(0xbd)]===_0x3075f7(0xdc)&&(_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)](_0x3075f7(0xec))||_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)]('ctx.')));}function pickFirst(..._0x1cf167){const _0x7a0034=a39_0x5b2b;return _0x1cf167[_0x7a0034(0xf4)](_0x49cfa9=>_0x49cfa9!==undefined&&_0x49cfa9!==null);}async function executePlan(_0x582fc8,_0x16c023,_0x865e01){const _0x414e4d=a39_0x5b2b;if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xc7)){const _0x32be78=await resolveDatasetCode(_0x582fc8,_0x16c023,_0x865e01);return executeData(_0x32be78,_0x582fc8['command'],_0x582fc8['params']);}if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xd7)){if(!_0x582fc8[_0x414e4d(0x106)])throw CliErrors[_0x414e4d(0xea)]('Service\x20command\x20'+_0x16c023[_0x414e4d(0x104)]+_0x414e4d(0xca));return executeSdkSql(_0x582fc8[_0x414e4d(0x106)],normalizeScalarParams(_0x582fc8[_0x414e4d(0xf9)]));}if(_0x582fc8['kind']===_0x414e4d(0xfc)){const _0x457a54=_0x582fc8['scriptName']||_0x582fc8[_0x414e4d(0x107)]||(_0x582fc8['bffId']==null?'':String(_0x582fc8[_0x414e4d(0xf8)]));if(!_0x457a54)throw CliErrors[_0x414e4d(0xea)](_0x414e4d(0xe2)+_0x16c023['cliPath']+_0x414e4d(0xfa));return executeSdkBff(_0x457a54,_0x582fc8[_0x414e4d(0xf9)]);}throw CliErrors[_0x414e4d(0xea)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x582fc8[_0x414e4d(0x116)]);}async function resolveDatasetCode(_0x598dee,_0x553bb0,_0x41d3dc){const _0x4d4615=a39_0x5b2b;if(_0x598dee['datasetCode'])return _0x598dee[_0x4d4615(0x11c)];if(!_0x598dee[_0x4d4615(0x110)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xe2)+_0x553bb0['cliPath']+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x4d794b=await listDatasets(_0x41d3dc[_0x4d4615(0xc6)]),_0x21fff2=_0x4d794b[_0x4d4615(0xf4)](_0xa618d7=>_0xa618d7['dbtableConfig']?.[_0x4d4615(0xcc)]===_0x598dee[_0x4d4615(0x110)]);if(!_0x21fff2?.[_0x4d4615(0x119)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xeb)+_0x598dee['datatable']+_0x4d4615(0x10e)+_0x41d3dc['appCode']+'.',_0x4d4615(0xef));return _0x21fff2[_0x4d4615(0x119)];}function applyAppBinding(_0x46e67c,_0x1b4ac9,_0x4f28d9){const _0x111595=a39_0x5b2b,_0x426c2d=_0x1b4ac9[_0x111595(0x100)][_0x111595(0xf7)];if(!_0x426c2d)return;const _0x550dbf=_0x46e67c[_0x111595(0xc5)][_0x426c2d];if(!_0x550dbf)throw CliErrors[_0x111595(0xea)]('Unknown\x20appRef\x20\x22'+_0x426c2d+'\x22\x20in\x20service\x20command\x20'+_0x1b4ac9['cliPath']+'.',_0x111595(0xe6));const _0x8df33f=_0x550dbf[_0x111595(0xd8)]||_0x550dbf['appCode'];_0x8df33f&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9[_0x111595(0xd8)]=_0x8df33f),_0x550dbf['app']&&!hasText(_0x4f28d9[_0x111595(0x101)])&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9['app']=_0x550dbf[_0x111595(0x101)]),_0x550dbf[_0x111595(0xf1)]&&!hasText(_0x4f28d9['env'])&&(_0x4f28d9[_0x111595(0xf1)]=_0x550dbf[_0x111595(0xf1)]);}function renderDynamicCommandHelp(_0x2b65c4){const _0x4d25db=a39_0x5b2b,_0x15b11e=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x4d25db(0xe8)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x116)],_0x4d25db(0xd3)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x114)]];if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)])_0x15b11e['push'](_0x4d25db(0xf5)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x110)])_0x15b11e[_0x4d25db(0xd1)](_0x4d25db(0xf2)+_0x2b65c4[_0x4d25db(0x100)]['datatable']);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)])_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20sqlCode:\x20'+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0xee)])_0x15b11e['push'](_0x4d25db(0x113)+_0x2b65c4[_0x4d25db(0x100)]['scriptName']);if(_0x2b65c4[_0x4d25db(0xc4)]['length']>0x0){_0x15b11e[_0x4d25db(0xd1)]('','\x20\x20MAP\x20TO');for(const _0x40af6a of _0x2b65c4[_0x4d25db(0xc4)]){_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20'+(_0x40af6a[_0x4d25db(0xbd)]||_0x4d25db(0xc0))+'\x20->\x20'+_0x40af6a[_0x4d25db(0x100)]+(_0x40af6a[_0x4d25db(0xc8)]?'.'+_0x40af6a[_0x4d25db(0xc8)]:''));}}return _0x15b11e['join']('\x0a');}function targetPreview(_0x26b4e0){const _0xdea33=a39_0x5b2b;return{'kind':_0x26b4e0[_0xdea33(0x116)],'command':_0x26b4e0[_0xdea33(0x114)],'appRef':_0x26b4e0[_0xdea33(0xf7)],'datasetCode':_0x26b4e0[_0xdea33(0x11c)],'datatable':_0x26b4e0['datatable'],'sqlCode':_0x26b4e0[_0xdea33(0x106)],'bffCode':_0x26b4e0['bffCode'],'bffId':_0x26b4e0['bffId'],'functionName':_0x26b4e0['scriptName']};}function normalizeScalarParams(_0x87dc36){const _0x20080c=a39_0x5b2b;return Object[_0x20080c(0xfe)](Object[_0x20080c(0xfb)](_0x87dc36)[_0x20080c(0xd2)](([,_0x4378e9])=>typeof _0x4378e9===_0x20080c(0xdc)||typeof _0x4378e9==='number'));}function hasText(_0x1a6970){const _0x4d22dd=a39_0x5b2b;return typeof _0x1a6970===_0x4d22dd(0xdc)&&_0x1a6970[_0x4d22dd(0x10a)]()[_0x4d22dd(0xc1)]>0x0;}function isPrimitiveFlagDefault(_0x1c9361){const _0x4f3620=a39_0x5b2b;return _0x1c9361===undefined||typeof _0x1c9361==='string'||typeof _0x1c9361===_0x4f3620(0xc9)||typeof _0x1c9361==='boolean';}
1
+ (function(_0x353f28,_0x3922b9){const _0x114181=a39_0x3957,_0x29c09a=_0x353f28();while(!![]){try{const _0x95b4e5=parseInt(_0x114181(0x188))/0x1*(-parseInt(_0x114181(0x183))/0x2)+parseInt(_0x114181(0x177))/0x3+-parseInt(_0x114181(0x1a0))/0x4+parseInt(_0x114181(0x178))/0x5+parseInt(_0x114181(0x172))/0x6*(-parseInt(_0x114181(0x186))/0x7)+-parseInt(_0x114181(0x179))/0x8+parseInt(_0x114181(0x19e))/0x9;if(_0x95b4e5===_0x3922b9)break;else _0x29c09a['push'](_0x29c09a['shift']());}catch(_0x3a57bd){_0x29c09a['push'](_0x29c09a['shift']());}}}(a39_0x4a1d,0xc425e));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a39_0x4a1d(){const _0x2537df=['Unsupported\x20service\x20target\x20kind:\x20','sqlCode','\x20\x20\x20\x20datatable:\x20','username','kind','source','target','boolean','args','appCode','enum','cliPath','appRef','number','datatable','rawFlags','fullPath','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','userName','\x20\x20\x20\x20sqlCode:\x20','tenantCode','context.','name','padEnd','required','filter','length','some','join','\x20requires\x20target.sqlCode.','\x20\x20SERVICE\x20TREE\x20TARGET','env','map','appBindings','data','mapTo','appcode','scriptName','operator','string','\x20\x20\x20\x20kind:\x20\x20\x20\x20','Cannot\x20resolve\x20datatable\x20\x22','\x20completed\x20in\x20','remainingArgs','Unknown\x20appRef\x20\x22','app','51372McgILY','slice','now','datasetCode','\x20\x20\x20\x20command:\x20','318039cjbwKl','3451575RKkaVB','3225968nUvujw','ctx.','description','trim','\x20service\x20detail\x20--service\x20','risk','Run\x20service\x20command\x20','params','bffId','flatMap','8WiPRVJ','startsWith','tree','266qUmlSD','default','88897wZBeNM','\x20\x20\x20\x20datasetCode:\x20','userId','cliName','validation','nickName','\x22\x20in\x20service\x20command\x20','entries','Service\x20command\x20','dbtableConfig','fromEntries','Commands:','code','\x20\x20[','find','\x20\x20\x20\x20','type','flags','json','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','read','push','17555409uwWnPw','employeeId','3437268eADacK','\x20<command>\x20[flags]','\x20\x20MAP\x20TO','command','\x20requires\x20target.functionName.','service','commands'];a39_0x4a1d=function(){return _0x2537df;};return a39_0x4a1d();}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(_0x26ab39,_0x5927b2){const _0x52b7d4=a39_0x3957,_0x543fbd=listLocalServiceTrees();let _0x52dc3a;for(const _0x42b67f of _0x543fbd){const _0x119e30=matchServiceTreeCommand(_0x42b67f,_0x26ab39);if(!_0x119e30)continue;(!_0x52dc3a||_0x119e30[_0x52b7d4(0x1a3)][_0x52b7d4(0x154)][_0x52b7d4(0x15e)]>_0x52dc3a[_0x52b7d4(0x1a3)]['fullPath'][_0x52b7d4(0x15e)])&&(_0x52dc3a={'tree':_0x42b67f,'command':_0x119e30['command'],'remainingArgs':_0x119e30['remainingArgs']});}if(!_0x52dc3a)return undefined;const _0x1e07ce={..._0x5927b2};return applyAppBinding(_0x52dc3a[_0x52b7d4(0x185)],_0x52dc3a['command'],_0x1e07ce),{'definition':buildDynamicCommandDefinition(_0x52dc3a['tree'],_0x52dc3a[_0x52b7d4(0x1a3)]),'args':_0x52dc3a[_0x52b7d4(0x16f)],'flags':_0x1e07ce,'tree':_0x52dc3a[_0x52b7d4(0x185)],'command':_0x52dc3a[_0x52b7d4(0x1a3)]};}export function generateDynamicServiceHelp(_0x25d562){const _0x5d9669=a39_0x3957,_0x15dfde=listLocalServiceTrees()[_0x5d9669(0x196)](_0x364182=>_0x364182['service'][_0x5d9669(0x194)]===_0x25d562);if(!_0x15dfde)return undefined;const _0xca2f42=[CLI_BIN_NAME+'\x20'+_0x25d562+_0x5d9669(0x1a1),'',_0x15dfde[_0x5d9669(0x1a5)]['name']||_0x25d562,_0x15dfde[_0x5d9669(0x1a5)]['description']?'\x20\x20'+_0x15dfde['service']['description']:'','',_0x5d9669(0x193),..._0x15dfde[_0x5d9669(0x1a6)][_0x5d9669(0x164)](_0x4335cb=>{const _0x1a70ec=_0x5d9669,_0x569c38=_0x4335cb['fullPath'][_0x1a70ec(0x173)](0x1)[_0x1a70ec(0x160)]('\x20'),_0x1b6cae=_0x4335cb[_0x1a70ec(0x17e)]===_0x1a70ec(0x19c)?'':'\x20['+_0x4335cb[_0x1a70ec(0x17e)]+']';return'\x20\x20'+_0x569c38[_0x1a70ec(0x15b)](0x18)+'\x20'+(_0x4335cb[_0x1a70ec(0x17b)]||'')+_0x1b6cae;}),'','Use\x20`'+CLI_BIN_NAME+_0x5d9669(0x17d)+_0x25d562+'`\x20to\x20inspect\x20the\x20manifest.'][_0x5d9669(0x15d)](Boolean);return _0xca2f42[_0x5d9669(0x160)]('\x0a');}export function listDynamicServiceEntries(){const _0x5768d7=a39_0x3957;return listLocalServices()[_0x5768d7(0x164)](_0x20097e=>{const _0x70116b=_0x5768d7,_0x30d952=_0x20097e['normalizedManifest'];return{'service':_0x30d952[_0x70116b(0x1a5)]['code'],'label':_0x30d952['service'][_0x70116b(0x15a)]||_0x30d952[_0x70116b(0x1a5)][_0x70116b(0x194)],'commands':_0x30d952[_0x70116b(0x1a6)][_0x70116b(0x164)](_0x590a93=>({'command':dynamicCommandName(_0x590a93),'description':_0x590a93[_0x70116b(0x17b)]||_0x70116b(0x17f)+_0x590a93['cliPath'],'tag':riskTag(_0x590a93[_0x70116b(0x17e)])}))};});}export function getDynamicServiceEntry(_0x2deb9c){const _0x4f2234=a39_0x3957;return listDynamicServiceEntries()[_0x4f2234(0x196)](_0x2a1c43=>_0x2a1c43['service']===_0x2deb9c);}export function listDynamicServiceDefinitions(_0x44c674){const _0x9ab95a=a39_0x3957;return listLocalServiceTrees()[_0x9ab95a(0x15d)](_0x3d1e6d=>!_0x44c674||_0x3d1e6d[_0x9ab95a(0x1a5)]['code']===_0x44c674)[_0x9ab95a(0x182)](_0x300646=>_0x300646[_0x9ab95a(0x1a6)]['map'](_0x31f443=>buildDynamicCommandDefinition(_0x300646,_0x31f443)));}export function getDynamicServiceDefinitions(_0x26fac8){const _0x316fdc=a39_0x3957,_0x3480eb=listDynamicServiceDefinitions(_0x26fac8);return _0x3480eb[_0x316fdc(0x15e)]>0x0?_0x3480eb:undefined;}export function findDynamicServiceDefinition(_0x47b6f5,_0x4b3f36){const _0x3e7929=a39_0x3957;return listDynamicServiceDefinitions(_0x47b6f5)[_0x3e7929(0x196)](_0x5ce984=>_0x5ce984['command']===_0x4b3f36);}export function buildDynamicCommandDefinition(_0x3893f4,_0x2e3612){const _0x540f3b=a39_0x3957;return{'service':_0x3893f4[_0x540f3b(0x1a5)][_0x540f3b(0x194)],'command':dynamicCommandName(_0x2e3612),'description':_0x2e3612['description']||_0x540f3b(0x17f)+_0x2e3612[_0x540f3b(0x14f)],'risk':_0x2e3612['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2e3612[_0x540f3b(0x14c)][_0x540f3b(0x164)](_0x1f730d=>({'name':_0x1f730d[_0x540f3b(0x15a)],'description':_0x1f730d[_0x540f3b(0x17b)]||_0x1f730d['name'],'required':_0x1f730d[_0x540f3b(0x15c)]})),'flags':_0x2e3612[_0x540f3b(0x199)][_0x540f3b(0x164)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2e3612),async 'dryRun'(_0x1f20f5){const _0x49c3bf=_0x540f3b,_0x514b82=await compilePlan(_0x2e3612,_0x1f20f5);return{'method':'SERVICE_TREE','url':_0x2e3612[_0x49c3bf(0x14f)],'body':{'target':targetPreview(_0x514b82),'params':_0x514b82[_0x49c3bf(0x180)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x2e3612['cliPath']};},async 'execute'(_0x53eccf){const _0x268382=_0x540f3b,_0x1244f3=await compilePlan(_0x2e3612,_0x53eccf),_0x43ae23=Date['now'](),_0x2e2416=await executePlan(_0x1244f3,_0x2e3612,_0x53eccf),_0x5b2388=Date[_0x268382(0x174)]()-_0x43ae23;return{'ok':!![],'data':{'service':_0x3893f4[_0x268382(0x1a5)],'command':_0x2e3612[_0x268382(0x14f)],'target':targetPreview(_0x1244f3),'result':_0x2e2416,'elapsed':_0x5b2388},'message':'Service\x20command\x20'+_0x2e3612['cliPath']+_0x268382(0x16e)+_0x5b2388+'ms'};}};}function dynamicCommandName(_0x3257ad){const _0x55d804=a39_0x3957;return _0x3257ad['fullPath'][_0x55d804(0x173)](0x1)[_0x55d804(0x160)]('\x20');}function riskTag(_0x1bfced){const _0x337df8=a39_0x3957;return _0x1bfced===_0x337df8(0x19c)?'':_0x337df8(0x195)+_0x1bfced+']';}function flagToCommandFlag(_0x487667){const _0x2d2fb1=a39_0x3957;return{'name':_0x487667[_0x2d2fb1(0x18b)],'type':_0x487667[_0x2d2fb1(0x198)]===_0x2d2fb1(0x19a)?_0x2d2fb1(0x16b):_0x487667[_0x2d2fb1(0x198)],'description':_0x487667[_0x2d2fb1(0x17b)]||_0x487667[_0x2d2fb1(0x15a)],'required':_0x487667[_0x2d2fb1(0x15c)],'default':isPrimitiveFlagDefault(_0x487667[_0x2d2fb1(0x187)])?_0x487667[_0x2d2fb1(0x187)]:undefined,'enum':_0x487667[_0x2d2fb1(0x14e)]};}async function compilePlan(_0x381284,_0x23f3b9){const _0x17fa5b=a39_0x3957;return compileServiceTreeCommand(_0x381284,{'flags':_0x23f3b9[_0x17fa5b(0x153)],'args':_0x23f3b9[_0x17fa5b(0x14c)],'context':await buildServiceContext(_0x381284,_0x23f3b9)});}async function buildServiceContext(_0x239547,_0x32343d){const _0x227508=a39_0x3957,_0x1fd001={'appCode':_0x32343d[_0x227508(0x14d)],'env':_0x32343d['envName'],'envName':_0x32343d['envName']};if(!usesRuntimeContext(_0x239547))return _0x1fd001;const _0x48cafb=await getLoginUserInfo(),_0x20cd68=pickFirst(_0x48cafb[_0x227508(0x18a)],_0x48cafb['id']);return{..._0x1fd001,'user':_0x48cafb,'userId':_0x20cd68,'id':_0x48cafb['id'],'username':pickFirst(_0x48cafb[_0x227508(0x147)],_0x48cafb['userName'],_0x48cafb['loginName']),'userName':_0x48cafb[_0x227508(0x156)],'nickname':pickFirst(_0x48cafb['nickname'],_0x48cafb[_0x227508(0x18d)]),'nickName':_0x48cafb[_0x227508(0x18d)],'tenantCode':_0x48cafb[_0x227508(0x158)],'employeeId':_0x48cafb[_0x227508(0x19f)]};}function usesRuntimeContext(_0x16bf70){const _0xcba3ff=a39_0x3957;return _0x16bf70[_0xcba3ff(0x167)][_0xcba3ff(0x15f)](_0x5b5dc4=>typeof _0x5b5dc4[_0xcba3ff(0x149)]===_0xcba3ff(0x16b)&&(_0x5b5dc4['source']['startsWith'](_0xcba3ff(0x159))||_0x5b5dc4[_0xcba3ff(0x149)][_0xcba3ff(0x184)](_0xcba3ff(0x17a))));}function pickFirst(..._0x4686d4){return _0x4686d4['find'](_0x23c2af=>_0x23c2af!==undefined&&_0x23c2af!==null);}async function executePlan(_0x193402,_0x585a8a,_0x493e5b){const _0x519408=a39_0x3957;if(_0x193402['kind']===_0x519408(0x166)){const _0x3a3885=await resolveDatasetCode(_0x193402,_0x585a8a,_0x493e5b);return executeData(_0x3a3885,_0x193402[_0x519408(0x1a3)],_0x193402[_0x519408(0x180)]);}if(_0x193402[_0x519408(0x148)]==='sql'){if(!_0x193402[_0x519408(0x1a8)])throw CliErrors[_0x519408(0x18c)](_0x519408(0x190)+_0x585a8a[_0x519408(0x14f)]+_0x519408(0x161));return executeSdkSql(_0x193402[_0x519408(0x1a8)],normalizeScalarParams(_0x193402['params']));}if(_0x193402[_0x519408(0x148)]==='bff'){const _0xeeda0a=_0x193402[_0x519408(0x169)]||_0x193402['bffCode']||(_0x193402[_0x519408(0x181)]==null?'':String(_0x193402[_0x519408(0x181)]));if(!_0xeeda0a)throw CliErrors['validation'](_0x519408(0x190)+_0x585a8a[_0x519408(0x14f)]+_0x519408(0x1a4));return executeSdkBff(_0xeeda0a,_0x193402[_0x519408(0x180)]);}throw CliErrors['validation'](_0x519408(0x1a7)+_0x193402['kind']);}function a39_0x3957(_0x4bb6ca,_0x121008){_0x4bb6ca=_0x4bb6ca-0x147;const _0x4a1daf=a39_0x4a1d();let _0x39576a=_0x4a1daf[_0x4bb6ca];return _0x39576a;}async function resolveDatasetCode(_0x5d24c8,_0x169406,_0x369dbb){const _0x3020ac=a39_0x3957;if(_0x5d24c8['datasetCode'])return _0x5d24c8[_0x3020ac(0x175)];if(!_0x5d24c8[_0x3020ac(0x152)])throw CliErrors[_0x3020ac(0x18c)]('Service\x20command\x20'+_0x169406[_0x3020ac(0x14f)]+_0x3020ac(0x19b));const _0x2b02ec=await listDatasets(_0x369dbb[_0x3020ac(0x14d)]),_0x545142=_0x2b02ec[_0x3020ac(0x196)](_0x437693=>_0x437693[_0x3020ac(0x191)]?.['tableName']===_0x5d24c8[_0x3020ac(0x152)]);if(!_0x545142?.[_0x3020ac(0x194)])throw CliErrors[_0x3020ac(0x18c)](_0x3020ac(0x16d)+_0x5d24c8[_0x3020ac(0x152)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x369dbb[_0x3020ac(0x14d)]+'.',_0x3020ac(0x155));return _0x545142['code'];}function applyAppBinding(_0x2d7d92,_0x429e45,_0x5b3f5f){const _0x291bca=a39_0x3957,_0x28ee25=_0x429e45[_0x291bca(0x14a)][_0x291bca(0x150)];if(!_0x28ee25)return;const _0x2313ee=_0x2d7d92[_0x291bca(0x165)][_0x28ee25];if(!_0x2313ee)throw CliErrors['validation'](_0x291bca(0x170)+_0x28ee25+_0x291bca(0x18e)+_0x429e45[_0x291bca(0x14f)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x2bf4d1=_0x2313ee[_0x291bca(0x168)]||_0x2313ee['appCode'];_0x2bf4d1&&!hasText(_0x5b3f5f[_0x291bca(0x168)])&&(_0x5b3f5f[_0x291bca(0x168)]=_0x2bf4d1),_0x2313ee[_0x291bca(0x171)]&&!hasText(_0x5b3f5f[_0x291bca(0x171)])&&!hasText(_0x5b3f5f[_0x291bca(0x168)])&&(_0x5b3f5f[_0x291bca(0x171)]=_0x2313ee['app']),_0x2313ee[_0x291bca(0x163)]&&!hasText(_0x5b3f5f['env'])&&(_0x5b3f5f[_0x291bca(0x163)]=_0x2313ee[_0x291bca(0x163)]);}function renderDynamicCommandHelp(_0x5ace7d){const _0x2def17=a39_0x3957,_0xe274bf=[_0x2def17(0x162),_0x2def17(0x16c)+_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x148)],_0x2def17(0x176)+_0x5ace7d[_0x2def17(0x14a)]['command']];if(_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x175)])_0xe274bf['push'](_0x2def17(0x189)+_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x175)]);if(_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x152)])_0xe274bf[_0x2def17(0x19d)](_0x2def17(0x1a9)+_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x152)]);if(_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x1a8)])_0xe274bf[_0x2def17(0x19d)](_0x2def17(0x157)+_0x5ace7d[_0x2def17(0x14a)][_0x2def17(0x1a8)]);if(_0x5ace7d['target'][_0x2def17(0x169)])_0xe274bf['push']('\x20\x20\x20\x20functionName:\x20'+_0x5ace7d['target'][_0x2def17(0x169)]);if(_0x5ace7d[_0x2def17(0x167)][_0x2def17(0x15e)]>0x0){_0xe274bf['push']('',_0x2def17(0x1a2));for(const _0x28bab9 of _0x5ace7d[_0x2def17(0x167)]){_0xe274bf['push'](_0x2def17(0x197)+(_0x28bab9[_0x2def17(0x149)]||'const')+'\x20->\x20'+_0x28bab9['target']+(_0x28bab9[_0x2def17(0x16a)]?'.'+_0x28bab9[_0x2def17(0x16a)]:''));}}return _0xe274bf['join']('\x0a');}function targetPreview(_0x56074a){const _0x1a6922=a39_0x3957;return{'kind':_0x56074a[_0x1a6922(0x148)],'command':_0x56074a[_0x1a6922(0x1a3)],'appRef':_0x56074a['appRef'],'datasetCode':_0x56074a[_0x1a6922(0x175)],'datatable':_0x56074a[_0x1a6922(0x152)],'sqlCode':_0x56074a[_0x1a6922(0x1a8)],'bffCode':_0x56074a['bffCode'],'bffId':_0x56074a[_0x1a6922(0x181)],'functionName':_0x56074a[_0x1a6922(0x169)]};}function normalizeScalarParams(_0x124db7){const _0xb5f7f1=a39_0x3957;return Object[_0xb5f7f1(0x192)](Object[_0xb5f7f1(0x18f)](_0x124db7)[_0xb5f7f1(0x15d)](([,_0x2240d0])=>typeof _0x2240d0===_0xb5f7f1(0x16b)||typeof _0x2240d0===_0xb5f7f1(0x151)));}function hasText(_0x2612f5){const _0x4467f5=a39_0x3957;return typeof _0x2612f5==='string'&&_0x2612f5[_0x4467f5(0x17c)]()[_0x4467f5(0x15e)]>0x0;}function isPrimitiveFlagDefault(_0xf146cf){const _0x4bb533=a39_0x3957;return _0xf146cf===undefined||typeof _0xf146cf==='string'||typeof _0xf146cf===_0x4bb533(0x151)||typeof _0xf146cf===_0x4bb533(0x14b);}
@@ -1 +1 @@
1
- (function(_0xfc4f68,_0x43beb0){const _0x2eea36=a40_0x2dd0,_0x140099=_0xfc4f68();while(!![]){try{const _0x165ea9=-parseInt(_0x2eea36(0x90))/0x1+parseInt(_0x2eea36(0x8d))/0x2+parseInt(_0x2eea36(0xaf))/0x3+-parseInt(_0x2eea36(0xa1))/0x4+-parseInt(_0x2eea36(0xb0))/0x5*(parseInt(_0x2eea36(0xae))/0x6)+parseInt(_0x2eea36(0xa5))/0x7*(-parseInt(_0x2eea36(0xb3))/0x8)+parseInt(_0x2eea36(0xa4))/0x9;if(_0x165ea9===_0x43beb0)break;else _0x140099['push'](_0x140099['shift']());}catch(_0x44d1ce){_0x140099['push'](_0x140099['shift']());}}}(a40_0x5463,0xe93ae));export function adaptServiceTreeManifestForLegacyFramework(_0x420d19){const _0xba4efd=a40_0x2dd0,_0x4a0c79=cloneJsonValue(_0x420d19),_0x1533f0=[];if(!isObjectRecord(_0x4a0c79))return{'manifest':_0x4a0c79,'errors':_0x1533f0};return Array['isArray'](_0x4a0c79['commands'])&&_0x4a0c79[_0xba4efd(0xb1)][_0xba4efd(0x94)]((_0x3119f6,_0x418a02)=>{const _0x5d103f=_0xba4efd;if(!isObjectRecord(_0x3119f6))return;adaptBffTarget(_0x3119f6[_0x5d103f(0x96)],'$.commands['+_0x418a02+'].target',_0x1533f0);}),adaptResources(_0x4a0c79[_0xba4efd(0xa7)],_0xba4efd(0xa6),_0x1533f0),{'manifest':_0x4a0c79,'errors':_0x1533f0};}export function toPublicServiceTreeTarget(_0x29abed){const _0xf0598a=a40_0x2dd0,{scriptName:_0x4f92de,..._0x1a79cf}=_0x29abed;return typeof _0x4f92de===_0xf0598a(0x95)&&_0x4f92de[_0xf0598a(0x93)]()&&(_0x1a79cf[_0xf0598a(0x9f)]=_0x4f92de),_0x1a79cf;}export function toPublicNormalizedServiceTree(_0x36b3c8){const _0x525437=a40_0x2dd0;return{..._0x36b3c8,'commands':_0x36b3c8[_0x525437(0xb1)]['map'](_0x2c1912=>({..._0x2c1912,'target':toPublicServiceTreeTarget(_0x2c1912['target'])}))};}function adaptResources(_0x470d0d,_0x56e237,_0x31e607){const _0x2ebba0=a40_0x2dd0;if(!isObjectRecord(_0x470d0d))return;for(const [_0x4a5604,_0x161fed]of Object[_0x2ebba0(0x9b)](_0x470d0d)){if(!isObjectRecord(_0x161fed))continue;const _0x5c0dae=_0x56e237+'.'+_0x4a5604;if(isObjectRecord(_0x161fed[_0x2ebba0(0x8e)]))for(const [_0x66418a,_0x117c3e]of Object[_0x2ebba0(0x9b)](_0x161fed[_0x2ebba0(0x8e)])){if(!isObjectRecord(_0x117c3e))continue;const _0x2aa961=_0x5c0dae+_0x2ebba0(0xaa)+_0x66418a,_0x423800=isObjectRecord(_0x117c3e[_0x2ebba0(0x96)])&&_0x117c3e['target'][_0x2ebba0(0x8f)]===_0x2ebba0(0xac);adaptBffTarget(_0x117c3e[_0x2ebba0(0x96)],_0x2aa961+_0x2ebba0(0xa0),_0x31e607),(_0x423800||isBffAction(_0x117c3e))&&adaptFunctionNameField(_0x117c3e,_0x2aa961,_0x31e607);}adaptResources(_0x161fed[_0x2ebba0(0xa7)],_0x5c0dae+_0x2ebba0(0xa9),_0x31e607);}}function adaptBffTarget(_0x73b8b,_0x9adc96,_0x1942c5){const _0x56d2f9=a40_0x2dd0;if(!isObjectRecord(_0x73b8b)||_0x73b8b[_0x56d2f9(0x8f)]!==_0x56d2f9(0xac))return;adaptFunctionNameField(_0x73b8b,_0x9adc96,_0x1942c5);}function a40_0x5463(){const _0x3b1621=['trim','forEach','string','target','isArray','object','push','action','entries','bff.exec','hasOwnProperty','prototype','functionName','.target','5470564HdyWoh','error','functionName\x20must\x20be\x20a\x20non-empty\x20string.','30808764tOKTbi','6684839cCUAVV','$.resources','resources','scriptName','.resources','.actions.','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','bff','map','54xvpkVr','2078058ROnptK','252505ayZwYc','commands','call','16SnWxsV','2457196sEWkHF','actions','kind','657066yDNLIV','.functionName','.scriptName'];a40_0x5463=function(){return _0x3b1621;};return a40_0x5463();}function adaptFunctionNameField(_0x12207a,_0x493f17,_0x432802){const _0x10e8b2=a40_0x2dd0;Object[_0x10e8b2(0x9e)][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0xa8))&&_0x432802['push']({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x92),'message':_0x10e8b2(0xab)});if(Object['prototype'][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0x9f))){if(typeof _0x12207a[_0x10e8b2(0x9f)]!=='string'||!_0x12207a[_0x10e8b2(0x9f)][_0x10e8b2(0x93)]()){_0x432802[_0x10e8b2(0x99)]({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x91),'message':_0x10e8b2(0xa3)}),delete _0x12207a[_0x10e8b2(0x9f)];return;}_0x12207a[_0x10e8b2(0xa8)]=_0x12207a[_0x10e8b2(0x9f)],delete _0x12207a[_0x10e8b2(0x9f)];}}function isBffAction(_0x2078e1){const _0x533464=a40_0x2dd0;return _0x2078e1['kind']===_0x533464(0xac)||_0x2078e1[_0x533464(0x9a)]===_0x533464(0x9c)||_0x2078e1[_0x533464(0x96)]===_0x533464(0x9c);}function a40_0x2dd0(_0x2d3050,_0xe6cc34){_0x2d3050=_0x2d3050-0x8d;const _0x5463de=a40_0x5463();let _0x2dd0a3=_0x5463de[_0x2d3050];return _0x2dd0a3;}function cloneJsonValue(_0x59471e){const _0x20004e=a40_0x2dd0;if(Array[_0x20004e(0x97)](_0x59471e))return _0x59471e[_0x20004e(0xad)](_0x5f2028=>cloneJsonValue(_0x5f2028));if(isObjectRecord(_0x59471e))return Object['fromEntries'](Object[_0x20004e(0x9b)](_0x59471e)[_0x20004e(0xad)](([_0x5ed7c9,_0x4b9667])=>[_0x5ed7c9,cloneJsonValue(_0x4b9667)]));return _0x59471e;}function isObjectRecord(_0x12fe51){const _0x2a9962=a40_0x2dd0;return Boolean(_0x12fe51)&&typeof _0x12fe51===_0x2a9962(0x98)&&!Array[_0x2a9962(0x97)](_0x12fe51);}
1
+ (function(_0x56aa54,_0x1aaf04){const _0x5eec72=a40_0x3b3f,_0x301feb=_0x56aa54();while(!![]){try{const _0x39c5c6=-parseInt(_0x5eec72(0x175))/0x1+parseInt(_0x5eec72(0x168))/0x2+parseInt(_0x5eec72(0x17e))/0x3*(parseInt(_0x5eec72(0x184))/0x4)+parseInt(_0x5eec72(0x167))/0x5*(parseInt(_0x5eec72(0x18c))/0x6)+parseInt(_0x5eec72(0x17c))/0x7+parseInt(_0x5eec72(0x171))/0x8+parseInt(_0x5eec72(0x17a))/0x9*(-parseInt(_0x5eec72(0x16f))/0xa);if(_0x39c5c6===_0x1aaf04)break;else _0x301feb['push'](_0x301feb['shift']());}catch(_0x2a16cc){_0x301feb['push'](_0x301feb['shift']());}}}(a40_0x563a,0xa6a8f));export function adaptServiceTreeManifestForLegacyFramework(_0x894074){const _0x593c2d=a40_0x3b3f,_0x576301=cloneJsonValue(_0x894074),_0x844bf9=[];if(!isObjectRecord(_0x576301))return{'manifest':_0x576301,'errors':_0x844bf9};return Array[_0x593c2d(0x180)](_0x576301['commands'])&&_0x576301[_0x593c2d(0x17d)][_0x593c2d(0x17f)]((_0x568665,_0x2a3a02)=>{const _0x5ee761=_0x593c2d;if(!isObjectRecord(_0x568665))return;adaptBffTarget(_0x568665['target'],_0x5ee761(0x169)+_0x2a3a02+'].target',_0x844bf9);}),adaptResources(_0x576301[_0x593c2d(0x172)],'$.resources',_0x844bf9),{'manifest':_0x576301,'errors':_0x844bf9};}function a40_0x3b3f(_0x3d4d00,_0x3ed963){_0x3d4d00=_0x3d4d00-0x166;const _0x563a70=a40_0x563a();let _0x3b3f22=_0x563a70[_0x3d4d00];return _0x3b3f22;}export function toPublicServiceTreeTarget(_0x54bfff){const _0x4d1026=a40_0x3b3f,{scriptName:_0x38442f,..._0x2ce2af}=_0x54bfff;return typeof _0x38442f===_0x4d1026(0x173)&&_0x38442f[_0x4d1026(0x183)]()&&(_0x2ce2af[_0x4d1026(0x174)]=_0x38442f),_0x2ce2af;}export function toPublicNormalizedServiceTree(_0xf36669){const _0x13ad7c=a40_0x3b3f;return{..._0xf36669,'commands':_0xf36669[_0x13ad7c(0x17d)]['map'](_0x10f1a5=>({..._0x10f1a5,'target':toPublicServiceTreeTarget(_0x10f1a5['target'])}))};}function a40_0x563a(){const _0x26308e=['isArray','bff.exec','entries','trim','3820MCnUMW','.scriptName','actions','kind','prototype','error','target','.resources','3959850jCZMfl','object','5sfRRQU','810238lbdNpu','$.commands[','.functionName','functionName\x20must\x20be\x20a\x20non-empty\x20string.','fromEntries','push','bff','13263340uPmWMg','.target','1100104LpIGzn','resources','string','functionName','44442iBykyh','call','scriptName','map','action','9dxDFLZ','hasOwnProperty','4605286bzbLnD','commands','606YrTKbI','forEach'];a40_0x563a=function(){return _0x26308e;};return a40_0x563a();}function adaptResources(_0x2e002b,_0x11507b,_0x563ee3){const _0x101a6e=a40_0x3b3f;if(!isObjectRecord(_0x2e002b))return;for(const [_0x1a8841,_0x4c69ed]of Object['entries'](_0x2e002b)){if(!isObjectRecord(_0x4c69ed))continue;const _0xea947d=_0x11507b+'.'+_0x1a8841;if(isObjectRecord(_0x4c69ed['actions']))for(const [_0x528874,_0x5a2cad]of Object['entries'](_0x4c69ed[_0x101a6e(0x186)])){if(!isObjectRecord(_0x5a2cad))continue;const _0x5d092b=_0xea947d+'.actions.'+_0x528874,_0x1a6c10=isObjectRecord(_0x5a2cad[_0x101a6e(0x18a)])&&_0x5a2cad[_0x101a6e(0x18a)][_0x101a6e(0x187)]==='bff';adaptBffTarget(_0x5a2cad['target'],_0x5d092b+_0x101a6e(0x170),_0x563ee3),(_0x1a6c10||isBffAction(_0x5a2cad))&&adaptFunctionNameField(_0x5a2cad,_0x5d092b,_0x563ee3);}adaptResources(_0x4c69ed[_0x101a6e(0x172)],_0xea947d+_0x101a6e(0x18b),_0x563ee3);}}function adaptBffTarget(_0xa343cf,_0x435198,_0x248735){if(!isObjectRecord(_0xa343cf)||_0xa343cf['kind']!=='bff')return;adaptFunctionNameField(_0xa343cf,_0x435198,_0x248735);}function adaptFunctionNameField(_0x4d6569,_0x5712df,_0x4d8f50){const _0x2dd54a=a40_0x3b3f;Object[_0x2dd54a(0x188)][_0x2dd54a(0x17b)][_0x2dd54a(0x176)](_0x4d6569,_0x2dd54a(0x177))&&_0x4d8f50[_0x2dd54a(0x16d)]({'level':'error','path':_0x5712df+_0x2dd54a(0x185),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0x2dd54a(0x188)]['hasOwnProperty'][_0x2dd54a(0x176)](_0x4d6569,_0x2dd54a(0x174))){if(typeof _0x4d6569['functionName']!==_0x2dd54a(0x173)||!_0x4d6569[_0x2dd54a(0x174)][_0x2dd54a(0x183)]()){_0x4d8f50[_0x2dd54a(0x16d)]({'level':_0x2dd54a(0x189),'path':_0x5712df+_0x2dd54a(0x16a),'message':_0x2dd54a(0x16b)}),delete _0x4d6569['functionName'];return;}_0x4d6569['scriptName']=_0x4d6569[_0x2dd54a(0x174)],delete _0x4d6569[_0x2dd54a(0x174)];}}function isBffAction(_0x23f989){const _0x3cf71f=a40_0x3b3f;return _0x23f989[_0x3cf71f(0x187)]===_0x3cf71f(0x16e)||_0x23f989[_0x3cf71f(0x179)]===_0x3cf71f(0x181)||_0x23f989[_0x3cf71f(0x18a)]==='bff.exec';}function cloneJsonValue(_0xb9c16){const _0x1a0328=a40_0x3b3f;if(Array['isArray'](_0xb9c16))return _0xb9c16[_0x1a0328(0x178)](_0x59dc1e=>cloneJsonValue(_0x59dc1e));if(isObjectRecord(_0xb9c16))return Object[_0x1a0328(0x16c)](Object[_0x1a0328(0x182)](_0xb9c16)[_0x1a0328(0x178)](([_0x4c4b09,_0x2e8fce])=>[_0x4c4b09,cloneJsonValue(_0x2e8fce)]));return _0xb9c16;}function isObjectRecord(_0x39c7cb){const _0x36b6cd=a40_0x3b3f;return Boolean(_0x39c7cb)&&typeof _0x39c7cb===_0x36b6cd(0x166)&&!Array[_0x36b6cd(0x180)](_0x39c7cb);}
@@ -1 +1 @@
1
- const a41_0x43ce98=a41_0xdc36;(function(_0x1fb346,_0x1f692b){const _0x43751e=a41_0xdc36,_0x4bd74b=_0x1fb346();while(!![]){try{const _0x3f6704=-parseInt(_0x43751e(0xf6))/0x1+parseInt(_0x43751e(0xe1))/0x2+parseInt(_0x43751e(0xef))/0x3+parseInt(_0x43751e(0x107))/0x4+-parseInt(_0x43751e(0xe6))/0x5*(-parseInt(_0x43751e(0x115))/0x6)+parseInt(_0x43751e(0xf1))/0x7+parseInt(_0x43751e(0xed))/0x8*(-parseInt(_0x43751e(0xdf))/0x9);if(_0x3f6704===_0x1f692b)break;else _0x4bd74b['push'](_0x4bd74b['shift']());}catch(_0x3179ae){_0x4bd74b['push'](_0x4bd74b['shift']());}}}(a41_0x190c,0x681ad));function a41_0xdc36(_0x4f8496,_0x2cfe1c){_0x4f8496=_0x4f8496-0xdd;const _0x190cfe=a41_0x190c();let _0xdc36a5=_0x190cfe[_0x4f8496];return _0xdc36a5;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':'file','type':'string','required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':'service','type':'string','required':!![],'description':a41_0x43ce98(0x11c),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x16a0aa){const _0x3b7f40=a41_0x43ce98;return{'serviceCode':_0x16a0aa[_0x3b7f40(0xe8)],'name':_0x16a0aa[_0x3b7f40(0x116)]['service'][_0x3b7f40(0xe2)],'version':_0x16a0aa[_0x3b7f40(0xfc)],'importedAt':_0x16a0aa[_0x3b7f40(0x11a)],'source':_0x16a0aa[_0x3b7f40(0xf8)],'commandCount':_0x16a0aa[_0x3b7f40(0x116)][_0x3b7f40(0x100)][_0x3b7f40(0xf0)],'commands':_0x16a0aa['normalizedManifest'][_0x3b7f40(0x100)][_0x3b7f40(0x102)](_0x2cd56d=>({'path':_0x2cd56d[_0x3b7f40(0x108)],'description':_0x2cd56d['description'],'risk':_0x2cd56d[_0x3b7f40(0x105)],'target':toPublicServiceTreeTarget(_0x2cd56d['target']),'flags':_0x2cd56d[_0x3b7f40(0x11f)][_0x3b7f40(0x102)](_0xd68cb=>({'name':_0xd68cb['name'],'cliName':_0xd68cb[_0x3b7f40(0x119)],'type':_0xd68cb['type'],'required':_0xd68cb[_0x3b7f40(0xf3)]===!![]}))}))};}function summarizeLoadedManifest(_0x8f3804){const _0x2053e1=a41_0x43ce98;return{'service':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x101)],'version':_0x8f3804['normalizedManifest']?.[_0x2053e1(0xfc)],'commandCount':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x100)]['length']??0x0,'commands':_0x8f3804['normalizedManifest']?.['commands']['map'](_0x29c986=>({'path':_0x29c986[_0x2053e1(0x108)],'risk':_0x29c986[_0x2053e1(0x105)],'target':toPublicServiceTreeTarget(_0x29c986[_0x2053e1(0xdd)])}))??[],'registryIndex':_0x8f3804[_0x2053e1(0x110)],'registryServiceCode':_0x8f3804[_0x2053e1(0x11b)],'errors':_0x8f3804[_0x2053e1(0xde)][_0x2053e1(0xff)],'warnings':_0x8f3804[_0x2053e1(0xde)]['warnings']};}function a41_0x190c(){const _0x22d268=['serviceCode','entry','Imported','file','Updated','8ibyZVH','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','2332449uVdmxA','length','2334325KqbciU','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','required','filePath','imported','390317VBnjaP','\x20service(s).','source','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','WRITE','Imported\x20','version','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','str','errors','commands','service','map','registry','read','risk','write','223248BjPqdd','cliPath','validate','replaced','Exported\x20service\x20','Removed\x20service\x20','warnings','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','serviceCount','registryIndex','manifests','remove','updated','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','697134vyjGDg','normalizedManifest','kind','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','cliName','importedAt','registryServiceCode','Local\x20service\x20code,\x20for\x20example\x20crm','export','registryPath','flags','import','list','target','report','10622097XFXgiI','hash','963252mIIwmg','name','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service\x20','Service\x20manifest\x20validation\x20passed.','15TmifYP','entries'];a41_0x190c=function(){return _0x22d268;};return a41_0x190c();}export const serviceDefinitions=[{'service':'service','command':a41_0x43ce98(0x109),'description':a41_0x43ce98(0xf2),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x214561){const _0x41f7f0=a41_0x43ce98,_0x4411a0=loadServiceManifestFromFile(_0x214561[_0x41f7f0(0xfe)](_0x41f7f0(0xeb)));if(!_0x4411a0[_0x41f7f0(0xde)]['ok'])return{'ok':![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)],'services':_0x4411a0['manifests'][_0x41f7f0(0x102)](summarizeLoadedManifest),'errors':_0x4411a0['report'][_0x41f7f0(0xff)],'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':formatValidationFailure(_0x4411a0[_0x41f7f0(0xde)])};if(_0x4411a0['kind']===_0x41f7f0(0x103)||_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)]!==0x1)return{'ok':!![],'data':{'file':_0x4411a0['filePath'],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)]['length'],'commandCount':_0x4411a0[_0x41f7f0(0x111)]['reduce']((_0x29d933,_0x57d10e)=>_0x29d933+(_0x57d10e['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0),0x0),'services':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0x102)](summarizeLoadedManifest),'warnings':_0x4411a0['report'][_0x41f7f0(0x10d)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0[_0x41f7f0(0x117)],'service':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x101)],'version':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0xfc)],'commandCount':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0,'commands':_0x4411a0[_0x41f7f0(0x116)]?.[_0x41f7f0(0x100)][_0x41f7f0(0x102)](_0x5ea385=>({'path':_0x5ea385[_0x41f7f0(0x108)],'risk':_0x5ea385[_0x41f7f0(0x105)],'target':toPublicServiceTreeTarget(_0x5ea385[_0x41f7f0(0xdd)])})),'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':_0x41f7f0(0xe5)};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x120),'description':a41_0x43ce98(0xee),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3e034f){const _0x2d2d0b=a41_0x43ce98,_0x4ee0b9=loadServiceManifestFromFile(_0x3e034f[_0x2d2d0b(0xfe)](_0x2d2d0b(0xeb)));return{'method':_0x2d2d0b(0xfa),'url':getServiceRegistryPath(),'body':{'file':_0x4ee0b9[_0x2d2d0b(0xf4)],'hash':_0x4ee0b9[_0x2d2d0b(0xe0)],'kind':_0x4ee0b9[_0x2d2d0b(0x117)],'ok':_0x4ee0b9[_0x2d2d0b(0xde)]['ok'],'service':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'serviceCount':_0x4ee0b9[_0x2d2d0b(0x111)]['length'],'services':_0x4ee0b9[_0x2d2d0b(0x111)][_0x2d2d0b(0x102)](_0x205a71=>({'service':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'commandCount':_0x205a71[_0x2d2d0b(0x116)]?.['commands']['length']??0x0,'errors':_0x205a71[_0x2d2d0b(0xde)]['errors']})),'errors':_0x4ee0b9[_0x2d2d0b(0xde)][_0x2d2d0b(0xff)],'commandCount':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x100)][_0x2d2d0b(0xf0)]??0x0},'description':_0x2d2d0b(0x118)};},async 'execute'(_0x4e9112){const _0x29808d=a41_0x43ce98,_0x2c92c9=importServiceManifest(_0x4e9112['str'](_0x29808d(0xeb)));if(_0x2c92c9['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9[_0x29808d(0x113)],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'services':_0x2c92c9[_0x29808d(0xe7)][_0x29808d(0x102)](summarizeService)},'message':_0x29808d(0xfb)+_0x2c92c9['imported']+'\x20service(s),\x20updated\x20'+_0x2c92c9['updated']+_0x29808d(0xf7)};return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'replaced':_0x2c92c9[_0x29808d(0x10a)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9['updated'],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'service':summarizeService(_0x2c92c9['entry'])},'message':(_0x2c92c9[_0x29808d(0x10a)]?_0x29808d(0xec):_0x29808d(0xea))+_0x29808d(0xe4)+_0x2c92c9[_0x29808d(0xe9)][_0x29808d(0xe8)]+'.'};}},{'service':'service','command':a41_0x43ce98(0x11d),'description':a41_0x43ce98(0x10e),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x94bee8){const _0x28f17b=a41_0x43ce98,_0x3a1c13=getLocalServiceEntry(_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0x101)));return{'method':_0x28f17b(0xfa),'url':_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0xeb)),'body':{'service':_0x94bee8['str'](_0x28f17b(0x101)),'found':Boolean(_0x3a1c13),'version':_0x3a1c13?.[_0x28f17b(0xfc)],'source':_0x3a1c13?.[_0x28f17b(0xf8)]},'description':_0x28f17b(0x114)};},async 'execute'(_0x4206fc){const _0x33d7bf=a41_0x43ce98,_0xa40573=exportServiceManifest(_0x4206fc['str'](_0x33d7bf(0x101)),_0x4206fc[_0x33d7bf(0xfe)](_0x33d7bf(0xeb)));return{'ok':!![],'data':{'registryPath':_0xa40573['registryPath'],'file':_0xa40573[_0x33d7bf(0xf4)],'service':summarizeService(_0xa40573['entry'])},'message':_0x33d7bf(0x10b)+_0xa40573[_0x33d7bf(0xe9)][_0x33d7bf(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x121),'description':a41_0x43ce98(0xe3),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xaa377b=a41_0x43ce98,_0x40bc55=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x40bc55[_0xaa377b(0xf0)],'services':_0x40bc55['map'](summarizeService)}};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x112),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5310ba){const _0xb98353=a41_0x43ce98,_0x58e019=getLocalServiceEntry(_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)));return{'method':_0xb98353(0xfa),'url':getServiceRegistryPath(),'body':{'service':_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)),'found':Boolean(_0x58e019),'version':_0x58e019?.[_0xb98353(0xfc)],'source':_0x58e019?.['source']},'description':_0xb98353(0xf9)};},async 'execute'(_0xc09e0f){const _0x442ce5=a41_0x43ce98,_0x4bcb14=removeServiceManifest(_0xc09e0f[_0x442ce5(0xfe)](_0x442ce5(0x101)));return{'ok':!![],'data':{'registryPath':_0x4bcb14['registryPath'],'serviceCount':_0x4bcb14[_0x442ce5(0x10f)],'service':summarizeService(_0x4bcb14[_0x442ce5(0xe9)])},'message':_0x442ce5(0x10c)+_0x4bcb14[_0x442ce5(0xe9)][_0x442ce5(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':'detail','description':a41_0x43ce98(0xfd),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3cd889){const _0x44a73b=a41_0x43ce98,_0x1d9660=getLocalServiceEntry(_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101)));if(!_0x1d9660)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3cd889[_0x44a73b(0xfe)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1d9660),'manifest':_0x1d9660['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x1d9660[_0x44a73b(0x116)])}};}}];
1
+ const a41_0xe1491b=a41_0x443d;(function(_0x22b5f2,_0x29f32a){const _0xdb88b=a41_0x443d,_0x6abc07=_0x22b5f2();while(!![]){try{const _0x5e3043=parseInt(_0xdb88b(0xe5))/0x1+-parseInt(_0xdb88b(0xf6))/0x2*(-parseInt(_0xdb88b(0xe3))/0x3)+parseInt(_0xdb88b(0xc3))/0x4*(parseInt(_0xdb88b(0xdd))/0x5)+-parseInt(_0xdb88b(0xb9))/0x6+-parseInt(_0xdb88b(0xe0))/0x7*(parseInt(_0xdb88b(0xbb))/0x8)+parseInt(_0xdb88b(0xb3))/0x9*(parseInt(_0xdb88b(0xbd))/0xa)+parseInt(_0xdb88b(0xd7))/0xb*(parseInt(_0xdb88b(0xe6))/0xc);if(_0x5e3043===_0x29f32a)break;else _0x6abc07['push'](_0x6abc07['shift']());}catch(_0x5a7310){_0x6abc07['push'](_0x6abc07['shift']());}}}(a41_0x2ce2,0x7cb0f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a41_0xe1491b(0xee),'type':a41_0xe1491b(0xf9),'required':!![],'description':a41_0xe1491b(0xf1)},SERVICE_FLAG={'name':a41_0xe1491b(0xdc),'type':a41_0xe1491b(0xf9),'required':!![],'description':a41_0xe1491b(0xe7),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0xe1491b(0xef)}};function summarizeService(_0x11cdc4){const _0x474261=a41_0xe1491b;return{'serviceCode':_0x11cdc4[_0x474261(0xd5)],'name':_0x11cdc4[_0x474261(0xb5)][_0x474261(0xdc)][_0x474261(0xbf)],'version':_0x11cdc4['version'],'importedAt':_0x11cdc4[_0x474261(0xf8)],'source':_0x11cdc4[_0x474261(0xba)],'commandCount':_0x11cdc4[_0x474261(0xb5)]['commands'][_0x474261(0xdb)],'commands':_0x11cdc4[_0x474261(0xb5)][_0x474261(0xb2)][_0x474261(0xb4)](_0x19a8bb=>({'path':_0x19a8bb[_0x474261(0xbc)],'description':_0x19a8bb[_0x474261(0xd4)],'risk':_0x19a8bb[_0x474261(0xbe)],'target':toPublicServiceTreeTarget(_0x19a8bb[_0x474261(0xc1)]),'flags':_0x19a8bb[_0x474261(0xc8)][_0x474261(0xb4)](_0x2a30d8=>({'name':_0x2a30d8['name'],'cliName':_0x2a30d8[_0x474261(0xc7)],'type':_0x2a30d8[_0x474261(0xcb)],'required':_0x2a30d8[_0x474261(0xe2)]===!![]}))}))};}function summarizeLoadedManifest(_0x576c83){const _0x344f18=a41_0xe1491b;return{'service':_0x576c83[_0x344f18(0xb5)]?.[_0x344f18(0xdc)],'version':_0x576c83[_0x344f18(0xb5)]?.[_0x344f18(0xc0)],'commandCount':_0x576c83[_0x344f18(0xb5)]?.[_0x344f18(0xb2)][_0x344f18(0xdb)]??0x0,'commands':_0x576c83[_0x344f18(0xb5)]?.[_0x344f18(0xb2)]['map'](_0xb105ca=>({'path':_0xb105ca[_0x344f18(0xbc)],'risk':_0xb105ca['risk'],'target':toPublicServiceTreeTarget(_0xb105ca[_0x344f18(0xc1)])}))??[],'registryIndex':_0x576c83[_0x344f18(0xf5)],'registryServiceCode':_0x576c83[_0x344f18(0xd3)],'errors':_0x576c83[_0x344f18(0xca)]['errors'],'warnings':_0x576c83[_0x344f18(0xca)]['warnings']};}function a41_0x2ce2(){const _0x39484d=['hash','WRITE','1199958KoSDqm','source','7927176PtSfas','cliPath','20Lzogcs','risk','name','version','target','read','28OMJXTI','entry','Removed\x20service\x20','str','cliName','flags','import','report','type','serviceCount','reduce','entries','\x20service(s).','list','errors','Updated','registryServiceCode','description','serviceCode','warnings','99OnhfxS','kind','imported','write','length','service','326690pqaGux','manifests','registry','7oKKTUd','replaced','required','491826LKcqXQ','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','226450phANCQ','429924feeHrx','Local\x20service\x20code,\x20for\x20example\x20crm','manifest','validate','detail','filePath','registryPath','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','file','lower\x20kebab-case\x20service\x20code','updated','Service\x20Tree\x20manifest\x20file\x20path','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20registry\x20validation\x20passed.','registryIndex','2zKfQlm','export','importedAt','string','\x20service\x20','Service\x20manifest\x20validation\x20passed.','remove','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','commands','2391408pTbbGk','map','normalizedManifest','\x20service(s),\x20updated\x20'];a41_0x2ce2=function(){return _0x39484d;};return a41_0x2ce2();}function a41_0x443d(_0x35e461,_0x1e3a04){_0x35e461=_0x35e461-0xb2;const _0x2ce22a=a41_0x2ce2();let _0x443d18=_0x2ce22a[_0x35e461];return _0x443d18;}export const serviceDefinitions=[{'service':a41_0xe1491b(0xdc),'command':a41_0xe1491b(0xe9),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a41_0xe1491b(0xc2),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x166a55){const _0x431802=a41_0xe1491b,_0x1164be=loadServiceManifestFromFile(_0x166a55['str'](_0x431802(0xee)));if(!_0x1164be[_0x431802(0xca)]['ok'])return{'ok':![],'data':{'file':_0x1164be[_0x431802(0xeb)],'hash':_0x1164be[_0x431802(0xb7)],'kind':_0x1164be[_0x431802(0xd8)],'serviceCount':_0x1164be[_0x431802(0xde)]['length'],'services':_0x1164be[_0x431802(0xde)][_0x431802(0xb4)](summarizeLoadedManifest),'errors':_0x1164be[_0x431802(0xca)][_0x431802(0xd1)],'warnings':_0x1164be['report'][_0x431802(0xd6)]},'message':formatValidationFailure(_0x1164be[_0x431802(0xca)])};if(_0x1164be['kind']===_0x431802(0xdf)||_0x1164be[_0x431802(0xde)][_0x431802(0xdb)]!==0x1)return{'ok':!![],'data':{'file':_0x1164be['filePath'],'hash':_0x1164be[_0x431802(0xb7)],'kind':_0x1164be['kind'],'serviceCount':_0x1164be[_0x431802(0xde)][_0x431802(0xdb)],'commandCount':_0x1164be[_0x431802(0xde)][_0x431802(0xcd)]((_0x107106,_0x1eefd5)=>_0x107106+(_0x1eefd5['normalizedManifest']?.[_0x431802(0xb2)][_0x431802(0xdb)]??0x0),0x0),'services':_0x1164be[_0x431802(0xde)]['map'](summarizeLoadedManifest),'warnings':_0x1164be[_0x431802(0xca)]['warnings']},'message':_0x431802(0xf4)};return{'ok':!![],'data':{'file':_0x1164be[_0x431802(0xeb)],'hash':_0x1164be[_0x431802(0xb7)],'kind':_0x1164be[_0x431802(0xd8)],'service':_0x1164be['normalizedManifest']?.['service'],'version':_0x1164be[_0x431802(0xb5)]?.['version'],'commandCount':_0x1164be[_0x431802(0xb5)]?.[_0x431802(0xb2)][_0x431802(0xdb)]??0x0,'commands':_0x1164be[_0x431802(0xb5)]?.[_0x431802(0xb2)][_0x431802(0xb4)](_0x58c634=>({'path':_0x58c634['cliPath'],'risk':_0x58c634['risk'],'target':toPublicServiceTreeTarget(_0x58c634['target'])})),'warnings':_0x1164be[_0x431802(0xca)]['warnings']},'message':_0x431802(0xfb)};}},{'service':a41_0xe1491b(0xdc),'command':a41_0xe1491b(0xc9),'description':a41_0xe1491b(0xed),'risk':a41_0xe1491b(0xda),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x4daa3b){const _0x43ac1a=a41_0xe1491b,_0x31ae28=loadServiceManifestFromFile(_0x4daa3b[_0x43ac1a(0xc6)](_0x43ac1a(0xee)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x31ae28[_0x43ac1a(0xeb)],'hash':_0x31ae28['hash'],'kind':_0x31ae28[_0x43ac1a(0xd8)],'ok':_0x31ae28[_0x43ac1a(0xca)]['ok'],'service':_0x31ae28[_0x43ac1a(0xb5)]?.[_0x43ac1a(0xdc)],'version':_0x31ae28[_0x43ac1a(0xb5)]?.[_0x43ac1a(0xc0)],'serviceCount':_0x31ae28[_0x43ac1a(0xde)][_0x43ac1a(0xdb)],'services':_0x31ae28[_0x43ac1a(0xde)]['map'](_0x32432b=>({'service':_0x32432b[_0x43ac1a(0xb5)]?.[_0x43ac1a(0xdc)],'version':_0x32432b[_0x43ac1a(0xb5)]?.[_0x43ac1a(0xc0)],'commandCount':_0x32432b['normalizedManifest']?.[_0x43ac1a(0xb2)]['length']??0x0,'errors':_0x32432b['report'][_0x43ac1a(0xd1)]})),'errors':_0x31ae28['report'][_0x43ac1a(0xd1)],'commandCount':_0x31ae28[_0x43ac1a(0xb5)]?.[_0x43ac1a(0xb2)][_0x43ac1a(0xdb)]??0x0},'description':_0x43ac1a(0xf3)};},async 'execute'(_0x3b7451){const _0x3c5a66=a41_0xe1491b,_0x162843=importServiceManifest(_0x3b7451[_0x3c5a66(0xc6)](_0x3c5a66(0xee)));if(_0x162843['entries'][_0x3c5a66(0xdb)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x162843[_0x3c5a66(0xec)],'imported':_0x162843[_0x3c5a66(0xd9)],'updated':_0x162843[_0x3c5a66(0xf0)],'serviceCount':_0x162843[_0x3c5a66(0xcc)],'services':_0x162843[_0x3c5a66(0xce)][_0x3c5a66(0xb4)](summarizeService)},'message':'Imported\x20'+_0x162843[_0x3c5a66(0xd9)]+_0x3c5a66(0xb6)+_0x162843['updated']+_0x3c5a66(0xcf)};return{'ok':!![],'data':{'registryPath':_0x162843[_0x3c5a66(0xec)],'replaced':_0x162843[_0x3c5a66(0xe1)],'imported':_0x162843['imported'],'updated':_0x162843[_0x3c5a66(0xf0)],'serviceCount':_0x162843[_0x3c5a66(0xcc)],'service':summarizeService(_0x162843[_0x3c5a66(0xc4)])},'message':(_0x162843[_0x3c5a66(0xe1)]?_0x3c5a66(0xd2):'Imported')+_0x3c5a66(0xfa)+_0x162843[_0x3c5a66(0xc4)][_0x3c5a66(0xd5)]+'.'};}},{'service':a41_0xe1491b(0xdc),'command':a41_0xe1491b(0xf7),'description':a41_0xe1491b(0xfd),'risk':a41_0xe1491b(0xda),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x42a52d){const _0x19c481=a41_0xe1491b,_0xcde861=getLocalServiceEntry(_0x42a52d[_0x19c481(0xc6)](_0x19c481(0xdc)));return{'method':_0x19c481(0xb8),'url':_0x42a52d[_0x19c481(0xc6)](_0x19c481(0xee)),'body':{'service':_0x42a52d['str'](_0x19c481(0xdc)),'found':Boolean(_0xcde861),'version':_0xcde861?.[_0x19c481(0xc0)],'source':_0xcde861?.['source']},'description':_0x19c481(0xe4)};},async 'execute'(_0x281131){const _0x5ead42=a41_0xe1491b,_0x203052=exportServiceManifest(_0x281131[_0x5ead42(0xc6)](_0x5ead42(0xdc)),_0x281131['str'](_0x5ead42(0xee)));return{'ok':!![],'data':{'registryPath':_0x203052[_0x5ead42(0xec)],'file':_0x203052[_0x5ead42(0xeb)],'service':summarizeService(_0x203052['entry'])},'message':'Exported\x20service\x20'+_0x203052[_0x5ead42(0xc4)][_0x5ead42(0xd5)]+'.'};}},{'service':a41_0xe1491b(0xdc),'command':a41_0xe1491b(0xd0),'description':a41_0xe1491b(0xf2),'risk':a41_0xe1491b(0xc2),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x12e372=a41_0xe1491b,_0x41bd10=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x41bd10[_0x12e372(0xdb)],'services':_0x41bd10[_0x12e372(0xb4)](summarizeService)}};}},{'service':'service','command':a41_0xe1491b(0xfc),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a41_0xe1491b(0xda),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2d5a98){const _0x181516=a41_0xe1491b,_0x57e922=getLocalServiceEntry(_0x2d5a98[_0x181516(0xc6)](_0x181516(0xdc)));return{'method':_0x181516(0xb8),'url':getServiceRegistryPath(),'body':{'service':_0x2d5a98[_0x181516(0xc6)](_0x181516(0xdc)),'found':Boolean(_0x57e922),'version':_0x57e922?.[_0x181516(0xc0)],'source':_0x57e922?.[_0x181516(0xba)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x2f0ba3){const _0xf2a9ee=a41_0xe1491b,_0x3c0f1b=removeServiceManifest(_0x2f0ba3[_0xf2a9ee(0xc6)](_0xf2a9ee(0xdc)));return{'ok':!![],'data':{'registryPath':_0x3c0f1b[_0xf2a9ee(0xec)],'serviceCount':_0x3c0f1b['serviceCount'],'service':summarizeService(_0x3c0f1b[_0xf2a9ee(0xc4)])},'message':_0xf2a9ee(0xc5)+_0x3c0f1b[_0xf2a9ee(0xc4)]['serviceCode']+'.'};}},{'service':a41_0xe1491b(0xdc),'command':a41_0xe1491b(0xea),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a41_0xe1491b(0xc2),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x1c6eb1){const _0x1d5ed3=a41_0xe1491b,_0x171c74=getLocalServiceEntry(_0x1c6eb1[_0x1d5ed3(0xc6)]('service'));if(!_0x171c74)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x1c6eb1[_0x1d5ed3(0xc6)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x1c6eb1[_0x1d5ed3(0xc6)](_0x1d5ed3(0xdc))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x171c74),'manifest':_0x171c74[_0x1d5ed3(0xe8)],'normalizedManifest':toPublicNormalizedServiceTree(_0x171c74[_0x1d5ed3(0xb5)])}};}}];
@@ -1 +1 @@
1
- const a42_0x57cbc2=a42_0x54c1;(function(_0x4aa54d,_0x1ed5b5){const _0x4bf0de=a42_0x54c1,_0x2c7cd7=_0x4aa54d();while(!![]){try{const _0x18e89e=parseInt(_0x4bf0de(0xc7))/0x1+-parseInt(_0x4bf0de(0xf6))/0x2*(-parseInt(_0x4bf0de(0xf7))/0x3)+-parseInt(_0x4bf0de(0xf3))/0x4+-parseInt(_0x4bf0de(0x107))/0x5*(parseInt(_0x4bf0de(0xdb))/0x6)+-parseInt(_0x4bf0de(0xff))/0x7+-parseInt(_0x4bf0de(0x114))/0x8+parseInt(_0x4bf0de(0xc5))/0x9;if(_0x18e89e===_0x1ed5b5)break;else _0x2c7cd7['push'](_0x2c7cd7['shift']());}catch(_0x385256){_0x2c7cd7['push'](_0x2c7cd7['shift']());}}}(a42_0x2742,0x3b82d));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x57cbc2(0xc9);export function getServiceRegistryPath(_0x4c04c3={}){const _0x5493e4=a42_0x57cbc2;return resolve(_0x4c04c3[_0x5493e4(0x118)]??homedir(),PRODUCT_CONFIG[_0x5493e4(0xfb)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x173c02={}){const _0x1b0878=a42_0x57cbc2,_0xd2d2ce=getServiceRegistryPath(_0x173c02);if(!existsSync(_0xd2d2ce))return emptyServiceRegistry();try{const _0x47ab61=readFileSync(_0xd2d2ce,_0x1b0878(0xc4));if(!_0x47ab61['trim']())return emptyServiceRegistry();const _0x4e95e2=JSON['parse'](_0x47ab61);if(_0x4e95e2[_0x1b0878(0xf8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x1b0878(0xcf)+String(_0x4e95e2[_0x1b0878(0xf8)]),_0x1b0878(0xc8)+_0xd2d2ce+'.');if(!Array['isArray'](_0x4e95e2['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e95e2[_0x1b0878(0x10f)],'services':_0x4e95e2[_0x1b0878(0x116)]};}catch(_0x26e9be){if(_0x26e9be instanceof Error&&_0x26e9be[_0x1b0878(0xd3)]===_0x1b0878(0x10a))throw _0x26e9be;throw CliErrors[_0x1b0878(0x10c)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0xd2d2ce,_0x1b0878(0xec));}}export function writeServiceRegistry(_0x19f539,_0x3b35ee={}){const _0xfa9ff4=a42_0x57cbc2,_0x1176a2=getServiceRegistryPath(_0x3b35ee),_0x5b92bd=dirname(_0x1176a2);!existsSync(_0x5b92bd)&&mkdirSync(_0x5b92bd,{'recursive':!![]});const _0x1cf8f9=_0x1176a2+_0xfa9ff4(0xfd);try{writeFileSync(_0x1cf8f9,JSON[_0xfa9ff4(0xd6)](_0x19f539,null,0x2)+'\x0a',{'encoding':_0xfa9ff4(0xc4),'mode':0x180}),renameSync(_0x1cf8f9,_0x1176a2);}catch(_0x41ff1e){try{unlinkSync(_0x1cf8f9);}catch{}if(_0x41ff1e?.[_0xfa9ff4(0x108)]===_0xfa9ff4(0xdc))throw CliErrors[_0xfa9ff4(0x10c)](_0xfa9ff4(0xed)+_0x1176a2);throw _0x41ff1e;}return _0x1176a2;}export function loadServiceManifestFromFile(_0xd0c4c){const _0x408bed=a42_0x57cbc2,_0x574fac=resolve(_0xd0c4c);if(!existsSync(_0x574fac))throw CliErrors['validation'](_0x408bed(0x109)+_0xd0c4c);let _0x30b98f;const _0x1ff348=readFileSync(_0x574fac,_0x408bed(0xc4));try{_0x30b98f=JSON[_0x408bed(0xfa)](_0x1ff348);}catch{throw CliErrors[_0x408bed(0x10c)](_0x408bed(0x111)+_0xd0c4c,_0x408bed(0xd9));}const _0xbb9f06=sha256(_0x1ff348),_0x2db092=extractLoadedServiceManifests(_0x30b98f,_0xbb9f06),_0x5a5096=aggregateValidationReports(_0x2db092),_0xeb224e=_0x2db092[0x0];return{'filePath':_0x574fac,'hash':_0xbb9f06,'kind':isServiceRegistryLike(_0x30b98f)?'registry':_0x408bed(0xca),'manifest':_0xeb224e?.['manifest']??_0x30b98f,'report':_0x5a5096,'normalizedManifest':_0x2db092[_0x408bed(0x101)]===0x1?_0xeb224e?.['normalizedManifest']:undefined,'manifests':_0x2db092};}function a42_0x2742(){const _0x9668f=['isArray','updatedAt','map','Invalid\x20service\x20manifest\x20JSON:\x20','].manifest.','push','2184312YGPOvc','command','services','source','homeDir','cliPath','utf8','7081965gZVmlD','path','205250dJVzfZ','Remove\x20or\x20migrate\x20','service.json','manifest','kind','empty','update','serviceCode','Unsupported\x20service\x20registry\x20schemaVersion:\x20','sha256','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','missing','name','sort','normalizedManifest','stringify','$.services[','toISOString','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','now','2670gAdjKN','ENOENT','warnings','localeCompare','slice','report','trim','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','reduce','risk','version','findIndex','description','manifests','splice','startsWith','hex','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Cannot\x20write\x20service\x20registry:\x20','registryIndex','file','target','importedAt','message','1520332LxuzAZ','commandCount','string','79278ccNjLz','3RGwCiP','schemaVersion','service','parse','homeDirName','bff\x20target\x20requires\x20functionName.','.tmp','flatMap','355530DPafQd','].manifest','length','find','filePath','errors','commands','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','945CAwLmy','code','Service\x20manifest\x20file\x20not\x20found:\x20','CliError','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','validation','invalid'];a42_0x2742=function(){return _0x9668f;};return a42_0x2742();}export function importServiceManifest(_0x550270,_0x11957b={}){const _0x39dbc9=a42_0x57cbc2,_0x5995d6=loadServiceManifestFromFile(_0x550270);if(!_0x5995d6[_0x39dbc9(0xe0)]['ok'])throw CliErrors[_0x39dbc9(0x10c)](formatValidationFailure(_0x5995d6[_0x39dbc9(0xe0)]),_0x39dbc9(0x10b));if(_0x5995d6[_0x39dbc9(0xe8)][_0x39dbc9(0x101)]===0x0)throw CliErrors[_0x39dbc9(0x10c)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x39dbc9(0x106));const _0x122192=readServiceRegistry(_0x11957b),_0x3e0926=(_0x11957b[_0x39dbc9(0xda)]??(()=>new Date()))()[_0x39dbc9(0xd8)](),_0x527a1e=[];let _0x5f3d97=0x0,_0x3d7a82=0x0;for(const _0x24b8cc of _0x5995d6[_0x39dbc9(0xe8)]){if(!_0x24b8cc[_0x39dbc9(0xd5)])continue;const _0x4f0aa5=_0x24b8cc[_0x39dbc9(0xd5)]['service']['code'],_0x2135f1={'serviceCode':_0x4f0aa5,'version':_0x24b8cc[_0x39dbc9(0xd5)][_0x39dbc9(0xe5)],'importedAt':_0x3e0926,'source':{'type':_0x39dbc9(0xef),'path':_0x5995d6[_0x39dbc9(0x103)],'hash':_0x24b8cc['sourceHash']},'manifest':_0x24b8cc['manifest'],'normalizedManifest':_0x24b8cc[_0x39dbc9(0xd5)]},_0x1fbbca=_0x122192[_0x39dbc9(0x116)]['findIndex'](_0x4a6f92=>_0x4a6f92['serviceCode']===_0x4f0aa5);_0x1fbbca>=0x0?(_0x122192[_0x39dbc9(0x116)][_0x1fbbca]=_0x2135f1,_0x3d7a82++):(_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x113)](_0x2135f1),_0x5f3d97++),_0x527a1e[_0x39dbc9(0x113)](_0x2135f1);}_0x122192['services'][_0x39dbc9(0xd4)]((_0x2713bd,_0x46bc39)=>_0x2713bd[_0x39dbc9(0xce)][_0x39dbc9(0xde)](_0x46bc39['serviceCode'])),_0x122192['updatedAt']=_0x3e0926;const _0x5ea604=writeServiceRegistry(_0x122192,_0x11957b);return{'registryPath':_0x5ea604,'entry':_0x527a1e[0x0],'replaced':_0x527a1e[_0x39dbc9(0x101)]===0x1?_0x3d7a82===0x1:_0x3d7a82>0x0,'entries':_0x527a1e,'imported':_0x5f3d97,'updated':_0x3d7a82,'serviceCount':_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x101)]};}export function exportServiceManifest(_0x52273d,_0xf406b7,_0x2ad2c4={}){const _0x56eda6=a42_0x57cbc2,_0x1713f2=getServiceRegistryPath(_0x2ad2c4),_0x24d72f=getLocalServiceEntry(_0x52273d,_0x2ad2c4);if(!_0x24d72f)throw CliErrors[_0x56eda6(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x52273d,_0x56eda6(0xd1));const _0x49d721=resolve(_0xf406b7),_0xba7212=dirname(_0x49d721);return!existsSync(_0xba7212)&&mkdirSync(_0xba7212,{'recursive':!![]}),writeFileSync(_0x49d721,JSON[_0x56eda6(0xd6)](_0x24d72f[_0x56eda6(0xca)],null,0x2)+'\x0a',{'encoding':_0x56eda6(0xc4),'mode':0x180}),{'registryPath':_0x1713f2,'filePath':_0x49d721,'entry':_0x24d72f};}export function removeServiceManifest(_0x22eac0,_0x54f596={}){const _0x3b30c9=a42_0x57cbc2,_0x2b8699=readServiceRegistry(_0x54f596),_0x1dd989=_0x22eac0['trim'](),_0x1955af=_0x2b8699['services'][_0x3b30c9(0xe6)](_0x2dc0c6=>_0x2dc0c6[_0x3b30c9(0xce)]===_0x1dd989);if(_0x1955af<0x0)throw CliErrors[_0x3b30c9(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x1dd989,_0x3b30c9(0xd1));const [_0x1136b9]=_0x2b8699[_0x3b30c9(0x116)][_0x3b30c9(0xe9)](_0x1955af,0x1),_0x5b749d=(_0x54f596['now']??(()=>new Date()))()[_0x3b30c9(0xd8)]();_0x2b8699[_0x3b30c9(0x10f)]=_0x5b749d;const _0x31c502=writeServiceRegistry(_0x2b8699,_0x54f596);return{'registryPath':_0x31c502,'entry':_0x1136b9,'serviceCount':_0x2b8699['services']['length']};}export function listLocalServices(_0x105b17={}){const _0x41ede0=a42_0x57cbc2;return readServiceRegistry(_0x105b17)[_0x41ede0(0x116)];}export function getLocalServiceEntry(_0x550945,_0x391ef0={}){const _0x39276e=a42_0x57cbc2;return readServiceRegistry(_0x391ef0)[_0x39276e(0x116)][_0x39276e(0x102)](_0x1785df=>_0x1785df[_0x39276e(0xce)]===_0x550945['trim']());}export function listLocalServiceTrees(_0xd59110={}){const _0x5b81ff=a42_0x57cbc2;return readServiceRegistry(_0xd59110)[_0x5b81ff(0x116)][_0x5b81ff(0x110)](_0x1e0a09=>_0x1e0a09[_0x5b81ff(0xd5)]);}export function inspectServiceRegistry(_0x70fe45={}){const _0x215969=a42_0x57cbc2,_0xe22093=getServiceRegistryPath(_0x70fe45);if(!existsSync(_0xe22093))return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xd2),![]);try{const _0x5d0f10=readFileSync(_0xe22093,_0x215969(0xc4));if(!_0x5d0f10[_0x215969(0xe1)]())return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xcc),!![]);const _0x312fc6=JSON['parse'](_0x5d0f10);if(_0x312fc6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':_0x312fc6[_0x215969(0xf8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x312fc6[_0x215969(0xf8)])};if(!Array['isArray'](_0x312fc6[_0x215969(0x116)]))return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'message':'services\x20must\x20be\x20an\x20array'};const _0x118be7=_0x312fc6['services'][_0x215969(0x110)](summarizeLocalServiceEntry);return{'registryPath':_0xe22093,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'serviceCount':_0x118be7[_0x215969(0x101)],'commandCount':_0x118be7[_0x215969(0xe3)]((_0x17b6b7,_0x43af08)=>_0x17b6b7+_0x43af08[_0x215969(0xf4)],0x0),'services':_0x118be7};}catch(_0x3cde17){return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'message':_0x3cde17 instanceof Error?_0x3cde17[_0x215969(0xf2)]:String(_0x3cde17)};}}export function formatValidationFailure(_0xd1f718){const _0x37986d=a42_0x57cbc2,_0x58ab58=_0xd1f718['errors'][_0x37986d(0x110)](_0x3d4996=>_0x3d4996[_0x37986d(0xc6)]+':\x20'+_0x3d4996[_0x37986d(0xf2)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x58ab58['join']('\x0a');}function extractLoadedServiceManifests(_0x237add,_0x19dde2){const _0x47ff13=a42_0x57cbc2;if(!isServiceRegistryLike(_0x237add)){const _0x3f985a=_0x237add,{manifest:_0xd912ae,errors:_0x5f5bfb}=adaptServiceTreeManifestForLegacyFramework(_0x3f985a),_0x24dbc4=validateServiceTreeManifest(_0xd912ae),_0x3db242=mergeValidationErrors(_0x24dbc4,_0x5f5bfb);return[{'manifest':_0x3f985a,'report':_0x3db242,'normalizedManifest':_0x3db242['ok']?normalizeServiceTreeManifest(_0xd912ae):undefined,'sourceHash':_0x19dde2}];}return _0x237add['services'][_0x47ff13(0x110)]((_0x3885d1,_0x5e9b12)=>{const _0x423472=_0x47ff13,_0x429648=isObjectRecord(_0x3885d1)?_0x3885d1[_0x423472(0xca)]:undefined,{manifest:_0x2428d3,errors:_0x1543ea}=adaptServiceTreeManifestForLegacyFramework(_0x429648),_0x561c8c=validateServiceTreeManifest(_0x2428d3),_0x20c28b=mergeValidationErrors(_0x561c8c,_0x1543ea),_0x13acbd=isObjectRecord(_0x3885d1)&&typeof _0x3885d1[_0x423472(0xce)]===_0x423472(0xf5)?_0x3885d1[_0x423472(0xce)]:undefined;return{'manifest':_0x429648,'report':_0x20c28b,'normalizedManifest':_0x20c28b['ok']?normalizeServiceTreeManifest(_0x2428d3):undefined,'sourceHash':sha256(JSON[_0x423472(0xd6)](_0x429648,null,0x2)+'\x0a'),'registryIndex':_0x5e9b12,'registryServiceCode':_0x13acbd};});}function a42_0x54c1(_0x389ff9,_0xc887f5){_0x389ff9=_0x389ff9-0xc4;const _0x2742b9=a42_0x2742();let _0x54c1d3=_0x2742b9[_0x389ff9];return _0x54c1d3;}function mergeValidationErrors(_0x2ecfea,_0x3b23c6){const _0x798509=a42_0x57cbc2,_0x37a783=_0x2ecfea[_0x798509(0x104)][_0x798509(0x110)](_0x254de9=>_0x254de9['message']===_0x798509(0xe2)?{..._0x254de9,'message':_0x798509(0xfc)}:_0x254de9),_0x5f1256=[..._0x3b23c6,..._0x37a783];return{'ok':_0x5f1256[_0x798509(0x101)]===0x0,'errors':_0x5f1256,'warnings':_0x2ecfea['warnings']};}function aggregateValidationReports(_0x3fa597){const _0x2362ad=a42_0x57cbc2,_0x2c13bc=_0x3fa597[_0x2362ad(0xfe)](_0x2dfbae=>_0x2dfbae[_0x2362ad(0xee)]===undefined?_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)]:_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)][_0x2362ad(0x110)](_0xad74c4=>({..._0xad74c4,'path':prefixRegistryIssuePath(_0x2dfbae[_0x2362ad(0xee)],_0xad74c4[_0x2362ad(0xc6)])}))),_0x331c40=_0x3fa597[_0x2362ad(0xfe)](_0x3b6a93=>_0x3b6a93['registryIndex']===undefined?_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)]:_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)][_0x2362ad(0x110)](_0x58815e=>({..._0x58815e,'path':prefixRegistryIssuePath(_0x3b6a93[_0x2362ad(0xee)],_0x58815e[_0x2362ad(0xc6)])})));return{'ok':_0x2c13bc[_0x2362ad(0x101)]===0x0,'errors':_0x2c13bc,'warnings':_0x331c40};}function prefixRegistryIssuePath(_0x230b77,_0x4e90a4){const _0x160aa6=a42_0x57cbc2;if(_0x4e90a4==='$')return'$.services['+_0x230b77+_0x160aa6(0x100);if(_0x4e90a4['startsWith']('$.'))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);if(_0x4e90a4[_0x160aa6(0xea)]('$['))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x112)+_0x4e90a4;}function isServiceRegistryLike(_0x135606){const _0x2c45ec=a42_0x57cbc2;return isObjectRecord(_0x135606)&&_0x135606[_0x2c45ec(0xf8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x2c45ec(0x10e)](_0x135606[_0x2c45ec(0x116)]);}function isObjectRecord(_0x2f32b9){const _0x3eb752=a42_0x57cbc2;return Boolean(_0x2f32b9)&&typeof _0x2f32b9==='object'&&!Array[_0x3eb752(0x10e)](_0x2f32b9);}function emptyServiceRegistryInspection(_0x2cb9f8,_0x27f54e,_0x400ec2){return{'registryPath':_0x2cb9f8,'exists':_0x400ec2,'status':_0x27f54e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x48dbf4){const _0x4bb85e=a42_0x57cbc2,_0x1438e3=_0x48dbf4[_0x4bb85e(0xd5)],_0x5cb301=_0x1438e3[_0x4bb85e(0x105)][_0x4bb85e(0x110)](_0x22ecf5=>({'path':_0x22ecf5[_0x4bb85e(0x119)],'description':_0x22ecf5[_0x4bb85e(0xe7)],'risk':_0x22ecf5[_0x4bb85e(0xe4)],'targetKind':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0xcb)],'targetCommand':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0x115)]}));return{'serviceCode':_0x48dbf4['serviceCode'],'name':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xd3)],'description':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xe7)],'version':_0x48dbf4[_0x4bb85e(0xe5)],'importedAt':_0x48dbf4[_0x4bb85e(0xf1)],'source':_0x48dbf4[_0x4bb85e(0x117)],'commandCount':_0x5cb301[_0x4bb85e(0x101)],'commands':_0x5cb301};}function sha256(_0x12b8f9){const _0xffb08f=a42_0x57cbc2;return createHash(_0xffb08f(0xd0))[_0xffb08f(0xcd)](_0x12b8f9)['digest'](_0xffb08f(0xeb));}
1
+ const a42_0x27bdeb=a42_0x1c9a;(function(_0xf7ba6c,_0x50d671){const _0x53b00d=a42_0x1c9a,_0x4bab95=_0xf7ba6c();while(!![]){try{const _0x5a156e=parseInt(_0x53b00d(0x125))/0x1*(parseInt(_0x53b00d(0x121))/0x2)+-parseInt(_0x53b00d(0x13f))/0x3*(parseInt(_0x53b00d(0x10a))/0x4)+parseInt(_0x53b00d(0x10e))/0x5*(-parseInt(_0x53b00d(0x11b))/0x6)+parseInt(_0x53b00d(0x138))/0x7+-parseInt(_0x53b00d(0xec))/0x8*(parseInt(_0x53b00d(0x114))/0x9)+-parseInt(_0x53b00d(0xfa))/0xa*(parseInt(_0x53b00d(0x134))/0xb)+-parseInt(_0x53b00d(0x127))/0xc*(-parseInt(_0x53b00d(0x101))/0xd);if(_0x5a156e===_0x50d671)break;else _0x4bab95['push'](_0x4bab95['shift']());}catch(_0x17b96c){_0x4bab95['push'](_0x4bab95['shift']());}}}(a42_0x276f,0x652d8));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';function a42_0x276f(){const _0x3b4d23=['Local\x20service\x20not\x20found:\x20','Unsupported\x20schemaVersion:\x20','bff\x20target\x20requires\x20functionName.','source','registry','command','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','splice','slice','sort','errors','push','2946361DSQsfP','normalizedManifest','string','trim','2693040risdER','findIndex','invalid','CliError','code','update','description','24732GRercg','updatedAt','join','].manifest','homeDirName','toISOString','Cannot\x20write\x20service\x20registry:\x20','Service\x20manifest\x20file\x20not\x20found:\x20','manifests','8bUCYWS','risk','validation','homeDir','length','target','warnings','filePath','utf8','object','schemaVersion','version','registryIndex','isArray','30PFAlJb','service.json','Service\x20manifest\x20validation\x20failed:\x0a','hex','manifest','services','empty','13jhlPen','].manifest.','.tmp','now','localeCompare','service','sourceHash','startsWith','serviceCode','276OCPEVx','message','stringify','Invalid\x20service\x20registry\x20JSON:\x20','500qrHgND','file','cliPath','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','1929924TpuxMR','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','report','Invalid\x20service\x20manifest\x20JSON:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','name','Remove\x20or\x20migrate\x20','36690IPffjZ','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','sha256','flatMap','map','$.services[','868774FGglDk','find','path','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','1aqJhCb','parse','21523704IgbQIX'];a42_0x276f=function(){return _0x3b4d23;};return a42_0x276f();}import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x27bdeb(0xfb);export function getServiceRegistryPath(_0x4b726a={}){const _0x612b0c=a42_0x27bdeb;return resolve(_0x4b726a[_0x612b0c(0xef)]??homedir(),PRODUCT_CONFIG[_0x612b0c(0x143)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3fd033={}){const _0x5f221d=a42_0x27bdeb,_0x58a411=getServiceRegistryPath(_0x3fd033);if(!existsSync(_0x58a411))return emptyServiceRegistry();try{const _0x4ab5b7=readFileSync(_0x58a411,_0x5f221d(0xf4));if(!_0x4ab5b7[_0x5f221d(0x137)]())return emptyServiceRegistry();const _0x5b8473=JSON[_0x5f221d(0x126)](_0x4ab5b7);if(_0x5b8473['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5f221d(0xee)](_0x5f221d(0x118)+String(_0x5b8473[_0x5f221d(0xf6)]),_0x5f221d(0x11a)+_0x58a411+'.');if(!Array[_0x5f221d(0xf9)](_0x5b8473[_0x5f221d(0xff)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5b8473[_0x5f221d(0x140)],'services':_0x5b8473['services']};}catch(_0x188fae){if(_0x188fae instanceof Error&&_0x188fae[_0x5f221d(0x119)]===_0x5f221d(0x13b))throw _0x188fae;throw CliErrors[_0x5f221d(0xee)](_0x5f221d(0x10d)+_0x58a411,_0x5f221d(0x112));}}export function writeServiceRegistry(_0x5bf00c,_0x4d6583={}){const _0x4288f2=a42_0x27bdeb,_0x2d6a83=getServiceRegistryPath(_0x4d6583),_0x2198e7=dirname(_0x2d6a83);!existsSync(_0x2198e7)&&mkdirSync(_0x2198e7,{'recursive':!![]});const _0x2fa199=_0x2d6a83+_0x4288f2(0x103);try{writeFileSync(_0x2fa199,JSON[_0x4288f2(0x10c)](_0x5bf00c,null,0x2)+'\x0a',{'encoding':_0x4288f2(0xf4),'mode':0x180}),renameSync(_0x2fa199,_0x2d6a83);}catch(_0x5a16aa){try{unlinkSync(_0x2fa199);}catch{}if(_0x5a16aa?.[_0x4288f2(0x13c)]==='ENOENT')throw CliErrors['validation'](_0x4288f2(0x145)+_0x2d6a83);throw _0x5a16aa;}return _0x2d6a83;}export function loadServiceManifestFromFile(_0x102c0d){const _0x28c167=a42_0x27bdeb,_0xe9d1ab=resolve(_0x102c0d);if(!existsSync(_0xe9d1ab))throw CliErrors[_0x28c167(0xee)](_0x28c167(0xea)+_0x102c0d);let _0x10645b;const _0x4ed404=readFileSync(_0xe9d1ab,_0x28c167(0xf4));try{_0x10645b=JSON['parse'](_0x4ed404);}catch{throw CliErrors[_0x28c167(0xee)](_0x28c167(0x117)+_0x102c0d,_0x28c167(0x115));}const _0x3f2691=sha256(_0x4ed404),_0x152d35=extractLoadedServiceManifests(_0x10645b,_0x3f2691),_0x4cea1c=aggregateValidationReports(_0x152d35),_0x1b7070=_0x152d35[0x0];return{'filePath':_0xe9d1ab,'hash':_0x3f2691,'kind':isServiceRegistryLike(_0x10645b)?_0x28c167(0x12c):_0x28c167(0xfe),'manifest':_0x1b7070?.[_0x28c167(0xfe)]??_0x10645b,'report':_0x4cea1c,'normalizedManifest':_0x152d35['length']===0x1?_0x1b7070?.['normalizedManifest']:undefined,'manifests':_0x152d35};}export function importServiceManifest(_0x4835b0,_0x523a1d={}){const _0x106bec=a42_0x27bdeb,_0x595162=loadServiceManifestFromFile(_0x4835b0);if(!_0x595162[_0x106bec(0x116)]['ok'])throw CliErrors[_0x106bec(0xee)](formatValidationFailure(_0x595162[_0x106bec(0x116)]),_0x106bec(0x11c));if(_0x595162[_0x106bec(0xeb)][_0x106bec(0xf0)]===0x0)throw CliErrors[_0x106bec(0xee)](_0x106bec(0x113),_0x106bec(0x12e));const _0x899cb1=readServiceRegistry(_0x523a1d),_0x165c6c=(_0x523a1d[_0x106bec(0x104)]??(()=>new Date()))()['toISOString'](),_0x518312=[];let _0x4f937a=0x0,_0x4e1ef8=0x0;for(const _0x1c4932 of _0x595162[_0x106bec(0xeb)]){if(!_0x1c4932['normalizedManifest'])continue;const _0x5d863c=_0x1c4932[_0x106bec(0x135)][_0x106bec(0x106)]['code'],_0x15c69f={'serviceCode':_0x5d863c,'version':_0x1c4932[_0x106bec(0x135)][_0x106bec(0xf7)],'importedAt':_0x165c6c,'source':{'type':_0x106bec(0x10f),'path':_0x595162[_0x106bec(0xf3)],'hash':_0x1c4932[_0x106bec(0x107)]},'manifest':_0x1c4932[_0x106bec(0xfe)],'normalizedManifest':_0x1c4932[_0x106bec(0x135)]},_0xdddad0=_0x899cb1[_0x106bec(0xff)][_0x106bec(0x139)](_0x16eac7=>_0x16eac7['serviceCode']===_0x5d863c);_0xdddad0>=0x0?(_0x899cb1['services'][_0xdddad0]=_0x15c69f,_0x4e1ef8++):(_0x899cb1[_0x106bec(0xff)][_0x106bec(0x133)](_0x15c69f),_0x4f937a++),_0x518312[_0x106bec(0x133)](_0x15c69f);}_0x899cb1[_0x106bec(0xff)][_0x106bec(0x131)]((_0x22b88b,_0x15c971)=>_0x22b88b['serviceCode'][_0x106bec(0x105)](_0x15c971[_0x106bec(0x109)])),_0x899cb1[_0x106bec(0x140)]=_0x165c6c;const _0x28884c=writeServiceRegistry(_0x899cb1,_0x523a1d);return{'registryPath':_0x28884c,'entry':_0x518312[0x0],'replaced':_0x518312['length']===0x1?_0x4e1ef8===0x1:_0x4e1ef8>0x0,'entries':_0x518312,'imported':_0x4f937a,'updated':_0x4e1ef8,'serviceCount':_0x899cb1['services']['length']};}export function exportServiceManifest(_0x537631,_0x1cd930,_0x3acaac={}){const _0x4af265=a42_0x27bdeb,_0x165a42=getServiceRegistryPath(_0x3acaac),_0x520782=getLocalServiceEntry(_0x537631,_0x3acaac);if(!_0x520782)throw CliErrors[_0x4af265(0xee)](_0x4af265(0x128)+_0x537631,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x18a9b4=resolve(_0x1cd930),_0x2e6fcf=dirname(_0x18a9b4);return!existsSync(_0x2e6fcf)&&mkdirSync(_0x2e6fcf,{'recursive':!![]}),writeFileSync(_0x18a9b4,JSON[_0x4af265(0x10c)](_0x520782[_0x4af265(0xfe)],null,0x2)+'\x0a',{'encoding':_0x4af265(0xf4),'mode':0x180}),{'registryPath':_0x165a42,'filePath':_0x18a9b4,'entry':_0x520782};}export function removeServiceManifest(_0x499ee0,_0x4c99a8={}){const _0x38b73f=a42_0x27bdeb,_0x52ed16=readServiceRegistry(_0x4c99a8),_0xe520c6=_0x499ee0['trim'](),_0x59f6d0=_0x52ed16[_0x38b73f(0xff)][_0x38b73f(0x139)](_0x15cc98=>_0x15cc98[_0x38b73f(0x109)]===_0xe520c6);if(_0x59f6d0<0x0)throw CliErrors[_0x38b73f(0xee)]('Local\x20service\x20not\x20found:\x20'+_0xe520c6,_0x38b73f(0x111));const [_0x4b76e2]=_0x52ed16[_0x38b73f(0xff)][_0x38b73f(0x12f)](_0x59f6d0,0x1),_0x40f182=(_0x4c99a8['now']??(()=>new Date()))()[_0x38b73f(0x144)]();_0x52ed16[_0x38b73f(0x140)]=_0x40f182;const _0x313fe6=writeServiceRegistry(_0x52ed16,_0x4c99a8);return{'registryPath':_0x313fe6,'entry':_0x4b76e2,'serviceCount':_0x52ed16[_0x38b73f(0xff)]['length']};}export function listLocalServices(_0x2faddf={}){const _0x35badd=a42_0x27bdeb;return readServiceRegistry(_0x2faddf)[_0x35badd(0xff)];}export function getLocalServiceEntry(_0x49d3dc,_0x8a6f3e={}){const _0x3ad0a3=a42_0x27bdeb;return readServiceRegistry(_0x8a6f3e)[_0x3ad0a3(0xff)][_0x3ad0a3(0x122)](_0x116812=>_0x116812[_0x3ad0a3(0x109)]===_0x49d3dc[_0x3ad0a3(0x137)]());}export function listLocalServiceTrees(_0x3ae41b={}){const _0x5961cb=a42_0x27bdeb;return readServiceRegistry(_0x3ae41b)[_0x5961cb(0xff)][_0x5961cb(0x11f)](_0x304b3d=>_0x304b3d[_0x5961cb(0x135)]);}export function inspectServiceRegistry(_0x2b5fc8={}){const _0x29483b=a42_0x27bdeb,_0x2036c0=getServiceRegistryPath(_0x2b5fc8);if(!existsSync(_0x2036c0))return emptyServiceRegistryInspection(_0x2036c0,'missing',![]);try{const _0x235b45=readFileSync(_0x2036c0,_0x29483b(0xf4));if(!_0x235b45['trim']())return emptyServiceRegistryInspection(_0x2036c0,_0x29483b(0x100),!![]);const _0xc149f2=JSON[_0x29483b(0x126)](_0x235b45);if(_0xc149f2[_0x29483b(0xf6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2036c0,_0x29483b(0x13a),!![]),'schemaVersion':_0xc149f2[_0x29483b(0xf6)],'message':_0x29483b(0x129)+String(_0xc149f2['schemaVersion'])};if(!Array[_0x29483b(0xf9)](_0xc149f2['services']))return{...emptyServiceRegistryInspection(_0x2036c0,_0x29483b(0x13a),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xc149f2[_0x29483b(0x140)],'message':'services\x20must\x20be\x20an\x20array'};const _0x28c76e=_0xc149f2[_0x29483b(0xff)][_0x29483b(0x11f)](summarizeLocalServiceEntry);return{'registryPath':_0x2036c0,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xc149f2[_0x29483b(0x140)],'serviceCount':_0x28c76e[_0x29483b(0xf0)],'commandCount':_0x28c76e['reduce']((_0x4ccbc8,_0x1c6506)=>_0x4ccbc8+_0x1c6506['commandCount'],0x0),'services':_0x28c76e};}catch(_0x25f2fa){return{...emptyServiceRegistryInspection(_0x2036c0,_0x29483b(0x13a),!![]),'message':_0x25f2fa instanceof Error?_0x25f2fa[_0x29483b(0x10b)]:String(_0x25f2fa)};}}export function formatValidationFailure(_0x1d09aa){const _0x1a9bd1=a42_0x27bdeb,_0x2de53e=_0x1d09aa[_0x1a9bd1(0x132)]['map'](_0x143b8f=>_0x143b8f[_0x1a9bd1(0x123)]+':\x20'+_0x143b8f[_0x1a9bd1(0x10b)]);return _0x1a9bd1(0xfc)+_0x2de53e[_0x1a9bd1(0x141)]('\x0a');}function extractLoadedServiceManifests(_0x123bc5,_0x14a1c9){const _0x2cce97=a42_0x27bdeb;if(!isServiceRegistryLike(_0x123bc5)){const _0x494616=_0x123bc5,{manifest:_0x2085e3,errors:_0x16de11}=adaptServiceTreeManifestForLegacyFramework(_0x494616),_0x1e6bcd=validateServiceTreeManifest(_0x2085e3),_0x3fb0aa=mergeValidationErrors(_0x1e6bcd,_0x16de11);return[{'manifest':_0x494616,'report':_0x3fb0aa,'normalizedManifest':_0x3fb0aa['ok']?normalizeServiceTreeManifest(_0x2085e3):undefined,'sourceHash':_0x14a1c9}];}return _0x123bc5[_0x2cce97(0xff)][_0x2cce97(0x11f)]((_0x14e471,_0x4847c9)=>{const _0x4c7131=_0x2cce97,_0xb51eaa=isObjectRecord(_0x14e471)?_0x14e471[_0x4c7131(0xfe)]:undefined,{manifest:_0xc00d7d,errors:_0x447a3d}=adaptServiceTreeManifestForLegacyFramework(_0xb51eaa),_0x11a253=validateServiceTreeManifest(_0xc00d7d),_0x370b05=mergeValidationErrors(_0x11a253,_0x447a3d),_0x1169ab=isObjectRecord(_0x14e471)&&typeof _0x14e471[_0x4c7131(0x109)]===_0x4c7131(0x136)?_0x14e471[_0x4c7131(0x109)]:undefined;return{'manifest':_0xb51eaa,'report':_0x370b05,'normalizedManifest':_0x370b05['ok']?normalizeServiceTreeManifest(_0xc00d7d):undefined,'sourceHash':sha256(JSON['stringify'](_0xb51eaa,null,0x2)+'\x0a'),'registryIndex':_0x4847c9,'registryServiceCode':_0x1169ab};});}function mergeValidationErrors(_0x11d7be,_0x5a9733){const _0x4372ac=a42_0x27bdeb,_0x3a9885=_0x11d7be[_0x4372ac(0x132)]['map'](_0x174290=>_0x174290[_0x4372ac(0x10b)]===_0x4372ac(0x124)?{..._0x174290,'message':_0x4372ac(0x12a)}:_0x174290),_0xd10ba=[..._0x5a9733,..._0x3a9885];return{'ok':_0xd10ba['length']===0x0,'errors':_0xd10ba,'warnings':_0x11d7be[_0x4372ac(0xf2)]};}function aggregateValidationReports(_0x463e6b){const _0x479fe8=a42_0x27bdeb,_0x499de8=_0x463e6b[_0x479fe8(0x11e)](_0x84cb7a=>_0x84cb7a[_0x479fe8(0xf8)]===undefined?_0x84cb7a[_0x479fe8(0x116)][_0x479fe8(0x132)]:_0x84cb7a[_0x479fe8(0x116)][_0x479fe8(0x132)]['map'](_0x4a0163=>({..._0x4a0163,'path':prefixRegistryIssuePath(_0x84cb7a[_0x479fe8(0xf8)],_0x4a0163[_0x479fe8(0x123)])}))),_0x1abe0a=_0x463e6b[_0x479fe8(0x11e)](_0x421a31=>_0x421a31[_0x479fe8(0xf8)]===undefined?_0x421a31[_0x479fe8(0x116)][_0x479fe8(0xf2)]:_0x421a31['report']['warnings'][_0x479fe8(0x11f)](_0x58dfd6=>({..._0x58dfd6,'path':prefixRegistryIssuePath(_0x421a31[_0x479fe8(0xf8)],_0x58dfd6[_0x479fe8(0x123)])})));return{'ok':_0x499de8[_0x479fe8(0xf0)]===0x0,'errors':_0x499de8,'warnings':_0x1abe0a};}function prefixRegistryIssuePath(_0x4ea80f,_0x1bc6bd){const _0x3c9b7d=a42_0x27bdeb;if(_0x1bc6bd==='$')return _0x3c9b7d(0x120)+_0x4ea80f+_0x3c9b7d(0x142);if(_0x1bc6bd[_0x3c9b7d(0x108)]('$.'))return _0x3c9b7d(0x120)+_0x4ea80f+_0x3c9b7d(0x142)+_0x1bc6bd['slice'](0x1);if(_0x1bc6bd[_0x3c9b7d(0x108)]('$['))return _0x3c9b7d(0x120)+_0x4ea80f+_0x3c9b7d(0x142)+_0x1bc6bd[_0x3c9b7d(0x130)](0x1);return _0x3c9b7d(0x120)+_0x4ea80f+_0x3c9b7d(0x102)+_0x1bc6bd;}function isServiceRegistryLike(_0x59dd48){const _0x55a064=a42_0x27bdeb;return isObjectRecord(_0x59dd48)&&_0x59dd48[_0x55a064(0xf6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x55a064(0xf9)](_0x59dd48[_0x55a064(0xff)]);}function a42_0x1c9a(_0x1e27e8,_0xf828a8){_0x1e27e8=_0x1e27e8-0xea;const _0x276f2d=a42_0x276f();let _0x1c9a40=_0x276f2d[_0x1e27e8];return _0x1c9a40;}function isObjectRecord(_0x247b63){const _0x5eea73=a42_0x27bdeb;return Boolean(_0x247b63)&&typeof _0x247b63===_0x5eea73(0xf5)&&!Array[_0x5eea73(0xf9)](_0x247b63);}function emptyServiceRegistryInspection(_0x48dc5d,_0x426f84,_0x298203){return{'registryPath':_0x48dc5d,'exists':_0x298203,'status':_0x426f84,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x414ac1){const _0x4efbe0=a42_0x27bdeb,_0x440684=_0x414ac1[_0x4efbe0(0x135)],_0x2dc7a7=_0x440684['commands']['map'](_0x2b36f8=>({'path':_0x2b36f8[_0x4efbe0(0x110)],'description':_0x2b36f8[_0x4efbe0(0x13e)],'risk':_0x2b36f8[_0x4efbe0(0xed)],'targetKind':_0x2b36f8[_0x4efbe0(0xf1)]['kind'],'targetCommand':_0x2b36f8[_0x4efbe0(0xf1)][_0x4efbe0(0x12d)]}));return{'serviceCode':_0x414ac1[_0x4efbe0(0x109)],'name':_0x440684[_0x4efbe0(0x106)]['name'],'description':_0x440684[_0x4efbe0(0x106)][_0x4efbe0(0x13e)],'version':_0x414ac1['version'],'importedAt':_0x414ac1['importedAt'],'source':_0x414ac1[_0x4efbe0(0x12b)],'commandCount':_0x2dc7a7['length'],'commands':_0x2dc7a7};}function sha256(_0x3bdaff){const _0x3a6958=a42_0x27bdeb;return createHash(_0x3a6958(0x11d))[_0x3a6958(0x13d)](_0x3bdaff)['digest'](_0x3a6958(0xfd));}
@@ -1 +1 @@
1
- const a43_0x4a7af3=a43_0x513f;(function(_0x4fc7a3,_0x5a54aa){const _0x2a82f0=a43_0x513f,_0x330a0a=_0x4fc7a3();while(!![]){try{const _0x2c789a=parseInt(_0x2a82f0(0x164))/0x1+-parseInt(_0x2a82f0(0x143))/0x2*(parseInt(_0x2a82f0(0x151))/0x3)+parseInt(_0x2a82f0(0x14e))/0x4+-parseInt(_0x2a82f0(0x14d))/0x5*(-parseInt(_0x2a82f0(0x146))/0x6)+-parseInt(_0x2a82f0(0x15b))/0x7*(parseInt(_0x2a82f0(0x15e))/0x8)+-parseInt(_0x2a82f0(0x144))/0x9*(-parseInt(_0x2a82f0(0x161))/0xa)+-parseInt(_0x2a82f0(0x14a))/0xb*(-parseInt(_0x2a82f0(0x15c))/0xc);if(_0x2c789a===_0x5a54aa)break;else _0x330a0a['push'](_0x330a0a['shift']());}catch(_0x34df77){_0x330a0a['push'](_0x330a0a['shift']());}}}(a43_0x3094,0x4e08d));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';function a43_0x3094(){const _0x5782db=['isDirectory','utf8','name','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillName','type','56ntdIgd','12nsIVVS','bool','423184ZtTMDx','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','250340BdCdzS','map','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','170881zURmAc','rendered','force','Created\x20local\x20Skill\x20draft\x20','18718SBabZQ','72yVEDiA','validation','12alQSQm','str','content','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1331902oofyaR','target','files','472155UOlXZn','1182764PdtPHm','write','isSymbolicLink','75QUreYr','Refusing\x20to\x20overwrite\x20symlink:\x20','trim','path'];a43_0x3094=function(){return _0x5782db;};return a43_0x3094();}import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a43_0x513f(_0x558dd6,_0x42d759){_0x558dd6=_0x558dd6-0x143;const _0x309400=a43_0x3094();let _0x513fa6=_0x309400[_0x558dd6];return _0x513fa6;}export const createCommand={'service':'skill','command':'create','description':a43_0x4a7af3(0x149),'risk':a43_0x4a7af3(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x535886){const _0x269a11=a43_0x4a7af3,_0x17d1c8=buildSkillCreatePlan(_0x535886[_0x269a11(0x147)](_0x269a11(0x157)),_0x535886[_0x269a11(0x147)](_0x269a11(0x15a)),_0x535886[_0x269a11(0x147)](_0x269a11(0x14b)));return{'method':'WRITE','url':_0x17d1c8[_0x269a11(0x160)],'body':{'skillName':_0x17d1c8[_0x269a11(0x165)][_0x269a11(0x159)],'type':_0x17d1c8['rendered']['type'],'selfContained':!![],'files':_0x17d1c8[_0x269a11(0x165)]['files'][_0x269a11(0x162)](_0x4333b9=>_0x4333b9[_0x269a11(0x154)])},'description':_0x269a11(0x15f)};},async 'execute'(_0x10ee0f){const _0x5b6dc1=a43_0x4a7af3,_0x42663d=buildSkillCreatePlan(_0x10ee0f['str'](_0x5b6dc1(0x157)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x15a)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x14b)));return writeSkillDraft(_0x42663d,_0x10ee0f[_0x5b6dc1(0x15d)](_0x5b6dc1(0x166))),{'ok':!![],'data':{'skillName':_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)],'type':_0x42663d[_0x5b6dc1(0x165)]['type'],'dir':_0x42663d[_0x5b6dc1(0x160)],'files':_0x42663d['rendered'][_0x5b6dc1(0x14c)]['map'](_0x5b9715=>_0x5b9715[_0x5b6dc1(0x154)])},'message':_0x5b6dc1(0x167)+_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)]};}};function buildSkillCreatePlan(_0x33317b,_0x25e551,_0x4dc51b){const _0x113fd4=a43_0x4a7af3,_0x595a47=_0x25e551['trim'](),_0x50895c=renderSkillTemplate({'skillName':_0x33317b,'type':_0x595a47});!_0x595a47&&writeCliSideChannelLine(_0x113fd4(0x163));const _0x148e05=resolve(normalizeSkillTarget(_0x4dc51b));return{'rendered':_0x50895c,'targetRoot':_0x148e05,'skillDir':resolve(_0x148e05,_0x50895c[_0x113fd4(0x159)])};}function normalizeSkillTarget(_0x3b88c8){const _0x4f20bb=a43_0x4a7af3;return(_0x3b88c8||DEFAULT_SKILL_TARGET)[_0x4f20bb(0x153)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x3ca204,_0x4bce09){const _0x29c0a0=a43_0x4a7af3;if(existsSync(_0x3ca204[_0x29c0a0(0x160)])){const _0x44ee32=lstatSync(_0x3ca204['skillDir']);if(!_0x44ee32[_0x29c0a0(0x155)]()||_0x44ee32[_0x29c0a0(0x150)]())throw CliErrors[_0x29c0a0(0x145)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x3ca204['skillDir']);if(!_0x4bce09)throw CliErrors[_0x29c0a0(0x145)]('Skill\x20directory\x20already\x20exists:\x20'+_0x3ca204[_0x29c0a0(0x160)],_0x29c0a0(0x158));}for(const _0xb893fa of _0x3ca204['rendered'][_0x29c0a0(0x14c)]){const _0x34c0e3=resolve(_0x3ca204[_0x29c0a0(0x160)],_0xb893fa[_0x29c0a0(0x154)]),_0xcb6e5b=dirname(_0x34c0e3);mkdirSync(_0xcb6e5b,{'recursive':!![]});if(existsSync(_0x34c0e3)&&lstatSync(_0x34c0e3)['isSymbolicLink']())throw CliErrors[_0x29c0a0(0x145)](_0x29c0a0(0x152)+_0x34c0e3);writeFileSync(_0x34c0e3,_0xb893fa[_0x29c0a0(0x148)],_0x29c0a0(0x156));}}
1
+ const a43_0x77008c=a43_0x5342;(function(_0x2217da,_0x44d1b4){const _0x32416a=a43_0x5342,_0x3c7386=_0x2217da();while(!![]){try{const _0x23b26b=-parseInt(_0x32416a(0xbc))/0x1*(-parseInt(_0x32416a(0xbb))/0x2)+-parseInt(_0x32416a(0xaa))/0x3+parseInt(_0x32416a(0xb2))/0x4*(-parseInt(_0x32416a(0xa1))/0x5)+parseInt(_0x32416a(0xa0))/0x6*(-parseInt(_0x32416a(0xbd))/0x7)+parseInt(_0x32416a(0xa6))/0x8*(parseInt(_0x32416a(0x9a))/0x9)+-parseInt(_0x32416a(0x9b))/0xa+parseInt(_0x32416a(0xad))/0xb;if(_0x23b26b===_0x44d1b4)break;else _0x3c7386['push'](_0x3c7386['shift']());}catch(_0x1c47e9){_0x3c7386['push'](_0x3c7386['shift']());}}}(a43_0x56f0,0x9144d));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';function a43_0x5342(_0x12ed81,_0x2c9749){_0x12ed81=_0x12ed81-0x99;const _0x56f02b=a43_0x56f0();let _0x5342b4=_0x56f02b[_0x12ed81];return _0x5342b4;}import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x77008c(0xa8),'command':a43_0x77008c(0xb7),'description':a43_0x77008c(0xb0),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5d0359){const _0x4209ea=a43_0x77008c,_0x47dbdc=buildSkillCreatePlan(_0x5d0359[_0x4209ea(0xae)](_0x4209ea(0x9c)),_0x5d0359[_0x4209ea(0xae)](_0x4209ea(0x99)),_0x5d0359[_0x4209ea(0xae)]('target'));return{'method':_0x4209ea(0x9d),'url':_0x47dbdc['skillDir'],'body':{'skillName':_0x47dbdc[_0x4209ea(0xb9)][_0x4209ea(0xba)],'type':_0x47dbdc['rendered']['type'],'selfContained':!![],'files':_0x47dbdc['rendered'][_0x4209ea(0xa7)]['map'](_0x4e9715=>_0x4e9715[_0x4209ea(0x9e)])},'description':_0x4209ea(0xb6)};},async 'execute'(_0x5c2069){const _0x4224d5=a43_0x77008c,_0x46a138=buildSkillCreatePlan(_0x5c2069[_0x4224d5(0xae)](_0x4224d5(0x9c)),_0x5c2069['str']('type'),_0x5c2069[_0x4224d5(0xae)](_0x4224d5(0xb4)));return writeSkillDraft(_0x46a138,_0x5c2069[_0x4224d5(0xab)](_0x4224d5(0xa4))),{'ok':!![],'data':{'skillName':_0x46a138[_0x4224d5(0xb9)][_0x4224d5(0xba)],'type':_0x46a138[_0x4224d5(0xb9)][_0x4224d5(0x99)],'dir':_0x46a138[_0x4224d5(0xaf)],'files':_0x46a138[_0x4224d5(0xb9)][_0x4224d5(0xa7)][_0x4224d5(0xa2)](_0x1cf630=>_0x1cf630[_0x4224d5(0x9e)])},'message':_0x4224d5(0xa9)+_0x46a138[_0x4224d5(0xb9)][_0x4224d5(0xba)]};}};function buildSkillCreatePlan(_0x4a7536,_0x3164a7,_0x1cb4fc){const _0x97e1bc=a43_0x77008c,_0xf69417=_0x3164a7['trim'](),_0x92f3ea=renderSkillTemplate({'skillName':_0x4a7536,'type':_0xf69417});!_0xf69417&&writeCliSideChannelLine(_0x97e1bc(0xb3));const _0xe73bfa=resolve(normalizeSkillTarget(_0x1cb4fc));return{'rendered':_0x92f3ea,'targetRoot':_0xe73bfa,'skillDir':resolve(_0xe73bfa,_0x92f3ea['skillName'])};}function a43_0x56f0(){const _0xeb3a2e=['3657292SYbAhA','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','target','Skill\x20directory\x20already\x20exists:\x20','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','create','isSymbolicLink','rendered','skillName','2wFTzhj','1066461wIvKJh','22624zFlJTW','type','6816735xMBEeM','8429740gbdaRO','name','WRITE','path','validation','1086rQRIsJ','5KQDkVI','map','utf8','force','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','8DlDIuA','files','skill','Created\x20local\x20Skill\x20draft\x20','3265002JFKFvd','bool','content','24219448wGMhNk','str','skillDir','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','trim'];a43_0x56f0=function(){return _0xeb3a2e;};return a43_0x56f0();}function normalizeSkillTarget(_0x4496e2){const _0x530594=a43_0x77008c;return(_0x4496e2||DEFAULT_SKILL_TARGET)[_0x530594(0xb1)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x110aae,_0x18ec81){const _0x5c0787=a43_0x77008c;if(existsSync(_0x110aae[_0x5c0787(0xaf)])){const _0x36008b=lstatSync(_0x110aae[_0x5c0787(0xaf)]);if(!_0x36008b['isDirectory']()||_0x36008b[_0x5c0787(0xb8)]())throw CliErrors[_0x5c0787(0x9f)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x110aae[_0x5c0787(0xaf)]);if(!_0x18ec81)throw CliErrors['validation'](_0x5c0787(0xb5)+_0x110aae[_0x5c0787(0xaf)],_0x5c0787(0xa5));}for(const _0x39d565 of _0x110aae[_0x5c0787(0xb9)][_0x5c0787(0xa7)]){const _0x27b55f=resolve(_0x110aae[_0x5c0787(0xaf)],_0x39d565['path']),_0x5a4276=dirname(_0x27b55f);mkdirSync(_0x5a4276,{'recursive':!![]});if(existsSync(_0x27b55f)&&lstatSync(_0x27b55f)['isSymbolicLink']())throw CliErrors[_0x5c0787(0x9f)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x27b55f);writeFileSync(_0x27b55f,_0x39d565[_0x5c0787(0xac)],_0x5c0787(0xa3));}}
@@ -1 +1 @@
1
- const a44_0x256df0=a44_0x37e0;(function(_0x459c8c,_0xd2313e){const _0x539288=a44_0x37e0,_0x5920b1=_0x459c8c();while(!![]){try{const _0x3115d1=-parseInt(_0x539288(0xc2))/0x1*(parseInt(_0x539288(0xdc))/0x2)+-parseInt(_0x539288(0xdf))/0x3+-parseInt(_0x539288(0xdd))/0x4+parseInt(_0x539288(0xd4))/0x5*(parseInt(_0x539288(0xc9))/0x6)+-parseInt(_0x539288(0xe7))/0x7+parseInt(_0x539288(0xd9))/0x8+parseInt(_0x539288(0xd8))/0x9;if(_0x3115d1===_0xd2313e)break;else _0x5920b1['push'](_0x5920b1['shift']());}catch(_0x56b1ef){_0x5920b1['push'](_0x5920b1['shift']());}}}(a44_0x2d90,0xc0d7a));import{CliErrors}from'../../../errors.js';function a44_0x2d90(){const _0x48c0e7=['removed','flatMap','Installed\x20','344100xrwNIu','version','all','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../skills/runtime-skill-sync.js','appCode','updated','trim','filter','../../../core/api-client.js','accessKey','30FDFlXK','skipped','created','write','12937599yVNoCK','10468760pMdvGU','\x20personal\x20and\x20','envName','32NSlKYM','2488112lmhslq','skillCode','2964750VwBYIF','map','personal','force','project','length','bool','skillRoots','2012066IiuckG','str','push','reduce','authRequired','unchanged','action','scope','includes','25163OXwzEe','install','company','global'];a44_0x2d90=function(){return _0x48c0e7;};return a44_0x2d90();}import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a44_0x37e0(_0x1e000f,_0x138227){_0x1e000f=_0x1e000f-0xbc;const _0x2d9022=a44_0x2d90();let _0x37e079=_0x2d9022[_0x1e000f];return _0x37e079;}export const installCommand={'service':'skill','command':a44_0x256df0(0xc3),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a44_0x256df0(0xd7),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x337cdf){return syncRuntimeSkills(_0x337cdf);}};async function syncRuntimeSkills(_0x4fc56f){const _0x1410af=a44_0x256df0,{downloadRuntimeSkillPackage:_0x59a8b5,listRuntimeSkills:_0x32e0ab}=await import(_0x1410af(0xd2)),{linkEffectiveRuntimeSkills:_0x7af270,materializeRuntimeSkill:_0x3b9131,pruneStaleRuntimeSkillCache:_0x51ba60,pruneStaleRuntimeSkillLinks:_0x2eb3bb,resolveRuntimeSkillInstallTarget:_0x53f6be}=await import(_0x1410af(0xcd)),_0x3bbaa3=_0x4fc56f[_0x1410af(0xe8)]('code'),_0x5b2a12=normalizeSyncScopes(_0x4fc56f[_0x1410af(0xe8)](_0x1410af(0xc0))),_0x3653e=_0x4fc56f[_0x1410af(0xdb)]??'production',_0x5bf3cc=_0x4fc56f[_0x1410af(0xd3)],_0x52d0fa=_0x4fc56f[_0x1410af(0xe5)](_0x1410af(0xe2));if(!_0x5bf3cc)throw CliErrors[_0x1410af(0xbd)](_0x1410af(0xcc));const _0xa59123=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0x4fc56f['bool']('project')?_0x1410af(0xe3):'global'),_0xb9b18e=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0xa59123['scope']===_0x1410af(0xe3)?_0x1410af(0xc5):_0x1410af(0xe3)),_0x75fe49=await Promise[_0x1410af(0xcb)](_0x5b2a12[_0x1410af(0xe0)](_0x52c13a=>_0x32e0ab({'appCode':_0x4fc56f['appCode'],'scope':_0x52c13a,'code':_0x3bbaa3['trim']()||undefined}))),_0x1009e0=_0x5b2a12['includes'](_0x1410af(0xe1))?_0x75fe49[_0x1410af(0xc7)]((_0x6ed801,_0x201852)=>_0x5b2a12[_0x201852]===_0x1410af(0xe1)?_0x6ed801[_0x1410af(0xe1)]:[]):[],_0x9d2b87=_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4))?_0x75fe49[_0x1410af(0xc7)]((_0x2b9933,_0x444a54)=>_0x5b2a12[_0x444a54]===_0x1410af(0xc4)?_0x2b9933[_0x1410af(0xc4)]:[]):[],_0x591746=new Set([..._0x1009e0[_0x1410af(0xe0)](_0x345e75=>_0x345e75[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())['filter'](_0x31e452=>Boolean(_0x31e452)),..._0x9d2b87[_0x1410af(0xe0)](_0x115d97=>_0x115d97[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())[_0x1410af(0xd1)](_0x5198a2=>Boolean(_0x5198a2))]),_0x5aa20e=_0x3bbaa3['trim']()?[_0x3bbaa3[_0x1410af(0xd0)]()]:undefined,_0x22adda=_0x5b2a12[_0x1410af(0xe4)]===0x2&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xe1))&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4)),_0x1ad4a0=_0x22adda?_0x2eb3bb(_0xa59123,_0x591746,_0x5aa20e):[],_0x421e95=_0x51ba60({'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'activeSkillCodes':_0x591746,'pruneSkillCodes':_0x5aa20e,'scopes':_0x5b2a12,'protectedLinkRoots':_0xb9b18e['skillRoots']}),_0xe56e18=[];for(const _0x34f225 of _0x1009e0){_0xe56e18['push'](_0x3b9131(_0x34f225,_0x1410af(0xe1),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x34f225,_0x1410af(0xe1),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}for(const _0x1f5495 of _0x9d2b87){_0xe56e18[_0x1410af(0xe9)](_0x3b9131(_0x1f5495,_0x1410af(0xc4),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x1f5495,_0x1410af(0xc4),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}const _0x41cd74=_0x7af270(_0xe56e18,_0xa59123),_0x375c11=countLinkActions(_0x41cd74);return{'ok':!![],'data':{'appCode':_0x4fc56f[_0x1410af(0xce)],..._0xa59123[_0x1410af(0xc0)]===_0x1410af(0xe3)?{'installTarget':{'scope':_0xa59123[_0x1410af(0xc0)],'skillRoots':[..._0xa59123[_0x1410af(0xe6)]]}}:{},'personal':_0x1009e0['length'],'company':_0x9d2b87[_0x1410af(0xe4)],'materialized':_0xe56e18['length'],'links':{'total':_0x41cd74[_0x1410af(0xe4)],'created':_0x375c11[_0x1410af(0xd6)]??0x0,'updated':_0x375c11[_0x1410af(0xcf)]??0x0,'unchanged':_0x375c11[_0x1410af(0xbe)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1ad4a0[_0x1410af(0xd1)](_0x2f4c20=>_0x2f4c20[_0x1410af(0xbf)]===_0x1410af(0xc6))[_0x1410af(0xe4)],'cacheDirs':_0x421e95[_0x1410af(0xd1)](_0x3b29d4=>_0x3b29d4['action']===_0x1410af(0xc6))[_0x1410af(0xe4)],'skipped':[..._0x1ad4a0,..._0x421e95][_0x1410af(0xd1)](_0xb026d=>_0xb026d[_0x1410af(0xbf)]===_0x1410af(0xd5))[_0x1410af(0xe4)]},'skills':{'personal':_0x1009e0[_0x1410af(0xe0)](summarizeRuntimeSkill),'company':_0x9d2b87[_0x1410af(0xe0)](summarizeRuntimeSkill)}},'message':_0x1410af(0xc8)+_0x1009e0[_0x1410af(0xe4)]+_0x1410af(0xda)+_0x9d2b87['length']+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x43eabd,_0x4ae89d,_0x4b2e93,_0xb28958){const _0x5d46d6=a44_0x256df0,_0x4a4852=_0x43eabd[_0x5d46d6(0xca)]?.[_0x5d46d6(0xd0)]();return _0x4a4852?_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93,_0x4a4852):_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93);}function countLinkActions(_0x1c6bba){const _0x218682=a44_0x256df0;return _0x1c6bba[_0x218682(0xbc)]((_0x15fd6a,_0x1a9cff)=>{const _0x4a03dc=_0x218682;return _0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]=(_0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]??0x0)+0x1,_0x15fd6a;},{});}
1
+ const a44_0x43f7fd=a44_0x4899;(function(_0xfedca0,_0x5d0a63){const _0x111a8e=a44_0x4899,_0x1744a4=_0xfedca0();while(!![]){try{const _0x1598f4=-parseInt(_0x111a8e(0xc7))/0x1+-parseInt(_0x111a8e(0xb9))/0x2*(-parseInt(_0x111a8e(0xa9))/0x3)+-parseInt(_0x111a8e(0xb5))/0x4*(parseInt(_0x111a8e(0xad))/0x5)+-parseInt(_0x111a8e(0xba))/0x6+parseInt(_0x111a8e(0xa6))/0x7*(-parseInt(_0x111a8e(0xbb))/0x8)+-parseInt(_0x111a8e(0xc9))/0x9+parseInt(_0x111a8e(0xbe))/0xa;if(_0x1598f4===_0x5d0a63)break;else _0x1744a4['push'](_0x1744a4['shift']());}catch(_0x36fdf4){_0x1744a4['push'](_0x1744a4['shift']());}}}(a44_0x1d65,0xda30a));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a44_0x4899(_0x4630eb,_0x3d5f06){_0x4630eb=_0x4630eb-0xa5;const _0x1d6557=a44_0x1d65();let _0x4899e6=_0x1d6557[_0x4630eb];return _0x4899e6;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':a44_0x43f7fd(0xb6),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a44_0x43f7fd(0xc8),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x57c58c){return syncRuntimeSkills(_0x57c58c);}};function a44_0x1d65(){const _0x56398c=['trim','8KiKsDG','8198592Vnbsss','2745464MzYpLg','length','scope','58572130GEWSGi','bool','personal','force','push','../../../skills/runtime-skill-sync.js','../../../core/api-client.js','appCode','code','802554iNsGrd','write','10999278VEnnJU','created','skillRoots','map','removed','skipped','global','skillCode','company','all','action','21MosPKT','reduce','flatMap','173223DCirDa','updated','Installed\x20','version','203630bjHYir','filter','project','authRequired','str','\x20personal\x20and\x20','includes','production','76YcIedZ','install','\x20company\x20Skill(s).'];a44_0x1d65=function(){return _0x56398c;};return a44_0x1d65();}async function syncRuntimeSkills(_0x47df87){const _0x3cc57c=a44_0x43f7fd,{downloadRuntimeSkillPackage:_0x18a806,listRuntimeSkills:_0x45bfcd}=await import(_0x3cc57c(0xc4)),{linkEffectiveRuntimeSkills:_0x2d271e,materializeRuntimeSkill:_0x3ed1ba,pruneStaleRuntimeSkillCache:_0x4890cb,pruneStaleRuntimeSkillLinks:_0x3fdbe6,resolveRuntimeSkillInstallTarget:_0x53988d}=await import(_0x3cc57c(0xc3)),_0x31cb65=_0x47df87['str'](_0x3cc57c(0xc6)),_0x5a3e23=normalizeSyncScopes(_0x47df87[_0x3cc57c(0xb1)]('scope')),_0x31bea4=_0x47df87['envName']??_0x3cc57c(0xb4),_0xa1c83c=_0x47df87['accessKey'],_0x853dca=_0x47df87[_0x3cc57c(0xbf)](_0x3cc57c(0xc1));if(!_0xa1c83c)throw CliErrors[_0x3cc57c(0xb0)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x2cc02d=_0x53988d(_0x47df87['appCode'],_0x47df87[_0x3cc57c(0xbf)](_0x3cc57c(0xaf))?_0x3cc57c(0xaf):'global'),_0x443f43=_0x53988d(_0x47df87[_0x3cc57c(0xc5)],_0x2cc02d[_0x3cc57c(0xbd)]===_0x3cc57c(0xaf)?_0x3cc57c(0xcf):_0x3cc57c(0xaf)),_0x554701=await Promise[_0x3cc57c(0xd2)](_0x5a3e23[_0x3cc57c(0xcc)](_0x399b2c=>_0x45bfcd({'appCode':_0x47df87[_0x3cc57c(0xc5)],'scope':_0x399b2c,'code':_0x31cb65[_0x3cc57c(0xb8)]()||undefined}))),_0x1f4994=_0x5a3e23[_0x3cc57c(0xb3)](_0x3cc57c(0xc0))?_0x554701['flatMap']((_0x4ae4ff,_0x298e78)=>_0x5a3e23[_0x298e78]===_0x3cc57c(0xc0)?_0x4ae4ff[_0x3cc57c(0xc0)]:[]):[],_0x20141e=_0x5a3e23['includes'](_0x3cc57c(0xd1))?_0x554701[_0x3cc57c(0xa8)]((_0x3ba15c,_0x1a0ecc)=>_0x5a3e23[_0x1a0ecc]===_0x3cc57c(0xd1)?_0x3ba15c[_0x3cc57c(0xd1)]:[]):[],_0x5c84b0=new Set([..._0x1f4994[_0x3cc57c(0xcc)](_0x5934a9=>_0x5934a9[_0x3cc57c(0xd0)]?.['trim']())[_0x3cc57c(0xae)](_0x125621=>Boolean(_0x125621)),..._0x20141e[_0x3cc57c(0xcc)](_0xd89263=>_0xd89263[_0x3cc57c(0xd0)]?.[_0x3cc57c(0xb8)]())[_0x3cc57c(0xae)](_0x21b0e5=>Boolean(_0x21b0e5))]),_0x52e56b=_0x31cb65[_0x3cc57c(0xb8)]()?[_0x31cb65['trim']()]:undefined,_0x31d11a=_0x5a3e23['length']===0x2&&_0x5a3e23['includes'](_0x3cc57c(0xc0))&&_0x5a3e23[_0x3cc57c(0xb3)](_0x3cc57c(0xd1)),_0x30d840=_0x31d11a?_0x3fdbe6(_0x2cc02d,_0x5c84b0,_0x52e56b):[],_0x13f0f1=_0x4890cb({'env':_0x31bea4,'accessKey':_0xa1c83c,'appCode':_0x47df87[_0x3cc57c(0xc5)],'activeSkillCodes':_0x5c84b0,'pruneSkillCodes':_0x52e56b,'scopes':_0x5a3e23,'protectedLinkRoots':_0x443f43[_0x3cc57c(0xcb)]}),_0x176813=[];for(const _0x2f437f of _0x1f4994){_0x176813[_0x3cc57c(0xc2)](_0x3ed1ba(_0x2f437f,_0x3cc57c(0xc0),{'env':_0x31bea4,'accessKey':_0xa1c83c,'appCode':_0x47df87[_0x3cc57c(0xc5)],'force':_0x853dca,'packageBytes':await downloadSkillPackage(_0x2f437f,_0x3cc57c(0xc0),_0x47df87[_0x3cc57c(0xc5)],_0x18a806)}));}for(const _0x3676fe of _0x20141e){_0x176813[_0x3cc57c(0xc2)](_0x3ed1ba(_0x3676fe,'company',{'env':_0x31bea4,'accessKey':_0xa1c83c,'appCode':_0x47df87['appCode'],'force':_0x853dca,'packageBytes':await downloadSkillPackage(_0x3676fe,_0x3cc57c(0xd1),_0x47df87[_0x3cc57c(0xc5)],_0x18a806)}));}const _0x40b715=_0x2d271e(_0x176813,_0x2cc02d),_0x28f2be=countLinkActions(_0x40b715);return{'ok':!![],'data':{'appCode':_0x47df87[_0x3cc57c(0xc5)],..._0x2cc02d[_0x3cc57c(0xbd)]===_0x3cc57c(0xaf)?{'installTarget':{'scope':_0x2cc02d[_0x3cc57c(0xbd)],'skillRoots':[..._0x2cc02d['skillRoots']]}}:{},'personal':_0x1f4994[_0x3cc57c(0xbc)],'company':_0x20141e[_0x3cc57c(0xbc)],'materialized':_0x176813[_0x3cc57c(0xbc)],'links':{'total':_0x40b715[_0x3cc57c(0xbc)],'created':_0x28f2be[_0x3cc57c(0xca)]??0x0,'updated':_0x28f2be[_0x3cc57c(0xaa)]??0x0,'unchanged':_0x28f2be['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x30d840[_0x3cc57c(0xae)](_0x2665cf=>_0x2665cf['action']===_0x3cc57c(0xcd))['length'],'cacheDirs':_0x13f0f1['filter'](_0x54cbda=>_0x54cbda['action']==='removed')[_0x3cc57c(0xbc)],'skipped':[..._0x30d840,..._0x13f0f1][_0x3cc57c(0xae)](_0x460ad7=>_0x460ad7[_0x3cc57c(0xa5)]===_0x3cc57c(0xce))[_0x3cc57c(0xbc)]},'skills':{'personal':_0x1f4994[_0x3cc57c(0xcc)](summarizeRuntimeSkill),'company':_0x20141e[_0x3cc57c(0xcc)](summarizeRuntimeSkill)}},'message':_0x3cc57c(0xab)+_0x1f4994[_0x3cc57c(0xbc)]+_0x3cc57c(0xb2)+_0x20141e[_0x3cc57c(0xbc)]+_0x3cc57c(0xb7)};}async function downloadSkillPackage(_0x46e882,_0x171e39,_0x215ac3,_0x33b4dc){const _0x2da692=a44_0x43f7fd,_0x4f3ef6=_0x46e882[_0x2da692(0xac)]?.[_0x2da692(0xb8)]();return _0x4f3ef6?_0x33b4dc(_0x171e39,_0x46e882['skillCode'],_0x215ac3,_0x4f3ef6):_0x33b4dc(_0x171e39,_0x46e882[_0x2da692(0xd0)],_0x215ac3);}function countLinkActions(_0x451500){const _0xcac967=a44_0x43f7fd;return _0x451500[_0xcac967(0xa7)]((_0x21e9ad,_0x107145)=>{const _0x3a14a8=_0xcac967;return _0x21e9ad[_0x107145[_0x3a14a8(0xa5)]]=(_0x21e9ad[_0x107145[_0x3a14a8(0xa5)]]??0x0)+0x1,_0x21e9ad;},{});}
@@ -1 +1 @@
1
- function a45_0x5a3c(){const _0x545962=['appCode','accessKey','personal','42308dnYAQp','1462263iWXJNw','6590583zxVgQn','../../../core/api-client.js','10nQlrDE','\x20remote\x20Skill(s).','authRequired','9892560wGaXZC','../../../skills/runtime-skill-sync.js','builtin','length','local','project','filter','list','global','code','1096852ftMssW','company','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','1928689cClXtk','read','trim','production','\x20local\x20Skill(s).','178054oAmaFL','remote','map','scope','str','786MqHWmu','skill','bool'];a45_0x5a3c=function(){return _0x545962;};return a45_0x5a3c();}const a45_0x231a59=a45_0x424b;(function(_0x234961,_0x530198){const _0x2ad434=a45_0x424b,_0x54e051=_0x234961();while(!![]){try{const _0x4be737=-parseInt(_0x2ad434(0x1d6))/0x1+parseInt(_0x2ad434(0x1db))/0x2+-parseInt(_0x2ad434(0x1e7))/0x3+parseInt(_0x2ad434(0x1d3))/0x4*(parseInt(_0x2ad434(0x1ea))/0x5)+parseInt(_0x2ad434(0x1e0))/0x6*(parseInt(_0x2ad434(0x1e6))/0x7)+parseInt(_0x2ad434(0x1c9))/0x8+parseInt(_0x2ad434(0x1e8))/0x9;if(_0x4be737===_0x530198)break;else _0x54e051['push'](_0x54e051['shift']());}catch(_0xdbe8e6){_0x54e051['push'](_0x54e051['shift']());}}}(a45_0x5a3c,0xefbcc));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a45_0x424b(_0x104bc6,_0x532fd4){_0x104bc6=_0x104bc6-0x1c9;const _0x5a3c75=a45_0x5a3c();let _0x424b02=_0x5a3c75[_0x104bc6];return _0x424b02;}export const listCommand={'service':a45_0x231a59(0x1e1),'command':a45_0x231a59(0x1d0),'description':a45_0x231a59(0x1d5),'risk':a45_0x231a59(0x1d7),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x132228){const _0x2bba2a=a45_0x231a59,_0x4430f3=_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1d2)),_0x476317=normalizeListScope(_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1de)));if(_0x132228['bool'](_0x2bba2a(0x1cd))){const _0x27eaf6=_0x132228[_0x2bba2a(0x1e4)];if(!_0x27eaf6)throw CliErrors[_0x2bba2a(0x1ec)]();const {listLocalRuntimeSkills:_0x27cfff,resolveRuntimeSkillInstallTarget:_0x5c2bd6}=await import(_0x2bba2a(0x1ca)),_0x51a267=_0x5c2bd6(_0x132228[_0x2bba2a(0x1e3)],_0x132228[_0x2bba2a(0x1e2)](_0x2bba2a(0x1ce))?_0x2bba2a(0x1ce):_0x2bba2a(0x1d1)),_0x105cab=_0x27cfff({'env':_0x132228['envName']??_0x2bba2a(0x1d9),'accessKey':_0x27eaf6,'appCode':_0x132228[_0x2bba2a(0x1e3)],'scopes':listScopeToRuntimeScopes(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined},_0x51a267),_0x410819=groupLocalRuntimeSkills(_0x105cab);return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1cd),..._0x51a267[_0x2bba2a(0x1de)]===_0x2bba2a(0x1ce)?{'installScope':_0x51a267[_0x2bba2a(0x1de)]}:{},'scope':_0x476317,'total':_0x105cab[_0x2bba2a(0x1cc)],'personal':_0x410819[_0x2bba2a(0x1e5)][_0x2bba2a(0x1cc)],'company':_0x410819[_0x2bba2a(0x1d4)][_0x2bba2a(0x1cc)],'items':_0x105cab['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x410819['personal'][_0x2bba2a(0x1dd)](summarizeLocalRuntimeSkill),'company':_0x410819['company']['map'](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x105cab[_0x2bba2a(0x1cc)]+_0x2bba2a(0x1da)};}const {listRuntimeSkills:_0x5300bf}=await import(_0x2bba2a(0x1e9)),_0x1e7d7c=await _0x5300bf({'appCode':_0x132228[_0x2bba2a(0x1e3)],'scope':listScopeToRemoteScope(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined}),_0x501343=shouldListScope(_0x476317,_0x2bba2a(0x1e5))?_0x1e7d7c[_0x2bba2a(0x1e5)]??[]:[],_0xb9a9a9=shouldListScope(_0x476317,'company')?_0x1e7d7c[_0x2bba2a(0x1d4)]??[]:[],_0x3b8bac=[..._0x501343,..._0xb9a9a9];return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1dc),'scope':_0x476317,'total':_0x3b8bac['length'],'personal':_0x501343[_0x2bba2a(0x1cc)],'company':_0xb9a9a9['length'],'items':_0x3b8bac['map'](summarizeRuntimeSkill),'skills':{'personal':_0x501343[_0x2bba2a(0x1dd)](summarizeRuntimeSkill),'company':_0xb9a9a9[_0x2bba2a(0x1dd)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x3b8bac['length']+_0x2bba2a(0x1eb)};}};function groupLocalRuntimeSkills(_0x437284){const _0x4adf87=a45_0x231a59;return{'personal':_0x437284[_0x4adf87(0x1cf)](_0x1f9816=>_0x1f9816[_0x4adf87(0x1de)]===_0x4adf87(0x1e5)),'company':_0x437284[_0x4adf87(0x1cf)](_0x2138b4=>_0x2138b4[_0x4adf87(0x1de)]==='company'),'builtin':_0x437284[_0x4adf87(0x1cf)](_0x2a90cd=>_0x2a90cd[_0x4adf87(0x1de)]===_0x4adf87(0x1cb))};}
1
+ const a45_0x5af2a1=a45_0xd864;function a45_0xd864(_0x43ea2e,_0x46fc00){_0x43ea2e=_0x43ea2e-0x1ec;const _0x332ce2=a45_0x332c();let _0xd864ac=_0x332ce2[_0x43ea2e];return _0xd864ac;}function a45_0x332c(){const _0x45add8=['12QRffAe','2751456TUhXYH','161OOKqZO','37770889FIsWZt','3fziwQH','personal','project','str','Listed\x20','../../../skills/runtime-skill-sync.js','trim','global','6941020QHHqHJ','12BNjdDF','authRequired','scope','appCode','8523657QdDTFC','company','remote','bool','45SgPYSE','code','length','list','768198sqMlfd','22BbGDXj','149744RHpNsJ','filter','read','builtin','map','254801azPQFl','\x20local\x20Skill(s).'];a45_0x332c=function(){return _0x45add8;};return a45_0x332c();}(function(_0x40bf1b,_0x5764ed){const _0x2a6c72=a45_0xd864,_0x4dca2b=_0x40bf1b();while(!![]){try{const _0xb350b1=-parseInt(_0x2a6c72(0x203))/0x1*(parseInt(_0x2a6c72(0x205))/0x2)+-parseInt(_0x2a6c72(0x209))/0x3*(-parseInt(_0x2a6c72(0x206))/0x4)+parseInt(_0x2a6c72(0x1f8))/0x5*(-parseInt(_0x2a6c72(0x1fc))/0x6)+-parseInt(_0x2a6c72(0x207))/0x7*(-parseInt(_0x2a6c72(0x1fe))/0x8)+parseInt(_0x2a6c72(0x1f4))/0x9+-parseInt(_0x2a6c72(0x1ef))/0xa*(parseInt(_0x2a6c72(0x1fd))/0xb)+parseInt(_0x2a6c72(0x1f0))/0xc*(parseInt(_0x2a6c72(0x208))/0xd);if(_0xb350b1===_0x5764ed)break;else _0x4dca2b['push'](_0x4dca2b['shift']());}catch(_0x4592d0){_0x4dca2b['push'](_0x4dca2b['shift']());}}}(a45_0x332c,0xdc1dd));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':a45_0x5af2a1(0x1fb),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a45_0x5af2a1(0x200),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x114762){const _0x1fcaac=a45_0x5af2a1,_0x5c07ed=_0x114762['str'](_0x1fcaac(0x1f9)),_0x1064bb=normalizeListScope(_0x114762[_0x1fcaac(0x20c)]('scope'));if(_0x114762[_0x1fcaac(0x1f7)]('local')){const _0x50c6c5=_0x114762['accessKey'];if(!_0x50c6c5)throw CliErrors[_0x1fcaac(0x1f1)]();const {listLocalRuntimeSkills:_0x3cd8b1,resolveRuntimeSkillInstallTarget:_0x2d990e}=await import(_0x1fcaac(0x1ec)),_0x7c71db=_0x2d990e(_0x114762[_0x1fcaac(0x1f3)],_0x114762['bool'](_0x1fcaac(0x20b))?_0x1fcaac(0x20b):_0x1fcaac(0x1ee)),_0x11a1d3=_0x3cd8b1({'env':_0x114762['envName']??'production','accessKey':_0x50c6c5,'appCode':_0x114762[_0x1fcaac(0x1f3)],'scopes':listScopeToRuntimeScopes(_0x1064bb),'code':_0x5c07ed['trim']()||undefined},_0x7c71db),_0x3fa79e=groupLocalRuntimeSkills(_0x11a1d3);return{'ok':!![],'data':{'appCode':_0x114762['appCode'],'source':'local',..._0x7c71db['scope']===_0x1fcaac(0x20b)?{'installScope':_0x7c71db[_0x1fcaac(0x1f2)]}:{},'scope':_0x1064bb,'total':_0x11a1d3['length'],'personal':_0x3fa79e[_0x1fcaac(0x20a)][_0x1fcaac(0x1fa)],'company':_0x3fa79e['company'][_0x1fcaac(0x1fa)],'items':_0x11a1d3[_0x1fcaac(0x202)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3fa79e[_0x1fcaac(0x20a)][_0x1fcaac(0x202)](summarizeLocalRuntimeSkill),'company':_0x3fa79e[_0x1fcaac(0x1f5)][_0x1fcaac(0x202)](summarizeLocalRuntimeSkill)}},'message':_0x1fcaac(0x20d)+_0x11a1d3[_0x1fcaac(0x1fa)]+_0x1fcaac(0x204)};}const {listRuntimeSkills:_0x463e1f}=await import('../../../core/api-client.js'),_0x37cac3=await _0x463e1f({'appCode':_0x114762[_0x1fcaac(0x1f3)],'scope':listScopeToRemoteScope(_0x1064bb),'code':_0x5c07ed[_0x1fcaac(0x1ed)]()||undefined}),_0x327458=shouldListScope(_0x1064bb,'personal')?_0x37cac3['personal']??[]:[],_0x53c132=shouldListScope(_0x1064bb,_0x1fcaac(0x1f5))?_0x37cac3[_0x1fcaac(0x1f5)]??[]:[],_0x31c056=[..._0x327458,..._0x53c132];return{'ok':!![],'data':{'appCode':_0x114762[_0x1fcaac(0x1f3)],'source':_0x1fcaac(0x1f6),'scope':_0x1064bb,'total':_0x31c056[_0x1fcaac(0x1fa)],'personal':_0x327458[_0x1fcaac(0x1fa)],'company':_0x53c132['length'],'items':_0x31c056['map'](summarizeRuntimeSkill),'skills':{'personal':_0x327458['map'](summarizeRuntimeSkill),'company':_0x53c132[_0x1fcaac(0x202)](summarizeRuntimeSkill)}},'message':_0x1fcaac(0x20d)+_0x31c056[_0x1fcaac(0x1fa)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x4984ea){const _0x4b8b03=a45_0x5af2a1;return{'personal':_0x4984ea['filter'](_0x4b6308=>_0x4b6308[_0x4b8b03(0x1f2)]===_0x4b8b03(0x20a)),'company':_0x4984ea[_0x4b8b03(0x1ff)](_0x2959cd=>_0x2959cd[_0x4b8b03(0x1f2)]===_0x4b8b03(0x1f5)),'builtin':_0x4984ea['filter'](_0x14d9e9=>_0x14d9e9[_0x4b8b03(0x1f2)]===_0x4b8b03(0x201))};}
@@ -1 +1 @@
1
- const a46_0x5f2d7a=a46_0x404a;(function(_0xde9a50,_0x458dfe){const _0x55453f=a46_0x404a,_0x5002a9=_0xde9a50();while(!![]){try{const _0x4c2e4f=-parseInt(_0x55453f(0x72))/0x1*(-parseInt(_0x55453f(0x6d))/0x2)+parseInt(_0x55453f(0x79))/0x3+parseInt(_0x55453f(0x6f))/0x4*(-parseInt(_0x55453f(0x71))/0x5)+-parseInt(_0x55453f(0x74))/0x6*(-parseInt(_0x55453f(0x70))/0x7)+-parseInt(_0x55453f(0x76))/0x8+parseInt(_0x55453f(0x6c))/0x9+parseInt(_0x55453f(0x6e))/0xa*(-parseInt(_0x55453f(0x73))/0xb);if(_0x4c2e4f===_0x458dfe)break;else _0x5002a9['push'](_0x5002a9['shift']());}catch(_0x5b7889){_0x5002a9['push'](_0x5002a9['shift']());}}}(a46_0x37d3,0x3912a));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';function a46_0x404a(_0x211ed7,_0x2e2825){_0x211ed7=_0x211ed7-0x6c;const _0x37d3ea=a46_0x37d3();let _0x404ad2=_0x37d3ea[_0x211ed7];return _0x404ad2;}export const pushCommand={'service':a46_0x5f2d7a(0x75),'command':a46_0x5f2d7a(0x77),'description':a46_0x5f2d7a(0x78),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};function a46_0x37d3(){const _0xcd8fca=['push','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','958125Bmkqxt','1595547dhNelc','30AbYfJy','20qXUJAe','832uLYrdU','608342jpWhqF','6845TaaTOB','8653SBQlal','53944cmbisy','24wbWcVy','skill','3565976kULnfS'];a46_0x37d3=function(){return _0xcd8fca;};return a46_0x37d3();}
1
+ function a46_0x47e3(){const _0x2a33d8=['617356gLJxdx','58605019jATVgI','4496670OZcrjl','18kQDkAk','35aVDQAK','write','9123896ydfSTu','1260351CwMgRY','push','42piGvlF','251540WMeScs','4ICCUSV','809410NHouim'];a46_0x47e3=function(){return _0x2a33d8;};return a46_0x47e3();}function a46_0x2b52(_0x58ce4a,_0x2f765f){_0x58ce4a=_0x58ce4a-0xd6;const _0x47e303=a46_0x47e3();let _0x2b5272=_0x47e303[_0x58ce4a];return _0x2b5272;}const a46_0x32099d=a46_0x2b52;(function(_0x48433b,_0x9be2ec){const _0x448d42=a46_0x2b52,_0x42e739=_0x48433b();while(!![]){try{const _0x50a114=-parseInt(_0x448d42(0xd6))/0x1+parseInt(_0x448d42(0xe1))/0x2*(-parseInt(_0x448d42(0xdd))/0x3)+parseInt(_0x448d42(0xe0))/0x4*(-parseInt(_0x448d42(0xda))/0x5)+parseInt(_0x448d42(0xdf))/0x6*(-parseInt(_0x448d42(0xe2))/0x7)+-parseInt(_0x448d42(0xdc))/0x8+-parseInt(_0x448d42(0xd9))/0x9*(parseInt(_0x448d42(0xd8))/0xa)+parseInt(_0x448d42(0xd7))/0xb;if(_0x50a114===_0x9be2ec)break;else _0x42e739['push'](_0x42e739['shift']());}catch(_0x15ac4c){_0x42e739['push'](_0x42e739['shift']());}}}(a46_0x47e3,0x8dc69));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':'skill','command':a46_0x32099d(0xde),'description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','risk':a46_0x32099d(0xdb),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
@@ -1 +1 @@
1
- const a47_0x27aa7=a47_0x6e29;(function(_0x4725c4,_0x267445){const _0x471411=a47_0x6e29,_0x4fe828=_0x4725c4();while(!![]){try{const _0x31d5e1=parseInt(_0x471411(0xbd))/0x1+-parseInt(_0x471411(0xb3))/0x2*(-parseInt(_0x471411(0xbb))/0x3)+parseInt(_0x471411(0xc1))/0x4*(parseInt(_0x471411(0xb9))/0x5)+parseInt(_0x471411(0xc2))/0x6*(-parseInt(_0x471411(0xae))/0x7)+-parseInt(_0x471411(0xac))/0x8+parseInt(_0x471411(0xbc))/0x9*(parseInt(_0x471411(0xc0))/0xa)+-parseInt(_0x471411(0xb0))/0xb*(parseInt(_0x471411(0xba))/0xc);if(_0x31d5e1===_0x267445)break;else _0x4fe828['push'](_0x4fe828['shift']());}catch(_0x301eb5){_0x4fe828['push'](_0x4fe828['shift']());}}}(a47_0x4931,0x87ae7));function a47_0x6e29(_0xb3ef54,_0x6eeeeb){_0xb3ef54=_0xb3ef54-0xab;const _0x493176=a47_0x4931();let _0x6e29a4=_0x493176[_0xb3ef54];return _0x6e29a4;}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x4931(){const _0x824719=['1332238QNUYqb','errors','validate','warnings','dir','str','5gPAJOw','4666488XLoVVy','3DfJPYR','99PGrvnM','772907dUZgGt','type','skill','245930ZApkLk','2346964BCwurS','126KNahOk','read','3838296kArLrw','bool','290626SUtWhv','Skill\x20validation\x20passed.','11ddjIWy','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','strict'];a47_0x4931=function(){return _0x824719;};return a47_0x4931();}export const validateCommand={'service':a47_0x27aa7(0xbf),'command':a47_0x27aa7(0xb5),'description':a47_0x27aa7(0xb1),'risk':a47_0x27aa7(0xab),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x43b8f2){const _0x5ecdaa=a47_0x27aa7,_0x1566aa=_0x43b8f2[_0x5ecdaa(0xad)](_0x5ecdaa(0xb2)),_0x1adf42=validateSkillDirectory(_0x43b8f2[_0x5ecdaa(0xb8)](_0x5ecdaa(0xb7)),{'strict':_0x1566aa});return throwIfSkillValidationFailed(_0x1adf42,_0x1566aa),{'ok':!![],'data':{'dir':_0x1adf42['dir'],'type':_0x1adf42[_0x5ecdaa(0xbe)],'errors':_0x1adf42[_0x5ecdaa(0xb4)],'warnings':_0x1adf42[_0x5ecdaa(0xb6)]},'message':_0x5ecdaa(0xaf)};}};
1
+ const a47_0x839383=a47_0x8365;(function(_0x3dd509,_0x509add){const _0x1f62e4=a47_0x8365,_0x3e60cc=_0x3dd509();while(!![]){try{const _0xe4ffc5=parseInt(_0x1f62e4(0x1eb))/0x1*(parseInt(_0x1f62e4(0x1e8))/0x2)+parseInt(_0x1f62e4(0x1e0))/0x3+parseInt(_0x1f62e4(0x1db))/0x4*(-parseInt(_0x1f62e4(0x1e1))/0x5)+-parseInt(_0x1f62e4(0x1de))/0x6+parseInt(_0x1f62e4(0x1da))/0x7+parseInt(_0x1f62e4(0x1e3))/0x8*(parseInt(_0x1f62e4(0x1e7))/0x9)+-parseInt(_0x1f62e4(0x1dc))/0xa;if(_0xe4ffc5===_0x509add)break;else _0x3e60cc['push'](_0x3e60cc['shift']());}catch(_0x59b568){_0x3e60cc['push'](_0x3e60cc['shift']());}}}(a47_0x392e,0x7eea1));function a47_0x8365(_0x10203c,_0x2a25bb){_0x10203c=_0x10203c-0x1da;const _0x392e89=a47_0x392e();let _0x83656f=_0x392e89[_0x10203c];return _0x83656f;}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';function a47_0x392e(){const _0x4ff270=['591768KCkxxK','str','read','3OHCrUJ','type','6118091dnFirC','3299332knyjGj','9012840tIrqDS','skill','4926276epqhpz','errors','2431545eRcqzq','5hYonlH','validate','179936sclMog','strict','bool','warnings','198oSCVCM'];a47_0x392e=function(){return _0x4ff270;};return a47_0x392e();}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a47_0x839383(0x1dd),'command':a47_0x839383(0x1e2),'description':'Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','risk':a47_0x839383(0x1ea),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0xedb5a){const _0x55980c=a47_0x839383,_0xe65277=_0xedb5a[_0x55980c(0x1e5)](_0x55980c(0x1e4)),_0x5ad98c=validateSkillDirectory(_0xedb5a[_0x55980c(0x1e9)]('dir'),{'strict':_0xe65277});return throwIfSkillValidationFailed(_0x5ad98c,_0xe65277),{'ok':!![],'data':{'dir':_0x5ad98c['dir'],'type':_0x5ad98c[_0x55980c(0x1ec)],'errors':_0x5ad98c[_0x55980c(0x1df)],'warnings':_0x5ad98c[_0x55980c(0x1e6)]},'message':'Skill\x20validation\x20passed.'};}};
@@ -1 +1 @@
1
- const a48_0x4303dc=a48_0x46b6;(function(_0x1c2cc2,_0x4b52a4){const _0x36be7d=a48_0x46b6,_0x4bab29=_0x1c2cc2();while(!![]){try{const _0xc3a064=parseInt(_0x36be7d(0x1c8))/0x1+parseInt(_0x36be7d(0x1d3))/0x2*(parseInt(_0x36be7d(0x1d7))/0x3)+-parseInt(_0x36be7d(0x1d1))/0x4*(-parseInt(_0x36be7d(0x1d9))/0x5)+-parseInt(_0x36be7d(0x1bf))/0x6*(-parseInt(_0x36be7d(0x1ca))/0x7)+parseInt(_0x36be7d(0x1cf))/0x8*(-parseInt(_0x36be7d(0x1db))/0x9)+-parseInt(_0x36be7d(0x1c4))/0xa*(-parseInt(_0x36be7d(0x1dc))/0xb)+-parseInt(_0x36be7d(0x1c0))/0xc;if(_0xc3a064===_0x4b52a4)break;else _0x4bab29['push'](_0x4bab29['shift']());}catch(_0x535159){_0x4bab29['push'](_0x4bab29['shift']());}}}(a48_0x5dde,0x3ab8b));function a48_0x5dde(){const _0x2b9b13=['all','local','29980UUrXPH','code','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','name','203281vgWVbk','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','42mSgBAJ','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','company','scope','96uBspGM','boolean','1601832HrpXvb','personal','124lGljej','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','project','type','6483sfbQfZ','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','5wMsDBq','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','323487lkZybN','1562nKrXHL','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','Local\x20Skill\x20directory\x20containing\x20SKILL.md','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','target','confirm-warnings','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','string','strict','force','301326WsDXKf','9515088qMLtlO','dir'];a48_0x5dde=function(){return _0x2b9b13;};return a48_0x5dde();}import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x4303dc(0x1c5),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1e3)};function a48_0x46b6(_0x5f46e4,_0x536920){_0x5f46e4=_0x5f46e4-0x1be;const _0x5ddefc=a48_0x5dde();let _0x46b66b=_0x5ddefc[_0x5f46e4];return _0x46b66b;}export const SCOPE_FLAG={'name':'scope','type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cb),'enum':[a48_0x4303dc(0x1c2),a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const PUSH_SCOPE_FLAG={'name':'scope','type':'string','description':a48_0x4303dc(0x1d8),'default':a48_0x4303dc(0x1d2),'enum':[a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const LIST_SCOPE_FLAG={'name':a48_0x4303dc(0x1ce),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1c6),'enum':[a48_0x4303dc(0x1c2),'personal',a48_0x4303dc(0x1cd)]};export const LOCAL_FLAG={'name':a48_0x4303dc(0x1c3),'type':a48_0x4303dc(0x1d0),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':a48_0x4303dc(0x1c1),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1de)};export const CREATE_NAME_FLAG={'name':a48_0x4303dc(0x1c7),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1d4),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x4303dc(0x1c9)}};export const TYPE_FLAG={'name':a48_0x4303dc(0x1d6),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cc),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x4303dc(0x1e1),'type':a48_0x4303dc(0x1e4),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x4303dc(0x1be),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1df)};export const PROJECT_TARGET_FLAG={'name':a48_0x4303dc(0x1d5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1da)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x4303dc(0x1e2),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1e0)};export const STRICT_FLAG={'name':a48_0x4303dc(0x1e5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1dd)};
1
+ const a48_0x485503=a48_0x1ef7;(function(_0x4a34ee,_0x2a5e16){const _0x2fdf9b=a48_0x1ef7,_0x484fbb=_0x4a34ee();while(!![]){try{const _0x203174=parseInt(_0x2fdf9b(0x10c))/0x1*(parseInt(_0x2fdf9b(0x12c))/0x2)+parseInt(_0x2fdf9b(0x114))/0x3*(parseInt(_0x2fdf9b(0x11e))/0x4)+-parseInt(_0x2fdf9b(0x113))/0x5+parseInt(_0x2fdf9b(0x11d))/0x6+-parseInt(_0x2fdf9b(0x108))/0x7*(parseInt(_0x2fdf9b(0x122))/0x8)+-parseInt(_0x2fdf9b(0x111))/0x9+parseInt(_0x2fdf9b(0x123))/0xa;if(_0x203174===_0x2a5e16)break;else _0x484fbb['push'](_0x484fbb['shift']());}catch(_0x5b72d9){_0x484fbb['push'](_0x484fbb['shift']());}}}(a48_0x4c74,0xcbffa));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x485503(0x128),'type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'};export const SCOPE_FLAG={'name':'scope','type':'string','description':a48_0x485503(0x119),'enum':[a48_0x485503(0x11f),a48_0x485503(0x126),'company']};export const PUSH_SCOPE_FLAG={'name':a48_0x485503(0x11a),'type':'string','description':a48_0x485503(0x120),'default':a48_0x485503(0x126),'enum':[a48_0x485503(0x126),a48_0x485503(0x109)]};function a48_0x1ef7(_0x713492,_0x102ff5){_0x713492=_0x713492-0x108;const _0x4c74f0=a48_0x4c74();let _0x1ef78f=_0x4c74f0[_0x713492];return _0x1ef78f;}export const LIST_SCOPE_FLAG={'name':a48_0x485503(0x11a),'type':'string','description':a48_0x485503(0x118),'enum':['all',a48_0x485503(0x126),'company']};export const LOCAL_FLAG={'name':a48_0x485503(0x115),'type':a48_0x485503(0x121),'description':a48_0x485503(0x10d)};export const DIR_FLAG={'name':a48_0x485503(0x110),'type':a48_0x485503(0x124),'required':!![],'description':a48_0x485503(0x125)};export const CREATE_NAME_FLAG={'name':a48_0x485503(0x112),'type':'string','required':!![],'description':a48_0x485503(0x12b),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x485503(0x10a)}};export const TYPE_FLAG={'name':'type','type':a48_0x485503(0x124),'description':a48_0x485503(0x10b),'enum':[...SKILL_TYPES]};function a48_0x4c74(){const _0x2e79e6=['7082982muwXwC','16GmUzDQ','all','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','boolean','620920BvWxWx','6282360QClWAW','string','Local\x20Skill\x20directory\x20containing\x20SKILL.md','personal','strict','code','project','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','2VEUwnV','119RKDELn','company','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','268166tUiOez','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','force','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','dir','2501190FdRVmK','name','3612600yVkUiz','808923eCSixR','local','confirm-warnings','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','scope','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings'];a48_0x4c74=function(){return _0x2e79e6;};return a48_0x4c74();}export const TARGET_FLAG={'name':'target','type':a48_0x485503(0x124),'description':a48_0x485503(0x11b),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x485503(0x10e),'type':a48_0x485503(0x121),'description':a48_0x485503(0x117)};export const PROJECT_TARGET_FLAG={'name':a48_0x485503(0x129),'type':a48_0x485503(0x121),'description':a48_0x485503(0x12a)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x485503(0x116),'type':a48_0x485503(0x121),'description':a48_0x485503(0x11c)};export const STRICT_FLAG={'name':a48_0x485503(0x127),'type':a48_0x485503(0x121),'description':a48_0x485503(0x10f)};
@@ -1 +1 @@
1
- function a49_0x4b4e(_0x235acc,_0x3ca73e){_0x235acc=_0x235acc-0x111;const _0x5f15ae=a49_0x5f15();let _0x4b4ef8=_0x5f15ae[_0x235acc];return _0x4b4ef8;}(function(_0x3d46b8,_0x40a9ad){const _0x3b835c=a49_0x4b4e,_0x37eb5f=_0x3d46b8();while(!![]){try{const _0x5e8605=-parseInt(_0x3b835c(0x111))/0x1+-parseInt(_0x3b835c(0x113))/0x2*(-parseInt(_0x3b835c(0x112))/0x3)+parseInt(_0x3b835c(0x116))/0x4*(-parseInt(_0x3b835c(0x114))/0x5)+-parseInt(_0x3b835c(0x11a))/0x6+parseInt(_0x3b835c(0x117))/0x7*(-parseInt(_0x3b835c(0x115))/0x8)+-parseInt(_0x3b835c(0x118))/0x9*(-parseInt(_0x3b835c(0x11b))/0xa)+parseInt(_0x3b835c(0x119))/0xb;if(_0x5e8605===_0x40a9ad)break;else _0x37eb5f['push'](_0x37eb5f['shift']());}catch(_0x2d93c6){_0x37eb5f['push'](_0x37eb5f['shift']());}}}(a49_0x5f15,0xc126b));import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';function a49_0x5f15(){const _0x558ff7=['9ValKun','42606168cHjtPV','8415528lFIQaL','15236510QTCvdN','1235395ZUfGRi','555yKgRtf','7022KoTZGm','5LggtMw','9668432mZxqhx','5635160fciIXZ','7bxnOgx'];a49_0x5f15=function(){return _0x558ff7;};return a49_0x5f15();}import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
1
+ (function(_0x2abae6,_0x1a700f){const _0x500174=a49_0x138e,_0x807643=_0x2abae6();while(!![]){try{const _0x55d899=-parseInt(_0x500174(0x181))/0x1*(parseInt(_0x500174(0x182))/0x2)+parseInt(_0x500174(0x186))/0x3+-parseInt(_0x500174(0x185))/0x4+-parseInt(_0x500174(0x184))/0x5+parseInt(_0x500174(0x183))/0x6*(-parseInt(_0x500174(0x189))/0x7)+-parseInt(_0x500174(0x188))/0x8*(-parseInt(_0x500174(0x187))/0x9)+parseInt(_0x500174(0x18a))/0xa;if(_0x55d899===_0x1a700f)break;else _0x807643['push'](_0x807643['shift']());}catch(_0x24b77e){_0x807643['push'](_0x807643['shift']());}}}(a49_0x4da4,0xa5013));function a49_0x4da4(){const _0x564fa4=['847986fUlhun','2887090PgJuJF','4615828pnNhVa','1995870LOezyn','81uyykFp','808424WpyNEj','7fnbxLm','12533210WMwYPv','1IAjdUX','559046PMHnBG'];a49_0x4da4=function(){return _0x564fa4;};return a49_0x4da4();}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';function a49_0x138e(_0x506573,_0x2d771b){_0x506573=_0x506573-0x181;const _0x4da412=a49_0x4da4();let _0x138ec8=_0x4da412[_0x506573];return _0x138ec8;}export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
@@ -1 +1 @@
1
- function a50_0x5c34(_0x1059e7,_0x277c6e){_0x1059e7=_0x1059e7-0x1d2;var _0x58d00b=a50_0x58d0();var _0x5c3448=_0x58d00b[_0x1059e7];return _0x5c3448;}(function(_0x4e332c,_0x2d581f){var _0x2e2f69=a50_0x5c34,_0x59670a=_0x4e332c();while(!![]){try{var _0x19642e=-parseInt(_0x2e2f69(0x1dc))/0x1+parseInt(_0x2e2f69(0x1e0))/0x2*(parseInt(_0x2e2f69(0x1d4))/0x3)+-parseInt(_0x2e2f69(0x1dd))/0x4+parseInt(_0x2e2f69(0x1d7))/0x5*(parseInt(_0x2e2f69(0x1de))/0x6)+parseInt(_0x2e2f69(0x1e4))/0x7+parseInt(_0x2e2f69(0x1d6))/0x8+parseInt(_0x2e2f69(0x1d2))/0x9*(parseInt(_0x2e2f69(0x1d8))/0xa);if(_0x19642e===_0x2d581f)break;else _0x59670a['push'](_0x59670a['shift']());}catch(_0x2a71fc){_0x59670a['push'](_0x59670a['shift']());}}}(a50_0x58d0,0xc0a12));function a50_0x58d0(){var _0x4a5218=['length','4pHyXRw','some','string','ossPath','75159FoUvhC','612TMmlEY','isArray','147312lzuZWi','object','11411448rcaOJs','55uZCkEk','136960UmwXfc','path','SKILL.md','files','1311965FhUNzf','5340592HSretc','528774zJssbo'];a50_0x58d0=function(){return _0x4a5218;};return a50_0x58d0();}export function isPackageBackedManifest(_0xf04f1c){var _0x31c781=a50_0x5c34;return!!_0xf04f1c&&typeof _0xf04f1c===_0x31c781(0x1d5)&&!Array[_0x31c781(0x1d3)](_0xf04f1c)&&typeof _0xf04f1c[_0x31c781(0x1e3)]===_0x31c781(0x1e2)&&_0xf04f1c[_0x31c781(0x1e3)][_0x31c781(0x1df)]>0x0&&Array[_0x31c781(0x1d3)](_0xf04f1c[_0x31c781(0x1db)]);}export function isMultiFileManifest(_0x544297){var _0x5932e1=a50_0x5c34;return!!_0x544297&&typeof _0x544297===_0x5932e1(0x1d5)&&!Array[_0x5932e1(0x1d3)](_0x544297)&&Array[_0x5932e1(0x1d3)](_0x544297[_0x5932e1(0x1db)])&&_0x544297[_0x5932e1(0x1db)][_0x5932e1(0x1e1)](_0x5ae5cb=>_0x5ae5cb[_0x5932e1(0x1d9)]!==_0x5932e1(0x1da));}
1
+ function a50_0x20c0(_0x4360ac,_0x47f73a){_0x4360ac=_0x4360ac-0x73;var _0x27e105=a50_0x27e1();var _0x20c028=_0x27e105[_0x4360ac];return _0x20c028;}(function(_0x11bab5,_0x14bb46){var _0x16d089=a50_0x20c0,_0x2a3a09=_0x11bab5();while(!![]){try{var _0x5d8996=-parseInt(_0x16d089(0x76))/0x1*(parseInt(_0x16d089(0x85))/0x2)+parseInt(_0x16d089(0x78))/0x3*(-parseInt(_0x16d089(0x7a))/0x4)+-parseInt(_0x16d089(0x81))/0x5*(-parseInt(_0x16d089(0x86))/0x6)+-parseInt(_0x16d089(0x7c))/0x7*(parseInt(_0x16d089(0x82))/0x8)+parseInt(_0x16d089(0x79))/0x9+parseInt(_0x16d089(0x75))/0xa*(-parseInt(_0x16d089(0x83))/0xb)+parseInt(_0x16d089(0x7e))/0xc;if(_0x5d8996===_0x14bb46)break;else _0x2a3a09['push'](_0x2a3a09['shift']());}catch(_0x22f975){_0x2a3a09['push'](_0x2a3a09['shift']());}}}(a50_0x27e1,0x39d37));export function isPackageBackedManifest(_0x2c5a89){var _0x3dd616=a50_0x20c0;return!!_0x2c5a89&&typeof _0x2c5a89===_0x3dd616(0x80)&&!Array[_0x3dd616(0x7f)](_0x2c5a89)&&typeof _0x2c5a89[_0x3dd616(0x74)]==='string'&&_0x2c5a89[_0x3dd616(0x74)][_0x3dd616(0x7d)]>0x0&&Array['isArray'](_0x2c5a89[_0x3dd616(0x7b)]);}function a50_0x27e1(){var _0x513827=['30fgbNxc','path','ossPath','1530610ypdCyY','8FcXEgm','some','648claAgs','2136402WKFspT','408WWUdFX','files','7OaYdwI','length','6875964WRrUjr','isArray','object','108340sTQMml','191144OxSKjz','33yPZSTQ','SKILL.md','44188DleqLY'];a50_0x27e1=function(){return _0x513827;};return a50_0x27e1();}export function isMultiFileManifest(_0x3d6d6d){var _0x36902a=a50_0x20c0;return!!_0x3d6d6d&&typeof _0x3d6d6d===_0x36902a(0x80)&&!Array[_0x36902a(0x7f)](_0x3d6d6d)&&Array[_0x36902a(0x7f)](_0x3d6d6d[_0x36902a(0x7b)])&&_0x3d6d6d['files'][_0x36902a(0x77)](_0x1058a7=>_0x1058a7[_0x36902a(0x73)]!==_0x36902a(0x84));}