@lovrabet/lovrabet-cli 2.1.20-beta.1 → 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 (128) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/shared.js +1 -1
  25. package/lib/commands/data/index.js +1 -1
  26. package/lib/commands/dataset/detail.js +1 -1
  27. package/lib/commands/dataset/index.js +1 -1
  28. package/lib/commands/dataset/list.js +1 -1
  29. package/lib/commands/dataset/sdk-doc.js +1 -1
  30. package/lib/commands/doctor.js +1 -1
  31. package/lib/commands/file/index.js +1 -1
  32. package/lib/commands/init.js +1 -1
  33. package/lib/commands/kb/index.js +1 -1
  34. package/lib/commands/logs/index.js +1 -1
  35. package/lib/commands/ocr/index.js +1 -1
  36. package/lib/commands/personal-bff/index.js +1 -1
  37. package/lib/commands/registry.js +1 -1
  38. package/lib/commands/schedule/index.js +1 -1
  39. package/lib/commands/schema.js +1 -1
  40. package/lib/commands/service/dynamic.js +1 -1
  41. package/lib/commands/service/function-name-adapter.js +1 -1
  42. package/lib/commands/service/index.js +1 -1
  43. package/lib/commands/service/registry.js +1 -1
  44. package/lib/commands/skill/commands/create.js +1 -1
  45. package/lib/commands/skill/commands/install.js +1 -1
  46. package/lib/commands/skill/commands/list.js +1 -1
  47. package/lib/commands/skill/commands/push.js +1 -1
  48. package/lib/commands/skill/commands/validate.js +1 -1
  49. package/lib/commands/skill/flags.js +1 -1
  50. package/lib/commands/skill/index.js +1 -1
  51. package/lib/commands/skill/manifest-helpers.js +1 -1
  52. package/lib/commands/skill/push-execute.js +1 -1
  53. package/lib/commands/skill/push-flow-helpers.js +1 -1
  54. package/lib/commands/skill/push-retarget.js +1 -1
  55. package/lib/commands/skill/scopes.js +1 -1
  56. package/lib/commands/skill/summary.js +1 -1
  57. package/lib/commands/skill/templates.js +1 -1
  58. package/lib/commands/skill/validate.js +1 -1
  59. package/lib/commands/sql/detail.js +1 -1
  60. package/lib/commands/sql/exec.js +1 -1
  61. package/lib/commands/sql/index.js +1 -1
  62. package/lib/commands/update.js +1 -1
  63. package/lib/commands/workspace/index.js +1 -1
  64. package/lib/config/schema.js +1 -1
  65. package/lib/constant/app.js +1 -1
  66. package/lib/constant/auth-mode.js +1 -1
  67. package/lib/constant/cli.js +1 -1
  68. package/lib/constant/defaults.js +1 -1
  69. package/lib/constant/distribution.js +1 -1
  70. package/lib/constant/domain.js +1 -1
  71. package/lib/constant/env.js +1 -1
  72. package/lib/constant/output.js +1 -1
  73. package/lib/constant/product.js +1 -1
  74. package/lib/constant/risk.js +1 -1
  75. package/lib/constant/url.js +1 -1
  76. package/lib/context.js +1 -1
  77. package/lib/core/api-client.js +1 -1
  78. package/lib/core/db-resolver.js +1 -1
  79. package/lib/core/sdk-client.js +1 -1
  80. package/lib/errors.js +1 -1
  81. package/lib/framework/build-all-flags.js +1 -1
  82. package/lib/framework/dryrun.js +1 -1
  83. package/lib/framework/flags.js +1 -1
  84. package/lib/framework/help.js +1 -1
  85. package/lib/framework/index.js +1 -1
  86. package/lib/framework/output.js +1 -1
  87. package/lib/framework/preparse.js +1 -1
  88. package/lib/framework/rate-limit.js +1 -1
  89. package/lib/framework/raw-flags.js +1 -1
  90. package/lib/framework/response.js +1 -1
  91. package/lib/framework/runner-confirmation.js +1 -1
  92. package/lib/framework/runner-error.js +1 -1
  93. package/lib/framework/runner.js +1 -1
  94. package/lib/framework/schema-export.js +1 -1
  95. package/lib/framework/service-order.js +1 -1
  96. package/lib/framework/types.js +1 -1
  97. package/lib/generated/build-info.d.ts +4 -4
  98. package/lib/generated/build-info.js +1 -1
  99. package/lib/help.js +1 -1
  100. package/lib/runtime/event.js +1 -1
  101. package/lib/runtime/index.js +1 -1
  102. package/lib/runtime/queue.js +1 -1
  103. package/lib/runtime/resolve.js +1 -1
  104. package/lib/skills/npx-skills-add.js +1 -1
  105. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  106. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  107. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  108. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  109. package/lib/skills/runtime-skill-sync/links.js +1 -1
  110. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  111. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  112. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  113. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  114. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  115. package/lib/skills/runtime-skill-sync/push.js +1 -1
  116. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  117. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  118. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  119. package/lib/skills/runtime-skill-sync.js +1 -1
  120. package/lib/utils/apply-jq-filter.js +1 -1
  121. package/lib/utils/logger.js +1 -1
  122. package/lib/utils/lossless-json.js +1 -1
  123. package/lib/utils/params.js +1 -1
  124. package/lib/utils/platform.js +1 -1
  125. package/lib/utils/update-notice.js +1 -1
  126. package/lib/utils/version.js +1 -1
  127. package/lib/utils/write-cli-side-channel.js +1 -1
  128. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x96251,_0x1d9916){const _0x51dc86=a39_0x3dab,_0x316800=_0x96251();while(!![]){try{const _0x3c1946=parseInt(_0x51dc86(0x15b))/0x1+parseInt(_0x51dc86(0x155))/0x2+-parseInt(_0x51dc86(0x1a2))/0x3*(-parseInt(_0x51dc86(0x1ae))/0x4)+parseInt(_0x51dc86(0x19d))/0x5*(parseInt(_0x51dc86(0x18d))/0x6)+-parseInt(_0x51dc86(0x165))/0x7*(parseInt(_0x51dc86(0x1ad))/0x8)+parseInt(_0x51dc86(0x1a1))/0x9*(-parseInt(_0x51dc86(0x1a6))/0xa)+-parseInt(_0x51dc86(0x157))/0xb;if(_0x3c1946===_0x1d9916)break;else _0x316800['push'](_0x316800['shift']());}catch(_0x50bcef){_0x316800['push'](_0x316800['shift']());}}}(a39_0x9cce,0x4e674));function a39_0x3dab(_0x1c1df8,_0x395960){_0x1c1df8=_0x1c1df8-0x14d;const _0x9cce90=a39_0x9cce();let _0x3dabe8=_0x9cce90[_0x1c1df8];return _0x3dabe8;}import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2a2dab,_0x358131){const _0x5c44b0=a39_0x3dab,_0xb9f054=listLocalServiceTrees();let _0x49860a;for(const _0x5ceb84 of _0xb9f054){const _0x129d6a=matchServiceTreeCommand(_0x5ceb84,_0x2a2dab);if(!_0x129d6a)continue;(!_0x49860a||_0x129d6a[_0x5c44b0(0x17b)][_0x5c44b0(0x170)][_0x5c44b0(0x196)]>_0x49860a['command'][_0x5c44b0(0x170)][_0x5c44b0(0x196)])&&(_0x49860a={'tree':_0x5ceb84,'command':_0x129d6a['command'],'remainingArgs':_0x129d6a['remainingArgs']});}if(!_0x49860a)return undefined;const _0x21bbd6={..._0x358131};return applyAppBinding(_0x49860a[_0x5c44b0(0x161)],_0x49860a['command'],_0x21bbd6),{'definition':buildDynamicCommandDefinition(_0x49860a['tree'],_0x49860a['command']),'args':_0x49860a[_0x5c44b0(0x15f)],'flags':_0x21bbd6,'tree':_0x49860a[_0x5c44b0(0x161)],'command':_0x49860a[_0x5c44b0(0x17b)]};}export function generateDynamicServiceHelp(_0x5523e9){const _0x4536b1=a39_0x3dab,_0x475d4=listLocalServiceTrees()['find'](_0x371693=>_0x371693[_0x4536b1(0x19c)][_0x4536b1(0x182)]===_0x5523e9);if(!_0x475d4)return undefined;const _0x52a112=[CLI_BIN_NAME+'\x20'+_0x5523e9+_0x4536b1(0x199),'',_0x475d4['service'][_0x4536b1(0x1a4)]||_0x5523e9,_0x475d4[_0x4536b1(0x19c)][_0x4536b1(0x179)]?'\x20\x20'+_0x475d4['service'][_0x4536b1(0x179)]:'','',_0x4536b1(0x17e),..._0x475d4[_0x4536b1(0x17f)][_0x4536b1(0x160)](_0x20ceee=>{const _0x2ccd0c=_0x4536b1,_0x5952d5=_0x20ceee[_0x2ccd0c(0x170)][_0x2ccd0c(0x184)](0x1)[_0x2ccd0c(0x18b)]('\x20'),_0x155478=_0x20ceee[_0x2ccd0c(0x153)]==='read'?'':'\x20['+_0x20ceee[_0x2ccd0c(0x153)]+']';return'\x20\x20'+_0x5952d5[_0x2ccd0c(0x14e)](0x18)+'\x20'+(_0x20ceee[_0x2ccd0c(0x179)]||'')+_0x155478;}),'',_0x4536b1(0x18c)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x5523e9+_0x4536b1(0x19b)][_0x4536b1(0x19f)](Boolean);return _0x52a112[_0x4536b1(0x18b)]('\x0a');}export function listDynamicServiceEntries(){const _0x26cf9a=a39_0x3dab;return listLocalServices()[_0x26cf9a(0x160)](_0x211e63=>{const _0x4ab042=_0x26cf9a,_0x3f8c68=_0x211e63[_0x4ab042(0x16b)];return{'service':_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x182)],'label':_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x1a4)]||_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x182)],'commands':_0x3f8c68[_0x4ab042(0x17f)][_0x4ab042(0x160)](_0x20622f=>({'command':dynamicCommandName(_0x20622f),'description':_0x20622f['description']||_0x4ab042(0x154)+_0x20622f[_0x4ab042(0x17a)],'tag':riskTag(_0x20622f[_0x4ab042(0x153)])}))};});}export function getDynamicServiceEntry(_0x4d1e47){const _0xa57924=a39_0x3dab;return listDynamicServiceEntries()[_0xa57924(0x187)](_0x40e6be=>_0x40e6be[_0xa57924(0x19c)]===_0x4d1e47);}export function listDynamicServiceDefinitions(_0x37189c){const _0x386b96=a39_0x3dab;return listLocalServiceTrees()[_0x386b96(0x19f)](_0x5ed11b=>!_0x37189c||_0x5ed11b[_0x386b96(0x19c)][_0x386b96(0x182)]===_0x37189c)['flatMap'](_0x476153=>_0x476153['commands'][_0x386b96(0x160)](_0x4df527=>buildDynamicCommandDefinition(_0x476153,_0x4df527)));}export function getDynamicServiceDefinitions(_0x233973){const _0x521495=a39_0x3dab,_0x4af6cf=listDynamicServiceDefinitions(_0x233973);return _0x4af6cf[_0x521495(0x196)]>0x0?_0x4af6cf:undefined;}export function findDynamicServiceDefinition(_0x403017,_0x2f04f9){const _0x3b1858=a39_0x3dab;return listDynamicServiceDefinitions(_0x403017)[_0x3b1858(0x187)](_0x256d3a=>_0x256d3a[_0x3b1858(0x17b)]===_0x2f04f9);}export function buildDynamicCommandDefinition(_0x4c2c6b,_0x2258bb){const _0x39ab69=a39_0x3dab;return{'service':_0x4c2c6b[_0x39ab69(0x19c)]['code'],'command':dynamicCommandName(_0x2258bb),'description':_0x2258bb[_0x39ab69(0x179)]||'Run\x20service\x20command\x20'+_0x2258bb['cliPath'],'risk':_0x2258bb[_0x39ab69(0x153)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2258bb['args'][_0x39ab69(0x160)](_0x27e400=>({'name':_0x27e400[_0x39ab69(0x1a4)],'description':_0x27e400['description']||_0x27e400[_0x39ab69(0x1a4)],'required':_0x27e400['required']})),'flags':_0x2258bb['flags'][_0x39ab69(0x160)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2258bb),async 'dryRun'(_0x25868d){const _0x5e981e=_0x39ab69,_0x3188f0=await compilePlan(_0x2258bb,_0x25868d);return{'method':'SERVICE_TREE','url':_0x2258bb[_0x5e981e(0x17a)],'body':{'target':targetPreview(_0x3188f0),'params':_0x3188f0[_0x5e981e(0x193)]},'description':_0x5e981e(0x164)+_0x2258bb[_0x5e981e(0x17a)]};},async 'execute'(_0xf7fe6a){const _0x9d715c=_0x39ab69,_0x73e737=await compilePlan(_0x2258bb,_0xf7fe6a),_0xd1c63b=Date[_0x9d715c(0x19a)](),_0x417e39=await executePlan(_0x73e737,_0x2258bb,_0xf7fe6a),_0x95e21a=Date['now']()-_0xd1c63b;return{'ok':!![],'data':{'service':_0x4c2c6b[_0x9d715c(0x19c)],'command':_0x2258bb[_0x9d715c(0x17a)],'target':targetPreview(_0x73e737),'result':_0x417e39,'elapsed':_0x95e21a},'message':_0x9d715c(0x1ac)+_0x2258bb['cliPath']+_0x9d715c(0x151)+_0x95e21a+'ms'};}};}function dynamicCommandName(_0x14316a){const _0x5b9458=a39_0x3dab;return _0x14316a[_0x5b9458(0x170)]['slice'](0x1)[_0x5b9458(0x18b)]('\x20');}function riskTag(_0x1c793d){const _0x9e54f1=a39_0x3dab;return _0x1c793d===_0x9e54f1(0x1af)?'':_0x9e54f1(0x178)+_0x1c793d+']';}function flagToCommandFlag(_0x5e098c){const _0x116dc4=a39_0x3dab;return{'name':_0x5e098c[_0x116dc4(0x1aa)],'type':_0x5e098c['type']===_0x116dc4(0x14f)?_0x116dc4(0x159):_0x5e098c[_0x116dc4(0x15d)],'description':_0x5e098c['description']||_0x5e098c[_0x116dc4(0x1a4)],'required':_0x5e098c['required'],'default':isPrimitiveFlagDefault(_0x5e098c[_0x116dc4(0x158)])?_0x5e098c[_0x116dc4(0x158)]:undefined,'enum':_0x5e098c['enum']};}async function compilePlan(_0x114ffa,_0x45f2d3){const _0x568836=a39_0x3dab;return compileServiceTreeCommand(_0x114ffa,{'flags':_0x45f2d3[_0x568836(0x166)],'args':_0x45f2d3[_0x568836(0x1b1)],'context':await buildServiceContext(_0x114ffa,_0x45f2d3)});}async function buildServiceContext(_0x70c843,_0x3fa2b5){const _0x595cf5=a39_0x3dab,_0x3ae31e={'appCode':_0x3fa2b5[_0x595cf5(0x173)],'env':_0x3fa2b5[_0x595cf5(0x186)],'envName':_0x3fa2b5['envName']};if(!usesRuntimeContext(_0x70c843))return _0x3ae31e;const _0x48a2b1=await getLoginUserInfo(),_0x85c75f=pickFirst(_0x48a2b1[_0x595cf5(0x171)],_0x48a2b1['id']);return{..._0x3ae31e,'user':_0x48a2b1,'userId':_0x85c75f,'id':_0x48a2b1['id'],'username':pickFirst(_0x48a2b1['username'],_0x48a2b1[_0x595cf5(0x162)],_0x48a2b1[_0x595cf5(0x17d)]),'userName':_0x48a2b1[_0x595cf5(0x162)],'nickname':pickFirst(_0x48a2b1[_0x595cf5(0x177)],_0x48a2b1[_0x595cf5(0x1a0)]),'nickName':_0x48a2b1['nickName'],'tenantCode':_0x48a2b1[_0x595cf5(0x183)],'employeeId':_0x48a2b1['employeeId']};}function usesRuntimeContext(_0x323004){const _0x5e62be=a39_0x3dab;return _0x323004[_0x5e62be(0x18a)][_0x5e62be(0x190)](_0x47c27d=>typeof _0x47c27d[_0x5e62be(0x185)]===_0x5e62be(0x159)&&(_0x47c27d[_0x5e62be(0x185)][_0x5e62be(0x172)](_0x5e62be(0x167))||_0x47c27d['source'][_0x5e62be(0x172)](_0x5e62be(0x176))));}function pickFirst(..._0x2f1882){const _0x22f782=a39_0x3dab;return _0x2f1882[_0x22f782(0x187)](_0x4ba535=>_0x4ba535!==undefined&&_0x4ba535!==null);}async function executePlan(_0x1a4e27,_0x9a80d7,_0x1a6ec0){const _0x2a79f9=a39_0x3dab;if(_0x1a4e27['kind']===_0x2a79f9(0x15c)){const _0x313047=await resolveDatasetCode(_0x1a4e27,_0x9a80d7,_0x1a6ec0);return executeData(_0x313047,_0x1a4e27['command'],_0x1a4e27[_0x2a79f9(0x193)]);}if(_0x1a4e27['kind']===_0x2a79f9(0x169)){if(!_0x1a4e27[_0x2a79f9(0x1b0)])throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x1ac)+_0x9a80d7[_0x2a79f9(0x17a)]+_0x2a79f9(0x188));return executeSdkSql(_0x1a4e27['sqlCode'],normalizeScalarParams(_0x1a4e27[_0x2a79f9(0x193)]));}if(_0x1a4e27[_0x2a79f9(0x18f)]==='bff'){const _0x47a28e=_0x1a4e27[_0x2a79f9(0x1a7)]||_0x1a4e27[_0x2a79f9(0x15a)]||(_0x1a4e27['bffId']==null?'':String(_0x1a4e27[_0x2a79f9(0x189)]));if(!_0x47a28e)throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x1ac)+_0x9a80d7[_0x2a79f9(0x17a)]+_0x2a79f9(0x16c));return executeSdkBff(_0x47a28e,_0x1a4e27[_0x2a79f9(0x193)]);}throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x198)+_0x1a4e27[_0x2a79f9(0x18f)]);}async function resolveDatasetCode(_0xdfff98,_0x1ad62d,_0x57030a){const _0xef2b48=a39_0x3dab;if(_0xdfff98[_0xef2b48(0x181)])return _0xdfff98[_0xef2b48(0x181)];if(!_0xdfff98[_0xef2b48(0x18e)])throw CliErrors[_0xef2b48(0x197)](_0xef2b48(0x1ac)+_0x1ad62d['cliPath']+_0xef2b48(0x180));const _0x5d57d7=await listDatasets(_0x57030a[_0xef2b48(0x173)]),_0x1bea5b=_0x5d57d7[_0xef2b48(0x187)](_0x45e34f=>_0x45e34f[_0xef2b48(0x15e)]?.['tableName']===_0xdfff98[_0xef2b48(0x18e)]);if(!_0x1bea5b?.['code'])throw CliErrors[_0xef2b48(0x197)](_0xef2b48(0x1a3)+_0xdfff98[_0xef2b48(0x18e)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x57030a[_0xef2b48(0x173)]+'.',_0xef2b48(0x1a9));return _0x1bea5b[_0xef2b48(0x182)];}function applyAppBinding(_0x289593,_0x3ca789,_0x309dc2){const _0x3ce2eb=a39_0x3dab,_0x1538d=_0x3ca789['target'][_0x3ce2eb(0x175)];if(!_0x1538d)return;const _0x3f6858=_0x289593[_0x3ce2eb(0x191)][_0x1538d];if(!_0x3f6858)throw CliErrors[_0x3ce2eb(0x197)]('Unknown\x20appRef\x20\x22'+_0x1538d+'\x22\x20in\x20service\x20command\x20'+_0x3ca789[_0x3ce2eb(0x17a)]+'.',_0x3ce2eb(0x17c));const _0x54dc45=_0x3f6858[_0x3ce2eb(0x1ab)]||_0x3f6858[_0x3ce2eb(0x173)];_0x54dc45&&!hasText(_0x309dc2[_0x3ce2eb(0x1ab)])&&(_0x309dc2[_0x3ce2eb(0x1ab)]=_0x54dc45),_0x3f6858[_0x3ce2eb(0x194)]&&!hasText(_0x309dc2[_0x3ce2eb(0x194)])&&!hasText(_0x309dc2[_0x3ce2eb(0x1ab)])&&(_0x309dc2[_0x3ce2eb(0x194)]=_0x3f6858[_0x3ce2eb(0x194)]),_0x3f6858[_0x3ce2eb(0x163)]&&!hasText(_0x309dc2['env'])&&(_0x309dc2[_0x3ce2eb(0x163)]=_0x3f6858[_0x3ce2eb(0x163)]);}function renderDynamicCommandHelp(_0x1c0af7){const _0x2ef5ee=a39_0x3dab,_0x324a54=[_0x2ef5ee(0x16e),_0x2ef5ee(0x192)+_0x1c0af7['target'][_0x2ef5ee(0x18f)],_0x2ef5ee(0x1a8)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x17b)]];if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x181)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x174)+_0x1c0af7[_0x2ef5ee(0x156)]['datasetCode']);if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x18e)])_0x324a54['push'](_0x2ef5ee(0x152)+_0x1c0af7['target'][_0x2ef5ee(0x18e)]);if(_0x1c0af7['target'][_0x2ef5ee(0x1b0)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x16f)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1b0)]);if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1a7)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x195)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1a7)]);if(_0x1c0af7[_0x2ef5ee(0x18a)][_0x2ef5ee(0x196)]>0x0){_0x324a54['push']('',_0x2ef5ee(0x1a5));for(const _0x1286aa of _0x1c0af7['mapTo']){_0x324a54[_0x2ef5ee(0x19e)]('\x20\x20\x20\x20'+(_0x1286aa[_0x2ef5ee(0x185)]||'const')+'\x20->\x20'+_0x1286aa['target']+(_0x1286aa['operator']?'.'+_0x1286aa['operator']:''));}}return _0x324a54[_0x2ef5ee(0x18b)]('\x0a');}function targetPreview(_0x1b0224){const _0x17dd73=a39_0x3dab;return{'kind':_0x1b0224[_0x17dd73(0x18f)],'command':_0x1b0224['command'],'appRef':_0x1b0224['appRef'],'datasetCode':_0x1b0224[_0x17dd73(0x181)],'datatable':_0x1b0224[_0x17dd73(0x18e)],'sqlCode':_0x1b0224[_0x17dd73(0x1b0)],'bffCode':_0x1b0224['bffCode'],'bffId':_0x1b0224[_0x17dd73(0x189)],'functionName':_0x1b0224[_0x17dd73(0x1a7)]};}function normalizeScalarParams(_0x27eb6b){const _0x458433=a39_0x3dab;return Object[_0x458433(0x150)](Object[_0x458433(0x16d)](_0x27eb6b)[_0x458433(0x19f)](([,_0xf8b2f])=>typeof _0xf8b2f===_0x458433(0x159)||typeof _0xf8b2f==='number'));}function hasText(_0x5e6b20){const _0x2a678c=a39_0x3dab;return typeof _0x5e6b20===_0x2a678c(0x159)&&_0x5e6b20[_0x2a678c(0x168)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x436c44){const _0x321cea=a39_0x3dab;return _0x436c44===undefined||typeof _0x436c44===_0x321cea(0x159)||typeof _0x436c44===_0x321cea(0x14d)||typeof _0x436c44===_0x321cea(0x16a);}function a39_0x9cce(){const _0x30563b=['bffId','mapTo','join','Use\x20`','276SxSBqi','datatable','kind','some','appBindings','\x20\x20\x20\x20kind:\x20\x20\x20\x20','params','app','\x20\x20\x20\x20functionName:\x20','length','validation','Unsupported\x20service\x20target\x20kind:\x20','\x20<command>\x20[flags]','now','`\x20to\x20inspect\x20the\x20manifest.','service','47735GRvAOP','push','filter','nickName','57501cJKlYM','1020tYKqXc','Cannot\x20resolve\x20datatable\x20\x22','name','\x20\x20MAP\x20TO','990rVRPAW','scriptName','\x20\x20\x20\x20command:\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','cliName','appcode','Service\x20command\x20','117328hFrotN','5656QeYqxZ','read','sqlCode','args','number','padEnd','json','fromEntries','\x20completed\x20in\x20','\x20\x20\x20\x20datatable:\x20','risk','Run\x20service\x20command\x20','1074028TKRLDq','target','3267781VNAXAt','default','string','bffCode','219100FXxDlL','data','type','dbtableConfig','remainingArgs','map','tree','userName','env','Preview\x20dynamic\x20service\x20command:\x20','203YHtYhE','rawFlags','context.','trim','sql','boolean','normalizedManifest','\x20requires\x20target.functionName.','entries','\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20sqlCode:\x20','fullPath','userId','startsWith','appCode','\x20\x20\x20\x20datasetCode:\x20','appRef','ctx.','nickname','\x20\x20[','description','cliPath','command','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','loginName','Commands:','commands','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','datasetCode','code','tenantCode','slice','source','envName','find','\x20requires\x20target.sqlCode.'];a39_0x9cce=function(){return _0x30563b;};return a39_0x9cce();}
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(_0x415e7f,_0x18e3d1){const _0x183ca6=a40_0x2cc4,_0x22fc64=_0x415e7f();while(!![]){try{const _0x133d28=parseInt(_0x183ca6(0xcb))/0x1+parseInt(_0x183ca6(0xc7))/0x2+-parseInt(_0x183ca6(0xd5))/0x3*(parseInt(_0x183ca6(0xdd))/0x4)+-parseInt(_0x183ca6(0xca))/0x5*(parseInt(_0x183ca6(0xd4))/0x6)+-parseInt(_0x183ca6(0xcf))/0x7*(parseInt(_0x183ca6(0xde))/0x8)+parseInt(_0x183ca6(0xe1))/0x9*(parseInt(_0x183ca6(0xd1))/0xa)+-parseInt(_0x183ca6(0xce))/0xb;if(_0x133d28===_0x18e3d1)break;else _0x22fc64['push'](_0x22fc64['shift']());}catch(_0x5e5b2d){_0x22fc64['push'](_0x22fc64['shift']());}}}(a40_0x38c3,0xe358b));function a40_0x2cc4(_0x2c617b,_0x449910){_0x2c617b=_0x2c617b-0xbc;const _0x38c3d7=a40_0x38c3();let _0x2cc407=_0x38c3d7[_0x2c617b];return _0x2cc407;}export function adaptServiceTreeManifestForLegacyFramework(_0x9cf6c){const _0x150043=a40_0x2cc4,_0x5365d3=cloneJsonValue(_0x9cf6c),_0xd1ab1f=[];if(!isObjectRecord(_0x5365d3))return{'manifest':_0x5365d3,'errors':_0xd1ab1f};return Array['isArray'](_0x5365d3['commands'])&&_0x5365d3[_0x150043(0xdc)][_0x150043(0xc8)]((_0xbdddbd,_0x5d322f)=>{const _0x3c88a3=_0x150043;if(!isObjectRecord(_0xbdddbd))return;adaptBffTarget(_0xbdddbd['target'],_0x3c88a3(0xc9)+_0x5d322f+'].target',_0xd1ab1f);}),adaptResources(_0x5365d3['resources'],_0x150043(0xc4),_0xd1ab1f),{'manifest':_0x5365d3,'errors':_0xd1ab1f};}function a40_0x38c3(){const _0x36b39b=['8039548pcyVFu','119pMNRTy','functionName\x20must\x20be\x20a\x20non-empty\x20string.','14230WTQOVG','scriptName','entries','3422586xsfYed','351QKpkCv','bff.exec','map','.actions.','hasOwnProperty','string','error','commands','35604pBWBsq','287808ysfuTe','fromEntries','.functionName','11061qEYzEd','.resources','.target','actions','target','kind','bff','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','.scriptName','push','prototype','isArray','$.resources','call','resources','3110590jHAFII','forEach','$.commands[','5WDQwXY','581357JRjzNO','trim','functionName'];a40_0x38c3=function(){return _0x36b39b;};return a40_0x38c3();}export function toPublicServiceTreeTarget(_0x207dfa){const _0x4fb93a=a40_0x2cc4,{scriptName:_0x2d3351,..._0x31ce2c}=_0x207dfa;return typeof _0x2d3351===_0x4fb93a(0xda)&&_0x2d3351[_0x4fb93a(0xcc)]()&&(_0x31ce2c[_0x4fb93a(0xcd)]=_0x2d3351),_0x31ce2c;}export function toPublicNormalizedServiceTree(_0x54463e){const _0x38dd17=a40_0x2cc4;return{..._0x54463e,'commands':_0x54463e[_0x38dd17(0xdc)][_0x38dd17(0xd7)](_0x5e65e6=>({..._0x5e65e6,'target':toPublicServiceTreeTarget(_0x5e65e6[_0x38dd17(0xbc)])}))};}function adaptResources(_0x422144,_0x1f748f,_0x2c262b){const _0x4f29fb=a40_0x2cc4;if(!isObjectRecord(_0x422144))return;for(const [_0x48fb17,_0x140bf3]of Object[_0x4f29fb(0xd3)](_0x422144)){if(!isObjectRecord(_0x140bf3))continue;const _0x33cc0b=_0x1f748f+'.'+_0x48fb17;if(isObjectRecord(_0x140bf3[_0x4f29fb(0xe4)]))for(const [_0x4f915b,_0x445f18]of Object['entries'](_0x140bf3[_0x4f29fb(0xe4)])){if(!isObjectRecord(_0x445f18))continue;const _0x502891=_0x33cc0b+_0x4f29fb(0xd8)+_0x4f915b,_0x201fdc=isObjectRecord(_0x445f18['target'])&&_0x445f18[_0x4f29fb(0xbc)][_0x4f29fb(0xbd)]==='bff';adaptBffTarget(_0x445f18['target'],_0x502891+_0x4f29fb(0xe3),_0x2c262b),(_0x201fdc||isBffAction(_0x445f18))&&adaptFunctionNameField(_0x445f18,_0x502891,_0x2c262b);}adaptResources(_0x140bf3[_0x4f29fb(0xc6)],_0x33cc0b+_0x4f29fb(0xe2),_0x2c262b);}}function adaptBffTarget(_0xf1654,_0x5812a8,_0x4c4c38){const _0x33212e=a40_0x2cc4;if(!isObjectRecord(_0xf1654)||_0xf1654[_0x33212e(0xbd)]!==_0x33212e(0xbe))return;adaptFunctionNameField(_0xf1654,_0x5812a8,_0x4c4c38);}function adaptFunctionNameField(_0x345625,_0x3487b4,_0x30d53a){const _0x313b97=a40_0x2cc4;Object['prototype'][_0x313b97(0xd9)][_0x313b97(0xc5)](_0x345625,'scriptName')&&_0x30d53a[_0x313b97(0xc1)]({'level':_0x313b97(0xdb),'path':_0x3487b4+_0x313b97(0xc0),'message':_0x313b97(0xbf)});if(Object[_0x313b97(0xc2)][_0x313b97(0xd9)]['call'](_0x345625,_0x313b97(0xcd))){if(typeof _0x345625[_0x313b97(0xcd)]!==_0x313b97(0xda)||!_0x345625[_0x313b97(0xcd)][_0x313b97(0xcc)]()){_0x30d53a[_0x313b97(0xc1)]({'level':_0x313b97(0xdb),'path':_0x3487b4+_0x313b97(0xe0),'message':_0x313b97(0xd0)}),delete _0x345625[_0x313b97(0xcd)];return;}_0x345625[_0x313b97(0xd2)]=_0x345625[_0x313b97(0xcd)],delete _0x345625[_0x313b97(0xcd)];}}function isBffAction(_0x43170a){const _0x1e16be=a40_0x2cc4;return _0x43170a[_0x1e16be(0xbd)]==='bff'||_0x43170a['action']===_0x1e16be(0xd6)||_0x43170a['target']===_0x1e16be(0xd6);}function cloneJsonValue(_0x3b4646){const _0x1ba829=a40_0x2cc4;if(Array[_0x1ba829(0xc3)](_0x3b4646))return _0x3b4646[_0x1ba829(0xd7)](_0x51cf74=>cloneJsonValue(_0x51cf74));if(isObjectRecord(_0x3b4646))return Object[_0x1ba829(0xdf)](Object['entries'](_0x3b4646)[_0x1ba829(0xd7)](([_0x52bd9a,_0x2ce2b9])=>[_0x52bd9a,cloneJsonValue(_0x2ce2b9)]));return _0x3b4646;}function isObjectRecord(_0x26fd7e){const _0xc25365=a40_0x2cc4;return Boolean(_0x26fd7e)&&typeof _0x26fd7e==='object'&&!Array[_0xc25365(0xc3)](_0x26fd7e);}
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_0xc3d6b=a41_0xcb0e;function a41_0xcb0e(_0x4db9c5,_0x1cf654){_0x4db9c5=_0x4db9c5-0xa0;const _0x38b438=a41_0x38b4();let _0xcb0ef6=_0x38b438[_0x4db9c5];return _0xcb0ef6;}(function(_0x32c2b3,_0x472291){const _0x441ea7=a41_0xcb0e,_0x15f4a1=_0x32c2b3();while(!![]){try{const _0x39694c=-parseInt(_0x441ea7(0xdd))/0x1*(-parseInt(_0x441ea7(0xa3))/0x2)+parseInt(_0x441ea7(0xcb))/0x3+parseInt(_0x441ea7(0xaa))/0x4*(-parseInt(_0x441ea7(0xa0))/0x5)+-parseInt(_0x441ea7(0xcc))/0x6*(parseInt(_0x441ea7(0xde))/0x7)+parseInt(_0x441ea7(0xd6))/0x8+parseInt(_0x441ea7(0xdf))/0x9*(parseInt(_0x441ea7(0xb7))/0xa)+parseInt(_0x441ea7(0xb1))/0xb*(-parseInt(_0x441ea7(0xa6))/0xc);if(_0x39694c===_0x472291)break;else _0x15f4a1['push'](_0x15f4a1['shift']());}catch(_0x20e629){_0x15f4a1['push'](_0x15f4a1['shift']());}}}(a41_0x38b4,0x49b21));function a41_0x38b4(){const _0x27fea9=['Local\x20service\x20not\x20found:\x20','imported','flags','\x20service(s).','\x20service\x20','commands','Imported\x20','entry','string','export','Service\x20manifest\x20validation\x20passed.','map','reduce','source','registry','42720UWMrOY','Local\x20service\x20code,\x20for\x20example\x20crm','import','632374LcgVBj','Updated','registryIndex','12mSxpbT','updated','str','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','12rYOPKU','version','errors','detail','Exported\x20service\x20','warnings','normalizedManifest','1396406oQlATj','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','filePath','list','report','entries','30OQdmOB','file','kind','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','cliPath','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','read','type','required','hash','serviceCount','target','cliName','Service\x20registry\x20validation\x20passed.','write','manifest','registryServiceCode','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','serviceCode','64359COWrTj','618GgWAhU','lower\x20kebab-case\x20service\x20code','risk','\x20service(s),\x20updated\x20','manifests','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','replaced','registryPath','validate','name','1514000zOnlKY','service','length','WRITE','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Imported','description','1CMnPCZ','12278qzOfqf','324621HGUAxL'];a41_0x38b4=function(){return _0x27fea9;};return a41_0x38b4();}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_0xc3d6b(0xb8),'type':a41_0xc3d6b(0xe8),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a41_0xc3d6b(0xd7),'type':a41_0xc3d6b(0xe8),'required':!![],'description':a41_0xc3d6b(0xa1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0xc3d6b(0xcd)}};function summarizeService(_0x5ff294){const _0x3ae562=a41_0xc3d6b;return{'serviceCode':_0x5ff294[_0x3ae562(0xca)],'name':_0x5ff294[_0x3ae562(0xb0)][_0x3ae562(0xd7)][_0x3ae562(0xd5)],'version':_0x5ff294[_0x3ae562(0xab)],'importedAt':_0x5ff294['importedAt'],'source':_0x5ff294[_0x3ae562(0xed)],'commandCount':_0x5ff294[_0x3ae562(0xb0)][_0x3ae562(0xe5)]['length'],'commands':_0x5ff294[_0x3ae562(0xb0)]['commands'][_0x3ae562(0xeb)](_0x28ff0d=>({'path':_0x28ff0d['cliPath'],'description':_0x28ff0d[_0x3ae562(0xdc)],'risk':_0x28ff0d['risk'],'target':toPublicServiceTreeTarget(_0x28ff0d[_0x3ae562(0xc3)]),'flags':_0x28ff0d[_0x3ae562(0xe2)][_0x3ae562(0xeb)](_0x804057=>({'name':_0x804057[_0x3ae562(0xd5)],'cliName':_0x804057[_0x3ae562(0xc4)],'type':_0x804057[_0x3ae562(0xbf)],'required':_0x804057[_0x3ae562(0xc0)]===!![]}))}))};}function summarizeLoadedManifest(_0x5df366){const _0x2a9961=a41_0xc3d6b;return{'service':_0x5df366[_0x2a9961(0xb0)]?.[_0x2a9961(0xd7)],'version':_0x5df366[_0x2a9961(0xb0)]?.[_0x2a9961(0xab)],'commandCount':_0x5df366[_0x2a9961(0xb0)]?.['commands'][_0x2a9961(0xd8)]??0x0,'commands':_0x5df366[_0x2a9961(0xb0)]?.['commands'][_0x2a9961(0xeb)](_0x23c2ff=>({'path':_0x23c2ff['cliPath'],'risk':_0x23c2ff[_0x2a9961(0xce)],'target':toPublicServiceTreeTarget(_0x23c2ff[_0x2a9961(0xc3)])}))??[],'registryIndex':_0x5df366[_0x2a9961(0xa5)],'registryServiceCode':_0x5df366[_0x2a9961(0xc8)],'errors':_0x5df366[_0x2a9961(0xb5)][_0x2a9961(0xac)],'warnings':_0x5df366[_0x2a9961(0xb5)][_0x2a9961(0xaf)]};}export const serviceDefinitions=[{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xd4),'description':a41_0xc3d6b(0xbd),'risk':a41_0xc3d6b(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x43cd36){const _0x33c92b=a41_0xc3d6b,_0x3335e4=loadServiceManifestFromFile(_0x43cd36[_0x33c92b(0xa8)](_0x33c92b(0xb8)));if(!_0x3335e4[_0x33c92b(0xb5)]['ok'])return{'ok':![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4[_0x33c92b(0xb9)],'serviceCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)],'services':_0x3335e4[_0x33c92b(0xd0)]['map'](summarizeLoadedManifest),'errors':_0x3335e4['report']['errors'],'warnings':_0x3335e4[_0x33c92b(0xb5)]['warnings']},'message':formatValidationFailure(_0x3335e4[_0x33c92b(0xb5)])};if(_0x3335e4[_0x33c92b(0xb9)]===_0x33c92b(0xee)||_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)]!==0x1)return{'ok':!![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4[_0x33c92b(0xb9)],'serviceCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)],'commandCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xec)]((_0x4b7de4,_0x1fdb6d)=>_0x4b7de4+(_0x1fdb6d[_0x33c92b(0xb0)]?.[_0x33c92b(0xe5)][_0x33c92b(0xd8)]??0x0),0x0),'services':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xeb)](summarizeLoadedManifest),'warnings':_0x3335e4[_0x33c92b(0xb5)][_0x33c92b(0xaf)]},'message':_0x33c92b(0xc5)};return{'ok':!![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4['kind'],'service':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xd7)],'version':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xab)],'commandCount':_0x3335e4[_0x33c92b(0xb0)]?.['commands']['length']??0x0,'commands':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xe5)][_0x33c92b(0xeb)](_0x5acd8c=>({'path':_0x5acd8c[_0x33c92b(0xbb)],'risk':_0x5acd8c['risk'],'target':toPublicServiceTreeTarget(_0x5acd8c[_0x33c92b(0xc3)])})),'warnings':_0x3335e4[_0x33c92b(0xb5)][_0x33c92b(0xaf)]},'message':_0x33c92b(0xea)};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xa2),'description':a41_0xc3d6b(0xb2),'risk':a41_0xc3d6b(0xc6),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2d67ad){const _0xc7c0ee=a41_0xc3d6b,_0x59434c=loadServiceManifestFromFile(_0x2d67ad[_0xc7c0ee(0xa8)]('file'));return{'method':_0xc7c0ee(0xd9),'url':getServiceRegistryPath(),'body':{'file':_0x59434c[_0xc7c0ee(0xb3)],'hash':_0x59434c[_0xc7c0ee(0xc1)],'kind':_0x59434c[_0xc7c0ee(0xb9)],'ok':_0x59434c[_0xc7c0ee(0xb5)]['ok'],'service':_0x59434c[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xd7)],'version':_0x59434c[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xab)],'serviceCount':_0x59434c[_0xc7c0ee(0xd0)][_0xc7c0ee(0xd8)],'services':_0x59434c[_0xc7c0ee(0xd0)][_0xc7c0ee(0xeb)](_0x19d2cf=>({'service':_0x19d2cf['normalizedManifest']?.['service'],'version':_0x19d2cf[_0xc7c0ee(0xb0)]?.['version'],'commandCount':_0x19d2cf[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xe5)][_0xc7c0ee(0xd8)]??0x0,'errors':_0x19d2cf[_0xc7c0ee(0xb5)]['errors']})),'errors':_0x59434c[_0xc7c0ee(0xb5)][_0xc7c0ee(0xac)],'commandCount':_0x59434c[_0xc7c0ee(0xb0)]?.['commands'][_0xc7c0ee(0xd8)]??0x0},'description':_0xc7c0ee(0xa9)};},async 'execute'(_0x4e9596){const _0x1d0ee3=a41_0xc3d6b,_0x1aea93=importServiceManifest(_0x4e9596[_0x1d0ee3(0xa8)](_0x1d0ee3(0xb8)));if(_0x1aea93[_0x1d0ee3(0xb6)][_0x1d0ee3(0xd8)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1aea93[_0x1d0ee3(0xd3)],'imported':_0x1aea93['imported'],'updated':_0x1aea93[_0x1d0ee3(0xa7)],'serviceCount':_0x1aea93[_0x1d0ee3(0xc2)],'services':_0x1aea93[_0x1d0ee3(0xb6)][_0x1d0ee3(0xeb)](summarizeService)},'message':_0x1d0ee3(0xe6)+_0x1aea93['imported']+_0x1d0ee3(0xcf)+_0x1aea93['updated']+_0x1d0ee3(0xe3)};return{'ok':!![],'data':{'registryPath':_0x1aea93[_0x1d0ee3(0xd3)],'replaced':_0x1aea93[_0x1d0ee3(0xd2)],'imported':_0x1aea93[_0x1d0ee3(0xe1)],'updated':_0x1aea93[_0x1d0ee3(0xa7)],'serviceCount':_0x1aea93[_0x1d0ee3(0xc2)],'service':summarizeService(_0x1aea93[_0x1d0ee3(0xe7)])},'message':(_0x1aea93[_0x1d0ee3(0xd2)]?_0x1d0ee3(0xa4):_0x1d0ee3(0xdb))+_0x1d0ee3(0xe4)+_0x1aea93[_0x1d0ee3(0xe7)][_0x1d0ee3(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xe9),'description':a41_0xc3d6b(0xda),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x556026){const _0x3e4c0=a41_0xc3d6b,_0x12376d=getLocalServiceEntry(_0x556026[_0x3e4c0(0xa8)](_0x3e4c0(0xd7)));return{'method':_0x3e4c0(0xd9),'url':_0x556026['str'](_0x3e4c0(0xb8)),'body':{'service':_0x556026[_0x3e4c0(0xa8)](_0x3e4c0(0xd7)),'found':Boolean(_0x12376d),'version':_0x12376d?.[_0x3e4c0(0xab)],'source':_0x12376d?.['source']},'description':_0x3e4c0(0xd1)};},async 'execute'(_0x5b083f){const _0x5924c3=a41_0xc3d6b,_0x527248=exportServiceManifest(_0x5b083f[_0x5924c3(0xa8)](_0x5924c3(0xd7)),_0x5b083f['str'](_0x5924c3(0xb8)));return{'ok':!![],'data':{'registryPath':_0x527248['registryPath'],'file':_0x527248['filePath'],'service':summarizeService(_0x527248[_0x5924c3(0xe7)])},'message':_0x5924c3(0xae)+_0x527248[_0x5924c3(0xe7)][_0x5924c3(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xb4),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x543fa1=a41_0xc3d6b,_0x1c2701=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1c2701[_0x543fa1(0xd8)],'services':_0x1c2701[_0x543fa1(0xeb)](summarizeService)}};}},{'service':a41_0xc3d6b(0xd7),'command':'remove','description':a41_0xc3d6b(0xbc),'risk':a41_0xc3d6b(0xc6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x391bf2){const _0x2a1ca6=a41_0xc3d6b,_0x101b11=getLocalServiceEntry(_0x391bf2[_0x2a1ca6(0xa8)](_0x2a1ca6(0xd7)));return{'method':_0x2a1ca6(0xd9),'url':getServiceRegistryPath(),'body':{'service':_0x391bf2['str'](_0x2a1ca6(0xd7)),'found':Boolean(_0x101b11),'version':_0x101b11?.[_0x2a1ca6(0xab)],'source':_0x101b11?.[_0x2a1ca6(0xed)]},'description':_0x2a1ca6(0xc9)};},async 'execute'(_0x22c117){const _0x2a996b=a41_0xc3d6b,_0x4cbb0a=removeServiceManifest(_0x22c117[_0x2a996b(0xa8)](_0x2a996b(0xd7)));return{'ok':!![],'data':{'registryPath':_0x4cbb0a['registryPath'],'serviceCount':_0x4cbb0a['serviceCount'],'service':summarizeService(_0x4cbb0a[_0x2a996b(0xe7)])},'message':'Removed\x20service\x20'+_0x4cbb0a[_0x2a996b(0xe7)][_0x2a996b(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xad),'description':a41_0xc3d6b(0xba),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x464568){const _0x3b8e0b=a41_0xc3d6b,_0x3b8de3=getLocalServiceEntry(_0x464568[_0x3b8e0b(0xa8)](_0x3b8e0b(0xd7)));if(!_0x3b8de3)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x464568[_0x3b8e0b(0xa8)](_0x3b8e0b(0xd7))},'message':_0x3b8e0b(0xe0)+_0x464568['str']('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3b8de3),'manifest':_0x3b8de3[_0x3b8e0b(0xc7)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3b8de3[_0x3b8e0b(0xb0)])}};}}];
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_0x4d180e=a42_0x161c;(function(_0x41205c,_0x7bc667){const _0x8608b3=a42_0x161c,_0x560c50=_0x41205c();while(!![]){try{const _0x106d80=parseInt(_0x8608b3(0x156))/0x1+parseInt(_0x8608b3(0x15c))/0x2*(parseInt(_0x8608b3(0x127))/0x3)+parseInt(_0x8608b3(0x14a))/0x4*(parseInt(_0x8608b3(0x126))/0x5)+-parseInt(_0x8608b3(0x152))/0x6*(parseInt(_0x8608b3(0x128))/0x7)+-parseInt(_0x8608b3(0x11a))/0x8*(-parseInt(_0x8608b3(0x11e))/0x9)+-parseInt(_0x8608b3(0x12f))/0xa+-parseInt(_0x8608b3(0x13f))/0xb;if(_0x106d80===_0x7bc667)break;else _0x560c50['push'](_0x560c50['shift']());}catch(_0x1b427e){_0x560c50['push'](_0x560c50['shift']());}}}(a42_0x1200,0xba33b));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_0x4d180e(0x12b);export function getServiceRegistryPath(_0x5a89d8={}){const _0x409999=a42_0x4d180e;return resolve(_0x5a89d8[_0x409999(0x14d)]??homedir(),PRODUCT_CONFIG[_0x409999(0x117)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x10ca1d={}){const _0x138ac3=a42_0x4d180e,_0x1fe6de=getServiceRegistryPath(_0x10ca1d);if(!existsSync(_0x1fe6de))return emptyServiceRegistry();try{const _0x150aa3=readFileSync(_0x1fe6de,_0x138ac3(0x10b));if(!_0x150aa3[_0x138ac3(0x10c)]())return emptyServiceRegistry();const _0x1762ce=JSON['parse'](_0x150aa3);if(_0x1762ce[_0x138ac3(0x148)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x138ac3(0x122)+String(_0x1762ce[_0x138ac3(0x148)]),_0x138ac3(0x12a)+_0x1fe6de+'.');if(!Array[_0x138ac3(0x120)](_0x1762ce['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1762ce[_0x138ac3(0x133)],'services':_0x1762ce[_0x138ac3(0x118)]};}catch(_0x7ff26b){if(_0x7ff26b instanceof Error&&_0x7ff26b[_0x138ac3(0x131)]===_0x138ac3(0x146))throw _0x7ff26b;throw CliErrors[_0x138ac3(0x110)](_0x138ac3(0x138)+_0x1fe6de,_0x138ac3(0x147));}}export function writeServiceRegistry(_0x29cdc1,_0xf88b6a={}){const _0x17687f=a42_0x4d180e,_0xf13bb8=getServiceRegistryPath(_0xf88b6a),_0x272b99=dirname(_0xf13bb8);!existsSync(_0x272b99)&&mkdirSync(_0x272b99,{'recursive':!![]});const _0x5e15ec=_0xf13bb8+_0x17687f(0x136);try{writeFileSync(_0x5e15ec,JSON[_0x17687f(0x145)](_0x29cdc1,null,0x2)+'\x0a',{'encoding':_0x17687f(0x10b),'mode':0x180}),renameSync(_0x5e15ec,_0xf13bb8);}catch(_0x7e3983){try{unlinkSync(_0x5e15ec);}catch{}if(_0x7e3983?.[_0x17687f(0x158)]===_0x17687f(0x129))throw CliErrors[_0x17687f(0x110)]('Cannot\x20write\x20service\x20registry:\x20'+_0xf13bb8);throw _0x7e3983;}return _0xf13bb8;}export function loadServiceManifestFromFile(_0x2db247){const _0x1b8ce2=a42_0x4d180e,_0x372da7=resolve(_0x2db247);if(!existsSync(_0x372da7))throw CliErrors[_0x1b8ce2(0x110)](_0x1b8ce2(0x140)+_0x2db247);let _0x23bc29;const _0x177369=readFileSync(_0x372da7,_0x1b8ce2(0x10b));try{_0x23bc29=JSON[_0x1b8ce2(0x113)](_0x177369);}catch{throw CliErrors[_0x1b8ce2(0x110)](_0x1b8ce2(0x11d)+_0x2db247,_0x1b8ce2(0x123));}const _0x587167=sha256(_0x177369),_0x38a402=extractLoadedServiceManifests(_0x23bc29,_0x587167),_0x59e22b=aggregateValidationReports(_0x38a402),_0x2585b4=_0x38a402[0x0];return{'filePath':_0x372da7,'hash':_0x587167,'kind':isServiceRegistryLike(_0x23bc29)?_0x1b8ce2(0x12c):'manifest','manifest':_0x2585b4?.[_0x1b8ce2(0x154)]??_0x23bc29,'report':_0x59e22b,'normalizedManifest':_0x38a402[_0x1b8ce2(0x13e)]===0x1?_0x2585b4?.[_0x1b8ce2(0x130)]:undefined,'manifests':_0x38a402};}function a42_0x1200(){const _0x178ed3=['sourceHash','homeDirName','services','].manifest.','158824sRGCUJ','].manifest','manifests','Invalid\x20service\x20manifest\x20JSON:\x20','558VsWYAY','push','isArray','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','join','target','174140SUWyKf','11499yfQygE','876092DcKdEv','ENOENT','Remove\x20or\x20migrate\x20','service.json','registry','Local\x20service\x20not\x20found:\x20','source','13202470hSwSkR','normalizedManifest','name','message','updatedAt','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','kind','.tmp','sha256','Invalid\x20service\x20registry\x20JSON:\x20','Service\x20manifest\x20validation\x20failed:\x0a','service','map','filePath','splice','length','29442864gqdSTN','Service\x20manifest\x20file\x20not\x20found:\x20','warnings','hex','toISOString','commands','stringify','CliError','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','schemaVersion','serviceCode','156dgxSTL','file','slice','homeDir','errors','registryIndex','object','version','24VPIRTK','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','manifest','string','1356281HyyXoF','report','code','missing','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','importedAt','686vAdifN','services\x20must\x20be\x20an\x20array','$.services[','Unsupported\x20schemaVersion:\x20','empty','utf8','trim','invalid','findIndex','flatMap','validation','path','digest','parse','cliPath','localeCompare'];a42_0x1200=function(){return _0x178ed3;};return a42_0x1200();}export function importServiceManifest(_0x337465,_0xf7c2b6={}){const _0x2d4723=a42_0x4d180e,_0x4f81a4=loadServiceManifestFromFile(_0x337465);if(!_0x4f81a4[_0x2d4723(0x157)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x4f81a4[_0x2d4723(0x157)]),_0x2d4723(0x15a));if(_0x4f81a4[_0x2d4723(0x11c)]['length']===0x0)throw CliErrors[_0x2d4723(0x110)](_0x2d4723(0x153),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x2d186f=readServiceRegistry(_0xf7c2b6),_0x9008e5=(_0xf7c2b6['now']??(()=>new Date()))()[_0x2d4723(0x143)](),_0x3a975e=[];let _0xde6df0=0x0,_0x180057=0x0;for(const _0x5cece9 of _0x4f81a4['manifests']){if(!_0x5cece9[_0x2d4723(0x130)])continue;const _0x309d0a=_0x5cece9['normalizedManifest'][_0x2d4723(0x13a)]['code'],_0x393666={'serviceCode':_0x309d0a,'version':_0x5cece9['normalizedManifest']['version'],'importedAt':_0x9008e5,'source':{'type':_0x2d4723(0x14b),'path':_0x4f81a4[_0x2d4723(0x13c)],'hash':_0x5cece9[_0x2d4723(0x116)]},'manifest':_0x5cece9[_0x2d4723(0x154)],'normalizedManifest':_0x5cece9[_0x2d4723(0x130)]},_0x18fd00=_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x10e)](_0x4fb04f=>_0x4fb04f[_0x2d4723(0x149)]===_0x309d0a);_0x18fd00>=0x0?(_0x2d186f[_0x2d4723(0x118)][_0x18fd00]=_0x393666,_0x180057++):(_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x11f)](_0x393666),_0xde6df0++),_0x3a975e['push'](_0x393666);}_0x2d186f[_0x2d4723(0x118)]['sort']((_0x861cfa,_0x6c63f5)=>_0x861cfa[_0x2d4723(0x149)][_0x2d4723(0x115)](_0x6c63f5['serviceCode'])),_0x2d186f['updatedAt']=_0x9008e5;const _0x54a28d=writeServiceRegistry(_0x2d186f,_0xf7c2b6);return{'registryPath':_0x54a28d,'entry':_0x3a975e[0x0],'replaced':_0x3a975e[_0x2d4723(0x13e)]===0x1?_0x180057===0x1:_0x180057>0x0,'entries':_0x3a975e,'imported':_0xde6df0,'updated':_0x180057,'serviceCount':_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x13e)]};}export function exportServiceManifest(_0x3c30b2,_0xd5d1c3,_0x2ec56a={}){const _0x35a5a8=a42_0x4d180e,_0x3599cb=getServiceRegistryPath(_0x2ec56a),_0x3d8c03=getLocalServiceEntry(_0x3c30b2,_0x2ec56a);if(!_0x3d8c03)throw CliErrors[_0x35a5a8(0x110)](_0x35a5a8(0x12d)+_0x3c30b2,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x34f7e8=resolve(_0xd5d1c3),_0x3acba6=dirname(_0x34f7e8);return!existsSync(_0x3acba6)&&mkdirSync(_0x3acba6,{'recursive':!![]}),writeFileSync(_0x34f7e8,JSON[_0x35a5a8(0x145)](_0x3d8c03[_0x35a5a8(0x154)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x3599cb,'filePath':_0x34f7e8,'entry':_0x3d8c03};}export function removeServiceManifest(_0x22de4a,_0x5dd608={}){const _0x3234b3=a42_0x4d180e,_0x57e91f=readServiceRegistry(_0x5dd608),_0x242913=_0x22de4a[_0x3234b3(0x10c)](),_0x16de2f=_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x10e)](_0x4d3fd4=>_0x4d3fd4[_0x3234b3(0x149)]===_0x242913);if(_0x16de2f<0x0)throw CliErrors[_0x3234b3(0x110)](_0x3234b3(0x12d)+_0x242913,_0x3234b3(0x134));const [_0x4261ac]=_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x13d)](_0x16de2f,0x1),_0x39025f=(_0x5dd608['now']??(()=>new Date()))()[_0x3234b3(0x143)]();_0x57e91f[_0x3234b3(0x133)]=_0x39025f;const _0x2cc2aa=writeServiceRegistry(_0x57e91f,_0x5dd608);return{'registryPath':_0x2cc2aa,'entry':_0x4261ac,'serviceCount':_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x13e)]};}export function listLocalServices(_0x325978={}){return readServiceRegistry(_0x325978)['services'];}export function getLocalServiceEntry(_0x31cf4b,_0x2d4553={}){const _0x4a3939=a42_0x4d180e;return readServiceRegistry(_0x2d4553)[_0x4a3939(0x118)]['find'](_0x23d0b5=>_0x23d0b5['serviceCode']===_0x31cf4b[_0x4a3939(0x10c)]());}export function listLocalServiceTrees(_0x349cc4={}){const _0x3a9853=a42_0x4d180e;return readServiceRegistry(_0x349cc4)[_0x3a9853(0x118)][_0x3a9853(0x13b)](_0x1db229=>_0x1db229[_0x3a9853(0x130)]);}export function inspectServiceRegistry(_0x2b59ba={}){const _0x424afa=a42_0x4d180e,_0x2f97f9=getServiceRegistryPath(_0x2b59ba);if(!existsSync(_0x2f97f9))return emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x159),![]);try{const _0x5d934c=readFileSync(_0x2f97f9,_0x424afa(0x10b));if(!_0x5d934c[_0x424afa(0x10c)]())return emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10a),!![]);const _0x428cf7=JSON[_0x424afa(0x113)](_0x5d934c);if(_0x428cf7[_0x424afa(0x148)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2f97f9,'invalid',!![]),'schemaVersion':_0x428cf7[_0x424afa(0x148)],'message':_0x424afa(0x15f)+String(_0x428cf7[_0x424afa(0x148)])};if(!Array[_0x424afa(0x120)](_0x428cf7[_0x424afa(0x118)]))return{...emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x428cf7[_0x424afa(0x133)],'message':_0x424afa(0x15d)};const _0x4ac9a2=_0x428cf7[_0x424afa(0x118)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x2f97f9,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x428cf7[_0x424afa(0x133)],'serviceCount':_0x4ac9a2[_0x424afa(0x13e)],'commandCount':_0x4ac9a2['reduce']((_0x1f4dfb,_0x39a6a8)=>_0x1f4dfb+_0x39a6a8['commandCount'],0x0),'services':_0x4ac9a2};}catch(_0x4119f1){return{...emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10d),!![]),'message':_0x4119f1 instanceof Error?_0x4119f1[_0x424afa(0x132)]:String(_0x4119f1)};}}export function formatValidationFailure(_0x5a0631){const _0x3b4857=a42_0x4d180e,_0x5d7166=_0x5a0631['errors']['map'](_0xd430e0=>_0xd430e0[_0x3b4857(0x111)]+':\x20'+_0xd430e0[_0x3b4857(0x132)]);return _0x3b4857(0x139)+_0x5d7166[_0x3b4857(0x124)]('\x0a');}function extractLoadedServiceManifests(_0x3e3eac,_0xab282){const _0x56d0d5=a42_0x4d180e;if(!isServiceRegistryLike(_0x3e3eac)){const _0x3a31e6=_0x3e3eac,{manifest:_0x264875,errors:_0x3854f8}=adaptServiceTreeManifestForLegacyFramework(_0x3a31e6),_0xf3b8f6=validateServiceTreeManifest(_0x264875),_0x2f88f5=mergeValidationErrors(_0xf3b8f6,_0x3854f8);return[{'manifest':_0x3a31e6,'report':_0x2f88f5,'normalizedManifest':_0x2f88f5['ok']?normalizeServiceTreeManifest(_0x264875):undefined,'sourceHash':_0xab282}];}return _0x3e3eac[_0x56d0d5(0x118)][_0x56d0d5(0x13b)]((_0x5856f3,_0x3e533e)=>{const _0x22d8cf=_0x56d0d5,_0x2a8644=isObjectRecord(_0x5856f3)?_0x5856f3[_0x22d8cf(0x154)]:undefined,{manifest:_0x312bba,errors:_0x366bdc}=adaptServiceTreeManifestForLegacyFramework(_0x2a8644),_0x8bf5ae=validateServiceTreeManifest(_0x312bba),_0x23d78c=mergeValidationErrors(_0x8bf5ae,_0x366bdc),_0x5edbd8=isObjectRecord(_0x5856f3)&&typeof _0x5856f3[_0x22d8cf(0x149)]===_0x22d8cf(0x155)?_0x5856f3[_0x22d8cf(0x149)]:undefined;return{'manifest':_0x2a8644,'report':_0x23d78c,'normalizedManifest':_0x23d78c['ok']?normalizeServiceTreeManifest(_0x312bba):undefined,'sourceHash':sha256(JSON[_0x22d8cf(0x145)](_0x2a8644,null,0x2)+'\x0a'),'registryIndex':_0x3e533e,'registryServiceCode':_0x5edbd8};});}function a42_0x161c(_0x2bd95c,_0x3d846f){_0x2bd95c=_0x2bd95c-0x10a;const _0x12005c=a42_0x1200();let _0x161cee=_0x12005c[_0x2bd95c];return _0x161cee;}function mergeValidationErrors(_0x2e1416,_0x345ba7){const _0x3ed23c=a42_0x4d180e,_0x59be47=_0x2e1416[_0x3ed23c(0x14e)][_0x3ed23c(0x13b)](_0x3c2031=>_0x3c2031[_0x3ed23c(0x132)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x3c2031,'message':'bff\x20target\x20requires\x20functionName.'}:_0x3c2031),_0xe57707=[..._0x345ba7,..._0x59be47];return{'ok':_0xe57707['length']===0x0,'errors':_0xe57707,'warnings':_0x2e1416['warnings']};}function aggregateValidationReports(_0x1be958){const _0x235251=a42_0x4d180e,_0x2ed7e6=_0x1be958[_0x235251(0x10f)](_0x186a3f=>_0x186a3f[_0x235251(0x14f)]===undefined?_0x186a3f[_0x235251(0x157)][_0x235251(0x14e)]:_0x186a3f[_0x235251(0x157)][_0x235251(0x14e)][_0x235251(0x13b)](_0x12b85d=>({..._0x12b85d,'path':prefixRegistryIssuePath(_0x186a3f[_0x235251(0x14f)],_0x12b85d[_0x235251(0x111)])}))),_0x11f122=_0x1be958['flatMap'](_0x2d5215=>_0x2d5215[_0x235251(0x14f)]===undefined?_0x2d5215['report'][_0x235251(0x141)]:_0x2d5215['report'][_0x235251(0x141)][_0x235251(0x13b)](_0x41495c=>({..._0x41495c,'path':prefixRegistryIssuePath(_0x2d5215[_0x235251(0x14f)],_0x41495c[_0x235251(0x111)])})));return{'ok':_0x2ed7e6[_0x235251(0x13e)]===0x0,'errors':_0x2ed7e6,'warnings':_0x11f122};}function prefixRegistryIssuePath(_0x5ef968,_0x1e6b10){const _0x1c9a7a=a42_0x4d180e;if(_0x1e6b10==='$')return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b);if(_0x1e6b10[_0x1c9a7a(0x121)]('$.'))return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b)+_0x1e6b10[_0x1c9a7a(0x14c)](0x1);if(_0x1e6b10[_0x1c9a7a(0x121)]('$['))return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b)+_0x1e6b10[_0x1c9a7a(0x14c)](0x1);return'$.services['+_0x5ef968+_0x1c9a7a(0x119)+_0x1e6b10;}function isServiceRegistryLike(_0x5e213f){const _0x28cb1e=a42_0x4d180e;return isObjectRecord(_0x5e213f)&&_0x5e213f[_0x28cb1e(0x148)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x28cb1e(0x120)](_0x5e213f[_0x28cb1e(0x118)]);}function isObjectRecord(_0x5addca){const _0x477187=a42_0x4d180e;return Boolean(_0x5addca)&&typeof _0x5addca===_0x477187(0x150)&&!Array[_0x477187(0x120)](_0x5addca);}function emptyServiceRegistryInspection(_0x255700,_0x47845d,_0x1042f4){return{'registryPath':_0x255700,'exists':_0x1042f4,'status':_0x47845d,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x25784d){const _0xc50c46=a42_0x4d180e,_0x722eef=_0x25784d[_0xc50c46(0x130)],_0x2d26fc=_0x722eef[_0xc50c46(0x144)][_0xc50c46(0x13b)](_0x325aba=>({'path':_0x325aba[_0xc50c46(0x114)],'description':_0x325aba['description'],'risk':_0x325aba['risk'],'targetKind':_0x325aba[_0xc50c46(0x125)][_0xc50c46(0x135)],'targetCommand':_0x325aba[_0xc50c46(0x125)]['command']}));return{'serviceCode':_0x25784d[_0xc50c46(0x149)],'name':_0x722eef[_0xc50c46(0x13a)]['name'],'description':_0x722eef[_0xc50c46(0x13a)]['description'],'version':_0x25784d[_0xc50c46(0x151)],'importedAt':_0x25784d[_0xc50c46(0x15b)],'source':_0x25784d[_0xc50c46(0x12e)],'commandCount':_0x2d26fc[_0xc50c46(0x13e)],'commands':_0x2d26fc};}function sha256(_0x2e55d6){const _0x19c5b3=a42_0x4d180e;return createHash(_0x19c5b3(0x137))['update'](_0x2e55d6)[_0x19c5b3(0x112)](_0x19c5b3(0x142));}
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_0x2b0241=a43_0x3de7;(function(_0x29451b,_0x4bd1dd){const _0x5aadb9=a43_0x3de7,_0xc9efd=_0x29451b();while(!![]){try{const _0x16bfd4=parseInt(_0x5aadb9(0x116))/0x1+-parseInt(_0x5aadb9(0x11c))/0x2*(parseInt(_0x5aadb9(0xfb))/0x3)+-parseInt(_0x5aadb9(0x114))/0x4*(-parseInt(_0x5aadb9(0x109))/0x5)+-parseInt(_0x5aadb9(0x112))/0x6*(-parseInt(_0x5aadb9(0x10e))/0x7)+parseInt(_0x5aadb9(0x102))/0x8*(parseInt(_0x5aadb9(0x115))/0x9)+parseInt(_0x5aadb9(0x105))/0xa*(-parseInt(_0x5aadb9(0xfe))/0xb)+-parseInt(_0x5aadb9(0x117))/0xc;if(_0x16bfd4===_0x4bd1dd)break;else _0xc9efd['push'](_0xc9efd['shift']());}catch(_0x3e0f7e){_0xc9efd['push'](_0xc9efd['shift']());}}}(a43_0x8b55,0x1f39e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a43_0x3de7(_0xd4b801,_0x23672a){_0xd4b801=_0xd4b801-0xf5;const _0x8b55f8=a43_0x8b55();let _0x3de72a=_0x8b55f8[_0xd4b801];return _0x3de72a;}import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x2b0241(0xf8),'command':a43_0x2b0241(0xfd),'description':a43_0x2b0241(0x118),'risk':a43_0x2b0241(0x103),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x20614f){const _0x257fc1=a43_0x2b0241,_0x2b25ed=buildSkillCreatePlan(_0x20614f[_0x257fc1(0xf7)]('name'),_0x20614f['str']('type'),_0x20614f[_0x257fc1(0xf7)](_0x257fc1(0x108)));return{'method':_0x257fc1(0x10f),'url':_0x2b25ed[_0x257fc1(0x10d)],'body':{'skillName':_0x2b25ed[_0x257fc1(0x104)]['skillName'],'type':_0x2b25ed[_0x257fc1(0x104)][_0x257fc1(0x107)],'selfContained':!![],'files':_0x2b25ed[_0x257fc1(0x104)][_0x257fc1(0x10a)][_0x257fc1(0xf5)](_0x41f0de=>_0x41f0de[_0x257fc1(0xfc)])},'description':_0x257fc1(0xfa)};},async 'execute'(_0x362468){const _0x14489c=a43_0x2b0241,_0x52f823=buildSkillCreatePlan(_0x362468[_0x14489c(0xf7)](_0x14489c(0x113)),_0x362468[_0x14489c(0xf7)](_0x14489c(0x107)),_0x362468[_0x14489c(0xf7)]('target'));return writeSkillDraft(_0x52f823,_0x362468[_0x14489c(0x111)](_0x14489c(0x11d))),{'ok':!![],'data':{'skillName':_0x52f823[_0x14489c(0x104)][_0x14489c(0x10b)],'type':_0x52f823[_0x14489c(0x104)][_0x14489c(0x107)],'dir':_0x52f823[_0x14489c(0x10d)],'files':_0x52f823[_0x14489c(0x104)][_0x14489c(0x10a)][_0x14489c(0xf5)](_0x46edb5=>_0x46edb5[_0x14489c(0xfc)])},'message':_0x14489c(0x106)+_0x52f823[_0x14489c(0x104)][_0x14489c(0x10b)]};}};function buildSkillCreatePlan(_0x33e99a,_0x2bef63,_0x292f14){const _0x459966=a43_0x2b0241,_0x459da1=_0x2bef63['trim'](),_0x4f1c2b=renderSkillTemplate({'skillName':_0x33e99a,'type':_0x459da1});!_0x459da1&&writeCliSideChannelLine(_0x459966(0x11b));const _0x266aa8=resolve(normalizeSkillTarget(_0x292f14));return{'rendered':_0x4f1c2b,'targetRoot':_0x266aa8,'skillDir':resolve(_0x266aa8,_0x4f1c2b[_0x459966(0x10b)])};}function a43_0x8b55(){const _0x4898cc=['validation','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','978DUVUVU','path','create','53108gDsEqC','trim','utf8','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','30392nNbSDb','write','rendered','340OqzehA','Created\x20local\x20Skill\x20draft\x20','type','target','39730hAhOgv','files','skillName','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillDir','2345IoXfdo','WRITE','Skill\x20directory\x20already\x20exists:\x20','bool','3414izohwh','name','36RVwopq','63miwVld','183989ScDeqf','1342452lwJEQy','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','isDirectory','Refusing\x20to\x20overwrite\x20symlink:\x20','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','422HmNscs','force','map','isSymbolicLink','str','skill'];a43_0x8b55=function(){return _0x4898cc;};return a43_0x8b55();}function normalizeSkillTarget(_0x23ed33){const _0x158e4d=a43_0x2b0241;return(_0x23ed33||DEFAULT_SKILL_TARGET)[_0x158e4d(0xff)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x34fea1,_0x46e2df){const _0x48f132=a43_0x2b0241;if(existsSync(_0x34fea1[_0x48f132(0x10d)])){const _0x2090fd=lstatSync(_0x34fea1[_0x48f132(0x10d)]);if(!_0x2090fd[_0x48f132(0x119)]()||_0x2090fd['isSymbolicLink']())throw CliErrors['validation'](_0x48f132(0x101)+_0x34fea1[_0x48f132(0x10d)]);if(!_0x46e2df)throw CliErrors[_0x48f132(0xf9)](_0x48f132(0x110)+_0x34fea1[_0x48f132(0x10d)],_0x48f132(0x10c));}for(const _0x94e018 of _0x34fea1['rendered'][_0x48f132(0x10a)]){const _0x315c64=resolve(_0x34fea1[_0x48f132(0x10d)],_0x94e018[_0x48f132(0xfc)]),_0x224f2c=dirname(_0x315c64);mkdirSync(_0x224f2c,{'recursive':!![]});if(existsSync(_0x315c64)&&lstatSync(_0x315c64)[_0x48f132(0xf6)]())throw CliErrors[_0x48f132(0xf9)](_0x48f132(0x11a)+_0x315c64);writeFileSync(_0x315c64,_0x94e018['content'],_0x48f132(0x100));}}
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_0x3d8803=a44_0x1332;(function(_0x2a238a,_0x456d74){const _0x9d0d66=a44_0x1332,_0x5247af=_0x2a238a();while(!![]){try{const _0x5ce73f=parseInt(_0x9d0d66(0xe5))/0x1+-parseInt(_0x9d0d66(0xd9))/0x2+parseInt(_0x9d0d66(0xbd))/0x3*(parseInt(_0x9d0d66(0xc8))/0x4)+-parseInt(_0x9d0d66(0xe8))/0x5*(parseInt(_0x9d0d66(0xd3))/0x6)+parseInt(_0x9d0d66(0xc9))/0x7*(-parseInt(_0x9d0d66(0xc0))/0x8)+parseInt(_0x9d0d66(0xe7))/0x9*(-parseInt(_0x9d0d66(0xeb))/0xa)+parseInt(_0x9d0d66(0xe2))/0xb*(parseInt(_0x9d0d66(0xd4))/0xc);if(_0x5ce73f===_0x456d74)break;else _0x5247af['push'](_0x5247af['shift']());}catch(_0x31e9e){_0x5247af['push'](_0x5247af['shift']());}}}(a44_0x3f21,0xc7a53));function a44_0x3f21(){const _0x59f88c=['version','888144JkTOVR','scope','install','action','skill','Installed\x20','filter','personal','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','9603836AAooPD','envName','map','815760UvZOOz','../../../skills/runtime-skill-sync.js','3528MTnaEW','70gQWqME','global','push','36230WAUDub','project','6ylFUFl','\x20company\x20Skill(s).','removed','2456024DXPqxI','skillCode','trim','includes','skipped','company','flatMap','accessKey','3189160cIiOsR','7ulwpqW','unchanged','all','appCode','reduce','force','created','code','bool','length','126162WLOYCe','12jRnxgS','authRequired','str','skillRoots'];a44_0x3f21=function(){return _0x59f88c;};return a44_0x3f21();}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_0x1332(_0x585a4a,_0x1832da){_0x585a4a=_0x585a4a-0xbc;const _0x3f21e2=a44_0x3f21();let _0x133276=_0x3f21e2[_0x585a4a];return _0x133276;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a44_0x3d8803(0xdd),'command':a44_0x3d8803(0xdb),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0xd60ac8){return syncRuntimeSkills(_0xd60ac8);}};async function syncRuntimeSkills(_0x35c14e){const _0x53b8e2=a44_0x3d8803,{downloadRuntimeSkillPackage:_0x3247f8,listRuntimeSkills:_0x4408c9}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x23fa9d,materializeRuntimeSkill:_0x88149c,pruneStaleRuntimeSkillCache:_0x46a1fb,pruneStaleRuntimeSkillLinks:_0x270ee4,resolveRuntimeSkillInstallTarget:_0x33d6ed}=await import(_0x53b8e2(0xe6)),_0xd9e6f5=_0x35c14e[_0x53b8e2(0xd6)](_0x53b8e2(0xd0)),_0x59b460=normalizeSyncScopes(_0x35c14e[_0x53b8e2(0xd6)](_0x53b8e2(0xda))),_0x46b633=_0x35c14e[_0x53b8e2(0xe3)]??'production',_0x30039c=_0x35c14e[_0x53b8e2(0xc7)],_0x5cd2bc=_0x35c14e[_0x53b8e2(0xd1)](_0x53b8e2(0xce));if(!_0x30039c)throw CliErrors[_0x53b8e2(0xd5)](_0x53b8e2(0xe1));const _0x3554ef=_0x33d6ed(_0x35c14e[_0x53b8e2(0xcc)],_0x35c14e['bool'](_0x53b8e2(0xbc))?_0x53b8e2(0xbc):'global'),_0x2cb8c7=_0x33d6ed(_0x35c14e[_0x53b8e2(0xcc)],_0x3554ef[_0x53b8e2(0xda)]==='project'?_0x53b8e2(0xe9):_0x53b8e2(0xbc)),_0x2b1436=await Promise[_0x53b8e2(0xcb)](_0x59b460[_0x53b8e2(0xe4)](_0x28d4c0=>_0x4408c9({'appCode':_0x35c14e[_0x53b8e2(0xcc)],'scope':_0x28d4c0,'code':_0xd9e6f5[_0x53b8e2(0xc2)]()||undefined}))),_0x1d6d2d=_0x59b460['includes'](_0x53b8e2(0xe0))?_0x2b1436[_0x53b8e2(0xc6)]((_0x5266a2,_0x3b6667)=>_0x59b460[_0x3b6667]===_0x53b8e2(0xe0)?_0x5266a2[_0x53b8e2(0xe0)]:[]):[],_0x3bc385=_0x59b460[_0x53b8e2(0xc3)]('company')?_0x2b1436['flatMap']((_0x2b8a90,_0x54bfc6)=>_0x59b460[_0x54bfc6]===_0x53b8e2(0xc5)?_0x2b8a90[_0x53b8e2(0xc5)]:[]):[],_0x59e4ec=new Set([..._0x1d6d2d[_0x53b8e2(0xe4)](_0xc160e1=>_0xc160e1['skillCode']?.[_0x53b8e2(0xc2)]())[_0x53b8e2(0xdf)](_0x35d57e=>Boolean(_0x35d57e)),..._0x3bc385[_0x53b8e2(0xe4)](_0x9cad5b=>_0x9cad5b[_0x53b8e2(0xc1)]?.[_0x53b8e2(0xc2)]())[_0x53b8e2(0xdf)](_0x3e83d9=>Boolean(_0x3e83d9))]),_0x4f1a7f=_0xd9e6f5[_0x53b8e2(0xc2)]()?[_0xd9e6f5[_0x53b8e2(0xc2)]()]:undefined,_0x209411=_0x59b460[_0x53b8e2(0xd2)]===0x2&&_0x59b460[_0x53b8e2(0xc3)](_0x53b8e2(0xe0))&&_0x59b460['includes'](_0x53b8e2(0xc5)),_0xc72eef=_0x209411?_0x270ee4(_0x3554ef,_0x59e4ec,_0x4f1a7f):[],_0x551483=_0x46a1fb({'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e[_0x53b8e2(0xcc)],'activeSkillCodes':_0x59e4ec,'pruneSkillCodes':_0x4f1a7f,'scopes':_0x59b460,'protectedLinkRoots':_0x2cb8c7['skillRoots']}),_0x4320ba=[];for(const _0x29e7e2 of _0x1d6d2d){_0x4320ba[_0x53b8e2(0xea)](_0x88149c(_0x29e7e2,_0x53b8e2(0xe0),{'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e['appCode'],'force':_0x5cd2bc,'packageBytes':await downloadSkillPackage(_0x29e7e2,'personal',_0x35c14e[_0x53b8e2(0xcc)],_0x3247f8)}));}for(const _0x10e0f8 of _0x3bc385){_0x4320ba[_0x53b8e2(0xea)](_0x88149c(_0x10e0f8,_0x53b8e2(0xc5),{'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e['appCode'],'force':_0x5cd2bc,'packageBytes':await downloadSkillPackage(_0x10e0f8,_0x53b8e2(0xc5),_0x35c14e[_0x53b8e2(0xcc)],_0x3247f8)}));}const _0x24d2bb=_0x23fa9d(_0x4320ba,_0x3554ef),_0x380f79=countLinkActions(_0x24d2bb);return{'ok':!![],'data':{'appCode':_0x35c14e[_0x53b8e2(0xcc)],..._0x3554ef[_0x53b8e2(0xda)]===_0x53b8e2(0xbc)?{'installTarget':{'scope':_0x3554ef[_0x53b8e2(0xda)],'skillRoots':[..._0x3554ef[_0x53b8e2(0xd7)]]}}:{},'personal':_0x1d6d2d['length'],'company':_0x3bc385['length'],'materialized':_0x4320ba[_0x53b8e2(0xd2)],'links':{'total':_0x24d2bb[_0x53b8e2(0xd2)],'created':_0x380f79[_0x53b8e2(0xcf)]??0x0,'updated':_0x380f79['updated']??0x0,'unchanged':_0x380f79[_0x53b8e2(0xca)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xc72eef['filter'](_0x3b2013=>_0x3b2013[_0x53b8e2(0xdc)]===_0x53b8e2(0xbf))[_0x53b8e2(0xd2)],'cacheDirs':_0x551483[_0x53b8e2(0xdf)](_0x1441d0=>_0x1441d0[_0x53b8e2(0xdc)]===_0x53b8e2(0xbf))[_0x53b8e2(0xd2)],'skipped':[..._0xc72eef,..._0x551483][_0x53b8e2(0xdf)](_0x1941a1=>_0x1941a1['action']===_0x53b8e2(0xc4))[_0x53b8e2(0xd2)]},'skills':{'personal':_0x1d6d2d[_0x53b8e2(0xe4)](summarizeRuntimeSkill),'company':_0x3bc385[_0x53b8e2(0xe4)](summarizeRuntimeSkill)}},'message':_0x53b8e2(0xde)+_0x1d6d2d[_0x53b8e2(0xd2)]+'\x20personal\x20and\x20'+_0x3bc385[_0x53b8e2(0xd2)]+_0x53b8e2(0xbe)};}async function downloadSkillPackage(_0x47c2e6,_0x545dce,_0x1dbd77,_0x24d338){const _0x42a3f1=a44_0x3d8803,_0x14086b=_0x47c2e6[_0x42a3f1(0xd8)]?.[_0x42a3f1(0xc2)]();return _0x14086b?_0x24d338(_0x545dce,_0x47c2e6[_0x42a3f1(0xc1)],_0x1dbd77,_0x14086b):_0x24d338(_0x545dce,_0x47c2e6[_0x42a3f1(0xc1)],_0x1dbd77);}function countLinkActions(_0x1c0083){const _0x269020=a44_0x3d8803;return _0x1c0083[_0x269020(0xcd)]((_0xbc7006,_0x3c80ca)=>{const _0x57c2e7=_0x269020;return _0xbc7006[_0x3c80ca['action']]=(_0xbc7006[_0x3c80ca[_0x57c2e7(0xdc)]]??0x0)+0x1,_0xbc7006;},{});}
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
- const a45_0x2a86ae=a45_0xedc6;function a45_0x5dab(){const _0x16346e=['../../../core/api-client.js','2VVmqlI','1009265EfgIYu','project','builtin','str','envName','642114wWedAX','length','list','16ohkZJp','174921oZIoGF','personal','trim','code','skill','../../../skills/runtime-skill-sync.js','1043145ifoRRL','accessKey','map','global','remote','scope','company','Listed\x20','production','971453ytDjDk','\x20remote\x20Skill(s).','\x20local\x20Skill(s).','appCode','read','bool','local','469204xgIPKq','authRequired','filter','7389950KErkQQ','3Cphivf'];a45_0x5dab=function(){return _0x16346e;};return a45_0x5dab();}(function(_0x329f68,_0x16a563){const _0x2a30d0=a45_0xedc6,_0x2f3440=_0x329f68();while(!![]){try{const _0x201203=parseInt(_0x2a30d0(0x8f))/0x1*(-parseInt(_0x2a30d0(0x85))/0x2)+-parseInt(_0x2a30d0(0x83))/0x3*(parseInt(_0x2a30d0(0x7f))/0x4)+parseInt(_0x2a30d0(0x86))/0x5+-parseInt(_0x2a30d0(0x8b))/0x6+-parseInt(_0x2a30d0(0x78))/0x7+parseInt(_0x2a30d0(0x8e))/0x8*(-parseInt(_0x2a30d0(0x6f))/0x9)+parseInt(_0x2a30d0(0x82))/0xa;if(_0x201203===_0x16a563)break;else _0x2f3440['push'](_0x2f3440['shift']());}catch(_0xcfb67a){_0x2f3440['push'](_0x2f3440['shift']());}}}(a45_0x5dab,0x29c0a));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_0xedc6(_0x312c1d,_0x4fe383){_0x312c1d=_0x312c1d-0x6c;const _0x5dab6b=a45_0x5dab();let _0xedc6e7=_0x5dab6b[_0x312c1d];return _0xedc6e7;}export const listCommand={'service':a45_0x2a86ae(0x6d),'command':a45_0x2a86ae(0x8d),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a45_0x2a86ae(0x7c),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x4cf267){const _0x443277=a45_0x2a86ae,_0x355f33=_0x4cf267[_0x443277(0x89)](_0x443277(0x6c)),_0x461bb4=normalizeListScope(_0x4cf267[_0x443277(0x89)](_0x443277(0x74)));if(_0x4cf267['bool'](_0x443277(0x7e))){const _0x5f342b=_0x4cf267[_0x443277(0x70)];if(!_0x5f342b)throw CliErrors[_0x443277(0x80)]();const {listLocalRuntimeSkills:_0x1e5256,resolveRuntimeSkillInstallTarget:_0x5cbb4d}=await import(_0x443277(0x6e)),_0x2369a1=_0x5cbb4d(_0x4cf267[_0x443277(0x7b)],_0x4cf267[_0x443277(0x7d)](_0x443277(0x87))?'project':_0x443277(0x72)),_0x318422=_0x1e5256({'env':_0x4cf267[_0x443277(0x8a)]??_0x443277(0x77),'accessKey':_0x5f342b,'appCode':_0x4cf267[_0x443277(0x7b)],'scopes':listScopeToRuntimeScopes(_0x461bb4),'code':_0x355f33[_0x443277(0x91)]()||undefined},_0x2369a1),_0x26f28d=groupLocalRuntimeSkills(_0x318422);return{'ok':!![],'data':{'appCode':_0x4cf267[_0x443277(0x7b)],'source':'local',..._0x2369a1[_0x443277(0x74)]===_0x443277(0x87)?{'installScope':_0x2369a1[_0x443277(0x74)]}:{},'scope':_0x461bb4,'total':_0x318422['length'],'personal':_0x26f28d[_0x443277(0x90)][_0x443277(0x8c)],'company':_0x26f28d['company']['length'],'items':_0x318422[_0x443277(0x71)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x26f28d[_0x443277(0x90)][_0x443277(0x71)](summarizeLocalRuntimeSkill),'company':_0x26f28d['company'][_0x443277(0x71)](summarizeLocalRuntimeSkill)}},'message':_0x443277(0x76)+_0x318422[_0x443277(0x8c)]+_0x443277(0x7a)};}const {listRuntimeSkills:_0x56a429}=await import(_0x443277(0x84)),_0x553c5d=await _0x56a429({'appCode':_0x4cf267[_0x443277(0x7b)],'scope':listScopeToRemoteScope(_0x461bb4),'code':_0x355f33[_0x443277(0x91)]()||undefined}),_0x224f4e=shouldListScope(_0x461bb4,_0x443277(0x90))?_0x553c5d[_0x443277(0x90)]??[]:[],_0x3a76ff=shouldListScope(_0x461bb4,_0x443277(0x75))?_0x553c5d[_0x443277(0x75)]??[]:[],_0x5529f5=[..._0x224f4e,..._0x3a76ff];return{'ok':!![],'data':{'appCode':_0x4cf267['appCode'],'source':_0x443277(0x73),'scope':_0x461bb4,'total':_0x5529f5[_0x443277(0x8c)],'personal':_0x224f4e['length'],'company':_0x3a76ff[_0x443277(0x8c)],'items':_0x5529f5['map'](summarizeRuntimeSkill),'skills':{'personal':_0x224f4e['map'](summarizeRuntimeSkill),'company':_0x3a76ff['map'](summarizeRuntimeSkill)}},'message':_0x443277(0x76)+_0x5529f5[_0x443277(0x8c)]+_0x443277(0x79)};}};function groupLocalRuntimeSkills(_0xaae9c4){const _0x546da4=a45_0x2a86ae;return{'personal':_0xaae9c4[_0x546da4(0x81)](_0x12c50e=>_0x12c50e[_0x546da4(0x74)]==='personal'),'company':_0xaae9c4[_0x546da4(0x81)](_0x2ad576=>_0x2ad576[_0x546da4(0x74)]===_0x546da4(0x75)),'builtin':_0xaae9c4[_0x546da4(0x81)](_0x8dacc5=>_0x8dacc5[_0x546da4(0x74)]===_0x546da4(0x88))};}
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_0x279164=a46_0x2b49;(function(_0x4b7127,_0x45220d){const _0x434571=a46_0x2b49,_0x3289c4=_0x4b7127();while(!![]){try{const _0x5c98fc=parseInt(_0x434571(0xc5))/0x1*(-parseInt(_0x434571(0xca))/0x2)+-parseInt(_0x434571(0xd2))/0x3*(-parseInt(_0x434571(0xd0))/0x4)+-parseInt(_0x434571(0xcf))/0x5+-parseInt(_0x434571(0xc8))/0x6*(parseInt(_0x434571(0xd3))/0x7)+-parseInt(_0x434571(0xc9))/0x8+parseInt(_0x434571(0xcb))/0x9+-parseInt(_0x434571(0xcd))/0xa*(-parseInt(_0x434571(0xc6))/0xb);if(_0x5c98fc===_0x45220d)break;else _0x3289c4['push'](_0x3289c4['shift']());}catch(_0x22c4e9){_0x3289c4['push'](_0x3289c4['shift']());}}}(a46_0x5400,0x719d3));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';function a46_0x5400(){const _0x2f4b31=['1013zKdPYQ','346973ModEDt','skill','6YaQFBY','6170576Ljfzdc','488hAxFuL','7122546qTogTA','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','390eBpYQO','push','2545330kGwKKS','1734644IdxhyZ','write','3OlyDyq','3236163YyBLXp'];a46_0x5400=function(){return _0x2f4b31;};return a46_0x5400();}import{skillPushDryRun,skillPushExecute}from'../push-execute.js';function a46_0x2b49(_0x333c38,_0x543d4d){_0x333c38=_0x333c38-0xc5;const _0x5400f7=a46_0x5400();let _0x2b49d4=_0x5400f7[_0x333c38];return _0x2b49d4;}export const pushCommand={'service':a46_0x279164(0xc7),'command':a46_0x279164(0xce),'description':a46_0x279164(0xcc),'risk':a46_0x279164(0xd1),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
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
- function a47_0x6121(_0x563db5,_0x2c470e){_0x563db5=_0x563db5-0x15e;const _0x34006a=a47_0x3400();let _0x61219a=_0x34006a[_0x563db5];return _0x61219a;}const a47_0x396a57=a47_0x6121;(function(_0x2a61a1,_0x1f54f5){const _0x46118a=a47_0x6121,_0x1c8b75=_0x2a61a1();while(!![]){try{const _0x159459=-parseInt(_0x46118a(0x16d))/0x1*(-parseInt(_0x46118a(0x16e))/0x2)+parseInt(_0x46118a(0x163))/0x3*(parseInt(_0x46118a(0x15f))/0x4)+-parseInt(_0x46118a(0x170))/0x5*(-parseInt(_0x46118a(0x171))/0x6)+-parseInt(_0x46118a(0x16c))/0x7+parseInt(_0x46118a(0x16b))/0x8+-parseInt(_0x46118a(0x16f))/0x9*(-parseInt(_0x46118a(0x162))/0xa)+-parseInt(_0x46118a(0x166))/0xb*(parseInt(_0x46118a(0x167))/0xc);if(_0x159459===_0x1f54f5)break;else _0x1c8b75['push'](_0x1c8b75['shift']());}catch(_0x1231cf){_0x1c8b75['push'](_0x1c8b75['shift']());}}}(a47_0x3400,0x2960e));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a47_0x396a57(0x168),'command':a47_0x396a57(0x172),'description':a47_0x396a57(0x169),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x3b6703){const _0x50b886=a47_0x396a57,_0x3ae8c4=_0x3b6703[_0x50b886(0x16a)](_0x50b886(0x164)),_0x28a4be=validateSkillDirectory(_0x3b6703['str'](_0x50b886(0x161)),{'strict':_0x3ae8c4});return throwIfSkillValidationFailed(_0x28a4be,_0x3ae8c4),{'ok':!![],'data':{'dir':_0x28a4be[_0x50b886(0x161)],'type':_0x28a4be[_0x50b886(0x15e)],'errors':_0x28a4be['errors'],'warnings':_0x28a4be[_0x50b886(0x160)]},'message':_0x50b886(0x165)};}};function a47_0x3400(){const _0x107ff4=['skill','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','bool','2503272dZSVjp','2349508ElChoq','2sTiPiN','75456jAvati','378XfrpQP','277265BwypKK','30ybFWvW','validate','type','4lLJidV','warnings','dir','44660jNIMtq','266013kOeaTS','strict','Skill\x20validation\x20passed.','533797RCOtYv','108bwcsPF'];a47_0x3400=function(){return _0x107ff4;};return a47_0x3400();}
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_0x226329=a48_0x998e;(function(_0x2cffce,_0x163edf){const _0x205ba8=a48_0x998e,_0x3399db=_0x2cffce();while(!![]){try{const _0x49eb67=-parseInt(_0x205ba8(0x10b))/0x1*(parseInt(_0x205ba8(0xf7))/0x2)+-parseInt(_0x205ba8(0x104))/0x3*(parseInt(_0x205ba8(0x119))/0x4)+parseInt(_0x205ba8(0x10f))/0x5+parseInt(_0x205ba8(0x110))/0x6+-parseInt(_0x205ba8(0x102))/0x7+parseInt(_0x205ba8(0xfd))/0x8+parseInt(_0x205ba8(0xfc))/0x9*(parseInt(_0x205ba8(0x116))/0xa);if(_0x49eb67===_0x163edf)break;else _0x3399db['push'](_0x3399db['shift']());}catch(_0x181d60){_0x3399db['push'](_0x3399db['shift']());}}}(a48_0x14af,0xe1681));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x226329(0xfb),'type':'string','description':a48_0x226329(0xf8)};function a48_0x998e(_0x403709,_0x1c5362){_0x403709=_0x403709-0xf7;const _0x14af69=a48_0x14af();let _0x998e3e=_0x14af69[_0x403709];return _0x998e3e;}export const SCOPE_FLAG={'name':a48_0x226329(0x111),'type':a48_0x226329(0x112),'description':a48_0x226329(0x100),'enum':[a48_0x226329(0x10e),a48_0x226329(0xf9),a48_0x226329(0x10d)]};export const PUSH_SCOPE_FLAG={'name':a48_0x226329(0x111),'type':a48_0x226329(0x112),'description':a48_0x226329(0x103),'default':'personal','enum':[a48_0x226329(0xf9),a48_0x226329(0x10d)]};export const LIST_SCOPE_FLAG={'name':a48_0x226329(0x111),'type':a48_0x226329(0x112),'description':a48_0x226329(0xfa),'enum':[a48_0x226329(0x10e),'personal',a48_0x226329(0x10d)]};export const LOCAL_FLAG={'name':a48_0x226329(0x113),'type':a48_0x226329(0x115),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':a48_0x226329(0xff),'type':a48_0x226329(0x112),'required':!![],'description':a48_0x226329(0x114)};export const CREATE_NAME_FLAG={'name':a48_0x226329(0x109),'type':a48_0x226329(0x112),'required':!![],'description':a48_0x226329(0x106),'pattern':{'regex':SKILL_NAME_PATTERN,'description':'lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens'}};export const TYPE_FLAG={'name':a48_0x226329(0x107),'type':a48_0x226329(0x112),'description':a48_0x226329(0x118),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':'target','type':a48_0x226329(0x112),'description':a48_0x226329(0x105),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x226329(0xfe),'type':a48_0x226329(0x115),'description':a48_0x226329(0x10a)};export const PROJECT_TARGET_FLAG={'name':a48_0x226329(0x10c),'type':a48_0x226329(0x115),'description':a48_0x226329(0x117)};export const CONFIRM_WARNINGS_FLAG={'name':'confirm-warnings','type':a48_0x226329(0x115),'description':a48_0x226329(0x101)};function a48_0x14af(){const _0x211597=['Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','type','strict','name','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','60kWMGTJ','project','company','all','1483640ldnUWV','1500066Slhfrb','scope','string','local','Local\x20Skill\x20directory\x20containing\x20SKILL.md','boolean','10PVhmRQ','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','5864420IaZbGg','23000NHPJTV','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','personal','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','code','18857466YYXXOR','6475224IqlRSG','force','dir','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','2604322PzSJNs','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','3oPMIFi'];a48_0x14af=function(){return _0x211597;};return a48_0x14af();}export const STRICT_FLAG={'name':a48_0x226329(0x108),'type':a48_0x226329(0x115),'description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};
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(_0x4fa78d,_0xda91cf){const _0x46d17f=a49_0x245d,_0x1b37f3=_0x4fa78d();while(!![]){try{const _0x303de3=-parseInt(_0x46d17f(0x147))/0x1+-parseInt(_0x46d17f(0x14a))/0x2*(-parseInt(_0x46d17f(0x14d))/0x3)+parseInt(_0x46d17f(0x14b))/0x4+-parseInt(_0x46d17f(0x14c))/0x5*(-parseInt(_0x46d17f(0x14e))/0x6)+-parseInt(_0x46d17f(0x149))/0x7*(parseInt(_0x46d17f(0x151))/0x8)+parseInt(_0x46d17f(0x150))/0x9*(-parseInt(_0x46d17f(0x14f))/0xa)+parseInt(_0x46d17f(0x148))/0xb;if(_0x303de3===_0xda91cf)break;else _0x1b37f3['push'](_0x1b37f3['shift']());}catch(_0x1779cb){_0x1b37f3['push'](_0x1b37f3['shift']());}}}(a49_0x20f7,0xabf41));function a49_0x245d(_0x57d7da,_0x45c5a1){_0x57d7da=_0x57d7da-0x147;const _0x20f770=a49_0x20f7();let _0x245de4=_0x20f770[_0x57d7da];return _0x245de4;}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';function a49_0x20f7(){const _0x3f7f3d=['7487541BzxLOT','8DaYbGC','47474cbdSHi','1951873LZyctg','6027273eCnmHj','4jPVurx','3860952VqFScS','8815lgXjeE','1879107scvyIp','168ZmNfMH','10MhYDyI'];a49_0x20f7=function(){return _0x3f7f3d;};return a49_0x20f7();}import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
1
+ (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_0x32c4(_0xc005e8,_0x440b4f){_0xc005e8=_0xc005e8-0x134;var _0x5bf655=a50_0x5bf6();var _0x32c4c6=_0x5bf655[_0xc005e8];return _0x32c4c6;}(function(_0x5538f4,_0x41fd74){var _0x258337=a50_0x32c4,_0xf5baaf=_0x5538f4();while(!![]){try{var _0x4efd40=parseInt(_0x258337(0x137))/0x1*(-parseInt(_0x258337(0x141))/0x2)+-parseInt(_0x258337(0x142))/0x3*(-parseInt(_0x258337(0x143))/0x4)+parseInt(_0x258337(0x13e))/0x5*(-parseInt(_0x258337(0x13c))/0x6)+-parseInt(_0x258337(0x147))/0x7*(-parseInt(_0x258337(0x13f))/0x8)+-parseInt(_0x258337(0x146))/0x9*(parseInt(_0x258337(0x138))/0xa)+parseInt(_0x258337(0x134))/0xb+parseInt(_0x258337(0x140))/0xc;if(_0x4efd40===_0x41fd74)break;else _0xf5baaf['push'](_0xf5baaf['shift']());}catch(_0x27d9f3){_0xf5baaf['push'](_0xf5baaf['shift']());}}}(a50_0x5bf6,0xcc67e));function a50_0x5bf6(){var _0x144455=['isArray','object','files','18nwLCEC','SKILL.md','1284460yGKWYZ','8EXNWRN','46718724zaIeuB','3224336ICcHSZ','1914HJORIr','2036FGqYDv','path','string','9jernmy','3030685qMfjOp','ossPath','1009261iPkAiu','length','some','1ENdAdH','15225850oLdYys'];a50_0x5bf6=function(){return _0x144455;};return a50_0x5bf6();}export function isPackageBackedManifest(_0x462b23){var _0x4ae45b=a50_0x32c4;return!!_0x462b23&&typeof _0x462b23===_0x4ae45b(0x13a)&&!Array[_0x4ae45b(0x139)](_0x462b23)&&typeof _0x462b23['ossPath']===_0x4ae45b(0x145)&&_0x462b23[_0x4ae45b(0x148)][_0x4ae45b(0x135)]>0x0&&Array[_0x4ae45b(0x139)](_0x462b23['files']);}export function isMultiFileManifest(_0x1aa45a){var _0x4cadd5=a50_0x32c4;return!!_0x1aa45a&&typeof _0x1aa45a===_0x4cadd5(0x13a)&&!Array[_0x4cadd5(0x139)](_0x1aa45a)&&Array[_0x4cadd5(0x139)](_0x1aa45a[_0x4cadd5(0x13b)])&&_0x1aa45a['files'][_0x4cadd5(0x136)](_0x4614b0=>_0x4614b0[_0x4cadd5(0x144)]!==_0x4cadd5(0x13d));}
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));}