@lovrabet/lovrabet-cli 2.1.7-beta.2 → 2.1.7-beta.4

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 (111) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -0
  10. package/lib/commands/app-config/index.js +1 -0
  11. package/lib/commands/app-config/shared.js +1 -0
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/config/definitions.js +1 -1
  23. package/lib/commands/config/shared.js +1 -1
  24. package/lib/commands/data/index.js +1 -1
  25. package/lib/commands/dataset/detail.js +1 -1
  26. package/lib/commands/dataset/index.js +1 -1
  27. package/lib/commands/dataset/list.js +1 -1
  28. package/lib/commands/dataset/sdk-doc.js +1 -1
  29. package/lib/commands/doctor.js +1 -1
  30. package/lib/commands/init.js +1 -1
  31. package/lib/commands/kb/index.js +1 -1
  32. package/lib/commands/logs/index.js +1 -1
  33. package/lib/commands/personal-bff/index.js +1 -1
  34. package/lib/commands/registry.js +1 -1
  35. package/lib/commands/schema.js +1 -1
  36. package/lib/commands/service/dynamic.js +1 -1
  37. package/lib/commands/service/index.js +1 -1
  38. package/lib/commands/service/registry.js +1 -1
  39. package/lib/commands/skill/commands/create.js +1 -1
  40. package/lib/commands/skill/commands/install.js +1 -1
  41. package/lib/commands/skill/commands/list.js +1 -1
  42. package/lib/commands/skill/commands/push.js +1 -1
  43. package/lib/commands/skill/commands/validate.js +1 -1
  44. package/lib/commands/skill/flags.js +1 -1
  45. package/lib/commands/skill/index.js +1 -1
  46. package/lib/commands/skill/manifest-helpers.js +1 -1
  47. package/lib/commands/skill/push-retarget.js +1 -0
  48. package/lib/commands/skill/scopes.js +1 -1
  49. package/lib/commands/skill/summary.js +1 -1
  50. package/lib/commands/skill/templates.js +1 -1
  51. package/lib/commands/skill/validate.js +1 -1
  52. package/lib/commands/sql/detail.js +1 -1
  53. package/lib/commands/sql/exec.js +1 -1
  54. package/lib/commands/sql/index.js +1 -1
  55. package/lib/commands/update.js +1 -1
  56. package/lib/commands/workspace/index.js +1 -1
  57. package/lib/config/schema.js +1 -1
  58. package/lib/constant/app.js +1 -1
  59. package/lib/constant/auth-mode.js +1 -1
  60. package/lib/constant/cli.js +1 -1
  61. package/lib/constant/defaults.js +1 -1
  62. package/lib/constant/distribution.js +1 -1
  63. package/lib/constant/domain.js +1 -1
  64. package/lib/constant/env.js +1 -1
  65. package/lib/constant/output.js +1 -1
  66. package/lib/constant/product.js +1 -1
  67. package/lib/constant/risk.js +1 -1
  68. package/lib/constant/url.js +1 -1
  69. package/lib/context.js +1 -1
  70. package/lib/core/api-client.js +1 -1
  71. package/lib/core/db-resolver.js +1 -1
  72. package/lib/core/sdk-client.js +1 -1
  73. package/lib/errors.js +1 -1
  74. package/lib/framework/build-all-flags.js +1 -1
  75. package/lib/framework/dryrun.js +1 -1
  76. package/lib/framework/flags.js +1 -1
  77. package/lib/framework/help.js +1 -1
  78. package/lib/framework/index.js +1 -1
  79. package/lib/framework/output.js +1 -1
  80. package/lib/framework/preparse.js +1 -1
  81. package/lib/framework/response.js +1 -1
  82. package/lib/framework/runner-confirmation.js +1 -1
  83. package/lib/framework/runner-error.js +1 -1
  84. package/lib/framework/runner.js +1 -1
  85. package/lib/framework/schema-export.js +1 -1
  86. package/lib/framework/types.js +1 -1
  87. package/lib/generated/build-info.js +1 -1
  88. package/lib/help.js +1 -1
  89. package/lib/skills/npx-skills-add.js +1 -1
  90. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  91. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  92. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  93. package/lib/skills/runtime-skill-sync/links.js +1 -1
  94. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  95. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  96. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  97. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  98. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  99. package/lib/skills/runtime-skill-sync/push.js +1 -1
  100. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  101. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  102. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  103. package/lib/skills/runtime-skill-sync.js +1 -1
  104. package/lib/utils/apply-jq-filter.js +1 -1
  105. package/lib/utils/logger.js +1 -1
  106. package/lib/utils/params.js +1 -1
  107. package/lib/utils/platform.js +1 -1
  108. package/lib/utils/update-notice.js +1 -1
  109. package/lib/utils/version.js +1 -1
  110. package/lib/utils/write-cli-side-channel.js +1 -1
  111. package/package.json +1 -1
