@lovrabet/lovrabet-cli 2.1.6 → 2.1.7-beta.1

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_0x277aad=a27_0xc191;(function(_0x3e7c8a,_0x408bbd){const _0x1fe0fb=a27_0xc191,_0x253af2=_0x3e7c8a();while(!![]){try{const _0x33d012=parseInt(_0x1fe0fb(0x165))/0x1+parseInt(_0x1fe0fb(0x171))/0x2+-parseInt(_0x1fe0fb(0x162))/0x3+-parseInt(_0x1fe0fb(0x17f))/0x4+parseInt(_0x1fe0fb(0x150))/0x5*(-parseInt(_0x1fe0fb(0x16b))/0x6)+-parseInt(_0x1fe0fb(0x14e))/0x7*(parseInt(_0x1fe0fb(0x166))/0x8)+-parseInt(_0x1fe0fb(0x163))/0x9*(-parseInt(_0x1fe0fb(0x14d))/0xa);if(_0x33d012===_0x408bbd)break;else _0x253af2['push'](_0x253af2['shift']());}catch(_0x517595){_0x253af2['push'](_0x253af2['shift']());}}}(a27_0x3d1f,0x7ff98));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0x3d1f(){const _0x3dbf87=['Personal\x20knowledge-base\x20entry\x20title','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','topk','316770WGtWOS','7djBoYC','createTime','440zNLHHo','update','title','create','metadata','weightedScore','File\x20path\x20is\x20required.','search','build','description','verbose','POST','length','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','appCode','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','body','str','1649241JGhJdd','441BmdRvX','userId','165323XHrFop','1254280NugFRK','read','isFinite','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','57462QPdfMF','map','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','ragStatus','File\x20is\x20not\x20a\x20regular\x20file:\x20','file','1105228NJsXpr','Search\x20query\x20is\x20required.','--topk\x20must\x20be\x20a\x20positive\x20number.','query','Personal\x20knowledge-base\x20entry\x20ID','detail','list','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','bool','Override\x20the\x20existing\x20entry\x20title','string','version','validation','flag','786472TbePPL','scope','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','content','/update','num','updateTime','trim'];a27_0x3d1f=function(){return _0x3dbf87;};return a27_0x3d1f();}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a27_0xc191(_0x3a79ba,_0x161da7){_0x3a79ba=_0x3a79ba-0x14a;const _0x3d1fe4=a27_0x3d1f();let _0xc191b6=_0x3d1fe4[_0x3a79ba];return _0xc191b6;}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x277aad(0x152),'type':a27_0x277aad(0x17b),'required':!![],'description':a27_0x277aad(0x14a)},FILE_FLAG={'name':a27_0x277aad(0x170),'type':'string','required':!![],'description':a27_0x277aad(0x16a)},QUERY_FLAG={'name':a27_0x277aad(0x174),'type':'string','required':!![],'description':a27_0x277aad(0x181)},TOPK_FLAG={'name':a27_0x277aad(0x14c),'type':'number','description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x311b7a){const _0x3a5bf1=a27_0x277aad;if(!_0x311b7a)throw CliErrors[_0x3a5bf1(0x17d)](_0x3a5bf1(0x156));if(!existsSync(_0x311b7a))throw CliErrors[_0x3a5bf1(0x17d)]('File\x20not\x20found:\x20'+_0x311b7a);if(!statSync(_0x311b7a)['isFile']())throw CliErrors[_0x3a5bf1(0x17d)](_0x3a5bf1(0x16f)+_0x311b7a);return readFileSync(_0x311b7a,'utf8');}function summarizePersonalItem(_0x27cc35){const _0x5e633d=a27_0x277aad;return{'id':_0x27cc35['id'],'title':_0x27cc35[_0x5e633d(0x152)],'version':_0x27cc35[_0x5e633d(0x17c)],'ragStatus':_0x27cc35[_0x5e633d(0x16e)],'ragErrorMessage':_0x27cc35['ragErrorMessage'],'updateTime':_0x27cc35[_0x5e633d(0x185)]};}function detailPersonalItem(_0x116ed4){const _0x3f5564=a27_0x277aad;return{'id':_0x116ed4['id'],'appCode':_0x116ed4[_0x3f5564(0x15e)],'scope':_0x116ed4[_0x3f5564(0x180)],'userId':_0x116ed4[_0x3f5564(0x164)],'title':_0x116ed4[_0x3f5564(0x152)],'content':_0x116ed4[_0x3f5564(0x182)]??'','version':_0x116ed4[_0x3f5564(0x17c)],'ragStatus':_0x116ed4[_0x3f5564(0x16e)],'ragErrorMessage':_0x116ed4['ragErrorMessage'],'createTime':_0x116ed4[_0x3f5564(0x14f)],'updateTime':_0x116ed4[_0x3f5564(0x185)]};}function summarizeSearchHit(_0x3a1dcb){const _0x485662=a27_0x277aad;return{'scope':_0x3a1dcb[_0x485662(0x180)],'docId':_0x3a1dcb['docId'],'score':_0x3a1dcb['score'],'weightedScore':_0x3a1dcb[_0x485662(0x155)],'content':_0x3a1dcb['content'],'metadata':_0x3a1dcb[_0x485662(0x154)]};}function readTopK(_0x1c4f2c){const _0x18fb34=a27_0x277aad,_0x4a35bf=_0x1c4f2c[_0x18fb34(0x17e)](_0x18fb34(0x14c));if(_0x4a35bf===undefined||_0x4a35bf===null||_0x4a35bf==='')return undefined;const _0x2d759a=_0x1c4f2c[_0x18fb34(0x184)](_0x18fb34(0x14c));if(!Number[_0x18fb34(0x168)](_0x2d759a)||_0x2d759a<0x1)throw CliErrors[_0x18fb34(0x17d)](_0x18fb34(0x173));return _0x2d759a;}const kbList={'service':'kb','command':a27_0x277aad(0x177),'description':a27_0x277aad(0x14b),'risk':a27_0x277aad(0x167),'flags':[VERBOSE_FLAG],async 'execute'(_0x590fa3){const _0x2a1049=a27_0x277aad,_0x3c3088=await listPersonalKnowledgeBaseItems(_0x590fa3[_0x2a1049(0x15e)]);if(_0x590fa3[_0x2a1049(0x179)](_0x2a1049(0x15a)))return{'ok':!![],'data':{'total':_0x3c3088[_0x2a1049(0x15c)],'items':_0x3c3088}};return{'ok':!![],'data':{'total':_0x3c3088[_0x2a1049(0x15c)],'items':_0x3c3088['map'](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x277aad(0x176),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0x277aad(0x167),'flags':[{...ID_FLAG,'description':a27_0x277aad(0x175)}],async 'execute'(_0x446c6c){const _0xe01a8e=a27_0x277aad,_0x20829d=await getPersonalKnowledgeBaseItem(_0x446c6c[_0xe01a8e(0x184)]('id'),_0x446c6c[_0xe01a8e(0x15e)]);return{'ok':!![],'data':detailPersonalItem(_0x20829d)};}},kbCreate={'service':'kb','command':a27_0x277aad(0x153),'description':a27_0x277aad(0x15f),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x39afa8){const _0x529a0c=a27_0x277aad,_0x40b1f1=_0x39afa8[_0x529a0c(0x161)](_0x529a0c(0x152)),_0x30b60f=readKnowledgeFile(_0x39afa8[_0x529a0c(0x161)](_0x529a0c(0x170))),_0xf1548=await createPersonalKnowledgeBaseItem(_0x39afa8[_0x529a0c(0x15e)],{'title':_0x40b1f1,'content':_0x30b60f});return{'ok':!![],'data':summarizePersonalItem(_0xf1548),'message':'Created\x20KB\x20entry\x20'+_0xf1548['id']+'\x20('+_0xf1548['title']+')'};},async 'dryRun'(_0x1a8fef){const _0x1e764e=a27_0x277aad,_0x327a04=_0x1a8fef[_0x1e764e(0x161)](_0x1e764e(0x152)),_0x26a23e=readKnowledgeFile(_0x1a8fef[_0x1e764e(0x161)](_0x1e764e(0x170)));return dryRun('POST','/client/knowledge-base/personal/create')[_0x1e764e(0x160)]({'appCode':_0x1a8fef[_0x1e764e(0x15e)],'title':_0x327a04,'content':_0x26a23e})[_0x1e764e(0x159)](_0x1e764e(0x15d)+_0x327a04+'\x22')[_0x1e764e(0x158)]();}},kbUpdate={'service':'kb','command':a27_0x277aad(0x151),'description':a27_0x277aad(0x16d),'risk':'write','flags':[{...ID_FLAG,'description':a27_0x277aad(0x175)},{...TITLE_FLAG,'required':![],'description':a27_0x277aad(0x17a)},FILE_FLAG],async 'execute'(_0x444623){const _0x2c2fd1=a27_0x277aad,_0x532cfe=_0x444623[_0x2c2fd1(0x184)]('id'),_0x215b16=readKnowledgeFile(_0x444623['str'](_0x2c2fd1(0x170))),_0x1a5b00=_0x444623[_0x2c2fd1(0x161)](_0x2c2fd1(0x152))||(await getPersonalKnowledgeBaseItem(_0x532cfe,_0x444623[_0x2c2fd1(0x15e)]))['title'],_0x3f8a8c=await updatePersonalKnowledgeBaseItem(_0x532cfe,_0x444623[_0x2c2fd1(0x15e)],{'title':_0x1a5b00,'content':_0x215b16});return{'ok':!![],'data':summarizePersonalItem(_0x3f8a8c),'message':'Updated\x20KB\x20entry\x20'+_0x3f8a8c['id']+'\x20('+_0x3f8a8c['title']+')'};},async 'dryRun'(_0x19184e){const _0x25cee0=a27_0x277aad,_0x3cb7a9=_0x19184e[_0x25cee0(0x184)]('id'),_0x51948b=readKnowledgeFile(_0x19184e[_0x25cee0(0x161)](_0x25cee0(0x170))),_0x3852d4=_0x19184e[_0x25cee0(0x161)](_0x25cee0(0x152))||(await getPersonalKnowledgeBaseItem(_0x3cb7a9,_0x19184e[_0x25cee0(0x15e)]))[_0x25cee0(0x152)];return dryRun(_0x25cee0(0x15b),'/client/knowledge-base/personal/'+_0x3cb7a9+_0x25cee0(0x183))[_0x25cee0(0x160)]({'appCode':_0x19184e[_0x25cee0(0x15e)],'title':_0x3852d4,'content':_0x51948b})[_0x25cee0(0x159)](_0x25cee0(0x169)+_0x3cb7a9)[_0x25cee0(0x158)]();}},kbSearch={'service':'kb','command':a27_0x277aad(0x157),'description':a27_0x277aad(0x178),'risk':a27_0x277aad(0x167),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x450e89){const _0x51ef3d=a27_0x277aad;if(!_0x450e89[_0x51ef3d(0x161)](_0x51ef3d(0x174))[_0x51ef3d(0x186)]())throw CliErrors[_0x51ef3d(0x17d)](_0x51ef3d(0x172));readTopK(_0x450e89);},async 'execute'(_0x3a4b42){const _0x1e176f=a27_0x277aad,_0x3fdd2d=_0x3a4b42['str']('query')['trim'](),_0x23c628=readTopK(_0x3a4b42),_0x3c8dff=await searchKnowledgeBase(_0x3a4b42[_0x1e176f(0x15e)],{'query':_0x3fdd2d,'topK':_0x23c628});return{'ok':!![],'data':{'total':_0x3c8dff[_0x1e176f(0x15c)],'hits':_0x3c8dff[_0x1e176f(0x16c)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a27_0x543386=a27_0x225f;function a27_0x45ed(){const _0x32544e=['detail','File\x20is\x20not\x20a\x20regular\x20file:\x20','File\x20path\x20is\x20required.','Search\x20query\x20is\x20required.','23109021rACUqj','Personal\x20knowledge-base\x20entry\x20title','appCode','read','3771nDXnTQ','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','body','1679052bydClq','flag','/update','POST','weightedScore','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','updateTime','385435FJxLmN','validation','write','map','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','isFinite','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','string','score','length','Personal\x20knowledge-base\x20entry\x20ID','ragErrorMessage','ragStatus','5512654csVYPq','verbose','524UkfydD','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','utf8','6HkCnaU','docId','1440559dxWFuX','Override\x20the\x20existing\x20entry\x20title','file','createTime','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','num','topk','scope','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','--topk\x20must\x20be\x20a\x20positive\x20number.','File\x20not\x20found:\x20','query','trim','title','474992SaoihD','version','/client/knowledge-base/personal/create','str','content','create','number','list','build','bool'];a27_0x45ed=function(){return _0x32544e;};return a27_0x45ed();}(function(_0x213f4f,_0x171a1a){const _0x487f37=a27_0x225f,_0x4a32e5=_0x213f4f();while(!![]){try{const _0x429756=-parseInt(_0x487f37(0xf4))/0x1+-parseInt(_0x487f37(0x118))/0x2+-parseInt(_0x487f37(0x115))/0x3*(parseInt(_0x487f37(0xef))/0x4)+-parseInt(_0x487f37(0x11f))/0x5+parseInt(_0x487f37(0xf2))/0x6*(parseInt(_0x487f37(0xed))/0x7)+-parseInt(_0x487f37(0x103))/0x8+parseInt(_0x487f37(0x111))/0x9;if(_0x429756===_0x171a1a)break;else _0x4a32e5['push'](_0x4a32e5['shift']());}catch(_0x4b6946){_0x4a32e5['push'](_0x4a32e5['shift']());}}}(a27_0x45ed,0xbcf5a));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_0x543386(0x102),'type':a27_0x543386(0x126),'required':!![],'description':a27_0x543386(0x112)},FILE_FLAG={'name':a27_0x543386(0xf6),'type':a27_0x543386(0x126),'required':!![],'description':a27_0x543386(0x125)},QUERY_FLAG={'name':a27_0x543386(0x100),'type':'string','required':!![],'description':a27_0x543386(0x116)},TOPK_FLAG={'name':a27_0x543386(0xfb),'type':a27_0x543386(0x109),'description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x24b653){const _0x502326=a27_0x543386;if(!_0x24b653)throw CliErrors[_0x502326(0x120)](_0x502326(0x10f));if(!existsSync(_0x24b653))throw CliErrors[_0x502326(0x120)](_0x502326(0xff)+_0x24b653);if(!statSync(_0x24b653)['isFile']())throw CliErrors['validation'](_0x502326(0x10e)+_0x24b653);return readFileSync(_0x24b653,_0x502326(0xf1));}function summarizePersonalItem(_0x180097){const _0x5f0b23=a27_0x543386;return{'id':_0x180097['id'],'title':_0x180097[_0x5f0b23(0x102)],'version':_0x180097[_0x5f0b23(0x104)],'ragStatus':_0x180097[_0x5f0b23(0x12b)],'ragErrorMessage':_0x180097['ragErrorMessage'],'updateTime':_0x180097[_0x5f0b23(0x11e)]};}function detailPersonalItem(_0x35a5aa){const _0x41cf31=a27_0x543386;return{'id':_0x35a5aa['id'],'appCode':_0x35a5aa['appCode'],'scope':_0x35a5aa[_0x41cf31(0xfc)],'userId':_0x35a5aa['userId'],'title':_0x35a5aa['title'],'content':_0x35a5aa[_0x41cf31(0x107)]??'','version':_0x35a5aa[_0x41cf31(0x104)],'ragStatus':_0x35a5aa[_0x41cf31(0x12b)],'ragErrorMessage':_0x35a5aa[_0x41cf31(0x12a)],'createTime':_0x35a5aa[_0x41cf31(0xf7)],'updateTime':_0x35a5aa[_0x41cf31(0x11e)]};}function summarizeSearchHit(_0xa4f4f9){const _0x39b96c=a27_0x543386;return{'scope':_0xa4f4f9[_0x39b96c(0xfc)],'docId':_0xa4f4f9[_0x39b96c(0xf3)],'score':_0xa4f4f9[_0x39b96c(0x127)],'weightedScore':_0xa4f4f9[_0x39b96c(0x11c)],'content':_0xa4f4f9[_0x39b96c(0x107)],'metadata':_0xa4f4f9['metadata']};}function readTopK(_0x46d524){const _0x26d69a=a27_0x543386,_0x4fd9d9=_0x46d524[_0x26d69a(0x119)](_0x26d69a(0xfb));if(_0x4fd9d9===undefined||_0x4fd9d9===null||_0x4fd9d9==='')return undefined;const _0x44add0=_0x46d524['num'](_0x26d69a(0xfb));if(!Number[_0x26d69a(0x124)](_0x44add0)||_0x44add0<0x1)throw CliErrors[_0x26d69a(0x120)](_0x26d69a(0xfe));return _0x44add0;}const kbList={'service':'kb','command':a27_0x543386(0x10a),'description':a27_0x543386(0x11d),'risk':a27_0x543386(0x114),'flags':[VERBOSE_FLAG],async 'execute'(_0x2faa18){const _0x292bcd=a27_0x543386,_0x1a3da2=await listPersonalKnowledgeBaseItems(_0x2faa18['appCode']);if(_0x2faa18[_0x292bcd(0x10c)](_0x292bcd(0xee)))return{'ok':!![],'data':{'total':_0x1a3da2[_0x292bcd(0x128)],'items':_0x1a3da2}};return{'ok':!![],'data':{'total':_0x1a3da2[_0x292bcd(0x128)],'items':_0x1a3da2[_0x292bcd(0x122)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x543386(0x10d),'description':a27_0x543386(0xf8),'risk':'read','flags':[{...ID_FLAG,'description':a27_0x543386(0x129)}],async 'execute'(_0x5172f6){const _0xe49c44=await getPersonalKnowledgeBaseItem(_0x5172f6['num']('id'),_0x5172f6['appCode']);return{'ok':!![],'data':detailPersonalItem(_0xe49c44)};}},kbCreate={'service':'kb','command':a27_0x543386(0x108),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x94e46c){const _0x2427c2=a27_0x543386,_0x3f7439=_0x94e46c['str'](_0x2427c2(0x102)),_0x2ab883=readKnowledgeFile(_0x94e46c[_0x2427c2(0x106)](_0x2427c2(0xf6))),_0x45716c=await createPersonalKnowledgeBaseItem(_0x94e46c['appCode'],{'title':_0x3f7439,'content':_0x2ab883});return{'ok':!![],'data':summarizePersonalItem(_0x45716c),'message':'Created\x20KB\x20entry\x20'+_0x45716c['id']+'\x20('+_0x45716c[_0x2427c2(0x102)]+')'};},async 'dryRun'(_0x15bce9){const _0x115b87=a27_0x543386,_0x5b1113=_0x15bce9[_0x115b87(0x106)](_0x115b87(0x102)),_0x5e7375=readKnowledgeFile(_0x15bce9['str']('file'));return dryRun(_0x115b87(0x11b),_0x115b87(0x105))[_0x115b87(0x117)]({'appCode':_0x15bce9['appCode'],'title':_0x5b1113,'content':_0x5e7375})['description'](_0x115b87(0xfd)+_0x5b1113+'\x22')[_0x115b87(0x10b)]();}},kbUpdate={'service':'kb','command':'update','description':a27_0x543386(0x123),'risk':a27_0x543386(0x121),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'},{...TITLE_FLAG,'required':![],'description':a27_0x543386(0xf5)},FILE_FLAG],async 'execute'(_0x1dfcda){const _0x54b6b1=a27_0x543386,_0x19f12c=_0x1dfcda[_0x54b6b1(0xfa)]('id'),_0x2e6cbb=readKnowledgeFile(_0x1dfcda[_0x54b6b1(0x106)]('file')),_0x2bfe06=_0x1dfcda[_0x54b6b1(0x106)](_0x54b6b1(0x102))||(await getPersonalKnowledgeBaseItem(_0x19f12c,_0x1dfcda[_0x54b6b1(0x113)]))['title'],_0xe94b1c=await updatePersonalKnowledgeBaseItem(_0x19f12c,_0x1dfcda[_0x54b6b1(0x113)],{'title':_0x2bfe06,'content':_0x2e6cbb});return{'ok':!![],'data':summarizePersonalItem(_0xe94b1c),'message':'Updated\x20KB\x20entry\x20'+_0xe94b1c['id']+'\x20('+_0xe94b1c[_0x54b6b1(0x102)]+')'};},async 'dryRun'(_0x2453b7){const _0x215be9=a27_0x543386,_0x4bedf9=_0x2453b7[_0x215be9(0xfa)]('id'),_0x3cff14=readKnowledgeFile(_0x2453b7[_0x215be9(0x106)](_0x215be9(0xf6))),_0x118116=_0x2453b7['str'](_0x215be9(0x102))||(await getPersonalKnowledgeBaseItem(_0x4bedf9,_0x2453b7[_0x215be9(0x113)]))[_0x215be9(0x102)];return dryRun('POST','/client/knowledge-base/personal/'+_0x4bedf9+_0x215be9(0x11a))[_0x215be9(0x117)]({'appCode':_0x2453b7['appCode'],'title':_0x118116,'content':_0x3cff14})['description'](_0x215be9(0xf0)+_0x4bedf9)[_0x215be9(0x10b)]();}},kbSearch={'service':'kb','command':'search','description':a27_0x543386(0xf9),'risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3ed042){const _0x470ebf=a27_0x543386;if(!_0x3ed042[_0x470ebf(0x106)](_0x470ebf(0x100))['trim']())throw CliErrors[_0x470ebf(0x120)](_0x470ebf(0x110));readTopK(_0x3ed042);},async 'execute'(_0x306025){const _0xca88=a27_0x543386,_0x1dc887=_0x306025[_0xca88(0x106)]('query')[_0xca88(0x101)](),_0x310a2d=readTopK(_0x306025),_0x2b2554=await searchKnowledgeBase(_0x306025[_0xca88(0x113)],{'query':_0x1dc887,'topK':_0x310a2d});return{'ok':!![],'data':{'total':_0x2b2554['length'],'hits':_0x2b2554[_0xca88(0x122)](summarizeSearchHit)}};}};function a27_0x225f(_0x4819bc,_0x45904c){_0x4819bc=_0x4819bc-0xed;const _0x45ed8c=a27_0x45ed();let _0x225fc0=_0x45ed8c[_0x4819bc];return _0x225fc0;}export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- function a28_0x4e40(){const _0x4c31c7=['error','*\x20Logs\x20cleared','warn','1336360ZGvImp','Clear\x20command\x20history\x20logs','timestamp','9EKsDRX','5mJIaZi','*\x20No\x20logs\x20found','3746672eXcxOf','7347769BZSSsI','level','clearLogs','View\x20command\x20history\x20logs','\x20logs:\x0a','logs','\x20\x20\x20Details:\x20','log','324720tHNsHn','details','readLogs','\x20\x20\x20Time:\x20','show','2LcCLez','4928530fzIkgB','duration','7585144GOtfuP','\x20\x20\x20Duration:\x20','6RvungU','toLocaleString','message','60jWUXkw','187509SuyXMx','clear','stringify','forEach','success','en-US'];a28_0x4e40=function(){return _0x4c31c7;};return a28_0x4e40();}const a28_0x3d09be=a28_0x26aa;function a28_0x26aa(_0x1f89e0,_0x560dc1){_0x1f89e0=_0x1f89e0-0x108;const _0x4e4076=a28_0x4e40();let _0x26aa02=_0x4e4076[_0x1f89e0];return _0x26aa02;}(function(_0x5533f6,_0x52793c){const _0xbbaae2=a28_0x26aa,_0x103445=_0x5533f6();while(!![]){try{const _0x18182d=parseInt(_0xbbaae2(0x12a))/0x1*(-parseInt(_0xbbaae2(0x121))/0x2)+parseInt(_0xbbaae2(0x11c))/0x3+parseInt(_0xbbaae2(0x113))/0x4*(-parseInt(_0xbbaae2(0x111))/0x5)+-parseInt(_0xbbaae2(0x126))/0x6*(parseInt(_0xbbaae2(0x124))/0x7)+-parseInt(_0xbbaae2(0x10d))/0x8*(parseInt(_0xbbaae2(0x110))/0x9)+-parseInt(_0xbbaae2(0x122))/0xa+parseInt(_0xbbaae2(0x114))/0xb*(parseInt(_0xbbaae2(0x129))/0xc);if(_0x18182d===_0x52793c)break;else _0x103445['push'](_0x103445['shift']());}catch(_0x47321f){_0x103445['push'](_0x103445['shift']());}}}(a28_0x4e40,0x8db74));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x473162){const _0xb189a7=a28_0x26aa;if(_0x473162['length']===0x0){console['log'](_0xb189a7(0x112));return;}console[_0xb189a7(0x11b)]('*\x20'+CLI_DISPLAY_NAME+_0xb189a7(0x118)),_0x473162[_0xb189a7(0x12d)]((_0x4be3c9,_0x114bc8)=>{const _0x232ebc=_0xb189a7,_0x11c108=new Date(_0x4be3c9[_0x232ebc(0x10f)])[_0x232ebc(0x127)](_0x232ebc(0x109)),_0x4b87fa=_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x108)?'√':_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x10a)?'×':_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x10c)?'!':'i';console[_0x232ebc(0x11b)](_0x114bc8+0x1+'.\x20'+_0x4b87fa+'\x20['+_0x4be3c9['command']+']\x20'+_0x4be3c9[_0x232ebc(0x128)]),console[_0x232ebc(0x11b)](_0x232ebc(0x11f)+_0x11c108),_0x4be3c9[_0x232ebc(0x123)]&&console['log'](_0x232ebc(0x125)+_0x4be3c9['duration']+'ms'),_0x4be3c9[_0x232ebc(0x11d)]&&Object['keys'](_0x4be3c9['details'])['length']>0x0&&console[_0x232ebc(0x11b)](_0x232ebc(0x11a)+JSON[_0x232ebc(0x12c)](_0x4be3c9[_0x232ebc(0x11d)],null,0x2)),console[_0x232ebc(0x11b)]('');});}export const logsDefinitions=[{'service':a28_0x3d09be(0x119),'command':a28_0x3d09be(0x120),'description':a28_0x3d09be(0x117),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x47406a){const _0x1950de=a28_0x3d09be;return printLogs(logger[_0x1950de(0x11e)]()),{'ok':!![]};}},{'service':a28_0x3d09be(0x119),'command':a28_0x3d09be(0x12b),'description':a28_0x3d09be(0x10e),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3f6587){const _0x2c3f66=a28_0x3d09be;return logger[_0x2c3f66(0x116)](),console[_0x2c3f66(0x11b)](_0x2c3f66(0x10b)),{'ok':!![]};}}];
1
+ const a28_0x4f99aa=a28_0x7863;(function(_0x3fb5a8,_0x1ac22a){const _0x17ed96=a28_0x7863,_0x246f5e=_0x3fb5a8();while(!![]){try{const _0x23d210=parseInt(_0x17ed96(0x1b4))/0x1*(-parseInt(_0x17ed96(0x1a9))/0x2)+parseInt(_0x17ed96(0x1aa))/0x3+parseInt(_0x17ed96(0x19f))/0x4*(-parseInt(_0x17ed96(0x1bb))/0x5)+parseInt(_0x17ed96(0x1b8))/0x6*(-parseInt(_0x17ed96(0x1a1))/0x7)+parseInt(_0x17ed96(0x1bc))/0x8*(-parseInt(_0x17ed96(0x1a4))/0x9)+parseInt(_0x17ed96(0x1be))/0xa+-parseInt(_0x17ed96(0x1a3))/0xb*(-parseInt(_0x17ed96(0x1c1))/0xc);if(_0x23d210===_0x1ac22a)break;else _0x246f5e['push'](_0x246f5e['shift']());}catch(_0x21ccc2){_0x246f5e['push'](_0x246f5e['shift']());}}}(a28_0x55b4,0xb666f));function a28_0x55b4(){const _0x2fe7b5=['read','4487485RTvebB','56336bymqyL','stringify','1086930nMixQW','error','show','149088fyrRoO','log','success','4QzsBGA','keys','1176707yRYPye','message','1342bmBBKm','549scrlaV','\x20\x20\x20Time:\x20','level','*\x20Logs\x20cleared','forEach','16FgRYCQ','3402021YIFQPL','\x20logs:\x0a','toLocaleString','Clear\x20command\x20history\x20logs','clear','length','en-US','logs','write','duration','43506mICZxk','timestamp','*\x20No\x20logs\x20found','details','12zvLZzX','command'];a28_0x55b4=function(){return _0x2fe7b5;};return a28_0x55b4();}import{logger}from'../../utils/logger.js';function a28_0x7863(_0x56063c,_0x5672e5){_0x56063c=_0x56063c-0x19d;const _0x55b424=a28_0x55b4();let _0x7863e0=_0x55b424[_0x56063c];return _0x7863e0;}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x206500){const _0x37dc82=a28_0x7863;if(_0x206500[_0x37dc82(0x1af)]===0x0){console[_0x37dc82(0x19d)](_0x37dc82(0x1b6));return;}console[_0x37dc82(0x19d)]('*\x20'+CLI_DISPLAY_NAME+_0x37dc82(0x1ab)),_0x206500[_0x37dc82(0x1a8)]((_0x319693,_0x5e69f4)=>{const _0x108298=_0x37dc82,_0x48b237=new Date(_0x319693[_0x108298(0x1b5)])[_0x108298(0x1ac)](_0x108298(0x1b0)),_0x2b7b47=_0x319693[_0x108298(0x1a6)]===_0x108298(0x19e)?'√':_0x319693['level']===_0x108298(0x1bf)?'×':_0x319693[_0x108298(0x1a6)]==='warn'?'!':'i';console['log'](_0x5e69f4+0x1+'.\x20'+_0x2b7b47+'\x20['+_0x319693[_0x108298(0x1b9)]+']\x20'+_0x319693[_0x108298(0x1a2)]),console[_0x108298(0x19d)](_0x108298(0x1a5)+_0x48b237),_0x319693[_0x108298(0x1b3)]&&console[_0x108298(0x19d)]('\x20\x20\x20Duration:\x20'+_0x319693[_0x108298(0x1b3)]+'ms'),_0x319693[_0x108298(0x1b7)]&&Object[_0x108298(0x1a0)](_0x319693[_0x108298(0x1b7)])[_0x108298(0x1af)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON[_0x108298(0x1bd)](_0x319693['details'],null,0x2)),console[_0x108298(0x19d)]('');});}export const logsDefinitions=[{'service':a28_0x4f99aa(0x1b1),'command':a28_0x4f99aa(0x1c0),'description':'View\x20command\x20history\x20logs','risk':a28_0x4f99aa(0x1ba),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x11e44){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a28_0x4f99aa(0x1b1),'command':a28_0x4f99aa(0x1ae),'description':a28_0x4f99aa(0x1ad),'risk':a28_0x4f99aa(0x1b2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3c815b){const _0x5bc6c0=a28_0x4f99aa;return logger['clearLogs'](),console[_0x5bc6c0(0x19d)](_0x5bc6c0(0x1a7)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0xf3b114=a29_0x1952;(function(_0x549d43,_0x5a5168){const _0x102de9=a29_0x1952,_0x259e99=_0x549d43();while(!![]){try{const _0xe92e79=parseInt(_0x102de9(0x145))/0x1*(parseInt(_0x102de9(0x13d))/0x2)+-parseInt(_0x102de9(0x144))/0x3+-parseInt(_0x102de9(0x16c))/0x4*(-parseInt(_0x102de9(0x16d))/0x5)+-parseInt(_0x102de9(0x176))/0x6+-parseInt(_0x102de9(0x154))/0x7*(-parseInt(_0x102de9(0x177))/0x8)+parseInt(_0x102de9(0x16b))/0x9+parseInt(_0x102de9(0x143))/0xa;if(_0xe92e79===_0x5a5168)break;else _0x259e99['push'](_0x259e99['shift']());}catch(_0x3d0a29){_0x259e99['push'](_0x259e99['shift']());}}}(a29_0x55ce,0x3d06e));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x1952(_0x517cf,_0x3d8ceb){_0x517cf=_0x517cf-0x139;const _0x55ceee=a29_0x55ce();let _0x195216=_0x55ceee[_0x517cf];return _0x195216;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a29_0x55ce(){const _0x442f14=['Created\x20personal\x20BFF\x20','flag','scriptContent','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','--params\x20must\x20be\x20a\x20JSON\x20object.','appCode','/client/runtime-bff/personal/create','File\x20path\x20is\x20required.','name','File\x20not\x20found:\x20','config','detail','utf8','read','375012ypJkwl','4340bKTIKJ','1745YsyVmH','gmtCreate','source-session-id','version','create','updateTime','createUserId','high-risk-write','Preview:\x20update\x20personal\x20BFF\x20','1450584uXNmjv','562064ZMIsyS','POST','list','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','6vMHwvT','scriptType','gmtModified','body','personal-bff','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1473800cQGwjF','1318098YyzGrH','74289iLUDLs','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','Personal\x20BFF\x20description','num','string','verbose','test','isFile','Updated\x20personal\x20BFF\x20','file','trim','validation','str','Executed\x20personal\x20BFF\x20','14idjqcF','isArray','File\x20is\x20not\x20a\x20regular\x20file:\x20','Personal\x20BFF\x20script\x20ID','description','Personal\x20BFF\x20script\x20file\x20is\x20blank.','functionName','length','/client/runtime-bff/personal/'];a29_0x55ce=function(){return _0x442f14;};return a29_0x55ce();}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_0xf3b114(0x14f),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x160)},FUNCTION_NAME_FLAG={'name':a29_0xf3b114(0x165),'type':a29_0xf3b114(0x14a),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0xf3b114(0x158),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x148)},SOURCE_SESSION_FLAG={'name':a29_0xf3b114(0x16f),'type':'string','description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x3221de){const _0x3fee70=a29_0xf3b114,_0x500f17=String(_0x3221de||'')['trim']();if(!_0x500f17||!FUNCTION_NAME_PATTERN[_0x3fee70(0x14c)](_0x500f17))throw CliErrors[_0x3fee70(0x151)](_0x3fee70(0x146));return _0x500f17;}function readScriptFile(_0x56b004){const _0x240c0e=a29_0xf3b114;if(!_0x56b004)throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x164));if(!existsSync(_0x56b004))throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x166)+_0x56b004);if(!statSync(_0x56b004)[_0x240c0e(0x14d)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x156)+_0x56b004);const _0x220e46=readFileSync(_0x56b004,_0x240c0e(0x169));if(!_0x220e46[_0x240c0e(0x150)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x159));return _0x220e46;}function optionalTrimmed(_0x399e9f){const _0x1a0064=a29_0xf3b114,_0x4c38b6=String(_0x399e9f||'')[_0x1a0064(0x150)]();return _0x4c38b6||undefined;}function summarizeBff(_0x45e356){const _0xe0c96d=a29_0xf3b114;return{'id':_0x45e356['id'],'appCode':_0x45e356[_0xe0c96d(0x162)],'functionName':_0x45e356[_0xe0c96d(0x15a)],'description':_0x45e356[_0xe0c96d(0x158)],'scriptType':_0x45e356[_0xe0c96d(0x13e)],'version':_0x45e356['version'],'gmtModified':_0x45e356['gmtModified'],'updateTime':_0x45e356[_0xe0c96d(0x172)]};}function detailBff(_0x4ba6b5){const _0x4a974d=a29_0xf3b114;return{'id':_0x4ba6b5['id'],'appCode':_0x4ba6b5['appCode'],'functionName':_0x4ba6b5[_0x4a974d(0x15a)],'description':_0x4ba6b5[_0x4a974d(0x158)],'scriptType':_0x4ba6b5[_0x4a974d(0x13e)],'scriptContent':_0x4ba6b5[_0x4a974d(0x15f)]??'','config':_0x4ba6b5[_0x4a974d(0x167)],'version':_0x4ba6b5[_0x4a974d(0x170)],'createUserId':_0x4ba6b5[_0x4a974d(0x173)],'gmtCreate':_0x4ba6b5[_0x4a974d(0x16e)],'gmtModified':_0x4ba6b5[_0x4a974d(0x13f)],'createTime':_0x4ba6b5['createTime'],'updateTime':_0x4ba6b5['updateTime']};}function buildCreateInput(_0x37eb4f){const _0x3fbbf9=a29_0xf3b114;return{'functionName':normalizeFunctionName(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x165))),...optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))?{'description':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))}:{},'scriptContent':readScriptFile(_0x37eb4f['str'](_0x3fbbf9(0x14f))),...optionalTrimmed(_0x37eb4f['str'](_0x3fbbf9(0x16f)))?{'sourceSessionId':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x16f)))}:{}};}function buildUpdateInput(_0x10d6be){const _0x9000f7=a29_0xf3b114,_0x533073={};optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x165)))&&(_0x533073[_0x9000f7(0x15a)]=normalizeFunctionName(_0x10d6be['str'](_0x9000f7(0x165))));_0x10d6be[_0x9000f7(0x15e)](_0x9000f7(0x158))!==undefined&&(_0x533073['description']=_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x158)));optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x14f)))&&(_0x533073[_0x9000f7(0x15f)]=readScriptFile(_0x10d6be['str'](_0x9000f7(0x14f))));_0x10d6be[_0x9000f7(0x15e)]('source-session-id')!==undefined&&(_0x533073['sourceSessionId']=_0x10d6be['str'](_0x9000f7(0x16f)));if(Object['keys'](_0x533073)[_0x9000f7(0x15b)]===0x0)throw CliErrors[_0x9000f7(0x151)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x533073;}function parseExecParams(_0x1ea630){const _0x35825=a29_0xf3b114,_0x54b6a9=parseJsonParams(_0x1ea630)??{};if(Array[_0x35825(0x155)](_0x54b6a9))throw CliErrors[_0x35825(0x151)](_0x35825(0x161));return _0x54b6a9;}const personalBffList={'service':'personal-bff','command':a29_0xf3b114(0x13a),'description':a29_0xf3b114(0x13c),'risk':a29_0xf3b114(0x16a),'flags':[VERBOSE_FLAG],async 'execute'(_0x4c746c){const _0x5bfcf5=a29_0xf3b114,_0x3ce2bb=await listPersonalBffs(_0x4c746c[_0x5bfcf5(0x162)]);return{'ok':!![],'data':{'total':_0x3ce2bb['length'],'items':_0x4c746c['bool'](_0x5bfcf5(0x14b))?_0x3ce2bb:_0x3ce2bb['map'](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xf3b114(0x168),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a29_0xf3b114(0x16a),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x424b04){const _0xcacf0a=await getPersonalBff(_0x424b04['num']('id'),_0x424b04['appCode']);return{'ok':!![],'data':detailBff(_0xcacf0a)};}},personalBffCreate={'service':a29_0xf3b114(0x141),'command':a29_0xf3b114(0x171),'description':a29_0xf3b114(0x147),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x329764){const _0x1d0324=a29_0xf3b114,_0x567d36=buildCreateInput(_0x329764),_0x222b4d=await createPersonalBff(_0x329764[_0x1d0324(0x162)],_0x567d36);return{'ok':!![],'data':detailBff(_0x222b4d),'message':_0x1d0324(0x15d)+_0x222b4d['id']+(_0x222b4d[_0x1d0324(0x15a)]?'\x20('+_0x222b4d['functionName']+')':'')};},async 'dryRun'(_0x14a3be){const _0x5dac87=a29_0xf3b114,_0x1feb40=buildCreateInput(_0x14a3be);return dryRun(_0x5dac87(0x139),_0x5dac87(0x163))['body']({'appCode':_0x14a3be[_0x5dac87(0x162)],..._0x1feb40})[_0x5dac87(0x158)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x1feb40['functionName'])['build']();}},personalBffUpdate={'service':a29_0xf3b114(0x141),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':'write','flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23f82f){const _0x59380f=a29_0xf3b114,_0x1c440b=_0x23f82f[_0x59380f(0x149)]('id'),_0x23d11c=buildUpdateInput(_0x23f82f),_0x1b4449=await updatePersonalBff(_0x1c440b,_0x23f82f[_0x59380f(0x162)],_0x23d11c);return{'ok':!![],'data':detailBff(_0x1b4449),'message':_0x59380f(0x14e)+_0x1b4449['id']+(_0x1b4449[_0x59380f(0x15a)]?'\x20('+_0x1b4449[_0x59380f(0x15a)]+')':'')};},async 'dryRun'(_0x1cd6ec){const _0x4af141=a29_0xf3b114,_0x1c5fc3=_0x1cd6ec[_0x4af141(0x149)]('id'),_0x220072=buildUpdateInput(_0x1cd6ec);return dryRun(_0x4af141(0x139),_0x4af141(0x15c)+_0x1c5fc3+'/update')[_0x4af141(0x140)]({'appCode':_0x1cd6ec[_0x4af141(0x162)],..._0x220072})[_0x4af141(0x158)](_0x4af141(0x175)+_0x1c5fc3)['build']();}},personalBffExec={'service':a29_0xf3b114(0x141),'command':'exec','description':a29_0xf3b114(0x142),'risk':a29_0xf3b114(0x174),'flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...PARAMS_FLAG,'description':a29_0xf3b114(0x13b)}],async 'validate'(_0x479eeb){const _0x1e031b=a29_0xf3b114;parseExecParams(_0x479eeb[_0x1e031b(0x152)]('params'));},async 'execute'(_0x29ef5f){const _0x5b7777=a29_0xf3b114,_0x3ebbbb=_0x29ef5f[_0x5b7777(0x149)]('id'),_0x4ef997=parseExecParams(_0x29ef5f[_0x5b7777(0x152)]('params')),_0x35c68c=await executePersonalBff(_0x3ebbbb,_0x29ef5f['appCode'],_0x4ef997);return{'ok':!![],'data':{'result':_0x35c68c},'message':_0x5b7777(0x153)+_0x3ebbbb};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0x6bebd8=a29_0x56a8;(function(_0x4d2e26,_0x4f1a2d){const _0x4222a4=a29_0x56a8,_0x42a9be=_0x4d2e26();while(!![]){try{const _0x1dbd09=-parseInt(_0x4222a4(0x10a))/0x1+-parseInt(_0x4222a4(0xdf))/0x2*(parseInt(_0x4222a4(0x108))/0x3)+parseInt(_0x4222a4(0xdb))/0x4+-parseInt(_0x4222a4(0xec))/0x5*(parseInt(_0x4222a4(0xf5))/0x6)+parseInt(_0x4222a4(0xea))/0x7*(-parseInt(_0x4222a4(0xe3))/0x8)+-parseInt(_0x4222a4(0x107))/0x9*(parseInt(_0x4222a4(0xfb))/0xa)+parseInt(_0x4222a4(0x109))/0xb;if(_0x1dbd09===_0x4f1a2d)break;else _0x42a9be['push'](_0x42a9be['shift']());}catch(_0x4462aa){_0x42a9be['push'](_0x42a9be['shift']());}}}(a29_0x4f61,0x5a0d7));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x56a8(_0x363bef,_0x1625a6){_0x363bef=_0x363bef-0xdb;const _0x4f61f1=a29_0x4f61();let _0x56a872=_0x4f61f1[_0x363bef];return _0x56a872;}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':'file','type':'string','description':a29_0x6bebd8(0x10b)},FUNCTION_NAME_FLAG={'name':a29_0x6bebd8(0xeb),'type':'string','required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x6bebd8(0xfa),'type':a29_0x6bebd8(0x10c),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a29_0x6bebd8(0x10c),'description':a29_0x6bebd8(0xf1)};function a29_0x4f61(){const _0x41180e=['/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','21114BdLIob','360729xLiuJJ','30497038KJXbeF','687940uSHOOy','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','string','config','scriptType','Personal\x20BFF\x20script\x20ID','File\x20path\x20is\x20required.','test','write','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','validation','Created\x20personal\x20BFF\x20','source-session-id','Preview:\x20create\x20personal\x20BFF\x20','functionName','read','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','scriptContent','Executed\x20personal\x20BFF\x20','836428OyQmHw','length','POST','Preview:\x20update\x20personal\x20BFF\x20','6AkYEAa','appCode','isFile','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','684832pCopmK','file','version','update','personal-bff','params','Updated\x20personal\x20BFF\x20','56CHOwpL','name','65TAOlgj','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','keys','build','/update','Optional\x20source\x20RuntimeAgent\x20session\x20id','trim','detail','exec','207642gVNxVG','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','str','verbose','gmtModified','description','1830fuqUOi','map','Personal\x20BFF\x20script\x20file\x20is\x20blank.','num','Show\x20one\x20personal\x20BFF\x20by\x20id','body','high-risk-write','updateTime','File\x20not\x20found:\x20','flag'];a29_0x4f61=function(){return _0x41180e;};return a29_0x4f61();}function normalizeFunctionName(_0x539f31){const _0x21d6c4=a29_0x6bebd8,_0xf07abf=String(_0x539f31||'')['trim']();if(!_0xf07abf||!FUNCTION_NAME_PATTERN[_0x21d6c4(0x111)](_0xf07abf))throw CliErrors[_0x21d6c4(0x114)](_0x21d6c4(0xf6));return _0xf07abf;}function readScriptFile(_0x527886){const _0x24c075=a29_0x6bebd8;if(!_0x527886)throw CliErrors['validation'](_0x24c075(0x110));if(!existsSync(_0x527886))throw CliErrors['validation'](_0x24c075(0x103)+_0x527886);if(!statSync(_0x527886)[_0x24c075(0xe1)]())throw CliErrors[_0x24c075(0x114)](_0x24c075(0x106)+_0x527886);const _0x2d93a5=readFileSync(_0x527886,'utf8');if(!_0x2d93a5['trim']())throw CliErrors[_0x24c075(0x114)](_0x24c075(0xfd));return _0x2d93a5;}function optionalTrimmed(_0x738d39){const _0x4fe2e5=a29_0x6bebd8,_0xe91baa=String(_0x738d39||'')[_0x4fe2e5(0xf2)]();return _0xe91baa||undefined;}function summarizeBff(_0x3fcf07){const _0x4af295=a29_0x6bebd8;return{'id':_0x3fcf07['id'],'appCode':_0x3fcf07[_0x4af295(0xe0)],'functionName':_0x3fcf07[_0x4af295(0x118)],'description':_0x3fcf07['description'],'scriptType':_0x3fcf07[_0x4af295(0x10e)],'version':_0x3fcf07[_0x4af295(0xe5)],'gmtModified':_0x3fcf07[_0x4af295(0xf9)],'updateTime':_0x3fcf07[_0x4af295(0x102)]};}function detailBff(_0x26db88){const _0x349a62=a29_0x6bebd8;return{'id':_0x26db88['id'],'appCode':_0x26db88[_0x349a62(0xe0)],'functionName':_0x26db88[_0x349a62(0x118)],'description':_0x26db88[_0x349a62(0xfa)],'scriptType':_0x26db88[_0x349a62(0x10e)],'scriptContent':_0x26db88[_0x349a62(0x11b)]??'','config':_0x26db88[_0x349a62(0x10d)],'version':_0x26db88[_0x349a62(0xe5)],'createUserId':_0x26db88['createUserId'],'gmtCreate':_0x26db88['gmtCreate'],'gmtModified':_0x26db88['gmtModified'],'createTime':_0x26db88['createTime'],'updateTime':_0x26db88[_0x349a62(0x102)]};}function buildCreateInput(_0x18a629){const _0x441084=a29_0x6bebd8;return{'functionName':normalizeFunctionName(_0x18a629[_0x441084(0xf7)](_0x441084(0xeb))),...optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0xfa)))?{'description':optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0xfa)))}:{},'scriptContent':readScriptFile(_0x18a629[_0x441084(0xf7)](_0x441084(0xe4))),...optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0x116)))?{'sourceSessionId':optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0x116)))}:{}};}function buildUpdateInput(_0x35062d){const _0x16acfc=a29_0x6bebd8,_0x338835={};optionalTrimmed(_0x35062d[_0x16acfc(0xf7)](_0x16acfc(0xeb)))&&(_0x338835[_0x16acfc(0x118)]=normalizeFunctionName(_0x35062d[_0x16acfc(0xf7)]('name')));_0x35062d['flag'](_0x16acfc(0xfa))!==undefined&&(_0x338835['description']=_0x35062d[_0x16acfc(0xf7)](_0x16acfc(0xfa)));optionalTrimmed(_0x35062d['str'](_0x16acfc(0xe4)))&&(_0x338835[_0x16acfc(0x11b)]=readScriptFile(_0x35062d['str']('file')));_0x35062d[_0x16acfc(0x104)](_0x16acfc(0x116))!==undefined&&(_0x338835['sourceSessionId']=_0x35062d[_0x16acfc(0xf7)]('source-session-id'));if(Object[_0x16acfc(0xee)](_0x338835)[_0x16acfc(0xdc)]===0x0)throw CliErrors[_0x16acfc(0x114)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x338835;}function parseExecParams(_0x14d561){const _0xa9ea93=a29_0x6bebd8,_0x79e991=parseJsonParams(_0x14d561)??{};if(Array['isArray'](_0x79e991))throw CliErrors[_0xa9ea93(0x114)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x79e991;}const personalBffList={'service':a29_0x6bebd8(0xe7),'command':'list','description':a29_0x6bebd8(0xe2),'risk':a29_0x6bebd8(0x119),'flags':[VERBOSE_FLAG],async 'execute'(_0x37c6ff){const _0x38339e=a29_0x6bebd8,_0x5a989a=await listPersonalBffs(_0x37c6ff[_0x38339e(0xe0)]);return{'ok':!![],'data':{'total':_0x5a989a[_0x38339e(0xdc)],'items':_0x37c6ff['bool'](_0x38339e(0xf8))?_0x5a989a:_0x5a989a[_0x38339e(0xfc)](summarizeBff)}};}},personalBffDetail={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xf3),'description':a29_0x6bebd8(0xff),'risk':a29_0x6bebd8(0x119),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x14f0bf){const _0x1fe406=a29_0x6bebd8,_0x1ba14e=await getPersonalBff(_0x14f0bf[_0x1fe406(0xfe)]('id'),_0x14f0bf[_0x1fe406(0xe0)]);return{'ok':!![],'data':detailBff(_0x1ba14e)};}},personalBffCreate={'service':'personal-bff','command':'create','description':a29_0x6bebd8(0x11a),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2fe07b){const _0x55fe22=a29_0x6bebd8,_0xd08dde=buildCreateInput(_0x2fe07b),_0x2c8ac7=await createPersonalBff(_0x2fe07b[_0x55fe22(0xe0)],_0xd08dde);return{'ok':!![],'data':detailBff(_0x2c8ac7),'message':_0x55fe22(0x115)+_0x2c8ac7['id']+(_0x2c8ac7[_0x55fe22(0x118)]?'\x20('+_0x2c8ac7[_0x55fe22(0x118)]+')':'')};},async 'dryRun'(_0x301daf){const _0x2320ec=a29_0x6bebd8,_0x5557c0=buildCreateInput(_0x301daf);return dryRun('POST','/client/runtime-bff/personal/create')[_0x2320ec(0x100)]({'appCode':_0x301daf['appCode'],..._0x5557c0})[_0x2320ec(0xfa)](_0x2320ec(0x117)+_0x5557c0[_0x2320ec(0x118)])[_0x2320ec(0xef)]();}},personalBffUpdate={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xe6),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x6bebd8(0x112),'flags':[{...ID_FLAG,'description':a29_0x6bebd8(0x10f)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23a5ac){const _0x108614=a29_0x6bebd8,_0x3077bc=_0x23a5ac['num']('id'),_0x1d6f20=buildUpdateInput(_0x23a5ac),_0x122e34=await updatePersonalBff(_0x3077bc,_0x23a5ac[_0x108614(0xe0)],_0x1d6f20);return{'ok':!![],'data':detailBff(_0x122e34),'message':_0x108614(0xe9)+_0x122e34['id']+(_0x122e34[_0x108614(0x118)]?'\x20('+_0x122e34['functionName']+')':'')};},async 'dryRun'(_0x33182f){const _0x58589c=a29_0x6bebd8,_0x411a61=_0x33182f[_0x58589c(0xfe)]('id'),_0x8624cd=buildUpdateInput(_0x33182f);return dryRun(_0x58589c(0xdd),_0x58589c(0x105)+_0x411a61+_0x58589c(0xf0))[_0x58589c(0x100)]({'appCode':_0x33182f[_0x58589c(0xe0)],..._0x8624cd})[_0x58589c(0xfa)](_0x58589c(0xde)+_0x411a61)[_0x58589c(0xef)]();}},personalBffExec={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xf4),'description':a29_0x6bebd8(0x113),'risk':a29_0x6bebd8(0x101),'flags':[{...ID_FLAG,'description':a29_0x6bebd8(0x10f)},{...PARAMS_FLAG,'description':a29_0x6bebd8(0xed)}],async 'validate'(_0x2faa09){const _0x5f5c1a=a29_0x6bebd8;parseExecParams(_0x2faa09[_0x5f5c1a(0xf7)](_0x5f5c1a(0xe8)));},async 'execute'(_0x272463){const _0x663d26=a29_0x6bebd8,_0x1d0519=_0x272463[_0x663d26(0xfe)]('id'),_0x4a6ecd=parseExecParams(_0x272463[_0x663d26(0xf7)](_0x663d26(0xe8))),_0x59e2e2=await executePersonalBff(_0x1d0519,_0x272463[_0x663d26(0xe0)],_0x4a6ecd);return{'ok':!![],'data':{'result':_0x59e2e2},'message':_0x663d26(0x11c)+_0x1d0519};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x3c54c4=a30_0x2638;(function(_0x393038,_0x36d29f){const _0x1e5776=a30_0x2638,_0x58c835=_0x393038();while(!![]){try{const _0x35939c=-parseInt(_0x1e5776(0x173))/0x1+-parseInt(_0x1e5776(0x152))/0x2+parseInt(_0x1e5776(0x150))/0x3+-parseInt(_0x1e5776(0x169))/0x4*(-parseInt(_0x1e5776(0x158))/0x5)+parseInt(_0x1e5776(0x161))/0x6*(parseInt(_0x1e5776(0x15e))/0x7)+parseInt(_0x1e5776(0x154))/0x8+-parseInt(_0x1e5776(0x171))/0x9*(parseInt(_0x1e5776(0x14c))/0xa);if(_0x35939c===_0x36d29f)break;else _0x58c835['push'](_0x58c835['shift']());}catch(_0x4b8987){_0x58c835['push'](_0x58c835['shift']());}}}(a30_0xdf99,0x6e1e7));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=[];function a30_0x2638(_0x5b3e0a,_0x5527a0){_0x5b3e0a=_0x5b3e0a-0x149;const _0xdf99ba=a30_0xdf99();let _0x26380a=_0xdf99ba[_0x5b3e0a];return _0x26380a;}const serviceByName=new Map();export const definitions=new Map();function a30_0xdf99(){const _0x12d447=['Datasets','list','4941981OWfhcQ','Self\x20Update','523294zFImtE','description','values','Service\x20Tree','App\x20Management','BFF\x20Scripts','10LXpNuZ','\x20\x20[high-risk-write]','risk','command','1337451CkOcxo','Knowledge\x20Base','928618KHGDEB','read','4744480bXldow','push','has','install','5zRFeFI','API\x20Documentation','show','Authentication','CLI\x20Built-in\x20Skill','Logs','1141252gWsxoI','Artifacts','get','6NVJzvN','Schema','Instant\x20API','run','from','Workspace','service','set','3143384nGCVlJ','Configuration','SQL\x20Queries','defaultCommand','Skills','isSingleCommand'];a30_0xdf99=function(){return _0x12d447;};return a30_0xdf99();}export const serviceGroups=new Map();function registerDefinitions(_0x3b487b){const _0x58778b=a30_0x2638;for(const _0x481a3a of _0x3b487b){definitions[_0x58778b(0x168)](_0x481a3a[_0x58778b(0x167)]+':'+_0x481a3a[_0x58778b(0x14f)],_0x481a3a);let _0x4b8038=serviceGroups[_0x58778b(0x160)](_0x481a3a[_0x58778b(0x167)]);!_0x4b8038&&(_0x4b8038=[],serviceGroups['set'](_0x481a3a[_0x58778b(0x167)],_0x4b8038)),_0x4b8038[_0x58778b(0x155)](_0x481a3a);}}function registerService(_0x20eae5,_0x3ce6bf,_0x5d1555){const _0x46e088=a30_0x2638;registerDefinitions(_0x3ce6bf);const _0x243c3a=_0x148d24=>_0x148d24===_0x46e088(0x153)?'':_0x148d24==='write'?'\x20\x20[write]':_0x46e088(0x14d),_0x19c2b8={'service':_0x3ce6bf[0x0][_0x46e088(0x167)],'label':_0x20eae5,'commands':_0x3ce6bf['map'](_0x36ffa6=>({'command':_0x36ffa6[_0x46e088(0x14f)],'description':_0x36ffa6[_0x46e088(0x174)],'tag':_0x243c3a(_0x36ffa6[_0x46e088(0x14e)])})),'defaultCommand':_0x5d1555?.[_0x46e088(0x16c)]??(_0x5d1555?.[_0x46e088(0x16e)]?_0x3ce6bf[0x0]['command']:undefined),'isSingleCommand':_0x5d1555?.[_0x46e088(0x16e)]};serviceRegistry[_0x46e088(0x155)](_0x19c2b8),serviceByName[_0x46e088(0x168)](_0x19c2b8[_0x46e088(0x167)],_0x19c2b8);}registerService(a30_0x3c54c4(0x15b),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x3c54c4(0x159),apiDocDefinitions),registerService(a30_0x3c54c4(0x16f),datasetDefinitions),registerService(a30_0x3c54c4(0x163),dataDefinitions),registerService(a30_0x3c54c4(0x16b),sqlDefinitions),registerService(a30_0x3c54c4(0x14b),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x3c54c4(0x15f),artifactDefinitions),registerService(a30_0x3c54c4(0x151),kbDefinitions),registerService(a30_0x3c54c4(0x14a),appDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3c54c4(0x166),workspaceDefinitions),registerService(a30_0x3c54c4(0x16a),configDefinitions,{'defaultCommand':a30_0x3c54c4(0x170)}),registerService(a30_0x3c54c4(0x149),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3c54c4(0x16d),skillDefinitions,{'defaultCommand':a30_0x3c54c4(0x157)}),registerService(a30_0x3c54c4(0x15c),cliSkillDefinitions,{'defaultCommand':a30_0x3c54c4(0x157)}),registerService(a30_0x3c54c4(0x172),[updateDefinition],{'defaultCommand':a30_0x3c54c4(0x164),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x3c54c4(0x162),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x3c54c4(0x15d),logsDefinitions,{'defaultCommand':a30_0x3c54c4(0x15a)});export function findDefinition(_0x42aeef,_0x3f82b1){const _0x64636a=a30_0x3c54c4;return definitions[_0x64636a(0x160)](_0x42aeef+':'+_0x3f82b1);}export function isKnownService(_0x1ed1d0){const _0x41a9fb=a30_0x3c54c4;return serviceByName[_0x41a9fb(0x156)](_0x1ed1d0);}export function getServiceEntry(_0x1fbe9b){const _0xfa06dd=a30_0x3c54c4;return serviceByName[_0xfa06dd(0x160)](_0x1fbe9b);}export function getAllDefinitions(){const _0x593771=a30_0x3c54c4;return Array[_0x593771(0x165)](definitions[_0x593771(0x175)]());}
1
+ const a30_0x22ea79=a30_0x5a67;(function(_0x2b98cb,_0x49ae21){const _0x52bdc1=a30_0x5a67,_0x95f2e2=_0x2b98cb();while(!![]){try{const _0x3639d5=parseInt(_0x52bdc1(0x196))/0x1*(-parseInt(_0x52bdc1(0x195))/0x2)+parseInt(_0x52bdc1(0x19e))/0x3*(-parseInt(_0x52bdc1(0x192))/0x4)+-parseInt(_0x52bdc1(0x181))/0x5*(parseInt(_0x52bdc1(0x186))/0x6)+parseInt(_0x52bdc1(0x19b))/0x7*(parseInt(_0x52bdc1(0x19a))/0x8)+parseInt(_0x52bdc1(0x198))/0x9*(parseInt(_0x52bdc1(0x182))/0xa)+-parseInt(_0x52bdc1(0x19d))/0xb+parseInt(_0x52bdc1(0x18a))/0xc;if(_0x3639d5===_0x49ae21)break;else _0x95f2e2['push'](_0x95f2e2['shift']());}catch(_0x5443e8){_0x95f2e2['push'](_0x95f2e2['shift']());}}}(a30_0x5494,0x682b2));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';function a30_0x5a67(_0x474ff1,_0x23ad1f){_0x474ff1=_0x474ff1-0x180;const _0x5494c8=a30_0x5494();let _0x5a6793=_0x5494c8[_0x474ff1];return _0x5a6793;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x278906){const _0x32e5ef=a30_0x5a67;for(const _0x5e3cc2 of _0x278906){definitions[_0x32e5ef(0x194)](_0x5e3cc2['service']+':'+_0x5e3cc2[_0x32e5ef(0x1a9)],_0x5e3cc2);let _0x101e6a=serviceGroups['get'](_0x5e3cc2[_0x32e5ef(0x18b)]);!_0x101e6a&&(_0x101e6a=[],serviceGroups['set'](_0x5e3cc2['service'],_0x101e6a)),_0x101e6a['push'](_0x5e3cc2);}}function a30_0x5494(){const _0xb56a87=['Skills','Datasets','command','Diagnostics','Instant\x20API','120SHCTxx','1810Woiwhq','App\x20Management','map','Knowledge\x20Base','134274xvXtyP','list','install','SQL\x20Queries','16852152tpxeCo','service','Schema','\x20\x20[write]','isSingleCommand','description','write','run','18320JRBUDO','from','set','3478IvBunt','296RTHaYT','values','37980DWknbU','CLI\x20Built-in\x20Skill','8ZRSUdc','1132026fRnZUE','defaultCommand','1757690UhBbFf','453esCfoI','Configuration','Artifacts','get','risk','Authentication','\x20\x20[high-risk-write]','Workspace','has'];a30_0x5494=function(){return _0xb56a87;};return a30_0x5494();}function registerService(_0x55e989,_0x3c43ee,_0x38347a){const _0x246895=a30_0x5a67;registerDefinitions(_0x3c43ee);const _0x174f34=_0x56fb10=>_0x56fb10==='read'?'':_0x56fb10===_0x246895(0x190)?_0x246895(0x18d):_0x246895(0x1a4),_0x41d48d={'service':_0x3c43ee[0x0]['service'],'label':_0x55e989,'commands':_0x3c43ee[_0x246895(0x184)](_0x53554f=>({'command':_0x53554f[_0x246895(0x1a9)],'description':_0x53554f[_0x246895(0x18f)],'tag':_0x174f34(_0x53554f[_0x246895(0x1a2)])})),'defaultCommand':_0x38347a?.[_0x246895(0x19c)]??(_0x38347a?.[_0x246895(0x18e)]?_0x3c43ee[0x0]['command']:undefined),'isSingleCommand':_0x38347a?.[_0x246895(0x18e)]};serviceRegistry['push'](_0x41d48d),serviceByName[_0x246895(0x194)](_0x41d48d[_0x246895(0x18b)],_0x41d48d);}registerService(a30_0x22ea79(0x1a3),authDefinitions,{'defaultCommand':'login'}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x22ea79(0x1a8),datasetDefinitions),registerService(a30_0x22ea79(0x180),dataDefinitions),registerService(a30_0x22ea79(0x189),sqlDefinitions),registerService('BFF\x20Scripts',bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x22ea79(0x1a0),artifactDefinitions),registerService(a30_0x22ea79(0x185),kbDefinitions),registerService(a30_0x22ea79(0x183),appDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService(a30_0x22ea79(0x1a5),workspaceDefinitions),registerService(a30_0x22ea79(0x19f),configDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService(a30_0x22ea79(0x1a7),skillDefinitions,{'defaultCommand':a30_0x22ea79(0x188)}),registerService(a30_0x22ea79(0x199),cliSkillDefinitions,{'defaultCommand':a30_0x22ea79(0x188)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a30_0x22ea79(0x191),'isSingleCommand':!![]}),registerService(a30_0x22ea79(0x1aa),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x22ea79(0x18c),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x446b1e,_0x678f95){const _0x1c222c=a30_0x22ea79;return definitions[_0x1c222c(0x1a1)](_0x446b1e+':'+_0x678f95);}export function isKnownService(_0x3b3553){const _0x5cf6e5=a30_0x22ea79;return serviceByName[_0x5cf6e5(0x1a6)](_0x3b3553);}export function getServiceEntry(_0x5f0745){return serviceByName['get'](_0x5f0745);}export function getAllDefinitions(){const _0x1f3cff=a30_0x22ea79;return Array[_0x1f3cff(0x193)](definitions[_0x1f3cff(0x197)]());}
@@ -1 +1 @@
1
- const a31_0x385e06=a31_0x4c6b;(function(_0xf16748,_0x30cfb4){const _0x558886=a31_0x4c6b,_0x504244=_0xf16748();while(!![]){try{const _0xec89c=parseInt(_0x558886(0xf9))/0x1*(-parseInt(_0x558886(0xf6))/0x2)+parseInt(_0x558886(0xff))/0x3*(parseInt(_0x558886(0x100))/0x4)+parseInt(_0x558886(0xf8))/0x5+-parseInt(_0x558886(0xfc))/0x6*(parseInt(_0x558886(0xfd))/0x7)+parseInt(_0x558886(0xfb))/0x8+-parseInt(_0x558886(0xfa))/0x9*(parseInt(_0x558886(0xfe))/0xa)+parseInt(_0x558886(0xf5))/0xb*(parseInt(_0x558886(0xf4))/0xc);if(_0xec89c===_0x30cfb4)break;else _0x504244['push'](_0x504244['shift']());}catch(_0x367fc4){_0x504244['push'](_0x504244['shift']());}}}(a31_0x4863,0xdc64f));function a31_0x4c6b(_0x38b4ee,_0x2c180c){_0x38b4ee=_0x38b4ee-0xf4;const _0x48630c=a31_0x4863();let _0x4c6bb8=_0x48630c[_0x38b4ee];return _0x4c6bb8;}function a31_0x4863(){const _0xb21519=['1233qpguHJ','6516LqYEhM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','105396ibjEmu','1826VDakhZ','3622GQAXZt','read','6964320eGnXum','907NSiGMn','735822XzOtke','13869872IiItcM','6pJrfbj','9232279VzMgqZ','170cTuRQE'];a31_0x4863=function(){return _0xb21519;};return a31_0x4863();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5382af){const _0x508588=await buildSchemaPayload();return{'ok':!![],'data':_0x508588};}export const schemaDefinition={'service':'schema','command':'export','description':a31_0x385e06(0x101),'risk':a31_0x385e06(0xf7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ function a31_0x3531(_0xb404a8,_0x1e7bd9){_0xb404a8=_0xb404a8-0x1e8;const _0x3cd45f=a31_0x3cd4();let _0x3531f2=_0x3cd45f[_0xb404a8];return _0x3531f2;}const a31_0x3bfceb=a31_0x3531;(function(_0x37846a,_0x103cf6){const _0x4daff8=a31_0x3531,_0x397604=_0x37846a();while(!![]){try{const _0x3fe8b1=parseInt(_0x4daff8(0x1ec))/0x1*(-parseInt(_0x4daff8(0x1eb))/0x2)+parseInt(_0x4daff8(0x1e8))/0x3*(-parseInt(_0x4daff8(0x1e9))/0x4)+parseInt(_0x4daff8(0x1ef))/0x5*(parseInt(_0x4daff8(0x1f3))/0x6)+-parseInt(_0x4daff8(0x1ea))/0x7*(parseInt(_0x4daff8(0x1f4))/0x8)+-parseInt(_0x4daff8(0x1ee))/0x9+-parseInt(_0x4daff8(0x1f1))/0xa+parseInt(_0x4daff8(0x1f0))/0xb;if(_0x3fe8b1===_0x103cf6)break;else _0x397604['push'](_0x397604['shift']());}catch(_0x4195f8){_0x397604['push'](_0x397604['shift']());}}}(a31_0x3cd4,0xba277));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xf1411b){const _0x117629=await buildSchemaPayload();return{'ok':!![],'data':_0x117629};}export const schemaDefinition={'service':a31_0x3bfceb(0x1f2),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a31_0x3bfceb(0x1ed),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x3cd4(){const _0x4321a5=['schema','1446uRGtXj','312ctROlN','171uJHCcw','3716sDCvnY','176659CvmgsI','1114rKJhtM','134WsTYWb','read','11885535WdRdcw','27815MfBhdV','30241970zMIXQb','8950170ipFRUY'];a31_0x3cd4=function(){return _0x4321a5;};return a31_0x3cd4();}
@@ -1 +1 @@
1
- (function(_0x3c26f3,_0x30db5c){const _0x5e2560=a32_0x4279,_0xb26ab4=_0x3c26f3();while(!![]){try{const _0xe97426=-parseInt(_0x5e2560(0x11a))/0x1*(-parseInt(_0x5e2560(0x111))/0x2)+-parseInt(_0x5e2560(0x138))/0x3+-parseInt(_0x5e2560(0x114))/0x4+-parseInt(_0x5e2560(0x157))/0x5+parseInt(_0x5e2560(0x102))/0x6+parseInt(_0x5e2560(0x133))/0x7*(parseInt(_0x5e2560(0x156))/0x8)+-parseInt(_0x5e2560(0x108))/0x9*(-parseInt(_0x5e2560(0x118))/0xa);if(_0xe97426===_0x30db5c)break;else _0xb26ab4['push'](_0xb26ab4['shift']());}catch(_0x511f36){_0xb26ab4['push'](_0xb26ab4['shift']());}}}(a32_0x11eb,0xe3519));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(_0x70644f,_0x406deb){const _0x5c061f=a32_0x4279,_0x4463b2=listLocalServiceTrees();let _0x3d2171;for(const _0x1814f5 of _0x4463b2){const _0x4b6253=matchServiceTreeCommand(_0x1814f5,_0x70644f);if(!_0x4b6253)continue;(!_0x3d2171||_0x4b6253[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)]>_0x3d2171[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)])&&(_0x3d2171={'tree':_0x1814f5,'command':_0x4b6253[_0x5c061f(0x12e)],'remainingArgs':_0x4b6253[_0x5c061f(0x142)]});}if(!_0x3d2171)return undefined;const _0xf16037={..._0x406deb};return applyAppBinding(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171['command'],_0xf16037),{'definition':buildDynamicCommandDefinition(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171[_0x5c061f(0x12e)]),'args':_0x3d2171[_0x5c061f(0x142)],'flags':_0xf16037,'tree':_0x3d2171[_0x5c061f(0x15a)],'command':_0x3d2171[_0x5c061f(0x12e)]};}export function generateDynamicServiceHelp(_0x506495){const _0x308c4c=a32_0x4279,_0x2bfb97=listLocalServiceTrees()['find'](_0x4e76c3=>_0x4e76c3['service']['code']===_0x506495);if(!_0x2bfb97)return undefined;const _0x1fa1c3=[CLI_BIN_NAME+'\x20'+_0x506495+_0x308c4c(0x129),'',_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x163)]||_0x506495,_0x2bfb97[_0x308c4c(0xf8)]['description']?'\x20\x20'+_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x112)]:'','',_0x308c4c(0x13e),..._0x2bfb97[_0x308c4c(0x149)][_0x308c4c(0x124)](_0x2b3ad1=>{const _0x1a2925=_0x308c4c,_0x5d086e=_0x2b3ad1['fullPath']['slice'](0x1)[_0x1a2925(0x119)]('\x20'),_0xe6ff7=_0x2b3ad1[_0x1a2925(0x140)]===_0x1a2925(0x106)?'':'\x20['+_0x2b3ad1[_0x1a2925(0x140)]+']';return'\x20\x20'+_0x5d086e[_0x1a2925(0x115)](0x18)+'\x20'+(_0x2b3ad1[_0x1a2925(0x112)]||'')+_0xe6ff7;}),'','Use\x20`'+CLI_BIN_NAME+_0x308c4c(0x14a)+_0x506495+_0x308c4c(0x146)]['filter'](Boolean);return _0x1fa1c3['join']('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1d4e89=>{const _0x43315d=a32_0x4279,_0xc012ea=_0x1d4e89[_0x43315d(0x122)];return{'service':_0xc012ea['service'][_0x43315d(0x103)],'label':_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x163)]||_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x103)],'commands':_0xc012ea['commands']['map'](_0x40f98b=>({'command':dynamicCommandName(_0x40f98b),'description':_0x40f98b['description']||_0x43315d(0x11d)+_0x40f98b[_0x43315d(0x14d)],'tag':riskTag(_0x40f98b[_0x43315d(0x140)])}))};});}export function getDynamicServiceEntry(_0x203d8f){const _0x1ccf59=a32_0x4279;return listDynamicServiceEntries()[_0x1ccf59(0x145)](_0x22a3df=>_0x22a3df[_0x1ccf59(0xf8)]===_0x203d8f);}export function listDynamicServiceDefinitions(_0x1f8114){const _0x31faea=a32_0x4279;return listLocalServiceTrees()[_0x31faea(0x107)](_0x10e37b=>!_0x1f8114||_0x10e37b[_0x31faea(0xf8)][_0x31faea(0x103)]===_0x1f8114)[_0x31faea(0x12b)](_0x1b84cd=>_0x1b84cd[_0x31faea(0x149)]['map'](_0xc53c89=>buildDynamicCommandDefinition(_0x1b84cd,_0xc53c89)));}export function getDynamicServiceDefinitions(_0x209ee1){const _0x15617f=listDynamicServiceDefinitions(_0x209ee1);return _0x15617f['length']>0x0?_0x15617f:undefined;}export function findDynamicServiceDefinition(_0x2e044b,_0xf0eab3){const _0x555546=a32_0x4279;return listDynamicServiceDefinitions(_0x2e044b)[_0x555546(0x145)](_0x3fc1d2=>_0x3fc1d2['command']===_0xf0eab3);}export function buildDynamicCommandDefinition(_0x371d38,_0x5090a0){const _0x2f6910=a32_0x4279;return{'service':_0x371d38[_0x2f6910(0xf8)][_0x2f6910(0x103)],'command':dynamicCommandName(_0x5090a0),'description':_0x5090a0[_0x2f6910(0x112)]||_0x2f6910(0x11d)+_0x5090a0[_0x2f6910(0x14d)],'risk':_0x5090a0[_0x2f6910(0x140)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5090a0[_0x2f6910(0x12d)][_0x2f6910(0x124)](_0xaa409a=>({'name':_0xaa409a[_0x2f6910(0x163)],'description':_0xaa409a[_0x2f6910(0x112)]||_0xaa409a[_0x2f6910(0x163)],'required':_0xaa409a['required']})),'flags':_0x5090a0[_0x2f6910(0x105)][_0x2f6910(0x124)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5090a0),async 'dryRun'(_0x537dbe){const _0x48860e=_0x2f6910,_0x51c7f1=await compilePlan(_0x5090a0,_0x537dbe);return{'method':_0x48860e(0x10b),'url':_0x5090a0[_0x48860e(0x14d)],'body':{'target':targetPreview(_0x51c7f1),'params':_0x51c7f1[_0x48860e(0x15f)]},'description':_0x48860e(0x137)+_0x5090a0[_0x48860e(0x14d)]};},async 'execute'(_0x901899){const _0x5689dd=_0x2f6910,_0x1fac36=await compilePlan(_0x5090a0,_0x901899),_0x260079=Date[_0x5689dd(0xfe)](),_0x557e18=await executePlan(_0x1fac36,_0x5090a0,_0x901899),_0x3d995d=Date['now']()-_0x260079;return{'ok':!![],'data':{'service':_0x371d38[_0x5689dd(0xf8)],'command':_0x5090a0['cliPath'],'target':targetPreview(_0x1fac36),'result':_0x557e18,'elapsed':_0x3d995d},'message':_0x5689dd(0x162)+_0x5090a0[_0x5689dd(0x14d)]+_0x5689dd(0x117)+_0x3d995d+'ms'};}};}function dynamicCommandName(_0x2e8d86){const _0x1c2c3b=a32_0x4279;return _0x2e8d86['fullPath'][_0x1c2c3b(0x13f)](0x1)[_0x1c2c3b(0x119)]('\x20');}function riskTag(_0x17c1d5){const _0x247fc0=a32_0x4279;return _0x17c1d5===_0x247fc0(0x106)?'':'\x20\x20['+_0x17c1d5+']';}function flagToCommandFlag(_0x5095b3){const _0x456c93=a32_0x4279;return{'name':_0x5095b3[_0x456c93(0x123)],'type':_0x5095b3[_0x456c93(0x135)]===_0x456c93(0x13c)?_0x456c93(0x153):_0x5095b3[_0x456c93(0x135)],'description':_0x5095b3[_0x456c93(0x112)]||_0x5095b3[_0x456c93(0x163)],'required':_0x5095b3[_0x456c93(0x15e)],'default':isPrimitiveFlagDefault(_0x5095b3[_0x456c93(0x159)])?_0x5095b3[_0x456c93(0x159)]:undefined,'enum':_0x5095b3[_0x456c93(0x109)]};}async function compilePlan(_0x56afa7,_0x3c6272){const _0x473e66=a32_0x4279;return compileServiceTreeCommand(_0x56afa7,{'flags':_0x3c6272[_0x473e66(0x152)],'args':_0x3c6272[_0x473e66(0x12d)],'context':await buildServiceContext(_0x56afa7,_0x3c6272)});}async function buildServiceContext(_0x3938a9,_0x271901){const _0x2b24e8=a32_0x4279,_0x1341a7={'appCode':_0x271901[_0x2b24e8(0x113)],'env':_0x271901['envName'],'envName':_0x271901[_0x2b24e8(0xf7)]};if(!usesRuntimeContext(_0x3938a9))return _0x1341a7;const _0x355011=await getLoginUserInfo(),_0x26f11a=pickFirst(_0x355011[_0x2b24e8(0x10d)],_0x355011['id']);return{..._0x1341a7,'user':_0x355011,'userId':_0x26f11a,'id':_0x355011['id'],'username':pickFirst(_0x355011[_0x2b24e8(0xfa)],_0x355011['userName'],_0x355011[_0x2b24e8(0x143)]),'userName':_0x355011[_0x2b24e8(0x127)],'nickname':pickFirst(_0x355011[_0x2b24e8(0x11f)],_0x355011[_0x2b24e8(0x15c)]),'nickName':_0x355011[_0x2b24e8(0x15c)],'tenantCode':_0x355011['tenantCode'],'employeeId':_0x355011[_0x2b24e8(0x116)]};}function a32_0x4279(_0x106413,_0x598f99){_0x106413=_0x106413-0xf7;const _0x11ebe1=a32_0x11eb();let _0x427920=_0x11ebe1[_0x106413];return _0x427920;}function usesRuntimeContext(_0x15df17){const _0x174781=a32_0x4279;return _0x15df17['mapTo'][_0x174781(0x121)](_0x492849=>typeof _0x492849[_0x174781(0x101)]===_0x174781(0x153)&&(_0x492849[_0x174781(0x101)]['startsWith']('context.')||_0x492849[_0x174781(0x101)][_0x174781(0x147)](_0x174781(0x10f))));}function pickFirst(..._0x2fa947){const _0x4b6a6d=a32_0x4279;return _0x2fa947[_0x4b6a6d(0x145)](_0xe8c7c=>_0xe8c7c!==undefined&&_0xe8c7c!==null);}async function executePlan(_0x5f3a80,_0x2bcf7f,_0x62b772){const _0x340b13=a32_0x4279;if(_0x5f3a80['kind']===_0x340b13(0x15b)){const _0x51ad72=await resolveDatasetCode(_0x5f3a80,_0x2bcf7f,_0x62b772);return executeData(_0x51ad72,_0x5f3a80[_0x340b13(0x12e)],_0x5f3a80['params']);}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x160)){if(!_0x5f3a80[_0x340b13(0x155)])throw CliErrors[_0x340b13(0x100)](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+_0x340b13(0xfd));return executeSdkSql(_0x5f3a80[_0x340b13(0x155)],normalizeScalarParams(_0x5f3a80[_0x340b13(0x15f)]));}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x14b)){const _0xba5f6d=_0x5f3a80[_0x340b13(0x12f)]||_0x5f3a80[_0x340b13(0x104)]||(_0x5f3a80[_0x340b13(0x13b)]==null?'':String(_0x5f3a80[_0x340b13(0x13b)]));if(!_0xba5f6d)throw CliErrors['validation'](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0xba5f6d,_0x5f3a80[_0x340b13(0x15f)]);}throw CliErrors[_0x340b13(0x100)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x5f3a80[_0x340b13(0x131)]);}async function resolveDatasetCode(_0x370641,_0x3eb987,_0x470b7a){const _0x1e0a46=a32_0x4279;if(_0x370641[_0x1e0a46(0x13d)])return _0x370641[_0x1e0a46(0x13d)];if(!_0x370641['datatable'])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x162)+_0x3eb987['cliPath']+_0x1e0a46(0xf9));const _0x2095e8=await listDatasets(_0x470b7a[_0x1e0a46(0x113)]),_0x22fe62=_0x2095e8[_0x1e0a46(0x145)](_0xdfff5d=>_0xdfff5d[_0x1e0a46(0x10e)]?.[_0x1e0a46(0xff)]===_0x370641[_0x1e0a46(0x141)]);if(!_0x22fe62?.[_0x1e0a46(0x103)])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x14c)+_0x370641[_0x1e0a46(0x141)]+_0x1e0a46(0x161)+_0x470b7a['appCode']+'.',_0x1e0a46(0x110));return _0x22fe62[_0x1e0a46(0x103)];}function applyAppBinding(_0xf76b3f,_0x131c02,_0x4cdde9){const _0x17c7d9=a32_0x4279,_0x409d0b=_0x131c02['target'][_0x17c7d9(0x10c)];if(!_0x409d0b)return;const _0x29441d=_0xf76b3f['appBindings'][_0x409d0b];if(!_0x29441d)throw CliErrors[_0x17c7d9(0x100)](_0x17c7d9(0x15d)+_0x409d0b+_0x17c7d9(0x13a)+_0x131c02[_0x17c7d9(0x14d)]+'.',_0x17c7d9(0x130));const _0x10399b=_0x29441d[_0x17c7d9(0x132)]||_0x29441d[_0x17c7d9(0x113)];_0x10399b&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x132)]=_0x10399b),_0x29441d['app']&&!hasText(_0x4cdde9[_0x17c7d9(0x120)])&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x120)]=_0x29441d[_0x17c7d9(0x120)]),_0x29441d[_0x17c7d9(0x11e)]&&!hasText(_0x4cdde9['env'])&&(_0x4cdde9[_0x17c7d9(0x11e)]=_0x29441d[_0x17c7d9(0x11e)]);}function renderDynamicCommandHelp(_0x404194){const _0x57ae4f=a32_0x4279,_0x2df7b7=[_0x57ae4f(0x11c),_0x57ae4f(0x139)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x131)],_0x57ae4f(0x154)+_0x404194['target'][_0x57ae4f(0x12e)]];if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x13d)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x150)+_0x404194[_0x57ae4f(0x12a)]['datasetCode']);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)])_0x2df7b7['push']('\x20\x20\x20\x20datatable:\x20'+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)]);if(_0x404194['target'][_0x57ae4f(0x155)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x10a)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x155)]);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x12f)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x158)+_0x404194['target']['scriptName']);if(_0x404194[_0x57ae4f(0x12c)][_0x57ae4f(0x14f)]>0x0){_0x2df7b7[_0x57ae4f(0x128)]('',_0x57ae4f(0x144));for(const _0x527511 of _0x404194[_0x57ae4f(0x12c)]){_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x125)+(_0x527511[_0x57ae4f(0x101)]||_0x57ae4f(0x136))+_0x57ae4f(0x126)+_0x527511[_0x57ae4f(0x12a)]+(_0x527511[_0x57ae4f(0x14e)]?'.'+_0x527511[_0x57ae4f(0x14e)]:''));}}return _0x2df7b7[_0x57ae4f(0x119)]('\x0a');}function a32_0x11eb(){const _0x2b0170=['service','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','username','fromEntries','boolean','\x20requires\x20target.sqlCode.','now','tableName','validation','source','8517210ApxSCh','code','bffCode','flags','read','filter','13811373ZwvUuR','enum','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','appRef','userId','dbtableConfig','ctx.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','2ZNAaaP','description','appCode','5288496lfOyII','padEnd','employeeId','\x20completed\x20in\x20','10muffEM','join','1405181usZFQP','fullPath','\x20\x20SERVICE\x20TREE\x20TARGET','Run\x20service\x20command\x20','env','nickname','app','some','normalizedManifest','cliName','map','\x20\x20\x20\x20','\x20->\x20','userName','push','\x20<command>\x20[flags]','target','flatMap','mapTo','args','command','scriptName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','kind','appcode','959wFpQGx','entries','type','const','Preview\x20dynamic\x20service\x20command:\x20','2165682TESGZq','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x22\x20in\x20service\x20command\x20','bffId','json','datasetCode','Commands:','slice','risk','datatable','remainingArgs','loginName','\x20\x20MAP\x20TO','find','`\x20to\x20inspect\x20the\x20manifest.','startsWith','trim','commands','\x20service\x20detail\x20--service\x20','bff','Cannot\x20resolve\x20datatable\x20\x22','cliPath','operator','length','\x20\x20\x20\x20datasetCode:\x20','number','rawFlags','string','\x20\x20\x20\x20command:\x20','sqlCode','5672tIXhNV','7406655XYBccH','\x20\x20\x20\x20scriptName:\x20','default','tree','data','nickName','Unknown\x20appRef\x20\x22','required','params','sql','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','Service\x20command\x20','name','envName'];a32_0x11eb=function(){return _0x2b0170;};return a32_0x11eb();}function targetPreview(_0x4ad0b1){const _0x330b94=a32_0x4279;return{'kind':_0x4ad0b1[_0x330b94(0x131)],'command':_0x4ad0b1[_0x330b94(0x12e)],'appRef':_0x4ad0b1['appRef'],'datasetCode':_0x4ad0b1[_0x330b94(0x13d)],'datatable':_0x4ad0b1[_0x330b94(0x141)],'sqlCode':_0x4ad0b1[_0x330b94(0x155)],'bffCode':_0x4ad0b1['bffCode'],'bffId':_0x4ad0b1[_0x330b94(0x13b)],'scriptName':_0x4ad0b1[_0x330b94(0x12f)]};}function normalizeScalarParams(_0x529ade){const _0x216f78=a32_0x4279;return Object[_0x216f78(0xfb)](Object[_0x216f78(0x134)](_0x529ade)['filter'](([,_0x565f50])=>typeof _0x565f50===_0x216f78(0x153)||typeof _0x565f50===_0x216f78(0x151)));}function hasText(_0x906df2){const _0x33877a=a32_0x4279;return typeof _0x906df2==='string'&&_0x906df2[_0x33877a(0x148)]()['length']>0x0;}function isPrimitiveFlagDefault(_0xfd86ff){const _0x3fd81f=a32_0x4279;return _0xfd86ff===undefined||typeof _0xfd86ff===_0x3fd81f(0x153)||typeof _0xfd86ff===_0x3fd81f(0x151)||typeof _0xfd86ff===_0x3fd81f(0xfc);}
1
+ function a32_0xfa3e(_0x25aaa7,_0x5e1eab){_0x25aaa7=_0x25aaa7-0x17a;const _0x5b9140=a32_0x5b91();let _0xfa3e6b=_0x5b9140[_0x25aaa7];return _0xfa3e6b;}(function(_0x5a14e4,_0x3b093c){const _0x2444bb=a32_0xfa3e,_0x368830=_0x5a14e4();while(!![]){try{const _0x147dfe=parseInt(_0x2444bb(0x1d4))/0x1*(-parseInt(_0x2444bb(0x1c4))/0x2)+parseInt(_0x2444bb(0x1c3))/0x3*(-parseInt(_0x2444bb(0x1c1))/0x4)+-parseInt(_0x2444bb(0x1c5))/0x5*(-parseInt(_0x2444bb(0x1d2))/0x6)+-parseInt(_0x2444bb(0x17d))/0x7*(parseInt(_0x2444bb(0x199))/0x8)+-parseInt(_0x2444bb(0x1cf))/0x9+parseInt(_0x2444bb(0x182))/0xa+parseInt(_0x2444bb(0x18d))/0xb;if(_0x147dfe===_0x3b093c)break;else _0x368830['push'](_0x368830['shift']());}catch(_0x5e8d5a){_0x368830['push'](_0x368830['shift']());}}}(a32_0x5b91,0x724d5));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a32_0x5b91(){const _0x38fa94=['remainingArgs','entries','code','appRef','6410619UsNtHs','sql','appCode','906aUVSJb','bffId','312KxMWxr','service','json','map','fromEntries','required','target','7ImKWkf','mapTo','Run\x20service\x20command\x20','bffCode','scriptName','2944510pJGopy','push','\x20\x20\x20\x20command:\x20','appBindings','`\x20to\x20inspect\x20the\x20manifest.','flatMap','read','const','flags','description','appcode','16744827YNZWlh','username','command','\x22\x20in\x20service\x20command\x20','Unknown\x20appRef\x20\x22','userId','source','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','env','\x20\x20\x20\x20scriptName:\x20','now','userName','6453256vNPnzt','\x20\x20SERVICE\x20TREE\x20TARGET','\x20completed\x20in\x20','\x20requires\x20target.sqlCode.','\x20service\x20detail\x20--service\x20','validation','operator','string','kind','datatable','risk','default','join','Commands:','padEnd','filter','data','loginName','Preview\x20dynamic\x20service\x20command:\x20','\x20requires\x20target.scriptName.','commands','bff','cliName','datasetCode','normalizedManifest','\x20\x20\x20\x20datatable:\x20','envName','length','cliPath','context.','name','find','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','params','sqlCode','startsWith','slice','\x20\x20\x20\x20sqlCode:\x20','Service\x20command\x20','4ZyMTkJ','app','123393faWUOB','634DUbRJh','10280oMtBbr','fullPath','args','trim','tree','\x20\x20\x20\x20kind:\x20\x20\x20\x20'];a32_0x5b91=function(){return _0x38fa94;};return a32_0x5b91();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2cd3fc,_0x857631){const _0x198195=a32_0xfa3e,_0x5dfaff=listLocalServiceTrees();let _0x4cb544;for(const _0x572036 of _0x5dfaff){const _0x11ac27=matchServiceTreeCommand(_0x572036,_0x2cd3fc);if(!_0x11ac27)continue;(!_0x4cb544||_0x11ac27[_0x198195(0x18f)][_0x198195(0x1c6)][_0x198195(0x1b4)]>_0x4cb544[_0x198195(0x18f)][_0x198195(0x1c6)][_0x198195(0x1b4)])&&(_0x4cb544={'tree':_0x572036,'command':_0x11ac27[_0x198195(0x18f)],'remainingArgs':_0x11ac27[_0x198195(0x1cb)]});}if(!_0x4cb544)return undefined;const _0x62c7d2={..._0x857631};return applyAppBinding(_0x4cb544[_0x198195(0x1c9)],_0x4cb544[_0x198195(0x18f)],_0x62c7d2),{'definition':buildDynamicCommandDefinition(_0x4cb544['tree'],_0x4cb544[_0x198195(0x18f)]),'args':_0x4cb544[_0x198195(0x1cb)],'flags':_0x62c7d2,'tree':_0x4cb544[_0x198195(0x1c9)],'command':_0x4cb544['command']};}export function generateDynamicServiceHelp(_0x591dca){const _0x2768b1=a32_0xfa3e,_0x548477=listLocalServiceTrees()[_0x2768b1(0x1b8)](_0xef4928=>_0xef4928[_0x2768b1(0x1d5)][_0x2768b1(0x1cd)]===_0x591dca);if(!_0x548477)return undefined;const _0x3679e1=[CLI_BIN_NAME+'\x20'+_0x591dca+'\x20<command>\x20[flags]','',_0x548477['service'][_0x2768b1(0x1b7)]||_0x591dca,_0x548477[_0x2768b1(0x1d5)][_0x2768b1(0x18b)]?'\x20\x20'+_0x548477[_0x2768b1(0x1d5)][_0x2768b1(0x18b)]:'','',_0x2768b1(0x1a6),..._0x548477[_0x2768b1(0x1ad)][_0x2768b1(0x1d7)](_0x315a4f=>{const _0x5ddbf9=_0x2768b1,_0x57ebb6=_0x315a4f[_0x5ddbf9(0x1c6)][_0x5ddbf9(0x1be)](0x1)['join']('\x20'),_0x360b6c=_0x315a4f['risk']===_0x5ddbf9(0x188)?'':'\x20['+_0x315a4f['risk']+']';return'\x20\x20'+_0x57ebb6[_0x5ddbf9(0x1a7)](0x18)+'\x20'+(_0x315a4f[_0x5ddbf9(0x18b)]||'')+_0x360b6c;}),'','Use\x20`'+CLI_BIN_NAME+_0x2768b1(0x19d)+_0x591dca+_0x2768b1(0x186)][_0x2768b1(0x1a8)](Boolean);return _0x3679e1['join']('\x0a');}export function listDynamicServiceEntries(){const _0x863b38=a32_0xfa3e;return listLocalServices()[_0x863b38(0x1d7)](_0x41648a=>{const _0x58b5b3=_0x863b38,_0xcefb68=_0x41648a[_0x58b5b3(0x1b1)];return{'service':_0xcefb68['service'][_0x58b5b3(0x1cd)],'label':_0xcefb68[_0x58b5b3(0x1d5)][_0x58b5b3(0x1b7)]||_0xcefb68[_0x58b5b3(0x1d5)][_0x58b5b3(0x1cd)],'commands':_0xcefb68[_0x58b5b3(0x1ad)]['map'](_0x449899=>({'command':dynamicCommandName(_0x449899),'description':_0x449899[_0x58b5b3(0x18b)]||_0x58b5b3(0x17f)+_0x449899[_0x58b5b3(0x1b5)],'tag':riskTag(_0x449899['risk'])}))};});}export function getDynamicServiceEntry(_0x2e305a){const _0x441eda=a32_0xfa3e;return listDynamicServiceEntries()[_0x441eda(0x1b8)](_0x392a13=>_0x392a13['service']===_0x2e305a);}export function listDynamicServiceDefinitions(_0x569495){const _0x4522fc=a32_0xfa3e;return listLocalServiceTrees()['filter'](_0x4f235b=>!_0x569495||_0x4f235b['service'][_0x4522fc(0x1cd)]===_0x569495)[_0x4522fc(0x187)](_0x30ccf2=>_0x30ccf2[_0x4522fc(0x1ad)][_0x4522fc(0x1d7)](_0x314e15=>buildDynamicCommandDefinition(_0x30ccf2,_0x314e15)));}export function getDynamicServiceDefinitions(_0x4d1afa){const _0x21e7b4=a32_0xfa3e,_0x1df47a=listDynamicServiceDefinitions(_0x4d1afa);return _0x1df47a[_0x21e7b4(0x1b4)]>0x0?_0x1df47a:undefined;}export function findDynamicServiceDefinition(_0x44d8e3,_0x429733){const _0x3bcfe9=a32_0xfa3e;return listDynamicServiceDefinitions(_0x44d8e3)[_0x3bcfe9(0x1b8)](_0xa3334f=>_0xa3334f['command']===_0x429733);}export function buildDynamicCommandDefinition(_0xe54943,_0x5a5511){const _0x167b24=a32_0xfa3e;return{'service':_0xe54943[_0x167b24(0x1d5)]['code'],'command':dynamicCommandName(_0x5a5511),'description':_0x5a5511[_0x167b24(0x18b)]||_0x167b24(0x17f)+_0x5a5511[_0x167b24(0x1b5)],'risk':_0x5a5511[_0x167b24(0x1a3)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5a5511[_0x167b24(0x1c7)]['map'](_0x7cca75=>({'name':_0x7cca75[_0x167b24(0x1b7)],'description':_0x7cca75[_0x167b24(0x18b)]||_0x7cca75['name'],'required':_0x7cca75[_0x167b24(0x17b)]})),'flags':_0x5a5511[_0x167b24(0x18a)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5a5511),async 'dryRun'(_0x2c2128){const _0x55563b=_0x167b24,_0x29d66b=await compilePlan(_0x5a5511,_0x2c2128);return{'method':'SERVICE_TREE','url':_0x5a5511[_0x55563b(0x1b5)],'body':{'target':targetPreview(_0x29d66b),'params':_0x29d66b[_0x55563b(0x1bb)]},'description':_0x55563b(0x1ab)+_0x5a5511['cliPath']};},async 'execute'(_0x1e6b08){const _0x30afae=_0x167b24,_0x4306da=await compilePlan(_0x5a5511,_0x1e6b08),_0x5ebb30=Date[_0x30afae(0x197)](),_0x2d11af=await executePlan(_0x4306da,_0x5a5511,_0x1e6b08),_0x35ed78=Date[_0x30afae(0x197)]()-_0x5ebb30;return{'ok':!![],'data':{'service':_0xe54943[_0x30afae(0x1d5)],'command':_0x5a5511['cliPath'],'target':targetPreview(_0x4306da),'result':_0x2d11af,'elapsed':_0x35ed78},'message':_0x30afae(0x1c0)+_0x5a5511[_0x30afae(0x1b5)]+_0x30afae(0x19b)+_0x35ed78+'ms'};}};}function dynamicCommandName(_0x5f212b){const _0x44e31a=a32_0xfa3e;return _0x5f212b[_0x44e31a(0x1c6)][_0x44e31a(0x1be)](0x1)[_0x44e31a(0x1a5)]('\x20');}function riskTag(_0x4b663e){const _0x31a52b=a32_0xfa3e;return _0x4b663e===_0x31a52b(0x188)?'':'\x20\x20['+_0x4b663e+']';}function flagToCommandFlag(_0x90792){const _0x218773=a32_0xfa3e;return{'name':_0x90792[_0x218773(0x1af)],'type':_0x90792['type']===_0x218773(0x1d6)?'string':_0x90792['type'],'description':_0x90792[_0x218773(0x18b)]||_0x90792[_0x218773(0x1b7)],'required':_0x90792[_0x218773(0x17b)],'default':isPrimitiveFlagDefault(_0x90792['default'])?_0x90792[_0x218773(0x1a4)]:undefined,'enum':_0x90792['enum']};}async function compilePlan(_0xd02e52,_0x571886){const _0x28d449=a32_0xfa3e;return compileServiceTreeCommand(_0xd02e52,{'flags':_0x571886['rawFlags'],'args':_0x571886[_0x28d449(0x1c7)],'context':await buildServiceContext(_0xd02e52,_0x571886)});}async function buildServiceContext(_0x1ed17c,_0x255bc3){const _0x4ffe86=a32_0xfa3e,_0x4588b9={'appCode':_0x255bc3['appCode'],'env':_0x255bc3[_0x4ffe86(0x1b3)],'envName':_0x255bc3[_0x4ffe86(0x1b3)]};if(!usesRuntimeContext(_0x1ed17c))return _0x4588b9;const _0x443cca=await getLoginUserInfo(),_0x5a0572=pickFirst(_0x443cca[_0x4ffe86(0x192)],_0x443cca['id']);return{..._0x4588b9,'user':_0x443cca,'userId':_0x5a0572,'id':_0x443cca['id'],'username':pickFirst(_0x443cca[_0x4ffe86(0x18e)],_0x443cca[_0x4ffe86(0x198)],_0x443cca[_0x4ffe86(0x1aa)]),'userName':_0x443cca[_0x4ffe86(0x198)],'nickname':pickFirst(_0x443cca['nickname'],_0x443cca['nickName']),'nickName':_0x443cca['nickName'],'tenantCode':_0x443cca['tenantCode'],'employeeId':_0x443cca['employeeId']};}function usesRuntimeContext(_0x14cc82){const _0x2f71a4=a32_0xfa3e;return _0x14cc82[_0x2f71a4(0x17e)]['some'](_0x556ce9=>typeof _0x556ce9[_0x2f71a4(0x193)]===_0x2f71a4(0x1a0)&&(_0x556ce9[_0x2f71a4(0x193)][_0x2f71a4(0x1bd)](_0x2f71a4(0x1b6))||_0x556ce9[_0x2f71a4(0x193)][_0x2f71a4(0x1bd)]('ctx.')));}function pickFirst(..._0x5f203c){const _0x2c121e=a32_0xfa3e;return _0x5f203c[_0x2c121e(0x1b8)](_0x29b189=>_0x29b189!==undefined&&_0x29b189!==null);}async function executePlan(_0x1f6295,_0x3c340b,_0x30a6b1){const _0x3197c2=a32_0xfa3e;if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1a9)){const _0x180558=await resolveDatasetCode(_0x1f6295,_0x3c340b,_0x30a6b1);return executeData(_0x180558,_0x1f6295[_0x3197c2(0x18f)],_0x1f6295[_0x3197c2(0x1bb)]);}if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1d0)){if(!_0x1f6295[_0x3197c2(0x1bc)])throw CliErrors[_0x3197c2(0x19e)](_0x3197c2(0x1c0)+_0x3c340b[_0x3197c2(0x1b5)]+_0x3197c2(0x19c));return executeSdkSql(_0x1f6295[_0x3197c2(0x1bc)],normalizeScalarParams(_0x1f6295[_0x3197c2(0x1bb)]));}if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1ae)){const _0x4bb922=_0x1f6295[_0x3197c2(0x181)]||_0x1f6295[_0x3197c2(0x180)]||(_0x1f6295['bffId']==null?'':String(_0x1f6295[_0x3197c2(0x1d3)]));if(!_0x4bb922)throw CliErrors['validation'](_0x3197c2(0x1c0)+_0x3c340b['cliPath']+_0x3197c2(0x1ac));return executeSdkBff(_0x4bb922,_0x1f6295['params']);}throw CliErrors[_0x3197c2(0x19e)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x1f6295[_0x3197c2(0x1a1)]);}async function resolveDatasetCode(_0x3f9769,_0x22ad54,_0x3aa49a){const _0x2be7be=a32_0xfa3e;if(_0x3f9769[_0x2be7be(0x1b0)])return _0x3f9769[_0x2be7be(0x1b0)];if(!_0x3f9769[_0x2be7be(0x1a2)])throw CliErrors[_0x2be7be(0x19e)]('Service\x20command\x20'+_0x22ad54['cliPath']+_0x2be7be(0x194));const _0x2a1921=await listDatasets(_0x3aa49a['appCode']),_0x17016d=_0x2a1921[_0x2be7be(0x1b8)](_0x2f8a44=>_0x2f8a44['dbtableConfig']?.['tableName']===_0x3f9769[_0x2be7be(0x1a2)]);if(!_0x17016d?.[_0x2be7be(0x1cd)])throw CliErrors['validation']('Cannot\x20resolve\x20datatable\x20\x22'+_0x3f9769[_0x2be7be(0x1a2)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x3aa49a[_0x2be7be(0x1d1)]+'.',_0x2be7be(0x1b9));return _0x17016d[_0x2be7be(0x1cd)];}function applyAppBinding(_0xb0bd5b,_0x1f5cd6,_0x1a7caa){const _0x29148a=a32_0xfa3e,_0x1a3d2e=_0x1f5cd6[_0x29148a(0x17c)][_0x29148a(0x1ce)];if(!_0x1a3d2e)return;const _0x1a5e45=_0xb0bd5b[_0x29148a(0x185)][_0x1a3d2e];if(!_0x1a5e45)throw CliErrors[_0x29148a(0x19e)](_0x29148a(0x191)+_0x1a3d2e+_0x29148a(0x190)+_0x1f5cd6[_0x29148a(0x1b5)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x54c860=_0x1a5e45[_0x29148a(0x18c)]||_0x1a5e45['appCode'];_0x54c860&&!hasText(_0x1a7caa[_0x29148a(0x18c)])&&(_0x1a7caa[_0x29148a(0x18c)]=_0x54c860),_0x1a5e45[_0x29148a(0x1c2)]&&!hasText(_0x1a7caa['app'])&&!hasText(_0x1a7caa[_0x29148a(0x18c)])&&(_0x1a7caa[_0x29148a(0x1c2)]=_0x1a5e45['app']),_0x1a5e45[_0x29148a(0x195)]&&!hasText(_0x1a7caa[_0x29148a(0x195)])&&(_0x1a7caa[_0x29148a(0x195)]=_0x1a5e45['env']);}function renderDynamicCommandHelp(_0x165164){const _0x862623=a32_0xfa3e,_0x3a50de=[_0x862623(0x19a),_0x862623(0x1ca)+_0x165164[_0x862623(0x17c)][_0x862623(0x1a1)],_0x862623(0x184)+_0x165164[_0x862623(0x17c)][_0x862623(0x18f)]];if(_0x165164[_0x862623(0x17c)][_0x862623(0x1b0)])_0x3a50de[_0x862623(0x183)]('\x20\x20\x20\x20datasetCode:\x20'+_0x165164[_0x862623(0x17c)]['datasetCode']);if(_0x165164[_0x862623(0x17c)][_0x862623(0x1a2)])_0x3a50de[_0x862623(0x183)](_0x862623(0x1b2)+_0x165164['target']['datatable']);if(_0x165164['target'][_0x862623(0x1bc)])_0x3a50de[_0x862623(0x183)](_0x862623(0x1bf)+_0x165164[_0x862623(0x17c)][_0x862623(0x1bc)]);if(_0x165164[_0x862623(0x17c)]['scriptName'])_0x3a50de['push'](_0x862623(0x196)+_0x165164[_0x862623(0x17c)][_0x862623(0x181)]);if(_0x165164[_0x862623(0x17e)][_0x862623(0x1b4)]>0x0){_0x3a50de[_0x862623(0x183)]('','\x20\x20MAP\x20TO');for(const _0x4c50c0 of _0x165164[_0x862623(0x17e)]){_0x3a50de[_0x862623(0x183)]('\x20\x20\x20\x20'+(_0x4c50c0[_0x862623(0x193)]||_0x862623(0x189))+'\x20->\x20'+_0x4c50c0[_0x862623(0x17c)]+(_0x4c50c0[_0x862623(0x19f)]?'.'+_0x4c50c0[_0x862623(0x19f)]:''));}}return _0x3a50de[_0x862623(0x1a5)]('\x0a');}function targetPreview(_0x24eb14){const _0x475a60=a32_0xfa3e;return{'kind':_0x24eb14[_0x475a60(0x1a1)],'command':_0x24eb14[_0x475a60(0x18f)],'appRef':_0x24eb14[_0x475a60(0x1ce)],'datasetCode':_0x24eb14[_0x475a60(0x1b0)],'datatable':_0x24eb14[_0x475a60(0x1a2)],'sqlCode':_0x24eb14[_0x475a60(0x1bc)],'bffCode':_0x24eb14[_0x475a60(0x180)],'bffId':_0x24eb14[_0x475a60(0x1d3)],'scriptName':_0x24eb14[_0x475a60(0x181)]};}function normalizeScalarParams(_0xaf617d){const _0x111332=a32_0xfa3e;return Object[_0x111332(0x17a)](Object[_0x111332(0x1cc)](_0xaf617d)[_0x111332(0x1a8)](([,_0x1ee1cd])=>typeof _0x1ee1cd===_0x111332(0x1a0)||typeof _0x1ee1cd===_0x111332(0x1ba)));}function hasText(_0x259c8a){const _0x3d27ab=a32_0xfa3e;return typeof _0x259c8a==='string'&&_0x259c8a[_0x3d27ab(0x1c8)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x1fbdba){const _0x424cdf=a32_0xfa3e;return _0x1fbdba===undefined||typeof _0x1fbdba===_0x424cdf(0x1a0)||typeof _0x1fbdba===_0x424cdf(0x1ba)||typeof _0x1fbdba==='boolean';}
@@ -1 +1 @@
1
- const a33_0x5694b1=a33_0x3b85;(function(_0x3ee82d,_0x2a8078){const _0x2bfd3a=a33_0x3b85,_0x1334cf=_0x3ee82d();while(!![]){try{const _0x1d6363=-parseInt(_0x2bfd3a(0xc7))/0x1*(parseInt(_0x2bfd3a(0xf0))/0x2)+-parseInt(_0x2bfd3a(0xf7))/0x3+-parseInt(_0x2bfd3a(0xe4))/0x4*(-parseInt(_0x2bfd3a(0x105))/0x5)+parseInt(_0x2bfd3a(0xe2))/0x6+parseInt(_0x2bfd3a(0xd0))/0x7+-parseInt(_0x2bfd3a(0xce))/0x8+-parseInt(_0x2bfd3a(0xfa))/0x9;if(_0x1d6363===_0x2a8078)break;else _0x1334cf['push'](_0x1334cf['shift']());}catch(_0x2676a6){_0x1334cf['push'](_0x1334cf['shift']());}}}(a33_0x226f,0xd8b2d));function a33_0x226f(){const _0x313f12=['Imported\x20','6399900bCimMZ','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','kind','risk','updated','write','filePath','Service\x20registry\x20validation\x20passed.','replaced','remove','Imported','121715LzSDuV','serviceCount','warnings','manifest','registryIndex','map','reduce','11jmdvLk','imported','report','length','type','commands','registryPath','8419056QsnrXB','importedAt','10136476uwmgSM','Local\x20service\x20not\x20found:\x20','string','detail','\x20service(s).','source','manifests','cliName','serviceCode','read','WRITE','Updated','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','registryServiceCode','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','service','8863038hcorlT','\x20service\x20','212FRfaCW','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','cliPath','name','hash','version','required','target','\x20service(s),\x20updated\x20','file','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','entry','164278azwkiO','validate','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','str','list','Service\x20Tree\x20manifest\x20file\x20path','normalizedManifest','1982436BTCRdf','lower\x20kebab-case\x20service\x20code'];a33_0x226f=function(){return _0x313f12;};return a33_0x226f();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x3b85(_0x3effa2,_0x4bc809){_0x3effa2=_0x3effa2-0xc6;const _0x226ff5=a33_0x226f();let _0x3b85cf=_0x226ff5[_0x3effa2];return _0x3b85cf;}const FILE_FLAG={'name':a33_0x5694b1(0xed),'type':a33_0x5694b1(0xd2),'required':!![],'description':a33_0x5694b1(0xf5)},SERVICE_FLAG={'name':a33_0x5694b1(0xe1),'type':a33_0x5694b1(0xd2),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x5694b1(0xf8)}};function summarizeService(_0x5ccdc6){const _0x56faf2=a33_0x5694b1;return{'serviceCode':_0x5ccdc6[_0x56faf2(0xd8)],'name':_0x5ccdc6[_0x56faf2(0xf6)][_0x56faf2(0xe1)]['name'],'version':_0x5ccdc6[_0x56faf2(0xe9)],'importedAt':_0x5ccdc6[_0x56faf2(0xcf)],'source':_0x5ccdc6[_0x56faf2(0xd5)],'commandCount':_0x5ccdc6['normalizedManifest']['commands'][_0x56faf2(0xca)],'commands':_0x5ccdc6[_0x56faf2(0xf6)]['commands'][_0x56faf2(0x10a)](_0x2e4273=>({'path':_0x2e4273[_0x56faf2(0xe6)],'description':_0x2e4273['description'],'risk':_0x2e4273[_0x56faf2(0xfd)],'target':_0x2e4273['target'],'flags':_0x2e4273['flags'][_0x56faf2(0x10a)](_0x4e8d45=>({'name':_0x4e8d45[_0x56faf2(0xe7)],'cliName':_0x4e8d45[_0x56faf2(0xd7)],'type':_0x4e8d45[_0x56faf2(0xcb)],'required':_0x4e8d45[_0x56faf2(0xea)]===!![]}))}))};}function summarizeLoadedManifest(_0x2a0dec){const _0x20a787=a33_0x5694b1;return{'service':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xe1)],'version':_0x2a0dec['normalizedManifest']?.[_0x20a787(0xe9)],'commandCount':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)][_0x20a787(0xca)]??0x0,'commands':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)]['map'](_0x63bb96=>({'path':_0x63bb96['cliPath'],'risk':_0x63bb96['risk'],'target':_0x63bb96[_0x20a787(0xeb)]}))??[],'registryIndex':_0x2a0dec[_0x20a787(0x109)],'registryServiceCode':_0x2a0dec[_0x20a787(0xdd)],'errors':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0xde)],'warnings':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0x107)]};}export const serviceDefinitions=[{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf1),'description':a33_0x5694b1(0xee),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xe80af9){const _0x25aed6=a33_0x5694b1,_0x4ca45f=loadServiceManifestFromFile(_0xe80af9[_0x25aed6(0xf3)](_0x25aed6(0xed)));if(!_0x4ca45f[_0x25aed6(0xc9)]['ok'])return{'ok':![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'serviceCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)],'services':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0x10a)](summarizeLoadedManifest),'errors':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0xde)],'warnings':_0x4ca45f['report'][_0x25aed6(0x107)]},'message':formatValidationFailure(_0x4ca45f[_0x25aed6(0xc9)])};if(_0x4ca45f['kind']==='registry'||_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)]!==0x1)return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f['kind'],'serviceCount':_0x4ca45f['manifests'][_0x25aed6(0xca)],'commandCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xc6)]((_0x45d371,_0x2b931a)=>_0x45d371+(_0x2b931a[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)]['length']??0x0),0x0),'services':_0x4ca45f[_0x25aed6(0xd6)]['map'](summarizeLoadedManifest),'warnings':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0x107)]},'message':_0x25aed6(0x101)};return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'service':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe1)],'version':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe9)],'commandCount':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)][_0x25aed6(0xca)]??0x0,'commands':_0x4ca45f[_0x25aed6(0xf6)]?.['commands'][_0x25aed6(0x10a)](_0x4294cf=>({'path':_0x4294cf[_0x25aed6(0xe6)],'risk':_0x4294cf[_0x25aed6(0xfd)],'target':_0x4294cf[_0x25aed6(0xeb)]})),'warnings':_0x4ca45f[_0x25aed6(0xc9)]['warnings']},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x5694b1(0xe1),'command':'import','description':a33_0x5694b1(0xe5),'risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2b6dba){const _0x43d07d=a33_0x5694b1,_0x564a0c=loadServiceManifestFromFile(_0x2b6dba[_0x43d07d(0xf3)](_0x43d07d(0xed)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x564a0c[_0x43d07d(0x100)],'hash':_0x564a0c[_0x43d07d(0xe8)],'kind':_0x564a0c[_0x43d07d(0xfc)],'ok':_0x564a0c[_0x43d07d(0xc9)]['ok'],'service':_0x564a0c['normalizedManifest']?.['service'],'version':_0x564a0c['normalizedManifest']?.[_0x43d07d(0xe9)],'serviceCount':_0x564a0c[_0x43d07d(0xd6)][_0x43d07d(0xca)],'services':_0x564a0c['manifests'][_0x43d07d(0x10a)](_0x1a47aa=>({'service':_0x1a47aa['normalizedManifest']?.['service'],'version':_0x1a47aa['normalizedManifest']?.['version'],'commandCount':_0x1a47aa[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0,'errors':_0x1a47aa[_0x43d07d(0xc9)][_0x43d07d(0xde)]})),'errors':_0x564a0c[_0x43d07d(0xc9)][_0x43d07d(0xde)],'commandCount':_0x564a0c[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0},'description':_0x43d07d(0xdf)};},async 'execute'(_0x3de989){const _0x23f332=a33_0x5694b1,_0x1fc96c=importServiceManifest(_0x3de989['str'](_0x23f332(0xed)));if(_0x1fc96c['entries'][_0x23f332(0xca)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'imported':_0x1fc96c[_0x23f332(0xc8)],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c['serviceCount'],'services':_0x1fc96c['entries'][_0x23f332(0x10a)](summarizeService)},'message':_0x23f332(0xf9)+_0x1fc96c[_0x23f332(0xc8)]+_0x23f332(0xec)+_0x1fc96c['updated']+_0x23f332(0xd4)};return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'replaced':_0x1fc96c[_0x23f332(0x102)],'imported':_0x1fc96c['imported'],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c[_0x23f332(0x106)],'service':summarizeService(_0x1fc96c[_0x23f332(0xef)])},'message':(_0x1fc96c[_0x23f332(0x102)]?_0x23f332(0xdb):_0x23f332(0x104))+_0x23f332(0xe3)+_0x1fc96c['entry']['serviceCode']+'.'};}},{'service':a33_0x5694b1(0xe1),'command':'export','description':a33_0x5694b1(0xf2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x473349){const _0x2927bd=a33_0x5694b1,_0x3596ac=getLocalServiceEntry(_0x473349[_0x2927bd(0xf3)]('service'));return{'method':_0x2927bd(0xda),'url':_0x473349['str'](_0x2927bd(0xed)),'body':{'service':_0x473349[_0x2927bd(0xf3)](_0x2927bd(0xe1)),'found':Boolean(_0x3596ac),'version':_0x3596ac?.['version'],'source':_0x3596ac?.[_0x2927bd(0xd5)]},'description':_0x2927bd(0xfb)};},async 'execute'(_0x3f6518){const _0x3cb766=a33_0x5694b1,_0x5d3aef=exportServiceManifest(_0x3f6518[_0x3cb766(0xf3)](_0x3cb766(0xe1)),_0x3f6518[_0x3cb766(0xf3)]('file'));return{'ok':!![],'data':{'registryPath':_0x5d3aef[_0x3cb766(0xcd)],'file':_0x5d3aef[_0x3cb766(0x100)],'service':summarizeService(_0x5d3aef[_0x3cb766(0xef)])},'message':'Exported\x20service\x20'+_0x5d3aef['entry'][_0x3cb766(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf4),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x55a3c0=a33_0x5694b1,_0x4e0cd0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x4e0cd0[_0x55a3c0(0xca)],'services':_0x4e0cd0[_0x55a3c0(0x10a)](summarizeService)}};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0x103),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3ed9ca){const _0x75e0b2=a33_0x5694b1,_0x307905=getLocalServiceEntry(_0x3ed9ca['str']('service'));return{'method':_0x75e0b2(0xda),'url':getServiceRegistryPath(),'body':{'service':_0x3ed9ca[_0x75e0b2(0xf3)](_0x75e0b2(0xe1)),'found':Boolean(_0x307905),'version':_0x307905?.[_0x75e0b2(0xe9)],'source':_0x307905?.[_0x75e0b2(0xd5)]},'description':_0x75e0b2(0xdc)};},async 'execute'(_0xd8ab42){const _0x293987=a33_0x5694b1,_0x1565f6=removeServiceManifest(_0xd8ab42['str'](_0x293987(0xe1)));return{'ok':!![],'data':{'registryPath':_0x1565f6[_0x293987(0xcd)],'serviceCount':_0x1565f6['serviceCount'],'service':summarizeService(_0x1565f6[_0x293987(0xef)])},'message':'Removed\x20service\x20'+_0x1565f6[_0x293987(0xef)][_0x293987(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xd3),'description':a33_0x5694b1(0xe0),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xcf0ac4){const _0x22e95d=a33_0x5694b1,_0x2bc690=getLocalServiceEntry(_0xcf0ac4['str'](_0x22e95d(0xe1)));if(!_0x2bc690)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xcf0ac4[_0x22e95d(0xf3)]('service')},'message':_0x22e95d(0xd1)+_0xcf0ac4[_0x22e95d(0xf3)](_0x22e95d(0xe1))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2bc690),'manifest':_0x2bc690[_0x22e95d(0x108)],'normalizedManifest':_0x2bc690[_0x22e95d(0xf6)]}};}}];
1
+ const a33_0x47bb77=a33_0x2766;(function(_0x2016b6,_0x35b212){const _0x17bd08=a33_0x2766,_0x19e3b2=_0x2016b6();while(!![]){try{const _0x22a82d=-parseInt(_0x17bd08(0x1c5))/0x1*(parseInt(_0x17bd08(0x1e0))/0x2)+-parseInt(_0x17bd08(0x1ad))/0x3*(-parseInt(_0x17bd08(0x1b6))/0x4)+-parseInt(_0x17bd08(0x1b4))/0x5+parseInt(_0x17bd08(0x1d7))/0x6+-parseInt(_0x17bd08(0x1cf))/0x7+parseInt(_0x17bd08(0x1dd))/0x8+parseInt(_0x17bd08(0x1d8))/0x9;if(_0x22a82d===_0x35b212)break;else _0x19e3b2['push'](_0x19e3b2['shift']());}catch(_0x11b0b8){_0x19e3b2['push'](_0x19e3b2['shift']());}}}(a33_0x3df1,0x5fc91));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x47bb77(0x1e1),'required':!![],'description':a33_0x47bb77(0x1b5)},SERVICE_FLAG={'name':a33_0x47bb77(0x1a6),'type':'string','required':!![],'description':a33_0x47bb77(0x1c8),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x47bb77(0x1aa)}};function summarizeService(_0x3f473d){const _0x188c8b=a33_0x47bb77;return{'serviceCode':_0x3f473d[_0x188c8b(0x1af)],'name':_0x3f473d[_0x188c8b(0x1be)][_0x188c8b(0x1a6)][_0x188c8b(0x1e2)],'version':_0x3f473d['version'],'importedAt':_0x3f473d[_0x188c8b(0x1cb)],'source':_0x3f473d['source'],'commandCount':_0x3f473d[_0x188c8b(0x1be)]['commands'][_0x188c8b(0x1e7)],'commands':_0x3f473d[_0x188c8b(0x1be)][_0x188c8b(0x1bc)][_0x188c8b(0x1d3)](_0x59f251=>({'path':_0x59f251[_0x188c8b(0x1ae)],'description':_0x59f251[_0x188c8b(0x1df)],'risk':_0x59f251[_0x188c8b(0x1ba)],'target':_0x59f251[_0x188c8b(0x1bb)],'flags':_0x59f251['flags'][_0x188c8b(0x1d3)](_0x422d7b=>({'name':_0x422d7b[_0x188c8b(0x1e2)],'cliName':_0x422d7b['cliName'],'type':_0x422d7b[_0x188c8b(0x1c2)],'required':_0x422d7b[_0x188c8b(0x1b3)]===!![]}))}))};}function a33_0x2766(_0x33386b,_0x3bff49){_0x33386b=_0x33386b-0x1a1;const _0x3df1d0=a33_0x3df1();let _0x2766e3=_0x3df1d0[_0x33386b];return _0x2766e3;}function summarizeLoadedManifest(_0xb45c87){const _0x299e5e=a33_0x47bb77;return{'service':_0xb45c87[_0x299e5e(0x1be)]?.['service'],'version':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1d9)],'commandCount':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1bc)][_0x299e5e(0x1e7)]??0x0,'commands':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1bc)][_0x299e5e(0x1d3)](_0x5e0454=>({'path':_0x5e0454[_0x299e5e(0x1ae)],'risk':_0x5e0454[_0x299e5e(0x1ba)],'target':_0x5e0454['target']}))??[],'registryIndex':_0xb45c87[_0x299e5e(0x1c4)],'registryServiceCode':_0xb45c87[_0x299e5e(0x1c7)],'errors':_0xb45c87['report'][_0x299e5e(0x1cd)],'warnings':_0xb45c87[_0x299e5e(0x1b8)][_0x299e5e(0x1ca)]};}export const serviceDefinitions=[{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1a8),'description':a33_0x47bb77(0x1a5),'risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x5e2649){const _0x582d14=a33_0x47bb77,_0x4e85e5=loadServiceManifestFromFile(_0x5e2649['str'](_0x582d14(0x1c3)));if(!_0x4e85e5[_0x582d14(0x1b8)]['ok'])return{'ok':![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'serviceCount':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1e7)],'services':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1d3)](summarizeLoadedManifest),'errors':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1cd)],'warnings':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1ca)]},'message':formatValidationFailure(_0x4e85e5[_0x582d14(0x1b8)])};if(_0x4e85e5[_0x582d14(0x1c1)]===_0x582d14(0x1c9)||_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1e7)]!==0x1)return{'ok':!![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'serviceCount':_0x4e85e5['manifests'][_0x582d14(0x1e7)],'commandCount':_0x4e85e5[_0x582d14(0x1cc)]['reduce']((_0x55289a,_0x56e237)=>_0x55289a+(_0x56e237['normalizedManifest']?.['commands'][_0x582d14(0x1e7)]??0x0),0x0),'services':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1d3)](summarizeLoadedManifest),'warnings':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1ca)]},'message':_0x582d14(0x1bd)};return{'ok':!![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'service':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1a6)],'version':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1d9)],'commandCount':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1bc)]['length']??0x0,'commands':_0x4e85e5['normalizedManifest']?.[_0x582d14(0x1bc)][_0x582d14(0x1d3)](_0x2e7c75=>({'path':_0x2e7c75[_0x582d14(0x1ae)],'risk':_0x2e7c75[_0x582d14(0x1ba)],'target':_0x2e7c75[_0x582d14(0x1bb)]})),'warnings':_0x4e85e5['report'][_0x582d14(0x1ca)]},'message':_0x582d14(0x1ab)};}},{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1c6),'description':a33_0x47bb77(0x1c0),'risk':a33_0x47bb77(0x1d1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3e4496){const _0x27fd40=a33_0x47bb77,_0x456191=loadServiceManifestFromFile(_0x3e4496[_0x27fd40(0x1dc)](_0x27fd40(0x1c3)));return{'method':_0x27fd40(0x1b0),'url':getServiceRegistryPath(),'body':{'file':_0x456191[_0x27fd40(0x1a1)],'hash':_0x456191[_0x27fd40(0x1db)],'kind':_0x456191[_0x27fd40(0x1c1)],'ok':_0x456191[_0x27fd40(0x1b8)]['ok'],'service':_0x456191[_0x27fd40(0x1be)]?.[_0x27fd40(0x1a6)],'version':_0x456191[_0x27fd40(0x1be)]?.[_0x27fd40(0x1d9)],'serviceCount':_0x456191[_0x27fd40(0x1cc)][_0x27fd40(0x1e7)],'services':_0x456191['manifests'][_0x27fd40(0x1d3)](_0x2cb651=>({'service':_0x2cb651[_0x27fd40(0x1be)]?.[_0x27fd40(0x1a6)],'version':_0x2cb651[_0x27fd40(0x1be)]?.[_0x27fd40(0x1d9)],'commandCount':_0x2cb651['normalizedManifest']?.[_0x27fd40(0x1bc)][_0x27fd40(0x1e7)]??0x0,'errors':_0x2cb651[_0x27fd40(0x1b8)][_0x27fd40(0x1cd)]})),'errors':_0x456191[_0x27fd40(0x1b8)][_0x27fd40(0x1cd)],'commandCount':_0x456191['normalizedManifest']?.[_0x27fd40(0x1bc)][_0x27fd40(0x1e7)]??0x0},'description':_0x27fd40(0x1e6)};},async 'execute'(_0x31040d){const _0x1da91c=a33_0x47bb77,_0x755252=importServiceManifest(_0x31040d[_0x1da91c(0x1dc)](_0x1da91c(0x1c3)));if(_0x755252[_0x1da91c(0x1d6)][_0x1da91c(0x1e7)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x755252[_0x1da91c(0x1d5)],'imported':_0x755252[_0x1da91c(0x1a4)],'updated':_0x755252['updated'],'serviceCount':_0x755252[_0x1da91c(0x1e3)],'services':_0x755252[_0x1da91c(0x1d6)][_0x1da91c(0x1d3)](summarizeService)},'message':_0x1da91c(0x1bf)+_0x755252[_0x1da91c(0x1a4)]+_0x1da91c(0x1da)+_0x755252[_0x1da91c(0x1ac)]+_0x1da91c(0x1b7)};return{'ok':!![],'data':{'registryPath':_0x755252[_0x1da91c(0x1d5)],'replaced':_0x755252[_0x1da91c(0x1d2)],'imported':_0x755252['imported'],'updated':_0x755252[_0x1da91c(0x1ac)],'serviceCount':_0x755252[_0x1da91c(0x1e3)],'service':summarizeService(_0x755252[_0x1da91c(0x1e4)])},'message':(_0x755252[_0x1da91c(0x1d2)]?'Updated':'Imported')+_0x1da91c(0x1d4)+_0x755252[_0x1da91c(0x1e4)]['serviceCode']+'.'};}},{'service':a33_0x47bb77(0x1a6),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x47bb77(0x1d1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5ac926){const _0xaa9e1=a33_0x47bb77,_0x4ad52b=getLocalServiceEntry(_0x5ac926[_0xaa9e1(0x1dc)](_0xaa9e1(0x1a6)));return{'method':'WRITE','url':_0x5ac926[_0xaa9e1(0x1dc)](_0xaa9e1(0x1c3)),'body':{'service':_0x5ac926[_0xaa9e1(0x1dc)]('service'),'found':Boolean(_0x4ad52b),'version':_0x4ad52b?.[_0xaa9e1(0x1d9)],'source':_0x4ad52b?.[_0xaa9e1(0x1e5)]},'description':_0xaa9e1(0x1a7)};},async 'execute'(_0x12eef0){const _0x12fc02=a33_0x47bb77,_0x493d53=exportServiceManifest(_0x12eef0[_0x12fc02(0x1dc)](_0x12fc02(0x1a6)),_0x12eef0[_0x12fc02(0x1dc)](_0x12fc02(0x1c3)));return{'ok':!![],'data':{'registryPath':_0x493d53[_0x12fc02(0x1d5)],'file':_0x493d53[_0x12fc02(0x1a1)],'service':summarizeService(_0x493d53[_0x12fc02(0x1e4)])},'message':_0x12fc02(0x1b2)+_0x493d53[_0x12fc02(0x1e4)][_0x12fc02(0x1af)]+'.'};}},{'service':a33_0x47bb77(0x1a6),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x1f8570=a33_0x47bb77,_0x20888d=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x20888d[_0x1f8570(0x1e7)],'services':_0x20888d[_0x1f8570(0x1d3)](summarizeService)}};}},{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1b9),'description':a33_0x47bb77(0x1ce),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x10c8b2){const _0x3f385f=a33_0x47bb77,_0x26d81e=getLocalServiceEntry(_0x10c8b2['str'](_0x3f385f(0x1a6)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x10c8b2[_0x3f385f(0x1dc)](_0x3f385f(0x1a6)),'found':Boolean(_0x26d81e),'version':_0x26d81e?.['version'],'source':_0x26d81e?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x2ac3f9){const _0x34b687=a33_0x47bb77,_0x27a7a1=removeServiceManifest(_0x2ac3f9[_0x34b687(0x1dc)](_0x34b687(0x1a6)));return{'ok':!![],'data':{'registryPath':_0x27a7a1[_0x34b687(0x1d5)],'serviceCount':_0x27a7a1[_0x34b687(0x1e3)],'service':summarizeService(_0x27a7a1[_0x34b687(0x1e4)])},'message':_0x34b687(0x1d0)+_0x27a7a1[_0x34b687(0x1e4)]['serviceCode']+'.'};}},{'service':'service','command':a33_0x47bb77(0x1b1),'description':a33_0x47bb77(0x1a2),'risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4078f7){const _0x4bcf8c=a33_0x47bb77,_0x462161=getLocalServiceEntry(_0x4078f7['str'](_0x4bcf8c(0x1a6)));if(!_0x462161)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4078f7['str']('service')},'message':_0x4bcf8c(0x1de)+_0x4078f7[_0x4bcf8c(0x1dc)](_0x4bcf8c(0x1a6))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x462161),'manifest':_0x462161[_0x4bcf8c(0x1a3)],'normalizedManifest':_0x462161[_0x4bcf8c(0x1be)]}};}}];function a33_0x3df1(){const _0x1cbb15=['updated','970203tPhVDR','cliPath','serviceCode','WRITE','detail','Exported\x20service\x20','required','2632610IlTDUF','Service\x20Tree\x20manifest\x20file\x20path','4CuhjfP','\x20service(s).','report','remove','risk','target','commands','Service\x20registry\x20validation\x20passed.','normalizedManifest','Imported\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','kind','type','file','registryIndex','13gMOPnZ','import','registryServiceCode','Local\x20service\x20code,\x20for\x20example\x20crm','registry','warnings','importedAt','manifests','errors','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','347963gONBSE','Removed\x20service\x20','write','replaced','map','\x20service\x20','registryPath','entries','3408402iMDuoy','6068961hUzCOs','version','\x20service(s),\x20updated\x20','hash','str','922512yRInas','Local\x20service\x20not\x20found:\x20','description','109622YHjbYT','string','name','serviceCount','entry','source','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','length','filePath','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','manifest','imported','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','service','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','validate','read','lower\x20kebab-case\x20service\x20code','Service\x20manifest\x20validation\x20passed.'];a33_0x3df1=function(){return _0x1cbb15;};return a33_0x3df1();}
@@ -1 +1 @@
1
- const a34_0x1775bb=a34_0x3351;(function(_0xc5f0a3,_0x35379d){const _0x19d6f8=a34_0x3351,_0x556fec=_0xc5f0a3();while(!![]){try{const _0x370e99=-parseInt(_0x19d6f8(0x17c))/0x1+parseInt(_0x19d6f8(0x16e))/0x2+-parseInt(_0x19d6f8(0x196))/0x3+-parseInt(_0x19d6f8(0x17a))/0x4*(parseInt(_0x19d6f8(0x186))/0x5)+-parseInt(_0x19d6f8(0x16d))/0x6*(parseInt(_0x19d6f8(0x172))/0x7)+-parseInt(_0x19d6f8(0x167))/0x8*(parseInt(_0x19d6f8(0x192))/0x9)+-parseInt(_0x19d6f8(0x16f))/0xa*(-parseInt(_0x19d6f8(0x173))/0xb);if(_0x370e99===_0x35379d)break;else _0x556fec['push'](_0x556fec['shift']());}catch(_0x26cfd7){_0x556fec['push'](_0x556fec['shift']());}}}(a34_0x45ea,0x6b4cf));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=a34_0x1775bb(0x178);export function getServiceRegistryPath(_0x4afb9f={}){const _0x1008d8=a34_0x1775bb;return resolve(_0x4afb9f[_0x1008d8(0x1a5)]??homedir(),PRODUCT_CONFIG[_0x1008d8(0x181)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x24cd46={}){const _0x4ce6fa=a34_0x1775bb,_0x27a100=getServiceRegistryPath(_0x24cd46);if(!existsSync(_0x27a100))return emptyServiceRegistry();try{const _0x399b76=readFileSync(_0x27a100,_0x4ce6fa(0x187));if(!_0x399b76[_0x4ce6fa(0x1a0)]())return emptyServiceRegistry();const _0xbb739f=JSON[_0x4ce6fa(0x1b1)](_0x399b76);if(_0xbb739f[_0x4ce6fa(0x1b8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x18a)+String(_0xbb739f[_0x4ce6fa(0x1b8)]),_0x4ce6fa(0x1ae)+_0x27a100+'.');if(!Array[_0x4ce6fa(0x1b6)](_0xbb739f[_0x4ce6fa(0x18c)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xbb739f['updatedAt'],'services':_0xbb739f['services']};}catch(_0x45f4fd){if(_0x45f4fd instanceof Error&&_0x45f4fd[_0x4ce6fa(0x171)]==='CliError')throw _0x45f4fd;throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x17e)+_0x27a100,_0x4ce6fa(0x182));}}export function writeServiceRegistry(_0x484b57,_0x1bc402={}){const _0x1a41f6=a34_0x1775bb,_0x3f54f7=getServiceRegistryPath(_0x1bc402),_0x4db42b=dirname(_0x3f54f7);!existsSync(_0x4db42b)&&mkdirSync(_0x4db42b,{'recursive':!![]});const _0x3dc7e9=_0x3f54f7+_0x1a41f6(0x19f);try{writeFileSync(_0x3dc7e9,JSON[_0x1a41f6(0x184)](_0x484b57,null,0x2)+'\x0a',{'encoding':_0x1a41f6(0x187),'mode':0x180}),renameSync(_0x3dc7e9,_0x3f54f7);}catch(_0x5b6428){try{unlinkSync(_0x3dc7e9);}catch{}if(_0x5b6428?.[_0x1a41f6(0x1bb)]===_0x1a41f6(0x193))throw CliErrors['validation'](_0x1a41f6(0x1ac)+_0x3f54f7);throw _0x5b6428;}return _0x3f54f7;}export function loadServiceManifestFromFile(_0x492ab6){const _0x5ba821=a34_0x1775bb,_0x4c2e26=resolve(_0x492ab6);if(!existsSync(_0x4c2e26))throw CliErrors['validation'](_0x5ba821(0x189)+_0x492ab6);let _0x23e4f9;const _0x3bb13c=readFileSync(_0x4c2e26,_0x5ba821(0x187));try{_0x23e4f9=JSON['parse'](_0x3bb13c);}catch{throw CliErrors['validation'](_0x5ba821(0x19d)+_0x492ab6,_0x5ba821(0x1ba));}const _0x4b5464=sha256(_0x3bb13c),_0x1a13df=extractLoadedServiceManifests(_0x23e4f9,_0x4b5464),_0x28e752=aggregateValidationReports(_0x1a13df),_0x1b68e8=_0x1a13df[0x0];return{'filePath':_0x4c2e26,'hash':_0x4b5464,'kind':isServiceRegistryLike(_0x23e4f9)?_0x5ba821(0x170):_0x5ba821(0x18d),'manifest':_0x1b68e8?.[_0x5ba821(0x18d)]??_0x23e4f9,'report':_0x28e752,'normalizedManifest':_0x1a13df[_0x5ba821(0x1b3)]===0x1?_0x1b68e8?.[_0x5ba821(0x1a6)]:undefined,'manifests':_0x1a13df};}function a34_0x3351(_0xd93cc1,_0xfaba7f){_0xd93cc1=_0xd93cc1-0x167;const _0x45eaea=a34_0x45ea();let _0x3351d9=_0x45eaea[_0xd93cc1];return _0x3351d9;}export function importServiceManifest(_0x5ee4c2,_0x50954d={}){const _0x10bb4e=a34_0x1775bb,_0x2fe703=loadServiceManifestFromFile(_0x5ee4c2);if(!_0x2fe703[_0x10bb4e(0x1af)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x2fe703[_0x10bb4e(0x1af)]),_0x10bb4e(0x16a));if(_0x2fe703[_0x10bb4e(0x194)][_0x10bb4e(0x1b3)]===0x0)throw CliErrors[_0x10bb4e(0x174)](_0x10bb4e(0x1b9),_0x10bb4e(0x19b));const _0x5c4d2d=readServiceRegistry(_0x50954d),_0x1656d0=(_0x50954d[_0x10bb4e(0x175)]??(()=>new Date()))()[_0x10bb4e(0x188)](),_0x27daeb=[];let _0x442fa6=0x0,_0x2d5e81=0x0;for(const _0x4ec2dd of _0x2fe703[_0x10bb4e(0x194)]){if(!_0x4ec2dd['normalizedManifest'])continue;const _0x5e27a3=_0x4ec2dd['normalizedManifest']['service'][_0x10bb4e(0x1bb)],_0x41dfa1={'serviceCode':_0x5e27a3,'version':_0x4ec2dd['normalizedManifest'][_0x10bb4e(0x1b4)],'importedAt':_0x1656d0,'source':{'type':_0x10bb4e(0x195),'path':_0x2fe703[_0x10bb4e(0x1b2)],'hash':_0x4ec2dd[_0x10bb4e(0x183)]},'manifest':_0x4ec2dd[_0x10bb4e(0x18d)],'normalizedManifest':_0x4ec2dd[_0x10bb4e(0x1a6)]},_0x5ba010=_0x5c4d2d['services'][_0x10bb4e(0x1bc)](_0x16faf=>_0x16faf[_0x10bb4e(0x19e)]===_0x5e27a3);_0x5ba010>=0x0?(_0x5c4d2d[_0x10bb4e(0x18c)][_0x5ba010]=_0x41dfa1,_0x2d5e81++):(_0x5c4d2d[_0x10bb4e(0x18c)][_0x10bb4e(0x1bd)](_0x41dfa1),_0x442fa6++),_0x27daeb[_0x10bb4e(0x1bd)](_0x41dfa1);}_0x5c4d2d['services'][_0x10bb4e(0x18e)]((_0x4fbdb2,_0x4431d3)=>_0x4fbdb2[_0x10bb4e(0x19e)][_0x10bb4e(0x1a3)](_0x4431d3[_0x10bb4e(0x19e)])),_0x5c4d2d[_0x10bb4e(0x1a7)]=_0x1656d0;const _0x5909ed=writeServiceRegistry(_0x5c4d2d,_0x50954d);return{'registryPath':_0x5909ed,'entry':_0x27daeb[0x0],'replaced':_0x27daeb[_0x10bb4e(0x1b3)]===0x1?_0x2d5e81===0x1:_0x2d5e81>0x0,'entries':_0x27daeb,'imported':_0x442fa6,'updated':_0x2d5e81,'serviceCount':_0x5c4d2d[_0x10bb4e(0x18c)]['length']};}export function exportServiceManifest(_0x3856f0,_0x214063,_0x1f1386={}){const _0x1a7852=a34_0x1775bb,_0x5d25a6=getServiceRegistryPath(_0x1f1386),_0x1d1a00=getLocalServiceEntry(_0x3856f0,_0x1f1386);if(!_0x1d1a00)throw CliErrors[_0x1a7852(0x174)](_0x1a7852(0x16b)+_0x3856f0,_0x1a7852(0x1a2));const _0xcb3698=resolve(_0x214063),_0x58c22a=dirname(_0xcb3698);return!existsSync(_0x58c22a)&&mkdirSync(_0x58c22a,{'recursive':!![]}),writeFileSync(_0xcb3698,JSON['stringify'](_0x1d1a00[_0x1a7852(0x18d)],null,0x2)+'\x0a',{'encoding':_0x1a7852(0x187),'mode':0x180}),{'registryPath':_0x5d25a6,'filePath':_0xcb3698,'entry':_0x1d1a00};}export function removeServiceManifest(_0x55fe5a,_0x8d787d={}){const _0x393d04=a34_0x1775bb,_0x496b14=readServiceRegistry(_0x8d787d),_0x3f5bcd=_0x55fe5a[_0x393d04(0x1a0)](),_0x4208bc=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1bc)](_0x3121d7=>_0x3121d7[_0x393d04(0x19e)]===_0x3f5bcd);if(_0x4208bc<0x0)throw CliErrors['validation'](_0x393d04(0x16b)+_0x3f5bcd,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4633e2]=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1a1)](_0x4208bc,0x1),_0x29a454=(_0x8d787d[_0x393d04(0x175)]??(()=>new Date()))()[_0x393d04(0x188)]();_0x496b14[_0x393d04(0x1a7)]=_0x29a454;const _0x3d08af=writeServiceRegistry(_0x496b14,_0x8d787d);return{'registryPath':_0x3d08af,'entry':_0x4633e2,'serviceCount':_0x496b14[_0x393d04(0x18c)]['length']};}export function listLocalServices(_0x2dcd51={}){const _0x14bcab=a34_0x1775bb;return readServiceRegistry(_0x2dcd51)[_0x14bcab(0x18c)];}export function getLocalServiceEntry(_0xdb1b08,_0x3c50e4={}){const _0x5be0de=a34_0x1775bb;return readServiceRegistry(_0x3c50e4)[_0x5be0de(0x18c)][_0x5be0de(0x17b)](_0x470461=>_0x470461['serviceCode']===_0xdb1b08[_0x5be0de(0x1a0)]());}export function listLocalServiceTrees(_0x574748={}){const _0x3a3cc7=a34_0x1775bb;return readServiceRegistry(_0x574748)['services'][_0x3a3cc7(0x185)](_0x150d17=>_0x150d17[_0x3a3cc7(0x1a6)]);}export function inspectServiceRegistry(_0x42b87c={}){const _0x223b47=a34_0x1775bb,_0x553071=getServiceRegistryPath(_0x42b87c);if(!existsSync(_0x553071))return emptyServiceRegistryInspection(_0x553071,_0x223b47(0x176),![]);try{const _0x215d82=readFileSync(_0x553071,_0x223b47(0x187));if(!_0x215d82[_0x223b47(0x1a0)]())return emptyServiceRegistryInspection(_0x553071,'empty',!![]);const _0x5793aa=JSON[_0x223b47(0x1b1)](_0x215d82);if(_0x5793aa['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':_0x5793aa[_0x223b47(0x1b8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x5793aa[_0x223b47(0x1b8)])};if(!Array[_0x223b47(0x1b6)](_0x5793aa[_0x223b47(0x18c)]))return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa['updatedAt'],'message':_0x223b47(0x19a)};const _0xa4fc0d=_0x5793aa[_0x223b47(0x18c)][_0x223b47(0x185)](summarizeLocalServiceEntry);return{'registryPath':_0x553071,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa[_0x223b47(0x1a7)],'serviceCount':_0xa4fc0d[_0x223b47(0x1b3)],'commandCount':_0xa4fc0d[_0x223b47(0x18b)]((_0x16f821,_0xad33d)=>_0x16f821+_0xad33d[_0x223b47(0x1b0)],0x0),'services':_0xa4fc0d};}catch(_0x289e91){return{...emptyServiceRegistryInspection(_0x553071,'invalid',!![]),'message':_0x289e91 instanceof Error?_0x289e91[_0x223b47(0x18f)]:String(_0x289e91)};}}export function formatValidationFailure(_0x3a7f09){const _0x1c149d=a34_0x1775bb,_0x515b88=_0x3a7f09[_0x1c149d(0x191)]['map'](_0x217c6d=>_0x217c6d[_0x1c149d(0x1ad)]+':\x20'+_0x217c6d[_0x1c149d(0x18f)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x515b88[_0x1c149d(0x1a8)]('\x0a');}function extractLoadedServiceManifests(_0x3cda2a,_0x114301){const _0x292096=a34_0x1775bb;if(!isServiceRegistryLike(_0x3cda2a)){const _0x289cfb=_0x3cda2a,_0x399ca1=validateServiceTreeManifest(_0x289cfb);return[{'manifest':_0x289cfb,'report':_0x399ca1,'normalizedManifest':_0x399ca1['ok']?normalizeServiceTreeManifest(_0x289cfb):undefined,'sourceHash':_0x114301}];}return _0x3cda2a[_0x292096(0x18c)][_0x292096(0x185)]((_0x271070,_0x3f4388)=>{const _0x5339ab=_0x292096,_0x1dfb9f=isObjectRecord(_0x271070)?_0x271070[_0x5339ab(0x18d)]:undefined,_0x16f2fd=validateServiceTreeManifest(_0x1dfb9f),_0x25b464=isObjectRecord(_0x271070)&&typeof _0x271070[_0x5339ab(0x19e)]==='string'?_0x271070[_0x5339ab(0x19e)]:undefined;return{'manifest':_0x1dfb9f,'report':_0x16f2fd,'normalizedManifest':_0x16f2fd['ok']?normalizeServiceTreeManifest(_0x1dfb9f):undefined,'sourceHash':sha256(JSON[_0x5339ab(0x184)](_0x1dfb9f,null,0x2)+'\x0a'),'registryIndex':_0x3f4388,'registryServiceCode':_0x25b464};});}function aggregateValidationReports(_0x423bfe){const _0x4b4f80=a34_0x1775bb,_0x47e156=_0x423bfe[_0x4b4f80(0x1b5)](_0x546982=>_0x546982[_0x4b4f80(0x16c)]===undefined?_0x546982[_0x4b4f80(0x1af)][_0x4b4f80(0x191)]:_0x546982['report']['errors']['map'](_0x3b2d04=>({..._0x3b2d04,'path':prefixRegistryIssuePath(_0x546982[_0x4b4f80(0x16c)],_0x3b2d04[_0x4b4f80(0x1ad)])}))),_0x179681=_0x423bfe[_0x4b4f80(0x1b5)](_0x3981c3=>_0x3981c3[_0x4b4f80(0x16c)]===undefined?_0x3981c3['report'][_0x4b4f80(0x1a4)]:_0x3981c3['report'][_0x4b4f80(0x1a4)][_0x4b4f80(0x185)](_0x57f532=>({..._0x57f532,'path':prefixRegistryIssuePath(_0x3981c3['registryIndex'],_0x57f532[_0x4b4f80(0x1ad)])})));return{'ok':_0x47e156['length']===0x0,'errors':_0x47e156,'warnings':_0x179681};}function prefixRegistryIssuePath(_0x31731a,_0x45cef9){const _0x3fc174=a34_0x1775bb;if(_0x45cef9==='$')return'$.services['+_0x31731a+'].manifest';if(_0x45cef9[_0x3fc174(0x198)]('$.'))return _0x3fc174(0x17d)+_0x31731a+'].manifest'+_0x45cef9[_0x3fc174(0x169)](0x1);if(_0x45cef9['startsWith']('$['))return _0x3fc174(0x17d)+_0x31731a+_0x3fc174(0x180)+_0x45cef9[_0x3fc174(0x169)](0x1);return _0x3fc174(0x17d)+_0x31731a+'].manifest.'+_0x45cef9;}function isServiceRegistryLike(_0x5e16ac){const _0x569f83=a34_0x1775bb;return isObjectRecord(_0x5e16ac)&&_0x5e16ac[_0x569f83(0x1b8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x569f83(0x1b6)](_0x5e16ac[_0x569f83(0x18c)]);}function a34_0x45ea(){const _0x54cd74=['normalizedManifest','updatedAt','join','update','sha256','cliPath','Cannot\x20write\x20service\x20registry:\x20','path','Remove\x20or\x20migrate\x20','report','commandCount','parse','filePath','length','version','flatMap','isArray','invalid','schemaVersion','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','code','findIndex','push','4112ilyDAG','importedAt','slice','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Local\x20service\x20not\x20found:\x20','registryIndex','24eTSFLx','640714lZrkqe','10xhbUyu','registry','name','526561cCEbpN','29536111dJqAQu','validation','now','missing','target','service.json','service','4MUHtgf','find','400597XsPIGI','$.services[','Invalid\x20service\x20registry\x20JSON:\x20','kind','].manifest','homeDirName','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','sourceHash','stringify','map','1416585uuokhX','utf8','toISOString','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','services','manifest','sort','message','hex','errors','14076OTohRf','ENOENT','manifests','file','2331759TVjBBY','digest','startsWith','command','services\x20must\x20be\x20an\x20array','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','object','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','.tmp','trim','splice','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','localeCompare','warnings','homeDir'];a34_0x45ea=function(){return _0x54cd74;};return a34_0x45ea();}function isObjectRecord(_0x185062){const _0x25503c=a34_0x1775bb;return Boolean(_0x185062)&&typeof _0x185062===_0x25503c(0x19c)&&!Array['isArray'](_0x185062);}function emptyServiceRegistryInspection(_0x1c9e7f,_0x29cd59,_0x3263a8){return{'registryPath':_0x1c9e7f,'exists':_0x3263a8,'status':_0x29cd59,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x563007){const _0x303f62=a34_0x1775bb,_0x86600d=_0x563007['normalizedManifest'],_0x5a130b=_0x86600d['commands'][_0x303f62(0x185)](_0x41eed8=>({'path':_0x41eed8[_0x303f62(0x1ab)],'description':_0x41eed8['description'],'risk':_0x41eed8['risk'],'targetKind':_0x41eed8['target'][_0x303f62(0x17f)],'targetCommand':_0x41eed8[_0x303f62(0x177)][_0x303f62(0x199)]}));return{'serviceCode':_0x563007[_0x303f62(0x19e)],'name':_0x86600d[_0x303f62(0x179)][_0x303f62(0x171)],'description':_0x86600d['service']['description'],'version':_0x563007[_0x303f62(0x1b4)],'importedAt':_0x563007[_0x303f62(0x168)],'source':_0x563007['source'],'commandCount':_0x5a130b[_0x303f62(0x1b3)],'commands':_0x5a130b};}function sha256(_0x555a9a){const _0x2a691a=a34_0x1775bb;return createHash(_0x2a691a(0x1aa))[_0x2a691a(0x1a9)](_0x555a9a)[_0x2a691a(0x197)](_0x2a691a(0x190));}
1
+ const a34_0x1eb040=a34_0x38c1;(function(_0xf6d01d,_0x173394){const _0x5748c8=a34_0x38c1,_0x513f9a=_0xf6d01d();while(!![]){try{const _0x10e7b1=-parseInt(_0x5748c8(0x16e))/0x1*(parseInt(_0x5748c8(0x136))/0x2)+-parseInt(_0x5748c8(0x15e))/0x3*(-parseInt(_0x5748c8(0x14e))/0x4)+parseInt(_0x5748c8(0x13c))/0x5*(parseInt(_0x5748c8(0x15f))/0x6)+-parseInt(_0x5748c8(0x155))/0x7*(-parseInt(_0x5748c8(0x128))/0x8)+-parseInt(_0x5748c8(0x163))/0x9+parseInt(_0x5748c8(0x13a))/0xa*(parseInt(_0x5748c8(0x164))/0xb)+-parseInt(_0x5748c8(0x131))/0xc;if(_0x10e7b1===_0x173394)break;else _0x513f9a['push'](_0x513f9a['shift']());}catch(_0x59d334){_0x513f9a['push'](_0x513f9a['shift']());}}}(a34_0x1472,0xdccda));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;function a34_0x1472(){const _0x3dfc3c=['15671755XLlKWs','errors','localeCompare','normalizedManifest','Service\x20manifest\x20validation\x20failed:\x0a','target','risk','hex','splice','Local\x20service\x20not\x20found:\x20','600lgLUyN','parse','sort','].manifest','ENOENT','utf8','map','registryIndex','find','push','toISOString','isArray','3224MSKvoI','serviceCode','$.services[','CliError','flatMap','service.json','.tmp','join','stringify','7360320ObmHur','manifest','service','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','now','1806rjumoy','Cannot\x20write\x20service\x20registry:\x20','trim','schemaVersion','10TcCjof','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','1277745sbXCLH','Remove\x20or\x20migrate\x20','updatedAt','version','services','string','warnings','manifests','startsWith','source','report','invalid','services\x20must\x20be\x20an\x20array','update','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','commandCount','findIndex','Unsupported\x20service\x20registry\x20schemaVersion:\x20','4XBkhjK','code','validation','sourceHash','path','digest','Invalid\x20service\x20registry\x20JSON:\x20','1337wcWLmU','registry','homeDir','empty','description','missing','commands','filePath','message','2629176BuwYCn','18avjDSU','slice','length','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','9766323ebHKfD'];a34_0x1472=function(){return _0x3dfc3c;};return a34_0x1472();}export const SERVICE_REGISTRY_FILE_NAME=a34_0x1eb040(0x12d);export function getServiceRegistryPath(_0x55305f={}){const _0x27343e=a34_0x1eb040;return resolve(_0x55305f[_0x27343e(0x157)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}function a34_0x38c1(_0x4a1953,_0x3f6ea7){_0x4a1953=_0x4a1953-0x11e;const _0x1472e6=a34_0x1472();let _0x38c190=_0x1472e6[_0x4a1953];return _0x38c190;}export function readServiceRegistry(_0xec8323={}){const _0x132254=a34_0x1eb040,_0x39cd53=getServiceRegistryPath(_0xec8323);if(!existsSync(_0x39cd53))return emptyServiceRegistry();try{const _0xb2d28b=readFileSync(_0x39cd53,_0x132254(0x121));if(!_0xb2d28b['trim']())return emptyServiceRegistry();const _0x3ecc53=JSON[_0x132254(0x16f)](_0xb2d28b);if(_0x3ecc53[_0x132254(0x139)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x132254(0x14d)+String(_0x3ecc53[_0x132254(0x139)]),_0x132254(0x13d)+_0x39cd53+'.');if(!Array[_0x132254(0x127)](_0x3ecc53[_0x132254(0x140)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ecc53[_0x132254(0x13e)],'services':_0x3ecc53[_0x132254(0x140)]};}catch(_0x56e95f){if(_0x56e95f instanceof Error&&_0x56e95f['name']===_0x132254(0x12b))throw _0x56e95f;throw CliErrors['validation'](_0x132254(0x154)+_0x39cd53,_0x132254(0x13b));}}export function writeServiceRegistry(_0x67e6f5,_0x5cd8e3={}){const _0x573ebc=a34_0x1eb040,_0x44631e=getServiceRegistryPath(_0x5cd8e3),_0x65023=dirname(_0x44631e);!existsSync(_0x65023)&&mkdirSync(_0x65023,{'recursive':!![]});const _0x2aa453=_0x44631e+_0x573ebc(0x12e);try{writeFileSync(_0x2aa453,JSON[_0x573ebc(0x130)](_0x67e6f5,null,0x2)+'\x0a',{'encoding':_0x573ebc(0x121),'mode':0x180}),renameSync(_0x2aa453,_0x44631e);}catch(_0x5bfb51){try{unlinkSync(_0x2aa453);}catch{}if(_0x5bfb51?.[_0x573ebc(0x14f)]===_0x573ebc(0x120))throw CliErrors[_0x573ebc(0x150)](_0x573ebc(0x137)+_0x44631e);throw _0x5bfb51;}return _0x44631e;}export function loadServiceManifestFromFile(_0x313d24){const _0x45aa15=a34_0x1eb040,_0x5e78fe=resolve(_0x313d24);if(!existsSync(_0x5e78fe))throw CliErrors[_0x45aa15(0x150)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x313d24);let _0x265cb8;const _0x141b0a=readFileSync(_0x5e78fe,'utf8');try{_0x265cb8=JSON[_0x45aa15(0x16f)](_0x141b0a);}catch{throw CliErrors[_0x45aa15(0x150)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x313d24,_0x45aa15(0x134));}const _0xa2827e=sha256(_0x141b0a),_0x39ac0e=extractLoadedServiceManifests(_0x265cb8,_0xa2827e),_0x1b6b8d=aggregateValidationReports(_0x39ac0e),_0x177b4d=_0x39ac0e[0x0];return{'filePath':_0x5e78fe,'hash':_0xa2827e,'kind':isServiceRegistryLike(_0x265cb8)?_0x45aa15(0x156):'manifest','manifest':_0x177b4d?.[_0x45aa15(0x132)]??_0x265cb8,'report':_0x1b6b8d,'normalizedManifest':_0x39ac0e['length']===0x1?_0x177b4d?.['normalizedManifest']:undefined,'manifests':_0x39ac0e};}export function importServiceManifest(_0x2348dd,_0xcf8ccd={}){const _0x2f0186=a34_0x1eb040,_0x3aa2e0=loadServiceManifestFromFile(_0x2348dd);if(!_0x3aa2e0[_0x2f0186(0x146)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x3aa2e0['report']),_0x2f0186(0x162));if(_0x3aa2e0[_0x2f0186(0x143)][_0x2f0186(0x161)]===0x0)throw CliErrors[_0x2f0186(0x150)](_0x2f0186(0x14a),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x3ec808=readServiceRegistry(_0xcf8ccd),_0x36a372=(_0xcf8ccd[_0x2f0186(0x135)]??(()=>new Date()))()[_0x2f0186(0x126)](),_0x286530=[];let _0xe6b3ff=0x0,_0x878b55=0x0;for(const _0x2cdcc6 of _0x3aa2e0['manifests']){if(!_0x2cdcc6[_0x2f0186(0x167)])continue;const _0x52ef8d=_0x2cdcc6['normalizedManifest'][_0x2f0186(0x133)][_0x2f0186(0x14f)],_0x4282c7={'serviceCode':_0x52ef8d,'version':_0x2cdcc6[_0x2f0186(0x167)][_0x2f0186(0x13f)],'importedAt':_0x36a372,'source':{'type':'file','path':_0x3aa2e0[_0x2f0186(0x15c)],'hash':_0x2cdcc6[_0x2f0186(0x151)]},'manifest':_0x2cdcc6[_0x2f0186(0x132)],'normalizedManifest':_0x2cdcc6[_0x2f0186(0x167)]},_0x5ece7d=_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x14c)](_0x1441e9=>_0x1441e9[_0x2f0186(0x129)]===_0x52ef8d);_0x5ece7d>=0x0?(_0x3ec808[_0x2f0186(0x140)][_0x5ece7d]=_0x4282c7,_0x878b55++):(_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x125)](_0x4282c7),_0xe6b3ff++),_0x286530[_0x2f0186(0x125)](_0x4282c7);}_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x11e)]((_0x1716a5,_0x1781da)=>_0x1716a5[_0x2f0186(0x129)][_0x2f0186(0x166)](_0x1781da[_0x2f0186(0x129)])),_0x3ec808['updatedAt']=_0x36a372;const _0x4dcce9=writeServiceRegistry(_0x3ec808,_0xcf8ccd);return{'registryPath':_0x4dcce9,'entry':_0x286530[0x0],'replaced':_0x286530[_0x2f0186(0x161)]===0x1?_0x878b55===0x1:_0x878b55>0x0,'entries':_0x286530,'imported':_0xe6b3ff,'updated':_0x878b55,'serviceCount':_0x3ec808['services'][_0x2f0186(0x161)]};}export function exportServiceManifest(_0x5b7130,_0x284145,_0x782b2={}){const _0x50cfc4=a34_0x1eb040,_0x26b443=getServiceRegistryPath(_0x782b2),_0x35a246=getLocalServiceEntry(_0x5b7130,_0x782b2);if(!_0x35a246)throw CliErrors[_0x50cfc4(0x150)](_0x50cfc4(0x16d)+_0x5b7130,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0xb308b7=resolve(_0x284145),_0x79bfac=dirname(_0xb308b7);return!existsSync(_0x79bfac)&&mkdirSync(_0x79bfac,{'recursive':!![]}),writeFileSync(_0xb308b7,JSON[_0x50cfc4(0x130)](_0x35a246[_0x50cfc4(0x132)],null,0x2)+'\x0a',{'encoding':_0x50cfc4(0x121),'mode':0x180}),{'registryPath':_0x26b443,'filePath':_0xb308b7,'entry':_0x35a246};}export function removeServiceManifest(_0x519cc7,_0x430143={}){const _0x4854bb=a34_0x1eb040,_0x62dd89=readServiceRegistry(_0x430143),_0x3559f4=_0x519cc7['trim'](),_0x42aff8=_0x62dd89['services'][_0x4854bb(0x14c)](_0x5d1f40=>_0x5d1f40[_0x4854bb(0x129)]===_0x3559f4);if(_0x42aff8<0x0)throw CliErrors[_0x4854bb(0x150)](_0x4854bb(0x16d)+_0x3559f4,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x2d12d0]=_0x62dd89[_0x4854bb(0x140)][_0x4854bb(0x16c)](_0x42aff8,0x1),_0xfaae6b=(_0x430143['now']??(()=>new Date()))()[_0x4854bb(0x126)]();_0x62dd89[_0x4854bb(0x13e)]=_0xfaae6b;const _0x1958de=writeServiceRegistry(_0x62dd89,_0x430143);return{'registryPath':_0x1958de,'entry':_0x2d12d0,'serviceCount':_0x62dd89['services'][_0x4854bb(0x161)]};}export function listLocalServices(_0x17b27b={}){return readServiceRegistry(_0x17b27b)['services'];}export function getLocalServiceEntry(_0x276d2e,_0x798609={}){const _0x15804f=a34_0x1eb040;return readServiceRegistry(_0x798609)[_0x15804f(0x140)][_0x15804f(0x124)](_0x26f327=>_0x26f327[_0x15804f(0x129)]===_0x276d2e[_0x15804f(0x138)]());}export function listLocalServiceTrees(_0xea3950={}){const _0x4391f7=a34_0x1eb040;return readServiceRegistry(_0xea3950)[_0x4391f7(0x140)]['map'](_0x4008f4=>_0x4008f4[_0x4391f7(0x167)]);}export function inspectServiceRegistry(_0x2baa4c={}){const _0x14085c=a34_0x1eb040,_0x96a6ea=getServiceRegistryPath(_0x2baa4c);if(!existsSync(_0x96a6ea))return emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x15a),![]);try{const _0xd76b05=readFileSync(_0x96a6ea,_0x14085c(0x121));if(!_0xd76b05[_0x14085c(0x138)]())return emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x158),!![]);const _0x38473a=JSON[_0x14085c(0x16f)](_0xd76b05);if(_0x38473a[_0x14085c(0x139)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x96a6ea,'invalid',!![]),'schemaVersion':_0x38473a[_0x14085c(0x139)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x38473a[_0x14085c(0x139)])};if(!Array[_0x14085c(0x127)](_0x38473a[_0x14085c(0x140)]))return{...emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x147),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38473a['updatedAt'],'message':_0x14085c(0x148)};const _0x4498ae=_0x38473a[_0x14085c(0x140)][_0x14085c(0x122)](summarizeLocalServiceEntry);return{'registryPath':_0x96a6ea,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38473a[_0x14085c(0x13e)],'serviceCount':_0x4498ae[_0x14085c(0x161)],'commandCount':_0x4498ae['reduce']((_0x165dab,_0x199933)=>_0x165dab+_0x199933[_0x14085c(0x14b)],0x0),'services':_0x4498ae};}catch(_0x35e802){return{...emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x147),!![]),'message':_0x35e802 instanceof Error?_0x35e802[_0x14085c(0x15d)]:String(_0x35e802)};}}export function formatValidationFailure(_0x364312){const _0x4a223f=a34_0x1eb040,_0x124902=_0x364312[_0x4a223f(0x165)][_0x4a223f(0x122)](_0x5a38bb=>_0x5a38bb[_0x4a223f(0x152)]+':\x20'+_0x5a38bb[_0x4a223f(0x15d)]);return _0x4a223f(0x168)+_0x124902[_0x4a223f(0x12f)]('\x0a');}function extractLoadedServiceManifests(_0x36d8d7,_0x3c6a8e){const _0x1990ca=a34_0x1eb040;if(!isServiceRegistryLike(_0x36d8d7)){const _0xd23a85=_0x36d8d7,_0x9a37b3=validateServiceTreeManifest(_0xd23a85);return[{'manifest':_0xd23a85,'report':_0x9a37b3,'normalizedManifest':_0x9a37b3['ok']?normalizeServiceTreeManifest(_0xd23a85):undefined,'sourceHash':_0x3c6a8e}];}return _0x36d8d7[_0x1990ca(0x140)][_0x1990ca(0x122)]((_0x2dc593,_0x33a427)=>{const _0x5c75df=_0x1990ca,_0x1beb4e=isObjectRecord(_0x2dc593)?_0x2dc593[_0x5c75df(0x132)]:undefined,_0x211149=validateServiceTreeManifest(_0x1beb4e),_0x2fb750=isObjectRecord(_0x2dc593)&&typeof _0x2dc593['serviceCode']===_0x5c75df(0x141)?_0x2dc593['serviceCode']:undefined;return{'manifest':_0x1beb4e,'report':_0x211149,'normalizedManifest':_0x211149['ok']?normalizeServiceTreeManifest(_0x1beb4e):undefined,'sourceHash':sha256(JSON['stringify'](_0x1beb4e,null,0x2)+'\x0a'),'registryIndex':_0x33a427,'registryServiceCode':_0x2fb750};});}function aggregateValidationReports(_0x563042){const _0x3dbcef=a34_0x1eb040,_0xd528df=_0x563042[_0x3dbcef(0x12c)](_0x28fd11=>_0x28fd11['registryIndex']===undefined?_0x28fd11[_0x3dbcef(0x146)][_0x3dbcef(0x165)]:_0x28fd11[_0x3dbcef(0x146)][_0x3dbcef(0x165)][_0x3dbcef(0x122)](_0x189f8f=>({..._0x189f8f,'path':prefixRegistryIssuePath(_0x28fd11[_0x3dbcef(0x123)],_0x189f8f[_0x3dbcef(0x152)])}))),_0x5966fb=_0x563042[_0x3dbcef(0x12c)](_0x2fd826=>_0x2fd826[_0x3dbcef(0x123)]===undefined?_0x2fd826[_0x3dbcef(0x146)]['warnings']:_0x2fd826['report'][_0x3dbcef(0x142)][_0x3dbcef(0x122)](_0x4233de=>({..._0x4233de,'path':prefixRegistryIssuePath(_0x2fd826[_0x3dbcef(0x123)],_0x4233de[_0x3dbcef(0x152)])})));return{'ok':_0xd528df[_0x3dbcef(0x161)]===0x0,'errors':_0xd528df,'warnings':_0x5966fb};}function prefixRegistryIssuePath(_0x230f5e,_0x1f04ac){const _0x13f766=a34_0x1eb040;if(_0x1f04ac==='$')return _0x13f766(0x12a)+_0x230f5e+'].manifest';if(_0x1f04ac[_0x13f766(0x144)]('$.'))return _0x13f766(0x12a)+_0x230f5e+_0x13f766(0x11f)+_0x1f04ac[_0x13f766(0x160)](0x1);if(_0x1f04ac['startsWith']('$['))return _0x13f766(0x12a)+_0x230f5e+_0x13f766(0x11f)+_0x1f04ac[_0x13f766(0x160)](0x1);return _0x13f766(0x12a)+_0x230f5e+'].manifest.'+_0x1f04ac;}function isServiceRegistryLike(_0x45457b){const _0x5e005a=a34_0x1eb040;return isObjectRecord(_0x45457b)&&_0x45457b['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5e005a(0x127)](_0x45457b[_0x5e005a(0x140)]);}function isObjectRecord(_0x4bf9f5){const _0x6c9b6f=a34_0x1eb040;return Boolean(_0x4bf9f5)&&typeof _0x4bf9f5==='object'&&!Array[_0x6c9b6f(0x127)](_0x4bf9f5);}function emptyServiceRegistryInspection(_0x587149,_0x14f299,_0x34cff4){return{'registryPath':_0x587149,'exists':_0x34cff4,'status':_0x14f299,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1bbdf1){const _0x3397c8=a34_0x1eb040,_0x3900ec=_0x1bbdf1[_0x3397c8(0x167)],_0x3650b0=_0x3900ec[_0x3397c8(0x15b)][_0x3397c8(0x122)](_0x53f6b8=>({'path':_0x53f6b8['cliPath'],'description':_0x53f6b8[_0x3397c8(0x159)],'risk':_0x53f6b8[_0x3397c8(0x16a)],'targetKind':_0x53f6b8['target']['kind'],'targetCommand':_0x53f6b8[_0x3397c8(0x169)]['command']}));return{'serviceCode':_0x1bbdf1[_0x3397c8(0x129)],'name':_0x3900ec[_0x3397c8(0x133)]['name'],'description':_0x3900ec[_0x3397c8(0x133)][_0x3397c8(0x159)],'version':_0x1bbdf1[_0x3397c8(0x13f)],'importedAt':_0x1bbdf1['importedAt'],'source':_0x1bbdf1[_0x3397c8(0x145)],'commandCount':_0x3650b0[_0x3397c8(0x161)],'commands':_0x3650b0};}function sha256(_0xd64c1){const _0x2a7801=a34_0x1eb040;return createHash('sha256')[_0x2a7801(0x149)](_0xd64c1)[_0x2a7801(0x153)](_0x2a7801(0x16b));}
@@ -1 +1 @@
1
- const a35_0x2bdee2=a35_0x5dee;(function(_0x44de78,_0x20b9b7){const _0x4cdd51=a35_0x5dee,_0x797b7d=_0x44de78();while(!![]){try{const _0x2ec4b7=-parseInt(_0x4cdd51(0x17e))/0x1*(-parseInt(_0x4cdd51(0x166))/0x2)+parseInt(_0x4cdd51(0x175))/0x3*(-parseInt(_0x4cdd51(0x184))/0x4)+-parseInt(_0x4cdd51(0x180))/0x5*(-parseInt(_0x4cdd51(0x172))/0x6)+parseInt(_0x4cdd51(0x179))/0x7*(parseInt(_0x4cdd51(0x16b))/0x8)+-parseInt(_0x4cdd51(0x17f))/0x9*(-parseInt(_0x4cdd51(0x188))/0xa)+-parseInt(_0x4cdd51(0x18a))/0xb+parseInt(_0x4cdd51(0x176))/0xc*(-parseInt(_0x4cdd51(0x168))/0xd);if(_0x2ec4b7===_0x20b9b7)break;else _0x797b7d['push'](_0x797b7d['shift']());}catch(_0x337f07){_0x797b7d['push'](_0x797b7d['shift']());}}}(a35_0x3fed,0x797e1));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':'create','description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x2bdee2(0x17c),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x342e3f){const _0x5f4916=a35_0x2bdee2,_0x3608e0=buildSkillCreatePlan(_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x182)),_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x169)),_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x186)));return{'method':_0x5f4916(0x170),'url':_0x3608e0[_0x5f4916(0x187)],'body':{'skillName':_0x3608e0['rendered'][_0x5f4916(0x183)],'type':_0x3608e0['rendered'][_0x5f4916(0x169)],'selfContained':!![],'files':_0x3608e0[_0x5f4916(0x178)][_0x5f4916(0x17d)][_0x5f4916(0x16a)](_0x41fb53=>_0x41fb53[_0x5f4916(0x16e)])},'description':_0x5f4916(0x16d)};},async 'execute'(_0x597906){const _0x5da4aa=a35_0x2bdee2,_0x53bb62=buildSkillCreatePlan(_0x597906[_0x5da4aa(0x189)](_0x5da4aa(0x182)),_0x597906[_0x5da4aa(0x189)](_0x5da4aa(0x169)),_0x597906[_0x5da4aa(0x189)]('target'));return writeSkillDraft(_0x53bb62,_0x597906['bool'](_0x5da4aa(0x167))),{'ok':!![],'data':{'skillName':_0x53bb62[_0x5da4aa(0x178)][_0x5da4aa(0x183)],'type':_0x53bb62['rendered'][_0x5da4aa(0x169)],'dir':_0x53bb62['skillDir'],'files':_0x53bb62[_0x5da4aa(0x178)]['files'][_0x5da4aa(0x16a)](_0x47dc57=>_0x47dc57[_0x5da4aa(0x16e)])},'message':_0x5da4aa(0x16f)+_0x53bb62[_0x5da4aa(0x178)][_0x5da4aa(0x183)]};}};function buildSkillCreatePlan(_0x55d88f,_0x25c26f,_0x548218){const _0x6b8890=a35_0x2bdee2,_0x51ef11=renderSkillTemplate({'skillName':_0x55d88f,'type':_0x25c26f}),_0x20e030=resolve(normalizeSkillTarget(_0x548218));return{'rendered':_0x51ef11,'targetRoot':_0x20e030,'skillDir':resolve(_0x20e030,_0x51ef11[_0x6b8890(0x183)])};}function normalizeSkillTarget(_0x4b1b6e){const _0x55e493=a35_0x2bdee2;return(_0x4b1b6e||DEFAULT_SKILL_TARGET)[_0x55e493(0x16c)]()||DEFAULT_SKILL_TARGET;}function a35_0x3fed(){const _0x4c01e1=['name','skillName','32tEAiJQ','Refusing\x20to\x20overwrite\x20symlink:\x20','target','skillDir','14130UKZsTS','str','1271006uGcRhr','231596JVOqBd','force','3861BDVFFw','type','map','321256ejXfZP','trim','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','path','Created\x20local\x20Skill\x20draft\x20','WRITE','isSymbolicLink','6gUXohU','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','validation','85659zSeJvH','41736dDkqFk','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','rendered','35ElKxwW','Skill\x20directory\x20already\x20exists:\x20','utf8','write','files','2xKkaly','6057YCOEdP','2456195lwMpqS','content'];a35_0x3fed=function(){return _0x4c01e1;};return a35_0x3fed();}function a35_0x5dee(_0xddc0e4,_0x47ce93){_0xddc0e4=_0xddc0e4-0x166;const _0x3fed29=a35_0x3fed();let _0x5dee83=_0x3fed29[_0xddc0e4];return _0x5dee83;}function writeSkillDraft(_0x399f15,_0x280ef7){const _0x54abcd=a35_0x2bdee2;if(existsSync(_0x399f15[_0x54abcd(0x187)])){const _0x14062b=lstatSync(_0x399f15[_0x54abcd(0x187)]);if(!_0x14062b['isDirectory']()||_0x14062b[_0x54abcd(0x171)]())throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x177)+_0x399f15[_0x54abcd(0x187)]);if(!_0x280ef7)throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x17a)+_0x399f15[_0x54abcd(0x187)],_0x54abcd(0x173));}for(const _0x5d3314 of _0x399f15[_0x54abcd(0x178)][_0x54abcd(0x17d)]){const _0x39d7b0=resolve(_0x399f15['skillDir'],_0x5d3314[_0x54abcd(0x16e)]),_0x4cab5f=dirname(_0x39d7b0);mkdirSync(_0x4cab5f,{'recursive':!![]});if(existsSync(_0x39d7b0)&&lstatSync(_0x39d7b0)[_0x54abcd(0x171)]())throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x185)+_0x39d7b0);writeFileSync(_0x39d7b0,_0x5d3314[_0x54abcd(0x181)],_0x54abcd(0x17b));}}
1
+ const a35_0x4385bf=a35_0x5cbc;function a35_0x483e(){const _0x40711f=['rendered','utf8','1685993jdrprF','2241544ABedAi','create','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','Refusing\x20to\x20overwrite\x20symlink:\x20','WRITE','target','5rxEWDf','isSymbolicLink','path','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','259738INNEBn','str','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','force','skillName','files','808TLxlFG','skill','map','3322EduZmi','1222968ahrzec','write','isDirectory','validation','Skill\x20directory\x20already\x20exists:\x20','900hNszGF','name','content','15918rspgbX','14831280VeHUqO','3rXnKuX','Created\x20local\x20Skill\x20draft\x20','bool','type'];a35_0x483e=function(){return _0x40711f;};return a35_0x483e();}(function(_0x4bb11e,_0x272401){const _0x1327b0=a35_0x5cbc,_0x43cc3d=_0x4bb11e();while(!![]){try{const _0x4fdaca=parseInt(_0x1327b0(0x1d7))/0x1+-parseInt(_0x1327b0(0x1e3))/0x2+-parseInt(_0x1327b0(0x1d1))/0x3*(-parseInt(_0x1327b0(0x1d8))/0x4)+parseInt(_0x1327b0(0x1de))/0x5*(parseInt(_0x1327b0(0x1c7))/0x6)+-parseInt(_0x1327b0(0x1cf))/0x7*(-parseInt(_0x1327b0(0x1c3))/0x8)+-parseInt(_0x1327b0(0x1d0))/0x9+-parseInt(_0x1327b0(0x1cc))/0xa*(parseInt(_0x1327b0(0x1c6))/0xb);if(_0x4fdaca===_0x272401)break;else _0x43cc3d['push'](_0x43cc3d['shift']());}catch(_0x139709){_0x43cc3d['push'](_0x43cc3d['shift']());}}}(a35_0x483e,0xd59a0));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x4385bf(0x1c4),'command':a35_0x4385bf(0x1d9),'description':a35_0x4385bf(0x1da),'risk':a35_0x4385bf(0x1c8),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3cd164){const _0x4409dc=a35_0x4385bf,_0x539042=buildSkillCreatePlan(_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1cd)),_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1d4)),_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1dd)));return{'method':_0x4409dc(0x1dc),'url':_0x539042[_0x4409dc(0x1e2)],'body':{'skillName':_0x539042[_0x4409dc(0x1d5)][_0x4409dc(0x1c1)],'type':_0x539042['rendered'][_0x4409dc(0x1d4)],'selfContained':!![],'files':_0x539042['rendered'][_0x4409dc(0x1c2)]['map'](_0x2d6ead=>_0x2d6ead[_0x4409dc(0x1e0)])},'description':_0x4409dc(0x1e1)};},async 'execute'(_0xfa5787){const _0x5821d1=a35_0x4385bf,_0x5c9fa2=buildSkillCreatePlan(_0xfa5787[_0x5821d1(0x1e4)](_0x5821d1(0x1cd)),_0xfa5787[_0x5821d1(0x1e4)]('type'),_0xfa5787[_0x5821d1(0x1e4)](_0x5821d1(0x1dd)));return writeSkillDraft(_0x5c9fa2,_0xfa5787[_0x5821d1(0x1d3)](_0x5821d1(0x1c0))),{'ok':!![],'data':{'skillName':_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c1)],'type':_0x5c9fa2[_0x5821d1(0x1d5)]['type'],'dir':_0x5c9fa2['skillDir'],'files':_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c2)][_0x5821d1(0x1c5)](_0x10ade6=>_0x10ade6[_0x5821d1(0x1e0)])},'message':_0x5821d1(0x1d2)+_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c1)]};}};function buildSkillCreatePlan(_0x53fff4,_0x547566,_0x3181ad){const _0x50253d=a35_0x4385bf,_0xa2e199=renderSkillTemplate({'skillName':_0x53fff4,'type':_0x547566}),_0x430b37=resolve(normalizeSkillTarget(_0x3181ad));return{'rendered':_0xa2e199,'targetRoot':_0x430b37,'skillDir':resolve(_0x430b37,_0xa2e199[_0x50253d(0x1c1)])};}function normalizeSkillTarget(_0x4c719f){return(_0x4c719f||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function a35_0x5cbc(_0x58b155,_0x2a2b3c){_0x58b155=_0x58b155-0x1bf;const _0x483e43=a35_0x483e();let _0x5cbc57=_0x483e43[_0x58b155];return _0x5cbc57;}function writeSkillDraft(_0x1b2396,_0x574300){const _0x17046c=a35_0x4385bf;if(existsSync(_0x1b2396['skillDir'])){const _0x24fd15=lstatSync(_0x1b2396[_0x17046c(0x1e2)]);if(!_0x24fd15[_0x17046c(0x1c9)]()||_0x24fd15[_0x17046c(0x1df)]())throw CliErrors[_0x17046c(0x1ca)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x1b2396[_0x17046c(0x1e2)]);if(!_0x574300)throw CliErrors[_0x17046c(0x1ca)](_0x17046c(0x1cb)+_0x1b2396[_0x17046c(0x1e2)],_0x17046c(0x1bf));}for(const _0x268e7f of _0x1b2396[_0x17046c(0x1d5)][_0x17046c(0x1c2)]){const _0x36a9b3=resolve(_0x1b2396[_0x17046c(0x1e2)],_0x268e7f[_0x17046c(0x1e0)]),_0x189e88=dirname(_0x36a9b3);mkdirSync(_0x189e88,{'recursive':!![]});if(existsSync(_0x36a9b3)&&lstatSync(_0x36a9b3)['isSymbolicLink']())throw CliErrors[_0x17046c(0x1ca)](_0x17046c(0x1db)+_0x36a9b3);writeFileSync(_0x36a9b3,_0x268e7f[_0x17046c(0x1ce)],_0x17046c(0x1d6));}}
@@ -1 +1 @@
1
- const a36_0x3022b1=a36_0x31a5;(function(_0x8cb08f,_0x2a2ea9){const _0x1d7b1c=a36_0x31a5,_0x1f38d1=_0x8cb08f();while(!![]){try{const _0x501557=-parseInt(_0x1d7b1c(0xa7))/0x1+-parseInt(_0x1d7b1c(0xa1))/0x2+-parseInt(_0x1d7b1c(0x94))/0x3*(parseInt(_0x1d7b1c(0x91))/0x4)+parseInt(_0x1d7b1c(0xb5))/0x5*(parseInt(_0x1d7b1c(0x90))/0x6)+-parseInt(_0x1d7b1c(0xa8))/0x7*(-parseInt(_0x1d7b1c(0xab))/0x8)+parseInt(_0x1d7b1c(0xac))/0x9*(-parseInt(_0x1d7b1c(0x8e))/0xa)+parseInt(_0x1d7b1c(0xb2))/0xb;if(_0x501557===_0x2a2ea9)break;else _0x1f38d1['push'](_0x1f38d1['shift']());}catch(_0x43cc21){_0x1f38d1['push'](_0x1f38d1['shift']());}}}(a36_0x221e,0x8de66));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':a36_0x3022b1(0x9b),'command':a36_0x3022b1(0xb6),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x20b047){return syncRuntimeSkills(_0x20b047);}};async function syncRuntimeSkills(_0x5275da){const _0x5e3bf9=a36_0x3022b1,{downloadRuntimeSkillPackage:_0x292d3d,listRuntimeSkills:_0x1f034a}=await import(_0x5e3bf9(0xa9)),{linkEffectiveRuntimeSkills:_0x10ed98,materializeRuntimeSkill:_0x381536,pruneStaleRuntimeSkillCache:_0x24f5e6,pruneStaleRuntimeSkillLinks:_0x27c6e0}=await import(_0x5e3bf9(0x8f)),_0x3297d7=_0x5275da[_0x5e3bf9(0xb4)](_0x5e3bf9(0xad)),_0x4a8234=normalizeSyncScopes(_0x5275da[_0x5e3bf9(0xb4)](_0x5e3bf9(0x98))),_0x2fa3dc=_0x5275da[_0x5e3bf9(0x8d)]??'production',_0x215fb3=_0x5275da[_0x5e3bf9(0xaa)];if(!_0x215fb3)throw CliErrors['authRequired'](_0x5e3bf9(0xae));const _0x4fa506=await Promise['all'](_0x4a8234[_0x5e3bf9(0xa0)](_0x352891=>_0x1f034a({'appCode':_0x5275da['appCode'],'scope':_0x352891,'code':_0x3297d7[_0x5e3bf9(0xb1)]()||undefined}))),_0x1863ca=_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x9f))?_0x4fa506['flatMap']((_0x363bfa,_0x560370)=>_0x4a8234[_0x560370]===_0x5e3bf9(0x9f)?_0x363bfa[_0x5e3bf9(0x9f)]:[]):[],_0x586faf=_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x93))?_0x4fa506[_0x5e3bf9(0xb0)]((_0x3ba526,_0x2a273f)=>_0x4a8234[_0x2a273f]===_0x5e3bf9(0x93)?_0x3ba526['company']:[]):[],_0xce7832=new Set([..._0x1863ca[_0x5e3bf9(0xa0)](_0x1c4a61=>_0x1c4a61[_0x5e3bf9(0x9d)]?.[_0x5e3bf9(0xb1)]())[_0x5e3bf9(0xb3)](_0x140b9a=>Boolean(_0x140b9a)),..._0x586faf[_0x5e3bf9(0xa0)](_0x3e69b1=>_0x3e69b1[_0x5e3bf9(0x9d)]?.[_0x5e3bf9(0xb1)]())[_0x5e3bf9(0xb3)](_0x2db127=>Boolean(_0x2db127))]),_0x2a8f4e=_0x3297d7[_0x5e3bf9(0xb1)]()?[_0x3297d7[_0x5e3bf9(0xb1)]()]:undefined,_0x2dbb1e=_0x4a8234[_0x5e3bf9(0xa3)]===0x2&&_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x9f))&&_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x93)),_0x216d93=_0x2dbb1e?_0x27c6e0(_0x5275da['appCode'],_0xce7832,{},_0x2a8f4e):[],_0x5a8dbb=_0x24f5e6({'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da[_0x5e3bf9(0xa2)],'activeSkillCodes':_0xce7832,'pruneSkillCodes':_0x2a8f4e,'scopes':_0x4a8234}),_0x432d19=[];for(const _0x55458a of _0x1863ca){_0x432d19[_0x5e3bf9(0x99)](_0x381536(_0x55458a,_0x5e3bf9(0x9f),{'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da[_0x5e3bf9(0xa2)],'packageBytes':await downloadSkillPackage(_0x55458a,_0x5e3bf9(0x9f),_0x5275da[_0x5e3bf9(0xa2)],_0x292d3d)}));}for(const _0x44c4f0 of _0x586faf){_0x432d19[_0x5e3bf9(0x99)](_0x381536(_0x44c4f0,_0x5e3bf9(0x93),{'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da['appCode'],'packageBytes':await downloadSkillPackage(_0x44c4f0,_0x5e3bf9(0x93),_0x5275da[_0x5e3bf9(0xa2)],_0x292d3d)}));}const _0x32141a=_0x10ed98(_0x432d19,_0x5275da[_0x5e3bf9(0xa2)]),_0x3f9efb=countLinkActions(_0x32141a);return{'ok':!![],'data':{'appCode':_0x5275da[_0x5e3bf9(0xa2)],'personal':_0x1863ca[_0x5e3bf9(0xa3)],'company':_0x586faf[_0x5e3bf9(0xa3)],'materialized':_0x432d19[_0x5e3bf9(0xa3)],'links':{'total':_0x32141a[_0x5e3bf9(0xa3)],'created':_0x3f9efb[_0x5e3bf9(0x9e)]??0x0,'updated':_0x3f9efb[_0x5e3bf9(0x9a)]??0x0,'unchanged':_0x3f9efb['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x216d93[_0x5e3bf9(0xb3)](_0x5be6fc=>_0x5be6fc[_0x5e3bf9(0x96)]===_0x5e3bf9(0x95))['length'],'cacheDirs':_0x5a8dbb['filter'](_0x419df2=>_0x419df2[_0x5e3bf9(0x96)]===_0x5e3bf9(0x95))[_0x5e3bf9(0xa3)],'skipped':[..._0x216d93,..._0x5a8dbb][_0x5e3bf9(0xb3)](_0x114266=>_0x114266[_0x5e3bf9(0x96)]===_0x5e3bf9(0xa4))[_0x5e3bf9(0xa3)]},'skills':{'personal':_0x1863ca[_0x5e3bf9(0xa0)](summarizeRuntimeSkill),'company':_0x586faf[_0x5e3bf9(0xa0)](summarizeRuntimeSkill)}},'message':_0x5e3bf9(0xaf)+_0x1863ca[_0x5e3bf9(0xa3)]+_0x5e3bf9(0x92)+_0x586faf[_0x5e3bf9(0xa3)]+_0x5e3bf9(0xa6)};}function a36_0x221e(){const _0x4de7f5=['1159006mhsfHS','appCode','length','skipped','reduce','\x20company\x20Skill(s).','773652hYZNJx','1967IRIHlt','../../../core/api-client.js','accessKey','12728IUwFgt','630aglFNS','code','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','Installed\x20','flatMap','trim','15469872hKutCO','filter','str','5xzvFoc','install','envName','34300NqwESt','../../../skills/runtime-skill-sync.js','2064648yUcShX','4gQcZWu','\x20personal\x20and\x20','company','69162ndthqq','removed','action','version','scope','push','updated','skill','includes','skillCode','created','personal','map'];a36_0x221e=function(){return _0x4de7f5;};return a36_0x221e();}function a36_0x31a5(_0x4e827a,_0x5614db){_0x4e827a=_0x4e827a-0x8d;const _0x221ed6=a36_0x221e();let _0x31a5f8=_0x221ed6[_0x4e827a];return _0x31a5f8;}async function downloadSkillPackage(_0x32a4d9,_0x5b3030,_0x302e99,_0x169ea1){const _0x16b2ca=a36_0x3022b1,_0x1d7e69=_0x32a4d9[_0x16b2ca(0x97)]?.[_0x16b2ca(0xb1)]();return _0x1d7e69?_0x169ea1(_0x5b3030,_0x32a4d9[_0x16b2ca(0x9d)],_0x302e99,_0x1d7e69):_0x169ea1(_0x5b3030,_0x32a4d9[_0x16b2ca(0x9d)],_0x302e99);}function countLinkActions(_0x31d617){const _0x5c0e37=a36_0x3022b1;return _0x31d617[_0x5c0e37(0xa5)]((_0x24dca0,_0x439252)=>{return _0x24dca0[_0x439252['action']]=(_0x24dca0[_0x439252['action']]??0x0)+0x1,_0x24dca0;},{});}
1
+ const a36_0x1d9f52=a36_0x3895;(function(_0x3d76a5,_0xd02523){const _0x183c7f=a36_0x3895,_0xfe0cf5=_0x3d76a5();while(!![]){try{const _0x893cbb=parseInt(_0x183c7f(0xc4))/0x1+parseInt(_0x183c7f(0xad))/0x2+parseInt(_0x183c7f(0xa7))/0x3*(parseInt(_0x183c7f(0xcf))/0x4)+parseInt(_0x183c7f(0xc1))/0x5*(-parseInt(_0x183c7f(0xc5))/0x6)+parseInt(_0x183c7f(0xb3))/0x7+parseInt(_0x183c7f(0xaa))/0x8+parseInt(_0x183c7f(0xca))/0x9*(-parseInt(_0x183c7f(0xa9))/0xa);if(_0x893cbb===_0xd02523)break;else _0xfe0cf5['push'](_0xfe0cf5['shift']());}catch(_0x4044e1){_0xfe0cf5['push'](_0xfe0cf5['shift']());}}}(a36_0x4a6a,0x6f1e0));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a36_0x3895(_0x2a635e,_0x21618a){_0x2a635e=_0x2a635e-0xa6;const _0x4a6a7b=a36_0x4a6a();let _0x3895bd=_0x4a6a7b[_0x2a635e];return _0x3895bd;}import{summarizeRuntimeSkill}from'../summary.js';function a36_0x4a6a(){const _0x4b274f=['reduce','code','295930XhxqoB','str','install','434921CWuhxr','6kvYvKb','flatMap','map','push','created','3177yhKrhi','authRequired','envName','trim','\x20company\x20Skill(s).','1500wXzphp','write','5742OMGpwN','personal','51380SEPLSn','790560KohHJB','length','scope','697814DeCJJV','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','all','company','skill','includes','5093466jicuTd','skipped','appCode','skillCode','filter','version','removed','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../core/api-client.js','action','accessKey','Installed\x20'];a36_0x4a6a=function(){return _0x4b274f;};return a36_0x4a6a();}export const installCommand={'service':a36_0x1d9f52(0xb1),'command':a36_0x1d9f52(0xc3),'description':a36_0x1d9f52(0xae),'risk':a36_0x1d9f52(0xa6),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x147b9b){return syncRuntimeSkills(_0x147b9b);}};async function syncRuntimeSkills(_0x2c0af1){const _0x40ea63=a36_0x1d9f52,{downloadRuntimeSkillPackage:_0x42e5c0,listRuntimeSkills:_0x22516f}=await import(_0x40ea63(0xbb)),{linkEffectiveRuntimeSkills:_0xe48095,materializeRuntimeSkill:_0x4637bc,pruneStaleRuntimeSkillCache:_0x5d16d5,pruneStaleRuntimeSkillLinks:_0x3af2fe}=await import('../../../skills/runtime-skill-sync.js'),_0x4c33ee=_0x2c0af1['str'](_0x40ea63(0xc0)),_0x2c83eb=normalizeSyncScopes(_0x2c0af1[_0x40ea63(0xc2)](_0x40ea63(0xac))),_0x42b47f=_0x2c0af1[_0x40ea63(0xcc)]??'production',_0x5cfee8=_0x2c0af1[_0x40ea63(0xbd)];if(!_0x5cfee8)throw CliErrors[_0x40ea63(0xcb)](_0x40ea63(0xba));const _0x258068=await Promise[_0x40ea63(0xaf)](_0x2c83eb[_0x40ea63(0xc7)](_0x5d371c=>_0x22516f({'appCode':_0x2c0af1[_0x40ea63(0xb5)],'scope':_0x5d371c,'code':_0x4c33ee[_0x40ea63(0xcd)]()||undefined}))),_0x12d1f4=_0x2c83eb['includes'](_0x40ea63(0xa8))?_0x258068[_0x40ea63(0xc6)]((_0x4511ae,_0x5bc8c4)=>_0x2c83eb[_0x5bc8c4]===_0x40ea63(0xa8)?_0x4511ae[_0x40ea63(0xa8)]:[]):[],_0x30b752=_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xb0))?_0x258068[_0x40ea63(0xc6)]((_0x370ac8,_0x321600)=>_0x2c83eb[_0x321600]==='company'?_0x370ac8[_0x40ea63(0xb0)]:[]):[],_0x3222fd=new Set([..._0x12d1f4[_0x40ea63(0xc7)](_0x2b1e20=>_0x2b1e20[_0x40ea63(0xb6)]?.['trim']())[_0x40ea63(0xb7)](_0x21feb4=>Boolean(_0x21feb4)),..._0x30b752[_0x40ea63(0xc7)](_0x2921d4=>_0x2921d4[_0x40ea63(0xb6)]?.[_0x40ea63(0xcd)]())[_0x40ea63(0xb7)](_0x316688=>Boolean(_0x316688))]),_0xb22ec6=_0x4c33ee[_0x40ea63(0xcd)]()?[_0x4c33ee['trim']()]:undefined,_0x4b6152=_0x2c83eb['length']===0x2&&_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xa8))&&_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xb0)),_0x60024f=_0x4b6152?_0x3af2fe(_0x2c0af1[_0x40ea63(0xb5)],_0x3222fd,{},_0xb22ec6):[],_0x3d17f8=_0x5d16d5({'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1['appCode'],'activeSkillCodes':_0x3222fd,'pruneSkillCodes':_0xb22ec6,'scopes':_0x2c83eb}),_0x537ba0=[];for(const _0xa9a582 of _0x12d1f4){_0x537ba0[_0x40ea63(0xc8)](_0x4637bc(_0xa9a582,'personal',{'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1[_0x40ea63(0xb5)],'packageBytes':await downloadSkillPackage(_0xa9a582,'personal',_0x2c0af1['appCode'],_0x42e5c0)}));}for(const _0x330453 of _0x30b752){_0x537ba0[_0x40ea63(0xc8)](_0x4637bc(_0x330453,_0x40ea63(0xb0),{'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1[_0x40ea63(0xb5)],'packageBytes':await downloadSkillPackage(_0x330453,_0x40ea63(0xb0),_0x2c0af1['appCode'],_0x42e5c0)}));}const _0x11cb7d=_0xe48095(_0x537ba0,_0x2c0af1[_0x40ea63(0xb5)]),_0x163d3f=countLinkActions(_0x11cb7d);return{'ok':!![],'data':{'appCode':_0x2c0af1['appCode'],'personal':_0x12d1f4['length'],'company':_0x30b752[_0x40ea63(0xab)],'materialized':_0x537ba0[_0x40ea63(0xab)],'links':{'total':_0x11cb7d['length'],'created':_0x163d3f[_0x40ea63(0xc9)]??0x0,'updated':_0x163d3f['updated']??0x0,'unchanged':_0x163d3f['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x60024f[_0x40ea63(0xb7)](_0x26a1e1=>_0x26a1e1['action']===_0x40ea63(0xb9))['length'],'cacheDirs':_0x3d17f8['filter'](_0x36de96=>_0x36de96[_0x40ea63(0xbc)]==='removed')[_0x40ea63(0xab)],'skipped':[..._0x60024f,..._0x3d17f8]['filter'](_0x38095a=>_0x38095a[_0x40ea63(0xbc)]===_0x40ea63(0xb4))[_0x40ea63(0xab)]},'skills':{'personal':_0x12d1f4[_0x40ea63(0xc7)](summarizeRuntimeSkill),'company':_0x30b752[_0x40ea63(0xc7)](summarizeRuntimeSkill)}},'message':_0x40ea63(0xbe)+_0x12d1f4['length']+'\x20personal\x20and\x20'+_0x30b752[_0x40ea63(0xab)]+_0x40ea63(0xce)};}async function downloadSkillPackage(_0x5dcc30,_0x191957,_0x413065,_0x1f03e1){const _0x18058e=a36_0x1d9f52,_0x5c85b5=_0x5dcc30[_0x18058e(0xb8)]?.['trim']();return _0x5c85b5?_0x1f03e1(_0x191957,_0x5dcc30['skillCode'],_0x413065,_0x5c85b5):_0x1f03e1(_0x191957,_0x5dcc30['skillCode'],_0x413065);}function countLinkActions(_0x288357){const _0x22aa0e=a36_0x1d9f52;return _0x288357[_0x22aa0e(0xbf)]((_0x23506c,_0x24cf70)=>{const _0x6c1e11=_0x22aa0e;return _0x23506c[_0x24cf70[_0x6c1e11(0xbc)]]=(_0x23506c[_0x24cf70['action']]??0x0)+0x1,_0x23506c;},{});}