@lovrabet/lovrabet-cli 2.1.6-beta.2 → 2.1.6-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) 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/artifact/index.js +1 -1
  10. package/lib/commands/auth/index.js +1 -1
  11. package/lib/commands/auth/prompt.js +1 -1
  12. package/lib/commands/bff/detail.js +1 -1
  13. package/lib/commands/bff/exec.js +1 -1
  14. package/lib/commands/bff/index.js +1 -1
  15. package/lib/commands/cli-skill/index.js +1 -1
  16. package/lib/commands/common/config-policy.js +1 -1
  17. package/lib/commands/common/constraints.js +1 -1
  18. package/lib/commands/common/flags.js +1 -1
  19. package/lib/commands/config/definitions.js +1 -1
  20. package/lib/commands/config/shared.js +1 -1
  21. package/lib/commands/data/index.js +1 -1
  22. package/lib/commands/dataset/detail.js +1 -1
  23. package/lib/commands/dataset/index.js +1 -1
  24. package/lib/commands/dataset/list.js +1 -1
  25. package/lib/commands/dataset/sdk-doc.js +1 -1
  26. package/lib/commands/doctor.js +1 -1
  27. package/lib/commands/init.js +1 -1
  28. package/lib/commands/kb/index.js +1 -1
  29. package/lib/commands/logs/index.js +1 -1
  30. package/lib/commands/personal-bff/index.js +1 -1
  31. package/lib/commands/registry.js +1 -1
  32. package/lib/commands/schema.js +1 -1
  33. package/lib/commands/service/dynamic.js +1 -1
  34. package/lib/commands/service/index.js +1 -1
  35. package/lib/commands/service/registry.js +1 -1
  36. package/lib/commands/skill/commands/create.js +1 -1
  37. package/lib/commands/skill/commands/install.js +1 -1
  38. package/lib/commands/skill/commands/list.js +1 -1
  39. package/lib/commands/skill/commands/push.js +1 -1
  40. package/lib/commands/skill/commands/validate.js +1 -1
  41. package/lib/commands/skill/flags.js +1 -1
  42. package/lib/commands/skill/index.js +1 -1
  43. package/lib/commands/skill/manifest-helpers.js +1 -1
  44. package/lib/commands/skill/scopes.js +1 -1
  45. package/lib/commands/skill/summary.js +1 -1
  46. package/lib/commands/skill/templates.js +1 -1
  47. package/lib/commands/skill/validate.js +1 -1
  48. package/lib/commands/sql/detail.js +1 -1
  49. package/lib/commands/sql/exec.js +1 -1
  50. package/lib/commands/sql/index.js +1 -1
  51. package/lib/commands/update.js +1 -1
  52. package/lib/commands/workspace/index.js +1 -1
  53. package/lib/config/schema.js +1 -1
  54. package/lib/constant/app.js +1 -1
  55. package/lib/constant/auth-mode.js +1 -1
  56. package/lib/constant/cli.js +1 -1
  57. package/lib/constant/defaults.js +1 -1
  58. package/lib/constant/distribution.js +1 -1
  59. package/lib/constant/domain.js +1 -1
  60. package/lib/constant/env.js +1 -1
  61. package/lib/constant/output.js +1 -1
  62. package/lib/constant/product.js +1 -1
  63. package/lib/constant/risk.js +1 -1
  64. package/lib/constant/url.js +1 -1
  65. package/lib/context.js +1 -1
  66. package/lib/core/api-client.js +1 -1
  67. package/lib/core/db-resolver.js +1 -1
  68. package/lib/core/sdk-client.js +1 -1
  69. package/lib/errors.js +1 -1
  70. package/lib/framework/build-all-flags.js +1 -1
  71. package/lib/framework/dryrun.js +1 -1
  72. package/lib/framework/flags.js +1 -1
  73. package/lib/framework/help.js +1 -1
  74. package/lib/framework/index.js +1 -1
  75. package/lib/framework/output.js +1 -1
  76. package/lib/framework/preparse.js +1 -1
  77. package/lib/framework/response.js +1 -1
  78. package/lib/framework/runner-confirmation.js +1 -1
  79. package/lib/framework/runner-error.js +1 -1
  80. package/lib/framework/runner.js +1 -1
  81. package/lib/framework/schema-export.js +1 -1
  82. package/lib/framework/types.js +1 -1
  83. package/lib/generated/build-info.js +1 -1
  84. package/lib/help.js +1 -1
  85. package/lib/skills/npx-skills-add.js +1 -1
  86. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  87. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  88. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  89. package/lib/skills/runtime-skill-sync/links.js +1 -1
  90. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  91. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  92. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  93. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  94. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  95. package/lib/skills/runtime-skill-sync/push.js +1 -1
  96. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  97. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  98. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  99. package/lib/skills/runtime-skill-sync.js +1 -1
  100. package/lib/utils/apply-jq-filter.js +1 -1
  101. package/lib/utils/logger.js +1 -1
  102. package/lib/utils/params.js +1 -1
  103. package/lib/utils/platform.js +1 -1
  104. package/lib/utils/update-notice.js +1 -1
  105. package/lib/utils/version.js +1 -1
  106. package/lib/utils/write-cli-side-channel.js +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- const a27_0x5e04d3=a27_0xf790;(function(_0x201e46,_0x166b9c){const _0x1d974e=a27_0xf790,_0x4222b0=_0x201e46();while(!![]){try{const _0x1760ed=parseInt(_0x1d974e(0x16d))/0x1*(parseInt(_0x1d974e(0x149))/0x2)+parseInt(_0x1d974e(0x13c))/0x3+-parseInt(_0x1d974e(0x152))/0x4+parseInt(_0x1d974e(0x15a))/0x5*(parseInt(_0x1d974e(0x171))/0x6)+-parseInt(_0x1d974e(0x159))/0x7+-parseInt(_0x1d974e(0x156))/0x8+parseInt(_0x1d974e(0x138))/0x9;if(_0x1760ed===_0x166b9c)break;else _0x4222b0['push'](_0x4222b0['shift']());}catch(_0x549dcb){_0x4222b0['push'](_0x4222b0['shift']());}}}(a27_0x213b,0x5cfd0));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x5e04d3(0x170),'type':'string','required':!![],'description':'Personal\x20knowledge-base\x20entry\x20title'},FILE_FLAG={'name':a27_0x5e04d3(0x139),'type':a27_0x5e04d3(0x175),'required':!![],'description':a27_0x5e04d3(0x165)},QUERY_FLAG={'name':'query','type':'string','required':!![],'description':'Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge'},TOPK_FLAG={'name':'topk','type':a27_0x5e04d3(0x141),'description':a27_0x5e04d3(0x163)};function readKnowledgeFile(_0x4af653){const _0x29c6de=a27_0x5e04d3;if(!_0x4af653)throw CliErrors[_0x29c6de(0x15d)](_0x29c6de(0x167));if(!existsSync(_0x4af653))throw CliErrors[_0x29c6de(0x15d)](_0x29c6de(0x162)+_0x4af653);if(!statSync(_0x4af653)[_0x29c6de(0x150)]())throw CliErrors[_0x29c6de(0x15d)](_0x29c6de(0x169)+_0x4af653);return readFileSync(_0x4af653,'utf8');}function summarizePersonalItem(_0x259613){const _0x440171=a27_0x5e04d3;return{'id':_0x259613['id'],'title':_0x259613[_0x440171(0x170)],'version':_0x259613[_0x440171(0x13f)],'ragStatus':_0x259613[_0x440171(0x15f)],'ragErrorMessage':_0x259613[_0x440171(0x16f)],'updateTime':_0x259613[_0x440171(0x16b)]};}function detailPersonalItem(_0x3fd565){const _0x4b4db9=a27_0x5e04d3;return{'id':_0x3fd565['id'],'appCode':_0x3fd565[_0x4b4db9(0x14b)],'scope':_0x3fd565['scope'],'userId':_0x3fd565[_0x4b4db9(0x168)],'title':_0x3fd565[_0x4b4db9(0x170)],'content':_0x3fd565[_0x4b4db9(0x164)]??'','version':_0x3fd565[_0x4b4db9(0x13f)],'ragStatus':_0x3fd565[_0x4b4db9(0x15f)],'ragErrorMessage':_0x3fd565[_0x4b4db9(0x16f)],'createTime':_0x3fd565[_0x4b4db9(0x148)],'updateTime':_0x3fd565['updateTime']};}function summarizeSearchHit(_0x361638){const _0x26c68d=a27_0x5e04d3;return{'scope':_0x361638[_0x26c68d(0x140)],'docId':_0x361638[_0x26c68d(0x136)],'score':_0x361638[_0x26c68d(0x16e)],'weightedScore':_0x361638['weightedScore'],'content':_0x361638[_0x26c68d(0x164)],'metadata':_0x361638[_0x26c68d(0x174)]};}function a27_0x213b(){const _0x32be14=['File\x20path\x20is\x20required.','userId','File\x20is\x20not\x20a\x20regular\x20file:\x20','body','updateTime','length','1pxzgIG','score','ragErrorMessage','title','1219122ctHtlY','create','num','metadata','string','Search\x20query\x20is\x20required.','docId','str','1053018MUsoCD','file','topk','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','2246676tNJRFM','Created\x20KB\x20entry\x20','map','version','scope','number','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','bool','--topk\x20must\x20be\x20a\x20positive\x20number.','read','Personal\x20knowledge-base\x20entry\x20ID','build','createTime','1494278KtqlQq','Override\x20the\x20existing\x20entry\x20title','appCode','isFinite','Updated\x20KB\x20entry\x20','detail','search','isFile','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','2496824svOOZX','/client/knowledge-base/personal/create','/client/knowledge-base/personal/','trim','5961992bqOiBM','POST','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','3305813ygpGNy','15dFZTZx','description','verbose','validation','flag','ragStatus','write','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','File\x20not\x20found:\x20','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','content','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','list'];a27_0x213b=function(){return _0x32be14;};return a27_0x213b();}function a27_0xf790(_0x1207cf,_0x3999c4){_0x1207cf=_0x1207cf-0x136;const _0x213bf0=a27_0x213b();let _0xf790f1=_0x213bf0[_0x1207cf];return _0xf790f1;}function readTopK(_0x577707){const _0x39b3bd=a27_0x5e04d3,_0x42be6a=_0x577707[_0x39b3bd(0x15e)](_0x39b3bd(0x13a));if(_0x42be6a===undefined||_0x42be6a===null||_0x42be6a==='')return undefined;const _0x640bdb=_0x577707['num']('topk');if(!Number[_0x39b3bd(0x14c)](_0x640bdb)||_0x640bdb<0x1)throw CliErrors[_0x39b3bd(0x15d)](_0x39b3bd(0x144));return _0x640bdb;}const kbList={'service':'kb','command':a27_0x5e04d3(0x166),'description':'List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','risk':a27_0x5e04d3(0x145),'flags':[VERBOSE_FLAG],async 'execute'(_0x3dc1d4){const _0x2c8a48=a27_0x5e04d3,_0x4b9b08=await listPersonalKnowledgeBaseItems(_0x3dc1d4['appCode']);if(_0x3dc1d4[_0x2c8a48(0x143)](_0x2c8a48(0x15c)))return{'ok':!![],'data':{'total':_0x4b9b08[_0x2c8a48(0x16c)],'items':_0x4b9b08}};return{'ok':!![],'data':{'total':_0x4b9b08['length'],'items':_0x4b9b08[_0x2c8a48(0x13e)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x5e04d3(0x14e),'description':a27_0x5e04d3(0x161),'risk':a27_0x5e04d3(0x145),'flags':[{...ID_FLAG,'description':a27_0x5e04d3(0x146)}],async 'execute'(_0x19cf83){const _0x2b7447=a27_0x5e04d3,_0x1b2148=await getPersonalKnowledgeBaseItem(_0x19cf83[_0x2b7447(0x173)]('id'),_0x19cf83[_0x2b7447(0x14b)]);return{'ok':!![],'data':detailPersonalItem(_0x1b2148)};}},kbCreate={'service':'kb','command':a27_0x5e04d3(0x172),'description':a27_0x5e04d3(0x158),'risk':a27_0x5e04d3(0x160),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x5a55ce){const _0x35b2a7=a27_0x5e04d3,_0x5a7271=_0x5a55ce[_0x35b2a7(0x137)]('title'),_0x169197=readKnowledgeFile(_0x5a55ce[_0x35b2a7(0x137)]('file')),_0x3b3186=await createPersonalKnowledgeBaseItem(_0x5a55ce[_0x35b2a7(0x14b)],{'title':_0x5a7271,'content':_0x169197});return{'ok':!![],'data':summarizePersonalItem(_0x3b3186),'message':_0x35b2a7(0x13d)+_0x3b3186['id']+'\x20('+_0x3b3186[_0x35b2a7(0x170)]+')'};},async 'dryRun'(_0x544084){const _0x350199=a27_0x5e04d3,_0x624b0e=_0x544084['str'](_0x350199(0x170)),_0x4ca672=readKnowledgeFile(_0x544084[_0x350199(0x137)](_0x350199(0x139)));return dryRun(_0x350199(0x157),_0x350199(0x153))['body']({'appCode':_0x544084['appCode'],'title':_0x624b0e,'content':_0x4ca672})[_0x350199(0x15b)](_0x350199(0x151)+_0x624b0e+'\x22')[_0x350199(0x147)]();}},kbUpdate={'service':'kb','command':'update','description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x5e04d3(0x160),'flags':[{...ID_FLAG,'description':a27_0x5e04d3(0x146)},{...TITLE_FLAG,'required':![],'description':a27_0x5e04d3(0x14a)},FILE_FLAG],async 'execute'(_0x4da0fd){const _0x81f8cb=a27_0x5e04d3,_0xfeab6c=_0x4da0fd[_0x81f8cb(0x173)]('id'),_0x3a8528=readKnowledgeFile(_0x4da0fd[_0x81f8cb(0x137)](_0x81f8cb(0x139))),_0x44f231=_0x4da0fd[_0x81f8cb(0x137)](_0x81f8cb(0x170))||(await getPersonalKnowledgeBaseItem(_0xfeab6c,_0x4da0fd[_0x81f8cb(0x14b)]))[_0x81f8cb(0x170)],_0x5002a3=await updatePersonalKnowledgeBaseItem(_0xfeab6c,_0x4da0fd[_0x81f8cb(0x14b)],{'title':_0x44f231,'content':_0x3a8528});return{'ok':!![],'data':summarizePersonalItem(_0x5002a3),'message':_0x81f8cb(0x14d)+_0x5002a3['id']+'\x20('+_0x5002a3['title']+')'};},async 'dryRun'(_0x53b0da){const _0x3f983f=a27_0x5e04d3,_0x439a97=_0x53b0da[_0x3f983f(0x173)]('id'),_0x3671ad=readKnowledgeFile(_0x53b0da[_0x3f983f(0x137)]('file')),_0x448907=_0x53b0da[_0x3f983f(0x137)](_0x3f983f(0x170))||(await getPersonalKnowledgeBaseItem(_0x439a97,_0x53b0da[_0x3f983f(0x14b)]))[_0x3f983f(0x170)];return dryRun(_0x3f983f(0x157),_0x3f983f(0x154)+_0x439a97+'/update')[_0x3f983f(0x16a)]({'appCode':_0x53b0da[_0x3f983f(0x14b)],'title':_0x448907,'content':_0x3671ad})[_0x3f983f(0x15b)](_0x3f983f(0x142)+_0x439a97)[_0x3f983f(0x147)]();}},kbSearch={'service':'kb','command':a27_0x5e04d3(0x14f),'description':a27_0x5e04d3(0x13b),'risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x4c9a94){const _0x4f0b70=a27_0x5e04d3;if(!_0x4c9a94[_0x4f0b70(0x137)]('query')['trim']())throw CliErrors[_0x4f0b70(0x15d)](_0x4f0b70(0x176));readTopK(_0x4c9a94);},async 'execute'(_0x1fed77){const _0x391eda=a27_0x5e04d3,_0x7c93ad=_0x1fed77[_0x391eda(0x137)]('query')[_0x391eda(0x155)](),_0x30da41=readTopK(_0x1fed77),_0x5993a7=await searchKnowledgeBase(_0x1fed77[_0x391eda(0x14b)],{'query':_0x7c93ad,'topK':_0x30da41});return{'ok':!![],'data':{'total':_0x5993a7[_0x391eda(0x16c)],'hits':_0x5993a7[_0x391eda(0x13e)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a27_0xa10087=a27_0x58d2;(function(_0x4c62c5,_0x1829ec){const _0x80c2d7=a27_0x58d2,_0x250a7=_0x4c62c5();while(!![]){try{const _0x4841b9=parseInt(_0x80c2d7(0x1d5))/0x1+-parseInt(_0x80c2d7(0x1a8))/0x2*(-parseInt(_0x80c2d7(0x1b0))/0x3)+parseInt(_0x80c2d7(0x1b2))/0x4+-parseInt(_0x80c2d7(0x19f))/0x5+parseInt(_0x80c2d7(0x1ac))/0x6+parseInt(_0x80c2d7(0x1b6))/0x7+parseInt(_0x80c2d7(0x1d0))/0x8*(-parseInt(_0x80c2d7(0x1cf))/0x9);if(_0x4841b9===_0x1829ec)break;else _0x250a7['push'](_0x250a7['shift']());}catch(_0xb2db7c){_0x250a7['push'](_0x250a7['shift']());}}}(a27_0x205b,0xcf8f2));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a27_0x58d2(_0x10d682,_0x371eeb){_0x10d682=_0x10d682-0x19d;const _0x205be2=a27_0x205b();let _0x58d217=_0x205be2[_0x10d682];return _0x58d217;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0xa10087(0x1c0),'type':a27_0xa10087(0x1b3),'required':!![],'description':a27_0xa10087(0x1c6)},FILE_FLAG={'name':a27_0xa10087(0x1ab),'type':'string','required':!![],'description':a27_0xa10087(0x1b1)},QUERY_FLAG={'name':'query','type':a27_0xa10087(0x1b3),'required':!![],'description':a27_0xa10087(0x1d6)},TOPK_FLAG={'name':a27_0xa10087(0x1a1),'type':a27_0xa10087(0x1cb),'description':a27_0xa10087(0x1cc)};function readKnowledgeFile(_0x11351d){const _0xb36199=a27_0xa10087;if(!_0x11351d)throw CliErrors[_0xb36199(0x1c9)](_0xb36199(0x1bb));if(!existsSync(_0x11351d))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x11351d);if(!statSync(_0x11351d)[_0xb36199(0x1a0)]())throw CliErrors[_0xb36199(0x1c9)](_0xb36199(0x1d3)+_0x11351d);return readFileSync(_0x11351d,'utf8');}function summarizePersonalItem(_0x4ca307){const _0x5bad3a=a27_0xa10087;return{'id':_0x4ca307['id'],'title':_0x4ca307[_0x5bad3a(0x1c0)],'version':_0x4ca307['version'],'ragStatus':_0x4ca307[_0x5bad3a(0x1ba)],'ragErrorMessage':_0x4ca307[_0x5bad3a(0x1bf)],'updateTime':_0x4ca307['updateTime']};}function detailPersonalItem(_0x34c515){const _0x4d1edb=a27_0xa10087;return{'id':_0x34c515['id'],'appCode':_0x34c515[_0x4d1edb(0x1a2)],'scope':_0x34c515['scope'],'userId':_0x34c515[_0x4d1edb(0x19e)],'title':_0x34c515[_0x4d1edb(0x1c0)],'content':_0x34c515[_0x4d1edb(0x1d4)]??'','version':_0x34c515[_0x4d1edb(0x1b8)],'ragStatus':_0x34c515[_0x4d1edb(0x1ba)],'ragErrorMessage':_0x34c515[_0x4d1edb(0x1bf)],'createTime':_0x34c515[_0x4d1edb(0x1b4)],'updateTime':_0x34c515['updateTime']};}function a27_0x205b(){const _0x4c8bb3=['build','detail','body','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','--topk\x20must\x20be\x20a\x20positive\x20number.','Personal\x20knowledge-base\x20entry\x20title','flag','trim','validation','score','number','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','description','write','165024cbQOWJ','856EkVWJG','Updated\x20KB\x20entry\x20','POST','File\x20is\x20not\x20a\x20regular\x20file:\x20','content','1482035YNBNDl','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','bool','list','userId','6658775aBxaHg','isFile','topk','appCode','Personal\x20knowledge-base\x20entry\x20ID','read','update','str','num','2gjScsC','search','create','file','5598066PlRPzm','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','Search\x20query\x20is\x20required.','length','1686507NwMtsK','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','3976960iWrrAU','string','createTime','Override\x20the\x20existing\x20entry\x20title','1206898heJJMr','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','version','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','ragStatus','File\x20path\x20is\x20required.','/update','Created\x20KB\x20entry\x20','map','ragErrorMessage','title'];a27_0x205b=function(){return _0x4c8bb3;};return a27_0x205b();}function summarizeSearchHit(_0x3cbb05){const _0x212c77=a27_0xa10087;return{'scope':_0x3cbb05['scope'],'docId':_0x3cbb05['docId'],'score':_0x3cbb05[_0x212c77(0x1ca)],'weightedScore':_0x3cbb05['weightedScore'],'content':_0x3cbb05[_0x212c77(0x1d4)],'metadata':_0x3cbb05['metadata']};}function readTopK(_0x404e95){const _0x55aadc=a27_0xa10087,_0x2a93a3=_0x404e95[_0x55aadc(0x1c7)](_0x55aadc(0x1a1));if(_0x2a93a3===undefined||_0x2a93a3===null||_0x2a93a3==='')return undefined;const _0xfff9f0=_0x404e95[_0x55aadc(0x1a7)](_0x55aadc(0x1a1));if(!Number['isFinite'](_0xfff9f0)||_0xfff9f0<0x1)throw CliErrors['validation'](_0x55aadc(0x1c5));return _0xfff9f0;}const kbList={'service':'kb','command':a27_0xa10087(0x19d),'description':a27_0xa10087(0x1ad),'risk':a27_0xa10087(0x1a4),'flags':[VERBOSE_FLAG],async 'execute'(_0x392464){const _0x4c29a9=a27_0xa10087,_0x291179=await listPersonalKnowledgeBaseItems(_0x392464[_0x4c29a9(0x1a2)]);if(_0x392464[_0x4c29a9(0x1d7)]('verbose'))return{'ok':!![],'data':{'total':_0x291179[_0x4c29a9(0x1af)],'items':_0x291179}};return{'ok':!![],'data':{'total':_0x291179[_0x4c29a9(0x1af)],'items':_0x291179[_0x4c29a9(0x1be)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0xa10087(0x1c2),'description':a27_0xa10087(0x1b9),'risk':a27_0xa10087(0x1a4),'flags':[{...ID_FLAG,'description':a27_0xa10087(0x1a3)}],async 'execute'(_0x4607cf){const _0x355e1f=a27_0xa10087,_0x382569=await getPersonalKnowledgeBaseItem(_0x4607cf['num']('id'),_0x4607cf[_0x355e1f(0x1a2)]);return{'ok':!![],'data':detailPersonalItem(_0x382569)};}},kbCreate={'service':'kb','command':a27_0xa10087(0x1aa),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x6e6ee1){const _0x4e889d=a27_0xa10087,_0x1ec486=_0x6e6ee1[_0x4e889d(0x1a6)](_0x4e889d(0x1c0)),_0x463fea=readKnowledgeFile(_0x6e6ee1['str'](_0x4e889d(0x1ab))),_0x37775f=await createPersonalKnowledgeBaseItem(_0x6e6ee1['appCode'],{'title':_0x1ec486,'content':_0x463fea});return{'ok':!![],'data':summarizePersonalItem(_0x37775f),'message':_0x4e889d(0x1bd)+_0x37775f['id']+'\x20('+_0x37775f['title']+')'};},async 'dryRun'(_0x49a59e){const _0x4cbaa0=a27_0xa10087,_0x12bfcf=_0x49a59e[_0x4cbaa0(0x1a6)](_0x4cbaa0(0x1c0)),_0x207928=readKnowledgeFile(_0x49a59e[_0x4cbaa0(0x1a6)](_0x4cbaa0(0x1ab)));return dryRun(_0x4cbaa0(0x1d2),'/client/knowledge-base/personal/create')[_0x4cbaa0(0x1c3)]({'appCode':_0x49a59e[_0x4cbaa0(0x1a2)],'title':_0x12bfcf,'content':_0x207928})[_0x4cbaa0(0x1cd)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x12bfcf+'\x22')['build']();}},kbUpdate={'service':'kb','command':a27_0xa10087(0x1a5),'description':a27_0xa10087(0x1b7),'risk':a27_0xa10087(0x1ce),'flags':[{...ID_FLAG,'description':a27_0xa10087(0x1a3)},{...TITLE_FLAG,'required':![],'description':a27_0xa10087(0x1b5)},FILE_FLAG],async 'execute'(_0x37343d){const _0x4658fb=a27_0xa10087,_0x1e9bfd=_0x37343d[_0x4658fb(0x1a7)]('id'),_0x317b88=readKnowledgeFile(_0x37343d[_0x4658fb(0x1a6)](_0x4658fb(0x1ab))),_0x214004=_0x37343d[_0x4658fb(0x1a6)](_0x4658fb(0x1c0))||(await getPersonalKnowledgeBaseItem(_0x1e9bfd,_0x37343d[_0x4658fb(0x1a2)]))[_0x4658fb(0x1c0)],_0x54f4a9=await updatePersonalKnowledgeBaseItem(_0x1e9bfd,_0x37343d[_0x4658fb(0x1a2)],{'title':_0x214004,'content':_0x317b88});return{'ok':!![],'data':summarizePersonalItem(_0x54f4a9),'message':_0x4658fb(0x1d1)+_0x54f4a9['id']+'\x20('+_0x54f4a9[_0x4658fb(0x1c0)]+')'};},async 'dryRun'(_0x99c129){const _0x5525e3=a27_0xa10087,_0x393dae=_0x99c129[_0x5525e3(0x1a7)]('id'),_0x573502=readKnowledgeFile(_0x99c129['str'](_0x5525e3(0x1ab))),_0x1930a9=_0x99c129['str'](_0x5525e3(0x1c0))||(await getPersonalKnowledgeBaseItem(_0x393dae,_0x99c129[_0x5525e3(0x1a2)]))[_0x5525e3(0x1c0)];return dryRun(_0x5525e3(0x1d2),'/client/knowledge-base/personal/'+_0x393dae+_0x5525e3(0x1bc))[_0x5525e3(0x1c3)]({'appCode':_0x99c129[_0x5525e3(0x1a2)],'title':_0x1930a9,'content':_0x573502})[_0x5525e3(0x1cd)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x393dae)[_0x5525e3(0x1c1)]();}},kbSearch={'service':'kb','command':a27_0xa10087(0x1a9),'description':a27_0xa10087(0x1c4),'risk':a27_0xa10087(0x1a4),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x90b8c7){const _0x107e74=a27_0xa10087;if(!_0x90b8c7['str']('query')[_0x107e74(0x1c8)]())throw CliErrors[_0x107e74(0x1c9)](_0x107e74(0x1ae));readTopK(_0x90b8c7);},async 'execute'(_0x3ed0f1){const _0x1a0f7b=a27_0xa10087,_0x3bc303=_0x3ed0f1[_0x1a0f7b(0x1a6)]('query')[_0x1a0f7b(0x1c8)](),_0x3d007e=readTopK(_0x3ed0f1),_0x3997e1=await searchKnowledgeBase(_0x3ed0f1[_0x1a0f7b(0x1a2)],{'query':_0x3bc303,'topK':_0x3d007e});return{'ok':!![],'data':{'total':_0x3997e1[_0x1a0f7b(0x1af)],'hits':_0x3997e1[_0x1a0f7b(0x1be)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0x4e8dda=a28_0x3e41;(function(_0x10af74,_0xbe84bf){const _0x3e484b=a28_0x3e41,_0x25c373=_0x10af74();while(!![]){try{const _0x3fa80c=-parseInt(_0x3e484b(0x131))/0x1+parseInt(_0x3e484b(0x133))/0x2*(-parseInt(_0x3e484b(0x125))/0x3)+-parseInt(_0x3e484b(0x12c))/0x4+parseInt(_0x3e484b(0x132))/0x5+-parseInt(_0x3e484b(0x123))/0x6+parseInt(_0x3e484b(0x11e))/0x7+-parseInt(_0x3e484b(0x124))/0x8*(-parseInt(_0x3e484b(0x11f))/0x9);if(_0x3fa80c===_0xbe84bf)break;else _0x25c373['push'](_0x25c373['shift']());}catch(_0x5e9328){_0x25c373['push'](_0x25c373['shift']());}}}(a28_0x48b7,0x580df));import{logger}from'../../utils/logger.js';function a28_0x48b7(){const _0x2d50e5=['command','toLocaleString','log','message','\x20\x20\x20Duration:\x20','clearLogs','\x20\x20\x20Time:\x20','381962NGHFdZ','9nOFsFV','warn','write','success','4319226yNHYxv','22846120lRBzzR','3xPUxcu','length','error','\x20logs:\x0a','details','duration','clear','2747172CBwVUe','*\x20No\x20logs\x20found','en-US','timestamp','level','558611XQFDER','458080gkSdjC','1352002cSuayY','stringify','keys','logs'];a28_0x48b7=function(){return _0x2d50e5;};return a28_0x48b7();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x312984){const _0x7480f5=a28_0x3e41;if(_0x312984['length']===0x0){console[_0x7480f5(0x119)](_0x7480f5(0x12d));return;}console[_0x7480f5(0x119)]('*\x20'+CLI_DISPLAY_NAME+_0x7480f5(0x128)),_0x312984['forEach']((_0x57ce78,_0x17142a)=>{const _0x2b0d0a=_0x7480f5,_0x1c5252=new Date(_0x57ce78[_0x2b0d0a(0x12f)])[_0x2b0d0a(0x118)](_0x2b0d0a(0x12e)),_0x358074=_0x57ce78[_0x2b0d0a(0x130)]===_0x2b0d0a(0x122)?'√':_0x57ce78[_0x2b0d0a(0x130)]===_0x2b0d0a(0x127)?'×':_0x57ce78[_0x2b0d0a(0x130)]===_0x2b0d0a(0x120)?'!':'i';console[_0x2b0d0a(0x119)](_0x17142a+0x1+'.\x20'+_0x358074+'\x20['+_0x57ce78[_0x2b0d0a(0x117)]+']\x20'+_0x57ce78[_0x2b0d0a(0x11a)]),console[_0x2b0d0a(0x119)](_0x2b0d0a(0x11d)+_0x1c5252),_0x57ce78[_0x2b0d0a(0x12a)]&&console[_0x2b0d0a(0x119)](_0x2b0d0a(0x11b)+_0x57ce78[_0x2b0d0a(0x12a)]+'ms'),_0x57ce78[_0x2b0d0a(0x129)]&&Object[_0x2b0d0a(0x115)](_0x57ce78[_0x2b0d0a(0x129)])[_0x2b0d0a(0x126)]>0x0&&console[_0x2b0d0a(0x119)]('\x20\x20\x20Details:\x20'+JSON[_0x2b0d0a(0x114)](_0x57ce78['details'],null,0x2)),console['log']('');});}function a28_0x3e41(_0x4b4421,_0x2772d3){_0x4b4421=_0x4b4421-0x114;const _0x48b791=a28_0x48b7();let _0x3e413d=_0x48b791[_0x4b4421];return _0x3e413d;}export const logsDefinitions=[{'service':a28_0x4e8dda(0x116),'command':'show','description':'View\x20command\x20history\x20logs','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5012f2){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a28_0x4e8dda(0x116),'command':a28_0x4e8dda(0x12b),'description':'Clear\x20command\x20history\x20logs','risk':a28_0x4e8dda(0x121),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1e7811){const _0xaab8ce=a28_0x4e8dda;return logger[_0xaab8ce(0x11c)](),console[_0xaab8ce(0x119)]('*\x20Logs\x20cleared'),{'ok':!![]};}}];
1
+ const a28_0x3f56f3=a28_0x313b;function a28_0x1bf5(){const _0x498794=['\x20\x20\x20Duration:\x20','353713tPrYDF','en-US','level','details','log','2udJpkL','89048xvulwc','warn','success','119ulgfrT','timestamp','3891732vCUBOC','6rHSJoK','*\x20Logs\x20cleared','stringify','176872LzRuzj','readLogs','\x20logs:\x0a','2090334sNRSuE','2987790YjEial','logs','Clear\x20command\x20history\x20logs','read','285490FJCzyg','length','9crPzDD','clear','33UprbRX','\x20\x20\x20Details:\x20','duration'];a28_0x1bf5=function(){return _0x498794;};return a28_0x1bf5();}(function(_0x4b6e78,_0x4c9691){const _0x404a18=a28_0x313b,_0x40a1f3=_0x4b6e78();while(!![]){try{const _0x2691e0=parseInt(_0x404a18(0x124))/0x1*(-parseInt(_0x404a18(0x129))/0x2)+parseInt(_0x404a18(0x130))/0x3*(-parseInt(_0x404a18(0x133))/0x4)+-parseInt(_0x404a18(0x13b))/0x5+-parseInt(_0x404a18(0x136))/0x6+parseInt(_0x404a18(0x12d))/0x7*(-parseInt(_0x404a18(0x12a))/0x8)+-parseInt(_0x404a18(0x11e))/0x9*(-parseInt(_0x404a18(0x137))/0xa)+-parseInt(_0x404a18(0x120))/0xb*(-parseInt(_0x404a18(0x12f))/0xc);if(_0x2691e0===_0x4c9691)break;else _0x40a1f3['push'](_0x40a1f3['shift']());}catch(_0x3b385c){_0x40a1f3['push'](_0x40a1f3['shift']());}}}(a28_0x1bf5,0x39561));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x313b(_0x46fe54,_0x3eb5ef){_0x46fe54=_0x46fe54-0x11e;const _0x1bf506=a28_0x1bf5();let _0x313bc2=_0x1bf506[_0x46fe54];return _0x313bc2;}function printLogs(_0x33057b){const _0x11ac81=a28_0x313b;if(_0x33057b[_0x11ac81(0x13c)]===0x0){console[_0x11ac81(0x128)]('*\x20No\x20logs\x20found');return;}console[_0x11ac81(0x128)]('*\x20'+CLI_DISPLAY_NAME+_0x11ac81(0x135)),_0x33057b['forEach']((_0x412948,_0x26652f)=>{const _0x179bb1=_0x11ac81,_0x73ce51=new Date(_0x412948[_0x179bb1(0x12e)])['toLocaleString'](_0x179bb1(0x125)),_0x273cfb=_0x412948[_0x179bb1(0x126)]===_0x179bb1(0x12c)?'√':_0x412948[_0x179bb1(0x126)]==='error'?'×':_0x412948[_0x179bb1(0x126)]===_0x179bb1(0x12b)?'!':'i';console[_0x179bb1(0x128)](_0x26652f+0x1+'.\x20'+_0x273cfb+'\x20['+_0x412948['command']+']\x20'+_0x412948['message']),console[_0x179bb1(0x128)]('\x20\x20\x20Time:\x20'+_0x73ce51),_0x412948[_0x179bb1(0x122)]&&console[_0x179bb1(0x128)](_0x179bb1(0x123)+_0x412948['duration']+'ms'),_0x412948[_0x179bb1(0x127)]&&Object['keys'](_0x412948[_0x179bb1(0x127)])['length']>0x0&&console[_0x179bb1(0x128)](_0x179bb1(0x121)+JSON[_0x179bb1(0x132)](_0x412948[_0x179bb1(0x127)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a28_0x3f56f3(0x138),'command':'show','description':'View\x20command\x20history\x20logs','risk':a28_0x3f56f3(0x13a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x350b7e){const _0x139f23=a28_0x3f56f3;return printLogs(logger[_0x139f23(0x134)]()),{'ok':!![]};}},{'service':a28_0x3f56f3(0x138),'command':a28_0x3f56f3(0x11f),'description':a28_0x3f56f3(0x139),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x157b02){const _0xabb7f8=a28_0x3f56f3;return logger['clearLogs'](),console['log'](_0xabb7f8(0x131)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x51b652=a29_0x5c5b;(function(_0x44cc00,_0x115093){const _0x9bfa32=a29_0x5c5b,_0x377a73=_0x44cc00();while(!![]){try{const _0x438d6a=parseInt(_0x9bfa32(0x1cb))/0x1+-parseInt(_0x9bfa32(0x193))/0x2*(-parseInt(_0x9bfa32(0x198))/0x3)+-parseInt(_0x9bfa32(0x1ab))/0x4+parseInt(_0x9bfa32(0x1bf))/0x5*(-parseInt(_0x9bfa32(0x19d))/0x6)+parseInt(_0x9bfa32(0x1b3))/0x7+-parseInt(_0x9bfa32(0x1be))/0x8+-parseInt(_0x9bfa32(0x1a6))/0x9;if(_0x438d6a===_0x115093)break;else _0x377a73['push'](_0x377a73['shift']());}catch(_0x1fed07){_0x377a73['push'](_0x377a73['shift']());}}}(a29_0x230c,0x78c21));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a29_0x230c(){const _0xec06db=['map','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','/client/runtime-bff/personal/','Created\x20personal\x20BFF\x20','validation','isArray','1844FeVahB','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','write','scriptType','list','273myFzIr','Optional\x20source\x20RuntimeAgent\x20session\x20id','version','File\x20not\x20found:\x20','description','310578BuBRYU','appCode','verbose','createTime','config','Personal\x20BFF\x20script\x20file\x20is\x20blank.','length','test','functionName','4534767eBeoNX','str','file','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','build','221464IMNIGW','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Show\x20one\x20personal\x20BFF\x20by\x20id','personal-bff','exec','updateTime','Executed\x20personal\x20BFF\x20','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','4004833eZKbai','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','source-session-id','gmtModified','Updated\x20personal\x20BFF\x20','trim','scriptContent','params','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','read','isFile','880984RjuYij','20wdJcDs','bool','name','create','body','Personal\x20BFF\x20script\x20ID','update','flag','string','Personal\x20BFF\x20description','Update\x20a\x20personal\x20BFF\x20by\x20id','detail','715008MtfUns','POST','num'];a29_0x230c=function(){return _0xec06db;};return a29_0x230c();}import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x51b652(0x1a8),'type':'string','description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x51b652(0x1c7),'required':!![],'description':a29_0x51b652(0x1ac)},DESCRIPTION_FLAG={'name':a29_0x51b652(0x19c),'type':'string','description':a29_0x51b652(0x1c8)},SOURCE_SESSION_FLAG={'name':a29_0x51b652(0x1b5),'type':a29_0x51b652(0x1c7),'description':a29_0x51b652(0x199)};function normalizeFunctionName(_0x5e9bbc){const _0x28122a=a29_0x51b652,_0x52ccef=String(_0x5e9bbc||'')[_0x28122a(0x1b8)]();if(!_0x52ccef||!FUNCTION_NAME_PATTERN[_0x28122a(0x1a4)](_0x52ccef))throw CliErrors[_0x28122a(0x191)](_0x28122a(0x1cf));return _0x52ccef;}function readScriptFile(_0x5e586d){const _0x1aeeff=a29_0x51b652;if(!_0x5e586d)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x5e586d))throw CliErrors[_0x1aeeff(0x191)](_0x1aeeff(0x19b)+_0x5e586d);if(!statSync(_0x5e586d)[_0x1aeeff(0x1bd)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x5e586d);const _0x3a30ba=readFileSync(_0x5e586d,'utf8');if(!_0x3a30ba[_0x1aeeff(0x1b8)]())throw CliErrors[_0x1aeeff(0x191)](_0x1aeeff(0x1a2));return _0x3a30ba;}function optionalTrimmed(_0x309f53){const _0x5d4997=String(_0x309f53||'')['trim']();return _0x5d4997||undefined;}function summarizeBff(_0x3517a4){const _0x33da40=a29_0x51b652;return{'id':_0x3517a4['id'],'appCode':_0x3517a4['appCode'],'functionName':_0x3517a4[_0x33da40(0x1a5)],'description':_0x3517a4[_0x33da40(0x19c)],'scriptType':_0x3517a4['scriptType'],'version':_0x3517a4[_0x33da40(0x19a)],'gmtModified':_0x3517a4[_0x33da40(0x1b6)],'updateTime':_0x3517a4[_0x33da40(0x1b0)]};}function detailBff(_0x339a53){const _0x174320=a29_0x51b652;return{'id':_0x339a53['id'],'appCode':_0x339a53[_0x174320(0x19e)],'functionName':_0x339a53[_0x174320(0x1a5)],'description':_0x339a53['description'],'scriptType':_0x339a53[_0x174320(0x196)],'scriptContent':_0x339a53[_0x174320(0x1b9)]??'','config':_0x339a53[_0x174320(0x1a1)],'version':_0x339a53[_0x174320(0x19a)],'createUserId':_0x339a53['createUserId'],'gmtCreate':_0x339a53['gmtCreate'],'gmtModified':_0x339a53[_0x174320(0x1b6)],'createTime':_0x339a53[_0x174320(0x1a0)],'updateTime':_0x339a53[_0x174320(0x1b0)]};}function buildCreateInput(_0x42b6ec){const _0x165442=a29_0x51b652;return{'functionName':normalizeFunctionName(_0x42b6ec[_0x165442(0x1a7)](_0x165442(0x1c1))),...optionalTrimmed(_0x42b6ec[_0x165442(0x1a7)](_0x165442(0x19c)))?{'description':optionalTrimmed(_0x42b6ec[_0x165442(0x1a7)](_0x165442(0x19c)))}:{},'scriptContent':readScriptFile(_0x42b6ec[_0x165442(0x1a7)](_0x165442(0x1a8))),...optionalTrimmed(_0x42b6ec[_0x165442(0x1a7)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x42b6ec['str']('source-session-id'))}:{}};}function a29_0x5c5b(_0x29f11c,_0x1177bb){_0x29f11c=_0x29f11c-0x191;const _0x230c69=a29_0x230c();let _0x5c5b91=_0x230c69[_0x29f11c];return _0x5c5b91;}function buildUpdateInput(_0x420943){const _0x430ca0=a29_0x51b652,_0x1c804f={};optionalTrimmed(_0x420943[_0x430ca0(0x1a7)](_0x430ca0(0x1c1)))&&(_0x1c804f[_0x430ca0(0x1a5)]=normalizeFunctionName(_0x420943[_0x430ca0(0x1a7)](_0x430ca0(0x1c1))));_0x420943['flag']('description')!==undefined&&(_0x1c804f['description']=_0x420943[_0x430ca0(0x1a7)](_0x430ca0(0x19c)));optionalTrimmed(_0x420943['str'](_0x430ca0(0x1a8)))&&(_0x1c804f[_0x430ca0(0x1b9)]=readScriptFile(_0x420943[_0x430ca0(0x1a7)](_0x430ca0(0x1a8))));_0x420943[_0x430ca0(0x1c6)]('source-session-id')!==undefined&&(_0x1c804f['sourceSessionId']=_0x420943[_0x430ca0(0x1a7)](_0x430ca0(0x1b5)));if(Object['keys'](_0x1c804f)[_0x430ca0(0x1a3)]===0x0)throw CliErrors['validation'](_0x430ca0(0x1a9));return _0x1c804f;}function parseExecParams(_0x218798){const _0x5b8c96=a29_0x51b652,_0x3ec89f=parseJsonParams(_0x218798)??{};if(Array[_0x5b8c96(0x192)](_0x3ec89f))throw CliErrors[_0x5b8c96(0x191)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x3ec89f;}const personalBffList={'service':a29_0x51b652(0x1ae),'command':a29_0x51b652(0x197),'description':a29_0x51b652(0x1bb),'risk':a29_0x51b652(0x1bc),'flags':[VERBOSE_FLAG],async 'execute'(_0x4708b7){const _0x3bd82a=a29_0x51b652,_0x2ff54b=await listPersonalBffs(_0x4708b7[_0x3bd82a(0x19e)]);return{'ok':!![],'data':{'total':_0x2ff54b[_0x3bd82a(0x1a3)],'items':_0x4708b7[_0x3bd82a(0x1c0)](_0x3bd82a(0x19f))?_0x2ff54b:_0x2ff54b[_0x3bd82a(0x1ce)](summarizeBff)}};}},personalBffDetail={'service':a29_0x51b652(0x1ae),'command':a29_0x51b652(0x1ca),'description':a29_0x51b652(0x1ad),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x51b652(0x1c4)}],async 'execute'(_0x45ffad){const _0x567bac=a29_0x51b652,_0x48ddfe=await getPersonalBff(_0x45ffad[_0x567bac(0x1cd)]('id'),_0x45ffad[_0x567bac(0x19e)]);return{'ok':!![],'data':detailBff(_0x48ddfe)};}},personalBffCreate={'service':a29_0x51b652(0x1ae),'command':a29_0x51b652(0x1c2),'description':a29_0x51b652(0x194),'risk':a29_0x51b652(0x195),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x36a17d){const _0x4a3980=a29_0x51b652,_0x5bfb39=buildCreateInput(_0x36a17d),_0x5ddcb9=await createPersonalBff(_0x36a17d[_0x4a3980(0x19e)],_0x5bfb39);return{'ok':!![],'data':detailBff(_0x5ddcb9),'message':_0x4a3980(0x1d1)+_0x5ddcb9['id']+(_0x5ddcb9[_0x4a3980(0x1a5)]?'\x20('+_0x5ddcb9['functionName']+')':'')};},async 'dryRun'(_0x399538){const _0x224b9a=a29_0x51b652,_0xd926ad=buildCreateInput(_0x399538);return dryRun('POST','/client/runtime-bff/personal/create')[_0x224b9a(0x1c3)]({'appCode':_0x399538[_0x224b9a(0x19e)],..._0xd926ad})['description']('Preview:\x20create\x20personal\x20BFF\x20'+_0xd926ad['functionName'])[_0x224b9a(0x1aa)]();}},personalBffUpdate={'service':a29_0x51b652(0x1ae),'command':a29_0x51b652(0x1c5),'description':a29_0x51b652(0x1c9),'risk':'write','flags':[{...ID_FLAG,'description':a29_0x51b652(0x1c4)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5232c4){const _0x5b23eb=a29_0x51b652,_0x590a5c=_0x5232c4[_0x5b23eb(0x1cd)]('id'),_0xdce8df=buildUpdateInput(_0x5232c4),_0x3f7b7a=await updatePersonalBff(_0x590a5c,_0x5232c4[_0x5b23eb(0x19e)],_0xdce8df);return{'ok':!![],'data':detailBff(_0x3f7b7a),'message':_0x5b23eb(0x1b7)+_0x3f7b7a['id']+(_0x3f7b7a[_0x5b23eb(0x1a5)]?'\x20('+_0x3f7b7a[_0x5b23eb(0x1a5)]+')':'')};},async 'dryRun'(_0x14166b){const _0x4eda9b=a29_0x51b652,_0x468add=_0x14166b['num']('id'),_0x342e59=buildUpdateInput(_0x14166b);return dryRun(_0x4eda9b(0x1cc),_0x4eda9b(0x1d0)+_0x468add+'/update')[_0x4eda9b(0x1c3)]({'appCode':_0x14166b[_0x4eda9b(0x19e)],..._0x342e59})[_0x4eda9b(0x19c)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x468add)['build']();}},personalBffExec={'service':a29_0x51b652(0x1ae),'command':a29_0x51b652(0x1af),'description':a29_0x51b652(0x1b4),'risk':'high-risk-write','flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x51b652(0x1b2)}],async 'validate'(_0x1ddece){const _0x411ea8=a29_0x51b652;parseExecParams(_0x1ddece[_0x411ea8(0x1a7)](_0x411ea8(0x1ba)));},async 'execute'(_0x8ff269){const _0x34f95f=a29_0x51b652,_0x36e042=_0x8ff269[_0x34f95f(0x1cd)]('id'),_0xab504e=parseExecParams(_0x8ff269[_0x34f95f(0x1a7)](_0x34f95f(0x1ba))),_0xdf3c9b=await executePersonalBff(_0x36e042,_0x8ff269[_0x34f95f(0x19e)],_0xab504e);return{'ok':!![],'data':{'result':_0xdf3c9b},'message':_0x34f95f(0x1b1)+_0x36e042};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0x1b852a=a29_0x8177;(function(_0x2f1c99,_0x3b6b6d){const _0x42b80d=a29_0x8177,_0x3c324f=_0x2f1c99();while(!![]){try{const _0x2924f5=parseInt(_0x42b80d(0x73))/0x1*(parseInt(_0x42b80d(0x97))/0x2)+parseInt(_0x42b80d(0xa7))/0x3+parseInt(_0x42b80d(0x79))/0x4*(-parseInt(_0x42b80d(0x71))/0x5)+parseInt(_0x42b80d(0x8b))/0x6*(-parseInt(_0x42b80d(0x7a))/0x7)+parseInt(_0x42b80d(0x6e))/0x8*(parseInt(_0x42b80d(0x94))/0x9)+parseInt(_0x42b80d(0x84))/0xa+-parseInt(_0x42b80d(0x78))/0xb*(parseInt(_0x42b80d(0x74))/0xc);if(_0x2924f5===_0x3b6b6d)break;else _0x3c324f['push'](_0x3c324f['shift']());}catch(_0x3658f9){_0x3c324f['push'](_0x3c324f['shift']());}}}(a29_0x5e8f,0xe262b));function a29_0x8177(_0x253964,_0xdcd2a8){_0x253964=_0x253964-0x6d;const _0x5e8f18=a29_0x5e8f();let _0x817757=_0x5e8f18[_0x253964];return _0x817757;}import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x1b852a(0xb0),'type':a29_0x1b852a(0x8e),'description':a29_0x1b852a(0xa9)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x1b852a(0x8e),'required':!![],'description':a29_0x1b852a(0x85)},DESCRIPTION_FLAG={'name':'description','type':a29_0x1b852a(0x8e),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a29_0x1b852a(0x8e),'description':a29_0x1b852a(0x92)};function normalizeFunctionName(_0x1bfcd8){const _0x4230eb=a29_0x1b852a,_0x5b7db7=String(_0x1bfcd8||'')[_0x4230eb(0x7c)]();if(!_0x5b7db7||!FUNCTION_NAME_PATTERN[_0x4230eb(0x98)](_0x5b7db7))throw CliErrors[_0x4230eb(0x76)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x5b7db7;}function a29_0x5e8f(){const _0x433d7e=['isArray','config','File\x20path\x20is\x20required.','POST','detail','9123904qvKMKb','map','str','6430665YwbBGq','num','42423jjsNPk','7032PngEWu','updateTime','validation','Created\x20personal\x20BFF\x20','38533lscrFa','4dFCCpL','508613hurqlo','gmtModified','trim','body','build','appCode','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','createTime','source-session-id','17460990yLBvgZ','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','name','Show\x20one\x20personal\x20BFF\x20by\x20id','personal-bff','isFile','version','48UrFrFL','Executed\x20personal\x20BFF\x20','scriptType','string','length','Personal\x20BFF\x20script\x20ID','list','Optional\x20source\x20RuntimeAgent\x20session\x20id','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','9MFhSYH','createUserId','Preview:\x20update\x20personal\x20BFF\x20','68ggfaPd','test','sourceSessionId','read','scriptContent','/client/runtime-bff/personal/','/client/runtime-bff/personal/create','flag','update','Updated\x20personal\x20BFF\x20','File\x20not\x20found:\x20','bool','gmtCreate','--params\x20must\x20be\x20a\x20JSON\x20object.','description','keys','1555407AwfBET','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Update\x20a\x20personal\x20BFF\x20by\x20id','/update','params','high-risk-write','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','functionName','file','write'];a29_0x5e8f=function(){return _0x433d7e;};return a29_0x5e8f();}function readScriptFile(_0x51ec19){const _0x34aae1=a29_0x1b852a;if(!_0x51ec19)throw CliErrors[_0x34aae1(0x76)](_0x34aae1(0xb4));if(!existsSync(_0x51ec19))throw CliErrors[_0x34aae1(0x76)](_0x34aae1(0xa1)+_0x51ec19);if(!statSync(_0x51ec19)[_0x34aae1(0x89)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x51ec19);const _0x329f97=readFileSync(_0x51ec19,_0x34aae1(0xa8));if(!_0x329f97['trim']())throw CliErrors[_0x34aae1(0x76)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x329f97;}function optionalTrimmed(_0x2782e5){const _0x3f2ab1=String(_0x2782e5||'')['trim']();return _0x3f2ab1||undefined;}function summarizeBff(_0x19c4e0){const _0x3dda65=a29_0x1b852a;return{'id':_0x19c4e0['id'],'appCode':_0x19c4e0[_0x3dda65(0x7f)],'functionName':_0x19c4e0[_0x3dda65(0xaf)],'description':_0x19c4e0['description'],'scriptType':_0x19c4e0[_0x3dda65(0x8d)],'version':_0x19c4e0[_0x3dda65(0x8a)],'gmtModified':_0x19c4e0[_0x3dda65(0x7b)],'updateTime':_0x19c4e0['updateTime']};}function detailBff(_0x47d1ee){const _0xe8b498=a29_0x1b852a;return{'id':_0x47d1ee['id'],'appCode':_0x47d1ee['appCode'],'functionName':_0x47d1ee[_0xe8b498(0xaf)],'description':_0x47d1ee['description'],'scriptType':_0x47d1ee[_0xe8b498(0x8d)],'scriptContent':_0x47d1ee['scriptContent']??'','config':_0x47d1ee[_0xe8b498(0xb3)],'version':_0x47d1ee[_0xe8b498(0x8a)],'createUserId':_0x47d1ee[_0xe8b498(0x95)],'gmtCreate':_0x47d1ee[_0xe8b498(0xa3)],'gmtModified':_0x47d1ee[_0xe8b498(0x7b)],'createTime':_0x47d1ee[_0xe8b498(0x82)],'updateTime':_0x47d1ee[_0xe8b498(0x75)]};}function buildCreateInput(_0x32de98){const _0x2c31f4=a29_0x1b852a;return{'functionName':normalizeFunctionName(_0x32de98['str']('name')),...optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0xa5)))?{'description':optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0xa5)))}:{},'scriptContent':readScriptFile(_0x32de98[_0x2c31f4(0x70)]('file')),...optionalTrimmed(_0x32de98['str'](_0x2c31f4(0x83)))?{'sourceSessionId':optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0x83)))}:{}};}function buildUpdateInput(_0x113fcc){const _0x210e6a=a29_0x1b852a,_0x46d769={};optionalTrimmed(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0x86)))&&(_0x46d769[_0x210e6a(0xaf)]=normalizeFunctionName(_0x113fcc[_0x210e6a(0x70)]('name')));_0x113fcc[_0x210e6a(0x9e)](_0x210e6a(0xa5))!==undefined&&(_0x46d769[_0x210e6a(0xa5)]=_0x113fcc[_0x210e6a(0x70)]('description'));optionalTrimmed(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0xb0)))&&(_0x46d769[_0x210e6a(0x9b)]=readScriptFile(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0xb0))));_0x113fcc['flag'](_0x210e6a(0x83))!==undefined&&(_0x46d769[_0x210e6a(0x99)]=_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0x83)));if(Object[_0x210e6a(0xa6)](_0x46d769)[_0x210e6a(0x8f)]===0x0)throw CliErrors['validation']('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x46d769;}function parseExecParams(_0x30340c){const _0x3878b4=a29_0x1b852a,_0xa59652=parseJsonParams(_0x30340c)??{};if(Array[_0x3878b4(0xb2)](_0xa59652))throw CliErrors[_0x3878b4(0x76)](_0x3878b4(0xa4));return _0xa59652;}const personalBffList={'service':a29_0x1b852a(0x88),'command':a29_0x1b852a(0x91),'description':a29_0x1b852a(0x93),'risk':a29_0x1b852a(0x9a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3b14d9){const _0x3e0e53=a29_0x1b852a,_0x33e023=await listPersonalBffs(_0x3b14d9[_0x3e0e53(0x7f)]);return{'ok':!![],'data':{'total':_0x33e023['length'],'items':_0x3b14d9[_0x3e0e53(0xa2)](_0x3e0e53(0x81))?_0x33e023:_0x33e023[_0x3e0e53(0x6f)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0x1b852a(0x6d),'description':a29_0x1b852a(0x87),'risk':a29_0x1b852a(0x9a),'flags':[{...ID_FLAG,'description':a29_0x1b852a(0x90)}],async 'execute'(_0x3d923d){const _0x343db7=a29_0x1b852a,_0x402f79=await getPersonalBff(_0x3d923d['num']('id'),_0x3d923d[_0x343db7(0x7f)]);return{'ok':!![],'data':detailBff(_0x402f79)};}},personalBffCreate={'service':'personal-bff','command':'create','description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x1b852a(0xb1),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3c17cf){const _0x410ae2=a29_0x1b852a,_0x12dc21=buildCreateInput(_0x3c17cf),_0x4eaa8c=await createPersonalBff(_0x3c17cf['appCode'],_0x12dc21);return{'ok':!![],'data':detailBff(_0x4eaa8c),'message':_0x410ae2(0x77)+_0x4eaa8c['id']+(_0x4eaa8c[_0x410ae2(0xaf)]?'\x20('+_0x4eaa8c[_0x410ae2(0xaf)]+')':'')};},async 'dryRun'(_0xf10472){const _0x50353b=a29_0x1b852a,_0x2eeb63=buildCreateInput(_0xf10472);return dryRun(_0x50353b(0xb5),_0x50353b(0x9d))[_0x50353b(0x7d)]({'appCode':_0xf10472[_0x50353b(0x7f)],..._0x2eeb63})[_0x50353b(0xa5)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x2eeb63['functionName'])[_0x50353b(0x7e)]();}},personalBffUpdate={'service':'personal-bff','command':a29_0x1b852a(0x9f),'description':a29_0x1b852a(0xaa),'risk':'write','flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x510ff1){const _0x5d8d4e=a29_0x1b852a,_0xddc6cb=_0x510ff1[_0x5d8d4e(0x72)]('id'),_0x29bac7=buildUpdateInput(_0x510ff1),_0x120693=await updatePersonalBff(_0xddc6cb,_0x510ff1[_0x5d8d4e(0x7f)],_0x29bac7);return{'ok':!![],'data':detailBff(_0x120693),'message':_0x5d8d4e(0xa0)+_0x120693['id']+(_0x120693['functionName']?'\x20('+_0x120693[_0x5d8d4e(0xaf)]+')':'')};},async 'dryRun'(_0x184e24){const _0x492f79=a29_0x1b852a,_0x252eb2=_0x184e24[_0x492f79(0x72)]('id'),_0x453077=buildUpdateInput(_0x184e24);return dryRun(_0x492f79(0xb5),_0x492f79(0x9c)+_0x252eb2+_0x492f79(0xab))[_0x492f79(0x7d)]({'appCode':_0x184e24[_0x492f79(0x7f)],..._0x453077})['description'](_0x492f79(0x96)+_0x252eb2)['build']();}},personalBffExec={'service':a29_0x1b852a(0x88),'command':'exec','description':a29_0x1b852a(0x80),'risk':a29_0x1b852a(0xad),'flags':[{...ID_FLAG,'description':a29_0x1b852a(0x90)},{...PARAMS_FLAG,'description':a29_0x1b852a(0xae)}],async 'validate'(_0x56f15b){const _0x51a087=a29_0x1b852a;parseExecParams(_0x56f15b[_0x51a087(0x70)]('params'));},async 'execute'(_0x4a984b){const _0x326ba1=a29_0x1b852a,_0x4930bc=_0x4a984b[_0x326ba1(0x72)]('id'),_0xeb1635=parseExecParams(_0x4a984b[_0x326ba1(0x70)](_0x326ba1(0xac))),_0x1f9c3e=await executePersonalBff(_0x4930bc,_0x4a984b[_0x326ba1(0x7f)],_0xeb1635);return{'ok':!![],'data':{'result':_0x1f9c3e},'message':_0x326ba1(0x8c)+_0x4930bc};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x250421=a30_0x22da;(function(_0x420c50,_0x4db2e7){const _0x403bf1=a30_0x22da,_0x242ff2=_0x420c50();while(!![]){try{const _0x710246=parseInt(_0x403bf1(0x1ef))/0x1*(parseInt(_0x403bf1(0x1e4))/0x2)+-parseInt(_0x403bf1(0x1ee))/0x3+-parseInt(_0x403bf1(0x1e7))/0x4*(-parseInt(_0x403bf1(0x1ed))/0x5)+parseInt(_0x403bf1(0x1d5))/0x6+parseInt(_0x403bf1(0x1d7))/0x7*(-parseInt(_0x403bf1(0x1d2))/0x8)+parseInt(_0x403bf1(0x1d9))/0x9+parseInt(_0x403bf1(0x1f2))/0xa*(-parseInt(_0x403bf1(0x1e0))/0xb);if(_0x710246===_0x4db2e7)break;else _0x242ff2['push'](_0x242ff2['shift']());}catch(_0x375e1a){_0x242ff2['push'](_0x242ff2['shift']());}}}(a30_0x235b,0x41d7f));function a30_0x235b(){const _0x49530c=['BFF\x20Scripts','CLI\x20Built-in\x20Skill','write','API\x20Documentation','\x20\x20[high-risk-write]','description','Skills','Self\x20Update','service','defaultCommand','push','32tMJYYm','Artifacts','get','1095546ZTUDIG','risk','517832iCZCog','list','2041002VgOsZa','\x20\x20[write]','Knowledge\x20Base','isSingleCommand','App\x20Management','login','command','6006022yxhtou','Schema','install','set','215306CDnvrM','map','Personal\x20BFF','980552VTQqnK','values','Datasets','Service\x20Tree','Configuration','SQL\x20Queries','10LvmHft','10050XzRGSw','2ZXFoHn','Diagnostics','Workspace','10EObfbS'];a30_0x235b=function(){return _0x49530c;};return a30_0x235b();}import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a30_0x22da(_0x19930d,_0x5c4def){_0x19930d=_0x19930d-0x1ce;const _0x235b82=a30_0x235b();let _0x22da32=_0x235b82[_0x19930d];return _0x22da32;}export const serviceGroups=new Map();function registerDefinitions(_0x37305d){const _0x1f5b37=a30_0x22da;for(const _0x4e8f6d of _0x37305d){definitions[_0x1f5b37(0x1e3)](_0x4e8f6d[_0x1f5b37(0x1cf)]+':'+_0x4e8f6d[_0x1f5b37(0x1df)],_0x4e8f6d);let _0x102552=serviceGroups[_0x1f5b37(0x1d4)](_0x4e8f6d[_0x1f5b37(0x1cf)]);!_0x102552&&(_0x102552=[],serviceGroups[_0x1f5b37(0x1e3)](_0x4e8f6d['service'],_0x102552)),_0x102552[_0x1f5b37(0x1d1)](_0x4e8f6d);}}function registerService(_0x356ea6,_0x301f61,_0x590260){const _0x58b237=a30_0x22da;registerDefinitions(_0x301f61);const _0x5bf711=_0x4f1ea9=>_0x4f1ea9==='read'?'':_0x4f1ea9===_0x58b237(0x1f5)?_0x58b237(0x1da):_0x58b237(0x1f7),_0x4f62ca={'service':_0x301f61[0x0]['service'],'label':_0x356ea6,'commands':_0x301f61[_0x58b237(0x1e5)](_0x1ebb80=>({'command':_0x1ebb80[_0x58b237(0x1df)],'description':_0x1ebb80[_0x58b237(0x1f8)],'tag':_0x5bf711(_0x1ebb80[_0x58b237(0x1d6)])})),'defaultCommand':_0x590260?.[_0x58b237(0x1d0)]??(_0x590260?.[_0x58b237(0x1dc)]?_0x301f61[0x0][_0x58b237(0x1df)]:undefined),'isSingleCommand':_0x590260?.[_0x58b237(0x1dc)]};serviceRegistry[_0x58b237(0x1d1)](_0x4f62ca),serviceByName[_0x58b237(0x1e3)](_0x4f62ca[_0x58b237(0x1cf)],_0x4f62ca);}registerService('Authentication',authDefinitions,{'defaultCommand':a30_0x250421(0x1de)}),registerService(a30_0x250421(0x1f6),apiDocDefinitions),registerService(a30_0x250421(0x1e9),datasetDefinitions),registerService('Instant\x20API',dataDefinitions),registerService(a30_0x250421(0x1ec),sqlDefinitions),registerService(a30_0x250421(0x1f3),bffDefinitions),registerService(a30_0x250421(0x1e6),personalBffDefinitions),registerService(a30_0x250421(0x1d3),artifactDefinitions),registerService(a30_0x250421(0x1db),kbDefinitions),registerService(a30_0x250421(0x1dd),appDefinitions,{'defaultCommand':a30_0x250421(0x1d8)}),registerService(a30_0x250421(0x1f1),workspaceDefinitions),registerService(a30_0x250421(0x1eb),configDefinitions,{'defaultCommand':a30_0x250421(0x1d8)}),registerService(a30_0x250421(0x1ea),serviceDefinitions,{'defaultCommand':a30_0x250421(0x1d8)}),registerService(a30_0x250421(0x1f9),skillDefinitions,{'defaultCommand':a30_0x250421(0x1e2)}),registerService(a30_0x250421(0x1f4),cliSkillDefinitions,{'defaultCommand':'install'}),registerService(a30_0x250421(0x1ce),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0x250421(0x1f0),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x250421(0x1e1),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x127514,_0x3ae1df){return definitions['get'](_0x127514+':'+_0x3ae1df);}export function isKnownService(_0x239dba){return serviceByName['has'](_0x239dba);}export function getServiceEntry(_0xb4f3cf){return serviceByName['get'](_0xb4f3cf);}export function getAllDefinitions(){const _0x30a94b=a30_0x250421;return Array['from'](definitions[_0x30a94b(0x1e8)]());}
1
+ const a30_0x102f55=a30_0x12a5;(function(_0x10ef80,_0x9e1a8c){const _0x3b33db=a30_0x12a5,_0x4b3f13=_0x10ef80();while(!![]){try{const _0x5965da=-parseInt(_0x3b33db(0x1e2))/0x1+parseInt(_0x3b33db(0x1ca))/0x2*(-parseInt(_0x3b33db(0x1c0))/0x3)+parseInt(_0x3b33db(0x1d8))/0x4+parseInt(_0x3b33db(0x1c3))/0x5+-parseInt(_0x3b33db(0x1df))/0x6*(parseInt(_0x3b33db(0x1d6))/0x7)+-parseInt(_0x3b33db(0x1d9))/0x8*(-parseInt(_0x3b33db(0x1de))/0x9)+parseInt(_0x3b33db(0x1e3))/0xa*(parseInt(_0x3b33db(0x1c6))/0xb);if(_0x5965da===_0x9e1a8c)break;else _0x4b3f13['push'](_0x4b3f13['shift']());}catch(_0x50cb8a){_0x4b3f13['push'](_0x4b3f13['shift']());}}}(a30_0x4f88,0xdf253));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';function a30_0x4f88(){const _0x496cd3=['10ZYyzCW','list','Artifacts','\x20\x20[high-risk-write]','Service\x20Tree','push','risk','Skills','description','1386EYYECW','SQL\x20Queries','read','5750020clHRYc','CLI\x20Built-in\x20Skill','from','11150029pigphY','Instant\x20API','Configuration','Personal\x20BFF','642sFEnJL','run','Workspace','install','isSingleCommand','BFF\x20Scripts','Authentication','Schema','command','has','API\x20Documentation','set','126gvbFLS','service','1178368leSTPt','3467528ayKjSc','App\x20Management','get','Self\x20Update','map','27bKflUf','344790ZKgJin','show','\x20\x20[write]','1661883xdScjC'];a30_0x4f88=function(){return _0x496cd3;};return a30_0x4f88();}import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';function a30_0x12a5(_0x5a388d,_0xeb6f49){_0x5a388d=_0x5a388d-0x1c0;const _0x4f886b=a30_0x4f88();let _0x12a555=_0x4f886b[_0x5a388d];return _0x12a555;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x333bae){const _0xc71402=a30_0x12a5;for(const _0x54f94a of _0x333bae){definitions[_0xc71402(0x1d5)](_0x54f94a['service']+':'+_0x54f94a['command'],_0x54f94a);let _0x252619=serviceGroups[_0xc71402(0x1db)](_0x54f94a['service']);!_0x252619&&(_0x252619=[],serviceGroups[_0xc71402(0x1d5)](_0x54f94a[_0xc71402(0x1d7)],_0x252619)),_0x252619[_0xc71402(0x1e8)](_0x54f94a);}}function registerService(_0x2dca1e,_0x21652b,_0xc7e297){const _0xef4092=a30_0x12a5;registerDefinitions(_0x21652b);const _0x5f1617=_0x16b96e=>_0x16b96e===_0xef4092(0x1c2)?'':_0x16b96e==='write'?_0xef4092(0x1e1):_0xef4092(0x1e6),_0x5cfde5={'service':_0x21652b[0x0][_0xef4092(0x1d7)],'label':_0x2dca1e,'commands':_0x21652b[_0xef4092(0x1dd)](_0x58a246=>({'command':_0x58a246['command'],'description':_0x58a246[_0xef4092(0x1eb)],'tag':_0x5f1617(_0x58a246[_0xef4092(0x1e9)])})),'defaultCommand':_0xc7e297?.['defaultCommand']??(_0xc7e297?.[_0xef4092(0x1ce)]?_0x21652b[0x0][_0xef4092(0x1d2)]:undefined),'isSingleCommand':_0xc7e297?.[_0xef4092(0x1ce)]};serviceRegistry[_0xef4092(0x1e8)](_0x5cfde5),serviceByName[_0xef4092(0x1d5)](_0x5cfde5['service'],_0x5cfde5);}registerService(a30_0x102f55(0x1d0),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x102f55(0x1d4),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x102f55(0x1c7),dataDefinitions),registerService(a30_0x102f55(0x1c1),sqlDefinitions),registerService(a30_0x102f55(0x1cf),bffDefinitions),registerService(a30_0x102f55(0x1c9),personalBffDefinitions),registerService(a30_0x102f55(0x1e5),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x102f55(0x1da),appDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1cc),workspaceDefinitions),registerService(a30_0x102f55(0x1c8),configDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1e7),serviceDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1ea),skillDefinitions,{'defaultCommand':a30_0x102f55(0x1cd)}),registerService(a30_0x102f55(0x1c4),cliSkillDefinitions,{'defaultCommand':a30_0x102f55(0x1cd)}),registerService(a30_0x102f55(0x1dc),[updateDefinition],{'defaultCommand':a30_0x102f55(0x1cb),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x102f55(0x1d1),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a30_0x102f55(0x1e0)});export function findDefinition(_0x1b7d90,_0xe659ef){const _0x5de566=a30_0x102f55;return definitions[_0x5de566(0x1db)](_0x1b7d90+':'+_0xe659ef);}export function isKnownService(_0x2dad48){const _0x4bdf0b=a30_0x102f55;return serviceByName[_0x4bdf0b(0x1d3)](_0x2dad48);}export function getServiceEntry(_0x55e242){const _0x4f211f=a30_0x102f55;return serviceByName[_0x4f211f(0x1db)](_0x55e242);}export function getAllDefinitions(){const _0x2131eb=a30_0x102f55;return Array[_0x2131eb(0x1c5)](definitions['values']());}
@@ -1 +1 @@
1
- const a31_0x476bba=a31_0xd1a1;(function(_0x563869,_0x3052ed){const _0x4aebf5=a31_0xd1a1,_0x2a0e36=_0x563869();while(!![]){try{const _0x374dfe=-parseInt(_0x4aebf5(0x16b))/0x1*(parseInt(_0x4aebf5(0x178))/0x2)+-parseInt(_0x4aebf5(0x16a))/0x3*(parseInt(_0x4aebf5(0x174))/0x4)+parseInt(_0x4aebf5(0x16c))/0x5*(-parseInt(_0x4aebf5(0x172))/0x6)+-parseInt(_0x4aebf5(0x173))/0x7*(parseInt(_0x4aebf5(0x16d))/0x8)+parseInt(_0x4aebf5(0x16e))/0x9*(parseInt(_0x4aebf5(0x171))/0xa)+parseInt(_0x4aebf5(0x175))/0xb+parseInt(_0x4aebf5(0x16f))/0xc;if(_0x374dfe===_0x3052ed)break;else _0x2a0e36['push'](_0x2a0e36['shift']());}catch(_0x110bb9){_0x2a0e36['push'](_0x2a0e36['shift']());}}}(a31_0x1c15,0x6e557));function a31_0xd1a1(_0x18b6a6,_0x2cf28f){_0x18b6a6=_0x18b6a6-0x16a;const _0x1c1576=a31_0x1c15();let _0xd1a110=_0x1c1576[_0x18b6a6];return _0xd1a110;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x480ebb){const _0x28dbd4=await buildSchemaPayload();return{'ok':!![],'data':_0x28dbd4};}function a31_0x1c15(){const _0x198aa1=['4459020irTNpI','786uZHEvF','28iayDRS','4iOERVn','8296233uaMQNt','schema','export','158344ibtWRl','47148pQrHeQ','4HLadTa','13595CnrYFy','1737824dUKwrN','18aOJBaP','4361100IFbRAK','read'];a31_0x1c15=function(){return _0x198aa1;};return a31_0x1c15();}export const schemaDefinition={'service':a31_0x476bba(0x176),'command':a31_0x476bba(0x177),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a31_0x476bba(0x170),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a31_0x1ce319=a31_0x3387;(function(_0x532420,_0x31fad9){const _0x355a55=a31_0x3387,_0x396cd3=_0x532420();while(!![]){try{const _0x50eede=-parseInt(_0x355a55(0x159))/0x1*(-parseInt(_0x355a55(0x15b))/0x2)+parseInt(_0x355a55(0x160))/0x3+-parseInt(_0x355a55(0x15d))/0x4*(parseInt(_0x355a55(0x162))/0x5)+parseInt(_0x355a55(0x161))/0x6*(parseInt(_0x355a55(0x15a))/0x7)+-parseInt(_0x355a55(0x165))/0x8*(-parseInt(_0x355a55(0x166))/0x9)+-parseInt(_0x355a55(0x15c))/0xa+-parseInt(_0x355a55(0x164))/0xb*(-parseInt(_0x355a55(0x15f))/0xc);if(_0x50eede===_0x31fad9)break;else _0x396cd3['push'](_0x396cd3['shift']());}catch(_0x5cdbad){_0x396cd3['push'](_0x396cd3['shift']());}}}(a31_0x1116,0x8d047));function a31_0x1116(){const _0x361ebb=['2wIxIWw','91819ibhIgS','43270FmliGn','9155120pWfhfD','25444DMBsQb','read','252ptDlfz','151890ixRqvr','60SsgcLh','205qKlkoK','export','785147SjHRql','296QHtvba','7281LPpjnH','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a31_0x1116=function(){return _0x361ebb;};return a31_0x1116();}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x3387(_0x4343b6,_0x14d1aa){_0x4343b6=_0x4343b6-0x159;const _0x1116bd=a31_0x1116();let _0x33873b=_0x1116bd[_0x4343b6];return _0x33873b;}async function execute(_0x8725e4){const _0x376c7d=await buildSchemaPayload();return{'ok':!![],'data':_0x376c7d};}export const schemaDefinition={'service':'schema','command':a31_0x1ce319(0x163),'description':a31_0x1ce319(0x167),'risk':a31_0x1ce319(0x15e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x5b83fd,_0xe7ff0){const _0x1f65c7=a32_0x2e03,_0x26d689=_0x5b83fd();while(!![]){try{const _0x3f8d2f=parseInt(_0x1f65c7(0x16d))/0x1+-parseInt(_0x1f65c7(0x192))/0x2+-parseInt(_0x1f65c7(0x15a))/0x3+parseInt(_0x1f65c7(0x156))/0x4+-parseInt(_0x1f65c7(0x140))/0x5+-parseInt(_0x1f65c7(0x13f))/0x6+parseInt(_0x1f65c7(0x13d))/0x7;if(_0x3f8d2f===_0xe7ff0)break;else _0x26d689['push'](_0x26d689['shift']());}catch(_0x5ccd32){_0x26d689['push'](_0x26d689['shift']());}}}(a32_0xd853,0x938f1));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(_0xd26dd9,_0x1eaa4c){const _0x12ef76=a32_0x2e03,_0x1e6fd7=listLocalServiceTrees();let _0x2a9812;for(const _0x50db17 of _0x1e6fd7){const _0x361ca4=matchServiceTreeCommand(_0x50db17,_0xd26dd9);if(!_0x361ca4)continue;(!_0x2a9812||_0x361ca4[_0x12ef76(0x18f)][_0x12ef76(0x14b)][_0x12ef76(0x19a)]>_0x2a9812[_0x12ef76(0x18f)][_0x12ef76(0x14b)][_0x12ef76(0x19a)])&&(_0x2a9812={'tree':_0x50db17,'command':_0x361ca4[_0x12ef76(0x18f)],'remainingArgs':_0x361ca4['remainingArgs']});}if(!_0x2a9812)return undefined;const _0x2c1671={..._0x1eaa4c};return applyAppBinding(_0x2a9812['tree'],_0x2a9812[_0x12ef76(0x18f)],_0x2c1671),{'definition':buildDynamicCommandDefinition(_0x2a9812[_0x12ef76(0x18a)],_0x2a9812[_0x12ef76(0x18f)]),'args':_0x2a9812[_0x12ef76(0x13a)],'flags':_0x2c1671,'tree':_0x2a9812[_0x12ef76(0x18a)],'command':_0x2a9812['command']};}export function generateDynamicServiceHelp(_0x38a88a){const _0x1a3b83=a32_0x2e03,_0x225bb9=listLocalServiceTrees()[_0x1a3b83(0x172)](_0x531c64=>_0x531c64[_0x1a3b83(0x191)][_0x1a3b83(0x17c)]===_0x38a88a);if(!_0x225bb9)return undefined;const _0x24d240=[CLI_BIN_NAME+'\x20'+_0x38a88a+_0x1a3b83(0x164),'',_0x225bb9['service'][_0x1a3b83(0x195)]||_0x38a88a,_0x225bb9[_0x1a3b83(0x191)][_0x1a3b83(0x168)]?'\x20\x20'+_0x225bb9[_0x1a3b83(0x191)][_0x1a3b83(0x168)]:'','','Commands:',..._0x225bb9[_0x1a3b83(0x173)]['map'](_0x5d68b2=>{const _0x49210e=_0x1a3b83,_0x1422dd=_0x5d68b2['fullPath'][_0x49210e(0x189)](0x1)['join']('\x20'),_0x59b424=_0x5d68b2[_0x49210e(0x15f)]===_0x49210e(0x15b)?'':'\x20['+_0x5d68b2[_0x49210e(0x15f)]+']';return'\x20\x20'+_0x1422dd[_0x49210e(0x149)](0x18)+'\x20'+(_0x5d68b2[_0x49210e(0x168)]||'')+_0x59b424;}),'',_0x1a3b83(0x16e)+CLI_BIN_NAME+_0x1a3b83(0x16f)+_0x38a88a+_0x1a3b83(0x176)]['filter'](Boolean);return _0x24d240[_0x1a3b83(0x19d)]('\x0a');}export function listDynamicServiceEntries(){const _0x167ee8=a32_0x2e03;return listLocalServices()[_0x167ee8(0x170)](_0x5ad8bc=>{const _0x4d1489=_0x167ee8,_0xcbb417=_0x5ad8bc[_0x4d1489(0x15e)];return{'service':_0xcbb417[_0x4d1489(0x191)]['code'],'label':_0xcbb417[_0x4d1489(0x191)][_0x4d1489(0x195)]||_0xcbb417[_0x4d1489(0x191)][_0x4d1489(0x17c)],'commands':_0xcbb417[_0x4d1489(0x173)][_0x4d1489(0x170)](_0x5bf743=>({'command':dynamicCommandName(_0x5bf743),'description':_0x5bf743[_0x4d1489(0x168)]||'Run\x20service\x20command\x20'+_0x5bf743['cliPath'],'tag':riskTag(_0x5bf743['risk'])}))};});}export function getDynamicServiceEntry(_0x3fa2f){const _0x5abf91=a32_0x2e03;return listDynamicServiceEntries()[_0x5abf91(0x172)](_0x30f1f9=>_0x30f1f9['service']===_0x3fa2f);}export function listDynamicServiceDefinitions(_0x52494c){const _0x414de0=a32_0x2e03;return listLocalServiceTrees()[_0x414de0(0x139)](_0x3cfa90=>!_0x52494c||_0x3cfa90[_0x414de0(0x191)][_0x414de0(0x17c)]===_0x52494c)[_0x414de0(0x177)](_0x28e099=>_0x28e099[_0x414de0(0x173)]['map'](_0x1ad358=>buildDynamicCommandDefinition(_0x28e099,_0x1ad358)));}export function getDynamicServiceDefinitions(_0x4fd266){const _0x329a58=listDynamicServiceDefinitions(_0x4fd266);return _0x329a58['length']>0x0?_0x329a58:undefined;}export function findDynamicServiceDefinition(_0x2999cf,_0x54859e){const _0x596820=a32_0x2e03;return listDynamicServiceDefinitions(_0x2999cf)[_0x596820(0x172)](_0x5ea1cb=>_0x5ea1cb[_0x596820(0x18f)]===_0x54859e);}export function buildDynamicCommandDefinition(_0x213eac,_0x436be3){const _0x1f3cfd=a32_0x2e03;return{'service':_0x213eac[_0x1f3cfd(0x191)]['code'],'command':dynamicCommandName(_0x436be3),'description':_0x436be3[_0x1f3cfd(0x168)]||_0x1f3cfd(0x198)+_0x436be3[_0x1f3cfd(0x141)],'risk':_0x436be3[_0x1f3cfd(0x15f)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x436be3['args'][_0x1f3cfd(0x170)](_0xd23d94=>({'name':_0xd23d94[_0x1f3cfd(0x195)],'description':_0xd23d94[_0x1f3cfd(0x168)]||_0xd23d94[_0x1f3cfd(0x195)],'required':_0xd23d94[_0x1f3cfd(0x153)]})),'flags':_0x436be3['flags'][_0x1f3cfd(0x170)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x436be3),async 'dryRun'(_0x3a4de1){const _0x23a675=_0x1f3cfd,_0x14b09f=await compilePlan(_0x436be3,_0x3a4de1);return{'method':_0x23a675(0x162),'url':_0x436be3[_0x23a675(0x141)],'body':{'target':targetPreview(_0x14b09f),'params':_0x14b09f[_0x23a675(0x174)]},'description':_0x23a675(0x13c)+_0x436be3[_0x23a675(0x141)]};},async 'execute'(_0x4dffeb){const _0x419c70=_0x1f3cfd,_0x3f5fa4=await compilePlan(_0x436be3,_0x4dffeb),_0x39f1ee=Date[_0x419c70(0x151)](),_0x34993c=await executePlan(_0x3f5fa4,_0x436be3,_0x4dffeb),_0x242e9e=Date[_0x419c70(0x151)]()-_0x39f1ee;return{'ok':!![],'data':{'service':_0x213eac['service'],'command':_0x436be3[_0x419c70(0x141)],'target':targetPreview(_0x3f5fa4),'result':_0x34993c,'elapsed':_0x242e9e},'message':'Service\x20command\x20'+_0x436be3[_0x419c70(0x141)]+_0x419c70(0x179)+_0x242e9e+'ms'};}};}function dynamicCommandName(_0x3f00e7){const _0x3efd13=a32_0x2e03;return _0x3f00e7[_0x3efd13(0x14b)][_0x3efd13(0x189)](0x1)['join']('\x20');}function riskTag(_0x56490f){const _0x13eb33=a32_0x2e03;return _0x56490f==='read'?'':_0x13eb33(0x158)+_0x56490f+']';}function flagToCommandFlag(_0x28a0e9){const _0x21fb32=a32_0x2e03;return{'name':_0x28a0e9[_0x21fb32(0x154)],'type':_0x28a0e9[_0x21fb32(0x142)]===_0x21fb32(0x17a)?_0x21fb32(0x152):_0x28a0e9[_0x21fb32(0x142)],'description':_0x28a0e9[_0x21fb32(0x168)]||_0x28a0e9[_0x21fb32(0x195)],'required':_0x28a0e9['required'],'default':isPrimitiveFlagDefault(_0x28a0e9['default'])?_0x28a0e9[_0x21fb32(0x18e)]:undefined,'enum':_0x28a0e9[_0x21fb32(0x146)]};}function a32_0x2e03(_0x3a473c,_0x582085){_0x3a473c=_0x3a473c-0x139;const _0xd85325=a32_0xd853();let _0x2e03d4=_0xd85325[_0x3a473c];return _0x2e03d4;}async function compilePlan(_0x18695d,_0x478cca){const _0x365b98=a32_0x2e03;return compileServiceTreeCommand(_0x18695d,{'flags':_0x478cca[_0x365b98(0x165)],'args':_0x478cca[_0x365b98(0x145)],'context':await buildServiceContext(_0x18695d,_0x478cca)});}async function buildServiceContext(_0x43bc41,_0x5902e7){const _0x21ee08=a32_0x2e03,_0x5223f1={'appCode':_0x5902e7[_0x21ee08(0x163)],'env':_0x5902e7['envName'],'envName':_0x5902e7[_0x21ee08(0x18c)]};if(!usesRuntimeContext(_0x43bc41))return _0x5223f1;const _0x1e5690=await getLoginUserInfo(),_0x5b3f00=pickFirst(_0x1e5690[_0x21ee08(0x196)],_0x1e5690['id']);return{..._0x5223f1,'user':_0x1e5690,'userId':_0x5b3f00,'id':_0x1e5690['id'],'username':pickFirst(_0x1e5690[_0x21ee08(0x155)],_0x1e5690[_0x21ee08(0x147)],_0x1e5690[_0x21ee08(0x15d)]),'userName':_0x1e5690[_0x21ee08(0x147)],'nickname':pickFirst(_0x1e5690[_0x21ee08(0x144)],_0x1e5690[_0x21ee08(0x14f)]),'nickName':_0x1e5690[_0x21ee08(0x14f)],'tenantCode':_0x1e5690['tenantCode'],'employeeId':_0x1e5690[_0x21ee08(0x184)]};}function usesRuntimeContext(_0x4cc629){const _0x17e642=a32_0x2e03;return _0x4cc629[_0x17e642(0x14a)][_0x17e642(0x171)](_0x1032d8=>typeof _0x1032d8[_0x17e642(0x14e)]==='string'&&(_0x1032d8[_0x17e642(0x14e)][_0x17e642(0x183)](_0x17e642(0x17b))||_0x1032d8[_0x17e642(0x14e)]['startsWith'](_0x17e642(0x17f))));}function a32_0xd853(){const _0x4805ab=['dbtableConfig','\x20completed\x20in\x20','json','context.','code','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','ctx.','operator','scriptName','appBindings','startsWith','employeeId','\x20\x20\x20\x20command:\x20','appRef','boolean','Unsupported\x20service\x20target\x20kind:\x20','slice','tree','number','envName','\x20\x20MAP\x20TO','default','command','bffCode','service','2046730MgZdNy','bff','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','name','userId','appcode','Run\x20service\x20command\x20','datasetCode','length','kind','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','join','filter','remainingArgs','\x20\x20\x20\x20datatable:\x20','Preview\x20dynamic\x20service\x20command:\x20','7118027bPauJe','tableName','4177998ODKBXi','59175PjRfXP','cliPath','type','Cannot\x20resolve\x20datatable\x20\x22','nickname','args','enum','userName','sql','padEnd','mapTo','fullPath','\x20requires\x20target.scriptName.','datatable','source','nickName','Unknown\x20appRef\x20\x22','now','string','required','cliName','username','4566668kRbEGY','\x20\x20\x20\x20','\x20\x20[','bffId','1366455Idrnxj','read','Service\x20command\x20','loginName','normalizedManifest','risk','sqlCode','\x20->\x20','SERVICE_TREE','appCode','\x20<command>\x20[flags]','rawFlags','trim','push','description','target','const','\x20\x20\x20\x20kind:\x20\x20\x20\x20','env','632891WHeSso','Use\x20`','\x20service\x20detail\x20--service\x20','map','some','find','commands','params','validation','`\x20to\x20inspect\x20the\x20manifest.','flatMap'];a32_0xd853=function(){return _0x4805ab;};return a32_0xd853();}function pickFirst(..._0x28b9ea){const _0x5ba794=a32_0x2e03;return _0x28b9ea[_0x5ba794(0x172)](_0xdd3fef=>_0xdd3fef!==undefined&&_0xdd3fef!==null);}async function executePlan(_0x2b3818,_0x1b9e40,_0x5d9634){const _0x41fb39=a32_0x2e03;if(_0x2b3818['kind']==='data'){const _0x246afc=await resolveDatasetCode(_0x2b3818,_0x1b9e40,_0x5d9634);return executeData(_0x246afc,_0x2b3818[_0x41fb39(0x18f)],_0x2b3818['params']);}if(_0x2b3818[_0x41fb39(0x19b)]===_0x41fb39(0x148)){if(!_0x2b3818['sqlCode'])throw CliErrors[_0x41fb39(0x175)](_0x41fb39(0x15c)+_0x1b9e40['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x2b3818[_0x41fb39(0x160)],normalizeScalarParams(_0x2b3818[_0x41fb39(0x174)]));}if(_0x2b3818[_0x41fb39(0x19b)]===_0x41fb39(0x193)){const _0x2d2025=_0x2b3818[_0x41fb39(0x181)]||_0x2b3818[_0x41fb39(0x190)]||(_0x2b3818[_0x41fb39(0x159)]==null?'':String(_0x2b3818['bffId']));if(!_0x2d2025)throw CliErrors[_0x41fb39(0x175)]('Service\x20command\x20'+_0x1b9e40[_0x41fb39(0x141)]+_0x41fb39(0x14c));return executeSdkBff(_0x2d2025,_0x2b3818['params']);}throw CliErrors['validation'](_0x41fb39(0x188)+_0x2b3818[_0x41fb39(0x19b)]);}async function resolveDatasetCode(_0x383568,_0x34f7e5,_0x4ef74f){const _0x484866=a32_0x2e03;if(_0x383568[_0x484866(0x199)])return _0x383568[_0x484866(0x199)];if(!_0x383568[_0x484866(0x14d)])throw CliErrors[_0x484866(0x175)]('Service\x20command\x20'+_0x34f7e5[_0x484866(0x141)]+_0x484866(0x17d));const _0x2b6887=await listDatasets(_0x4ef74f['appCode']),_0x1c2821=_0x2b6887[_0x484866(0x172)](_0x280fa8=>_0x280fa8[_0x484866(0x178)]?.[_0x484866(0x13e)]===_0x383568[_0x484866(0x14d)]);if(!_0x1c2821?.[_0x484866(0x17c)])throw CliErrors[_0x484866(0x175)](_0x484866(0x143)+_0x383568[_0x484866(0x14d)]+_0x484866(0x19c)+_0x4ef74f[_0x484866(0x163)]+'.',_0x484866(0x194));return _0x1c2821[_0x484866(0x17c)];}function applyAppBinding(_0x248aa1,_0x213ccb,_0x2f0836){const _0x21fc49=a32_0x2e03,_0x3e5e2d=_0x213ccb[_0x21fc49(0x169)]['appRef'];if(!_0x3e5e2d)return;const _0x28eb0e=_0x248aa1[_0x21fc49(0x182)][_0x3e5e2d];if(!_0x28eb0e)throw CliErrors[_0x21fc49(0x175)](_0x21fc49(0x150)+_0x3e5e2d+'\x22\x20in\x20service\x20command\x20'+_0x213ccb['cliPath']+'.',_0x21fc49(0x17e));const _0x49c76f=_0x28eb0e[_0x21fc49(0x197)]||_0x28eb0e[_0x21fc49(0x163)];_0x49c76f&&!hasText(_0x2f0836[_0x21fc49(0x197)])&&(_0x2f0836['appcode']=_0x49c76f),_0x28eb0e['app']&&!hasText(_0x2f0836['app'])&&!hasText(_0x2f0836[_0x21fc49(0x197)])&&(_0x2f0836['app']=_0x28eb0e['app']),_0x28eb0e['env']&&!hasText(_0x2f0836[_0x21fc49(0x16c)])&&(_0x2f0836['env']=_0x28eb0e[_0x21fc49(0x16c)]);}function renderDynamicCommandHelp(_0x61f114){const _0xdd6c62=a32_0x2e03,_0x3316f9=['\x20\x20SERVICE\x20TREE\x20TARGET',_0xdd6c62(0x16b)+_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x19b)],_0xdd6c62(0x185)+_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x18f)]];if(_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x199)])_0x3316f9['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x61f114[_0xdd6c62(0x169)]['datasetCode']);if(_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x14d)])_0x3316f9[_0xdd6c62(0x167)](_0xdd6c62(0x13b)+_0x61f114['target'][_0xdd6c62(0x14d)]);if(_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x160)])_0x3316f9['push']('\x20\x20\x20\x20sqlCode:\x20'+_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x160)]);if(_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x181)])_0x3316f9[_0xdd6c62(0x167)]('\x20\x20\x20\x20scriptName:\x20'+_0x61f114[_0xdd6c62(0x169)][_0xdd6c62(0x181)]);if(_0x61f114[_0xdd6c62(0x14a)][_0xdd6c62(0x19a)]>0x0){_0x3316f9[_0xdd6c62(0x167)]('',_0xdd6c62(0x18d));for(const _0x42a0a8 of _0x61f114['mapTo']){_0x3316f9[_0xdd6c62(0x167)](_0xdd6c62(0x157)+(_0x42a0a8[_0xdd6c62(0x14e)]||_0xdd6c62(0x16a))+_0xdd6c62(0x161)+_0x42a0a8[_0xdd6c62(0x169)]+(_0x42a0a8['operator']?'.'+_0x42a0a8[_0xdd6c62(0x180)]:''));}}return _0x3316f9[_0xdd6c62(0x19d)]('\x0a');}function targetPreview(_0x7bbcf7){const _0x47ba03=a32_0x2e03;return{'kind':_0x7bbcf7[_0x47ba03(0x19b)],'command':_0x7bbcf7[_0x47ba03(0x18f)],'appRef':_0x7bbcf7[_0x47ba03(0x186)],'datasetCode':_0x7bbcf7[_0x47ba03(0x199)],'datatable':_0x7bbcf7[_0x47ba03(0x14d)],'sqlCode':_0x7bbcf7[_0x47ba03(0x160)],'bffCode':_0x7bbcf7[_0x47ba03(0x190)],'bffId':_0x7bbcf7[_0x47ba03(0x159)],'scriptName':_0x7bbcf7[_0x47ba03(0x181)]};}function normalizeScalarParams(_0x52180d){const _0x18975a=a32_0x2e03;return Object['fromEntries'](Object['entries'](_0x52180d)['filter'](([,_0x4a04bf])=>typeof _0x4a04bf===_0x18975a(0x152)||typeof _0x4a04bf==='number'));}function hasText(_0x482d54){const _0x403f18=a32_0x2e03;return typeof _0x482d54==='string'&&_0x482d54[_0x403f18(0x166)]()[_0x403f18(0x19a)]>0x0;}function isPrimitiveFlagDefault(_0x46cc37){const _0x415135=a32_0x2e03;return _0x46cc37===undefined||typeof _0x46cc37==='string'||typeof _0x46cc37===_0x415135(0x18b)||typeof _0x46cc37===_0x415135(0x187);}
1
+ (function(_0x34b089,_0x14636e){const _0x39a2b8=a32_0x4576,_0x3ffe4d=_0x34b089();while(!![]){try{const _0x1d2695=-parseInt(_0x39a2b8(0x1a6))/0x1+-parseInt(_0x39a2b8(0x1c6))/0x2*(parseInt(_0x39a2b8(0x19d))/0x3)+-parseInt(_0x39a2b8(0x198))/0x4+-parseInt(_0x39a2b8(0x1c7))/0x5*(-parseInt(_0x39a2b8(0x19f))/0x6)+-parseInt(_0x39a2b8(0x18d))/0x7+parseInt(_0x39a2b8(0x1b8))/0x8+-parseInt(_0x39a2b8(0x1a9))/0x9*(-parseInt(_0x39a2b8(0x1ce))/0xa);if(_0x1d2695===_0x14636e)break;else _0x3ffe4d['push'](_0x3ffe4d['shift']());}catch(_0x1427ba){_0x3ffe4d['push'](_0x3ffe4d['shift']());}}}(a32_0x1422,0xab868));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';function a32_0x1422(){const _0x393728=['Run\x20service\x20command\x20','number','employeeId','required','cliName','filter','trim','args','service','nickName','username','code','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','Cannot\x20resolve\x20datatable\x20\x22','command','commands','cliPath','\x20\x20\x20\x20kind:\x20\x20\x20\x20','rawFlags','sqlCode','\x20\x20\x20\x20scriptName:\x20','envName','find','target','app','startsWith','fullPath','default','7834862stuOYQ','join','env','enum','boolean','scriptName','const','sql','loginName','\x20\x20[','tenantCode','3172328ZgqvCh','\x20\x20\x20\x20datatable:\x20','appcode','flatMap','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','93KzSJtn','string','3797796qNnSQU','kind','\x20requires\x20target.scriptName.','\x20->\x20','ctx.','flags','tree','1354063lYconh','data','params','90lHiThZ','slice','remainingArgs','bff','length','Service\x20command\x20','\x20\x20\x20\x20command:\x20','map','risk','mapTo','name','source','datasetCode','Use\x20`','datatable','5972208FocXfz','padEnd','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','appCode','operator','type','\x20requires\x20target.sqlCode.','bffId','`\x20to\x20inspect\x20the\x20manifest.','now','Unknown\x20appRef\x20\x22','some','description','userName','59026LaeKyE','5Gglqcw','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20\x20MAP\x20TO','appRef','Commands:','\x20service\x20detail\x20--service\x20','push','3504390yieROD','validation','tableName'];a32_0x1422=function(){return _0x393728;};return a32_0x1422();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x35948e,_0x37a828){const _0x85a3b1=a32_0x4576,_0x4447e5=listLocalServiceTrees();let _0x1f08d1;for(const _0x58c5c0 of _0x4447e5){const _0x2d50b1=matchServiceTreeCommand(_0x58c5c0,_0x35948e);if(!_0x2d50b1)continue;(!_0x1f08d1||_0x2d50b1[_0x85a3b1(0x1df)]['fullPath'][_0x85a3b1(0x1ad)]>_0x1f08d1['command']['fullPath'][_0x85a3b1(0x1ad)])&&(_0x1f08d1={'tree':_0x58c5c0,'command':_0x2d50b1[_0x85a3b1(0x1df)],'remainingArgs':_0x2d50b1['remainingArgs']});}if(!_0x1f08d1)return undefined;const _0x527ce9={..._0x37a828};return applyAppBinding(_0x1f08d1['tree'],_0x1f08d1['command'],_0x527ce9),{'definition':buildDynamicCommandDefinition(_0x1f08d1[_0x85a3b1(0x1a5)],_0x1f08d1['command']),'args':_0x1f08d1[_0x85a3b1(0x1ab)],'flags':_0x527ce9,'tree':_0x1f08d1[_0x85a3b1(0x1a5)],'command':_0x1f08d1['command']};}function a32_0x4576(_0x4d25ee,_0x40470c){_0x4d25ee=_0x4d25ee-0x187;const _0x1422d1=a32_0x1422();let _0x45765a=_0x1422d1[_0x4d25ee];return _0x45765a;}export function generateDynamicServiceHelp(_0x30f6ed){const _0x3dfce9=a32_0x4576,_0x2863ba=listLocalServiceTrees()[_0x3dfce9(0x187)](_0x4ab103=>_0x4ab103['service'][_0x3dfce9(0x1dc)]===_0x30f6ed);if(!_0x2863ba)return undefined;const _0xa1d738=[CLI_BIN_NAME+'\x20'+_0x30f6ed+'\x20<command>\x20[flags]','',_0x2863ba[_0x3dfce9(0x1d9)]['name']||_0x30f6ed,_0x2863ba[_0x3dfce9(0x1d9)][_0x3dfce9(0x1c4)]?'\x20\x20'+_0x2863ba[_0x3dfce9(0x1d9)][_0x3dfce9(0x1c4)]:'','',_0x3dfce9(0x1cb),..._0x2863ba[_0x3dfce9(0x1e0)][_0x3dfce9(0x1b0)](_0x5869ee=>{const _0x299428=_0x3dfce9,_0x14c877=_0x5869ee[_0x299428(0x18b)][_0x299428(0x1aa)](0x1)['join']('\x20'),_0x1647ef=_0x5869ee['risk']==='read'?'':'\x20['+_0x5869ee[_0x299428(0x1b1)]+']';return'\x20\x20'+_0x14c877[_0x299428(0x1b9)](0x18)+'\x20'+(_0x5869ee['description']||'')+_0x1647ef;}),'',_0x3dfce9(0x1b6)+CLI_BIN_NAME+_0x3dfce9(0x1cc)+_0x30f6ed+_0x3dfce9(0x1c0)][_0x3dfce9(0x1d6)](Boolean);return _0xa1d738['join']('\x0a');}export function listDynamicServiceEntries(){const _0x492560=a32_0x4576;return listLocalServices()[_0x492560(0x1b0)](_0x1b09a9=>{const _0x3ed147=_0x492560,_0x40d635=_0x1b09a9['normalizedManifest'];return{'service':_0x40d635[_0x3ed147(0x1d9)][_0x3ed147(0x1dc)],'label':_0x40d635[_0x3ed147(0x1d9)][_0x3ed147(0x1b3)]||_0x40d635['service'][_0x3ed147(0x1dc)],'commands':_0x40d635[_0x3ed147(0x1e0)][_0x3ed147(0x1b0)](_0x32ff83=>({'command':dynamicCommandName(_0x32ff83),'description':_0x32ff83[_0x3ed147(0x1c4)]||_0x3ed147(0x1d1)+_0x32ff83[_0x3ed147(0x1e1)],'tag':riskTag(_0x32ff83[_0x3ed147(0x1b1)])}))};});}export function getDynamicServiceEntry(_0x5391e8){const _0x180de6=a32_0x4576;return listDynamicServiceEntries()[_0x180de6(0x187)](_0x5cc624=>_0x5cc624[_0x180de6(0x1d9)]===_0x5391e8);}export function listDynamicServiceDefinitions(_0x1af5db){const _0x3f1bf4=a32_0x4576;return listLocalServiceTrees()[_0x3f1bf4(0x1d6)](_0xaa5622=>!_0x1af5db||_0xaa5622['service'][_0x3f1bf4(0x1dc)]===_0x1af5db)[_0x3f1bf4(0x19b)](_0x9b3bf7=>_0x9b3bf7[_0x3f1bf4(0x1e0)]['map'](_0xe59bda=>buildDynamicCommandDefinition(_0x9b3bf7,_0xe59bda)));}export function getDynamicServiceDefinitions(_0x499a69){const _0x2b2cf3=listDynamicServiceDefinitions(_0x499a69);return _0x2b2cf3['length']>0x0?_0x2b2cf3:undefined;}export function findDynamicServiceDefinition(_0x5be088,_0x4738f3){const _0x427d05=a32_0x4576;return listDynamicServiceDefinitions(_0x5be088)[_0x427d05(0x187)](_0x24b18b=>_0x24b18b[_0x427d05(0x1df)]===_0x4738f3);}export function buildDynamicCommandDefinition(_0x55fb91,_0x556d44){const _0x1d212d=a32_0x4576;return{'service':_0x55fb91[_0x1d212d(0x1d9)][_0x1d212d(0x1dc)],'command':dynamicCommandName(_0x556d44),'description':_0x556d44[_0x1d212d(0x1c4)]||'Run\x20service\x20command\x20'+_0x556d44[_0x1d212d(0x1e1)],'risk':_0x556d44[_0x1d212d(0x1b1)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x556d44[_0x1d212d(0x1d8)][_0x1d212d(0x1b0)](_0x4ef51c=>({'name':_0x4ef51c[_0x1d212d(0x1b3)],'description':_0x4ef51c[_0x1d212d(0x1c4)]||_0x4ef51c['name'],'required':_0x4ef51c[_0x1d212d(0x1d4)]})),'flags':_0x556d44[_0x1d212d(0x1a4)][_0x1d212d(0x1b0)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x556d44),async 'dryRun'(_0x17a1e9){const _0x40596a=_0x1d212d,_0x4977a4=await compilePlan(_0x556d44,_0x17a1e9);return{'method':'SERVICE_TREE','url':_0x556d44[_0x40596a(0x1e1)],'body':{'target':targetPreview(_0x4977a4),'params':_0x4977a4[_0x40596a(0x1a8)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x556d44[_0x40596a(0x1e1)]};},async 'execute'(_0x53a759){const _0x59cdb2=_0x1d212d,_0x209e0d=await compilePlan(_0x556d44,_0x53a759),_0x471948=Date['now'](),_0x5e43fb=await executePlan(_0x209e0d,_0x556d44,_0x53a759),_0x12b44e=Date[_0x59cdb2(0x1c1)]()-_0x471948;return{'ok':!![],'data':{'service':_0x55fb91['service'],'command':_0x556d44[_0x59cdb2(0x1e1)],'target':targetPreview(_0x209e0d),'result':_0x5e43fb,'elapsed':_0x12b44e},'message':_0x59cdb2(0x1ae)+_0x556d44[_0x59cdb2(0x1e1)]+'\x20completed\x20in\x20'+_0x12b44e+'ms'};}};}function dynamicCommandName(_0x16038e){const _0x25a132=a32_0x4576;return _0x16038e[_0x25a132(0x18b)][_0x25a132(0x1aa)](0x1)[_0x25a132(0x18e)]('\x20');}function riskTag(_0x112671){const _0x21e049=a32_0x4576;return _0x112671==='read'?'':_0x21e049(0x196)+_0x112671+']';}function flagToCommandFlag(_0x31dcfa){const _0x2e92b5=a32_0x4576;return{'name':_0x31dcfa[_0x2e92b5(0x1d5)],'type':_0x31dcfa[_0x2e92b5(0x1bd)]==='json'?_0x2e92b5(0x19e):_0x31dcfa['type'],'description':_0x31dcfa['description']||_0x31dcfa[_0x2e92b5(0x1b3)],'required':_0x31dcfa[_0x2e92b5(0x1d4)],'default':isPrimitiveFlagDefault(_0x31dcfa[_0x2e92b5(0x18c)])?_0x31dcfa[_0x2e92b5(0x18c)]:undefined,'enum':_0x31dcfa[_0x2e92b5(0x190)]};}async function compilePlan(_0x400451,_0x1a3534){const _0x57ee7d=a32_0x4576;return compileServiceTreeCommand(_0x400451,{'flags':_0x1a3534[_0x57ee7d(0x1e3)],'args':_0x1a3534[_0x57ee7d(0x1d8)],'context':await buildServiceContext(_0x400451,_0x1a3534)});}async function buildServiceContext(_0x17f258,_0x2ffb8a){const _0x475195=a32_0x4576,_0x46e61e={'appCode':_0x2ffb8a[_0x475195(0x1bb)],'env':_0x2ffb8a['envName'],'envName':_0x2ffb8a[_0x475195(0x1e6)]};if(!usesRuntimeContext(_0x17f258))return _0x46e61e;const _0x485435=await getLoginUserInfo(),_0x14e43c=pickFirst(_0x485435['userId'],_0x485435['id']);return{..._0x46e61e,'user':_0x485435,'userId':_0x14e43c,'id':_0x485435['id'],'username':pickFirst(_0x485435[_0x475195(0x1db)],_0x485435[_0x475195(0x1c5)],_0x485435[_0x475195(0x195)]),'userName':_0x485435['userName'],'nickname':pickFirst(_0x485435['nickname'],_0x485435[_0x475195(0x1da)]),'nickName':_0x485435[_0x475195(0x1da)],'tenantCode':_0x485435[_0x475195(0x197)],'employeeId':_0x485435[_0x475195(0x1d3)]};}function usesRuntimeContext(_0x4c9d58){const _0x50924b=a32_0x4576;return _0x4c9d58['mapTo'][_0x50924b(0x1c3)](_0xe20fc2=>typeof _0xe20fc2[_0x50924b(0x1b4)]===_0x50924b(0x19e)&&(_0xe20fc2[_0x50924b(0x1b4)][_0x50924b(0x18a)]('context.')||_0xe20fc2[_0x50924b(0x1b4)]['startsWith'](_0x50924b(0x1a3))));}function pickFirst(..._0x488de3){const _0x1ac1a8=a32_0x4576;return _0x488de3[_0x1ac1a8(0x187)](_0x367192=>_0x367192!==undefined&&_0x367192!==null);}async function executePlan(_0x23ed9e,_0x4d156f,_0x48f81b){const _0x79405c=a32_0x4576;if(_0x23ed9e[_0x79405c(0x1a0)]===_0x79405c(0x1a7)){const _0x521a47=await resolveDatasetCode(_0x23ed9e,_0x4d156f,_0x48f81b);return executeData(_0x521a47,_0x23ed9e[_0x79405c(0x1df)],_0x23ed9e[_0x79405c(0x1a8)]);}if(_0x23ed9e[_0x79405c(0x1a0)]===_0x79405c(0x194)){if(!_0x23ed9e[_0x79405c(0x1e4)])throw CliErrors[_0x79405c(0x1cf)]('Service\x20command\x20'+_0x4d156f[_0x79405c(0x1e1)]+_0x79405c(0x1be));return executeSdkSql(_0x23ed9e[_0x79405c(0x1e4)],normalizeScalarParams(_0x23ed9e['params']));}if(_0x23ed9e['kind']===_0x79405c(0x1ac)){const _0x1e5533=_0x23ed9e[_0x79405c(0x192)]||_0x23ed9e['bffCode']||(_0x23ed9e[_0x79405c(0x1bf)]==null?'':String(_0x23ed9e[_0x79405c(0x1bf)]));if(!_0x1e5533)throw CliErrors['validation'](_0x79405c(0x1ae)+_0x4d156f[_0x79405c(0x1e1)]+_0x79405c(0x1a1));return executeSdkBff(_0x1e5533,_0x23ed9e['params']);}throw CliErrors[_0x79405c(0x1cf)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x23ed9e[_0x79405c(0x1a0)]);}async function resolveDatasetCode(_0x2e12a3,_0x27fe9a,_0x381aea){const _0x162559=a32_0x4576;if(_0x2e12a3[_0x162559(0x1b5)])return _0x2e12a3[_0x162559(0x1b5)];if(!_0x2e12a3[_0x162559(0x1b7)])throw CliErrors[_0x162559(0x1cf)](_0x162559(0x1ae)+_0x27fe9a[_0x162559(0x1e1)]+_0x162559(0x19c));const _0x31367a=await listDatasets(_0x381aea['appCode']),_0x2c49df=_0x31367a[_0x162559(0x187)](_0x1448f3=>_0x1448f3['dbtableConfig']?.[_0x162559(0x1d0)]===_0x2e12a3[_0x162559(0x1b7)]);if(!_0x2c49df?.['code'])throw CliErrors['validation'](_0x162559(0x1de)+_0x2e12a3['datatable']+_0x162559(0x1c8)+_0x381aea[_0x162559(0x1bb)]+'.',_0x162559(0x1dd));return _0x2c49df[_0x162559(0x1dc)];}function applyAppBinding(_0x317b08,_0x3794b2,_0x498b8e){const _0x546bd1=a32_0x4576,_0x24d67d=_0x3794b2['target'][_0x546bd1(0x1ca)];if(!_0x24d67d)return;const _0x5ed38b=_0x317b08['appBindings'][_0x24d67d];if(!_0x5ed38b)throw CliErrors[_0x546bd1(0x1cf)](_0x546bd1(0x1c2)+_0x24d67d+'\x22\x20in\x20service\x20command\x20'+_0x3794b2[_0x546bd1(0x1e1)]+'.',_0x546bd1(0x1ba));const _0x3010c3=_0x5ed38b['appcode']||_0x5ed38b[_0x546bd1(0x1bb)];_0x3010c3&&!hasText(_0x498b8e[_0x546bd1(0x19a)])&&(_0x498b8e[_0x546bd1(0x19a)]=_0x3010c3),_0x5ed38b[_0x546bd1(0x189)]&&!hasText(_0x498b8e[_0x546bd1(0x189)])&&!hasText(_0x498b8e[_0x546bd1(0x19a)])&&(_0x498b8e[_0x546bd1(0x189)]=_0x5ed38b['app']),_0x5ed38b[_0x546bd1(0x18f)]&&!hasText(_0x498b8e[_0x546bd1(0x18f)])&&(_0x498b8e[_0x546bd1(0x18f)]=_0x5ed38b[_0x546bd1(0x18f)]);}function renderDynamicCommandHelp(_0x44deb9){const _0x53bd36=a32_0x4576,_0xd48392=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x53bd36(0x1e2)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1a0)],_0x53bd36(0x1af)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1df)]];if(_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1b5)])_0xd48392['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x44deb9['target']['datasetCode']);if(_0x44deb9['target'][_0x53bd36(0x1b7)])_0xd48392['push'](_0x53bd36(0x199)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1b7)]);if(_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1e4)])_0xd48392[_0x53bd36(0x1cd)]('\x20\x20\x20\x20sqlCode:\x20'+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1e4)]);if(_0x44deb9[_0x53bd36(0x188)]['scriptName'])_0xd48392['push'](_0x53bd36(0x1e5)+_0x44deb9['target']['scriptName']);if(_0x44deb9[_0x53bd36(0x1b2)][_0x53bd36(0x1ad)]>0x0){_0xd48392['push']('',_0x53bd36(0x1c9));for(const _0x295793 of _0x44deb9['mapTo']){_0xd48392[_0x53bd36(0x1cd)]('\x20\x20\x20\x20'+(_0x295793[_0x53bd36(0x1b4)]||_0x53bd36(0x193))+_0x53bd36(0x1a2)+_0x295793[_0x53bd36(0x188)]+(_0x295793[_0x53bd36(0x1bc)]?'.'+_0x295793['operator']:''));}}return _0xd48392[_0x53bd36(0x18e)]('\x0a');}function targetPreview(_0x3a1507){const _0x3f4112=a32_0x4576;return{'kind':_0x3a1507[_0x3f4112(0x1a0)],'command':_0x3a1507[_0x3f4112(0x1df)],'appRef':_0x3a1507[_0x3f4112(0x1ca)],'datasetCode':_0x3a1507[_0x3f4112(0x1b5)],'datatable':_0x3a1507[_0x3f4112(0x1b7)],'sqlCode':_0x3a1507['sqlCode'],'bffCode':_0x3a1507['bffCode'],'bffId':_0x3a1507[_0x3f4112(0x1bf)],'scriptName':_0x3a1507[_0x3f4112(0x192)]};}function normalizeScalarParams(_0x397e01){const _0x26c650=a32_0x4576;return Object['fromEntries'](Object['entries'](_0x397e01)['filter'](([,_0x288781])=>typeof _0x288781===_0x26c650(0x19e)||typeof _0x288781===_0x26c650(0x1d2)));}function hasText(_0x30f31d){const _0x505091=a32_0x4576;return typeof _0x30f31d===_0x505091(0x19e)&&_0x30f31d[_0x505091(0x1d7)]()[_0x505091(0x1ad)]>0x0;}function isPrimitiveFlagDefault(_0x4591d4){const _0x3a5343=a32_0x4576;return _0x4591d4===undefined||typeof _0x4591d4==='string'||typeof _0x4591d4===_0x3a5343(0x1d2)||typeof _0x4591d4===_0x3a5343(0x191);}
@@ -1 +1 @@
1
- const a33_0xc25cd2=a33_0x4e37;(function(_0x521956,_0x23b4a4){const _0x5ed0ed=a33_0x4e37,_0x54858e=_0x521956();while(!![]){try{const _0x1b90bd=parseInt(_0x5ed0ed(0xda))/0x1*(parseInt(_0x5ed0ed(0xfa))/0x2)+-parseInt(_0x5ed0ed(0x109))/0x3*(parseInt(_0x5ed0ed(0x115))/0x4)+parseInt(_0x5ed0ed(0x10a))/0x5+parseInt(_0x5ed0ed(0xf7))/0x6*(parseInt(_0x5ed0ed(0x113))/0x7)+parseInt(_0x5ed0ed(0xf1))/0x8*(parseInt(_0x5ed0ed(0xff))/0x9)+parseInt(_0x5ed0ed(0xfb))/0xa+-parseInt(_0x5ed0ed(0x117))/0xb;if(_0x1b90bd===_0x23b4a4)break;else _0x54858e['push'](_0x54858e['shift']());}catch(_0x3d7f63){_0x54858e['push'](_0x54858e['shift']());}}}(a33_0x5c9d,0xb7095));function a33_0x5c9d(){const _0x2e58ba=['description','kind','1hSDvtn','\x20service(s).','imported','report','serviceCode','cliPath','type','str','validate','risk','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','registryPath','reduce','string','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Local\x20service\x20not\x20found:\x20','\x20service(s),\x20updated\x20','manifest','flags','detail','registryServiceCode','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Service\x20manifest\x20validation\x20passed.','9032ciCTfs','errors','hash','Imported\x20','WRITE','warnings','123834NjboMj','updated','Service\x20registry\x20validation\x20passed.','2742524xAXTYW','8904850irmRey','\x20service\x20','importedAt','normalizedManifest','9099OBNTCu','export','lower\x20kebab-case\x20service\x20code','remove','registryIndex','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','target','Exported\x20service\x20','length','version','42375llJPrU','2925295abGhHy','entry','name','entries','serviceCount','cliName','manifests','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','filePath','112PqToOI','service','232fvcxhN','Updated','30244302nxuYHe','write','Removed\x20service\x20','file','map','registry','commands','replaced','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','source','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'];a33_0x5c9d=function(){return _0x2e58ba;};return a33_0x5c9d();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0xc25cd2(0x11a),'type':a33_0xc25cd2(0xe7),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a33_0xc25cd2(0x114),'type':a33_0xc25cd2(0xe7),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0xc25cd2(0x101)}};function summarizeService(_0x34ab6d){const _0x756fb8=a33_0xc25cd2;return{'serviceCode':_0x34ab6d[_0x756fb8(0xde)],'name':_0x34ab6d[_0x756fb8(0xfe)][_0x756fb8(0x114)][_0x756fb8(0x10c)],'version':_0x34ab6d[_0x756fb8(0x108)],'importedAt':_0x34ab6d[_0x756fb8(0xfd)],'source':_0x34ab6d[_0x756fb8(0xd6)],'commandCount':_0x34ab6d[_0x756fb8(0xfe)][_0x756fb8(0xd2)][_0x756fb8(0x107)],'commands':_0x34ab6d[_0x756fb8(0xfe)][_0x756fb8(0xd2)][_0x756fb8(0xd0)](_0xe9d4fc=>({'path':_0xe9d4fc[_0x756fb8(0xdf)],'description':_0xe9d4fc[_0x756fb8(0xd8)],'risk':_0xe9d4fc[_0x756fb8(0xe3)],'target':_0xe9d4fc[_0x756fb8(0x105)],'flags':_0xe9d4fc[_0x756fb8(0xec)][_0x756fb8(0xd0)](_0x35c4be=>({'name':_0x35c4be[_0x756fb8(0x10c)],'cliName':_0x35c4be[_0x756fb8(0x10f)],'type':_0x35c4be[_0x756fb8(0xe0)],'required':_0x35c4be['required']===!![]}))}))};}function a33_0x4e37(_0x19a811,_0x413128){_0x19a811=_0x19a811-0xd0;const _0x5c9d45=a33_0x5c9d();let _0x4e37d6=_0x5c9d45[_0x19a811];return _0x4e37d6;}function summarizeLoadedManifest(_0x4a21a7){const _0x291b6b=a33_0xc25cd2;return{'service':_0x4a21a7[_0x291b6b(0xfe)]?.[_0x291b6b(0x114)],'version':_0x4a21a7[_0x291b6b(0xfe)]?.[_0x291b6b(0x108)],'commandCount':_0x4a21a7['normalizedManifest']?.['commands'][_0x291b6b(0x107)]??0x0,'commands':_0x4a21a7[_0x291b6b(0xfe)]?.['commands'][_0x291b6b(0xd0)](_0x51bd94=>({'path':_0x51bd94[_0x291b6b(0xdf)],'risk':_0x51bd94[_0x291b6b(0xe3)],'target':_0x51bd94[_0x291b6b(0x105)]}))??[],'registryIndex':_0x4a21a7[_0x291b6b(0x103)],'registryServiceCode':_0x4a21a7[_0x291b6b(0xee)],'errors':_0x4a21a7['report']['errors'],'warnings':_0x4a21a7['report'][_0x291b6b(0xf6)]};}export const serviceDefinitions=[{'service':a33_0xc25cd2(0x114),'command':a33_0xc25cd2(0xe2),'description':a33_0xc25cd2(0xef),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x1b1906){const _0x3e8b9b=a33_0xc25cd2,_0xfdb441=loadServiceManifestFromFile(_0x1b1906[_0x3e8b9b(0xe1)](_0x3e8b9b(0x11a)));if(!_0xfdb441['report']['ok'])return{'ok':![],'data':{'file':_0xfdb441['filePath'],'hash':_0xfdb441[_0x3e8b9b(0xf3)],'kind':_0xfdb441['kind'],'serviceCount':_0xfdb441[_0x3e8b9b(0x110)]['length'],'services':_0xfdb441['manifests']['map'](summarizeLoadedManifest),'errors':_0xfdb441[_0x3e8b9b(0xdd)][_0x3e8b9b(0xf2)],'warnings':_0xfdb441[_0x3e8b9b(0xdd)][_0x3e8b9b(0xf6)]},'message':formatValidationFailure(_0xfdb441[_0x3e8b9b(0xdd)])};if(_0xfdb441[_0x3e8b9b(0xd9)]===_0x3e8b9b(0xd1)||_0xfdb441['manifests'][_0x3e8b9b(0x107)]!==0x1)return{'ok':!![],'data':{'file':_0xfdb441[_0x3e8b9b(0x112)],'hash':_0xfdb441['hash'],'kind':_0xfdb441[_0x3e8b9b(0xd9)],'serviceCount':_0xfdb441[_0x3e8b9b(0x110)]['length'],'commandCount':_0xfdb441[_0x3e8b9b(0x110)][_0x3e8b9b(0xe6)]((_0x38cd54,_0x5dcde7)=>_0x38cd54+(_0x5dcde7['normalizedManifest']?.[_0x3e8b9b(0xd2)][_0x3e8b9b(0x107)]??0x0),0x0),'services':_0xfdb441['manifests'][_0x3e8b9b(0xd0)](summarizeLoadedManifest),'warnings':_0xfdb441[_0x3e8b9b(0xdd)][_0x3e8b9b(0xf6)]},'message':_0x3e8b9b(0xf9)};return{'ok':!![],'data':{'file':_0xfdb441[_0x3e8b9b(0x112)],'hash':_0xfdb441[_0x3e8b9b(0xf3)],'kind':_0xfdb441[_0x3e8b9b(0xd9)],'service':_0xfdb441[_0x3e8b9b(0xfe)]?.[_0x3e8b9b(0x114)],'version':_0xfdb441[_0x3e8b9b(0xfe)]?.[_0x3e8b9b(0x108)],'commandCount':_0xfdb441[_0x3e8b9b(0xfe)]?.[_0x3e8b9b(0xd2)][_0x3e8b9b(0x107)]??0x0,'commands':_0xfdb441[_0x3e8b9b(0xfe)]?.[_0x3e8b9b(0xd2)][_0x3e8b9b(0xd0)](_0x51902b=>({'path':_0x51902b[_0x3e8b9b(0xdf)],'risk':_0x51902b['risk'],'target':_0x51902b[_0x3e8b9b(0x105)]})),'warnings':_0xfdb441[_0x3e8b9b(0xdd)][_0x3e8b9b(0xf6)]},'message':_0x3e8b9b(0xf0)};}},{'service':a33_0xc25cd2(0x114),'command':'import','description':a33_0xc25cd2(0xe8),'risk':a33_0xc25cd2(0x118),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3bf1a8){const _0x809d75=a33_0xc25cd2,_0x27eee2=loadServiceManifestFromFile(_0x3bf1a8[_0x809d75(0xe1)](_0x809d75(0x11a)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x27eee2[_0x809d75(0x112)],'hash':_0x27eee2[_0x809d75(0xf3)],'kind':_0x27eee2['kind'],'ok':_0x27eee2[_0x809d75(0xdd)]['ok'],'service':_0x27eee2['normalizedManifest']?.[_0x809d75(0x114)],'version':_0x27eee2[_0x809d75(0xfe)]?.['version'],'serviceCount':_0x27eee2[_0x809d75(0x110)]['length'],'services':_0x27eee2['manifests'][_0x809d75(0xd0)](_0x5c0144=>({'service':_0x5c0144[_0x809d75(0xfe)]?.[_0x809d75(0x114)],'version':_0x5c0144[_0x809d75(0xfe)]?.[_0x809d75(0x108)],'commandCount':_0x5c0144[_0x809d75(0xfe)]?.[_0x809d75(0xd2)][_0x809d75(0x107)]??0x0,'errors':_0x5c0144[_0x809d75(0xdd)][_0x809d75(0xf2)]})),'errors':_0x27eee2[_0x809d75(0xdd)][_0x809d75(0xf2)],'commandCount':_0x27eee2[_0x809d75(0xfe)]?.[_0x809d75(0xd2)]['length']??0x0},'description':_0x809d75(0x104)};},async 'execute'(_0x54a23b){const _0x3a8f16=a33_0xc25cd2,_0x3068da=importServiceManifest(_0x54a23b[_0x3a8f16(0xe1)](_0x3a8f16(0x11a)));if(_0x3068da[_0x3a8f16(0x10d)][_0x3a8f16(0x107)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x3068da[_0x3a8f16(0xe5)],'imported':_0x3068da[_0x3a8f16(0xdc)],'updated':_0x3068da[_0x3a8f16(0xf8)],'serviceCount':_0x3068da[_0x3a8f16(0x10e)],'services':_0x3068da[_0x3a8f16(0x10d)][_0x3a8f16(0xd0)](summarizeService)},'message':_0x3a8f16(0xf4)+_0x3068da[_0x3a8f16(0xdc)]+_0x3a8f16(0xea)+_0x3068da[_0x3a8f16(0xf8)]+_0x3a8f16(0xdb)};return{'ok':!![],'data':{'registryPath':_0x3068da['registryPath'],'replaced':_0x3068da[_0x3a8f16(0xd3)],'imported':_0x3068da['imported'],'updated':_0x3068da['updated'],'serviceCount':_0x3068da[_0x3a8f16(0x10e)],'service':summarizeService(_0x3068da['entry'])},'message':(_0x3068da[_0x3a8f16(0xd3)]?_0x3a8f16(0x116):'Imported')+_0x3a8f16(0xfc)+_0x3068da['entry'][_0x3a8f16(0xde)]+'.'};}},{'service':'service','command':a33_0xc25cd2(0x100),'description':a33_0xc25cd2(0x111),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x787927){const _0xb30f10=a33_0xc25cd2,_0x45ae60=getLocalServiceEntry(_0x787927[_0xb30f10(0xe1)](_0xb30f10(0x114)));return{'method':_0xb30f10(0xf5),'url':_0x787927[_0xb30f10(0xe1)]('file'),'body':{'service':_0x787927[_0xb30f10(0xe1)](_0xb30f10(0x114)),'found':Boolean(_0x45ae60),'version':_0x45ae60?.['version'],'source':_0x45ae60?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x22bcc3){const _0x378017=a33_0xc25cd2,_0x997cad=exportServiceManifest(_0x22bcc3['str'](_0x378017(0x114)),_0x22bcc3['str']('file'));return{'ok':!![],'data':{'registryPath':_0x997cad[_0x378017(0xe5)],'file':_0x997cad[_0x378017(0x112)],'service':summarizeService(_0x997cad[_0x378017(0x10b)])},'message':_0x378017(0x106)+_0x997cad[_0x378017(0x10b)][_0x378017(0xde)]+'.'};}},{'service':'service','command':'list','description':a33_0xc25cd2(0xe4),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x21a670=a33_0xc25cd2,_0xbe8ebe=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0xbe8ebe[_0x21a670(0x107)],'services':_0xbe8ebe['map'](summarizeService)}};}},{'service':a33_0xc25cd2(0x114),'command':a33_0xc25cd2(0x102),'description':a33_0xc25cd2(0xd5),'risk':a33_0xc25cd2(0x118),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x4e1ea3){const _0x2dafab=a33_0xc25cd2,_0x5026af=getLocalServiceEntry(_0x4e1ea3[_0x2dafab(0xe1)]('service'));return{'method':_0x2dafab(0xf5),'url':getServiceRegistryPath(),'body':{'service':_0x4e1ea3[_0x2dafab(0xe1)](_0x2dafab(0x114)),'found':Boolean(_0x5026af),'version':_0x5026af?.[_0x2dafab(0x108)],'source':_0x5026af?.['source']},'description':_0x2dafab(0xd7)};},async 'execute'(_0x7cf1d5){const _0x269fe6=a33_0xc25cd2,_0xf22faa=removeServiceManifest(_0x7cf1d5[_0x269fe6(0xe1)]('service'));return{'ok':!![],'data':{'registryPath':_0xf22faa[_0x269fe6(0xe5)],'serviceCount':_0xf22faa[_0x269fe6(0x10e)],'service':summarizeService(_0xf22faa[_0x269fe6(0x10b)])},'message':_0x269fe6(0x119)+_0xf22faa[_0x269fe6(0x10b)][_0x269fe6(0xde)]+'.'};}},{'service':a33_0xc25cd2(0x114),'command':a33_0xc25cd2(0xed),'description':a33_0xc25cd2(0xd4),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3ef7c3){const _0x51abbd=a33_0xc25cd2,_0x208714=getLocalServiceEntry(_0x3ef7c3[_0x51abbd(0xe1)]('service'));if(!_0x208714)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3ef7c3['str'](_0x51abbd(0x114))},'message':_0x51abbd(0xe9)+_0x3ef7c3[_0x51abbd(0xe1)](_0x51abbd(0x114))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x208714),'manifest':_0x208714[_0x51abbd(0xeb)],'normalizedManifest':_0x208714[_0x51abbd(0xfe)]}};}}];
1
+ const a33_0x5a329c=a33_0x98a9;(function(_0x27f4aa,_0x5f362a){const _0x12e04f=a33_0x98a9,_0x543cd8=_0x27f4aa();while(!![]){try{const _0x11595a=parseInt(_0x12e04f(0xb2))/0x1*(parseInt(_0x12e04f(0xb7))/0x2)+-parseInt(_0x12e04f(0xda))/0x3+-parseInt(_0x12e04f(0xb5))/0x4*(-parseInt(_0x12e04f(0xbe))/0x5)+-parseInt(_0x12e04f(0xba))/0x6*(parseInt(_0x12e04f(0xcc))/0x7)+-parseInt(_0x12e04f(0xc2))/0x8+-parseInt(_0x12e04f(0xbb))/0x9+parseInt(_0x12e04f(0xcd))/0xa;if(_0x11595a===_0x5f362a)break;else _0x543cd8['push'](_0x543cd8['shift']());}catch(_0x59b6ef){_0x543cd8['push'](_0x543cd8['shift']());}}}(a33_0x4286,0x6d11f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x98a9(_0xa18534,_0x1ca115){_0xa18534=_0xa18534-0xa3;const _0x428656=a33_0x4286();let _0x98a932=_0x428656[_0xa18534];return _0x98a932;}const FILE_FLAG={'name':'file','type':'string','required':!![],'description':a33_0x5a329c(0xd8)},SERVICE_FLAG={'name':'service','type':a33_0x5a329c(0xe3),'required':!![],'description':a33_0x5a329c(0xb9),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x5a329c(0xd7)}};function summarizeService(_0x218f1c){const _0x44b7bd=a33_0x5a329c;return{'serviceCode':_0x218f1c[_0x44b7bd(0xce)],'name':_0x218f1c[_0x44b7bd(0xb6)][_0x44b7bd(0xa3)][_0x44b7bd(0xab)],'version':_0x218f1c[_0x44b7bd(0xcb)],'importedAt':_0x218f1c['importedAt'],'source':_0x218f1c[_0x44b7bd(0xa6)],'commandCount':_0x218f1c[_0x44b7bd(0xb6)][_0x44b7bd(0xca)][_0x44b7bd(0xa7)],'commands':_0x218f1c[_0x44b7bd(0xb6)]['commands'][_0x44b7bd(0xb3)](_0x2bc3d9=>({'path':_0x2bc3d9[_0x44b7bd(0xd4)],'description':_0x2bc3d9['description'],'risk':_0x2bc3d9[_0x44b7bd(0xc0)],'target':_0x2bc3d9[_0x44b7bd(0xa8)],'flags':_0x2bc3d9['flags']['map'](_0x9f74e7=>({'name':_0x9f74e7[_0x44b7bd(0xab)],'cliName':_0x9f74e7[_0x44b7bd(0xe0)],'type':_0x9f74e7['type'],'required':_0x9f74e7[_0x44b7bd(0xbf)]===!![]}))}))};}function summarizeLoadedManifest(_0x40d46f){const _0x18cbed=a33_0x5a329c;return{'service':_0x40d46f['normalizedManifest']?.[_0x18cbed(0xa3)],'version':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xcb)],'commandCount':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xca)][_0x18cbed(0xa7)]??0x0,'commands':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xca)][_0x18cbed(0xb3)](_0x7f5a30=>({'path':_0x7f5a30[_0x18cbed(0xd4)],'risk':_0x7f5a30[_0x18cbed(0xc0)],'target':_0x7f5a30[_0x18cbed(0xa8)]}))??[],'registryIndex':_0x40d46f[_0x18cbed(0xae)],'registryServiceCode':_0x40d46f['registryServiceCode'],'errors':_0x40d46f[_0x18cbed(0xad)][_0x18cbed(0xc9)],'warnings':_0x40d46f[_0x18cbed(0xad)][_0x18cbed(0xdb)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x5a329c(0xdc),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0x5a329c(0xb8),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x459d2d){const _0x163cfc=a33_0x5a329c,_0x5348cd=loadServiceManifestFromFile(_0x459d2d['str'](_0x163cfc(0xc3)));if(!_0x5348cd[_0x163cfc(0xad)]['ok'])return{'ok':![],'data':{'file':_0x5348cd[_0x163cfc(0xd0)],'hash':_0x5348cd['hash'],'kind':_0x5348cd['kind'],'serviceCount':_0x5348cd[_0x163cfc(0xd2)]['length'],'services':_0x5348cd[_0x163cfc(0xd2)]['map'](summarizeLoadedManifest),'errors':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xc9)],'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':formatValidationFailure(_0x5348cd[_0x163cfc(0xad)])};if(_0x5348cd[_0x163cfc(0xe5)]==='registry'||_0x5348cd[_0x163cfc(0xd2)][_0x163cfc(0xa7)]!==0x1)return{'ok':!![],'data':{'file':_0x5348cd[_0x163cfc(0xd0)],'hash':_0x5348cd[_0x163cfc(0xc6)],'kind':_0x5348cd[_0x163cfc(0xe5)],'serviceCount':_0x5348cd[_0x163cfc(0xd2)]['length'],'commandCount':_0x5348cd[_0x163cfc(0xd2)]['reduce']((_0x5a39b7,_0x3cc272)=>_0x5a39b7+(_0x3cc272[_0x163cfc(0xb6)]?.[_0x163cfc(0xca)][_0x163cfc(0xa7)]??0x0),0x0),'services':_0x5348cd[_0x163cfc(0xd2)][_0x163cfc(0xb3)](summarizeLoadedManifest),'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':_0x163cfc(0xb1)};return{'ok':!![],'data':{'file':_0x5348cd['filePath'],'hash':_0x5348cd['hash'],'kind':_0x5348cd[_0x163cfc(0xe5)],'service':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xa3)],'version':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xcb)],'commandCount':_0x5348cd[_0x163cfc(0xb6)]?.['commands']['length']??0x0,'commands':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xca)]['map'](_0x4841fd=>({'path':_0x4841fd['cliPath'],'risk':_0x4841fd[_0x163cfc(0xc0)],'target':_0x4841fd['target']})),'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':_0x163cfc(0xa4)};}},{'service':'service','command':a33_0x5a329c(0xc1),'description':a33_0x5a329c(0xc4),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1c51a2){const _0x4e9b70=a33_0x5a329c,_0x4ec635=loadServiceManifestFromFile(_0x1c51a2[_0x4e9b70(0xdf)](_0x4e9b70(0xc3)));return{'method':_0x4e9b70(0xdd),'url':getServiceRegistryPath(),'body':{'file':_0x4ec635[_0x4e9b70(0xd0)],'hash':_0x4ec635[_0x4e9b70(0xc6)],'kind':_0x4ec635[_0x4e9b70(0xe5)],'ok':_0x4ec635[_0x4e9b70(0xad)]['ok'],'service':_0x4ec635[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xa3)],'version':_0x4ec635[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xcb)],'serviceCount':_0x4ec635[_0x4e9b70(0xd2)][_0x4e9b70(0xa7)],'services':_0x4ec635[_0x4e9b70(0xd2)][_0x4e9b70(0xb3)](_0x39b2c8=>({'service':_0x39b2c8[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xa3)],'version':_0x39b2c8['normalizedManifest']?.['version'],'commandCount':_0x39b2c8[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xca)][_0x4e9b70(0xa7)]??0x0,'errors':_0x39b2c8['report']['errors']})),'errors':_0x4ec635['report'][_0x4e9b70(0xc9)],'commandCount':_0x4ec635[_0x4e9b70(0xb6)]?.['commands'][_0x4e9b70(0xa7)]??0x0},'description':_0x4e9b70(0xc8)};},async 'execute'(_0x476091){const _0x5d9d61=a33_0x5a329c,_0xd4c1c2=importServiceManifest(_0x476091[_0x5d9d61(0xdf)](_0x5d9d61(0xc3)));if(_0xd4c1c2[_0x5d9d61(0xe2)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0xd4c1c2[_0x5d9d61(0xe1)],'imported':_0xd4c1c2[_0x5d9d61(0xcf)],'updated':_0xd4c1c2['updated'],'serviceCount':_0xd4c1c2['serviceCount'],'services':_0xd4c1c2[_0x5d9d61(0xe2)]['map'](summarizeService)},'message':'Imported\x20'+_0xd4c1c2[_0x5d9d61(0xcf)]+_0x5d9d61(0xc7)+_0xd4c1c2[_0x5d9d61(0xaf)]+_0x5d9d61(0xe4)};return{'ok':!![],'data':{'registryPath':_0xd4c1c2['registryPath'],'replaced':_0xd4c1c2[_0x5d9d61(0xd9)],'imported':_0xd4c1c2[_0x5d9d61(0xcf)],'updated':_0xd4c1c2[_0x5d9d61(0xaf)],'serviceCount':_0xd4c1c2[_0x5d9d61(0xa5)],'service':summarizeService(_0xd4c1c2[_0x5d9d61(0xbd)])},'message':(_0xd4c1c2[_0x5d9d61(0xd9)]?'Updated':_0x5d9d61(0xde))+'\x20service\x20'+_0xd4c1c2['entry'][_0x5d9d61(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':'export','description':a33_0x5a329c(0xac),'risk':a33_0x5a329c(0xc5),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x46dcc0){const _0x431222=a33_0x5a329c,_0x32825c=getLocalServiceEntry(_0x46dcc0[_0x431222(0xdf)](_0x431222(0xa3)));return{'method':'WRITE','url':_0x46dcc0[_0x431222(0xdf)](_0x431222(0xc3)),'body':{'service':_0x46dcc0[_0x431222(0xdf)]('service'),'found':Boolean(_0x32825c),'version':_0x32825c?.['version'],'source':_0x32825c?.[_0x431222(0xa6)]},'description':_0x431222(0xbc)};},async 'execute'(_0x193999){const _0x20b72f=a33_0x5a329c,_0x416216=exportServiceManifest(_0x193999['str'](_0x20b72f(0xa3)),_0x193999[_0x20b72f(0xdf)]('file'));return{'ok':!![],'data':{'registryPath':_0x416216[_0x20b72f(0xe1)],'file':_0x416216[_0x20b72f(0xd0)],'service':summarizeService(_0x416216[_0x20b72f(0xbd)])},'message':_0x20b72f(0xd5)+_0x416216[_0x20b72f(0xbd)][_0x20b72f(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':'list','description':a33_0x5a329c(0xaa),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x24655d=a33_0x5a329c,_0x3519df=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3519df[_0x24655d(0xa7)],'services':_0x3519df[_0x24655d(0xb3)](summarizeService)}};}},{'service':a33_0x5a329c(0xa3),'command':a33_0x5a329c(0xd1),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x44b7cf){const _0x12da76=a33_0x5a329c,_0x53754e=getLocalServiceEntry(_0x44b7cf[_0x12da76(0xdf)](_0x12da76(0xa3)));return{'method':_0x12da76(0xdd),'url':getServiceRegistryPath(),'body':{'service':_0x44b7cf['str'](_0x12da76(0xa3)),'found':Boolean(_0x53754e),'version':_0x53754e?.[_0x12da76(0xcb)],'source':_0x53754e?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x2ba85c){const _0x2b14fb=a33_0x5a329c,_0x11236c=removeServiceManifest(_0x2ba85c[_0x2b14fb(0xdf)](_0x2b14fb(0xa3)));return{'ok':!![],'data':{'registryPath':_0x11236c[_0x2b14fb(0xe1)],'serviceCount':_0x11236c[_0x2b14fb(0xa5)],'service':summarizeService(_0x11236c['entry'])},'message':_0x2b14fb(0xd3)+_0x11236c[_0x2b14fb(0xbd)][_0x2b14fb(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':a33_0x5a329c(0xd6),'description':a33_0x5a329c(0xb0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2195bd){const _0x365aff=a33_0x5a329c,_0x330333=getLocalServiceEntry(_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3)));if(!_0x330333)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3))},'message':_0x365aff(0xa9)+_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x330333),'manifest':_0x330333[_0x365aff(0xb4)],'normalizedManifest':_0x330333[_0x365aff(0xb6)]}};}}];function a33_0x4286(){const _0x164946=['updated','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Service\x20registry\x20validation\x20passed.','9059kjScPu','map','manifest','8356LMJYqd','normalizedManifest','54wMcfNH','read','Local\x20service\x20code,\x20for\x20example\x20crm','101496hvwsta','6313662tzfapE','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','entry','45CotiqV','required','risk','import','3827928zBfvZx','file','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','write','hash','\x20service(s),\x20updated\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','errors','commands','version','168EEBSmi','22373650rXFrPn','serviceCode','imported','filePath','remove','manifests','Removed\x20service\x20','cliPath','Exported\x20service\x20','detail','lower\x20kebab-case\x20service\x20code','Service\x20Tree\x20manifest\x20file\x20path','replaced','1404045RGBZBw','warnings','validate','WRITE','Imported','str','cliName','registryPath','entries','string','\x20service(s).','kind','service','Service\x20manifest\x20validation\x20passed.','serviceCount','source','length','target','Local\x20service\x20not\x20found:\x20','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','name','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','report','registryIndex'];a33_0x4286=function(){return _0x164946;};return a33_0x4286();}
@@ -1 +1 @@
1
- (function(_0x34c495,_0x47bb1f){const _0x1467e8=a34_0x5189,_0x572515=_0x34c495();while(!![]){try{const _0x3293f6=-parseInt(_0x1467e8(0x19e))/0x1*(parseInt(_0x1467e8(0x1e2))/0x2)+parseInt(_0x1467e8(0x1d4))/0x3+-parseInt(_0x1467e8(0x1b7))/0x4*(-parseInt(_0x1467e8(0x1d0))/0x5)+parseInt(_0x1467e8(0x1b5))/0x6+-parseInt(_0x1467e8(0x1a6))/0x7*(-parseInt(_0x1467e8(0x1bf))/0x8)+-parseInt(_0x1467e8(0x1be))/0x9*(-parseInt(_0x1467e8(0x1ab))/0xa)+-parseInt(_0x1467e8(0x1a9))/0xb;if(_0x3293f6===_0x47bb1f)break;else _0x572515['push'](_0x572515['shift']());}catch(_0xd5e3c6){_0x572515['push'](_0x572515['shift']());}}}(a34_0x1c96,0x3d060));function a34_0x1c96(){const _0xec42c1=['validation','Cannot\x20write\x20service\x20registry:\x20','filePath','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','description','homeDir','286908dnYSRg','stringify','8108aHZeLz','cliPath','findIndex','trim','manifest','].manifest','Service\x20manifest\x20file\x20not\x20found:\x20','691911ztbTsh','8fustEK','version','name','flatMap','length','update','Invalid\x20service\x20manifest\x20JSON:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','digest','homeDirName','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','file','map','services','commandCount','$.services[','report','395DfWmzP','sha256','normalizedManifest','source','848928AiFQYO','.tmp','parse','service','serviceCode','].manifest.','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Service\x20manifest\x20validation\x20failed:\x0a','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','registryIndex','isArray','Unsupported\x20service\x20registry\x20schemaVersion:\x20','now','errors','4vKMoZc','updatedAt','reduce','object','importedAt','Local\x20service\x20not\x20found:\x20','invalid','services\x20must\x20be\x20an\x20array','target','slice','Remove\x20or\x20migrate\x20','toISOString','string','111647evFbch','warnings','sourceHash','hex','push','join','message','ENOENT','2824115UEsOvl','utf8','schemaVersion','8015062ejZoJu','startsWith','40vpxnXU','manifests','path','kind'];a34_0x1c96=function(){return _0xec42c1;};return a34_0x1c96();}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x404b22={}){const _0x564751=a34_0x5189;return resolve(_0x404b22[_0x564751(0x1b4)]??homedir(),PRODUCT_CONFIG[_0x564751(0x1c8)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x55fbad={}){const _0xa5d220=a34_0x5189,_0x418058=getServiceRegistryPath(_0x55fbad);if(!existsSync(_0x418058))return emptyServiceRegistry();try{const _0x4cef3e=readFileSync(_0x418058,'utf8');if(!_0x4cef3e[_0xa5d220(0x1ba)]())return emptyServiceRegistry();const _0x49a377=JSON['parse'](_0x4cef3e);if(_0x49a377['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0xa5d220(0x1af)](_0xa5d220(0x1df)+String(_0x49a377[_0xa5d220(0x1a8)]),_0xa5d220(0x1ec)+_0x418058+'.');if(!Array['isArray'](_0x49a377['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x49a377[_0xa5d220(0x1e3)],'services':_0x49a377[_0xa5d220(0x1cc)]};}catch(_0x568b70){if(_0x568b70 instanceof Error&&_0x568b70[_0xa5d220(0x1c1)]==='CliError')throw _0x568b70;throw CliErrors['validation']('Invalid\x20service\x20registry\x20JSON:\x20'+_0x418058,_0xa5d220(0x1c6));}}export function writeServiceRegistry(_0x575314,_0x50b274={}){const _0x5615dc=a34_0x5189,_0x4816fa=getServiceRegistryPath(_0x50b274),_0x43153f=dirname(_0x4816fa);!existsSync(_0x43153f)&&mkdirSync(_0x43153f,{'recursive':!![]});const _0x4a5a44=_0x4816fa+_0x5615dc(0x1d5);try{writeFileSync(_0x4a5a44,JSON[_0x5615dc(0x1b6)](_0x575314,null,0x2)+'\x0a',{'encoding':_0x5615dc(0x1a7),'mode':0x180}),renameSync(_0x4a5a44,_0x4816fa);}catch(_0x3697e8){try{unlinkSync(_0x4a5a44);}catch{}if(_0x3697e8?.['code']===_0x5615dc(0x1a5))throw CliErrors[_0x5615dc(0x1af)](_0x5615dc(0x1b0)+_0x4816fa);throw _0x3697e8;}return _0x4816fa;}export function loadServiceManifestFromFile(_0x5891f6){const _0x9fbd32=a34_0x5189,_0x3553d8=resolve(_0x5891f6);if(!existsSync(_0x3553d8))throw CliErrors[_0x9fbd32(0x1af)](_0x9fbd32(0x1bd)+_0x5891f6);let _0x58db40;const _0x4a65b9=readFileSync(_0x3553d8,_0x9fbd32(0x1a7));try{_0x58db40=JSON[_0x9fbd32(0x1d6)](_0x4a65b9);}catch{throw CliErrors[_0x9fbd32(0x1af)](_0x9fbd32(0x1c5)+_0x5891f6,_0x9fbd32(0x1c9));}const _0x197c87=sha256(_0x4a65b9),_0x636aab=extractLoadedServiceManifests(_0x58db40,_0x197c87),_0x59f027=aggregateValidationReports(_0x636aab),_0x364f79=_0x636aab[0x0];return{'filePath':_0x3553d8,'hash':_0x197c87,'kind':isServiceRegistryLike(_0x58db40)?'registry':_0x9fbd32(0x1bb),'manifest':_0x364f79?.[_0x9fbd32(0x1bb)]??_0x58db40,'report':_0x59f027,'normalizedManifest':_0x636aab[_0x9fbd32(0x1c3)]===0x1?_0x364f79?.[_0x9fbd32(0x1d2)]:undefined,'manifests':_0x636aab};}export function importServiceManifest(_0x285db0,_0x4a0091={}){const _0x96cb95=a34_0x5189,_0x1ec121=loadServiceManifestFromFile(_0x285db0);if(!_0x1ec121[_0x96cb95(0x1cf)]['ok'])throw CliErrors[_0x96cb95(0x1af)](formatValidationFailure(_0x1ec121[_0x96cb95(0x1cf)]),_0x96cb95(0x1da));if(_0x1ec121[_0x96cb95(0x1ac)]['length']===0x0)throw CliErrors[_0x96cb95(0x1af)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x96cb95(0x1b2));const _0x430f7d=readServiceRegistry(_0x4a0091),_0x40111f=(_0x4a0091[_0x96cb95(0x1e0)]??(()=>new Date()))()[_0x96cb95(0x19c)](),_0x53aaed=[];let _0x2effa2=0x0,_0x32790d=0x0;for(const _0x271619 of _0x1ec121[_0x96cb95(0x1ac)]){if(!_0x271619['normalizedManifest'])continue;const _0x25beec=_0x271619[_0x96cb95(0x1d2)][_0x96cb95(0x1d7)]['code'],_0x1e008d={'serviceCode':_0x25beec,'version':_0x271619[_0x96cb95(0x1d2)][_0x96cb95(0x1c0)],'importedAt':_0x40111f,'source':{'type':_0x96cb95(0x1ca),'path':_0x1ec121[_0x96cb95(0x1b1)],'hash':_0x271619[_0x96cb95(0x1a0)]},'manifest':_0x271619['manifest'],'normalizedManifest':_0x271619['normalizedManifest']},_0x244dc2=_0x430f7d[_0x96cb95(0x1cc)]['findIndex'](_0xcc5d8a=>_0xcc5d8a[_0x96cb95(0x1d8)]===_0x25beec);_0x244dc2>=0x0?(_0x430f7d['services'][_0x244dc2]=_0x1e008d,_0x32790d++):(_0x430f7d[_0x96cb95(0x1cc)][_0x96cb95(0x1a2)](_0x1e008d),_0x2effa2++),_0x53aaed[_0x96cb95(0x1a2)](_0x1e008d);}_0x430f7d[_0x96cb95(0x1cc)]['sort']((_0x3d61df,_0x524877)=>_0x3d61df[_0x96cb95(0x1d8)]['localeCompare'](_0x524877[_0x96cb95(0x1d8)])),_0x430f7d['updatedAt']=_0x40111f;const _0xfd903c=writeServiceRegistry(_0x430f7d,_0x4a0091);return{'registryPath':_0xfd903c,'entry':_0x53aaed[0x0],'replaced':_0x53aaed['length']===0x1?_0x32790d===0x1:_0x32790d>0x0,'entries':_0x53aaed,'imported':_0x2effa2,'updated':_0x32790d,'serviceCount':_0x430f7d[_0x96cb95(0x1cc)][_0x96cb95(0x1c3)]};}export function exportServiceManifest(_0x429f92,_0x38c458,_0x1cdf0a={}){const _0x14a300=a34_0x5189,_0x3e9ce4=getServiceRegistryPath(_0x1cdf0a),_0x1eccbc=getLocalServiceEntry(_0x429f92,_0x1cdf0a);if(!_0x1eccbc)throw CliErrors[_0x14a300(0x1af)](_0x14a300(0x1e7)+_0x429f92,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x48d3bc=resolve(_0x38c458),_0x2505dd=dirname(_0x48d3bc);return!existsSync(_0x2505dd)&&mkdirSync(_0x2505dd,{'recursive':!![]}),writeFileSync(_0x48d3bc,JSON[_0x14a300(0x1b6)](_0x1eccbc[_0x14a300(0x1bb)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x3e9ce4,'filePath':_0x48d3bc,'entry':_0x1eccbc};}export function removeServiceManifest(_0x42260b,_0xd577cd={}){const _0x276a63=a34_0x5189,_0x150742=readServiceRegistry(_0xd577cd),_0x1fe000=_0x42260b['trim'](),_0x319c1b=_0x150742[_0x276a63(0x1cc)][_0x276a63(0x1b9)](_0x482a62=>_0x482a62[_0x276a63(0x1d8)]===_0x1fe000);if(_0x319c1b<0x0)throw CliErrors[_0x276a63(0x1af)]('Local\x20service\x20not\x20found:\x20'+_0x1fe000,_0x276a63(0x1dc));const [_0x57ee57]=_0x150742[_0x276a63(0x1cc)]['splice'](_0x319c1b,0x1),_0x461f6e=(_0xd577cd[_0x276a63(0x1e0)]??(()=>new Date()))()['toISOString']();_0x150742[_0x276a63(0x1e3)]=_0x461f6e;const _0x3e7f17=writeServiceRegistry(_0x150742,_0xd577cd);return{'registryPath':_0x3e7f17,'entry':_0x57ee57,'serviceCount':_0x150742[_0x276a63(0x1cc)][_0x276a63(0x1c3)]};}export function listLocalServices(_0x2a135d={}){return readServiceRegistry(_0x2a135d)['services'];}function a34_0x5189(_0x2c1985,_0x14d486){_0x2c1985=_0x2c1985-0x19c;const _0x1c9662=a34_0x1c96();let _0x5189d3=_0x1c9662[_0x2c1985];return _0x5189d3;}export function getLocalServiceEntry(_0xac450a,_0x37a429={}){const _0x491827=a34_0x5189;return readServiceRegistry(_0x37a429)[_0x491827(0x1cc)]['find'](_0xa99d36=>_0xa99d36[_0x491827(0x1d8)]===_0xac450a[_0x491827(0x1ba)]());}export function listLocalServiceTrees(_0x2c34db={}){const _0x20f08d=a34_0x5189;return readServiceRegistry(_0x2c34db)['services'][_0x20f08d(0x1cb)](_0x32d2df=>_0x32d2df['normalizedManifest']);}export function inspectServiceRegistry(_0x20be86={}){const _0x49f4e4=a34_0x5189,_0xf1be87=getServiceRegistryPath(_0x20be86);if(!existsSync(_0xf1be87))return emptyServiceRegistryInspection(_0xf1be87,'missing',![]);try{const _0x3295eb=readFileSync(_0xf1be87,_0x49f4e4(0x1a7));if(!_0x3295eb[_0x49f4e4(0x1ba)]())return emptyServiceRegistryInspection(_0xf1be87,'empty',!![]);const _0x2d9a2b=JSON[_0x49f4e4(0x1d6)](_0x3295eb);if(_0x2d9a2b['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xf1be87,_0x49f4e4(0x1e8),!![]),'schemaVersion':_0x2d9a2b[_0x49f4e4(0x1a8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x2d9a2b[_0x49f4e4(0x1a8)])};if(!Array[_0x49f4e4(0x1de)](_0x2d9a2b['services']))return{...emptyServiceRegistryInspection(_0xf1be87,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2d9a2b[_0x49f4e4(0x1e3)],'message':_0x49f4e4(0x1e9)};const _0x255873=_0x2d9a2b['services']['map'](summarizeLocalServiceEntry);return{'registryPath':_0xf1be87,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2d9a2b[_0x49f4e4(0x1e3)],'serviceCount':_0x255873[_0x49f4e4(0x1c3)],'commandCount':_0x255873[_0x49f4e4(0x1e4)]((_0xc4019a,_0x1fff3a)=>_0xc4019a+_0x1fff3a[_0x49f4e4(0x1cd)],0x0),'services':_0x255873};}catch(_0x5f4206){return{...emptyServiceRegistryInspection(_0xf1be87,_0x49f4e4(0x1e8),!![]),'message':_0x5f4206 instanceof Error?_0x5f4206[_0x49f4e4(0x1a4)]:String(_0x5f4206)};}}export function formatValidationFailure(_0x30219a){const _0x37cb8b=a34_0x5189,_0x592a03=_0x30219a[_0x37cb8b(0x1e1)][_0x37cb8b(0x1cb)](_0x447dad=>_0x447dad[_0x37cb8b(0x1ad)]+':\x20'+_0x447dad[_0x37cb8b(0x1a4)]);return _0x37cb8b(0x1db)+_0x592a03[_0x37cb8b(0x1a3)]('\x0a');}function extractLoadedServiceManifests(_0x326ae1,_0x41235e){const _0x59ea05=a34_0x5189;if(!isServiceRegistryLike(_0x326ae1)){const _0xa4f022=_0x326ae1,_0x43cc2c=validateServiceTreeManifest(_0xa4f022);return[{'manifest':_0xa4f022,'report':_0x43cc2c,'normalizedManifest':_0x43cc2c['ok']?normalizeServiceTreeManifest(_0xa4f022):undefined,'sourceHash':_0x41235e}];}return _0x326ae1[_0x59ea05(0x1cc)]['map']((_0x332e9a,_0x3a2d8d)=>{const _0xd22aa0=_0x59ea05,_0x3e003e=isObjectRecord(_0x332e9a)?_0x332e9a[_0xd22aa0(0x1bb)]:undefined,_0x33e78d=validateServiceTreeManifest(_0x3e003e),_0x87c24d=isObjectRecord(_0x332e9a)&&typeof _0x332e9a[_0xd22aa0(0x1d8)]===_0xd22aa0(0x19d)?_0x332e9a['serviceCode']:undefined;return{'manifest':_0x3e003e,'report':_0x33e78d,'normalizedManifest':_0x33e78d['ok']?normalizeServiceTreeManifest(_0x3e003e):undefined,'sourceHash':sha256(JSON[_0xd22aa0(0x1b6)](_0x3e003e,null,0x2)+'\x0a'),'registryIndex':_0x3a2d8d,'registryServiceCode':_0x87c24d};});}function aggregateValidationReports(_0x32638c){const _0x22b609=a34_0x5189,_0x24f6cd=_0x32638c[_0x22b609(0x1c2)](_0x27d41a=>_0x27d41a[_0x22b609(0x1dd)]===undefined?_0x27d41a['report'][_0x22b609(0x1e1)]:_0x27d41a['report'][_0x22b609(0x1e1)][_0x22b609(0x1cb)](_0x4b7d40=>({..._0x4b7d40,'path':prefixRegistryIssuePath(_0x27d41a[_0x22b609(0x1dd)],_0x4b7d40[_0x22b609(0x1ad)])}))),_0x1a9976=_0x32638c[_0x22b609(0x1c2)](_0x43f158=>_0x43f158['registryIndex']===undefined?_0x43f158[_0x22b609(0x1cf)]['warnings']:_0x43f158[_0x22b609(0x1cf)][_0x22b609(0x19f)]['map'](_0x4cec2a=>({..._0x4cec2a,'path':prefixRegistryIssuePath(_0x43f158[_0x22b609(0x1dd)],_0x4cec2a[_0x22b609(0x1ad)])})));return{'ok':_0x24f6cd['length']===0x0,'errors':_0x24f6cd,'warnings':_0x1a9976};}function prefixRegistryIssuePath(_0x4eee2e,_0x4b37b3){const _0x59b453=a34_0x5189;if(_0x4b37b3==='$')return _0x59b453(0x1ce)+_0x4eee2e+_0x59b453(0x1bc);if(_0x4b37b3[_0x59b453(0x1aa)]('$.'))return'$.services['+_0x4eee2e+_0x59b453(0x1bc)+_0x4b37b3[_0x59b453(0x1eb)](0x1);if(_0x4b37b3['startsWith']('$['))return _0x59b453(0x1ce)+_0x4eee2e+'].manifest'+_0x4b37b3[_0x59b453(0x1eb)](0x1);return _0x59b453(0x1ce)+_0x4eee2e+_0x59b453(0x1d9)+_0x4b37b3;}function isServiceRegistryLike(_0x31e978){const _0x17650c=a34_0x5189;return isObjectRecord(_0x31e978)&&_0x31e978['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x17650c(0x1de)](_0x31e978[_0x17650c(0x1cc)]);}function isObjectRecord(_0x16ada5){const _0x49c8f0=a34_0x5189;return Boolean(_0x16ada5)&&typeof _0x16ada5===_0x49c8f0(0x1e5)&&!Array[_0x49c8f0(0x1de)](_0x16ada5);}function emptyServiceRegistryInspection(_0x2091ce,_0x536631,_0x36856e){return{'registryPath':_0x2091ce,'exists':_0x36856e,'status':_0x536631,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2524b0){const _0xfe46d3=a34_0x5189,_0x4b1aee=_0x2524b0['normalizedManifest'],_0x5d5bf2=_0x4b1aee['commands'][_0xfe46d3(0x1cb)](_0x1c17d7=>({'path':_0x1c17d7[_0xfe46d3(0x1b8)],'description':_0x1c17d7[_0xfe46d3(0x1b3)],'risk':_0x1c17d7['risk'],'targetKind':_0x1c17d7['target'][_0xfe46d3(0x1ae)],'targetCommand':_0x1c17d7[_0xfe46d3(0x1ea)]['command']}));return{'serviceCode':_0x2524b0['serviceCode'],'name':_0x4b1aee['service'][_0xfe46d3(0x1c1)],'description':_0x4b1aee['service'][_0xfe46d3(0x1b3)],'version':_0x2524b0[_0xfe46d3(0x1c0)],'importedAt':_0x2524b0[_0xfe46d3(0x1e6)],'source':_0x2524b0[_0xfe46d3(0x1d3)],'commandCount':_0x5d5bf2[_0xfe46d3(0x1c3)],'commands':_0x5d5bf2};}function sha256(_0x838c8e){const _0x124a4f=a34_0x5189;return createHash(_0x124a4f(0x1d1))[_0x124a4f(0x1c4)](_0x838c8e)[_0x124a4f(0x1c7)](_0x124a4f(0x1a1));}
1
+ const a34_0x27109d=a34_0x1b0b;(function(_0x54540e,_0x4a9931){const _0x37527b=a34_0x1b0b,_0x206060=_0x54540e();while(!![]){try{const _0xdb9b2f=parseInt(_0x37527b(0x1d6))/0x1+-parseInt(_0x37527b(0x206))/0x2+parseInt(_0x37527b(0x1ff))/0x3+-parseInt(_0x37527b(0x1f7))/0x4*(parseInt(_0x37527b(0x202))/0x5)+parseInt(_0x37527b(0x1e4))/0x6+-parseInt(_0x37527b(0x1ca))/0x7+parseInt(_0x37527b(0x1d9))/0x8*(parseInt(_0x37527b(0x1eb))/0x9);if(_0xdb9b2f===_0x4a9931)break;else _0x206060['push'](_0x206060['shift']());}catch(_0xc89d14){_0x206060['push'](_0x206060['shift']());}}}(a34_0x3aaa,0x241d3));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x1b0b(_0x519be7,_0x48cf0d){_0x519be7=_0x519be7-0x1c6;const _0x3aaa48=a34_0x3aaa();let _0x1b0b78=_0x3aaa48[_0x519be7];return _0x1b0b78;}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x27109d(0x207);export function getServiceRegistryPath(_0x2623e4={}){const _0x5a9c32=a34_0x27109d;return resolve(_0x2623e4[_0x5a9c32(0x1c8)]??homedir(),PRODUCT_CONFIG[_0x5a9c32(0x1de)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x2aa743={}){const _0x34464d=a34_0x27109d,_0x9ddebc=getServiceRegistryPath(_0x2aa743);if(!existsSync(_0x9ddebc))return emptyServiceRegistry();try{const _0x520401=readFileSync(_0x9ddebc,_0x34464d(0x1cf));if(!_0x520401[_0x34464d(0x1e0)]())return emptyServiceRegistry();const _0x524934=JSON[_0x34464d(0x1ea)](_0x520401);if(_0x524934[_0x34464d(0x215)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x34464d(0x1cc)](_0x34464d(0x1f0)+String(_0x524934[_0x34464d(0x215)]),_0x34464d(0x1f3)+_0x9ddebc+'.');if(!Array['isArray'](_0x524934[_0x34464d(0x216)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x524934[_0x34464d(0x204)],'services':_0x524934[_0x34464d(0x216)]};}catch(_0x2ad7af){if(_0x2ad7af instanceof Error&&_0x2ad7af[_0x34464d(0x1dd)]===_0x34464d(0x205))throw _0x2ad7af;throw CliErrors[_0x34464d(0x1cc)](_0x34464d(0x1f4)+_0x9ddebc,_0x34464d(0x1f1));}}export function writeServiceRegistry(_0x2005aa,_0x2e85fc={}){const _0x427254=a34_0x27109d,_0x8becd0=getServiceRegistryPath(_0x2e85fc),_0x59764d=dirname(_0x8becd0);!existsSync(_0x59764d)&&mkdirSync(_0x59764d,{'recursive':!![]});const _0x3831f5=_0x8becd0+'.tmp';try{writeFileSync(_0x3831f5,JSON[_0x427254(0x20b)](_0x2005aa,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x3831f5,_0x8becd0);}catch(_0x2fb004){try{unlinkSync(_0x3831f5);}catch{}if(_0x2fb004?.[_0x427254(0x201)]===_0x427254(0x1f5))throw CliErrors[_0x427254(0x1cc)](_0x427254(0x1d3)+_0x8becd0);throw _0x2fb004;}return _0x8becd0;}export function loadServiceManifestFromFile(_0x17c1dd){const _0x2e0238=a34_0x27109d,_0x108046=resolve(_0x17c1dd);if(!existsSync(_0x108046))throw CliErrors['validation'](_0x2e0238(0x200)+_0x17c1dd);let _0x252e69;const _0xc6738c=readFileSync(_0x108046,_0x2e0238(0x1cf));try{_0x252e69=JSON[_0x2e0238(0x1ea)](_0xc6738c);}catch{throw CliErrors[_0x2e0238(0x1cc)](_0x2e0238(0x1ef)+_0x17c1dd,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x149bff=sha256(_0xc6738c),_0x1b2300=extractLoadedServiceManifests(_0x252e69,_0x149bff),_0x462121=aggregateValidationReports(_0x1b2300),_0x346b67=_0x1b2300[0x0];return{'filePath':_0x108046,'hash':_0x149bff,'kind':isServiceRegistryLike(_0x252e69)?'registry':_0x2e0238(0x208),'manifest':_0x346b67?.['manifest']??_0x252e69,'report':_0x462121,'normalizedManifest':_0x1b2300[_0x2e0238(0x1c9)]===0x1?_0x346b67?.[_0x2e0238(0x1ce)]:undefined,'manifests':_0x1b2300};}export function importServiceManifest(_0x545545,_0x5d630c={}){const _0x5fcaac=a34_0x27109d,_0x453209=loadServiceManifestFromFile(_0x545545);if(!_0x453209[_0x5fcaac(0x1c6)]['ok'])throw CliErrors[_0x5fcaac(0x1cc)](formatValidationFailure(_0x453209[_0x5fcaac(0x1c6)]),_0x5fcaac(0x20a));if(_0x453209[_0x5fcaac(0x20d)][_0x5fcaac(0x1c9)]===0x0)throw CliErrors[_0x5fcaac(0x1cc)](_0x5fcaac(0x1d1),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x28c7a3=readServiceRegistry(_0x5d630c),_0x3f8abd=(_0x5d630c[_0x5fcaac(0x1d0)]??(()=>new Date()))()[_0x5fcaac(0x1e5)](),_0x4585cf=[];let _0x21d7e4=0x0,_0x5d802a=0x0;for(const _0x489b51 of _0x453209[_0x5fcaac(0x20d)]){if(!_0x489b51[_0x5fcaac(0x1ce)])continue;const _0x177c3f=_0x489b51['normalizedManifest'][_0x5fcaac(0x1d7)][_0x5fcaac(0x201)],_0x78be3c={'serviceCode':_0x177c3f,'version':_0x489b51['normalizedManifest'][_0x5fcaac(0x1f8)],'importedAt':_0x3f8abd,'source':{'type':_0x5fcaac(0x1ee),'path':_0x453209[_0x5fcaac(0x1fc)],'hash':_0x489b51['sourceHash']},'manifest':_0x489b51[_0x5fcaac(0x208)],'normalizedManifest':_0x489b51[_0x5fcaac(0x1ce)]},_0x1aa2b9=_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1df)](_0x1f1d36=>_0x1f1d36['serviceCode']===_0x177c3f);_0x1aa2b9>=0x0?(_0x28c7a3[_0x5fcaac(0x216)][_0x1aa2b9]=_0x78be3c,_0x5d802a++):(_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1e3)](_0x78be3c),_0x21d7e4++),_0x4585cf[_0x5fcaac(0x1e3)](_0x78be3c);}_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1e8)]((_0x1abfd7,_0x12cd81)=>_0x1abfd7[_0x5fcaac(0x1d4)][_0x5fcaac(0x1da)](_0x12cd81[_0x5fcaac(0x1d4)])),_0x28c7a3[_0x5fcaac(0x204)]=_0x3f8abd;const _0x1fabbb=writeServiceRegistry(_0x28c7a3,_0x5d630c);return{'registryPath':_0x1fabbb,'entry':_0x4585cf[0x0],'replaced':_0x4585cf[_0x5fcaac(0x1c9)]===0x1?_0x5d802a===0x1:_0x5d802a>0x0,'entries':_0x4585cf,'imported':_0x21d7e4,'updated':_0x5d802a,'serviceCount':_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1c9)]};}export function exportServiceManifest(_0x165933,_0x4d9b17,_0x5bf353={}){const _0x376885=a34_0x27109d,_0x2ca855=getServiceRegistryPath(_0x5bf353),_0x4acb77=getLocalServiceEntry(_0x165933,_0x5bf353);if(!_0x4acb77)throw CliErrors[_0x376885(0x1cc)](_0x376885(0x1d5)+_0x165933,_0x376885(0x1e6));const _0x429b9b=resolve(_0x4d9b17),_0x25b73c=dirname(_0x429b9b);return!existsSync(_0x25b73c)&&mkdirSync(_0x25b73c,{'recursive':!![]}),writeFileSync(_0x429b9b,JSON[_0x376885(0x20b)](_0x4acb77[_0x376885(0x208)],null,0x2)+'\x0a',{'encoding':_0x376885(0x1cf),'mode':0x180}),{'registryPath':_0x2ca855,'filePath':_0x429b9b,'entry':_0x4acb77};}export function removeServiceManifest(_0x5943a1,_0xe037c6={}){const _0x4aff26=a34_0x27109d,_0x1c8649=readServiceRegistry(_0xe037c6),_0x47abd2=_0x5943a1[_0x4aff26(0x1e0)](),_0x1e50bb=_0x1c8649[_0x4aff26(0x216)][_0x4aff26(0x1df)](_0x18c3c7=>_0x18c3c7['serviceCode']===_0x47abd2);if(_0x1e50bb<0x0)throw CliErrors[_0x4aff26(0x1cc)]('Local\x20service\x20not\x20found:\x20'+_0x47abd2,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x419853]=_0x1c8649[_0x4aff26(0x216)][_0x4aff26(0x214)](_0x1e50bb,0x1),_0x2261c5=(_0xe037c6[_0x4aff26(0x1d0)]??(()=>new Date()))()[_0x4aff26(0x1e5)]();_0x1c8649[_0x4aff26(0x204)]=_0x2261c5;const _0x3c32b8=writeServiceRegistry(_0x1c8649,_0xe037c6);return{'registryPath':_0x3c32b8,'entry':_0x419853,'serviceCount':_0x1c8649[_0x4aff26(0x216)]['length']};}export function listLocalServices(_0x35ac44={}){const _0x327baa=a34_0x27109d;return readServiceRegistry(_0x35ac44)[_0x327baa(0x216)];}export function getLocalServiceEntry(_0x5b2be9,_0x2dd0ba={}){const _0x5345ea=a34_0x27109d;return readServiceRegistry(_0x2dd0ba)[_0x5345ea(0x216)][_0x5345ea(0x213)](_0x4d9011=>_0x4d9011[_0x5345ea(0x1d4)]===_0x5b2be9[_0x5345ea(0x1e0)]());}export function listLocalServiceTrees(_0xee1c33={}){const _0x120d1c=a34_0x27109d;return readServiceRegistry(_0xee1c33)['services'][_0x120d1c(0x1fe)](_0x20a19b=>_0x20a19b[_0x120d1c(0x1ce)]);}export function inspectServiceRegistry(_0x597034={}){const _0x8fbb5=a34_0x27109d,_0x4bae1b=getServiceRegistryPath(_0x597034);if(!existsSync(_0x4bae1b))return emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x1fd),![]);try{const _0x4b6cf4=readFileSync(_0x4bae1b,_0x8fbb5(0x1cf));if(!_0x4b6cf4[_0x8fbb5(0x1e0)]())return emptyServiceRegistryInspection(_0x4bae1b,'empty',!![]);const _0x3a9a9a=JSON[_0x8fbb5(0x1ea)](_0x4b6cf4);if(_0x3a9a9a['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'schemaVersion':_0x3a9a9a[_0x8fbb5(0x215)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x3a9a9a[_0x8fbb5(0x215)])};if(!Array[_0x8fbb5(0x20c)](_0x3a9a9a['services']))return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3a9a9a[_0x8fbb5(0x204)],'message':_0x8fbb5(0x1e7)};const _0x3ed2d7=_0x3a9a9a[_0x8fbb5(0x216)][_0x8fbb5(0x1fe)](summarizeLocalServiceEntry);return{'registryPath':_0x4bae1b,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3a9a9a[_0x8fbb5(0x204)],'serviceCount':_0x3ed2d7['length'],'commandCount':_0x3ed2d7['reduce']((_0x3fe5a1,_0x5b66cd)=>_0x3fe5a1+_0x5b66cd[_0x8fbb5(0x209)],0x0),'services':_0x3ed2d7};}catch(_0x157131){return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'message':_0x157131 instanceof Error?_0x157131[_0x8fbb5(0x20e)]:String(_0x157131)};}}function a34_0x3aaa(){const _0x1a46af=['code','145UAeukC','description','updatedAt','CliError','348714rydUAD','service.json','manifest','commandCount','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','stringify','isArray','manifests','message','target','invalid','string','Service\x20manifest\x20validation\x20failed:\x0a','find','splice','schemaVersion','services','report','commands','homeDir','length','1354990dtEeJd','startsWith','validation','join','normalizedManifest','utf8','now','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','source','Cannot\x20write\x20service\x20registry:\x20','serviceCode','Local\x20service\x20not\x20found:\x20','206158pSqVIm','service','].manifest','176PueWXc','localeCompare','$.services[','importedAt','name','homeDirName','findIndex','trim','warnings','risk','push','572316aGnNns','toISOString','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','services\x20must\x20be\x20an\x20array','sort','slice','parse','124128FLpTYL','path','errors','file','Invalid\x20service\x20manifest\x20JSON:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','flatMap','Remove\x20or\x20migrate\x20','Invalid\x20service\x20registry\x20JSON:\x20','ENOENT','digest','29644ohplMJ','version','sha256','cliPath','registryIndex','filePath','missing','map','377403WehwcY','Service\x20manifest\x20file\x20not\x20found:\x20'];a34_0x3aaa=function(){return _0x1a46af;};return a34_0x3aaa();}export function formatValidationFailure(_0x3f3e06){const _0x401c46=a34_0x27109d,_0x3beab4=_0x3f3e06[_0x401c46(0x1ed)][_0x401c46(0x1fe)](_0x54c897=>_0x54c897['path']+':\x20'+_0x54c897['message']);return _0x401c46(0x212)+_0x3beab4[_0x401c46(0x1cd)]('\x0a');}function extractLoadedServiceManifests(_0x68d59b,_0x5ce322){const _0x4b3c73=a34_0x27109d;if(!isServiceRegistryLike(_0x68d59b)){const _0x5053e3=_0x68d59b,_0x3124bf=validateServiceTreeManifest(_0x5053e3);return[{'manifest':_0x5053e3,'report':_0x3124bf,'normalizedManifest':_0x3124bf['ok']?normalizeServiceTreeManifest(_0x5053e3):undefined,'sourceHash':_0x5ce322}];}return _0x68d59b['services'][_0x4b3c73(0x1fe)]((_0x20e66b,_0x373fda)=>{const _0x3c0e5a=_0x4b3c73,_0x4fe45d=isObjectRecord(_0x20e66b)?_0x20e66b[_0x3c0e5a(0x208)]:undefined,_0x53e0cf=validateServiceTreeManifest(_0x4fe45d),_0x42094d=isObjectRecord(_0x20e66b)&&typeof _0x20e66b[_0x3c0e5a(0x1d4)]===_0x3c0e5a(0x211)?_0x20e66b[_0x3c0e5a(0x1d4)]:undefined;return{'manifest':_0x4fe45d,'report':_0x53e0cf,'normalizedManifest':_0x53e0cf['ok']?normalizeServiceTreeManifest(_0x4fe45d):undefined,'sourceHash':sha256(JSON['stringify'](_0x4fe45d,null,0x2)+'\x0a'),'registryIndex':_0x373fda,'registryServiceCode':_0x42094d};});}function aggregateValidationReports(_0xd6fc92){const _0xd5b795=a34_0x27109d,_0x4a9b97=_0xd6fc92[_0xd5b795(0x1f2)](_0x28bdca=>_0x28bdca[_0xd5b795(0x1fb)]===undefined?_0x28bdca['report'][_0xd5b795(0x1ed)]:_0x28bdca[_0xd5b795(0x1c6)][_0xd5b795(0x1ed)][_0xd5b795(0x1fe)](_0x1764f1=>({..._0x1764f1,'path':prefixRegistryIssuePath(_0x28bdca['registryIndex'],_0x1764f1[_0xd5b795(0x1ec)])}))),_0x46906a=_0xd6fc92[_0xd5b795(0x1f2)](_0x40ec64=>_0x40ec64[_0xd5b795(0x1fb)]===undefined?_0x40ec64['report'][_0xd5b795(0x1e1)]:_0x40ec64['report'][_0xd5b795(0x1e1)]['map'](_0x6a2bf8=>({..._0x6a2bf8,'path':prefixRegistryIssuePath(_0x40ec64['registryIndex'],_0x6a2bf8[_0xd5b795(0x1ec)])})));return{'ok':_0x4a9b97[_0xd5b795(0x1c9)]===0x0,'errors':_0x4a9b97,'warnings':_0x46906a};}function prefixRegistryIssuePath(_0x8e9245,_0x552495){const _0x2e9cee=a34_0x27109d;if(_0x552495==='$')return _0x2e9cee(0x1db)+_0x8e9245+_0x2e9cee(0x1d8);if(_0x552495['startsWith']('$.'))return _0x2e9cee(0x1db)+_0x8e9245+_0x2e9cee(0x1d8)+_0x552495[_0x2e9cee(0x1e9)](0x1);if(_0x552495[_0x2e9cee(0x1cb)]('$['))return'$.services['+_0x8e9245+_0x2e9cee(0x1d8)+_0x552495[_0x2e9cee(0x1e9)](0x1);return'$.services['+_0x8e9245+'].manifest.'+_0x552495;}function isServiceRegistryLike(_0x3e7fb1){const _0x421ccc=a34_0x27109d;return isObjectRecord(_0x3e7fb1)&&_0x3e7fb1[_0x421ccc(0x215)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x421ccc(0x20c)](_0x3e7fb1[_0x421ccc(0x216)]);}function isObjectRecord(_0x355097){const _0x335419=a34_0x27109d;return Boolean(_0x355097)&&typeof _0x355097==='object'&&!Array[_0x335419(0x20c)](_0x355097);}function emptyServiceRegistryInspection(_0x895b53,_0x2ac755,_0x5b8187){return{'registryPath':_0x895b53,'exists':_0x5b8187,'status':_0x2ac755,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x3e4baa){const _0x2eccb3=a34_0x27109d,_0x39605e=_0x3e4baa['normalizedManifest'],_0x8d0b49=_0x39605e[_0x2eccb3(0x1c7)][_0x2eccb3(0x1fe)](_0x73fb03=>({'path':_0x73fb03[_0x2eccb3(0x1fa)],'description':_0x73fb03[_0x2eccb3(0x203)],'risk':_0x73fb03[_0x2eccb3(0x1e2)],'targetKind':_0x73fb03[_0x2eccb3(0x20f)]['kind'],'targetCommand':_0x73fb03[_0x2eccb3(0x20f)]['command']}));return{'serviceCode':_0x3e4baa[_0x2eccb3(0x1d4)],'name':_0x39605e[_0x2eccb3(0x1d7)][_0x2eccb3(0x1dd)],'description':_0x39605e[_0x2eccb3(0x1d7)][_0x2eccb3(0x203)],'version':_0x3e4baa[_0x2eccb3(0x1f8)],'importedAt':_0x3e4baa[_0x2eccb3(0x1dc)],'source':_0x3e4baa[_0x2eccb3(0x1d2)],'commandCount':_0x8d0b49['length'],'commands':_0x8d0b49};}function sha256(_0xd93c6e){const _0x874835=a34_0x27109d;return createHash(_0x874835(0x1f9))['update'](_0xd93c6e)[_0x874835(0x1f6)]('hex');}
@@ -1 +1 @@
1
- const a35_0x292df1=a35_0x496d;(function(_0x252182,_0xf269d6){const _0x50dd5b=a35_0x496d,_0x1f6ee8=_0x252182();while(!![]){try{const _0x53ed04=parseInt(_0x50dd5b(0x1eb))/0x1*(-parseInt(_0x50dd5b(0x1fe))/0x2)+parseInt(_0x50dd5b(0x1f6))/0x3*(-parseInt(_0x50dd5b(0x1f4))/0x4)+-parseInt(_0x50dd5b(0x207))/0x5*(parseInt(_0x50dd5b(0x1e8))/0x6)+-parseInt(_0x50dd5b(0x1f7))/0x7*(parseInt(_0x50dd5b(0x1e9))/0x8)+parseInt(_0x50dd5b(0x1f1))/0x9*(parseInt(_0x50dd5b(0x204))/0xa)+-parseInt(_0x50dd5b(0x200))/0xb+parseInt(_0x50dd5b(0x1fb))/0xc;if(_0x53ed04===_0xf269d6)break;else _0x1f6ee8['push'](_0x1f6ee8['shift']());}catch(_0x2e5434){_0x1f6ee8['push'](_0x1f6ee8['shift']());}}}(a35_0x1659,0x9f4f1));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a35_0x496d(_0xdc2c9f,_0x311c94){_0xdc2c9f=_0xdc2c9f-0x1e4;const _0x1659fe=a35_0x1659();let _0x496d55=_0x1659fe[_0xdc2c9f];return _0x496d55;}import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x292df1(0x1ff),'command':'create','description':a35_0x292df1(0x1e6),'risk':a35_0x292df1(0x1ec),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x415bce){const _0x3a7e87=a35_0x292df1,_0x3bec90=buildSkillCreatePlan(_0x415bce[_0x3a7e87(0x1e5)](_0x3a7e87(0x1fd)),_0x415bce['str'](_0x3a7e87(0x1f2)),_0x415bce[_0x3a7e87(0x1e5)](_0x3a7e87(0x208)));return{'method':_0x3a7e87(0x1e4),'url':_0x3bec90[_0x3a7e87(0x206)],'body':{'skillName':_0x3bec90[_0x3a7e87(0x1ef)][_0x3a7e87(0x209)],'type':_0x3bec90[_0x3a7e87(0x1ef)][_0x3a7e87(0x1f2)],'selfContained':!![],'files':_0x3bec90[_0x3a7e87(0x1ef)][_0x3a7e87(0x1f3)][_0x3a7e87(0x1e7)](_0x2d685b=>_0x2d685b[_0x3a7e87(0x203)])},'description':_0x3a7e87(0x1f9)};},async 'execute'(_0x191e65){const _0x20c384=a35_0x292df1,_0x4fbe58=buildSkillCreatePlan(_0x191e65['str'](_0x20c384(0x1fd)),_0x191e65['str'](_0x20c384(0x1f2)),_0x191e65['str'](_0x20c384(0x208)));return writeSkillDraft(_0x4fbe58,_0x191e65[_0x20c384(0x1ea)](_0x20c384(0x201))),{'ok':!![],'data':{'skillName':_0x4fbe58[_0x20c384(0x1ef)][_0x20c384(0x209)],'type':_0x4fbe58[_0x20c384(0x1ef)]['type'],'dir':_0x4fbe58[_0x20c384(0x206)],'files':_0x4fbe58[_0x20c384(0x1ef)][_0x20c384(0x1f3)][_0x20c384(0x1e7)](_0x3ef460=>_0x3ef460[_0x20c384(0x203)])},'message':_0x20c384(0x1f5)+_0x4fbe58[_0x20c384(0x1ef)][_0x20c384(0x209)]};}};function buildSkillCreatePlan(_0x89ca33,_0x3c7a27,_0x3ecbe1){const _0x51f455=renderSkillTemplate({'skillName':_0x89ca33,'type':_0x3c7a27}),_0x5b7d34=resolve(normalizeSkillTarget(_0x3ecbe1));return{'rendered':_0x51f455,'targetRoot':_0x5b7d34,'skillDir':resolve(_0x5b7d34,_0x51f455['skillName'])};}function normalizeSkillTarget(_0x37634c){const _0x250fe7=a35_0x292df1;return(_0x37634c||DEFAULT_SKILL_TARGET)[_0x250fe7(0x1fc)]()||DEFAULT_SKILL_TARGET;}function a35_0x1659(){const _0x2cfffb=['2061186PYhqMj','2404272yJlCRy','bool','4496XoXdVZ','write','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','rendered','Refusing\x20to\x20overwrite\x20symlink:\x20','3915BgaDUx','type','files','4ldLVXr','Created\x20local\x20Skill\x20draft\x20','1483992HSShug','28CnlPKj','content','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','validation','36470832hkCifR','trim','name','52PlaEqO','skill','6983900WrjmBJ','force','isDirectory','path','9320EpFnCw','isSymbolicLink','skillDir','5dUQFuT','target','skillName','WRITE','str','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','map'];a35_0x1659=function(){return _0x2cfffb;};return a35_0x1659();}function writeSkillDraft(_0x28f86e,_0x26245f){const _0x5150e0=a35_0x292df1;if(existsSync(_0x28f86e[_0x5150e0(0x206)])){const _0xb36345=lstatSync(_0x28f86e['skillDir']);if(!_0xb36345[_0x5150e0(0x202)]()||_0xb36345[_0x5150e0(0x205)]())throw CliErrors['validation'](_0x5150e0(0x1ed)+_0x28f86e['skillDir']);if(!_0x26245f)throw CliErrors[_0x5150e0(0x1fa)]('Skill\x20directory\x20already\x20exists:\x20'+_0x28f86e[_0x5150e0(0x206)],_0x5150e0(0x1ee));}for(const _0x3d8db0 of _0x28f86e['rendered']['files']){const _0x4322d0=resolve(_0x28f86e[_0x5150e0(0x206)],_0x3d8db0['path']),_0x1c4e1f=dirname(_0x4322d0);mkdirSync(_0x1c4e1f,{'recursive':!![]});if(existsSync(_0x4322d0)&&lstatSync(_0x4322d0)[_0x5150e0(0x205)]())throw CliErrors[_0x5150e0(0x1fa)](_0x5150e0(0x1f0)+_0x4322d0);writeFileSync(_0x4322d0,_0x3d8db0[_0x5150e0(0x1f8)],'utf8');}}
1
+ const a35_0x5ef02d=a35_0x42b4;(function(_0x3e7bb0,_0x34aad0){const _0x11a909=a35_0x42b4,_0x22e444=_0x3e7bb0();while(!![]){try{const _0x4aee2b=parseInt(_0x11a909(0x8c))/0x1*(-parseInt(_0x11a909(0x9d))/0x2)+-parseInt(_0x11a909(0x87))/0x3+parseInt(_0x11a909(0xa5))/0x4*(-parseInt(_0x11a909(0x90))/0x5)+-parseInt(_0x11a909(0x8b))/0x6+parseInt(_0x11a909(0xa8))/0x7+parseInt(_0x11a909(0x9c))/0x8*(-parseInt(_0x11a909(0xa3))/0x9)+parseInt(_0x11a909(0x86))/0xa*(parseInt(_0x11a909(0x8d))/0xb);if(_0x4aee2b===_0x34aad0)break;else _0x22e444['push'](_0x22e444['shift']());}catch(_0xb8d370){_0x22e444['push'](_0x22e444['shift']());}}}(a35_0x2f07,0x6743c));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a35_0x42b4(_0x51c7b6,_0x276b8a){_0x51c7b6=_0x51c7b6-0x86;const _0x2f071b=a35_0x2f07();let _0x42b47f=_0x2f071b[_0x51c7b6];return _0x42b47f;}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x5ef02d(0xa6),'command':a35_0x5ef02d(0x92),'description':a35_0x5ef02d(0x96),'risk':a35_0x5ef02d(0x9e),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x40f65d){const _0x47da67=a35_0x5ef02d,_0x70506c=buildSkillCreatePlan(_0x40f65d[_0x47da67(0x9f)]('name'),_0x40f65d['str'](_0x47da67(0x99)),_0x40f65d['str'](_0x47da67(0x9b)));return{'method':_0x47da67(0x89),'url':_0x70506c['skillDir'],'body':{'skillName':_0x70506c['rendered']['skillName'],'type':_0x70506c[_0x47da67(0x97)][_0x47da67(0x99)],'selfContained':!![],'files':_0x70506c[_0x47da67(0x97)][_0x47da67(0x8f)][_0x47da67(0xa7)](_0x449059=>_0x449059[_0x47da67(0x98)])},'description':_0x47da67(0xa2)};},async 'execute'(_0x4227f8){const _0x102df9=a35_0x5ef02d,_0x3c70d2=buildSkillCreatePlan(_0x4227f8[_0x102df9(0x9f)](_0x102df9(0x88)),_0x4227f8['str']('type'),_0x4227f8['str'](_0x102df9(0x9b)));return writeSkillDraft(_0x3c70d2,_0x4227f8['bool'](_0x102df9(0xa9))),{'ok':!![],'data':{'skillName':_0x3c70d2[_0x102df9(0x97)]['skillName'],'type':_0x3c70d2[_0x102df9(0x97)]['type'],'dir':_0x3c70d2[_0x102df9(0xa4)],'files':_0x3c70d2[_0x102df9(0x97)][_0x102df9(0x8f)][_0x102df9(0xa7)](_0x1d624c=>_0x1d624c[_0x102df9(0x98)])},'message':_0x102df9(0x9a)+_0x3c70d2['rendered'][_0x102df9(0xa1)]};}};function buildSkillCreatePlan(_0x5dca86,_0xcc074b,_0x5a565e){const _0x4c3b65=a35_0x5ef02d,_0xf21c91=renderSkillTemplate({'skillName':_0x5dca86,'type':_0xcc074b}),_0x4ca91e=resolve(normalizeSkillTarget(_0x5a565e));return{'rendered':_0xf21c91,'targetRoot':_0x4ca91e,'skillDir':resolve(_0x4ca91e,_0xf21c91[_0x4c3b65(0xa1)])};}function a35_0x2f07(){const _0x1aa8d1=['Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','rendered','path','type','Created\x20local\x20Skill\x20draft\x20','target','367992BXHwAK','24zrLuoP','write','str','isDirectory','skillName','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','117BNeklB','skillDir','4AmUbiG','skill','map','3140753Sbpelf','force','690UKiJpM','1442550BxCsrh','name','WRITE','trim','342774BqzfSB','26596mMuEDa','337227YBpBsq','content','files','3429610bzkMgw','validation','create','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','isSymbolicLink'];a35_0x2f07=function(){return _0x1aa8d1;};return a35_0x2f07();}function normalizeSkillTarget(_0x1651a8){const _0x5d5e4e=a35_0x5ef02d;return(_0x1651a8||DEFAULT_SKILL_TARGET)[_0x5d5e4e(0x8a)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x16a73a,_0x3cf517){const _0x1bc7bc=a35_0x5ef02d;if(existsSync(_0x16a73a[_0x1bc7bc(0xa4)])){const _0x39f335=lstatSync(_0x16a73a['skillDir']);if(!_0x39f335[_0x1bc7bc(0xa0)]()||_0x39f335[_0x1bc7bc(0x95)]())throw CliErrors[_0x1bc7bc(0x91)](_0x1bc7bc(0x93)+_0x16a73a[_0x1bc7bc(0xa4)]);if(!_0x3cf517)throw CliErrors[_0x1bc7bc(0x91)]('Skill\x20directory\x20already\x20exists:\x20'+_0x16a73a[_0x1bc7bc(0xa4)],_0x1bc7bc(0x94));}for(const _0x3d01bb of _0x16a73a[_0x1bc7bc(0x97)]['files']){const _0x3e35f0=resolve(_0x16a73a[_0x1bc7bc(0xa4)],_0x3d01bb[_0x1bc7bc(0x98)]),_0x9c9909=dirname(_0x3e35f0);mkdirSync(_0x9c9909,{'recursive':!![]});if(existsSync(_0x3e35f0)&&lstatSync(_0x3e35f0)[_0x1bc7bc(0x95)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3e35f0);writeFileSync(_0x3e35f0,_0x3d01bb[_0x1bc7bc(0x8e)],'utf8');}}
@@ -1 +1 @@
1
- const a36_0xc41b53=a36_0x5a42;(function(_0x47b1bb,_0x5c8420){const _0x5f2029=a36_0x5a42,_0x57fb76=_0x47b1bb();while(!![]){try{const _0x200f26=-parseInt(_0x5f2029(0x166))/0x1+-parseInt(_0x5f2029(0x145))/0x2+parseInt(_0x5f2029(0x15b))/0x3+-parseInt(_0x5f2029(0x15e))/0x4+-parseInt(_0x5f2029(0x15f))/0x5*(-parseInt(_0x5f2029(0x15d))/0x6)+-parseInt(_0x5f2029(0x157))/0x7+parseInt(_0x5f2029(0x162))/0x8;if(_0x200f26===_0x5c8420)break;else _0x57fb76['push'](_0x57fb76['shift']());}catch(_0x1cfc8d){_0x57fb76['push'](_0x57fb76['shift']());}}}(a36_0x14b9,0x7c020));import{CliErrors}from'../../../errors.js';function a36_0x5a42(_0x660a2d,_0x241474){_0x660a2d=_0x660a2d-0x13c;const _0x14b9b5=a36_0x14b9();let _0x5a4286=_0x14b9b5[_0x660a2d];return _0x5a4286;}import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a36_0x14b9(){const _0x4f99a4=['\x20company\x20Skill(s).','../../../core/api-client.js','accessKey','updated','code','unchanged','appCode','2931579imGopD','reduce','str','personal','1336311JObWnd','envName','3930798yKZKPX','4021824RYYiLm','5cfjpfv','map','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','14044312sYTRRz','Installed\x20','removed','filter','69382HwuqfG','install','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','length','skillCode','action','company','write','all','production','1709076agtxBK','../../../skills/runtime-skill-sync.js','includes','push','authRequired','trim','flatMap','version','scope','skill','created'];a36_0x14b9=function(){return _0x4f99a4;};return a36_0x14b9();}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0xc41b53(0x14e),'command':a36_0xc41b53(0x13c),'description':a36_0xc41b53(0x161),'risk':a36_0xc41b53(0x142),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x39bd8e){return syncRuntimeSkills(_0x39bd8e);}};async function syncRuntimeSkills(_0x1e76cc){const _0x25a337=a36_0xc41b53,{downloadRuntimeSkillPackage:_0x17c935,listRuntimeSkills:_0x2a230e}=await import(_0x25a337(0x151)),{linkEffectiveRuntimeSkills:_0x323123,materializeRuntimeSkill:_0x374691,pruneStaleRuntimeSkillCache:_0xcecba8,pruneStaleRuntimeSkillLinks:_0x479ca2}=await import(_0x25a337(0x146)),_0x47c332=_0x1e76cc['str'](_0x25a337(0x154)),_0x146eb0=normalizeSyncScopes(_0x1e76cc[_0x25a337(0x159)](_0x25a337(0x14d))),_0x45b8d9=_0x1e76cc[_0x25a337(0x15c)]??_0x25a337(0x144),_0x16b80a=_0x1e76cc[_0x25a337(0x152)];if(!_0x16b80a)throw CliErrors[_0x25a337(0x149)](_0x25a337(0x13d));const _0x4f9f2c=await Promise[_0x25a337(0x143)](_0x146eb0[_0x25a337(0x160)](_0x248e91=>_0x2a230e({'appCode':_0x1e76cc[_0x25a337(0x156)],'scope':_0x248e91,'code':_0x47c332[_0x25a337(0x14a)]()||undefined}))),_0x5d7217=_0x146eb0[_0x25a337(0x147)]('personal')?_0x4f9f2c[_0x25a337(0x14b)]((_0x1a5859,_0x3b48a6)=>_0x146eb0[_0x3b48a6]===_0x25a337(0x15a)?_0x1a5859[_0x25a337(0x15a)]:[]):[],_0x458488=_0x146eb0[_0x25a337(0x147)](_0x25a337(0x141))?_0x4f9f2c[_0x25a337(0x14b)]((_0x2ae624,_0x4715f6)=>_0x146eb0[_0x4715f6]===_0x25a337(0x141)?_0x2ae624[_0x25a337(0x141)]:[]):[],_0x14c979=new Set([..._0x5d7217[_0x25a337(0x160)](_0x4b344a=>_0x4b344a[_0x25a337(0x13f)]?.[_0x25a337(0x14a)]())['filter'](_0x1c012c=>Boolean(_0x1c012c)),..._0x458488['map'](_0x85b47b=>_0x85b47b[_0x25a337(0x13f)]?.[_0x25a337(0x14a)]())[_0x25a337(0x165)](_0x2f8b2f=>Boolean(_0x2f8b2f))]),_0x1dcd5f=_0x47c332[_0x25a337(0x14a)]()?[_0x47c332[_0x25a337(0x14a)]()]:undefined,_0x653ed2=_0x146eb0[_0x25a337(0x13e)]===0x2&&_0x146eb0[_0x25a337(0x147)](_0x25a337(0x15a))&&_0x146eb0[_0x25a337(0x147)](_0x25a337(0x141)),_0x7e97f5=_0x653ed2?_0x479ca2(_0x1e76cc['appCode'],_0x14c979,{},_0x1dcd5f):[],_0x4bca8f=_0xcecba8({'env':_0x45b8d9,'accessKey':_0x16b80a,'appCode':_0x1e76cc[_0x25a337(0x156)],'activeSkillCodes':_0x14c979,'pruneSkillCodes':_0x1dcd5f,'scopes':_0x146eb0}),_0xc2030c=[];for(const _0x4fd4f9 of _0x5d7217){_0xc2030c[_0x25a337(0x148)](_0x374691(_0x4fd4f9,_0x25a337(0x15a),{'env':_0x45b8d9,'accessKey':_0x16b80a,'appCode':_0x1e76cc[_0x25a337(0x156)],'packageBytes':await downloadSkillPackage(_0x4fd4f9,_0x25a337(0x15a),_0x1e76cc[_0x25a337(0x156)],_0x17c935)}));}for(const _0x52399d of _0x458488){_0xc2030c[_0x25a337(0x148)](_0x374691(_0x52399d,'company',{'env':_0x45b8d9,'accessKey':_0x16b80a,'appCode':_0x1e76cc[_0x25a337(0x156)],'packageBytes':await downloadSkillPackage(_0x52399d,_0x25a337(0x141),_0x1e76cc[_0x25a337(0x156)],_0x17c935)}));}const _0x280e89=_0x323123(_0xc2030c,_0x1e76cc[_0x25a337(0x156)]),_0x436909=countLinkActions(_0x280e89);return{'ok':!![],'data':{'appCode':_0x1e76cc[_0x25a337(0x156)],'personal':_0x5d7217[_0x25a337(0x13e)],'company':_0x458488[_0x25a337(0x13e)],'materialized':_0xc2030c[_0x25a337(0x13e)],'links':{'total':_0x280e89[_0x25a337(0x13e)],'created':_0x436909[_0x25a337(0x14f)]??0x0,'updated':_0x436909[_0x25a337(0x153)]??0x0,'unchanged':_0x436909[_0x25a337(0x155)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x7e97f5[_0x25a337(0x165)](_0x182ef2=>_0x182ef2[_0x25a337(0x140)]==='removed')[_0x25a337(0x13e)],'cacheDirs':_0x4bca8f['filter'](_0x35ab74=>_0x35ab74[_0x25a337(0x140)]===_0x25a337(0x164))['length'],'skipped':[..._0x7e97f5,..._0x4bca8f][_0x25a337(0x165)](_0x4e2f61=>_0x4e2f61['action']==='skipped')[_0x25a337(0x13e)]},'skills':{'personal':_0x5d7217[_0x25a337(0x160)](summarizeRuntimeSkill),'company':_0x458488[_0x25a337(0x160)](summarizeRuntimeSkill)}},'message':_0x25a337(0x163)+_0x5d7217[_0x25a337(0x13e)]+'\x20personal\x20and\x20'+_0x458488[_0x25a337(0x13e)]+_0x25a337(0x150)};}async function downloadSkillPackage(_0x218c71,_0x192a66,_0x2645c5,_0x52756b){const _0x49ea75=a36_0xc41b53,_0x53be33=_0x218c71[_0x49ea75(0x14c)]?.[_0x49ea75(0x14a)]();return _0x53be33?_0x52756b(_0x192a66,_0x218c71[_0x49ea75(0x13f)],_0x2645c5,_0x53be33):_0x52756b(_0x192a66,_0x218c71[_0x49ea75(0x13f)],_0x2645c5);}function countLinkActions(_0x4dda99){const _0x31ea9b=a36_0xc41b53;return _0x4dda99[_0x31ea9b(0x158)]((_0x592bef,_0x45d841)=>{const _0x52640b=_0x31ea9b;return _0x592bef[_0x45d841[_0x52640b(0x140)]]=(_0x592bef[_0x45d841[_0x52640b(0x140)]]??0x0)+0x1,_0x592bef;},{});}
1
+ function a36_0x2e13(_0x3ae7c8,_0x10544f){_0x3ae7c8=_0x3ae7c8-0xf8;const _0x26bd2c=a36_0x26bd();let _0x2e1366=_0x26bd2c[_0x3ae7c8];return _0x2e1366;}function a36_0x26bd(){const _0x107cfc=['scope','../../../core/api-client.js','1266eXPnUZ','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','skipped','1115276xSdPOo','authRequired','610728xUgZAA','../../../skills/runtime-skill-sync.js','push','4000330rxsfef','6dEjJmz','version','code','1502THiqyD','removed','\x20personal\x20and\x20','accessKey','unchanged','str','trim','filter','action','874975oRrqIq','skillCode','production','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','appCode','\x20company\x20Skill(s).','5649PueFKx','write','1463850KwvhRN','personal','company','all','reduce','map','length','includes','created','Installed\x20','envName','updated'];a36_0x26bd=function(){return _0x107cfc;};return a36_0x26bd();}const a36_0x41bf2e=a36_0x2e13;(function(_0x5eccf5,_0x362d34){const _0x4e4edb=a36_0x2e13,_0x4e2fc4=_0x5eccf5();while(!![]){try{const _0xfec762=parseInt(_0x4e4edb(0xfa))/0x1+-parseInt(_0x4e4edb(0x11c))/0x2*(parseInt(_0x4e4edb(0x119))/0x3)+parseInt(_0x4e4edb(0x113))/0x4+-parseInt(_0x4e4edb(0x118))/0x5+parseInt(_0x4e4edb(0x110))/0x6*(parseInt(_0x4e4edb(0x100))/0x7)+-parseInt(_0x4e4edb(0x115))/0x8+parseInt(_0x4e4edb(0x102))/0x9;if(_0xfec762===_0x362d34)break;else _0x4e2fc4['push'](_0x4e2fc4['shift']());}catch(_0x5b6223){_0x4e2fc4['push'](_0x4e2fc4['shift']());}}}(a36_0x26bd,0x94a2c));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':'install','description':a36_0x41bf2e(0xfd),'risk':a36_0x41bf2e(0x101),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1aa541){return syncRuntimeSkills(_0x1aa541);}};async function syncRuntimeSkills(_0x58da42){const _0x551fff=a36_0x41bf2e,{downloadRuntimeSkillPackage:_0x5ddf0d,listRuntimeSkills:_0x2d89c4}=await import(_0x551fff(0x10f)),{linkEffectiveRuntimeSkills:_0x395823,materializeRuntimeSkill:_0x587733,pruneStaleRuntimeSkillCache:_0x4c911f,pruneStaleRuntimeSkillLinks:_0x39fe86}=await import(_0x551fff(0x116)),_0x539065=_0x58da42['str'](_0x551fff(0x11b)),_0xde5114=normalizeSyncScopes(_0x58da42[_0x551fff(0x121)](_0x551fff(0x10e))),_0xd76949=_0x58da42[_0x551fff(0x10c)]??_0x551fff(0xfc),_0x43b706=_0x58da42[_0x551fff(0x11f)];if(!_0x43b706)throw CliErrors[_0x551fff(0x114)](_0x551fff(0x111));const _0x3fea28=await Promise[_0x551fff(0x105)](_0xde5114[_0x551fff(0x107)](_0x5e20ec=>_0x2d89c4({'appCode':_0x58da42['appCode'],'scope':_0x5e20ec,'code':_0x539065[_0x551fff(0x122)]()||undefined}))),_0x56f888=_0xde5114[_0x551fff(0x109)](_0x551fff(0x103))?_0x3fea28['flatMap']((_0x3b04a9,_0x87078f)=>_0xde5114[_0x87078f]===_0x551fff(0x103)?_0x3b04a9[_0x551fff(0x103)]:[]):[],_0x4c2b55=_0xde5114[_0x551fff(0x109)](_0x551fff(0x104))?_0x3fea28['flatMap']((_0x1ed144,_0x548301)=>_0xde5114[_0x548301]===_0x551fff(0x104)?_0x1ed144[_0x551fff(0x104)]:[]):[],_0x3b36d3=new Set([..._0x56f888['map'](_0x19f95f=>_0x19f95f['skillCode']?.[_0x551fff(0x122)]())['filter'](_0x4dc882=>Boolean(_0x4dc882)),..._0x4c2b55['map'](_0x3e01fa=>_0x3e01fa[_0x551fff(0xfb)]?.[_0x551fff(0x122)]())[_0x551fff(0xf8)](_0x438853=>Boolean(_0x438853))]),_0x480ad1=_0x539065['trim']()?[_0x539065['trim']()]:undefined,_0x55eadb=_0xde5114[_0x551fff(0x108)]===0x2&&_0xde5114['includes']('personal')&&_0xde5114[_0x551fff(0x109)](_0x551fff(0x104)),_0x2c7436=_0x55eadb?_0x39fe86(_0x58da42[_0x551fff(0xfe)],_0x3b36d3,{},_0x480ad1):[],_0x4de1be=_0x4c911f({'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42[_0x551fff(0xfe)],'activeSkillCodes':_0x3b36d3,'pruneSkillCodes':_0x480ad1,'scopes':_0xde5114}),_0x1e8ba5=[];for(const _0x5a04df of _0x56f888){_0x1e8ba5[_0x551fff(0x117)](_0x587733(_0x5a04df,'personal',{'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42['appCode'],'packageBytes':await downloadSkillPackage(_0x5a04df,'personal',_0x58da42[_0x551fff(0xfe)],_0x5ddf0d)}));}for(const _0x2d0c7a of _0x4c2b55){_0x1e8ba5[_0x551fff(0x117)](_0x587733(_0x2d0c7a,_0x551fff(0x104),{'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42[_0x551fff(0xfe)],'packageBytes':await downloadSkillPackage(_0x2d0c7a,_0x551fff(0x104),_0x58da42[_0x551fff(0xfe)],_0x5ddf0d)}));}const _0x4c1f07=_0x395823(_0x1e8ba5,_0x58da42[_0x551fff(0xfe)]),_0x3edf49=countLinkActions(_0x4c1f07);return{'ok':!![],'data':{'appCode':_0x58da42[_0x551fff(0xfe)],'personal':_0x56f888['length'],'company':_0x4c2b55[_0x551fff(0x108)],'materialized':_0x1e8ba5['length'],'links':{'total':_0x4c1f07[_0x551fff(0x108)],'created':_0x3edf49[_0x551fff(0x10a)]??0x0,'updated':_0x3edf49[_0x551fff(0x10d)]??0x0,'unchanged':_0x3edf49[_0x551fff(0x120)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x2c7436['filter'](_0x179a19=>_0x179a19[_0x551fff(0xf9)]==='removed')[_0x551fff(0x108)],'cacheDirs':_0x4de1be[_0x551fff(0xf8)](_0x1c7f7a=>_0x1c7f7a[_0x551fff(0xf9)]===_0x551fff(0x11d))[_0x551fff(0x108)],'skipped':[..._0x2c7436,..._0x4de1be][_0x551fff(0xf8)](_0x53729e=>_0x53729e[_0x551fff(0xf9)]===_0x551fff(0x112))[_0x551fff(0x108)]},'skills':{'personal':_0x56f888[_0x551fff(0x107)](summarizeRuntimeSkill),'company':_0x4c2b55[_0x551fff(0x107)](summarizeRuntimeSkill)}},'message':_0x551fff(0x10b)+_0x56f888['length']+_0x551fff(0x11e)+_0x4c2b55[_0x551fff(0x108)]+_0x551fff(0xff)};}async function downloadSkillPackage(_0x158b3a,_0x38dc45,_0x629ed2,_0x569fed){const _0x1f5c47=a36_0x41bf2e,_0x320055=_0x158b3a[_0x1f5c47(0x11a)]?.['trim']();return _0x320055?_0x569fed(_0x38dc45,_0x158b3a[_0x1f5c47(0xfb)],_0x629ed2,_0x320055):_0x569fed(_0x38dc45,_0x158b3a[_0x1f5c47(0xfb)],_0x629ed2);}function countLinkActions(_0x17973e){const _0x1ba804=a36_0x41bf2e;return _0x17973e[_0x1ba804(0x106)]((_0x4daf5a,_0x3a69a6)=>{const _0x2822f1=_0x1ba804;return _0x4daf5a[_0x3a69a6[_0x2822f1(0xf9)]]=(_0x4daf5a[_0x3a69a6[_0x2822f1(0xf9)]]??0x0)+0x1,_0x4daf5a;},{});}