@lovrabet/lovrabet-cli 2.1.6-beta.6 → 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
- const a27_0x4fa6e0=a27_0xfa69;(function(_0x5bb987,_0x506ea8){const _0x40df09=a27_0xfa69,_0x57db36=_0x5bb987();while(!![]){try{const _0xd5194d=-parseInt(_0x40df09(0x1ba))/0x1*(parseInt(_0x40df09(0x1c6))/0x2)+parseInt(_0x40df09(0x1c1))/0x3+-parseInt(_0x40df09(0x1aa))/0x4+parseInt(_0x40df09(0x1ad))/0x5+parseInt(_0x40df09(0x1b6))/0x6*(parseInt(_0x40df09(0x1ce))/0x7)+-parseInt(_0x40df09(0x1bb))/0x8+parseInt(_0x40df09(0x1b1))/0x9*(-parseInt(_0x40df09(0x1bd))/0xa);if(_0xd5194d===_0x506ea8)break;else _0x57db36['push'](_0x57db36['shift']());}catch(_0x5ca3c8){_0x57db36['push'](_0x57db36['shift']());}}}(a27_0x16f1,0xf0333));function a27_0x16f1(){const _0x4360cb=['utf8','Search\x20query\x20is\x20required.','description','verbose','score','read','updateTime','--topk\x20must\x20be\x20a\x20positive\x20number.','appCode','search','map','File\x20not\x20found:\x20','Updated\x20KB\x20entry\x20','number','7567104McRFPB','num','topk','8865850IKEpXG','length','body','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','9NLjfEg','create','metadata','POST','docId','283362WFmkXU','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','createTime','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','1aKTHwZ','14202472uvOKwg','trim','2635430UAlVRZ','string','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','file','5759511whOifA','Override\x20the\x20existing\x20entry\x20title','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','build','674022RYoCkK','detail','title','update','scope','Created\x20KB\x20entry\x20','flag','validation','231IldXXA','content','query','Personal\x20knowledge-base\x20entry\x20title','Personal\x20knowledge-base\x20entry\x20ID','File\x20path\x20is\x20required.','version','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','weightedScore','File\x20is\x20not\x20a\x20regular\x20file:\x20','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','ragStatus','str','bool','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','isFinite','/client/knowledge-base/personal/create','write','ragErrorMessage'];a27_0x16f1=function(){return _0x4360cb;};return a27_0x16f1();}import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0xfa69(_0x1a16f5,_0x4992e5){_0x1a16f5=_0x1a16f5-0x1a0;const _0x16f1ff=a27_0x16f1();let _0xfa6982=_0x16f1ff[_0x1a16f5];return _0xfa6982;}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':'title','type':a27_0x4fa6e0(0x1be),'required':!![],'description':a27_0x4fa6e0(0x1d1)},FILE_FLAG={'name':a27_0x4fa6e0(0x1c0),'type':a27_0x4fa6e0(0x1be),'required':!![],'description':a27_0x4fa6e0(0x1dc)},QUERY_FLAG={'name':a27_0x4fa6e0(0x1d0),'type':a27_0x4fa6e0(0x1be),'required':!![],'description':a27_0x4fa6e0(0x1b0)},TOPK_FLAG={'name':a27_0x4fa6e0(0x1ac),'type':a27_0x4fa6e0(0x1a9),'description':a27_0x4fa6e0(0x1b9)};function readKnowledgeFile(_0x5b2e40){const _0x5c6565=a27_0x4fa6e0;if(!_0x5b2e40)throw CliErrors['validation'](_0x5c6565(0x1d3));if(!existsSync(_0x5b2e40))throw CliErrors[_0x5c6565(0x1cd)](_0x5c6565(0x1a7)+_0x5b2e40);if(!statSync(_0x5b2e40)['isFile']())throw CliErrors[_0x5c6565(0x1cd)](_0x5c6565(0x1d7)+_0x5b2e40);return readFileSync(_0x5b2e40,_0x5c6565(0x1e1));}function summarizePersonalItem(_0x1e22af){const _0x3fdd1a=a27_0x4fa6e0;return{'id':_0x1e22af['id'],'title':_0x1e22af[_0x3fdd1a(0x1c8)],'version':_0x1e22af[_0x3fdd1a(0x1d4)],'ragStatus':_0x1e22af[_0x3fdd1a(0x1d9)],'ragErrorMessage':_0x1e22af[_0x3fdd1a(0x1e0)],'updateTime':_0x1e22af[_0x3fdd1a(0x1a2)]};}function detailPersonalItem(_0x45bab6){const _0x323624=a27_0x4fa6e0;return{'id':_0x45bab6['id'],'appCode':_0x45bab6['appCode'],'scope':_0x45bab6[_0x323624(0x1ca)],'userId':_0x45bab6['userId'],'title':_0x45bab6[_0x323624(0x1c8)],'content':_0x45bab6['content']??'','version':_0x45bab6[_0x323624(0x1d4)],'ragStatus':_0x45bab6['ragStatus'],'ragErrorMessage':_0x45bab6['ragErrorMessage'],'createTime':_0x45bab6[_0x323624(0x1b8)],'updateTime':_0x45bab6[_0x323624(0x1a2)]};}function summarizeSearchHit(_0x27b2cc){const _0x767d2c=a27_0x4fa6e0;return{'scope':_0x27b2cc[_0x767d2c(0x1ca)],'docId':_0x27b2cc[_0x767d2c(0x1b5)],'score':_0x27b2cc[_0x767d2c(0x1a0)],'weightedScore':_0x27b2cc[_0x767d2c(0x1d6)],'content':_0x27b2cc[_0x767d2c(0x1cf)],'metadata':_0x27b2cc[_0x767d2c(0x1b3)]};}function readTopK(_0x6ba5e0){const _0x1e021a=a27_0x4fa6e0,_0x452a6d=_0x6ba5e0[_0x1e021a(0x1cc)](_0x1e021a(0x1ac));if(_0x452a6d===undefined||_0x452a6d===null||_0x452a6d==='')return undefined;const _0x2cd1d2=_0x6ba5e0['num'](_0x1e021a(0x1ac));if(!Number[_0x1e021a(0x1dd)](_0x2cd1d2)||_0x2cd1d2<0x1)throw CliErrors[_0x1e021a(0x1cd)](_0x1e021a(0x1a3));return _0x2cd1d2;}const kbList={'service':'kb','command':'list','description':a27_0x4fa6e0(0x1c4),'risk':a27_0x4fa6e0(0x1a1),'flags':[VERBOSE_FLAG],async 'execute'(_0x26fb4f){const _0x30b74f=a27_0x4fa6e0,_0x3846a7=await listPersonalKnowledgeBaseItems(_0x26fb4f[_0x30b74f(0x1a4)]);if(_0x26fb4f[_0x30b74f(0x1db)](_0x30b74f(0x1e4)))return{'ok':!![],'data':{'total':_0x3846a7[_0x30b74f(0x1ae)],'items':_0x3846a7}};return{'ok':!![],'data':{'total':_0x3846a7[_0x30b74f(0x1ae)],'items':_0x3846a7[_0x30b74f(0x1a6)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x4fa6e0(0x1c7),'description':a27_0x4fa6e0(0x1d8),'risk':'read','flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'}],async 'execute'(_0x5be8bd){const _0x3e085d=await getPersonalKnowledgeBaseItem(_0x5be8bd['num']('id'),_0x5be8bd['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x3e085d)};}},kbCreate={'service':'kb','command':a27_0x4fa6e0(0x1b2),'description':a27_0x4fa6e0(0x1d5),'risk':a27_0x4fa6e0(0x1df),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x1108c1){const _0x24b287=a27_0x4fa6e0,_0x576bcf=_0x1108c1[_0x24b287(0x1da)](_0x24b287(0x1c8)),_0x3337dc=readKnowledgeFile(_0x1108c1['str'](_0x24b287(0x1c0))),_0x102236=await createPersonalKnowledgeBaseItem(_0x1108c1[_0x24b287(0x1a4)],{'title':_0x576bcf,'content':_0x3337dc});return{'ok':!![],'data':summarizePersonalItem(_0x102236),'message':_0x24b287(0x1cb)+_0x102236['id']+'\x20('+_0x102236[_0x24b287(0x1c8)]+')'};},async 'dryRun'(_0x32f086){const _0x336d41=a27_0x4fa6e0,_0x20981b=_0x32f086[_0x336d41(0x1da)](_0x336d41(0x1c8)),_0x1c6e9e=readKnowledgeFile(_0x32f086[_0x336d41(0x1da)](_0x336d41(0x1c0)));return dryRun(_0x336d41(0x1b4),_0x336d41(0x1de))[_0x336d41(0x1af)]({'appCode':_0x32f086[_0x336d41(0x1a4)],'title':_0x20981b,'content':_0x1c6e9e})[_0x336d41(0x1e3)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x20981b+'\x22')[_0x336d41(0x1c5)]();}},kbUpdate={'service':'kb','command':a27_0x4fa6e0(0x1c9),'description':a27_0x4fa6e0(0x1b7),'risk':a27_0x4fa6e0(0x1df),'flags':[{...ID_FLAG,'description':a27_0x4fa6e0(0x1d2)},{...TITLE_FLAG,'required':![],'description':a27_0x4fa6e0(0x1c2)},FILE_FLAG],async 'execute'(_0x5d1f95){const _0xc64cb4=a27_0x4fa6e0,_0x4d4e2c=_0x5d1f95['num']('id'),_0x287c19=readKnowledgeFile(_0x5d1f95[_0xc64cb4(0x1da)](_0xc64cb4(0x1c0))),_0x342df4=_0x5d1f95['str'](_0xc64cb4(0x1c8))||(await getPersonalKnowledgeBaseItem(_0x4d4e2c,_0x5d1f95['appCode']))[_0xc64cb4(0x1c8)],_0x18d07a=await updatePersonalKnowledgeBaseItem(_0x4d4e2c,_0x5d1f95[_0xc64cb4(0x1a4)],{'title':_0x342df4,'content':_0x287c19});return{'ok':!![],'data':summarizePersonalItem(_0x18d07a),'message':_0xc64cb4(0x1a8)+_0x18d07a['id']+'\x20('+_0x18d07a[_0xc64cb4(0x1c8)]+')'};},async 'dryRun'(_0x1aed4b){const _0xf500ef=a27_0x4fa6e0,_0x396c22=_0x1aed4b[_0xf500ef(0x1ab)]('id'),_0x5edc05=readKnowledgeFile(_0x1aed4b[_0xf500ef(0x1da)](_0xf500ef(0x1c0))),_0x5f5740=_0x1aed4b[_0xf500ef(0x1da)]('title')||(await getPersonalKnowledgeBaseItem(_0x396c22,_0x1aed4b[_0xf500ef(0x1a4)]))['title'];return dryRun(_0xf500ef(0x1b4),'/client/knowledge-base/personal/'+_0x396c22+'/update')[_0xf500ef(0x1af)]({'appCode':_0x1aed4b['appCode'],'title':_0x5f5740,'content':_0x5edc05})[_0xf500ef(0x1e3)](_0xf500ef(0x1bf)+_0x396c22)[_0xf500ef(0x1c5)]();}},kbSearch={'service':'kb','command':a27_0x4fa6e0(0x1a5),'description':a27_0x4fa6e0(0x1c3),'risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x17f93f){const _0x3888b4=a27_0x4fa6e0;if(!_0x17f93f['str'](_0x3888b4(0x1d0))[_0x3888b4(0x1bc)]())throw CliErrors[_0x3888b4(0x1cd)](_0x3888b4(0x1e2));readTopK(_0x17f93f);},async 'execute'(_0x25d9b9){const _0x57e02a=a27_0x4fa6e0,_0x3352d0=_0x25d9b9[_0x57e02a(0x1da)](_0x57e02a(0x1d0))['trim'](),_0x24b608=readTopK(_0x25d9b9),_0x11fd75=await searchKnowledgeBase(_0x25d9b9[_0x57e02a(0x1a4)],{'query':_0x3352d0,'topK':_0x24b608});return{'ok':!![],'data':{'total':_0x11fd75[_0x57e02a(0x1ae)],'hits':_0x11fd75['map'](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_0x4c8016=a28_0x5ce5;(function(_0x178484,_0x472c13){const _0x39a41d=a28_0x5ce5,_0x3b264a=_0x178484();while(!![]){try{const _0xfbdca8=-parseInt(_0x39a41d(0x118))/0x1*(parseInt(_0x39a41d(0xff))/0x2)+-parseInt(_0x39a41d(0xfb))/0x3*(-parseInt(_0x39a41d(0x111))/0x4)+parseInt(_0x39a41d(0x11a))/0x5+-parseInt(_0x39a41d(0x110))/0x6*(parseInt(_0x39a41d(0x100))/0x7)+-parseInt(_0x39a41d(0xfc))/0x8*(-parseInt(_0x39a41d(0x11b))/0x9)+parseInt(_0x39a41d(0x105))/0xa*(parseInt(_0x39a41d(0x106))/0xb)+parseInt(_0x39a41d(0x107))/0xc*(-parseInt(_0x39a41d(0x109))/0xd);if(_0xfbdca8===_0x472c13)break;else _0x3b264a['push'](_0x3b264a['shift']());}catch(_0x1da4e0){_0x3b264a['push'](_0x3b264a['shift']());}}}(a28_0x15c1,0x42455));import{logger}from'../../utils/logger.js';function a28_0x5ce5(_0x545be9,_0x2f72b8){_0x545be9=_0x545be9-0xfb;const _0x15c1d4=a28_0x15c1();let _0x5ce5d8=_0x15c1d4[_0x545be9];return _0x5ce5d8;}function a28_0x15c1(){const _0x185e6c=['16ZRrfLL','write','read','4XOqkkk','29442MvtchY','log','level','logs','forEach','644740xjbkkc','88brqJNI','252hMVdPm','*\x20Logs\x20cleared','335803nhhpfb','show','details','readLogs','Clear\x20command\x20history\x20logs','\x20logs:\x0a','\x20\x20\x20Time:\x20','294HtsFli','1320ZMyXQp','length','View\x20command\x20history\x20logs','*\x20No\x20logs\x20found','duration','clearLogs','clear','4479ehaZGm','\x20\x20\x20Details:\x20','179090uFBYxG','732816oPYiJK','2859xZhVQx'];a28_0x15c1=function(){return _0x185e6c;};return a28_0x15c1();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x38ed16){const _0x2d0266=a28_0x5ce5;if(_0x38ed16['length']===0x0){console['log'](_0x2d0266(0x114));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x2d0266(0x10e)),_0x38ed16[_0x2d0266(0x104)]((_0x8da9c9,_0x4e03cc)=>{const _0x2693b6=_0x2d0266,_0x173bbe=new Date(_0x8da9c9['timestamp'])['toLocaleString']('en-US'),_0x385794=_0x8da9c9[_0x2693b6(0x102)]==='success'?'√':_0x8da9c9['level']==='error'?'×':_0x8da9c9[_0x2693b6(0x102)]==='warn'?'!':'i';console[_0x2693b6(0x101)](_0x4e03cc+0x1+'.\x20'+_0x385794+'\x20['+_0x8da9c9['command']+']\x20'+_0x8da9c9['message']),console[_0x2693b6(0x101)](_0x2693b6(0x10f)+_0x173bbe),_0x8da9c9[_0x2693b6(0x115)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x8da9c9[_0x2693b6(0x115)]+'ms'),_0x8da9c9[_0x2693b6(0x10b)]&&Object['keys'](_0x8da9c9[_0x2693b6(0x10b)])[_0x2693b6(0x112)]>0x0&&console[_0x2693b6(0x101)](_0x2693b6(0x119)+JSON['stringify'](_0x8da9c9[_0x2693b6(0x10b)],null,0x2)),console[_0x2693b6(0x101)]('');});}export const logsDefinitions=[{'service':'logs','command':a28_0x4c8016(0x10a),'description':a28_0x4c8016(0x113),'risk':a28_0x4c8016(0xfe),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4654f9){const _0x59022e=a28_0x4c8016;return printLogs(logger[_0x59022e(0x10c)]()),{'ok':!![]};}},{'service':a28_0x4c8016(0x103),'command':a28_0x4c8016(0x117),'description':a28_0x4c8016(0x10d),'risk':a28_0x4c8016(0xfd),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xe2c50e){const _0x428d5e=a28_0x4c8016;return logger[_0x428d5e(0x116)](),console['log'](_0x428d5e(0x108)),{'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_0xf88067=a29_0x5707;(function(_0x2cb561,_0x4689a3){const _0x12dd37=a29_0x5707,_0x50464a=_0x2cb561();while(!![]){try{const _0x450cdc=parseInt(_0x12dd37(0x201))/0x1*(-parseInt(_0x12dd37(0x1f6))/0x2)+-parseInt(_0x12dd37(0x1fb))/0x3+parseInt(_0x12dd37(0x1fd))/0x4+-parseInt(_0x12dd37(0x1f5))/0x5+-parseInt(_0x12dd37(0x1cf))/0x6*(parseInt(_0x12dd37(0x20a))/0x7)+parseInt(_0x12dd37(0x1d5))/0x8+parseInt(_0x12dd37(0x1f1))/0x9*(parseInt(_0x12dd37(0x1d2))/0xa);if(_0x450cdc===_0x4689a3)break;else _0x50464a['push'](_0x50464a['shift']());}catch(_0x10e79a){_0x50464a['push'](_0x50464a['shift']());}}}(a29_0x3fca,0x7b29f));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':'string','description':a29_0xf88067(0x20b)},FUNCTION_NAME_FLAG={'name':a29_0xf88067(0x209),'type':a29_0xf88067(0x1ff),'required':!![],'description':a29_0xf88067(0x1e1)},DESCRIPTION_FLAG={'name':a29_0xf88067(0x1ce),'type':a29_0xf88067(0x1ff),'description':a29_0xf88067(0x1e3)},SOURCE_SESSION_FLAG={'name':a29_0xf88067(0x1f8),'type':a29_0xf88067(0x1ff),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x3100cb){const _0x535133=a29_0xf88067,_0x3c4d49=String(_0x3100cb||'')[_0x535133(0x1e0)]();if(!_0x3c4d49||!FUNCTION_NAME_PATTERN[_0x535133(0x1cb)](_0x3c4d49))throw CliErrors['validation'](_0x535133(0x1dc));return _0x3c4d49;}function readScriptFile(_0x71a309){const _0x41f7b2=a29_0xf88067;if(!_0x71a309)throw CliErrors[_0x41f7b2(0x1e6)](_0x41f7b2(0x1f3));if(!existsSync(_0x71a309))throw CliErrors[_0x41f7b2(0x1e6)]('File\x20not\x20found:\x20'+_0x71a309);if(!statSync(_0x71a309)['isFile']())throw CliErrors[_0x41f7b2(0x1e6)](_0x41f7b2(0x1ec)+_0x71a309);const _0x3cfa78=readFileSync(_0x71a309,_0x41f7b2(0x1dd));if(!_0x3cfa78[_0x41f7b2(0x1e0)]())throw CliErrors[_0x41f7b2(0x1e6)](_0x41f7b2(0x1f9));return _0x3cfa78;}function optionalTrimmed(_0x288fe0){const _0x49965b=a29_0xf88067,_0x4789dd=String(_0x288fe0||'')[_0x49965b(0x1e0)]();return _0x4789dd||undefined;}function a29_0x5707(_0x2a3c97,_0x27f400){_0x2a3c97=_0x2a3c97-0x1c8;const _0x3fca95=a29_0x3fca();let _0x570724=_0x3fca95[_0x2a3c97];return _0x570724;}function summarizeBff(_0x1829cd){const _0x5c7592=a29_0xf88067;return{'id':_0x1829cd['id'],'appCode':_0x1829cd[_0x5c7592(0x1ef)],'functionName':_0x1829cd[_0x5c7592(0x1d8)],'description':_0x1829cd['description'],'scriptType':_0x1829cd[_0x5c7592(0x203)],'version':_0x1829cd[_0x5c7592(0x1eb)],'gmtModified':_0x1829cd[_0x5c7592(0x205)],'updateTime':_0x1829cd[_0x5c7592(0x1f4)]};}function detailBff(_0xa1900d){const _0x3ec364=a29_0xf88067;return{'id':_0xa1900d['id'],'appCode':_0xa1900d[_0x3ec364(0x1ef)],'functionName':_0xa1900d[_0x3ec364(0x1d8)],'description':_0xa1900d[_0x3ec364(0x1ce)],'scriptType':_0xa1900d[_0x3ec364(0x203)],'scriptContent':_0xa1900d[_0x3ec364(0x1cd)]??'','config':_0xa1900d['config'],'version':_0xa1900d[_0x3ec364(0x1eb)],'createUserId':_0xa1900d['createUserId'],'gmtCreate':_0xa1900d['gmtCreate'],'gmtModified':_0xa1900d[_0x3ec364(0x205)],'createTime':_0xa1900d[_0x3ec364(0x1fe)],'updateTime':_0xa1900d[_0x3ec364(0x1f4)]};}function buildCreateInput(_0x34fb74){const _0x2808d4=a29_0xf88067;return{'functionName':normalizeFunctionName(_0x34fb74['str'](_0x2808d4(0x209))),...optionalTrimmed(_0x34fb74[_0x2808d4(0x1db)](_0x2808d4(0x1ce)))?{'description':optionalTrimmed(_0x34fb74['str'](_0x2808d4(0x1ce)))}:{},'scriptContent':readScriptFile(_0x34fb74['str'](_0x2808d4(0x202))),...optionalTrimmed(_0x34fb74[_0x2808d4(0x1db)](_0x2808d4(0x1f8)))?{'sourceSessionId':optionalTrimmed(_0x34fb74[_0x2808d4(0x1db)](_0x2808d4(0x1f8)))}:{}};}function buildUpdateInput(_0x590b45){const _0x76d2eb=a29_0xf88067,_0x1e6638={};optionalTrimmed(_0x590b45[_0x76d2eb(0x1db)]('name'))&&(_0x1e6638['functionName']=normalizeFunctionName(_0x590b45['str'](_0x76d2eb(0x209))));_0x590b45[_0x76d2eb(0x1f2)](_0x76d2eb(0x1ce))!==undefined&&(_0x1e6638['description']=_0x590b45[_0x76d2eb(0x1db)]('description'));optionalTrimmed(_0x590b45[_0x76d2eb(0x1db)](_0x76d2eb(0x202)))&&(_0x1e6638[_0x76d2eb(0x1cd)]=readScriptFile(_0x590b45[_0x76d2eb(0x1db)]('file')));_0x590b45[_0x76d2eb(0x1f2)]('source-session-id')!==undefined&&(_0x1e6638['sourceSessionId']=_0x590b45[_0x76d2eb(0x1db)]('source-session-id'));if(Object[_0x76d2eb(0x1d3)](_0x1e6638)[_0x76d2eb(0x1ca)]===0x0)throw CliErrors[_0x76d2eb(0x1e6)](_0x76d2eb(0x20d));return _0x1e6638;}function parseExecParams(_0xbe644d){const _0x499959=a29_0xf88067,_0xc9040e=parseJsonParams(_0xbe644d)??{};if(Array[_0x499959(0x1ee)](_0xc9040e))throw CliErrors[_0x499959(0x1e6)](_0x499959(0x1e8));return _0xc9040e;}const personalBffList={'service':a29_0xf88067(0x1d0),'command':a29_0xf88067(0x207),'description':a29_0xf88067(0x1fc),'risk':a29_0xf88067(0x200),'flags':[VERBOSE_FLAG],async 'execute'(_0x30a2ab){const _0x220007=a29_0xf88067,_0x4f2ec3=await listPersonalBffs(_0x30a2ab[_0x220007(0x1ef)]);return{'ok':!![],'data':{'total':_0x4f2ec3[_0x220007(0x1ca)],'items':_0x30a2ab[_0x220007(0x1f7)](_0x220007(0x1e4))?_0x4f2ec3:_0x4f2ec3[_0x220007(0x1c8)](summarizeBff)}};}},personalBffDetail={'service':a29_0xf88067(0x1d0),'command':a29_0xf88067(0x1c9),'description':a29_0xf88067(0x20c),'risk':a29_0xf88067(0x200),'flags':[{...ID_FLAG,'description':a29_0xf88067(0x1e7)}],async 'execute'(_0x1141d4){const _0x3626a6=a29_0xf88067,_0x1fa25c=await getPersonalBff(_0x1141d4[_0x3626a6(0x1df)]('id'),_0x1141d4[_0x3626a6(0x1ef)]);return{'ok':!![],'data':detailBff(_0x1fa25c)};}},personalBffCreate={'service':a29_0xf88067(0x1d0),'command':a29_0xf88067(0x1d4),'description':a29_0xf88067(0x1d7),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x19daec){const _0x4c7b35=a29_0xf88067,_0xd17cc6=buildCreateInput(_0x19daec),_0x172182=await createPersonalBff(_0x19daec[_0x4c7b35(0x1ef)],_0xd17cc6);return{'ok':!![],'data':detailBff(_0x172182),'message':_0x4c7b35(0x1e2)+_0x172182['id']+(_0x172182[_0x4c7b35(0x1d8)]?'\x20('+_0x172182[_0x4c7b35(0x1d8)]+')':'')};},async 'dryRun'(_0x28b93d){const _0x7877f9=a29_0xf88067,_0x4b3ac7=buildCreateInput(_0x28b93d);return dryRun(_0x7877f9(0x1d1),_0x7877f9(0x1da))[_0x7877f9(0x1f0)]({'appCode':_0x28b93d['appCode'],..._0x4b3ac7})['description'](_0x7877f9(0x1de)+_0x4b3ac7[_0x7877f9(0x1d8)])[_0x7877f9(0x208)]();}},personalBffUpdate={'service':a29_0xf88067(0x1d0),'command':a29_0xf88067(0x1ea),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0xf88067(0x1e5),'flags':[{...ID_FLAG,'description':a29_0xf88067(0x1e7)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5f06ee){const _0x58365f=a29_0xf88067,_0xecb576=_0x5f06ee['num']('id'),_0x3e861e=buildUpdateInput(_0x5f06ee),_0x3f8928=await updatePersonalBff(_0xecb576,_0x5f06ee[_0x58365f(0x1ef)],_0x3e861e);return{'ok':!![],'data':detailBff(_0x3f8928),'message':'Updated\x20personal\x20BFF\x20'+_0x3f8928['id']+(_0x3f8928['functionName']?'\x20('+_0x3f8928[_0x58365f(0x1d8)]+')':'')};},async 'dryRun'(_0x284ecc){const _0x2f20bc=a29_0xf88067,_0x16b61c=_0x284ecc[_0x2f20bc(0x1df)]('id'),_0x5f01bd=buildUpdateInput(_0x284ecc);return dryRun(_0x2f20bc(0x1d1),_0x2f20bc(0x1e9)+_0x16b61c+_0x2f20bc(0x1d9))[_0x2f20bc(0x1f0)]({'appCode':_0x284ecc['appCode'],..._0x5f01bd})[_0x2f20bc(0x1ce)](_0x2f20bc(0x1d6)+_0x16b61c)[_0x2f20bc(0x208)]();}},personalBffExec={'service':a29_0xf88067(0x1d0),'command':a29_0xf88067(0x206),'description':a29_0xf88067(0x1cc),'risk':a29_0xf88067(0x204),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':'JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution'}],async 'validate'(_0x1792bc){parseExecParams(_0x1792bc['str']('params'));},async 'execute'(_0xd6308c){const _0x22d9b9=a29_0xf88067,_0x6fc49e=_0xd6308c[_0x22d9b9(0x1df)]('id'),_0x546961=parseExecParams(_0xd6308c[_0x22d9b9(0x1db)](_0x22d9b9(0x1ed))),_0x3f9ee1=await executePersonalBff(_0x6fc49e,_0xd6308c[_0x22d9b9(0x1ef)],_0x546961);return{'ok':!![],'data':{'result':_0x3f9ee1},'message':_0x22d9b9(0x1fa)+_0x6fc49e};}};function a29_0x3fca(){const _0x585166=['appCode','body','275463GAKEjZ','flag','File\x20path\x20is\x20required.','updateTime','56620HVJaEe','141818ykajhU','bool','source-session-id','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Executed\x20personal\x20BFF\x20','2388774bhDAXK','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','13164JgnVko','createTime','string','read','7LNllEV','file','scriptType','high-risk-write','gmtModified','exec','list','build','name','2116016jEacpa','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Show\x20one\x20personal\x20BFF\x20by\x20id','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','map','detail','length','test','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptContent','description','12YrBiTR','personal-bff','POST','660hDSRBr','keys','create','3117176IDJJgE','Preview:\x20update\x20personal\x20BFF\x20','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','functionName','/update','/client/runtime-bff/personal/create','str','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','utf8','Preview:\x20create\x20personal\x20BFF\x20','num','trim','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Created\x20personal\x20BFF\x20','Personal\x20BFF\x20description','verbose','write','validation','Personal\x20BFF\x20script\x20ID','--params\x20must\x20be\x20a\x20JSON\x20object.','/client/runtime-bff/personal/','update','version','File\x20is\x20not\x20a\x20regular\x20file:\x20','params','isArray'];a29_0x3fca=function(){return _0x585166;};return a29_0x3fca();}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
- function a30_0x2253(){const _0xd4aa3=['has','install','map','service','Skills','login','API\x20Documentation','set','BFF\x20Scripts','Service\x20Tree','22PiLMJs','SQL\x20Queries','2443416QDPlJw','show','Authentication','App\x20Management','risk','Knowledge\x20Base','80970pDGcoz','93768adXKnm','description','Logs','isSingleCommand','8dIgWwM','Personal\x20BFF','1010034UKLqDl','CLI\x20Built-in\x20Skill','2URuwwm','58736BgyKyu','210eWcDNh','Configuration','get','command','run','Workspace','defaultCommand','1209805EncOIS','read','187329RBtCua','values','push','Schema','Instant\x20API','\x20\x20[high-risk-write]','list'];a30_0x2253=function(){return _0xd4aa3;};return a30_0x2253();}const a30_0x2e76b4=a30_0x11d1;(function(_0x54601a,_0x4a54ac){const _0x4a6fa8=a30_0x11d1,_0x1913bb=_0x54601a();while(!![]){try{const _0xcf17fe=-parseInt(_0x4a6fa8(0x163))/0x1*(parseInt(_0x4a6fa8(0x158))/0x2)+parseInt(_0x4a6fa8(0x17d))/0x3*(parseInt(_0x4a6fa8(0x181))/0x4)+parseInt(_0x4a6fa8(0x161))/0x5+parseInt(_0x4a6fa8(0x176))/0x6+-parseInt(_0x4a6fa8(0x15a))/0x7*(parseInt(_0x4a6fa8(0x159))/0x8)+-parseInt(_0x4a6fa8(0x156))/0x9+-parseInt(_0x4a6fa8(0x17c))/0xa*(-parseInt(_0x4a6fa8(0x174))/0xb);if(_0xcf17fe===_0x4a54ac)break;else _0x1913bb['push'](_0x1913bb['shift']());}catch(_0x51edae){_0x1913bb['push'](_0x1913bb['shift']());}}}(a30_0x2253,0x32cd8));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';function a30_0x11d1(_0x377669,_0x5ce2ec){_0x377669=_0x377669-0x156;const _0x225308=a30_0x2253();let _0x11d14d=_0x225308[_0x377669];return _0x11d14d;}import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x416d78){const _0x51a2c8=a30_0x11d1;for(const _0x40f1f7 of _0x416d78){definitions[_0x51a2c8(0x171)](_0x40f1f7['service']+':'+_0x40f1f7['command'],_0x40f1f7);let _0xc9f4b9=serviceGroups[_0x51a2c8(0x15c)](_0x40f1f7['service']);!_0xc9f4b9&&(_0xc9f4b9=[],serviceGroups[_0x51a2c8(0x171)](_0x40f1f7[_0x51a2c8(0x16d)],_0xc9f4b9)),_0xc9f4b9[_0x51a2c8(0x165)](_0x40f1f7);}}function registerService(_0x3ab951,_0x121ca1,_0x32fa67){const _0x4ffb19=a30_0x11d1;registerDefinitions(_0x121ca1);const _0x29e7d2=_0x220cc0=>_0x220cc0===_0x4ffb19(0x162)?'':_0x220cc0==='write'?'\x20\x20[write]':_0x4ffb19(0x168),_0x38ed7e={'service':_0x121ca1[0x0][_0x4ffb19(0x16d)],'label':_0x3ab951,'commands':_0x121ca1[_0x4ffb19(0x16c)](_0x492c32=>({'command':_0x492c32[_0x4ffb19(0x15d)],'description':_0x492c32[_0x4ffb19(0x17e)],'tag':_0x29e7d2(_0x492c32[_0x4ffb19(0x17a)])})),'defaultCommand':_0x32fa67?.[_0x4ffb19(0x160)]??(_0x32fa67?.[_0x4ffb19(0x180)]?_0x121ca1[0x0][_0x4ffb19(0x15d)]:undefined),'isSingleCommand':_0x32fa67?.[_0x4ffb19(0x180)]};serviceRegistry['push'](_0x38ed7e),serviceByName[_0x4ffb19(0x171)](_0x38ed7e[_0x4ffb19(0x16d)],_0x38ed7e);}registerService(a30_0x2e76b4(0x178),authDefinitions,{'defaultCommand':a30_0x2e76b4(0x16f)}),registerService(a30_0x2e76b4(0x170),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x2e76b4(0x167),dataDefinitions),registerService(a30_0x2e76b4(0x175),sqlDefinitions),registerService(a30_0x2e76b4(0x172),bffDefinitions),registerService(a30_0x2e76b4(0x182),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a30_0x2e76b4(0x17b),kbDefinitions),registerService(a30_0x2e76b4(0x179),appDefinitions,{'defaultCommand':a30_0x2e76b4(0x169)}),registerService(a30_0x2e76b4(0x15f),workspaceDefinitions),registerService(a30_0x2e76b4(0x15b),configDefinitions,{'defaultCommand':a30_0x2e76b4(0x169)}),registerService(a30_0x2e76b4(0x173),serviceDefinitions,{'defaultCommand':a30_0x2e76b4(0x169)}),registerService(a30_0x2e76b4(0x16e),skillDefinitions,{'defaultCommand':a30_0x2e76b4(0x16b)}),registerService(a30_0x2e76b4(0x157),cliSkillDefinitions,{'defaultCommand':'install'}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a30_0x2e76b4(0x15e),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x2e76b4(0x166),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x2e76b4(0x17f),logsDefinitions,{'defaultCommand':a30_0x2e76b4(0x177)});export function findDefinition(_0x3203e7,_0x26e264){const _0x56a682=a30_0x2e76b4;return definitions[_0x56a682(0x15c)](_0x3203e7+':'+_0x26e264);}export function isKnownService(_0x3488bb){const _0x186cb3=a30_0x2e76b4;return serviceByName[_0x186cb3(0x16a)](_0x3488bb);}export function getServiceEntry(_0x16f69a){const _0xd22540=a30_0x2e76b4;return serviceByName[_0xd22540(0x15c)](_0x16f69a);}export function getAllDefinitions(){const _0x5aea9c=a30_0x2e76b4;return Array['from'](definitions[_0x5aea9c(0x164)]());}
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_0x1aaf17=a31_0x29bf;function a31_0x29a1(){const _0x26330a=['338824fWlsxT','schema','read','961700IqitkE','122304RYjyYc','4653608oycUGk','818625zMxoea','219397PBcUTj','286380yvmBVG','30PcTUXP'];a31_0x29a1=function(){return _0x26330a;};return a31_0x29a1();}(function(_0x3d2965,_0x453b02){const _0x55bbf3=a31_0x29bf,_0x341364=_0x3d2965();while(!![]){try{const _0x47880d=parseInt(_0x55bbf3(0x1aa))/0x1+parseInt(_0x55bbf3(0x1ad))/0x2+parseInt(_0x55bbf3(0x1a9))/0x3+-parseInt(_0x55bbf3(0x1b0))/0x4+-parseInt(_0x55bbf3(0x1ab))/0x5*(-parseInt(_0x55bbf3(0x1ac))/0x6)+parseInt(_0x55bbf3(0x1a7))/0x7+-parseInt(_0x55bbf3(0x1a8))/0x8;if(_0x47880d===_0x453b02)break;else _0x341364['push'](_0x341364['shift']());}catch(_0x4af45f){_0x341364['push'](_0x341364['shift']());}}}(a31_0x29a1,0x23032));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x174f38){const _0x4cfcef=await buildSchemaPayload();return{'ok':!![],'data':_0x4cfcef};}function a31_0x29bf(_0x3d5083,_0x21045c){_0x3d5083=_0x3d5083-0x1a7;const _0x29a1ed=a31_0x29a1();let _0x29bf2f=_0x29a1ed[_0x3d5083];return _0x29bf2f;}export const schemaDefinition={'service':a31_0x1aaf17(0x1ae),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a31_0x1aaf17(0x1af),'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(_0x5db8e3,_0x1ae3d3){const _0x1d5ba1=a32_0x1d59,_0x24eca4=_0x5db8e3();while(!![]){try{const _0x1a48cb=-parseInt(_0x1d5ba1(0xd4))/0x1*(parseInt(_0x1d5ba1(0xc2))/0x2)+-parseInt(_0x1d5ba1(0xb7))/0x3*(-parseInt(_0x1d5ba1(0xbd))/0x4)+parseInt(_0x1d5ba1(0xb3))/0x5*(-parseInt(_0x1d5ba1(0x10c))/0x6)+-parseInt(_0x1d5ba1(0xb0))/0x7+parseInt(_0x1d5ba1(0xd1))/0x8*(parseInt(_0x1d5ba1(0xeb))/0x9)+parseInt(_0x1d5ba1(0xd9))/0xa*(-parseInt(_0x1d5ba1(0xdc))/0xb)+parseInt(_0x1d5ba1(0x105))/0xc;if(_0x1a48cb===_0x1ae3d3)break;else _0x24eca4['push'](_0x24eca4['shift']());}catch(_0x2203b4){_0x24eca4['push'](_0x24eca4['shift']());}}}(a32_0x3198,0x624be));function a32_0x3198(){const _0x3cb03d=['\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickName','\x20\x20\x20\x20sqlCode:\x20','code','SERVICE_TREE','Commands:','join','nickname','json','Unknown\x20appRef\x20\x22','\x20->\x20','context.','validation','23382ELNkou','flags','userId','userName','normalizedManifest','params','risk','default','trim','sql','Use\x20`','padEnd','fromEntries','kind','const','sqlCode','\x20\x20SERVICE\x20TREE\x20TARGET','mapTo','bffId','type','ctx.','\x20\x20MAP\x20TO','username','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','some','\x20requires\x20target.scriptName.','13933380gKcoPE','cliPath','read','remainingArgs','find','filter','\x20\x20\x20\x20scriptName:\x20','74466lEYoyI','description','\x20\x20[','\x20\x20\x20\x20command:\x20','app','flatMap','operator','Run\x20service\x20command\x20','fullPath','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','`\x20to\x20inspect\x20the\x20manifest.','target','bffCode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','2219665xFVWiw','\x20\x20\x20\x20','data','85rgByjs','appBindings','\x20\x20\x20\x20datatable:\x20','Unsupported\x20service\x20target\x20kind:\x20','772881vonvFx','\x22\x20in\x20service\x20command\x20','args','push','now','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','4dYHMHx','dbtableConfig','appcode','env','command','130892kUWUDc','Preview\x20dynamic\x20service\x20command:\x20','map','commands','Cannot\x20resolve\x20datatable\x20\x22','loginName','service','Service\x20command\x20','envName','appRef','scriptName','\x20requires\x20target.sqlCode.','source','string','length','336ujTsWm','startsWith','datasetCode','7ldUVzf','rawFlags','slice','tree','required','80KSIKgh','appCode','name','191169xsoBpH','datatable'];a32_0x3198=function(){return _0x3cb03d;};return a32_0x3198();}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';function a32_0x1d59(_0x3c6f19,_0x260685){_0x3c6f19=_0x3c6f19-0xae;const _0x31981e=a32_0x3198();let _0x1d593f=_0x31981e[_0x3c6f19];return _0x1d593f;}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4e90fe,_0x441b28){const _0x315294=a32_0x1d59,_0xf2f52a=listLocalServiceTrees();let _0xde9602;for(const _0x49753c of _0xf2f52a){const _0x1f2d7d=matchServiceTreeCommand(_0x49753c,_0x4e90fe);if(!_0x1f2d7d)continue;(!_0xde9602||_0x1f2d7d[_0x315294(0xc1)]['fullPath']['length']>_0xde9602[_0x315294(0xc1)][_0x315294(0x114)][_0x315294(0xd0)])&&(_0xde9602={'tree':_0x49753c,'command':_0x1f2d7d[_0x315294(0xc1)],'remainingArgs':_0x1f2d7d[_0x315294(0x108)]});}if(!_0xde9602)return undefined;const _0x275e55={..._0x441b28};return applyAppBinding(_0xde9602[_0x315294(0xd7)],_0xde9602[_0x315294(0xc1)],_0x275e55),{'definition':buildDynamicCommandDefinition(_0xde9602[_0x315294(0xd7)],_0xde9602['command']),'args':_0xde9602[_0x315294(0x108)],'flags':_0x275e55,'tree':_0xde9602[_0x315294(0xd7)],'command':_0xde9602[_0x315294(0xc1)]};}export function generateDynamicServiceHelp(_0x528bc5){const _0x2ad61e=a32_0x1d59,_0x5ad652=listLocalServiceTrees()['find'](_0x13d26c=>_0x13d26c[_0x2ad61e(0xc8)]['code']===_0x528bc5);if(!_0x5ad652)return undefined;const _0xa64ec7=[CLI_BIN_NAME+'\x20'+_0x528bc5+'\x20<command>\x20[flags]','',_0x5ad652['service'][_0x2ad61e(0xdb)]||_0x528bc5,_0x5ad652[_0x2ad61e(0xc8)][_0x2ad61e(0x10d)]?'\x20\x20'+_0x5ad652[_0x2ad61e(0xc8)]['description']:'','',_0x2ad61e(0xe3),..._0x5ad652[_0x2ad61e(0xc5)][_0x2ad61e(0xc4)](_0x25952f=>{const _0x5d2f3f=_0x2ad61e,_0x375ee8=_0x25952f[_0x5d2f3f(0x114)][_0x5d2f3f(0xd6)](0x1)[_0x5d2f3f(0xe4)]('\x20'),_0x53209f=_0x25952f[_0x5d2f3f(0xf1)]===_0x5d2f3f(0x107)?'':'\x20['+_0x25952f[_0x5d2f3f(0xf1)]+']';return'\x20\x20'+_0x375ee8[_0x5d2f3f(0xf6)](0x18)+'\x20'+(_0x25952f[_0x5d2f3f(0x10d)]||'')+_0x53209f;}),'',_0x2ad61e(0xf5)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x528bc5+_0x2ad61e(0x116)]['filter'](Boolean);return _0xa64ec7[_0x2ad61e(0xe4)]('\x0a');}export function listDynamicServiceEntries(){const _0x24f137=a32_0x1d59;return listLocalServices()[_0x24f137(0xc4)](_0x218d23=>{const _0x3d4a1a=_0x24f137,_0x1b12bf=_0x218d23[_0x3d4a1a(0xef)];return{'service':_0x1b12bf['service'][_0x3d4a1a(0xe1)],'label':_0x1b12bf[_0x3d4a1a(0xc8)][_0x3d4a1a(0xdb)]||_0x1b12bf[_0x3d4a1a(0xc8)][_0x3d4a1a(0xe1)],'commands':_0x1b12bf[_0x3d4a1a(0xc5)][_0x3d4a1a(0xc4)](_0x4340c1=>({'command':dynamicCommandName(_0x4340c1),'description':_0x4340c1[_0x3d4a1a(0x10d)]||_0x3d4a1a(0x113)+_0x4340c1[_0x3d4a1a(0x106)],'tag':riskTag(_0x4340c1[_0x3d4a1a(0xf1)])}))};});}export function getDynamicServiceEntry(_0x4e6ed0){const _0x4813b8=a32_0x1d59;return listDynamicServiceEntries()[_0x4813b8(0x109)](_0x457bac=>_0x457bac[_0x4813b8(0xc8)]===_0x4e6ed0);}export function listDynamicServiceDefinitions(_0x2c9add){const _0x4768e4=a32_0x1d59;return listLocalServiceTrees()[_0x4768e4(0x10a)](_0x2f1201=>!_0x2c9add||_0x2f1201[_0x4768e4(0xc8)][_0x4768e4(0xe1)]===_0x2c9add)[_0x4768e4(0x111)](_0x37d163=>_0x37d163[_0x4768e4(0xc5)]['map'](_0xaa8213=>buildDynamicCommandDefinition(_0x37d163,_0xaa8213)));}export function getDynamicServiceDefinitions(_0x1845de){const _0x1c9d1e=a32_0x1d59,_0x384880=listDynamicServiceDefinitions(_0x1845de);return _0x384880[_0x1c9d1e(0xd0)]>0x0?_0x384880:undefined;}export function findDynamicServiceDefinition(_0x955fa2,_0x5d316c){const _0x4481ab=a32_0x1d59;return listDynamicServiceDefinitions(_0x955fa2)[_0x4481ab(0x109)](_0x3dc09d=>_0x3dc09d[_0x4481ab(0xc1)]===_0x5d316c);}export function buildDynamicCommandDefinition(_0x2fe221,_0x5a25ae){const _0x19d02e=a32_0x1d59;return{'service':_0x2fe221['service'][_0x19d02e(0xe1)],'command':dynamicCommandName(_0x5a25ae),'description':_0x5a25ae[_0x19d02e(0x10d)]||_0x19d02e(0x113)+_0x5a25ae[_0x19d02e(0x106)],'risk':_0x5a25ae[_0x19d02e(0xf1)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5a25ae['args'][_0x19d02e(0xc4)](_0x3e4146=>({'name':_0x3e4146[_0x19d02e(0xdb)],'description':_0x3e4146['description']||_0x3e4146[_0x19d02e(0xdb)],'required':_0x3e4146[_0x19d02e(0xd8)]})),'flags':_0x5a25ae[_0x19d02e(0xec)][_0x19d02e(0xc4)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5a25ae),async 'dryRun'(_0x27f5bf){const _0x2ab6bc=_0x19d02e,_0x2f4c7d=await compilePlan(_0x5a25ae,_0x27f5bf);return{'method':_0x2ab6bc(0xe2),'url':_0x5a25ae[_0x2ab6bc(0x106)],'body':{'target':targetPreview(_0x2f4c7d),'params':_0x2f4c7d[_0x2ab6bc(0xf0)]},'description':_0x2ab6bc(0xc3)+_0x5a25ae['cliPath']};},async 'execute'(_0x50a706){const _0x21d1a5=_0x19d02e,_0x1c317f=await compilePlan(_0x5a25ae,_0x50a706),_0x1d5dc1=Date[_0x21d1a5(0xbb)](),_0xe02439=await executePlan(_0x1c317f,_0x5a25ae,_0x50a706),_0x1273cb=Date['now']()-_0x1d5dc1;return{'ok':!![],'data':{'service':_0x2fe221[_0x21d1a5(0xc8)],'command':_0x5a25ae[_0x21d1a5(0x106)],'target':targetPreview(_0x1c317f),'result':_0xe02439,'elapsed':_0x1273cb},'message':_0x21d1a5(0xc9)+_0x5a25ae['cliPath']+'\x20completed\x20in\x20'+_0x1273cb+'ms'};}};}function dynamicCommandName(_0xb6fcb2){const _0xabf77d=a32_0x1d59;return _0xb6fcb2[_0xabf77d(0x114)]['slice'](0x1)[_0xabf77d(0xe4)]('\x20');}function riskTag(_0x2fcf77){const _0x57ee73=a32_0x1d59;return _0x2fcf77===_0x57ee73(0x107)?'':_0x57ee73(0x10e)+_0x2fcf77+']';}function flagToCommandFlag(_0x16cf16){const _0x17dc35=a32_0x1d59;return{'name':_0x16cf16['cliName'],'type':_0x16cf16[_0x17dc35(0xfe)]===_0x17dc35(0xe6)?'string':_0x16cf16[_0x17dc35(0xfe)],'description':_0x16cf16[_0x17dc35(0x10d)]||_0x16cf16[_0x17dc35(0xdb)],'required':_0x16cf16[_0x17dc35(0xd8)],'default':isPrimitiveFlagDefault(_0x16cf16['default'])?_0x16cf16[_0x17dc35(0xf2)]:undefined,'enum':_0x16cf16['enum']};}async function compilePlan(_0x5065e8,_0x4447b7){const _0x1e225b=a32_0x1d59;return compileServiceTreeCommand(_0x5065e8,{'flags':_0x4447b7[_0x1e225b(0xd5)],'args':_0x4447b7[_0x1e225b(0xb9)],'context':await buildServiceContext(_0x5065e8,_0x4447b7)});}async function buildServiceContext(_0x24c32e,_0x3e7665){const _0x3cd72c=a32_0x1d59,_0x173035={'appCode':_0x3e7665[_0x3cd72c(0xda)],'env':_0x3e7665[_0x3cd72c(0xca)],'envName':_0x3e7665[_0x3cd72c(0xca)]};if(!usesRuntimeContext(_0x24c32e))return _0x173035;const _0x25dc46=await getLoginUserInfo(),_0x360b96=pickFirst(_0x25dc46[_0x3cd72c(0xed)],_0x25dc46['id']);return{..._0x173035,'user':_0x25dc46,'userId':_0x360b96,'id':_0x25dc46['id'],'username':pickFirst(_0x25dc46[_0x3cd72c(0x101)],_0x25dc46[_0x3cd72c(0xee)],_0x25dc46[_0x3cd72c(0xc7)]),'userName':_0x25dc46[_0x3cd72c(0xee)],'nickname':pickFirst(_0x25dc46[_0x3cd72c(0xe5)],_0x25dc46[_0x3cd72c(0xdf)]),'nickName':_0x25dc46[_0x3cd72c(0xdf)],'tenantCode':_0x25dc46['tenantCode'],'employeeId':_0x25dc46['employeeId']};}function usesRuntimeContext(_0x479b62){const _0x534008=a32_0x1d59;return _0x479b62[_0x534008(0xfc)][_0x534008(0x103)](_0x792551=>typeof _0x792551[_0x534008(0xce)]===_0x534008(0xcf)&&(_0x792551['source'][_0x534008(0xd2)](_0x534008(0xe9))||_0x792551[_0x534008(0xce)][_0x534008(0xd2)](_0x534008(0xff))));}function pickFirst(..._0x3fcf25){return _0x3fcf25['find'](_0x292ab1=>_0x292ab1!==undefined&&_0x292ab1!==null);}async function executePlan(_0x3a7f8b,_0x57b818,_0x1084e2){const _0x522af8=a32_0x1d59;if(_0x3a7f8b[_0x522af8(0xf8)]===_0x522af8(0xb2)){const _0x1301fd=await resolveDatasetCode(_0x3a7f8b,_0x57b818,_0x1084e2);return executeData(_0x1301fd,_0x3a7f8b[_0x522af8(0xc1)],_0x3a7f8b[_0x522af8(0xf0)]);}if(_0x3a7f8b[_0x522af8(0xf8)]===_0x522af8(0xf4)){if(!_0x3a7f8b[_0x522af8(0xfa)])throw CliErrors[_0x522af8(0xea)](_0x522af8(0xc9)+_0x57b818[_0x522af8(0x106)]+_0x522af8(0xcd));return executeSdkSql(_0x3a7f8b['sqlCode'],normalizeScalarParams(_0x3a7f8b[_0x522af8(0xf0)]));}if(_0x3a7f8b[_0x522af8(0xf8)]==='bff'){const _0x5018d8=_0x3a7f8b[_0x522af8(0xcc)]||_0x3a7f8b[_0x522af8(0xae)]||(_0x3a7f8b[_0x522af8(0xfd)]==null?'':String(_0x3a7f8b['bffId']));if(!_0x5018d8)throw CliErrors[_0x522af8(0xea)](_0x522af8(0xc9)+_0x57b818['cliPath']+_0x522af8(0x104));return executeSdkBff(_0x5018d8,_0x3a7f8b[_0x522af8(0xf0)]);}throw CliErrors[_0x522af8(0xea)](_0x522af8(0xb6)+_0x3a7f8b[_0x522af8(0xf8)]);}async function resolveDatasetCode(_0x27bc6c,_0x3fd3b7,_0x511ff6){const _0x7e9e8d=a32_0x1d59;if(_0x27bc6c[_0x7e9e8d(0xd3)])return _0x27bc6c[_0x7e9e8d(0xd3)];if(!_0x27bc6c[_0x7e9e8d(0xdd)])throw CliErrors[_0x7e9e8d(0xea)]('Service\x20command\x20'+_0x3fd3b7['cliPath']+_0x7e9e8d(0xaf));const _0x357a75=await listDatasets(_0x511ff6['appCode']),_0x555b3d=_0x357a75[_0x7e9e8d(0x109)](_0x49e407=>_0x49e407[_0x7e9e8d(0xbe)]?.['tableName']===_0x27bc6c['datatable']);if(!_0x555b3d?.['code'])throw CliErrors[_0x7e9e8d(0xea)](_0x7e9e8d(0xc6)+_0x27bc6c['datatable']+_0x7e9e8d(0xbc)+_0x511ff6[_0x7e9e8d(0xda)]+'.',_0x7e9e8d(0x102));return _0x555b3d['code'];}function applyAppBinding(_0x1c70db,_0x2e82f5,_0x20d5c2){const _0x2c1a00=a32_0x1d59,_0x1dc811=_0x2e82f5['target'][_0x2c1a00(0xcb)];if(!_0x1dc811)return;const _0x3ecca6=_0x1c70db[_0x2c1a00(0xb4)][_0x1dc811];if(!_0x3ecca6)throw CliErrors[_0x2c1a00(0xea)](_0x2c1a00(0xe7)+_0x1dc811+_0x2c1a00(0xb8)+_0x2e82f5[_0x2c1a00(0x106)]+'.',_0x2c1a00(0x115));const _0x11a4da=_0x3ecca6['appcode']||_0x3ecca6[_0x2c1a00(0xda)];_0x11a4da&&!hasText(_0x20d5c2[_0x2c1a00(0xbf)])&&(_0x20d5c2[_0x2c1a00(0xbf)]=_0x11a4da),_0x3ecca6['app']&&!hasText(_0x20d5c2[_0x2c1a00(0x110)])&&!hasText(_0x20d5c2[_0x2c1a00(0xbf)])&&(_0x20d5c2[_0x2c1a00(0x110)]=_0x3ecca6[_0x2c1a00(0x110)]),_0x3ecca6['env']&&!hasText(_0x20d5c2[_0x2c1a00(0xc0)])&&(_0x20d5c2[_0x2c1a00(0xc0)]=_0x3ecca6[_0x2c1a00(0xc0)]);}function renderDynamicCommandHelp(_0x248739){const _0x4a5860=a32_0x1d59,_0x478a79=[_0x4a5860(0xfb),_0x4a5860(0xde)+_0x248739[_0x4a5860(0x117)][_0x4a5860(0xf8)],_0x4a5860(0x10f)+_0x248739[_0x4a5860(0x117)][_0x4a5860(0xc1)]];if(_0x248739[_0x4a5860(0x117)][_0x4a5860(0xd3)])_0x478a79['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x248739[_0x4a5860(0x117)][_0x4a5860(0xd3)]);if(_0x248739['target'][_0x4a5860(0xdd)])_0x478a79['push'](_0x4a5860(0xb5)+_0x248739[_0x4a5860(0x117)][_0x4a5860(0xdd)]);if(_0x248739[_0x4a5860(0x117)][_0x4a5860(0xfa)])_0x478a79[_0x4a5860(0xba)](_0x4a5860(0xe0)+_0x248739['target'][_0x4a5860(0xfa)]);if(_0x248739['target'][_0x4a5860(0xcc)])_0x478a79['push'](_0x4a5860(0x10b)+_0x248739[_0x4a5860(0x117)][_0x4a5860(0xcc)]);if(_0x248739[_0x4a5860(0xfc)][_0x4a5860(0xd0)]>0x0){_0x478a79[_0x4a5860(0xba)]('',_0x4a5860(0x100));for(const _0x2c3a27 of _0x248739[_0x4a5860(0xfc)]){_0x478a79[_0x4a5860(0xba)](_0x4a5860(0xb1)+(_0x2c3a27['source']||_0x4a5860(0xf9))+_0x4a5860(0xe8)+_0x2c3a27[_0x4a5860(0x117)]+(_0x2c3a27[_0x4a5860(0x112)]?'.'+_0x2c3a27[_0x4a5860(0x112)]:''));}}return _0x478a79[_0x4a5860(0xe4)]('\x0a');}function targetPreview(_0x113983){const _0x3bb52f=a32_0x1d59;return{'kind':_0x113983[_0x3bb52f(0xf8)],'command':_0x113983[_0x3bb52f(0xc1)],'appRef':_0x113983[_0x3bb52f(0xcb)],'datasetCode':_0x113983[_0x3bb52f(0xd3)],'datatable':_0x113983[_0x3bb52f(0xdd)],'sqlCode':_0x113983[_0x3bb52f(0xfa)],'bffCode':_0x113983['bffCode'],'bffId':_0x113983[_0x3bb52f(0xfd)],'scriptName':_0x113983[_0x3bb52f(0xcc)]};}function normalizeScalarParams(_0x3f6acb){const _0xbf14a8=a32_0x1d59;return Object[_0xbf14a8(0xf7)](Object['entries'](_0x3f6acb)['filter'](([,_0x26eff3])=>typeof _0x26eff3===_0xbf14a8(0xcf)||typeof _0x26eff3==='number'));}function hasText(_0x2643a2){const _0x514ce1=a32_0x1d59;return typeof _0x2643a2==='string'&&_0x2643a2[_0x514ce1(0xf3)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x3b628a){return _0x3b628a===undefined||typeof _0x3b628a==='string'||typeof _0x3b628a==='number'||typeof _0x3b628a==='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_0x583002=a33_0x4f73;function a33_0x4212(){const _0x16dfec=['Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Service\x20Tree\x20manifest\x20file\x20path','detail','1499292aGlRdp','import','registryPath','list','serviceCode','Imported\x20','2345048VvXTSn','936003kKUCWF','kind','imported','Removed\x20service\x20','service','1158RhPQsJ','entry','manifest','WRITE','reduce','type','source','serviceCount','2vqRxVI','registry','target','replaced','length','Local\x20service\x20code,\x20for\x20example\x20crm','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Updated','required','Imported','65975AYhAEY','commands','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','report','updated','map','hash','\x20service(s),\x20updated\x20','remove','filePath','name','description','Local\x20service\x20not\x20found:\x20','registryServiceCode','risk','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','write','flags','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','entries','normalizedManifest','cliName','6490pINkqn','\x20service\x20','string','version','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','manifests','registryIndex','str','errors','warnings','3312365pkUUWx','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','cliPath','13548933OKEEOY','file','read'];a33_0x4212=function(){return _0x16dfec;};return a33_0x4212();}(function(_0x2d105d,_0x481c6a){const _0x3d8dda=a33_0x4f73,_0x488cd6=_0x2d105d();while(!![]){try{const _0x47387=-parseInt(_0x3d8dda(0x160))/0x1+parseInt(_0x3d8dda(0x19d))/0x2*(-parseInt(_0x3d8dda(0x190))/0x3)+parseInt(_0x3d8dda(0x189))/0x4+parseInt(_0x3d8dda(0x176))/0x5*(-parseInt(_0x3d8dda(0x195))/0x6)+-parseInt(_0x3d8dda(0x180))/0x7+-parseInt(_0x3d8dda(0x18f))/0x8+parseInt(_0x3d8dda(0x183))/0x9;if(_0x47387===_0x481c6a)break;else _0x488cd6['push'](_0x488cd6['shift']());}catch(_0x31f714){_0x488cd6['push'](_0x488cd6['shift']());}}}(a33_0x4212,0x76844));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x4f73(_0x1a679e,_0x3178a2){_0x1a679e=_0x1a679e-0x157;const _0x42129e=a33_0x4212();let _0x4f73ae=_0x42129e[_0x1a679e];return _0x4f73ae;}const FILE_FLAG={'name':'file','type':a33_0x583002(0x178),'required':!![],'description':a33_0x583002(0x187)},SERVICE_FLAG={'name':'service','type':'string','required':!![],'description':a33_0x583002(0x15b),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x1e6cbd){const _0x521211=a33_0x583002;return{'serviceCode':_0x1e6cbd[_0x521211(0x18d)],'name':_0x1e6cbd['normalizedManifest']['service'][_0x521211(0x16a)],'version':_0x1e6cbd[_0x521211(0x179)],'importedAt':_0x1e6cbd['importedAt'],'source':_0x1e6cbd['source'],'commandCount':_0x1e6cbd[_0x521211(0x174)][_0x521211(0x161)][_0x521211(0x15a)],'commands':_0x1e6cbd['normalizedManifest'][_0x521211(0x161)][_0x521211(0x165)](_0x5337dc=>({'path':_0x5337dc[_0x521211(0x182)],'description':_0x5337dc[_0x521211(0x16b)],'risk':_0x5337dc[_0x521211(0x16e)],'target':_0x5337dc[_0x521211(0x158)],'flags':_0x5337dc[_0x521211(0x171)][_0x521211(0x165)](_0x4b420=>({'name':_0x4b420['name'],'cliName':_0x4b420[_0x521211(0x175)],'type':_0x4b420[_0x521211(0x19a)],'required':_0x4b420[_0x521211(0x15e)]===!![]}))}))};}function summarizeLoadedManifest(_0x899594){const _0x5650a7=a33_0x583002;return{'service':_0x899594['normalizedManifest']?.['service'],'version':_0x899594[_0x5650a7(0x174)]?.['version'],'commandCount':_0x899594[_0x5650a7(0x174)]?.[_0x5650a7(0x161)]['length']??0x0,'commands':_0x899594[_0x5650a7(0x174)]?.[_0x5650a7(0x161)][_0x5650a7(0x165)](_0x120b83=>({'path':_0x120b83['cliPath'],'risk':_0x120b83[_0x5650a7(0x16e)],'target':_0x120b83[_0x5650a7(0x158)]}))??[],'registryIndex':_0x899594[_0x5650a7(0x17c)],'registryServiceCode':_0x899594[_0x5650a7(0x16d)],'errors':_0x899594['report'][_0x5650a7(0x17e)],'warnings':_0x899594['report'][_0x5650a7(0x17f)]};}export const serviceDefinitions=[{'service':a33_0x583002(0x194),'command':'validate','description':a33_0x583002(0x186),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xb7b692){const _0x471ca7=a33_0x583002,_0x537ef2=loadServiceManifestFromFile(_0xb7b692[_0x471ca7(0x17d)]('file'));if(!_0x537ef2[_0x471ca7(0x163)]['ok'])return{'ok':![],'data':{'file':_0x537ef2[_0x471ca7(0x169)],'hash':_0x537ef2['hash'],'kind':_0x537ef2['kind'],'serviceCount':_0x537ef2['manifests'][_0x471ca7(0x15a)],'services':_0x537ef2[_0x471ca7(0x17b)]['map'](summarizeLoadedManifest),'errors':_0x537ef2[_0x471ca7(0x163)][_0x471ca7(0x17e)],'warnings':_0x537ef2['report'][_0x471ca7(0x17f)]},'message':formatValidationFailure(_0x537ef2[_0x471ca7(0x163)])};if(_0x537ef2[_0x471ca7(0x191)]===_0x471ca7(0x157)||_0x537ef2[_0x471ca7(0x17b)]['length']!==0x1)return{'ok':!![],'data':{'file':_0x537ef2[_0x471ca7(0x169)],'hash':_0x537ef2[_0x471ca7(0x166)],'kind':_0x537ef2[_0x471ca7(0x191)],'serviceCount':_0x537ef2[_0x471ca7(0x17b)][_0x471ca7(0x15a)],'commandCount':_0x537ef2[_0x471ca7(0x17b)][_0x471ca7(0x199)]((_0x57542b,_0x33ca85)=>_0x57542b+(_0x33ca85[_0x471ca7(0x174)]?.[_0x471ca7(0x161)][_0x471ca7(0x15a)]??0x0),0x0),'services':_0x537ef2[_0x471ca7(0x17b)][_0x471ca7(0x165)](summarizeLoadedManifest),'warnings':_0x537ef2['report']['warnings']},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x537ef2['filePath'],'hash':_0x537ef2['hash'],'kind':_0x537ef2[_0x471ca7(0x191)],'service':_0x537ef2[_0x471ca7(0x174)]?.[_0x471ca7(0x194)],'version':_0x537ef2['normalizedManifest']?.[_0x471ca7(0x179)],'commandCount':_0x537ef2[_0x471ca7(0x174)]?.[_0x471ca7(0x161)][_0x471ca7(0x15a)]??0x0,'commands':_0x537ef2[_0x471ca7(0x174)]?.[_0x471ca7(0x161)]['map'](_0x5ada93=>({'path':_0x5ada93[_0x471ca7(0x182)],'risk':_0x5ada93[_0x471ca7(0x16e)],'target':_0x5ada93[_0x471ca7(0x158)]})),'warnings':_0x537ef2[_0x471ca7(0x163)]['warnings']},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x583002(0x194),'command':a33_0x583002(0x18a),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x47431f){const _0x20633c=a33_0x583002,_0x23747c=loadServiceManifestFromFile(_0x47431f[_0x20633c(0x17d)]('file'));return{'method':_0x20633c(0x198),'url':getServiceRegistryPath(),'body':{'file':_0x23747c[_0x20633c(0x169)],'hash':_0x23747c[_0x20633c(0x166)],'kind':_0x23747c[_0x20633c(0x191)],'ok':_0x23747c[_0x20633c(0x163)]['ok'],'service':_0x23747c[_0x20633c(0x174)]?.[_0x20633c(0x194)],'version':_0x23747c[_0x20633c(0x174)]?.[_0x20633c(0x179)],'serviceCount':_0x23747c[_0x20633c(0x17b)]['length'],'services':_0x23747c[_0x20633c(0x17b)]['map'](_0x469e56=>({'service':_0x469e56[_0x20633c(0x174)]?.[_0x20633c(0x194)],'version':_0x469e56[_0x20633c(0x174)]?.[_0x20633c(0x179)],'commandCount':_0x469e56[_0x20633c(0x174)]?.[_0x20633c(0x161)][_0x20633c(0x15a)]??0x0,'errors':_0x469e56['report'][_0x20633c(0x17e)]})),'errors':_0x23747c[_0x20633c(0x163)][_0x20633c(0x17e)],'commandCount':_0x23747c[_0x20633c(0x174)]?.['commands']['length']??0x0},'description':_0x20633c(0x162)};},async 'execute'(_0xec9053){const _0x43f600=a33_0x583002,_0x421690=importServiceManifest(_0xec9053[_0x43f600(0x17d)](_0x43f600(0x184)));if(_0x421690[_0x43f600(0x173)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x421690[_0x43f600(0x18b)],'imported':_0x421690[_0x43f600(0x192)],'updated':_0x421690[_0x43f600(0x164)],'serviceCount':_0x421690['serviceCount'],'services':_0x421690[_0x43f600(0x173)][_0x43f600(0x165)](summarizeService)},'message':_0x43f600(0x18e)+_0x421690['imported']+_0x43f600(0x167)+_0x421690['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x421690[_0x43f600(0x18b)],'replaced':_0x421690[_0x43f600(0x159)],'imported':_0x421690['imported'],'updated':_0x421690['updated'],'serviceCount':_0x421690[_0x43f600(0x19c)],'service':summarizeService(_0x421690[_0x43f600(0x196)])},'message':(_0x421690[_0x43f600(0x159)]?_0x43f600(0x15d):_0x43f600(0x15f))+_0x43f600(0x177)+_0x421690['entry'][_0x43f600(0x18d)]+'.'};}},{'service':a33_0x583002(0x194),'command':'export','description':a33_0x583002(0x15c),'risk':a33_0x583002(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x9149dd){const _0x35e8ec=a33_0x583002,_0xbcb0dc=getLocalServiceEntry(_0x9149dd[_0x35e8ec(0x17d)](_0x35e8ec(0x194)));return{'method':'WRITE','url':_0x9149dd['str'](_0x35e8ec(0x184)),'body':{'service':_0x9149dd[_0x35e8ec(0x17d)](_0x35e8ec(0x194)),'found':Boolean(_0xbcb0dc),'version':_0xbcb0dc?.[_0x35e8ec(0x179)],'source':_0xbcb0dc?.[_0x35e8ec(0x19b)]},'description':_0x35e8ec(0x172)};},async 'execute'(_0x1ffecf){const _0x39609d=a33_0x583002,_0x391962=exportServiceManifest(_0x1ffecf[_0x39609d(0x17d)](_0x39609d(0x194)),_0x1ffecf['str']('file'));return{'ok':!![],'data':{'registryPath':_0x391962['registryPath'],'file':_0x391962[_0x39609d(0x169)],'service':summarizeService(_0x391962[_0x39609d(0x196)])},'message':'Exported\x20service\x20'+_0x391962['entry'][_0x39609d(0x18d)]+'.'};}},{'service':a33_0x583002(0x194),'command':a33_0x583002(0x18c),'description':a33_0x583002(0x181),'risk':a33_0x583002(0x185),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xe53e16=a33_0x583002,_0x4dbadb=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x4dbadb[_0xe53e16(0x15a)],'services':_0x4dbadb[_0xe53e16(0x165)](summarizeService)}};}},{'service':a33_0x583002(0x194),'command':a33_0x583002(0x168),'description':a33_0x583002(0x16f),'risk':a33_0x583002(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x4a3825){const _0x766a98=a33_0x583002,_0x187043=getLocalServiceEntry(_0x4a3825[_0x766a98(0x17d)]('service'));return{'method':_0x766a98(0x198),'url':getServiceRegistryPath(),'body':{'service':_0x4a3825[_0x766a98(0x17d)](_0x766a98(0x194)),'found':Boolean(_0x187043),'version':_0x187043?.[_0x766a98(0x179)],'source':_0x187043?.['source']},'description':_0x766a98(0x17a)};},async 'execute'(_0x10f4f1){const _0x460342=a33_0x583002,_0xd59059=removeServiceManifest(_0x10f4f1[_0x460342(0x17d)](_0x460342(0x194)));return{'ok':!![],'data':{'registryPath':_0xd59059[_0x460342(0x18b)],'serviceCount':_0xd59059[_0x460342(0x19c)],'service':summarizeService(_0xd59059['entry'])},'message':_0x460342(0x193)+_0xd59059['entry'][_0x460342(0x18d)]+'.'};}},{'service':a33_0x583002(0x194),'command':a33_0x583002(0x188),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a33_0x583002(0x185),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xd90db9){const _0x2d09c9=a33_0x583002,_0x1818b0=getLocalServiceEntry(_0xd90db9[_0x2d09c9(0x17d)]('service'));if(!_0x1818b0)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xd90db9['str'](_0x2d09c9(0x194))},'message':_0x2d09c9(0x16c)+_0xd90db9['str']('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1818b0),'manifest':_0x1818b0[_0x2d09c9(0x197)],'normalizedManifest':_0x1818b0[_0x2d09c9(0x174)]}};}}];
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_0x65b15b=a34_0x418a;(function(_0x6f432e,_0x10118d){const _0x49be13=a34_0x418a,_0x248d3e=_0x6f432e();while(!![]){try{const _0x465255=-parseInt(_0x49be13(0xef))/0x1*(-parseInt(_0x49be13(0x116))/0x2)+-parseInt(_0x49be13(0x11d))/0x3*(parseInt(_0x49be13(0x107))/0x4)+-parseInt(_0x49be13(0x11b))/0x5*(parseInt(_0x49be13(0xeb))/0x6)+-parseInt(_0x49be13(0x102))/0x7*(parseInt(_0x49be13(0xe7))/0x8)+-parseInt(_0x49be13(0x120))/0x9+parseInt(_0x49be13(0xf2))/0xa+parseInt(_0x49be13(0xfc))/0xb*(parseInt(_0x49be13(0x111))/0xc);if(_0x465255===_0x10118d)break;else _0x248d3e['push'](_0x248d3e['shift']());}catch(_0x1d4886){_0x248d3e['push'](_0x248d3e['shift']());}}}(a34_0x5409,0xd3da2));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_0x65b15b(0xf0);export function getServiceRegistryPath(_0x2d905f={}){const _0x49f4a4=a34_0x65b15b;return resolve(_0x2d905f[_0x49f4a4(0x106)]??homedir(),PRODUCT_CONFIG[_0x49f4a4(0x121)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x16d5bd={}){const _0x504538=a34_0x65b15b,_0x237b62=getServiceRegistryPath(_0x16d5bd);if(!existsSync(_0x237b62))return emptyServiceRegistry();try{const _0x557a74=readFileSync(_0x237b62,'utf8');if(!_0x557a74[_0x504538(0x10c)]())return emptyServiceRegistry();const _0x132c5a=JSON[_0x504538(0x114)](_0x557a74);if(_0x132c5a[_0x504538(0x11c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x504538(0xe0)](_0x504538(0xe4)+String(_0x132c5a[_0x504538(0x11c)]),'Remove\x20or\x20migrate\x20'+_0x237b62+'.');if(!Array[_0x504538(0x10f)](_0x132c5a['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x132c5a[_0x504538(0x108)],'services':_0x132c5a[_0x504538(0x125)]};}catch(_0x419b8f){if(_0x419b8f instanceof Error&&_0x419b8f['name']==='CliError')throw _0x419b8f;throw CliErrors['validation'](_0x504538(0xed)+_0x237b62,_0x504538(0x110));}}export function writeServiceRegistry(_0x1d16a7,_0xceb725={}){const _0x4e3c4c=a34_0x65b15b,_0x44ac41=getServiceRegistryPath(_0xceb725),_0x28e987=dirname(_0x44ac41);!existsSync(_0x28e987)&&mkdirSync(_0x28e987,{'recursive':!![]});const _0x23d812=_0x44ac41+_0x4e3c4c(0x123);try{writeFileSync(_0x23d812,JSON[_0x4e3c4c(0xe9)](_0x1d16a7,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x23d812,_0x44ac41);}catch(_0x4a594d){try{unlinkSync(_0x23d812);}catch{}if(_0x4a594d?.[_0x4e3c4c(0xea)]===_0x4e3c4c(0x118))throw CliErrors[_0x4e3c4c(0xe0)](_0x4e3c4c(0x109)+_0x44ac41);throw _0x4a594d;}return _0x44ac41;}function a34_0x418a(_0x454210,_0x149098){_0x454210=_0x454210-0xd2;const _0x5409b3=a34_0x5409();let _0x418add=_0x5409b3[_0x454210];return _0x418add;}export function loadServiceManifestFromFile(_0x2aee44){const _0x2e6e4e=a34_0x65b15b,_0x612c73=resolve(_0x2aee44);if(!existsSync(_0x612c73))throw CliErrors[_0x2e6e4e(0xe0)](_0x2e6e4e(0xec)+_0x2aee44);let _0x140832;const _0x3b9fb2=readFileSync(_0x612c73,_0x2e6e4e(0xf3));try{_0x140832=JSON[_0x2e6e4e(0x114)](_0x3b9fb2);}catch{throw CliErrors[_0x2e6e4e(0xe0)](_0x2e6e4e(0x11e)+_0x2aee44,_0x2e6e4e(0xff));}const _0x38bbdb=sha256(_0x3b9fb2),_0x3880e8=extractLoadedServiceManifests(_0x140832,_0x38bbdb),_0x535ae7=aggregateValidationReports(_0x3880e8),_0x39e2b0=_0x3880e8[0x0];return{'filePath':_0x612c73,'hash':_0x38bbdb,'kind':isServiceRegistryLike(_0x140832)?_0x2e6e4e(0x100):_0x2e6e4e(0xd5),'manifest':_0x39e2b0?.[_0x2e6e4e(0xd5)]??_0x140832,'report':_0x535ae7,'normalizedManifest':_0x3880e8['length']===0x1?_0x39e2b0?.[_0x2e6e4e(0x101)]:undefined,'manifests':_0x3880e8};}export function importServiceManifest(_0x2c774f,_0x2fb596={}){const _0x45120d=a34_0x65b15b,_0x53aa4e=loadServiceManifestFromFile(_0x2c774f);if(!_0x53aa4e['report']['ok'])throw CliErrors[_0x45120d(0xe0)](formatValidationFailure(_0x53aa4e[_0x45120d(0x119)]),_0x45120d(0xe6));if(_0x53aa4e[_0x45120d(0x112)][_0x45120d(0xf6)]===0x0)throw CliErrors[_0x45120d(0xe0)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x45120d(0x103));const _0x5de1dc=readServiceRegistry(_0x2fb596),_0x453f36=(_0x2fb596[_0x45120d(0xda)]??(()=>new Date()))()['toISOString'](),_0x2941a3=[];let _0x25acaa=0x0,_0x30c69f=0x0;for(const _0x112a25 of _0x53aa4e[_0x45120d(0x112)]){if(!_0x112a25[_0x45120d(0x101)])continue;const _0x53afea=_0x112a25[_0x45120d(0x101)][_0x45120d(0xdf)]['code'],_0x38edf4={'serviceCode':_0x53afea,'version':_0x112a25['normalizedManifest'][_0x45120d(0xdc)],'importedAt':_0x453f36,'source':{'type':_0x45120d(0xd9),'path':_0x53aa4e['filePath'],'hash':_0x112a25[_0x45120d(0xe1)]},'manifest':_0x112a25[_0x45120d(0xd5)],'normalizedManifest':_0x112a25[_0x45120d(0x101)]},_0x586e78=_0x5de1dc['services'][_0x45120d(0xe2)](_0x1726d8=>_0x1726d8[_0x45120d(0xf4)]===_0x53afea);_0x586e78>=0x0?(_0x5de1dc[_0x45120d(0x125)][_0x586e78]=_0x38edf4,_0x30c69f++):(_0x5de1dc[_0x45120d(0x125)]['push'](_0x38edf4),_0x25acaa++),_0x2941a3['push'](_0x38edf4);}_0x5de1dc[_0x45120d(0x125)]['sort']((_0x590e9f,_0x3e4f23)=>_0x590e9f['serviceCode'][_0x45120d(0xee)](_0x3e4f23['serviceCode'])),_0x5de1dc['updatedAt']=_0x453f36;const _0x1a827a=writeServiceRegistry(_0x5de1dc,_0x2fb596);return{'registryPath':_0x1a827a,'entry':_0x2941a3[0x0],'replaced':_0x2941a3['length']===0x1?_0x30c69f===0x1:_0x30c69f>0x0,'entries':_0x2941a3,'imported':_0x25acaa,'updated':_0x30c69f,'serviceCount':_0x5de1dc[_0x45120d(0x125)][_0x45120d(0xf6)]};}export function exportServiceManifest(_0x46e7f6,_0x593262,_0x1b680f={}){const _0x58db6b=a34_0x65b15b,_0x216142=getServiceRegistryPath(_0x1b680f),_0x150c4a=getLocalServiceEntry(_0x46e7f6,_0x1b680f);if(!_0x150c4a)throw CliErrors[_0x58db6b(0xe0)](_0x58db6b(0xe3)+_0x46e7f6,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x4e518f=resolve(_0x593262),_0x5df8d4=dirname(_0x4e518f);return!existsSync(_0x5df8d4)&&mkdirSync(_0x5df8d4,{'recursive':!![]}),writeFileSync(_0x4e518f,JSON[_0x58db6b(0xe9)](_0x150c4a[_0x58db6b(0xd5)],null,0x2)+'\x0a',{'encoding':_0x58db6b(0xf3),'mode':0x180}),{'registryPath':_0x216142,'filePath':_0x4e518f,'entry':_0x150c4a};}export function removeServiceManifest(_0x594042,_0x55312d={}){const _0x54a497=a34_0x65b15b,_0x362d0f=readServiceRegistry(_0x55312d),_0x91dd07=_0x594042[_0x54a497(0x10c)](),_0x2790d7=_0x362d0f[_0x54a497(0x125)]['findIndex'](_0x2f5c35=>_0x2f5c35[_0x54a497(0xf4)]===_0x91dd07);if(_0x2790d7<0x0)throw CliErrors['validation'](_0x54a497(0xe3)+_0x91dd07,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x2ea76c]=_0x362d0f[_0x54a497(0x125)][_0x54a497(0xdd)](_0x2790d7,0x1),_0x57feee=(_0x55312d[_0x54a497(0xda)]??(()=>new Date()))()['toISOString']();_0x362d0f[_0x54a497(0x108)]=_0x57feee;const _0x49194f=writeServiceRegistry(_0x362d0f,_0x55312d);return{'registryPath':_0x49194f,'entry':_0x2ea76c,'serviceCount':_0x362d0f[_0x54a497(0x125)][_0x54a497(0xf6)]};}export function listLocalServices(_0x234ca8={}){const _0x7ac724=a34_0x65b15b;return readServiceRegistry(_0x234ca8)[_0x7ac724(0x125)];}function a34_0x5409(){const _0x123f2b=['now','path','version','splice','commandCount','service','validation','sourceHash','findIndex','Local\x20service\x20not\x20found:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','description','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','1912XeSLex','].manifest','stringify','code','3699222KZyQwE','Service\x20manifest\x20file\x20not\x20found:\x20','Invalid\x20service\x20registry\x20JSON:\x20','localeCompare','32jEnKCR','service.json','$.services[','6309390FiLFGi','utf8','serviceCode','message','length','invalid','errors','kind','startsWith','cliPath','49616798JoFBai','sha256','find','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','registry','normalizedManifest','46179zrrNPk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','warnings','services\x20must\x20be\x20an\x20array','homeDir','153620KlXwcb','updatedAt','Cannot\x20write\x20service\x20registry:\x20','source','string','trim','hex','target','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','12nBojOl','manifests','missing','parse','map','14456lmGtVf','command','ENOENT','report','commands','5UGkINP','schemaVersion','99lJaxVd','Invalid\x20service\x20manifest\x20JSON:\x20','object','9400698ApKLsD','homeDirName','name','.tmp','flatMap','services','reduce','update','registryIndex','slice','manifest','importedAt','].manifest.','risk','file'];a34_0x5409=function(){return _0x123f2b;};return a34_0x5409();}export function getLocalServiceEntry(_0x29110f,_0x5a6e2d={}){const _0xf2a9b4=a34_0x65b15b;return readServiceRegistry(_0x5a6e2d)[_0xf2a9b4(0x125)][_0xf2a9b4(0xfe)](_0xf77bee=>_0xf77bee['serviceCode']===_0x29110f[_0xf2a9b4(0x10c)]());}export function listLocalServiceTrees(_0x49f0aa={}){const _0x561ef1=a34_0x65b15b;return readServiceRegistry(_0x49f0aa)[_0x561ef1(0x125)][_0x561ef1(0x115)](_0x161d3f=>_0x161d3f[_0x561ef1(0x101)]);}export function inspectServiceRegistry(_0xf153d2={}){const _0x452ae9=a34_0x65b15b,_0xdf374a=getServiceRegistryPath(_0xf153d2);if(!existsSync(_0xdf374a))return emptyServiceRegistryInspection(_0xdf374a,_0x452ae9(0x113),![]);try{const _0x4fd740=readFileSync(_0xdf374a,_0x452ae9(0xf3));if(!_0x4fd740[_0x452ae9(0x10c)]())return emptyServiceRegistryInspection(_0xdf374a,'empty',!![]);const _0x3cc361=JSON[_0x452ae9(0x114)](_0x4fd740);if(_0x3cc361[_0x452ae9(0x11c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xdf374a,_0x452ae9(0xf7),!![]),'schemaVersion':_0x3cc361[_0x452ae9(0x11c)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x3cc361['schemaVersion'])};if(!Array['isArray'](_0x3cc361[_0x452ae9(0x125)]))return{...emptyServiceRegistryInspection(_0xdf374a,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3cc361[_0x452ae9(0x108)],'message':_0x452ae9(0x105)};const _0x57f389=_0x3cc361[_0x452ae9(0x125)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0xdf374a,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3cc361[_0x452ae9(0x108)],'serviceCount':_0x57f389[_0x452ae9(0xf6)],'commandCount':_0x57f389[_0x452ae9(0x126)]((_0x2678f2,_0x15b611)=>_0x2678f2+_0x15b611[_0x452ae9(0xde)],0x0),'services':_0x57f389};}catch(_0x5d7e16){return{...emptyServiceRegistryInspection(_0xdf374a,_0x452ae9(0xf7),!![]),'message':_0x5d7e16 instanceof Error?_0x5d7e16[_0x452ae9(0xf5)]:String(_0x5d7e16)};}}export function formatValidationFailure(_0x3c9dae){const _0x17b03a=a34_0x65b15b,_0x325e43=_0x3c9dae[_0x17b03a(0xf8)][_0x17b03a(0x115)](_0x1ba4ef=>_0x1ba4ef[_0x17b03a(0xdb)]+':\x20'+_0x1ba4ef[_0x17b03a(0xf5)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x325e43['join']('\x0a');}function extractLoadedServiceManifests(_0x399e06,_0x23c94c){const _0x542581=a34_0x65b15b;if(!isServiceRegistryLike(_0x399e06)){const _0x5d02a2=_0x399e06,_0x27e9d4=validateServiceTreeManifest(_0x5d02a2);return[{'manifest':_0x5d02a2,'report':_0x27e9d4,'normalizedManifest':_0x27e9d4['ok']?normalizeServiceTreeManifest(_0x5d02a2):undefined,'sourceHash':_0x23c94c}];}return _0x399e06['services'][_0x542581(0x115)]((_0x2c0891,_0x3e80fe)=>{const _0x3540ab=_0x542581,_0x41c9e9=isObjectRecord(_0x2c0891)?_0x2c0891['manifest']:undefined,_0x1c7380=validateServiceTreeManifest(_0x41c9e9),_0x1d2d62=isObjectRecord(_0x2c0891)&&typeof _0x2c0891[_0x3540ab(0xf4)]===_0x3540ab(0x10b)?_0x2c0891[_0x3540ab(0xf4)]:undefined;return{'manifest':_0x41c9e9,'report':_0x1c7380,'normalizedManifest':_0x1c7380['ok']?normalizeServiceTreeManifest(_0x41c9e9):undefined,'sourceHash':sha256(JSON[_0x3540ab(0xe9)](_0x41c9e9,null,0x2)+'\x0a'),'registryIndex':_0x3e80fe,'registryServiceCode':_0x1d2d62};});}function aggregateValidationReports(_0x445a67){const _0x77f9ad=a34_0x65b15b,_0x2633e1=_0x445a67[_0x77f9ad(0x124)](_0x428ba8=>_0x428ba8[_0x77f9ad(0xd3)]===undefined?_0x428ba8['report'][_0x77f9ad(0xf8)]:_0x428ba8[_0x77f9ad(0x119)][_0x77f9ad(0xf8)][_0x77f9ad(0x115)](_0x3c975c=>({..._0x3c975c,'path':prefixRegistryIssuePath(_0x428ba8['registryIndex'],_0x3c975c[_0x77f9ad(0xdb)])}))),_0x1ac690=_0x445a67[_0x77f9ad(0x124)](_0x4f6f03=>_0x4f6f03[_0x77f9ad(0xd3)]===undefined?_0x4f6f03[_0x77f9ad(0x119)][_0x77f9ad(0x104)]:_0x4f6f03[_0x77f9ad(0x119)][_0x77f9ad(0x104)][_0x77f9ad(0x115)](_0x11026a=>({..._0x11026a,'path':prefixRegistryIssuePath(_0x4f6f03[_0x77f9ad(0xd3)],_0x11026a['path'])})));return{'ok':_0x2633e1[_0x77f9ad(0xf6)]===0x0,'errors':_0x2633e1,'warnings':_0x1ac690};}function prefixRegistryIssuePath(_0x3fdb97,_0x1406da){const _0x5ba9ac=a34_0x65b15b;if(_0x1406da==='$')return _0x5ba9ac(0xf1)+_0x3fdb97+_0x5ba9ac(0xe8);if(_0x1406da[_0x5ba9ac(0xfa)]('$.'))return _0x5ba9ac(0xf1)+_0x3fdb97+_0x5ba9ac(0xe8)+_0x1406da['slice'](0x1);if(_0x1406da[_0x5ba9ac(0xfa)]('$['))return'$.services['+_0x3fdb97+'].manifest'+_0x1406da[_0x5ba9ac(0xd4)](0x1);return _0x5ba9ac(0xf1)+_0x3fdb97+_0x5ba9ac(0xd7)+_0x1406da;}function isServiceRegistryLike(_0x49eddf){const _0x3c9a1b=a34_0x65b15b;return isObjectRecord(_0x49eddf)&&_0x49eddf[_0x3c9a1b(0x11c)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x3c9a1b(0x10f)](_0x49eddf[_0x3c9a1b(0x125)]);}function isObjectRecord(_0x532f63){const _0x2247ca=a34_0x65b15b;return Boolean(_0x532f63)&&typeof _0x532f63===_0x2247ca(0x11f)&&!Array[_0x2247ca(0x10f)](_0x532f63);}function emptyServiceRegistryInspection(_0x37ef00,_0x37d47a,_0x2aa2ee){return{'registryPath':_0x37ef00,'exists':_0x2aa2ee,'status':_0x37d47a,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x21e417){const _0x10f001=a34_0x65b15b,_0x31e49d=_0x21e417[_0x10f001(0x101)],_0x186d8a=_0x31e49d[_0x10f001(0x11a)][_0x10f001(0x115)](_0x15f21a=>({'path':_0x15f21a[_0x10f001(0xfb)],'description':_0x15f21a[_0x10f001(0xe5)],'risk':_0x15f21a[_0x10f001(0xd8)],'targetKind':_0x15f21a['target'][_0x10f001(0xf9)],'targetCommand':_0x15f21a[_0x10f001(0x10e)][_0x10f001(0x117)]}));return{'serviceCode':_0x21e417['serviceCode'],'name':_0x31e49d[_0x10f001(0xdf)][_0x10f001(0x122)],'description':_0x31e49d[_0x10f001(0xdf)][_0x10f001(0xe5)],'version':_0x21e417[_0x10f001(0xdc)],'importedAt':_0x21e417[_0x10f001(0xd6)],'source':_0x21e417[_0x10f001(0x10a)],'commandCount':_0x186d8a['length'],'commands':_0x186d8a};}function sha256(_0x3b5f00){const _0x1c2b07=a34_0x65b15b;return createHash(_0x1c2b07(0xfd))[_0x1c2b07(0xd2)](_0x3b5f00)['digest'](_0x1c2b07(0x10d));}
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_0x39de18=a35_0x8865;(function(_0x207aaf,_0x268b8a){const _0xe60aca=a35_0x8865,_0x2c411f=_0x207aaf();while(!![]){try{const _0x167675=-parseInt(_0xe60aca(0x13a))/0x1+-parseInt(_0xe60aca(0x133))/0x2+parseInt(_0xe60aca(0x147))/0x3*(parseInt(_0xe60aca(0x14f))/0x4)+-parseInt(_0xe60aca(0x14c))/0x5+-parseInt(_0xe60aca(0x155))/0x6+parseInt(_0xe60aca(0x145))/0x7*(parseInt(_0xe60aca(0x14a))/0x8)+parseInt(_0xe60aca(0x13d))/0x9;if(_0x167675===_0x268b8a)break;else _0x2c411f['push'](_0x2c411f['shift']());}catch(_0x290370){_0x2c411f['push'](_0x2c411f['shift']());}}}(a35_0x14f5,0xc0700));function a35_0x8865(_0x3dec09,_0xbf41a1){_0x3dec09=_0x3dec09-0x131;const _0x14f537=a35_0x14f5();let _0x8865e2=_0x14f537[_0x3dec09];return _0x8865e2;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x39de18(0x138),'command':a35_0x39de18(0x146),'description':a35_0x39de18(0x13f),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x50cfe8){const _0x6dda8d=a35_0x39de18,_0x53b42a=buildSkillCreatePlan(_0x50cfe8[_0x6dda8d(0x14d)](_0x6dda8d(0x144)),_0x50cfe8[_0x6dda8d(0x14d)]('type'),_0x50cfe8[_0x6dda8d(0x14d)](_0x6dda8d(0x150)));return{'method':_0x6dda8d(0x14b),'url':_0x53b42a[_0x6dda8d(0x141)],'body':{'skillName':_0x53b42a['rendered'][_0x6dda8d(0x131)],'type':_0x53b42a[_0x6dda8d(0x132)][_0x6dda8d(0x13e)],'selfContained':!![],'files':_0x53b42a[_0x6dda8d(0x132)][_0x6dda8d(0x135)][_0x6dda8d(0x148)](_0x509ac0=>_0x509ac0[_0x6dda8d(0x142)])},'description':_0x6dda8d(0x14e)};},async 'execute'(_0x5d2996){const _0x490907=a35_0x39de18,_0x408a1d=buildSkillCreatePlan(_0x5d2996['str'](_0x490907(0x144)),_0x5d2996['str']('type'),_0x5d2996[_0x490907(0x14d)](_0x490907(0x150)));return writeSkillDraft(_0x408a1d,_0x5d2996[_0x490907(0x149)](_0x490907(0x139))),{'ok':!![],'data':{'skillName':_0x408a1d[_0x490907(0x132)][_0x490907(0x131)],'type':_0x408a1d[_0x490907(0x132)][_0x490907(0x13e)],'dir':_0x408a1d[_0x490907(0x141)],'files':_0x408a1d[_0x490907(0x132)][_0x490907(0x135)][_0x490907(0x148)](_0x55cd20=>_0x55cd20[_0x490907(0x142)])},'message':_0x490907(0x136)+_0x408a1d[_0x490907(0x132)]['skillName']};}};function buildSkillCreatePlan(_0x20a1aa,_0x523b08,_0x3b7904){const _0x2b204f=renderSkillTemplate({'skillName':_0x20a1aa,'type':_0x523b08}),_0x259cdc=resolve(normalizeSkillTarget(_0x3b7904));return{'rendered':_0x2b204f,'targetRoot':_0x259cdc,'skillDir':resolve(_0x259cdc,_0x2b204f['skillName'])};}function normalizeSkillTarget(_0x288a1a){const _0x293262=a35_0x39de18;return(_0x288a1a||DEFAULT_SKILL_TARGET)[_0x293262(0x134)]()||DEFAULT_SKILL_TARGET;}function a35_0x14f5(){const _0xdfa268=['target','isDirectory','content','Skill\x20directory\x20already\x20exists:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','2624586ILLIxm','skillName','rendered','2494576ZiOWHy','trim','files','Created\x20local\x20Skill\x20draft\x20','Refusing\x20to\x20overwrite\x20symlink:\x20','skill','force','519209cuVPpb','isSymbolicLink','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','21326076RaZVac','type','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','validation','skillDir','path','utf8','name','1231769wCCmNK','create','387876ZHykiD','map','bool','16grPczZ','WRITE','5757790MoGJup','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','44DqzrIZ'];a35_0x14f5=function(){return _0xdfa268;};return a35_0x14f5();}function writeSkillDraft(_0x48c9f7,_0x3d496e){const _0xcf5ea5=a35_0x39de18;if(existsSync(_0x48c9f7[_0xcf5ea5(0x141)])){const _0x336d15=lstatSync(_0x48c9f7['skillDir']);if(!_0x336d15[_0xcf5ea5(0x151)]()||_0x336d15[_0xcf5ea5(0x13b)]())throw CliErrors[_0xcf5ea5(0x140)](_0xcf5ea5(0x13c)+_0x48c9f7[_0xcf5ea5(0x141)]);if(!_0x3d496e)throw CliErrors['validation'](_0xcf5ea5(0x153)+_0x48c9f7[_0xcf5ea5(0x141)],_0xcf5ea5(0x154));}for(const _0x15f49d of _0x48c9f7[_0xcf5ea5(0x132)][_0xcf5ea5(0x135)]){const _0x5b8fc0=resolve(_0x48c9f7[_0xcf5ea5(0x141)],_0x15f49d['path']),_0x4da99b=dirname(_0x5b8fc0);mkdirSync(_0x4da99b,{'recursive':!![]});if(existsSync(_0x5b8fc0)&&lstatSync(_0x5b8fc0)[_0xcf5ea5(0x13b)]())throw CliErrors['validation'](_0xcf5ea5(0x137)+_0x5b8fc0);writeFileSync(_0x5b8fc0,_0x15f49d[_0xcf5ea5(0x152)],_0xcf5ea5(0x143));}}
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
- function a36_0x4f48(_0x51918b,_0x5b9b30){_0x51918b=_0x51918b-0x12e;const _0x46230b=a36_0x4623();let _0x4f48f5=_0x46230b[_0x51918b];return _0x4f48f5;}const a36_0x16ab5e=a36_0x4f48;(function(_0x312387,_0x21149b){const _0x2ebb61=a36_0x4f48,_0x31a787=_0x312387();while(!![]){try{const _0x2a78f2=-parseInt(_0x2ebb61(0x145))/0x1*(parseInt(_0x2ebb61(0x140))/0x2)+parseInt(_0x2ebb61(0x14e))/0x3*(-parseInt(_0x2ebb61(0x153))/0x4)+-parseInt(_0x2ebb61(0x152))/0x5+-parseInt(_0x2ebb61(0x143))/0x6+-parseInt(_0x2ebb61(0x13e))/0x7+-parseInt(_0x2ebb61(0x13a))/0x8+parseInt(_0x2ebb61(0x131))/0x9;if(_0x2a78f2===_0x21149b)break;else _0x31a787['push'](_0x31a787['shift']());}catch(_0x5df055){_0x31a787['push'](_0x31a787['shift']());}}}(a36_0x4623,0x66018));function a36_0x4623(){const _0x5f5144=['Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','appCode','company','178088eIMJgy','created','skipped','skillCode','2257367YUxQSl','install','14cdkxgj','all','code','149124rJtppI','accessKey','17438ZZpbFQ','Installed\x20','../../../skills/runtime-skill-sync.js','personal','\x20company\x20Skill(s).','skill','filter','str','trim','63npTEkJ','includes','removed','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','3112055ljRPQF','40228vpwFFi','flatMap','scope','unchanged','write','15687774ZeccUZ','action','../../../core/api-client.js','length','map','envName'];a36_0x4623=function(){return _0x5f5144;};return a36_0x4623();}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_0x16ab5e(0x14a),'command':a36_0x16ab5e(0x13f),'description':a36_0x16ab5e(0x137),'risk':a36_0x16ab5e(0x130),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x3b4c8f){return syncRuntimeSkills(_0x3b4c8f);}};async function syncRuntimeSkills(_0x559dc9){const _0x2fddc0=a36_0x16ab5e,{downloadRuntimeSkillPackage:_0x2c6e81,listRuntimeSkills:_0x5b8ffa}=await import(_0x2fddc0(0x133)),{linkEffectiveRuntimeSkills:_0x45d427,materializeRuntimeSkill:_0x4384d0,pruneStaleRuntimeSkillCache:_0x555d65,pruneStaleRuntimeSkillLinks:_0x4b21eb}=await import(_0x2fddc0(0x147)),_0x5f3515=_0x559dc9[_0x2fddc0(0x14c)](_0x2fddc0(0x142)),_0x49cf99=normalizeSyncScopes(_0x559dc9[_0x2fddc0(0x14c)](_0x2fddc0(0x12e))),_0x5a3730=_0x559dc9[_0x2fddc0(0x136)]??'production',_0x48c3cf=_0x559dc9[_0x2fddc0(0x144)];if(!_0x48c3cf)throw CliErrors['authRequired'](_0x2fddc0(0x151));const _0x340962=await Promise[_0x2fddc0(0x141)](_0x49cf99[_0x2fddc0(0x135)](_0x4970a1=>_0x5b8ffa({'appCode':_0x559dc9['appCode'],'scope':_0x4970a1,'code':_0x5f3515[_0x2fddc0(0x14d)]()||undefined}))),_0x159ad8=_0x49cf99['includes'](_0x2fddc0(0x148))?_0x340962[_0x2fddc0(0x154)]((_0x26aff0,_0x465960)=>_0x49cf99[_0x465960]===_0x2fddc0(0x148)?_0x26aff0[_0x2fddc0(0x148)]:[]):[],_0xd43b6a=_0x49cf99[_0x2fddc0(0x14f)]('company')?_0x340962[_0x2fddc0(0x154)]((_0x1969e4,_0x43e1a6)=>_0x49cf99[_0x43e1a6]===_0x2fddc0(0x139)?_0x1969e4[_0x2fddc0(0x139)]:[]):[],_0x3da210=new Set([..._0x159ad8['map'](_0x3c6b31=>_0x3c6b31[_0x2fddc0(0x13d)]?.[_0x2fddc0(0x14d)]())[_0x2fddc0(0x14b)](_0x101fb8=>Boolean(_0x101fb8)),..._0xd43b6a[_0x2fddc0(0x135)](_0x58b1f5=>_0x58b1f5[_0x2fddc0(0x13d)]?.['trim']())[_0x2fddc0(0x14b)](_0x1760da=>Boolean(_0x1760da))]),_0x2f10aa=_0x5f3515[_0x2fddc0(0x14d)]()?[_0x5f3515[_0x2fddc0(0x14d)]()]:undefined,_0x515f51=_0x49cf99['length']===0x2&&_0x49cf99[_0x2fddc0(0x14f)]('personal')&&_0x49cf99[_0x2fddc0(0x14f)](_0x2fddc0(0x139)),_0x30ab52=_0x515f51?_0x4b21eb(_0x559dc9[_0x2fddc0(0x138)],_0x3da210,{},_0x2f10aa):[],_0x1e1984=_0x555d65({'env':_0x5a3730,'accessKey':_0x48c3cf,'appCode':_0x559dc9['appCode'],'activeSkillCodes':_0x3da210,'pruneSkillCodes':_0x2f10aa,'scopes':_0x49cf99}),_0x5a31e5=[];for(const _0x549aee of _0x159ad8){_0x5a31e5['push'](_0x4384d0(_0x549aee,'personal',{'env':_0x5a3730,'accessKey':_0x48c3cf,'appCode':_0x559dc9[_0x2fddc0(0x138)],'packageBytes':await downloadSkillPackage(_0x549aee,_0x2fddc0(0x148),_0x559dc9[_0x2fddc0(0x138)],_0x2c6e81)}));}for(const _0x3ada3b of _0xd43b6a){_0x5a31e5['push'](_0x4384d0(_0x3ada3b,_0x2fddc0(0x139),{'env':_0x5a3730,'accessKey':_0x48c3cf,'appCode':_0x559dc9[_0x2fddc0(0x138)],'packageBytes':await downloadSkillPackage(_0x3ada3b,'company',_0x559dc9[_0x2fddc0(0x138)],_0x2c6e81)}));}const _0x4e87e3=_0x45d427(_0x5a31e5,_0x559dc9[_0x2fddc0(0x138)]),_0x3031ae=countLinkActions(_0x4e87e3);return{'ok':!![],'data':{'appCode':_0x559dc9[_0x2fddc0(0x138)],'personal':_0x159ad8[_0x2fddc0(0x134)],'company':_0xd43b6a[_0x2fddc0(0x134)],'materialized':_0x5a31e5[_0x2fddc0(0x134)],'links':{'total':_0x4e87e3[_0x2fddc0(0x134)],'created':_0x3031ae[_0x2fddc0(0x13b)]??0x0,'updated':_0x3031ae['updated']??0x0,'unchanged':_0x3031ae[_0x2fddc0(0x12f)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x30ab52[_0x2fddc0(0x14b)](_0x163317=>_0x163317['action']==='removed')[_0x2fddc0(0x134)],'cacheDirs':_0x1e1984[_0x2fddc0(0x14b)](_0x27c3f8=>_0x27c3f8[_0x2fddc0(0x132)]===_0x2fddc0(0x150))[_0x2fddc0(0x134)],'skipped':[..._0x30ab52,..._0x1e1984][_0x2fddc0(0x14b)](_0x165643=>_0x165643[_0x2fddc0(0x132)]===_0x2fddc0(0x13c))[_0x2fddc0(0x134)]},'skills':{'personal':_0x159ad8[_0x2fddc0(0x135)](summarizeRuntimeSkill),'company':_0xd43b6a[_0x2fddc0(0x135)](summarizeRuntimeSkill)}},'message':_0x2fddc0(0x146)+_0x159ad8[_0x2fddc0(0x134)]+'\x20personal\x20and\x20'+_0xd43b6a[_0x2fddc0(0x134)]+_0x2fddc0(0x149)};}async function downloadSkillPackage(_0x44ffdf,_0x21e4dd,_0x27a6f1,_0x38f6a6){const _0x3dc531=a36_0x16ab5e,_0x43036b=_0x44ffdf['version']?.[_0x3dc531(0x14d)]();return _0x43036b?_0x38f6a6(_0x21e4dd,_0x44ffdf[_0x3dc531(0x13d)],_0x27a6f1,_0x43036b):_0x38f6a6(_0x21e4dd,_0x44ffdf['skillCode'],_0x27a6f1);}function countLinkActions(_0x2b8841){return _0x2b8841['reduce']((_0x31d208,_0x5c3697)=>{const _0x33289c=a36_0x4f48;return _0x31d208[_0x5c3697['action']]=(_0x31d208[_0x5c3697[_0x33289c(0x132)]]??0x0)+0x1,_0x31d208;},{});}
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;},{});}