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

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 +3 -2
@@ -1 +1 @@
1
- const a27_0x543386=a27_0x225f;function a27_0x45ed(){const _0x32544e=['detail','File\x20is\x20not\x20a\x20regular\x20file:\x20','File\x20path\x20is\x20required.','Search\x20query\x20is\x20required.','23109021rACUqj','Personal\x20knowledge-base\x20entry\x20title','appCode','read','3771nDXnTQ','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','body','1679052bydClq','flag','/update','POST','weightedScore','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','updateTime','385435FJxLmN','validation','write','map','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','isFinite','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','string','score','length','Personal\x20knowledge-base\x20entry\x20ID','ragErrorMessage','ragStatus','5512654csVYPq','verbose','524UkfydD','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','utf8','6HkCnaU','docId','1440559dxWFuX','Override\x20the\x20existing\x20entry\x20title','file','createTime','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','num','topk','scope','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','--topk\x20must\x20be\x20a\x20positive\x20number.','File\x20not\x20found:\x20','query','trim','title','474992SaoihD','version','/client/knowledge-base/personal/create','str','content','create','number','list','build','bool'];a27_0x45ed=function(){return _0x32544e;};return a27_0x45ed();}(function(_0x213f4f,_0x171a1a){const _0x487f37=a27_0x225f,_0x4a32e5=_0x213f4f();while(!![]){try{const _0x429756=-parseInt(_0x487f37(0xf4))/0x1+-parseInt(_0x487f37(0x118))/0x2+-parseInt(_0x487f37(0x115))/0x3*(parseInt(_0x487f37(0xef))/0x4)+-parseInt(_0x487f37(0x11f))/0x5+parseInt(_0x487f37(0xf2))/0x6*(parseInt(_0x487f37(0xed))/0x7)+-parseInt(_0x487f37(0x103))/0x8+parseInt(_0x487f37(0x111))/0x9;if(_0x429756===_0x171a1a)break;else _0x4a32e5['push'](_0x4a32e5['shift']());}catch(_0x4b6946){_0x4a32e5['push'](_0x4a32e5['shift']());}}}(a27_0x45ed,0xbcf5a));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x543386(0x102),'type':a27_0x543386(0x126),'required':!![],'description':a27_0x543386(0x112)},FILE_FLAG={'name':a27_0x543386(0xf6),'type':a27_0x543386(0x126),'required':!![],'description':a27_0x543386(0x125)},QUERY_FLAG={'name':a27_0x543386(0x100),'type':'string','required':!![],'description':a27_0x543386(0x116)},TOPK_FLAG={'name':a27_0x543386(0xfb),'type':a27_0x543386(0x109),'description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x24b653){const _0x502326=a27_0x543386;if(!_0x24b653)throw CliErrors[_0x502326(0x120)](_0x502326(0x10f));if(!existsSync(_0x24b653))throw CliErrors[_0x502326(0x120)](_0x502326(0xff)+_0x24b653);if(!statSync(_0x24b653)['isFile']())throw CliErrors['validation'](_0x502326(0x10e)+_0x24b653);return readFileSync(_0x24b653,_0x502326(0xf1));}function summarizePersonalItem(_0x180097){const _0x5f0b23=a27_0x543386;return{'id':_0x180097['id'],'title':_0x180097[_0x5f0b23(0x102)],'version':_0x180097[_0x5f0b23(0x104)],'ragStatus':_0x180097[_0x5f0b23(0x12b)],'ragErrorMessage':_0x180097['ragErrorMessage'],'updateTime':_0x180097[_0x5f0b23(0x11e)]};}function detailPersonalItem(_0x35a5aa){const _0x41cf31=a27_0x543386;return{'id':_0x35a5aa['id'],'appCode':_0x35a5aa['appCode'],'scope':_0x35a5aa[_0x41cf31(0xfc)],'userId':_0x35a5aa['userId'],'title':_0x35a5aa['title'],'content':_0x35a5aa[_0x41cf31(0x107)]??'','version':_0x35a5aa[_0x41cf31(0x104)],'ragStatus':_0x35a5aa[_0x41cf31(0x12b)],'ragErrorMessage':_0x35a5aa[_0x41cf31(0x12a)],'createTime':_0x35a5aa[_0x41cf31(0xf7)],'updateTime':_0x35a5aa[_0x41cf31(0x11e)]};}function summarizeSearchHit(_0xa4f4f9){const _0x39b96c=a27_0x543386;return{'scope':_0xa4f4f9[_0x39b96c(0xfc)],'docId':_0xa4f4f9[_0x39b96c(0xf3)],'score':_0xa4f4f9[_0x39b96c(0x127)],'weightedScore':_0xa4f4f9[_0x39b96c(0x11c)],'content':_0xa4f4f9[_0x39b96c(0x107)],'metadata':_0xa4f4f9['metadata']};}function readTopK(_0x46d524){const _0x26d69a=a27_0x543386,_0x4fd9d9=_0x46d524[_0x26d69a(0x119)](_0x26d69a(0xfb));if(_0x4fd9d9===undefined||_0x4fd9d9===null||_0x4fd9d9==='')return undefined;const _0x44add0=_0x46d524['num'](_0x26d69a(0xfb));if(!Number[_0x26d69a(0x124)](_0x44add0)||_0x44add0<0x1)throw CliErrors[_0x26d69a(0x120)](_0x26d69a(0xfe));return _0x44add0;}const kbList={'service':'kb','command':a27_0x543386(0x10a),'description':a27_0x543386(0x11d),'risk':a27_0x543386(0x114),'flags':[VERBOSE_FLAG],async 'execute'(_0x2faa18){const _0x292bcd=a27_0x543386,_0x1a3da2=await listPersonalKnowledgeBaseItems(_0x2faa18['appCode']);if(_0x2faa18[_0x292bcd(0x10c)](_0x292bcd(0xee)))return{'ok':!![],'data':{'total':_0x1a3da2[_0x292bcd(0x128)],'items':_0x1a3da2}};return{'ok':!![],'data':{'total':_0x1a3da2[_0x292bcd(0x128)],'items':_0x1a3da2[_0x292bcd(0x122)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x543386(0x10d),'description':a27_0x543386(0xf8),'risk':'read','flags':[{...ID_FLAG,'description':a27_0x543386(0x129)}],async 'execute'(_0x5172f6){const _0xe49c44=await getPersonalKnowledgeBaseItem(_0x5172f6['num']('id'),_0x5172f6['appCode']);return{'ok':!![],'data':detailPersonalItem(_0xe49c44)};}},kbCreate={'service':'kb','command':a27_0x543386(0x108),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x94e46c){const _0x2427c2=a27_0x543386,_0x3f7439=_0x94e46c['str'](_0x2427c2(0x102)),_0x2ab883=readKnowledgeFile(_0x94e46c[_0x2427c2(0x106)](_0x2427c2(0xf6))),_0x45716c=await createPersonalKnowledgeBaseItem(_0x94e46c['appCode'],{'title':_0x3f7439,'content':_0x2ab883});return{'ok':!![],'data':summarizePersonalItem(_0x45716c),'message':'Created\x20KB\x20entry\x20'+_0x45716c['id']+'\x20('+_0x45716c[_0x2427c2(0x102)]+')'};},async 'dryRun'(_0x15bce9){const _0x115b87=a27_0x543386,_0x5b1113=_0x15bce9[_0x115b87(0x106)](_0x115b87(0x102)),_0x5e7375=readKnowledgeFile(_0x15bce9['str']('file'));return dryRun(_0x115b87(0x11b),_0x115b87(0x105))[_0x115b87(0x117)]({'appCode':_0x15bce9['appCode'],'title':_0x5b1113,'content':_0x5e7375})['description'](_0x115b87(0xfd)+_0x5b1113+'\x22')[_0x115b87(0x10b)]();}},kbUpdate={'service':'kb','command':'update','description':a27_0x543386(0x123),'risk':a27_0x543386(0x121),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'},{...TITLE_FLAG,'required':![],'description':a27_0x543386(0xf5)},FILE_FLAG],async 'execute'(_0x1dfcda){const _0x54b6b1=a27_0x543386,_0x19f12c=_0x1dfcda[_0x54b6b1(0xfa)]('id'),_0x2e6cbb=readKnowledgeFile(_0x1dfcda[_0x54b6b1(0x106)]('file')),_0x2bfe06=_0x1dfcda[_0x54b6b1(0x106)](_0x54b6b1(0x102))||(await getPersonalKnowledgeBaseItem(_0x19f12c,_0x1dfcda[_0x54b6b1(0x113)]))['title'],_0xe94b1c=await updatePersonalKnowledgeBaseItem(_0x19f12c,_0x1dfcda[_0x54b6b1(0x113)],{'title':_0x2bfe06,'content':_0x2e6cbb});return{'ok':!![],'data':summarizePersonalItem(_0xe94b1c),'message':'Updated\x20KB\x20entry\x20'+_0xe94b1c['id']+'\x20('+_0xe94b1c[_0x54b6b1(0x102)]+')'};},async 'dryRun'(_0x2453b7){const _0x215be9=a27_0x543386,_0x4bedf9=_0x2453b7[_0x215be9(0xfa)]('id'),_0x3cff14=readKnowledgeFile(_0x2453b7[_0x215be9(0x106)](_0x215be9(0xf6))),_0x118116=_0x2453b7['str'](_0x215be9(0x102))||(await getPersonalKnowledgeBaseItem(_0x4bedf9,_0x2453b7[_0x215be9(0x113)]))[_0x215be9(0x102)];return dryRun('POST','/client/knowledge-base/personal/'+_0x4bedf9+_0x215be9(0x11a))[_0x215be9(0x117)]({'appCode':_0x2453b7['appCode'],'title':_0x118116,'content':_0x3cff14})['description'](_0x215be9(0xf0)+_0x4bedf9)[_0x215be9(0x10b)]();}},kbSearch={'service':'kb','command':'search','description':a27_0x543386(0xf9),'risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3ed042){const _0x470ebf=a27_0x543386;if(!_0x3ed042[_0x470ebf(0x106)](_0x470ebf(0x100))['trim']())throw CliErrors[_0x470ebf(0x120)](_0x470ebf(0x110));readTopK(_0x3ed042);},async 'execute'(_0x306025){const _0xca88=a27_0x543386,_0x1dc887=_0x306025[_0xca88(0x106)]('query')[_0xca88(0x101)](),_0x310a2d=readTopK(_0x306025),_0x2b2554=await searchKnowledgeBase(_0x306025[_0xca88(0x113)],{'query':_0x1dc887,'topK':_0x310a2d});return{'ok':!![],'data':{'total':_0x2b2554['length'],'hits':_0x2b2554[_0xca88(0x122)](summarizeSearchHit)}};}};function a27_0x225f(_0x4819bc,_0x45904c){_0x4819bc=_0x4819bc-0xed;const _0x45ed8c=a27_0x45ed();let _0x225fc0=_0x45ed8c[_0x4819bc];return _0x225fc0;}export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a27_0x5c29ae=a27_0x3973;(function(_0x206b0e,_0x283dbe){const _0xd94f12=a27_0x3973,_0xfe9146=_0x206b0e();while(!![]){try{const _0x4e6600=-parseInt(_0xd94f12(0xf4))/0x1+parseInt(_0xd94f12(0xca))/0x2*(-parseInt(_0xd94f12(0xd0))/0x3)+parseInt(_0xd94f12(0xc2))/0x4+-parseInt(_0xd94f12(0xf1))/0x5+-parseInt(_0xd94f12(0xda))/0x6*(-parseInt(_0xd94f12(0xc9))/0x7)+parseInt(_0xd94f12(0xf0))/0x8*(-parseInt(_0xd94f12(0xb5))/0x9)+parseInt(_0xd94f12(0xec))/0xa*(parseInt(_0xd94f12(0xe7))/0xb);if(_0x4e6600===_0x283dbe)break;else _0xfe9146['push'](_0xfe9146['shift']());}catch(_0x3a26e7){_0xfe9146['push'](_0xfe9146['shift']());}}}(a27_0x1915,0x2d3fe));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0x1915(){const _0x340885=['394398cBiSDD','description','utf8','isFile','length','file','build','topk','update','--topk\x20must\x20be\x20a\x20positive\x20number.','userId','content','metadata','1377036FzDilz','File\x20is\x20not\x20a\x20regular\x20file:\x20','create','verbose','number','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','Updated\x20KB\x20entry\x20','7sCoEyK','62GUknLH','trim','isFinite','title','search','/client/knowledge-base/personal/create','26286eJzpRO','str','Personal\x20knowledge-base\x20entry\x20ID','version','query','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','/update','validation','weightedScore','appCode','653286FqCosu','scope','/client/knowledge-base/personal/','list','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','map','write','string','POST','read','bool','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','detail','1705NwxbkB','File\x20path\x20is\x20required.','File\x20not\x20found:\x20','flag','num','18800MNzEiy','Override\x20the\x20existing\x20entry\x20title','body','ragErrorMessage','8zqjcXl','449190sJUrcu','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','score','153916mJqroi','createTime'];a27_0x1915=function(){return _0x340885;};return a27_0x1915();}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x5c29ae(0xcd),'type':a27_0x5c29ae(0xe1),'required':!![],'description':'Personal\x20knowledge-base\x20entry\x20title'},FILE_FLAG={'name':a27_0x5c29ae(0xba),'type':'string','required':!![],'description':a27_0x5c29ae(0xd5)},QUERY_FLAG={'name':a27_0x5c29ae(0xd4),'type':a27_0x5c29ae(0xe1),'required':!![],'description':a27_0x5c29ae(0xde)},TOPK_FLAG={'name':a27_0x5c29ae(0xbc),'type':a27_0x5c29ae(0xc6),'description':a27_0x5c29ae(0xe5)};function readKnowledgeFile(_0x26a1dd){const _0x440a88=a27_0x5c29ae;if(!_0x26a1dd)throw CliErrors['validation'](_0x440a88(0xe8));if(!existsSync(_0x26a1dd))throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xe9)+_0x26a1dd);if(!statSync(_0x26a1dd)[_0x440a88(0xb8)]())throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xc3)+_0x26a1dd);return readFileSync(_0x26a1dd,_0x440a88(0xb7));}function summarizePersonalItem(_0x45a202){const _0x73ab05=a27_0x5c29ae;return{'id':_0x45a202['id'],'title':_0x45a202['title'],'version':_0x45a202[_0x73ab05(0xd3)],'ragStatus':_0x45a202['ragStatus'],'ragErrorMessage':_0x45a202['ragErrorMessage'],'updateTime':_0x45a202['updateTime']};}function a27_0x3973(_0x337249,_0x11aea6){_0x337249=_0x337249-0xb4;const _0x191586=a27_0x1915();let _0x3973f3=_0x191586[_0x337249];return _0x3973f3;}function detailPersonalItem(_0x8116e6){const _0x116291=a27_0x5c29ae;return{'id':_0x8116e6['id'],'appCode':_0x8116e6[_0x116291(0xd9)],'scope':_0x8116e6[_0x116291(0xdb)],'userId':_0x8116e6[_0x116291(0xbf)],'title':_0x8116e6['title'],'content':_0x8116e6[_0x116291(0xc0)]??'','version':_0x8116e6['version'],'ragStatus':_0x8116e6['ragStatus'],'ragErrorMessage':_0x8116e6[_0x116291(0xef)],'createTime':_0x8116e6[_0x116291(0xb4)],'updateTime':_0x8116e6['updateTime']};}function summarizeSearchHit(_0x43d672){const _0x15a3da=a27_0x5c29ae;return{'scope':_0x43d672[_0x15a3da(0xdb)],'docId':_0x43d672['docId'],'score':_0x43d672[_0x15a3da(0xf3)],'weightedScore':_0x43d672[_0x15a3da(0xd8)],'content':_0x43d672[_0x15a3da(0xc0)],'metadata':_0x43d672[_0x15a3da(0xc1)]};}function readTopK(_0x43e73b){const _0x15d233=a27_0x5c29ae,_0x497403=_0x43e73b[_0x15d233(0xea)](_0x15d233(0xbc));if(_0x497403===undefined||_0x497403===null||_0x497403==='')return undefined;const _0x1233ee=_0x43e73b['num']('topk');if(!Number[_0x15d233(0xcc)](_0x1233ee)||_0x1233ee<0x1)throw CliErrors['validation'](_0x15d233(0xbe));return _0x1233ee;}const kbList={'service':'kb','command':a27_0x5c29ae(0xdd),'description':a27_0x5c29ae(0xf2),'risk':a27_0x5c29ae(0xe3),'flags':[VERBOSE_FLAG],async 'execute'(_0x35b358){const _0x1a6685=a27_0x5c29ae,_0x4268dc=await listPersonalKnowledgeBaseItems(_0x35b358[_0x1a6685(0xd9)]);if(_0x35b358[_0x1a6685(0xe4)](_0x1a6685(0xc5)))return{'ok':!![],'data':{'total':_0x4268dc[_0x1a6685(0xb9)],'items':_0x4268dc}};return{'ok':!![],'data':{'total':_0x4268dc['length'],'items':_0x4268dc[_0x1a6685(0xdf)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x5c29ae(0xe6),'description':a27_0x5c29ae(0xc7),'risk':a27_0x5c29ae(0xe3),'flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)}],async 'execute'(_0x5ad128){const _0x221b94=a27_0x5c29ae,_0xa04b4e=await getPersonalKnowledgeBaseItem(_0x5ad128['num']('id'),_0x5ad128[_0x221b94(0xd9)]);return{'ok':!![],'data':detailPersonalItem(_0xa04b4e)};}},kbCreate={'service':'kb','command':a27_0x5c29ae(0xc4),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x5c29ae(0xe0),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x5798b3){const _0x470502=a27_0x5c29ae,_0x1a73e7=_0x5798b3['str'](_0x470502(0xcd)),_0xad66cb=readKnowledgeFile(_0x5798b3[_0x470502(0xd1)](_0x470502(0xba))),_0x249de8=await createPersonalKnowledgeBaseItem(_0x5798b3[_0x470502(0xd9)],{'title':_0x1a73e7,'content':_0xad66cb});return{'ok':!![],'data':summarizePersonalItem(_0x249de8),'message':'Created\x20KB\x20entry\x20'+_0x249de8['id']+'\x20('+_0x249de8[_0x470502(0xcd)]+')'};},async 'dryRun'(_0x15d89a){const _0x2cfcd6=a27_0x5c29ae,_0x5bf555=_0x15d89a['str'](_0x2cfcd6(0xcd)),_0x37bd24=readKnowledgeFile(_0x15d89a['str']('file'));return dryRun(_0x2cfcd6(0xe2),_0x2cfcd6(0xcf))[_0x2cfcd6(0xee)]({'appCode':_0x15d89a[_0x2cfcd6(0xd9)],'title':_0x5bf555,'content':_0x37bd24})['description']('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x5bf555+'\x22')[_0x2cfcd6(0xbb)]();}},kbUpdate={'service':'kb','command':a27_0x5c29ae(0xbd),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)},{...TITLE_FLAG,'required':![],'description':a27_0x5c29ae(0xed)},FILE_FLAG],async 'execute'(_0x28a465){const _0x32f831=a27_0x5c29ae,_0x2cf254=_0x28a465[_0x32f831(0xeb)]('id'),_0x338ad5=readKnowledgeFile(_0x28a465[_0x32f831(0xd1)](_0x32f831(0xba))),_0x3dc19b=_0x28a465[_0x32f831(0xd1)](_0x32f831(0xcd))||(await getPersonalKnowledgeBaseItem(_0x2cf254,_0x28a465[_0x32f831(0xd9)]))[_0x32f831(0xcd)],_0xbc4c35=await updatePersonalKnowledgeBaseItem(_0x2cf254,_0x28a465['appCode'],{'title':_0x3dc19b,'content':_0x338ad5});return{'ok':!![],'data':summarizePersonalItem(_0xbc4c35),'message':_0x32f831(0xc8)+_0xbc4c35['id']+'\x20('+_0xbc4c35['title']+')'};},async 'dryRun'(_0x15655c){const _0xc63483=a27_0x5c29ae,_0x8cc000=_0x15655c[_0xc63483(0xeb)]('id'),_0x59c3bb=readKnowledgeFile(_0x15655c[_0xc63483(0xd1)](_0xc63483(0xba))),_0x195c4b=_0x15655c[_0xc63483(0xd1)]('title')||(await getPersonalKnowledgeBaseItem(_0x8cc000,_0x15655c['appCode']))['title'];return dryRun(_0xc63483(0xe2),_0xc63483(0xdc)+_0x8cc000+_0xc63483(0xd6))[_0xc63483(0xee)]({'appCode':_0x15655c[_0xc63483(0xd9)],'title':_0x195c4b,'content':_0x59c3bb})[_0xc63483(0xb6)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x8cc000)[_0xc63483(0xbb)]();}},kbSearch={'service':'kb','command':a27_0x5c29ae(0xce),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x5c29ae(0xe3),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x33e55f){const _0x4d80ad=a27_0x5c29ae;if(!_0x33e55f[_0x4d80ad(0xd1)]('query')[_0x4d80ad(0xcb)]())throw CliErrors[_0x4d80ad(0xd7)]('Search\x20query\x20is\x20required.');readTopK(_0x33e55f);},async 'execute'(_0x56a7cc){const _0x4e1a23=a27_0x5c29ae,_0x4243d6=_0x56a7cc[_0x4e1a23(0xd1)](_0x4e1a23(0xd4))[_0x4e1a23(0xcb)](),_0x40d2aa=readTopK(_0x56a7cc),_0x29ed0b=await searchKnowledgeBase(_0x56a7cc['appCode'],{'query':_0x4243d6,'topK':_0x40d2aa});return{'ok':!![],'data':{'total':_0x29ed0b['length'],'hits':_0x29ed0b[_0x4e1a23(0xdf)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0x4f99aa=a28_0x7863;(function(_0x3fb5a8,_0x1ac22a){const _0x17ed96=a28_0x7863,_0x246f5e=_0x3fb5a8();while(!![]){try{const _0x23d210=parseInt(_0x17ed96(0x1b4))/0x1*(-parseInt(_0x17ed96(0x1a9))/0x2)+parseInt(_0x17ed96(0x1aa))/0x3+parseInt(_0x17ed96(0x19f))/0x4*(-parseInt(_0x17ed96(0x1bb))/0x5)+parseInt(_0x17ed96(0x1b8))/0x6*(-parseInt(_0x17ed96(0x1a1))/0x7)+parseInt(_0x17ed96(0x1bc))/0x8*(-parseInt(_0x17ed96(0x1a4))/0x9)+parseInt(_0x17ed96(0x1be))/0xa+-parseInt(_0x17ed96(0x1a3))/0xb*(-parseInt(_0x17ed96(0x1c1))/0xc);if(_0x23d210===_0x1ac22a)break;else _0x246f5e['push'](_0x246f5e['shift']());}catch(_0x21ccc2){_0x246f5e['push'](_0x246f5e['shift']());}}}(a28_0x55b4,0xb666f));function a28_0x55b4(){const _0x2fe7b5=['read','4487485RTvebB','56336bymqyL','stringify','1086930nMixQW','error','show','149088fyrRoO','log','success','4QzsBGA','keys','1176707yRYPye','message','1342bmBBKm','549scrlaV','\x20\x20\x20Time:\x20','level','*\x20Logs\x20cleared','forEach','16FgRYCQ','3402021YIFQPL','\x20logs:\x0a','toLocaleString','Clear\x20command\x20history\x20logs','clear','length','en-US','logs','write','duration','43506mICZxk','timestamp','*\x20No\x20logs\x20found','details','12zvLZzX','command'];a28_0x55b4=function(){return _0x2fe7b5;};return a28_0x55b4();}import{logger}from'../../utils/logger.js';function a28_0x7863(_0x56063c,_0x5672e5){_0x56063c=_0x56063c-0x19d;const _0x55b424=a28_0x55b4();let _0x7863e0=_0x55b424[_0x56063c];return _0x7863e0;}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x206500){const _0x37dc82=a28_0x7863;if(_0x206500[_0x37dc82(0x1af)]===0x0){console[_0x37dc82(0x19d)](_0x37dc82(0x1b6));return;}console[_0x37dc82(0x19d)]('*\x20'+CLI_DISPLAY_NAME+_0x37dc82(0x1ab)),_0x206500[_0x37dc82(0x1a8)]((_0x319693,_0x5e69f4)=>{const _0x108298=_0x37dc82,_0x48b237=new Date(_0x319693[_0x108298(0x1b5)])[_0x108298(0x1ac)](_0x108298(0x1b0)),_0x2b7b47=_0x319693[_0x108298(0x1a6)]===_0x108298(0x19e)?'√':_0x319693['level']===_0x108298(0x1bf)?'×':_0x319693[_0x108298(0x1a6)]==='warn'?'!':'i';console['log'](_0x5e69f4+0x1+'.\x20'+_0x2b7b47+'\x20['+_0x319693[_0x108298(0x1b9)]+']\x20'+_0x319693[_0x108298(0x1a2)]),console[_0x108298(0x19d)](_0x108298(0x1a5)+_0x48b237),_0x319693[_0x108298(0x1b3)]&&console[_0x108298(0x19d)]('\x20\x20\x20Duration:\x20'+_0x319693[_0x108298(0x1b3)]+'ms'),_0x319693[_0x108298(0x1b7)]&&Object[_0x108298(0x1a0)](_0x319693[_0x108298(0x1b7)])[_0x108298(0x1af)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON[_0x108298(0x1bd)](_0x319693['details'],null,0x2)),console[_0x108298(0x19d)]('');});}export const logsDefinitions=[{'service':a28_0x4f99aa(0x1b1),'command':a28_0x4f99aa(0x1c0),'description':'View\x20command\x20history\x20logs','risk':a28_0x4f99aa(0x1ba),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x11e44){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a28_0x4f99aa(0x1b1),'command':a28_0x4f99aa(0x1ae),'description':a28_0x4f99aa(0x1ad),'risk':a28_0x4f99aa(0x1b2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3c815b){const _0x5bc6c0=a28_0x4f99aa;return logger['clearLogs'](),console[_0x5bc6c0(0x19d)](_0x5bc6c0(0x1a7)),{'ok':!![]};}}];
1
+ const a28_0xa57254=a28_0x325e;function a28_0x325e(_0x595aab,_0x773bef){_0x595aab=_0x595aab-0x1ca;const _0x8905b6=a28_0x8905();let _0x325e8c=_0x8905b6[_0x595aab];return _0x325e8c;}(function(_0x4ccf91,_0x507b7e){const _0x1fe0ed=a28_0x325e,_0x270518=_0x4ccf91();while(!![]){try{const _0x503897=parseInt(_0x1fe0ed(0x1e9))/0x1*(parseInt(_0x1fe0ed(0x1dc))/0x2)+-parseInt(_0x1fe0ed(0x1e4))/0x3*(-parseInt(_0x1fe0ed(0x1ea))/0x4)+-parseInt(_0x1fe0ed(0x1da))/0x5+-parseInt(_0x1fe0ed(0x1e3))/0x6+-parseInt(_0x1fe0ed(0x1d2))/0x7*(-parseInt(_0x1fe0ed(0x1ce))/0x8)+-parseInt(_0x1fe0ed(0x1cf))/0x9*(-parseInt(_0x1fe0ed(0x1e1))/0xa)+parseInt(_0x1fe0ed(0x1d1))/0xb*(-parseInt(_0x1fe0ed(0x1d9))/0xc);if(_0x503897===_0x507b7e)break;else _0x270518['push'](_0x270518['shift']());}catch(_0x2b863c){_0x270518['push'](_0x270518['shift']());}}}(a28_0x8905,0x1b804));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x570fbe){const _0x216f0f=a28_0x325e;if(_0x570fbe['length']===0x0){console[_0x216f0f(0x1d8)](_0x216f0f(0x1d5));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x216f0f(0x1dd)),_0x570fbe['forEach']((_0x18a699,_0x9b81b)=>{const _0x2e4e22=_0x216f0f,_0x145581=new Date(_0x18a699['timestamp'])['toLocaleString'](_0x2e4e22(0x1d7)),_0x168070=_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1e2)?'√':_0x18a699[_0x2e4e22(0x1e0)]==='error'?'×':_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1df)?'!':'i';console['log'](_0x9b81b+0x1+'.\x20'+_0x168070+'\x20['+_0x18a699['command']+']\x20'+_0x18a699['message']),console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1cb)+_0x145581),_0x18a699['duration']&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1e8)+_0x18a699[_0x2e4e22(0x1e7)]+'ms'),_0x18a699[_0x2e4e22(0x1d0)]&&Object['keys'](_0x18a699[_0x2e4e22(0x1d0)])[_0x2e4e22(0x1cc)]>0x0&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1d4)+JSON[_0x2e4e22(0x1d3)](_0x18a699[_0x2e4e22(0x1d0)],null,0x2)),console[_0x2e4e22(0x1d8)]('');});}function a28_0x8905(){const _0x180cfb=['read','2yMKJGD','\x20logs:\x0a','clear','warn','level','1179270sVmZuw','success','396120Pjbomu','1089bFBhPZ','write','*\x20Logs\x20cleared','duration','\x20\x20\x20Duration:\x20','104586zUuqSq','1680zMcQzt','View\x20command\x20history\x20logs','\x20\x20\x20Time:\x20','length','Clear\x20command\x20history\x20logs','272NgFvuY','9WuOcbx','details','22NfMhMc','8323NLmCBM','stringify','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','logs','en-US','log','183576Gzjnsz','1030695GjNYbn'];a28_0x8905=function(){return _0x180cfb;};return a28_0x8905();}export const logsDefinitions=[{'service':a28_0xa57254(0x1d6),'command':'show','description':a28_0xa57254(0x1ca),'risk':a28_0xa57254(0x1db),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2e97b4){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':a28_0xa57254(0x1de),'description':a28_0xa57254(0x1cd),'risk':a28_0xa57254(0x1e5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5c2bb){const _0x435500=a28_0xa57254;return logger['clearLogs'](),console[_0x435500(0x1d8)](_0x435500(0x1e6)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x6bebd8=a29_0x56a8;(function(_0x4d2e26,_0x4f1a2d){const _0x4222a4=a29_0x56a8,_0x42a9be=_0x4d2e26();while(!![]){try{const _0x1dbd09=-parseInt(_0x4222a4(0x10a))/0x1+-parseInt(_0x4222a4(0xdf))/0x2*(parseInt(_0x4222a4(0x108))/0x3)+parseInt(_0x4222a4(0xdb))/0x4+-parseInt(_0x4222a4(0xec))/0x5*(parseInt(_0x4222a4(0xf5))/0x6)+parseInt(_0x4222a4(0xea))/0x7*(-parseInt(_0x4222a4(0xe3))/0x8)+-parseInt(_0x4222a4(0x107))/0x9*(parseInt(_0x4222a4(0xfb))/0xa)+parseInt(_0x4222a4(0x109))/0xb;if(_0x1dbd09===_0x4f1a2d)break;else _0x42a9be['push'](_0x42a9be['shift']());}catch(_0x4462aa){_0x42a9be['push'](_0x42a9be['shift']());}}}(a29_0x4f61,0x5a0d7));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x56a8(_0x363bef,_0x1625a6){_0x363bef=_0x363bef-0xdb;const _0x4f61f1=a29_0x4f61();let _0x56a872=_0x4f61f1[_0x363bef];return _0x56a872;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':'string','description':a29_0x6bebd8(0x10b)},FUNCTION_NAME_FLAG={'name':a29_0x6bebd8(0xeb),'type':'string','required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x6bebd8(0xfa),'type':a29_0x6bebd8(0x10c),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a29_0x6bebd8(0x10c),'description':a29_0x6bebd8(0xf1)};function a29_0x4f61(){const _0x41180e=['/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','21114BdLIob','360729xLiuJJ','30497038KJXbeF','687940uSHOOy','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','string','config','scriptType','Personal\x20BFF\x20script\x20ID','File\x20path\x20is\x20required.','test','write','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','validation','Created\x20personal\x20BFF\x20','source-session-id','Preview:\x20create\x20personal\x20BFF\x20','functionName','read','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','scriptContent','Executed\x20personal\x20BFF\x20','836428OyQmHw','length','POST','Preview:\x20update\x20personal\x20BFF\x20','6AkYEAa','appCode','isFile','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','684832pCopmK','file','version','update','personal-bff','params','Updated\x20personal\x20BFF\x20','56CHOwpL','name','65TAOlgj','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','keys','build','/update','Optional\x20source\x20RuntimeAgent\x20session\x20id','trim','detail','exec','207642gVNxVG','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','str','verbose','gmtModified','description','1830fuqUOi','map','Personal\x20BFF\x20script\x20file\x20is\x20blank.','num','Show\x20one\x20personal\x20BFF\x20by\x20id','body','high-risk-write','updateTime','File\x20not\x20found:\x20','flag'];a29_0x4f61=function(){return _0x41180e;};return a29_0x4f61();}function normalizeFunctionName(_0x539f31){const _0x21d6c4=a29_0x6bebd8,_0xf07abf=String(_0x539f31||'')['trim']();if(!_0xf07abf||!FUNCTION_NAME_PATTERN[_0x21d6c4(0x111)](_0xf07abf))throw CliErrors[_0x21d6c4(0x114)](_0x21d6c4(0xf6));return _0xf07abf;}function readScriptFile(_0x527886){const _0x24c075=a29_0x6bebd8;if(!_0x527886)throw CliErrors['validation'](_0x24c075(0x110));if(!existsSync(_0x527886))throw CliErrors['validation'](_0x24c075(0x103)+_0x527886);if(!statSync(_0x527886)[_0x24c075(0xe1)]())throw CliErrors[_0x24c075(0x114)](_0x24c075(0x106)+_0x527886);const _0x2d93a5=readFileSync(_0x527886,'utf8');if(!_0x2d93a5['trim']())throw CliErrors[_0x24c075(0x114)](_0x24c075(0xfd));return _0x2d93a5;}function optionalTrimmed(_0x738d39){const _0x4fe2e5=a29_0x6bebd8,_0xe91baa=String(_0x738d39||'')[_0x4fe2e5(0xf2)]();return _0xe91baa||undefined;}function summarizeBff(_0x3fcf07){const _0x4af295=a29_0x6bebd8;return{'id':_0x3fcf07['id'],'appCode':_0x3fcf07[_0x4af295(0xe0)],'functionName':_0x3fcf07[_0x4af295(0x118)],'description':_0x3fcf07['description'],'scriptType':_0x3fcf07[_0x4af295(0x10e)],'version':_0x3fcf07[_0x4af295(0xe5)],'gmtModified':_0x3fcf07[_0x4af295(0xf9)],'updateTime':_0x3fcf07[_0x4af295(0x102)]};}function detailBff(_0x26db88){const _0x349a62=a29_0x6bebd8;return{'id':_0x26db88['id'],'appCode':_0x26db88[_0x349a62(0xe0)],'functionName':_0x26db88[_0x349a62(0x118)],'description':_0x26db88[_0x349a62(0xfa)],'scriptType':_0x26db88[_0x349a62(0x10e)],'scriptContent':_0x26db88[_0x349a62(0x11b)]??'','config':_0x26db88[_0x349a62(0x10d)],'version':_0x26db88[_0x349a62(0xe5)],'createUserId':_0x26db88['createUserId'],'gmtCreate':_0x26db88['gmtCreate'],'gmtModified':_0x26db88['gmtModified'],'createTime':_0x26db88['createTime'],'updateTime':_0x26db88[_0x349a62(0x102)]};}function buildCreateInput(_0x18a629){const _0x441084=a29_0x6bebd8;return{'functionName':normalizeFunctionName(_0x18a629[_0x441084(0xf7)](_0x441084(0xeb))),...optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0xfa)))?{'description':optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0xfa)))}:{},'scriptContent':readScriptFile(_0x18a629[_0x441084(0xf7)](_0x441084(0xe4))),...optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0x116)))?{'sourceSessionId':optionalTrimmed(_0x18a629[_0x441084(0xf7)](_0x441084(0x116)))}:{}};}function buildUpdateInput(_0x35062d){const _0x16acfc=a29_0x6bebd8,_0x338835={};optionalTrimmed(_0x35062d[_0x16acfc(0xf7)](_0x16acfc(0xeb)))&&(_0x338835[_0x16acfc(0x118)]=normalizeFunctionName(_0x35062d[_0x16acfc(0xf7)]('name')));_0x35062d['flag'](_0x16acfc(0xfa))!==undefined&&(_0x338835['description']=_0x35062d[_0x16acfc(0xf7)](_0x16acfc(0xfa)));optionalTrimmed(_0x35062d['str'](_0x16acfc(0xe4)))&&(_0x338835[_0x16acfc(0x11b)]=readScriptFile(_0x35062d['str']('file')));_0x35062d[_0x16acfc(0x104)](_0x16acfc(0x116))!==undefined&&(_0x338835['sourceSessionId']=_0x35062d[_0x16acfc(0xf7)]('source-session-id'));if(Object[_0x16acfc(0xee)](_0x338835)[_0x16acfc(0xdc)]===0x0)throw CliErrors[_0x16acfc(0x114)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x338835;}function parseExecParams(_0x14d561){const _0xa9ea93=a29_0x6bebd8,_0x79e991=parseJsonParams(_0x14d561)??{};if(Array['isArray'](_0x79e991))throw CliErrors[_0xa9ea93(0x114)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x79e991;}const personalBffList={'service':a29_0x6bebd8(0xe7),'command':'list','description':a29_0x6bebd8(0xe2),'risk':a29_0x6bebd8(0x119),'flags':[VERBOSE_FLAG],async 'execute'(_0x37c6ff){const _0x38339e=a29_0x6bebd8,_0x5a989a=await listPersonalBffs(_0x37c6ff[_0x38339e(0xe0)]);return{'ok':!![],'data':{'total':_0x5a989a[_0x38339e(0xdc)],'items':_0x37c6ff['bool'](_0x38339e(0xf8))?_0x5a989a:_0x5a989a[_0x38339e(0xfc)](summarizeBff)}};}},personalBffDetail={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xf3),'description':a29_0x6bebd8(0xff),'risk':a29_0x6bebd8(0x119),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x14f0bf){const _0x1fe406=a29_0x6bebd8,_0x1ba14e=await getPersonalBff(_0x14f0bf[_0x1fe406(0xfe)]('id'),_0x14f0bf[_0x1fe406(0xe0)]);return{'ok':!![],'data':detailBff(_0x1ba14e)};}},personalBffCreate={'service':'personal-bff','command':'create','description':a29_0x6bebd8(0x11a),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2fe07b){const _0x55fe22=a29_0x6bebd8,_0xd08dde=buildCreateInput(_0x2fe07b),_0x2c8ac7=await createPersonalBff(_0x2fe07b[_0x55fe22(0xe0)],_0xd08dde);return{'ok':!![],'data':detailBff(_0x2c8ac7),'message':_0x55fe22(0x115)+_0x2c8ac7['id']+(_0x2c8ac7[_0x55fe22(0x118)]?'\x20('+_0x2c8ac7[_0x55fe22(0x118)]+')':'')};},async 'dryRun'(_0x301daf){const _0x2320ec=a29_0x6bebd8,_0x5557c0=buildCreateInput(_0x301daf);return dryRun('POST','/client/runtime-bff/personal/create')[_0x2320ec(0x100)]({'appCode':_0x301daf['appCode'],..._0x5557c0})[_0x2320ec(0xfa)](_0x2320ec(0x117)+_0x5557c0[_0x2320ec(0x118)])[_0x2320ec(0xef)]();}},personalBffUpdate={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xe6),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x6bebd8(0x112),'flags':[{...ID_FLAG,'description':a29_0x6bebd8(0x10f)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23a5ac){const _0x108614=a29_0x6bebd8,_0x3077bc=_0x23a5ac['num']('id'),_0x1d6f20=buildUpdateInput(_0x23a5ac),_0x122e34=await updatePersonalBff(_0x3077bc,_0x23a5ac[_0x108614(0xe0)],_0x1d6f20);return{'ok':!![],'data':detailBff(_0x122e34),'message':_0x108614(0xe9)+_0x122e34['id']+(_0x122e34[_0x108614(0x118)]?'\x20('+_0x122e34['functionName']+')':'')};},async 'dryRun'(_0x33182f){const _0x58589c=a29_0x6bebd8,_0x411a61=_0x33182f[_0x58589c(0xfe)]('id'),_0x8624cd=buildUpdateInput(_0x33182f);return dryRun(_0x58589c(0xdd),_0x58589c(0x105)+_0x411a61+_0x58589c(0xf0))[_0x58589c(0x100)]({'appCode':_0x33182f[_0x58589c(0xe0)],..._0x8624cd})[_0x58589c(0xfa)](_0x58589c(0xde)+_0x411a61)[_0x58589c(0xef)]();}},personalBffExec={'service':a29_0x6bebd8(0xe7),'command':a29_0x6bebd8(0xf4),'description':a29_0x6bebd8(0x113),'risk':a29_0x6bebd8(0x101),'flags':[{...ID_FLAG,'description':a29_0x6bebd8(0x10f)},{...PARAMS_FLAG,'description':a29_0x6bebd8(0xed)}],async 'validate'(_0x2faa09){const _0x5f5c1a=a29_0x6bebd8;parseExecParams(_0x2faa09[_0x5f5c1a(0xf7)](_0x5f5c1a(0xe8)));},async 'execute'(_0x272463){const _0x663d26=a29_0x6bebd8,_0x1d0519=_0x272463[_0x663d26(0xfe)]('id'),_0x4a6ecd=parseExecParams(_0x272463[_0x663d26(0xf7)](_0x663d26(0xe8))),_0x59e2e2=await executePersonalBff(_0x1d0519,_0x272463[_0x663d26(0xe0)],_0x4a6ecd);return{'ok':!![],'data':{'result':_0x59e2e2},'message':_0x663d26(0x11c)+_0x1d0519};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0x1e7bf6=a29_0xd742;(function(_0x276048,_0x51c2d6){const _0x12f590=a29_0xd742,_0x27b7fa=_0x276048();while(!![]){try{const _0x255bba=-parseInt(_0x12f590(0xf1))/0x1+-parseInt(_0x12f590(0xd9))/0x2*(parseInt(_0x12f590(0xd2))/0x3)+parseInt(_0x12f590(0xe4))/0x4+parseInt(_0x12f590(0xd0))/0x5+-parseInt(_0x12f590(0x105))/0x6*(-parseInt(_0x12f590(0xf3))/0x7)+-parseInt(_0x12f590(0x101))/0x8*(-parseInt(_0x12f590(0xea))/0x9)+-parseInt(_0x12f590(0xdb))/0xa;if(_0x255bba===_0x51c2d6)break;else _0x27b7fa['push'](_0x27b7fa['shift']());}catch(_0x5a1bcf){_0x27b7fa['push'](_0x27b7fa['shift']());}}}(a29_0x5466,0x766af));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x1e7bf6(0xfb),'type':'string','description':a29_0x1e7bf6(0xc6)},FUNCTION_NAME_FLAG={'name':a29_0x1e7bf6(0xfa),'type':a29_0x1e7bf6(0x106),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x1e7bf6(0x104),'type':a29_0x1e7bf6(0x106),'description':a29_0x1e7bf6(0xf9)},SOURCE_SESSION_FLAG={'name':a29_0x1e7bf6(0xc8),'type':a29_0x1e7bf6(0x106),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x1cda75){const _0x5d79f2=a29_0x1e7bf6,_0x1e2767=String(_0x1cda75||'')[_0x5d79f2(0xc7)]();if(!_0x1e2767||!FUNCTION_NAME_PATTERN[_0x5d79f2(0xd5)](_0x1e2767))throw CliErrors['validation'](_0x5d79f2(0xfe));return _0x1e2767;}function readScriptFile(_0x102dbb){const _0x11c35d=a29_0x1e7bf6;if(!_0x102dbb)throw CliErrors['validation'](_0x11c35d(0xef));if(!existsSync(_0x102dbb))throw CliErrors[_0x11c35d(0xda)]('File\x20not\x20found:\x20'+_0x102dbb);if(!statSync(_0x102dbb)[_0x11c35d(0xe2)]())throw CliErrors['validation'](_0x11c35d(0xf4)+_0x102dbb);const _0x5edfc2=readFileSync(_0x102dbb,'utf8');if(!_0x5edfc2['trim']())throw CliErrors[_0x11c35d(0xda)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x5edfc2;}function optionalTrimmed(_0x37d286){const _0xe7c7cf=a29_0x1e7bf6,_0x51d54a=String(_0x37d286||'')[_0xe7c7cf(0xc7)]();return _0x51d54a||undefined;}function a29_0xd742(_0x2498f4,_0x38a096){_0x2498f4=_0x2498f4-0xc5;const _0x54660e=a29_0x5466();let _0xd74253=_0x54660e[_0x2498f4];return _0xd74253;}function summarizeBff(_0x587ca0){const _0x541a2e=a29_0x1e7bf6;return{'id':_0x587ca0['id'],'appCode':_0x587ca0['appCode'],'functionName':_0x587ca0[_0x541a2e(0xce)],'description':_0x587ca0['description'],'scriptType':_0x587ca0['scriptType'],'version':_0x587ca0[_0x541a2e(0xe1)],'gmtModified':_0x587ca0['gmtModified'],'updateTime':_0x587ca0[_0x541a2e(0xed)]};}function detailBff(_0x3338e3){const _0x5a3f71=a29_0x1e7bf6;return{'id':_0x3338e3['id'],'appCode':_0x3338e3[_0x5a3f71(0xf5)],'functionName':_0x3338e3[_0x5a3f71(0xce)],'description':_0x3338e3[_0x5a3f71(0x104)],'scriptType':_0x3338e3[_0x5a3f71(0xca)],'scriptContent':_0x3338e3[_0x5a3f71(0xee)]??'','config':_0x3338e3[_0x5a3f71(0xf6)],'version':_0x3338e3['version'],'createUserId':_0x3338e3[_0x5a3f71(0xcb)],'gmtCreate':_0x3338e3[_0x5a3f71(0xd8)],'gmtModified':_0x3338e3[_0x5a3f71(0xcc)],'createTime':_0x3338e3[_0x5a3f71(0xf7)],'updateTime':_0x3338e3[_0x5a3f71(0xed)]};}function buildCreateInput(_0x11ac60){const _0x2af60f=a29_0x1e7bf6;return{'functionName':normalizeFunctionName(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfa))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0x104)))?{'description':optionalTrimmed(_0x11ac60['str']('description'))}:{},'scriptContent':readScriptFile(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfb))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))?{'sourceSessionId':optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))}:{}};}function buildUpdateInput(_0x51b8f7){const _0x441d12=a29_0x1e7bf6,_0x6860f7={};optionalTrimmed(_0x51b8f7['str'](_0x441d12(0xfa)))&&(_0x6860f7[_0x441d12(0xce)]=normalizeFunctionName(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfa))));_0x51b8f7[_0x441d12(0x102)](_0x441d12(0x104))!==undefined&&(_0x6860f7[_0x441d12(0x104)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0x104)));optionalTrimmed(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb)))&&(_0x6860f7[_0x441d12(0xee)]=readScriptFile(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb))));_0x51b8f7['flag'](_0x441d12(0xc8))!==undefined&&(_0x6860f7[_0x441d12(0xec)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xc8)));if(Object[_0x441d12(0xf8)](_0x6860f7)[_0x441d12(0xd7)]===0x0)throw CliErrors['validation'](_0x441d12(0xdd));return _0x6860f7;}function parseExecParams(_0x1ec2b3){const _0x3aa73c=a29_0x1e7bf6,_0x53d1ec=parseJsonParams(_0x1ec2b3)??{};if(Array['isArray'](_0x53d1ec))throw CliErrors[_0x3aa73c(0xda)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x53d1ec;}const personalBffList={'service':a29_0x1e7bf6(0x100),'command':'list','description':a29_0x1e7bf6(0xe7),'risk':a29_0x1e7bf6(0xe0),'flags':[VERBOSE_FLAG],async 'execute'(_0x17f6f6){const _0x3f4f49=a29_0x1e7bf6,_0x54ffaf=await listPersonalBffs(_0x17f6f6[_0x3f4f49(0xf5)]);return{'ok':!![],'data':{'total':_0x54ffaf[_0x3f4f49(0xd7)],'items':_0x17f6f6[_0x3f4f49(0xcf)](_0x3f4f49(0xe6))?_0x54ffaf:_0x54ffaf[_0x3f4f49(0xe8)](summarizeBff)}};}},personalBffDetail={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xcd),'description':a29_0x1e7bf6(0xd1),'risk':a29_0x1e7bf6(0xe0),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x5c1cfe){const _0x229479=a29_0x1e7bf6,_0x167ac7=await getPersonalBff(_0x5c1cfe[_0x229479(0xc5)]('id'),_0x5c1cfe[_0x229479(0xf5)]);return{'ok':!![],'data':detailBff(_0x167ac7)};}},personalBffCreate={'service':a29_0x1e7bf6(0x100),'command':'create','description':a29_0x1e7bf6(0x103),'risk':a29_0x1e7bf6(0xeb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x54eec1){const _0x1525dc=a29_0x1e7bf6,_0x2d6f9e=buildCreateInput(_0x54eec1),_0x12b1e=await createPersonalBff(_0x54eec1[_0x1525dc(0xf5)],_0x2d6f9e);return{'ok':!![],'data':detailBff(_0x12b1e),'message':'Created\x20personal\x20BFF\x20'+_0x12b1e['id']+(_0x12b1e[_0x1525dc(0xce)]?'\x20('+_0x12b1e[_0x1525dc(0xce)]+')':'')};},async 'dryRun'(_0xfd7b2){const _0x7685ad=a29_0x1e7bf6,_0x497bd1=buildCreateInput(_0xfd7b2);return dryRun('POST','/client/runtime-bff/personal/create')['body']({'appCode':_0xfd7b2['appCode'],..._0x497bd1})['description'](_0x7685ad(0xe9)+_0x497bd1[_0x7685ad(0xce)])[_0x7685ad(0xd6)]();}},personalBffUpdate={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xf0),'description':a29_0x1e7bf6(0xdc),'risk':a29_0x1e7bf6(0xeb),'flags':[{...ID_FLAG,'description':a29_0x1e7bf6(0xd4)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3de79d){const _0x49a35e=a29_0x1e7bf6,_0x6ac71=_0x3de79d[_0x49a35e(0xc5)]('id'),_0xac9f6f=buildUpdateInput(_0x3de79d),_0x523b59=await updatePersonalBff(_0x6ac71,_0x3de79d[_0x49a35e(0xf5)],_0xac9f6f);return{'ok':!![],'data':detailBff(_0x523b59),'message':_0x49a35e(0xff)+_0x523b59['id']+(_0x523b59[_0x49a35e(0xce)]?'\x20('+_0x523b59[_0x49a35e(0xce)]+')':'')};},async 'dryRun'(_0x516905){const _0x274054=a29_0x1e7bf6,_0x3c4360=_0x516905[_0x274054(0xc5)]('id'),_0x400ae3=buildUpdateInput(_0x516905);return dryRun(_0x274054(0xd3),_0x274054(0xdf)+_0x3c4360+'/update')['body']({'appCode':_0x516905[_0x274054(0xf5)],..._0x400ae3})['description'](_0x274054(0xe3)+_0x3c4360)['build']();}},personalBffExec={'service':a29_0x1e7bf6(0x100),'command':'exec','description':a29_0x1e7bf6(0xe5),'risk':a29_0x1e7bf6(0xfc),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x1e7bf6(0xc9)}],async 'validate'(_0x452026){const _0x1858b5=a29_0x1e7bf6;parseExecParams(_0x452026[_0x1858b5(0xde)](_0x1858b5(0xfd)));},async 'execute'(_0x1afec1){const _0x6ba0a2=a29_0x1e7bf6,_0x1fd649=_0x1afec1[_0x6ba0a2(0xc5)]('id'),_0x59396a=parseExecParams(_0x1afec1[_0x6ba0a2(0xde)](_0x6ba0a2(0xfd))),_0x5f424=await executePersonalBff(_0x1fd649,_0x1afec1[_0x6ba0a2(0xf5)],_0x59396a);return{'ok':!![],'data':{'result':_0x5f424},'message':_0x6ba0a2(0xf2)+_0x1fd649};}};function a29_0x5466(){const _0x252218=['appCode','config','createTime','keys','Personal\x20BFF\x20description','name','file','high-risk-write','params','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Updated\x20personal\x20BFF\x20','personal-bff','6664gtBkvL','flag','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','description','156666kTlhYY','string','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','trim','source-session-id','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','scriptType','createUserId','gmtModified','detail','functionName','bool','2530895YovHVU','Show\x20one\x20personal\x20BFF\x20by\x20id','9rgWCyw','POST','Personal\x20BFF\x20script\x20ID','test','build','length','gmtCreate','558336fZWSAh','validation','2026710mXHuZA','Update\x20a\x20personal\x20BFF\x20by\x20id','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','str','/client/runtime-bff/personal/','read','version','isFile','Preview:\x20update\x20personal\x20BFF\x20','1068940lyEaYQ','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','map','Preview:\x20create\x20personal\x20BFF\x20','9189gQusBQ','write','sourceSessionId','updateTime','scriptContent','File\x20path\x20is\x20required.','update','751468hOUpOu','Executed\x20personal\x20BFF\x20','175RwJGHv','File\x20is\x20not\x20a\x20regular\x20file:\x20'];a29_0x5466=function(){return _0x252218;};return a29_0x5466();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x22ea79=a30_0x5a67;(function(_0x2b98cb,_0x49ae21){const _0x52bdc1=a30_0x5a67,_0x95f2e2=_0x2b98cb();while(!![]){try{const _0x3639d5=parseInt(_0x52bdc1(0x196))/0x1*(-parseInt(_0x52bdc1(0x195))/0x2)+parseInt(_0x52bdc1(0x19e))/0x3*(-parseInt(_0x52bdc1(0x192))/0x4)+-parseInt(_0x52bdc1(0x181))/0x5*(parseInt(_0x52bdc1(0x186))/0x6)+parseInt(_0x52bdc1(0x19b))/0x7*(parseInt(_0x52bdc1(0x19a))/0x8)+parseInt(_0x52bdc1(0x198))/0x9*(parseInt(_0x52bdc1(0x182))/0xa)+-parseInt(_0x52bdc1(0x19d))/0xb+parseInt(_0x52bdc1(0x18a))/0xc;if(_0x3639d5===_0x49ae21)break;else _0x95f2e2['push'](_0x95f2e2['shift']());}catch(_0x5443e8){_0x95f2e2['push'](_0x95f2e2['shift']());}}}(a30_0x5494,0x682b2));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';function a30_0x5a67(_0x474ff1,_0x23ad1f){_0x474ff1=_0x474ff1-0x180;const _0x5494c8=a30_0x5494();let _0x5a6793=_0x5494c8[_0x474ff1];return _0x5a6793;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x278906){const _0x32e5ef=a30_0x5a67;for(const _0x5e3cc2 of _0x278906){definitions[_0x32e5ef(0x194)](_0x5e3cc2['service']+':'+_0x5e3cc2[_0x32e5ef(0x1a9)],_0x5e3cc2);let _0x101e6a=serviceGroups['get'](_0x5e3cc2[_0x32e5ef(0x18b)]);!_0x101e6a&&(_0x101e6a=[],serviceGroups['set'](_0x5e3cc2['service'],_0x101e6a)),_0x101e6a['push'](_0x5e3cc2);}}function a30_0x5494(){const _0xb56a87=['Skills','Datasets','command','Diagnostics','Instant\x20API','120SHCTxx','1810Woiwhq','App\x20Management','map','Knowledge\x20Base','134274xvXtyP','list','install','SQL\x20Queries','16852152tpxeCo','service','Schema','\x20\x20[write]','isSingleCommand','description','write','run','18320JRBUDO','from','set','3478IvBunt','296RTHaYT','values','37980DWknbU','CLI\x20Built-in\x20Skill','8ZRSUdc','1132026fRnZUE','defaultCommand','1757690UhBbFf','453esCfoI','Configuration','Artifacts','get','risk','Authentication','\x20\x20[high-risk-write]','Workspace','has'];a30_0x5494=function(){return _0xb56a87;};return a30_0x5494();}function registerService(_0x55e989,_0x3c43ee,_0x38347a){const _0x246895=a30_0x5a67;registerDefinitions(_0x3c43ee);const _0x174f34=_0x56fb10=>_0x56fb10==='read'?'':_0x56fb10===_0x246895(0x190)?_0x246895(0x18d):_0x246895(0x1a4),_0x41d48d={'service':_0x3c43ee[0x0]['service'],'label':_0x55e989,'commands':_0x3c43ee[_0x246895(0x184)](_0x53554f=>({'command':_0x53554f[_0x246895(0x1a9)],'description':_0x53554f[_0x246895(0x18f)],'tag':_0x174f34(_0x53554f[_0x246895(0x1a2)])})),'defaultCommand':_0x38347a?.[_0x246895(0x19c)]??(_0x38347a?.[_0x246895(0x18e)]?_0x3c43ee[0x0]['command']:undefined),'isSingleCommand':_0x38347a?.[_0x246895(0x18e)]};serviceRegistry['push'](_0x41d48d),serviceByName[_0x246895(0x194)](_0x41d48d[_0x246895(0x18b)],_0x41d48d);}registerService(a30_0x22ea79(0x1a3),authDefinitions,{'defaultCommand':'login'}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x22ea79(0x1a8),datasetDefinitions),registerService(a30_0x22ea79(0x180),dataDefinitions),registerService(a30_0x22ea79(0x189),sqlDefinitions),registerService('BFF\x20Scripts',bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x22ea79(0x1a0),artifactDefinitions),registerService(a30_0x22ea79(0x185),kbDefinitions),registerService(a30_0x22ea79(0x183),appDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService(a30_0x22ea79(0x1a5),workspaceDefinitions),registerService(a30_0x22ea79(0x19f),configDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a30_0x22ea79(0x187)}),registerService(a30_0x22ea79(0x1a7),skillDefinitions,{'defaultCommand':a30_0x22ea79(0x188)}),registerService(a30_0x22ea79(0x199),cliSkillDefinitions,{'defaultCommand':a30_0x22ea79(0x188)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a30_0x22ea79(0x191),'isSingleCommand':!![]}),registerService(a30_0x22ea79(0x1aa),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x22ea79(0x18c),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x446b1e,_0x678f95){const _0x1c222c=a30_0x22ea79;return definitions[_0x1c222c(0x1a1)](_0x446b1e+':'+_0x678f95);}export function isKnownService(_0x3b3553){const _0x5cf6e5=a30_0x22ea79;return serviceByName[_0x5cf6e5(0x1a6)](_0x3b3553);}export function getServiceEntry(_0x5f0745){return serviceByName['get'](_0x5f0745);}export function getAllDefinitions(){const _0x1f3cff=a30_0x22ea79;return Array[_0x1f3cff(0x193)](definitions[_0x1f3cff(0x197)]());}
1
+ const a30_0x574147=a30_0x1470;(function(_0x409616,_0x264a1d){const _0x12b23d=a30_0x1470,_0x2ea631=_0x409616();while(!![]){try{const _0x500621=-parseInt(_0x12b23d(0x102))/0x1+-parseInt(_0x12b23d(0x106))/0x2*(-parseInt(_0x12b23d(0x10b))/0x3)+parseInt(_0x12b23d(0xf5))/0x4*(parseInt(_0x12b23d(0x112))/0x5)+-parseInt(_0x12b23d(0x116))/0x6*(parseInt(_0x12b23d(0x105))/0x7)+parseInt(_0x12b23d(0xf2))/0x8+-parseInt(_0x12b23d(0xfa))/0x9+parseInt(_0x12b23d(0xff))/0xa*(parseInt(_0x12b23d(0x103))/0xb);if(_0x500621===_0x264a1d)break;else _0x2ea631['push'](_0x2ea631['shift']());}catch(_0x299fdd){_0x2ea631['push'](_0x2ea631['shift']());}}}(a30_0x47b1,0x9fd1f));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';function a30_0x47b1(){const _0x59d3b6=['Service\x20Tree','Configuration','Skills','login','service','6395664NiVFTy','read','from','12VvwtcH','BFF\x20Scripts','description','App\x20Management','\x20\x20[high-risk-write]','8050356izzzDP','isSingleCommand','Personal\x20BFF','values','show','10eCrAZh','Knowledge\x20Base','Schema','1218637RIGbkC','13287494gMvvpG','Artifacts','1540bqodvl','2962JpYLhO','Workspace','list','get','\x20\x20[write]','1599RbchzS','API\x20Documentation','command','defaultCommand','write','Instant\x20API','push','1757065DKaXbx','Self\x20Update','install','Authentication','29544ybLqvX'];a30_0x47b1=function(){return _0x59d3b6;};return a30_0x47b1();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';function a30_0x1470(_0x25e444,_0x494957){_0x25e444=_0x25e444-0xf0;const _0x47b14b=a30_0x47b1();let _0x1470f4=_0x47b14b[_0x25e444];return _0x1470f4;}import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x207c45){const _0x189107=a30_0x1470;for(const _0x5f4c72 of _0x207c45){definitions['set'](_0x5f4c72[_0x189107(0xf1)]+':'+_0x5f4c72[_0x189107(0x10d)],_0x5f4c72);let _0x197a19=serviceGroups[_0x189107(0x109)](_0x5f4c72[_0x189107(0xf1)]);!_0x197a19&&(_0x197a19=[],serviceGroups['set'](_0x5f4c72[_0x189107(0xf1)],_0x197a19)),_0x197a19[_0x189107(0x111)](_0x5f4c72);}}function registerService(_0x5beefd,_0x258bff,_0x4e3621){const _0x286469=a30_0x1470;registerDefinitions(_0x258bff);const _0x4e0d50=_0x5da339=>_0x5da339===_0x286469(0xf3)?'':_0x5da339===_0x286469(0x10f)?_0x286469(0x10a):_0x286469(0xf9),_0x10b761={'service':_0x258bff[0x0]['service'],'label':_0x5beefd,'commands':_0x258bff['map'](_0x3b6b03=>({'command':_0x3b6b03[_0x286469(0x10d)],'description':_0x3b6b03[_0x286469(0xf7)],'tag':_0x4e0d50(_0x3b6b03['risk'])})),'defaultCommand':_0x4e3621?.[_0x286469(0x10e)]??(_0x4e3621?.[_0x286469(0xfb)]?_0x258bff[0x0]['command']:undefined),'isSingleCommand':_0x4e3621?.['isSingleCommand']};serviceRegistry[_0x286469(0x111)](_0x10b761),serviceByName['set'](_0x10b761[_0x286469(0xf1)],_0x10b761);}registerService(a30_0x574147(0x115),authDefinitions,{'defaultCommand':a30_0x574147(0xf0)}),registerService(a30_0x574147(0x10c),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x574147(0x110),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0x574147(0xf6),bffDefinitions),registerService(a30_0x574147(0xfc),personalBffDefinitions),registerService(a30_0x574147(0x104),artifactDefinitions),registerService(a30_0x574147(0x100),kbDefinitions),registerService(a30_0x574147(0xf8),appDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x107),workspaceDefinitions),registerService(a30_0x574147(0x118),configDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x117),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x574147(0x119),skillDefinitions,{'defaultCommand':'install'}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a30_0x574147(0x114)}),registerService(a30_0x574147(0x113),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x574147(0x101),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a30_0x574147(0xfe)});export function findDefinition(_0x412f81,_0x18e0c8){return definitions['get'](_0x412f81+':'+_0x18e0c8);}export function isKnownService(_0x2d41e6){return serviceByName['has'](_0x2d41e6);}export function getServiceEntry(_0x54a709){const _0x33fe0d=a30_0x574147;return serviceByName[_0x33fe0d(0x109)](_0x54a709);}export function getAllDefinitions(){const _0x3a5f06=a30_0x574147;return Array[_0x3a5f06(0xf4)](definitions[_0x3a5f06(0xfd)]());}
@@ -1 +1 @@
1
- function a31_0x3531(_0xb404a8,_0x1e7bd9){_0xb404a8=_0xb404a8-0x1e8;const _0x3cd45f=a31_0x3cd4();let _0x3531f2=_0x3cd45f[_0xb404a8];return _0x3531f2;}const a31_0x3bfceb=a31_0x3531;(function(_0x37846a,_0x103cf6){const _0x4daff8=a31_0x3531,_0x397604=_0x37846a();while(!![]){try{const _0x3fe8b1=parseInt(_0x4daff8(0x1ec))/0x1*(-parseInt(_0x4daff8(0x1eb))/0x2)+parseInt(_0x4daff8(0x1e8))/0x3*(-parseInt(_0x4daff8(0x1e9))/0x4)+parseInt(_0x4daff8(0x1ef))/0x5*(parseInt(_0x4daff8(0x1f3))/0x6)+-parseInt(_0x4daff8(0x1ea))/0x7*(parseInt(_0x4daff8(0x1f4))/0x8)+-parseInt(_0x4daff8(0x1ee))/0x9+-parseInt(_0x4daff8(0x1f1))/0xa+parseInt(_0x4daff8(0x1f0))/0xb;if(_0x3fe8b1===_0x103cf6)break;else _0x397604['push'](_0x397604['shift']());}catch(_0x4195f8){_0x397604['push'](_0x397604['shift']());}}}(a31_0x3cd4,0xba277));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xf1411b){const _0x117629=await buildSchemaPayload();return{'ok':!![],'data':_0x117629};}export const schemaDefinition={'service':a31_0x3bfceb(0x1f2),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a31_0x3bfceb(0x1ed),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x3cd4(){const _0x4321a5=['schema','1446uRGtXj','312ctROlN','171uJHCcw','3716sDCvnY','176659CvmgsI','1114rKJhtM','134WsTYWb','read','11885535WdRdcw','27815MfBhdV','30241970zMIXQb','8950170ipFRUY'];a31_0x3cd4=function(){return _0x4321a5;};return a31_0x3cd4();}
1
+ const a31_0x396ffb=a31_0x24be;(function(_0xd22157,_0x49e4a2){const _0x590c16=a31_0x24be,_0x498887=_0xd22157();while(!![]){try{const _0x4e82c6=-parseInt(_0x590c16(0x1cb))/0x1*(parseInt(_0x590c16(0x1c7))/0x2)+-parseInt(_0x590c16(0x1c6))/0x3+parseInt(_0x590c16(0x1c5))/0x4+-parseInt(_0x590c16(0x1bf))/0x5+parseInt(_0x590c16(0x1ca))/0x6*(-parseInt(_0x590c16(0x1c9))/0x7)+-parseInt(_0x590c16(0x1c0))/0x8+parseInt(_0x590c16(0x1c1))/0x9;if(_0x4e82c6===_0x49e4a2)break;else _0x498887['push'](_0x498887['shift']());}catch(_0x4510d4){_0x498887['push'](_0x498887['shift']());}}}(a31_0x3c98,0xa4268));import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x3c98(){const _0x1b0ec6=['5644037tjjpoo','6lOUKtY','419yDXcwZ','236865hsVvyR','8881184YUmvTk','23108256WQXjdW','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','read','2407676vUkbKS','902358raUROP','1110zLqIsT','schema'];a31_0x3c98=function(){return _0x1b0ec6;};return a31_0x3c98();}function a31_0x24be(_0xbc4575,_0x15ede1){_0xbc4575=_0xbc4575-0x1bf;const _0x3c9859=a31_0x3c98();let _0x24be89=_0x3c9859[_0xbc4575];return _0x24be89;}async function execute(_0x5043b1){const _0x181b9c=await buildSchemaPayload();return{'ok':!![],'data':_0x181b9c};}export const schemaDefinition={'service':a31_0x396ffb(0x1c8),'command':a31_0x396ffb(0x1c2),'description':a31_0x396ffb(0x1c3),'risk':a31_0x396ffb(0x1c4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- function a32_0xfa3e(_0x25aaa7,_0x5e1eab){_0x25aaa7=_0x25aaa7-0x17a;const _0x5b9140=a32_0x5b91();let _0xfa3e6b=_0x5b9140[_0x25aaa7];return _0xfa3e6b;}(function(_0x5a14e4,_0x3b093c){const _0x2444bb=a32_0xfa3e,_0x368830=_0x5a14e4();while(!![]){try{const _0x147dfe=parseInt(_0x2444bb(0x1d4))/0x1*(-parseInt(_0x2444bb(0x1c4))/0x2)+parseInt(_0x2444bb(0x1c3))/0x3*(-parseInt(_0x2444bb(0x1c1))/0x4)+-parseInt(_0x2444bb(0x1c5))/0x5*(-parseInt(_0x2444bb(0x1d2))/0x6)+-parseInt(_0x2444bb(0x17d))/0x7*(parseInt(_0x2444bb(0x199))/0x8)+-parseInt(_0x2444bb(0x1cf))/0x9+parseInt(_0x2444bb(0x182))/0xa+parseInt(_0x2444bb(0x18d))/0xb;if(_0x147dfe===_0x3b093c)break;else _0x368830['push'](_0x368830['shift']());}catch(_0x5e8d5a){_0x368830['push'](_0x368830['shift']());}}}(a32_0x5b91,0x724d5));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a32_0x5b91(){const _0x38fa94=['remainingArgs','entries','code','appRef','6410619UsNtHs','sql','appCode','906aUVSJb','bffId','312KxMWxr','service','json','map','fromEntries','required','target','7ImKWkf','mapTo','Run\x20service\x20command\x20','bffCode','scriptName','2944510pJGopy','push','\x20\x20\x20\x20command:\x20','appBindings','`\x20to\x20inspect\x20the\x20manifest.','flatMap','read','const','flags','description','appcode','16744827YNZWlh','username','command','\x22\x20in\x20service\x20command\x20','Unknown\x20appRef\x20\x22','userId','source','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','env','\x20\x20\x20\x20scriptName:\x20','now','userName','6453256vNPnzt','\x20\x20SERVICE\x20TREE\x20TARGET','\x20completed\x20in\x20','\x20requires\x20target.sqlCode.','\x20service\x20detail\x20--service\x20','validation','operator','string','kind','datatable','risk','default','join','Commands:','padEnd','filter','data','loginName','Preview\x20dynamic\x20service\x20command:\x20','\x20requires\x20target.scriptName.','commands','bff','cliName','datasetCode','normalizedManifest','\x20\x20\x20\x20datatable:\x20','envName','length','cliPath','context.','name','find','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','params','sqlCode','startsWith','slice','\x20\x20\x20\x20sqlCode:\x20','Service\x20command\x20','4ZyMTkJ','app','123393faWUOB','634DUbRJh','10280oMtBbr','fullPath','args','trim','tree','\x20\x20\x20\x20kind:\x20\x20\x20\x20'];a32_0x5b91=function(){return _0x38fa94;};return a32_0x5b91();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2cd3fc,_0x857631){const _0x198195=a32_0xfa3e,_0x5dfaff=listLocalServiceTrees();let _0x4cb544;for(const _0x572036 of _0x5dfaff){const _0x11ac27=matchServiceTreeCommand(_0x572036,_0x2cd3fc);if(!_0x11ac27)continue;(!_0x4cb544||_0x11ac27[_0x198195(0x18f)][_0x198195(0x1c6)][_0x198195(0x1b4)]>_0x4cb544[_0x198195(0x18f)][_0x198195(0x1c6)][_0x198195(0x1b4)])&&(_0x4cb544={'tree':_0x572036,'command':_0x11ac27[_0x198195(0x18f)],'remainingArgs':_0x11ac27[_0x198195(0x1cb)]});}if(!_0x4cb544)return undefined;const _0x62c7d2={..._0x857631};return applyAppBinding(_0x4cb544[_0x198195(0x1c9)],_0x4cb544[_0x198195(0x18f)],_0x62c7d2),{'definition':buildDynamicCommandDefinition(_0x4cb544['tree'],_0x4cb544[_0x198195(0x18f)]),'args':_0x4cb544[_0x198195(0x1cb)],'flags':_0x62c7d2,'tree':_0x4cb544[_0x198195(0x1c9)],'command':_0x4cb544['command']};}export function generateDynamicServiceHelp(_0x591dca){const _0x2768b1=a32_0xfa3e,_0x548477=listLocalServiceTrees()[_0x2768b1(0x1b8)](_0xef4928=>_0xef4928[_0x2768b1(0x1d5)][_0x2768b1(0x1cd)]===_0x591dca);if(!_0x548477)return undefined;const _0x3679e1=[CLI_BIN_NAME+'\x20'+_0x591dca+'\x20<command>\x20[flags]','',_0x548477['service'][_0x2768b1(0x1b7)]||_0x591dca,_0x548477[_0x2768b1(0x1d5)][_0x2768b1(0x18b)]?'\x20\x20'+_0x548477[_0x2768b1(0x1d5)][_0x2768b1(0x18b)]:'','',_0x2768b1(0x1a6),..._0x548477[_0x2768b1(0x1ad)][_0x2768b1(0x1d7)](_0x315a4f=>{const _0x5ddbf9=_0x2768b1,_0x57ebb6=_0x315a4f[_0x5ddbf9(0x1c6)][_0x5ddbf9(0x1be)](0x1)['join']('\x20'),_0x360b6c=_0x315a4f['risk']===_0x5ddbf9(0x188)?'':'\x20['+_0x315a4f['risk']+']';return'\x20\x20'+_0x57ebb6[_0x5ddbf9(0x1a7)](0x18)+'\x20'+(_0x315a4f[_0x5ddbf9(0x18b)]||'')+_0x360b6c;}),'','Use\x20`'+CLI_BIN_NAME+_0x2768b1(0x19d)+_0x591dca+_0x2768b1(0x186)][_0x2768b1(0x1a8)](Boolean);return _0x3679e1['join']('\x0a');}export function listDynamicServiceEntries(){const _0x863b38=a32_0xfa3e;return listLocalServices()[_0x863b38(0x1d7)](_0x41648a=>{const _0x58b5b3=_0x863b38,_0xcefb68=_0x41648a[_0x58b5b3(0x1b1)];return{'service':_0xcefb68['service'][_0x58b5b3(0x1cd)],'label':_0xcefb68[_0x58b5b3(0x1d5)][_0x58b5b3(0x1b7)]||_0xcefb68[_0x58b5b3(0x1d5)][_0x58b5b3(0x1cd)],'commands':_0xcefb68[_0x58b5b3(0x1ad)]['map'](_0x449899=>({'command':dynamicCommandName(_0x449899),'description':_0x449899[_0x58b5b3(0x18b)]||_0x58b5b3(0x17f)+_0x449899[_0x58b5b3(0x1b5)],'tag':riskTag(_0x449899['risk'])}))};});}export function getDynamicServiceEntry(_0x2e305a){const _0x441eda=a32_0xfa3e;return listDynamicServiceEntries()[_0x441eda(0x1b8)](_0x392a13=>_0x392a13['service']===_0x2e305a);}export function listDynamicServiceDefinitions(_0x569495){const _0x4522fc=a32_0xfa3e;return listLocalServiceTrees()['filter'](_0x4f235b=>!_0x569495||_0x4f235b['service'][_0x4522fc(0x1cd)]===_0x569495)[_0x4522fc(0x187)](_0x30ccf2=>_0x30ccf2[_0x4522fc(0x1ad)][_0x4522fc(0x1d7)](_0x314e15=>buildDynamicCommandDefinition(_0x30ccf2,_0x314e15)));}export function getDynamicServiceDefinitions(_0x4d1afa){const _0x21e7b4=a32_0xfa3e,_0x1df47a=listDynamicServiceDefinitions(_0x4d1afa);return _0x1df47a[_0x21e7b4(0x1b4)]>0x0?_0x1df47a:undefined;}export function findDynamicServiceDefinition(_0x44d8e3,_0x429733){const _0x3bcfe9=a32_0xfa3e;return listDynamicServiceDefinitions(_0x44d8e3)[_0x3bcfe9(0x1b8)](_0xa3334f=>_0xa3334f['command']===_0x429733);}export function buildDynamicCommandDefinition(_0xe54943,_0x5a5511){const _0x167b24=a32_0xfa3e;return{'service':_0xe54943[_0x167b24(0x1d5)]['code'],'command':dynamicCommandName(_0x5a5511),'description':_0x5a5511[_0x167b24(0x18b)]||_0x167b24(0x17f)+_0x5a5511[_0x167b24(0x1b5)],'risk':_0x5a5511[_0x167b24(0x1a3)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5a5511[_0x167b24(0x1c7)]['map'](_0x7cca75=>({'name':_0x7cca75[_0x167b24(0x1b7)],'description':_0x7cca75[_0x167b24(0x18b)]||_0x7cca75['name'],'required':_0x7cca75[_0x167b24(0x17b)]})),'flags':_0x5a5511[_0x167b24(0x18a)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5a5511),async 'dryRun'(_0x2c2128){const _0x55563b=_0x167b24,_0x29d66b=await compilePlan(_0x5a5511,_0x2c2128);return{'method':'SERVICE_TREE','url':_0x5a5511[_0x55563b(0x1b5)],'body':{'target':targetPreview(_0x29d66b),'params':_0x29d66b[_0x55563b(0x1bb)]},'description':_0x55563b(0x1ab)+_0x5a5511['cliPath']};},async 'execute'(_0x1e6b08){const _0x30afae=_0x167b24,_0x4306da=await compilePlan(_0x5a5511,_0x1e6b08),_0x5ebb30=Date[_0x30afae(0x197)](),_0x2d11af=await executePlan(_0x4306da,_0x5a5511,_0x1e6b08),_0x35ed78=Date[_0x30afae(0x197)]()-_0x5ebb30;return{'ok':!![],'data':{'service':_0xe54943[_0x30afae(0x1d5)],'command':_0x5a5511['cliPath'],'target':targetPreview(_0x4306da),'result':_0x2d11af,'elapsed':_0x35ed78},'message':_0x30afae(0x1c0)+_0x5a5511[_0x30afae(0x1b5)]+_0x30afae(0x19b)+_0x35ed78+'ms'};}};}function dynamicCommandName(_0x5f212b){const _0x44e31a=a32_0xfa3e;return _0x5f212b[_0x44e31a(0x1c6)][_0x44e31a(0x1be)](0x1)[_0x44e31a(0x1a5)]('\x20');}function riskTag(_0x4b663e){const _0x31a52b=a32_0xfa3e;return _0x4b663e===_0x31a52b(0x188)?'':'\x20\x20['+_0x4b663e+']';}function flagToCommandFlag(_0x90792){const _0x218773=a32_0xfa3e;return{'name':_0x90792[_0x218773(0x1af)],'type':_0x90792['type']===_0x218773(0x1d6)?'string':_0x90792['type'],'description':_0x90792[_0x218773(0x18b)]||_0x90792[_0x218773(0x1b7)],'required':_0x90792[_0x218773(0x17b)],'default':isPrimitiveFlagDefault(_0x90792['default'])?_0x90792[_0x218773(0x1a4)]:undefined,'enum':_0x90792['enum']};}async function compilePlan(_0xd02e52,_0x571886){const _0x28d449=a32_0xfa3e;return compileServiceTreeCommand(_0xd02e52,{'flags':_0x571886['rawFlags'],'args':_0x571886[_0x28d449(0x1c7)],'context':await buildServiceContext(_0xd02e52,_0x571886)});}async function buildServiceContext(_0x1ed17c,_0x255bc3){const _0x4ffe86=a32_0xfa3e,_0x4588b9={'appCode':_0x255bc3['appCode'],'env':_0x255bc3[_0x4ffe86(0x1b3)],'envName':_0x255bc3[_0x4ffe86(0x1b3)]};if(!usesRuntimeContext(_0x1ed17c))return _0x4588b9;const _0x443cca=await getLoginUserInfo(),_0x5a0572=pickFirst(_0x443cca[_0x4ffe86(0x192)],_0x443cca['id']);return{..._0x4588b9,'user':_0x443cca,'userId':_0x5a0572,'id':_0x443cca['id'],'username':pickFirst(_0x443cca[_0x4ffe86(0x18e)],_0x443cca[_0x4ffe86(0x198)],_0x443cca[_0x4ffe86(0x1aa)]),'userName':_0x443cca[_0x4ffe86(0x198)],'nickname':pickFirst(_0x443cca['nickname'],_0x443cca['nickName']),'nickName':_0x443cca['nickName'],'tenantCode':_0x443cca['tenantCode'],'employeeId':_0x443cca['employeeId']};}function usesRuntimeContext(_0x14cc82){const _0x2f71a4=a32_0xfa3e;return _0x14cc82[_0x2f71a4(0x17e)]['some'](_0x556ce9=>typeof _0x556ce9[_0x2f71a4(0x193)]===_0x2f71a4(0x1a0)&&(_0x556ce9[_0x2f71a4(0x193)][_0x2f71a4(0x1bd)](_0x2f71a4(0x1b6))||_0x556ce9[_0x2f71a4(0x193)][_0x2f71a4(0x1bd)]('ctx.')));}function pickFirst(..._0x5f203c){const _0x2c121e=a32_0xfa3e;return _0x5f203c[_0x2c121e(0x1b8)](_0x29b189=>_0x29b189!==undefined&&_0x29b189!==null);}async function executePlan(_0x1f6295,_0x3c340b,_0x30a6b1){const _0x3197c2=a32_0xfa3e;if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1a9)){const _0x180558=await resolveDatasetCode(_0x1f6295,_0x3c340b,_0x30a6b1);return executeData(_0x180558,_0x1f6295[_0x3197c2(0x18f)],_0x1f6295[_0x3197c2(0x1bb)]);}if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1d0)){if(!_0x1f6295[_0x3197c2(0x1bc)])throw CliErrors[_0x3197c2(0x19e)](_0x3197c2(0x1c0)+_0x3c340b[_0x3197c2(0x1b5)]+_0x3197c2(0x19c));return executeSdkSql(_0x1f6295[_0x3197c2(0x1bc)],normalizeScalarParams(_0x1f6295[_0x3197c2(0x1bb)]));}if(_0x1f6295[_0x3197c2(0x1a1)]===_0x3197c2(0x1ae)){const _0x4bb922=_0x1f6295[_0x3197c2(0x181)]||_0x1f6295[_0x3197c2(0x180)]||(_0x1f6295['bffId']==null?'':String(_0x1f6295[_0x3197c2(0x1d3)]));if(!_0x4bb922)throw CliErrors['validation'](_0x3197c2(0x1c0)+_0x3c340b['cliPath']+_0x3197c2(0x1ac));return executeSdkBff(_0x4bb922,_0x1f6295['params']);}throw CliErrors[_0x3197c2(0x19e)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x1f6295[_0x3197c2(0x1a1)]);}async function resolveDatasetCode(_0x3f9769,_0x22ad54,_0x3aa49a){const _0x2be7be=a32_0xfa3e;if(_0x3f9769[_0x2be7be(0x1b0)])return _0x3f9769[_0x2be7be(0x1b0)];if(!_0x3f9769[_0x2be7be(0x1a2)])throw CliErrors[_0x2be7be(0x19e)]('Service\x20command\x20'+_0x22ad54['cliPath']+_0x2be7be(0x194));const _0x2a1921=await listDatasets(_0x3aa49a['appCode']),_0x17016d=_0x2a1921[_0x2be7be(0x1b8)](_0x2f8a44=>_0x2f8a44['dbtableConfig']?.['tableName']===_0x3f9769[_0x2be7be(0x1a2)]);if(!_0x17016d?.[_0x2be7be(0x1cd)])throw CliErrors['validation']('Cannot\x20resolve\x20datatable\x20\x22'+_0x3f9769[_0x2be7be(0x1a2)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x3aa49a[_0x2be7be(0x1d1)]+'.',_0x2be7be(0x1b9));return _0x17016d[_0x2be7be(0x1cd)];}function applyAppBinding(_0xb0bd5b,_0x1f5cd6,_0x1a7caa){const _0x29148a=a32_0xfa3e,_0x1a3d2e=_0x1f5cd6[_0x29148a(0x17c)][_0x29148a(0x1ce)];if(!_0x1a3d2e)return;const _0x1a5e45=_0xb0bd5b[_0x29148a(0x185)][_0x1a3d2e];if(!_0x1a5e45)throw CliErrors[_0x29148a(0x19e)](_0x29148a(0x191)+_0x1a3d2e+_0x29148a(0x190)+_0x1f5cd6[_0x29148a(0x1b5)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x54c860=_0x1a5e45[_0x29148a(0x18c)]||_0x1a5e45['appCode'];_0x54c860&&!hasText(_0x1a7caa[_0x29148a(0x18c)])&&(_0x1a7caa[_0x29148a(0x18c)]=_0x54c860),_0x1a5e45[_0x29148a(0x1c2)]&&!hasText(_0x1a7caa['app'])&&!hasText(_0x1a7caa[_0x29148a(0x18c)])&&(_0x1a7caa[_0x29148a(0x1c2)]=_0x1a5e45['app']),_0x1a5e45[_0x29148a(0x195)]&&!hasText(_0x1a7caa[_0x29148a(0x195)])&&(_0x1a7caa[_0x29148a(0x195)]=_0x1a5e45['env']);}function renderDynamicCommandHelp(_0x165164){const _0x862623=a32_0xfa3e,_0x3a50de=[_0x862623(0x19a),_0x862623(0x1ca)+_0x165164[_0x862623(0x17c)][_0x862623(0x1a1)],_0x862623(0x184)+_0x165164[_0x862623(0x17c)][_0x862623(0x18f)]];if(_0x165164[_0x862623(0x17c)][_0x862623(0x1b0)])_0x3a50de[_0x862623(0x183)]('\x20\x20\x20\x20datasetCode:\x20'+_0x165164[_0x862623(0x17c)]['datasetCode']);if(_0x165164[_0x862623(0x17c)][_0x862623(0x1a2)])_0x3a50de[_0x862623(0x183)](_0x862623(0x1b2)+_0x165164['target']['datatable']);if(_0x165164['target'][_0x862623(0x1bc)])_0x3a50de[_0x862623(0x183)](_0x862623(0x1bf)+_0x165164[_0x862623(0x17c)][_0x862623(0x1bc)]);if(_0x165164[_0x862623(0x17c)]['scriptName'])_0x3a50de['push'](_0x862623(0x196)+_0x165164[_0x862623(0x17c)][_0x862623(0x181)]);if(_0x165164[_0x862623(0x17e)][_0x862623(0x1b4)]>0x0){_0x3a50de[_0x862623(0x183)]('','\x20\x20MAP\x20TO');for(const _0x4c50c0 of _0x165164[_0x862623(0x17e)]){_0x3a50de[_0x862623(0x183)]('\x20\x20\x20\x20'+(_0x4c50c0[_0x862623(0x193)]||_0x862623(0x189))+'\x20->\x20'+_0x4c50c0[_0x862623(0x17c)]+(_0x4c50c0[_0x862623(0x19f)]?'.'+_0x4c50c0[_0x862623(0x19f)]:''));}}return _0x3a50de[_0x862623(0x1a5)]('\x0a');}function targetPreview(_0x24eb14){const _0x475a60=a32_0xfa3e;return{'kind':_0x24eb14[_0x475a60(0x1a1)],'command':_0x24eb14[_0x475a60(0x18f)],'appRef':_0x24eb14[_0x475a60(0x1ce)],'datasetCode':_0x24eb14[_0x475a60(0x1b0)],'datatable':_0x24eb14[_0x475a60(0x1a2)],'sqlCode':_0x24eb14[_0x475a60(0x1bc)],'bffCode':_0x24eb14[_0x475a60(0x180)],'bffId':_0x24eb14[_0x475a60(0x1d3)],'scriptName':_0x24eb14[_0x475a60(0x181)]};}function normalizeScalarParams(_0xaf617d){const _0x111332=a32_0xfa3e;return Object[_0x111332(0x17a)](Object[_0x111332(0x1cc)](_0xaf617d)[_0x111332(0x1a8)](([,_0x1ee1cd])=>typeof _0x1ee1cd===_0x111332(0x1a0)||typeof _0x1ee1cd===_0x111332(0x1ba)));}function hasText(_0x259c8a){const _0x3d27ab=a32_0xfa3e;return typeof _0x259c8a==='string'&&_0x259c8a[_0x3d27ab(0x1c8)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x1fbdba){const _0x424cdf=a32_0xfa3e;return _0x1fbdba===undefined||typeof _0x1fbdba===_0x424cdf(0x1a0)||typeof _0x1fbdba===_0x424cdf(0x1ba)||typeof _0x1fbdba==='boolean';}
1
+ (function(_0x4d1dde,_0x576131){const _0x17bd78=a32_0x19a7,_0x50a9a0=_0x4d1dde();while(!![]){try{const _0x35f0e6=parseInt(_0x17bd78(0x19f))/0x1+parseInt(_0x17bd78(0x1f0))/0x2*(-parseInt(_0x17bd78(0x1a7))/0x3)+parseInt(_0x17bd78(0x1c8))/0x4*(-parseInt(_0x17bd78(0x1d9))/0x5)+parseInt(_0x17bd78(0x1a8))/0x6+parseInt(_0x17bd78(0x1a9))/0x7*(-parseInt(_0x17bd78(0x1ed))/0x8)+-parseInt(_0x17bd78(0x1e3))/0x9+parseInt(_0x17bd78(0x1a0))/0xa;if(_0x35f0e6===_0x576131)break;else _0x50a9a0['push'](_0x50a9a0['shift']());}catch(_0x513039){_0x50a9a0['push'](_0x50a9a0['shift']());}}}(a32_0xd77a,0x7b47c));function a32_0x19a7(_0x2284fe,_0x568835){_0x2284fe=_0x2284fe-0x196;const _0xd77ad3=a32_0xd77a();let _0x19a7e7=_0xd77ad3[_0x2284fe];return _0x19a7e7;}import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f999e,_0x29befc){const _0x64674c=a32_0x19a7,_0x152b2d=listLocalServiceTrees();let _0x41dabc;for(const _0x38a130 of _0x152b2d){const _0x478ca7=matchServiceTreeCommand(_0x38a130,_0x4f999e);if(!_0x478ca7)continue;(!_0x41dabc||_0x478ca7[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)]>_0x41dabc[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)])&&(_0x41dabc={'tree':_0x38a130,'command':_0x478ca7[_0x64674c(0x1db)],'remainingArgs':_0x478ca7[_0x64674c(0x1da)]});}if(!_0x41dabc)return undefined;const _0x7eb3ad={..._0x29befc};return applyAppBinding(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc['command'],_0x7eb3ad),{'definition':buildDynamicCommandDefinition(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc[_0x64674c(0x1db)]),'args':_0x41dabc[_0x64674c(0x1da)],'flags':_0x7eb3ad,'tree':_0x41dabc[_0x64674c(0x1c0)],'command':_0x41dabc['command']};}export function generateDynamicServiceHelp(_0x26a88e){const _0x32eb88=a32_0x19a7,_0x49c7d1=listLocalServiceTrees()['find'](_0x3989c7=>_0x3989c7['service']['code']===_0x26a88e);if(!_0x49c7d1)return undefined;const _0x56d227=[CLI_BIN_NAME+'\x20'+_0x26a88e+'\x20<command>\x20[flags]','',_0x49c7d1[_0x32eb88(0x1eb)][_0x32eb88(0x196)]||_0x26a88e,_0x49c7d1['service'][_0x32eb88(0x1c3)]?'\x20\x20'+_0x49c7d1[_0x32eb88(0x1eb)]['description']:'','',_0x32eb88(0x1f5),..._0x49c7d1[_0x32eb88(0x1ae)]['map'](_0x2c5eee=>{const _0x4274b5=_0x32eb88,_0x2eb4d5=_0x2c5eee[_0x4274b5(0x1df)][_0x4274b5(0x1de)](0x1)[_0x4274b5(0x1ee)]('\x20'),_0x54dd9c=_0x2c5eee[_0x4274b5(0x1cc)]==='read'?'':'\x20['+_0x2c5eee[_0x4274b5(0x1cc)]+']';return'\x20\x20'+_0x2eb4d5[_0x4274b5(0x1b9)](0x18)+'\x20'+(_0x2c5eee[_0x4274b5(0x1c3)]||'')+_0x54dd9c;}),'',_0x32eb88(0x1e4)+CLI_BIN_NAME+_0x32eb88(0x1dc)+_0x26a88e+_0x32eb88(0x1a3)][_0x32eb88(0x198)](Boolean);return _0x56d227[_0x32eb88(0x1ee)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x4337e5=>{const _0x3bd040=a32_0x19a7,_0x165e07=_0x4337e5[_0x3bd040(0x1a6)];return{'service':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'label':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x196)]||_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'commands':_0x165e07[_0x3bd040(0x1ae)][_0x3bd040(0x1b4)](_0x2b1fd0=>({'command':dynamicCommandName(_0x2b1fd0),'description':_0x2b1fd0[_0x3bd040(0x1c3)]||_0x3bd040(0x1c7)+_0x2b1fd0[_0x3bd040(0x19a)],'tag':riskTag(_0x2b1fd0[_0x3bd040(0x1cc)])}))};});}export function getDynamicServiceEntry(_0x28d023){const _0x3bcc42=a32_0x19a7;return listDynamicServiceEntries()[_0x3bcc42(0x1bc)](_0x11c90d=>_0x11c90d[_0x3bcc42(0x1eb)]===_0x28d023);}export function listDynamicServiceDefinitions(_0x57fae5){const _0x1b6f42=a32_0x19a7;return listLocalServiceTrees()[_0x1b6f42(0x198)](_0x21efa1=>!_0x57fae5||_0x21efa1['service'][_0x1b6f42(0x1b7)]===_0x57fae5)[_0x1b6f42(0x1d7)](_0x1fdb1a=>_0x1fdb1a[_0x1b6f42(0x1ae)][_0x1b6f42(0x1b4)](_0x4870b6=>buildDynamicCommandDefinition(_0x1fdb1a,_0x4870b6)));}function a32_0xd77a(){const _0x37400c=['datatable','loginName','risk','ctx.','\x20\x20\x20\x20command:\x20','json','source','appRef','Service\x20command\x20','params','boolean','\x20requires\x20target.scriptName.','entries','flatMap','\x20\x20\x20\x20datatable:\x20','310195ivkZKp','remainingArgs','command','\x20service\x20detail\x20--service\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','slice','fullPath','string','bff','app','6308163SEnlht','Use\x20`','default','mapTo','sql','nickname','env','scriptName','service','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','23096ytvDQk','join','tableName','1282oQtrhm','some','startsWith','username','rawFlags','Commands:','Cannot\x20resolve\x20datatable\x20\x22','name','required','filter','args','cliPath','target','bffId','envName','appCode','24573AmUJFw','18983550WipHXh','sqlCode','Unknown\x20appRef\x20\x22','`\x20to\x20inspect\x20the\x20manifest.','kind','now','normalizedManifest','363LbFSLQ','3756972muIJwu','1715IznsTH','bffCode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','length','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','commands','userId','\x20->\x20','operator','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20datasetCode:\x20','map','push','appcode','code','\x20\x20[','padEnd','userName','enum','find','appBindings','employeeId','Unsupported\x20service\x20target\x20kind:\x20','tree','type','tenantCode','description','validation','datasetCode','SERVICE_TREE','Run\x20service\x20command\x20','36ZsqmRX','number'];a32_0xd77a=function(){return _0x37400c;};return a32_0xd77a();}export function getDynamicServiceDefinitions(_0x38f070){const _0x248366=a32_0x19a7,_0x4a8e25=listDynamicServiceDefinitions(_0x38f070);return _0x4a8e25[_0x248366(0x1ac)]>0x0?_0x4a8e25:undefined;}export function findDynamicServiceDefinition(_0x23254d,_0x47da91){const _0x5b7705=a32_0x19a7;return listDynamicServiceDefinitions(_0x23254d)[_0x5b7705(0x1bc)](_0x9c4970=>_0x9c4970['command']===_0x47da91);}export function buildDynamicCommandDefinition(_0x43564f,_0x1a04e6){const _0x18aeae=a32_0x19a7;return{'service':_0x43564f[_0x18aeae(0x1eb)]['code'],'command':dynamicCommandName(_0x1a04e6),'description':_0x1a04e6[_0x18aeae(0x1c3)]||_0x18aeae(0x1c7)+_0x1a04e6[_0x18aeae(0x19a)],'risk':_0x1a04e6[_0x18aeae(0x1cc)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1a04e6[_0x18aeae(0x199)][_0x18aeae(0x1b4)](_0x20b4bd=>({'name':_0x20b4bd[_0x18aeae(0x196)],'description':_0x20b4bd[_0x18aeae(0x1c3)]||_0x20b4bd['name'],'required':_0x20b4bd[_0x18aeae(0x197)]})),'flags':_0x1a04e6['flags']['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1a04e6),async 'dryRun'(_0x3686c3){const _0x4d0d7b=_0x18aeae,_0x5eecde=await compilePlan(_0x1a04e6,_0x3686c3);return{'method':_0x4d0d7b(0x1c6),'url':_0x1a04e6[_0x4d0d7b(0x19a)],'body':{'target':targetPreview(_0x5eecde),'params':_0x5eecde[_0x4d0d7b(0x1d3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x1a04e6[_0x4d0d7b(0x19a)]};},async 'execute'(_0x59b285){const _0x52bdeb=_0x18aeae,_0xa8d669=await compilePlan(_0x1a04e6,_0x59b285),_0x3918ba=Date[_0x52bdeb(0x1a5)](),_0x40d123=await executePlan(_0xa8d669,_0x1a04e6,_0x59b285),_0x531545=Date[_0x52bdeb(0x1a5)]()-_0x3918ba;return{'ok':!![],'data':{'service':_0x43564f[_0x52bdeb(0x1eb)],'command':_0x1a04e6[_0x52bdeb(0x19a)],'target':targetPreview(_0xa8d669),'result':_0x40d123,'elapsed':_0x531545},'message':_0x52bdeb(0x1d2)+_0x1a04e6['cliPath']+'\x20completed\x20in\x20'+_0x531545+'ms'};}};}function dynamicCommandName(_0x21a9a9){const _0x3d1276=a32_0x19a7;return _0x21a9a9[_0x3d1276(0x1df)][_0x3d1276(0x1de)](0x1)['join']('\x20');}function riskTag(_0x3bcc06){const _0x29fd10=a32_0x19a7;return _0x3bcc06==='read'?'':_0x29fd10(0x1b8)+_0x3bcc06+']';}function flagToCommandFlag(_0xe0d264){const _0x182e1a=a32_0x19a7;return{'name':_0xe0d264['cliName'],'type':_0xe0d264[_0x182e1a(0x1c1)]===_0x182e1a(0x1cf)?'string':_0xe0d264['type'],'description':_0xe0d264[_0x182e1a(0x1c3)]||_0xe0d264['name'],'required':_0xe0d264[_0x182e1a(0x197)],'default':isPrimitiveFlagDefault(_0xe0d264[_0x182e1a(0x1e5)])?_0xe0d264[_0x182e1a(0x1e5)]:undefined,'enum':_0xe0d264[_0x182e1a(0x1bb)]};}async function compilePlan(_0x38ce09,_0x5522f3){const _0x27c791=a32_0x19a7;return compileServiceTreeCommand(_0x38ce09,{'flags':_0x5522f3[_0x27c791(0x1f4)],'args':_0x5522f3[_0x27c791(0x199)],'context':await buildServiceContext(_0x38ce09,_0x5522f3)});}async function buildServiceContext(_0x4e9664,_0x3ad403){const _0x5daf27=a32_0x19a7,_0x4d19df={'appCode':_0x3ad403['appCode'],'env':_0x3ad403[_0x5daf27(0x19d)],'envName':_0x3ad403[_0x5daf27(0x19d)]};if(!usesRuntimeContext(_0x4e9664))return _0x4d19df;const _0x4707a9=await getLoginUserInfo(),_0x4c3b8e=pickFirst(_0x4707a9[_0x5daf27(0x1af)],_0x4707a9['id']);return{..._0x4d19df,'user':_0x4707a9,'userId':_0x4c3b8e,'id':_0x4707a9['id'],'username':pickFirst(_0x4707a9[_0x5daf27(0x1f3)],_0x4707a9['userName'],_0x4707a9[_0x5daf27(0x1cb)]),'userName':_0x4707a9[_0x5daf27(0x1ba)],'nickname':pickFirst(_0x4707a9[_0x5daf27(0x1e8)],_0x4707a9['nickName']),'nickName':_0x4707a9['nickName'],'tenantCode':_0x4707a9[_0x5daf27(0x1c2)],'employeeId':_0x4707a9[_0x5daf27(0x1be)]};}function usesRuntimeContext(_0x295943){const _0x15fda8=a32_0x19a7;return _0x295943[_0x15fda8(0x1e6)][_0x15fda8(0x1f1)](_0x224562=>typeof _0x224562['source']===_0x15fda8(0x1e0)&&(_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)]('context.')||_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)](_0x15fda8(0x1cd))));}function pickFirst(..._0x5250cf){const _0x323edf=a32_0x19a7;return _0x5250cf[_0x323edf(0x1bc)](_0x31fa19=>_0x31fa19!==undefined&&_0x31fa19!==null);}async function executePlan(_0x506025,_0x18d66d,_0x38ff01){const _0x3d0cf4=a32_0x19a7;if(_0x506025[_0x3d0cf4(0x1a4)]==='data'){const _0x108c86=await resolveDatasetCode(_0x506025,_0x18d66d,_0x38ff01);return executeData(_0x108c86,_0x506025['command'],_0x506025[_0x3d0cf4(0x1d3)]);}if(_0x506025['kind']===_0x3d0cf4(0x1e7)){if(!_0x506025[_0x3d0cf4(0x1a1)])throw CliErrors[_0x3d0cf4(0x1c4)]('Service\x20command\x20'+_0x18d66d['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x506025[_0x3d0cf4(0x1a1)],normalizeScalarParams(_0x506025[_0x3d0cf4(0x1d3)]));}if(_0x506025[_0x3d0cf4(0x1a4)]===_0x3d0cf4(0x1e1)){const _0x5312f7=_0x506025[_0x3d0cf4(0x1ea)]||_0x506025[_0x3d0cf4(0x1aa)]||(_0x506025[_0x3d0cf4(0x19c)]==null?'':String(_0x506025['bffId']));if(!_0x5312f7)throw CliErrors['validation'](_0x3d0cf4(0x1d2)+_0x18d66d['cliPath']+_0x3d0cf4(0x1d5));return executeSdkBff(_0x5312f7,_0x506025['params']);}throw CliErrors[_0x3d0cf4(0x1c4)](_0x3d0cf4(0x1bf)+_0x506025[_0x3d0cf4(0x1a4)]);}async function resolveDatasetCode(_0x4ce933,_0x4483e8,_0x320b04){const _0x4d206c=a32_0x19a7;if(_0x4ce933[_0x4d206c(0x1c5)])return _0x4ce933[_0x4d206c(0x1c5)];if(!_0x4ce933['datatable'])throw CliErrors['validation'](_0x4d206c(0x1d2)+_0x4483e8['cliPath']+_0x4d206c(0x1ab));const _0x3bc0d3=await listDatasets(_0x320b04[_0x4d206c(0x19e)]),_0x35b437=_0x3bc0d3[_0x4d206c(0x1bc)](_0x510412=>_0x510412['dbtableConfig']?.[_0x4d206c(0x1ef)]===_0x4ce933[_0x4d206c(0x1ca)]);if(!_0x35b437?.[_0x4d206c(0x1b7)])throw CliErrors['validation'](_0x4d206c(0x1f6)+_0x4ce933[_0x4d206c(0x1ca)]+_0x4d206c(0x1dd)+_0x320b04['appCode']+'.',_0x4d206c(0x1ad));return _0x35b437[_0x4d206c(0x1b7)];}function applyAppBinding(_0x21f81d,_0x31e225,_0xb1f202){const _0x1fdd2d=a32_0x19a7,_0x2b16f1=_0x31e225[_0x1fdd2d(0x19b)]['appRef'];if(!_0x2b16f1)return;const _0x4587e6=_0x21f81d[_0x1fdd2d(0x1bd)][_0x2b16f1];if(!_0x4587e6)throw CliErrors[_0x1fdd2d(0x1c4)](_0x1fdd2d(0x1a2)+_0x2b16f1+_0x1fdd2d(0x1b2)+_0x31e225[_0x1fdd2d(0x19a)]+'.',_0x1fdd2d(0x1ec));const _0x491a1d=_0x4587e6[_0x1fdd2d(0x1b6)]||_0x4587e6[_0x1fdd2d(0x19e)];_0x491a1d&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1b6)]=_0x491a1d),_0x4587e6[_0x1fdd2d(0x1e2)]&&!hasText(_0xb1f202['app'])&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1e2)]=_0x4587e6[_0x1fdd2d(0x1e2)]),_0x4587e6[_0x1fdd2d(0x1e9)]&&!hasText(_0xb1f202['env'])&&(_0xb1f202[_0x1fdd2d(0x1e9)]=_0x4587e6['env']);}function renderDynamicCommandHelp(_0x93c155){const _0x59728f=a32_0x19a7,_0x5d5ee2=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x93c155['target']['kind'],_0x59728f(0x1ce)+_0x93c155[_0x59728f(0x19b)]['command']];if(_0x93c155['target'][_0x59728f(0x1c5)])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1b3)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1c5)]);if(_0x93c155[_0x59728f(0x19b)]['datatable'])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1d8)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ca)]);if(_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1a1)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20sqlCode:\x20'+_0x93c155['target']['sqlCode']);if(_0x93c155['target'][_0x59728f(0x1ea)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20scriptName:\x20'+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ea)]);if(_0x93c155[_0x59728f(0x1e6)][_0x59728f(0x1ac)]>0x0){_0x5d5ee2[_0x59728f(0x1b5)]('','\x20\x20MAP\x20TO');for(const _0xfdedcc of _0x93c155[_0x59728f(0x1e6)]){_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20'+(_0xfdedcc[_0x59728f(0x1d0)]||'const')+_0x59728f(0x1b0)+_0xfdedcc['target']+(_0xfdedcc[_0x59728f(0x1b1)]?'.'+_0xfdedcc[_0x59728f(0x1b1)]:''));}}return _0x5d5ee2[_0x59728f(0x1ee)]('\x0a');}function targetPreview(_0x58dab7){const _0x1fafaa=a32_0x19a7;return{'kind':_0x58dab7[_0x1fafaa(0x1a4)],'command':_0x58dab7[_0x1fafaa(0x1db)],'appRef':_0x58dab7[_0x1fafaa(0x1d1)],'datasetCode':_0x58dab7[_0x1fafaa(0x1c5)],'datatable':_0x58dab7[_0x1fafaa(0x1ca)],'sqlCode':_0x58dab7[_0x1fafaa(0x1a1)],'bffCode':_0x58dab7[_0x1fafaa(0x1aa)],'bffId':_0x58dab7[_0x1fafaa(0x19c)],'scriptName':_0x58dab7[_0x1fafaa(0x1ea)]};}function normalizeScalarParams(_0x8bf9b){const _0xddca78=a32_0x19a7;return Object['fromEntries'](Object[_0xddca78(0x1d6)](_0x8bf9b)['filter'](([,_0x2a35f5])=>typeof _0x2a35f5===_0xddca78(0x1e0)||typeof _0x2a35f5===_0xddca78(0x1c9)));}function hasText(_0x49183b){const _0x15d48a=a32_0x19a7;return typeof _0x49183b==='string'&&_0x49183b['trim']()[_0x15d48a(0x1ac)]>0x0;}function isPrimitiveFlagDefault(_0x5a7c88){const _0x2ee102=a32_0x19a7;return _0x5a7c88===undefined||typeof _0x5a7c88===_0x2ee102(0x1e0)||typeof _0x5a7c88===_0x2ee102(0x1c9)||typeof _0x5a7c88===_0x2ee102(0x1d4);}
@@ -1 +1 @@
1
- const a33_0x47bb77=a33_0x2766;(function(_0x2016b6,_0x35b212){const _0x17bd08=a33_0x2766,_0x19e3b2=_0x2016b6();while(!![]){try{const _0x22a82d=-parseInt(_0x17bd08(0x1c5))/0x1*(parseInt(_0x17bd08(0x1e0))/0x2)+-parseInt(_0x17bd08(0x1ad))/0x3*(-parseInt(_0x17bd08(0x1b6))/0x4)+-parseInt(_0x17bd08(0x1b4))/0x5+parseInt(_0x17bd08(0x1d7))/0x6+-parseInt(_0x17bd08(0x1cf))/0x7+parseInt(_0x17bd08(0x1dd))/0x8+parseInt(_0x17bd08(0x1d8))/0x9;if(_0x22a82d===_0x35b212)break;else _0x19e3b2['push'](_0x19e3b2['shift']());}catch(_0x11b0b8){_0x19e3b2['push'](_0x19e3b2['shift']());}}}(a33_0x3df1,0x5fc91));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x47bb77(0x1e1),'required':!![],'description':a33_0x47bb77(0x1b5)},SERVICE_FLAG={'name':a33_0x47bb77(0x1a6),'type':'string','required':!![],'description':a33_0x47bb77(0x1c8),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x47bb77(0x1aa)}};function summarizeService(_0x3f473d){const _0x188c8b=a33_0x47bb77;return{'serviceCode':_0x3f473d[_0x188c8b(0x1af)],'name':_0x3f473d[_0x188c8b(0x1be)][_0x188c8b(0x1a6)][_0x188c8b(0x1e2)],'version':_0x3f473d['version'],'importedAt':_0x3f473d[_0x188c8b(0x1cb)],'source':_0x3f473d['source'],'commandCount':_0x3f473d[_0x188c8b(0x1be)]['commands'][_0x188c8b(0x1e7)],'commands':_0x3f473d[_0x188c8b(0x1be)][_0x188c8b(0x1bc)][_0x188c8b(0x1d3)](_0x59f251=>({'path':_0x59f251[_0x188c8b(0x1ae)],'description':_0x59f251[_0x188c8b(0x1df)],'risk':_0x59f251[_0x188c8b(0x1ba)],'target':_0x59f251[_0x188c8b(0x1bb)],'flags':_0x59f251['flags'][_0x188c8b(0x1d3)](_0x422d7b=>({'name':_0x422d7b[_0x188c8b(0x1e2)],'cliName':_0x422d7b['cliName'],'type':_0x422d7b[_0x188c8b(0x1c2)],'required':_0x422d7b[_0x188c8b(0x1b3)]===!![]}))}))};}function a33_0x2766(_0x33386b,_0x3bff49){_0x33386b=_0x33386b-0x1a1;const _0x3df1d0=a33_0x3df1();let _0x2766e3=_0x3df1d0[_0x33386b];return _0x2766e3;}function summarizeLoadedManifest(_0xb45c87){const _0x299e5e=a33_0x47bb77;return{'service':_0xb45c87[_0x299e5e(0x1be)]?.['service'],'version':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1d9)],'commandCount':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1bc)][_0x299e5e(0x1e7)]??0x0,'commands':_0xb45c87[_0x299e5e(0x1be)]?.[_0x299e5e(0x1bc)][_0x299e5e(0x1d3)](_0x5e0454=>({'path':_0x5e0454[_0x299e5e(0x1ae)],'risk':_0x5e0454[_0x299e5e(0x1ba)],'target':_0x5e0454['target']}))??[],'registryIndex':_0xb45c87[_0x299e5e(0x1c4)],'registryServiceCode':_0xb45c87[_0x299e5e(0x1c7)],'errors':_0xb45c87['report'][_0x299e5e(0x1cd)],'warnings':_0xb45c87[_0x299e5e(0x1b8)][_0x299e5e(0x1ca)]};}export const serviceDefinitions=[{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1a8),'description':a33_0x47bb77(0x1a5),'risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x5e2649){const _0x582d14=a33_0x47bb77,_0x4e85e5=loadServiceManifestFromFile(_0x5e2649['str'](_0x582d14(0x1c3)));if(!_0x4e85e5[_0x582d14(0x1b8)]['ok'])return{'ok':![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'serviceCount':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1e7)],'services':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1d3)](summarizeLoadedManifest),'errors':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1cd)],'warnings':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1ca)]},'message':formatValidationFailure(_0x4e85e5[_0x582d14(0x1b8)])};if(_0x4e85e5[_0x582d14(0x1c1)]===_0x582d14(0x1c9)||_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1e7)]!==0x1)return{'ok':!![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'serviceCount':_0x4e85e5['manifests'][_0x582d14(0x1e7)],'commandCount':_0x4e85e5[_0x582d14(0x1cc)]['reduce']((_0x55289a,_0x56e237)=>_0x55289a+(_0x56e237['normalizedManifest']?.['commands'][_0x582d14(0x1e7)]??0x0),0x0),'services':_0x4e85e5[_0x582d14(0x1cc)][_0x582d14(0x1d3)](summarizeLoadedManifest),'warnings':_0x4e85e5[_0x582d14(0x1b8)][_0x582d14(0x1ca)]},'message':_0x582d14(0x1bd)};return{'ok':!![],'data':{'file':_0x4e85e5[_0x582d14(0x1a1)],'hash':_0x4e85e5[_0x582d14(0x1db)],'kind':_0x4e85e5[_0x582d14(0x1c1)],'service':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1a6)],'version':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1d9)],'commandCount':_0x4e85e5[_0x582d14(0x1be)]?.[_0x582d14(0x1bc)]['length']??0x0,'commands':_0x4e85e5['normalizedManifest']?.[_0x582d14(0x1bc)][_0x582d14(0x1d3)](_0x2e7c75=>({'path':_0x2e7c75[_0x582d14(0x1ae)],'risk':_0x2e7c75[_0x582d14(0x1ba)],'target':_0x2e7c75[_0x582d14(0x1bb)]})),'warnings':_0x4e85e5['report'][_0x582d14(0x1ca)]},'message':_0x582d14(0x1ab)};}},{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1c6),'description':a33_0x47bb77(0x1c0),'risk':a33_0x47bb77(0x1d1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3e4496){const _0x27fd40=a33_0x47bb77,_0x456191=loadServiceManifestFromFile(_0x3e4496[_0x27fd40(0x1dc)](_0x27fd40(0x1c3)));return{'method':_0x27fd40(0x1b0),'url':getServiceRegistryPath(),'body':{'file':_0x456191[_0x27fd40(0x1a1)],'hash':_0x456191[_0x27fd40(0x1db)],'kind':_0x456191[_0x27fd40(0x1c1)],'ok':_0x456191[_0x27fd40(0x1b8)]['ok'],'service':_0x456191[_0x27fd40(0x1be)]?.[_0x27fd40(0x1a6)],'version':_0x456191[_0x27fd40(0x1be)]?.[_0x27fd40(0x1d9)],'serviceCount':_0x456191[_0x27fd40(0x1cc)][_0x27fd40(0x1e7)],'services':_0x456191['manifests'][_0x27fd40(0x1d3)](_0x2cb651=>({'service':_0x2cb651[_0x27fd40(0x1be)]?.[_0x27fd40(0x1a6)],'version':_0x2cb651[_0x27fd40(0x1be)]?.[_0x27fd40(0x1d9)],'commandCount':_0x2cb651['normalizedManifest']?.[_0x27fd40(0x1bc)][_0x27fd40(0x1e7)]??0x0,'errors':_0x2cb651[_0x27fd40(0x1b8)][_0x27fd40(0x1cd)]})),'errors':_0x456191[_0x27fd40(0x1b8)][_0x27fd40(0x1cd)],'commandCount':_0x456191['normalizedManifest']?.[_0x27fd40(0x1bc)][_0x27fd40(0x1e7)]??0x0},'description':_0x27fd40(0x1e6)};},async 'execute'(_0x31040d){const _0x1da91c=a33_0x47bb77,_0x755252=importServiceManifest(_0x31040d[_0x1da91c(0x1dc)](_0x1da91c(0x1c3)));if(_0x755252[_0x1da91c(0x1d6)][_0x1da91c(0x1e7)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x755252[_0x1da91c(0x1d5)],'imported':_0x755252[_0x1da91c(0x1a4)],'updated':_0x755252['updated'],'serviceCount':_0x755252[_0x1da91c(0x1e3)],'services':_0x755252[_0x1da91c(0x1d6)][_0x1da91c(0x1d3)](summarizeService)},'message':_0x1da91c(0x1bf)+_0x755252[_0x1da91c(0x1a4)]+_0x1da91c(0x1da)+_0x755252[_0x1da91c(0x1ac)]+_0x1da91c(0x1b7)};return{'ok':!![],'data':{'registryPath':_0x755252[_0x1da91c(0x1d5)],'replaced':_0x755252[_0x1da91c(0x1d2)],'imported':_0x755252['imported'],'updated':_0x755252[_0x1da91c(0x1ac)],'serviceCount':_0x755252[_0x1da91c(0x1e3)],'service':summarizeService(_0x755252[_0x1da91c(0x1e4)])},'message':(_0x755252[_0x1da91c(0x1d2)]?'Updated':'Imported')+_0x1da91c(0x1d4)+_0x755252[_0x1da91c(0x1e4)]['serviceCode']+'.'};}},{'service':a33_0x47bb77(0x1a6),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x47bb77(0x1d1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5ac926){const _0xaa9e1=a33_0x47bb77,_0x4ad52b=getLocalServiceEntry(_0x5ac926[_0xaa9e1(0x1dc)](_0xaa9e1(0x1a6)));return{'method':'WRITE','url':_0x5ac926[_0xaa9e1(0x1dc)](_0xaa9e1(0x1c3)),'body':{'service':_0x5ac926[_0xaa9e1(0x1dc)]('service'),'found':Boolean(_0x4ad52b),'version':_0x4ad52b?.[_0xaa9e1(0x1d9)],'source':_0x4ad52b?.[_0xaa9e1(0x1e5)]},'description':_0xaa9e1(0x1a7)};},async 'execute'(_0x12eef0){const _0x12fc02=a33_0x47bb77,_0x493d53=exportServiceManifest(_0x12eef0[_0x12fc02(0x1dc)](_0x12fc02(0x1a6)),_0x12eef0[_0x12fc02(0x1dc)](_0x12fc02(0x1c3)));return{'ok':!![],'data':{'registryPath':_0x493d53[_0x12fc02(0x1d5)],'file':_0x493d53[_0x12fc02(0x1a1)],'service':summarizeService(_0x493d53[_0x12fc02(0x1e4)])},'message':_0x12fc02(0x1b2)+_0x493d53[_0x12fc02(0x1e4)][_0x12fc02(0x1af)]+'.'};}},{'service':a33_0x47bb77(0x1a6),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x1f8570=a33_0x47bb77,_0x20888d=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x20888d[_0x1f8570(0x1e7)],'services':_0x20888d[_0x1f8570(0x1d3)](summarizeService)}};}},{'service':a33_0x47bb77(0x1a6),'command':a33_0x47bb77(0x1b9),'description':a33_0x47bb77(0x1ce),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x10c8b2){const _0x3f385f=a33_0x47bb77,_0x26d81e=getLocalServiceEntry(_0x10c8b2['str'](_0x3f385f(0x1a6)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x10c8b2[_0x3f385f(0x1dc)](_0x3f385f(0x1a6)),'found':Boolean(_0x26d81e),'version':_0x26d81e?.['version'],'source':_0x26d81e?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x2ac3f9){const _0x34b687=a33_0x47bb77,_0x27a7a1=removeServiceManifest(_0x2ac3f9[_0x34b687(0x1dc)](_0x34b687(0x1a6)));return{'ok':!![],'data':{'registryPath':_0x27a7a1[_0x34b687(0x1d5)],'serviceCount':_0x27a7a1[_0x34b687(0x1e3)],'service':summarizeService(_0x27a7a1[_0x34b687(0x1e4)])},'message':_0x34b687(0x1d0)+_0x27a7a1[_0x34b687(0x1e4)]['serviceCode']+'.'};}},{'service':'service','command':a33_0x47bb77(0x1b1),'description':a33_0x47bb77(0x1a2),'risk':a33_0x47bb77(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4078f7){const _0x4bcf8c=a33_0x47bb77,_0x462161=getLocalServiceEntry(_0x4078f7['str'](_0x4bcf8c(0x1a6)));if(!_0x462161)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4078f7['str']('service')},'message':_0x4bcf8c(0x1de)+_0x4078f7[_0x4bcf8c(0x1dc)](_0x4bcf8c(0x1a6))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x462161),'manifest':_0x462161[_0x4bcf8c(0x1a3)],'normalizedManifest':_0x462161[_0x4bcf8c(0x1be)]}};}}];function a33_0x3df1(){const _0x1cbb15=['updated','970203tPhVDR','cliPath','serviceCode','WRITE','detail','Exported\x20service\x20','required','2632610IlTDUF','Service\x20Tree\x20manifest\x20file\x20path','4CuhjfP','\x20service(s).','report','remove','risk','target','commands','Service\x20registry\x20validation\x20passed.','normalizedManifest','Imported\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','kind','type','file','registryIndex','13gMOPnZ','import','registryServiceCode','Local\x20service\x20code,\x20for\x20example\x20crm','registry','warnings','importedAt','manifests','errors','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','347963gONBSE','Removed\x20service\x20','write','replaced','map','\x20service\x20','registryPath','entries','3408402iMDuoy','6068961hUzCOs','version','\x20service(s),\x20updated\x20','hash','str','922512yRInas','Local\x20service\x20not\x20found:\x20','description','109622YHjbYT','string','name','serviceCount','entry','source','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','length','filePath','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','manifest','imported','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','service','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','validate','read','lower\x20kebab-case\x20service\x20code','Service\x20manifest\x20validation\x20passed.'];a33_0x3df1=function(){return _0x1cbb15;};return a33_0x3df1();}
1
+ const a33_0x1ca5b7=a33_0x2e3c;(function(_0x4aff2f,_0x43d2c5){const _0xe9cb8=a33_0x2e3c,_0x13fdfa=_0x4aff2f();while(!![]){try{const _0x487490=-parseInt(_0xe9cb8(0x1c0))/0x1+parseInt(_0xe9cb8(0x1c7))/0x2*(parseInt(_0xe9cb8(0x1e1))/0x3)+parseInt(_0xe9cb8(0x1bf))/0x4+-parseInt(_0xe9cb8(0x1bc))/0x5*(-parseInt(_0xe9cb8(0x1cd))/0x6)+-parseInt(_0xe9cb8(0x1d0))/0x7*(-parseInt(_0xe9cb8(0x1be))/0x8)+-parseInt(_0xe9cb8(0x1e4))/0x9*(parseInt(_0xe9cb8(0x1ec))/0xa)+-parseInt(_0xe9cb8(0x1b9))/0xb;if(_0x487490===_0x43d2c5)break;else _0x13fdfa['push'](_0x13fdfa['shift']());}catch(_0x261b2f){_0x13fdfa['push'](_0x13fdfa['shift']());}}}(a33_0x2b9a,0xb281e));function a33_0x2e3c(_0x57c093,_0x273765){_0x57c093=_0x57c093-0x1a5;const _0x2b9a26=a33_0x2b9a();let _0x2e3cec=_0x2b9a26[_0x57c093];return _0x2e3cec;}function a33_0x2b9a(){const _0x567741=['serviceCount','version','registryServiceCode','imported','1278zVSEMt','Service\x20manifest\x20validation\x20passed.','read','4067QtWnqL','report','file','importedAt','validate','Imported\x20','import','required','manifests','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','detail','Imported','Exported\x20service\x20','serviceCode','lower\x20kebab-case\x20service\x20code','description','name','579HOSBdz','updated','errors','2432097NFTcpR','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','replaced','list','Removed\x20service\x20','remove','hash','30bYuJpL','Service\x20Tree\x20manifest\x20file\x20path','source','Local\x20service\x20not\x20found:\x20','filePath','cliPath','registryPath','\x20service\x20','warnings','registryIndex','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','flags','commands','normalizedManifest','write','kind','registry','Local\x20service\x20code,\x20for\x20example\x20crm','string','\x20service(s).','map','service','1327535wXzKvy','entry','entries','765xlYvIv','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','15920ocYmTX','3405344sAcdmB','1068119ljiMzq','Service\x20registry\x20validation\x20passed.','risk','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','str','WRITE','7156fBOeyv','target'];a33_0x2b9a=function(){return _0x567741;};return a33_0x2b9a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1ed)},SERVICE_FLAG={'name':'service','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1b4),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1ca5b7(0x1de)}};function summarizeService(_0x3fde20){const _0x3b092e=a33_0x1ca5b7;return{'serviceCode':_0x3fde20[_0x3b092e(0x1dd)],'name':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1b8)]['name'],'version':_0x3fde20[_0x3b092e(0x1ca)],'importedAt':_0x3fde20[_0x3b092e(0x1d3)],'source':_0x3fde20[_0x3b092e(0x1ee)],'commandCount':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1af)][_0x3b092e(0x1c3)],'commands':_0x3fde20[_0x3b092e(0x1b0)]['commands'][_0x3b092e(0x1b7)](_0x368d28=>({'path':_0x368d28[_0x3b092e(0x1a7)],'description':_0x368d28[_0x3b092e(0x1df)],'risk':_0x368d28[_0x3b092e(0x1c2)],'target':_0x368d28[_0x3b092e(0x1c8)],'flags':_0x368d28[_0x3b092e(0x1ae)][_0x3b092e(0x1b7)](_0x9bf250=>({'name':_0x9bf250[_0x3b092e(0x1e0)],'cliName':_0x9bf250['cliName'],'type':_0x9bf250['type'],'required':_0x9bf250[_0x3b092e(0x1d7)]===!![]}))}))};}function summarizeLoadedManifest(_0x42b7da){const _0x4b0d9b=a33_0x1ca5b7;return{'service':_0x42b7da[_0x4b0d9b(0x1b0)]?.['service'],'version':_0x42b7da[_0x4b0d9b(0x1b0)]?.[_0x4b0d9b(0x1ca)],'commandCount':_0x42b7da['normalizedManifest']?.['commands'][_0x4b0d9b(0x1c3)]??0x0,'commands':_0x42b7da['normalizedManifest']?.[_0x4b0d9b(0x1af)][_0x4b0d9b(0x1b7)](_0x2a94c0=>({'path':_0x2a94c0['cliPath'],'risk':_0x2a94c0[_0x4b0d9b(0x1c2)],'target':_0x2a94c0[_0x4b0d9b(0x1c8)]}))??[],'registryIndex':_0x42b7da[_0x4b0d9b(0x1ab)],'registryServiceCode':_0x42b7da[_0x4b0d9b(0x1cb)],'errors':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1e3)],'warnings':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1aa)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1ca5b7(0x1d4),'description':a33_0x1ca5b7(0x1d9),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2e109d){const _0x928ec1=a33_0x1ca5b7,_0x522c12=loadServiceManifestFromFile(_0x2e109d[_0x928ec1(0x1c5)](_0x928ec1(0x1d2)));if(!_0x522c12[_0x928ec1(0x1d1)]['ok'])return{'ok':![],'data':{'file':_0x522c12['filePath'],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12['manifests'][_0x928ec1(0x1c3)],'services':_0x522c12['manifests']['map'](summarizeLoadedManifest),'errors':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1e3)],'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':formatValidationFailure(_0x522c12['report'])};if(_0x522c12['kind']===_0x928ec1(0x1b3)||_0x522c12[_0x928ec1(0x1d8)][_0x928ec1(0x1c3)]!==0x1)return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12[_0x928ec1(0x1d8)]['length'],'commandCount':_0x522c12[_0x928ec1(0x1d8)]['reduce']((_0x287ce6,_0x4d3846)=>_0x287ce6+(_0x4d3846[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)]['length']??0x0),0x0),'services':_0x522c12[_0x928ec1(0x1d8)]['map'](summarizeLoadedManifest),'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':_0x928ec1(0x1c1)};return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'service':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1b8)],'version':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1ca)],'commandCount':_0x522c12['normalizedManifest']?.['commands'][_0x928ec1(0x1c3)]??0x0,'commands':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)][_0x928ec1(0x1b7)](_0x540f06=>({'path':_0x540f06[_0x928ec1(0x1a7)],'risk':_0x540f06[_0x928ec1(0x1c2)],'target':_0x540f06[_0x928ec1(0x1c8)]})),'warnings':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1aa)]},'message':_0x928ec1(0x1ce)};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1d6),'description':a33_0x1ca5b7(0x1c4),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x222db8){const _0x2db021=a33_0x1ca5b7,_0x3e1e8f=loadServiceManifestFromFile(_0x222db8['str'](_0x2db021(0x1d2)));return{'method':_0x2db021(0x1c6),'url':getServiceRegistryPath(),'body':{'file':_0x3e1e8f[_0x2db021(0x1a6)],'hash':_0x3e1e8f[_0x2db021(0x1eb)],'kind':_0x3e1e8f[_0x2db021(0x1b2)],'ok':_0x3e1e8f['report']['ok'],'service':_0x3e1e8f[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x3e1e8f[_0x2db021(0x1b0)]?.['version'],'serviceCount':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1c3)],'services':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1b7)](_0x41b8e5=>({'service':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1ca)],'commandCount':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1af)][_0x2db021(0x1c3)]??0x0,'errors':_0x41b8e5[_0x2db021(0x1d1)][_0x2db021(0x1e3)]})),'errors':_0x3e1e8f[_0x2db021(0x1d1)][_0x2db021(0x1e3)],'commandCount':_0x3e1e8f[_0x2db021(0x1b0)]?.['commands']['length']??0x0},'description':_0x2db021(0x1ac)};},async 'execute'(_0x588889){const _0x3b2387=a33_0x1ca5b7,_0x4010d7=importServiceManifest(_0x588889['str'](_0x3b2387(0x1d2)));if(_0x4010d7[_0x3b2387(0x1bb)][_0x3b2387(0x1c3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'imported':_0x4010d7[_0x3b2387(0x1cc)],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'services':_0x4010d7[_0x3b2387(0x1bb)]['map'](summarizeService)},'message':_0x3b2387(0x1d5)+_0x4010d7['imported']+_0x3b2387(0x1e5)+_0x4010d7[_0x3b2387(0x1e2)]+_0x3b2387(0x1b6)};return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'replaced':_0x4010d7[_0x3b2387(0x1e7)],'imported':_0x4010d7['imported'],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'service':summarizeService(_0x4010d7[_0x3b2387(0x1ba)])},'message':(_0x4010d7['replaced']?'Updated':_0x3b2387(0x1db))+_0x3b2387(0x1a9)+_0x4010d7[_0x3b2387(0x1ba)][_0x3b2387(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x2762e1){const _0x14a421=a33_0x1ca5b7,_0x75a685=getLocalServiceEntry(_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)));return{'method':_0x14a421(0x1c6),'url':_0x2762e1[_0x14a421(0x1c5)]('file'),'body':{'service':_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)),'found':Boolean(_0x75a685),'version':_0x75a685?.[_0x14a421(0x1ca)],'source':_0x75a685?.[_0x14a421(0x1ee)]},'description':_0x14a421(0x1bd)};},async 'execute'(_0x40af25){const _0x18c7aa=a33_0x1ca5b7,_0x178a84=exportServiceManifest(_0x40af25['str'](_0x18c7aa(0x1b8)),_0x40af25[_0x18c7aa(0x1c5)](_0x18c7aa(0x1d2)));return{'ok':!![],'data':{'registryPath':_0x178a84[_0x18c7aa(0x1a8)],'file':_0x178a84['filePath'],'service':summarizeService(_0x178a84[_0x18c7aa(0x1ba)])},'message':_0x18c7aa(0x1dc)+_0x178a84['entry'][_0x18c7aa(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1e8),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x6f53be=a33_0x1ca5b7,_0x3b184e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3b184e[_0x6f53be(0x1c3)],'services':_0x3b184e['map'](summarizeService)}};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1ea),'description':a33_0x1ca5b7(0x1ad),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3c417c){const _0x150098=a33_0x1ca5b7,_0x3dd5b2=getLocalServiceEntry(_0x3c417c[_0x150098(0x1c5)]('service'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3c417c[_0x150098(0x1c5)](_0x150098(0x1b8)),'found':Boolean(_0x3dd5b2),'version':_0x3dd5b2?.[_0x150098(0x1ca)],'source':_0x3dd5b2?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x31055c){const _0x4c1d1c=a33_0x1ca5b7,_0x8b96a5=removeServiceManifest(_0x31055c[_0x4c1d1c(0x1c5)](_0x4c1d1c(0x1b8)));return{'ok':!![],'data':{'registryPath':_0x8b96a5[_0x4c1d1c(0x1a8)],'serviceCount':_0x8b96a5[_0x4c1d1c(0x1c9)],'service':summarizeService(_0x8b96a5[_0x4c1d1c(0x1ba)])},'message':_0x4c1d1c(0x1e9)+_0x8b96a5[_0x4c1d1c(0x1ba)]['serviceCode']+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1da),'description':a33_0x1ca5b7(0x1e6),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x49b143){const _0x31cecd=a33_0x1ca5b7,_0x4c4deb=getLocalServiceEntry(_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8)));if(!_0x4c4deb)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))},'message':_0x31cecd(0x1a5)+_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x4c4deb),'manifest':_0x4c4deb['manifest'],'normalizedManifest':_0x4c4deb[_0x31cecd(0x1b0)]}};}}];
@@ -1 +1 @@
1
- const a34_0x1eb040=a34_0x38c1;(function(_0xf6d01d,_0x173394){const _0x5748c8=a34_0x38c1,_0x513f9a=_0xf6d01d();while(!![]){try{const _0x10e7b1=-parseInt(_0x5748c8(0x16e))/0x1*(parseInt(_0x5748c8(0x136))/0x2)+-parseInt(_0x5748c8(0x15e))/0x3*(-parseInt(_0x5748c8(0x14e))/0x4)+parseInt(_0x5748c8(0x13c))/0x5*(parseInt(_0x5748c8(0x15f))/0x6)+-parseInt(_0x5748c8(0x155))/0x7*(-parseInt(_0x5748c8(0x128))/0x8)+-parseInt(_0x5748c8(0x163))/0x9+parseInt(_0x5748c8(0x13a))/0xa*(parseInt(_0x5748c8(0x164))/0xb)+-parseInt(_0x5748c8(0x131))/0xc;if(_0x10e7b1===_0x173394)break;else _0x513f9a['push'](_0x513f9a['shift']());}catch(_0x59d334){_0x513f9a['push'](_0x513f9a['shift']());}}}(a34_0x1472,0xdccda));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a34_0x1472(){const _0x3dfc3c=['15671755XLlKWs','errors','localeCompare','normalizedManifest','Service\x20manifest\x20validation\x20failed:\x0a','target','risk','hex','splice','Local\x20service\x20not\x20found:\x20','600lgLUyN','parse','sort','].manifest','ENOENT','utf8','map','registryIndex','find','push','toISOString','isArray','3224MSKvoI','serviceCode','$.services[','CliError','flatMap','service.json','.tmp','join','stringify','7360320ObmHur','manifest','service','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','now','1806rjumoy','Cannot\x20write\x20service\x20registry:\x20','trim','schemaVersion','10TcCjof','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','1277745sbXCLH','Remove\x20or\x20migrate\x20','updatedAt','version','services','string','warnings','manifests','startsWith','source','report','invalid','services\x20must\x20be\x20an\x20array','update','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','commandCount','findIndex','Unsupported\x20service\x20registry\x20schemaVersion:\x20','4XBkhjK','code','validation','sourceHash','path','digest','Invalid\x20service\x20registry\x20JSON:\x20','1337wcWLmU','registry','homeDir','empty','description','missing','commands','filePath','message','2629176BuwYCn','18avjDSU','slice','length','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','9766323ebHKfD'];a34_0x1472=function(){return _0x3dfc3c;};return a34_0x1472();}export const SERVICE_REGISTRY_FILE_NAME=a34_0x1eb040(0x12d);export function getServiceRegistryPath(_0x55305f={}){const _0x27343e=a34_0x1eb040;return resolve(_0x55305f[_0x27343e(0x157)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}function a34_0x38c1(_0x4a1953,_0x3f6ea7){_0x4a1953=_0x4a1953-0x11e;const _0x1472e6=a34_0x1472();let _0x38c190=_0x1472e6[_0x4a1953];return _0x38c190;}export function readServiceRegistry(_0xec8323={}){const _0x132254=a34_0x1eb040,_0x39cd53=getServiceRegistryPath(_0xec8323);if(!existsSync(_0x39cd53))return emptyServiceRegistry();try{const _0xb2d28b=readFileSync(_0x39cd53,_0x132254(0x121));if(!_0xb2d28b['trim']())return emptyServiceRegistry();const _0x3ecc53=JSON[_0x132254(0x16f)](_0xb2d28b);if(_0x3ecc53[_0x132254(0x139)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x132254(0x14d)+String(_0x3ecc53[_0x132254(0x139)]),_0x132254(0x13d)+_0x39cd53+'.');if(!Array[_0x132254(0x127)](_0x3ecc53[_0x132254(0x140)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ecc53[_0x132254(0x13e)],'services':_0x3ecc53[_0x132254(0x140)]};}catch(_0x56e95f){if(_0x56e95f instanceof Error&&_0x56e95f['name']===_0x132254(0x12b))throw _0x56e95f;throw CliErrors['validation'](_0x132254(0x154)+_0x39cd53,_0x132254(0x13b));}}export function writeServiceRegistry(_0x67e6f5,_0x5cd8e3={}){const _0x573ebc=a34_0x1eb040,_0x44631e=getServiceRegistryPath(_0x5cd8e3),_0x65023=dirname(_0x44631e);!existsSync(_0x65023)&&mkdirSync(_0x65023,{'recursive':!![]});const _0x2aa453=_0x44631e+_0x573ebc(0x12e);try{writeFileSync(_0x2aa453,JSON[_0x573ebc(0x130)](_0x67e6f5,null,0x2)+'\x0a',{'encoding':_0x573ebc(0x121),'mode':0x180}),renameSync(_0x2aa453,_0x44631e);}catch(_0x5bfb51){try{unlinkSync(_0x2aa453);}catch{}if(_0x5bfb51?.[_0x573ebc(0x14f)]===_0x573ebc(0x120))throw CliErrors[_0x573ebc(0x150)](_0x573ebc(0x137)+_0x44631e);throw _0x5bfb51;}return _0x44631e;}export function loadServiceManifestFromFile(_0x313d24){const _0x45aa15=a34_0x1eb040,_0x5e78fe=resolve(_0x313d24);if(!existsSync(_0x5e78fe))throw CliErrors[_0x45aa15(0x150)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x313d24);let _0x265cb8;const _0x141b0a=readFileSync(_0x5e78fe,'utf8');try{_0x265cb8=JSON[_0x45aa15(0x16f)](_0x141b0a);}catch{throw CliErrors[_0x45aa15(0x150)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x313d24,_0x45aa15(0x134));}const _0xa2827e=sha256(_0x141b0a),_0x39ac0e=extractLoadedServiceManifests(_0x265cb8,_0xa2827e),_0x1b6b8d=aggregateValidationReports(_0x39ac0e),_0x177b4d=_0x39ac0e[0x0];return{'filePath':_0x5e78fe,'hash':_0xa2827e,'kind':isServiceRegistryLike(_0x265cb8)?_0x45aa15(0x156):'manifest','manifest':_0x177b4d?.[_0x45aa15(0x132)]??_0x265cb8,'report':_0x1b6b8d,'normalizedManifest':_0x39ac0e['length']===0x1?_0x177b4d?.['normalizedManifest']:undefined,'manifests':_0x39ac0e};}export function importServiceManifest(_0x2348dd,_0xcf8ccd={}){const _0x2f0186=a34_0x1eb040,_0x3aa2e0=loadServiceManifestFromFile(_0x2348dd);if(!_0x3aa2e0[_0x2f0186(0x146)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x3aa2e0['report']),_0x2f0186(0x162));if(_0x3aa2e0[_0x2f0186(0x143)][_0x2f0186(0x161)]===0x0)throw CliErrors[_0x2f0186(0x150)](_0x2f0186(0x14a),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x3ec808=readServiceRegistry(_0xcf8ccd),_0x36a372=(_0xcf8ccd[_0x2f0186(0x135)]??(()=>new Date()))()[_0x2f0186(0x126)](),_0x286530=[];let _0xe6b3ff=0x0,_0x878b55=0x0;for(const _0x2cdcc6 of _0x3aa2e0['manifests']){if(!_0x2cdcc6[_0x2f0186(0x167)])continue;const _0x52ef8d=_0x2cdcc6['normalizedManifest'][_0x2f0186(0x133)][_0x2f0186(0x14f)],_0x4282c7={'serviceCode':_0x52ef8d,'version':_0x2cdcc6[_0x2f0186(0x167)][_0x2f0186(0x13f)],'importedAt':_0x36a372,'source':{'type':'file','path':_0x3aa2e0[_0x2f0186(0x15c)],'hash':_0x2cdcc6[_0x2f0186(0x151)]},'manifest':_0x2cdcc6[_0x2f0186(0x132)],'normalizedManifest':_0x2cdcc6[_0x2f0186(0x167)]},_0x5ece7d=_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x14c)](_0x1441e9=>_0x1441e9[_0x2f0186(0x129)]===_0x52ef8d);_0x5ece7d>=0x0?(_0x3ec808[_0x2f0186(0x140)][_0x5ece7d]=_0x4282c7,_0x878b55++):(_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x125)](_0x4282c7),_0xe6b3ff++),_0x286530[_0x2f0186(0x125)](_0x4282c7);}_0x3ec808[_0x2f0186(0x140)][_0x2f0186(0x11e)]((_0x1716a5,_0x1781da)=>_0x1716a5[_0x2f0186(0x129)][_0x2f0186(0x166)](_0x1781da[_0x2f0186(0x129)])),_0x3ec808['updatedAt']=_0x36a372;const _0x4dcce9=writeServiceRegistry(_0x3ec808,_0xcf8ccd);return{'registryPath':_0x4dcce9,'entry':_0x286530[0x0],'replaced':_0x286530[_0x2f0186(0x161)]===0x1?_0x878b55===0x1:_0x878b55>0x0,'entries':_0x286530,'imported':_0xe6b3ff,'updated':_0x878b55,'serviceCount':_0x3ec808['services'][_0x2f0186(0x161)]};}export function exportServiceManifest(_0x5b7130,_0x284145,_0x782b2={}){const _0x50cfc4=a34_0x1eb040,_0x26b443=getServiceRegistryPath(_0x782b2),_0x35a246=getLocalServiceEntry(_0x5b7130,_0x782b2);if(!_0x35a246)throw CliErrors[_0x50cfc4(0x150)](_0x50cfc4(0x16d)+_0x5b7130,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0xb308b7=resolve(_0x284145),_0x79bfac=dirname(_0xb308b7);return!existsSync(_0x79bfac)&&mkdirSync(_0x79bfac,{'recursive':!![]}),writeFileSync(_0xb308b7,JSON[_0x50cfc4(0x130)](_0x35a246[_0x50cfc4(0x132)],null,0x2)+'\x0a',{'encoding':_0x50cfc4(0x121),'mode':0x180}),{'registryPath':_0x26b443,'filePath':_0xb308b7,'entry':_0x35a246};}export function removeServiceManifest(_0x519cc7,_0x430143={}){const _0x4854bb=a34_0x1eb040,_0x62dd89=readServiceRegistry(_0x430143),_0x3559f4=_0x519cc7['trim'](),_0x42aff8=_0x62dd89['services'][_0x4854bb(0x14c)](_0x5d1f40=>_0x5d1f40[_0x4854bb(0x129)]===_0x3559f4);if(_0x42aff8<0x0)throw CliErrors[_0x4854bb(0x150)](_0x4854bb(0x16d)+_0x3559f4,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x2d12d0]=_0x62dd89[_0x4854bb(0x140)][_0x4854bb(0x16c)](_0x42aff8,0x1),_0xfaae6b=(_0x430143['now']??(()=>new Date()))()[_0x4854bb(0x126)]();_0x62dd89[_0x4854bb(0x13e)]=_0xfaae6b;const _0x1958de=writeServiceRegistry(_0x62dd89,_0x430143);return{'registryPath':_0x1958de,'entry':_0x2d12d0,'serviceCount':_0x62dd89['services'][_0x4854bb(0x161)]};}export function listLocalServices(_0x17b27b={}){return readServiceRegistry(_0x17b27b)['services'];}export function getLocalServiceEntry(_0x276d2e,_0x798609={}){const _0x15804f=a34_0x1eb040;return readServiceRegistry(_0x798609)[_0x15804f(0x140)][_0x15804f(0x124)](_0x26f327=>_0x26f327[_0x15804f(0x129)]===_0x276d2e[_0x15804f(0x138)]());}export function listLocalServiceTrees(_0xea3950={}){const _0x4391f7=a34_0x1eb040;return readServiceRegistry(_0xea3950)[_0x4391f7(0x140)]['map'](_0x4008f4=>_0x4008f4[_0x4391f7(0x167)]);}export function inspectServiceRegistry(_0x2baa4c={}){const _0x14085c=a34_0x1eb040,_0x96a6ea=getServiceRegistryPath(_0x2baa4c);if(!existsSync(_0x96a6ea))return emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x15a),![]);try{const _0xd76b05=readFileSync(_0x96a6ea,_0x14085c(0x121));if(!_0xd76b05[_0x14085c(0x138)]())return emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x158),!![]);const _0x38473a=JSON[_0x14085c(0x16f)](_0xd76b05);if(_0x38473a[_0x14085c(0x139)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x96a6ea,'invalid',!![]),'schemaVersion':_0x38473a[_0x14085c(0x139)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x38473a[_0x14085c(0x139)])};if(!Array[_0x14085c(0x127)](_0x38473a[_0x14085c(0x140)]))return{...emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x147),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38473a['updatedAt'],'message':_0x14085c(0x148)};const _0x4498ae=_0x38473a[_0x14085c(0x140)][_0x14085c(0x122)](summarizeLocalServiceEntry);return{'registryPath':_0x96a6ea,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38473a[_0x14085c(0x13e)],'serviceCount':_0x4498ae[_0x14085c(0x161)],'commandCount':_0x4498ae['reduce']((_0x165dab,_0x199933)=>_0x165dab+_0x199933[_0x14085c(0x14b)],0x0),'services':_0x4498ae};}catch(_0x35e802){return{...emptyServiceRegistryInspection(_0x96a6ea,_0x14085c(0x147),!![]),'message':_0x35e802 instanceof Error?_0x35e802[_0x14085c(0x15d)]:String(_0x35e802)};}}export function formatValidationFailure(_0x364312){const _0x4a223f=a34_0x1eb040,_0x124902=_0x364312[_0x4a223f(0x165)][_0x4a223f(0x122)](_0x5a38bb=>_0x5a38bb[_0x4a223f(0x152)]+':\x20'+_0x5a38bb[_0x4a223f(0x15d)]);return _0x4a223f(0x168)+_0x124902[_0x4a223f(0x12f)]('\x0a');}function extractLoadedServiceManifests(_0x36d8d7,_0x3c6a8e){const _0x1990ca=a34_0x1eb040;if(!isServiceRegistryLike(_0x36d8d7)){const _0xd23a85=_0x36d8d7,_0x9a37b3=validateServiceTreeManifest(_0xd23a85);return[{'manifest':_0xd23a85,'report':_0x9a37b3,'normalizedManifest':_0x9a37b3['ok']?normalizeServiceTreeManifest(_0xd23a85):undefined,'sourceHash':_0x3c6a8e}];}return _0x36d8d7[_0x1990ca(0x140)][_0x1990ca(0x122)]((_0x2dc593,_0x33a427)=>{const _0x5c75df=_0x1990ca,_0x1beb4e=isObjectRecord(_0x2dc593)?_0x2dc593[_0x5c75df(0x132)]:undefined,_0x211149=validateServiceTreeManifest(_0x1beb4e),_0x2fb750=isObjectRecord(_0x2dc593)&&typeof _0x2dc593['serviceCode']===_0x5c75df(0x141)?_0x2dc593['serviceCode']:undefined;return{'manifest':_0x1beb4e,'report':_0x211149,'normalizedManifest':_0x211149['ok']?normalizeServiceTreeManifest(_0x1beb4e):undefined,'sourceHash':sha256(JSON['stringify'](_0x1beb4e,null,0x2)+'\x0a'),'registryIndex':_0x33a427,'registryServiceCode':_0x2fb750};});}function aggregateValidationReports(_0x563042){const _0x3dbcef=a34_0x1eb040,_0xd528df=_0x563042[_0x3dbcef(0x12c)](_0x28fd11=>_0x28fd11['registryIndex']===undefined?_0x28fd11[_0x3dbcef(0x146)][_0x3dbcef(0x165)]:_0x28fd11[_0x3dbcef(0x146)][_0x3dbcef(0x165)][_0x3dbcef(0x122)](_0x189f8f=>({..._0x189f8f,'path':prefixRegistryIssuePath(_0x28fd11[_0x3dbcef(0x123)],_0x189f8f[_0x3dbcef(0x152)])}))),_0x5966fb=_0x563042[_0x3dbcef(0x12c)](_0x2fd826=>_0x2fd826[_0x3dbcef(0x123)]===undefined?_0x2fd826[_0x3dbcef(0x146)]['warnings']:_0x2fd826['report'][_0x3dbcef(0x142)][_0x3dbcef(0x122)](_0x4233de=>({..._0x4233de,'path':prefixRegistryIssuePath(_0x2fd826[_0x3dbcef(0x123)],_0x4233de[_0x3dbcef(0x152)])})));return{'ok':_0xd528df[_0x3dbcef(0x161)]===0x0,'errors':_0xd528df,'warnings':_0x5966fb};}function prefixRegistryIssuePath(_0x230f5e,_0x1f04ac){const _0x13f766=a34_0x1eb040;if(_0x1f04ac==='$')return _0x13f766(0x12a)+_0x230f5e+'].manifest';if(_0x1f04ac[_0x13f766(0x144)]('$.'))return _0x13f766(0x12a)+_0x230f5e+_0x13f766(0x11f)+_0x1f04ac[_0x13f766(0x160)](0x1);if(_0x1f04ac['startsWith']('$['))return _0x13f766(0x12a)+_0x230f5e+_0x13f766(0x11f)+_0x1f04ac[_0x13f766(0x160)](0x1);return _0x13f766(0x12a)+_0x230f5e+'].manifest.'+_0x1f04ac;}function isServiceRegistryLike(_0x45457b){const _0x5e005a=a34_0x1eb040;return isObjectRecord(_0x45457b)&&_0x45457b['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5e005a(0x127)](_0x45457b[_0x5e005a(0x140)]);}function isObjectRecord(_0x4bf9f5){const _0x6c9b6f=a34_0x1eb040;return Boolean(_0x4bf9f5)&&typeof _0x4bf9f5==='object'&&!Array[_0x6c9b6f(0x127)](_0x4bf9f5);}function emptyServiceRegistryInspection(_0x587149,_0x14f299,_0x34cff4){return{'registryPath':_0x587149,'exists':_0x34cff4,'status':_0x14f299,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1bbdf1){const _0x3397c8=a34_0x1eb040,_0x3900ec=_0x1bbdf1[_0x3397c8(0x167)],_0x3650b0=_0x3900ec[_0x3397c8(0x15b)][_0x3397c8(0x122)](_0x53f6b8=>({'path':_0x53f6b8['cliPath'],'description':_0x53f6b8[_0x3397c8(0x159)],'risk':_0x53f6b8[_0x3397c8(0x16a)],'targetKind':_0x53f6b8['target']['kind'],'targetCommand':_0x53f6b8[_0x3397c8(0x169)]['command']}));return{'serviceCode':_0x1bbdf1[_0x3397c8(0x129)],'name':_0x3900ec[_0x3397c8(0x133)]['name'],'description':_0x3900ec[_0x3397c8(0x133)][_0x3397c8(0x159)],'version':_0x1bbdf1[_0x3397c8(0x13f)],'importedAt':_0x1bbdf1['importedAt'],'source':_0x1bbdf1[_0x3397c8(0x145)],'commandCount':_0x3650b0[_0x3397c8(0x161)],'commands':_0x3650b0};}function sha256(_0xd64c1){const _0x2a7801=a34_0x1eb040;return createHash('sha256')[_0x2a7801(0x149)](_0xd64c1)[_0x2a7801(0x153)](_0x2a7801(0x16b));}
1
+ const a34_0x3c100c=a34_0x4d42;function a34_0x4d42(_0x18a5c4,_0x2df035){_0x18a5c4=_0x18a5c4-0x14e;const _0x4e0f2f=a34_0x4e0f();let _0x4d42e0=_0x4e0f2f[_0x18a5c4];return _0x4d42e0;}(function(_0x2dd148,_0xb67197){const _0x2d49da=a34_0x4d42,_0x77e519=_0x2dd148();while(!![]){try{const _0x1c1a02=parseInt(_0x2d49da(0x18e))/0x1+-parseInt(_0x2d49da(0x194))/0x2+parseInt(_0x2d49da(0x153))/0x3+-parseInt(_0x2d49da(0x180))/0x4*(-parseInt(_0x2d49da(0x15f))/0x5)+parseInt(_0x2d49da(0x160))/0x6*(-parseInt(_0x2d49da(0x150))/0x7)+-parseInt(_0x2d49da(0x169))/0x8*(-parseInt(_0x2d49da(0x154))/0x9)+parseInt(_0x2d49da(0x177))/0xa*(-parseInt(_0x2d49da(0x164))/0xb);if(_0x1c1a02===_0xb67197)break;else _0x77e519['push'](_0x77e519['shift']());}catch(_0x53e99a){_0x77e519['push'](_0x77e519['shift']());}}}(a34_0x4e0f,0xbcd26));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x3c100c(0x178);export function getServiceRegistryPath(_0x4c1ed6={}){const _0x50ee9c=a34_0x3c100c;return resolve(_0x4c1ed6[_0x50ee9c(0x19b)]??homedir(),PRODUCT_CONFIG[_0x50ee9c(0x17c)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x422474={}){const _0x3e173d=a34_0x3c100c,_0x4e1164=getServiceRegistryPath(_0x422474);if(!existsSync(_0x4e1164))return emptyServiceRegistry();try{const _0x55dead=readFileSync(_0x4e1164,'utf8');if(!_0x55dead['trim']())return emptyServiceRegistry();const _0x495aed=JSON['parse'](_0x55dead);if(_0x495aed['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x3e173d(0x157)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x495aed['schemaVersion']),_0x3e173d(0x167)+_0x4e1164+'.');if(!Array[_0x3e173d(0x187)](_0x495aed[_0x3e173d(0x189)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x495aed[_0x3e173d(0x184)],'services':_0x495aed[_0x3e173d(0x189)]};}catch(_0x1718e4){if(_0x1718e4 instanceof Error&&_0x1718e4[_0x3e173d(0x19d)]==='CliError')throw _0x1718e4;throw CliErrors[_0x3e173d(0x157)](_0x3e173d(0x15b)+_0x4e1164,_0x3e173d(0x14f));}}export function writeServiceRegistry(_0x29a333,_0x2f5e70={}){const _0x2d37d4=a34_0x3c100c,_0x370f7e=getServiceRegistryPath(_0x2f5e70),_0x7c6172=dirname(_0x370f7e);!existsSync(_0x7c6172)&&mkdirSync(_0x7c6172,{'recursive':!![]});const _0x586e3e=_0x370f7e+_0x2d37d4(0x159);try{writeFileSync(_0x586e3e,JSON[_0x2d37d4(0x188)](_0x29a333,null,0x2)+'\x0a',{'encoding':_0x2d37d4(0x166),'mode':0x180}),renameSync(_0x586e3e,_0x370f7e);}catch(_0x1d8c06){try{unlinkSync(_0x586e3e);}catch{}if(_0x1d8c06?.['code']===_0x2d37d4(0x19f))throw CliErrors[_0x2d37d4(0x157)](_0x2d37d4(0x17d)+_0x370f7e);throw _0x1d8c06;}return _0x370f7e;}export function loadServiceManifestFromFile(_0x563721){const _0x58941c=a34_0x3c100c,_0x8023f5=resolve(_0x563721);if(!existsSync(_0x8023f5))throw CliErrors[_0x58941c(0x157)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x563721);let _0xdb337e;const _0x371987=readFileSync(_0x8023f5,_0x58941c(0x166));try{_0xdb337e=JSON[_0x58941c(0x197)](_0x371987);}catch{throw CliErrors['validation'](_0x58941c(0x18b)+_0x563721,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x56140=sha256(_0x371987),_0x27881b=extractLoadedServiceManifests(_0xdb337e,_0x56140),_0x2df204=aggregateValidationReports(_0x27881b),_0x462980=_0x27881b[0x0];return{'filePath':_0x8023f5,'hash':_0x56140,'kind':isServiceRegistryLike(_0xdb337e)?_0x58941c(0x162):_0x58941c(0x16d),'manifest':_0x462980?.['manifest']??_0xdb337e,'report':_0x2df204,'normalizedManifest':_0x27881b['length']===0x1?_0x462980?.[_0x58941c(0x172)]:undefined,'manifests':_0x27881b};}export function importServiceManifest(_0x53fbe7,_0xbb912f={}){const _0x10558a=a34_0x3c100c,_0x1fd177=loadServiceManifestFromFile(_0x53fbe7);if(!_0x1fd177['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x1fd177['report']),_0x10558a(0x185));if(_0x1fd177[_0x10558a(0x19c)][_0x10558a(0x19a)]===0x0)throw CliErrors[_0x10558a(0x157)](_0x10558a(0x16e),_0x10558a(0x192));const _0x48e338=readServiceRegistry(_0xbb912f),_0x53f786=(_0xbb912f[_0x10558a(0x156)]??(()=>new Date()))()[_0x10558a(0x175)](),_0x28d4e7=[];let _0x3413ef=0x0,_0x28b442=0x0;for(const _0x3f79b9 of _0x1fd177['manifests']){if(!_0x3f79b9['normalizedManifest'])continue;const _0x41931c=_0x3f79b9[_0x10558a(0x172)]['service'][_0x10558a(0x18a)],_0x38e80c={'serviceCode':_0x41931c,'version':_0x3f79b9[_0x10558a(0x172)]['version'],'importedAt':_0x53f786,'source':{'type':_0x10558a(0x152),'path':_0x1fd177['filePath'],'hash':_0x3f79b9[_0x10558a(0x199)]},'manifest':_0x3f79b9['manifest'],'normalizedManifest':_0x3f79b9['normalizedManifest']},_0x49f5be=_0x48e338[_0x10558a(0x189)][_0x10558a(0x179)](_0x50c102=>_0x50c102[_0x10558a(0x17a)]===_0x41931c);_0x49f5be>=0x0?(_0x48e338['services'][_0x49f5be]=_0x38e80c,_0x28b442++):(_0x48e338[_0x10558a(0x189)][_0x10558a(0x168)](_0x38e80c),_0x3413ef++),_0x28d4e7[_0x10558a(0x168)](_0x38e80c);}_0x48e338[_0x10558a(0x189)][_0x10558a(0x165)]((_0x483d68,_0xec3069)=>_0x483d68[_0x10558a(0x17a)][_0x10558a(0x176)](_0xec3069[_0x10558a(0x17a)])),_0x48e338[_0x10558a(0x184)]=_0x53f786;const _0x13fe8a=writeServiceRegistry(_0x48e338,_0xbb912f);return{'registryPath':_0x13fe8a,'entry':_0x28d4e7[0x0],'replaced':_0x28d4e7[_0x10558a(0x19a)]===0x1?_0x28b442===0x1:_0x28b442>0x0,'entries':_0x28d4e7,'imported':_0x3413ef,'updated':_0x28b442,'serviceCount':_0x48e338[_0x10558a(0x189)][_0x10558a(0x19a)]};}export function exportServiceManifest(_0x17787e,_0x4be1ea,_0xdca375={}){const _0x39d331=a34_0x3c100c,_0x45957b=getServiceRegistryPath(_0xdca375),_0x2029e7=getLocalServiceEntry(_0x17787e,_0xdca375);if(!_0x2029e7)throw CliErrors['validation'](_0x39d331(0x1a1)+_0x17787e,_0x39d331(0x198));const _0x15899f=resolve(_0x4be1ea),_0x2858de=dirname(_0x15899f);return!existsSync(_0x2858de)&&mkdirSync(_0x2858de,{'recursive':!![]}),writeFileSync(_0x15899f,JSON[_0x39d331(0x188)](_0x2029e7['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x45957b,'filePath':_0x15899f,'entry':_0x2029e7};}function a34_0x4e0f(){const _0x482206=['Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','14nKCXRd','].manifest.','file','3402462shCtJb','333XyUcfx','object','now','validation','Unsupported\x20schemaVersion:\x20','.tmp','schemaVersion','Invalid\x20service\x20registry\x20JSON:\x20','].manifest','flatMap','command','9305asOmej','1378068VwMtZo','report','registry','commands','3795132kaLLDF','sort','utf8','Remove\x20or\x20migrate\x20','push','325784gsjWIx','reduce','invalid','cliPath','manifest','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','errors','path','commandCount','normalizedManifest','$.services[','kind','toISOString','localeCompare','60cwLLaX','service.json','findIndex','serviceCode','trim','homeDirName','Cannot\x20write\x20service\x20registry:\x20','missing','warnings','2588HiyIGD','description','startsWith','map','updatedAt','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','splice','isArray','stringify','services','code','Invalid\x20service\x20manifest\x20JSON:\x20','version','message','403764aaBkDZ','risk','target','find','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','1891788kSToJV','empty','service','parse','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sourceHash','length','homeDir','manifests','name','update','ENOENT','source','Local\x20service\x20not\x20found:\x20','sha256','hex'];a34_0x4e0f=function(){return _0x482206;};return a34_0x4e0f();}export function removeServiceManifest(_0x22f7cb,_0x35b1f0={}){const _0x46e08e=a34_0x3c100c,_0x4d777e=readServiceRegistry(_0x35b1f0),_0x2c6b1a=_0x22f7cb[_0x46e08e(0x17b)](),_0x3c8c42=_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x179)](_0x1f58f8=>_0x1f58f8[_0x46e08e(0x17a)]===_0x2c6b1a);if(_0x3c8c42<0x0)throw CliErrors['validation'](_0x46e08e(0x1a1)+_0x2c6b1a,_0x46e08e(0x198));const [_0xb59001]=_0x4d777e['services'][_0x46e08e(0x186)](_0x3c8c42,0x1),_0x3bf676=(_0x35b1f0[_0x46e08e(0x156)]??(()=>new Date()))()[_0x46e08e(0x175)]();_0x4d777e[_0x46e08e(0x184)]=_0x3bf676;const _0xfa6da1=writeServiceRegistry(_0x4d777e,_0x35b1f0);return{'registryPath':_0xfa6da1,'entry':_0xb59001,'serviceCount':_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x19a)]};}export function listLocalServices(_0x479d8e={}){const _0x2f3373=a34_0x3c100c;return readServiceRegistry(_0x479d8e)[_0x2f3373(0x189)];}export function getLocalServiceEntry(_0x133b52,_0xeaccf4={}){const _0x4b0a0f=a34_0x3c100c;return readServiceRegistry(_0xeaccf4)['services'][_0x4b0a0f(0x191)](_0x5217cd=>_0x5217cd[_0x4b0a0f(0x17a)]===_0x133b52[_0x4b0a0f(0x17b)]());}export function listLocalServiceTrees(_0x136785={}){const _0x38c308=a34_0x3c100c;return readServiceRegistry(_0x136785)[_0x38c308(0x189)]['map'](_0x133d3d=>_0x133d3d[_0x38c308(0x172)]);}export function inspectServiceRegistry(_0x128598={}){const _0xd3eeed=a34_0x3c100c,_0x4b4766=getServiceRegistryPath(_0x128598);if(!existsSync(_0x4b4766))return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x17e),![]);try{const _0x1a04ed=readFileSync(_0x4b4766,_0xd3eeed(0x166));if(!_0x1a04ed[_0xd3eeed(0x17b)]())return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x195),!![]);const _0xb62767=JSON['parse'](_0x1a04ed);if(_0xb62767[_0xd3eeed(0x15a)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':_0xb62767[_0xd3eeed(0x15a)],'message':_0xd3eeed(0x158)+String(_0xb62767['schemaVersion'])};if(!Array[_0xd3eeed(0x187)](_0xb62767[_0xd3eeed(0x189)]))return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'message':'services\x20must\x20be\x20an\x20array'};const _0x48a071=_0xb62767[_0xd3eeed(0x189)][_0xd3eeed(0x183)](summarizeLocalServiceEntry);return{'registryPath':_0x4b4766,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'serviceCount':_0x48a071[_0xd3eeed(0x19a)],'commandCount':_0x48a071[_0xd3eeed(0x16a)]((_0x188b44,_0x10b83c)=>_0x188b44+_0x10b83c[_0xd3eeed(0x171)],0x0),'services':_0x48a071};}catch(_0x24a313){return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'message':_0x24a313 instanceof Error?_0x24a313[_0xd3eeed(0x18d)]:String(_0x24a313)};}}export function formatValidationFailure(_0x243d56){const _0x3d43d1=a34_0x3c100c,_0x22d070=_0x243d56[_0x3d43d1(0x16f)]['map'](_0x28fc91=>_0x28fc91[_0x3d43d1(0x170)]+':\x20'+_0x28fc91[_0x3d43d1(0x18d)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x22d070['join']('\x0a');}function extractLoadedServiceManifests(_0x4f8a1e,_0x3cc1be){const _0x3388ac=a34_0x3c100c;if(!isServiceRegistryLike(_0x4f8a1e)){const _0x3b5ba2=_0x4f8a1e,_0x25620f=validateServiceTreeManifest(_0x3b5ba2);return[{'manifest':_0x3b5ba2,'report':_0x25620f,'normalizedManifest':_0x25620f['ok']?normalizeServiceTreeManifest(_0x3b5ba2):undefined,'sourceHash':_0x3cc1be}];}return _0x4f8a1e[_0x3388ac(0x189)][_0x3388ac(0x183)]((_0x58cb79,_0x5ec076)=>{const _0x55b91e=_0x3388ac,_0x92ad4b=isObjectRecord(_0x58cb79)?_0x58cb79[_0x55b91e(0x16d)]:undefined,_0x28f3de=validateServiceTreeManifest(_0x92ad4b),_0x40acf1=isObjectRecord(_0x58cb79)&&typeof _0x58cb79[_0x55b91e(0x17a)]==='string'?_0x58cb79['serviceCode']:undefined;return{'manifest':_0x92ad4b,'report':_0x28f3de,'normalizedManifest':_0x28f3de['ok']?normalizeServiceTreeManifest(_0x92ad4b):undefined,'sourceHash':sha256(JSON['stringify'](_0x92ad4b,null,0x2)+'\x0a'),'registryIndex':_0x5ec076,'registryServiceCode':_0x40acf1};});}function aggregateValidationReports(_0x59c6e5){const _0x2e1447=a34_0x3c100c,_0x3db8d9=_0x59c6e5[_0x2e1447(0x15d)](_0x29f071=>_0x29f071[_0x2e1447(0x193)]===undefined?_0x29f071[_0x2e1447(0x161)][_0x2e1447(0x16f)]:_0x29f071['report'][_0x2e1447(0x16f)][_0x2e1447(0x183)](_0x1ea8ff=>({..._0x1ea8ff,'path':prefixRegistryIssuePath(_0x29f071['registryIndex'],_0x1ea8ff[_0x2e1447(0x170)])}))),_0x3e60b4=_0x59c6e5[_0x2e1447(0x15d)](_0x20de5c=>_0x20de5c[_0x2e1447(0x193)]===undefined?_0x20de5c[_0x2e1447(0x161)]['warnings']:_0x20de5c[_0x2e1447(0x161)][_0x2e1447(0x17f)]['map'](_0x1f52c8=>({..._0x1f52c8,'path':prefixRegistryIssuePath(_0x20de5c['registryIndex'],_0x1f52c8['path'])})));return{'ok':_0x3db8d9['length']===0x0,'errors':_0x3db8d9,'warnings':_0x3e60b4};}function prefixRegistryIssuePath(_0x471ef3,_0x2a037b){const _0x39d0f9=a34_0x3c100c;if(_0x2a037b==='$')return'$.services['+_0x471ef3+'].manifest';if(_0x2a037b[_0x39d0f9(0x182)]('$.'))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);if(_0x2a037b[_0x39d0f9(0x182)]('$['))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x151)+_0x2a037b;}function isServiceRegistryLike(_0x430196){const _0x576710=a34_0x3c100c;return isObjectRecord(_0x430196)&&_0x430196[_0x576710(0x15a)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x430196['services']);}function isObjectRecord(_0x5623f4){const _0x29aa77=a34_0x3c100c;return Boolean(_0x5623f4)&&typeof _0x5623f4===_0x29aa77(0x155)&&!Array[_0x29aa77(0x187)](_0x5623f4);}function emptyServiceRegistryInspection(_0x3dfa07,_0xc654a9,_0xea261c){return{'registryPath':_0x3dfa07,'exists':_0xea261c,'status':_0xc654a9,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x252fe7){const _0x39da98=a34_0x3c100c,_0x5e0e41=_0x252fe7[_0x39da98(0x172)],_0x13ef66=_0x5e0e41[_0x39da98(0x163)][_0x39da98(0x183)](_0x45f061=>({'path':_0x45f061[_0x39da98(0x16c)],'description':_0x45f061[_0x39da98(0x181)],'risk':_0x45f061[_0x39da98(0x18f)],'targetKind':_0x45f061[_0x39da98(0x190)][_0x39da98(0x174)],'targetCommand':_0x45f061[_0x39da98(0x190)][_0x39da98(0x15e)]}));return{'serviceCode':_0x252fe7[_0x39da98(0x17a)],'name':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x19d)],'description':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x181)],'version':_0x252fe7[_0x39da98(0x18c)],'importedAt':_0x252fe7['importedAt'],'source':_0x252fe7[_0x39da98(0x1a0)],'commandCount':_0x13ef66[_0x39da98(0x19a)],'commands':_0x13ef66};}function sha256(_0x4623b6){const _0x5828a2=a34_0x3c100c;return createHash(_0x5828a2(0x1a2))[_0x5828a2(0x19e)](_0x4623b6)['digest'](_0x5828a2(0x14e));}
@@ -1 +1 @@
1
- const a35_0x4385bf=a35_0x5cbc;function a35_0x483e(){const _0x40711f=['rendered','utf8','1685993jdrprF','2241544ABedAi','create','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','Refusing\x20to\x20overwrite\x20symlink:\x20','WRITE','target','5rxEWDf','isSymbolicLink','path','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','259738INNEBn','str','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','force','skillName','files','808TLxlFG','skill','map','3322EduZmi','1222968ahrzec','write','isDirectory','validation','Skill\x20directory\x20already\x20exists:\x20','900hNszGF','name','content','15918rspgbX','14831280VeHUqO','3rXnKuX','Created\x20local\x20Skill\x20draft\x20','bool','type'];a35_0x483e=function(){return _0x40711f;};return a35_0x483e();}(function(_0x4bb11e,_0x272401){const _0x1327b0=a35_0x5cbc,_0x43cc3d=_0x4bb11e();while(!![]){try{const _0x4fdaca=parseInt(_0x1327b0(0x1d7))/0x1+-parseInt(_0x1327b0(0x1e3))/0x2+-parseInt(_0x1327b0(0x1d1))/0x3*(-parseInt(_0x1327b0(0x1d8))/0x4)+parseInt(_0x1327b0(0x1de))/0x5*(parseInt(_0x1327b0(0x1c7))/0x6)+-parseInt(_0x1327b0(0x1cf))/0x7*(-parseInt(_0x1327b0(0x1c3))/0x8)+-parseInt(_0x1327b0(0x1d0))/0x9+-parseInt(_0x1327b0(0x1cc))/0xa*(parseInt(_0x1327b0(0x1c6))/0xb);if(_0x4fdaca===_0x272401)break;else _0x43cc3d['push'](_0x43cc3d['shift']());}catch(_0x139709){_0x43cc3d['push'](_0x43cc3d['shift']());}}}(a35_0x483e,0xd59a0));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x4385bf(0x1c4),'command':a35_0x4385bf(0x1d9),'description':a35_0x4385bf(0x1da),'risk':a35_0x4385bf(0x1c8),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3cd164){const _0x4409dc=a35_0x4385bf,_0x539042=buildSkillCreatePlan(_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1cd)),_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1d4)),_0x3cd164[_0x4409dc(0x1e4)](_0x4409dc(0x1dd)));return{'method':_0x4409dc(0x1dc),'url':_0x539042[_0x4409dc(0x1e2)],'body':{'skillName':_0x539042[_0x4409dc(0x1d5)][_0x4409dc(0x1c1)],'type':_0x539042['rendered'][_0x4409dc(0x1d4)],'selfContained':!![],'files':_0x539042['rendered'][_0x4409dc(0x1c2)]['map'](_0x2d6ead=>_0x2d6ead[_0x4409dc(0x1e0)])},'description':_0x4409dc(0x1e1)};},async 'execute'(_0xfa5787){const _0x5821d1=a35_0x4385bf,_0x5c9fa2=buildSkillCreatePlan(_0xfa5787[_0x5821d1(0x1e4)](_0x5821d1(0x1cd)),_0xfa5787[_0x5821d1(0x1e4)]('type'),_0xfa5787[_0x5821d1(0x1e4)](_0x5821d1(0x1dd)));return writeSkillDraft(_0x5c9fa2,_0xfa5787[_0x5821d1(0x1d3)](_0x5821d1(0x1c0))),{'ok':!![],'data':{'skillName':_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c1)],'type':_0x5c9fa2[_0x5821d1(0x1d5)]['type'],'dir':_0x5c9fa2['skillDir'],'files':_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c2)][_0x5821d1(0x1c5)](_0x10ade6=>_0x10ade6[_0x5821d1(0x1e0)])},'message':_0x5821d1(0x1d2)+_0x5c9fa2[_0x5821d1(0x1d5)][_0x5821d1(0x1c1)]};}};function buildSkillCreatePlan(_0x53fff4,_0x547566,_0x3181ad){const _0x50253d=a35_0x4385bf,_0xa2e199=renderSkillTemplate({'skillName':_0x53fff4,'type':_0x547566}),_0x430b37=resolve(normalizeSkillTarget(_0x3181ad));return{'rendered':_0xa2e199,'targetRoot':_0x430b37,'skillDir':resolve(_0x430b37,_0xa2e199[_0x50253d(0x1c1)])};}function normalizeSkillTarget(_0x4c719f){return(_0x4c719f||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function a35_0x5cbc(_0x58b155,_0x2a2b3c){_0x58b155=_0x58b155-0x1bf;const _0x483e43=a35_0x483e();let _0x5cbc57=_0x483e43[_0x58b155];return _0x5cbc57;}function writeSkillDraft(_0x1b2396,_0x574300){const _0x17046c=a35_0x4385bf;if(existsSync(_0x1b2396['skillDir'])){const _0x24fd15=lstatSync(_0x1b2396[_0x17046c(0x1e2)]);if(!_0x24fd15[_0x17046c(0x1c9)]()||_0x24fd15[_0x17046c(0x1df)]())throw CliErrors[_0x17046c(0x1ca)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x1b2396[_0x17046c(0x1e2)]);if(!_0x574300)throw CliErrors[_0x17046c(0x1ca)](_0x17046c(0x1cb)+_0x1b2396[_0x17046c(0x1e2)],_0x17046c(0x1bf));}for(const _0x268e7f of _0x1b2396[_0x17046c(0x1d5)][_0x17046c(0x1c2)]){const _0x36a9b3=resolve(_0x1b2396[_0x17046c(0x1e2)],_0x268e7f[_0x17046c(0x1e0)]),_0x189e88=dirname(_0x36a9b3);mkdirSync(_0x189e88,{'recursive':!![]});if(existsSync(_0x36a9b3)&&lstatSync(_0x36a9b3)['isSymbolicLink']())throw CliErrors[_0x17046c(0x1ca)](_0x17046c(0x1db)+_0x36a9b3);writeFileSync(_0x36a9b3,_0x268e7f[_0x17046c(0x1ce)],_0x17046c(0x1d6));}}
1
+ const a35_0x2f6f7b=a35_0x2d73;(function(_0x5df2e0,_0x562e80){const _0x5cd1ac=a35_0x2d73,_0xd840ba=_0x5df2e0();while(!![]){try{const _0x2b1324=-parseInt(_0x5cd1ac(0x1ef))/0x1+parseInt(_0x5cd1ac(0x20c))/0x2+-parseInt(_0x5cd1ac(0x201))/0x3*(-parseInt(_0x5cd1ac(0x1f7))/0x4)+parseInt(_0x5cd1ac(0x205))/0x5*(parseInt(_0x5cd1ac(0x208))/0x6)+parseInt(_0x5cd1ac(0x1fd))/0x7+-parseInt(_0x5cd1ac(0x209))/0x8+-parseInt(_0x5cd1ac(0x1f4))/0x9;if(_0x2b1324===_0x562e80)break;else _0xd840ba['push'](_0xd840ba['shift']());}catch(_0x172eef){_0xd840ba['push'](_0xd840ba['shift']());}}}(a35_0x2c17,0xbe745));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a35_0x2d73(_0x4ef594,_0x449682){_0x4ef594=_0x4ef594-0x1ee;const _0x2c1700=a35_0x2c17();let _0x2d73ee=_0x2c1700[_0x4ef594];return _0x2d73ee;}function a35_0x2c17(){const _0x5f5b4a=['skillName','path','content','rendered','2522492WJUrbo','target','type','Created\x20local\x20Skill\x20draft\x20','276117MguoDJ','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','6368975BvYXdA','Refusing\x20to\x20overwrite\x20symlink:\x20','isSymbolicLink','6AQdHMY','1394176kdwDYo','files','skill','2277324gXQoGd','skillDir','956503sKlxZt','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','force','map','validation','19354347fhICLm','create','name','56slXRXV','bool'];a35_0x2c17=function(){return _0x5f5b4a;};return a35_0x2c17();}export const createCommand={'service':a35_0x2f6f7b(0x20b),'command':a35_0x2f6f7b(0x1f5),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5536cd){const _0x100574=a35_0x2f6f7b,_0x3ba8a6=buildSkillCreatePlan(_0x5536cd[_0x100574(0x203)](_0x100574(0x1f6)),_0x5536cd[_0x100574(0x203)]('type'),_0x5536cd[_0x100574(0x203)](_0x100574(0x1fe)));return{'method':'WRITE','url':_0x3ba8a6[_0x100574(0x1ee)],'body':{'skillName':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1f9)],'type':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1ff)],'selfContained':!![],'files':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x20a)]['map'](_0x329665=>_0x329665[_0x100574(0x1fa)])},'description':_0x100574(0x204)};},async 'execute'(_0x505884){const _0x8c6365=a35_0x2f6f7b,_0x4a2f48=buildSkillCreatePlan(_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1f6)),_0x505884[_0x8c6365(0x203)]('type'),_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1fe)));return writeSkillDraft(_0x4a2f48,_0x505884[_0x8c6365(0x1f8)](_0x8c6365(0x1f1))),{'ok':!![],'data':{'skillName':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1f9)],'type':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1ff)],'dir':_0x4a2f48[_0x8c6365(0x1ee)],'files':_0x4a2f48['rendered'][_0x8c6365(0x20a)][_0x8c6365(0x1f2)](_0x1c00b2=>_0x1c00b2[_0x8c6365(0x1fa)])},'message':_0x8c6365(0x200)+_0x4a2f48[_0x8c6365(0x1fc)]['skillName']};}};function buildSkillCreatePlan(_0xb4466f,_0x24e6d2,_0x1f596c){const _0x549904=a35_0x2f6f7b,_0x5cffbb=renderSkillTemplate({'skillName':_0xb4466f,'type':_0x24e6d2}),_0x17348c=resolve(normalizeSkillTarget(_0x1f596c));return{'rendered':_0x5cffbb,'targetRoot':_0x17348c,'skillDir':resolve(_0x17348c,_0x5cffbb[_0x549904(0x1f9)])};}function normalizeSkillTarget(_0x445ed1){return(_0x445ed1||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x597e21,_0x1e6bf1){const _0x3c5891=a35_0x2f6f7b;if(existsSync(_0x597e21[_0x3c5891(0x1ee)])){const _0x3e2e37=lstatSync(_0x597e21[_0x3c5891(0x1ee)]);if(!_0x3e2e37['isDirectory']()||_0x3e2e37[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x1f0)+_0x597e21['skillDir']);if(!_0x1e6bf1)throw CliErrors[_0x3c5891(0x1f3)]('Skill\x20directory\x20already\x20exists:\x20'+_0x597e21['skillDir'],_0x3c5891(0x202));}for(const _0x569c5d of _0x597e21[_0x3c5891(0x1fc)][_0x3c5891(0x20a)]){const _0x5ab161=resolve(_0x597e21[_0x3c5891(0x1ee)],_0x569c5d[_0x3c5891(0x1fa)]),_0x14fd7c=dirname(_0x5ab161);mkdirSync(_0x14fd7c,{'recursive':!![]});if(existsSync(_0x5ab161)&&lstatSync(_0x5ab161)[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x206)+_0x5ab161);writeFileSync(_0x5ab161,_0x569c5d[_0x3c5891(0x1fb)],'utf8');}}
@@ -1 +1 @@
1
- const a36_0x1d9f52=a36_0x3895;(function(_0x3d76a5,_0xd02523){const _0x183c7f=a36_0x3895,_0xfe0cf5=_0x3d76a5();while(!![]){try{const _0x893cbb=parseInt(_0x183c7f(0xc4))/0x1+parseInt(_0x183c7f(0xad))/0x2+parseInt(_0x183c7f(0xa7))/0x3*(parseInt(_0x183c7f(0xcf))/0x4)+parseInt(_0x183c7f(0xc1))/0x5*(-parseInt(_0x183c7f(0xc5))/0x6)+parseInt(_0x183c7f(0xb3))/0x7+parseInt(_0x183c7f(0xaa))/0x8+parseInt(_0x183c7f(0xca))/0x9*(-parseInt(_0x183c7f(0xa9))/0xa);if(_0x893cbb===_0xd02523)break;else _0xfe0cf5['push'](_0xfe0cf5['shift']());}catch(_0x4044e1){_0xfe0cf5['push'](_0xfe0cf5['shift']());}}}(a36_0x4a6a,0x6f1e0));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a36_0x3895(_0x2a635e,_0x21618a){_0x2a635e=_0x2a635e-0xa6;const _0x4a6a7b=a36_0x4a6a();let _0x3895bd=_0x4a6a7b[_0x2a635e];return _0x3895bd;}import{summarizeRuntimeSkill}from'../summary.js';function a36_0x4a6a(){const _0x4b274f=['reduce','code','295930XhxqoB','str','install','434921CWuhxr','6kvYvKb','flatMap','map','push','created','3177yhKrhi','authRequired','envName','trim','\x20company\x20Skill(s).','1500wXzphp','write','5742OMGpwN','personal','51380SEPLSn','790560KohHJB','length','scope','697814DeCJJV','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','all','company','skill','includes','5093466jicuTd','skipped','appCode','skillCode','filter','version','removed','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../core/api-client.js','action','accessKey','Installed\x20'];a36_0x4a6a=function(){return _0x4b274f;};return a36_0x4a6a();}export const installCommand={'service':a36_0x1d9f52(0xb1),'command':a36_0x1d9f52(0xc3),'description':a36_0x1d9f52(0xae),'risk':a36_0x1d9f52(0xa6),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x147b9b){return syncRuntimeSkills(_0x147b9b);}};async function syncRuntimeSkills(_0x2c0af1){const _0x40ea63=a36_0x1d9f52,{downloadRuntimeSkillPackage:_0x42e5c0,listRuntimeSkills:_0x22516f}=await import(_0x40ea63(0xbb)),{linkEffectiveRuntimeSkills:_0xe48095,materializeRuntimeSkill:_0x4637bc,pruneStaleRuntimeSkillCache:_0x5d16d5,pruneStaleRuntimeSkillLinks:_0x3af2fe}=await import('../../../skills/runtime-skill-sync.js'),_0x4c33ee=_0x2c0af1['str'](_0x40ea63(0xc0)),_0x2c83eb=normalizeSyncScopes(_0x2c0af1[_0x40ea63(0xc2)](_0x40ea63(0xac))),_0x42b47f=_0x2c0af1[_0x40ea63(0xcc)]??'production',_0x5cfee8=_0x2c0af1[_0x40ea63(0xbd)];if(!_0x5cfee8)throw CliErrors[_0x40ea63(0xcb)](_0x40ea63(0xba));const _0x258068=await Promise[_0x40ea63(0xaf)](_0x2c83eb[_0x40ea63(0xc7)](_0x5d371c=>_0x22516f({'appCode':_0x2c0af1[_0x40ea63(0xb5)],'scope':_0x5d371c,'code':_0x4c33ee[_0x40ea63(0xcd)]()||undefined}))),_0x12d1f4=_0x2c83eb['includes'](_0x40ea63(0xa8))?_0x258068[_0x40ea63(0xc6)]((_0x4511ae,_0x5bc8c4)=>_0x2c83eb[_0x5bc8c4]===_0x40ea63(0xa8)?_0x4511ae[_0x40ea63(0xa8)]:[]):[],_0x30b752=_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xb0))?_0x258068[_0x40ea63(0xc6)]((_0x370ac8,_0x321600)=>_0x2c83eb[_0x321600]==='company'?_0x370ac8[_0x40ea63(0xb0)]:[]):[],_0x3222fd=new Set([..._0x12d1f4[_0x40ea63(0xc7)](_0x2b1e20=>_0x2b1e20[_0x40ea63(0xb6)]?.['trim']())[_0x40ea63(0xb7)](_0x21feb4=>Boolean(_0x21feb4)),..._0x30b752[_0x40ea63(0xc7)](_0x2921d4=>_0x2921d4[_0x40ea63(0xb6)]?.[_0x40ea63(0xcd)]())[_0x40ea63(0xb7)](_0x316688=>Boolean(_0x316688))]),_0xb22ec6=_0x4c33ee[_0x40ea63(0xcd)]()?[_0x4c33ee['trim']()]:undefined,_0x4b6152=_0x2c83eb['length']===0x2&&_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xa8))&&_0x2c83eb[_0x40ea63(0xb2)](_0x40ea63(0xb0)),_0x60024f=_0x4b6152?_0x3af2fe(_0x2c0af1[_0x40ea63(0xb5)],_0x3222fd,{},_0xb22ec6):[],_0x3d17f8=_0x5d16d5({'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1['appCode'],'activeSkillCodes':_0x3222fd,'pruneSkillCodes':_0xb22ec6,'scopes':_0x2c83eb}),_0x537ba0=[];for(const _0xa9a582 of _0x12d1f4){_0x537ba0[_0x40ea63(0xc8)](_0x4637bc(_0xa9a582,'personal',{'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1[_0x40ea63(0xb5)],'packageBytes':await downloadSkillPackage(_0xa9a582,'personal',_0x2c0af1['appCode'],_0x42e5c0)}));}for(const _0x330453 of _0x30b752){_0x537ba0[_0x40ea63(0xc8)](_0x4637bc(_0x330453,_0x40ea63(0xb0),{'env':_0x42b47f,'accessKey':_0x5cfee8,'appCode':_0x2c0af1[_0x40ea63(0xb5)],'packageBytes':await downloadSkillPackage(_0x330453,_0x40ea63(0xb0),_0x2c0af1['appCode'],_0x42e5c0)}));}const _0x11cb7d=_0xe48095(_0x537ba0,_0x2c0af1[_0x40ea63(0xb5)]),_0x163d3f=countLinkActions(_0x11cb7d);return{'ok':!![],'data':{'appCode':_0x2c0af1['appCode'],'personal':_0x12d1f4['length'],'company':_0x30b752[_0x40ea63(0xab)],'materialized':_0x537ba0[_0x40ea63(0xab)],'links':{'total':_0x11cb7d['length'],'created':_0x163d3f[_0x40ea63(0xc9)]??0x0,'updated':_0x163d3f['updated']??0x0,'unchanged':_0x163d3f['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x60024f[_0x40ea63(0xb7)](_0x26a1e1=>_0x26a1e1['action']===_0x40ea63(0xb9))['length'],'cacheDirs':_0x3d17f8['filter'](_0x36de96=>_0x36de96[_0x40ea63(0xbc)]==='removed')[_0x40ea63(0xab)],'skipped':[..._0x60024f,..._0x3d17f8]['filter'](_0x38095a=>_0x38095a[_0x40ea63(0xbc)]===_0x40ea63(0xb4))[_0x40ea63(0xab)]},'skills':{'personal':_0x12d1f4[_0x40ea63(0xc7)](summarizeRuntimeSkill),'company':_0x30b752[_0x40ea63(0xc7)](summarizeRuntimeSkill)}},'message':_0x40ea63(0xbe)+_0x12d1f4['length']+'\x20personal\x20and\x20'+_0x30b752[_0x40ea63(0xab)]+_0x40ea63(0xce)};}async function downloadSkillPackage(_0x5dcc30,_0x191957,_0x413065,_0x1f03e1){const _0x18058e=a36_0x1d9f52,_0x5c85b5=_0x5dcc30[_0x18058e(0xb8)]?.['trim']();return _0x5c85b5?_0x1f03e1(_0x191957,_0x5dcc30['skillCode'],_0x413065,_0x5c85b5):_0x1f03e1(_0x191957,_0x5dcc30['skillCode'],_0x413065);}function countLinkActions(_0x288357){const _0x22aa0e=a36_0x1d9f52;return _0x288357[_0x22aa0e(0xbf)]((_0x23506c,_0x24cf70)=>{const _0x6c1e11=_0x22aa0e;return _0x23506c[_0x24cf70[_0x6c1e11(0xbc)]]=(_0x23506c[_0x24cf70['action']]??0x0)+0x1,_0x23506c;},{});}
1
+ const a36_0x5bba66=a36_0x43b3;(function(_0x5227b4,_0x3785bd){const _0x327784=a36_0x43b3,_0x7ed755=_0x5227b4();while(!![]){try{const _0x2abfbb=-parseInt(_0x327784(0x142))/0x1+parseInt(_0x327784(0x153))/0x2*(-parseInt(_0x327784(0x14c))/0x3)+parseInt(_0x327784(0x15b))/0x4+parseInt(_0x327784(0x161))/0x5*(parseInt(_0x327784(0x13e))/0x6)+-parseInt(_0x327784(0x15a))/0x7*(parseInt(_0x327784(0x145))/0x8)+-parseInt(_0x327784(0x15f))/0x9+parseInt(_0x327784(0x143))/0xa;if(_0x2abfbb===_0x3785bd)break;else _0x7ed755['push'](_0x7ed755['shift']());}catch(_0x29a8d0){_0x7ed755['push'](_0x7ed755['shift']());}}}(a36_0x3cc1,0xe41c9));import{CliErrors}from'../../../errors.js';function a36_0x3cc1(){const _0x454a71=['updated','authRequired','all','2383239fWMOst','scope','push','trim','version','action','Installed\x20','4CODkzC','skill','skillCode','write','length','\x20personal\x20and\x20','production','511BKTTjn','5056860zWbZCa','str','../../../skills/runtime-skill-sync.js','personal','16614567LVAcAt','created','908025OXoSLt','filter','unchanged','includes','\x20company\x20Skill(s).','company','code','6VufjVp','appCode','map','removed','249233tDbOPY','44083180qUrORa','reduce','135416oIEdHu','skipped','flatMap','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.'];a36_0x3cc1=function(){return _0x454a71;};return a36_0x3cc1();}import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a36_0x43b3(_0x53d041,_0x24983c){_0x53d041=_0x53d041-0x138;const _0x3cc183=a36_0x3cc1();let _0x43b38d=_0x3cc183[_0x53d041];return _0x43b38d;}export const installCommand={'service':a36_0x5bba66(0x154),'command':'install','description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x5bba66(0x156),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1822cc){return syncRuntimeSkills(_0x1822cc);}};async function syncRuntimeSkills(_0x51648a){const _0x44f4dd=a36_0x5bba66,{downloadRuntimeSkillPackage:_0x20d43c,listRuntimeSkills:_0x5cb60f}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x5c2dae,materializeRuntimeSkill:_0x5e63b1,pruneStaleRuntimeSkillCache:_0x3b3484,pruneStaleRuntimeSkillLinks:_0x3bbb88}=await import(_0x44f4dd(0x15d)),_0x218e82=_0x51648a['str'](_0x44f4dd(0x13d)),_0x652eda=normalizeSyncScopes(_0x51648a[_0x44f4dd(0x15c)](_0x44f4dd(0x14d))),_0x5d7006=_0x51648a['envName']??_0x44f4dd(0x159),_0x1e1ed7=_0x51648a['accessKey'];if(!_0x1e1ed7)throw CliErrors[_0x44f4dd(0x14a)](_0x44f4dd(0x148));const _0x50383f=await Promise[_0x44f4dd(0x14b)](_0x652eda[_0x44f4dd(0x140)](_0x3b6732=>_0x5cb60f({'appCode':_0x51648a[_0x44f4dd(0x13f)],'scope':_0x3b6732,'code':_0x218e82['trim']()||undefined}))),_0x36ec3a=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))?_0x50383f[_0x44f4dd(0x147)]((_0x22bf4f,_0x198a40)=>_0x652eda[_0x198a40]===_0x44f4dd(0x15e)?_0x22bf4f[_0x44f4dd(0x15e)]:[]):[],_0x5b4216=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c))?_0x50383f[_0x44f4dd(0x147)]((_0x103c84,_0xa5189a)=>_0x652eda[_0xa5189a]===_0x44f4dd(0x13c)?_0x103c84[_0x44f4dd(0x13c)]:[]):[],_0x57ec60=new Set([..._0x36ec3a[_0x44f4dd(0x140)](_0x4823a0=>_0x4823a0[_0x44f4dd(0x155)]?.['trim']())[_0x44f4dd(0x138)](_0x158fe2=>Boolean(_0x158fe2)),..._0x5b4216[_0x44f4dd(0x140)](_0xfa61b9=>_0xfa61b9['skillCode']?.[_0x44f4dd(0x14f)]())['filter'](_0x20a593=>Boolean(_0x20a593))]),_0xce884f=_0x218e82[_0x44f4dd(0x14f)]()?[_0x218e82['trim']()]:undefined,_0x490064=_0x652eda['length']===0x2&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c)),_0x84e75d=_0x490064?_0x3bbb88(_0x51648a[_0x44f4dd(0x13f)],_0x57ec60,{},_0xce884f):[],_0x4bd95a=_0x3b3484({'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'activeSkillCodes':_0x57ec60,'pruneSkillCodes':_0xce884f,'scopes':_0x652eda}),_0x45e45f=[];for(const _0x101068 of _0x36ec3a){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x101068,_0x44f4dd(0x15e),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x101068,_0x44f4dd(0x15e),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}for(const _0x8a3118 of _0x5b4216){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x8a3118,_0x44f4dd(0x13c),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x8a3118,_0x44f4dd(0x13c),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}const _0x1ffc8b=_0x5c2dae(_0x45e45f,_0x51648a['appCode']),_0x1dff77=countLinkActions(_0x1ffc8b);return{'ok':!![],'data':{'appCode':_0x51648a[_0x44f4dd(0x13f)],'personal':_0x36ec3a[_0x44f4dd(0x157)],'company':_0x5b4216[_0x44f4dd(0x157)],'materialized':_0x45e45f['length'],'links':{'total':_0x1ffc8b['length'],'created':_0x1dff77[_0x44f4dd(0x160)]??0x0,'updated':_0x1dff77[_0x44f4dd(0x149)]??0x0,'unchanged':_0x1dff77[_0x44f4dd(0x139)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x84e75d[_0x44f4dd(0x138)](_0x5b5bf5=>_0x5b5bf5[_0x44f4dd(0x151)]==='removed')[_0x44f4dd(0x157)],'cacheDirs':_0x4bd95a[_0x44f4dd(0x138)](_0x2e673b=>_0x2e673b[_0x44f4dd(0x151)]===_0x44f4dd(0x141))[_0x44f4dd(0x157)],'skipped':[..._0x84e75d,..._0x4bd95a]['filter'](_0x1c131e=>_0x1c131e[_0x44f4dd(0x151)]===_0x44f4dd(0x146))[_0x44f4dd(0x157)]},'skills':{'personal':_0x36ec3a[_0x44f4dd(0x140)](summarizeRuntimeSkill),'company':_0x5b4216[_0x44f4dd(0x140)](summarizeRuntimeSkill)}},'message':_0x44f4dd(0x152)+_0x36ec3a[_0x44f4dd(0x157)]+_0x44f4dd(0x158)+_0x5b4216[_0x44f4dd(0x157)]+_0x44f4dd(0x13b)};}async function downloadSkillPackage(_0xa22a08,_0x579f51,_0x7ab232,_0x525dc9){const _0x102db6=a36_0x5bba66,_0x58c5df=_0xa22a08[_0x102db6(0x150)]?.[_0x102db6(0x14f)]();return _0x58c5df?_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232,_0x58c5df):_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232);}function countLinkActions(_0x5f4277){const _0x125ace=a36_0x5bba66;return _0x5f4277[_0x125ace(0x144)]((_0x2619c1,_0x16cc95)=>{const _0x4799c0=_0x125ace;return _0x2619c1[_0x16cc95[_0x4799c0(0x151)]]=(_0x2619c1[_0x16cc95[_0x4799c0(0x151)]]??0x0)+0x1,_0x2619c1;},{});}