@@ -1 +1 @@
1
- const a27_0x5c29ae=a27_0x3973;(function(_0x206b0e,_0x283dbe){const _0xd94f12=a27_0x3973,_0xfe9146=_0x206b0e();while(!![]){try{const _0x4e6600=-parseInt(_0xd94f12(0xf4))/0x1+parseInt(_0xd94f12(0xca))/0x2*(-parseInt(_0xd94f12(0xd0))/0x3)+parseInt(_0xd94f12(0xc2))/0x4+-parseInt(_0xd94f12(0xf1))/0x5+-parseInt(_0xd94f12(0xda))/0x6*(-parseInt(_0xd94f12(0xc9))/0x7)+parseInt(_0xd94f12(0xf0))/0x8*(-parseInt(_0xd94f12(0xb5))/0x9)+parseInt(_0xd94f12(0xec))/0xa*(parseInt(_0xd94f12(0xe7))/0xb);if(_0x4e6600===_0x283dbe)break;else _0xfe9146['push'](_0xfe9146['shift']());}catch(_0x3a26e7){_0xfe9146['push'](_0xfe9146['shift']());}}}(a27_0x1915,0x2d3fe));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0x1915(){const _0x340885=['394398cBiSDD','description','utf8','isFile','length','file','build','topk','update','--topk\x20must\x20be\x20a\x20positive\x20number.','userId','content','metadata','1377036FzDilz','File\x20is\x20not\x20a\x20regular\x20file:\x20','create','verbose','number','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','Updated\x20KB\x20entry\x20','7sCoEyK','62GUknLH','trim','isFinite','title','search','/client/knowledge-base/personal/create','26286eJzpRO','str','Personal\x20knowledge-base\x20entry\x20ID','version','query','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','/update','validation','weightedScore','appCode','653286FqCosu','scope','/client/knowledge-base/personal/','list','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','map','write','string','POST','read','bool','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','detail','1705NwxbkB','File\x20path\x20is\x20required.','File\x20not\x20found:\x20','flag','num','18800MNzEiy','Override\x20the\x20existing\x20entry\x20title','body','ragErrorMessage','8zqjcXl','449190sJUrcu','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','score','153916mJqroi','createTime'];a27_0x1915=function(){return _0x340885;};return a27_0x1915();}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_0x5c29ae(0xcd),'type':a27_0x5c29ae(0xe1),'required':!![],'description':'Personal\x20knowledge-base\x20entry\x20title'},FILE_FLAG={'name':a27_0x5c29ae(0xba),'type':'string','required':!![],'description':a27_0x5c29ae(0xd5)},QUERY_FLAG={'name':a27_0x5c29ae(0xd4),'type':a27_0x5c29ae(0xe1),'required':!![],'description':a27_0x5c29ae(0xde)},TOPK_FLAG={'name':a27_0x5c29ae(0xbc),'type':a27_0x5c29ae(0xc6),'description':a27_0x5c29ae(0xe5)};function readKnowledgeFile(_0x26a1dd){const _0x440a88=a27_0x5c29ae;if(!_0x26a1dd)throw CliErrors['validation'](_0x440a88(0xe8));if(!existsSync(_0x26a1dd))throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xe9)+_0x26a1dd);if(!statSync(_0x26a1dd)[_0x440a88(0xb8)]())throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xc3)+_0x26a1dd);return readFileSync(_0x26a1dd,_0x440a88(0xb7));}function summarizePersonalItem(_0x45a202){const _0x73ab05=a27_0x5c29ae;return{'id':_0x45a202['id'],'title':_0x45a202['title'],'version':_0x45a202[_0x73ab05(0xd3)],'ragStatus':_0x45a202['ragStatus'],'ragErrorMessage':_0x45a202['ragErrorMessage'],'updateTime':_0x45a202['updateTime']};}function a27_0x3973(_0x337249,_0x11aea6){_0x337249=_0x337249-0xb4;const _0x191586=a27_0x1915();let _0x3973f3=_0x191586[_0x337249];return _0x3973f3;}function detailPersonalItem(_0x8116e6){const _0x116291=a27_0x5c29ae;return{'id':_0x8116e6['id'],'appCode':_0x8116e6[_0x116291(0xd9)],'scope':_0x8116e6[_0x116291(0xdb)],'userId':_0x8116e6[_0x116291(0xbf)],'title':_0x8116e6['title'],'content':_0x8116e6[_0x116291(0xc0)]??'','version':_0x8116e6['version'],'ragStatus':_0x8116e6['ragStatus'],'ragErrorMessage':_0x8116e6[_0x116291(0xef)],'createTime':_0x8116e6[_0x116291(0xb4)],'updateTime':_0x8116e6['updateTime']};}function summarizeSearchHit(_0x43d672){const _0x15a3da=a27_0x5c29ae;return{'scope':_0x43d672[_0x15a3da(0xdb)],'docId':_0x43d672['docId'],'score':_0x43d672[_0x15a3da(0xf3)],'weightedScore':_0x43d672[_0x15a3da(0xd8)],'content':_0x43d672[_0x15a3da(0xc0)],'metadata':_0x43d672[_0x15a3da(0xc1)]};}function readTopK(_0x43e73b){const _0x15d233=a27_0x5c29ae,_0x497403=_0x43e73b[_0x15d233(0xea)](_0x15d233(0xbc));if(_0x497403===undefined||_0x497403===null||_0x497403==='')return undefined;const _0x1233ee=_0x43e73b['num']('topk');if(!Number[_0x15d233(0xcc)](_0x1233ee)||_0x1233ee<0x1)throw CliErrors['validation'](_0x15d233(0xbe));return _0x1233ee;}const kbList={'service':'kb','command':a27_0x5c29ae(0xdd),'description':a27_0x5c29ae(0xf2),'risk':a27_0x5c29ae(0xe3),'flags':[VERBOSE_FLAG],async 'execute'(_0x35b358){const _0x1a6685=a27_0x5c29ae,_0x4268dc=await listPersonalKnowledgeBaseItems(_0x35b358[_0x1a6685(0xd9)]);if(_0x35b358[_0x1a6685(0xe4)](_0x1a6685(0xc5)))return{'ok':!![],'data':{'total':_0x4268dc[_0x1a6685(0xb9)],'items':_0x4268dc}};return{'ok':!![],'data':{'total':_0x4268dc['length'],'items':_0x4268dc[_0x1a6685(0xdf)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x5c29ae(0xe6),'description':a27_0x5c29ae(0xc7),'risk':a27_0x5c29ae(0xe3),'flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)}],async 'execute'(_0x5ad128){const _0x221b94=a27_0x5c29ae,_0xa04b4e=await getPersonalKnowledgeBaseItem(_0x5ad128['num']('id'),_0x5ad128[_0x221b94(0xd9)]);return{'ok':!![],'data':detailPersonalItem(_0xa04b4e)};}},kbCreate={'service':'kb','command':a27_0x5c29ae(0xc4),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x5c29ae(0xe0),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x5798b3){const _0x470502=a27_0x5c29ae,_0x1a73e7=_0x5798b3['str'](_0x470502(0xcd)),_0xad66cb=readKnowledgeFile(_0x5798b3[_0x470502(0xd1)](_0x470502(0xba))),_0x249de8=await createPersonalKnowledgeBaseItem(_0x5798b3[_0x470502(0xd9)],{'title':_0x1a73e7,'content':_0xad66cb});return{'ok':!![],'data':summarizePersonalItem(_0x249de8),'message':'Created\x20KB\x20entry\x20'+_0x249de8['id']+'\x20('+_0x249de8[_0x470502(0xcd)]+')'};},async 'dryRun'(_0x15d89a){const _0x2cfcd6=a27_0x5c29ae,_0x5bf555=_0x15d89a['str'](_0x2cfcd6(0xcd)),_0x37bd24=readKnowledgeFile(_0x15d89a['str']('file'));return dryRun(_0x2cfcd6(0xe2),_0x2cfcd6(0xcf))[_0x2cfcd6(0xee)]({'appCode':_0x15d89a[_0x2cfcd6(0xd9)],'title':_0x5bf555,'content':_0x37bd24})['description']('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x5bf555+'\x22')[_0x2cfcd6(0xbb)]();}},kbUpdate={'service':'kb','command':a27_0x5c29ae(0xbd),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)},{...TITLE_FLAG,'required':![],'description':a27_0x5c29ae(0xed)},FILE_FLAG],async 'execute'(_0x28a465){const _0x32f831=a27_0x5c29ae,_0x2cf254=_0x28a465[_0x32f831(0xeb)]('id'),_0x338ad5=readKnowledgeFile(_0x28a465[_0x32f831(0xd1)](_0x32f831(0xba))),_0x3dc19b=_0x28a465[_0x32f831(0xd1)](_0x32f831(0xcd))||(await getPersonalKnowledgeBaseItem(_0x2cf254,_0x28a465[_0x32f831(0xd9)]))[_0x32f831(0xcd)],_0xbc4c35=await updatePersonalKnowledgeBaseItem(_0x2cf254,_0x28a465['appCode'],{'title':_0x3dc19b,'content':_0x338ad5});return{'ok':!![],'data':summarizePersonalItem(_0xbc4c35),'message':_0x32f831(0xc8)+_0xbc4c35['id']+'\x20('+_0xbc4c35['title']+')'};},async 'dryRun'(_0x15655c){const _0xc63483=a27_0x5c29ae,_0x8cc000=_0x15655c[_0xc63483(0xeb)]('id'),_0x59c3bb=readKnowledgeFile(_0x15655c[_0xc63483(0xd1)](_0xc63483(0xba))),_0x195c4b=_0x15655c[_0xc63483(0xd1)]('title')||(await getPersonalKnowledgeBaseItem(_0x8cc000,_0x15655c['appCode']))['title'];return dryRun(_0xc63483(0xe2),_0xc63483(0xdc)+_0x8cc000+_0xc63483(0xd6))[_0xc63483(0xee)]({'appCode':_0x15655c[_0xc63483(0xd9)],'title':_0x195c4b,'content':_0x59c3bb})[_0xc63483(0xb6)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x8cc000)[_0xc63483(0xbb)]();}},kbSearch={'service':'kb','command':a27_0x5c29ae(0xce),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x5c29ae(0xe3),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x33e55f){const _0x4d80ad=a27_0x5c29ae;if(!_0x33e55f[_0x4d80ad(0xd1)]('query')[_0x4d80ad(0xcb)]())throw CliErrors[_0x4d80ad(0xd7)]('Search\x20query\x20is\x20required.');readTopK(_0x33e55f);},async 'execute'(_0x56a7cc){const _0x4e1a23=a27_0x5c29ae,_0x4243d6=_0x56a7cc[_0x4e1a23(0xd1)](_0x4e1a23(0xd4))[_0x4e1a23(0xcb)](),_0x40d2aa=readTopK(_0x56a7cc),_0x29ed0b=await searchKnowledgeBase(_0x56a7cc['appCode'],{'query':_0x4243d6,'topK':_0x40d2aa});return{'ok':!![],'data':{'total':_0x29ed0b['length'],'hits':_0x29ed0b[_0x4e1a23(0xdf)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a30_0x71f1c4=a30_0x2476;(function(_0x33bb9b,_0x1e7dcc){const _0x39f20a=a30_0x2476,_0x9b3d47=_0x33bb9b();while(!![]){try{const _0xc0a267=parseInt(_0x39f20a(0x1bd))/0x1*(-parseInt(_0x39f20a(0x1b3))/0x2)+parseInt(_0x39f20a(0x1aa))/0x3+-parseInt(_0x39f20a(0x1a3))/0x4+-parseInt(_0x39f20a(0x1be))/0x5+parseInt(_0x39f20a(0x1c6))/0x6+-parseInt(_0x39f20a(0x1dc))/0x7+-parseInt(_0x39f20a(0x1bf))/0x8*(-parseInt(_0x39f20a(0x1c2))/0x9);if(_0xc0a267===_0x1e7dcc)break;else _0x9b3d47['push'](_0x9b3d47['shift']());}catch(_0x56a064){_0x9b3d47['push'](_0x9b3d47['shift']());}}}(a30_0x37e4,0x4a7bc));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a30_0x2476(_0x2065ab,_0x3e4d1f){_0x2065ab=_0x2065ab-0x1a2;const _0x37e4d6=a30_0x37e4();let _0x247686=_0x37e4d6[_0x2065ab];return _0x247686;}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a30_0x37e4(){const _0x50d7b6=['ragStatus','231670DRfFth','957920kYHuuX','8vmwwOb','detail','num','6747894twCDAg','File\x20not\x20found:\x20','docId','bool','1623660LJnyNE','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','write','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','title','body','create','Personal\x20knowledge-base\x20entry\x20title','query','string','Personal\x20knowledge-base\x20entry\x20ID','ragErrorMessage','scope','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','build','trim','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','file','weightedScore','map','read','verbose','3991617HuaJlO','topk','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','459040iXiwFj','createTime','Updated\x20KB\x20entry\x20','length','userId','description','updateTime','1178859YwORtl','validation','/update','--topk\x20must\x20be\x20a\x20positive\x20number.','str','isFile','update','appCode','Override\x20the\x20existing\x20entry\x20title','2cULDNm','flag','isFinite','search','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','list','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','metadata','utf8'];a30_0x37e4=function(){return _0x50d7b6;};return a30_0x37e4();}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a30_0x71f1c4(0x1ca),'type':'string','required':!![],'description':a30_0x71f1c4(0x1cd)},FILE_FLAG={'name':a30_0x71f1c4(0x1d7),'type':'string','required':!![],'description':a30_0x71f1c4(0x1b9)},QUERY_FLAG={'name':'query','type':a30_0x71f1c4(0x1cf),'required':!![],'description':a30_0x71f1c4(0x1d6)},TOPK_FLAG={'name':a30_0x71f1c4(0x1dd),'type':'number','description':a30_0x71f1c4(0x1c9)};function readKnowledgeFile(_0x3d6d06){const _0x5cc7d3=a30_0x71f1c4;if(!_0x3d6d06)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x3d6d06))throw CliErrors[_0x5cc7d3(0x1ab)](_0x5cc7d3(0x1c3)+_0x3d6d06);if(!statSync(_0x3d6d06)[_0x5cc7d3(0x1af)]())throw CliErrors[_0x5cc7d3(0x1ab)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x3d6d06);return readFileSync(_0x3d6d06,_0x5cc7d3(0x1bb));}function summarizePersonalItem(_0x58ca01){const _0x184a2=a30_0x71f1c4;return{'id':_0x58ca01['id'],'title':_0x58ca01[_0x184a2(0x1ca)],'version':_0x58ca01['version'],'ragStatus':_0x58ca01[_0x184a2(0x1bc)],'ragErrorMessage':_0x58ca01[_0x184a2(0x1d1)],'updateTime':_0x58ca01[_0x184a2(0x1a9)]};}function detailPersonalItem(_0x15569d){const _0x25558f=a30_0x71f1c4;return{'id':_0x15569d['id'],'appCode':_0x15569d['appCode'],'scope':_0x15569d[_0x25558f(0x1d2)],'userId':_0x15569d[_0x25558f(0x1a7)],'title':_0x15569d[_0x25558f(0x1ca)],'content':_0x15569d['content']??'','version':_0x15569d['version'],'ragStatus':_0x15569d[_0x25558f(0x1bc)],'ragErrorMessage':_0x15569d[_0x25558f(0x1d1)],'createTime':_0x15569d[_0x25558f(0x1a4)],'updateTime':_0x15569d[_0x25558f(0x1a9)]};}function summarizeSearchHit(_0x3056d0){const _0x3ff246=a30_0x71f1c4;return{'scope':_0x3056d0['scope'],'docId':_0x3056d0[_0x3ff246(0x1c4)],'score':_0x3056d0['score'],'weightedScore':_0x3056d0[_0x3ff246(0x1d8)],'content':_0x3056d0['content'],'metadata':_0x3056d0[_0x3ff246(0x1ba)]};}function readTopK(_0x3c93e2){const _0x53fe70=a30_0x71f1c4,_0x28c110=_0x3c93e2[_0x53fe70(0x1b4)](_0x53fe70(0x1dd));if(_0x28c110===undefined||_0x28c110===null||_0x28c110==='')return undefined;const _0x52b5cf=_0x3c93e2['num'](_0x53fe70(0x1dd));if(!Number[_0x53fe70(0x1b5)](_0x52b5cf)||_0x52b5cf<0x1)throw CliErrors[_0x53fe70(0x1ab)](_0x53fe70(0x1ad));return _0x52b5cf;}const kbList={'service':'kb','command':a30_0x71f1c4(0x1b8),'description':a30_0x71f1c4(0x1d3),'risk':a30_0x71f1c4(0x1da),'flags':[VERBOSE_FLAG],async 'execute'(_0x22ff8e){const _0x47a6d4=a30_0x71f1c4,_0x133707=await listPersonalKnowledgeBaseItems(_0x22ff8e['appCode']);if(_0x22ff8e[_0x47a6d4(0x1c5)](_0x47a6d4(0x1db)))return{'ok':!![],'data':{'total':_0x133707[_0x47a6d4(0x1a6)],'items':_0x133707}};return{'ok':!![],'data':{'total':_0x133707[_0x47a6d4(0x1a6)],'items':_0x133707[_0x47a6d4(0x1d9)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a30_0x71f1c4(0x1c0),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a30_0x71f1c4(0x1da),'flags':[{...ID_FLAG,'description':a30_0x71f1c4(0x1d0)}],async 'execute'(_0x5f0d98){const _0x1d7bb4=await getPersonalKnowledgeBaseItem(_0x5f0d98['num']('id'),_0x5f0d98['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x1d7bb4)};}},kbCreate={'service':'kb','command':a30_0x71f1c4(0x1cc),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a30_0x71f1c4(0x1c8),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x40b6ec){const _0x51e45d=a30_0x71f1c4,_0x2f4780=_0x40b6ec[_0x51e45d(0x1ae)](_0x51e45d(0x1ca)),_0x4a13dd=readKnowledgeFile(_0x40b6ec['str'](_0x51e45d(0x1d7))),_0x561ec1=await createPersonalKnowledgeBaseItem(_0x40b6ec[_0x51e45d(0x1b1)],{'title':_0x2f4780,'content':_0x4a13dd});return{'ok':!![],'data':summarizePersonalItem(_0x561ec1),'message':'Created\x20KB\x20entry\x20'+_0x561ec1['id']+'\x20('+_0x561ec1[_0x51e45d(0x1ca)]+')'};},async 'dryRun'(_0x29ae4b){const _0x3c6ad5=a30_0x71f1c4,_0x54284e=_0x29ae4b[_0x3c6ad5(0x1ae)](_0x3c6ad5(0x1ca)),_0x3ae1a6=readKnowledgeFile(_0x29ae4b[_0x3c6ad5(0x1ae)](_0x3c6ad5(0x1d7)));return dryRun('POST','/client/knowledge-base/personal/create')[_0x3c6ad5(0x1cb)]({'appCode':_0x29ae4b[_0x3c6ad5(0x1b1)],'title':_0x54284e,'content':_0x3ae1a6})[_0x3c6ad5(0x1a8)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x54284e+'\x22')['build']();}},kbUpdate={'service':'kb','command':a30_0x71f1c4(0x1b0),'description':a30_0x71f1c4(0x1c7),'risk':a30_0x71f1c4(0x1c8),'flags':[{...ID_FLAG,'description':a30_0x71f1c4(0x1d0)},{...TITLE_FLAG,'required':![],'description':a30_0x71f1c4(0x1b2)},FILE_FLAG],async 'execute'(_0x19551f){const _0x4ca206=a30_0x71f1c4,_0x5ae69f=_0x19551f[_0x4ca206(0x1c1)]('id'),_0x2ba1c5=readKnowledgeFile(_0x19551f[_0x4ca206(0x1ae)]('file')),_0x1e89d4=_0x19551f[_0x4ca206(0x1ae)](_0x4ca206(0x1ca))||(await getPersonalKnowledgeBaseItem(_0x5ae69f,_0x19551f[_0x4ca206(0x1b1)]))[_0x4ca206(0x1ca)],_0x33edf2=await updatePersonalKnowledgeBaseItem(_0x5ae69f,_0x19551f[_0x4ca206(0x1b1)],{'title':_0x1e89d4,'content':_0x2ba1c5});return{'ok':!![],'data':summarizePersonalItem(_0x33edf2),'message':_0x4ca206(0x1a5)+_0x33edf2['id']+'\x20('+_0x33edf2['title']+')'};},async 'dryRun'(_0x43175f){const _0x7ea648=a30_0x71f1c4,_0x38ae48=_0x43175f[_0x7ea648(0x1c1)]('id'),_0xcd8dd7=readKnowledgeFile(_0x43175f[_0x7ea648(0x1ae)](_0x7ea648(0x1d7))),_0x4d8bdb=_0x43175f[_0x7ea648(0x1ae)](_0x7ea648(0x1ca))||(await getPersonalKnowledgeBaseItem(_0x38ae48,_0x43175f[_0x7ea648(0x1b1)]))['title'];return dryRun('POST','/client/knowledge-base/personal/'+_0x38ae48+_0x7ea648(0x1ac))[_0x7ea648(0x1cb)]({'appCode':_0x43175f[_0x7ea648(0x1b1)],'title':_0x4d8bdb,'content':_0xcd8dd7})['description'](_0x7ea648(0x1a2)+_0x38ae48)[_0x7ea648(0x1d4)]();}},kbSearch={'service':'kb','command':a30_0x71f1c4(0x1b6),'description':a30_0x71f1c4(0x1b7),'risk':a30_0x71f1c4(0x1da),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x4c8a3c){const _0x483b2f=a30_0x71f1c4;if(!_0x4c8a3c[_0x483b2f(0x1ae)](_0x483b2f(0x1ce))[_0x483b2f(0x1d5)]())throw CliErrors[_0x483b2f(0x1ab)]('Search\x20query\x20is\x20required.');readTopK(_0x4c8a3c);},async 'execute'(_0x3dd92a){const _0x226cc6=a30_0x71f1c4,_0x2c4258=_0x3dd92a[_0x226cc6(0x1ae)](_0x226cc6(0x1ce))['trim'](),_0x3c10cf=readTopK(_0x3dd92a),_0x39009d=await searchKnowledgeBase(_0x3dd92a[_0x226cc6(0x1b1)],{'query':_0x2c4258,'topK':_0x3c10cf});return{'ok':!![],'data':{'total':_0x39009d[_0x226cc6(0x1a6)],'hits':_0x39009d[_0x226cc6(0x1d9)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0xa57254=a28_0x325e;function a28_0x325e(_0x595aab,_0x773bef){_0x595aab=_0x595aab-0x1ca;const _0x8905b6=a28_0x8905();let _0x325e8c=_0x8905b6[_0x595aab];return _0x325e8c;}(function(_0x4ccf91,_0x507b7e){const _0x1fe0ed=a28_0x325e,_0x270518=_0x4ccf91();while(!![]){try{const _0x503897=parseInt(_0x1fe0ed(0x1e9))/0x1*(parseInt(_0x1fe0ed(0x1dc))/0x2)+-parseInt(_0x1fe0ed(0x1e4))/0x3*(-parseInt(_0x1fe0ed(0x1ea))/0x4)+-parseInt(_0x1fe0ed(0x1da))/0x5+-parseInt(_0x1fe0ed(0x1e3))/0x6+-parseInt(_0x1fe0ed(0x1d2))/0x7*(-parseInt(_0x1fe0ed(0x1ce))/0x8)+-parseInt(_0x1fe0ed(0x1cf))/0x9*(-parseInt(_0x1fe0ed(0x1e1))/0xa)+parseInt(_0x1fe0ed(0x1d1))/0xb*(-parseInt(_0x1fe0ed(0x1d9))/0xc);if(_0x503897===_0x507b7e)break;else _0x270518['push'](_0x270518['shift']());}catch(_0x2b863c){_0x270518['push'](_0x270518['shift']());}}}(a28_0x8905,0x1b804));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x570fbe){const _0x216f0f=a28_0x325e;if(_0x570fbe['length']===0x0){console[_0x216f0f(0x1d8)](_0x216f0f(0x1d5));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x216f0f(0x1dd)),_0x570fbe['forEach']((_0x18a699,_0x9b81b)=>{const _0x2e4e22=_0x216f0f,_0x145581=new Date(_0x18a699['timestamp'])['toLocaleString'](_0x2e4e22(0x1d7)),_0x168070=_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1e2)?'√':_0x18a699[_0x2e4e22(0x1e0)]==='error'?'×':_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1df)?'!':'i';console['log'](_0x9b81b+0x1+'.\x20'+_0x168070+'\x20['+_0x18a699['command']+']\x20'+_0x18a699['message']),console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1cb)+_0x145581),_0x18a699['duration']&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1e8)+_0x18a699[_0x2e4e22(0x1e7)]+'ms'),_0x18a699[_0x2e4e22(0x1d0)]&&Object['keys'](_0x18a699[_0x2e4e22(0x1d0)])[_0x2e4e22(0x1cc)]>0x0&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1d4)+JSON[_0x2e4e22(0x1d3)](_0x18a699[_0x2e4e22(0x1d0)],null,0x2)),console[_0x2e4e22(0x1d8)]('');});}function a28_0x8905(){const _0x180cfb=['read','2yMKJGD','\x20logs:\x0a','clear','warn','level','1179270sVmZuw','success','396120Pjbomu','1089bFBhPZ','write','*\x20Logs\x20cleared','duration','\x20\x20\x20Duration:\x20','104586zUuqSq','1680zMcQzt','View\x20command\x20history\x20logs','\x20\x20\x20Time:\x20','length','Clear\x20command\x20history\x20logs','272NgFvuY','9WuOcbx','details','22NfMhMc','8323NLmCBM','stringify','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','logs','en-US','log','183576Gzjnsz','1030695GjNYbn'];a28_0x8905=function(){return _0x180cfb;};return a28_0x8905();}export const logsDefinitions=[{'service':a28_0xa57254(0x1d6),'command':'show','description':a28_0xa57254(0x1ca),'risk':a28_0xa57254(0x1db),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2e97b4){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':a28_0xa57254(0x1de),'description':a28_0xa57254(0x1cd),'risk':a28_0xa57254(0x1e5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5c2bb){const _0x435500=a28_0xa57254;return logger['clearLogs'](),console[_0x435500(0x1d8)](_0x435500(0x1e6)),{'ok':!![]};}}];
1
+ const a31_0x1592cd=a31_0xd119;(function(_0x2be246,_0x4f2f66){const _0x56d321=a31_0xd119,_0x156546=_0x2be246();while(!![]){try{const _0x5e6411=parseInt(_0x56d321(0x76))/0x1*(parseInt(_0x56d321(0x7d))/0x2)+parseInt(_0x56d321(0x8a))/0x3+parseInt(_0x56d321(0x86))/0x4*(parseInt(_0x56d321(0x6e))/0x5)+-parseInt(_0x56d321(0x8c))/0x6*(-parseInt(_0x56d321(0x88))/0x7)+-parseInt(_0x56d321(0x71))/0x8+parseInt(_0x56d321(0x77))/0x9*(-parseInt(_0x56d321(0x89))/0xa)+-parseInt(_0x56d321(0x7f))/0xb*(parseInt(_0x56d321(0x6d))/0xc);if(_0x5e6411===_0x4f2f66)break;else _0x156546['push'](_0x156546['shift']());}catch(_0x79406f){_0x156546['push'](_0x156546['shift']());}}}(a31_0x469e,0xc261d));function a31_0xd119(_0x496790,_0x377f36){_0x496790=_0x496790-0x6c;const _0x469e0a=a31_0x469e();let _0xd119bc=_0x469e0a[_0x496790];return _0xd119bc;}import{logger}from'../../utils/logger.js';function a31_0x469e(){const _0x49271d=['\x20\x20\x20Duration:\x20','read','8894240fcAVDz','logs','toLocaleString','en-US','log','46915NMUIRq','107352WAHQkL','duration','length','clear','forEach','*\x20No\x20logs\x20found','58FeKCaR','readLogs','286pocNRb','write','details','Clear\x20command\x20history\x20logs','timestamp','*\x20Logs\x20cleared','\x20\x20\x20Details:\x20','4YMoWWo','level','293608UatPQh','560rVcQHw','4585773lCfTWk','warn','168PGLapE','View\x20command\x20history\x20logs','show','success','keys','1151520QemTJE','5036695uHGlRE'];a31_0x469e=function(){return _0x49271d;};return a31_0x469e();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x55739f){const _0x4df91f=a31_0xd119;if(_0x55739f['length']===0x0){console[_0x4df91f(0x75)](_0x4df91f(0x7c));return;}console[_0x4df91f(0x75)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x55739f[_0x4df91f(0x7b)]((_0x173fec,_0x5bd56a)=>{const _0x1cb761=_0x4df91f,_0x4cff0e=new Date(_0x173fec[_0x1cb761(0x83)])[_0x1cb761(0x73)](_0x1cb761(0x74)),_0x2f195c=_0x173fec[_0x1cb761(0x87)]===_0x1cb761(0x8f)?'√':_0x173fec[_0x1cb761(0x87)]==='error'?'×':_0x173fec['level']===_0x1cb761(0x8b)?'!':'i';console[_0x1cb761(0x75)](_0x5bd56a+0x1+'.\x20'+_0x2f195c+'\x20['+_0x173fec['command']+']\x20'+_0x173fec['message']),console[_0x1cb761(0x75)]('\x20\x20\x20Time:\x20'+_0x4cff0e),_0x173fec[_0x1cb761(0x78)]&&console[_0x1cb761(0x75)](_0x1cb761(0x6f)+_0x173fec['duration']+'ms'),_0x173fec[_0x1cb761(0x81)]&&Object[_0x1cb761(0x6c)](_0x173fec['details'])[_0x1cb761(0x79)]>0x0&&console[_0x1cb761(0x75)](_0x1cb761(0x85)+JSON['stringify'](_0x173fec[_0x1cb761(0x81)],null,0x2)),console[_0x1cb761(0x75)]('');});}export const logsDefinitions=[{'service':a31_0x1592cd(0x72),'command':a31_0x1592cd(0x8e),'description':a31_0x1592cd(0x8d),'risk':a31_0x1592cd(0x70),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1c9f20){const _0x5de4f8=a31_0x1592cd;return printLogs(logger[_0x5de4f8(0x7e)]()),{'ok':!![]};}},{'service':a31_0x1592cd(0x72),'command':a31_0x1592cd(0x7a),'description':a31_0x1592cd(0x82),'risk':a31_0x1592cd(0x80),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x234e10){const _0x2a0707=a31_0x1592cd;return logger['clearLogs'](),console[_0x2a0707(0x75)](_0x2a0707(0x84)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x1e7bf6=a29_0xd742;(function(_0x276048,_0x51c2d6){const _0x12f590=a29_0xd742,_0x27b7fa=_0x276048();while(!![]){try{const _0x255bba=-parseInt(_0x12f590(0xf1))/0x1+-parseInt(_0x12f590(0xd9))/0x2*(parseInt(_0x12f590(0xd2))/0x3)+parseInt(_0x12f590(0xe4))/0x4+parseInt(_0x12f590(0xd0))/0x5+-parseInt(_0x12f590(0x105))/0x6*(-parseInt(_0x12f590(0xf3))/0x7)+-parseInt(_0x12f590(0x101))/0x8*(-parseInt(_0x12f590(0xea))/0x9)+-parseInt(_0x12f590(0xdb))/0xa;if(_0x255bba===_0x51c2d6)break;else _0x27b7fa['push'](_0x27b7fa['shift']());}catch(_0x5a1bcf){_0x27b7fa['push'](_0x27b7fa['shift']());}}}(a29_0x5466,0x766af));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x1e7bf6(0xfb),'type':'string','description':a29_0x1e7bf6(0xc6)},FUNCTION_NAME_FLAG={'name':a29_0x1e7bf6(0xfa),'type':a29_0x1e7bf6(0x106),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x1e7bf6(0x104),'type':a29_0x1e7bf6(0x106),'description':a29_0x1e7bf6(0xf9)},SOURCE_SESSION_FLAG={'name':a29_0x1e7bf6(0xc8),'type':a29_0x1e7bf6(0x106),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x1cda75){const _0x5d79f2=a29_0x1e7bf6,_0x1e2767=String(_0x1cda75||'')[_0x5d79f2(0xc7)]();if(!_0x1e2767||!FUNCTION_NAME_PATTERN[_0x5d79f2(0xd5)](_0x1e2767))throw CliErrors['validation'](_0x5d79f2(0xfe));return _0x1e2767;}function readScriptFile(_0x102dbb){const _0x11c35d=a29_0x1e7bf6;if(!_0x102dbb)throw CliErrors['validation'](_0x11c35d(0xef));if(!existsSync(_0x102dbb))throw CliErrors[_0x11c35d(0xda)]('File\x20not\x20found:\x20'+_0x102dbb);if(!statSync(_0x102dbb)[_0x11c35d(0xe2)]())throw CliErrors['validation'](_0x11c35d(0xf4)+_0x102dbb);const _0x5edfc2=readFileSync(_0x102dbb,'utf8');if(!_0x5edfc2['trim']())throw CliErrors[_0x11c35d(0xda)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x5edfc2;}function optionalTrimmed(_0x37d286){const _0xe7c7cf=a29_0x1e7bf6,_0x51d54a=String(_0x37d286||'')[_0xe7c7cf(0xc7)]();return _0x51d54a||undefined;}function a29_0xd742(_0x2498f4,_0x38a096){_0x2498f4=_0x2498f4-0xc5;const _0x54660e=a29_0x5466();let _0xd74253=_0x54660e[_0x2498f4];return _0xd74253;}function summarizeBff(_0x587ca0){const _0x541a2e=a29_0x1e7bf6;return{'id':_0x587ca0['id'],'appCode':_0x587ca0['appCode'],'functionName':_0x587ca0[_0x541a2e(0xce)],'description':_0x587ca0['description'],'scriptType':_0x587ca0['scriptType'],'version':_0x587ca0[_0x541a2e(0xe1)],'gmtModified':_0x587ca0['gmtModified'],'updateTime':_0x587ca0[_0x541a2e(0xed)]};}function detailBff(_0x3338e3){const _0x5a3f71=a29_0x1e7bf6;return{'id':_0x3338e3['id'],'appCode':_0x3338e3[_0x5a3f71(0xf5)],'functionName':_0x3338e3[_0x5a3f71(0xce)],'description':_0x3338e3[_0x5a3f71(0x104)],'scriptType':_0x3338e3[_0x5a3f71(0xca)],'scriptContent':_0x3338e3[_0x5a3f71(0xee)]??'','config':_0x3338e3[_0x5a3f71(0xf6)],'version':_0x3338e3['version'],'createUserId':_0x3338e3[_0x5a3f71(0xcb)],'gmtCreate':_0x3338e3[_0x5a3f71(0xd8)],'gmtModified':_0x3338e3[_0x5a3f71(0xcc)],'createTime':_0x3338e3[_0x5a3f71(0xf7)],'updateTime':_0x3338e3[_0x5a3f71(0xed)]};}function buildCreateInput(_0x11ac60){const _0x2af60f=a29_0x1e7bf6;return{'functionName':normalizeFunctionName(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfa))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0x104)))?{'description':optionalTrimmed(_0x11ac60['str']('description'))}:{},'scriptContent':readScriptFile(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfb))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))?{'sourceSessionId':optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))}:{}};}function buildUpdateInput(_0x51b8f7){const _0x441d12=a29_0x1e7bf6,_0x6860f7={};optionalTrimmed(_0x51b8f7['str'](_0x441d12(0xfa)))&&(_0x6860f7[_0x441d12(0xce)]=normalizeFunctionName(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfa))));_0x51b8f7[_0x441d12(0x102)](_0x441d12(0x104))!==undefined&&(_0x6860f7[_0x441d12(0x104)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0x104)));optionalTrimmed(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb)))&&(_0x6860f7[_0x441d12(0xee)]=readScriptFile(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb))));_0x51b8f7['flag'](_0x441d12(0xc8))!==undefined&&(_0x6860f7[_0x441d12(0xec)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xc8)));if(Object[_0x441d12(0xf8)](_0x6860f7)[_0x441d12(0xd7)]===0x0)throw CliErrors['validation'](_0x441d12(0xdd));return _0x6860f7;}function parseExecParams(_0x1ec2b3){const _0x3aa73c=a29_0x1e7bf6,_0x53d1ec=parseJsonParams(_0x1ec2b3)??{};if(Array['isArray'](_0x53d1ec))throw CliErrors[_0x3aa73c(0xda)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x53d1ec;}const personalBffList={'service':a29_0x1e7bf6(0x100),'command':'list','description':a29_0x1e7bf6(0xe7),'risk':a29_0x1e7bf6(0xe0),'flags':[VERBOSE_FLAG],async 'execute'(_0x17f6f6){const _0x3f4f49=a29_0x1e7bf6,_0x54ffaf=await listPersonalBffs(_0x17f6f6[_0x3f4f49(0xf5)]);return{'ok':!![],'data':{'total':_0x54ffaf[_0x3f4f49(0xd7)],'items':_0x17f6f6[_0x3f4f49(0xcf)](_0x3f4f49(0xe6))?_0x54ffaf:_0x54ffaf[_0x3f4f49(0xe8)](summarizeBff)}};}},personalBffDetail={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xcd),'description':a29_0x1e7bf6(0xd1),'risk':a29_0x1e7bf6(0xe0),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x5c1cfe){const _0x229479=a29_0x1e7bf6,_0x167ac7=await getPersonalBff(_0x5c1cfe[_0x229479(0xc5)]('id'),_0x5c1cfe[_0x229479(0xf5)]);return{'ok':!![],'data':detailBff(_0x167ac7)};}},personalBffCreate={'service':a29_0x1e7bf6(0x100),'command':'create','description':a29_0x1e7bf6(0x103),'risk':a29_0x1e7bf6(0xeb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x54eec1){const _0x1525dc=a29_0x1e7bf6,_0x2d6f9e=buildCreateInput(_0x54eec1),_0x12b1e=await createPersonalBff(_0x54eec1[_0x1525dc(0xf5)],_0x2d6f9e);return{'ok':!![],'data':detailBff(_0x12b1e),'message':'Created\x20personal\x20BFF\x20'+_0x12b1e['id']+(_0x12b1e[_0x1525dc(0xce)]?'\x20('+_0x12b1e[_0x1525dc(0xce)]+')':'')};},async 'dryRun'(_0xfd7b2){const _0x7685ad=a29_0x1e7bf6,_0x497bd1=buildCreateInput(_0xfd7b2);return dryRun('POST','/client/runtime-bff/personal/create')['body']({'appCode':_0xfd7b2['appCode'],..._0x497bd1})['description'](_0x7685ad(0xe9)+_0x497bd1[_0x7685ad(0xce)])[_0x7685ad(0xd6)]();}},personalBffUpdate={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xf0),'description':a29_0x1e7bf6(0xdc),'risk':a29_0x1e7bf6(0xeb),'flags':[{...ID_FLAG,'description':a29_0x1e7bf6(0xd4)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3de79d){const _0x49a35e=a29_0x1e7bf6,_0x6ac71=_0x3de79d[_0x49a35e(0xc5)]('id'),_0xac9f6f=buildUpdateInput(_0x3de79d),_0x523b59=await updatePersonalBff(_0x6ac71,_0x3de79d[_0x49a35e(0xf5)],_0xac9f6f);return{'ok':!![],'data':detailBff(_0x523b59),'message':_0x49a35e(0xff)+_0x523b59['id']+(_0x523b59[_0x49a35e(0xce)]?'\x20('+_0x523b59[_0x49a35e(0xce)]+')':'')};},async 'dryRun'(_0x516905){const _0x274054=a29_0x1e7bf6,_0x3c4360=_0x516905[_0x274054(0xc5)]('id'),_0x400ae3=buildUpdateInput(_0x516905);return dryRun(_0x274054(0xd3),_0x274054(0xdf)+_0x3c4360+'/update')['body']({'appCode':_0x516905[_0x274054(0xf5)],..._0x400ae3})['description'](_0x274054(0xe3)+_0x3c4360)['build']();}},personalBffExec={'service':a29_0x1e7bf6(0x100),'command':'exec','description':a29_0x1e7bf6(0xe5),'risk':a29_0x1e7bf6(0xfc),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x1e7bf6(0xc9)}],async 'validate'(_0x452026){const _0x1858b5=a29_0x1e7bf6;parseExecParams(_0x452026[_0x1858b5(0xde)](_0x1858b5(0xfd)));},async 'execute'(_0x1afec1){const _0x6ba0a2=a29_0x1e7bf6,_0x1fd649=_0x1afec1[_0x6ba0a2(0xc5)]('id'),_0x59396a=parseExecParams(_0x1afec1[_0x6ba0a2(0xde)](_0x6ba0a2(0xfd))),_0x5f424=await executePersonalBff(_0x1fd649,_0x1afec1[_0x6ba0a2(0xf5)],_0x59396a);return{'ok':!![],'data':{'result':_0x5f424},'message':_0x6ba0a2(0xf2)+_0x1fd649};}};function a29_0x5466(){const _0x252218=['appCode','config','createTime','keys','Personal\x20BFF\x20description','name','file','high-risk-write','params','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Updated\x20personal\x20BFF\x20','personal-bff','6664gtBkvL','flag','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','description','156666kTlhYY','string','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','trim','source-session-id','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','scriptType','createUserId','gmtModified','detail','functionName','bool','2530895YovHVU','Show\x20one\x20personal\x20BFF\x20by\x20id','9rgWCyw','POST','Personal\x20BFF\x20script\x20ID','test','build','length','gmtCreate','558336fZWSAh','validation','2026710mXHuZA','Update\x20a\x20personal\x20BFF\x20by\x20id','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','str','/client/runtime-bff/personal/','read','version','isFile','Preview:\x20update\x20personal\x20BFF\x20','1068940lyEaYQ','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','map','Preview:\x20create\x20personal\x20BFF\x20','9189gQusBQ','write','sourceSessionId','updateTime','scriptContent','File\x20path\x20is\x20required.','update','751468hOUpOu','Executed\x20personal\x20BFF\x20','175RwJGHv','File\x20is\x20not\x20a\x20regular\x20file:\x20'];a29_0x5466=function(){return _0x252218;};return a29_0x5466();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a32_0x145c6e=a32_0x48e7;(function(_0x4beebe,_0x3816b6){const _0xeb3a06=a32_0x48e7,_0x5eebdb=_0x4beebe();while(!![]){try{const _0x194298=-parseInt(_0xeb3a06(0x1ef))/0x1*(parseInt(_0xeb3a06(0x1f0))/0x2)+-parseInt(_0xeb3a06(0x225))/0x3*(parseInt(_0xeb3a06(0x1ed))/0x4)+parseInt(_0xeb3a06(0x224))/0x5*(parseInt(_0xeb3a06(0x20b))/0x6)+parseInt(_0xeb3a06(0x1ec))/0x7*(-parseInt(_0xeb3a06(0x1f1))/0x8)+parseInt(_0xeb3a06(0x228))/0x9+-parseInt(_0xeb3a06(0x222))/0xa*(-parseInt(_0xeb3a06(0x214))/0xb)+parseInt(_0xeb3a06(0x1fc))/0xc;if(_0x194298===_0x3816b6)break;else _0x5eebdb['push'](_0x5eebdb['shift']());}catch(_0x3dd56f){_0x5eebdb['push'](_0x5eebdb['shift']());}}}(a32_0x2e61,0x5786d));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a32_0x145c6e(0x1ff),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1fa)},FUNCTION_NAME_FLAG={'name':a32_0x145c6e(0x21c),'type':'string','required':!![],'description':a32_0x145c6e(0x217)},DESCRIPTION_FLAG={'name':a32_0x145c6e(0x20c),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x21e)},SOURCE_SESSION_FLAG={'name':a32_0x145c6e(0x213),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1f5)};function normalizeFunctionName(_0xec6383){const _0x4bd77d=a32_0x145c6e,_0x47ab99=String(_0xec6383||'')[_0x4bd77d(0x1f7)]();if(!_0x47ab99||!FUNCTION_NAME_PATTERN['test'](_0x47ab99))throw CliErrors[_0x4bd77d(0x215)](_0x4bd77d(0x21d));return _0x47ab99;}function readScriptFile(_0x5724bb){const _0x2c1345=a32_0x145c6e;if(!_0x5724bb)throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x204));if(!existsSync(_0x5724bb))throw CliErrors[_0x2c1345(0x215)]('File\x20not\x20found:\x20'+_0x5724bb);if(!statSync(_0x5724bb)[_0x2c1345(0x1f6)]())throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x226)+_0x5724bb);const _0x786aa7=readFileSync(_0x5724bb,_0x2c1345(0x206));if(!_0x786aa7[_0x2c1345(0x1f7)]())throw CliErrors[_0x2c1345(0x215)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x786aa7;}function optionalTrimmed(_0x2491f8){const _0x1b8cef=String(_0x2491f8||'')['trim']();return _0x1b8cef||undefined;}function summarizeBff(_0x575546){const _0x17d2b8=a32_0x145c6e;return{'id':_0x575546['id'],'appCode':_0x575546[_0x17d2b8(0x201)],'functionName':_0x575546[_0x17d2b8(0x21a)],'description':_0x575546[_0x17d2b8(0x20c)],'scriptType':_0x575546[_0x17d2b8(0x207)],'version':_0x575546[_0x17d2b8(0x209)],'gmtModified':_0x575546[_0x17d2b8(0x1f3)],'updateTime':_0x575546['updateTime']};}function detailBff(_0x5ac075){const _0x2d546f=a32_0x145c6e;return{'id':_0x5ac075['id'],'appCode':_0x5ac075[_0x2d546f(0x201)],'functionName':_0x5ac075[_0x2d546f(0x21a)],'description':_0x5ac075['description'],'scriptType':_0x5ac075['scriptType'],'scriptContent':_0x5ac075[_0x2d546f(0x220)]??'','config':_0x5ac075['config'],'version':_0x5ac075['version'],'createUserId':_0x5ac075[_0x2d546f(0x203)],'gmtCreate':_0x5ac075[_0x2d546f(0x223)],'gmtModified':_0x5ac075[_0x2d546f(0x1f3)],'createTime':_0x5ac075['createTime'],'updateTime':_0x5ac075['updateTime']};}function buildCreateInput(_0x5519fd){const _0x3f27d0=a32_0x145c6e;return{'functionName':normalizeFunctionName(_0x5519fd['str'](_0x3f27d0(0x21c))),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))?{'description':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))}:{},'scriptContent':readScriptFile(_0x5519fd[_0x3f27d0(0x219)]('file')),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))?{'sourceSessionId':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))}:{}};}function a32_0x48e7(_0x11dcc3,_0x18028e){_0x11dcc3=_0x11dcc3-0x1e8;const _0x2e61f8=a32_0x2e61();let _0x48e776=_0x2e61f8[_0x11dcc3];return _0x48e776;}function buildUpdateInput(_0x44478b){const _0x11dbc5=a32_0x145c6e,_0x447f3a={};optionalTrimmed(_0x44478b['str'](_0x11dbc5(0x21c)))&&(_0x447f3a[_0x11dbc5(0x21a)]=normalizeFunctionName(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x21c))));_0x44478b['flag'](_0x11dbc5(0x20c))!==undefined&&(_0x447f3a[_0x11dbc5(0x20c)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x20c)));optionalTrimmed(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x1ff)))&&(_0x447f3a[_0x11dbc5(0x220)]=readScriptFile(_0x44478b['str']('file')));_0x44478b['flag'](_0x11dbc5(0x213))!==undefined&&(_0x447f3a[_0x11dbc5(0x202)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x213)));if(Object['keys'](_0x447f3a)[_0x11dbc5(0x1e8)]===0x0)throw CliErrors[_0x11dbc5(0x215)](_0x11dbc5(0x20d));return _0x447f3a;}function parseExecParams(_0x55eb0e){const _0x297280=a32_0x145c6e,_0x1f8708=parseJsonParams(_0x55eb0e)??{};if(Array[_0x297280(0x1f9)](_0x1f8708))throw CliErrors[_0x297280(0x215)](_0x297280(0x20e));return _0x1f8708;}function a32_0x2e61(){const _0x520a5c=['Update\x20a\x20personal\x20BFF\x20by\x20id','str','functionName','num','name','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Personal\x20BFF\x20description','body','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1157780nTxUBX','gmtCreate','5mduEcf','3ZenKQJ','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20personal\x20BFF\x20','3126672ygDNrd','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','length','/client/runtime-bff/personal/create','params','verbose','276521jzhwwx','2690376eidhuH','personal-bff','19943QfsOGD','22bqieKX','136akAZiM','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','gmtModified','map','Optional\x20source\x20RuntimeAgent\x20session\x20id','isFile','trim','create','isArray','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','17084544WPmdui','Executed\x20personal\x20BFF\x20','exec','file','string','appCode','sourceSessionId','createUserId','File\x20path\x20is\x20required.','Created\x20personal\x20BFF\x20','utf8','scriptType','write','version','read','210774htzgWc','description','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','--params\x20must\x20be\x20a\x20JSON\x20object.','build','POST','Personal\x20BFF\x20script\x20ID','high-risk-write','source-session-id','11mtYgxH','validation','/update','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'];a32_0x2e61=function(){return _0x520a5c;};return a32_0x2e61();}const personalBffList={'service':'personal-bff','command':'list','description':a32_0x145c6e(0x1fb),'risk':a32_0x145c6e(0x20a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3bc30c){const _0x3a075f=a32_0x145c6e,_0x1e02d7=await listPersonalBffs(_0x3bc30c[_0x3a075f(0x201)]);return{'ok':!![],'data':{'total':_0x1e02d7['length'],'items':_0x3bc30c['bool'](_0x3a075f(0x1eb))?_0x1e02d7:_0x1e02d7[_0x3a075f(0x1f4)](summarizeBff)}};}},personalBffDetail={'service':a32_0x145c6e(0x1ee),'command':'detail','description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a32_0x145c6e(0x20a),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)}],async 'execute'(_0x38f9d4){const _0x173ec1=a32_0x145c6e,_0x25dd71=await getPersonalBff(_0x38f9d4[_0x173ec1(0x21b)]('id'),_0x38f9d4[_0x173ec1(0x201)]);return{'ok':!![],'data':detailBff(_0x25dd71)};}},personalBffCreate={'service':a32_0x145c6e(0x1ee),'command':a32_0x145c6e(0x1f8),'description':a32_0x145c6e(0x1f2),'risk':a32_0x145c6e(0x208),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x38300d){const _0x36f7ef=a32_0x145c6e,_0x5973e8=buildCreateInput(_0x38300d),_0x2529e7=await createPersonalBff(_0x38300d[_0x36f7ef(0x201)],_0x5973e8);return{'ok':!![],'data':detailBff(_0x2529e7),'message':_0x36f7ef(0x205)+_0x2529e7['id']+(_0x2529e7['functionName']?'\x20('+_0x2529e7['functionName']+')':'')};},async 'dryRun'(_0x2ae000){const _0x3c6285=a32_0x145c6e,_0x57c074=buildCreateInput(_0x2ae000);return dryRun(_0x3c6285(0x210),_0x3c6285(0x1e9))['body']({'appCode':_0x2ae000[_0x3c6285(0x201)],..._0x57c074})[_0x3c6285(0x20c)](_0x3c6285(0x227)+_0x57c074['functionName'])[_0x3c6285(0x20f)]();}},personalBffUpdate={'service':a32_0x145c6e(0x1ee),'command':'update','description':a32_0x145c6e(0x218),'risk':a32_0x145c6e(0x208),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3cc879){const _0x1a8142=a32_0x145c6e,_0x1e6e1c=_0x3cc879['num']('id'),_0x4f4a4f=buildUpdateInput(_0x3cc879),_0xdb6933=await updatePersonalBff(_0x1e6e1c,_0x3cc879[_0x1a8142(0x201)],_0x4f4a4f);return{'ok':!![],'data':detailBff(_0xdb6933),'message':'Updated\x20personal\x20BFF\x20'+_0xdb6933['id']+(_0xdb6933['functionName']?'\x20('+_0xdb6933['functionName']+')':'')};},async 'dryRun'(_0x2a59ba){const _0x2a7bf7=a32_0x145c6e,_0x2dffbe=_0x2a59ba[_0x2a7bf7(0x21b)]('id'),_0x3cc292=buildUpdateInput(_0x2a59ba);return dryRun(_0x2a7bf7(0x210),'/client/runtime-bff/personal/'+_0x2dffbe+_0x2a7bf7(0x216))[_0x2a7bf7(0x21f)]({'appCode':_0x2a59ba[_0x2a7bf7(0x201)],..._0x3cc292})[_0x2a7bf7(0x20c)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x2dffbe)[_0x2a7bf7(0x20f)]();}},personalBffExec={'service':'personal-bff','command':a32_0x145c6e(0x1fe),'description':a32_0x145c6e(0x221),'risk':a32_0x145c6e(0x212),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...PARAMS_FLAG,'description':a32_0x145c6e(0x229)}],async 'validate'(_0x3ebcd7){const _0x3476da=a32_0x145c6e;parseExecParams(_0x3ebcd7[_0x3476da(0x219)]('params'));},async 'execute'(_0x2672e2){const _0x24a8ca=a32_0x145c6e,_0x17b473=_0x2672e2[_0x24a8ca(0x21b)]('id'),_0x53f241=parseExecParams(_0x2672e2[_0x24a8ca(0x219)](_0x24a8ca(0x1ea))),_0x51ace0=await executePersonalBff(_0x17b473,_0x2672e2[_0x24a8ca(0x201)],_0x53f241);return{'ok':!![],'data':{'result':_0x51ace0},'message':_0x24a8ca(0x1fd)+_0x17b473};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x574147=a30_0x1470;(function(_0x409616,_0x264a1d){const _0x12b23d=a30_0x1470,_0x2ea631=_0x409616();while(!![]){try{const _0x500621=-parseInt(_0x12b23d(0x102))/0x1+-parseInt(_0x12b23d(0x106))/0x2*(-parseInt(_0x12b23d(0x10b))/0x3)+parseInt(_0x12b23d(0xf5))/0x4*(parseInt(_0x12b23d(0x112))/0x5)+-parseInt(_0x12b23d(0x116))/0x6*(parseInt(_0x12b23d(0x105))/0x7)+parseInt(_0x12b23d(0xf2))/0x8+-parseInt(_0x12b23d(0xfa))/0x9+parseInt(_0x12b23d(0xff))/0xa*(parseInt(_0x12b23d(0x103))/0xb);if(_0x500621===_0x264a1d)break;else _0x2ea631['push'](_0x2ea631['shift']());}catch(_0x299fdd){_0x2ea631['push'](_0x2ea631['shift']());}}}(a30_0x47b1,0x9fd1f));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';function a30_0x47b1(){const _0x59d3b6=['Service\x20Tree','Configuration','Skills','login','service','6395664NiVFTy','read','from','12VvwtcH','BFF\x20Scripts','description','App\x20Management','\x20\x20[high-risk-write]','8050356izzzDP','isSingleCommand','Personal\x20BFF','values','show','10eCrAZh','Knowledge\x20Base','Schema','1218637RIGbkC','13287494gMvvpG','Artifacts','1540bqodvl','2962JpYLhO','Workspace','list','get','\x20\x20[write]','1599RbchzS','API\x20Documentation','command','defaultCommand','write','Instant\x20API','push','1757065DKaXbx','Self\x20Update','install','Authentication','29544ybLqvX'];a30_0x47b1=function(){return _0x59d3b6;};return a30_0x47b1();}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';function a30_0x1470(_0x25e444,_0x494957){_0x25e444=_0x25e444-0xf0;const _0x47b14b=a30_0x47b1();let _0x1470f4=_0x47b14b[_0x25e444];return _0x1470f4;}import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x207c45){const _0x189107=a30_0x1470;for(const _0x5f4c72 of _0x207c45){definitions['set'](_0x5f4c72[_0x189107(0xf1)]+':'+_0x5f4c72[_0x189107(0x10d)],_0x5f4c72);let _0x197a19=serviceGroups[_0x189107(0x109)](_0x5f4c72[_0x189107(0xf1)]);!_0x197a19&&(_0x197a19=[],serviceGroups['set'](_0x5f4c72[_0x189107(0xf1)],_0x197a19)),_0x197a19[_0x189107(0x111)](_0x5f4c72);}}function registerService(_0x5beefd,_0x258bff,_0x4e3621){const _0x286469=a30_0x1470;registerDefinitions(_0x258bff);const _0x4e0d50=_0x5da339=>_0x5da339===_0x286469(0xf3)?'':_0x5da339===_0x286469(0x10f)?_0x286469(0x10a):_0x286469(0xf9),_0x10b761={'service':_0x258bff[0x0]['service'],'label':_0x5beefd,'commands':_0x258bff['map'](_0x3b6b03=>({'command':_0x3b6b03[_0x286469(0x10d)],'description':_0x3b6b03[_0x286469(0xf7)],'tag':_0x4e0d50(_0x3b6b03['risk'])})),'defaultCommand':_0x4e3621?.[_0x286469(0x10e)]??(_0x4e3621?.[_0x286469(0xfb)]?_0x258bff[0x0]['command']:undefined),'isSingleCommand':_0x4e3621?.['isSingleCommand']};serviceRegistry[_0x286469(0x111)](_0x10b761),serviceByName['set'](_0x10b761[_0x286469(0xf1)],_0x10b761);}registerService(a30_0x574147(0x115),authDefinitions,{'defaultCommand':a30_0x574147(0xf0)}),registerService(a30_0x574147(0x10c),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x574147(0x110),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0x574147(0xf6),bffDefinitions),registerService(a30_0x574147(0xfc),personalBffDefinitions),registerService(a30_0x574147(0x104),artifactDefinitions),registerService(a30_0x574147(0x100),kbDefinitions),registerService(a30_0x574147(0xf8),appDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x107),workspaceDefinitions),registerService(a30_0x574147(0x118),configDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x117),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x574147(0x119),skillDefinitions,{'defaultCommand':'install'}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a30_0x574147(0x114)}),registerService(a30_0x574147(0x113),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x574147(0x101),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a30_0x574147(0xfe)});export function findDefinition(_0x412f81,_0x18e0c8){return definitions['get'](_0x412f81+':'+_0x18e0c8);}export function isKnownService(_0x2d41e6){return serviceByName['has'](_0x2d41e6);}export function getServiceEntry(_0x54a709){const _0x33fe0d=a30_0x574147;return serviceByName[_0x33fe0d(0x109)](_0x54a709);}export function getAllDefinitions(){const _0x3a5f06=a30_0x574147;return Array[_0x3a5f06(0xf4)](definitions[_0x3a5f06(0xfd)]());}
1
+ function a33_0x4246(_0x175a4f,_0x159e95){_0x175a4f=_0x175a4f-0xff;const _0x4fdf0a=a33_0x4fdf();let _0x424608=_0x4fdf0a[_0x175a4f];return _0x424608;}const a33_0x436fc8=a33_0x4246;(function(_0x5758e0,_0x3c10ae){const _0x11f82e=a33_0x4246,_0x443749=_0x5758e0();while(!![]){try{const _0x1482e7=-parseInt(_0x11f82e(0x10e))/0x1*(parseInt(_0x11f82e(0x12e))/0x2)+parseInt(_0x11f82e(0x111))/0x3+-parseInt(_0x11f82e(0x126))/0x4*(parseInt(_0x11f82e(0x11c))/0x5)+parseInt(_0x11f82e(0x12d))/0x6*(-parseInt(_0x11f82e(0x120))/0x7)+parseInt(_0x11f82e(0x117))/0x8+-parseInt(_0x11f82e(0x128))/0x9*(parseInt(_0x11f82e(0x127))/0xa)+parseInt(_0x11f82e(0x103))/0xb;if(_0x1482e7===_0x3c10ae)break;else _0x443749['push'](_0x443749['shift']());}catch(_0x910182){_0x443749['push'](_0x443749['shift']());}}}(a33_0x4fdf,0xe4e8a));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';import{appConfigDefinitions}from'../commands/app-config/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x19af2f){const _0x1627ca=a33_0x4246;for(const _0x4b70cf of _0x19af2f){definitions['set'](_0x4b70cf[_0x1627ca(0x106)]+':'+_0x4b70cf[_0x1627ca(0x122)],_0x4b70cf);let _0x5f1670=serviceGroups['get'](_0x4b70cf[_0x1627ca(0x106)]);!_0x5f1670&&(_0x5f1670=[],serviceGroups[_0x1627ca(0x10d)](_0x4b70cf[_0x1627ca(0x106)],_0x5f1670)),_0x5f1670[_0x1627ca(0x104)](_0x4b70cf);}}function registerService(_0x46536d,_0x802c59,_0x2b9ab7){const _0x46edc0=a33_0x4246;registerDefinitions(_0x802c59);const _0x1d5cf4=_0x5c161f=>_0x5c161f===_0x46edc0(0x11b)?'':_0x5c161f===_0x46edc0(0x102)?_0x46edc0(0x115):_0x46edc0(0x125),_0x1603da={'service':_0x802c59[0x0][_0x46edc0(0x106)],'label':_0x46536d,'commands':_0x802c59['map'](_0x2d9881=>({'command':_0x2d9881['command'],'description':_0x2d9881[_0x46edc0(0x12b)],'tag':_0x1d5cf4(_0x2d9881[_0x46edc0(0x11e)])})),'defaultCommand':_0x2b9ab7?.[_0x46edc0(0x118)]??(_0x2b9ab7?.[_0x46edc0(0x123)]?_0x802c59[0x0][_0x46edc0(0x122)]:undefined),'isSingleCommand':_0x2b9ab7?.['isSingleCommand']};serviceRegistry[_0x46edc0(0x104)](_0x1603da),serviceByName[_0x46edc0(0x10d)](_0x1603da[_0x46edc0(0x106)],_0x1603da);}registerService('Authentication',authDefinitions,{'defaultCommand':a33_0x436fc8(0x11d)}),registerService(a33_0x436fc8(0x10f),apiDocDefinitions),registerService(a33_0x436fc8(0x112),datasetDefinitions),registerService(a33_0x436fc8(0x11a),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a33_0x436fc8(0x105),bffDefinitions),registerService(a33_0x436fc8(0x10b),appConfigDefinitions),registerService(a33_0x436fc8(0x109),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a33_0x436fc8(0x107),kbDefinitions),registerService(a33_0x436fc8(0x119),appDefinitions,{'defaultCommand':'list'}),registerService(a33_0x436fc8(0x10a),workspaceDefinitions),registerService(a33_0x436fc8(0x121),configDefinitions,{'defaultCommand':a33_0x436fc8(0x12c)}),registerService(a33_0x436fc8(0x108),serviceDefinitions,{'defaultCommand':a33_0x436fc8(0x12c)}),registerService(a33_0x436fc8(0x101),skillDefinitions,{'defaultCommand':'install'}),registerService(a33_0x436fc8(0x124),cliSkillDefinitions,{'defaultCommand':a33_0x436fc8(0x12a)}),registerService(a33_0x436fc8(0x110),[updateDefinition],{'defaultCommand':a33_0x436fc8(0x10c),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a33_0x436fc8(0x100),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a33_0x436fc8(0x116),logsDefinitions,{'defaultCommand':a33_0x436fc8(0x114)});export function findDefinition(_0x21d1c9,_0x37c3fe){return definitions['get'](_0x21d1c9+':'+_0x37c3fe);}export function isKnownService(_0x309c62){const _0x4cff37=a33_0x436fc8;return serviceByName[_0x4cff37(0xff)](_0x309c62);}function a33_0x4fdf(){const _0x12934d=['get','show','\x20\x20[write]','Logs','3206816dBOspK','defaultCommand','App\x20Management','Instant\x20API','read','55Ayeyhq','login','risk','from','7BVlhoT','Configuration','command','isSingleCommand','CLI\x20Built-in\x20Skill','\x20\x20[high-risk-write]','457276NFBNSa','3650sjqmtt','36126bexywL','values','install','description','list','4282254OxvlAs','94172olTpmW','has','Schema','Skills','write','56231318tuVEcE','push','BFF\x20Scripts','service','Knowledge\x20Base','Service\x20Tree','Personal\x20BFF','Workspace','App\x20Config','run','set','30NBgwRy','API\x20Documentation','Self\x20Update','821184fOZIeg','Datasets'];a33_0x4fdf=function(){return _0x12934d;};return a33_0x4fdf();}export function getServiceEntry(_0x17ff61){const _0x473bb1=a33_0x436fc8;return serviceByName[_0x473bb1(0x113)](_0x17ff61);}export function getAllDefinitions(){const _0x14a95e=a33_0x436fc8;return Array[_0x14a95e(0x11f)](definitions[_0x14a95e(0x129)]());}
@@ -1 +1 @@
1
- const a31_0x396ffb=a31_0x24be;(function(_0xd22157,_0x49e4a2){const _0x590c16=a31_0x24be,_0x498887=_0xd22157();while(!![]){try{const _0x4e82c6=-parseInt(_0x590c16(0x1cb))/0x1*(parseInt(_0x590c16(0x1c7))/0x2)+-parseInt(_0x590c16(0x1c6))/0x3+parseInt(_0x590c16(0x1c5))/0x4+-parseInt(_0x590c16(0x1bf))/0x5+parseInt(_0x590c16(0x1ca))/0x6*(-parseInt(_0x590c16(0x1c9))/0x7)+-parseInt(_0x590c16(0x1c0))/0x8+parseInt(_0x590c16(0x1c1))/0x9;if(_0x4e82c6===_0x49e4a2)break;else _0x498887['push'](_0x498887['shift']());}catch(_0x4510d4){_0x498887['push'](_0x498887['shift']());}}}(a31_0x3c98,0xa4268));import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x3c98(){const _0x1b0ec6=['5644037tjjpoo','6lOUKtY','419yDXcwZ','236865hsVvyR','8881184YUmvTk','23108256WQXjdW','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','read','2407676vUkbKS','902358raUROP','1110zLqIsT','schema'];a31_0x3c98=function(){return _0x1b0ec6;};return a31_0x3c98();}function a31_0x24be(_0xbc4575,_0x15ede1){_0xbc4575=_0xbc4575-0x1bf;const _0x3c9859=a31_0x3c98();let _0x24be89=_0x3c9859[_0xbc4575];return _0x24be89;}async function execute(_0x5043b1){const _0x181b9c=await buildSchemaPayload();return{'ok':!![],'data':_0x181b9c};}export const schemaDefinition={'service':a31_0x396ffb(0x1c8),'command':a31_0x396ffb(0x1c2),'description':a31_0x396ffb(0x1c3),'risk':a31_0x396ffb(0x1c4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a34_0x5e4863=a34_0x4355;function a34_0x4355(_0x525613,_0x13b0ce){_0x525613=_0x525613-0x165;const _0x1efc0f=a34_0x1efc();let _0x4355ad=_0x1efc0f[_0x525613];return _0x4355ad;}(function(_0xb16147,_0x51c979){const _0x13596d=a34_0x4355,_0x2af258=_0xb16147();while(!![]){try{const _0x43e98c=-parseInt(_0x13596d(0x168))/0x1+-parseInt(_0x13596d(0x16f))/0x2+parseInt(_0x13596d(0x169))/0x3*(parseInt(_0x13596d(0x16a))/0x4)+parseInt(_0x13596d(0x16c))/0x5+-parseInt(_0x13596d(0x166))/0x6+parseInt(_0x13596d(0x16e))/0x7*(-parseInt(_0x13596d(0x165))/0x8)+parseInt(_0x13596d(0x16b))/0x9;if(_0x43e98c===_0x51c979)break;else _0x2af258['push'](_0x2af258['shift']());}catch(_0x3d23ee){_0x2af258['push'](_0x2af258['shift']());}}}(a34_0x1efc,0xd0312));function a34_0x1efc(){const _0xede6fa=['4684900LtQlkt','7667370DTyXeq','5389885Xhggrg','read','687407AtSBrC','405872rlccqS','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','112LxpcWb','1595700dGODVB','export','404678eiRjRj','3bQhFXp'];a34_0x1efc=function(){return _0xede6fa;};return a34_0x1efc();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xd8a7e2){const _0x12916c=await buildSchemaPayload();return{'ok':!![],'data':_0x12916c};}export const schemaDefinition={'service':a34_0x5e4863(0x170),'command':a34_0x5e4863(0x167),'description':a34_0x5e4863(0x171),'risk':a34_0x5e4863(0x16d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4d1dde,_0x576131){const _0x17bd78=a32_0x19a7,_0x50a9a0=_0x4d1dde();while(!![]){try{const _0x35f0e6=parseInt(_0x17bd78(0x19f))/0x1+parseInt(_0x17bd78(0x1f0))/0x2*(-parseInt(_0x17bd78(0x1a7))/0x3)+parseInt(_0x17bd78(0x1c8))/0x4*(-parseInt(_0x17bd78(0x1d9))/0x5)+parseInt(_0x17bd78(0x1a8))/0x6+parseInt(_0x17bd78(0x1a9))/0x7*(-parseInt(_0x17bd78(0x1ed))/0x8)+-parseInt(_0x17bd78(0x1e3))/0x9+parseInt(_0x17bd78(0x1a0))/0xa;if(_0x35f0e6===_0x576131)break;else _0x50a9a0['push'](_0x50a9a0['shift']());}catch(_0x513039){_0x50a9a0['push'](_0x50a9a0['shift']());}}}(a32_0xd77a,0x7b47c));function a32_0x19a7(_0x2284fe,_0x568835){_0x2284fe=_0x2284fe-0x196;const _0xd77ad3=a32_0xd77a();let _0x19a7e7=_0xd77ad3[_0x2284fe];return _0x19a7e7;}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(_0x4f999e,_0x29befc){const _0x64674c=a32_0x19a7,_0x152b2d=listLocalServiceTrees();let _0x41dabc;for(const _0x38a130 of _0x152b2d){const _0x478ca7=matchServiceTreeCommand(_0x38a130,_0x4f999e);if(!_0x478ca7)continue;(!_0x41dabc||_0x478ca7[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)]>_0x41dabc[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)])&&(_0x41dabc={'tree':_0x38a130,'command':_0x478ca7[_0x64674c(0x1db)],'remainingArgs':_0x478ca7[_0x64674c(0x1da)]});}if(!_0x41dabc)return undefined;const _0x7eb3ad={..._0x29befc};return applyAppBinding(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc['command'],_0x7eb3ad),{'definition':buildDynamicCommandDefinition(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc[_0x64674c(0x1db)]),'args':_0x41dabc[_0x64674c(0x1da)],'flags':_0x7eb3ad,'tree':_0x41dabc[_0x64674c(0x1c0)],'command':_0x41dabc['command']};}export function generateDynamicServiceHelp(_0x26a88e){const _0x32eb88=a32_0x19a7,_0x49c7d1=listLocalServiceTrees()['find'](_0x3989c7=>_0x3989c7['service']['code']===_0x26a88e);if(!_0x49c7d1)return undefined;const _0x56d227=[CLI_BIN_NAME+'\x20'+_0x26a88e+'\x20<command>\x20[flags]','',_0x49c7d1[_0x32eb88(0x1eb)][_0x32eb88(0x196)]||_0x26a88e,_0x49c7d1['service'][_0x32eb88(0x1c3)]?'\x20\x20'+_0x49c7d1[_0x32eb88(0x1eb)]['description']:'','',_0x32eb88(0x1f5),..._0x49c7d1[_0x32eb88(0x1ae)]['map'](_0x2c5eee=>{const _0x4274b5=_0x32eb88,_0x2eb4d5=_0x2c5eee[_0x4274b5(0x1df)][_0x4274b5(0x1de)](0x1)[_0x4274b5(0x1ee)]('\x20'),_0x54dd9c=_0x2c5eee[_0x4274b5(0x1cc)]==='read'?'':'\x20['+_0x2c5eee[_0x4274b5(0x1cc)]+']';return'\x20\x20'+_0x2eb4d5[_0x4274b5(0x1b9)](0x18)+'\x20'+(_0x2c5eee[_0x4274b5(0x1c3)]||'')+_0x54dd9c;}),'',_0x32eb88(0x1e4)+CLI_BIN_NAME+_0x32eb88(0x1dc)+_0x26a88e+_0x32eb88(0x1a3)][_0x32eb88(0x198)](Boolean);return _0x56d227[_0x32eb88(0x1ee)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x4337e5=>{const _0x3bd040=a32_0x19a7,_0x165e07=_0x4337e5[_0x3bd040(0x1a6)];return{'service':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'label':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x196)]||_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'commands':_0x165e07[_0x3bd040(0x1ae)][_0x3bd040(0x1b4)](_0x2b1fd0=>({'command':dynamicCommandName(_0x2b1fd0),'description':_0x2b1fd0[_0x3bd040(0x1c3)]||_0x3bd040(0x1c7)+_0x2b1fd0[_0x3bd040(0x19a)],'tag':riskTag(_0x2b1fd0[_0x3bd040(0x1cc)])}))};});}export function getDynamicServiceEntry(_0x28d023){const _0x3bcc42=a32_0x19a7;return listDynamicServiceEntries()[_0x3bcc42(0x1bc)](_0x11c90d=>_0x11c90d[_0x3bcc42(0x1eb)]===_0x28d023);}export function listDynamicServiceDefinitions(_0x57fae5){const _0x1b6f42=a32_0x19a7;return listLocalServiceTrees()[_0x1b6f42(0x198)](_0x21efa1=>!_0x57fae5||_0x21efa1['service'][_0x1b6f42(0x1b7)]===_0x57fae5)[_0x1b6f42(0x1d7)](_0x1fdb1a=>_0x1fdb1a[_0x1b6f42(0x1ae)][_0x1b6f42(0x1b4)](_0x4870b6=>buildDynamicCommandDefinition(_0x1fdb1a,_0x4870b6)));}function a32_0xd77a(){const _0x37400c=['datatable','loginName','risk','ctx.','\x20\x20\x20\x20command:\x20','json','source','appRef','Service\x20command\x20','params','boolean','\x20requires\x20target.scriptName.','entries','flatMap','\x20\x20\x20\x20datatable:\x20','310195ivkZKp','remainingArgs','command','\x20service\x20detail\x20--service\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','slice','fullPath','string','bff','app','6308163SEnlht','Use\x20`','default','mapTo','sql','nickname','env','scriptName','service','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','23096ytvDQk','join','tableName','1282oQtrhm','some','startsWith','username','rawFlags','Commands:','Cannot\x20resolve\x20datatable\x20\x22','name','required','filter','args','cliPath','target','bffId','envName','appCode','24573AmUJFw','18983550WipHXh','sqlCode','Unknown\x20appRef\x20\x22','`\x20to\x20inspect\x20the\x20manifest.','kind','now','normalizedManifest','363LbFSLQ','3756972muIJwu','1715IznsTH','bffCode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','length','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','commands','userId','\x20->\x20','operator','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20datasetCode:\x20','map','push','appcode','code','\x20\x20[','padEnd','userName','enum','find','appBindings','employeeId','Unsupported\x20service\x20target\x20kind:\x20','tree','type','tenantCode','description','validation','datasetCode','SERVICE_TREE','Run\x20service\x20command\x20','36ZsqmRX','number'];a32_0xd77a=function(){return _0x37400c;};return a32_0xd77a();}export function getDynamicServiceDefinitions(_0x38f070){const _0x248366=a32_0x19a7,_0x4a8e25=listDynamicServiceDefinitions(_0x38f070);return _0x4a8e25[_0x248366(0x1ac)]>0x0?_0x4a8e25:undefined;}export function findDynamicServiceDefinition(_0x23254d,_0x47da91){const _0x5b7705=a32_0x19a7;return listDynamicServiceDefinitions(_0x23254d)[_0x5b7705(0x1bc)](_0x9c4970=>_0x9c4970['command']===_0x47da91);}export function buildDynamicCommandDefinition(_0x43564f,_0x1a04e6){const _0x18aeae=a32_0x19a7;return{'service':_0x43564f[_0x18aeae(0x1eb)]['code'],'command':dynamicCommandName(_0x1a04e6),'description':_0x1a04e6[_0x18aeae(0x1c3)]||_0x18aeae(0x1c7)+_0x1a04e6[_0x18aeae(0x19a)],'risk':_0x1a04e6[_0x18aeae(0x1cc)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1a04e6[_0x18aeae(0x199)][_0x18aeae(0x1b4)](_0x20b4bd=>({'name':_0x20b4bd[_0x18aeae(0x196)],'description':_0x20b4bd[_0x18aeae(0x1c3)]||_0x20b4bd['name'],'required':_0x20b4bd[_0x18aeae(0x197)]})),'flags':_0x1a04e6['flags']['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1a04e6),async 'dryRun'(_0x3686c3){const _0x4d0d7b=_0x18aeae,_0x5eecde=await compilePlan(_0x1a04e6,_0x3686c3);return{'method':_0x4d0d7b(0x1c6),'url':_0x1a04e6[_0x4d0d7b(0x19a)],'body':{'target':targetPreview(_0x5eecde),'params':_0x5eecde[_0x4d0d7b(0x1d3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x1a04e6[_0x4d0d7b(0x19a)]};},async 'execute'(_0x59b285){const _0x52bdeb=_0x18aeae,_0xa8d669=await compilePlan(_0x1a04e6,_0x59b285),_0x3918ba=Date[_0x52bdeb(0x1a5)](),_0x40d123=await executePlan(_0xa8d669,_0x1a04e6,_0x59b285),_0x531545=Date[_0x52bdeb(0x1a5)]()-_0x3918ba;return{'ok':!![],'data':{'service':_0x43564f[_0x52bdeb(0x1eb)],'command':_0x1a04e6[_0x52bdeb(0x19a)],'target':targetPreview(_0xa8d669),'result':_0x40d123,'elapsed':_0x531545},'message':_0x52bdeb(0x1d2)+_0x1a04e6['cliPath']+'\x20completed\x20in\x20'+_0x531545+'ms'};}};}function dynamicCommandName(_0x21a9a9){const _0x3d1276=a32_0x19a7;return _0x21a9a9[_0x3d1276(0x1df)][_0x3d1276(0x1de)](0x1)['join']('\x20');}function riskTag(_0x3bcc06){const _0x29fd10=a32_0x19a7;return _0x3bcc06==='read'?'':_0x29fd10(0x1b8)+_0x3bcc06+']';}function flagToCommandFlag(_0xe0d264){const _0x182e1a=a32_0x19a7;return{'name':_0xe0d264['cliName'],'type':_0xe0d264[_0x182e1a(0x1c1)]===_0x182e1a(0x1cf)?'string':_0xe0d264['type'],'description':_0xe0d264[_0x182e1a(0x1c3)]||_0xe0d264['name'],'required':_0xe0d264[_0x182e1a(0x197)],'default':isPrimitiveFlagDefault(_0xe0d264[_0x182e1a(0x1e5)])?_0xe0d264[_0x182e1a(0x1e5)]:undefined,'enum':_0xe0d264[_0x182e1a(0x1bb)]};}async function compilePlan(_0x38ce09,_0x5522f3){const _0x27c791=a32_0x19a7;return compileServiceTreeCommand(_0x38ce09,{'flags':_0x5522f3[_0x27c791(0x1f4)],'args':_0x5522f3[_0x27c791(0x199)],'context':await buildServiceContext(_0x38ce09,_0x5522f3)});}async function buildServiceContext(_0x4e9664,_0x3ad403){const _0x5daf27=a32_0x19a7,_0x4d19df={'appCode':_0x3ad403['appCode'],'env':_0x3ad403[_0x5daf27(0x19d)],'envName':_0x3ad403[_0x5daf27(0x19d)]};if(!usesRuntimeContext(_0x4e9664))return _0x4d19df;const _0x4707a9=await getLoginUserInfo(),_0x4c3b8e=pickFirst(_0x4707a9[_0x5daf27(0x1af)],_0x4707a9['id']);return{..._0x4d19df,'user':_0x4707a9,'userId':_0x4c3b8e,'id':_0x4707a9['id'],'username':pickFirst(_0x4707a9[_0x5daf27(0x1f3)],_0x4707a9['userName'],_0x4707a9[_0x5daf27(0x1cb)]),'userName':_0x4707a9[_0x5daf27(0x1ba)],'nickname':pickFirst(_0x4707a9[_0x5daf27(0x1e8)],_0x4707a9['nickName']),'nickName':_0x4707a9['nickName'],'tenantCode':_0x4707a9[_0x5daf27(0x1c2)],'employeeId':_0x4707a9[_0x5daf27(0x1be)]};}function usesRuntimeContext(_0x295943){const _0x15fda8=a32_0x19a7;return _0x295943[_0x15fda8(0x1e6)][_0x15fda8(0x1f1)](_0x224562=>typeof _0x224562['source']===_0x15fda8(0x1e0)&&(_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)]('context.')||_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)](_0x15fda8(0x1cd))));}function pickFirst(..._0x5250cf){const _0x323edf=a32_0x19a7;return _0x5250cf[_0x323edf(0x1bc)](_0x31fa19=>_0x31fa19!==undefined&&_0x31fa19!==null);}async function executePlan(_0x506025,_0x18d66d,_0x38ff01){const _0x3d0cf4=a32_0x19a7;if(_0x506025[_0x3d0cf4(0x1a4)]==='data'){const _0x108c86=await resolveDatasetCode(_0x506025,_0x18d66d,_0x38ff01);return executeData(_0x108c86,_0x506025['command'],_0x506025[_0x3d0cf4(0x1d3)]);}if(_0x506025['kind']===_0x3d0cf4(0x1e7)){if(!_0x506025[_0x3d0cf4(0x1a1)])throw CliErrors[_0x3d0cf4(0x1c4)]('Service\x20command\x20'+_0x18d66d['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x506025[_0x3d0cf4(0x1a1)],normalizeScalarParams(_0x506025[_0x3d0cf4(0x1d3)]));}if(_0x506025[_0x3d0cf4(0x1a4)]===_0x3d0cf4(0x1e1)){const _0x5312f7=_0x506025[_0x3d0cf4(0x1ea)]||_0x506025[_0x3d0cf4(0x1aa)]||(_0x506025[_0x3d0cf4(0x19c)]==null?'':String(_0x506025['bffId']));if(!_0x5312f7)throw CliErrors['validation'](_0x3d0cf4(0x1d2)+_0x18d66d['cliPath']+_0x3d0cf4(0x1d5));return executeSdkBff(_0x5312f7,_0x506025['params']);}throw CliErrors[_0x3d0cf4(0x1c4)](_0x3d0cf4(0x1bf)+_0x506025[_0x3d0cf4(0x1a4)]);}async function resolveDatasetCode(_0x4ce933,_0x4483e8,_0x320b04){const _0x4d206c=a32_0x19a7;if(_0x4ce933[_0x4d206c(0x1c5)])return _0x4ce933[_0x4d206c(0x1c5)];if(!_0x4ce933['datatable'])throw CliErrors['validation'](_0x4d206c(0x1d2)+_0x4483e8['cliPath']+_0x4d206c(0x1ab));const _0x3bc0d3=await listDatasets(_0x320b04[_0x4d206c(0x19e)]),_0x35b437=_0x3bc0d3[_0x4d206c(0x1bc)](_0x510412=>_0x510412['dbtableConfig']?.[_0x4d206c(0x1ef)]===_0x4ce933[_0x4d206c(0x1ca)]);if(!_0x35b437?.[_0x4d206c(0x1b7)])throw CliErrors['validation'](_0x4d206c(0x1f6)+_0x4ce933[_0x4d206c(0x1ca)]+_0x4d206c(0x1dd)+_0x320b04['appCode']+'.',_0x4d206c(0x1ad));return _0x35b437[_0x4d206c(0x1b7)];}function applyAppBinding(_0x21f81d,_0x31e225,_0xb1f202){const _0x1fdd2d=a32_0x19a7,_0x2b16f1=_0x31e225[_0x1fdd2d(0x19b)]['appRef'];if(!_0x2b16f1)return;const _0x4587e6=_0x21f81d[_0x1fdd2d(0x1bd)][_0x2b16f1];if(!_0x4587e6)throw CliErrors[_0x1fdd2d(0x1c4)](_0x1fdd2d(0x1a2)+_0x2b16f1+_0x1fdd2d(0x1b2)+_0x31e225[_0x1fdd2d(0x19a)]+'.',_0x1fdd2d(0x1ec));const _0x491a1d=_0x4587e6[_0x1fdd2d(0x1b6)]||_0x4587e6[_0x1fdd2d(0x19e)];_0x491a1d&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1b6)]=_0x491a1d),_0x4587e6[_0x1fdd2d(0x1e2)]&&!hasText(_0xb1f202['app'])&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1e2)]=_0x4587e6[_0x1fdd2d(0x1e2)]),_0x4587e6[_0x1fdd2d(0x1e9)]&&!hasText(_0xb1f202['env'])&&(_0xb1f202[_0x1fdd2d(0x1e9)]=_0x4587e6['env']);}function renderDynamicCommandHelp(_0x93c155){const _0x59728f=a32_0x19a7,_0x5d5ee2=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x93c155['target']['kind'],_0x59728f(0x1ce)+_0x93c155[_0x59728f(0x19b)]['command']];if(_0x93c155['target'][_0x59728f(0x1c5)])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1b3)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1c5)]);if(_0x93c155[_0x59728f(0x19b)]['datatable'])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1d8)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ca)]);if(_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1a1)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20sqlCode:\x20'+_0x93c155['target']['sqlCode']);if(_0x93c155['target'][_0x59728f(0x1ea)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20scriptName:\x20'+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ea)]);if(_0x93c155[_0x59728f(0x1e6)][_0x59728f(0x1ac)]>0x0){_0x5d5ee2[_0x59728f(0x1b5)]('','\x20\x20MAP\x20TO');for(const _0xfdedcc of _0x93c155[_0x59728f(0x1e6)]){_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20'+(_0xfdedcc[_0x59728f(0x1d0)]||'const')+_0x59728f(0x1b0)+_0xfdedcc['target']+(_0xfdedcc[_0x59728f(0x1b1)]?'.'+_0xfdedcc[_0x59728f(0x1b1)]:''));}}return _0x5d5ee2[_0x59728f(0x1ee)]('\x0a');}function targetPreview(_0x58dab7){const _0x1fafaa=a32_0x19a7;return{'kind':_0x58dab7[_0x1fafaa(0x1a4)],'command':_0x58dab7[_0x1fafaa(0x1db)],'appRef':_0x58dab7[_0x1fafaa(0x1d1)],'datasetCode':_0x58dab7[_0x1fafaa(0x1c5)],'datatable':_0x58dab7[_0x1fafaa(0x1ca)],'sqlCode':_0x58dab7[_0x1fafaa(0x1a1)],'bffCode':_0x58dab7[_0x1fafaa(0x1aa)],'bffId':_0x58dab7[_0x1fafaa(0x19c)],'scriptName':_0x58dab7[_0x1fafaa(0x1ea)]};}function normalizeScalarParams(_0x8bf9b){const _0xddca78=a32_0x19a7;return Object['fromEntries'](Object[_0xddca78(0x1d6)](_0x8bf9b)['filter'](([,_0x2a35f5])=>typeof _0x2a35f5===_0xddca78(0x1e0)||typeof _0x2a35f5===_0xddca78(0x1c9)));}function hasText(_0x49183b){const _0x15d48a=a32_0x19a7;return typeof _0x49183b==='string'&&_0x49183b['trim']()[_0x15d48a(0x1ac)]>0x0;}function isPrimitiveFlagDefault(_0x5a7c88){const _0x2ee102=a32_0x19a7;return _0x5a7c88===undefined||typeof _0x5a7c88===_0x2ee102(0x1e0)||typeof _0x5a7c88===_0x2ee102(0x1c9)||typeof _0x5a7c88===_0x2ee102(0x1d4);}
1
+ (function(_0x1c44aa,_0x262793){const _0x51010b=a35_0x4167,_0x373b07=_0x1c44aa();while(!![]){try{const _0x5e3978=parseInt(_0x51010b(0x1e0))/0x1+parseInt(_0x51010b(0x1ca))/0x2+parseInt(_0x51010b(0x18b))/0x3+-parseInt(_0x51010b(0x181))/0x4*(parseInt(_0x51010b(0x1b5))/0x5)+parseInt(_0x51010b(0x1bf))/0x6+parseInt(_0x51010b(0x1a1))/0x7*(parseInt(_0x51010b(0x1b4))/0x8)+-parseInt(_0x51010b(0x1c5))/0x9;if(_0x5e3978===_0x262793)break;else _0x373b07['push'](_0x373b07['shift']());}catch(_0x249dbb){_0x373b07['push'](_0x373b07['shift']());}}}(a35_0x4fc1,0x8e292));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';function a35_0x4fc1(){const _0x143c0a=['description','\x22\x20in\x20service\x20command\x20','6541686QknnUa','appCode','fromEntries','cliPath','context.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','19533591NUoiAT','\x20\x20[','filter','datasetCode','sqlCode','1271426Qijmad','appcode','\x20->\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','padEnd','Unsupported\x20service\x20target\x20kind:\x20','loginName','dbtableConfig','map','params','appBindings','const','flatMap','\x20\x20\x20\x20command:\x20','source','\x20\x20MAP\x20TO','service','username','Service\x20command\x20','slice','target','204751mkTdTn','\x20requires\x20target.sqlCode.','8qLyRGZ','some','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','bffCode','app','code','tree','\x20\x20\x20\x20sqlCode:\x20','tenantCode','envName','1666581LvrIRu','read','kind','appRef','type','validation','mapTo','userId','employeeId','Unknown\x20appRef\x20\x22','nickName','push','\x20service\x20detail\x20--service\x20','remainingArgs','scriptName','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20requires\x20target.scriptName.','data','datatable','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20\x20\x20datasetCode:\x20','7bgjOaz','json','args','operator','commands','\x20<command>\x20[flags]','enum','userName','\x20\x20SERVICE\x20TREE\x20TARGET','bffId','join','command','Run\x20service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','string','SERVICE_TREE','\x20completed\x20in\x20','bff','cliName','6691144FMcSNA','1424940MPkrrn','now','required','length','name','risk','find','env'];a35_0x4fc1=function(){return _0x143c0a;};return a35_0x4fc1();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x41bb07,_0x4345df){const _0x3744a5=a35_0x4167,_0x42728e=listLocalServiceTrees();let _0x52eb44;for(const _0x53176c of _0x42728e){const _0xe4debb=matchServiceTreeCommand(_0x53176c,_0x41bb07);if(!_0xe4debb)continue;(!_0x52eb44||_0xe4debb[_0x3744a5(0x1ac)][_0x3744a5(0x19a)][_0x3744a5(0x1b8)]>_0x52eb44['command'][_0x3744a5(0x19a)][_0x3744a5(0x1b8)])&&(_0x52eb44={'tree':_0x53176c,'command':_0xe4debb[_0x3744a5(0x1ac)],'remainingArgs':_0xe4debb['remainingArgs']});}if(!_0x52eb44)return undefined;const _0x2fb8c3={..._0x4345df};return applyAppBinding(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)],_0x2fb8c3),{'definition':buildDynamicCommandDefinition(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)]),'args':_0x52eb44[_0x3744a5(0x198)],'flags':_0x2fb8c3,'tree':_0x52eb44[_0x3744a5(0x187)],'command':_0x52eb44[_0x3744a5(0x1ac)]};}function a35_0x4167(_0x9db546,_0x10507c){_0x9db546=_0x9db546-0x181;const _0x4fc1dc=a35_0x4fc1();let _0x4167a9=_0x4fc1dc[_0x9db546];return _0x4167a9;}export function generateDynamicServiceHelp(_0x170f08){const _0x3b2d9e=a35_0x4167,_0x4372e8=listLocalServiceTrees()[_0x3b2d9e(0x1bb)](_0x42268b=>_0x42268b['service']['code']===_0x170f08);if(!_0x4372e8)return undefined;const _0x179a9c=[CLI_BIN_NAME+'\x20'+_0x170f08+_0x3b2d9e(0x1a6),'',_0x4372e8['service'][_0x3b2d9e(0x1b9)]||_0x170f08,_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]?'\x20\x20'+_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]:'','','Commands:',..._0x4372e8[_0x3b2d9e(0x1a5)][_0x3b2d9e(0x1d3)](_0x5d5bad=>{const _0x416857=_0x3b2d9e,_0x16eacf=_0x5d5bad[_0x416857(0x19a)][_0x416857(0x1de)](0x1)[_0x416857(0x1ab)]('\x20'),_0x5ae609=_0x5d5bad[_0x416857(0x1ba)]===_0x416857(0x18c)?'':'\x20['+_0x5d5bad[_0x416857(0x1ba)]+']';return'\x20\x20'+_0x16eacf[_0x416857(0x1cf)](0x18)+'\x20'+(_0x5d5bad[_0x416857(0x1bd)]||'')+_0x5ae609;}),'','Use\x20`'+CLI_BIN_NAME+_0x3b2d9e(0x197)+_0x170f08+_0x3b2d9e(0x19b)][_0x3b2d9e(0x1c7)](Boolean);return _0x179a9c[_0x3b2d9e(0x1ab)]('\x0a');}export function listDynamicServiceEntries(){const _0x36197a=a35_0x4167;return listLocalServices()[_0x36197a(0x1d3)](_0x3589e8=>{const _0x1645dc=_0x36197a,_0x524121=_0x3589e8['normalizedManifest'];return{'service':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'label':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x1b9)]||_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'commands':_0x524121[_0x1645dc(0x1a5)]['map'](_0x3f9621=>({'command':dynamicCommandName(_0x3f9621),'description':_0x3f9621[_0x1645dc(0x1bd)]||_0x1645dc(0x1ad)+_0x3f9621[_0x1645dc(0x1c2)],'tag':riskTag(_0x3f9621['risk'])}))};});}export function getDynamicServiceEntry(_0x19e61b){const _0x5816b4=a35_0x4167;return listDynamicServiceEntries()[_0x5816b4(0x1bb)](_0x18a904=>_0x18a904[_0x5816b4(0x1db)]===_0x19e61b);}export function listDynamicServiceDefinitions(_0x161851){const _0x3e2980=a35_0x4167;return listLocalServiceTrees()[_0x3e2980(0x1c7)](_0x16f334=>!_0x161851||_0x16f334['service'][_0x3e2980(0x186)]===_0x161851)[_0x3e2980(0x1d7)](_0x7dd6ba=>_0x7dd6ba[_0x3e2980(0x1a5)][_0x3e2980(0x1d3)](_0x37a83b=>buildDynamicCommandDefinition(_0x7dd6ba,_0x37a83b)));}export function getDynamicServiceDefinitions(_0x15a22e){const _0x4c0847=a35_0x4167,_0x2fa89c=listDynamicServiceDefinitions(_0x15a22e);return _0x2fa89c[_0x4c0847(0x1b8)]>0x0?_0x2fa89c:undefined;}export function findDynamicServiceDefinition(_0x3708fc,_0x3b0cd7){const _0x5cb27c=a35_0x4167;return listDynamicServiceDefinitions(_0x3708fc)[_0x5cb27c(0x1bb)](_0x4125cc=>_0x4125cc[_0x5cb27c(0x1ac)]===_0x3b0cd7);}export function buildDynamicCommandDefinition(_0x3e9812,_0x36bc53){const _0x53df52=a35_0x4167;return{'service':_0x3e9812['service'][_0x53df52(0x186)],'command':dynamicCommandName(_0x36bc53),'description':_0x36bc53['description']||_0x53df52(0x1ad)+_0x36bc53[_0x53df52(0x1c2)],'risk':_0x36bc53[_0x53df52(0x1ba)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x36bc53[_0x53df52(0x1a3)][_0x53df52(0x1d3)](_0x2d8069=>({'name':_0x2d8069[_0x53df52(0x1b9)],'description':_0x2d8069['description']||_0x2d8069['name'],'required':_0x2d8069[_0x53df52(0x1b7)]})),'flags':_0x36bc53['flags'][_0x53df52(0x1d3)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x36bc53),async 'dryRun'(_0x57b632){const _0x15a42b=_0x53df52,_0x1c8885=await compilePlan(_0x36bc53,_0x57b632);return{'method':_0x15a42b(0x1b0),'url':_0x36bc53[_0x15a42b(0x1c2)],'body':{'target':targetPreview(_0x1c8885),'params':_0x1c8885['params']},'description':_0x15a42b(0x1ae)+_0x36bc53[_0x15a42b(0x1c2)]};},async 'execute'(_0x15b79e){const _0x5eb950=_0x53df52,_0x5e9ff2=await compilePlan(_0x36bc53,_0x15b79e),_0x556b28=Date[_0x5eb950(0x1b6)](),_0x33a817=await executePlan(_0x5e9ff2,_0x36bc53,_0x15b79e),_0x53345c=Date[_0x5eb950(0x1b6)]()-_0x556b28;return{'ok':!![],'data':{'service':_0x3e9812['service'],'command':_0x36bc53[_0x5eb950(0x1c2)],'target':targetPreview(_0x5e9ff2),'result':_0x33a817,'elapsed':_0x53345c},'message':_0x5eb950(0x1dd)+_0x36bc53[_0x5eb950(0x1c2)]+_0x5eb950(0x1b1)+_0x53345c+'ms'};}};}function dynamicCommandName(_0x2ff795){const _0x25f5c2=a35_0x4167;return _0x2ff795[_0x25f5c2(0x19a)][_0x25f5c2(0x1de)](0x1)[_0x25f5c2(0x1ab)]('\x20');}function riskTag(_0x32fcf6){const _0x2e8617=a35_0x4167;return _0x32fcf6===_0x2e8617(0x18c)?'':_0x2e8617(0x1c6)+_0x32fcf6+']';}function flagToCommandFlag(_0x192ad8){const _0x7f7e3d=a35_0x4167;return{'name':_0x192ad8[_0x7f7e3d(0x1b3)],'type':_0x192ad8[_0x7f7e3d(0x18f)]===_0x7f7e3d(0x1a2)?_0x7f7e3d(0x1af):_0x192ad8[_0x7f7e3d(0x18f)],'description':_0x192ad8[_0x7f7e3d(0x1bd)]||_0x192ad8[_0x7f7e3d(0x1b9)],'required':_0x192ad8[_0x7f7e3d(0x1b7)],'default':isPrimitiveFlagDefault(_0x192ad8['default'])?_0x192ad8['default']:undefined,'enum':_0x192ad8[_0x7f7e3d(0x1a7)]};}async function compilePlan(_0x328e05,_0x72328e){return compileServiceTreeCommand(_0x328e05,{'flags':_0x72328e['rawFlags'],'args':_0x72328e['args'],'context':await buildServiceContext(_0x328e05,_0x72328e)});}async function buildServiceContext(_0x18ecc5,_0x29b3cf){const _0x5d45fc=a35_0x4167,_0x3d01c1={'appCode':_0x29b3cf[_0x5d45fc(0x1c0)],'env':_0x29b3cf[_0x5d45fc(0x18a)],'envName':_0x29b3cf[_0x5d45fc(0x18a)]};if(!usesRuntimeContext(_0x18ecc5))return _0x3d01c1;const _0x2def9f=await getLoginUserInfo(),_0x2a278f=pickFirst(_0x2def9f[_0x5d45fc(0x192)],_0x2def9f['id']);return{..._0x3d01c1,'user':_0x2def9f,'userId':_0x2a278f,'id':_0x2def9f['id'],'username':pickFirst(_0x2def9f[_0x5d45fc(0x1dc)],_0x2def9f[_0x5d45fc(0x1a8)],_0x2def9f[_0x5d45fc(0x1d1)]),'userName':_0x2def9f[_0x5d45fc(0x1a8)],'nickname':pickFirst(_0x2def9f['nickname'],_0x2def9f[_0x5d45fc(0x195)]),'nickName':_0x2def9f[_0x5d45fc(0x195)],'tenantCode':_0x2def9f[_0x5d45fc(0x189)],'employeeId':_0x2def9f[_0x5d45fc(0x193)]};}function usesRuntimeContext(_0x34ec4e){const _0x102021=a35_0x4167;return _0x34ec4e['mapTo'][_0x102021(0x182)](_0x1707d3=>typeof _0x1707d3['source']===_0x102021(0x1af)&&(_0x1707d3[_0x102021(0x1d9)]['startsWith'](_0x102021(0x1c3))||_0x1707d3[_0x102021(0x1d9)]['startsWith']('ctx.')));}function pickFirst(..._0x1f1fc6){const _0x33baaf=a35_0x4167;return _0x1f1fc6[_0x33baaf(0x1bb)](_0x37843f=>_0x37843f!==undefined&&_0x37843f!==null);}async function executePlan(_0x12f480,_0x4fb1d5,_0x2c1cfe){const _0x2c63b0=a35_0x4167;if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x19d)){const _0xb6b8d6=await resolveDatasetCode(_0x12f480,_0x4fb1d5,_0x2c1cfe);return executeData(_0xb6b8d6,_0x12f480[_0x2c63b0(0x1ac)],_0x12f480[_0x2c63b0(0x1d4)]);}if(_0x12f480[_0x2c63b0(0x18d)]==='sql'){if(!_0x12f480[_0x2c63b0(0x1c9)])throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5['cliPath']+_0x2c63b0(0x1e1));return executeSdkSql(_0x12f480['sqlCode'],normalizeScalarParams(_0x12f480[_0x2c63b0(0x1d4)]));}if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x1b2)){const _0x15db56=_0x12f480[_0x2c63b0(0x199)]||_0x12f480[_0x2c63b0(0x184)]||(_0x12f480['bffId']==null?'':String(_0x12f480[_0x2c63b0(0x1aa)]));if(!_0x15db56)throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5[_0x2c63b0(0x1c2)]+_0x2c63b0(0x19c));return executeSdkBff(_0x15db56,_0x12f480[_0x2c63b0(0x1d4)]);}throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1d0)+_0x12f480[_0x2c63b0(0x18d)]);}async function resolveDatasetCode(_0x2918e7,_0x844183,_0x507fc7){const _0x5747f2=a35_0x4167;if(_0x2918e7['datasetCode'])return _0x2918e7[_0x5747f2(0x1c8)];if(!_0x2918e7['datatable'])throw CliErrors[_0x5747f2(0x190)](_0x5747f2(0x1dd)+_0x844183[_0x5747f2(0x1c2)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x51dd06=await listDatasets(_0x507fc7[_0x5747f2(0x1c0)]),_0x1ff913=_0x51dd06['find'](_0x4adcc7=>_0x4adcc7[_0x5747f2(0x1d2)]?.['tableName']===_0x2918e7[_0x5747f2(0x19e)]);if(!_0x1ff913?.[_0x5747f2(0x186)])throw CliErrors[_0x5747f2(0x190)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2918e7['datatable']+_0x5747f2(0x183)+_0x507fc7[_0x5747f2(0x1c0)]+'.',_0x5747f2(0x1cd));return _0x1ff913[_0x5747f2(0x186)];}function applyAppBinding(_0x5392d7,_0x49b7c9,_0x59bc64){const _0x29a92d=a35_0x4167,_0x4dbf01=_0x49b7c9['target'][_0x29a92d(0x18e)];if(!_0x4dbf01)return;const _0x32ab73=_0x5392d7[_0x29a92d(0x1d5)][_0x4dbf01];if(!_0x32ab73)throw CliErrors[_0x29a92d(0x190)](_0x29a92d(0x194)+_0x4dbf01+_0x29a92d(0x1be)+_0x49b7c9['cliPath']+'.',_0x29a92d(0x19f));const _0x4d4c7a=_0x32ab73[_0x29a92d(0x1cb)]||_0x32ab73[_0x29a92d(0x1c0)];_0x4d4c7a&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64['appcode']=_0x4d4c7a),_0x32ab73[_0x29a92d(0x185)]&&!hasText(_0x59bc64[_0x29a92d(0x185)])&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64[_0x29a92d(0x185)]=_0x32ab73[_0x29a92d(0x185)]),_0x32ab73[_0x29a92d(0x1bc)]&&!hasText(_0x59bc64[_0x29a92d(0x1bc)])&&(_0x59bc64[_0x29a92d(0x1bc)]=_0x32ab73[_0x29a92d(0x1bc)]);}function renderDynamicCommandHelp(_0x482504){const _0x4572e3=a35_0x4167,_0x479479=[_0x4572e3(0x1a9),_0x4572e3(0x1c4)+_0x482504[_0x4572e3(0x1df)]['kind'],_0x4572e3(0x1d8)+_0x482504[_0x4572e3(0x1df)]['command']];if(_0x482504['target'][_0x4572e3(0x1c8)])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x1a0)+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x1c8)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)])_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20datatable:\x20'+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)]);if(_0x482504[_0x4572e3(0x1df)]['sqlCode'])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x188)+_0x482504['target'][_0x4572e3(0x1c9)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x199)])_0x479479['push']('\x20\x20\x20\x20scriptName:\x20'+_0x482504['target'][_0x4572e3(0x199)]);if(_0x482504[_0x4572e3(0x191)][_0x4572e3(0x1b8)]>0x0){_0x479479['push']('',_0x4572e3(0x1da));for(const _0x35c8e7 of _0x482504[_0x4572e3(0x191)]){_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20'+(_0x35c8e7['source']||_0x4572e3(0x1d6))+_0x4572e3(0x1cc)+_0x35c8e7['target']+(_0x35c8e7[_0x4572e3(0x1a4)]?'.'+_0x35c8e7['operator']:''));}}return _0x479479[_0x4572e3(0x1ab)]('\x0a');}function targetPreview(_0x41f789){const _0x397c5d=a35_0x4167;return{'kind':_0x41f789[_0x397c5d(0x18d)],'command':_0x41f789['command'],'appRef':_0x41f789[_0x397c5d(0x18e)],'datasetCode':_0x41f789[_0x397c5d(0x1c8)],'datatable':_0x41f789[_0x397c5d(0x19e)],'sqlCode':_0x41f789[_0x397c5d(0x1c9)],'bffCode':_0x41f789[_0x397c5d(0x184)],'bffId':_0x41f789['bffId'],'scriptName':_0x41f789[_0x397c5d(0x199)]};}function normalizeScalarParams(_0x1f404f){const _0xe46eee=a35_0x4167;return Object[_0xe46eee(0x1c1)](Object['entries'](_0x1f404f)[_0xe46eee(0x1c7)](([,_0x34d1aa])=>typeof _0x34d1aa===_0xe46eee(0x1af)||typeof _0x34d1aa==='number'));}function hasText(_0x51b202){const _0x1bf083=a35_0x4167;return typeof _0x51b202===_0x1bf083(0x1af)&&_0x51b202['trim']()[_0x1bf083(0x1b8)]>0x0;}function isPrimitiveFlagDefault(_0x17b451){const _0x26ce4a=a35_0x4167;return _0x17b451===undefined||typeof _0x17b451===_0x26ce4a(0x1af)||typeof _0x17b451===_0x26ce4a(0x1ce)||typeof _0x17b451==='boolean';}
@@ -1 +1 @@
1
- const a33_0x1ca5b7=a33_0x2e3c;(function(_0x4aff2f,_0x43d2c5){const _0xe9cb8=a33_0x2e3c,_0x13fdfa=_0x4aff2f();while(!![]){try{const _0x487490=-parseInt(_0xe9cb8(0x1c0))/0x1+parseInt(_0xe9cb8(0x1c7))/0x2*(parseInt(_0xe9cb8(0x1e1))/0x3)+parseInt(_0xe9cb8(0x1bf))/0x4+-parseInt(_0xe9cb8(0x1bc))/0x5*(-parseInt(_0xe9cb8(0x1cd))/0x6)+-parseInt(_0xe9cb8(0x1d0))/0x7*(-parseInt(_0xe9cb8(0x1be))/0x8)+-parseInt(_0xe9cb8(0x1e4))/0x9*(parseInt(_0xe9cb8(0x1ec))/0xa)+-parseInt(_0xe9cb8(0x1b9))/0xb;if(_0x487490===_0x43d2c5)break;else _0x13fdfa['push'](_0x13fdfa['shift']());}catch(_0x261b2f){_0x13fdfa['push'](_0x13fdfa['shift']());}}}(a33_0x2b9a,0xb281e));function a33_0x2e3c(_0x57c093,_0x273765){_0x57c093=_0x57c093-0x1a5;const _0x2b9a26=a33_0x2b9a();let _0x2e3cec=_0x2b9a26[_0x57c093];return _0x2e3cec;}function a33_0x2b9a(){const _0x567741=['serviceCount','version','registryServiceCode','imported','1278zVSEMt','Service\x20manifest\x20validation\x20passed.','read','4067QtWnqL','report','file','importedAt','validate','Imported\x20','import','required','manifests','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','detail','Imported','Exported\x20service\x20','serviceCode','lower\x20kebab-case\x20service\x20code','description','name','579HOSBdz','updated','errors','2432097NFTcpR','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','replaced','list','Removed\x20service\x20','remove','hash','30bYuJpL','Service\x20Tree\x20manifest\x20file\x20path','source','Local\x20service\x20not\x20found:\x20','filePath','cliPath','registryPath','\x20service\x20','warnings','registryIndex','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','flags','commands','normalizedManifest','write','kind','registry','Local\x20service\x20code,\x20for\x20example\x20crm','string','\x20service(s).','map','service','1327535wXzKvy','entry','entries','765xlYvIv','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','15920ocYmTX','3405344sAcdmB','1068119ljiMzq','Service\x20registry\x20validation\x20passed.','risk','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','str','WRITE','7156fBOeyv','target'];a33_0x2b9a=function(){return _0x567741;};return a33_0x2b9a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1ed)},SERVICE_FLAG={'name':'service','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1b4),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1ca5b7(0x1de)}};function summarizeService(_0x3fde20){const _0x3b092e=a33_0x1ca5b7;return{'serviceCode':_0x3fde20[_0x3b092e(0x1dd)],'name':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1b8)]['name'],'version':_0x3fde20[_0x3b092e(0x1ca)],'importedAt':_0x3fde20[_0x3b092e(0x1d3)],'source':_0x3fde20[_0x3b092e(0x1ee)],'commandCount':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1af)][_0x3b092e(0x1c3)],'commands':_0x3fde20[_0x3b092e(0x1b0)]['commands'][_0x3b092e(0x1b7)](_0x368d28=>({'path':_0x368d28[_0x3b092e(0x1a7)],'description':_0x368d28[_0x3b092e(0x1df)],'risk':_0x368d28[_0x3b092e(0x1c2)],'target':_0x368d28[_0x3b092e(0x1c8)],'flags':_0x368d28[_0x3b092e(0x1ae)][_0x3b092e(0x1b7)](_0x9bf250=>({'name':_0x9bf250[_0x3b092e(0x1e0)],'cliName':_0x9bf250['cliName'],'type':_0x9bf250['type'],'required':_0x9bf250[_0x3b092e(0x1d7)]===!![]}))}))};}function summarizeLoadedManifest(_0x42b7da){const _0x4b0d9b=a33_0x1ca5b7;return{'service':_0x42b7da[_0x4b0d9b(0x1b0)]?.['service'],'version':_0x42b7da[_0x4b0d9b(0x1b0)]?.[_0x4b0d9b(0x1ca)],'commandCount':_0x42b7da['normalizedManifest']?.['commands'][_0x4b0d9b(0x1c3)]??0x0,'commands':_0x42b7da['normalizedManifest']?.[_0x4b0d9b(0x1af)][_0x4b0d9b(0x1b7)](_0x2a94c0=>({'path':_0x2a94c0['cliPath'],'risk':_0x2a94c0[_0x4b0d9b(0x1c2)],'target':_0x2a94c0[_0x4b0d9b(0x1c8)]}))??[],'registryIndex':_0x42b7da[_0x4b0d9b(0x1ab)],'registryServiceCode':_0x42b7da[_0x4b0d9b(0x1cb)],'errors':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1e3)],'warnings':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1aa)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1ca5b7(0x1d4),'description':a33_0x1ca5b7(0x1d9),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2e109d){const _0x928ec1=a33_0x1ca5b7,_0x522c12=loadServiceManifestFromFile(_0x2e109d[_0x928ec1(0x1c5)](_0x928ec1(0x1d2)));if(!_0x522c12[_0x928ec1(0x1d1)]['ok'])return{'ok':![],'data':{'file':_0x522c12['filePath'],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12['manifests'][_0x928ec1(0x1c3)],'services':_0x522c12['manifests']['map'](summarizeLoadedManifest),'errors':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1e3)],'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':formatValidationFailure(_0x522c12['report'])};if(_0x522c12['kind']===_0x928ec1(0x1b3)||_0x522c12[_0x928ec1(0x1d8)][_0x928ec1(0x1c3)]!==0x1)return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12[_0x928ec1(0x1d8)]['length'],'commandCount':_0x522c12[_0x928ec1(0x1d8)]['reduce']((_0x287ce6,_0x4d3846)=>_0x287ce6+(_0x4d3846[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)]['length']??0x0),0x0),'services':_0x522c12[_0x928ec1(0x1d8)]['map'](summarizeLoadedManifest),'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':_0x928ec1(0x1c1)};return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'service':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1b8)],'version':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1ca)],'commandCount':_0x522c12['normalizedManifest']?.['commands'][_0x928ec1(0x1c3)]??0x0,'commands':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)][_0x928ec1(0x1b7)](_0x540f06=>({'path':_0x540f06[_0x928ec1(0x1a7)],'risk':_0x540f06[_0x928ec1(0x1c2)],'target':_0x540f06[_0x928ec1(0x1c8)]})),'warnings':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1aa)]},'message':_0x928ec1(0x1ce)};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1d6),'description':a33_0x1ca5b7(0x1c4),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x222db8){const _0x2db021=a33_0x1ca5b7,_0x3e1e8f=loadServiceManifestFromFile(_0x222db8['str'](_0x2db021(0x1d2)));return{'method':_0x2db021(0x1c6),'url':getServiceRegistryPath(),'body':{'file':_0x3e1e8f[_0x2db021(0x1a6)],'hash':_0x3e1e8f[_0x2db021(0x1eb)],'kind':_0x3e1e8f[_0x2db021(0x1b2)],'ok':_0x3e1e8f['report']['ok'],'service':_0x3e1e8f[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x3e1e8f[_0x2db021(0x1b0)]?.['version'],'serviceCount':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1c3)],'services':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1b7)](_0x41b8e5=>({'service':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1ca)],'commandCount':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1af)][_0x2db021(0x1c3)]??0x0,'errors':_0x41b8e5[_0x2db021(0x1d1)][_0x2db021(0x1e3)]})),'errors':_0x3e1e8f[_0x2db021(0x1d1)][_0x2db021(0x1e3)],'commandCount':_0x3e1e8f[_0x2db021(0x1b0)]?.['commands']['length']??0x0},'description':_0x2db021(0x1ac)};},async 'execute'(_0x588889){const _0x3b2387=a33_0x1ca5b7,_0x4010d7=importServiceManifest(_0x588889['str'](_0x3b2387(0x1d2)));if(_0x4010d7[_0x3b2387(0x1bb)][_0x3b2387(0x1c3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'imported':_0x4010d7[_0x3b2387(0x1cc)],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'services':_0x4010d7[_0x3b2387(0x1bb)]['map'](summarizeService)},'message':_0x3b2387(0x1d5)+_0x4010d7['imported']+_0x3b2387(0x1e5)+_0x4010d7[_0x3b2387(0x1e2)]+_0x3b2387(0x1b6)};return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'replaced':_0x4010d7[_0x3b2387(0x1e7)],'imported':_0x4010d7['imported'],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'service':summarizeService(_0x4010d7[_0x3b2387(0x1ba)])},'message':(_0x4010d7['replaced']?'Updated':_0x3b2387(0x1db))+_0x3b2387(0x1a9)+_0x4010d7[_0x3b2387(0x1ba)][_0x3b2387(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x2762e1){const _0x14a421=a33_0x1ca5b7,_0x75a685=getLocalServiceEntry(_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)));return{'method':_0x14a421(0x1c6),'url':_0x2762e1[_0x14a421(0x1c5)]('file'),'body':{'service':_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)),'found':Boolean(_0x75a685),'version':_0x75a685?.[_0x14a421(0x1ca)],'source':_0x75a685?.[_0x14a421(0x1ee)]},'description':_0x14a421(0x1bd)};},async 'execute'(_0x40af25){const _0x18c7aa=a33_0x1ca5b7,_0x178a84=exportServiceManifest(_0x40af25['str'](_0x18c7aa(0x1b8)),_0x40af25[_0x18c7aa(0x1c5)](_0x18c7aa(0x1d2)));return{'ok':!![],'data':{'registryPath':_0x178a84[_0x18c7aa(0x1a8)],'file':_0x178a84['filePath'],'service':summarizeService(_0x178a84[_0x18c7aa(0x1ba)])},'message':_0x18c7aa(0x1dc)+_0x178a84['entry'][_0x18c7aa(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1e8),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x6f53be=a33_0x1ca5b7,_0x3b184e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3b184e[_0x6f53be(0x1c3)],'services':_0x3b184e['map'](summarizeService)}};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1ea),'description':a33_0x1ca5b7(0x1ad),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3c417c){const _0x150098=a33_0x1ca5b7,_0x3dd5b2=getLocalServiceEntry(_0x3c417c[_0x150098(0x1c5)]('service'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3c417c[_0x150098(0x1c5)](_0x150098(0x1b8)),'found':Boolean(_0x3dd5b2),'version':_0x3dd5b2?.[_0x150098(0x1ca)],'source':_0x3dd5b2?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x31055c){const _0x4c1d1c=a33_0x1ca5b7,_0x8b96a5=removeServiceManifest(_0x31055c[_0x4c1d1c(0x1c5)](_0x4c1d1c(0x1b8)));return{'ok':!![],'data':{'registryPath':_0x8b96a5[_0x4c1d1c(0x1a8)],'serviceCount':_0x8b96a5[_0x4c1d1c(0x1c9)],'service':summarizeService(_0x8b96a5[_0x4c1d1c(0x1ba)])},'message':_0x4c1d1c(0x1e9)+_0x8b96a5[_0x4c1d1c(0x1ba)]['serviceCode']+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1da),'description':a33_0x1ca5b7(0x1e6),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x49b143){const _0x31cecd=a33_0x1ca5b7,_0x4c4deb=getLocalServiceEntry(_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8)));if(!_0x4c4deb)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))},'message':_0x31cecd(0x1a5)+_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x4c4deb),'manifest':_0x4c4deb['manifest'],'normalizedManifest':_0x4c4deb[_0x31cecd(0x1b0)]}};}}];
1
+ function a36_0x2635(){const _0x458395=['Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1843253hmYmnH','serviceCode','Local\x20service\x20not\x20found:\x20','import','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','validate','source','Imported','length','errors','hash','892956KrmgmZ','description','reduce','detail','721698gFvWGZ','map','kind','imported','Updated','file','7706754ZNxEbf','\x20service(s).','638hjuzIy','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','registry','updated','cliPath','8gUkYVs','65IwmsxF','service','45409CJPmVt','normalizedManifest','Local\x20service\x20code,\x20for\x20example\x20crm','warnings','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','\x20service\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','commands','filePath','registryServiceCode','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','3227780FRWqsc','Exported\x20service\x20','target','20WZzntn','report','list','entry','manifests','WRITE','version','read','write','416bEtWka','Service\x20registry\x20validation\x20passed.','980076kPsKyb','str','serviceCount','Service\x20manifest\x20validation\x20passed.','flags','Service\x20Tree\x20manifest\x20file\x20path','importedAt','string','risk','entries','registryPath'];a36_0x2635=function(){return _0x458395;};return a36_0x2635();}const a36_0x10bdb6=a36_0x438f;(function(_0x2689c5,_0x1c397a){const _0x474bfe=a36_0x438f,_0x45ca63=_0x2689c5();while(!![]){try{const _0x39868d=parseInt(_0x474bfe(0x120))/0x1+parseInt(_0x474bfe(0x13d))/0x2*(-parseInt(_0x474bfe(0x12c))/0x3)+-parseInt(_0x474bfe(0x14d))/0x4+parseInt(_0x474bfe(0x13e))/0x5*(-parseInt(_0x474bfe(0x130))/0x6)+-parseInt(_0x474bfe(0x140))/0x7*(parseInt(_0x474bfe(0x112))/0x8)+-parseInt(_0x474bfe(0x136))/0x9*(parseInt(_0x474bfe(0x150))/0xa)+parseInt(_0x474bfe(0x138))/0xb*(parseInt(_0x474bfe(0x114))/0xc);if(_0x39868d===_0x1c397a)break;else _0x45ca63['push'](_0x45ca63['shift']());}catch(_0xbaf1c7){_0x45ca63['push'](_0x45ca63['shift']());}}}(a36_0x2635,0xec99f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x10bdb6(0x135),'type':'string','required':!![],'description':a36_0x10bdb6(0x119)},SERVICE_FLAG={'name':'service','type':a36_0x10bdb6(0x11b),'required':!![],'description':a36_0x10bdb6(0x142),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0xfb4540){const _0x127457=a36_0x10bdb6;return{'serviceCode':_0xfb4540[_0x127457(0x121)],'name':_0xfb4540[_0x127457(0x141)][_0x127457(0x13f)][_0x127457(0x145)],'version':_0xfb4540[_0x127457(0x156)],'importedAt':_0xfb4540[_0x127457(0x11a)],'source':_0xfb4540['source'],'commandCount':_0xfb4540[_0x127457(0x141)]['commands'][_0x127457(0x129)],'commands':_0xfb4540[_0x127457(0x141)][_0x127457(0x148)][_0x127457(0x131)](_0x517a63=>({'path':_0x517a63[_0x127457(0x13c)],'description':_0x517a63[_0x127457(0x12d)],'risk':_0x517a63[_0x127457(0x11c)],'target':_0x517a63[_0x127457(0x14f)],'flags':_0x517a63[_0x127457(0x118)][_0x127457(0x131)](_0x3811b2=>({'name':_0x3811b2[_0x127457(0x145)],'cliName':_0x3811b2['cliName'],'type':_0x3811b2['type'],'required':_0x3811b2['required']===!![]}))}))};}function a36_0x438f(_0x5731ce,_0x3ed234){_0x5731ce=_0x5731ce-0x112;const _0x263512=a36_0x2635();let _0x438f10=_0x263512[_0x5731ce];return _0x438f10;}function summarizeLoadedManifest(_0x405d4d){const _0x15a592=a36_0x10bdb6;return{'service':_0x405d4d[_0x15a592(0x141)]?.[_0x15a592(0x13f)],'version':_0x405d4d[_0x15a592(0x141)]?.['version'],'commandCount':_0x405d4d['normalizedManifest']?.[_0x15a592(0x148)]['length']??0x0,'commands':_0x405d4d[_0x15a592(0x141)]?.['commands'][_0x15a592(0x131)](_0x27c652=>({'path':_0x27c652[_0x15a592(0x13c)],'risk':_0x27c652[_0x15a592(0x11c)],'target':_0x27c652[_0x15a592(0x14f)]}))??[],'registryIndex':_0x405d4d['registryIndex'],'registryServiceCode':_0x405d4d[_0x15a592(0x14a)],'errors':_0x405d4d['report'][_0x15a592(0x12a)],'warnings':_0x405d4d[_0x15a592(0x151)]['warnings']};}export const serviceDefinitions=[{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x126),'description':a36_0x10bdb6(0x124),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x247bc5){const _0x492c5c=a36_0x10bdb6,_0x33fd91=loadServiceManifestFromFile(_0x247bc5['str'](_0x492c5c(0x135)));if(!_0x33fd91[_0x492c5c(0x151)]['ok'])return{'ok':![],'data':{'file':_0x33fd91['filePath'],'hash':_0x33fd91['hash'],'kind':_0x33fd91['kind'],'serviceCount':_0x33fd91[_0x492c5c(0x154)]['length'],'services':_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x131)](summarizeLoadedManifest),'errors':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x12a)],'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':formatValidationFailure(_0x33fd91[_0x492c5c(0x151)])};if(_0x33fd91[_0x492c5c(0x132)]===_0x492c5c(0x13a)||_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x129)]!==0x1)return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91['hash'],'kind':_0x33fd91[_0x492c5c(0x132)],'serviceCount':_0x33fd91['manifests'][_0x492c5c(0x129)],'commandCount':_0x33fd91['manifests'][_0x492c5c(0x12e)]((_0x3403ce,_0x3447c9)=>_0x3403ce+(_0x3447c9[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0),0x0),'services':_0x33fd91['manifests'][_0x492c5c(0x131)](summarizeLoadedManifest),'warnings':_0x33fd91[_0x492c5c(0x151)]['warnings']},'message':_0x492c5c(0x113)};return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91[_0x492c5c(0x12b)],'kind':_0x33fd91[_0x492c5c(0x132)],'service':_0x33fd91['normalizedManifest']?.[_0x492c5c(0x13f)],'version':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x156)],'commandCount':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0,'commands':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x131)](_0x2b9244=>({'path':_0x2b9244[_0x492c5c(0x13c)],'risk':_0x2b9244[_0x492c5c(0x11c)],'target':_0x2b9244['target']})),'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':_0x492c5c(0x117)};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x123),'description':a36_0x10bdb6(0x14b),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2a581d){const _0x4407ef=a36_0x10bdb6,_0x3d04a1=loadServiceManifestFromFile(_0x2a581d[_0x4407ef(0x115)](_0x4407ef(0x135)));return{'method':_0x4407ef(0x155),'url':getServiceRegistryPath(),'body':{'file':_0x3d04a1[_0x4407ef(0x149)],'hash':_0x3d04a1[_0x4407ef(0x12b)],'kind':_0x3d04a1[_0x4407ef(0x132)],'ok':_0x3d04a1[_0x4407ef(0x151)]['ok'],'service':_0x3d04a1[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x3d04a1['normalizedManifest']?.['version'],'serviceCount':_0x3d04a1[_0x4407ef(0x154)][_0x4407ef(0x129)],'services':_0x3d04a1[_0x4407ef(0x154)]['map'](_0x5a1b20=>({'service':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x156)],'commandCount':_0x5a1b20['normalizedManifest']?.[_0x4407ef(0x148)][_0x4407ef(0x129)]??0x0,'errors':_0x5a1b20[_0x4407ef(0x151)][_0x4407ef(0x12a)]})),'errors':_0x3d04a1[_0x4407ef(0x151)][_0x4407ef(0x12a)],'commandCount':_0x3d04a1['normalizedManifest']?.[_0x4407ef(0x148)]['length']??0x0},'description':_0x4407ef(0x147)};},async 'execute'(_0x5c2c78){const _0x3f2cbe=a36_0x10bdb6,_0x350a1b=importServiceManifest(_0x5c2c78[_0x3f2cbe(0x115)]('file'));if(_0x350a1b['entries'][_0x3f2cbe(0x129)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b['updated'],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'services':_0x350a1b[_0x3f2cbe(0x11d)][_0x3f2cbe(0x131)](summarizeService)},'message':'Imported\x20'+_0x350a1b[_0x3f2cbe(0x133)]+_0x3f2cbe(0x125)+_0x350a1b[_0x3f2cbe(0x13b)]+_0x3f2cbe(0x137)};return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'replaced':_0x350a1b['replaced'],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b[_0x3f2cbe(0x13b)],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'service':summarizeService(_0x350a1b[_0x3f2cbe(0x153)])},'message':(_0x350a1b['replaced']?_0x3f2cbe(0x134):_0x3f2cbe(0x128))+_0x3f2cbe(0x146)+_0x350a1b[_0x3f2cbe(0x153)][_0x3f2cbe(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':'export','description':a36_0x10bdb6(0x11f),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e6579){const _0x4bb2d1=a36_0x10bdb6,_0x2b0770=getLocalServiceEntry(_0x4e6579['str'](_0x4bb2d1(0x13f)));return{'method':'WRITE','url':_0x4e6579['str'](_0x4bb2d1(0x135)),'body':{'service':_0x4e6579[_0x4bb2d1(0x115)](_0x4bb2d1(0x13f)),'found':Boolean(_0x2b0770),'version':_0x2b0770?.[_0x4bb2d1(0x156)],'source':_0x2b0770?.[_0x4bb2d1(0x127)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0xe3d5f3){const _0x230f21=a36_0x10bdb6,_0x453358=exportServiceManifest(_0xe3d5f3[_0x230f21(0x115)](_0x230f21(0x13f)),_0xe3d5f3[_0x230f21(0x115)]('file'));return{'ok':!![],'data':{'registryPath':_0x453358[_0x230f21(0x11e)],'file':_0x453358[_0x230f21(0x149)],'service':summarizeService(_0x453358['entry'])},'message':_0x230f21(0x14e)+_0x453358[_0x230f21(0x153)][_0x230f21(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x152),'description':a36_0x10bdb6(0x139),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2790f9=a36_0x10bdb6,_0x5879b6=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x5879b6[_0x2790f9(0x129)],'services':_0x5879b6[_0x2790f9(0x131)](summarizeService)}};}},{'service':'service','command':'remove','description':a36_0x10bdb6(0x14c),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x522b01){const _0x2c9648=a36_0x10bdb6,_0x3b8696=getLocalServiceEntry(_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)),'found':Boolean(_0x3b8696),'version':_0x3b8696?.[_0x2c9648(0x156)],'source':_0x3b8696?.[_0x2c9648(0x127)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x405b71){const _0x33110e=a36_0x10bdb6,_0x3d6e6c=removeServiceManifest(_0x405b71['str']('service'));return{'ok':!![],'data':{'registryPath':_0x3d6e6c[_0x33110e(0x11e)],'serviceCount':_0x3d6e6c[_0x33110e(0x116)],'service':summarizeService(_0x3d6e6c[_0x33110e(0x153)])},'message':'Removed\x20service\x20'+_0x3d6e6c['entry'][_0x33110e(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x12f),'description':a36_0x10bdb6(0x144),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x35ce51){const _0x424133=a36_0x10bdb6,_0x35dff4=getLocalServiceEntry(_0x35ce51[_0x424133(0x115)]('service'));if(!_0x35dff4)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))},'message':_0x424133(0x122)+_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x35dff4),'manifest':_0x35dff4['manifest'],'normalizedManifest':_0x35dff4[_0x424133(0x141)]}};}}];
@@ -1 +1 @@
1
- const a34_0x3c100c=a34_0x4d42;function a34_0x4d42(_0x18a5c4,_0x2df035){_0x18a5c4=_0x18a5c4-0x14e;const _0x4e0f2f=a34_0x4e0f();let _0x4d42e0=_0x4e0f2f[_0x18a5c4];return _0x4d42e0;}(function(_0x2dd148,_0xb67197){const _0x2d49da=a34_0x4d42,_0x77e519=_0x2dd148();while(!![]){try{const _0x1c1a02=parseInt(_0x2d49da(0x18e))/0x1+-parseInt(_0x2d49da(0x194))/0x2+parseInt(_0x2d49da(0x153))/0x3+-parseInt(_0x2d49da(0x180))/0x4*(-parseInt(_0x2d49da(0x15f))/0x5)+parseInt(_0x2d49da(0x160))/0x6*(-parseInt(_0x2d49da(0x150))/0x7)+-parseInt(_0x2d49da(0x169))/0x8*(-parseInt(_0x2d49da(0x154))/0x9)+parseInt(_0x2d49da(0x177))/0xa*(-parseInt(_0x2d49da(0x164))/0xb);if(_0x1c1a02===_0xb67197)break;else _0x77e519['push'](_0x77e519['shift']());}catch(_0x53e99a){_0x77e519['push'](_0x77e519['shift']());}}}(a34_0x4e0f,0xbcd26));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_0x3c100c(0x178);export function getServiceRegistryPath(_0x4c1ed6={}){const _0x50ee9c=a34_0x3c100c;return resolve(_0x4c1ed6[_0x50ee9c(0x19b)]??homedir(),PRODUCT_CONFIG[_0x50ee9c(0x17c)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x422474={}){const _0x3e173d=a34_0x3c100c,_0x4e1164=getServiceRegistryPath(_0x422474);if(!existsSync(_0x4e1164))return emptyServiceRegistry();try{const _0x55dead=readFileSync(_0x4e1164,'utf8');if(!_0x55dead['trim']())return emptyServiceRegistry();const _0x495aed=JSON['parse'](_0x55dead);if(_0x495aed['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x3e173d(0x157)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x495aed['schemaVersion']),_0x3e173d(0x167)+_0x4e1164+'.');if(!Array[_0x3e173d(0x187)](_0x495aed[_0x3e173d(0x189)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x495aed[_0x3e173d(0x184)],'services':_0x495aed[_0x3e173d(0x189)]};}catch(_0x1718e4){if(_0x1718e4 instanceof Error&&_0x1718e4[_0x3e173d(0x19d)]==='CliError')throw _0x1718e4;throw CliErrors[_0x3e173d(0x157)](_0x3e173d(0x15b)+_0x4e1164,_0x3e173d(0x14f));}}export function writeServiceRegistry(_0x29a333,_0x2f5e70={}){const _0x2d37d4=a34_0x3c100c,_0x370f7e=getServiceRegistryPath(_0x2f5e70),_0x7c6172=dirname(_0x370f7e);!existsSync(_0x7c6172)&&mkdirSync(_0x7c6172,{'recursive':!![]});const _0x586e3e=_0x370f7e+_0x2d37d4(0x159);try{writeFileSync(_0x586e3e,JSON[_0x2d37d4(0x188)](_0x29a333,null,0x2)+'\x0a',{'encoding':_0x2d37d4(0x166),'mode':0x180}),renameSync(_0x586e3e,_0x370f7e);}catch(_0x1d8c06){try{unlinkSync(_0x586e3e);}catch{}if(_0x1d8c06?.['code']===_0x2d37d4(0x19f))throw CliErrors[_0x2d37d4(0x157)](_0x2d37d4(0x17d)+_0x370f7e);throw _0x1d8c06;}return _0x370f7e;}export function loadServiceManifestFromFile(_0x563721){const _0x58941c=a34_0x3c100c,_0x8023f5=resolve(_0x563721);if(!existsSync(_0x8023f5))throw CliErrors[_0x58941c(0x157)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x563721);let _0xdb337e;const _0x371987=readFileSync(_0x8023f5,_0x58941c(0x166));try{_0xdb337e=JSON[_0x58941c(0x197)](_0x371987);}catch{throw CliErrors['validation'](_0x58941c(0x18b)+_0x563721,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x56140=sha256(_0x371987),_0x27881b=extractLoadedServiceManifests(_0xdb337e,_0x56140),_0x2df204=aggregateValidationReports(_0x27881b),_0x462980=_0x27881b[0x0];return{'filePath':_0x8023f5,'hash':_0x56140,'kind':isServiceRegistryLike(_0xdb337e)?_0x58941c(0x162):_0x58941c(0x16d),'manifest':_0x462980?.['manifest']??_0xdb337e,'report':_0x2df204,'normalizedManifest':_0x27881b['length']===0x1?_0x462980?.[_0x58941c(0x172)]:undefined,'manifests':_0x27881b};}export function importServiceManifest(_0x53fbe7,_0xbb912f={}){const _0x10558a=a34_0x3c100c,_0x1fd177=loadServiceManifestFromFile(_0x53fbe7);if(!_0x1fd177['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x1fd177['report']),_0x10558a(0x185));if(_0x1fd177[_0x10558a(0x19c)][_0x10558a(0x19a)]===0x0)throw CliErrors[_0x10558a(0x157)](_0x10558a(0x16e),_0x10558a(0x192));const _0x48e338=readServiceRegistry(_0xbb912f),_0x53f786=(_0xbb912f[_0x10558a(0x156)]??(()=>new Date()))()[_0x10558a(0x175)](),_0x28d4e7=[];let _0x3413ef=0x0,_0x28b442=0x0;for(const _0x3f79b9 of _0x1fd177['manifests']){if(!_0x3f79b9['normalizedManifest'])continue;const _0x41931c=_0x3f79b9[_0x10558a(0x172)]['service'][_0x10558a(0x18a)],_0x38e80c={'serviceCode':_0x41931c,'version':_0x3f79b9[_0x10558a(0x172)]['version'],'importedAt':_0x53f786,'source':{'type':_0x10558a(0x152),'path':_0x1fd177['filePath'],'hash':_0x3f79b9[_0x10558a(0x199)]},'manifest':_0x3f79b9['manifest'],'normalizedManifest':_0x3f79b9['normalizedManifest']},_0x49f5be=_0x48e338[_0x10558a(0x189)][_0x10558a(0x179)](_0x50c102=>_0x50c102[_0x10558a(0x17a)]===_0x41931c);_0x49f5be>=0x0?(_0x48e338['services'][_0x49f5be]=_0x38e80c,_0x28b442++):(_0x48e338[_0x10558a(0x189)][_0x10558a(0x168)](_0x38e80c),_0x3413ef++),_0x28d4e7[_0x10558a(0x168)](_0x38e80c);}_0x48e338[_0x10558a(0x189)][_0x10558a(0x165)]((_0x483d68,_0xec3069)=>_0x483d68[_0x10558a(0x17a)][_0x10558a(0x176)](_0xec3069[_0x10558a(0x17a)])),_0x48e338[_0x10558a(0x184)]=_0x53f786;const _0x13fe8a=writeServiceRegistry(_0x48e338,_0xbb912f);return{'registryPath':_0x13fe8a,'entry':_0x28d4e7[0x0],'replaced':_0x28d4e7[_0x10558a(0x19a)]===0x1?_0x28b442===0x1:_0x28b442>0x0,'entries':_0x28d4e7,'imported':_0x3413ef,'updated':_0x28b442,'serviceCount':_0x48e338[_0x10558a(0x189)][_0x10558a(0x19a)]};}export function exportServiceManifest(_0x17787e,_0x4be1ea,_0xdca375={}){const _0x39d331=a34_0x3c100c,_0x45957b=getServiceRegistryPath(_0xdca375),_0x2029e7=getLocalServiceEntry(_0x17787e,_0xdca375);if(!_0x2029e7)throw CliErrors['validation'](_0x39d331(0x1a1)+_0x17787e,_0x39d331(0x198));const _0x15899f=resolve(_0x4be1ea),_0x2858de=dirname(_0x15899f);return!existsSync(_0x2858de)&&mkdirSync(_0x2858de,{'recursive':!![]}),writeFileSync(_0x15899f,JSON[_0x39d331(0x188)](_0x2029e7['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x45957b,'filePath':_0x15899f,'entry':_0x2029e7};}function a34_0x4e0f(){const _0x482206=['Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','14nKCXRd','].manifest.','file','3402462shCtJb','333XyUcfx','object','now','validation','Unsupported\x20schemaVersion:\x20','.tmp','schemaVersion','Invalid\x20service\x20registry\x20JSON:\x20','].manifest','flatMap','command','9305asOmej','1378068VwMtZo','report','registry','commands','3795132kaLLDF','sort','utf8','Remove\x20or\x20migrate\x20','push','325784gsjWIx','reduce','invalid','cliPath','manifest','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','errors','path','commandCount','normalizedManifest','$.services[','kind','toISOString','localeCompare','60cwLLaX','service.json','findIndex','serviceCode','trim','homeDirName','Cannot\x20write\x20service\x20registry:\x20','missing','warnings','2588HiyIGD','description','startsWith','map','updatedAt','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','splice','isArray','stringify','services','code','Invalid\x20service\x20manifest\x20JSON:\x20','version','message','403764aaBkDZ','risk','target','find','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','1891788kSToJV','empty','service','parse','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sourceHash','length','homeDir','manifests','name','update','ENOENT','source','Local\x20service\x20not\x20found:\x20','sha256','hex'];a34_0x4e0f=function(){return _0x482206;};return a34_0x4e0f();}export function removeServiceManifest(_0x22f7cb,_0x35b1f0={}){const _0x46e08e=a34_0x3c100c,_0x4d777e=readServiceRegistry(_0x35b1f0),_0x2c6b1a=_0x22f7cb[_0x46e08e(0x17b)](),_0x3c8c42=_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x179)](_0x1f58f8=>_0x1f58f8[_0x46e08e(0x17a)]===_0x2c6b1a);if(_0x3c8c42<0x0)throw CliErrors['validation'](_0x46e08e(0x1a1)+_0x2c6b1a,_0x46e08e(0x198));const [_0xb59001]=_0x4d777e['services'][_0x46e08e(0x186)](_0x3c8c42,0x1),_0x3bf676=(_0x35b1f0[_0x46e08e(0x156)]??(()=>new Date()))()[_0x46e08e(0x175)]();_0x4d777e[_0x46e08e(0x184)]=_0x3bf676;const _0xfa6da1=writeServiceRegistry(_0x4d777e,_0x35b1f0);return{'registryPath':_0xfa6da1,'entry':_0xb59001,'serviceCount':_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x19a)]};}export function listLocalServices(_0x479d8e={}){const _0x2f3373=a34_0x3c100c;return readServiceRegistry(_0x479d8e)[_0x2f3373(0x189)];}export function getLocalServiceEntry(_0x133b52,_0xeaccf4={}){const _0x4b0a0f=a34_0x3c100c;return readServiceRegistry(_0xeaccf4)['services'][_0x4b0a0f(0x191)](_0x5217cd=>_0x5217cd[_0x4b0a0f(0x17a)]===_0x133b52[_0x4b0a0f(0x17b)]());}export function listLocalServiceTrees(_0x136785={}){const _0x38c308=a34_0x3c100c;return readServiceRegistry(_0x136785)[_0x38c308(0x189)]['map'](_0x133d3d=>_0x133d3d[_0x38c308(0x172)]);}export function inspectServiceRegistry(_0x128598={}){const _0xd3eeed=a34_0x3c100c,_0x4b4766=getServiceRegistryPath(_0x128598);if(!existsSync(_0x4b4766))return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x17e),![]);try{const _0x1a04ed=readFileSync(_0x4b4766,_0xd3eeed(0x166));if(!_0x1a04ed[_0xd3eeed(0x17b)]())return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x195),!![]);const _0xb62767=JSON['parse'](_0x1a04ed);if(_0xb62767[_0xd3eeed(0x15a)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':_0xb62767[_0xd3eeed(0x15a)],'message':_0xd3eeed(0x158)+String(_0xb62767['schemaVersion'])};if(!Array[_0xd3eeed(0x187)](_0xb62767[_0xd3eeed(0x189)]))return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'message':'services\x20must\x20be\x20an\x20array'};const _0x48a071=_0xb62767[_0xd3eeed(0x189)][_0xd3eeed(0x183)](summarizeLocalServiceEntry);return{'registryPath':_0x4b4766,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'serviceCount':_0x48a071[_0xd3eeed(0x19a)],'commandCount':_0x48a071[_0xd3eeed(0x16a)]((_0x188b44,_0x10b83c)=>_0x188b44+_0x10b83c[_0xd3eeed(0x171)],0x0),'services':_0x48a071};}catch(_0x24a313){return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'message':_0x24a313 instanceof Error?_0x24a313[_0xd3eeed(0x18d)]:String(_0x24a313)};}}export function formatValidationFailure(_0x243d56){const _0x3d43d1=a34_0x3c100c,_0x22d070=_0x243d56[_0x3d43d1(0x16f)]['map'](_0x28fc91=>_0x28fc91[_0x3d43d1(0x170)]+':\x20'+_0x28fc91[_0x3d43d1(0x18d)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x22d070['join']('\x0a');}function extractLoadedServiceManifests(_0x4f8a1e,_0x3cc1be){const _0x3388ac=a34_0x3c100c;if(!isServiceRegistryLike(_0x4f8a1e)){const _0x3b5ba2=_0x4f8a1e,_0x25620f=validateServiceTreeManifest(_0x3b5ba2);return[{'manifest':_0x3b5ba2,'report':_0x25620f,'normalizedManifest':_0x25620f['ok']?normalizeServiceTreeManifest(_0x3b5ba2):undefined,'sourceHash':_0x3cc1be}];}return _0x4f8a1e[_0x3388ac(0x189)][_0x3388ac(0x183)]((_0x58cb79,_0x5ec076)=>{const _0x55b91e=_0x3388ac,_0x92ad4b=isObjectRecord(_0x58cb79)?_0x58cb79[_0x55b91e(0x16d)]:undefined,_0x28f3de=validateServiceTreeManifest(_0x92ad4b),_0x40acf1=isObjectRecord(_0x58cb79)&&typeof _0x58cb79[_0x55b91e(0x17a)]==='string'?_0x58cb79['serviceCode']:undefined;return{'manifest':_0x92ad4b,'report':_0x28f3de,'normalizedManifest':_0x28f3de['ok']?normalizeServiceTreeManifest(_0x92ad4b):undefined,'sourceHash':sha256(JSON['stringify'](_0x92ad4b,null,0x2)+'\x0a'),'registryIndex':_0x5ec076,'registryServiceCode':_0x40acf1};});}function aggregateValidationReports(_0x59c6e5){const _0x2e1447=a34_0x3c100c,_0x3db8d9=_0x59c6e5[_0x2e1447(0x15d)](_0x29f071=>_0x29f071[_0x2e1447(0x193)]===undefined?_0x29f071[_0x2e1447(0x161)][_0x2e1447(0x16f)]:_0x29f071['report'][_0x2e1447(0x16f)][_0x2e1447(0x183)](_0x1ea8ff=>({..._0x1ea8ff,'path':prefixRegistryIssuePath(_0x29f071['registryIndex'],_0x1ea8ff[_0x2e1447(0x170)])}))),_0x3e60b4=_0x59c6e5[_0x2e1447(0x15d)](_0x20de5c=>_0x20de5c[_0x2e1447(0x193)]===undefined?_0x20de5c[_0x2e1447(0x161)]['warnings']:_0x20de5c[_0x2e1447(0x161)][_0x2e1447(0x17f)]['map'](_0x1f52c8=>({..._0x1f52c8,'path':prefixRegistryIssuePath(_0x20de5c['registryIndex'],_0x1f52c8['path'])})));return{'ok':_0x3db8d9['length']===0x0,'errors':_0x3db8d9,'warnings':_0x3e60b4};}function prefixRegistryIssuePath(_0x471ef3,_0x2a037b){const _0x39d0f9=a34_0x3c100c;if(_0x2a037b==='$')return'$.services['+_0x471ef3+'].manifest';if(_0x2a037b[_0x39d0f9(0x182)]('$.'))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);if(_0x2a037b[_0x39d0f9(0x182)]('$['))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x151)+_0x2a037b;}function isServiceRegistryLike(_0x430196){const _0x576710=a34_0x3c100c;return isObjectRecord(_0x430196)&&_0x430196[_0x576710(0x15a)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x430196['services']);}function isObjectRecord(_0x5623f4){const _0x29aa77=a34_0x3c100c;return Boolean(_0x5623f4)&&typeof _0x5623f4===_0x29aa77(0x155)&&!Array[_0x29aa77(0x187)](_0x5623f4);}function emptyServiceRegistryInspection(_0x3dfa07,_0xc654a9,_0xea261c){return{'registryPath':_0x3dfa07,'exists':_0xea261c,'status':_0xc654a9,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x252fe7){const _0x39da98=a34_0x3c100c,_0x5e0e41=_0x252fe7[_0x39da98(0x172)],_0x13ef66=_0x5e0e41[_0x39da98(0x163)][_0x39da98(0x183)](_0x45f061=>({'path':_0x45f061[_0x39da98(0x16c)],'description':_0x45f061[_0x39da98(0x181)],'risk':_0x45f061[_0x39da98(0x18f)],'targetKind':_0x45f061[_0x39da98(0x190)][_0x39da98(0x174)],'targetCommand':_0x45f061[_0x39da98(0x190)][_0x39da98(0x15e)]}));return{'serviceCode':_0x252fe7[_0x39da98(0x17a)],'name':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x19d)],'description':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x181)],'version':_0x252fe7[_0x39da98(0x18c)],'importedAt':_0x252fe7['importedAt'],'source':_0x252fe7[_0x39da98(0x1a0)],'commandCount':_0x13ef66[_0x39da98(0x19a)],'commands':_0x13ef66};}function sha256(_0x4623b6){const _0x5828a2=a34_0x3c100c;return createHash(_0x5828a2(0x1a2))[_0x5828a2(0x19e)](_0x4623b6)['digest'](_0x5828a2(0x14e));}
1
+ const a37_0x4dedf4=a37_0x58df;(function(_0x5c30ab,_0x1b4560){const _0x3d2c8e=a37_0x58df,_0x3a5761=_0x5c30ab();while(!![]){try{const _0x2956fc=-parseInt(_0x3d2c8e(0x136))/0x1*(parseInt(_0x3d2c8e(0x139))/0x2)+parseInt(_0x3d2c8e(0xfb))/0x3*(parseInt(_0x3d2c8e(0xe9))/0x4)+-parseInt(_0x3d2c8e(0xfe))/0x5+parseInt(_0x3d2c8e(0x11f))/0x6+parseInt(_0x3d2c8e(0x11e))/0x7+parseInt(_0x3d2c8e(0x127))/0x8+-parseInt(_0x3d2c8e(0xea))/0x9*(parseInt(_0x3d2c8e(0x10e))/0xa);if(_0x2956fc===_0x1b4560)break;else _0x3a5761['push'](_0x3a5761['shift']());}catch(_0x57765d){_0x3a5761['push'](_0x3a5761['shift']());}}}(a37_0x37eb,0x614f1));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=a37_0x4dedf4(0x12a);function a37_0x58df(_0x527564,_0x4b44bb){_0x527564=_0x527564-0xe9;const _0x37ebe8=a37_0x37eb();let _0x58dfbe=_0x37ebe8[_0x527564];return _0x58dfbe;}export function getServiceRegistryPath(_0x3b1bfb={}){return resolve(_0x3b1bfb['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1fcaa9={}){const _0x540c47=a37_0x4dedf4,_0x5de61b=getServiceRegistryPath(_0x1fcaa9);if(!existsSync(_0x5de61b))return emptyServiceRegistry();try{const _0x15fb5d=readFileSync(_0x5de61b,_0x540c47(0x12f));if(!_0x15fb5d['trim']())return emptyServiceRegistry();const _0x1bd0b2=JSON[_0x540c47(0x135)](_0x15fb5d);if(_0x1bd0b2['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x540c47(0x108)](_0x540c47(0xff)+String(_0x1bd0b2['schemaVersion']),_0x540c47(0x11a)+_0x5de61b+'.');if(!Array[_0x540c47(0x121)](_0x1bd0b2[_0x540c47(0x107)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1bd0b2[_0x540c47(0x133)],'services':_0x1bd0b2['services']};}catch(_0x159c47){if(_0x159c47 instanceof Error&&_0x159c47[_0x540c47(0xec)]===_0x540c47(0x138))throw _0x159c47;throw CliErrors['validation'](_0x540c47(0xf1)+_0x5de61b,_0x540c47(0x103));}}export function writeServiceRegistry(_0xed4a12,_0x25ce52={}){const _0x18ae0b=a37_0x4dedf4,_0x5f4bb1=getServiceRegistryPath(_0x25ce52),_0x2f269b=dirname(_0x5f4bb1);!existsSync(_0x2f269b)&&mkdirSync(_0x2f269b,{'recursive':!![]});const _0x1c6631=_0x5f4bb1+_0x18ae0b(0x10b);try{writeFileSync(_0x1c6631,JSON['stringify'](_0xed4a12,null,0x2)+'\x0a',{'encoding':_0x18ae0b(0x12f),'mode':0x180}),renameSync(_0x1c6631,_0x5f4bb1);}catch(_0x2bd956){try{unlinkSync(_0x1c6631);}catch{}if(_0x2bd956?.[_0x18ae0b(0x125)]==='ENOENT')throw CliErrors[_0x18ae0b(0x108)](_0x18ae0b(0xf7)+_0x5f4bb1);throw _0x2bd956;}return _0x5f4bb1;}export function loadServiceManifestFromFile(_0x16f6bb){const _0x9e96bc=a37_0x4dedf4,_0x54271d=resolve(_0x16f6bb);if(!existsSync(_0x54271d))throw CliErrors['validation'](_0x9e96bc(0x102)+_0x16f6bb);let _0x1529b9;const _0x13d9f7=readFileSync(_0x54271d,_0x9e96bc(0x12f));try{_0x1529b9=JSON[_0x9e96bc(0x135)](_0x13d9f7);}catch{throw CliErrors[_0x9e96bc(0x108)](_0x9e96bc(0x131)+_0x16f6bb,_0x9e96bc(0x105));}const _0x2bb6f3=sha256(_0x13d9f7),_0x4834f5=extractLoadedServiceManifests(_0x1529b9,_0x2bb6f3),_0x3ca430=aggregateValidationReports(_0x4834f5),_0x53d55a=_0x4834f5[0x0];return{'filePath':_0x54271d,'hash':_0x2bb6f3,'kind':isServiceRegistryLike(_0x1529b9)?_0x9e96bc(0x120):'manifest','manifest':_0x53d55a?.['manifest']??_0x1529b9,'report':_0x3ca430,'normalizedManifest':_0x4834f5[_0x9e96bc(0x128)]===0x1?_0x53d55a?.[_0x9e96bc(0xf4)]:undefined,'manifests':_0x4834f5};}export function importServiceManifest(_0x4842c3,_0x5d4330={}){const _0x1bbf70=a37_0x4dedf4,_0x1dca54=loadServiceManifestFromFile(_0x4842c3);if(!_0x1dca54[_0x1bbf70(0xf5)]['ok'])throw CliErrors[_0x1bbf70(0x108)](formatValidationFailure(_0x1dca54['report']),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1dca54[_0x1bbf70(0x11b)][_0x1bbf70(0x128)]===0x0)throw CliErrors[_0x1bbf70(0x108)](_0x1bbf70(0x11c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x23517f=readServiceRegistry(_0x5d4330),_0x3b4c44=(_0x5d4330[_0x1bbf70(0x109)]??(()=>new Date()))()['toISOString'](),_0x3e7dec=[];let _0xdf5bc5=0x0,_0x28f688=0x0;for(const _0x28c63b of _0x1dca54[_0x1bbf70(0x11b)]){if(!_0x28c63b[_0x1bbf70(0xf4)])continue;const _0x137ddd=_0x28c63b[_0x1bbf70(0xf4)]['service'][_0x1bbf70(0x125)],_0x1662c8={'serviceCode':_0x137ddd,'version':_0x28c63b[_0x1bbf70(0xf4)][_0x1bbf70(0xfd)],'importedAt':_0x3b4c44,'source':{'type':_0x1bbf70(0x115),'path':_0x1dca54[_0x1bbf70(0x117)],'hash':_0x28c63b[_0x1bbf70(0x12c)]},'manifest':_0x28c63b[_0x1bbf70(0xf6)],'normalizedManifest':_0x28c63b[_0x1bbf70(0xf4)]},_0x3e7a93=_0x23517f[_0x1bbf70(0x107)]['findIndex'](_0x24bf11=>_0x24bf11['serviceCode']===_0x137ddd);_0x3e7a93>=0x0?(_0x23517f[_0x1bbf70(0x107)][_0x3e7a93]=_0x1662c8,_0x28f688++):(_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0xf9)](_0x1662c8),_0xdf5bc5++),_0x3e7dec[_0x1bbf70(0xf9)](_0x1662c8);}_0x23517f['services'][_0x1bbf70(0xf2)]((_0x542a9f,_0x1d4442)=>_0x542a9f[_0x1bbf70(0x137)]['localeCompare'](_0x1d4442[_0x1bbf70(0x137)])),_0x23517f[_0x1bbf70(0x133)]=_0x3b4c44;const _0x45c6a5=writeServiceRegistry(_0x23517f,_0x5d4330);return{'registryPath':_0x45c6a5,'entry':_0x3e7dec[0x0],'replaced':_0x3e7dec[_0x1bbf70(0x128)]===0x1?_0x28f688===0x1:_0x28f688>0x0,'entries':_0x3e7dec,'imported':_0xdf5bc5,'updated':_0x28f688,'serviceCount':_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0x128)]};}export function exportServiceManifest(_0x418637,_0x5e369f,_0xb50780={}){const _0xf692ba=a37_0x4dedf4,_0x3f7ef2=getServiceRegistryPath(_0xb50780),_0xfbf499=getLocalServiceEntry(_0x418637,_0xb50780);if(!_0xfbf499)throw CliErrors[_0xf692ba(0x108)](_0xf692ba(0x110)+_0x418637,_0xf692ba(0x119));const _0x4bafc9=resolve(_0x5e369f),_0x4642c7=dirname(_0x4bafc9);return!existsSync(_0x4642c7)&&mkdirSync(_0x4642c7,{'recursive':!![]}),writeFileSync(_0x4bafc9,JSON[_0xf692ba(0x101)](_0xfbf499[_0xf692ba(0xf6)],null,0x2)+'\x0a',{'encoding':_0xf692ba(0x12f),'mode':0x180}),{'registryPath':_0x3f7ef2,'filePath':_0x4bafc9,'entry':_0xfbf499};}export function removeServiceManifest(_0x5e1619,_0x5420fe={}){const _0x368c69=a37_0x4dedf4,_0x2e324a=readServiceRegistry(_0x5420fe),_0x2ed2f0=_0x5e1619[_0x368c69(0x10a)](),_0x25a793=_0x2e324a[_0x368c69(0x107)][_0x368c69(0x126)](_0x4280e0=>_0x4280e0[_0x368c69(0x137)]===_0x2ed2f0);if(_0x25a793<0x0)throw CliErrors[_0x368c69(0x108)](_0x368c69(0x110)+_0x2ed2f0,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x51a2fc]=_0x2e324a[_0x368c69(0x107)]['splice'](_0x25a793,0x1),_0x59cff3=(_0x5420fe['now']??(()=>new Date()))()[_0x368c69(0x116)]();_0x2e324a[_0x368c69(0x133)]=_0x59cff3;const _0x5acc04=writeServiceRegistry(_0x2e324a,_0x5420fe);return{'registryPath':_0x5acc04,'entry':_0x51a2fc,'serviceCount':_0x2e324a['services']['length']};}export function listLocalServices(_0x10ffa0={}){const _0x40da50=a37_0x4dedf4;return readServiceRegistry(_0x10ffa0)[_0x40da50(0x107)];}export function getLocalServiceEntry(_0x50433,_0x16a478={}){const _0x266347=a37_0x4dedf4;return readServiceRegistry(_0x16a478)[_0x266347(0x107)]['find'](_0x397f80=>_0x397f80[_0x266347(0x137)]===_0x50433['trim']());}export function listLocalServiceTrees(_0x25afdb={}){const _0x5243a2=a37_0x4dedf4;return readServiceRegistry(_0x25afdb)[_0x5243a2(0x107)][_0x5243a2(0x118)](_0x3ae0e2=>_0x3ae0e2[_0x5243a2(0xf4)]);}export function inspectServiceRegistry(_0x1d6cdf={}){const _0xf7b4d3=a37_0x4dedf4,_0x36a4d5=getServiceRegistryPath(_0x1d6cdf);if(!existsSync(_0x36a4d5))return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x111),![]);try{const _0x446987=readFileSync(_0x36a4d5,_0xf7b4d3(0x12f));if(!_0x446987[_0xf7b4d3(0x10a)]())return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x106),!![]);const _0x273730=JSON[_0xf7b4d3(0x135)](_0x446987);if(_0x273730['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':_0x273730['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x273730[_0xf7b4d3(0x124)])};if(!Array['isArray'](_0x273730[_0xf7b4d3(0x107)]))return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'message':_0xf7b4d3(0x114)};const _0x4f1f21=_0x273730[_0xf7b4d3(0x107)][_0xf7b4d3(0x118)](summarizeLocalServiceEntry);return{'registryPath':_0x36a4d5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'serviceCount':_0x4f1f21['length'],'commandCount':_0x4f1f21[_0xf7b4d3(0xf8)]((_0x1bf269,_0x498923)=>_0x1bf269+_0x498923[_0xf7b4d3(0xf0)],0x0),'services':_0x4f1f21};}catch(_0x54fc6a){return{...emptyServiceRegistryInspection(_0x36a4d5,'invalid',!![]),'message':_0x54fc6a instanceof Error?_0x54fc6a[_0xf7b4d3(0x100)]:String(_0x54fc6a)};}}function a37_0x37eb(){const _0x5f3741=['map','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','manifests','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','service','1941429WLHQPX','3237714LETSZB','registry','isArray','object','].manifest.','schemaVersion','code','findIndex','2072432VDZqny','length','command','service.json','].manifest','sourceHash','commands','Service\x20manifest\x20validation\x20failed:\x0a','utf8','$.services[','Invalid\x20service\x20manifest\x20JSON:\x20','target','updatedAt','errors','parse','2483tSsWKq','serviceCode','CliError','330wjaKPE','4meClLL','2941254SrEFIk','warnings','name','description','string','sha256','commandCount','Invalid\x20service\x20registry\x20JSON:\x20','sort','update','normalizedManifest','report','manifest','Cannot\x20write\x20service\x20registry:\x20','reduce','push','invalid','339447TTFlul','registryIndex','version','270455ZDMdnh','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','stringify','Service\x20manifest\x20file\x20not\x20found:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','path','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','empty','services','validation','now','trim','.tmp','join','slice','10hEQBTX','hex','Local\x20service\x20not\x20found:\x20','missing','digest','source','services\x20must\x20be\x20an\x20array','file','toISOString','filePath'];a37_0x37eb=function(){return _0x5f3741;};return a37_0x37eb();}export function formatValidationFailure(_0x4f3f7d){const _0x40b33b=a37_0x4dedf4,_0x539ab4=_0x4f3f7d['errors'][_0x40b33b(0x118)](_0x34adc0=>_0x34adc0[_0x40b33b(0x104)]+':\x20'+_0x34adc0[_0x40b33b(0x100)]);return _0x40b33b(0x12e)+_0x539ab4[_0x40b33b(0x10c)]('\x0a');}function extractLoadedServiceManifests(_0x105152,_0x411a45){const _0x424773=a37_0x4dedf4;if(!isServiceRegistryLike(_0x105152)){const _0x23bbfb=_0x105152,_0x3534d5=validateServiceTreeManifest(_0x23bbfb);return[{'manifest':_0x23bbfb,'report':_0x3534d5,'normalizedManifest':_0x3534d5['ok']?normalizeServiceTreeManifest(_0x23bbfb):undefined,'sourceHash':_0x411a45}];}return _0x105152[_0x424773(0x107)][_0x424773(0x118)]((_0x41d227,_0x3bd468)=>{const _0x5baee3=_0x424773,_0x4ce4cb=isObjectRecord(_0x41d227)?_0x41d227[_0x5baee3(0xf6)]:undefined,_0x31f4e9=validateServiceTreeManifest(_0x4ce4cb),_0x3621fa=isObjectRecord(_0x41d227)&&typeof _0x41d227[_0x5baee3(0x137)]===_0x5baee3(0xee)?_0x41d227[_0x5baee3(0x137)]:undefined;return{'manifest':_0x4ce4cb,'report':_0x31f4e9,'normalizedManifest':_0x31f4e9['ok']?normalizeServiceTreeManifest(_0x4ce4cb):undefined,'sourceHash':sha256(JSON['stringify'](_0x4ce4cb,null,0x2)+'\x0a'),'registryIndex':_0x3bd468,'registryServiceCode':_0x3621fa};});}function aggregateValidationReports(_0xacd29d){const _0x352b3b=a37_0x4dedf4,_0x1687f9=_0xacd29d['flatMap'](_0x56bc6c=>_0x56bc6c['registryIndex']===undefined?_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)]:_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)][_0x352b3b(0x118)](_0x1f7755=>({..._0x1f7755,'path':prefixRegistryIssuePath(_0x56bc6c[_0x352b3b(0xfc)],_0x1f7755[_0x352b3b(0x104)])}))),_0x60c49f=_0xacd29d['flatMap'](_0x518179=>_0x518179[_0x352b3b(0xfc)]===undefined?_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)]:_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)][_0x352b3b(0x118)](_0x546439=>({..._0x546439,'path':prefixRegistryIssuePath(_0x518179['registryIndex'],_0x546439[_0x352b3b(0x104)])})));return{'ok':_0x1687f9[_0x352b3b(0x128)]===0x0,'errors':_0x1687f9,'warnings':_0x60c49f};}function prefixRegistryIssuePath(_0xcadf11,_0x4ac6fa){const _0x808650=a37_0x4dedf4;if(_0x4ac6fa==='$')return _0x808650(0x130)+_0xcadf11+'].manifest';if(_0x4ac6fa['startsWith']('$.'))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);if(_0x4ac6fa['startsWith']('$['))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);return'$.services['+_0xcadf11+_0x808650(0x123)+_0x4ac6fa;}function isServiceRegistryLike(_0x85bdfd){const _0x5f104f=a37_0x4dedf4;return isObjectRecord(_0x85bdfd)&&_0x85bdfd[_0x5f104f(0x124)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5f104f(0x121)](_0x85bdfd[_0x5f104f(0x107)]);}function isObjectRecord(_0x451f9d){const _0x42ee75=a37_0x4dedf4;return Boolean(_0x451f9d)&&typeof _0x451f9d===_0x42ee75(0x122)&&!Array[_0x42ee75(0x121)](_0x451f9d);}function emptyServiceRegistryInspection(_0x51aa23,_0x55c5a5,_0x3f5592){return{'registryPath':_0x51aa23,'exists':_0x3f5592,'status':_0x55c5a5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4a3bc6){const _0x24300c=a37_0x4dedf4,_0xfe3a48=_0x4a3bc6[_0x24300c(0xf4)],_0x59b806=_0xfe3a48[_0x24300c(0x12d)][_0x24300c(0x118)](_0x3e4b08=>({'path':_0x3e4b08['cliPath'],'description':_0x3e4b08[_0x24300c(0xed)],'risk':_0x3e4b08['risk'],'targetKind':_0x3e4b08[_0x24300c(0x132)]['kind'],'targetCommand':_0x3e4b08[_0x24300c(0x132)][_0x24300c(0x129)]}));return{'serviceCode':_0x4a3bc6[_0x24300c(0x137)],'name':_0xfe3a48[_0x24300c(0x11d)][_0x24300c(0xec)],'description':_0xfe3a48['service'][_0x24300c(0xed)],'version':_0x4a3bc6[_0x24300c(0xfd)],'importedAt':_0x4a3bc6['importedAt'],'source':_0x4a3bc6[_0x24300c(0x113)],'commandCount':_0x59b806['length'],'commands':_0x59b806};}function sha256(_0x2a38a6){const _0x100489=a37_0x4dedf4;return createHash(_0x100489(0xef))[_0x100489(0xf3)](_0x2a38a6)[_0x100489(0x112)](_0x100489(0x10f));}
@@ -1 +1 @@
1
- const a35_0x2f6f7b=a35_0x2d73;(function(_0x5df2e0,_0x562e80){const _0x5cd1ac=a35_0x2d73,_0xd840ba=_0x5df2e0();while(!![]){try{const _0x2b1324=-parseInt(_0x5cd1ac(0x1ef))/0x1+parseInt(_0x5cd1ac(0x20c))/0x2+-parseInt(_0x5cd1ac(0x201))/0x3*(-parseInt(_0x5cd1ac(0x1f7))/0x4)+parseInt(_0x5cd1ac(0x205))/0x5*(parseInt(_0x5cd1ac(0x208))/0x6)+parseInt(_0x5cd1ac(0x1fd))/0x7+-parseInt(_0x5cd1ac(0x209))/0x8+-parseInt(_0x5cd1ac(0x1f4))/0x9;if(_0x2b1324===_0x562e80)break;else _0xd840ba['push'](_0xd840ba['shift']());}catch(_0x172eef){_0xd840ba['push'](_0xd840ba['shift']());}}}(a35_0x2c17,0xbe745));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';function a35_0x2d73(_0x4ef594,_0x449682){_0x4ef594=_0x4ef594-0x1ee;const _0x2c1700=a35_0x2c17();let _0x2d73ee=_0x2c1700[_0x4ef594];return _0x2d73ee;}function a35_0x2c17(){const _0x5f5b4a=['skillName','path','content','rendered','2522492WJUrbo','target','type','Created\x20local\x20Skill\x20draft\x20','276117MguoDJ','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','6368975BvYXdA','Refusing\x20to\x20overwrite\x20symlink:\x20','isSymbolicLink','6AQdHMY','1394176kdwDYo','files','skill','2277324gXQoGd','skillDir','956503sKlxZt','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','force','map','validation','19354347fhICLm','create','name','56slXRXV','bool'];a35_0x2c17=function(){return _0x5f5b4a;};return a35_0x2c17();}export const createCommand={'service':a35_0x2f6f7b(0x20b),'command':a35_0x2f6f7b(0x1f5),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5536cd){const _0x100574=a35_0x2f6f7b,_0x3ba8a6=buildSkillCreatePlan(_0x5536cd[_0x100574(0x203)](_0x100574(0x1f6)),_0x5536cd[_0x100574(0x203)]('type'),_0x5536cd[_0x100574(0x203)](_0x100574(0x1fe)));return{'method':'WRITE','url':_0x3ba8a6[_0x100574(0x1ee)],'body':{'skillName':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1f9)],'type':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1ff)],'selfContained':!![],'files':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x20a)]['map'](_0x329665=>_0x329665[_0x100574(0x1fa)])},'description':_0x100574(0x204)};},async 'execute'(_0x505884){const _0x8c6365=a35_0x2f6f7b,_0x4a2f48=buildSkillCreatePlan(_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1f6)),_0x505884[_0x8c6365(0x203)]('type'),_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1fe)));return writeSkillDraft(_0x4a2f48,_0x505884[_0x8c6365(0x1f8)](_0x8c6365(0x1f1))),{'ok':!![],'data':{'skillName':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1f9)],'type':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1ff)],'dir':_0x4a2f48[_0x8c6365(0x1ee)],'files':_0x4a2f48['rendered'][_0x8c6365(0x20a)][_0x8c6365(0x1f2)](_0x1c00b2=>_0x1c00b2[_0x8c6365(0x1fa)])},'message':_0x8c6365(0x200)+_0x4a2f48[_0x8c6365(0x1fc)]['skillName']};}};function buildSkillCreatePlan(_0xb4466f,_0x24e6d2,_0x1f596c){const _0x549904=a35_0x2f6f7b,_0x5cffbb=renderSkillTemplate({'skillName':_0xb4466f,'type':_0x24e6d2}),_0x17348c=resolve(normalizeSkillTarget(_0x1f596c));return{'rendered':_0x5cffbb,'targetRoot':_0x17348c,'skillDir':resolve(_0x17348c,_0x5cffbb[_0x549904(0x1f9)])};}function normalizeSkillTarget(_0x445ed1){return(_0x445ed1||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x597e21,_0x1e6bf1){const _0x3c5891=a35_0x2f6f7b;if(existsSync(_0x597e21[_0x3c5891(0x1ee)])){const _0x3e2e37=lstatSync(_0x597e21[_0x3c5891(0x1ee)]);if(!_0x3e2e37['isDirectory']()||_0x3e2e37[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x1f0)+_0x597e21['skillDir']);if(!_0x1e6bf1)throw CliErrors[_0x3c5891(0x1f3)]('Skill\x20directory\x20already\x20exists:\x20'+_0x597e21['skillDir'],_0x3c5891(0x202));}for(const _0x569c5d of _0x597e21[_0x3c5891(0x1fc)][_0x3c5891(0x20a)]){const _0x5ab161=resolve(_0x597e21[_0x3c5891(0x1ee)],_0x569c5d[_0x3c5891(0x1fa)]),_0x14fd7c=dirname(_0x5ab161);mkdirSync(_0x14fd7c,{'recursive':!![]});if(existsSync(_0x5ab161)&&lstatSync(_0x5ab161)[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x206)+_0x5ab161);writeFileSync(_0x5ab161,_0x569c5d[_0x3c5891(0x1fb)],'utf8');}}
1
+ const a38_0x2b01b8=a38_0x41fd;(function(_0x5522c8,_0x11fd9){const _0x23fa69=a38_0x41fd,_0x12f88d=_0x5522c8();while(!![]){try{const _0x2a54e5=parseInt(_0x23fa69(0x83))/0x1*(parseInt(_0x23fa69(0x7e))/0x2)+-parseInt(_0x23fa69(0x89))/0x3*(-parseInt(_0x23fa69(0x84))/0x4)+parseInt(_0x23fa69(0x88))/0x5*(parseInt(_0x23fa69(0x6f))/0x6)+parseInt(_0x23fa69(0x82))/0x7+-parseInt(_0x23fa69(0x87))/0x8*(parseInt(_0x23fa69(0x8d))/0x9)+-parseInt(_0x23fa69(0x8a))/0xa+parseInt(_0x23fa69(0x71))/0xb*(-parseInt(_0x23fa69(0x72))/0xc);if(_0x2a54e5===_0x11fd9)break;else _0x12f88d['push'](_0x12f88d['shift']());}catch(_0x1c6e2f){_0x12f88d['push'](_0x12f88d['shift']());}}}(a38_0x1f40,0x8e32e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a38_0x1f40(){const _0x393c00=['23200uYPPXb','4LcUzqw','skillName','Skill\x20directory\x20already\x20exists:\x20','24mPSUHG','5WaOoWS','2822412yrsDMu','11343170QRIota','isDirectory','utf8','1420074zKVBnh','isSymbolicLink','type','WRITE','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','487068UBKkUU','content','441199SuszXH','12LhrfdQ','rendered','trim','str','force','files','bool','write','Refusing\x20to\x20overwrite\x20symlink:\x20','target','validation','skillDir','38kffOed','path','create','name','5372136KfKOrP'];a38_0x1f40=function(){return _0x393c00;};return a38_0x1f40();}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';function a38_0x41fd(_0x1585ee,_0x54ec64){_0x1585ee=_0x1585ee-0x6f;const _0x1f405d=a38_0x1f40();let _0x41fd3c=_0x1f405d[_0x1585ee];return _0x41fd3c;}import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':a38_0x2b01b8(0x80),'description':a38_0x2b01b8(0x91),'risk':a38_0x2b01b8(0x79),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x122406){const _0x110a5d=a38_0x2b01b8,_0x34e507=buildSkillCreatePlan(_0x122406[_0x110a5d(0x75)](_0x110a5d(0x81)),_0x122406[_0x110a5d(0x75)]('type'),_0x122406[_0x110a5d(0x75)](_0x110a5d(0x7b)));return{'method':_0x110a5d(0x90),'url':_0x34e507[_0x110a5d(0x7d)],'body':{'skillName':_0x34e507[_0x110a5d(0x73)]['skillName'],'type':_0x34e507['rendered'][_0x110a5d(0x8f)],'selfContained':!![],'files':_0x34e507[_0x110a5d(0x73)][_0x110a5d(0x77)]['map'](_0x1af23b=>_0x1af23b[_0x110a5d(0x7f)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x1b9267){const _0xf950df=a38_0x2b01b8,_0x144c1e=buildSkillCreatePlan(_0x1b9267[_0xf950df(0x75)]('name'),_0x1b9267[_0xf950df(0x75)](_0xf950df(0x8f)),_0x1b9267[_0xf950df(0x75)](_0xf950df(0x7b)));return writeSkillDraft(_0x144c1e,_0x1b9267[_0xf950df(0x78)](_0xf950df(0x76))),{'ok':!![],'data':{'skillName':_0x144c1e[_0xf950df(0x73)][_0xf950df(0x85)],'type':_0x144c1e[_0xf950df(0x73)]['type'],'dir':_0x144c1e['skillDir'],'files':_0x144c1e['rendered']['files']['map'](_0x5cbd6d=>_0x5cbd6d[_0xf950df(0x7f)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x144c1e[_0xf950df(0x73)][_0xf950df(0x85)]};}};function buildSkillCreatePlan(_0x4a20d2,_0x58a07c,_0x65cd2d){const _0x5f48c9=a38_0x2b01b8,_0x4ef26a=renderSkillTemplate({'skillName':_0x4a20d2,'type':_0x58a07c}),_0x3a683b=resolve(normalizeSkillTarget(_0x65cd2d));return{'rendered':_0x4ef26a,'targetRoot':_0x3a683b,'skillDir':resolve(_0x3a683b,_0x4ef26a[_0x5f48c9(0x85)])};}function normalizeSkillTarget(_0x5ed113){const _0x42e9fe=a38_0x2b01b8;return(_0x5ed113||DEFAULT_SKILL_TARGET)[_0x42e9fe(0x74)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5b8f79,_0x3f36ca){const _0x11a6ca=a38_0x2b01b8;if(existsSync(_0x5b8f79['skillDir'])){const _0x488920=lstatSync(_0x5b8f79[_0x11a6ca(0x7d)]);if(!_0x488920[_0x11a6ca(0x8b)]()||_0x488920['isSymbolicLink']())throw CliErrors[_0x11a6ca(0x7c)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x5b8f79[_0x11a6ca(0x7d)]);if(!_0x3f36ca)throw CliErrors['validation'](_0x11a6ca(0x86)+_0x5b8f79['skillDir'],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x72a2e6 of _0x5b8f79[_0x11a6ca(0x73)][_0x11a6ca(0x77)]){const _0x7e983d=resolve(_0x5b8f79[_0x11a6ca(0x7d)],_0x72a2e6[_0x11a6ca(0x7f)]),_0x1ab468=dirname(_0x7e983d);mkdirSync(_0x1ab468,{'recursive':!![]});if(existsSync(_0x7e983d)&&lstatSync(_0x7e983d)[_0x11a6ca(0x8e)]())throw CliErrors[_0x11a6ca(0x7c)](_0x11a6ca(0x7a)+_0x7e983d);writeFileSync(_0x7e983d,_0x72a2e6[_0x11a6ca(0x70)],_0x11a6ca(0x8c));}}
@@ -1 +1 @@
1
- const a36_0x5bba66=a36_0x43b3;(function(_0x5227b4,_0x3785bd){const _0x327784=a36_0x43b3,_0x7ed755=_0x5227b4();while(!![]){try{const _0x2abfbb=-parseInt(_0x327784(0x142))/0x1+parseInt(_0x327784(0x153))/0x2*(-parseInt(_0x327784(0x14c))/0x3)+parseInt(_0x327784(0x15b))/0x4+parseInt(_0x327784(0x161))/0x5*(parseInt(_0x327784(0x13e))/0x6)+-parseInt(_0x327784(0x15a))/0x7*(parseInt(_0x327784(0x145))/0x8)+-parseInt(_0x327784(0x15f))/0x9+parseInt(_0x327784(0x143))/0xa;if(_0x2abfbb===_0x3785bd)break;else _0x7ed755['push'](_0x7ed755['shift']());}catch(_0x29a8d0){_0x7ed755['push'](_0x7ed755['shift']());}}}(a36_0x3cc1,0xe41c9));import{CliErrors}from'../../../errors.js';function a36_0x3cc1(){const _0x454a71=['updated','authRequired','all','2383239fWMOst','scope','push','trim','version','action','Installed\x20','4CODkzC','skill','skillCode','write','length','\x20personal\x20and\x20','production','511BKTTjn','5056860zWbZCa','str','../../../skills/runtime-skill-sync.js','personal','16614567LVAcAt','created','908025OXoSLt','filter','unchanged','includes','\x20company\x20Skill(s).','company','code','6VufjVp','appCode','map','removed','249233tDbOPY','44083180qUrORa','reduce','135416oIEdHu','skipped','flatMap','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.'];a36_0x3cc1=function(){return _0x454a71;};return a36_0x3cc1();}import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a36_0x43b3(_0x53d041,_0x24983c){_0x53d041=_0x53d041-0x138;const _0x3cc183=a36_0x3cc1();let _0x43b38d=_0x3cc183[_0x53d041];return _0x43b38d;}export const installCommand={'service':a36_0x5bba66(0x154),'command':'install','description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x5bba66(0x156),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1822cc){return syncRuntimeSkills(_0x1822cc);}};async function syncRuntimeSkills(_0x51648a){const _0x44f4dd=a36_0x5bba66,{downloadRuntimeSkillPackage:_0x20d43c,listRuntimeSkills:_0x5cb60f}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x5c2dae,materializeRuntimeSkill:_0x5e63b1,pruneStaleRuntimeSkillCache:_0x3b3484,pruneStaleRuntimeSkillLinks:_0x3bbb88}=await import(_0x44f4dd(0x15d)),_0x218e82=_0x51648a['str'](_0x44f4dd(0x13d)),_0x652eda=normalizeSyncScopes(_0x51648a[_0x44f4dd(0x15c)](_0x44f4dd(0x14d))),_0x5d7006=_0x51648a['envName']??_0x44f4dd(0x159),_0x1e1ed7=_0x51648a['accessKey'];if(!_0x1e1ed7)throw CliErrors[_0x44f4dd(0x14a)](_0x44f4dd(0x148));const _0x50383f=await Promise[_0x44f4dd(0x14b)](_0x652eda[_0x44f4dd(0x140)](_0x3b6732=>_0x5cb60f({'appCode':_0x51648a[_0x44f4dd(0x13f)],'scope':_0x3b6732,'code':_0x218e82['trim']()||undefined}))),_0x36ec3a=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))?_0x50383f[_0x44f4dd(0x147)]((_0x22bf4f,_0x198a40)=>_0x652eda[_0x198a40]===_0x44f4dd(0x15e)?_0x22bf4f[_0x44f4dd(0x15e)]:[]):[],_0x5b4216=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c))?_0x50383f[_0x44f4dd(0x147)]((_0x103c84,_0xa5189a)=>_0x652eda[_0xa5189a]===_0x44f4dd(0x13c)?_0x103c84[_0x44f4dd(0x13c)]:[]):[],_0x57ec60=new Set([..._0x36ec3a[_0x44f4dd(0x140)](_0x4823a0=>_0x4823a0[_0x44f4dd(0x155)]?.['trim']())[_0x44f4dd(0x138)](_0x158fe2=>Boolean(_0x158fe2)),..._0x5b4216[_0x44f4dd(0x140)](_0xfa61b9=>_0xfa61b9['skillCode']?.[_0x44f4dd(0x14f)]())['filter'](_0x20a593=>Boolean(_0x20a593))]),_0xce884f=_0x218e82[_0x44f4dd(0x14f)]()?[_0x218e82['trim']()]:undefined,_0x490064=_0x652eda['length']===0x2&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c)),_0x84e75d=_0x490064?_0x3bbb88(_0x51648a[_0x44f4dd(0x13f)],_0x57ec60,{},_0xce884f):[],_0x4bd95a=_0x3b3484({'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'activeSkillCodes':_0x57ec60,'pruneSkillCodes':_0xce884f,'scopes':_0x652eda}),_0x45e45f=[];for(const _0x101068 of _0x36ec3a){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x101068,_0x44f4dd(0x15e),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x101068,_0x44f4dd(0x15e),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}for(const _0x8a3118 of _0x5b4216){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x8a3118,_0x44f4dd(0x13c),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x8a3118,_0x44f4dd(0x13c),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}const _0x1ffc8b=_0x5c2dae(_0x45e45f,_0x51648a['appCode']),_0x1dff77=countLinkActions(_0x1ffc8b);return{'ok':!![],'data':{'appCode':_0x51648a[_0x44f4dd(0x13f)],'personal':_0x36ec3a[_0x44f4dd(0x157)],'company':_0x5b4216[_0x44f4dd(0x157)],'materialized':_0x45e45f['length'],'links':{'total':_0x1ffc8b['length'],'created':_0x1dff77[_0x44f4dd(0x160)]??0x0,'updated':_0x1dff77[_0x44f4dd(0x149)]??0x0,'unchanged':_0x1dff77[_0x44f4dd(0x139)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x84e75d[_0x44f4dd(0x138)](_0x5b5bf5=>_0x5b5bf5[_0x44f4dd(0x151)]==='removed')[_0x44f4dd(0x157)],'cacheDirs':_0x4bd95a[_0x44f4dd(0x138)](_0x2e673b=>_0x2e673b[_0x44f4dd(0x151)]===_0x44f4dd(0x141))[_0x44f4dd(0x157)],'skipped':[..._0x84e75d,..._0x4bd95a]['filter'](_0x1c131e=>_0x1c131e[_0x44f4dd(0x151)]===_0x44f4dd(0x146))[_0x44f4dd(0x157)]},'skills':{'personal':_0x36ec3a[_0x44f4dd(0x140)](summarizeRuntimeSkill),'company':_0x5b4216[_0x44f4dd(0x140)](summarizeRuntimeSkill)}},'message':_0x44f4dd(0x152)+_0x36ec3a[_0x44f4dd(0x157)]+_0x44f4dd(0x158)+_0x5b4216[_0x44f4dd(0x157)]+_0x44f4dd(0x13b)};}async function downloadSkillPackage(_0xa22a08,_0x579f51,_0x7ab232,_0x525dc9){const _0x102db6=a36_0x5bba66,_0x58c5df=_0xa22a08[_0x102db6(0x150)]?.[_0x102db6(0x14f)]();return _0x58c5df?_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232,_0x58c5df):_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232);}function countLinkActions(_0x5f4277){const _0x125ace=a36_0x5bba66;return _0x5f4277[_0x125ace(0x144)]((_0x2619c1,_0x16cc95)=>{const _0x4799c0=_0x125ace;return _0x2619c1[_0x16cc95[_0x4799c0(0x151)]]=(_0x2619c1[_0x16cc95[_0x4799c0(0x151)]]??0x0)+0x1,_0x2619c1;},{});}
1
+ const a39_0x34e2e5=a39_0x1df2;(function(_0x2c3d61,_0x26f51e){const _0x11ce34=a39_0x1df2,_0x5056d2=_0x2c3d61();while(!![]){try{const _0x2b867c=-parseInt(_0x11ce34(0x10d))/0x1+parseInt(_0x11ce34(0x123))/0x2+parseInt(_0x11ce34(0x119))/0x3*(-parseInt(_0x11ce34(0x120))/0x4)+-parseInt(_0x11ce34(0x12a))/0x5+parseInt(_0x11ce34(0x12c))/0x6*(-parseInt(_0x11ce34(0x10a))/0x7)+-parseInt(_0x11ce34(0x128))/0x8+parseInt(_0x11ce34(0x113))/0x9;if(_0x2b867c===_0x26f51e)break;else _0x5056d2['push'](_0x5056d2['shift']());}catch(_0x1f4744){_0x5056d2['push'](_0x5056d2['shift']());}}}(a39_0x4ad0,0x5fca5));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a39_0x1df2(_0x4de64a,_0xeb4f27){_0x4de64a=_0x4de64a-0x108;const _0x4ad020=a39_0x4ad0();let _0x1df219=_0x4ad020[_0x4de64a];return _0x1df219;}export const installCommand={'service':a39_0x34e2e5(0x121),'command':a39_0x34e2e5(0x117),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a39_0x34e2e5(0x114),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x151113){return syncRuntimeSkills(_0x151113);}};function a39_0x4ad0(){const _0x4acd83=['1459904duEvIu','skill','appCode','1010474aaScOW','reduce','skillCode','personal','action','5393520zDRDWY','\x20company\x20Skill(s).','3893850RcqjPJ','\x20personal\x20and\x20','4230dNMHul','push','str','updated','3787pYoUAO','authRequired','all','39136TlIQQa','length','created','version','unchanged','filter','22415157rzQLDL','write','company','flatMap','install','trim','6WgpkZP','../../../core/api-client.js','Installed\x20','code','removed','includes','map'];a39_0x4ad0=function(){return _0x4acd83;};return a39_0x4ad0();}async function syncRuntimeSkills(_0x2e2cf8){const _0x38f25e=a39_0x34e2e5,{downloadRuntimeSkillPackage:_0x34b6ce,listRuntimeSkills:_0x2e8785}=await import(_0x38f25e(0x11a)),{linkEffectiveRuntimeSkills:_0x45ff76,materializeRuntimeSkill:_0x19c681,pruneStaleRuntimeSkillCache:_0x27be51,pruneStaleRuntimeSkillLinks:_0x1ece6c}=await import('../../../skills/runtime-skill-sync.js'),_0x437fa3=_0x2e2cf8[_0x38f25e(0x108)](_0x38f25e(0x11c)),_0x53ae53=normalizeSyncScopes(_0x2e2cf8[_0x38f25e(0x108)]('scope')),_0x1b8f5c=_0x2e2cf8['envName']??'production',_0x1a675b=_0x2e2cf8['accessKey'];if(!_0x1a675b)throw CliErrors[_0x38f25e(0x10b)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x559251=await Promise[_0x38f25e(0x10c)](_0x53ae53[_0x38f25e(0x11f)](_0x2056cf=>_0x2e8785({'appCode':_0x2e2cf8['appCode'],'scope':_0x2056cf,'code':_0x437fa3[_0x38f25e(0x118)]()||undefined}))),_0x5e5366=_0x53ae53[_0x38f25e(0x11e)](_0x38f25e(0x126))?_0x559251[_0x38f25e(0x116)]((_0x39b041,_0x530afa)=>_0x53ae53[_0x530afa]===_0x38f25e(0x126)?_0x39b041[_0x38f25e(0x126)]:[]):[],_0x1154b8=_0x53ae53[_0x38f25e(0x11e)](_0x38f25e(0x115))?_0x559251[_0x38f25e(0x116)]((_0x464fb0,_0x5001ee)=>_0x53ae53[_0x5001ee]==='company'?_0x464fb0[_0x38f25e(0x115)]:[]):[],_0x2a2762=new Set([..._0x5e5366[_0x38f25e(0x11f)](_0x419d95=>_0x419d95['skillCode']?.[_0x38f25e(0x118)]())[_0x38f25e(0x112)](_0x3f64e3=>Boolean(_0x3f64e3)),..._0x1154b8[_0x38f25e(0x11f)](_0x258d1a=>_0x258d1a[_0x38f25e(0x125)]?.[_0x38f25e(0x118)]())[_0x38f25e(0x112)](_0x44c0cd=>Boolean(_0x44c0cd))]),_0x274752=_0x437fa3[_0x38f25e(0x118)]()?[_0x437fa3[_0x38f25e(0x118)]()]:undefined,_0x34d235=_0x53ae53[_0x38f25e(0x10e)]===0x2&&_0x53ae53['includes'](_0x38f25e(0x126))&&_0x53ae53['includes'](_0x38f25e(0x115)),_0x449bf9=_0x34d235?_0x1ece6c(_0x2e2cf8[_0x38f25e(0x122)],_0x2a2762,{},_0x274752):[],_0x16de28=_0x27be51({'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8['appCode'],'activeSkillCodes':_0x2a2762,'pruneSkillCodes':_0x274752,'scopes':_0x53ae53}),_0x48fc81=[];for(const _0x58f90b of _0x5e5366){_0x48fc81[_0x38f25e(0x12d)](_0x19c681(_0x58f90b,'personal',{'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8[_0x38f25e(0x122)],'packageBytes':await downloadSkillPackage(_0x58f90b,_0x38f25e(0x126),_0x2e2cf8[_0x38f25e(0x122)],_0x34b6ce)}));}for(const _0x143797 of _0x1154b8){_0x48fc81[_0x38f25e(0x12d)](_0x19c681(_0x143797,_0x38f25e(0x115),{'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8[_0x38f25e(0x122)],'packageBytes':await downloadSkillPackage(_0x143797,_0x38f25e(0x115),_0x2e2cf8[_0x38f25e(0x122)],_0x34b6ce)}));}const _0x529fb8=_0x45ff76(_0x48fc81,_0x2e2cf8[_0x38f25e(0x122)]),_0x57dd17=countLinkActions(_0x529fb8);return{'ok':!![],'data':{'appCode':_0x2e2cf8[_0x38f25e(0x122)],'personal':_0x5e5366[_0x38f25e(0x10e)],'company':_0x1154b8[_0x38f25e(0x10e)],'materialized':_0x48fc81[_0x38f25e(0x10e)],'links':{'total':_0x529fb8[_0x38f25e(0x10e)],'created':_0x57dd17[_0x38f25e(0x10f)]??0x0,'updated':_0x57dd17[_0x38f25e(0x109)]??0x0,'unchanged':_0x57dd17[_0x38f25e(0x111)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x449bf9[_0x38f25e(0x112)](_0x3557d0=>_0x3557d0[_0x38f25e(0x127)]===_0x38f25e(0x11d))['length'],'cacheDirs':_0x16de28[_0x38f25e(0x112)](_0x490027=>_0x490027['action']==='removed')[_0x38f25e(0x10e)],'skipped':[..._0x449bf9,..._0x16de28][_0x38f25e(0x112)](_0x536818=>_0x536818[_0x38f25e(0x127)]==='skipped')['length']},'skills':{'personal':_0x5e5366[_0x38f25e(0x11f)](summarizeRuntimeSkill),'company':_0x1154b8['map'](summarizeRuntimeSkill)}},'message':_0x38f25e(0x11b)+_0x5e5366['length']+_0x38f25e(0x12b)+_0x1154b8['length']+_0x38f25e(0x129)};}async function downloadSkillPackage(_0x59dd49,_0x1a5ca5,_0x3ccb7a,_0x49dcbc){const _0x46f50d=a39_0x34e2e5,_0x18e249=_0x59dd49[_0x46f50d(0x110)]?.['trim']();return _0x18e249?_0x49dcbc(_0x1a5ca5,_0x59dd49[_0x46f50d(0x125)],_0x3ccb7a,_0x18e249):_0x49dcbc(_0x1a5ca5,_0x59dd49[_0x46f50d(0x125)],_0x3ccb7a);}function countLinkActions(_0x2d37a7){const _0x5bd5d6=a39_0x34e2e5;return _0x2d37a7[_0x5bd5d6(0x124)]((_0x303936,_0x452568)=>{const _0x3b6ec1=_0x5bd5d6;return _0x303936[_0x452568['action']]=(_0x303936[_0x452568[_0x3b6ec1(0x127)]]??0x0)+0x1,_0x303936;},{});}