@lovrabet/lovrabet-cli 2.1.6-beta.5 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/artifact/index.js +1 -1
  10. package/lib/commands/auth/index.js +1 -1
  11. package/lib/commands/auth/prompt.js +1 -1
  12. package/lib/commands/bff/detail.js +1 -1
  13. package/lib/commands/bff/exec.js +1 -1
  14. package/lib/commands/bff/index.js +1 -1
  15. package/lib/commands/cli-skill/index.js +1 -1
  16. package/lib/commands/common/config-policy.js +1 -1
  17. package/lib/commands/common/constraints.js +1 -1
  18. package/lib/commands/common/flags.js +1 -1
  19. package/lib/commands/config/definitions.js +1 -1
  20. package/lib/commands/config/shared.js +1 -1
  21. package/lib/commands/data/index.js +1 -1
  22. package/lib/commands/dataset/detail.js +1 -1
  23. package/lib/commands/dataset/index.js +1 -1
  24. package/lib/commands/dataset/list.js +1 -1
  25. package/lib/commands/dataset/sdk-doc.js +1 -1
  26. package/lib/commands/doctor.js +1 -1
  27. package/lib/commands/init.js +1 -1
  28. package/lib/commands/kb/index.js +1 -1
  29. package/lib/commands/logs/index.js +1 -1
  30. package/lib/commands/personal-bff/index.js +1 -1
  31. package/lib/commands/registry.js +1 -1
  32. package/lib/commands/schema.js +1 -1
  33. package/lib/commands/service/dynamic.js +1 -1
  34. package/lib/commands/service/index.js +1 -1
  35. package/lib/commands/service/registry.js +1 -1
  36. package/lib/commands/skill/commands/create.js +1 -1
  37. package/lib/commands/skill/commands/install.js +1 -1
  38. package/lib/commands/skill/commands/list.js +1 -1
  39. package/lib/commands/skill/commands/push.js +1 -1
  40. package/lib/commands/skill/commands/validate.js +1 -1
  41. package/lib/commands/skill/flags.js +1 -1
  42. package/lib/commands/skill/index.js +1 -1
  43. package/lib/commands/skill/manifest-helpers.js +1 -1
  44. package/lib/commands/skill/scopes.js +1 -1
  45. package/lib/commands/skill/summary.js +1 -1
  46. package/lib/commands/skill/templates.js +1 -1
  47. package/lib/commands/skill/validate.js +1 -1
  48. package/lib/commands/sql/detail.js +1 -1
  49. package/lib/commands/sql/exec.js +1 -1
  50. package/lib/commands/sql/index.js +1 -1
  51. package/lib/commands/update.js +1 -1
  52. package/lib/commands/workspace/index.js +1 -1
  53. package/lib/config/schema.js +1 -1
  54. package/lib/constant/app.js +1 -1
  55. package/lib/constant/auth-mode.js +1 -1
  56. package/lib/constant/cli.js +1 -1
  57. package/lib/constant/defaults.js +1 -1
  58. package/lib/constant/distribution.js +1 -1
  59. package/lib/constant/domain.js +1 -1
  60. package/lib/constant/env.js +1 -1
  61. package/lib/constant/output.js +1 -1
  62. package/lib/constant/product.js +1 -1
  63. package/lib/constant/risk.js +1 -1
  64. package/lib/constant/url.js +1 -1
  65. package/lib/context.js +1 -1
  66. package/lib/core/api-client.js +1 -1
  67. package/lib/core/db-resolver.js +1 -1
  68. package/lib/core/sdk-client.js +1 -1
  69. package/lib/errors.js +1 -1
  70. package/lib/framework/build-all-flags.js +1 -1
  71. package/lib/framework/dryrun.js +1 -1
  72. package/lib/framework/flags.js +1 -1
  73. package/lib/framework/help.js +1 -1
  74. package/lib/framework/index.js +1 -1
  75. package/lib/framework/output.js +1 -1
  76. package/lib/framework/preparse.js +1 -1
  77. package/lib/framework/response.js +1 -1
  78. package/lib/framework/runner-confirmation.js +1 -1
  79. package/lib/framework/runner-error.js +1 -1
  80. package/lib/framework/runner.js +1 -1
  81. package/lib/framework/schema-export.js +1 -1
  82. package/lib/framework/types.js +1 -1
  83. package/lib/generated/build-info.js +1 -1
  84. package/lib/help.js +1 -1
  85. package/lib/skills/npx-skills-add.js +1 -1
  86. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  87. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  88. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  89. package/lib/skills/runtime-skill-sync/links.js +1 -1
  90. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  91. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  92. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  93. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  94. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  95. package/lib/skills/runtime-skill-sync/push.js +1 -1
  96. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  97. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  98. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  99. package/lib/skills/runtime-skill-sync.js +1 -1
  100. package/lib/utils/apply-jq-filter.js +1 -1
  101. package/lib/utils/logger.js +1 -1
  102. package/lib/utils/params.js +1 -1
  103. package/lib/utils/platform.js +1 -1
  104. package/lib/utils/update-notice.js +1 -1
  105. package/lib/utils/version.js +1 -1
  106. package/lib/utils/write-cli-side-channel.js +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- function a27_0x2234(_0x218917,_0x5b584e){_0x218917=_0x218917-0xfe;const _0x4a89d1=a27_0x4a89();let _0x223447=_0x4a89d1[_0x218917];return _0x223447;}const a27_0x29db63=a27_0x2234;(function(_0x29d768,_0x38af5b){const _0x54fe02=a27_0x2234,_0x4a94f1=_0x29d768();while(!![]){try{const _0x259532=parseInt(_0x54fe02(0x139))/0x1+parseInt(_0x54fe02(0x12c))/0x2*(-parseInt(_0x54fe02(0x11a))/0x3)+-parseInt(_0x54fe02(0x114))/0x4+-parseInt(_0x54fe02(0x13a))/0x5*(-parseInt(_0x54fe02(0x135))/0x6)+-parseInt(_0x54fe02(0x11b))/0x7*(parseInt(_0x54fe02(0x10b))/0x8)+parseInt(_0x54fe02(0x131))/0x9*(-parseInt(_0x54fe02(0x108))/0xa)+parseInt(_0x54fe02(0x10d))/0xb*(parseInt(_0x54fe02(0x105))/0xc);if(_0x259532===_0x38af5b)break;else _0x4a94f1['push'](_0x4a94f1['shift']());}catch(_0x52b67b){_0x4a94f1['push'](_0x4a94f1['shift']());}}}(a27_0x4a89,0xa42a9));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a27_0x4a89(){const _0x3a665c=['ragErrorMessage','docId','1233099BKMxRX','Personal\x20knowledge-base\x20entry\x20ID','/client/knowledge-base/personal/','Personal\x20knowledge-base\x20entry\x20title','3463788BhLXRI','version','length','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','857117gwTyuQ','5ZTSuZH','validation','body','POST','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','num','file','Search\x20query\x20is\x20required.','number','bool','900SBpbnd','string','write','30sgCVJZ','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','63464qIeUDa','topk','209561kYHgdP','detail','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','read','File\x20is\x20not\x20a\x20regular\x20file:\x20','Created\x20KB\x20entry\x20','956560SFrTUA','content','search','title','scope','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','3bjZGXq','427COQJhD','metadata','str','build','ragStatus','flag','trim','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','update','description','query','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','create','weightedScore','appCode','verbose','map','2113458xpkhtG','--topk\x20must\x20be\x20a\x20positive\x20number.','userId'];a27_0x4a89=function(){return _0x3a665c;};return a27_0x4a89();}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x29db63(0x117),'type':a27_0x29db63(0x106),'required':!![],'description':a27_0x29db63(0x134)},FILE_FLAG={'name':'file','type':'string','required':!![],'description':a27_0x29db63(0x10a)},QUERY_FLAG={'name':a27_0x29db63(0x125),'type':a27_0x29db63(0x106),'required':!![],'description':a27_0x29db63(0x122)},TOPK_FLAG={'name':a27_0x29db63(0x10c),'type':a27_0x29db63(0x103),'description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x994513){const _0x67190d=a27_0x29db63;if(!_0x994513)throw CliErrors['validation'](_0x67190d(0x110));if(!existsSync(_0x994513))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x994513);if(!statSync(_0x994513)['isFile']())throw CliErrors[_0x67190d(0x13b)](_0x67190d(0x112)+_0x994513);return readFileSync(_0x994513,_0x67190d(0x109));}function summarizePersonalItem(_0x29e5d7){const _0x1c72d3=a27_0x29db63;return{'id':_0x29e5d7['id'],'title':_0x29e5d7[_0x1c72d3(0x117)],'version':_0x29e5d7[_0x1c72d3(0x136)],'ragStatus':_0x29e5d7[_0x1c72d3(0x11f)],'ragErrorMessage':_0x29e5d7[_0x1c72d3(0x12f)],'updateTime':_0x29e5d7['updateTime']};}function detailPersonalItem(_0x17a262){const _0x2fa6fc=a27_0x29db63;return{'id':_0x17a262['id'],'appCode':_0x17a262[_0x2fa6fc(0x129)],'scope':_0x17a262[_0x2fa6fc(0x118)],'userId':_0x17a262[_0x2fa6fc(0x12e)],'title':_0x17a262[_0x2fa6fc(0x117)],'content':_0x17a262['content']??'','version':_0x17a262[_0x2fa6fc(0x136)],'ragStatus':_0x17a262[_0x2fa6fc(0x11f)],'ragErrorMessage':_0x17a262[_0x2fa6fc(0x12f)],'createTime':_0x17a262['createTime'],'updateTime':_0x17a262['updateTime']};}function summarizeSearchHit(_0x2b38d5){const _0x33e40a=a27_0x29db63;return{'scope':_0x2b38d5[_0x33e40a(0x118)],'docId':_0x2b38d5[_0x33e40a(0x130)],'score':_0x2b38d5['score'],'weightedScore':_0x2b38d5[_0x33e40a(0x128)],'content':_0x2b38d5[_0x33e40a(0x115)],'metadata':_0x2b38d5[_0x33e40a(0x11c)]};}function readTopK(_0x44aae3){const _0x3c380d=a27_0x29db63,_0x54e912=_0x44aae3[_0x3c380d(0x120)](_0x3c380d(0x10c));if(_0x54e912===undefined||_0x54e912===null||_0x54e912==='')return undefined;const _0x4b5a00=_0x44aae3['num'](_0x3c380d(0x10c));if(!Number['isFinite'](_0x4b5a00)||_0x4b5a00<0x1)throw CliErrors[_0x3c380d(0x13b)](_0x3c380d(0x12d));return _0x4b5a00;}const kbList={'service':'kb','command':'list','description':a27_0x29db63(0x10f),'risk':a27_0x29db63(0x111),'flags':[VERBOSE_FLAG],async 'execute'(_0x1f16cb){const _0x2bc868=a27_0x29db63,_0x2bcb61=await listPersonalKnowledgeBaseItems(_0x1f16cb[_0x2bc868(0x129)]);if(_0x1f16cb[_0x2bc868(0x104)](_0x2bc868(0x12a)))return{'ok':!![],'data':{'total':_0x2bcb61['length'],'items':_0x2bcb61}};return{'ok':!![],'data':{'total':_0x2bcb61[_0x2bc868(0x137)],'items':_0x2bcb61[_0x2bc868(0x12b)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x29db63(0x10e),'description':a27_0x29db63(0x126),'risk':'read','flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'}],async 'execute'(_0x8f33c4){const _0x58ba05=a27_0x29db63,_0x4a0c07=await getPersonalKnowledgeBaseItem(_0x8f33c4[_0x58ba05(0x100)]('id'),_0x8f33c4['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x4a0c07)};}},kbCreate={'service':'kb','command':a27_0x29db63(0x127),'description':a27_0x29db63(0x119),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x404845){const _0x509488=a27_0x29db63,_0x3653a1=_0x404845[_0x509488(0x11d)](_0x509488(0x117)),_0x937bc6=readKnowledgeFile(_0x404845[_0x509488(0x11d)]('file')),_0x409266=await createPersonalKnowledgeBaseItem(_0x404845[_0x509488(0x129)],{'title':_0x3653a1,'content':_0x937bc6});return{'ok':!![],'data':summarizePersonalItem(_0x409266),'message':_0x509488(0x113)+_0x409266['id']+'\x20('+_0x409266['title']+')'};},async 'dryRun'(_0xeae809){const _0x2ea24f=a27_0x29db63,_0x3888b3=_0xeae809[_0x2ea24f(0x11d)](_0x2ea24f(0x117)),_0x3e7431=readKnowledgeFile(_0xeae809['str'](_0x2ea24f(0x101)));return dryRun(_0x2ea24f(0xfe),'/client/knowledge-base/personal/create')[_0x2ea24f(0x13c)]({'appCode':_0xeae809[_0x2ea24f(0x129)],'title':_0x3888b3,'content':_0x3e7431})[_0x2ea24f(0x124)](_0x2ea24f(0x138)+_0x3888b3+'\x22')[_0x2ea24f(0x11e)]();}},kbUpdate={'service':'kb','command':a27_0x29db63(0x123),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x29db63(0x107),'flags':[{...ID_FLAG,'description':a27_0x29db63(0x132)},{...TITLE_FLAG,'required':![],'description':'Override\x20the\x20existing\x20entry\x20title'},FILE_FLAG],async 'execute'(_0x446f65){const _0x504ef4=a27_0x29db63,_0x197697=_0x446f65[_0x504ef4(0x100)]('id'),_0x5e66c4=readKnowledgeFile(_0x446f65[_0x504ef4(0x11d)](_0x504ef4(0x101))),_0x3625f6=_0x446f65[_0x504ef4(0x11d)](_0x504ef4(0x117))||(await getPersonalKnowledgeBaseItem(_0x197697,_0x446f65[_0x504ef4(0x129)]))[_0x504ef4(0x117)],_0x2306b1=await updatePersonalKnowledgeBaseItem(_0x197697,_0x446f65[_0x504ef4(0x129)],{'title':_0x3625f6,'content':_0x5e66c4});return{'ok':!![],'data':summarizePersonalItem(_0x2306b1),'message':'Updated\x20KB\x20entry\x20'+_0x2306b1['id']+'\x20('+_0x2306b1[_0x504ef4(0x117)]+')'};},async 'dryRun'(_0x17fdda){const _0x3461ee=a27_0x29db63,_0x3ab993=_0x17fdda[_0x3461ee(0x100)]('id'),_0x1c8b5c=readKnowledgeFile(_0x17fdda[_0x3461ee(0x11d)](_0x3461ee(0x101))),_0xe187d6=_0x17fdda['str']('title')||(await getPersonalKnowledgeBaseItem(_0x3ab993,_0x17fdda[_0x3461ee(0x129)]))[_0x3461ee(0x117)];return dryRun(_0x3461ee(0xfe),_0x3461ee(0x133)+_0x3ab993+'/update')[_0x3461ee(0x13c)]({'appCode':_0x17fdda[_0x3461ee(0x129)],'title':_0xe187d6,'content':_0x1c8b5c})[_0x3461ee(0x124)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x3ab993)[_0x3461ee(0x11e)]();}},kbSearch={'service':'kb','command':a27_0x29db63(0x116),'description':a27_0x29db63(0xff),'risk':a27_0x29db63(0x111),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x386fa5){const _0x1b4a72=a27_0x29db63;if(!_0x386fa5[_0x1b4a72(0x11d)]('query')[_0x1b4a72(0x121)]())throw CliErrors[_0x1b4a72(0x13b)](_0x1b4a72(0x102));readTopK(_0x386fa5);},async 'execute'(_0x2236a3){const _0xcb7eeb=a27_0x29db63,_0x1e3f34=_0x2236a3[_0xcb7eeb(0x11d)](_0xcb7eeb(0x125))[_0xcb7eeb(0x121)](),_0x1b912c=readTopK(_0x2236a3),_0x4c0a8b=await searchKnowledgeBase(_0x2236a3[_0xcb7eeb(0x129)],{'query':_0x1e3f34,'topK':_0x1b912c});return{'ok':!![],'data':{'total':_0x4c0a8b['length'],'hits':_0x4c0a8b[_0xcb7eeb(0x12b)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a27_0x277aad=a27_0xc191;(function(_0x3e7c8a,_0x408bbd){const _0x1fe0fb=a27_0xc191,_0x253af2=_0x3e7c8a();while(!![]){try{const _0x33d012=parseInt(_0x1fe0fb(0x165))/0x1+parseInt(_0x1fe0fb(0x171))/0x2+-parseInt(_0x1fe0fb(0x162))/0x3+-parseInt(_0x1fe0fb(0x17f))/0x4+parseInt(_0x1fe0fb(0x150))/0x5*(-parseInt(_0x1fe0fb(0x16b))/0x6)+-parseInt(_0x1fe0fb(0x14e))/0x7*(parseInt(_0x1fe0fb(0x166))/0x8)+-parseInt(_0x1fe0fb(0x163))/0x9*(-parseInt(_0x1fe0fb(0x14d))/0xa);if(_0x33d012===_0x408bbd)break;else _0x253af2['push'](_0x253af2['shift']());}catch(_0x517595){_0x253af2['push'](_0x253af2['shift']());}}}(a27_0x3d1f,0x7ff98));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0x3d1f(){const _0x3dbf87=['Personal\x20knowledge-base\x20entry\x20title','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','topk','316770WGtWOS','7djBoYC','createTime','440zNLHHo','update','title','create','metadata','weightedScore','File\x20path\x20is\x20required.','search','build','description','verbose','POST','length','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','appCode','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','body','str','1649241JGhJdd','441BmdRvX','userId','165323XHrFop','1254280NugFRK','read','isFinite','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','57462QPdfMF','map','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','ragStatus','File\x20is\x20not\x20a\x20regular\x20file:\x20','file','1105228NJsXpr','Search\x20query\x20is\x20required.','--topk\x20must\x20be\x20a\x20positive\x20number.','query','Personal\x20knowledge-base\x20entry\x20ID','detail','list','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','bool','Override\x20the\x20existing\x20entry\x20title','string','version','validation','flag','786472TbePPL','scope','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','content','/update','num','updateTime','trim'];a27_0x3d1f=function(){return _0x3dbf87;};return a27_0x3d1f();}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a27_0xc191(_0x3a79ba,_0x161da7){_0x3a79ba=_0x3a79ba-0x14a;const _0x3d1fe4=a27_0x3d1f();let _0xc191b6=_0x3d1fe4[_0x3a79ba];return _0xc191b6;}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x277aad(0x152),'type':a27_0x277aad(0x17b),'required':!![],'description':a27_0x277aad(0x14a)},FILE_FLAG={'name':a27_0x277aad(0x170),'type':'string','required':!![],'description':a27_0x277aad(0x16a)},QUERY_FLAG={'name':a27_0x277aad(0x174),'type':'string','required':!![],'description':a27_0x277aad(0x181)},TOPK_FLAG={'name':a27_0x277aad(0x14c),'type':'number','description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x311b7a){const _0x3a5bf1=a27_0x277aad;if(!_0x311b7a)throw CliErrors[_0x3a5bf1(0x17d)](_0x3a5bf1(0x156));if(!existsSync(_0x311b7a))throw CliErrors[_0x3a5bf1(0x17d)]('File\x20not\x20found:\x20'+_0x311b7a);if(!statSync(_0x311b7a)['isFile']())throw CliErrors[_0x3a5bf1(0x17d)](_0x3a5bf1(0x16f)+_0x311b7a);return readFileSync(_0x311b7a,'utf8');}function summarizePersonalItem(_0x27cc35){const _0x5e633d=a27_0x277aad;return{'id':_0x27cc35['id'],'title':_0x27cc35[_0x5e633d(0x152)],'version':_0x27cc35[_0x5e633d(0x17c)],'ragStatus':_0x27cc35[_0x5e633d(0x16e)],'ragErrorMessage':_0x27cc35['ragErrorMessage'],'updateTime':_0x27cc35[_0x5e633d(0x185)]};}function detailPersonalItem(_0x116ed4){const _0x3f5564=a27_0x277aad;return{'id':_0x116ed4['id'],'appCode':_0x116ed4[_0x3f5564(0x15e)],'scope':_0x116ed4[_0x3f5564(0x180)],'userId':_0x116ed4[_0x3f5564(0x164)],'title':_0x116ed4[_0x3f5564(0x152)],'content':_0x116ed4[_0x3f5564(0x182)]??'','version':_0x116ed4[_0x3f5564(0x17c)],'ragStatus':_0x116ed4[_0x3f5564(0x16e)],'ragErrorMessage':_0x116ed4['ragErrorMessage'],'createTime':_0x116ed4[_0x3f5564(0x14f)],'updateTime':_0x116ed4[_0x3f5564(0x185)]};}function summarizeSearchHit(_0x3a1dcb){const _0x485662=a27_0x277aad;return{'scope':_0x3a1dcb[_0x485662(0x180)],'docId':_0x3a1dcb['docId'],'score':_0x3a1dcb['score'],'weightedScore':_0x3a1dcb[_0x485662(0x155)],'content':_0x3a1dcb['content'],'metadata':_0x3a1dcb[_0x485662(0x154)]};}function readTopK(_0x1c4f2c){const _0x18fb34=a27_0x277aad,_0x4a35bf=_0x1c4f2c[_0x18fb34(0x17e)](_0x18fb34(0x14c));if(_0x4a35bf===undefined||_0x4a35bf===null||_0x4a35bf==='')return undefined;const _0x2d759a=_0x1c4f2c[_0x18fb34(0x184)](_0x18fb34(0x14c));if(!Number[_0x18fb34(0x168)](_0x2d759a)||_0x2d759a<0x1)throw CliErrors[_0x18fb34(0x17d)](_0x18fb34(0x173));return _0x2d759a;}const kbList={'service':'kb','command':a27_0x277aad(0x177),'description':a27_0x277aad(0x14b),'risk':a27_0x277aad(0x167),'flags':[VERBOSE_FLAG],async 'execute'(_0x590fa3){const _0x2a1049=a27_0x277aad,_0x3c3088=await listPersonalKnowledgeBaseItems(_0x590fa3[_0x2a1049(0x15e)]);if(_0x590fa3[_0x2a1049(0x179)](_0x2a1049(0x15a)))return{'ok':!![],'data':{'total':_0x3c3088[_0x2a1049(0x15c)],'items':_0x3c3088}};return{'ok':!![],'data':{'total':_0x3c3088[_0x2a1049(0x15c)],'items':_0x3c3088['map'](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x277aad(0x176),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0x277aad(0x167),'flags':[{...ID_FLAG,'description':a27_0x277aad(0x175)}],async 'execute'(_0x446c6c){const _0xe01a8e=a27_0x277aad,_0x20829d=await getPersonalKnowledgeBaseItem(_0x446c6c[_0xe01a8e(0x184)]('id'),_0x446c6c[_0xe01a8e(0x15e)]);return{'ok':!![],'data':detailPersonalItem(_0x20829d)};}},kbCreate={'service':'kb','command':a27_0x277aad(0x153),'description':a27_0x277aad(0x15f),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x39afa8){const _0x529a0c=a27_0x277aad,_0x40b1f1=_0x39afa8[_0x529a0c(0x161)](_0x529a0c(0x152)),_0x30b60f=readKnowledgeFile(_0x39afa8[_0x529a0c(0x161)](_0x529a0c(0x170))),_0xf1548=await createPersonalKnowledgeBaseItem(_0x39afa8[_0x529a0c(0x15e)],{'title':_0x40b1f1,'content':_0x30b60f});return{'ok':!![],'data':summarizePersonalItem(_0xf1548),'message':'Created\x20KB\x20entry\x20'+_0xf1548['id']+'\x20('+_0xf1548['title']+')'};},async 'dryRun'(_0x1a8fef){const _0x1e764e=a27_0x277aad,_0x327a04=_0x1a8fef[_0x1e764e(0x161)](_0x1e764e(0x152)),_0x26a23e=readKnowledgeFile(_0x1a8fef[_0x1e764e(0x161)](_0x1e764e(0x170)));return dryRun('POST','/client/knowledge-base/personal/create')[_0x1e764e(0x160)]({'appCode':_0x1a8fef[_0x1e764e(0x15e)],'title':_0x327a04,'content':_0x26a23e})[_0x1e764e(0x159)](_0x1e764e(0x15d)+_0x327a04+'\x22')[_0x1e764e(0x158)]();}},kbUpdate={'service':'kb','command':a27_0x277aad(0x151),'description':a27_0x277aad(0x16d),'risk':'write','flags':[{...ID_FLAG,'description':a27_0x277aad(0x175)},{...TITLE_FLAG,'required':![],'description':a27_0x277aad(0x17a)},FILE_FLAG],async 'execute'(_0x444623){const _0x2c2fd1=a27_0x277aad,_0x532cfe=_0x444623[_0x2c2fd1(0x184)]('id'),_0x215b16=readKnowledgeFile(_0x444623['str'](_0x2c2fd1(0x170))),_0x1a5b00=_0x444623[_0x2c2fd1(0x161)](_0x2c2fd1(0x152))||(await getPersonalKnowledgeBaseItem(_0x532cfe,_0x444623[_0x2c2fd1(0x15e)]))['title'],_0x3f8a8c=await updatePersonalKnowledgeBaseItem(_0x532cfe,_0x444623[_0x2c2fd1(0x15e)],{'title':_0x1a5b00,'content':_0x215b16});return{'ok':!![],'data':summarizePersonalItem(_0x3f8a8c),'message':'Updated\x20KB\x20entry\x20'+_0x3f8a8c['id']+'\x20('+_0x3f8a8c['title']+')'};},async 'dryRun'(_0x19184e){const _0x25cee0=a27_0x277aad,_0x3cb7a9=_0x19184e[_0x25cee0(0x184)]('id'),_0x51948b=readKnowledgeFile(_0x19184e[_0x25cee0(0x161)](_0x25cee0(0x170))),_0x3852d4=_0x19184e[_0x25cee0(0x161)](_0x25cee0(0x152))||(await getPersonalKnowledgeBaseItem(_0x3cb7a9,_0x19184e[_0x25cee0(0x15e)]))[_0x25cee0(0x152)];return dryRun(_0x25cee0(0x15b),'/client/knowledge-base/personal/'+_0x3cb7a9+_0x25cee0(0x183))[_0x25cee0(0x160)]({'appCode':_0x19184e[_0x25cee0(0x15e)],'title':_0x3852d4,'content':_0x51948b})[_0x25cee0(0x159)](_0x25cee0(0x169)+_0x3cb7a9)[_0x25cee0(0x158)]();}},kbSearch={'service':'kb','command':a27_0x277aad(0x157),'description':a27_0x277aad(0x178),'risk':a27_0x277aad(0x167),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x450e89){const _0x51ef3d=a27_0x277aad;if(!_0x450e89[_0x51ef3d(0x161)](_0x51ef3d(0x174))[_0x51ef3d(0x186)]())throw CliErrors[_0x51ef3d(0x17d)](_0x51ef3d(0x172));readTopK(_0x450e89);},async 'execute'(_0x3a4b42){const _0x1e176f=a27_0x277aad,_0x3fdd2d=_0x3a4b42['str']('query')['trim'](),_0x23c628=readTopK(_0x3a4b42),_0x3c8dff=await searchKnowledgeBase(_0x3a4b42[_0x1e176f(0x15e)],{'query':_0x3fdd2d,'topK':_0x23c628});return{'ok':!![],'data':{'total':_0x3c8dff[_0x1e176f(0x15c)],'hits':_0x3c8dff[_0x1e176f(0x16c)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0x2f22da=a28_0x2831;(function(_0x860fb1,_0x5c8090){const _0x2d142a=a28_0x2831,_0xd74efb=_0x860fb1();while(!![]){try{const _0x311671=parseInt(_0x2d142a(0x10a))/0x1+parseInt(_0x2d142a(0xfb))/0x2*(parseInt(_0x2d142a(0x10f))/0x3)+parseInt(_0x2d142a(0x11f))/0x4*(parseInt(_0x2d142a(0x107))/0x5)+parseInt(_0x2d142a(0x10e))/0x6*(parseInt(_0x2d142a(0x11c))/0x7)+-parseInt(_0x2d142a(0x11b))/0x8*(parseInt(_0x2d142a(0x100))/0x9)+parseInt(_0x2d142a(0x110))/0xa+-parseInt(_0x2d142a(0x109))/0xb;if(_0x311671===_0x5c8090)break;else _0xd74efb['push'](_0xd74efb['shift']());}catch(_0x31e7c2){_0xd74efb['push'](_0xd74efb['shift']());}}}(a28_0x4b1c,0x6eb4d));function a28_0x4b1c(){const _0x37339c=['message','6aOxTzB','2548935aqUVBL','4508730llSRBQ','\x20\x20\x20Time:\x20','stringify','clearLogs','write','timestamp','duration','error','length','*\x20Logs\x20cleared','log','8WxbThh','2329208XksdVD','details','keys','4748yfJUsO','2HBuMeU','clear','success','show','read','5216103phiBAf','toLocaleString','forEach','Clear\x20command\x20history\x20logs','level','command','warn','1585sIjWQk','logs','13835855enqsbI','281284OBajzH','en-US','readLogs'];a28_0x4b1c=function(){return _0x37339c;};return a28_0x4b1c();}function a28_0x2831(_0x46d153,_0x3e2102){_0x46d153=_0x46d153-0xfb;const _0x4b1c57=a28_0x4b1c();let _0x28318d=_0x4b1c57[_0x46d153];return _0x28318d;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x3a2e5c){const _0x107a8e=a28_0x2831;if(_0x3a2e5c[_0x107a8e(0x118)]===0x0){console[_0x107a8e(0x11a)]('*\x20No\x20logs\x20found');return;}console[_0x107a8e(0x11a)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x3a2e5c[_0x107a8e(0x102)]((_0x24571e,_0x34606e)=>{const _0x1ab5dd=_0x107a8e,_0x3ee2de=new Date(_0x24571e[_0x1ab5dd(0x115)])[_0x1ab5dd(0x101)](_0x1ab5dd(0x10b)),_0x11d17f=_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0xfd)?'√':_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0x117)?'×':_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0x106)?'!':'i';console['log'](_0x34606e+0x1+'.\x20'+_0x11d17f+'\x20['+_0x24571e[_0x1ab5dd(0x105)]+']\x20'+_0x24571e[_0x1ab5dd(0x10d)]),console['log'](_0x1ab5dd(0x111)+_0x3ee2de),_0x24571e[_0x1ab5dd(0x116)]&&console[_0x1ab5dd(0x11a)]('\x20\x20\x20Duration:\x20'+_0x24571e[_0x1ab5dd(0x116)]+'ms'),_0x24571e[_0x1ab5dd(0x11d)]&&Object[_0x1ab5dd(0x11e)](_0x24571e[_0x1ab5dd(0x11d)])[_0x1ab5dd(0x118)]>0x0&&console[_0x1ab5dd(0x11a)]('\x20\x20\x20Details:\x20'+JSON[_0x1ab5dd(0x112)](_0x24571e[_0x1ab5dd(0x11d)],null,0x2)),console[_0x1ab5dd(0x11a)]('');});}export const logsDefinitions=[{'service':a28_0x2f22da(0x108),'command':a28_0x2f22da(0xfe),'description':'View\x20command\x20history\x20logs','risk':a28_0x2f22da(0xff),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x40a152){const _0x1cbb0f=a28_0x2f22da;return printLogs(logger[_0x1cbb0f(0x10c)]()),{'ok':!![]};}},{'service':a28_0x2f22da(0x108),'command':a28_0x2f22da(0xfc),'description':a28_0x2f22da(0x103),'risk':a28_0x2f22da(0x114),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3fc6f5){const _0x5bd233=a28_0x2f22da;return logger[_0x5bd233(0x113)](),console['log'](_0x5bd233(0x119)),{'ok':!![]};}}];
1
+ function a28_0x4e40(){const _0x4c31c7=['error','*\x20Logs\x20cleared','warn','1336360ZGvImp','Clear\x20command\x20history\x20logs','timestamp','9EKsDRX','5mJIaZi','*\x20No\x20logs\x20found','3746672eXcxOf','7347769BZSSsI','level','clearLogs','View\x20command\x20history\x20logs','\x20logs:\x0a','logs','\x20\x20\x20Details:\x20','log','324720tHNsHn','details','readLogs','\x20\x20\x20Time:\x20','show','2LcCLez','4928530fzIkgB','duration','7585144GOtfuP','\x20\x20\x20Duration:\x20','6RvungU','toLocaleString','message','60jWUXkw','187509SuyXMx','clear','stringify','forEach','success','en-US'];a28_0x4e40=function(){return _0x4c31c7;};return a28_0x4e40();}const a28_0x3d09be=a28_0x26aa;function a28_0x26aa(_0x1f89e0,_0x560dc1){_0x1f89e0=_0x1f89e0-0x108;const _0x4e4076=a28_0x4e40();let _0x26aa02=_0x4e4076[_0x1f89e0];return _0x26aa02;}(function(_0x5533f6,_0x52793c){const _0xbbaae2=a28_0x26aa,_0x103445=_0x5533f6();while(!![]){try{const _0x18182d=parseInt(_0xbbaae2(0x12a))/0x1*(-parseInt(_0xbbaae2(0x121))/0x2)+parseInt(_0xbbaae2(0x11c))/0x3+parseInt(_0xbbaae2(0x113))/0x4*(-parseInt(_0xbbaae2(0x111))/0x5)+-parseInt(_0xbbaae2(0x126))/0x6*(parseInt(_0xbbaae2(0x124))/0x7)+-parseInt(_0xbbaae2(0x10d))/0x8*(parseInt(_0xbbaae2(0x110))/0x9)+-parseInt(_0xbbaae2(0x122))/0xa+parseInt(_0xbbaae2(0x114))/0xb*(parseInt(_0xbbaae2(0x129))/0xc);if(_0x18182d===_0x52793c)break;else _0x103445['push'](_0x103445['shift']());}catch(_0x47321f){_0x103445['push'](_0x103445['shift']());}}}(a28_0x4e40,0x8db74));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x473162){const _0xb189a7=a28_0x26aa;if(_0x473162['length']===0x0){console['log'](_0xb189a7(0x112));return;}console[_0xb189a7(0x11b)]('*\x20'+CLI_DISPLAY_NAME+_0xb189a7(0x118)),_0x473162[_0xb189a7(0x12d)]((_0x4be3c9,_0x114bc8)=>{const _0x232ebc=_0xb189a7,_0x11c108=new Date(_0x4be3c9[_0x232ebc(0x10f)])[_0x232ebc(0x127)](_0x232ebc(0x109)),_0x4b87fa=_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x108)?'√':_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x10a)?'×':_0x4be3c9[_0x232ebc(0x115)]===_0x232ebc(0x10c)?'!':'i';console[_0x232ebc(0x11b)](_0x114bc8+0x1+'.\x20'+_0x4b87fa+'\x20['+_0x4be3c9['command']+']\x20'+_0x4be3c9[_0x232ebc(0x128)]),console[_0x232ebc(0x11b)](_0x232ebc(0x11f)+_0x11c108),_0x4be3c9[_0x232ebc(0x123)]&&console['log'](_0x232ebc(0x125)+_0x4be3c9['duration']+'ms'),_0x4be3c9[_0x232ebc(0x11d)]&&Object['keys'](_0x4be3c9['details'])['length']>0x0&&console[_0x232ebc(0x11b)](_0x232ebc(0x11a)+JSON[_0x232ebc(0x12c)](_0x4be3c9[_0x232ebc(0x11d)],null,0x2)),console[_0x232ebc(0x11b)]('');});}export const logsDefinitions=[{'service':a28_0x3d09be(0x119),'command':a28_0x3d09be(0x120),'description':a28_0x3d09be(0x117),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x47406a){const _0x1950de=a28_0x3d09be;return printLogs(logger[_0x1950de(0x11e)]()),{'ok':!![]};}},{'service':a28_0x3d09be(0x119),'command':a28_0x3d09be(0x12b),'description':a28_0x3d09be(0x10e),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3f6587){const _0x2c3f66=a28_0x3d09be;return logger[_0x2c3f66(0x116)](),console[_0x2c3f66(0x11b)](_0x2c3f66(0x10b)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x4154ba=a29_0x5ef0;(function(_0x5372ea,_0x47cd59){const _0x56dc75=a29_0x5ef0,_0x17b756=_0x5372ea();while(!![]){try{const _0x371d03=-parseInt(_0x56dc75(0x1cf))/0x1*(-parseInt(_0x56dc75(0x1c6))/0x2)+parseInt(_0x56dc75(0x1dc))/0x3+parseInt(_0x56dc75(0x1d1))/0x4+-parseInt(_0x56dc75(0x1ed))/0x5*(-parseInt(_0x56dc75(0x1d5))/0x6)+-parseInt(_0x56dc75(0x1ea))/0x7+parseInt(_0x56dc75(0x1c9))/0x8*(parseInt(_0x56dc75(0x1d6))/0x9)+-parseInt(_0x56dc75(0x1bf))/0xa*(parseInt(_0x56dc75(0x1e8))/0xb);if(_0x371d03===_0x47cd59)break;else _0x17b756['push'](_0x17b756['shift']());}catch(_0x5c23d9){_0x17b756['push'](_0x17b756['shift']());}}}(a29_0x3909,0x1ff5f));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a29_0x3909(){const _0x435430=['scriptContent','443640RAAgqh','flag','test','utf8','Show\x20one\x20personal\x20BFF\x20by\x20id','source-session-id','309cdPwPi','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','174548QgTWws','length','high-risk-write','build','102fQKvyx','36ZPDlOa','params','validation','/client/runtime-bff/personal/create','trim','functionName','769104FfVSNG','Created\x20personal\x20BFF\x20','sourceSessionId','/client/runtime-bff/personal/','File\x20not\x20found:\x20','Optional\x20source\x20RuntimeAgent\x20session\x20id','Personal\x20BFF\x20description','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','name','write','File\x20path\x20is\x20required.','updateTime','6391exjslm','detail','132482EvHAcT','string','--params\x20must\x20be\x20a\x20JSON\x20object.','40105EADrRJ','/update','Updated\x20personal\x20BFF\x20','bool','config','file','Preview:\x20create\x20personal\x20BFF\x20','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','Executed\x20personal\x20BFF\x20','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Update\x20a\x20personal\x20BFF\x20by\x20id','version','Personal\x20BFF\x20script\x20ID','keys','gmtCreate','appCode','createTime','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','create','isFile','POST','num','body','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','isArray','read','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','personal-bff','11180hkOriI','Preview:\x20update\x20personal\x20BFF\x20','gmtModified','description','update','str','scriptType','914TyLMnO','verbose'];a29_0x3909=function(){return _0x435430;};return a29_0x3909();}import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':'string','description':a29_0x4154ba(0x1f6)},FUNCTION_NAME_FLAG={'name':a29_0x4154ba(0x1e4),'type':a29_0x4154ba(0x1eb),'required':!![],'description':a29_0x4154ba(0x207)},DESCRIPTION_FLAG={'name':'description','type':a29_0x4154ba(0x1eb),'description':a29_0x4154ba(0x1e2)},SOURCE_SESSION_FLAG={'name':a29_0x4154ba(0x1ce),'type':a29_0x4154ba(0x1eb),'description':a29_0x4154ba(0x1e1)};function a29_0x5ef0(_0x38aa36,_0x3d1315){_0x38aa36=_0x38aa36-0x1be;const _0x3909f4=a29_0x3909();let _0x5ef038=_0x3909f4[_0x38aa36];return _0x5ef038;}function normalizeFunctionName(_0x4ce877){const _0x1248d8=a29_0x4154ba,_0x922550=String(_0x4ce877||'')[_0x1248d8(0x1da)]();if(!_0x922550||!FUNCTION_NAME_PATTERN[_0x1248d8(0x1cb)](_0x922550))throw CliErrors[_0x1248d8(0x1d8)](_0x1248d8(0x1e3));return _0x922550;}function readScriptFile(_0xacf92c){const _0x3f5fd3=a29_0x4154ba;if(!_0xacf92c)throw CliErrors[_0x3f5fd3(0x1d8)](_0x3f5fd3(0x1e6));if(!existsSync(_0xacf92c))throw CliErrors[_0x3f5fd3(0x1d8)](_0x3f5fd3(0x1e0)+_0xacf92c);if(!statSync(_0xacf92c)[_0x3f5fd3(0x200)]())throw CliErrors[_0x3f5fd3(0x1d8)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0xacf92c);const _0x2be7d6=readFileSync(_0xacf92c,_0x3f5fd3(0x1cc));if(!_0x2be7d6[_0x3f5fd3(0x1da)]())throw CliErrors['validation']('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x2be7d6;}function optionalTrimmed(_0x1194b3){const _0x4c1dd0=a29_0x4154ba,_0x4606a1=String(_0x1194b3||'')[_0x4c1dd0(0x1da)]();return _0x4606a1||undefined;}function summarizeBff(_0x530b28){const _0x1941ca=a29_0x4154ba;return{'id':_0x530b28['id'],'appCode':_0x530b28[_0x1941ca(0x1fc)],'functionName':_0x530b28[_0x1941ca(0x1db)],'description':_0x530b28['description'],'scriptType':_0x530b28[_0x1941ca(0x1c5)],'version':_0x530b28[_0x1941ca(0x1f8)],'gmtModified':_0x530b28['gmtModified'],'updateTime':_0x530b28[_0x1941ca(0x1e7)]};}function detailBff(_0x1d4388){const _0x119e21=a29_0x4154ba;return{'id':_0x1d4388['id'],'appCode':_0x1d4388['appCode'],'functionName':_0x1d4388[_0x119e21(0x1db)],'description':_0x1d4388[_0x119e21(0x1c2)],'scriptType':_0x1d4388[_0x119e21(0x1c5)],'scriptContent':_0x1d4388['scriptContent']??'','config':_0x1d4388[_0x119e21(0x1f1)],'version':_0x1d4388[_0x119e21(0x1f8)],'createUserId':_0x1d4388['createUserId'],'gmtCreate':_0x1d4388[_0x119e21(0x1fb)],'gmtModified':_0x1d4388[_0x119e21(0x1c1)],'createTime':_0x1d4388[_0x119e21(0x1fd)],'updateTime':_0x1d4388[_0x119e21(0x1e7)]};}function buildCreateInput(_0x4c4827){const _0x83220a=a29_0x4154ba;return{'functionName':normalizeFunctionName(_0x4c4827[_0x83220a(0x1c4)]('name')),...optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1c2)))?{'description':optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)]('description'))}:{},'scriptContent':readScriptFile(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1f2))),...optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1ce)))?{'sourceSessionId':optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)]('source-session-id'))}:{}};}function buildUpdateInput(_0x31ebcf){const _0x3d2778=a29_0x4154ba,_0x9ef03c={};optionalTrimmed(_0x31ebcf['str'](_0x3d2778(0x1e4)))&&(_0x9ef03c[_0x3d2778(0x1db)]=normalizeFunctionName(_0x31ebcf[_0x3d2778(0x1c4)]('name')));_0x31ebcf['flag'](_0x3d2778(0x1c2))!==undefined&&(_0x9ef03c[_0x3d2778(0x1c2)]=_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1c2)));optionalTrimmed(_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1f2)))&&(_0x9ef03c[_0x3d2778(0x1c8)]=readScriptFile(_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1f2))));_0x31ebcf[_0x3d2778(0x1ca)](_0x3d2778(0x1ce))!==undefined&&(_0x9ef03c[_0x3d2778(0x1de)]=_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1ce)));if(Object[_0x3d2778(0x1fa)](_0x9ef03c)['length']===0x0)throw CliErrors[_0x3d2778(0x1d8)](_0x3d2778(0x204));return _0x9ef03c;}function parseExecParams(_0x267327){const _0x4755e2=a29_0x4154ba,_0x16fba9=parseJsonParams(_0x267327)??{};if(Array[_0x4755e2(0x205)](_0x16fba9))throw CliErrors[_0x4755e2(0x1d8)](_0x4755e2(0x1ec));return _0x16fba9;}const personalBffList={'service':'personal-bff','command':'list','description':a29_0x4154ba(0x1d0),'risk':a29_0x4154ba(0x206),'flags':[VERBOSE_FLAG],async 'execute'(_0x21ad1d){const _0x1a9df5=a29_0x4154ba,_0x201bad=await listPersonalBffs(_0x21ad1d['appCode']);return{'ok':!![],'data':{'total':_0x201bad[_0x1a9df5(0x1d2)],'items':_0x21ad1d[_0x1a9df5(0x1f0)](_0x1a9df5(0x1c7))?_0x201bad:_0x201bad['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1e9),'description':a29_0x4154ba(0x1cd),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x4154ba(0x1f9)}],async 'execute'(_0x2804ef){const _0x43fde0=a29_0x4154ba,_0x30c078=await getPersonalBff(_0x2804ef['num']('id'),_0x2804ef[_0x43fde0(0x1fc)]);return{'ok':!![],'data':detailBff(_0x30c078)};}},personalBffCreate={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1ff),'description':a29_0x4154ba(0x208),'risk':a29_0x4154ba(0x1e5),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x20f575){const _0x29bd75=a29_0x4154ba,_0x2cedb2=buildCreateInput(_0x20f575),_0x5320fb=await createPersonalBff(_0x20f575['appCode'],_0x2cedb2);return{'ok':!![],'data':detailBff(_0x5320fb),'message':_0x29bd75(0x1dd)+_0x5320fb['id']+(_0x5320fb[_0x29bd75(0x1db)]?'\x20('+_0x5320fb[_0x29bd75(0x1db)]+')':'')};},async 'dryRun'(_0x3d12cd){const _0x4ade0c=a29_0x4154ba,_0x1823f4=buildCreateInput(_0x3d12cd);return dryRun(_0x4ade0c(0x201),_0x4ade0c(0x1d9))[_0x4ade0c(0x203)]({'appCode':_0x3d12cd[_0x4ade0c(0x1fc)],..._0x1823f4})[_0x4ade0c(0x1c2)](_0x4ade0c(0x1f3)+_0x1823f4[_0x4ade0c(0x1db)])['build']();}},personalBffUpdate={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1c3),'description':a29_0x4154ba(0x1f7),'risk':a29_0x4154ba(0x1e5),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4e577c){const _0x56d456=a29_0x4154ba,_0x148024=_0x4e577c[_0x56d456(0x202)]('id'),_0x5f296e=buildUpdateInput(_0x4e577c),_0x1aac30=await updatePersonalBff(_0x148024,_0x4e577c['appCode'],_0x5f296e);return{'ok':!![],'data':detailBff(_0x1aac30),'message':_0x56d456(0x1ef)+_0x1aac30['id']+(_0x1aac30[_0x56d456(0x1db)]?'\x20('+_0x1aac30[_0x56d456(0x1db)]+')':'')};},async 'dryRun'(_0x22695d){const _0x2567b5=a29_0x4154ba,_0x2d6945=_0x22695d[_0x2567b5(0x202)]('id'),_0x17451e=buildUpdateInput(_0x22695d);return dryRun(_0x2567b5(0x201),_0x2567b5(0x1df)+_0x2d6945+_0x2567b5(0x1ee))[_0x2567b5(0x203)]({'appCode':_0x22695d[_0x2567b5(0x1fc)],..._0x17451e})[_0x2567b5(0x1c2)](_0x2567b5(0x1c0)+_0x2d6945)[_0x2567b5(0x1d4)]();}},personalBffExec={'service':'personal-bff','command':'exec','description':a29_0x4154ba(0x1f4),'risk':a29_0x4154ba(0x1d3),'flags':[{...ID_FLAG,'description':a29_0x4154ba(0x1f9)},{...PARAMS_FLAG,'description':a29_0x4154ba(0x1fe)}],async 'validate'(_0x5ad205){const _0x25a7a3=a29_0x4154ba;parseExecParams(_0x5ad205[_0x25a7a3(0x1c4)]('params'));},async 'execute'(_0x3e9be6){const _0x1a1b35=a29_0x4154ba,_0x146e5a=_0x3e9be6[_0x1a1b35(0x202)]('id'),_0x2e927f=parseExecParams(_0x3e9be6[_0x1a1b35(0x1c4)](_0x1a1b35(0x1d7))),_0x9b1585=await executePersonalBff(_0x146e5a,_0x3e9be6[_0x1a1b35(0x1fc)],_0x2e927f);return{'ok':!![],'data':{'result':_0x9b1585},'message':_0x1a1b35(0x1f5)+_0x146e5a};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0xf3b114=a29_0x1952;(function(_0x549d43,_0x5a5168){const _0x102de9=a29_0x1952,_0x259e99=_0x549d43();while(!![]){try{const _0xe92e79=parseInt(_0x102de9(0x145))/0x1*(parseInt(_0x102de9(0x13d))/0x2)+-parseInt(_0x102de9(0x144))/0x3+-parseInt(_0x102de9(0x16c))/0x4*(-parseInt(_0x102de9(0x16d))/0x5)+-parseInt(_0x102de9(0x176))/0x6+-parseInt(_0x102de9(0x154))/0x7*(-parseInt(_0x102de9(0x177))/0x8)+parseInt(_0x102de9(0x16b))/0x9+parseInt(_0x102de9(0x143))/0xa;if(_0xe92e79===_0x5a5168)break;else _0x259e99['push'](_0x259e99['shift']());}catch(_0x3d0a29){_0x259e99['push'](_0x259e99['shift']());}}}(a29_0x55ce,0x3d06e));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x1952(_0x517cf,_0x3d8ceb){_0x517cf=_0x517cf-0x139;const _0x55ceee=a29_0x55ce();let _0x195216=_0x55ceee[_0x517cf];return _0x195216;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a29_0x55ce(){const _0x442f14=['Created\x20personal\x20BFF\x20','flag','scriptContent','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','--params\x20must\x20be\x20a\x20JSON\x20object.','appCode','/client/runtime-bff/personal/create','File\x20path\x20is\x20required.','name','File\x20not\x20found:\x20','config','detail','utf8','read','375012ypJkwl','4340bKTIKJ','1745YsyVmH','gmtCreate','source-session-id','version','create','updateTime','createUserId','high-risk-write','Preview:\x20update\x20personal\x20BFF\x20','1450584uXNmjv','562064ZMIsyS','POST','list','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','6vMHwvT','scriptType','gmtModified','body','personal-bff','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1473800cQGwjF','1318098YyzGrH','74289iLUDLs','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','Personal\x20BFF\x20description','num','string','verbose','test','isFile','Updated\x20personal\x20BFF\x20','file','trim','validation','str','Executed\x20personal\x20BFF\x20','14idjqcF','isArray','File\x20is\x20not\x20a\x20regular\x20file:\x20','Personal\x20BFF\x20script\x20ID','description','Personal\x20BFF\x20script\x20file\x20is\x20blank.','functionName','length','/client/runtime-bff/personal/'];a29_0x55ce=function(){return _0x442f14;};return a29_0x55ce();}import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0xf3b114(0x14f),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x160)},FUNCTION_NAME_FLAG={'name':a29_0xf3b114(0x165),'type':a29_0xf3b114(0x14a),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0xf3b114(0x158),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x148)},SOURCE_SESSION_FLAG={'name':a29_0xf3b114(0x16f),'type':'string','description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x3221de){const _0x3fee70=a29_0xf3b114,_0x500f17=String(_0x3221de||'')['trim']();if(!_0x500f17||!FUNCTION_NAME_PATTERN[_0x3fee70(0x14c)](_0x500f17))throw CliErrors[_0x3fee70(0x151)](_0x3fee70(0x146));return _0x500f17;}function readScriptFile(_0x56b004){const _0x240c0e=a29_0xf3b114;if(!_0x56b004)throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x164));if(!existsSync(_0x56b004))throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x166)+_0x56b004);if(!statSync(_0x56b004)[_0x240c0e(0x14d)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x156)+_0x56b004);const _0x220e46=readFileSync(_0x56b004,_0x240c0e(0x169));if(!_0x220e46[_0x240c0e(0x150)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x159));return _0x220e46;}function optionalTrimmed(_0x399e9f){const _0x1a0064=a29_0xf3b114,_0x4c38b6=String(_0x399e9f||'')[_0x1a0064(0x150)]();return _0x4c38b6||undefined;}function summarizeBff(_0x45e356){const _0xe0c96d=a29_0xf3b114;return{'id':_0x45e356['id'],'appCode':_0x45e356[_0xe0c96d(0x162)],'functionName':_0x45e356[_0xe0c96d(0x15a)],'description':_0x45e356[_0xe0c96d(0x158)],'scriptType':_0x45e356[_0xe0c96d(0x13e)],'version':_0x45e356['version'],'gmtModified':_0x45e356['gmtModified'],'updateTime':_0x45e356[_0xe0c96d(0x172)]};}function detailBff(_0x4ba6b5){const _0x4a974d=a29_0xf3b114;return{'id':_0x4ba6b5['id'],'appCode':_0x4ba6b5['appCode'],'functionName':_0x4ba6b5[_0x4a974d(0x15a)],'description':_0x4ba6b5[_0x4a974d(0x158)],'scriptType':_0x4ba6b5[_0x4a974d(0x13e)],'scriptContent':_0x4ba6b5[_0x4a974d(0x15f)]??'','config':_0x4ba6b5[_0x4a974d(0x167)],'version':_0x4ba6b5[_0x4a974d(0x170)],'createUserId':_0x4ba6b5[_0x4a974d(0x173)],'gmtCreate':_0x4ba6b5[_0x4a974d(0x16e)],'gmtModified':_0x4ba6b5[_0x4a974d(0x13f)],'createTime':_0x4ba6b5['createTime'],'updateTime':_0x4ba6b5['updateTime']};}function buildCreateInput(_0x37eb4f){const _0x3fbbf9=a29_0xf3b114;return{'functionName':normalizeFunctionName(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x165))),...optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))?{'description':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))}:{},'scriptContent':readScriptFile(_0x37eb4f['str'](_0x3fbbf9(0x14f))),...optionalTrimmed(_0x37eb4f['str'](_0x3fbbf9(0x16f)))?{'sourceSessionId':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x16f)))}:{}};}function buildUpdateInput(_0x10d6be){const _0x9000f7=a29_0xf3b114,_0x533073={};optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x165)))&&(_0x533073[_0x9000f7(0x15a)]=normalizeFunctionName(_0x10d6be['str'](_0x9000f7(0x165))));_0x10d6be[_0x9000f7(0x15e)](_0x9000f7(0x158))!==undefined&&(_0x533073['description']=_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x158)));optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x14f)))&&(_0x533073[_0x9000f7(0x15f)]=readScriptFile(_0x10d6be['str'](_0x9000f7(0x14f))));_0x10d6be[_0x9000f7(0x15e)]('source-session-id')!==undefined&&(_0x533073['sourceSessionId']=_0x10d6be['str'](_0x9000f7(0x16f)));if(Object['keys'](_0x533073)[_0x9000f7(0x15b)]===0x0)throw CliErrors[_0x9000f7(0x151)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x533073;}function parseExecParams(_0x1ea630){const _0x35825=a29_0xf3b114,_0x54b6a9=parseJsonParams(_0x1ea630)??{};if(Array[_0x35825(0x155)](_0x54b6a9))throw CliErrors[_0x35825(0x151)](_0x35825(0x161));return _0x54b6a9;}const personalBffList={'service':'personal-bff','command':a29_0xf3b114(0x13a),'description':a29_0xf3b114(0x13c),'risk':a29_0xf3b114(0x16a),'flags':[VERBOSE_FLAG],async 'execute'(_0x4c746c){const _0x5bfcf5=a29_0xf3b114,_0x3ce2bb=await listPersonalBffs(_0x4c746c[_0x5bfcf5(0x162)]);return{'ok':!![],'data':{'total':_0x3ce2bb['length'],'items':_0x4c746c['bool'](_0x5bfcf5(0x14b))?_0x3ce2bb:_0x3ce2bb['map'](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xf3b114(0x168),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a29_0xf3b114(0x16a),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x424b04){const _0xcacf0a=await getPersonalBff(_0x424b04['num']('id'),_0x424b04['appCode']);return{'ok':!![],'data':detailBff(_0xcacf0a)};}},personalBffCreate={'service':a29_0xf3b114(0x141),'command':a29_0xf3b114(0x171),'description':a29_0xf3b114(0x147),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x329764){const _0x1d0324=a29_0xf3b114,_0x567d36=buildCreateInput(_0x329764),_0x222b4d=await createPersonalBff(_0x329764[_0x1d0324(0x162)],_0x567d36);return{'ok':!![],'data':detailBff(_0x222b4d),'message':_0x1d0324(0x15d)+_0x222b4d['id']+(_0x222b4d[_0x1d0324(0x15a)]?'\x20('+_0x222b4d['functionName']+')':'')};},async 'dryRun'(_0x14a3be){const _0x5dac87=a29_0xf3b114,_0x1feb40=buildCreateInput(_0x14a3be);return dryRun(_0x5dac87(0x139),_0x5dac87(0x163))['body']({'appCode':_0x14a3be[_0x5dac87(0x162)],..._0x1feb40})[_0x5dac87(0x158)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x1feb40['functionName'])['build']();}},personalBffUpdate={'service':a29_0xf3b114(0x141),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':'write','flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23f82f){const _0x59380f=a29_0xf3b114,_0x1c440b=_0x23f82f[_0x59380f(0x149)]('id'),_0x23d11c=buildUpdateInput(_0x23f82f),_0x1b4449=await updatePersonalBff(_0x1c440b,_0x23f82f[_0x59380f(0x162)],_0x23d11c);return{'ok':!![],'data':detailBff(_0x1b4449),'message':_0x59380f(0x14e)+_0x1b4449['id']+(_0x1b4449[_0x59380f(0x15a)]?'\x20('+_0x1b4449[_0x59380f(0x15a)]+')':'')};},async 'dryRun'(_0x1cd6ec){const _0x4af141=a29_0xf3b114,_0x1c5fc3=_0x1cd6ec[_0x4af141(0x149)]('id'),_0x220072=buildUpdateInput(_0x1cd6ec);return dryRun(_0x4af141(0x139),_0x4af141(0x15c)+_0x1c5fc3+'/update')[_0x4af141(0x140)]({'appCode':_0x1cd6ec[_0x4af141(0x162)],..._0x220072})[_0x4af141(0x158)](_0x4af141(0x175)+_0x1c5fc3)['build']();}},personalBffExec={'service':a29_0xf3b114(0x141),'command':'exec','description':a29_0xf3b114(0x142),'risk':a29_0xf3b114(0x174),'flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...PARAMS_FLAG,'description':a29_0xf3b114(0x13b)}],async 'validate'(_0x479eeb){const _0x1e031b=a29_0xf3b114;parseExecParams(_0x479eeb[_0x1e031b(0x152)]('params'));},async 'execute'(_0x29ef5f){const _0x5b7777=a29_0xf3b114,_0x3ebbbb=_0x29ef5f[_0x5b7777(0x149)]('id'),_0x4ef997=parseExecParams(_0x29ef5f[_0x5b7777(0x152)]('params')),_0x35c68c=await executePersonalBff(_0x3ebbbb,_0x29ef5f['appCode'],_0x4ef997);return{'ok':!![],'data':{'result':_0x35c68c},'message':_0x5b7777(0x153)+_0x3ebbbb};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0xf83427=a30_0x3e38;(function(_0x528ff5,_0x47b5c5){const _0x2a870a=a30_0x3e38,_0x226529=_0x528ff5();while(!![]){try{const _0x490ef2=parseInt(_0x2a870a(0x1dd))/0x1*(-parseInt(_0x2a870a(0x1d8))/0x2)+-parseInt(_0x2a870a(0x1d2))/0x3*(-parseInt(_0x2a870a(0x1be))/0x4)+-parseInt(_0x2a870a(0x1da))/0x5+parseInt(_0x2a870a(0x1d3))/0x6+parseInt(_0x2a870a(0x1d0))/0x7+parseInt(_0x2a870a(0x1d5))/0x8+parseInt(_0x2a870a(0x1db))/0x9;if(_0x490ef2===_0x47b5c5)break;else _0x226529['push'](_0x226529['shift']());}catch(_0x462498){_0x226529['push'](_0x226529['shift']());}}}(a30_0x34ad,0x77556));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';function a30_0x3e38(_0x16aa38,_0x5b10e5){_0x16aa38=_0x16aa38-0x1b9;const _0x34ad0f=a30_0x34ad();let _0x3e38bf=_0x34ad0f[_0x16aa38];return _0x3e38bf;}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';function a30_0x34ad(){const _0x5890b9=['API\x20Documentation','login','BFF\x20Scripts','push','Schema','CLI\x20Built-in\x20Skill','Artifacts','Diagnostics','get','Self\x20Update','App\x20Management','list','2292304aBLRDX','Skills','18pJZsMv','2168208IybTAz','Workspace','5493712ExpSgr','isSingleCommand','Configuration','902IiipyA','risk','3930235adxEqs','362466xUSkyh','set','1221xidIkh','Datasets','Instant\x20API','install','\x20\x20[high-risk-write]','Logs','Authentication','273120XcdRyJ','read','command','\x20\x20[write]','Personal\x20BFF','service'];a30_0x34ad=function(){return _0x5890b9;};return a30_0x34ad();}import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5afc44){const _0x2f93e6=a30_0x3e38;for(const _0x16ad86 of _0x5afc44){definitions[_0x2f93e6(0x1dc)](_0x16ad86[_0x2f93e6(0x1c3)]+':'+_0x16ad86[_0x2f93e6(0x1c0)],_0x16ad86);let _0x3dd3ec=serviceGroups[_0x2f93e6(0x1cc)](_0x16ad86[_0x2f93e6(0x1c3)]);!_0x3dd3ec&&(_0x3dd3ec=[],serviceGroups[_0x2f93e6(0x1dc)](_0x16ad86[_0x2f93e6(0x1c3)],_0x3dd3ec)),_0x3dd3ec[_0x2f93e6(0x1c7)](_0x16ad86);}}function registerService(_0x38ea92,_0x4cb90f,_0x412d31){const _0x2330ed=a30_0x3e38;registerDefinitions(_0x4cb90f);const _0x3dbf98=_0x1e1b40=>_0x1e1b40===_0x2330ed(0x1bf)?'':_0x1e1b40==='write'?_0x2330ed(0x1c1):_0x2330ed(0x1bb),_0x28c016={'service':_0x4cb90f[0x0]['service'],'label':_0x38ea92,'commands':_0x4cb90f['map'](_0x2b982c=>({'command':_0x2b982c['command'],'description':_0x2b982c['description'],'tag':_0x3dbf98(_0x2b982c[_0x2330ed(0x1d9)])})),'defaultCommand':_0x412d31?.['defaultCommand']??(_0x412d31?.['isSingleCommand']?_0x4cb90f[0x0][_0x2330ed(0x1c0)]:undefined),'isSingleCommand':_0x412d31?.[_0x2330ed(0x1d6)]};serviceRegistry[_0x2330ed(0x1c7)](_0x28c016),serviceByName['set'](_0x28c016[_0x2330ed(0x1c3)],_0x28c016);}registerService(a30_0xf83427(0x1bd),authDefinitions,{'defaultCommand':a30_0xf83427(0x1c5)}),registerService(a30_0xf83427(0x1c4),apiDocDefinitions),registerService(a30_0xf83427(0x1de),datasetDefinitions),registerService(a30_0xf83427(0x1b9),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0xf83427(0x1c6),bffDefinitions),registerService(a30_0xf83427(0x1c2),personalBffDefinitions),registerService(a30_0xf83427(0x1ca),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0xf83427(0x1ce),appDefinitions,{'defaultCommand':'list'}),registerService(a30_0xf83427(0x1d4),workspaceDefinitions),registerService(a30_0xf83427(0x1d7),configDefinitions,{'defaultCommand':a30_0xf83427(0x1cf)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0xf83427(0x1d1),skillDefinitions,{'defaultCommand':a30_0xf83427(0x1ba)}),registerService(a30_0xf83427(0x1c9),cliSkillDefinitions,{'defaultCommand':a30_0xf83427(0x1ba)}),registerService(a30_0xf83427(0x1cd),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0xf83427(0x1cb),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0xf83427(0x1c8),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0xf83427(0x1bc),logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x687aff,_0x4a674a){const _0x5d1aae=a30_0xf83427;return definitions[_0x5d1aae(0x1cc)](_0x687aff+':'+_0x4a674a);}export function isKnownService(_0xc25075){return serviceByName['has'](_0xc25075);}export function getServiceEntry(_0x3d4e07){return serviceByName['get'](_0x3d4e07);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
1
+ const a30_0x3c54c4=a30_0x2638;(function(_0x393038,_0x36d29f){const _0x1e5776=a30_0x2638,_0x58c835=_0x393038();while(!![]){try{const _0x35939c=-parseInt(_0x1e5776(0x173))/0x1+-parseInt(_0x1e5776(0x152))/0x2+parseInt(_0x1e5776(0x150))/0x3+-parseInt(_0x1e5776(0x169))/0x4*(-parseInt(_0x1e5776(0x158))/0x5)+parseInt(_0x1e5776(0x161))/0x6*(parseInt(_0x1e5776(0x15e))/0x7)+parseInt(_0x1e5776(0x154))/0x8+-parseInt(_0x1e5776(0x171))/0x9*(parseInt(_0x1e5776(0x14c))/0xa);if(_0x35939c===_0x36d29f)break;else _0x58c835['push'](_0x58c835['shift']());}catch(_0x4b8987){_0x58c835['push'](_0x58c835['shift']());}}}(a30_0xdf99,0x6e1e7));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];function a30_0x2638(_0x5b3e0a,_0x5527a0){_0x5b3e0a=_0x5b3e0a-0x149;const _0xdf99ba=a30_0xdf99();let _0x26380a=_0xdf99ba[_0x5b3e0a];return _0x26380a;}const serviceByName=new Map();export const definitions=new Map();function a30_0xdf99(){const _0x12d447=['Datasets','list','4941981OWfhcQ','Self\x20Update','523294zFImtE','description','values','Service\x20Tree','App\x20Management','BFF\x20Scripts','10LXpNuZ','\x20\x20[high-risk-write]','risk','command','1337451CkOcxo','Knowledge\x20Base','928618KHGDEB','read','4744480bXldow','push','has','install','5zRFeFI','API\x20Documentation','show','Authentication','CLI\x20Built-in\x20Skill','Logs','1141252gWsxoI','Artifacts','get','6NVJzvN','Schema','Instant\x20API','run','from','Workspace','service','set','3143384nGCVlJ','Configuration','SQL\x20Queries','defaultCommand','Skills','isSingleCommand'];a30_0xdf99=function(){return _0x12d447;};return a30_0xdf99();}export const serviceGroups=new Map();function registerDefinitions(_0x3b487b){const _0x58778b=a30_0x2638;for(const _0x481a3a of _0x3b487b){definitions[_0x58778b(0x168)](_0x481a3a[_0x58778b(0x167)]+':'+_0x481a3a[_0x58778b(0x14f)],_0x481a3a);let _0x4b8038=serviceGroups[_0x58778b(0x160)](_0x481a3a[_0x58778b(0x167)]);!_0x4b8038&&(_0x4b8038=[],serviceGroups['set'](_0x481a3a[_0x58778b(0x167)],_0x4b8038)),_0x4b8038[_0x58778b(0x155)](_0x481a3a);}}function registerService(_0x20eae5,_0x3ce6bf,_0x5d1555){const _0x46e088=a30_0x2638;registerDefinitions(_0x3ce6bf);const _0x243c3a=_0x148d24=>_0x148d24===_0x46e088(0x153)?'':_0x148d24==='write'?'\x20\x20[write]':_0x46e088(0x14d),_0x19c2b8={'service':_0x3ce6bf[0x0][_0x46e088(0x167)],'label':_0x20eae5,'commands':_0x3ce6bf['map'](_0x36ffa6=>({'command':_0x36ffa6[_0x46e088(0x14f)],'description':_0x36ffa6[_0x46e088(0x174)],'tag':_0x243c3a(_0x36ffa6[_0x46e088(0x14e)])})),'defaultCommand':_0x5d1555?.[_0x46e088(0x16c)]??(_0x5d1555?.[_0x46e088(0x16e)]?_0x3ce6bf[0x0]['command']:undefined),'isSingleCommand':_0x5d1555?.[_0x46e088(0x16e)]};serviceRegistry[_0x46e088(0x155)](_0x19c2b8),serviceByName[_0x46e088(0x168)](_0x19c2b8[_0x46e088(0x167)],_0x19c2b8);}registerService(a30_0x3c54c4(0x15b),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x3c54c4(0x159),apiDocDefinitions),registerService(a30_0x3c54c4(0x16f),datasetDefinitions),registerService(a30_0x3c54c4(0x163),dataDefinitions),registerService(a30_0x3c54c4(0x16b),sqlDefinitions),registerService(a30_0x3c54c4(0x14b),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x3c54c4(0x15f),artifactDefinitions),registerService(a30_0x3c54c4(0x151),kbDefinitions),registerService(a30_0x3c54c4(0x14a),appDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3c54c4(0x166),workspaceDefinitions),registerService(a30_0x3c54c4(0x16a),configDefinitions,{'defaultCommand':a30_0x3c54c4(0x170)}),registerService(a30_0x3c54c4(0x149),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3c54c4(0x16d),skillDefinitions,{'defaultCommand':a30_0x3c54c4(0x157)}),registerService(a30_0x3c54c4(0x15c),cliSkillDefinitions,{'defaultCommand':a30_0x3c54c4(0x157)}),registerService(a30_0x3c54c4(0x172),[updateDefinition],{'defaultCommand':a30_0x3c54c4(0x164),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x3c54c4(0x162),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x3c54c4(0x15d),logsDefinitions,{'defaultCommand':a30_0x3c54c4(0x15a)});export function findDefinition(_0x42aeef,_0x3f82b1){const _0x64636a=a30_0x3c54c4;return definitions[_0x64636a(0x160)](_0x42aeef+':'+_0x3f82b1);}export function isKnownService(_0x1ed1d0){const _0x41a9fb=a30_0x3c54c4;return serviceByName[_0x41a9fb(0x156)](_0x1ed1d0);}export function getServiceEntry(_0x1fbe9b){const _0xfa06dd=a30_0x3c54c4;return serviceByName[_0xfa06dd(0x160)](_0x1fbe9b);}export function getAllDefinitions(){const _0x593771=a30_0x3c54c4;return Array[_0x593771(0x165)](definitions[_0x593771(0x175)]());}
@@ -1 +1 @@
1
- const a31_0x303070=a31_0x167c;(function(_0x3a87a4,_0x567efd){const _0x183e69=a31_0x167c,_0x4065cf=_0x3a87a4();while(!![]){try{const _0x4ad9aa=-parseInt(_0x183e69(0x1ea))/0x1+parseInt(_0x183e69(0x1ec))/0x2*(parseInt(_0x183e69(0x1eb))/0x3)+-parseInt(_0x183e69(0x1e5))/0x4*(parseInt(_0x183e69(0x1e8))/0x5)+-parseInt(_0x183e69(0x1e2))/0x6+parseInt(_0x183e69(0x1e4))/0x7+parseInt(_0x183e69(0x1e9))/0x8+-parseInt(_0x183e69(0x1e3))/0x9*(-parseInt(_0x183e69(0x1e7))/0xa);if(_0x4ad9aa===_0x567efd)break;else _0x4065cf['push'](_0x4065cf['shift']());}catch(_0x1b2219){_0x4065cf['push'](_0x4065cf['shift']());}}}(a31_0x11a8,0xefe7a));function a31_0x167c(_0x1d9754,_0xfebef5){_0x1d9754=_0x1d9754-0x1e1;const _0x11a83a=a31_0x11a8();let _0x167c73=_0x11a83a[_0x1d9754];return _0x167c73;}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x11a8(){const _0x97c06c=['12950aomcKP','1278275AOimzY','12273224HNFfCS','82491mVDTEL','954FhXMDD','710qJUjKZ','export','7540560VTKvYi','2043oSJIBl','11614176GDEboE','20NbtjLM','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a31_0x11a8=function(){return _0x97c06c;};return a31_0x11a8();}async function execute(_0x79f49a){const _0xd5bc7e=await buildSchemaPayload();return{'ok':!![],'data':_0xd5bc7e};}export const schemaDefinition={'service':'schema','command':a31_0x303070(0x1e1),'description':a31_0x303070(0x1e6),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a31_0x385e06=a31_0x4c6b;(function(_0xf16748,_0x30cfb4){const _0x558886=a31_0x4c6b,_0x504244=_0xf16748();while(!![]){try{const _0xec89c=parseInt(_0x558886(0xf9))/0x1*(-parseInt(_0x558886(0xf6))/0x2)+parseInt(_0x558886(0xff))/0x3*(parseInt(_0x558886(0x100))/0x4)+parseInt(_0x558886(0xf8))/0x5+-parseInt(_0x558886(0xfc))/0x6*(parseInt(_0x558886(0xfd))/0x7)+parseInt(_0x558886(0xfb))/0x8+-parseInt(_0x558886(0xfa))/0x9*(parseInt(_0x558886(0xfe))/0xa)+parseInt(_0x558886(0xf5))/0xb*(parseInt(_0x558886(0xf4))/0xc);if(_0xec89c===_0x30cfb4)break;else _0x504244['push'](_0x504244['shift']());}catch(_0x367fc4){_0x504244['push'](_0x504244['shift']());}}}(a31_0x4863,0xdc64f));function a31_0x4c6b(_0x38b4ee,_0x2c180c){_0x38b4ee=_0x38b4ee-0xf4;const _0x48630c=a31_0x4863();let _0x4c6bb8=_0x48630c[_0x38b4ee];return _0x4c6bb8;}function a31_0x4863(){const _0xb21519=['1233qpguHJ','6516LqYEhM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','105396ibjEmu','1826VDakhZ','3622GQAXZt','read','6964320eGnXum','907NSiGMn','735822XzOtke','13869872IiItcM','6pJrfbj','9232279VzMgqZ','170cTuRQE'];a31_0x4863=function(){return _0xb21519;};return a31_0x4863();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5382af){const _0x508588=await buildSchemaPayload();return{'ok':!![],'data':_0x508588};}export const schemaDefinition={'service':'schema','command':'export','description':a31_0x385e06(0x101),'risk':a31_0x385e06(0xf7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x227619,_0x191437){const _0x8e1c4c=a32_0x4f32,_0x57d2b8=_0x227619();while(!![]){try{const _0x1bfe7e=-parseInt(_0x8e1c4c(0x105))/0x1*(-parseInt(_0x8e1c4c(0x139))/0x2)+-parseInt(_0x8e1c4c(0x13a))/0x3+parseInt(_0x8e1c4c(0x10e))/0x4*(-parseInt(_0x8e1c4c(0x135))/0x5)+-parseInt(_0x8e1c4c(0x126))/0x6*(parseInt(_0x8e1c4c(0x10a))/0x7)+parseInt(_0x8e1c4c(0x148))/0x8+-parseInt(_0x8e1c4c(0x128))/0x9*(parseInt(_0x8e1c4c(0x13f))/0xa)+parseInt(_0x8e1c4c(0x123))/0xb;if(_0x1bfe7e===_0x191437)break;else _0x57d2b8['push'](_0x57d2b8['shift']());}catch(_0x204ba9){_0x57d2b8['push'](_0x57d2b8['shift']());}}}(a32_0xcc25,0x5e06a));function a32_0xcc25(){const _0x34b487=['userId','employeeId','SERVICE_TREE','command','nickname','enum','Cannot\x20resolve\x20datatable\x20\x22','bffId','service','Unknown\x20appRef\x20\x22','Run\x20service\x20command\x20','normalizedManifest','target','cliPath','datasetCode','padEnd','`\x20to\x20inspect\x20the\x20manifest.','description','\x20\x20MAP\x20TO','kind','slice','data','ctx.','cliName','app','required','envName','\x20requires\x20target.sqlCode.','source','flags','env','context.','args','number','bff','some','1xSEszO','nickName','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','map','default','483427LKaLiC','risk','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','12tJTSSf','Unsupported\x20service\x20target\x20kind:\x20','datatable','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','loginName','join','\x20\x20\x20\x20scriptName:\x20','validation','rawFlags','\x20\x20\x20\x20command:\x20','entries','appcode','operator','userName','params','tenantCode','\x20<command>\x20[flags]','json','\x20\x20\x20\x20kind:\x20\x20\x20\x20','find','push','5440281eHBaei','appRef','name','66wdouXk','tree','9tYyKCF','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','scriptName','commands','sqlCode','appCode','code','mapTo','remainingArgs','\x20\x20\x20\x20datatable:\x20','appBindings','90325HzfVTA','\x20\x20[','bffCode','\x20completed\x20in\x20','1231032fXQQMk','79419VaAfhy','string','trim','Preview\x20dynamic\x20service\x20command:\x20','read','5007910OyvFrn','Use\x20`','flatMap','startsWith','const','now','\x20requires\x20target.scriptName.','length','fromEntries','4929384qIXlqm','Service\x20command\x20','fullPath','type'];a32_0xcc25=function(){return _0x34b487;};return a32_0xcc25();}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(_0x42eb4c,_0x27bf63){const _0x2e6b4f=a32_0x4f32,_0x2a4fda=listLocalServiceTrees();let _0x1f1884;for(const _0x2374d5 of _0x2a4fda){const _0x58f4e7=matchServiceTreeCommand(_0x2374d5,_0x42eb4c);if(!_0x58f4e7)continue;(!_0x1f1884||_0x58f4e7[_0x2e6b4f(0x14f)][_0x2e6b4f(0x14a)][_0x2e6b4f(0x146)]>_0x1f1884[_0x2e6b4f(0x14f)][_0x2e6b4f(0x14a)][_0x2e6b4f(0x146)])&&(_0x1f1884={'tree':_0x2374d5,'command':_0x58f4e7[_0x2e6b4f(0x14f)],'remainingArgs':_0x58f4e7[_0x2e6b4f(0x132)]});}if(!_0x1f1884)return undefined;const _0x2f05ac={..._0x27bf63};return applyAppBinding(_0x1f1884[_0x2e6b4f(0x127)],_0x1f1884['command'],_0x2f05ac),{'definition':buildDynamicCommandDefinition(_0x1f1884[_0x2e6b4f(0x127)],_0x1f1884[_0x2e6b4f(0x14f)]),'args':_0x1f1884['remainingArgs'],'flags':_0x2f05ac,'tree':_0x1f1884[_0x2e6b4f(0x127)],'command':_0x1f1884[_0x2e6b4f(0x14f)]};}export function generateDynamicServiceHelp(_0x24a81d){const _0xabbb80=a32_0x4f32,_0x5d75da=listLocalServiceTrees()['find'](_0xcaa68=>_0xcaa68[_0xabbb80(0x154)]['code']===_0x24a81d);if(!_0x5d75da)return undefined;const _0xdd0ca1=[CLI_BIN_NAME+'\x20'+_0x24a81d+_0xabbb80(0x11e),'',_0x5d75da[_0xabbb80(0x154)][_0xabbb80(0x125)]||_0x24a81d,_0x5d75da[_0xabbb80(0x154)][_0xabbb80(0xf2)]?'\x20\x20'+_0x5d75da[_0xabbb80(0x154)]['description']:'','','Commands:',..._0x5d75da[_0xabbb80(0x12d)][_0xabbb80(0x108)](_0x53e5be=>{const _0x52b0a9=_0xabbb80,_0x3b2552=_0x53e5be[_0x52b0a9(0x14a)][_0x52b0a9(0xf5)](0x1)[_0x52b0a9(0x113)]('\x20'),_0x30fc28=_0x53e5be[_0x52b0a9(0x10b)]===_0x52b0a9(0x13e)?'':'\x20['+_0x53e5be[_0x52b0a9(0x10b)]+']';return'\x20\x20'+_0x3b2552[_0x52b0a9(0xf0)](0x18)+'\x20'+(_0x53e5be[_0x52b0a9(0xf2)]||'')+_0x30fc28;}),'',_0xabbb80(0x140)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x24a81d+_0xabbb80(0xf1)][_0xabbb80(0x10c)](Boolean);return _0xdd0ca1[_0xabbb80(0x113)]('\x0a');}export function listDynamicServiceEntries(){const _0x1d1fee=a32_0x4f32;return listLocalServices()[_0x1d1fee(0x108)](_0x59174a=>{const _0x3aac07=_0x1d1fee,_0x37545e=_0x59174a[_0x3aac07(0xec)];return{'service':_0x37545e[_0x3aac07(0x154)][_0x3aac07(0x130)],'label':_0x37545e[_0x3aac07(0x154)]['name']||_0x37545e[_0x3aac07(0x154)][_0x3aac07(0x130)],'commands':_0x37545e[_0x3aac07(0x12d)][_0x3aac07(0x108)](_0x3ff909=>({'command':dynamicCommandName(_0x3ff909),'description':_0x3ff909[_0x3aac07(0xf2)]||_0x3aac07(0xeb)+_0x3ff909['cliPath'],'tag':riskTag(_0x3ff909[_0x3aac07(0x10b)])}))};});}export function getDynamicServiceEntry(_0x21bd65){return listDynamicServiceEntries()['find'](_0x28b478=>_0x28b478['service']===_0x21bd65);}export function listDynamicServiceDefinitions(_0x1913d2){const _0x63e513=a32_0x4f32;return listLocalServiceTrees()[_0x63e513(0x10c)](_0x1d9927=>!_0x1913d2||_0x1d9927['service'][_0x63e513(0x130)]===_0x1913d2)[_0x63e513(0x141)](_0x28786a=>_0x28786a['commands'][_0x63e513(0x108)](_0x2a5b67=>buildDynamicCommandDefinition(_0x28786a,_0x2a5b67)));}export function getDynamicServiceDefinitions(_0x45c255){const _0x3172ed=a32_0x4f32,_0x235f78=listDynamicServiceDefinitions(_0x45c255);return _0x235f78[_0x3172ed(0x146)]>0x0?_0x235f78:undefined;}export function findDynamicServiceDefinition(_0x505122,_0x1ba6ad){const _0x1d6f5e=a32_0x4f32;return listDynamicServiceDefinitions(_0x505122)['find'](_0x1b2fa1=>_0x1b2fa1[_0x1d6f5e(0x14f)]===_0x1ba6ad);}export function buildDynamicCommandDefinition(_0x1bf43d,_0x4d484c){const _0x55d75a=a32_0x4f32;return{'service':_0x1bf43d[_0x55d75a(0x154)][_0x55d75a(0x130)],'command':dynamicCommandName(_0x4d484c),'description':_0x4d484c[_0x55d75a(0xf2)]||_0x55d75a(0xeb)+_0x4d484c['cliPath'],'risk':_0x4d484c[_0x55d75a(0x10b)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4d484c[_0x55d75a(0x101)]['map'](_0x329bfa=>({'name':_0x329bfa[_0x55d75a(0x125)],'description':_0x329bfa['description']||_0x329bfa['name'],'required':_0x329bfa['required']})),'flags':_0x4d484c[_0x55d75a(0xfe)][_0x55d75a(0x108)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4d484c),async 'dryRun'(_0x56236e){const _0x503ac1=_0x55d75a,_0x1c51d9=await compilePlan(_0x4d484c,_0x56236e);return{'method':_0x503ac1(0x14e),'url':_0x4d484c[_0x503ac1(0xee)],'body':{'target':targetPreview(_0x1c51d9),'params':_0x1c51d9[_0x503ac1(0x11c)]},'description':_0x503ac1(0x13d)+_0x4d484c['cliPath']};},async 'execute'(_0x29eda6){const _0x20dd03=_0x55d75a,_0x1c5e41=await compilePlan(_0x4d484c,_0x29eda6),_0x2c487d=Date[_0x20dd03(0x144)](),_0x42d982=await executePlan(_0x1c5e41,_0x4d484c,_0x29eda6),_0x51397b=Date[_0x20dd03(0x144)]()-_0x2c487d;return{'ok':!![],'data':{'service':_0x1bf43d[_0x20dd03(0x154)],'command':_0x4d484c[_0x20dd03(0xee)],'target':targetPreview(_0x1c5e41),'result':_0x42d982,'elapsed':_0x51397b},'message':_0x20dd03(0x149)+_0x4d484c['cliPath']+_0x20dd03(0x138)+_0x51397b+'ms'};}};}function dynamicCommandName(_0x864cac){const _0xc931f0=a32_0x4f32;return _0x864cac[_0xc931f0(0x14a)][_0xc931f0(0xf5)](0x1)[_0xc931f0(0x113)]('\x20');}function riskTag(_0x314fca){const _0x55c0ed=a32_0x4f32;return _0x314fca===_0x55c0ed(0x13e)?'':_0x55c0ed(0x136)+_0x314fca+']';}function flagToCommandFlag(_0x2fa417){const _0x377a75=a32_0x4f32;return{'name':_0x2fa417[_0x377a75(0xf8)],'type':_0x2fa417[_0x377a75(0x14b)]===_0x377a75(0x11f)?'string':_0x2fa417['type'],'description':_0x2fa417['description']||_0x2fa417['name'],'required':_0x2fa417[_0x377a75(0xfa)],'default':isPrimitiveFlagDefault(_0x2fa417[_0x377a75(0x109)])?_0x2fa417[_0x377a75(0x109)]:undefined,'enum':_0x2fa417[_0x377a75(0x151)]};}function a32_0x4f32(_0x5036e1,_0x7df6f9){_0x5036e1=_0x5036e1-0xea;const _0xcc25d5=a32_0xcc25();let _0x4f323f=_0xcc25d5[_0x5036e1];return _0x4f323f;}async function compilePlan(_0x307c91,_0x1d37c7){const _0x2fed2d=a32_0x4f32;return compileServiceTreeCommand(_0x307c91,{'flags':_0x1d37c7[_0x2fed2d(0x116)],'args':_0x1d37c7['args'],'context':await buildServiceContext(_0x307c91,_0x1d37c7)});}async function buildServiceContext(_0x2f360c,_0x1d8d66){const _0x377fc5=a32_0x4f32,_0x34dd64={'appCode':_0x1d8d66[_0x377fc5(0x12f)],'env':_0x1d8d66[_0x377fc5(0xfb)],'envName':_0x1d8d66['envName']};if(!usesRuntimeContext(_0x2f360c))return _0x34dd64;const _0x56cda4=await getLoginUserInfo(),_0x1769a9=pickFirst(_0x56cda4[_0x377fc5(0x14c)],_0x56cda4['id']);return{..._0x34dd64,'user':_0x56cda4,'userId':_0x1769a9,'id':_0x56cda4['id'],'username':pickFirst(_0x56cda4['username'],_0x56cda4[_0x377fc5(0x11b)],_0x56cda4[_0x377fc5(0x112)]),'userName':_0x56cda4['userName'],'nickname':pickFirst(_0x56cda4[_0x377fc5(0x150)],_0x56cda4[_0x377fc5(0x106)]),'nickName':_0x56cda4[_0x377fc5(0x106)],'tenantCode':_0x56cda4[_0x377fc5(0x11d)],'employeeId':_0x56cda4[_0x377fc5(0x14d)]};}function usesRuntimeContext(_0x59ec12){const _0x44f02f=a32_0x4f32;return _0x59ec12['mapTo'][_0x44f02f(0x104)](_0x23fc56=>typeof _0x23fc56['source']==='string'&&(_0x23fc56[_0x44f02f(0xfd)][_0x44f02f(0x142)](_0x44f02f(0x100))||_0x23fc56[_0x44f02f(0xfd)][_0x44f02f(0x142)](_0x44f02f(0xf7))));}function pickFirst(..._0x13d52c){const _0x4a6fb6=a32_0x4f32;return _0x13d52c[_0x4a6fb6(0x121)](_0x1e09de=>_0x1e09de!==undefined&&_0x1e09de!==null);}async function executePlan(_0x4972f0,_0x28de43,_0x1cc318){const _0x1130c1=a32_0x4f32;if(_0x4972f0[_0x1130c1(0xf4)]===_0x1130c1(0xf6)){const _0x4f563b=await resolveDatasetCode(_0x4972f0,_0x28de43,_0x1cc318);return executeData(_0x4f563b,_0x4972f0[_0x1130c1(0x14f)],_0x4972f0[_0x1130c1(0x11c)]);}if(_0x4972f0[_0x1130c1(0xf4)]==='sql'){if(!_0x4972f0[_0x1130c1(0x12e)])throw CliErrors['validation'](_0x1130c1(0x149)+_0x28de43[_0x1130c1(0xee)]+_0x1130c1(0xfc));return executeSdkSql(_0x4972f0[_0x1130c1(0x12e)],normalizeScalarParams(_0x4972f0[_0x1130c1(0x11c)]));}if(_0x4972f0[_0x1130c1(0xf4)]===_0x1130c1(0x103)){const _0x25c780=_0x4972f0[_0x1130c1(0x12c)]||_0x4972f0[_0x1130c1(0x137)]||(_0x4972f0[_0x1130c1(0x153)]==null?'':String(_0x4972f0[_0x1130c1(0x153)]));if(!_0x25c780)throw CliErrors['validation'](_0x1130c1(0x149)+_0x28de43[_0x1130c1(0xee)]+_0x1130c1(0x145));return executeSdkBff(_0x25c780,_0x4972f0[_0x1130c1(0x11c)]);}throw CliErrors[_0x1130c1(0x115)](_0x1130c1(0x10f)+_0x4972f0[_0x1130c1(0xf4)]);}async function resolveDatasetCode(_0x624002,_0x3cd99f,_0x55729f){const _0x6cf529=a32_0x4f32;if(_0x624002[_0x6cf529(0xef)])return _0x624002['datasetCode'];if(!_0x624002[_0x6cf529(0x110)])throw CliErrors['validation'](_0x6cf529(0x149)+_0x3cd99f['cliPath']+_0x6cf529(0x107));const _0x49a8f6=await listDatasets(_0x55729f[_0x6cf529(0x12f)]),_0x431c56=_0x49a8f6[_0x6cf529(0x121)](_0x51ddf0=>_0x51ddf0[_0x6cf529(0x12a)]?.['tableName']===_0x624002[_0x6cf529(0x110)]);if(!_0x431c56?.[_0x6cf529(0x130)])throw CliErrors[_0x6cf529(0x115)](_0x6cf529(0x152)+_0x624002[_0x6cf529(0x110)]+_0x6cf529(0x111)+_0x55729f[_0x6cf529(0x12f)]+'.',_0x6cf529(0x10d));return _0x431c56[_0x6cf529(0x130)];}function applyAppBinding(_0x4d3857,_0x530ee0,_0x321854){const _0x4527cc=a32_0x4f32,_0x31b6b5=_0x530ee0[_0x4527cc(0xed)][_0x4527cc(0x124)];if(!_0x31b6b5)return;const _0x1087bd=_0x4d3857[_0x4527cc(0x134)][_0x31b6b5];if(!_0x1087bd)throw CliErrors[_0x4527cc(0x115)](_0x4527cc(0xea)+_0x31b6b5+'\x22\x20in\x20service\x20command\x20'+_0x530ee0[_0x4527cc(0xee)]+'.',_0x4527cc(0x12b));const _0x383a58=_0x1087bd[_0x4527cc(0x119)]||_0x1087bd[_0x4527cc(0x12f)];_0x383a58&&!hasText(_0x321854[_0x4527cc(0x119)])&&(_0x321854[_0x4527cc(0x119)]=_0x383a58),_0x1087bd['app']&&!hasText(_0x321854[_0x4527cc(0xf9)])&&!hasText(_0x321854[_0x4527cc(0x119)])&&(_0x321854[_0x4527cc(0xf9)]=_0x1087bd['app']),_0x1087bd[_0x4527cc(0xff)]&&!hasText(_0x321854[_0x4527cc(0xff)])&&(_0x321854['env']=_0x1087bd[_0x4527cc(0xff)]);}function renderDynamicCommandHelp(_0x511619){const _0x1a6d2d=a32_0x4f32,_0x1d45e8=[_0x1a6d2d(0x129),_0x1a6d2d(0x120)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0xf4)],_0x1a6d2d(0x117)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x14f)]];if(_0x511619[_0x1a6d2d(0xed)]['datasetCode'])_0x1d45e8['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0xef)]);if(_0x511619['target']['datatable'])_0x1d45e8[_0x1a6d2d(0x122)](_0x1a6d2d(0x133)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x110)]);if(_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12e)])_0x1d45e8[_0x1a6d2d(0x122)]('\x20\x20\x20\x20sqlCode:\x20'+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12e)]);if(_0x511619[_0x1a6d2d(0xed)]['scriptName'])_0x1d45e8[_0x1a6d2d(0x122)](_0x1a6d2d(0x114)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12c)]);if(_0x511619[_0x1a6d2d(0x131)]['length']>0x0){_0x1d45e8[_0x1a6d2d(0x122)]('',_0x1a6d2d(0xf3));for(const _0x11e67d of _0x511619[_0x1a6d2d(0x131)]){_0x1d45e8[_0x1a6d2d(0x122)]('\x20\x20\x20\x20'+(_0x11e67d[_0x1a6d2d(0xfd)]||_0x1a6d2d(0x143))+'\x20->\x20'+_0x11e67d[_0x1a6d2d(0xed)]+(_0x11e67d[_0x1a6d2d(0x11a)]?'.'+_0x11e67d[_0x1a6d2d(0x11a)]:''));}}return _0x1d45e8['join']('\x0a');}function targetPreview(_0x3e0938){const _0x4f048a=a32_0x4f32;return{'kind':_0x3e0938[_0x4f048a(0xf4)],'command':_0x3e0938[_0x4f048a(0x14f)],'appRef':_0x3e0938[_0x4f048a(0x124)],'datasetCode':_0x3e0938[_0x4f048a(0xef)],'datatable':_0x3e0938[_0x4f048a(0x110)],'sqlCode':_0x3e0938[_0x4f048a(0x12e)],'bffCode':_0x3e0938[_0x4f048a(0x137)],'bffId':_0x3e0938[_0x4f048a(0x153)],'scriptName':_0x3e0938[_0x4f048a(0x12c)]};}function normalizeScalarParams(_0x32f2d0){const _0x316c46=a32_0x4f32;return Object[_0x316c46(0x147)](Object[_0x316c46(0x118)](_0x32f2d0)[_0x316c46(0x10c)](([,_0x5bc03a])=>typeof _0x5bc03a==='string'||typeof _0x5bc03a===_0x316c46(0x102)));}function hasText(_0x492772){const _0x7a203f=a32_0x4f32;return typeof _0x492772===_0x7a203f(0x13b)&&_0x492772[_0x7a203f(0x13c)]()[_0x7a203f(0x146)]>0x0;}function isPrimitiveFlagDefault(_0x393e36){const _0x241ac6=a32_0x4f32;return _0x393e36===undefined||typeof _0x393e36===_0x241ac6(0x13b)||typeof _0x393e36===_0x241ac6(0x102)||typeof _0x393e36==='boolean';}
1
+ (function(_0x3c26f3,_0x30db5c){const _0x5e2560=a32_0x4279,_0xb26ab4=_0x3c26f3();while(!![]){try{const _0xe97426=-parseInt(_0x5e2560(0x11a))/0x1*(-parseInt(_0x5e2560(0x111))/0x2)+-parseInt(_0x5e2560(0x138))/0x3+-parseInt(_0x5e2560(0x114))/0x4+-parseInt(_0x5e2560(0x157))/0x5+parseInt(_0x5e2560(0x102))/0x6+parseInt(_0x5e2560(0x133))/0x7*(parseInt(_0x5e2560(0x156))/0x8)+-parseInt(_0x5e2560(0x108))/0x9*(-parseInt(_0x5e2560(0x118))/0xa);if(_0xe97426===_0x30db5c)break;else _0xb26ab4['push'](_0xb26ab4['shift']());}catch(_0x511f36){_0xb26ab4['push'](_0xb26ab4['shift']());}}}(a32_0x11eb,0xe3519));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x70644f,_0x406deb){const _0x5c061f=a32_0x4279,_0x4463b2=listLocalServiceTrees();let _0x3d2171;for(const _0x1814f5 of _0x4463b2){const _0x4b6253=matchServiceTreeCommand(_0x1814f5,_0x70644f);if(!_0x4b6253)continue;(!_0x3d2171||_0x4b6253[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)]>_0x3d2171[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)])&&(_0x3d2171={'tree':_0x1814f5,'command':_0x4b6253[_0x5c061f(0x12e)],'remainingArgs':_0x4b6253[_0x5c061f(0x142)]});}if(!_0x3d2171)return undefined;const _0xf16037={..._0x406deb};return applyAppBinding(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171['command'],_0xf16037),{'definition':buildDynamicCommandDefinition(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171[_0x5c061f(0x12e)]),'args':_0x3d2171[_0x5c061f(0x142)],'flags':_0xf16037,'tree':_0x3d2171[_0x5c061f(0x15a)],'command':_0x3d2171[_0x5c061f(0x12e)]};}export function generateDynamicServiceHelp(_0x506495){const _0x308c4c=a32_0x4279,_0x2bfb97=listLocalServiceTrees()['find'](_0x4e76c3=>_0x4e76c3['service']['code']===_0x506495);if(!_0x2bfb97)return undefined;const _0x1fa1c3=[CLI_BIN_NAME+'\x20'+_0x506495+_0x308c4c(0x129),'',_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x163)]||_0x506495,_0x2bfb97[_0x308c4c(0xf8)]['description']?'\x20\x20'+_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x112)]:'','',_0x308c4c(0x13e),..._0x2bfb97[_0x308c4c(0x149)][_0x308c4c(0x124)](_0x2b3ad1=>{const _0x1a2925=_0x308c4c,_0x5d086e=_0x2b3ad1['fullPath']['slice'](0x1)[_0x1a2925(0x119)]('\x20'),_0xe6ff7=_0x2b3ad1[_0x1a2925(0x140)]===_0x1a2925(0x106)?'':'\x20['+_0x2b3ad1[_0x1a2925(0x140)]+']';return'\x20\x20'+_0x5d086e[_0x1a2925(0x115)](0x18)+'\x20'+(_0x2b3ad1[_0x1a2925(0x112)]||'')+_0xe6ff7;}),'','Use\x20`'+CLI_BIN_NAME+_0x308c4c(0x14a)+_0x506495+_0x308c4c(0x146)]['filter'](Boolean);return _0x1fa1c3['join']('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1d4e89=>{const _0x43315d=a32_0x4279,_0xc012ea=_0x1d4e89[_0x43315d(0x122)];return{'service':_0xc012ea['service'][_0x43315d(0x103)],'label':_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x163)]||_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x103)],'commands':_0xc012ea['commands']['map'](_0x40f98b=>({'command':dynamicCommandName(_0x40f98b),'description':_0x40f98b['description']||_0x43315d(0x11d)+_0x40f98b[_0x43315d(0x14d)],'tag':riskTag(_0x40f98b[_0x43315d(0x140)])}))};});}export function getDynamicServiceEntry(_0x203d8f){const _0x1ccf59=a32_0x4279;return listDynamicServiceEntries()[_0x1ccf59(0x145)](_0x22a3df=>_0x22a3df[_0x1ccf59(0xf8)]===_0x203d8f);}export function listDynamicServiceDefinitions(_0x1f8114){const _0x31faea=a32_0x4279;return listLocalServiceTrees()[_0x31faea(0x107)](_0x10e37b=>!_0x1f8114||_0x10e37b[_0x31faea(0xf8)][_0x31faea(0x103)]===_0x1f8114)[_0x31faea(0x12b)](_0x1b84cd=>_0x1b84cd[_0x31faea(0x149)]['map'](_0xc53c89=>buildDynamicCommandDefinition(_0x1b84cd,_0xc53c89)));}export function getDynamicServiceDefinitions(_0x209ee1){const _0x15617f=listDynamicServiceDefinitions(_0x209ee1);return _0x15617f['length']>0x0?_0x15617f:undefined;}export function findDynamicServiceDefinition(_0x2e044b,_0xf0eab3){const _0x555546=a32_0x4279;return listDynamicServiceDefinitions(_0x2e044b)[_0x555546(0x145)](_0x3fc1d2=>_0x3fc1d2['command']===_0xf0eab3);}export function buildDynamicCommandDefinition(_0x371d38,_0x5090a0){const _0x2f6910=a32_0x4279;return{'service':_0x371d38[_0x2f6910(0xf8)][_0x2f6910(0x103)],'command':dynamicCommandName(_0x5090a0),'description':_0x5090a0[_0x2f6910(0x112)]||_0x2f6910(0x11d)+_0x5090a0[_0x2f6910(0x14d)],'risk':_0x5090a0[_0x2f6910(0x140)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5090a0[_0x2f6910(0x12d)][_0x2f6910(0x124)](_0xaa409a=>({'name':_0xaa409a[_0x2f6910(0x163)],'description':_0xaa409a[_0x2f6910(0x112)]||_0xaa409a[_0x2f6910(0x163)],'required':_0xaa409a['required']})),'flags':_0x5090a0[_0x2f6910(0x105)][_0x2f6910(0x124)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5090a0),async 'dryRun'(_0x537dbe){const _0x48860e=_0x2f6910,_0x51c7f1=await compilePlan(_0x5090a0,_0x537dbe);return{'method':_0x48860e(0x10b),'url':_0x5090a0[_0x48860e(0x14d)],'body':{'target':targetPreview(_0x51c7f1),'params':_0x51c7f1[_0x48860e(0x15f)]},'description':_0x48860e(0x137)+_0x5090a0[_0x48860e(0x14d)]};},async 'execute'(_0x901899){const _0x5689dd=_0x2f6910,_0x1fac36=await compilePlan(_0x5090a0,_0x901899),_0x260079=Date[_0x5689dd(0xfe)](),_0x557e18=await executePlan(_0x1fac36,_0x5090a0,_0x901899),_0x3d995d=Date['now']()-_0x260079;return{'ok':!![],'data':{'service':_0x371d38[_0x5689dd(0xf8)],'command':_0x5090a0['cliPath'],'target':targetPreview(_0x1fac36),'result':_0x557e18,'elapsed':_0x3d995d},'message':_0x5689dd(0x162)+_0x5090a0[_0x5689dd(0x14d)]+_0x5689dd(0x117)+_0x3d995d+'ms'};}};}function dynamicCommandName(_0x2e8d86){const _0x1c2c3b=a32_0x4279;return _0x2e8d86['fullPath'][_0x1c2c3b(0x13f)](0x1)[_0x1c2c3b(0x119)]('\x20');}function riskTag(_0x17c1d5){const _0x247fc0=a32_0x4279;return _0x17c1d5===_0x247fc0(0x106)?'':'\x20\x20['+_0x17c1d5+']';}function flagToCommandFlag(_0x5095b3){const _0x456c93=a32_0x4279;return{'name':_0x5095b3[_0x456c93(0x123)],'type':_0x5095b3[_0x456c93(0x135)]===_0x456c93(0x13c)?_0x456c93(0x153):_0x5095b3[_0x456c93(0x135)],'description':_0x5095b3[_0x456c93(0x112)]||_0x5095b3[_0x456c93(0x163)],'required':_0x5095b3[_0x456c93(0x15e)],'default':isPrimitiveFlagDefault(_0x5095b3[_0x456c93(0x159)])?_0x5095b3[_0x456c93(0x159)]:undefined,'enum':_0x5095b3[_0x456c93(0x109)]};}async function compilePlan(_0x56afa7,_0x3c6272){const _0x473e66=a32_0x4279;return compileServiceTreeCommand(_0x56afa7,{'flags':_0x3c6272[_0x473e66(0x152)],'args':_0x3c6272[_0x473e66(0x12d)],'context':await buildServiceContext(_0x56afa7,_0x3c6272)});}async function buildServiceContext(_0x3938a9,_0x271901){const _0x2b24e8=a32_0x4279,_0x1341a7={'appCode':_0x271901[_0x2b24e8(0x113)],'env':_0x271901['envName'],'envName':_0x271901[_0x2b24e8(0xf7)]};if(!usesRuntimeContext(_0x3938a9))return _0x1341a7;const _0x355011=await getLoginUserInfo(),_0x26f11a=pickFirst(_0x355011[_0x2b24e8(0x10d)],_0x355011['id']);return{..._0x1341a7,'user':_0x355011,'userId':_0x26f11a,'id':_0x355011['id'],'username':pickFirst(_0x355011[_0x2b24e8(0xfa)],_0x355011['userName'],_0x355011[_0x2b24e8(0x143)]),'userName':_0x355011[_0x2b24e8(0x127)],'nickname':pickFirst(_0x355011[_0x2b24e8(0x11f)],_0x355011[_0x2b24e8(0x15c)]),'nickName':_0x355011[_0x2b24e8(0x15c)],'tenantCode':_0x355011['tenantCode'],'employeeId':_0x355011[_0x2b24e8(0x116)]};}function a32_0x4279(_0x106413,_0x598f99){_0x106413=_0x106413-0xf7;const _0x11ebe1=a32_0x11eb();let _0x427920=_0x11ebe1[_0x106413];return _0x427920;}function usesRuntimeContext(_0x15df17){const _0x174781=a32_0x4279;return _0x15df17['mapTo'][_0x174781(0x121)](_0x492849=>typeof _0x492849[_0x174781(0x101)]===_0x174781(0x153)&&(_0x492849[_0x174781(0x101)]['startsWith']('context.')||_0x492849[_0x174781(0x101)][_0x174781(0x147)](_0x174781(0x10f))));}function pickFirst(..._0x2fa947){const _0x4b6a6d=a32_0x4279;return _0x2fa947[_0x4b6a6d(0x145)](_0xe8c7c=>_0xe8c7c!==undefined&&_0xe8c7c!==null);}async function executePlan(_0x5f3a80,_0x2bcf7f,_0x62b772){const _0x340b13=a32_0x4279;if(_0x5f3a80['kind']===_0x340b13(0x15b)){const _0x51ad72=await resolveDatasetCode(_0x5f3a80,_0x2bcf7f,_0x62b772);return executeData(_0x51ad72,_0x5f3a80[_0x340b13(0x12e)],_0x5f3a80['params']);}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x160)){if(!_0x5f3a80[_0x340b13(0x155)])throw CliErrors[_0x340b13(0x100)](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+_0x340b13(0xfd));return executeSdkSql(_0x5f3a80[_0x340b13(0x155)],normalizeScalarParams(_0x5f3a80[_0x340b13(0x15f)]));}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x14b)){const _0xba5f6d=_0x5f3a80[_0x340b13(0x12f)]||_0x5f3a80[_0x340b13(0x104)]||(_0x5f3a80[_0x340b13(0x13b)]==null?'':String(_0x5f3a80[_0x340b13(0x13b)]));if(!_0xba5f6d)throw CliErrors['validation'](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0xba5f6d,_0x5f3a80[_0x340b13(0x15f)]);}throw CliErrors[_0x340b13(0x100)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x5f3a80[_0x340b13(0x131)]);}async function resolveDatasetCode(_0x370641,_0x3eb987,_0x470b7a){const _0x1e0a46=a32_0x4279;if(_0x370641[_0x1e0a46(0x13d)])return _0x370641[_0x1e0a46(0x13d)];if(!_0x370641['datatable'])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x162)+_0x3eb987['cliPath']+_0x1e0a46(0xf9));const _0x2095e8=await listDatasets(_0x470b7a[_0x1e0a46(0x113)]),_0x22fe62=_0x2095e8[_0x1e0a46(0x145)](_0xdfff5d=>_0xdfff5d[_0x1e0a46(0x10e)]?.[_0x1e0a46(0xff)]===_0x370641[_0x1e0a46(0x141)]);if(!_0x22fe62?.[_0x1e0a46(0x103)])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x14c)+_0x370641[_0x1e0a46(0x141)]+_0x1e0a46(0x161)+_0x470b7a['appCode']+'.',_0x1e0a46(0x110));return _0x22fe62[_0x1e0a46(0x103)];}function applyAppBinding(_0xf76b3f,_0x131c02,_0x4cdde9){const _0x17c7d9=a32_0x4279,_0x409d0b=_0x131c02['target'][_0x17c7d9(0x10c)];if(!_0x409d0b)return;const _0x29441d=_0xf76b3f['appBindings'][_0x409d0b];if(!_0x29441d)throw CliErrors[_0x17c7d9(0x100)](_0x17c7d9(0x15d)+_0x409d0b+_0x17c7d9(0x13a)+_0x131c02[_0x17c7d9(0x14d)]+'.',_0x17c7d9(0x130));const _0x10399b=_0x29441d[_0x17c7d9(0x132)]||_0x29441d[_0x17c7d9(0x113)];_0x10399b&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x132)]=_0x10399b),_0x29441d['app']&&!hasText(_0x4cdde9[_0x17c7d9(0x120)])&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x120)]=_0x29441d[_0x17c7d9(0x120)]),_0x29441d[_0x17c7d9(0x11e)]&&!hasText(_0x4cdde9['env'])&&(_0x4cdde9[_0x17c7d9(0x11e)]=_0x29441d[_0x17c7d9(0x11e)]);}function renderDynamicCommandHelp(_0x404194){const _0x57ae4f=a32_0x4279,_0x2df7b7=[_0x57ae4f(0x11c),_0x57ae4f(0x139)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x131)],_0x57ae4f(0x154)+_0x404194['target'][_0x57ae4f(0x12e)]];if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x13d)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x150)+_0x404194[_0x57ae4f(0x12a)]['datasetCode']);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)])_0x2df7b7['push']('\x20\x20\x20\x20datatable:\x20'+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)]);if(_0x404194['target'][_0x57ae4f(0x155)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x10a)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x155)]);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x12f)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x158)+_0x404194['target']['scriptName']);if(_0x404194[_0x57ae4f(0x12c)][_0x57ae4f(0x14f)]>0x0){_0x2df7b7[_0x57ae4f(0x128)]('',_0x57ae4f(0x144));for(const _0x527511 of _0x404194[_0x57ae4f(0x12c)]){_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x125)+(_0x527511[_0x57ae4f(0x101)]||_0x57ae4f(0x136))+_0x57ae4f(0x126)+_0x527511[_0x57ae4f(0x12a)]+(_0x527511[_0x57ae4f(0x14e)]?'.'+_0x527511[_0x57ae4f(0x14e)]:''));}}return _0x2df7b7[_0x57ae4f(0x119)]('\x0a');}function a32_0x11eb(){const _0x2b0170=['service','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','username','fromEntries','boolean','\x20requires\x20target.sqlCode.','now','tableName','validation','source','8517210ApxSCh','code','bffCode','flags','read','filter','13811373ZwvUuR','enum','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','appRef','userId','dbtableConfig','ctx.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','2ZNAaaP','description','appCode','5288496lfOyII','padEnd','employeeId','\x20completed\x20in\x20','10muffEM','join','1405181usZFQP','fullPath','\x20\x20SERVICE\x20TREE\x20TARGET','Run\x20service\x20command\x20','env','nickname','app','some','normalizedManifest','cliName','map','\x20\x20\x20\x20','\x20->\x20','userName','push','\x20<command>\x20[flags]','target','flatMap','mapTo','args','command','scriptName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','kind','appcode','959wFpQGx','entries','type','const','Preview\x20dynamic\x20service\x20command:\x20','2165682TESGZq','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x22\x20in\x20service\x20command\x20','bffId','json','datasetCode','Commands:','slice','risk','datatable','remainingArgs','loginName','\x20\x20MAP\x20TO','find','`\x20to\x20inspect\x20the\x20manifest.','startsWith','trim','commands','\x20service\x20detail\x20--service\x20','bff','Cannot\x20resolve\x20datatable\x20\x22','cliPath','operator','length','\x20\x20\x20\x20datasetCode:\x20','number','rawFlags','string','\x20\x20\x20\x20command:\x20','sqlCode','5672tIXhNV','7406655XYBccH','\x20\x20\x20\x20scriptName:\x20','default','tree','data','nickName','Unknown\x20appRef\x20\x22','required','params','sql','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','Service\x20command\x20','name','envName'];a32_0x11eb=function(){return _0x2b0170;};return a32_0x11eb();}function targetPreview(_0x4ad0b1){const _0x330b94=a32_0x4279;return{'kind':_0x4ad0b1[_0x330b94(0x131)],'command':_0x4ad0b1[_0x330b94(0x12e)],'appRef':_0x4ad0b1['appRef'],'datasetCode':_0x4ad0b1[_0x330b94(0x13d)],'datatable':_0x4ad0b1[_0x330b94(0x141)],'sqlCode':_0x4ad0b1[_0x330b94(0x155)],'bffCode':_0x4ad0b1['bffCode'],'bffId':_0x4ad0b1[_0x330b94(0x13b)],'scriptName':_0x4ad0b1[_0x330b94(0x12f)]};}function normalizeScalarParams(_0x529ade){const _0x216f78=a32_0x4279;return Object[_0x216f78(0xfb)](Object[_0x216f78(0x134)](_0x529ade)['filter'](([,_0x565f50])=>typeof _0x565f50===_0x216f78(0x153)||typeof _0x565f50===_0x216f78(0x151)));}function hasText(_0x906df2){const _0x33877a=a32_0x4279;return typeof _0x906df2==='string'&&_0x906df2[_0x33877a(0x148)]()['length']>0x0;}function isPrimitiveFlagDefault(_0xfd86ff){const _0x3fd81f=a32_0x4279;return _0xfd86ff===undefined||typeof _0xfd86ff===_0x3fd81f(0x153)||typeof _0xfd86ff===_0x3fd81f(0x151)||typeof _0xfd86ff===_0x3fd81f(0xfc);}
@@ -1 +1 @@
1
- const a33_0xd47ef4=a33_0x513d;(function(_0x14e761,_0x3836a5){const _0x537afa=a33_0x513d,_0x2e7acf=_0x14e761();while(!![]){try{const _0x427cf0=parseInt(_0x537afa(0x16a))/0x1+parseInt(_0x537afa(0x184))/0x2+parseInt(_0x537afa(0x16d))/0x3*(-parseInt(_0x537afa(0x187))/0x4)+parseInt(_0x537afa(0x173))/0x5*(parseInt(_0x537afa(0x17d))/0x6)+-parseInt(_0x537afa(0x190))/0x7*(-parseInt(_0x537afa(0x17c))/0x8)+parseInt(_0x537afa(0x169))/0x9*(-parseInt(_0x537afa(0x156))/0xa)+-parseInt(_0x537afa(0x195))/0xb;if(_0x427cf0===_0x3836a5)break;else _0x2e7acf['push'](_0x2e7acf['shift']());}catch(_0xf8d40d){_0x2e7acf['push'](_0x2e7acf['shift']());}}}(a33_0x79d6,0xe5741));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x513d(_0x2e4719,_0x4a65a9){_0x2e4719=_0x2e4719-0x154;const _0x79d612=a33_0x79d6();let _0x513d95=_0x79d612[_0x2e4719];return _0x513d95;}const FILE_FLAG={'name':a33_0xd47ef4(0x160),'type':a33_0xd47ef4(0x165),'required':!![],'description':a33_0xd47ef4(0x16f)},SERVICE_FLAG={'name':a33_0xd47ef4(0x177),'type':a33_0xd47ef4(0x165),'required':!![],'description':a33_0xd47ef4(0x17b),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0xd47ef4(0x183)}};function a33_0x79d6(){const _0x3afe6e=['14234517kSbkdR','Service\x20manifest\x20validation\x20passed.','cliName','entry','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','kind','flags','target','20UvSbTk','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','remove','str','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','errors','entries','import','serviceCount','Updated','file','serviceCode','type','Imported','export','string','map','hash','read','4417614MbENdU','1134442wjfwsN','registry','registryPath','12921eZBFIg','warnings','Service\x20Tree\x20manifest\x20file\x20path','list','version','source','15030jwEHpw','Exported\x20service\x20','Service\x20registry\x20validation\x20passed.','registryServiceCode','service','normalizedManifest','filePath','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','Local\x20service\x20code,\x20for\x20example\x20crm','16Tbkqme','3054UfNFBh','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','commands','manifests','length','updated','lower\x20kebab-case\x20service\x20code','24982KJmPsS','detail','Imported\x20','652ysLdbz','importedAt','report','replaced','\x20service(s),\x20updated\x20','Removed\x20service\x20','name','cliPath','WRITE','4342219hDloxF','required','reduce','registryIndex','imported'];a33_0x79d6=function(){return _0x3afe6e;};return a33_0x79d6();}function summarizeService(_0x203641){const _0x4f8dc3=a33_0xd47ef4;return{'serviceCode':_0x203641[_0x4f8dc3(0x161)],'name':_0x203641[_0x4f8dc3(0x178)][_0x4f8dc3(0x177)][_0x4f8dc3(0x18d)],'version':_0x203641[_0x4f8dc3(0x171)],'importedAt':_0x203641[_0x4f8dc3(0x188)],'source':_0x203641[_0x4f8dc3(0x172)],'commandCount':_0x203641['normalizedManifest'][_0x4f8dc3(0x17f)][_0x4f8dc3(0x181)],'commands':_0x203641[_0x4f8dc3(0x178)][_0x4f8dc3(0x17f)][_0x4f8dc3(0x166)](_0x4c6e12=>({'path':_0x4c6e12['cliPath'],'description':_0x4c6e12['description'],'risk':_0x4c6e12['risk'],'target':_0x4c6e12[_0x4f8dc3(0x155)],'flags':_0x4c6e12[_0x4f8dc3(0x154)]['map'](_0x49e9d5=>({'name':_0x49e9d5[_0x4f8dc3(0x18d)],'cliName':_0x49e9d5[_0x4f8dc3(0x197)],'type':_0x49e9d5[_0x4f8dc3(0x162)],'required':_0x49e9d5[_0x4f8dc3(0x191)]===!![]}))}))};}function summarizeLoadedManifest(_0x440546){const _0x131fc3=a33_0xd47ef4;return{'service':_0x440546['normalizedManifest']?.[_0x131fc3(0x177)],'version':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x171)],'commandCount':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x17f)]['length']??0x0,'commands':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x17f)][_0x131fc3(0x166)](_0x5dc9f5=>({'path':_0x5dc9f5['cliPath'],'risk':_0x5dc9f5['risk'],'target':_0x5dc9f5[_0x131fc3(0x155)]}))??[],'registryIndex':_0x440546[_0x131fc3(0x193)],'registryServiceCode':_0x440546[_0x131fc3(0x176)],'errors':_0x440546[_0x131fc3(0x189)][_0x131fc3(0x15b)],'warnings':_0x440546[_0x131fc3(0x189)][_0x131fc3(0x16e)]};}export const serviceDefinitions=[{'service':a33_0xd47ef4(0x177),'command':'validate','description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0xd47ef4(0x168),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4fbf9b){const _0x267b4e=a33_0xd47ef4,_0x37f7d2=loadServiceManifestFromFile(_0x4fbf9b[_0x267b4e(0x159)](_0x267b4e(0x160)));if(!_0x37f7d2[_0x267b4e(0x189)]['ok'])return{'ok':![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2['hash'],'kind':_0x37f7d2[_0x267b4e(0x19a)],'serviceCount':_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x181)],'services':_0x37f7d2[_0x267b4e(0x180)]['map'](summarizeLoadedManifest),'errors':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x15b)],'warnings':_0x37f7d2['report']['warnings']},'message':formatValidationFailure(_0x37f7d2[_0x267b4e(0x189)])};if(_0x37f7d2[_0x267b4e(0x19a)]===_0x267b4e(0x16b)||_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x181)]!==0x1)return{'ok':!![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2[_0x267b4e(0x167)],'kind':_0x37f7d2['kind'],'serviceCount':_0x37f7d2['manifests']['length'],'commandCount':_0x37f7d2['manifests'][_0x267b4e(0x192)]((_0x164225,_0x254b70)=>_0x164225+(_0x254b70[_0x267b4e(0x178)]?.[_0x267b4e(0x17f)]['length']??0x0),0x0),'services':_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x166)](summarizeLoadedManifest),'warnings':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x16e)]},'message':_0x267b4e(0x175)};return{'ok':!![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2['hash'],'kind':_0x37f7d2[_0x267b4e(0x19a)],'service':_0x37f7d2[_0x267b4e(0x178)]?.['service'],'version':_0x37f7d2[_0x267b4e(0x178)]?.['version'],'commandCount':_0x37f7d2['normalizedManifest']?.[_0x267b4e(0x17f)][_0x267b4e(0x181)]??0x0,'commands':_0x37f7d2[_0x267b4e(0x178)]?.['commands'][_0x267b4e(0x166)](_0x43b219=>({'path':_0x43b219[_0x267b4e(0x18e)],'risk':_0x43b219['risk'],'target':_0x43b219[_0x267b4e(0x155)]})),'warnings':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x16e)]},'message':_0x267b4e(0x196)};}},{'service':'service','command':a33_0xd47ef4(0x15d),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x4c21d9){const _0x5de30a=a33_0xd47ef4,_0x2abe43=loadServiceManifestFromFile(_0x4c21d9[_0x5de30a(0x159)](_0x5de30a(0x160)));return{'method':_0x5de30a(0x18f),'url':getServiceRegistryPath(),'body':{'file':_0x2abe43['filePath'],'hash':_0x2abe43[_0x5de30a(0x167)],'kind':_0x2abe43[_0x5de30a(0x19a)],'ok':_0x2abe43[_0x5de30a(0x189)]['ok'],'service':_0x2abe43[_0x5de30a(0x178)]?.['service'],'version':_0x2abe43[_0x5de30a(0x178)]?.[_0x5de30a(0x171)],'serviceCount':_0x2abe43[_0x5de30a(0x180)]['length'],'services':_0x2abe43[_0x5de30a(0x180)][_0x5de30a(0x166)](_0x3c89e8=>({'service':_0x3c89e8[_0x5de30a(0x178)]?.[_0x5de30a(0x177)],'version':_0x3c89e8[_0x5de30a(0x178)]?.[_0x5de30a(0x171)],'commandCount':_0x3c89e8['normalizedManifest']?.[_0x5de30a(0x17f)][_0x5de30a(0x181)]??0x0,'errors':_0x3c89e8[_0x5de30a(0x189)][_0x5de30a(0x15b)]})),'errors':_0x2abe43[_0x5de30a(0x189)]['errors'],'commandCount':_0x2abe43[_0x5de30a(0x178)]?.['commands']['length']??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x390e1b){const _0x405d86=a33_0xd47ef4,_0x2d19ac=importServiceManifest(_0x390e1b['str'](_0x405d86(0x160)));if(_0x2d19ac[_0x405d86(0x15c)][_0x405d86(0x181)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x2d19ac['registryPath'],'imported':_0x2d19ac[_0x405d86(0x194)],'updated':_0x2d19ac[_0x405d86(0x182)],'serviceCount':_0x2d19ac[_0x405d86(0x15e)],'services':_0x2d19ac[_0x405d86(0x15c)][_0x405d86(0x166)](summarizeService)},'message':_0x405d86(0x186)+_0x2d19ac[_0x405d86(0x194)]+_0x405d86(0x18b)+_0x2d19ac['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x2d19ac[_0x405d86(0x16c)],'replaced':_0x2d19ac[_0x405d86(0x18a)],'imported':_0x2d19ac[_0x405d86(0x194)],'updated':_0x2d19ac['updated'],'serviceCount':_0x2d19ac[_0x405d86(0x15e)],'service':summarizeService(_0x2d19ac[_0x405d86(0x198)])},'message':(_0x2d19ac[_0x405d86(0x18a)]?_0x405d86(0x15f):_0x405d86(0x163))+'\x20service\x20'+_0x2d19ac['entry'][_0x405d86(0x161)]+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x164),'description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e10d1){const _0x11d7e5=a33_0xd47ef4,_0x1d2f7b=getLocalServiceEntry(_0x4e10d1[_0x11d7e5(0x159)](_0x11d7e5(0x177)));return{'method':_0x11d7e5(0x18f),'url':_0x4e10d1[_0x11d7e5(0x159)](_0x11d7e5(0x160)),'body':{'service':_0x4e10d1['str'](_0x11d7e5(0x177)),'found':Boolean(_0x1d2f7b),'version':_0x1d2f7b?.['version'],'source':_0x1d2f7b?.[_0x11d7e5(0x172)]},'description':_0x11d7e5(0x157)};},async 'execute'(_0xf22b2f){const _0x1f6ffb=a33_0xd47ef4,_0x2047ff=exportServiceManifest(_0xf22b2f[_0x1f6ffb(0x159)]('service'),_0xf22b2f[_0x1f6ffb(0x159)](_0x1f6ffb(0x160)));return{'ok':!![],'data':{'registryPath':_0x2047ff['registryPath'],'file':_0x2047ff[_0x1f6ffb(0x179)],'service':summarizeService(_0x2047ff[_0x1f6ffb(0x198)])},'message':_0x1f6ffb(0x174)+_0x2047ff[_0x1f6ffb(0x198)]['serviceCode']+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x170),'description':a33_0xd47ef4(0x17a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2c1439=a33_0xd47ef4,_0x8a176e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x8a176e[_0x2c1439(0x181)],'services':_0x8a176e['map'](summarizeService)}};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x158),'description':a33_0xd47ef4(0x15a),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x13eb55){const _0x2b292e=a33_0xd47ef4,_0x5ec1a2=getLocalServiceEntry(_0x13eb55[_0x2b292e(0x159)](_0x2b292e(0x177)));return{'method':_0x2b292e(0x18f),'url':getServiceRegistryPath(),'body':{'service':_0x13eb55[_0x2b292e(0x159)](_0x2b292e(0x177)),'found':Boolean(_0x5ec1a2),'version':_0x5ec1a2?.[_0x2b292e(0x171)],'source':_0x5ec1a2?.['source']},'description':_0x2b292e(0x199)};},async 'execute'(_0x18326c){const _0x5907be=a33_0xd47ef4,_0x24329d=removeServiceManifest(_0x18326c[_0x5907be(0x159)](_0x5907be(0x177)));return{'ok':!![],'data':{'registryPath':_0x24329d[_0x5907be(0x16c)],'serviceCount':_0x24329d[_0x5907be(0x15e)],'service':summarizeService(_0x24329d[_0x5907be(0x198)])},'message':_0x5907be(0x18c)+_0x24329d[_0x5907be(0x198)][_0x5907be(0x161)]+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x185),'description':a33_0xd47ef4(0x17e),'risk':a33_0xd47ef4(0x168),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2f35a0){const _0x493951=a33_0xd47ef4,_0x22956f=getLocalServiceEntry(_0x2f35a0['str'](_0x493951(0x177)));if(!_0x22956f)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2f35a0[_0x493951(0x159)](_0x493951(0x177))},'message':'Local\x20service\x20not\x20found:\x20'+_0x2f35a0[_0x493951(0x159)](_0x493951(0x177))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x22956f),'manifest':_0x22956f['manifest'],'normalizedManifest':_0x22956f['normalizedManifest']}};}}];
1
+ const a33_0x5694b1=a33_0x3b85;(function(_0x3ee82d,_0x2a8078){const _0x2bfd3a=a33_0x3b85,_0x1334cf=_0x3ee82d();while(!![]){try{const _0x1d6363=-parseInt(_0x2bfd3a(0xc7))/0x1*(parseInt(_0x2bfd3a(0xf0))/0x2)+-parseInt(_0x2bfd3a(0xf7))/0x3+-parseInt(_0x2bfd3a(0xe4))/0x4*(-parseInt(_0x2bfd3a(0x105))/0x5)+parseInt(_0x2bfd3a(0xe2))/0x6+parseInt(_0x2bfd3a(0xd0))/0x7+-parseInt(_0x2bfd3a(0xce))/0x8+-parseInt(_0x2bfd3a(0xfa))/0x9;if(_0x1d6363===_0x2a8078)break;else _0x1334cf['push'](_0x1334cf['shift']());}catch(_0x2676a6){_0x1334cf['push'](_0x1334cf['shift']());}}}(a33_0x226f,0xd8b2d));function a33_0x226f(){const _0x313f12=['Imported\x20','6399900bCimMZ','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','kind','risk','updated','write','filePath','Service\x20registry\x20validation\x20passed.','replaced','remove','Imported','121715LzSDuV','serviceCount','warnings','manifest','registryIndex','map','reduce','11jmdvLk','imported','report','length','type','commands','registryPath','8419056QsnrXB','importedAt','10136476uwmgSM','Local\x20service\x20not\x20found:\x20','string','detail','\x20service(s).','source','manifests','cliName','serviceCode','read','WRITE','Updated','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','registryServiceCode','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','service','8863038hcorlT','\x20service\x20','212FRfaCW','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','cliPath','name','hash','version','required','target','\x20service(s),\x20updated\x20','file','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','entry','164278azwkiO','validate','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','str','list','Service\x20Tree\x20manifest\x20file\x20path','normalizedManifest','1982436BTCRdf','lower\x20kebab-case\x20service\x20code'];a33_0x226f=function(){return _0x313f12;};return a33_0x226f();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x3b85(_0x3effa2,_0x4bc809){_0x3effa2=_0x3effa2-0xc6;const _0x226ff5=a33_0x226f();let _0x3b85cf=_0x226ff5[_0x3effa2];return _0x3b85cf;}const FILE_FLAG={'name':a33_0x5694b1(0xed),'type':a33_0x5694b1(0xd2),'required':!![],'description':a33_0x5694b1(0xf5)},SERVICE_FLAG={'name':a33_0x5694b1(0xe1),'type':a33_0x5694b1(0xd2),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x5694b1(0xf8)}};function summarizeService(_0x5ccdc6){const _0x56faf2=a33_0x5694b1;return{'serviceCode':_0x5ccdc6[_0x56faf2(0xd8)],'name':_0x5ccdc6[_0x56faf2(0xf6)][_0x56faf2(0xe1)]['name'],'version':_0x5ccdc6[_0x56faf2(0xe9)],'importedAt':_0x5ccdc6[_0x56faf2(0xcf)],'source':_0x5ccdc6[_0x56faf2(0xd5)],'commandCount':_0x5ccdc6['normalizedManifest']['commands'][_0x56faf2(0xca)],'commands':_0x5ccdc6[_0x56faf2(0xf6)]['commands'][_0x56faf2(0x10a)](_0x2e4273=>({'path':_0x2e4273[_0x56faf2(0xe6)],'description':_0x2e4273['description'],'risk':_0x2e4273[_0x56faf2(0xfd)],'target':_0x2e4273['target'],'flags':_0x2e4273['flags'][_0x56faf2(0x10a)](_0x4e8d45=>({'name':_0x4e8d45[_0x56faf2(0xe7)],'cliName':_0x4e8d45[_0x56faf2(0xd7)],'type':_0x4e8d45[_0x56faf2(0xcb)],'required':_0x4e8d45[_0x56faf2(0xea)]===!![]}))}))};}function summarizeLoadedManifest(_0x2a0dec){const _0x20a787=a33_0x5694b1;return{'service':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xe1)],'version':_0x2a0dec['normalizedManifest']?.[_0x20a787(0xe9)],'commandCount':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)][_0x20a787(0xca)]??0x0,'commands':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)]['map'](_0x63bb96=>({'path':_0x63bb96['cliPath'],'risk':_0x63bb96['risk'],'target':_0x63bb96[_0x20a787(0xeb)]}))??[],'registryIndex':_0x2a0dec[_0x20a787(0x109)],'registryServiceCode':_0x2a0dec[_0x20a787(0xdd)],'errors':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0xde)],'warnings':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0x107)]};}export const serviceDefinitions=[{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf1),'description':a33_0x5694b1(0xee),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xe80af9){const _0x25aed6=a33_0x5694b1,_0x4ca45f=loadServiceManifestFromFile(_0xe80af9[_0x25aed6(0xf3)](_0x25aed6(0xed)));if(!_0x4ca45f[_0x25aed6(0xc9)]['ok'])return{'ok':![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'serviceCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)],'services':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0x10a)](summarizeLoadedManifest),'errors':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0xde)],'warnings':_0x4ca45f['report'][_0x25aed6(0x107)]},'message':formatValidationFailure(_0x4ca45f[_0x25aed6(0xc9)])};if(_0x4ca45f['kind']==='registry'||_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)]!==0x1)return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f['kind'],'serviceCount':_0x4ca45f['manifests'][_0x25aed6(0xca)],'commandCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xc6)]((_0x45d371,_0x2b931a)=>_0x45d371+(_0x2b931a[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)]['length']??0x0),0x0),'services':_0x4ca45f[_0x25aed6(0xd6)]['map'](summarizeLoadedManifest),'warnings':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0x107)]},'message':_0x25aed6(0x101)};return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'service':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe1)],'version':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe9)],'commandCount':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)][_0x25aed6(0xca)]??0x0,'commands':_0x4ca45f[_0x25aed6(0xf6)]?.['commands'][_0x25aed6(0x10a)](_0x4294cf=>({'path':_0x4294cf[_0x25aed6(0xe6)],'risk':_0x4294cf[_0x25aed6(0xfd)],'target':_0x4294cf[_0x25aed6(0xeb)]})),'warnings':_0x4ca45f[_0x25aed6(0xc9)]['warnings']},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x5694b1(0xe1),'command':'import','description':a33_0x5694b1(0xe5),'risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2b6dba){const _0x43d07d=a33_0x5694b1,_0x564a0c=loadServiceManifestFromFile(_0x2b6dba[_0x43d07d(0xf3)](_0x43d07d(0xed)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x564a0c[_0x43d07d(0x100)],'hash':_0x564a0c[_0x43d07d(0xe8)],'kind':_0x564a0c[_0x43d07d(0xfc)],'ok':_0x564a0c[_0x43d07d(0xc9)]['ok'],'service':_0x564a0c['normalizedManifest']?.['service'],'version':_0x564a0c['normalizedManifest']?.[_0x43d07d(0xe9)],'serviceCount':_0x564a0c[_0x43d07d(0xd6)][_0x43d07d(0xca)],'services':_0x564a0c['manifests'][_0x43d07d(0x10a)](_0x1a47aa=>({'service':_0x1a47aa['normalizedManifest']?.['service'],'version':_0x1a47aa['normalizedManifest']?.['version'],'commandCount':_0x1a47aa[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0,'errors':_0x1a47aa[_0x43d07d(0xc9)][_0x43d07d(0xde)]})),'errors':_0x564a0c[_0x43d07d(0xc9)][_0x43d07d(0xde)],'commandCount':_0x564a0c[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0},'description':_0x43d07d(0xdf)};},async 'execute'(_0x3de989){const _0x23f332=a33_0x5694b1,_0x1fc96c=importServiceManifest(_0x3de989['str'](_0x23f332(0xed)));if(_0x1fc96c['entries'][_0x23f332(0xca)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'imported':_0x1fc96c[_0x23f332(0xc8)],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c['serviceCount'],'services':_0x1fc96c['entries'][_0x23f332(0x10a)](summarizeService)},'message':_0x23f332(0xf9)+_0x1fc96c[_0x23f332(0xc8)]+_0x23f332(0xec)+_0x1fc96c['updated']+_0x23f332(0xd4)};return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'replaced':_0x1fc96c[_0x23f332(0x102)],'imported':_0x1fc96c['imported'],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c[_0x23f332(0x106)],'service':summarizeService(_0x1fc96c[_0x23f332(0xef)])},'message':(_0x1fc96c[_0x23f332(0x102)]?_0x23f332(0xdb):_0x23f332(0x104))+_0x23f332(0xe3)+_0x1fc96c['entry']['serviceCode']+'.'};}},{'service':a33_0x5694b1(0xe1),'command':'export','description':a33_0x5694b1(0xf2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x473349){const _0x2927bd=a33_0x5694b1,_0x3596ac=getLocalServiceEntry(_0x473349[_0x2927bd(0xf3)]('service'));return{'method':_0x2927bd(0xda),'url':_0x473349['str'](_0x2927bd(0xed)),'body':{'service':_0x473349[_0x2927bd(0xf3)](_0x2927bd(0xe1)),'found':Boolean(_0x3596ac),'version':_0x3596ac?.['version'],'source':_0x3596ac?.[_0x2927bd(0xd5)]},'description':_0x2927bd(0xfb)};},async 'execute'(_0x3f6518){const _0x3cb766=a33_0x5694b1,_0x5d3aef=exportServiceManifest(_0x3f6518[_0x3cb766(0xf3)](_0x3cb766(0xe1)),_0x3f6518[_0x3cb766(0xf3)]('file'));return{'ok':!![],'data':{'registryPath':_0x5d3aef[_0x3cb766(0xcd)],'file':_0x5d3aef[_0x3cb766(0x100)],'service':summarizeService(_0x5d3aef[_0x3cb766(0xef)])},'message':'Exported\x20service\x20'+_0x5d3aef['entry'][_0x3cb766(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf4),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x55a3c0=a33_0x5694b1,_0x4e0cd0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x4e0cd0[_0x55a3c0(0xca)],'services':_0x4e0cd0[_0x55a3c0(0x10a)](summarizeService)}};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0x103),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3ed9ca){const _0x75e0b2=a33_0x5694b1,_0x307905=getLocalServiceEntry(_0x3ed9ca['str']('service'));return{'method':_0x75e0b2(0xda),'url':getServiceRegistryPath(),'body':{'service':_0x3ed9ca[_0x75e0b2(0xf3)](_0x75e0b2(0xe1)),'found':Boolean(_0x307905),'version':_0x307905?.[_0x75e0b2(0xe9)],'source':_0x307905?.[_0x75e0b2(0xd5)]},'description':_0x75e0b2(0xdc)};},async 'execute'(_0xd8ab42){const _0x293987=a33_0x5694b1,_0x1565f6=removeServiceManifest(_0xd8ab42['str'](_0x293987(0xe1)));return{'ok':!![],'data':{'registryPath':_0x1565f6[_0x293987(0xcd)],'serviceCount':_0x1565f6['serviceCount'],'service':summarizeService(_0x1565f6[_0x293987(0xef)])},'message':'Removed\x20service\x20'+_0x1565f6[_0x293987(0xef)][_0x293987(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xd3),'description':a33_0x5694b1(0xe0),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xcf0ac4){const _0x22e95d=a33_0x5694b1,_0x2bc690=getLocalServiceEntry(_0xcf0ac4['str'](_0x22e95d(0xe1)));if(!_0x2bc690)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xcf0ac4[_0x22e95d(0xf3)]('service')},'message':_0x22e95d(0xd1)+_0xcf0ac4[_0x22e95d(0xf3)](_0x22e95d(0xe1))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2bc690),'manifest':_0x2bc690[_0x22e95d(0x108)],'normalizedManifest':_0x2bc690[_0x22e95d(0xf6)]}};}}];
@@ -1 +1 @@
1
- const a34_0x120c93=a34_0x38f8;(function(_0x973a75,_0x3719ba){const _0x5bf994=a34_0x38f8,_0x420b58=_0x973a75();while(!![]){try{const _0x42ecbd=parseInt(_0x5bf994(0xc2))/0x1*(parseInt(_0x5bf994(0x9e))/0x2)+-parseInt(_0x5bf994(0x99))/0x3+parseInt(_0x5bf994(0x81))/0x4+-parseInt(_0x5bf994(0x76))/0x5+parseInt(_0x5bf994(0x98))/0x6*(-parseInt(_0x5bf994(0xb2))/0x7)+-parseInt(_0x5bf994(0xaf))/0x8+-parseInt(_0x5bf994(0xb9))/0x9*(-parseInt(_0x5bf994(0xbf))/0xa);if(_0x42ecbd===_0x3719ba)break;else _0x420b58['push'](_0x420b58['shift']());}catch(_0x44438e){_0x420b58['push'](_0x420b58['shift']());}}}(a34_0x2ed5,0xb7346));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_0x120c93(0x79);export function getServiceRegistryPath(_0x5d81c8={}){const _0x1bf4d7=a34_0x120c93;return resolve(_0x5d81c8[_0x1bf4d7(0xa2)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}function a34_0x2ed5(){const _0x4941a8=['push','updatedAt','reduce','Service\x20manifest\x20validation\x20failed:\x0a','splice','parse','service','join','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','registryIndex','2118HIgQOq','1846338gxKLTp','serviceCode','update','source','sha256','100342mfcSVr','Invalid\x20service\x20manifest\x20JSON:\x20','empty','digest','homeDir','command','].manifest.','file','Invalid\x20service\x20registry\x20JSON:\x20','utf8','risk','schemaVersion','name','object','$.services[','invalid','registry','10276544hmGCTo','errors','description','7007GLsdkY','now','target','sort','Unsupported\x20service\x20registry\x20schemaVersion:\x20','importedAt','Cannot\x20write\x20service\x20registry:\x20','45mhDLZg','code','hex','report','stringify','trim','5751550pqSHvX','localeCompare','CliError','9mWnAMv','].manifest','slice','Service\x20manifest\x20file\x20not\x20found:\x20','validation','warnings','manifest','filePath','7069630GkSoMd','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','version','service.json','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Unsupported\x20schemaVersion:\x20','path','sourceHash','isArray','toISOString','length','4361540mZlTRe','Local\x20service\x20not\x20found:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','services','find','map','flatMap','Remove\x20or\x20migrate\x20','findIndex','message','services\x20must\x20be\x20an\x20array','manifests','normalizedManifest'];a34_0x2ed5=function(){return _0x4941a8;};return a34_0x2ed5();}export function readServiceRegistry(_0x4b266c={}){const _0x55153d=a34_0x120c93,_0x46b98f=getServiceRegistryPath(_0x4b266c);if(!existsSync(_0x46b98f))return emptyServiceRegistry();try{const _0x3478c3=readFileSync(_0x46b98f,_0x55153d(0xa7));if(!_0x3478c3[_0x55153d(0xbe)]())return emptyServiceRegistry();const _0x1f6126=JSON['parse'](_0x3478c3);if(_0x1f6126[_0x55153d(0xa9)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x55153d(0xb6)+String(_0x1f6126['schemaVersion']),_0x55153d(0x88)+_0x46b98f+'.');if(!Array[_0x55153d(0x7e)](_0x1f6126['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1f6126[_0x55153d(0x8f)],'services':_0x1f6126[_0x55153d(0x84)]};}catch(_0x3e617b){if(_0x3e617b instanceof Error&&_0x3e617b[_0x55153d(0xaa)]===_0x55153d(0xc1))throw _0x3e617b;throw CliErrors[_0x55153d(0xc6)](_0x55153d(0xa6)+_0x46b98f,_0x55153d(0x96));}}export function writeServiceRegistry(_0x2f50e6,_0xf225f5={}){const _0x3a96fa=a34_0x120c93,_0x59cc73=getServiceRegistryPath(_0xf225f5),_0x3ffc1d=dirname(_0x59cc73);!existsSync(_0x3ffc1d)&&mkdirSync(_0x3ffc1d,{'recursive':!![]});const _0x1932bb=_0x59cc73+'.tmp';try{writeFileSync(_0x1932bb,JSON[_0x3a96fa(0xbd)](_0x2f50e6,null,0x2)+'\x0a',{'encoding':_0x3a96fa(0xa7),'mode':0x180}),renameSync(_0x1932bb,_0x59cc73);}catch(_0x9899c){try{unlinkSync(_0x1932bb);}catch{}if(_0x9899c?.[_0x3a96fa(0xba)]==='ENOENT')throw CliErrors['validation'](_0x3a96fa(0xb8)+_0x59cc73);throw _0x9899c;}return _0x59cc73;}export function loadServiceManifestFromFile(_0x2cfbd5){const _0x1b184e=a34_0x120c93,_0x6fac5a=resolve(_0x2cfbd5);if(!existsSync(_0x6fac5a))throw CliErrors['validation'](_0x1b184e(0xc5)+_0x2cfbd5);let _0x5edcf2;const _0x379df3=readFileSync(_0x6fac5a,_0x1b184e(0xa7));try{_0x5edcf2=JSON[_0x1b184e(0x93)](_0x379df3);}catch{throw CliErrors[_0x1b184e(0xc6)](_0x1b184e(0x9f)+_0x2cfbd5,_0x1b184e(0x83));}const _0x59d2bc=sha256(_0x379df3),_0xf7a3c1=extractLoadedServiceManifests(_0x5edcf2,_0x59d2bc),_0x5f0c77=aggregateValidationReports(_0xf7a3c1),_0x349333=_0xf7a3c1[0x0];return{'filePath':_0x6fac5a,'hash':_0x59d2bc,'kind':isServiceRegistryLike(_0x5edcf2)?_0x1b184e(0xae):_0x1b184e(0x74),'manifest':_0x349333?.[_0x1b184e(0x74)]??_0x5edcf2,'report':_0x5f0c77,'normalizedManifest':_0xf7a3c1[_0x1b184e(0x80)]===0x1?_0x349333?.[_0x1b184e(0x8d)]:undefined,'manifests':_0xf7a3c1};}export function importServiceManifest(_0xfd81c,_0x6bc01d={}){const _0x2559b7=a34_0x120c93,_0x1bbab6=loadServiceManifestFromFile(_0xfd81c);if(!_0x1bbab6['report']['ok'])throw CliErrors[_0x2559b7(0xc6)](formatValidationFailure(_0x1bbab6[_0x2559b7(0xbc)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1bbab6['manifests'][_0x2559b7(0x80)]===0x0)throw CliErrors[_0x2559b7(0xc6)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x2559b7(0x77));const _0x1281b9=readServiceRegistry(_0x6bc01d),_0x50388d=(_0x6bc01d[_0x2559b7(0xb3)]??(()=>new Date()))()['toISOString'](),_0x1a5d85=[];let _0x5b30e6=0x0,_0x4056dc=0x0;for(const _0x540205 of _0x1bbab6[_0x2559b7(0x8c)]){if(!_0x540205[_0x2559b7(0x8d)])continue;const _0x56a430=_0x540205[_0x2559b7(0x8d)][_0x2559b7(0x94)][_0x2559b7(0xba)],_0x2b1eec={'serviceCode':_0x56a430,'version':_0x540205[_0x2559b7(0x8d)][_0x2559b7(0x78)],'importedAt':_0x50388d,'source':{'type':_0x2559b7(0xa5),'path':_0x1bbab6[_0x2559b7(0x75)],'hash':_0x540205[_0x2559b7(0x7d)]},'manifest':_0x540205[_0x2559b7(0x74)],'normalizedManifest':_0x540205['normalizedManifest']},_0x27833f=_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0x89)](_0x2b3f2a=>_0x2b3f2a[_0x2559b7(0x9a)]===_0x56a430);_0x27833f>=0x0?(_0x1281b9[_0x2559b7(0x84)][_0x27833f]=_0x2b1eec,_0x4056dc++):(_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0x8e)](_0x2b1eec),_0x5b30e6++),_0x1a5d85[_0x2559b7(0x8e)](_0x2b1eec);}_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0xb5)]((_0x1f8f2c,_0x267754)=>_0x1f8f2c[_0x2559b7(0x9a)][_0x2559b7(0xc0)](_0x267754[_0x2559b7(0x9a)])),_0x1281b9['updatedAt']=_0x50388d;const _0x355df0=writeServiceRegistry(_0x1281b9,_0x6bc01d);return{'registryPath':_0x355df0,'entry':_0x1a5d85[0x0],'replaced':_0x1a5d85[_0x2559b7(0x80)]===0x1?_0x4056dc===0x1:_0x4056dc>0x0,'entries':_0x1a5d85,'imported':_0x5b30e6,'updated':_0x4056dc,'serviceCount':_0x1281b9['services'][_0x2559b7(0x80)]};}export function exportServiceManifest(_0x57c009,_0x55005c,_0x23c744={}){const _0x3874ce=a34_0x120c93,_0x5e5cd4=getServiceRegistryPath(_0x23c744),_0x4cf042=getLocalServiceEntry(_0x57c009,_0x23c744);if(!_0x4cf042)throw CliErrors[_0x3874ce(0xc6)]('Local\x20service\x20not\x20found:\x20'+_0x57c009,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x282e7b=resolve(_0x55005c),_0x4285d8=dirname(_0x282e7b);return!existsSync(_0x4285d8)&&mkdirSync(_0x4285d8,{'recursive':!![]}),writeFileSync(_0x282e7b,JSON['stringify'](_0x4cf042[_0x3874ce(0x74)],null,0x2)+'\x0a',{'encoding':_0x3874ce(0xa7),'mode':0x180}),{'registryPath':_0x5e5cd4,'filePath':_0x282e7b,'entry':_0x4cf042};}export function removeServiceManifest(_0x3b21c4,_0x105091={}){const _0xc798d9=a34_0x120c93,_0x5a1bee=readServiceRegistry(_0x105091),_0xf510c6=_0x3b21c4[_0xc798d9(0xbe)](),_0x13388a=_0x5a1bee[_0xc798d9(0x84)]['findIndex'](_0x872c4=>_0x872c4[_0xc798d9(0x9a)]===_0xf510c6);if(_0x13388a<0x0)throw CliErrors[_0xc798d9(0xc6)](_0xc798d9(0x82)+_0xf510c6,_0xc798d9(0x7a));const [_0x406f15]=_0x5a1bee[_0xc798d9(0x84)][_0xc798d9(0x92)](_0x13388a,0x1),_0xd17ef5=(_0x105091[_0xc798d9(0xb3)]??(()=>new Date()))()[_0xc798d9(0x7f)]();_0x5a1bee[_0xc798d9(0x8f)]=_0xd17ef5;const _0x94f044=writeServiceRegistry(_0x5a1bee,_0x105091);return{'registryPath':_0x94f044,'entry':_0x406f15,'serviceCount':_0x5a1bee[_0xc798d9(0x84)][_0xc798d9(0x80)]};}export function listLocalServices(_0x69d251={}){const _0x2b2246=a34_0x120c93;return readServiceRegistry(_0x69d251)[_0x2b2246(0x84)];}export function getLocalServiceEntry(_0x55e823,_0x349bf7={}){const _0x12894f=a34_0x120c93;return readServiceRegistry(_0x349bf7)[_0x12894f(0x84)][_0x12894f(0x85)](_0x423227=>_0x423227[_0x12894f(0x9a)]===_0x55e823['trim']());}export function listLocalServiceTrees(_0x42f8a0={}){const _0x10f531=a34_0x120c93;return readServiceRegistry(_0x42f8a0)[_0x10f531(0x84)]['map'](_0x30aaf6=>_0x30aaf6[_0x10f531(0x8d)]);}export function inspectServiceRegistry(_0x45a75b={}){const _0x35d0f6=a34_0x120c93,_0x665316=getServiceRegistryPath(_0x45a75b);if(!existsSync(_0x665316))return emptyServiceRegistryInspection(_0x665316,'missing',![]);try{const _0x27f59a=readFileSync(_0x665316,_0x35d0f6(0xa7));if(!_0x27f59a[_0x35d0f6(0xbe)]())return emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xa0),!![]);const _0x518e1f=JSON[_0x35d0f6(0x93)](_0x27f59a);if(_0x518e1f[_0x35d0f6(0xa9)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xad),!![]),'schemaVersion':_0x518e1f['schemaVersion'],'message':_0x35d0f6(0x7b)+String(_0x518e1f['schemaVersion'])};if(!Array[_0x35d0f6(0x7e)](_0x518e1f[_0x35d0f6(0x84)]))return{...emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xad),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x518e1f[_0x35d0f6(0x8f)],'message':_0x35d0f6(0x8b)};const _0xc75bde=_0x518e1f[_0x35d0f6(0x84)][_0x35d0f6(0x86)](summarizeLocalServiceEntry);return{'registryPath':_0x665316,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x518e1f['updatedAt'],'serviceCount':_0xc75bde[_0x35d0f6(0x80)],'commandCount':_0xc75bde[_0x35d0f6(0x90)]((_0xd3e005,_0x2348e8)=>_0xd3e005+_0x2348e8['commandCount'],0x0),'services':_0xc75bde};}catch(_0x112412){return{...emptyServiceRegistryInspection(_0x665316,'invalid',!![]),'message':_0x112412 instanceof Error?_0x112412['message']:String(_0x112412)};}}export function formatValidationFailure(_0x688211){const _0x285bd5=a34_0x120c93,_0x4e142b=_0x688211['errors'][_0x285bd5(0x86)](_0x175502=>_0x175502['path']+':\x20'+_0x175502[_0x285bd5(0x8a)]);return _0x285bd5(0x91)+_0x4e142b[_0x285bd5(0x95)]('\x0a');}function extractLoadedServiceManifests(_0x573aa3,_0x23cb12){const _0x91a43b=a34_0x120c93;if(!isServiceRegistryLike(_0x573aa3)){const _0x548deb=_0x573aa3,_0x2e7de8=validateServiceTreeManifest(_0x548deb);return[{'manifest':_0x548deb,'report':_0x2e7de8,'normalizedManifest':_0x2e7de8['ok']?normalizeServiceTreeManifest(_0x548deb):undefined,'sourceHash':_0x23cb12}];}return _0x573aa3[_0x91a43b(0x84)][_0x91a43b(0x86)]((_0x197414,_0x3371fa)=>{const _0x322597=_0x91a43b,_0xc90a76=isObjectRecord(_0x197414)?_0x197414[_0x322597(0x74)]:undefined,_0x4493e4=validateServiceTreeManifest(_0xc90a76),_0x54cdb0=isObjectRecord(_0x197414)&&typeof _0x197414[_0x322597(0x9a)]==='string'?_0x197414[_0x322597(0x9a)]:undefined;return{'manifest':_0xc90a76,'report':_0x4493e4,'normalizedManifest':_0x4493e4['ok']?normalizeServiceTreeManifest(_0xc90a76):undefined,'sourceHash':sha256(JSON[_0x322597(0xbd)](_0xc90a76,null,0x2)+'\x0a'),'registryIndex':_0x3371fa,'registryServiceCode':_0x54cdb0};});}function aggregateValidationReports(_0x5b3f78){const _0x3784f6=a34_0x120c93,_0x2614c5=_0x5b3f78[_0x3784f6(0x87)](_0x102b7=>_0x102b7[_0x3784f6(0x97)]===undefined?_0x102b7['report'][_0x3784f6(0xb0)]:_0x102b7[_0x3784f6(0xbc)][_0x3784f6(0xb0)]['map'](_0x4a2d96=>({..._0x4a2d96,'path':prefixRegistryIssuePath(_0x102b7[_0x3784f6(0x97)],_0x4a2d96['path'])}))),_0x209b46=_0x5b3f78[_0x3784f6(0x87)](_0x289380=>_0x289380['registryIndex']===undefined?_0x289380[_0x3784f6(0xbc)][_0x3784f6(0xc7)]:_0x289380['report'][_0x3784f6(0xc7)][_0x3784f6(0x86)](_0x1a8385=>({..._0x1a8385,'path':prefixRegistryIssuePath(_0x289380[_0x3784f6(0x97)],_0x1a8385[_0x3784f6(0x7c)])})));return{'ok':_0x2614c5[_0x3784f6(0x80)]===0x0,'errors':_0x2614c5,'warnings':_0x209b46};}function a34_0x38f8(_0x182d89,_0x501351){_0x182d89=_0x182d89-0x74;const _0x2ed57b=a34_0x2ed5();let _0x38f8fa=_0x2ed57b[_0x182d89];return _0x38f8fa;}function prefixRegistryIssuePath(_0x51e3df,_0x2bcbde){const _0x3eb6bd=a34_0x120c93;if(_0x2bcbde==='$')return _0x3eb6bd(0xac)+_0x51e3df+'].manifest';if(_0x2bcbde['startsWith']('$.'))return _0x3eb6bd(0xac)+_0x51e3df+_0x3eb6bd(0xc3)+_0x2bcbde[_0x3eb6bd(0xc4)](0x1);if(_0x2bcbde['startsWith']('$['))return _0x3eb6bd(0xac)+_0x51e3df+'].manifest'+_0x2bcbde['slice'](0x1);return'$.services['+_0x51e3df+_0x3eb6bd(0xa4)+_0x2bcbde;}function isServiceRegistryLike(_0x5956d7){const _0x52e997=a34_0x120c93;return isObjectRecord(_0x5956d7)&&_0x5956d7[_0x52e997(0xa9)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x5956d7[_0x52e997(0x84)]);}function isObjectRecord(_0x3a4c1d){const _0x62a6a3=a34_0x120c93;return Boolean(_0x3a4c1d)&&typeof _0x3a4c1d===_0x62a6a3(0xab)&&!Array[_0x62a6a3(0x7e)](_0x3a4c1d);}function emptyServiceRegistryInspection(_0x4db1be,_0x1ffeae,_0x1bc3f0){return{'registryPath':_0x4db1be,'exists':_0x1bc3f0,'status':_0x1ffeae,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1c71ba){const _0x21f2c9=a34_0x120c93,_0x133e76=_0x1c71ba['normalizedManifest'],_0x46b181=_0x133e76['commands'][_0x21f2c9(0x86)](_0x56e75d=>({'path':_0x56e75d['cliPath'],'description':_0x56e75d[_0x21f2c9(0xb1)],'risk':_0x56e75d[_0x21f2c9(0xa8)],'targetKind':_0x56e75d[_0x21f2c9(0xb4)]['kind'],'targetCommand':_0x56e75d[_0x21f2c9(0xb4)][_0x21f2c9(0xa3)]}));return{'serviceCode':_0x1c71ba[_0x21f2c9(0x9a)],'name':_0x133e76[_0x21f2c9(0x94)]['name'],'description':_0x133e76[_0x21f2c9(0x94)][_0x21f2c9(0xb1)],'version':_0x1c71ba['version'],'importedAt':_0x1c71ba[_0x21f2c9(0xb7)],'source':_0x1c71ba[_0x21f2c9(0x9c)],'commandCount':_0x46b181[_0x21f2c9(0x80)],'commands':_0x46b181};}function sha256(_0x19b111){const _0x3e6cfc=a34_0x120c93;return createHash(_0x3e6cfc(0x9d))[_0x3e6cfc(0x9b)](_0x19b111)[_0x3e6cfc(0xa1)](_0x3e6cfc(0xbb));}
1
+ const a34_0x1775bb=a34_0x3351;(function(_0xc5f0a3,_0x35379d){const _0x19d6f8=a34_0x3351,_0x556fec=_0xc5f0a3();while(!![]){try{const _0x370e99=-parseInt(_0x19d6f8(0x17c))/0x1+parseInt(_0x19d6f8(0x16e))/0x2+-parseInt(_0x19d6f8(0x196))/0x3+-parseInt(_0x19d6f8(0x17a))/0x4*(parseInt(_0x19d6f8(0x186))/0x5)+-parseInt(_0x19d6f8(0x16d))/0x6*(parseInt(_0x19d6f8(0x172))/0x7)+-parseInt(_0x19d6f8(0x167))/0x8*(parseInt(_0x19d6f8(0x192))/0x9)+-parseInt(_0x19d6f8(0x16f))/0xa*(-parseInt(_0x19d6f8(0x173))/0xb);if(_0x370e99===_0x35379d)break;else _0x556fec['push'](_0x556fec['shift']());}catch(_0x26cfd7){_0x556fec['push'](_0x556fec['shift']());}}}(a34_0x45ea,0x6b4cf));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x1775bb(0x178);export function getServiceRegistryPath(_0x4afb9f={}){const _0x1008d8=a34_0x1775bb;return resolve(_0x4afb9f[_0x1008d8(0x1a5)]??homedir(),PRODUCT_CONFIG[_0x1008d8(0x181)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x24cd46={}){const _0x4ce6fa=a34_0x1775bb,_0x27a100=getServiceRegistryPath(_0x24cd46);if(!existsSync(_0x27a100))return emptyServiceRegistry();try{const _0x399b76=readFileSync(_0x27a100,_0x4ce6fa(0x187));if(!_0x399b76[_0x4ce6fa(0x1a0)]())return emptyServiceRegistry();const _0xbb739f=JSON[_0x4ce6fa(0x1b1)](_0x399b76);if(_0xbb739f[_0x4ce6fa(0x1b8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x18a)+String(_0xbb739f[_0x4ce6fa(0x1b8)]),_0x4ce6fa(0x1ae)+_0x27a100+'.');if(!Array[_0x4ce6fa(0x1b6)](_0xbb739f[_0x4ce6fa(0x18c)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xbb739f['updatedAt'],'services':_0xbb739f['services']};}catch(_0x45f4fd){if(_0x45f4fd instanceof Error&&_0x45f4fd[_0x4ce6fa(0x171)]==='CliError')throw _0x45f4fd;throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x17e)+_0x27a100,_0x4ce6fa(0x182));}}export function writeServiceRegistry(_0x484b57,_0x1bc402={}){const _0x1a41f6=a34_0x1775bb,_0x3f54f7=getServiceRegistryPath(_0x1bc402),_0x4db42b=dirname(_0x3f54f7);!existsSync(_0x4db42b)&&mkdirSync(_0x4db42b,{'recursive':!![]});const _0x3dc7e9=_0x3f54f7+_0x1a41f6(0x19f);try{writeFileSync(_0x3dc7e9,JSON[_0x1a41f6(0x184)](_0x484b57,null,0x2)+'\x0a',{'encoding':_0x1a41f6(0x187),'mode':0x180}),renameSync(_0x3dc7e9,_0x3f54f7);}catch(_0x5b6428){try{unlinkSync(_0x3dc7e9);}catch{}if(_0x5b6428?.[_0x1a41f6(0x1bb)]===_0x1a41f6(0x193))throw CliErrors['validation'](_0x1a41f6(0x1ac)+_0x3f54f7);throw _0x5b6428;}return _0x3f54f7;}export function loadServiceManifestFromFile(_0x492ab6){const _0x5ba821=a34_0x1775bb,_0x4c2e26=resolve(_0x492ab6);if(!existsSync(_0x4c2e26))throw CliErrors['validation'](_0x5ba821(0x189)+_0x492ab6);let _0x23e4f9;const _0x3bb13c=readFileSync(_0x4c2e26,_0x5ba821(0x187));try{_0x23e4f9=JSON['parse'](_0x3bb13c);}catch{throw CliErrors['validation'](_0x5ba821(0x19d)+_0x492ab6,_0x5ba821(0x1ba));}const _0x4b5464=sha256(_0x3bb13c),_0x1a13df=extractLoadedServiceManifests(_0x23e4f9,_0x4b5464),_0x28e752=aggregateValidationReports(_0x1a13df),_0x1b68e8=_0x1a13df[0x0];return{'filePath':_0x4c2e26,'hash':_0x4b5464,'kind':isServiceRegistryLike(_0x23e4f9)?_0x5ba821(0x170):_0x5ba821(0x18d),'manifest':_0x1b68e8?.[_0x5ba821(0x18d)]??_0x23e4f9,'report':_0x28e752,'normalizedManifest':_0x1a13df[_0x5ba821(0x1b3)]===0x1?_0x1b68e8?.[_0x5ba821(0x1a6)]:undefined,'manifests':_0x1a13df};}function a34_0x3351(_0xd93cc1,_0xfaba7f){_0xd93cc1=_0xd93cc1-0x167;const _0x45eaea=a34_0x45ea();let _0x3351d9=_0x45eaea[_0xd93cc1];return _0x3351d9;}export function importServiceManifest(_0x5ee4c2,_0x50954d={}){const _0x10bb4e=a34_0x1775bb,_0x2fe703=loadServiceManifestFromFile(_0x5ee4c2);if(!_0x2fe703[_0x10bb4e(0x1af)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x2fe703[_0x10bb4e(0x1af)]),_0x10bb4e(0x16a));if(_0x2fe703[_0x10bb4e(0x194)][_0x10bb4e(0x1b3)]===0x0)throw CliErrors[_0x10bb4e(0x174)](_0x10bb4e(0x1b9),_0x10bb4e(0x19b));const _0x5c4d2d=readServiceRegistry(_0x50954d),_0x1656d0=(_0x50954d[_0x10bb4e(0x175)]??(()=>new Date()))()[_0x10bb4e(0x188)](),_0x27daeb=[];let _0x442fa6=0x0,_0x2d5e81=0x0;for(const _0x4ec2dd of _0x2fe703[_0x10bb4e(0x194)]){if(!_0x4ec2dd['normalizedManifest'])continue;const _0x5e27a3=_0x4ec2dd['normalizedManifest']['service'][_0x10bb4e(0x1bb)],_0x41dfa1={'serviceCode':_0x5e27a3,'version':_0x4ec2dd['normalizedManifest'][_0x10bb4e(0x1b4)],'importedAt':_0x1656d0,'source':{'type':_0x10bb4e(0x195),'path':_0x2fe703[_0x10bb4e(0x1b2)],'hash':_0x4ec2dd[_0x10bb4e(0x183)]},'manifest':_0x4ec2dd[_0x10bb4e(0x18d)],'normalizedManifest':_0x4ec2dd[_0x10bb4e(0x1a6)]},_0x5ba010=_0x5c4d2d['services'][_0x10bb4e(0x1bc)](_0x16faf=>_0x16faf[_0x10bb4e(0x19e)]===_0x5e27a3);_0x5ba010>=0x0?(_0x5c4d2d[_0x10bb4e(0x18c)][_0x5ba010]=_0x41dfa1,_0x2d5e81++):(_0x5c4d2d[_0x10bb4e(0x18c)][_0x10bb4e(0x1bd)](_0x41dfa1),_0x442fa6++),_0x27daeb[_0x10bb4e(0x1bd)](_0x41dfa1);}_0x5c4d2d['services'][_0x10bb4e(0x18e)]((_0x4fbdb2,_0x4431d3)=>_0x4fbdb2[_0x10bb4e(0x19e)][_0x10bb4e(0x1a3)](_0x4431d3[_0x10bb4e(0x19e)])),_0x5c4d2d[_0x10bb4e(0x1a7)]=_0x1656d0;const _0x5909ed=writeServiceRegistry(_0x5c4d2d,_0x50954d);return{'registryPath':_0x5909ed,'entry':_0x27daeb[0x0],'replaced':_0x27daeb[_0x10bb4e(0x1b3)]===0x1?_0x2d5e81===0x1:_0x2d5e81>0x0,'entries':_0x27daeb,'imported':_0x442fa6,'updated':_0x2d5e81,'serviceCount':_0x5c4d2d[_0x10bb4e(0x18c)]['length']};}export function exportServiceManifest(_0x3856f0,_0x214063,_0x1f1386={}){const _0x1a7852=a34_0x1775bb,_0x5d25a6=getServiceRegistryPath(_0x1f1386),_0x1d1a00=getLocalServiceEntry(_0x3856f0,_0x1f1386);if(!_0x1d1a00)throw CliErrors[_0x1a7852(0x174)](_0x1a7852(0x16b)+_0x3856f0,_0x1a7852(0x1a2));const _0xcb3698=resolve(_0x214063),_0x58c22a=dirname(_0xcb3698);return!existsSync(_0x58c22a)&&mkdirSync(_0x58c22a,{'recursive':!![]}),writeFileSync(_0xcb3698,JSON['stringify'](_0x1d1a00[_0x1a7852(0x18d)],null,0x2)+'\x0a',{'encoding':_0x1a7852(0x187),'mode':0x180}),{'registryPath':_0x5d25a6,'filePath':_0xcb3698,'entry':_0x1d1a00};}export function removeServiceManifest(_0x55fe5a,_0x8d787d={}){const _0x393d04=a34_0x1775bb,_0x496b14=readServiceRegistry(_0x8d787d),_0x3f5bcd=_0x55fe5a[_0x393d04(0x1a0)](),_0x4208bc=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1bc)](_0x3121d7=>_0x3121d7[_0x393d04(0x19e)]===_0x3f5bcd);if(_0x4208bc<0x0)throw CliErrors['validation'](_0x393d04(0x16b)+_0x3f5bcd,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4633e2]=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1a1)](_0x4208bc,0x1),_0x29a454=(_0x8d787d[_0x393d04(0x175)]??(()=>new Date()))()[_0x393d04(0x188)]();_0x496b14[_0x393d04(0x1a7)]=_0x29a454;const _0x3d08af=writeServiceRegistry(_0x496b14,_0x8d787d);return{'registryPath':_0x3d08af,'entry':_0x4633e2,'serviceCount':_0x496b14[_0x393d04(0x18c)]['length']};}export function listLocalServices(_0x2dcd51={}){const _0x14bcab=a34_0x1775bb;return readServiceRegistry(_0x2dcd51)[_0x14bcab(0x18c)];}export function getLocalServiceEntry(_0xdb1b08,_0x3c50e4={}){const _0x5be0de=a34_0x1775bb;return readServiceRegistry(_0x3c50e4)[_0x5be0de(0x18c)][_0x5be0de(0x17b)](_0x470461=>_0x470461['serviceCode']===_0xdb1b08[_0x5be0de(0x1a0)]());}export function listLocalServiceTrees(_0x574748={}){const _0x3a3cc7=a34_0x1775bb;return readServiceRegistry(_0x574748)['services'][_0x3a3cc7(0x185)](_0x150d17=>_0x150d17[_0x3a3cc7(0x1a6)]);}export function inspectServiceRegistry(_0x42b87c={}){const _0x223b47=a34_0x1775bb,_0x553071=getServiceRegistryPath(_0x42b87c);if(!existsSync(_0x553071))return emptyServiceRegistryInspection(_0x553071,_0x223b47(0x176),![]);try{const _0x215d82=readFileSync(_0x553071,_0x223b47(0x187));if(!_0x215d82[_0x223b47(0x1a0)]())return emptyServiceRegistryInspection(_0x553071,'empty',!![]);const _0x5793aa=JSON[_0x223b47(0x1b1)](_0x215d82);if(_0x5793aa['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':_0x5793aa[_0x223b47(0x1b8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x5793aa[_0x223b47(0x1b8)])};if(!Array[_0x223b47(0x1b6)](_0x5793aa[_0x223b47(0x18c)]))return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa['updatedAt'],'message':_0x223b47(0x19a)};const _0xa4fc0d=_0x5793aa[_0x223b47(0x18c)][_0x223b47(0x185)](summarizeLocalServiceEntry);return{'registryPath':_0x553071,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa[_0x223b47(0x1a7)],'serviceCount':_0xa4fc0d[_0x223b47(0x1b3)],'commandCount':_0xa4fc0d[_0x223b47(0x18b)]((_0x16f821,_0xad33d)=>_0x16f821+_0xad33d[_0x223b47(0x1b0)],0x0),'services':_0xa4fc0d};}catch(_0x289e91){return{...emptyServiceRegistryInspection(_0x553071,'invalid',!![]),'message':_0x289e91 instanceof Error?_0x289e91[_0x223b47(0x18f)]:String(_0x289e91)};}}export function formatValidationFailure(_0x3a7f09){const _0x1c149d=a34_0x1775bb,_0x515b88=_0x3a7f09[_0x1c149d(0x191)]['map'](_0x217c6d=>_0x217c6d[_0x1c149d(0x1ad)]+':\x20'+_0x217c6d[_0x1c149d(0x18f)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x515b88[_0x1c149d(0x1a8)]('\x0a');}function extractLoadedServiceManifests(_0x3cda2a,_0x114301){const _0x292096=a34_0x1775bb;if(!isServiceRegistryLike(_0x3cda2a)){const _0x289cfb=_0x3cda2a,_0x399ca1=validateServiceTreeManifest(_0x289cfb);return[{'manifest':_0x289cfb,'report':_0x399ca1,'normalizedManifest':_0x399ca1['ok']?normalizeServiceTreeManifest(_0x289cfb):undefined,'sourceHash':_0x114301}];}return _0x3cda2a[_0x292096(0x18c)][_0x292096(0x185)]((_0x271070,_0x3f4388)=>{const _0x5339ab=_0x292096,_0x1dfb9f=isObjectRecord(_0x271070)?_0x271070[_0x5339ab(0x18d)]:undefined,_0x16f2fd=validateServiceTreeManifest(_0x1dfb9f),_0x25b464=isObjectRecord(_0x271070)&&typeof _0x271070[_0x5339ab(0x19e)]==='string'?_0x271070[_0x5339ab(0x19e)]:undefined;return{'manifest':_0x1dfb9f,'report':_0x16f2fd,'normalizedManifest':_0x16f2fd['ok']?normalizeServiceTreeManifest(_0x1dfb9f):undefined,'sourceHash':sha256(JSON[_0x5339ab(0x184)](_0x1dfb9f,null,0x2)+'\x0a'),'registryIndex':_0x3f4388,'registryServiceCode':_0x25b464};});}function aggregateValidationReports(_0x423bfe){const _0x4b4f80=a34_0x1775bb,_0x47e156=_0x423bfe[_0x4b4f80(0x1b5)](_0x546982=>_0x546982[_0x4b4f80(0x16c)]===undefined?_0x546982[_0x4b4f80(0x1af)][_0x4b4f80(0x191)]:_0x546982['report']['errors']['map'](_0x3b2d04=>({..._0x3b2d04,'path':prefixRegistryIssuePath(_0x546982[_0x4b4f80(0x16c)],_0x3b2d04[_0x4b4f80(0x1ad)])}))),_0x179681=_0x423bfe[_0x4b4f80(0x1b5)](_0x3981c3=>_0x3981c3[_0x4b4f80(0x16c)]===undefined?_0x3981c3['report'][_0x4b4f80(0x1a4)]:_0x3981c3['report'][_0x4b4f80(0x1a4)][_0x4b4f80(0x185)](_0x57f532=>({..._0x57f532,'path':prefixRegistryIssuePath(_0x3981c3['registryIndex'],_0x57f532[_0x4b4f80(0x1ad)])})));return{'ok':_0x47e156['length']===0x0,'errors':_0x47e156,'warnings':_0x179681};}function prefixRegistryIssuePath(_0x31731a,_0x45cef9){const _0x3fc174=a34_0x1775bb;if(_0x45cef9==='$')return'$.services['+_0x31731a+'].manifest';if(_0x45cef9[_0x3fc174(0x198)]('$.'))return _0x3fc174(0x17d)+_0x31731a+'].manifest'+_0x45cef9[_0x3fc174(0x169)](0x1);if(_0x45cef9['startsWith']('$['))return _0x3fc174(0x17d)+_0x31731a+_0x3fc174(0x180)+_0x45cef9[_0x3fc174(0x169)](0x1);return _0x3fc174(0x17d)+_0x31731a+'].manifest.'+_0x45cef9;}function isServiceRegistryLike(_0x5e16ac){const _0x569f83=a34_0x1775bb;return isObjectRecord(_0x5e16ac)&&_0x5e16ac[_0x569f83(0x1b8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x569f83(0x1b6)](_0x5e16ac[_0x569f83(0x18c)]);}function a34_0x45ea(){const _0x54cd74=['normalizedManifest','updatedAt','join','update','sha256','cliPath','Cannot\x20write\x20service\x20registry:\x20','path','Remove\x20or\x20migrate\x20','report','commandCount','parse','filePath','length','version','flatMap','isArray','invalid','schemaVersion','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','code','findIndex','push','4112ilyDAG','importedAt','slice','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Local\x20service\x20not\x20found:\x20','registryIndex','24eTSFLx','640714lZrkqe','10xhbUyu','registry','name','526561cCEbpN','29536111dJqAQu','validation','now','missing','target','service.json','service','4MUHtgf','find','400597XsPIGI','$.services[','Invalid\x20service\x20registry\x20JSON:\x20','kind','].manifest','homeDirName','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','sourceHash','stringify','map','1416585uuokhX','utf8','toISOString','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','services','manifest','sort','message','hex','errors','14076OTohRf','ENOENT','manifests','file','2331759TVjBBY','digest','startsWith','command','services\x20must\x20be\x20an\x20array','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','object','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','.tmp','trim','splice','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','localeCompare','warnings','homeDir'];a34_0x45ea=function(){return _0x54cd74;};return a34_0x45ea();}function isObjectRecord(_0x185062){const _0x25503c=a34_0x1775bb;return Boolean(_0x185062)&&typeof _0x185062===_0x25503c(0x19c)&&!Array['isArray'](_0x185062);}function emptyServiceRegistryInspection(_0x1c9e7f,_0x29cd59,_0x3263a8){return{'registryPath':_0x1c9e7f,'exists':_0x3263a8,'status':_0x29cd59,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x563007){const _0x303f62=a34_0x1775bb,_0x86600d=_0x563007['normalizedManifest'],_0x5a130b=_0x86600d['commands'][_0x303f62(0x185)](_0x41eed8=>({'path':_0x41eed8[_0x303f62(0x1ab)],'description':_0x41eed8['description'],'risk':_0x41eed8['risk'],'targetKind':_0x41eed8['target'][_0x303f62(0x17f)],'targetCommand':_0x41eed8[_0x303f62(0x177)][_0x303f62(0x199)]}));return{'serviceCode':_0x563007[_0x303f62(0x19e)],'name':_0x86600d[_0x303f62(0x179)][_0x303f62(0x171)],'description':_0x86600d['service']['description'],'version':_0x563007[_0x303f62(0x1b4)],'importedAt':_0x563007[_0x303f62(0x168)],'source':_0x563007['source'],'commandCount':_0x5a130b[_0x303f62(0x1b3)],'commands':_0x5a130b};}function sha256(_0x555a9a){const _0x2a691a=a34_0x1775bb;return createHash(_0x2a691a(0x1aa))[_0x2a691a(0x1a9)](_0x555a9a)[_0x2a691a(0x197)](_0x2a691a(0x190));}
@@ -1 +1 @@
1
- const a35_0x43f422=a35_0x41cf;(function(_0x2c6f5f,_0x23c2c1){const _0x310b7f=a35_0x41cf,_0x1d30e4=_0x2c6f5f();while(!![]){try{const _0x587194=-parseInt(_0x310b7f(0x161))/0x1*(-parseInt(_0x310b7f(0x14d))/0x2)+parseInt(_0x310b7f(0x14b))/0x3+parseInt(_0x310b7f(0x15a))/0x4+-parseInt(_0x310b7f(0x156))/0x5*(parseInt(_0x310b7f(0x15b))/0x6)+-parseInt(_0x310b7f(0x147))/0x7*(-parseInt(_0x310b7f(0x140))/0x8)+parseInt(_0x310b7f(0x160))/0x9*(parseInt(_0x310b7f(0x148))/0xa)+-parseInt(_0x310b7f(0x149))/0xb*(parseInt(_0x310b7f(0x13f))/0xc);if(_0x587194===_0x23c2c1)break;else _0x1d30e4['push'](_0x1d30e4['shift']());}catch(_0x3dae96){_0x1d30e4['push'](_0x1d30e4['shift']());}}}(a35_0x4793,0x25e68));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a35_0x41cf(_0x31d01b,_0x4ffb08){_0x31d01b=_0x31d01b-0x13f;const _0x479386=a35_0x4793();let _0x41cfe7=_0x479386[_0x31d01b];return _0x41cfe7;}import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x43f422(0x14f),'command':a35_0x43f422(0x143),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x43f422(0x142),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3aa4fe){const _0x258762=a35_0x43f422,_0x26d558=buildSkillCreatePlan(_0x3aa4fe['str'](_0x258762(0x163)),_0x3aa4fe[_0x258762(0x155)](_0x258762(0x157)),_0x3aa4fe[_0x258762(0x155)](_0x258762(0x15c)));return{'method':'WRITE','url':_0x26d558[_0x258762(0x14a)],'body':{'skillName':_0x26d558['rendered']['skillName'],'type':_0x26d558[_0x258762(0x146)][_0x258762(0x157)],'selfContained':!![],'files':_0x26d558[_0x258762(0x146)][_0x258762(0x154)]['map'](_0x25e178=>_0x25e178[_0x258762(0x14e)])},'description':_0x258762(0x141)};},async 'execute'(_0x424a6e){const _0x21838a=a35_0x43f422,_0x1044d5=buildSkillCreatePlan(_0x424a6e['str'](_0x21838a(0x163)),_0x424a6e[_0x21838a(0x155)](_0x21838a(0x157)),_0x424a6e[_0x21838a(0x155)](_0x21838a(0x15c)));return writeSkillDraft(_0x1044d5,_0x424a6e[_0x21838a(0x158)](_0x21838a(0x144))),{'ok':!![],'data':{'skillName':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x15d)],'type':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x157)],'dir':_0x1044d5[_0x21838a(0x14a)],'files':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x154)][_0x21838a(0x145)](_0xad4c13=>_0xad4c13[_0x21838a(0x14e)])},'message':_0x21838a(0x150)+_0x1044d5[_0x21838a(0x146)][_0x21838a(0x15d)]};}};function buildSkillCreatePlan(_0x2c60f3,_0x2b4b6e,_0x517e93){const _0x1e0402=a35_0x43f422,_0x4841c3=renderSkillTemplate({'skillName':_0x2c60f3,'type':_0x2b4b6e}),_0x550f24=resolve(normalizeSkillTarget(_0x517e93));return{'rendered':_0x4841c3,'targetRoot':_0x550f24,'skillDir':resolve(_0x550f24,_0x4841c3[_0x1e0402(0x15d)])};}function normalizeSkillTarget(_0x59c728){return(_0x59c728||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x7932c5,_0x556d17){const _0x3f72a1=a35_0x43f422;if(existsSync(_0x7932c5[_0x3f72a1(0x14a)])){const _0x12aa71=lstatSync(_0x7932c5[_0x3f72a1(0x14a)]);if(!_0x12aa71[_0x3f72a1(0x153)]()||_0x12aa71[_0x3f72a1(0x151)]())throw CliErrors['validation'](_0x3f72a1(0x15f)+_0x7932c5['skillDir']);if(!_0x556d17)throw CliErrors[_0x3f72a1(0x159)](_0x3f72a1(0x14c)+_0x7932c5[_0x3f72a1(0x14a)],_0x3f72a1(0x152));}for(const _0x135169 of _0x7932c5[_0x3f72a1(0x146)][_0x3f72a1(0x154)]){const _0x4b1531=resolve(_0x7932c5['skillDir'],_0x135169[_0x3f72a1(0x14e)]),_0x35c863=dirname(_0x4b1531);mkdirSync(_0x35c863,{'recursive':!![]});if(existsSync(_0x4b1531)&&lstatSync(_0x4b1531)[_0x3f72a1(0x151)]())throw CliErrors[_0x3f72a1(0x159)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x4b1531);writeFileSync(_0x4b1531,_0x135169[_0x3f72a1(0x162)],_0x3f72a1(0x15e));}}function a35_0x4793(){const _0x2ab075=['path','skill','Created\x20local\x20Skill\x20draft\x20','isSymbolicLink','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','isDirectory','files','str','5485hGgUSy','type','bool','validation','99944nHBwkW','210pQAYPW','target','skillName','utf8','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','2695311xLLUSB','15KFJRkU','content','name','12unQXeA','232PBaJRg','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','write','create','force','map','rendered','58177CRJGof','10gcQtff','5438697zHhlIS','skillDir','264639zWFjDe','Skill\x20directory\x20already\x20exists:\x20','4582gILIqm'];a35_0x4793=function(){return _0x2ab075;};return a35_0x4793();}
1
+ const a35_0x2bdee2=a35_0x5dee;(function(_0x44de78,_0x20b9b7){const _0x4cdd51=a35_0x5dee,_0x797b7d=_0x44de78();while(!![]){try{const _0x2ec4b7=-parseInt(_0x4cdd51(0x17e))/0x1*(-parseInt(_0x4cdd51(0x166))/0x2)+parseInt(_0x4cdd51(0x175))/0x3*(-parseInt(_0x4cdd51(0x184))/0x4)+-parseInt(_0x4cdd51(0x180))/0x5*(-parseInt(_0x4cdd51(0x172))/0x6)+parseInt(_0x4cdd51(0x179))/0x7*(parseInt(_0x4cdd51(0x16b))/0x8)+-parseInt(_0x4cdd51(0x17f))/0x9*(-parseInt(_0x4cdd51(0x188))/0xa)+-parseInt(_0x4cdd51(0x18a))/0xb+parseInt(_0x4cdd51(0x176))/0xc*(-parseInt(_0x4cdd51(0x168))/0xd);if(_0x2ec4b7===_0x20b9b7)break;else _0x797b7d['push'](_0x797b7d['shift']());}catch(_0x337f07){_0x797b7d['push'](_0x797b7d['shift']());}}}(a35_0x3fed,0x797e1));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':'create','description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x2bdee2(0x17c),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x342e3f){const _0x5f4916=a35_0x2bdee2,_0x3608e0=buildSkillCreatePlan(_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x182)),_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x169)),_0x342e3f[_0x5f4916(0x189)](_0x5f4916(0x186)));return{'method':_0x5f4916(0x170),'url':_0x3608e0[_0x5f4916(0x187)],'body':{'skillName':_0x3608e0['rendered'][_0x5f4916(0x183)],'type':_0x3608e0['rendered'][_0x5f4916(0x169)],'selfContained':!![],'files':_0x3608e0[_0x5f4916(0x178)][_0x5f4916(0x17d)][_0x5f4916(0x16a)](_0x41fb53=>_0x41fb53[_0x5f4916(0x16e)])},'description':_0x5f4916(0x16d)};},async 'execute'(_0x597906){const _0x5da4aa=a35_0x2bdee2,_0x53bb62=buildSkillCreatePlan(_0x597906[_0x5da4aa(0x189)](_0x5da4aa(0x182)),_0x597906[_0x5da4aa(0x189)](_0x5da4aa(0x169)),_0x597906[_0x5da4aa(0x189)]('target'));return writeSkillDraft(_0x53bb62,_0x597906['bool'](_0x5da4aa(0x167))),{'ok':!![],'data':{'skillName':_0x53bb62[_0x5da4aa(0x178)][_0x5da4aa(0x183)],'type':_0x53bb62['rendered'][_0x5da4aa(0x169)],'dir':_0x53bb62['skillDir'],'files':_0x53bb62[_0x5da4aa(0x178)]['files'][_0x5da4aa(0x16a)](_0x47dc57=>_0x47dc57[_0x5da4aa(0x16e)])},'message':_0x5da4aa(0x16f)+_0x53bb62[_0x5da4aa(0x178)][_0x5da4aa(0x183)]};}};function buildSkillCreatePlan(_0x55d88f,_0x25c26f,_0x548218){const _0x6b8890=a35_0x2bdee2,_0x51ef11=renderSkillTemplate({'skillName':_0x55d88f,'type':_0x25c26f}),_0x20e030=resolve(normalizeSkillTarget(_0x548218));return{'rendered':_0x51ef11,'targetRoot':_0x20e030,'skillDir':resolve(_0x20e030,_0x51ef11[_0x6b8890(0x183)])};}function normalizeSkillTarget(_0x4b1b6e){const _0x55e493=a35_0x2bdee2;return(_0x4b1b6e||DEFAULT_SKILL_TARGET)[_0x55e493(0x16c)]()||DEFAULT_SKILL_TARGET;}function a35_0x3fed(){const _0x4c01e1=['name','skillName','32tEAiJQ','Refusing\x20to\x20overwrite\x20symlink:\x20','target','skillDir','14130UKZsTS','str','1271006uGcRhr','231596JVOqBd','force','3861BDVFFw','type','map','321256ejXfZP','trim','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','path','Created\x20local\x20Skill\x20draft\x20','WRITE','isSymbolicLink','6gUXohU','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','validation','85659zSeJvH','41736dDkqFk','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','rendered','35ElKxwW','Skill\x20directory\x20already\x20exists:\x20','utf8','write','files','2xKkaly','6057YCOEdP','2456195lwMpqS','content'];a35_0x3fed=function(){return _0x4c01e1;};return a35_0x3fed();}function a35_0x5dee(_0xddc0e4,_0x47ce93){_0xddc0e4=_0xddc0e4-0x166;const _0x3fed29=a35_0x3fed();let _0x5dee83=_0x3fed29[_0xddc0e4];return _0x5dee83;}function writeSkillDraft(_0x399f15,_0x280ef7){const _0x54abcd=a35_0x2bdee2;if(existsSync(_0x399f15[_0x54abcd(0x187)])){const _0x14062b=lstatSync(_0x399f15[_0x54abcd(0x187)]);if(!_0x14062b['isDirectory']()||_0x14062b[_0x54abcd(0x171)]())throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x177)+_0x399f15[_0x54abcd(0x187)]);if(!_0x280ef7)throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x17a)+_0x399f15[_0x54abcd(0x187)],_0x54abcd(0x173));}for(const _0x5d3314 of _0x399f15[_0x54abcd(0x178)][_0x54abcd(0x17d)]){const _0x39d7b0=resolve(_0x399f15['skillDir'],_0x5d3314[_0x54abcd(0x16e)]),_0x4cab5f=dirname(_0x39d7b0);mkdirSync(_0x4cab5f,{'recursive':!![]});if(existsSync(_0x39d7b0)&&lstatSync(_0x39d7b0)[_0x54abcd(0x171)]())throw CliErrors[_0x54abcd(0x174)](_0x54abcd(0x185)+_0x39d7b0);writeFileSync(_0x39d7b0,_0x5d3314[_0x54abcd(0x181)],_0x54abcd(0x17b));}}
@@ -1 +1 @@
1
- const a36_0x247124=a36_0x3263;(function(_0x354645,_0x323fad){const _0x108935=a36_0x3263,_0x2bece1=_0x354645();while(!![]){try{const _0x271d38=parseInt(_0x108935(0x12d))/0x1*(parseInt(_0x108935(0x11a))/0x2)+-parseInt(_0x108935(0x115))/0x3+-parseInt(_0x108935(0x132))/0x4*(parseInt(_0x108935(0x122))/0x5)+-parseInt(_0x108935(0x12b))/0x6*(-parseInt(_0x108935(0x12e))/0x7)+parseInt(_0x108935(0x138))/0x8+-parseInt(_0x108935(0x139))/0x9+parseInt(_0x108935(0x136))/0xa;if(_0x271d38===_0x323fad)break;else _0x2bece1['push'](_0x2bece1['shift']());}catch(_0x34b0c7){_0x2bece1['push'](_0x2bece1['shift']());}}}(a36_0x53da,0xb8ffb));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x247124(0x120),'command':'install','description':a36_0x247124(0x13a),'risk':a36_0x247124(0x121),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x10eea1){return syncRuntimeSkills(_0x10eea1);}};async function syncRuntimeSkills(_0x1e049e){const _0x9d639b=a36_0x247124,{downloadRuntimeSkillPackage:_0x1033ad,listRuntimeSkills:_0x5402de}=await import(_0x9d639b(0x128)),{linkEffectiveRuntimeSkills:_0x4d4c87,materializeRuntimeSkill:_0x1749c6,pruneStaleRuntimeSkillCache:_0x299965,pruneStaleRuntimeSkillLinks:_0x347908}=await import(_0x9d639b(0x11c)),_0x551db5=_0x1e049e[_0x9d639b(0x137)]('code'),_0x35b680=normalizeSyncScopes(_0x1e049e[_0x9d639b(0x137)](_0x9d639b(0x12a))),_0x5611a1=_0x1e049e['envName']??_0x9d639b(0x12c),_0x484539=_0x1e049e['accessKey'];if(!_0x484539)throw CliErrors[_0x9d639b(0x135)](_0x9d639b(0x119));const _0x43c80e=await Promise[_0x9d639b(0x126)](_0x35b680[_0x9d639b(0x123)](_0x3f4247=>_0x5402de({'appCode':_0x1e049e[_0x9d639b(0x129)],'scope':_0x3f4247,'code':_0x551db5[_0x9d639b(0x127)]()||undefined}))),_0x1214da=_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x13c))?_0x43c80e['flatMap']((_0x283cf5,_0x35b4a2)=>_0x35b680[_0x35b4a2]===_0x9d639b(0x13c)?_0x283cf5[_0x9d639b(0x13c)]:[]):[],_0x96bdb9=_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x133))?_0x43c80e[_0x9d639b(0x130)]((_0x1b8344,_0x22f335)=>_0x35b680[_0x22f335]===_0x9d639b(0x133)?_0x1b8344['company']:[]):[],_0x2d6dfd=new Set([..._0x1214da[_0x9d639b(0x123)](_0x56fe14=>_0x56fe14[_0x9d639b(0x117)]?.['trim']())['filter'](_0x56502f=>Boolean(_0x56502f)),..._0x96bdb9[_0x9d639b(0x123)](_0x18f81b=>_0x18f81b[_0x9d639b(0x117)]?.['trim']())[_0x9d639b(0x124)](_0x5568f4=>Boolean(_0x5568f4))]),_0x516636=_0x551db5[_0x9d639b(0x127)]()?[_0x551db5['trim']()]:undefined,_0x12653b=_0x35b680[_0x9d639b(0x12f)]===0x2&&_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x13c))&&_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x133)),_0x790e5=_0x12653b?_0x347908(_0x1e049e[_0x9d639b(0x129)],_0x2d6dfd,{},_0x516636):[],_0x393f89=_0x299965({'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e[_0x9d639b(0x129)],'activeSkillCodes':_0x2d6dfd,'pruneSkillCodes':_0x516636,'scopes':_0x35b680}),_0x35813c=[];for(const _0x540cea of _0x1214da){_0x35813c[_0x9d639b(0x11d)](_0x1749c6(_0x540cea,_0x9d639b(0x13c),{'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e['appCode'],'packageBytes':await downloadSkillPackage(_0x540cea,_0x9d639b(0x13c),_0x1e049e[_0x9d639b(0x129)],_0x1033ad)}));}for(const _0x4b10e9 of _0x96bdb9){_0x35813c['push'](_0x1749c6(_0x4b10e9,_0x9d639b(0x133),{'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e[_0x9d639b(0x129)],'packageBytes':await downloadSkillPackage(_0x4b10e9,_0x9d639b(0x133),_0x1e049e[_0x9d639b(0x129)],_0x1033ad)}));}const _0x1232c9=_0x4d4c87(_0x35813c,_0x1e049e['appCode']),_0x5e0968=countLinkActions(_0x1232c9);return{'ok':!![],'data':{'appCode':_0x1e049e[_0x9d639b(0x129)],'personal':_0x1214da['length'],'company':_0x96bdb9[_0x9d639b(0x12f)],'materialized':_0x35813c[_0x9d639b(0x12f)],'links':{'total':_0x1232c9[_0x9d639b(0x12f)],'created':_0x5e0968[_0x9d639b(0x13b)]??0x0,'updated':_0x5e0968[_0x9d639b(0x116)]??0x0,'unchanged':_0x5e0968[_0x9d639b(0x114)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x790e5[_0x9d639b(0x124)](_0x4f39bc=>_0x4f39bc[_0x9d639b(0x125)]===_0x9d639b(0x134))['length'],'cacheDirs':_0x393f89['filter'](_0x5190ac=>_0x5190ac[_0x9d639b(0x125)]===_0x9d639b(0x134))[_0x9d639b(0x12f)],'skipped':[..._0x790e5,..._0x393f89][_0x9d639b(0x124)](_0x556dd9=>_0x556dd9[_0x9d639b(0x125)]==='skipped')['length']},'skills':{'personal':_0x1214da['map'](summarizeRuntimeSkill),'company':_0x96bdb9['map'](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x1214da[_0x9d639b(0x12f)]+_0x9d639b(0x11f)+_0x96bdb9[_0x9d639b(0x12f)]+_0x9d639b(0x118)};}async function downloadSkillPackage(_0x38af03,_0x1c4665,_0x370bd9,_0x43c48c){const _0x25fd96=a36_0x247124,_0x3274e2=_0x38af03[_0x25fd96(0x11b)]?.[_0x25fd96(0x127)]();return _0x3274e2?_0x43c48c(_0x1c4665,_0x38af03[_0x25fd96(0x117)],_0x370bd9,_0x3274e2):_0x43c48c(_0x1c4665,_0x38af03[_0x25fd96(0x117)],_0x370bd9);}function a36_0x53da(){const _0x3e2573=['\x20personal\x20and\x20','skill','write','1527485bTotKi','map','filter','action','all','trim','../../../core/api-client.js','appCode','scope','6lizzKh','production','2bJzFfn','9871897QVbIpb','length','flatMap','reduce','8klKylG','company','removed','authRequired','16230860kuHRhl','str','569232BlOeff','8099109QqrtTv','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','created','personal','unchanged','4477077YTUDwA','updated','skillCode','\x20company\x20Skill(s).','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','656498AYmuwL','version','../../../skills/runtime-skill-sync.js','push','includes'];a36_0x53da=function(){return _0x3e2573;};return a36_0x53da();}function a36_0x3263(_0x38805f,_0x262cc2){_0x38805f=_0x38805f-0x114;const _0x53da09=a36_0x53da();let _0x32636e=_0x53da09[_0x38805f];return _0x32636e;}function countLinkActions(_0x3e7a1c){const _0x3e851a=a36_0x247124;return _0x3e7a1c[_0x3e851a(0x131)]((_0x5ddcc5,_0x2e6e04)=>{const _0x33fa14=_0x3e851a;return _0x5ddcc5[_0x2e6e04['action']]=(_0x5ddcc5[_0x2e6e04[_0x33fa14(0x125)]]??0x0)+0x1,_0x5ddcc5;},{});}
1
+ const a36_0x3022b1=a36_0x31a5;(function(_0x8cb08f,_0x2a2ea9){const _0x1d7b1c=a36_0x31a5,_0x1f38d1=_0x8cb08f();while(!![]){try{const _0x501557=-parseInt(_0x1d7b1c(0xa7))/0x1+-parseInt(_0x1d7b1c(0xa1))/0x2+-parseInt(_0x1d7b1c(0x94))/0x3*(parseInt(_0x1d7b1c(0x91))/0x4)+parseInt(_0x1d7b1c(0xb5))/0x5*(parseInt(_0x1d7b1c(0x90))/0x6)+-parseInt(_0x1d7b1c(0xa8))/0x7*(-parseInt(_0x1d7b1c(0xab))/0x8)+parseInt(_0x1d7b1c(0xac))/0x9*(-parseInt(_0x1d7b1c(0x8e))/0xa)+parseInt(_0x1d7b1c(0xb2))/0xb;if(_0x501557===_0x2a2ea9)break;else _0x1f38d1['push'](_0x1f38d1['shift']());}catch(_0x43cc21){_0x1f38d1['push'](_0x1f38d1['shift']());}}}(a36_0x221e,0x8de66));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x3022b1(0x9b),'command':a36_0x3022b1(0xb6),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x20b047){return syncRuntimeSkills(_0x20b047);}};async function syncRuntimeSkills(_0x5275da){const _0x5e3bf9=a36_0x3022b1,{downloadRuntimeSkillPackage:_0x292d3d,listRuntimeSkills:_0x1f034a}=await import(_0x5e3bf9(0xa9)),{linkEffectiveRuntimeSkills:_0x10ed98,materializeRuntimeSkill:_0x381536,pruneStaleRuntimeSkillCache:_0x24f5e6,pruneStaleRuntimeSkillLinks:_0x27c6e0}=await import(_0x5e3bf9(0x8f)),_0x3297d7=_0x5275da[_0x5e3bf9(0xb4)](_0x5e3bf9(0xad)),_0x4a8234=normalizeSyncScopes(_0x5275da[_0x5e3bf9(0xb4)](_0x5e3bf9(0x98))),_0x2fa3dc=_0x5275da[_0x5e3bf9(0x8d)]??'production',_0x215fb3=_0x5275da[_0x5e3bf9(0xaa)];if(!_0x215fb3)throw CliErrors['authRequired'](_0x5e3bf9(0xae));const _0x4fa506=await Promise['all'](_0x4a8234[_0x5e3bf9(0xa0)](_0x352891=>_0x1f034a({'appCode':_0x5275da['appCode'],'scope':_0x352891,'code':_0x3297d7[_0x5e3bf9(0xb1)]()||undefined}))),_0x1863ca=_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x9f))?_0x4fa506['flatMap']((_0x363bfa,_0x560370)=>_0x4a8234[_0x560370]===_0x5e3bf9(0x9f)?_0x363bfa[_0x5e3bf9(0x9f)]:[]):[],_0x586faf=_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x93))?_0x4fa506[_0x5e3bf9(0xb0)]((_0x3ba526,_0x2a273f)=>_0x4a8234[_0x2a273f]===_0x5e3bf9(0x93)?_0x3ba526['company']:[]):[],_0xce7832=new Set([..._0x1863ca[_0x5e3bf9(0xa0)](_0x1c4a61=>_0x1c4a61[_0x5e3bf9(0x9d)]?.[_0x5e3bf9(0xb1)]())[_0x5e3bf9(0xb3)](_0x140b9a=>Boolean(_0x140b9a)),..._0x586faf[_0x5e3bf9(0xa0)](_0x3e69b1=>_0x3e69b1[_0x5e3bf9(0x9d)]?.[_0x5e3bf9(0xb1)]())[_0x5e3bf9(0xb3)](_0x2db127=>Boolean(_0x2db127))]),_0x2a8f4e=_0x3297d7[_0x5e3bf9(0xb1)]()?[_0x3297d7[_0x5e3bf9(0xb1)]()]:undefined,_0x2dbb1e=_0x4a8234[_0x5e3bf9(0xa3)]===0x2&&_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x9f))&&_0x4a8234[_0x5e3bf9(0x9c)](_0x5e3bf9(0x93)),_0x216d93=_0x2dbb1e?_0x27c6e0(_0x5275da['appCode'],_0xce7832,{},_0x2a8f4e):[],_0x5a8dbb=_0x24f5e6({'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da[_0x5e3bf9(0xa2)],'activeSkillCodes':_0xce7832,'pruneSkillCodes':_0x2a8f4e,'scopes':_0x4a8234}),_0x432d19=[];for(const _0x55458a of _0x1863ca){_0x432d19[_0x5e3bf9(0x99)](_0x381536(_0x55458a,_0x5e3bf9(0x9f),{'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da[_0x5e3bf9(0xa2)],'packageBytes':await downloadSkillPackage(_0x55458a,_0x5e3bf9(0x9f),_0x5275da[_0x5e3bf9(0xa2)],_0x292d3d)}));}for(const _0x44c4f0 of _0x586faf){_0x432d19[_0x5e3bf9(0x99)](_0x381536(_0x44c4f0,_0x5e3bf9(0x93),{'env':_0x2fa3dc,'accessKey':_0x215fb3,'appCode':_0x5275da['appCode'],'packageBytes':await downloadSkillPackage(_0x44c4f0,_0x5e3bf9(0x93),_0x5275da[_0x5e3bf9(0xa2)],_0x292d3d)}));}const _0x32141a=_0x10ed98(_0x432d19,_0x5275da[_0x5e3bf9(0xa2)]),_0x3f9efb=countLinkActions(_0x32141a);return{'ok':!![],'data':{'appCode':_0x5275da[_0x5e3bf9(0xa2)],'personal':_0x1863ca[_0x5e3bf9(0xa3)],'company':_0x586faf[_0x5e3bf9(0xa3)],'materialized':_0x432d19[_0x5e3bf9(0xa3)],'links':{'total':_0x32141a[_0x5e3bf9(0xa3)],'created':_0x3f9efb[_0x5e3bf9(0x9e)]??0x0,'updated':_0x3f9efb[_0x5e3bf9(0x9a)]??0x0,'unchanged':_0x3f9efb['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x216d93[_0x5e3bf9(0xb3)](_0x5be6fc=>_0x5be6fc[_0x5e3bf9(0x96)]===_0x5e3bf9(0x95))['length'],'cacheDirs':_0x5a8dbb['filter'](_0x419df2=>_0x419df2[_0x5e3bf9(0x96)]===_0x5e3bf9(0x95))[_0x5e3bf9(0xa3)],'skipped':[..._0x216d93,..._0x5a8dbb][_0x5e3bf9(0xb3)](_0x114266=>_0x114266[_0x5e3bf9(0x96)]===_0x5e3bf9(0xa4))[_0x5e3bf9(0xa3)]},'skills':{'personal':_0x1863ca[_0x5e3bf9(0xa0)](summarizeRuntimeSkill),'company':_0x586faf[_0x5e3bf9(0xa0)](summarizeRuntimeSkill)}},'message':_0x5e3bf9(0xaf)+_0x1863ca[_0x5e3bf9(0xa3)]+_0x5e3bf9(0x92)+_0x586faf[_0x5e3bf9(0xa3)]+_0x5e3bf9(0xa6)};}function a36_0x221e(){const _0x4de7f5=['1159006mhsfHS','appCode','length','skipped','reduce','\x20company\x20Skill(s).','773652hYZNJx','1967IRIHlt','../../../core/api-client.js','accessKey','12728IUwFgt','630aglFNS','code','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','Installed\x20','flatMap','trim','15469872hKutCO','filter','str','5xzvFoc','install','envName','34300NqwESt','../../../skills/runtime-skill-sync.js','2064648yUcShX','4gQcZWu','\x20personal\x20and\x20','company','69162ndthqq','removed','action','version','scope','push','updated','skill','includes','skillCode','created','personal','map'];a36_0x221e=function(){return _0x4de7f5;};return a36_0x221e();}function a36_0x31a5(_0x4e827a,_0x5614db){_0x4e827a=_0x4e827a-0x8d;const _0x221ed6=a36_0x221e();let _0x31a5f8=_0x221ed6[_0x4e827a];return _0x31a5f8;}async function downloadSkillPackage(_0x32a4d9,_0x5b3030,_0x302e99,_0x169ea1){const _0x16b2ca=a36_0x3022b1,_0x1d7e69=_0x32a4d9[_0x16b2ca(0x97)]?.[_0x16b2ca(0xb1)]();return _0x1d7e69?_0x169ea1(_0x5b3030,_0x32a4d9[_0x16b2ca(0x9d)],_0x302e99,_0x1d7e69):_0x169ea1(_0x5b3030,_0x32a4d9[_0x16b2ca(0x9d)],_0x302e99);}function countLinkActions(_0x31d617){const _0x5c0e37=a36_0x3022b1;return _0x31d617[_0x5c0e37(0xa5)]((_0x24dca0,_0x439252)=>{return _0x24dca0[_0x439252['action']]=(_0x24dca0[_0x439252['action']]??0x0)+0x1,_0x24dca0;},{});}