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

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 (108) 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/push-retarget.js +1 -0
  45. package/lib/commands/skill/scopes.js +1 -1
  46. package/lib/commands/skill/summary.js +1 -1
  47. package/lib/commands/skill/templates.js +1 -1
  48. package/lib/commands/skill/validate.js +1 -1
  49. package/lib/commands/sql/detail.js +1 -1
  50. package/lib/commands/sql/exec.js +1 -1
  51. package/lib/commands/sql/index.js +1 -1
  52. package/lib/commands/update.js +1 -1
  53. package/lib/commands/workspace/index.js +1 -1
  54. package/lib/config/schema.js +1 -1
  55. package/lib/constant/app.js +1 -1
  56. package/lib/constant/auth-mode.js +1 -1
  57. package/lib/constant/cli.js +1 -1
  58. package/lib/constant/defaults.js +1 -1
  59. package/lib/constant/distribution.js +1 -1
  60. package/lib/constant/domain.js +1 -1
  61. package/lib/constant/env.js +1 -1
  62. package/lib/constant/output.js +1 -1
  63. package/lib/constant/product.js +1 -1
  64. package/lib/constant/risk.js +1 -1
  65. package/lib/constant/url.js +1 -1
  66. package/lib/context.js +1 -1
  67. package/lib/core/api-client.js +1 -1
  68. package/lib/core/db-resolver.js +1 -1
  69. package/lib/core/sdk-client.js +1 -1
  70. package/lib/errors.js +1 -1
  71. package/lib/framework/build-all-flags.js +1 -1
  72. package/lib/framework/dryrun.js +1 -1
  73. package/lib/framework/flags.js +1 -1
  74. package/lib/framework/help.js +1 -1
  75. package/lib/framework/index.js +1 -1
  76. package/lib/framework/output.js +1 -1
  77. package/lib/framework/preparse.js +1 -1
  78. package/lib/framework/response.js +1 -1
  79. package/lib/framework/runner-confirmation.js +1 -1
  80. package/lib/framework/runner-error.js +1 -1
  81. package/lib/framework/runner.js +1 -1
  82. package/lib/framework/schema-export.js +1 -1
  83. package/lib/framework/types.js +1 -1
  84. package/lib/generated/build-info.js +1 -1
  85. package/lib/help.js +1 -1
  86. package/lib/skills/npx-skills-add.js +1 -1
  87. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  88. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  89. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  90. package/lib/skills/runtime-skill-sync/links.js +1 -1
  91. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  92. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  93. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  94. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  95. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  96. package/lib/skills/runtime-skill-sync/push.js +1 -1
  97. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  98. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  99. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  100. package/lib/skills/runtime-skill-sync.js +1 -1
  101. package/lib/utils/apply-jq-filter.js +1 -1
  102. package/lib/utils/logger.js +1 -1
  103. package/lib/utils/params.js +1 -1
  104. package/lib/utils/platform.js +1 -1
  105. package/lib/utils/update-notice.js +1 -1
  106. package/lib/utils/version.js +1 -1
  107. package/lib/utils/write-cli-side-channel.js +1 -1
  108. 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_0x4bd7c5=a27_0x46ea;(function(_0x1b6929,_0x432759){const _0x23ec60=a27_0x46ea,_0x35d49f=_0x1b6929();while(!![]){try{const _0x8a5b15=-parseInt(_0x23ec60(0xa7))/0x1+parseInt(_0x23ec60(0xa2))/0x2+-parseInt(_0x23ec60(0xb8))/0x3*(parseInt(_0x23ec60(0xc2))/0x4)+-parseInt(_0x23ec60(0x9f))/0x5*(-parseInt(_0x23ec60(0xd2))/0x6)+-parseInt(_0x23ec60(0xb1))/0x7*(-parseInt(_0x23ec60(0xbd))/0x8)+-parseInt(_0x23ec60(0xba))/0x9+-parseInt(_0x23ec60(0x99))/0xa*(parseInt(_0x23ec60(0xb6))/0xb);if(_0x8a5b15===_0x432759)break;else _0x35d49f['push'](_0x35d49f['shift']());}catch(_0x893ec6){_0x35d49f['push'](_0x35d49f['shift']());}}}(a27_0x8bf3,0x5b97e));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';function a27_0x8bf3(){const _0x4c1b35=['write','updateTime','metadata','version','1591004tBYqUU','description','verbose','list','docId','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','flag','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','/client/knowledge-base/personal/','/update','map','File\x20path\x20is\x20required.','str','topk','file','userId','42JLytIW','score','Override\x20the\x20existing\x20entry\x20title','content','ragStatus','weightedScore','/client/knowledge-base/personal/create','validation','Search\x20query\x20is\x20required.','isFinite','create','10FpllPo','Personal\x20knowledge-base\x20entry\x20ID','POST','createTime','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','trim','412970pqULew','File\x20not\x20found:\x20','Updated\x20KB\x20entry\x20','1489148KuenmX','detail','scope','ragErrorMessage','query','60831ZWsVtv','appCode','title','update','string','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','build','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','bool','--topk\x20must\x20be\x20a\x20positive\x20number.','20902rThMpE','search','body','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','num','5870491MyfKBf','read','3YxxtPU','File\x20is\x20not\x20a\x20regular\x20file:\x20','2795733ZyZYBW','Personal\x20knowledge-base\x20entry\x20title','length','952OIVYMx'];a27_0x8bf3=function(){return _0x4c1b35;};return a27_0x8bf3();}const TITLE_FLAG={'name':a27_0x4bd7c5(0xa9),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xbb)},FILE_FLAG={'name':a27_0x4bd7c5(0xd0),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xc7)},QUERY_FLAG={'name':a27_0x4bd7c5(0xa6),'type':a27_0x4bd7c5(0xab),'required':!![],'description':'Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge'},TOPK_FLAG={'name':a27_0x4bd7c5(0xcf),'type':'number','description':a27_0x4bd7c5(0xb4)};function readKnowledgeFile(_0x54c495){const _0xaa6972=a27_0x4bd7c5;if(!_0x54c495)throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xcd));if(!existsSync(_0x54c495))throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xa0)+_0x54c495);if(!statSync(_0x54c495)['isFile']())throw CliErrors['validation'](_0xaa6972(0xb9)+_0x54c495);return readFileSync(_0x54c495,'utf8');}function summarizePersonalItem(_0x4fbbdd){const _0x4ab809=a27_0x4bd7c5;return{'id':_0x4fbbdd['id'],'title':_0x4fbbdd[_0x4ab809(0xa9)],'version':_0x4fbbdd[_0x4ab809(0xc1)],'ragStatus':_0x4fbbdd[_0x4ab809(0x92)],'ragErrorMessage':_0x4fbbdd[_0x4ab809(0xa5)],'updateTime':_0x4fbbdd[_0x4ab809(0xbf)]};}function a27_0x46ea(_0x30d8dd,_0x1d6832){_0x30d8dd=_0x30d8dd-0x92;const _0x8bf308=a27_0x8bf3();let _0x46ead4=_0x8bf308[_0x30d8dd];return _0x46ead4;}function detailPersonalItem(_0x4d693f){const _0x3e8c5d=a27_0x4bd7c5;return{'id':_0x4d693f['id'],'appCode':_0x4d693f[_0x3e8c5d(0xa8)],'scope':_0x4d693f[_0x3e8c5d(0xa4)],'userId':_0x4d693f[_0x3e8c5d(0xd1)],'title':_0x4d693f[_0x3e8c5d(0xa9)],'content':_0x4d693f[_0x3e8c5d(0xd5)]??'','version':_0x4d693f[_0x3e8c5d(0xc1)],'ragStatus':_0x4d693f['ragStatus'],'ragErrorMessage':_0x4d693f[_0x3e8c5d(0xa5)],'createTime':_0x4d693f[_0x3e8c5d(0x9c)],'updateTime':_0x4d693f[_0x3e8c5d(0xbf)]};}function summarizeSearchHit(_0x5c815f){const _0x418b15=a27_0x4bd7c5;return{'scope':_0x5c815f['scope'],'docId':_0x5c815f[_0x418b15(0xc6)],'score':_0x5c815f[_0x418b15(0xd3)],'weightedScore':_0x5c815f[_0x418b15(0x93)],'content':_0x5c815f[_0x418b15(0xd5)],'metadata':_0x5c815f[_0x418b15(0xc0)]};}function readTopK(_0x14f95a){const _0x46bf16=a27_0x4bd7c5,_0x194875=_0x14f95a[_0x46bf16(0xc8)](_0x46bf16(0xcf));if(_0x194875===undefined||_0x194875===null||_0x194875==='')return undefined;const _0x2db85f=_0x14f95a[_0x46bf16(0xb5)](_0x46bf16(0xcf));if(!Number[_0x46bf16(0x97)](_0x2db85f)||_0x2db85f<0x1)throw CliErrors[_0x46bf16(0x95)](_0x46bf16(0xb0));return _0x2db85f;}const kbList={'service':'kb','command':a27_0x4bd7c5(0xc5),'description':'List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x7e8b3b){const _0x51fcb1=a27_0x4bd7c5,_0x4cc431=await listPersonalKnowledgeBaseItems(_0x7e8b3b[_0x51fcb1(0xa8)]);if(_0x7e8b3b[_0x51fcb1(0xaf)](_0x51fcb1(0xc4)))return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431}};return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431[_0x51fcb1(0xcc)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x4bd7c5(0xa3),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0x4bd7c5(0xb7),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)}],async 'execute'(_0x187bc8){const _0x194cf3=a27_0x4bd7c5,_0x22d0b0=await getPersonalKnowledgeBaseItem(_0x187bc8[_0x194cf3(0xb5)]('id'),_0x187bc8[_0x194cf3(0xa8)]);return{'ok':!![],'data':detailPersonalItem(_0x22d0b0)};}},kbCreate={'service':'kb','command':a27_0x4bd7c5(0x98),'description':a27_0x4bd7c5(0xae),'risk':a27_0x4bd7c5(0xbe),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x1ce6a1){const _0x17e5da=a27_0x4bd7c5,_0x452165=_0x1ce6a1[_0x17e5da(0xce)](_0x17e5da(0xa9)),_0x4cd3c5=readKnowledgeFile(_0x1ce6a1['str'](_0x17e5da(0xd0))),_0x13e3a2=await createPersonalKnowledgeBaseItem(_0x1ce6a1[_0x17e5da(0xa8)],{'title':_0x452165,'content':_0x4cd3c5});return{'ok':!![],'data':summarizePersonalItem(_0x13e3a2),'message':'Created\x20KB\x20entry\x20'+_0x13e3a2['id']+'\x20('+_0x13e3a2[_0x17e5da(0xa9)]+')'};},async 'dryRun'(_0x38c932){const _0x486ebd=a27_0x4bd7c5,_0x340477=_0x38c932['str'](_0x486ebd(0xa9)),_0x2a7e95=readKnowledgeFile(_0x38c932[_0x486ebd(0xce)]('file'));return dryRun(_0x486ebd(0x9b),_0x486ebd(0x94))[_0x486ebd(0xb3)]({'appCode':_0x38c932[_0x486ebd(0xa8)],'title':_0x340477,'content':_0x2a7e95})[_0x486ebd(0xc3)](_0x486ebd(0x9d)+_0x340477+'\x22')['build']();}},kbUpdate={'service':'kb','command':a27_0x4bd7c5(0xaa),'description':a27_0x4bd7c5(0xc9),'risk':a27_0x4bd7c5(0xbe),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)},{...TITLE_FLAG,'required':![],'description':a27_0x4bd7c5(0xd4)},FILE_FLAG],async 'execute'(_0x975e7d){const _0x4bb412=a27_0x4bd7c5,_0x2f00a1=_0x975e7d['num']('id'),_0x2878e6=readKnowledgeFile(_0x975e7d['str'](_0x4bb412(0xd0))),_0x2b9a85=_0x975e7d[_0x4bb412(0xce)]('title')||(await getPersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d['appCode']))[_0x4bb412(0xa9)],_0x1e2925=await updatePersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d[_0x4bb412(0xa8)],{'title':_0x2b9a85,'content':_0x2878e6});return{'ok':!![],'data':summarizePersonalItem(_0x1e2925),'message':_0x4bb412(0xa1)+_0x1e2925['id']+'\x20('+_0x1e2925[_0x4bb412(0xa9)]+')'};},async 'dryRun'(_0x581e16){const _0x5b082e=a27_0x4bd7c5,_0x4b6ea2=_0x581e16[_0x5b082e(0xb5)]('id'),_0x17d6bf=readKnowledgeFile(_0x581e16['str'](_0x5b082e(0xd0))),_0x1df85c=_0x581e16['str'](_0x5b082e(0xa9))||(await getPersonalKnowledgeBaseItem(_0x4b6ea2,_0x581e16[_0x5b082e(0xa8)]))['title'];return dryRun(_0x5b082e(0x9b),_0x5b082e(0xca)+_0x4b6ea2+_0x5b082e(0xcb))['body']({'appCode':_0x581e16[_0x5b082e(0xa8)],'title':_0x1df85c,'content':_0x17d6bf})[_0x5b082e(0xc3)](_0x5b082e(0xac)+_0x4b6ea2)[_0x5b082e(0xad)]();}},kbSearch={'service':'kb','command':a27_0x4bd7c5(0xb2),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x4bd7c5(0xb7),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3ad5a9){const _0xa91061=a27_0x4bd7c5;if(!_0x3ad5a9['str'](_0xa91061(0xa6))[_0xa91061(0x9e)]())throw CliErrors['validation'](_0xa91061(0x96));readTopK(_0x3ad5a9);},async 'execute'(_0x408404){const _0x4b12ee=a27_0x4bd7c5,_0x516bde=_0x408404[_0x4b12ee(0xce)](_0x4b12ee(0xa6))[_0x4b12ee(0x9e)](),_0x1e7a7c=readTopK(_0x408404),_0x22ddf0=await searchKnowledgeBase(_0x408404[_0x4b12ee(0xa8)],{'query':_0x516bde,'topK':_0x1e7a7c});return{'ok':!![],'data':{'total':_0x22ddf0[_0x4b12ee(0xbc)],'hits':_0x22ddf0['map'](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_0xd892b1=a28_0x10c9;(function(_0x51b309,_0x99ae54){const _0x9a93d0=a28_0x10c9,_0x1e420d=_0x51b309();while(!![]){try{const _0x8e54e9=-parseInt(_0x9a93d0(0xcf))/0x1*(parseInt(_0x9a93d0(0xd3))/0x2)+parseInt(_0x9a93d0(0xc3))/0x3+-parseInt(_0x9a93d0(0xc2))/0x4+parseInt(_0x9a93d0(0xe1))/0x5+parseInt(_0x9a93d0(0xcb))/0x6*(-parseInt(_0x9a93d0(0xdd))/0x7)+parseInt(_0x9a93d0(0xd5))/0x8*(parseInt(_0x9a93d0(0xc9))/0x9)+parseInt(_0x9a93d0(0xdb))/0xa;if(_0x8e54e9===_0x99ae54)break;else _0x1e420d['push'](_0x1e420d['shift']());}catch(_0x1f4c1f){_0x1e420d['push'](_0x1e420d['shift']());}}}(a28_0x509e,0x8457c));function a28_0x10c9(_0x25189,_0x599c4e){_0x25189=_0x25189-0xc1;const _0x509e34=a28_0x509e();let _0x10c96a=_0x509e34[_0x25189];return _0x10c96a;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x1816d4){const _0x3cdf83=a28_0x10c9;if(_0x1816d4[_0x3cdf83(0xd6)]===0x0){console[_0x3cdf83(0xcc)](_0x3cdf83(0xde));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x3cdf83(0xd1)),_0x1816d4['forEach']((_0x1859c4,_0x4e892b)=>{const _0x1f196c=_0x3cdf83,_0x4f712b=new Date(_0x1859c4['timestamp'])[_0x1f196c(0xc1)](_0x1f196c(0xe2)),_0x4fb71a=_0x1859c4['level']===_0x1f196c(0xca)?'√':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xd7)?'×':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xe3)?'!':'i';console[_0x1f196c(0xcc)](_0x4e892b+0x1+'.\x20'+_0x4fb71a+'\x20['+_0x1859c4[_0x1f196c(0xc8)]+']\x20'+_0x1859c4[_0x1f196c(0xc7)]),console['log'](_0x1f196c(0xd0)+_0x4f712b),_0x1859c4[_0x1f196c(0xda)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x1859c4[_0x1f196c(0xda)]+'ms'),_0x1859c4[_0x1f196c(0xdf)]&&Object[_0x1f196c(0xc4)](_0x1859c4['details'])[_0x1f196c(0xd6)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON[_0x1f196c(0xdc)](_0x1859c4[_0x1f196c(0xdf)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':'logs','command':a28_0xd892b1(0xd9),'description':'View\x20command\x20history\x20logs','risk':a28_0xd892b1(0xc5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x353b7c){const _0x11043a=a28_0xd892b1;return printLogs(logger[_0x11043a(0xe0)]()),{'ok':!![]};}},{'service':a28_0xd892b1(0xd8),'command':a28_0xd892b1(0xd2),'description':a28_0xd892b1(0xc6),'risk':a28_0xd892b1(0xd4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x405c8c){const _0x12398b=a28_0xd892b1;return logger['clearLogs'](),console['log'](_0x12398b(0xce)),{'ok':!![]};}}];function a28_0x509e(){const _0x229cbd=['\x20\x20\x20Time:\x20','\x20logs:\x0a','clear','4DjCurA','write','2792ymgsqV','length','error','logs','show','duration','7669190VqPlGs','stringify','14ZnNAJK','*\x20No\x20logs\x20found','details','readLogs','496895EqSapO','en-US','warn','toLocaleString','2444116Yzhwad','1040760uovcWh','keys','read','Clear\x20command\x20history\x20logs','message','command','20457rARVJN','success','2050254PCdYyh','log','level','*\x20Logs\x20cleared','84986tNlEqR'];a28_0x509e=function(){return _0x229cbd;};return a28_0x509e();}
@@ -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_0x5b403f=a29_0x23ab;(function(_0xb06a82,_0x2edf0d){const _0x1991d4=a29_0x23ab,_0x301397=_0xb06a82();while(!![]){try{const _0x35b79c=parseInt(_0x1991d4(0x182))/0x1*(-parseInt(_0x1991d4(0x17f))/0x2)+-parseInt(_0x1991d4(0x16f))/0x3+-parseInt(_0x1991d4(0x167))/0x4+-parseInt(_0x1991d4(0x179))/0x5*(parseInt(_0x1991d4(0x198))/0x6)+parseInt(_0x1991d4(0x19a))/0x7+parseInt(_0x1991d4(0x17b))/0x8*(parseInt(_0x1991d4(0x188))/0x9)+parseInt(_0x1991d4(0x1a4))/0xa;if(_0x35b79c===_0x2edf0d)break;else _0x301397['push'](_0x301397['shift']());}catch(_0x3b6ab2){_0x301397['push'](_0x301397['shift']());}}}(a29_0x3086,0x3d9cd));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_0x5b403f(0x1a7),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x1a5)},FUNCTION_NAME_FLAG={'name':a29_0x5b403f(0x16e),'type':'string','required':!![],'description':a29_0x5b403f(0x192)},DESCRIPTION_FLAG={'name':a29_0x5b403f(0x1a8),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x196)},SOURCE_SESSION_FLAG={'name':a29_0x5b403f(0x177),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x19d)};function normalizeFunctionName(_0x3b41af){const _0x2df269=a29_0x5b403f,_0x1aea0c=String(_0x3b41af||'')[_0x2df269(0x189)]();if(!_0x1aea0c||!FUNCTION_NAME_PATTERN[_0x2df269(0x19b)](_0x1aea0c))throw CliErrors[_0x2df269(0x1a2)](_0x2df269(0x17e));return _0x1aea0c;}function readScriptFile(_0x28b25a){const _0x3d4aa2=a29_0x5b403f;if(!_0x28b25a)throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x184));if(!existsSync(_0x28b25a))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x28b25a);if(!statSync(_0x28b25a)[_0x3d4aa2(0x1a0)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x185)+_0x28b25a);const _0xe1dec0=readFileSync(_0x28b25a,'utf8');if(!_0xe1dec0[_0x3d4aa2(0x189)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x18b));return _0xe1dec0;}function a29_0x23ab(_0x1462db,_0x26279f){_0x1462db=_0x1462db-0x164;const _0x308662=a29_0x3086();let _0x23abf0=_0x308662[_0x1462db];return _0x23abf0;}function a29_0x3086(){const _0x2b89dc=['isArray','gmtModified','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','9622khNUWM','create','num','27JOCjvB','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','gmtCreate','Preview:\x20create\x20personal\x20BFF\x20','377343ozAKqe','trim','flag','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/update','length','body','read','updateTime','Executed\x20personal\x20BFF\x20','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','list','personal-bff','/client/runtime-bff/personal/','Personal\x20BFF\x20description','update','12HjHIWp','Preview:\x20update\x20personal\x20BFF\x20','2852815cdnbMO','test','sourceSessionId','Optional\x20source\x20RuntimeAgent\x20session\x20id','write','exec','isFile','high-risk-write','validation','createUserId','1033800aVsqVc','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','scriptContent','file','description','functionName','keys','verbose','1804020XUammg','map','version','string','Show\x20one\x20personal\x20BFF\x20by\x20id','scriptType','Updated\x20personal\x20BFF\x20','name','26178LJVFiA','--params\x20must\x20be\x20a\x20JSON\x20object.','POST','params','str','Created\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','source-session-id','detail','220505ssUHTp','appCode','80luzzgI'];a29_0x3086=function(){return _0x2b89dc;};return a29_0x3086();}function optionalTrimmed(_0x40ceac){const _0x209302=a29_0x5b403f,_0x1b1422=String(_0x40ceac||'')[_0x209302(0x189)]();return _0x1b1422||undefined;}function summarizeBff(_0x1b60b4){const _0x212e76=a29_0x5b403f;return{'id':_0x1b60b4['id'],'appCode':_0x1b60b4[_0x212e76(0x17a)],'functionName':_0x1b60b4[_0x212e76(0x164)],'description':_0x1b60b4[_0x212e76(0x1a8)],'scriptType':_0x1b60b4[_0x212e76(0x16c)],'version':_0x1b60b4['version'],'gmtModified':_0x1b60b4[_0x212e76(0x17d)],'updateTime':_0x1b60b4['updateTime']};}function detailBff(_0x51b3f4){const _0x58ed10=a29_0x5b403f;return{'id':_0x51b3f4['id'],'appCode':_0x51b3f4['appCode'],'functionName':_0x51b3f4[_0x58ed10(0x164)],'description':_0x51b3f4[_0x58ed10(0x1a8)],'scriptType':_0x51b3f4[_0x58ed10(0x16c)],'scriptContent':_0x51b3f4[_0x58ed10(0x1a6)]??'','config':_0x51b3f4['config'],'version':_0x51b3f4[_0x58ed10(0x169)],'createUserId':_0x51b3f4[_0x58ed10(0x1a3)],'gmtCreate':_0x51b3f4[_0x58ed10(0x186)],'gmtModified':_0x51b3f4[_0x58ed10(0x17d)],'createTime':_0x51b3f4['createTime'],'updateTime':_0x51b3f4[_0x58ed10(0x190)]};}function buildCreateInput(_0x42840a){const _0xcc40fd=a29_0x5b403f;return{'functionName':normalizeFunctionName(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x16e))),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x1a8)))?{'description':optionalTrimmed(_0x42840a['str'](_0xcc40fd(0x1a8)))}:{},'scriptContent':readScriptFile(_0x42840a['str']('file')),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))?{'sourceSessionId':optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))}:{}};}function buildUpdateInput(_0x3c5e3a){const _0x3bd461=a29_0x5b403f,_0x528755={};optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e)))&&(_0x528755['functionName']=normalizeFunctionName(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e))));_0x3c5e3a['flag'](_0x3bd461(0x1a8))!==undefined&&(_0x528755[_0x3bd461(0x1a8)]=_0x3c5e3a['str']('description'));optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)]('file'))&&(_0x528755[_0x3bd461(0x1a6)]=readScriptFile(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x1a7))));_0x3c5e3a[_0x3bd461(0x18a)]('source-session-id')!==undefined&&(_0x528755[_0x3bd461(0x19c)]=_0x3c5e3a['str']('source-session-id'));if(Object[_0x3bd461(0x165)](_0x528755)['length']===0x0)throw CliErrors[_0x3bd461(0x1a2)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x528755;}function parseExecParams(_0x4446f9){const _0x3e11f0=a29_0x5b403f,_0x5d6629=parseJsonParams(_0x4446f9)??{};if(Array[_0x3e11f0(0x17c)](_0x5d6629))throw CliErrors['validation'](_0x3e11f0(0x170));return _0x5d6629;}const personalBffList={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x193),'description':a29_0x5b403f(0x183),'risk':a29_0x5b403f(0x18f),'flags':[VERBOSE_FLAG],async 'execute'(_0x2dca97){const _0xc77dd6=a29_0x5b403f,_0x5db7ca=await listPersonalBffs(_0x2dca97[_0xc77dd6(0x17a)]);return{'ok':!![],'data':{'total':_0x5db7ca[_0xc77dd6(0x18d)],'items':_0x2dca97['bool'](_0xc77dd6(0x166))?_0x5db7ca:_0x5db7ca[_0xc77dd6(0x168)](summarizeBff)}};}},personalBffDetail={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x178),'description':a29_0x5b403f(0x16b),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)}],async 'execute'(_0x29520c){const _0x6a6e6e=a29_0x5b403f,_0x47fb55=await getPersonalBff(_0x29520c['num']('id'),_0x29520c[_0x6a6e6e(0x17a)]);return{'ok':!![],'data':detailBff(_0x47fb55)};}},personalBffCreate={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x180),'description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x5b403f(0x19e),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2be042){const _0x39aac4=a29_0x5b403f,_0x19a34f=buildCreateInput(_0x2be042),_0x2f3555=await createPersonalBff(_0x2be042[_0x39aac4(0x17a)],_0x19a34f);return{'ok':!![],'data':detailBff(_0x2f3555),'message':_0x39aac4(0x174)+_0x2f3555['id']+(_0x2f3555[_0x39aac4(0x164)]?'\x20('+_0x2f3555[_0x39aac4(0x164)]+')':'')};},async 'dryRun'(_0x3e9feb){const _0x1d0f30=a29_0x5b403f,_0x2a3c6e=buildCreateInput(_0x3e9feb);return dryRun(_0x1d0f30(0x171),'/client/runtime-bff/personal/create')[_0x1d0f30(0x18e)]({'appCode':_0x3e9feb[_0x1d0f30(0x17a)],..._0x2a3c6e})[_0x1d0f30(0x1a8)](_0x1d0f30(0x187)+_0x2a3c6e[_0x1d0f30(0x164)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x5b403f(0x197),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x5b403f(0x19e),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x14be0e){const _0x18eef5=a29_0x5b403f,_0x3f5236=_0x14be0e[_0x18eef5(0x181)]('id'),_0x515b0d=buildUpdateInput(_0x14be0e),_0x53e733=await updatePersonalBff(_0x3f5236,_0x14be0e[_0x18eef5(0x17a)],_0x515b0d);return{'ok':!![],'data':detailBff(_0x53e733),'message':_0x18eef5(0x16d)+_0x53e733['id']+(_0x53e733[_0x18eef5(0x164)]?'\x20('+_0x53e733[_0x18eef5(0x164)]+')':'')};},async 'dryRun'(_0x487131){const _0x4f2762=a29_0x5b403f,_0x3679c9=_0x487131['num']('id'),_0x275c8b=buildUpdateInput(_0x487131);return dryRun(_0x4f2762(0x171),_0x4f2762(0x195)+_0x3679c9+_0x4f2762(0x18c))[_0x4f2762(0x18e)]({'appCode':_0x487131[_0x4f2762(0x17a)],..._0x275c8b})[_0x4f2762(0x1a8)](_0x4f2762(0x199)+_0x3679c9)['build']();}},personalBffExec={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x19f),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':a29_0x5b403f(0x1a1),'flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)},{...PARAMS_FLAG,'description':a29_0x5b403f(0x176)}],async 'validate'(_0x3c5a5b){const _0x561079=a29_0x5b403f;parseExecParams(_0x3c5a5b[_0x561079(0x173)](_0x561079(0x172)));},async 'execute'(_0x1460d6){const _0x28e052=a29_0x5b403f,_0x45a401=_0x1460d6[_0x28e052(0x181)]('id'),_0x3d299e=parseExecParams(_0x1460d6[_0x28e052(0x173)]('params')),_0x3c47ad=await executePersonalBff(_0x45a401,_0x1460d6[_0x28e052(0x17a)],_0x3d299e);return{'ok':!![],'data':{'result':_0x3c47ad},'message':_0x28e052(0x191)+_0x45a401};}};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_0x548160=a30_0x4087;(function(_0xc1ac38,_0x3eb167){const _0x13795e=a30_0x4087,_0x2f969c=_0xc1ac38();while(!![]){try{const _0x3ee6a5=parseInt(_0x13795e(0x11b))/0x1+-parseInt(_0x13795e(0x142))/0x2*(parseInt(_0x13795e(0x11d))/0x3)+parseInt(_0x13795e(0x13b))/0x4*(-parseInt(_0x13795e(0x12b))/0x5)+parseInt(_0x13795e(0x135))/0x6*(-parseInt(_0x13795e(0x134))/0x7)+-parseInt(_0x13795e(0x133))/0x8+parseInt(_0x13795e(0x127))/0x9*(-parseInt(_0x13795e(0x118))/0xa)+parseInt(_0x13795e(0x12f))/0xb*(parseInt(_0x13795e(0x128))/0xc);if(_0x3ee6a5===_0x3eb167)break;else _0x2f969c['push'](_0x2f969c['shift']());}catch(_0x161aae){_0x2f969c['push'](_0x2f969c['shift']());}}}(a30_0x22d5,0x5e797));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';function a30_0x22d5(){const _0xf4d779=['CLI\x20Built-in\x20Skill','BFF\x20Scripts','set','42664PhGbIk','run','Schema','Configuration','40UOXcII','has','login','496694jzbaPQ','command','6aecXAx','Personal\x20BFF','values','Knowledge\x20Base','Datasets','from','Self\x20Update','isSingleCommand','\x20\x20[write]','list','1404063vesamn','269340aSNLaW','Authentication','defaultCommand','349285crxNDK','Instant\x20API','push','risk','737QQiZjJ','Workspace','service','Service\x20Tree','4931320WALhen','7YZpKCP','1144326GxoiAH','get','write','install','description','Artifacts','8SNHCBu','map','SQL\x20Queries','Skills'];a30_0x22d5=function(){return _0xf4d779;};return a30_0x22d5();}import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x41a378){const _0x4b13bd=a30_0x4087;for(const _0x4951c8 of _0x41a378){definitions['set'](_0x4951c8[_0x4b13bd(0x131)]+':'+_0x4951c8[_0x4b13bd(0x11c)],_0x4951c8);let _0x25db51=serviceGroups[_0x4b13bd(0x136)](_0x4951c8[_0x4b13bd(0x131)]);!_0x25db51&&(_0x25db51=[],serviceGroups[_0x4b13bd(0x141)](_0x4951c8[_0x4b13bd(0x131)],_0x25db51)),_0x25db51[_0x4b13bd(0x12d)](_0x4951c8);}}function a30_0x4087(_0x5dd211,_0x456498){_0x5dd211=_0x5dd211-0x115;const _0x22d517=a30_0x22d5();let _0x4087fb=_0x22d517[_0x5dd211];return _0x4087fb;}function registerService(_0x5e7e0d,_0x5a7933,_0x1959ce){const _0x29b0de=a30_0x4087;registerDefinitions(_0x5a7933);const _0x4d0992=_0x297356=>_0x297356==='read'?'':_0x297356===_0x29b0de(0x137)?_0x29b0de(0x125):'\x20\x20[high-risk-write]',_0x414c01={'service':_0x5a7933[0x0]['service'],'label':_0x5e7e0d,'commands':_0x5a7933[_0x29b0de(0x13c)](_0x20d858=>({'command':_0x20d858[_0x29b0de(0x11c)],'description':_0x20d858[_0x29b0de(0x139)],'tag':_0x4d0992(_0x20d858[_0x29b0de(0x12e)])})),'defaultCommand':_0x1959ce?.[_0x29b0de(0x12a)]??(_0x1959ce?.[_0x29b0de(0x124)]?_0x5a7933[0x0][_0x29b0de(0x11c)]:undefined),'isSingleCommand':_0x1959ce?.[_0x29b0de(0x124)]};serviceRegistry['push'](_0x414c01),serviceByName[_0x29b0de(0x141)](_0x414c01['service'],_0x414c01);}registerService(a30_0x548160(0x129),authDefinitions,{'defaultCommand':a30_0x548160(0x11a)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x548160(0x121),datasetDefinitions),registerService(a30_0x548160(0x12c),dataDefinitions),registerService(a30_0x548160(0x13d),sqlDefinitions),registerService(a30_0x548160(0x140),bffDefinitions),registerService(a30_0x548160(0x11e),personalBffDefinitions),registerService(a30_0x548160(0x13a),artifactDefinitions),registerService(a30_0x548160(0x120),kbDefinitions),registerService('App\x20Management',appDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x130),workspaceDefinitions),registerService(a30_0x548160(0x117),configDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x132),serviceDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x13e),skillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x13f),cliSkillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x123),[updateDefinition],{'defaultCommand':a30_0x548160(0x115),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x548160(0x116),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x5d5b86,_0x6cfde6){const _0x45c880=a30_0x548160;return definitions[_0x45c880(0x136)](_0x5d5b86+':'+_0x6cfde6);}export function isKnownService(_0x2e0260){const _0x47a91e=a30_0x548160;return serviceByName[_0x47a91e(0x119)](_0x2e0260);}export function getServiceEntry(_0x1aa992){const _0x625297=a30_0x548160;return serviceByName[_0x625297(0x136)](_0x1aa992);}export function getAllDefinitions(){const _0x3b4165=a30_0x548160;return Array[_0x3b4165(0x122)](definitions[_0x3b4165(0x11f)]());}
@@ -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_0xe0eb01=a31_0x3c92;function a31_0x161e(){const _0xaa802a=['9ejLKle','370698iOMLOQ','538CEpoEE','876970MctHEb','669sVfzZR','55cuPJZn','22060188engRUJ','schema','2631979PbBLBk','871nmYAhf','2203000MIMgEB','4168IJlRCB','5MXqQfe','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export'];a31_0x161e=function(){return _0xaa802a;};return a31_0x161e();}(function(_0x3378b0,_0x521e00){const _0x566e8b=a31_0x3c92,_0x473443=_0x3378b0();while(!![]){try{const _0x147f52=parseInt(_0x566e8b(0xd8))/0x1*(-parseInt(_0x566e8b(0xd1))/0x2)+parseInt(_0x566e8b(0xd3))/0x3*(-parseInt(_0x566e8b(0xda))/0x4)+parseInt(_0x566e8b(0xdb))/0x5*(-parseInt(_0x566e8b(0xd0))/0x6)+-parseInt(_0x566e8b(0xd7))/0x7+-parseInt(_0x566e8b(0xd9))/0x8*(parseInt(_0x566e8b(0xcf))/0x9)+parseInt(_0x566e8b(0xd2))/0xa*(-parseInt(_0x566e8b(0xd4))/0xb)+parseInt(_0x566e8b(0xd5))/0xc;if(_0x147f52===_0x521e00)break;else _0x473443['push'](_0x473443['shift']());}catch(_0x5e11d7){_0x473443['push'](_0x473443['shift']());}}}(a31_0x161e,0x35b8c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xb8b3e5){const _0x5ea021=await buildSchemaPayload();return{'ok':!![],'data':_0x5ea021};}function a31_0x3c92(_0x52dbbf,_0x420e82){_0x52dbbf=_0x52dbbf-0xcf;const _0x161e58=a31_0x161e();let _0x3c92bd=_0x161e58[_0x52dbbf];return _0x3c92bd;}export const schemaDefinition={'service':a31_0xe0eb01(0xd6),'command':a31_0xe0eb01(0xdd),'description':a31_0xe0eb01(0xdc),'risk':'read','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(_0x4275db,_0x144dac){const _0x4e9a8f=a32_0x2a35,_0x5207b5=_0x4275db();while(!![]){try{const _0x113f4c=-parseInt(_0x4e9a8f(0x9c))/0x1*(-parseInt(_0x4e9a8f(0xa4))/0x2)+-parseInt(_0x4e9a8f(0xa0))/0x3*(-parseInt(_0x4e9a8f(0xe8))/0x4)+parseInt(_0x4e9a8f(0xa9))/0x5*(-parseInt(_0x4e9a8f(0xa8))/0x6)+parseInt(_0x4e9a8f(0xe1))/0x7*(-parseInt(_0x4e9a8f(0xd5))/0x8)+-parseInt(_0x4e9a8f(0x9a))/0x9+parseInt(_0x4e9a8f(0x8f))/0xa*(-parseInt(_0x4e9a8f(0xcb))/0xb)+-parseInt(_0x4e9a8f(0x92))/0xc*(-parseInt(_0x4e9a8f(0xed))/0xd);if(_0x113f4c===_0x144dac)break;else _0x5207b5['push'](_0x5207b5['shift']());}catch(_0x1bb2d2){_0x5207b5['push'](_0x5207b5['shift']());}}}(a32_0x11cd,0x6e07c));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(_0x4752f7,_0x2ede6b){const _0x3d328a=a32_0x2a35,_0x5d184e=listLocalServiceTrees();let _0x118734;for(const _0x2fd0fb of _0x5d184e){const _0x11831a=matchServiceTreeCommand(_0x2fd0fb,_0x4752f7);if(!_0x11831a)continue;(!_0x118734||_0x11831a[_0x3d328a(0xbc)][_0x3d328a(0xa1)][_0x3d328a(0xbe)]>_0x118734[_0x3d328a(0xbc)]['fullPath'][_0x3d328a(0xbe)])&&(_0x118734={'tree':_0x2fd0fb,'command':_0x11831a[_0x3d328a(0xbc)],'remainingArgs':_0x11831a[_0x3d328a(0xc2)]});}if(!_0x118734)return undefined;const _0x245abf={..._0x2ede6b};return applyAppBinding(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)],_0x245abf),{'definition':buildDynamicCommandDefinition(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)]),'args':_0x118734[_0x3d328a(0xc2)],'flags':_0x245abf,'tree':_0x118734[_0x3d328a(0xb0)],'command':_0x118734[_0x3d328a(0xbc)]};}export function generateDynamicServiceHelp(_0x5bee47){const _0x221cd4=a32_0x2a35,_0x8667cc=listLocalServiceTrees()[_0x221cd4(0x8e)](_0xc655c=>_0xc655c[_0x221cd4(0xbb)][_0x221cd4(0xae)]===_0x5bee47);if(!_0x8667cc)return undefined;const _0x4658c0=[CLI_BIN_NAME+'\x20'+_0x5bee47+_0x221cd4(0xb9),'',_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe0)]||_0x5bee47,_0x8667cc[_0x221cd4(0xbb)]['description']?'\x20\x20'+_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe4)]:'','',_0x221cd4(0xb2),..._0x8667cc[_0x221cd4(0xb6)][_0x221cd4(0xcd)](_0x1aaf75=>{const _0x1a6179=_0x221cd4,_0x5df8a9=_0x1aaf75[_0x1a6179(0xa1)]['slice'](0x1)[_0x1a6179(0xad)]('\x20'),_0x252fb3=_0x1aaf75['risk']===_0x1a6179(0xbf)?'':'\x20['+_0x1aaf75['risk']+']';return'\x20\x20'+_0x5df8a9[_0x1a6179(0x93)](0x18)+'\x20'+(_0x1aaf75['description']||'')+_0x252fb3;}),'',_0x221cd4(0xb1)+CLI_BIN_NAME+_0x221cd4(0xd7)+_0x5bee47+_0x221cd4(0xca)][_0x221cd4(0xec)](Boolean);return _0x4658c0[_0x221cd4(0xad)]('\x0a');}export function listDynamicServiceEntries(){const _0x2e4675=a32_0x2a35;return listLocalServices()[_0x2e4675(0xcd)](_0x3ccab8=>{const _0x325383=_0x2e4675,_0x209a5e=_0x3ccab8[_0x325383(0xf1)];return{'service':_0x209a5e[_0x325383(0xbb)]['code'],'label':_0x209a5e[_0x325383(0xbb)][_0x325383(0xe0)]||_0x209a5e[_0x325383(0xbb)][_0x325383(0xae)],'commands':_0x209a5e[_0x325383(0xb6)][_0x325383(0xcd)](_0x3d4f6f=>({'command':dynamicCommandName(_0x3d4f6f),'description':_0x3d4f6f[_0x325383(0xe4)]||'Run\x20service\x20command\x20'+_0x3d4f6f[_0x325383(0xe9)],'tag':riskTag(_0x3d4f6f['risk'])}))};});}function a32_0x2a35(_0x2ae87b,_0x3825e6){_0x2ae87b=_0x2ae87b-0x8a;const _0x11cd2f=a32_0x11cd();let _0x2a357a=_0x11cd2f[_0x2ae87b];return _0x2a357a;}export function getDynamicServiceEntry(_0x1bfa0b){const _0x2280ac=a32_0x2a35;return listDynamicServiceEntries()['find'](_0x5ab528=>_0x5ab528[_0x2280ac(0xbb)]===_0x1bfa0b);}export function listDynamicServiceDefinitions(_0x5319b8){const _0x3c3bc6=a32_0x2a35;return listLocalServiceTrees()[_0x3c3bc6(0xec)](_0x1fccbc=>!_0x5319b8||_0x1fccbc[_0x3c3bc6(0xbb)][_0x3c3bc6(0xae)]===_0x5319b8)['flatMap'](_0x17b4cc=>_0x17b4cc[_0x3c3bc6(0xb6)]['map'](_0x4b572a=>buildDynamicCommandDefinition(_0x17b4cc,_0x4b572a)));}export function getDynamicServiceDefinitions(_0x45ad7a){const _0x55989e=a32_0x2a35,_0xe65890=listDynamicServiceDefinitions(_0x45ad7a);return _0xe65890[_0x55989e(0xbe)]>0x0?_0xe65890:undefined;}export function findDynamicServiceDefinition(_0x32c116,_0x32956c){const _0x1ed715=a32_0x2a35;return listDynamicServiceDefinitions(_0x32c116)[_0x1ed715(0x8e)](_0x2745cf=>_0x2745cf[_0x1ed715(0xbc)]===_0x32956c);}export function buildDynamicCommandDefinition(_0x1eafa0,_0x204ecf){const _0x4fd3ef=a32_0x2a35;return{'service':_0x1eafa0[_0x4fd3ef(0xbb)][_0x4fd3ef(0xae)],'command':dynamicCommandName(_0x204ecf),'description':_0x204ecf[_0x4fd3ef(0xe4)]||_0x4fd3ef(0x91)+_0x204ecf[_0x4fd3ef(0xe9)],'risk':_0x204ecf['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x204ecf[_0x4fd3ef(0xe5)][_0x4fd3ef(0xcd)](_0x22aa31=>({'name':_0x22aa31[_0x4fd3ef(0xe0)],'description':_0x22aa31[_0x4fd3ef(0xe4)]||_0x22aa31[_0x4fd3ef(0xe0)],'required':_0x22aa31[_0x4fd3ef(0x8d)]})),'flags':_0x204ecf[_0x4fd3ef(0xd9)][_0x4fd3ef(0xcd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x204ecf),async 'dryRun'(_0x2af85e){const _0x1fa493=_0x4fd3ef,_0x1eb13c=await compilePlan(_0x204ecf,_0x2af85e);return{'method':_0x1fa493(0xd6),'url':_0x204ecf[_0x1fa493(0xe9)],'body':{'target':targetPreview(_0x1eb13c),'params':_0x1eb13c[_0x1fa493(0xa3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x204ecf[_0x1fa493(0xe9)]};},async 'execute'(_0x4beab8){const _0x225ff8=_0x4fd3ef,_0x106cfc=await compilePlan(_0x204ecf,_0x4beab8),_0xfeda4f=Date[_0x225ff8(0xbd)](),_0xb3edc8=await executePlan(_0x106cfc,_0x204ecf,_0x4beab8),_0x19b32f=Date[_0x225ff8(0xbd)]()-_0xfeda4f;return{'ok':!![],'data':{'service':_0x1eafa0[_0x225ff8(0xbb)],'command':_0x204ecf[_0x225ff8(0xe9)],'target':targetPreview(_0x106cfc),'result':_0xb3edc8,'elapsed':_0x19b32f},'message':'Service\x20command\x20'+_0x204ecf[_0x225ff8(0xe9)]+_0x225ff8(0xdd)+_0x19b32f+'ms'};}};}function dynamicCommandName(_0x2ce5cb){const _0x4c9d2d=a32_0x2a35;return _0x2ce5cb[_0x4c9d2d(0xa1)][_0x4c9d2d(0xd2)](0x1)[_0x4c9d2d(0xad)]('\x20');}function riskTag(_0x4fc1ce){const _0x16def4=a32_0x2a35;return _0x4fc1ce==='read'?'':_0x16def4(0xef)+_0x4fc1ce+']';}function flagToCommandFlag(_0x1296ca){const _0xd82cc0=a32_0x2a35;return{'name':_0x1296ca[_0xd82cc0(0xa6)],'type':_0x1296ca[_0xd82cc0(0x9b)]===_0xd82cc0(0xcc)?_0xd82cc0(0xe3):_0x1296ca[_0xd82cc0(0x9b)],'description':_0x1296ca[_0xd82cc0(0xe4)]||_0x1296ca[_0xd82cc0(0xe0)],'required':_0x1296ca['required'],'default':isPrimitiveFlagDefault(_0x1296ca[_0xd82cc0(0x95)])?_0x1296ca[_0xd82cc0(0x95)]:undefined,'enum':_0x1296ca['enum']};}async function compilePlan(_0x27edb0,_0x277ad2){const _0x10e8f3=a32_0x2a35;return compileServiceTreeCommand(_0x27edb0,{'flags':_0x277ad2[_0x10e8f3(0xc7)],'args':_0x277ad2[_0x10e8f3(0xe5)],'context':await buildServiceContext(_0x27edb0,_0x277ad2)});}async function buildServiceContext(_0x1406a4,_0x357b05){const _0x349ae2=a32_0x2a35,_0xdca27c={'appCode':_0x357b05[_0x349ae2(0xa7)],'env':_0x357b05[_0x349ae2(0xc6)],'envName':_0x357b05[_0x349ae2(0xc6)]};if(!usesRuntimeContext(_0x1406a4))return _0xdca27c;const _0x18d98a=await getLoginUserInfo(),_0x5242d=pickFirst(_0x18d98a[_0x349ae2(0xc9)],_0x18d98a['id']);return{..._0xdca27c,'user':_0x18d98a,'userId':_0x5242d,'id':_0x18d98a['id'],'username':pickFirst(_0x18d98a[_0x349ae2(0xe7)],_0x18d98a[_0x349ae2(0xc5)],_0x18d98a['loginName']),'userName':_0x18d98a[_0x349ae2(0xc5)],'nickname':pickFirst(_0x18d98a[_0x349ae2(0x99)],_0x18d98a[_0x349ae2(0xce)]),'nickName':_0x18d98a[_0x349ae2(0xce)],'tenantCode':_0x18d98a[_0x349ae2(0x9f)],'employeeId':_0x18d98a[_0x349ae2(0xc8)]};}function usesRuntimeContext(_0x3a331d){const _0x3da25c=a32_0x2a35;return _0x3a331d[_0x3da25c(0xab)][_0x3da25c(0xdf)](_0x2ffd96=>typeof _0x2ffd96[_0x3da25c(0xf0)]===_0x3da25c(0xe3)&&(_0x2ffd96['source']['startsWith'](_0x3da25c(0xaf))||_0x2ffd96[_0x3da25c(0xf0)]['startsWith'](_0x3da25c(0xb4))));}function pickFirst(..._0x4e8f90){return _0x4e8f90['find'](_0x1f2996=>_0x1f2996!==undefined&&_0x1f2996!==null);}function a32_0x11cd(){const _0x27716d=['operator','\x20\x20\x20\x20scriptName:\x20','remainingArgs','Service\x20command\x20','\x20requires\x20target.sqlCode.','userName','envName','rawFlags','employeeId','userId','`\x20to\x20inspect\x20the\x20manifest.','1961509OuKeFu','json','map','nickName','appcode','Unknown\x20appRef\x20\x22','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','slice','kind','boolean','802616ivJxIt','SERVICE_TREE','\x20service\x20detail\x20--service\x20','env','flags','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','sqlCode','\x20completed\x20in\x20','\x20\x20\x20\x20sqlCode:\x20','some','name','14dAYIDm','\x20\x20\x20\x20datatable:\x20','string','description','args','scriptName','username','44hBMOgT','cliPath','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','filter','13clSUNt','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20[','source','normalizedManifest','bff','bffCode','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20MAP\x20TO','\x20\x20\x20\x20command:\x20','required','find','20AbwTbo','Cannot\x20resolve\x20datatable\x20\x22','Run\x20service\x20command\x20','12349068RepFjm','padEnd','push','default','datatable','fromEntries','sql','nickname','3506832TVDDjB','type','145727xlQfGk','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','tenantCode','241662kKnoVJ','fullPath','bffId','params','2ENkHpJ','validation','cliName','appCode','1578WvFqtm','12610HORNvB','target','mapTo','appRef','join','code','context.','tree','Use\x20`','Commands:','trim','ctx.','const','commands','\x22\x20in\x20service\x20command\x20','app','\x20<command>\x20[flags]','number','service','command','now','length','read'];a32_0x11cd=function(){return _0x27716d;};return a32_0x11cd();}async function executePlan(_0x4c1f24,_0x12f636,_0x67938b){const _0x3be1b0=a32_0x2a35;if(_0x4c1f24[_0x3be1b0(0xd3)]==='data'){const _0x1cc1bf=await resolveDatasetCode(_0x4c1f24,_0x12f636,_0x67938b);return executeData(_0x1cc1bf,_0x4c1f24[_0x3be1b0(0xbc)],_0x4c1f24['params']);}if(_0x4c1f24[_0x3be1b0(0xd3)]===_0x3be1b0(0x98)){if(!_0x4c1f24[_0x3be1b0(0xdc)])throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xc3)+_0x12f636['cliPath']+_0x3be1b0(0xc4));return executeSdkSql(_0x4c1f24[_0x3be1b0(0xdc)],normalizeScalarParams(_0x4c1f24[_0x3be1b0(0xa3)]));}if(_0x4c1f24['kind']===_0x3be1b0(0xf2)){const _0x55b11a=_0x4c1f24[_0x3be1b0(0xe6)]||_0x4c1f24[_0x3be1b0(0xf3)]||(_0x4c1f24[_0x3be1b0(0xa2)]==null?'':String(_0x4c1f24[_0x3be1b0(0xa2)]));if(!_0x55b11a)throw CliErrors['validation']('Service\x20command\x20'+_0x12f636[_0x3be1b0(0xe9)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x55b11a,_0x4c1f24[_0x3be1b0(0xa3)]);}throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xee)+_0x4c1f24['kind']);}async function resolveDatasetCode(_0x1dcc88,_0x498e20,_0x4ac7e9){const _0x12a829=a32_0x2a35;if(_0x1dcc88[_0x12a829(0xda)])return _0x1dcc88[_0x12a829(0xda)];if(!_0x1dcc88['datatable'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0xc3)+_0x498e20[_0x12a829(0xe9)]+_0x12a829(0x9e));const _0x344ebb=await listDatasets(_0x4ac7e9[_0x12a829(0xa7)]),_0x5eda3f=_0x344ebb[_0x12a829(0x8e)](_0x5ad764=>_0x5ad764[_0x12a829(0xeb)]?.['tableName']===_0x1dcc88[_0x12a829(0x96)]);if(!_0x5eda3f?.['code'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0x90)+_0x1dcc88[_0x12a829(0x96)]+_0x12a829(0x9d)+_0x4ac7e9[_0x12a829(0xa7)]+'.',_0x12a829(0xd1));return _0x5eda3f['code'];}function applyAppBinding(_0x4cddde,_0x40cfab,_0x56cfe4){const _0x58929e=a32_0x2a35,_0x45854b=_0x40cfab['target']['appRef'];if(!_0x45854b)return;const _0x41bb32=_0x4cddde['appBindings'][_0x45854b];if(!_0x41bb32)throw CliErrors[_0x58929e(0xa5)](_0x58929e(0xd0)+_0x45854b+_0x58929e(0xb7)+_0x40cfab[_0x58929e(0xe9)]+'.',_0x58929e(0x8a));const _0x3165d4=_0x41bb32[_0x58929e(0xcf)]||_0x41bb32[_0x58929e(0xa7)];_0x3165d4&&!hasText(_0x56cfe4[_0x58929e(0xcf)])&&(_0x56cfe4[_0x58929e(0xcf)]=_0x3165d4),_0x41bb32[_0x58929e(0xb8)]&&!hasText(_0x56cfe4[_0x58929e(0xb8)])&&!hasText(_0x56cfe4['appcode'])&&(_0x56cfe4[_0x58929e(0xb8)]=_0x41bb32['app']),_0x41bb32[_0x58929e(0xd8)]&&!hasText(_0x56cfe4[_0x58929e(0xd8)])&&(_0x56cfe4[_0x58929e(0xd8)]=_0x41bb32[_0x58929e(0xd8)]);}function renderDynamicCommandHelp(_0x20b1da){const _0x4b332c=a32_0x2a35,_0x42528b=[_0x4b332c(0xea),_0x4b332c(0xdb)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xd3)],_0x4b332c(0x8c)+_0x20b1da['target'][_0x4b332c(0xbc)]];if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)])_0x42528b['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)]);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xe2)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)]);if(_0x20b1da['target'][_0x4b332c(0xdc)])_0x42528b['push'](_0x4b332c(0xde)+_0x20b1da[_0x4b332c(0xaa)]['sqlCode']);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xe6)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xc1)+_0x20b1da[_0x4b332c(0xaa)]['scriptName']);if(_0x20b1da['mapTo'][_0x4b332c(0xbe)]>0x0){_0x42528b[_0x4b332c(0x94)]('',_0x4b332c(0x8b));for(const _0x4731f9 of _0x20b1da[_0x4b332c(0xab)]){_0x42528b['push']('\x20\x20\x20\x20'+(_0x4731f9['source']||_0x4b332c(0xb5))+'\x20->\x20'+_0x4731f9['target']+(_0x4731f9[_0x4b332c(0xc0)]?'.'+_0x4731f9[_0x4b332c(0xc0)]:''));}}return _0x42528b[_0x4b332c(0xad)]('\x0a');}function targetPreview(_0x3fe0b4){const _0x311b88=a32_0x2a35;return{'kind':_0x3fe0b4[_0x311b88(0xd3)],'command':_0x3fe0b4[_0x311b88(0xbc)],'appRef':_0x3fe0b4[_0x311b88(0xac)],'datasetCode':_0x3fe0b4['datasetCode'],'datatable':_0x3fe0b4['datatable'],'sqlCode':_0x3fe0b4['sqlCode'],'bffCode':_0x3fe0b4[_0x311b88(0xf3)],'bffId':_0x3fe0b4['bffId'],'scriptName':_0x3fe0b4[_0x311b88(0xe6)]};}function normalizeScalarParams(_0x49fe82){const _0x57c55d=a32_0x2a35;return Object[_0x57c55d(0x97)](Object['entries'](_0x49fe82)[_0x57c55d(0xec)](([,_0x2ecd08])=>typeof _0x2ecd08===_0x57c55d(0xe3)||typeof _0x2ecd08===_0x57c55d(0xba)));}function hasText(_0x32cd79){const _0x3b5c3f=a32_0x2a35;return typeof _0x32cd79===_0x3b5c3f(0xe3)&&_0x32cd79[_0x3b5c3f(0xb3)]()[_0x3b5c3f(0xbe)]>0x0;}function isPrimitiveFlagDefault(_0x59b4e0){const _0x124ddf=a32_0x2a35;return _0x59b4e0===undefined||typeof _0x59b4e0===_0x124ddf(0xe3)||typeof _0x59b4e0==='number'||typeof _0x59b4e0===_0x124ddf(0xd4);}
@@ -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
+ function a33_0x4bc4(){const _0x467f64=['2157610UKaVZh','77751mIsPJy','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Imported\x20','Imported','risk','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','write','9376cztiPx','normalizedManifest','flags','filePath','report','file','entries','951168aNpBkF','reduce','entry','Updated','registryPath','Local\x20service\x20not\x20found:\x20','type','name','remove','target','str','Service\x20registry\x20validation\x20passed.','description','1347330XtNYsF','208Skanyw','commands','2162260SasTrs','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','imported','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','kind','replaced','string','map','81FrJbcM','manifest','import','service','registryServiceCode','cliName','5EZavMJ','registry','serviceCount','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode','validate','source','version','\x20service\x20','warnings','length','errors','77548lkOAhi','Service\x20Tree\x20manifest\x20file\x20path','\x20service(s),\x20updated\x20','cliPath','read','importedAt','Service\x20manifest\x20validation\x20passed.','hash','WRITE','manifests','detail','\x20service(s).'];a33_0x4bc4=function(){return _0x467f64;};return a33_0x4bc4();}const a33_0xde9d31=a33_0x4ec1;(function(_0x46cc7b,_0x2e9cb0){const _0x50ce2d=a33_0x4ec1,_0x37cc47=_0x46cc7b();while(!![]){try{const _0x14e38b=-parseInt(_0x50ce2d(0xb6))/0x1*(-parseInt(_0x50ce2d(0x97))/0x2)+parseInt(_0x50ce2d(0x9e))/0x3+parseInt(_0x50ce2d(0x83))/0x4+-parseInt(_0x50ce2d(0x77))/0x5*(parseInt(_0x50ce2d(0xab))/0x6)+-parseInt(_0x50ce2d(0x8f))/0x7+parseInt(_0x50ce2d(0xac))/0x8*(parseInt(_0x50ce2d(0x90))/0x9)+-parseInt(_0x50ce2d(0xae))/0xa;if(_0x14e38b===_0x2e9cb0)break;else _0x37cc47['push'](_0x37cc47['shift']());}catch(_0x98520d){_0x37cc47['push'](_0x37cc47['shift']());}}}(a33_0x4bc4,0x2ed1e));function a33_0x4ec1(_0x2c6acd,_0x4fb48e){_0x2c6acd=_0x2c6acd-0x75;const _0x4bc4a1=a33_0x4bc4();let _0x4ec185=_0x4bc4a1[_0x2c6acd];return _0x4ec185;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0xde9d31(0x9c),'type':a33_0xde9d31(0xb4),'required':!![],'description':a33_0xde9d31(0x84)},SERVICE_FLAG={'name':a33_0xde9d31(0xb9),'type':a33_0xde9d31(0xb4),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x2b2b87){const _0x51db4e=a33_0xde9d31;return{'serviceCode':_0x2b2b87[_0x51db4e(0x7b)],'name':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xb9)][_0x51db4e(0xa5)],'version':_0x2b2b87[_0x51db4e(0x7e)],'importedAt':_0x2b2b87[_0x51db4e(0x88)],'source':_0x2b2b87[_0x51db4e(0x7d)],'commandCount':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0x81)],'commands':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0xb5)](_0x239378=>({'path':_0x239378[_0x51db4e(0x86)],'description':_0x239378[_0x51db4e(0xaa)],'risk':_0x239378[_0x51db4e(0x94)],'target':_0x239378[_0x51db4e(0xa7)],'flags':_0x239378[_0x51db4e(0x99)][_0x51db4e(0xb5)](_0x81ffa1=>({'name':_0x81ffa1[_0x51db4e(0xa5)],'cliName':_0x81ffa1[_0x51db4e(0x76)],'type':_0x81ffa1[_0x51db4e(0xa4)],'required':_0x81ffa1['required']===!![]}))}))};}function summarizeLoadedManifest(_0x507c69){const _0x3e488c=a33_0xde9d31;return{'service':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0xb9)],'version':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0x7e)],'commandCount':_0x507c69[_0x3e488c(0x98)]?.['commands']['length']??0x0,'commands':_0x507c69[_0x3e488c(0x98)]?.['commands'][_0x3e488c(0xb5)](_0x1b625e=>({'path':_0x1b625e[_0x3e488c(0x86)],'risk':_0x1b625e[_0x3e488c(0x94)],'target':_0x1b625e[_0x3e488c(0xa7)]}))??[],'registryIndex':_0x507c69['registryIndex'],'registryServiceCode':_0x507c69[_0x3e488c(0x75)],'errors':_0x507c69[_0x3e488c(0x9b)][_0x3e488c(0x82)],'warnings':_0x507c69[_0x3e488c(0x9b)]['warnings']};}export const serviceDefinitions=[{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x7c),'description':a33_0xde9d31(0x91),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x297539){const _0x204a78=a33_0xde9d31,_0x3519e6=loadServiceManifestFromFile(_0x297539[_0x204a78(0xa8)](_0x204a78(0x9c)));if(!_0x3519e6[_0x204a78(0x9b)]['ok'])return{'ok':![],'data':{'file':_0x3519e6['filePath'],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'serviceCount':_0x3519e6['manifests'][_0x204a78(0x81)],'services':_0x3519e6['manifests'][_0x204a78(0xb5)](summarizeLoadedManifest),'errors':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x82)],'warnings':_0x3519e6['report']['warnings']},'message':formatValidationFailure(_0x3519e6[_0x204a78(0x9b)])};if(_0x3519e6[_0x204a78(0xb2)]===_0x204a78(0x78)||_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)]!==0x1)return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6[_0x204a78(0xb2)],'serviceCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)],'commandCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x9f)]((_0x3797da,_0x40b2ad)=>_0x3797da+(_0x40b2ad['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0),0x0),'services':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0xb5)](summarizeLoadedManifest),'warnings':_0x3519e6[_0x204a78(0x9b)]['warnings']},'message':_0x204a78(0xa9)};return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'service':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xb9)],'version':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0x7e)],'commandCount':_0x3519e6['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0,'commands':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xad)]['map'](_0x36be0c=>({'path':_0x36be0c[_0x204a78(0x86)],'risk':_0x36be0c[_0x204a78(0x94)],'target':_0x36be0c[_0x204a78(0xa7)]})),'warnings':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x80)]},'message':_0x204a78(0x89)};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xb8),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x98bab8){const _0xc70567=a33_0xde9d31,_0x383a13=loadServiceManifestFromFile(_0x98bab8[_0xc70567(0xa8)](_0xc70567(0x9c)));return{'method':_0xc70567(0x8b),'url':getServiceRegistryPath(),'body':{'file':_0x383a13[_0xc70567(0x9a)],'hash':_0x383a13[_0xc70567(0x8a)],'kind':_0x383a13[_0xc70567(0xb2)],'ok':_0x383a13[_0xc70567(0x9b)]['ok'],'service':_0x383a13['normalizedManifest']?.['service'],'version':_0x383a13[_0xc70567(0x98)]?.['version'],'serviceCount':_0x383a13[_0xc70567(0x8c)][_0xc70567(0x81)],'services':_0x383a13[_0xc70567(0x8c)]['map'](_0x60eba4=>({'service':_0x60eba4[_0xc70567(0x98)]?.['service'],'version':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0x7e)],'commandCount':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0,'errors':_0x60eba4['report'][_0xc70567(0x82)]})),'errors':_0x383a13[_0xc70567(0x9b)]['errors'],'commandCount':_0x383a13[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0},'description':_0xc70567(0xb1)};},async 'execute'(_0x53d587){const _0x2e6df8=a33_0xde9d31,_0x3a5e70=importServiceManifest(_0x53d587['str']('file'));if(_0x3a5e70[_0x2e6df8(0x9d)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x3a5e70['registryPath'],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70[_0x2e6df8(0x79)],'services':_0x3a5e70[_0x2e6df8(0x9d)]['map'](summarizeService)},'message':_0x2e6df8(0x92)+_0x3a5e70['imported']+_0x2e6df8(0x85)+_0x3a5e70['updated']+_0x2e6df8(0x8e)};return{'ok':!![],'data':{'registryPath':_0x3a5e70[_0x2e6df8(0xa2)],'replaced':_0x3a5e70[_0x2e6df8(0xb3)],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70['serviceCount'],'service':summarizeService(_0x3a5e70[_0x2e6df8(0xa0)])},'message':(_0x3a5e70['replaced']?_0x2e6df8(0xa1):_0x2e6df8(0x93))+_0x2e6df8(0x7f)+_0x3a5e70[_0x2e6df8(0xa0)][_0x2e6df8(0x7b)]+'.'};}},{'service':'service','command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x503ae9){const _0x476a55=a33_0xde9d31,_0x5d013f=getLocalServiceEntry(_0x503ae9[_0x476a55(0xa8)]('service'));return{'method':_0x476a55(0x8b),'url':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0x9c)),'body':{'service':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0xb9)),'found':Boolean(_0x5d013f),'version':_0x5d013f?.[_0x476a55(0x7e)],'source':_0x5d013f?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x104c04){const _0x277616=a33_0xde9d31,_0x35c485=exportServiceManifest(_0x104c04[_0x277616(0xa8)](_0x277616(0xb9)),_0x104c04[_0x277616(0xa8)](_0x277616(0x9c)));return{'ok':!![],'data':{'registryPath':_0x35c485[_0x277616(0xa2)],'file':_0x35c485['filePath'],'service':summarizeService(_0x35c485[_0x277616(0xa0)])},'message':'Exported\x20service\x20'+_0x35c485[_0x277616(0xa0)][_0x277616(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':'list','description':a33_0xde9d31(0x7a),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x51f874=a33_0xde9d31,_0x3a81f9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3a81f9[_0x51f874(0x81)],'services':_0x3a81f9[_0x51f874(0xb5)](summarizeService)}};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xa6),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x12e6fb){const _0x2c0454=a33_0xde9d31,_0x81650a=getLocalServiceEntry(_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)),'found':Boolean(_0x81650a),'version':_0x81650a?.[_0x2c0454(0x7e)],'source':_0x81650a?.['source']},'description':_0x2c0454(0x95)};},async 'execute'(_0x52be07){const _0x509f86=a33_0xde9d31,_0x12e5bc=removeServiceManifest(_0x52be07[_0x509f86(0xa8)](_0x509f86(0xb9)));return{'ok':!![],'data':{'registryPath':_0x12e5bc[_0x509f86(0xa2)],'serviceCount':_0x12e5bc[_0x509f86(0x79)],'service':summarizeService(_0x12e5bc['entry'])},'message':'Removed\x20service\x20'+_0x12e5bc[_0x509f86(0xa0)][_0x509f86(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x8d),'description':a33_0xde9d31(0xaf),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4d7912){const _0x323ae1=a33_0xde9d31,_0xc77abe=getLocalServiceEntry(_0x4d7912['str'](_0x323ae1(0xb9)));if(!_0xc77abe)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4d7912[_0x323ae1(0xa8)]('service')},'message':_0x323ae1(0xa3)+_0x4d7912[_0x323ae1(0xa8)](_0x323ae1(0xb9))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0xc77abe),'manifest':_0xc77abe[_0x323ae1(0xb7)],'normalizedManifest':_0xc77abe['normalizedManifest']}};}}];
@@ -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_0x573291=a34_0x2f6e;(function(_0x11592c,_0x1fee6b){const _0x195dd1=a34_0x2f6e,_0x34c0d2=_0x11592c();while(!![]){try{const _0x385edb=-parseInt(_0x195dd1(0x1fb))/0x1+-parseInt(_0x195dd1(0x204))/0x2*(-parseInt(_0x195dd1(0x210))/0x3)+-parseInt(_0x195dd1(0x1f7))/0x4*(parseInt(_0x195dd1(0x201))/0x5)+-parseInt(_0x195dd1(0x1da))/0x6+-parseInt(_0x195dd1(0x1df))/0x7+-parseInt(_0x195dd1(0x1c5))/0x8+parseInt(_0x195dd1(0x1ca))/0x9*(parseInt(_0x195dd1(0x1c9))/0xa);if(_0x385edb===_0x1fee6b)break;else _0x34c0d2['push'](_0x34c0d2['shift']());}catch(_0x1d40fc){_0x34c0d2['push'](_0x34c0d2['shift']());}}}(a34_0x447b,0x5801d));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_0x2f6e(_0x1fcec6,_0x917cc8){_0x1fcec6=_0x1fcec6-0x1c4;const _0x447b82=a34_0x447b();let _0x2f6e23=_0x447b82[_0x1fcec6];return _0x2f6e23;}export const SERVICE_REGISTRY_FILE_NAME=a34_0x573291(0x20e);export function getServiceRegistryPath(_0x3a572a={}){const _0x363aae=a34_0x573291;return resolve(_0x3a572a['homeDir']??homedir(),PRODUCT_CONFIG[_0x363aae(0x1d1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x5278d1={}){const _0x4e721c=a34_0x573291,_0x4d9e3a=getServiceRegistryPath(_0x5278d1);if(!existsSync(_0x4d9e3a))return emptyServiceRegistry();try{const _0x162a3d=readFileSync(_0x4d9e3a,_0x4e721c(0x1d0));if(!_0x162a3d['trim']())return emptyServiceRegistry();const _0x3b74d8=JSON['parse'](_0x162a3d);if(_0x3b74d8[_0x4e721c(0x1d6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4e721c(0x1e8)](_0x4e721c(0x1e6)+String(_0x3b74d8[_0x4e721c(0x1d6)]),_0x4e721c(0x1ef)+_0x4d9e3a+'.');if(!Array[_0x4e721c(0x219)](_0x3b74d8['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3b74d8[_0x4e721c(0x1f1)],'services':_0x3b74d8[_0x4e721c(0x1fe)]};}catch(_0x1f53b7){if(_0x1f53b7 instanceof Error&&_0x1f53b7[_0x4e721c(0x1cc)]===_0x4e721c(0x209))throw _0x1f53b7;throw CliErrors['validation'](_0x4e721c(0x202)+_0x4d9e3a,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0xa7a9c6,_0x5f2794={}){const _0x50c590=a34_0x573291,_0x58c6b9=getServiceRegistryPath(_0x5f2794),_0x4a9b47=dirname(_0x58c6b9);!existsSync(_0x4a9b47)&&mkdirSync(_0x4a9b47,{'recursive':!![]});const _0x158248=_0x58c6b9+_0x50c590(0x212);try{writeFileSync(_0x158248,JSON[_0x50c590(0x20d)](_0xa7a9c6,null,0x2)+'\x0a',{'encoding':_0x50c590(0x1d0),'mode':0x180}),renameSync(_0x158248,_0x58c6b9);}catch(_0x5a4e1d){try{unlinkSync(_0x158248);}catch{}if(_0x5a4e1d?.[_0x50c590(0x1ec)]===_0x50c590(0x1e9))throw CliErrors[_0x50c590(0x1e8)](_0x50c590(0x1ed)+_0x58c6b9);throw _0x5a4e1d;}return _0x58c6b9;}export function loadServiceManifestFromFile(_0xdf0cd3){const _0x5d6b64=a34_0x573291,_0x5104ef=resolve(_0xdf0cd3);if(!existsSync(_0x5104ef))throw CliErrors[_0x5d6b64(0x1e8)](_0x5d6b64(0x213)+_0xdf0cd3);let _0x2ae6a7;const _0x5163e4=readFileSync(_0x5104ef,_0x5d6b64(0x1d0));try{_0x2ae6a7=JSON[_0x5d6b64(0x1db)](_0x5163e4);}catch{throw CliErrors['validation'](_0x5d6b64(0x1d7)+_0xdf0cd3,_0x5d6b64(0x1ce));}const _0x48b0e6=sha256(_0x5163e4),_0x30b31c=extractLoadedServiceManifests(_0x2ae6a7,_0x48b0e6),_0x5c656c=aggregateValidationReports(_0x30b31c),_0x3774a1=_0x30b31c[0x0];return{'filePath':_0x5104ef,'hash':_0x48b0e6,'kind':isServiceRegistryLike(_0x2ae6a7)?_0x5d6b64(0x215):_0x5d6b64(0x216),'manifest':_0x3774a1?.['manifest']??_0x2ae6a7,'report':_0x5c656c,'normalizedManifest':_0x30b31c[_0x5d6b64(0x20c)]===0x1?_0x3774a1?.[_0x5d6b64(0x1cd)]:undefined,'manifests':_0x30b31c};}export function importServiceManifest(_0x1b2cd3,_0x2793a5={}){const _0x57334c=a34_0x573291,_0x3fce01=loadServiceManifestFromFile(_0x1b2cd3);if(!_0x3fce01[_0x57334c(0x1c7)]['ok'])throw CliErrors[_0x57334c(0x1e8)](formatValidationFailure(_0x3fce01[_0x57334c(0x1c7)]),_0x57334c(0x203));if(_0x3fce01[_0x57334c(0x1f2)]['length']===0x0)throw CliErrors[_0x57334c(0x1e8)](_0x57334c(0x1ee),_0x57334c(0x1ea));const _0x2b188f=readServiceRegistry(_0x2793a5),_0x404d73=(_0x2793a5[_0x57334c(0x1c8)]??(()=>new Date()))()[_0x57334c(0x1e7)](),_0x12db6e=[];let _0x3edfa0=0x0,_0x384371=0x0;for(const _0x37f129 of _0x3fce01[_0x57334c(0x1f2)]){if(!_0x37f129[_0x57334c(0x1cd)])continue;const _0x5b5e48=_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1e0)][_0x57334c(0x1ec)],_0x141095={'serviceCode':_0x5b5e48,'version':_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1f6)],'importedAt':_0x404d73,'source':{'type':_0x57334c(0x1dc),'path':_0x3fce01[_0x57334c(0x1e3)],'hash':_0x37f129['sourceHash']},'manifest':_0x37f129[_0x57334c(0x216)],'normalizedManifest':_0x37f129[_0x57334c(0x1cd)]},_0x55022c=_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1f4)](_0x400ef7=>_0x400ef7[_0x57334c(0x1d8)]===_0x5b5e48);_0x55022c>=0x0?(_0x2b188f[_0x57334c(0x1fe)][_0x55022c]=_0x141095,_0x384371++):(_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1e4)](_0x141095),_0x3edfa0++),_0x12db6e[_0x57334c(0x1e4)](_0x141095);}_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x206)]((_0x5aa4be,_0x35428c)=>_0x5aa4be[_0x57334c(0x1d8)][_0x57334c(0x1c4)](_0x35428c[_0x57334c(0x1d8)])),_0x2b188f[_0x57334c(0x1f1)]=_0x404d73;const _0x200470=writeServiceRegistry(_0x2b188f,_0x2793a5);return{'registryPath':_0x200470,'entry':_0x12db6e[0x0],'replaced':_0x12db6e[_0x57334c(0x20c)]===0x1?_0x384371===0x1:_0x384371>0x0,'entries':_0x12db6e,'imported':_0x3edfa0,'updated':_0x384371,'serviceCount':_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x20c)]};}export function exportServiceManifest(_0x35c860,_0x42d259,_0x4763db={}){const _0x3e6604=a34_0x573291,_0x23b37c=getServiceRegistryPath(_0x4763db),_0x2024bb=getLocalServiceEntry(_0x35c860,_0x4763db);if(!_0x2024bb)throw CliErrors['validation'](_0x3e6604(0x214)+_0x35c860,_0x3e6604(0x1c6));const _0x3b41b9=resolve(_0x42d259),_0x283546=dirname(_0x3b41b9);return!existsSync(_0x283546)&&mkdirSync(_0x283546,{'recursive':!![]}),writeFileSync(_0x3b41b9,JSON['stringify'](_0x2024bb[_0x3e6604(0x216)],null,0x2)+'\x0a',{'encoding':_0x3e6604(0x1d0),'mode':0x180}),{'registryPath':_0x23b37c,'filePath':_0x3b41b9,'entry':_0x2024bb};}export function removeServiceManifest(_0x337ed7,_0x41a3f0={}){const _0xdce79f=a34_0x573291,_0x3e2cb1=readServiceRegistry(_0x41a3f0),_0x20bf3d=_0x337ed7[_0xdce79f(0x1dd)](),_0x4424b1=_0x3e2cb1[_0xdce79f(0x1fe)]['findIndex'](_0x3b128e=>_0x3b128e[_0xdce79f(0x1d8)]===_0x20bf3d);if(_0x4424b1<0x0)throw CliErrors[_0xdce79f(0x1e8)](_0xdce79f(0x214)+_0x20bf3d,_0xdce79f(0x1c6));const [_0x439deb]=_0x3e2cb1['services']['splice'](_0x4424b1,0x1),_0x4d2f84=(_0x41a3f0['now']??(()=>new Date()))()[_0xdce79f(0x1e7)]();_0x3e2cb1[_0xdce79f(0x1f1)]=_0x4d2f84;const _0xacac64=writeServiceRegistry(_0x3e2cb1,_0x41a3f0);return{'registryPath':_0xacac64,'entry':_0x439deb,'serviceCount':_0x3e2cb1[_0xdce79f(0x1fe)][_0xdce79f(0x20c)]};}export function listLocalServices(_0x4d1b22={}){const _0x3a7c2a=a34_0x573291;return readServiceRegistry(_0x4d1b22)[_0x3a7c2a(0x1fe)];}export function getLocalServiceEntry(_0x2d9906,_0x149820={}){const _0x3e069d=a34_0x573291;return readServiceRegistry(_0x149820)[_0x3e069d(0x1fe)][_0x3e069d(0x218)](_0x485ac6=>_0x485ac6[_0x3e069d(0x1d8)]===_0x2d9906['trim']());}export function listLocalServiceTrees(_0x1a5ee8={}){const _0x3a9267=a34_0x573291;return readServiceRegistry(_0x1a5ee8)['services'][_0x3a9267(0x1d9)](_0x469727=>_0x469727['normalizedManifest']);}export function inspectServiceRegistry(_0x2feb0c={}){const _0x18de9b=a34_0x573291,_0x1ddd41=getServiceRegistryPath(_0x2feb0c);if(!existsSync(_0x1ddd41))return emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x208),![]);try{const _0x9d182c=readFileSync(_0x1ddd41,_0x18de9b(0x1d0));if(!_0x9d182c[_0x18de9b(0x1dd)]())return emptyServiceRegistryInspection(_0x1ddd41,'empty',!![]);const _0x3ec9c6=JSON['parse'](_0x9d182c);if(_0x3ec9c6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':_0x3ec9c6[_0x18de9b(0x1d6)],'message':_0x18de9b(0x1ff)+String(_0x3ec9c6[_0x18de9b(0x1d6)])};if(!Array[_0x18de9b(0x219)](_0x3ec9c6[_0x18de9b(0x1fe)]))return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4a77cf=_0x3ec9c6[_0x18de9b(0x1fe)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x1ddd41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'serviceCount':_0x4a77cf[_0x18de9b(0x20c)],'commandCount':_0x4a77cf['reduce']((_0x34816b,_0x7a5e66)=>_0x34816b+_0x7a5e66[_0x18de9b(0x20f)],0x0),'services':_0x4a77cf};}catch(_0x416a75){return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'message':_0x416a75 instanceof Error?_0x416a75['message']:String(_0x416a75)};}}function a34_0x447b(){const _0x2ff818=['manifest','risk','find','isArray','localeCompare','2706232XeWPqU','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','report','now','502940vjeMNs','423QwkbVA','digest','name','normalizedManifest','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','flatMap','utf8','homeDirName','command','string','warnings','target','schemaVersion','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','map','1413720WoCdOb','parse','file','trim','registryIndex','755552KjigPq','service','Service\x20manifest\x20validation\x20failed:\x0a','sha256','filePath','push','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','toISOString','validation','ENOENT','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','errors','code','Cannot\x20write\x20service\x20registry:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Remove\x20or\x20migrate\x20','].manifest','updatedAt','manifests','description','findIndex','$.services[','version','38452lbvdJa','hex','message','path','669440FziedJ','cliPath','update','services','Unsupported\x20schemaVersion:\x20','invalid','365ArkjBj','Invalid\x20service\x20registry\x20JSON:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','99366ZjmzQJ','importedAt','sort','slice','missing','CliError','join','kind','length','stringify','service.json','commandCount','3jFakHV','source','.tmp','Service\x20manifest\x20file\x20not\x20found:\x20','Local\x20service\x20not\x20found:\x20','registry'];a34_0x447b=function(){return _0x2ff818;};return a34_0x447b();}export function formatValidationFailure(_0x5beff5){const _0x13f45c=a34_0x573291,_0x481425=_0x5beff5[_0x13f45c(0x1eb)][_0x13f45c(0x1d9)](_0x20c612=>_0x20c612[_0x13f45c(0x1fa)]+':\x20'+_0x20c612[_0x13f45c(0x1f9)]);return _0x13f45c(0x1e1)+_0x481425[_0x13f45c(0x20a)]('\x0a');}function extractLoadedServiceManifests(_0x2bc36a,_0x55e06c){const _0x36505d=a34_0x573291;if(!isServiceRegistryLike(_0x2bc36a)){const _0x3c7ad6=_0x2bc36a,_0x2e65e8=validateServiceTreeManifest(_0x3c7ad6);return[{'manifest':_0x3c7ad6,'report':_0x2e65e8,'normalizedManifest':_0x2e65e8['ok']?normalizeServiceTreeManifest(_0x3c7ad6):undefined,'sourceHash':_0x55e06c}];}return _0x2bc36a[_0x36505d(0x1fe)][_0x36505d(0x1d9)]((_0x28f989,_0x5b6d2f)=>{const _0x4e855a=_0x36505d,_0x34f669=isObjectRecord(_0x28f989)?_0x28f989[_0x4e855a(0x216)]:undefined,_0x5eafa4=validateServiceTreeManifest(_0x34f669),_0x4fee2a=isObjectRecord(_0x28f989)&&typeof _0x28f989[_0x4e855a(0x1d8)]===_0x4e855a(0x1d3)?_0x28f989['serviceCode']:undefined;return{'manifest':_0x34f669,'report':_0x5eafa4,'normalizedManifest':_0x5eafa4['ok']?normalizeServiceTreeManifest(_0x34f669):undefined,'sourceHash':sha256(JSON[_0x4e855a(0x20d)](_0x34f669,null,0x2)+'\x0a'),'registryIndex':_0x5b6d2f,'registryServiceCode':_0x4fee2a};});}function aggregateValidationReports(_0x4bbe20){const _0x2e2f9b=a34_0x573291,_0x1d6aba=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x4a566e=>_0x4a566e[_0x2e2f9b(0x1de)]===undefined?_0x4a566e['report'][_0x2e2f9b(0x1eb)]:_0x4a566e[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1eb)][_0x2e2f9b(0x1d9)](_0x1a7df7=>({..._0x1a7df7,'path':prefixRegistryIssuePath(_0x4a566e[_0x2e2f9b(0x1de)],_0x1a7df7[_0x2e2f9b(0x1fa)])}))),_0x5e87b9=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x107ca3=>_0x107ca3[_0x2e2f9b(0x1de)]===undefined?_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]:_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]['map'](_0x1774b9=>({..._0x1774b9,'path':prefixRegistryIssuePath(_0x107ca3[_0x2e2f9b(0x1de)],_0x1774b9[_0x2e2f9b(0x1fa)])})));return{'ok':_0x1d6aba[_0x2e2f9b(0x20c)]===0x0,'errors':_0x1d6aba,'warnings':_0x5e87b9};}function prefixRegistryIssuePath(_0x5f4b3f,_0x53804b){const _0x3ba772=a34_0x573291;if(_0x53804b==='$')return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest';if(_0x53804b[_0x3ba772(0x1e5)]('$.'))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);if(_0x53804b[_0x3ba772(0x1e5)]('$['))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest.'+_0x53804b;}function isServiceRegistryLike(_0x2fe5f5){const _0x19eff2=a34_0x573291;return isObjectRecord(_0x2fe5f5)&&_0x2fe5f5[_0x19eff2(0x1d6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x19eff2(0x219)](_0x2fe5f5[_0x19eff2(0x1fe)]);}function isObjectRecord(_0xbe06f){const _0x20d1be=a34_0x573291;return Boolean(_0xbe06f)&&typeof _0xbe06f==='object'&&!Array[_0x20d1be(0x219)](_0xbe06f);}function emptyServiceRegistryInspection(_0x34a551,_0x5f2d5c,_0x40f1ea){return{'registryPath':_0x34a551,'exists':_0x40f1ea,'status':_0x5f2d5c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1478ab){const _0x393e32=a34_0x573291,_0x11d65=_0x1478ab[_0x393e32(0x1cd)],_0x2a9652=_0x11d65['commands']['map'](_0x486e17=>({'path':_0x486e17[_0x393e32(0x1fc)],'description':_0x486e17[_0x393e32(0x1f3)],'risk':_0x486e17[_0x393e32(0x217)],'targetKind':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x20b)],'targetCommand':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x1d2)]}));return{'serviceCode':_0x1478ab[_0x393e32(0x1d8)],'name':_0x11d65['service'][_0x393e32(0x1cc)],'description':_0x11d65[_0x393e32(0x1e0)]['description'],'version':_0x1478ab[_0x393e32(0x1f6)],'importedAt':_0x1478ab[_0x393e32(0x205)],'source':_0x1478ab[_0x393e32(0x211)],'commandCount':_0x2a9652[_0x393e32(0x20c)],'commands':_0x2a9652};}function sha256(_0x3fa428){const _0x1b7cf3=a34_0x573291;return createHash(_0x1b7cf3(0x1e2))[_0x1b7cf3(0x1fd)](_0x3fa428)[_0x1b7cf3(0x1cb)](_0x1b7cf3(0x1f8));}
@@ -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_0xf72b63=a35_0x5839;(function(_0xa4ebf,_0x5c34d3){const _0x1797df=a35_0x5839,_0x3e702f=_0xa4ebf();while(!![]){try{const _0x4e4bd9=parseInt(_0x1797df(0xcd))/0x1+parseInt(_0x1797df(0xb6))/0x2*(-parseInt(_0x1797df(0xce))/0x3)+parseInt(_0x1797df(0xd0))/0x4*(-parseInt(_0x1797df(0xb9))/0x5)+parseInt(_0x1797df(0xb1))/0x6*(-parseInt(_0x1797df(0xb4))/0x7)+parseInt(_0x1797df(0xc3))/0x8+-parseInt(_0x1797df(0xc7))/0x9*(-parseInt(_0x1797df(0xc9))/0xa)+-parseInt(_0x1797df(0xd2))/0xb*(parseInt(_0x1797df(0xaf))/0xc);if(_0x4e4bd9===_0x5c34d3)break;else _0x3e702f['push'](_0x3e702f['shift']());}catch(_0x4fef3f){_0x3e702f['push'](_0x3e702f['shift']());}}}(a35_0x12e4,0x86d7d));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_0xf72b63(0xb2),'command':a35_0xf72b63(0xc5),'description':a35_0xf72b63(0xb3),'risk':a35_0xf72b63(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x297a3d){const _0x4a1579=a35_0xf72b63,_0x2c16d8=buildSkillCreatePlan(_0x297a3d['str'](_0x4a1579(0xcc)),_0x297a3d[_0x4a1579(0xca)]('type'),_0x297a3d[_0x4a1579(0xca)]('target'));return{'method':_0x4a1579(0xc2),'url':_0x2c16d8['skillDir'],'body':{'skillName':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xcf)],'type':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xd1)],'selfContained':!![],'files':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xc4)][_0x4a1579(0xc0)](_0x492ca0=>_0x492ca0['path'])},'description':_0x4a1579(0xba)};},async 'execute'(_0x2ffae6){const _0x205769=a35_0xf72b63,_0x1eea50=buildSkillCreatePlan(_0x2ffae6['str'](_0x205769(0xcc)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xd1)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xc1)));return writeSkillDraft(_0x1eea50,_0x2ffae6[_0x205769(0xbc)](_0x205769(0xcb))),{'ok':!![],'data':{'skillName':_0x1eea50[_0x205769(0xc6)][_0x205769(0xcf)],'type':_0x1eea50[_0x205769(0xc6)][_0x205769(0xd1)],'dir':_0x1eea50[_0x205769(0xae)],'files':_0x1eea50[_0x205769(0xc6)][_0x205769(0xc4)][_0x205769(0xc0)](_0x308be4=>_0x308be4[_0x205769(0xb0)])},'message':_0x205769(0xb5)+_0x1eea50[_0x205769(0xc6)]['skillName']};}};function buildSkillCreatePlan(_0xa4a578,_0x19ebf6,_0x4a6621){const _0x35e7f3=a35_0xf72b63,_0x57f197=renderSkillTemplate({'skillName':_0xa4a578,'type':_0x19ebf6}),_0x517bb2=resolve(normalizeSkillTarget(_0x4a6621));return{'rendered':_0x57f197,'targetRoot':_0x517bb2,'skillDir':resolve(_0x517bb2,_0x57f197[_0x35e7f3(0xcf)])};}function normalizeSkillTarget(_0x4c1d22){const _0x14aadd=a35_0xf72b63;return(_0x4c1d22||DEFAULT_SKILL_TARGET)[_0x14aadd(0xbd)]()||DEFAULT_SKILL_TARGET;}function a35_0x12e4(){const _0x3956e8=['650NNHlLj','str','force','name','776856lluFZK','12PVrYjf','skillName','1560676YIHOdY','type','11FBNaWX','Skill\x20directory\x20already\x20exists:\x20','skillDir','7838508lZTCKO','path','528SXOyCK','skill','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1603vExPCT','Created\x20local\x20Skill\x20draft\x20','163068GxNNzf','validation','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','5mDCjeP','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isDirectory','bool','trim','write','content','map','target','WRITE','2231856Mqevqm','files','create','rendered','122697EnTzAx','isSymbolicLink'];a35_0x12e4=function(){return _0x3956e8;};return a35_0x12e4();}function a35_0x5839(_0xb073bc,_0x4f4e37){_0xb073bc=_0xb073bc-0xad;const _0x12e47a=a35_0x12e4();let _0x583911=_0x12e47a[_0xb073bc];return _0x583911;}function writeSkillDraft(_0xcb3b32,_0x19c4d5){const _0x1f001f=a35_0xf72b63;if(existsSync(_0xcb3b32['skillDir'])){const _0x44602f=lstatSync(_0xcb3b32[_0x1f001f(0xae)]);if(!_0x44602f[_0x1f001f(0xbb)]()||_0x44602f['isSymbolicLink']())throw CliErrors[_0x1f001f(0xb7)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0xcb3b32[_0x1f001f(0xae)]);if(!_0x19c4d5)throw CliErrors['validation'](_0x1f001f(0xad)+_0xcb3b32['skillDir'],_0x1f001f(0xb8));}for(const _0x42a81a of _0xcb3b32[_0x1f001f(0xc6)][_0x1f001f(0xc4)]){const _0x5dc3b8=resolve(_0xcb3b32[_0x1f001f(0xae)],_0x42a81a[_0x1f001f(0xb0)]),_0x5edeae=dirname(_0x5dc3b8);mkdirSync(_0x5edeae,{'recursive':!![]});if(existsSync(_0x5dc3b8)&&lstatSync(_0x5dc3b8)[_0x1f001f(0xc8)]())throw CliErrors[_0x1f001f(0xb7)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x5dc3b8);writeFileSync(_0x5dc3b8,_0x42a81a[_0x1f001f(0xbf)],'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_0x4ad83a=a36_0x2a0b;(function(_0x11b82b,_0x160f3f){const _0x51670b=a36_0x2a0b,_0x2a14ee=_0x11b82b();while(!![]){try{const _0x357071=parseInt(_0x51670b(0xdb))/0x1+parseInt(_0x51670b(0xe1))/0x2+-parseInt(_0x51670b(0xcc))/0x3+parseInt(_0x51670b(0xc7))/0x4+parseInt(_0x51670b(0xda))/0x5+parseInt(_0x51670b(0xca))/0x6+parseInt(_0x51670b(0xc4))/0x7*(-parseInt(_0x51670b(0xd2))/0x8);if(_0x357071===_0x160f3f)break;else _0x2a14ee['push'](_0x2a14ee['shift']());}catch(_0x43a709){_0x2a14ee['push'](_0x2a14ee['shift']());}}}(a36_0x2768,0x7d77c));function a36_0x2a0b(_0x5d9736,_0x3d70ac){_0x5d9736=_0x5d9736-0xbf;const _0x276838=a36_0x2768();let _0x2a0b62=_0x276838[_0x5d9736];return _0x2a0b62;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';function a36_0x2768(){const _0x308714=['write','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','unchanged','appCode','version','2096700RiChHf','83685FwyMeM','Installed\x20','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','includes','filter','action','494478AzMfKR','personal','map','scope','install','authRequired','\x20company\x20Skill(s).','\x20personal\x20and\x20','str','63lVCWep','push','skipped','1042152eCfqNv','company','envName','2869050gPYgIy','production','1107192BHwTWP','reduce','updated','skillCode','removed','flatMap','538664kBqtoZ','length','trim'];a36_0x2768=function(){return _0x308714;};return a36_0x2768();}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':a36_0x4ad83a(0xbf),'description':a36_0x4ad83a(0xdd),'risk':a36_0x4ad83a(0xd5),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4af75b){return syncRuntimeSkills(_0x4af75b);}};async function syncRuntimeSkills(_0x51d160){const _0x5e4ce7=a36_0x4ad83a,{downloadRuntimeSkillPackage:_0x3402cf,listRuntimeSkills:_0x145efd}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x4a4278,materializeRuntimeSkill:_0x3aff76,pruneStaleRuntimeSkillCache:_0x5866d0,pruneStaleRuntimeSkillLinks:_0x11714d}=await import('../../../skills/runtime-skill-sync.js'),_0x30bd38=_0x51d160[_0x5e4ce7(0xc3)]('code'),_0x4e2a1c=normalizeSyncScopes(_0x51d160[_0x5e4ce7(0xc3)](_0x5e4ce7(0xe4))),_0x190a15=_0x51d160[_0x5e4ce7(0xc9)]??_0x5e4ce7(0xcb),_0x339ba7=_0x51d160['accessKey'];if(!_0x339ba7)throw CliErrors[_0x5e4ce7(0xc0)](_0x5e4ce7(0xd6));const _0x23d3d6=await Promise['all'](_0x4e2a1c[_0x5e4ce7(0xe3)](_0x512526=>_0x145efd({'appCode':_0x51d160[_0x5e4ce7(0xd8)],'scope':_0x512526,'code':_0x30bd38[_0x5e4ce7(0xd4)]()||undefined}))),_0x48286d=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))?_0x23d3d6['flatMap']((_0x274962,_0x45e169)=>_0x4e2a1c[_0x45e169]===_0x5e4ce7(0xe2)?_0x274962[_0x5e4ce7(0xe2)]:[]):[],_0x94688a=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8))?_0x23d3d6[_0x5e4ce7(0xd1)]((_0x125969,_0x54a37e)=>_0x4e2a1c[_0x54a37e]===_0x5e4ce7(0xc8)?_0x125969[_0x5e4ce7(0xc8)]:[]):[],_0x302dc9=new Set([..._0x48286d[_0x5e4ce7(0xe3)](_0x1ebac6=>_0x1ebac6['skillCode']?.['trim']())[_0x5e4ce7(0xdf)](_0x6cf8ab=>Boolean(_0x6cf8ab)),..._0x94688a[_0x5e4ce7(0xe3)](_0x491330=>_0x491330[_0x5e4ce7(0xcf)]?.['trim']())['filter'](_0x50df92=>Boolean(_0x50df92))]),_0x8c8508=_0x30bd38[_0x5e4ce7(0xd4)]()?[_0x30bd38['trim']()]:undefined,_0x5a0dbd=_0x4e2a1c[_0x5e4ce7(0xd3)]===0x2&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8)),_0x5b754d=_0x5a0dbd?_0x11714d(_0x51d160['appCode'],_0x302dc9,{},_0x8c8508):[],_0xe5a16f=_0x5866d0({'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'activeSkillCodes':_0x302dc9,'pruneSkillCodes':_0x8c8508,'scopes':_0x4e2a1c}),_0x281355=[];for(const _0x467131 of _0x48286d){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x467131,'personal',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x467131,_0x5e4ce7(0xe2),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}for(const _0x5be7b7 of _0x94688a){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x5be7b7,'company',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x5be7b7,_0x5e4ce7(0xc8),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}const _0x346ad4=_0x4a4278(_0x281355,_0x51d160[_0x5e4ce7(0xd8)]),_0x2066b8=countLinkActions(_0x346ad4);return{'ok':!![],'data':{'appCode':_0x51d160[_0x5e4ce7(0xd8)],'personal':_0x48286d[_0x5e4ce7(0xd3)],'company':_0x94688a[_0x5e4ce7(0xd3)],'materialized':_0x281355[_0x5e4ce7(0xd3)],'links':{'total':_0x346ad4['length'],'created':_0x2066b8['created']??0x0,'updated':_0x2066b8[_0x5e4ce7(0xce)]??0x0,'unchanged':_0x2066b8[_0x5e4ce7(0xd7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5b754d[_0x5e4ce7(0xdf)](_0x30c6a5=>_0x30c6a5[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xd0))[_0x5e4ce7(0xd3)],'cacheDirs':_0xe5a16f[_0x5e4ce7(0xdf)](_0x15ace6=>_0x15ace6[_0x5e4ce7(0xe0)]==='removed')['length'],'skipped':[..._0x5b754d,..._0xe5a16f][_0x5e4ce7(0xdf)](_0x46a48f=>_0x46a48f[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xc6))[_0x5e4ce7(0xd3)]},'skills':{'personal':_0x48286d[_0x5e4ce7(0xe3)](summarizeRuntimeSkill),'company':_0x94688a[_0x5e4ce7(0xe3)](summarizeRuntimeSkill)}},'message':_0x5e4ce7(0xdc)+_0x48286d[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc2)+_0x94688a[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc1)};}async function downloadSkillPackage(_0x245f78,_0x2f776e,_0x30eda6,_0x3036d2){const _0x5a39c3=a36_0x4ad83a,_0x3ce7ee=_0x245f78[_0x5a39c3(0xd9)]?.[_0x5a39c3(0xd4)]();return _0x3ce7ee?_0x3036d2(_0x2f776e,_0x245f78['skillCode'],_0x30eda6,_0x3ce7ee):_0x3036d2(_0x2f776e,_0x245f78[_0x5a39c3(0xcf)],_0x30eda6);}function countLinkActions(_0x275a77){const _0x2a6bd5=a36_0x4ad83a;return _0x275a77[_0x2a6bd5(0xcd)]((_0x4ccdef,_0x62e8d1)=>{const _0x19304b=_0x2a6bd5;return _0x4ccdef[_0x62e8d1[_0x19304b(0xe0)]]=(_0x4ccdef[_0x62e8d1['action']]??0x0)+0x1,_0x4ccdef;},{});}