@lovrabet/lovrabet-cli 2.1.1-beta.1 → 2.1.2-beta.1

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 (85) 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/index.js +1 -1
  37. package/lib/commands/skill/templates.js +1 -1
  38. package/lib/commands/skill/validate.js +1 -1
  39. package/lib/commands/sql/detail.js +1 -1
  40. package/lib/commands/sql/exec.js +1 -1
  41. package/lib/commands/sql/index.js +1 -1
  42. package/lib/commands/update.js +1 -1
  43. package/lib/commands/workspace/index.js +1 -1
  44. package/lib/config/schema.js +1 -1
  45. package/lib/constant/app.js +1 -1
  46. package/lib/constant/auth-mode.js +1 -1
  47. package/lib/constant/cli.js +1 -1
  48. package/lib/constant/defaults.js +1 -1
  49. package/lib/constant/distribution.js +1 -1
  50. package/lib/constant/domain.js +1 -1
  51. package/lib/constant/env.js +1 -1
  52. package/lib/constant/output.js +1 -1
  53. package/lib/constant/product.js +1 -1
  54. package/lib/constant/risk.js +1 -1
  55. package/lib/constant/url.js +1 -1
  56. package/lib/context.js +1 -1
  57. package/lib/core/api-client.js +1 -1
  58. package/lib/core/db-resolver.js +1 -1
  59. package/lib/core/sdk-client.js +1 -1
  60. package/lib/errors.js +1 -1
  61. package/lib/framework/build-all-flags.js +1 -1
  62. package/lib/framework/dryrun.js +1 -1
  63. package/lib/framework/flags.js +1 -1
  64. package/lib/framework/help.js +1 -1
  65. package/lib/framework/index.js +1 -1
  66. package/lib/framework/output.js +1 -1
  67. package/lib/framework/preparse.js +1 -1
  68. package/lib/framework/response.js +1 -1
  69. package/lib/framework/runner-confirmation.js +1 -1
  70. package/lib/framework/runner-error.js +1 -1
  71. package/lib/framework/runner.js +1 -1
  72. package/lib/framework/schema-export.js +1 -1
  73. package/lib/framework/types.js +1 -1
  74. package/lib/generated/build-info.js +1 -1
  75. package/lib/help.js +1 -1
  76. package/lib/skills/npx-skills-add.js +1 -1
  77. package/lib/skills/runtime-skill-sync.js +1 -1
  78. package/lib/utils/apply-jq-filter.js +1 -1
  79. package/lib/utils/logger.js +1 -1
  80. package/lib/utils/params.js +1 -1
  81. package/lib/utils/platform.js +1 -1
  82. package/lib/utils/update-notice.js +1 -1
  83. package/lib/utils/version.js +1 -1
  84. package/lib/utils/write-cli-side-channel.js +1 -1
  85. package/package.json +1 -1
@@ -1 +1 @@
1
- const a27_0xd095b=a27_0x1660;(function(_0x1e04c1,_0x49a1fe){const _0x452ecf=a27_0x1660,_0x2c43e9=_0x1e04c1();while(!![]){try{const _0x38223b=parseInt(_0x452ecf(0x1d5))/0x1*(parseInt(_0x452ecf(0x1fd))/0x2)+-parseInt(_0x452ecf(0x207))/0x3*(-parseInt(_0x452ecf(0x1e6))/0x4)+-parseInt(_0x452ecf(0x1f5))/0x5+parseInt(_0x452ecf(0x1f4))/0x6*(parseInt(_0x452ecf(0x1d3))/0x7)+-parseInt(_0x452ecf(0x212))/0x8*(-parseInt(_0x452ecf(0x1f6))/0x9)+-parseInt(_0x452ecf(0x1f7))/0xa*(-parseInt(_0x452ecf(0x1da))/0xb)+-parseInt(_0x452ecf(0x209))/0xc;if(_0x38223b===_0x49a1fe)break;else _0x2c43e9['push'](_0x2c43e9['shift']());}catch(_0x1db377){_0x2c43e9['push'](_0x2c43e9['shift']());}}}(a27_0x105a,0x7df39));import{existsSync,readFileSync,statSync}from'node:fs';function a27_0x1660(_0x561135,_0x3f427f){_0x561135=_0x561135-0x1ce;const _0x105a4c=a27_0x105a();let _0x166035=_0x105a4c[_0x561135];return _0x166035;}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_0xd095b(0x1e9),'type':'string','required':!![],'description':a27_0xd095b(0x211)},FILE_FLAG={'name':a27_0xd095b(0x1e7),'type':a27_0xd095b(0x1dc),'required':!![],'description':a27_0xd095b(0x1df)},QUERY_FLAG={'name':a27_0xd095b(0x1d7),'type':a27_0xd095b(0x1dc),'required':!![],'description':a27_0xd095b(0x1ee)},TOPK_FLAG={'name':a27_0xd095b(0x1fc),'type':a27_0xd095b(0x1dd),'description':a27_0xd095b(0x1f3)};function readKnowledgeFile(_0x5d11d8){const _0x5e96f5=a27_0xd095b;if(!_0x5d11d8)throw CliErrors[_0x5e96f5(0x205)]('File\x20path\x20is\x20required.');if(!existsSync(_0x5d11d8))throw CliErrors[_0x5e96f5(0x205)](_0x5e96f5(0x1e2)+_0x5d11d8);if(!statSync(_0x5d11d8)['isFile']())throw CliErrors['validation'](_0x5e96f5(0x210)+_0x5d11d8);return readFileSync(_0x5d11d8,_0x5e96f5(0x202));}function summarizePersonalItem(_0x57d3cf){const _0x3ba355=a27_0xd095b;return{'id':_0x57d3cf['id'],'title':_0x57d3cf['title'],'version':_0x57d3cf[_0x3ba355(0x1f2)],'ragStatus':_0x57d3cf[_0x3ba355(0x1e5)],'ragErrorMessage':_0x57d3cf['ragErrorMessage'],'updateTime':_0x57d3cf[_0x3ba355(0x1e3)]};}function detailPersonalItem(_0xd66aa6){const _0x280003=a27_0xd095b;return{'id':_0xd66aa6['id'],'appCode':_0xd66aa6[_0x280003(0x1ed)],'scope':_0xd66aa6['scope'],'userId':_0xd66aa6[_0x280003(0x20b)],'title':_0xd66aa6['title'],'content':_0xd66aa6[_0x280003(0x1ff)]??'','version':_0xd66aa6['version'],'ragStatus':_0xd66aa6['ragStatus'],'ragErrorMessage':_0xd66aa6['ragErrorMessage'],'createTime':_0xd66aa6[_0x280003(0x1d1)],'updateTime':_0xd66aa6[_0x280003(0x1e3)]};}function summarizeSearchHit(_0x30773f){const _0x336449=a27_0xd095b;return{'scope':_0x30773f['scope'],'docId':_0x30773f[_0x336449(0x20e)],'score':_0x30773f[_0x336449(0x204)],'weightedScore':_0x30773f[_0x336449(0x1de)],'content':_0x30773f[_0x336449(0x1ff)],'metadata':_0x30773f[_0x336449(0x20f)]};}function readTopK(_0x40a95a){const _0xac6219=a27_0xd095b,_0x3f004d=_0x40a95a['flag'](_0xac6219(0x1fc));if(_0x3f004d===undefined||_0x3f004d===null||_0x3f004d==='')return undefined;const _0x3bc937=_0x40a95a[_0xac6219(0x1e0)](_0xac6219(0x1fc));if(!Number[_0xac6219(0x1ce)](_0x3bc937)||_0x3bc937<0x1)throw CliErrors['validation'](_0xac6219(0x208));return _0x3bc937;}const kbList={'service':'kb','command':a27_0xd095b(0x20d),'description':a27_0xd095b(0x1eb),'risk':a27_0xd095b(0x1ea),'flags':[VERBOSE_FLAG],async 'execute'(_0x2a3a58){const _0x492af2=a27_0xd095b,_0x4eb605=await listPersonalKnowledgeBaseItems(_0x2a3a58[_0x492af2(0x1ed)]);if(_0x2a3a58[_0x492af2(0x1d9)](_0x492af2(0x1e4)))return{'ok':!![],'data':{'total':_0x4eb605[_0x492af2(0x1fe)],'items':_0x4eb605}};return{'ok':!![],'data':{'total':_0x4eb605[_0x492af2(0x1fe)],'items':_0x4eb605[_0x492af2(0x1cf)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0xd095b(0x1d6),'description':a27_0xd095b(0x206),'risk':a27_0xd095b(0x1ea),'flags':[{...ID_FLAG,'description':a27_0xd095b(0x1db)}],async 'execute'(_0x4ef4e1){const _0xf2be0=await getPersonalKnowledgeBaseItem(_0x4ef4e1['num']('id'),_0x4ef4e1['appCode']);return{'ok':!![],'data':detailPersonalItem(_0xf2be0)};}},kbCreate={'service':'kb','command':a27_0xd095b(0x1d2),'description':a27_0xd095b(0x1d8),'risk':a27_0xd095b(0x203),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x1c4918){const _0x3640e3=a27_0xd095b,_0x137185=_0x1c4918[_0x3640e3(0x1fa)]('title'),_0x4e7c6d=readKnowledgeFile(_0x1c4918['str']('file')),_0x222023=await createPersonalKnowledgeBaseItem(_0x1c4918[_0x3640e3(0x1ed)],{'title':_0x137185,'content':_0x4e7c6d});return{'ok':!![],'data':summarizePersonalItem(_0x222023),'message':_0x3640e3(0x201)+_0x222023['id']+'\x20('+_0x222023[_0x3640e3(0x1e9)]+')'};},async 'dryRun'(_0x2c8544){const _0x5b65f9=a27_0xd095b,_0x4f0475=_0x2c8544[_0x5b65f9(0x1fa)]('title'),_0x88910=readKnowledgeFile(_0x2c8544['str'](_0x5b65f9(0x1e7)));return dryRun(_0x5b65f9(0x1d4),'/client/knowledge-base/personal/create')['body']({'appCode':_0x2c8544['appCode'],'title':_0x4f0475,'content':_0x88910})[_0x5b65f9(0x1f9)](_0x5b65f9(0x1ec)+_0x4f0475+'\x22')[_0x5b65f9(0x1f8)]();}},kbUpdate={'service':'kb','command':a27_0xd095b(0x1d0),'description':a27_0xd095b(0x1fb),'risk':a27_0xd095b(0x203),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'},{...TITLE_FLAG,'required':![],'description':'Override\x20the\x20existing\x20entry\x20title'},FILE_FLAG],async 'execute'(_0x4e662b){const _0x34f33f=a27_0xd095b,_0x55bb8e=_0x4e662b[_0x34f33f(0x1e0)]('id'),_0x4afe8e=readKnowledgeFile(_0x4e662b['str'](_0x34f33f(0x1e7))),_0x5930ca=_0x4e662b[_0x34f33f(0x1fa)](_0x34f33f(0x1e9))||(await getPersonalKnowledgeBaseItem(_0x55bb8e,_0x4e662b[_0x34f33f(0x1ed)]))[_0x34f33f(0x1e9)],_0x3319c7=await updatePersonalKnowledgeBaseItem(_0x55bb8e,_0x4e662b[_0x34f33f(0x1ed)],{'title':_0x5930ca,'content':_0x4afe8e});return{'ok':!![],'data':summarizePersonalItem(_0x3319c7),'message':_0x34f33f(0x20c)+_0x3319c7['id']+'\x20('+_0x3319c7[_0x34f33f(0x1e9)]+')'};},async 'dryRun'(_0x58b2e4){const _0x1ffbf7=a27_0xd095b,_0x3157f0=_0x58b2e4[_0x1ffbf7(0x1e0)]('id'),_0xb9f8e8=readKnowledgeFile(_0x58b2e4[_0x1ffbf7(0x1fa)]('file')),_0x4ec327=_0x58b2e4[_0x1ffbf7(0x1fa)](_0x1ffbf7(0x1e9))||(await getPersonalKnowledgeBaseItem(_0x3157f0,_0x58b2e4[_0x1ffbf7(0x1ed)]))[_0x1ffbf7(0x1e9)];return dryRun(_0x1ffbf7(0x1d4),_0x1ffbf7(0x1ef)+_0x3157f0+_0x1ffbf7(0x1e1))[_0x1ffbf7(0x200)]({'appCode':_0x58b2e4[_0x1ffbf7(0x1ed)],'title':_0x4ec327,'content':_0xb9f8e8})[_0x1ffbf7(0x1f9)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x3157f0)[_0x1ffbf7(0x1f8)]();}},kbSearch={'service':'kb','command':a27_0xd095b(0x1e8),'description':a27_0xd095b(0x20a),'risk':a27_0xd095b(0x1ea),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x30f238){const _0x2edc99=a27_0xd095b;if(!_0x30f238[_0x2edc99(0x1fa)](_0x2edc99(0x1d7))[_0x2edc99(0x1f1)]())throw CliErrors[_0x2edc99(0x205)](_0x2edc99(0x1f0));readTopK(_0x30f238);},async 'execute'(_0x8b5107){const _0x268e29=a27_0xd095b,_0x395369=_0x8b5107[_0x268e29(0x1fa)]('query')['trim'](),_0x43ef98=readTopK(_0x8b5107),_0x300f92=await searchKnowledgeBase(_0x8b5107['appCode'],{'query':_0x395369,'topK':_0x43ef98});return{'ok':!![],'data':{'total':_0x300f92['length'],'hits':_0x300f92[_0x268e29(0x1cf)](summarizeSearchHit)}};}};function a27_0x105a(){const _0x81f910=['Personal\x20knowledge-base\x20entry\x20ID','string','number','weightedScore','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','num','/update','File\x20not\x20found:\x20','updateTime','verbose','ragStatus','249160nHkqwP','file','search','title','read','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','appCode','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','/client/knowledge-base/personal/','Search\x20query\x20is\x20required.','trim','version','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','1633062iiEUCN','4275815EvagSd','2783763ovtMUc','20hjZZbl','build','description','str','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','topk','479314tPCvSy','length','content','body','Created\x20KB\x20entry\x20','utf8','write','score','validation','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','27kuyDtg','--topk\x20must\x20be\x20a\x20positive\x20number.','11904792rWLqbj','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','userId','Updated\x20KB\x20entry\x20','list','docId','metadata','File\x20is\x20not\x20a\x20regular\x20file:\x20','Personal\x20knowledge-base\x20entry\x20title','8kzNmjo','isFinite','map','update','createTime','create','7YTmwUw','POST','2fZCIYy','detail','query','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','bool','4079449GwYptL'];a27_0x105a=function(){return _0x81f910;};return a27_0x105a();}export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ function a27_0x571a(){const _0x57dff2=['build','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','Created\x20KB\x20entry\x20','21812RorCwv','125345sNstar','POST','Personal\x20knowledge-base\x20entry\x20ID','num','string','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','str','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','Search\x20query\x20is\x20required.','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','ragStatus','title','updateTime','version','number','30638ajSmHE','Updated\x20KB\x20entry\x20','Override\x20the\x20existing\x20entry\x20title','metadata','length','150nSQSub','flag','docId','content','list','verbose','File\x20is\x20not\x20a\x20regular\x20file:\x20','file','utf8','/client/knowledge-base/personal/create','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','64idBDoZ','7738912bJunXs','map','/update','userId','query','read','appCode','createTime','22VnTXgK','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','1098foNhHe','Personal\x20knowledge-base\x20entry\x20title','description','validation','2966929xJxlIN','search','1827756RXGftR','74770KVFvdH','447wGpfjP','bool','trim','/client/knowledge-base/personal/','ragErrorMessage','topk','detail','create','File\x20not\x20found:\x20','--topk\x20must\x20be\x20a\x20positive\x20number.','scope','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','write','body','update','File\x20path\x20is\x20required.'];a27_0x571a=function(){return _0x57dff2;};return a27_0x571a();}const a27_0x24ccfe=a27_0x1ccb;(function(_0x66171b,_0x34b717){const _0x40a301=a27_0x1ccb,_0x28737a=_0x66171b();while(!![]){try{const _0x2cb171=-parseInt(_0x40a301(0xed))/0x1*(parseInt(_0x40a301(0xdd))/0x2)+-parseInt(_0x40a301(0x101))/0x3*(parseInt(_0x40a301(0x114))/0x4)+-parseInt(_0x40a301(0x115))/0x5*(-parseInt(_0x40a301(0xe2))/0x6)+-parseInt(_0x40a301(0xfd))/0x7+parseInt(_0x40a301(0xee))/0x8+-parseInt(_0x40a301(0xf9))/0x9*(-parseInt(_0x40a301(0x100))/0xa)+parseInt(_0x40a301(0xf6))/0xb*(parseInt(_0x40a301(0xff))/0xc);if(_0x2cb171===_0x34b717)break;else _0x28737a['push'](_0x28737a['shift']());}catch(_0x2e9dc3){_0x28737a['push'](_0x28737a['shift']());}}}(a27_0x571a,0x910e5));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_0x24ccfe(0x122),'type':a27_0x24ccfe(0x119),'required':!![],'description':a27_0x24ccfe(0xfa)},FILE_FLAG={'name':a27_0x24ccfe(0xe9),'type':a27_0x24ccfe(0x119),'required':!![],'description':a27_0x24ccfe(0x11d)},QUERY_FLAG={'name':a27_0x24ccfe(0xf2),'type':a27_0x24ccfe(0x119),'required':!![],'description':a27_0x24ccfe(0xf7)},TOPK_FLAG={'name':a27_0x24ccfe(0x106),'type':a27_0x24ccfe(0xdc),'description':a27_0x24ccfe(0xf8)};function readKnowledgeFile(_0x14f79e){const _0x22e055=a27_0x24ccfe;if(!_0x14f79e)throw CliErrors['validation'](_0x22e055(0x110));if(!existsSync(_0x14f79e))throw CliErrors[_0x22e055(0xfc)](_0x22e055(0x109)+_0x14f79e);if(!statSync(_0x14f79e)['isFile']())throw CliErrors[_0x22e055(0xfc)](_0x22e055(0xe8)+_0x14f79e);return readFileSync(_0x14f79e,_0x22e055(0xea));}function summarizePersonalItem(_0x2384b5){const _0x17a902=a27_0x24ccfe;return{'id':_0x2384b5['id'],'title':_0x2384b5['title'],'version':_0x2384b5[_0x17a902(0xdb)],'ragStatus':_0x2384b5[_0x17a902(0x121)],'ragErrorMessage':_0x2384b5['ragErrorMessage'],'updateTime':_0x2384b5[_0x17a902(0x123)]};}function detailPersonalItem(_0x13f657){const _0x1a8837=a27_0x24ccfe;return{'id':_0x13f657['id'],'appCode':_0x13f657[_0x1a8837(0xf4)],'scope':_0x13f657[_0x1a8837(0x10b)],'userId':_0x13f657[_0x1a8837(0xf1)],'title':_0x13f657[_0x1a8837(0x122)],'content':_0x13f657[_0x1a8837(0xe5)]??'','version':_0x13f657['version'],'ragStatus':_0x13f657[_0x1a8837(0x121)],'ragErrorMessage':_0x13f657[_0x1a8837(0x105)],'createTime':_0x13f657[_0x1a8837(0xf5)],'updateTime':_0x13f657[_0x1a8837(0x123)]};}function summarizeSearchHit(_0x47866d){const _0x5e6ada=a27_0x24ccfe;return{'scope':_0x47866d['scope'],'docId':_0x47866d[_0x5e6ada(0xe4)],'score':_0x47866d['score'],'weightedScore':_0x47866d['weightedScore'],'content':_0x47866d['content'],'metadata':_0x47866d[_0x5e6ada(0xe0)]};}function readTopK(_0x21f35b){const _0x220a94=a27_0x24ccfe,_0x29d8d3=_0x21f35b[_0x220a94(0xe3)](_0x220a94(0x106));if(_0x29d8d3===undefined||_0x29d8d3===null||_0x29d8d3==='')return undefined;const _0xde9eab=_0x21f35b[_0x220a94(0x118)](_0x220a94(0x106));if(!Number['isFinite'](_0xde9eab)||_0xde9eab<0x1)throw CliErrors[_0x220a94(0xfc)](_0x220a94(0x10a));return _0xde9eab;}function a27_0x1ccb(_0x563e80,_0x36272d){_0x563e80=_0x563e80-0xdb;const _0x571af4=a27_0x571a();let _0x1ccb4a=_0x571af4[_0x563e80];return _0x1ccb4a;}const kbList={'service':'kb','command':a27_0x24ccfe(0xe6),'description':a27_0x24ccfe(0x10c),'risk':a27_0x24ccfe(0xf3),'flags':[VERBOSE_FLAG],async 'execute'(_0x16ad15){const _0x3c27d9=a27_0x24ccfe,_0x20164e=await listPersonalKnowledgeBaseItems(_0x16ad15[_0x3c27d9(0xf4)]);if(_0x16ad15[_0x3c27d9(0x102)](_0x3c27d9(0xe7)))return{'ok':!![],'data':{'total':_0x20164e[_0x3c27d9(0xe1)],'items':_0x20164e}};return{'ok':!![],'data':{'total':_0x20164e['length'],'items':_0x20164e[_0x3c27d9(0xef)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x24ccfe(0x107),'description':a27_0x24ccfe(0x120),'risk':a27_0x24ccfe(0xf3),'flags':[{...ID_FLAG,'description':a27_0x24ccfe(0x117)}],async 'execute'(_0x5bc2c8){const _0x15da76=a27_0x24ccfe,_0x486f72=await getPersonalKnowledgeBaseItem(_0x5bc2c8[_0x15da76(0x118)]('id'),_0x5bc2c8[_0x15da76(0xf4)]);return{'ok':!![],'data':detailPersonalItem(_0x486f72)};}},kbCreate={'service':'kb','command':a27_0x24ccfe(0x108),'description':a27_0x24ccfe(0xec),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x5cba7a){const _0x1b4a29=a27_0x24ccfe,_0x2c7d48=_0x5cba7a[_0x1b4a29(0x11b)]('title'),_0x1bb27c=readKnowledgeFile(_0x5cba7a[_0x1b4a29(0x11b)](_0x1b4a29(0xe9))),_0x5e5d3f=await createPersonalKnowledgeBaseItem(_0x5cba7a[_0x1b4a29(0xf4)],{'title':_0x2c7d48,'content':_0x1bb27c});return{'ok':!![],'data':summarizePersonalItem(_0x5e5d3f),'message':_0x1b4a29(0x113)+_0x5e5d3f['id']+'\x20('+_0x5e5d3f['title']+')'};},async 'dryRun'(_0x34faec){const _0xab02cc=a27_0x24ccfe,_0x4008e3=_0x34faec[_0xab02cc(0x11b)]('title'),_0x20d347=readKnowledgeFile(_0x34faec[_0xab02cc(0x11b)]('file'));return dryRun('POST',_0xab02cc(0xeb))['body']({'appCode':_0x34faec[_0xab02cc(0xf4)],'title':_0x4008e3,'content':_0x20d347})[_0xab02cc(0xfb)](_0xab02cc(0x11a)+_0x4008e3+'\x22')[_0xab02cc(0x111)]();}},kbUpdate={'service':'kb','command':a27_0x24ccfe(0x10f),'description':a27_0x24ccfe(0x11e),'risk':a27_0x24ccfe(0x10d),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'},{...TITLE_FLAG,'required':![],'description':a27_0x24ccfe(0xdf)},FILE_FLAG],async 'execute'(_0x3b6bba){const _0x50c8ed=a27_0x24ccfe,_0x56f235=_0x3b6bba['num']('id'),_0x2164b9=readKnowledgeFile(_0x3b6bba[_0x50c8ed(0x11b)]('file')),_0x11a6b5=_0x3b6bba['str'](_0x50c8ed(0x122))||(await getPersonalKnowledgeBaseItem(_0x56f235,_0x3b6bba['appCode']))['title'],_0x48ece9=await updatePersonalKnowledgeBaseItem(_0x56f235,_0x3b6bba[_0x50c8ed(0xf4)],{'title':_0x11a6b5,'content':_0x2164b9});return{'ok':!![],'data':summarizePersonalItem(_0x48ece9),'message':_0x50c8ed(0xde)+_0x48ece9['id']+'\x20('+_0x48ece9[_0x50c8ed(0x122)]+')'};},async 'dryRun'(_0x2e56d1){const _0x721b80=a27_0x24ccfe,_0x474b5a=_0x2e56d1[_0x721b80(0x118)]('id'),_0x42eeb9=readKnowledgeFile(_0x2e56d1[_0x721b80(0x11b)](_0x721b80(0xe9))),_0x179b15=_0x2e56d1[_0x721b80(0x11b)](_0x721b80(0x122))||(await getPersonalKnowledgeBaseItem(_0x474b5a,_0x2e56d1['appCode']))[_0x721b80(0x122)];return dryRun(_0x721b80(0x116),_0x721b80(0x104)+_0x474b5a+_0x721b80(0xf0))[_0x721b80(0x10e)]({'appCode':_0x2e56d1[_0x721b80(0xf4)],'title':_0x179b15,'content':_0x42eeb9})[_0x721b80(0xfb)](_0x721b80(0x11c)+_0x474b5a)[_0x721b80(0x111)]();}},kbSearch={'service':'kb','command':a27_0x24ccfe(0xfe),'description':a27_0x24ccfe(0x112),'risk':a27_0x24ccfe(0xf3),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x4560c0){const _0x250023=a27_0x24ccfe;if(!_0x4560c0[_0x250023(0x11b)](_0x250023(0xf2))[_0x250023(0x103)]())throw CliErrors[_0x250023(0xfc)](_0x250023(0x11f));readTopK(_0x4560c0);},async 'execute'(_0x57f143){const _0x1766de=a27_0x24ccfe,_0x353ed2=_0x57f143[_0x1766de(0x11b)](_0x1766de(0xf2))['trim'](),_0x448258=readTopK(_0x57f143),_0x2cb3bd=await searchKnowledgeBase(_0x57f143[_0x1766de(0xf4)],{'query':_0x353ed2,'topK':_0x448258});return{'ok':!![],'data':{'total':_0x2cb3bd['length'],'hits':_0x2cb3bd['map'](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0x3aaa0e=a28_0x1132;(function(_0x32f785,_0xe527b){const _0xe0abbe=a28_0x1132,_0x381587=_0x32f785();while(!![]){try{const _0x3aa417=parseInt(_0xe0abbe(0xa9))/0x1+-parseInt(_0xe0abbe(0xb1))/0x2*(-parseInt(_0xe0abbe(0x93))/0x3)+-parseInt(_0xe0abbe(0xb0))/0x4*(-parseInt(_0xe0abbe(0xab))/0x5)+-parseInt(_0xe0abbe(0xb5))/0x6*(parseInt(_0xe0abbe(0xa3))/0x7)+-parseInt(_0xe0abbe(0x9e))/0x8+parseInt(_0xe0abbe(0xa4))/0x9*(parseInt(_0xe0abbe(0x9c))/0xa)+-parseInt(_0xe0abbe(0x9f))/0xb;if(_0x3aa417===_0xe527b)break;else _0x381587['push'](_0x381587['shift']());}catch(_0x2819f6){_0x381587['push'](_0x381587['shift']());}}}(a28_0x24a5,0x39b76));function a28_0x1132(_0x3d6fc9,_0x5db275){_0x3d6fc9=_0x3d6fc9-0x91;const _0x24a560=a28_0x24a5();let _0x113223=_0x24a560[_0x3d6fc9];return _0x113223;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x53323e){const _0x2db0f7=a28_0x1132;if(_0x53323e[_0x2db0f7(0x9b)]===0x0){console[_0x2db0f7(0xa6)](_0x2db0f7(0x96));return;}console[_0x2db0f7(0xa6)]('*\x20'+CLI_DISPLAY_NAME+_0x2db0f7(0xa7)),_0x53323e[_0x2db0f7(0xa5)]((_0x27aac9,_0xacd55)=>{const _0x192631=_0x2db0f7,_0x5b3c98=new Date(_0x27aac9['timestamp'])['toLocaleString'](_0x192631(0xb4)),_0x385fe7=_0x27aac9['level']===_0x192631(0x9a)?'√':_0x27aac9[_0x192631(0xa2)]===_0x192631(0x95)?'×':_0x27aac9[_0x192631(0xa2)]===_0x192631(0x94)?'!':'i';console[_0x192631(0xa6)](_0xacd55+0x1+'.\x20'+_0x385fe7+'\x20['+_0x27aac9[_0x192631(0xaa)]+']\x20'+_0x27aac9[_0x192631(0xb2)]),console['log'](_0x192631(0xad)+_0x5b3c98),_0x27aac9[_0x192631(0x99)]&&console[_0x192631(0xa6)]('\x20\x20\x20Duration:\x20'+_0x27aac9[_0x192631(0x99)]+'ms'),_0x27aac9[_0x192631(0x9d)]&&Object[_0x192631(0xac)](_0x27aac9[_0x192631(0x9d)])[_0x192631(0x9b)]>0x0&&console[_0x192631(0xa6)](_0x192631(0x92)+JSON['stringify'](_0x27aac9['details'],null,0x2)),console[_0x192631(0xa6)]('');});}export const logsDefinitions=[{'service':a28_0x3aaa0e(0xaf),'command':a28_0x3aaa0e(0xa8),'description':a28_0x3aaa0e(0xa0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5635df){const _0x20e638=a28_0x3aaa0e;return printLogs(logger[_0x20e638(0xa1)]()),{'ok':!![]};}},{'service':a28_0x3aaa0e(0xaf),'command':a28_0x3aaa0e(0x91),'description':a28_0x3aaa0e(0xb3),'risk':a28_0x3aaa0e(0x97),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x901c8a){const _0x271b99=a28_0x3aaa0e;return logger[_0x271b99(0xae)](),console[_0x271b99(0xa6)](_0x271b99(0x98)),{'ok':!![]};}}];function a28_0x24a5(){const _0x16e6b0=['2322495EaFVGE','keys','\x20\x20\x20Time:\x20','clearLogs','logs','4zTIMWC','4iscAiG','message','Clear\x20command\x20history\x20logs','en-US','1710tdUTOA','clear','\x20\x20\x20Details:\x20','658059mGgyDa','warn','error','*\x20No\x20logs\x20found','write','*\x20Logs\x20cleared','duration','success','length','160cOvDnL','details','258152GXLRHb','9214689USIvla','View\x20command\x20history\x20logs','readLogs','level','4795JQdlJt','141318BgTcpp','forEach','log','\x20logs:\x0a','show','147162pVgzdI','command'];a28_0x24a5=function(){return _0x16e6b0;};return a28_0x24a5();}
1
+ function a28_0x1a44(_0x16930d,_0x2b6d46){_0x16930d=_0x16930d-0xaf;const _0x423c10=a28_0x423c();let _0x1a44a5=_0x423c10[_0x16930d];return _0x1a44a5;}const a28_0x4642e3=a28_0x1a44;(function(_0xd2574c,_0x13e6ff){const _0x2bec56=a28_0x1a44,_0x22e1b2=_0xd2574c();while(!![]){try{const _0x3693a7=-parseInt(_0x2bec56(0xb8))/0x1*(-parseInt(_0x2bec56(0xb5))/0x2)+parseInt(_0x2bec56(0xbc))/0x3+parseInt(_0x2bec56(0xc0))/0x4*(parseInt(_0x2bec56(0xb3))/0x5)+-parseInt(_0x2bec56(0xce))/0x6*(-parseInt(_0x2bec56(0xc5))/0x7)+parseInt(_0x2bec56(0xbe))/0x8*(parseInt(_0x2bec56(0xb6))/0x9)+parseInt(_0x2bec56(0xaf))/0xa*(-parseInt(_0x2bec56(0xb7))/0xb)+-parseInt(_0x2bec56(0xb2))/0xc;if(_0x3693a7===_0x13e6ff)break;else _0x22e1b2['push'](_0x22e1b2['shift']());}catch(_0x3834dd){_0x22e1b2['push'](_0x22e1b2['shift']());}}}(a28_0x423c,0xee3d1));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x423c(){const _0xd8acf9=['43590108ULaGUD','643285OPGrNO','readLogs','40diDZzg','65691wYqHDu','1958ndQHRR','36871lduVIZ','write','stringify','level','2848515tjXiGs','en-US','1952wbQSUM','forEach','40UPPdeg','clearLogs','details','command','\x20\x20\x20Duration:\x20','427RQNyEW','error','length','message','keys','warn','log','*\x20Logs\x20cleared','show','138702VRPjBs','87430GGqsCg','duration','timestamp'];a28_0x423c=function(){return _0xd8acf9;};return a28_0x423c();}function printLogs(_0x581c8d){const _0x3d7c29=a28_0x1a44;if(_0x581c8d['length']===0x0){console[_0x3d7c29(0xcb)]('*\x20No\x20logs\x20found');return;}console[_0x3d7c29(0xcb)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x581c8d[_0x3d7c29(0xbf)]((_0x5970ca,_0x5e97bd)=>{const _0x48a153=_0x3d7c29,_0x491519=new Date(_0x5970ca[_0x48a153(0xb1)])['toLocaleString'](_0x48a153(0xbd)),_0xc7dae7=_0x5970ca[_0x48a153(0xbb)]==='success'?'√':_0x5970ca['level']===_0x48a153(0xc6)?'×':_0x5970ca[_0x48a153(0xbb)]===_0x48a153(0xca)?'!':'i';console[_0x48a153(0xcb)](_0x5e97bd+0x1+'.\x20'+_0xc7dae7+'\x20['+_0x5970ca[_0x48a153(0xc3)]+']\x20'+_0x5970ca[_0x48a153(0xc8)]),console[_0x48a153(0xcb)]('\x20\x20\x20Time:\x20'+_0x491519),_0x5970ca[_0x48a153(0xb0)]&&console[_0x48a153(0xcb)](_0x48a153(0xc4)+_0x5970ca[_0x48a153(0xb0)]+'ms'),_0x5970ca['details']&&Object[_0x48a153(0xc9)](_0x5970ca[_0x48a153(0xc2)])[_0x48a153(0xc7)]>0x0&&console[_0x48a153(0xcb)]('\x20\x20\x20Details:\x20'+JSON[_0x48a153(0xba)](_0x5970ca[_0x48a153(0xc2)],null,0x2)),console[_0x48a153(0xcb)]('');});}export const logsDefinitions=[{'service':'logs','command':a28_0x4642e3(0xcd),'description':'View\x20command\x20history\x20logs','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3fdb6c){const _0x343b45=a28_0x4642e3;return printLogs(logger[_0x343b45(0xb4)]()),{'ok':!![]};}},{'service':'logs','command':'clear','description':'Clear\x20command\x20history\x20logs','risk':a28_0x4642e3(0xb9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3d53a0){const _0x103930=a28_0x4642e3;return logger[_0x103930(0xc1)](),console['log'](_0x103930(0xcc)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x45a965=a29_0x4b65;(function(_0x2f8412,_0x32fd83){const _0x1e9624=a29_0x4b65,_0x2beeb3=_0x2f8412();while(!![]){try{const _0x224884=-parseInt(_0x1e9624(0x1bc))/0x1+-parseInt(_0x1e9624(0x1d2))/0x2*(parseInt(_0x1e9624(0x1cf))/0x3)+-parseInt(_0x1e9624(0x1cd))/0x4*(-parseInt(_0x1e9624(0x1ac))/0x5)+-parseInt(_0x1e9624(0x1dc))/0x6*(-parseInt(_0x1e9624(0x1c7))/0x7)+parseInt(_0x1e9624(0x1e0))/0x8+-parseInt(_0x1e9624(0x1bb))/0x9*(parseInt(_0x1e9624(0x1c2))/0xa)+parseInt(_0x1e9624(0x1ea))/0xb;if(_0x224884===_0x32fd83)break;else _0x2beeb3['push'](_0x2beeb3['shift']());}catch(_0x330581){_0x2beeb3['push'](_0x2beeb3['shift']());}}}(a29_0x61d4,0xac124));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';function a29_0x4b65(_0x509326,_0x1d719c){_0x509326=_0x509326-0x1ac;const _0x61d433=a29_0x61d4();let _0x4b659c=_0x61d433[_0x509326];return _0x4b659c;}import{CliErrors}from'../../errors.js';function a29_0x61d4(){const _0x53b8e2=['createUserId','config','updateTime','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','69140duJmUv','functionName','body','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','build','315GcoeJZ','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','isArray','gmtCreate','flag','write','1196872BACACT','read','129201dspEhf','length','name','58zwCtkv','num','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/client/runtime-bff/personal/','createTime','Preview:\x20create\x20personal\x20BFF\x20','params','exec','isFile','Personal\x20BFF\x20script\x20ID','88902jlRnCT','personal-bff','description','scriptContent','5377528UQAePi','File\x20path\x20is\x20required.','scriptType','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','keys','validation','trim','Preview:\x20update\x20personal\x20BFF\x20','POST','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','16442052BIYyax','update','create','version','gmtModified','source-session-id','/client/runtime-bff/personal/create','20XiwjTM','sourceSessionId','map','Executed\x20personal\x20BFF\x20','appCode','detail','verbose','str','Show\x20one\x20personal\x20BFF\x20by\x20id','file','Updated\x20personal\x20BFF\x20','string','Created\x20personal\x20BFF\x20','test','File\x20not\x20found:\x20','1737FGxgsi','742411QfvwsQ','File\x20is\x20not\x20a\x20regular\x20file:\x20'];a29_0x61d4=function(){return _0x53b8e2;};return a29_0x61d4();}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_0x45a965(0x1b5),'type':a29_0x45a965(0x1b7),'description':a29_0x45a965(0x1c8)},FUNCTION_NAME_FLAG={'name':'name','type':'string','required':!![],'description':a29_0x45a965(0x1e3)},DESCRIPTION_FLAG={'name':a29_0x45a965(0x1de),'type':'string','description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x45a965(0x1ef),'type':a29_0x45a965(0x1b7),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x30c11e){const _0x22d05d=a29_0x45a965,_0x1910a2=String(_0x30c11e||'')[_0x22d05d(0x1e6)]();if(!_0x1910a2||!FUNCTION_NAME_PATTERN[_0x22d05d(0x1b9)](_0x1910a2))throw CliErrors['validation'](_0x22d05d(0x1c1));return _0x1910a2;}function readScriptFile(_0x2b45f8){const _0x3eecda=a29_0x45a965;if(!_0x2b45f8)throw CliErrors['validation'](_0x3eecda(0x1e1));if(!existsSync(_0x2b45f8))throw CliErrors[_0x3eecda(0x1e5)](_0x3eecda(0x1ba)+_0x2b45f8);if(!statSync(_0x2b45f8)[_0x3eecda(0x1da)]())throw CliErrors[_0x3eecda(0x1e5)](_0x3eecda(0x1bd)+_0x2b45f8);const _0x440101=readFileSync(_0x2b45f8,'utf8');if(!_0x440101['trim']())throw CliErrors[_0x3eecda(0x1e5)](_0x3eecda(0x1d4));return _0x440101;}function optionalTrimmed(_0x3022de){const _0x5a8773=a29_0x45a965,_0x1fa23c=String(_0x3022de||'')[_0x5a8773(0x1e6)]();return _0x1fa23c||undefined;}function summarizeBff(_0x28083f){const _0xdca09a=a29_0x45a965;return{'id':_0x28083f['id'],'appCode':_0x28083f[_0xdca09a(0x1b0)],'functionName':_0x28083f[_0xdca09a(0x1c3)],'description':_0x28083f[_0xdca09a(0x1de)],'scriptType':_0x28083f[_0xdca09a(0x1e2)],'version':_0x28083f[_0xdca09a(0x1ed)],'gmtModified':_0x28083f['gmtModified'],'updateTime':_0x28083f[_0xdca09a(0x1c0)]};}function detailBff(_0x2624a3){const _0x32e331=a29_0x45a965;return{'id':_0x2624a3['id'],'appCode':_0x2624a3['appCode'],'functionName':_0x2624a3[_0x32e331(0x1c3)],'description':_0x2624a3[_0x32e331(0x1de)],'scriptType':_0x2624a3[_0x32e331(0x1e2)],'scriptContent':_0x2624a3[_0x32e331(0x1df)]??'','config':_0x2624a3[_0x32e331(0x1bf)],'version':_0x2624a3['version'],'createUserId':_0x2624a3[_0x32e331(0x1be)],'gmtCreate':_0x2624a3[_0x32e331(0x1ca)],'gmtModified':_0x2624a3[_0x32e331(0x1ee)],'createTime':_0x2624a3[_0x32e331(0x1d6)],'updateTime':_0x2624a3['updateTime']};}function buildCreateInput(_0x2f57bb){const _0x1fcbba=a29_0x45a965;return{'functionName':normalizeFunctionName(_0x2f57bb['str'](_0x1fcbba(0x1d1))),...optionalTrimmed(_0x2f57bb['str']('description'))?{'description':optionalTrimmed(_0x2f57bb[_0x1fcbba(0x1b3)]('description'))}:{},'scriptContent':readScriptFile(_0x2f57bb[_0x1fcbba(0x1b3)](_0x1fcbba(0x1b5))),...optionalTrimmed(_0x2f57bb[_0x1fcbba(0x1b3)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x2f57bb[_0x1fcbba(0x1b3)](_0x1fcbba(0x1ef)))}:{}};}function buildUpdateInput(_0x12b824){const _0x34ddf8=a29_0x45a965,_0x301cba={};optionalTrimmed(_0x12b824[_0x34ddf8(0x1b3)]('name'))&&(_0x301cba[_0x34ddf8(0x1c3)]=normalizeFunctionName(_0x12b824[_0x34ddf8(0x1b3)]('name')));_0x12b824[_0x34ddf8(0x1cb)](_0x34ddf8(0x1de))!==undefined&&(_0x301cba[_0x34ddf8(0x1de)]=_0x12b824[_0x34ddf8(0x1b3)](_0x34ddf8(0x1de)));optionalTrimmed(_0x12b824[_0x34ddf8(0x1b3)](_0x34ddf8(0x1b5)))&&(_0x301cba[_0x34ddf8(0x1df)]=readScriptFile(_0x12b824[_0x34ddf8(0x1b3)](_0x34ddf8(0x1b5))));_0x12b824[_0x34ddf8(0x1cb)](_0x34ddf8(0x1ef))!==undefined&&(_0x301cba[_0x34ddf8(0x1ad)]=_0x12b824[_0x34ddf8(0x1b3)](_0x34ddf8(0x1ef)));if(Object[_0x34ddf8(0x1e4)](_0x301cba)[_0x34ddf8(0x1d0)]===0x0)throw CliErrors[_0x34ddf8(0x1e5)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x301cba;}function parseExecParams(_0x30446d){const _0x42c950=a29_0x45a965,_0x3db8d4=parseJsonParams(_0x30446d)??{};if(Array[_0x42c950(0x1c9)](_0x3db8d4))throw CliErrors[_0x42c950(0x1e5)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x3db8d4;}const personalBffList={'service':a29_0x45a965(0x1dd),'command':'list','description':'List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','risk':a29_0x45a965(0x1ce),'flags':[VERBOSE_FLAG],async 'execute'(_0x95a6ae){const _0x50450e=a29_0x45a965,_0x14c951=await listPersonalBffs(_0x95a6ae[_0x50450e(0x1b0)]);return{'ok':!![],'data':{'total':_0x14c951[_0x50450e(0x1d0)],'items':_0x95a6ae['bool'](_0x50450e(0x1b2))?_0x14c951:_0x14c951[_0x50450e(0x1ae)](summarizeBff)}};}},personalBffDetail={'service':a29_0x45a965(0x1dd),'command':a29_0x45a965(0x1b1),'description':a29_0x45a965(0x1b4),'risk':a29_0x45a965(0x1ce),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x49fbfb){const _0x3bad4d=a29_0x45a965,_0xcc6051=await getPersonalBff(_0x49fbfb[_0x3bad4d(0x1d3)]('id'),_0x49fbfb[_0x3bad4d(0x1b0)]);return{'ok':!![],'data':detailBff(_0xcc6051)};}},personalBffCreate={'service':'personal-bff','command':a29_0x45a965(0x1ec),'description':a29_0x45a965(0x1c5),'risk':a29_0x45a965(0x1cc),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4b9c13){const _0x422960=a29_0x45a965,_0x339c30=buildCreateInput(_0x4b9c13),_0x6b1029=await createPersonalBff(_0x4b9c13[_0x422960(0x1b0)],_0x339c30);return{'ok':!![],'data':detailBff(_0x6b1029),'message':_0x422960(0x1b8)+_0x6b1029['id']+(_0x6b1029[_0x422960(0x1c3)]?'\x20('+_0x6b1029[_0x422960(0x1c3)]+')':'')};},async 'dryRun'(_0x33778f){const _0x5952a5=a29_0x45a965,_0x48d795=buildCreateInput(_0x33778f);return dryRun(_0x5952a5(0x1e8),_0x5952a5(0x1f0))[_0x5952a5(0x1c4)]({'appCode':_0x33778f['appCode'],..._0x48d795})[_0x5952a5(0x1de)](_0x5952a5(0x1d7)+_0x48d795['functionName'])['build']();}},personalBffUpdate={'service':a29_0x45a965(0x1dd),'command':a29_0x45a965(0x1eb),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x45a965(0x1cc),'flags':[{...ID_FLAG,'description':a29_0x45a965(0x1db)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x570d55){const _0x5f36b9=a29_0x45a965,_0x445ad4=_0x570d55[_0x5f36b9(0x1d3)]('id'),_0x395544=buildUpdateInput(_0x570d55),_0x5aa9f5=await updatePersonalBff(_0x445ad4,_0x570d55[_0x5f36b9(0x1b0)],_0x395544);return{'ok':!![],'data':detailBff(_0x5aa9f5),'message':_0x5f36b9(0x1b6)+_0x5aa9f5['id']+(_0x5aa9f5[_0x5f36b9(0x1c3)]?'\x20('+_0x5aa9f5[_0x5f36b9(0x1c3)]+')':'')};},async 'dryRun'(_0xed0fae){const _0x531b9d=a29_0x45a965,_0x4e8f37=_0xed0fae['num']('id'),_0x1ba5fb=buildUpdateInput(_0xed0fae);return dryRun(_0x531b9d(0x1e8),_0x531b9d(0x1d5)+_0x4e8f37+'/update')[_0x531b9d(0x1c4)]({'appCode':_0xed0fae['appCode'],..._0x1ba5fb})[_0x531b9d(0x1de)](_0x531b9d(0x1e7)+_0x4e8f37)[_0x531b9d(0x1c6)]();}},personalBffExec={'service':'personal-bff','command':a29_0x45a965(0x1d9),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':'high-risk-write','flags':[{...ID_FLAG,'description':a29_0x45a965(0x1db)},{...PARAMS_FLAG,'description':a29_0x45a965(0x1e9)}],async 'validate'(_0x57d6c5){const _0x2d2d13=a29_0x45a965;parseExecParams(_0x57d6c5[_0x2d2d13(0x1b3)](_0x2d2d13(0x1d8)));},async 'execute'(_0x59a560){const _0x6879f4=a29_0x45a965,_0x175649=_0x59a560[_0x6879f4(0x1d3)]('id'),_0xdb4761=parseExecParams(_0x59a560[_0x6879f4(0x1b3)](_0x6879f4(0x1d8))),_0x3a4841=await executePersonalBff(_0x175649,_0x59a560['appCode'],_0xdb4761);return{'ok':!![],'data':{'result':_0x3a4841},'message':_0x6879f4(0x1af)+_0x175649};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0x4d2786=a29_0x15f5;(function(_0x37cb66,_0x511de5){const _0x1088cb=a29_0x15f5,_0x7acfaf=_0x37cb66();while(!![]){try{const _0x53f880=parseInt(_0x1088cb(0xb4))/0x1+parseInt(_0x1088cb(0x8f))/0x2*(-parseInt(_0x1088cb(0x7c))/0x3)+parseInt(_0x1088cb(0xa7))/0x4+-parseInt(_0x1088cb(0x82))/0x5*(-parseInt(_0x1088cb(0xaa))/0x6)+-parseInt(_0x1088cb(0x97))/0x7+-parseInt(_0x1088cb(0xa2))/0x8*(parseInt(_0x1088cb(0x9d))/0x9)+parseInt(_0x1088cb(0xb5))/0xa;if(_0x53f880===_0x511de5)break;else _0x7acfaf['push'](_0x7acfaf['shift']());}catch(_0x5c47ac){_0x7acfaf['push'](_0x7acfaf['shift']());}}}(a29_0x48ec,0x58ca4));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_0x4d2786(0xb0),'type':a29_0x4d2786(0x96),'description':a29_0x4d2786(0x9b)},FUNCTION_NAME_FLAG={'name':a29_0x4d2786(0x85),'type':a29_0x4d2786(0x96),'required':!![],'description':a29_0x4d2786(0xa8)},DESCRIPTION_FLAG={'name':a29_0x4d2786(0x84),'type':'string','description':a29_0x4d2786(0x8d)},SOURCE_SESSION_FLAG={'name':a29_0x4d2786(0xa0),'type':a29_0x4d2786(0x96),'description':a29_0x4d2786(0xb7)};function normalizeFunctionName(_0x241f76){const _0x2cecfc=a29_0x4d2786,_0x5ca39e=String(_0x241f76||'')[_0x2cecfc(0x81)]();if(!_0x5ca39e||!FUNCTION_NAME_PATTERN[_0x2cecfc(0x98)](_0x5ca39e))throw CliErrors[_0x2cecfc(0xa3)](_0x2cecfc(0x77));return _0x5ca39e;}function readScriptFile(_0x19834d){const _0x155283=a29_0x4d2786;if(!_0x19834d)throw CliErrors['validation'](_0x155283(0x8a));if(!existsSync(_0x19834d))throw CliErrors[_0x155283(0xa3)]('File\x20not\x20found:\x20'+_0x19834d);if(!statSync(_0x19834d)[_0x155283(0xaf)]())throw CliErrors[_0x155283(0xa3)](_0x155283(0x9e)+_0x19834d);const _0x3f467a=readFileSync(_0x19834d,_0x155283(0x80));if(!_0x3f467a[_0x155283(0x81)]())throw CliErrors['validation'](_0x155283(0xb1));return _0x3f467a;}function a29_0x15f5(_0x1abe18,_0x4a6e84){_0x1abe18=_0x1abe18-0x77;const _0x48ec19=a29_0x48ec();let _0x15f59c=_0x48ec19[_0x1abe18];return _0x15f59c;}function optionalTrimmed(_0x4dc2ad){const _0x157b9d=a29_0x4d2786,_0x337f53=String(_0x4dc2ad||'')[_0x157b9d(0x81)]();return _0x337f53||undefined;}function summarizeBff(_0x1e3a96){const _0x140464=a29_0x4d2786;return{'id':_0x1e3a96['id'],'appCode':_0x1e3a96[_0x140464(0xa9)],'functionName':_0x1e3a96[_0x140464(0x79)],'description':_0x1e3a96[_0x140464(0x84)],'scriptType':_0x1e3a96[_0x140464(0xab)],'version':_0x1e3a96[_0x140464(0x8e)],'gmtModified':_0x1e3a96[_0x140464(0x83)],'updateTime':_0x1e3a96['updateTime']};}function detailBff(_0x1af4c2){const _0x4386f1=a29_0x4d2786;return{'id':_0x1af4c2['id'],'appCode':_0x1af4c2['appCode'],'functionName':_0x1af4c2[_0x4386f1(0x79)],'description':_0x1af4c2[_0x4386f1(0x84)],'scriptType':_0x1af4c2['scriptType'],'scriptContent':_0x1af4c2['scriptContent']??'','config':_0x1af4c2[_0x4386f1(0xa1)],'version':_0x1af4c2[_0x4386f1(0x8e)],'createUserId':_0x1af4c2[_0x4386f1(0x9f)],'gmtCreate':_0x1af4c2[_0x4386f1(0xb8)],'gmtModified':_0x1af4c2[_0x4386f1(0x83)],'createTime':_0x1af4c2[_0x4386f1(0x7f)],'updateTime':_0x1af4c2[_0x4386f1(0xb6)]};}function buildCreateInput(_0x5833fe){const _0x263a6e=a29_0x4d2786;return{'functionName':normalizeFunctionName(_0x5833fe[_0x263a6e(0xba)](_0x263a6e(0x85))),...optionalTrimmed(_0x5833fe[_0x263a6e(0xba)](_0x263a6e(0x84)))?{'description':optionalTrimmed(_0x5833fe['str']('description'))}:{},'scriptContent':readScriptFile(_0x5833fe[_0x263a6e(0xba)](_0x263a6e(0xb0))),...optionalTrimmed(_0x5833fe[_0x263a6e(0xba)](_0x263a6e(0xa0)))?{'sourceSessionId':optionalTrimmed(_0x5833fe[_0x263a6e(0xba)](_0x263a6e(0xa0)))}:{}};}function buildUpdateInput(_0x39c5bd){const _0x39eca1=a29_0x4d2786,_0x9ab7b6={};optionalTrimmed(_0x39c5bd['str'](_0x39eca1(0x85)))&&(_0x9ab7b6[_0x39eca1(0x79)]=normalizeFunctionName(_0x39c5bd['str']('name')));_0x39c5bd[_0x39eca1(0x9a)](_0x39eca1(0x84))!==undefined&&(_0x9ab7b6[_0x39eca1(0x84)]=_0x39c5bd[_0x39eca1(0xba)](_0x39eca1(0x84)));optionalTrimmed(_0x39c5bd[_0x39eca1(0xba)](_0x39eca1(0xb0)))&&(_0x9ab7b6['scriptContent']=readScriptFile(_0x39c5bd[_0x39eca1(0xba)](_0x39eca1(0xb0))));_0x39c5bd[_0x39eca1(0x9a)](_0x39eca1(0xa0))!==undefined&&(_0x9ab7b6['sourceSessionId']=_0x39c5bd[_0x39eca1(0xba)](_0x39eca1(0xa0)));if(Object[_0x39eca1(0xa6)](_0x9ab7b6)['length']===0x0)throw CliErrors['validation']('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x9ab7b6;}function a29_0x48ec(){const _0x3fa526=['Personal\x20BFF\x20script\x20ID','2011941QeXBaI','File\x20is\x20not\x20a\x20regular\x20file:\x20','createUserId','source-session-id','config','8KmAaKo','validation','POST','params','keys','404512uxBXBd','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','appCode','12AiBzkJ','scriptType','body','Show\x20one\x20personal\x20BFF\x20by\x20id','/update','isFile','file','Personal\x20BFF\x20script\x20file\x20is\x20blank.','map','personal-bff','699977trrnnI','4911890UpGevy','updateTime','Optional\x20source\x20RuntimeAgent\x20session\x20id','gmtCreate','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','str','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','length','functionName','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','bool','69SaOYeb','num','build','createTime','utf8','trim','96205VzpUaK','gmtModified','description','name','Created\x20personal\x20BFF\x20','isArray','update','Updated\x20personal\x20BFF\x20','File\x20path\x20is\x20required.','exec','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','Personal\x20BFF\x20description','version','9206lpcHkp','Preview:\x20update\x20personal\x20BFF\x20','Preview:\x20create\x20personal\x20BFF\x20','write','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','read','Update\x20a\x20personal\x20BFF\x20by\x20id','string','4463718kFNYFa','test','/client/runtime-bff/personal/create','flag','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'];a29_0x48ec=function(){return _0x3fa526;};return a29_0x48ec();}function parseExecParams(_0x486e48){const _0x3ac3ff=a29_0x4d2786,_0x3ebda5=parseJsonParams(_0x486e48)??{};if(Array[_0x3ac3ff(0x87)](_0x3ebda5))throw CliErrors['validation']('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x3ebda5;}const personalBffList={'service':'personal-bff','command':'list','description':a29_0x4d2786(0x7a),'risk':a29_0x4d2786(0x94),'flags':[VERBOSE_FLAG],async 'execute'(_0x406bd7){const _0x27b41f=a29_0x4d2786,_0x109cff=await listPersonalBffs(_0x406bd7[_0x27b41f(0xa9)]);return{'ok':!![],'data':{'total':_0x109cff[_0x27b41f(0x78)],'items':_0x406bd7[_0x27b41f(0x7b)]('verbose')?_0x109cff:_0x109cff[_0x27b41f(0xb2)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':'detail','description':a29_0x4d2786(0xad),'risk':a29_0x4d2786(0x94),'flags':[{...ID_FLAG,'description':a29_0x4d2786(0x9c)}],async 'execute'(_0x26e48a){const _0x2c846b=a29_0x4d2786,_0x96afaf=await getPersonalBff(_0x26e48a[_0x2c846b(0x7d)]('id'),_0x26e48a[_0x2c846b(0xa9)]);return{'ok':!![],'data':detailBff(_0x96afaf)};}},personalBffCreate={'service':a29_0x4d2786(0xb3),'command':'create','description':a29_0x4d2786(0xb9),'risk':a29_0x4d2786(0x92),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x86eb2b){const _0x208c1f=a29_0x4d2786,_0x14321b=buildCreateInput(_0x86eb2b),_0x27b336=await createPersonalBff(_0x86eb2b[_0x208c1f(0xa9)],_0x14321b);return{'ok':!![],'data':detailBff(_0x27b336),'message':_0x208c1f(0x86)+_0x27b336['id']+(_0x27b336['functionName']?'\x20('+_0x27b336[_0x208c1f(0x79)]+')':'')};},async 'dryRun'(_0x4b8440){const _0x8ea17c=a29_0x4d2786,_0x170864=buildCreateInput(_0x4b8440);return dryRun(_0x8ea17c(0xa4),_0x8ea17c(0x99))['body']({'appCode':_0x4b8440[_0x8ea17c(0xa9)],..._0x170864})['description'](_0x8ea17c(0x91)+_0x170864[_0x8ea17c(0x79)])[_0x8ea17c(0x7e)]();}},personalBffUpdate={'service':'personal-bff','command':a29_0x4d2786(0x88),'description':a29_0x4d2786(0x95),'risk':a29_0x4d2786(0x92),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x14c8f9){const _0x447fc4=a29_0x4d2786,_0x1a1a0d=_0x14c8f9[_0x447fc4(0x7d)]('id'),_0x42f352=buildUpdateInput(_0x14c8f9),_0x1099b9=await updatePersonalBff(_0x1a1a0d,_0x14c8f9[_0x447fc4(0xa9)],_0x42f352);return{'ok':!![],'data':detailBff(_0x1099b9),'message':_0x447fc4(0x89)+_0x1099b9['id']+(_0x1099b9[_0x447fc4(0x79)]?'\x20('+_0x1099b9[_0x447fc4(0x79)]+')':'')};},async 'dryRun'(_0xc518f7){const _0x29e76d=a29_0x4d2786,_0x523b76=_0xc518f7[_0x29e76d(0x7d)]('id'),_0x17325e=buildUpdateInput(_0xc518f7);return dryRun(_0x29e76d(0xa4),'/client/runtime-bff/personal/'+_0x523b76+_0x29e76d(0xae))[_0x29e76d(0xac)]({'appCode':_0xc518f7[_0x29e76d(0xa9)],..._0x17325e})[_0x29e76d(0x84)](_0x29e76d(0x90)+_0x523b76)[_0x29e76d(0x7e)]();}},personalBffExec={'service':'personal-bff','command':a29_0x4d2786(0x8b),'description':a29_0x4d2786(0x8c),'risk':'high-risk-write','flags':[{...ID_FLAG,'description':a29_0x4d2786(0x9c)},{...PARAMS_FLAG,'description':a29_0x4d2786(0x93)}],async 'validate'(_0x5db815){const _0x13f043=a29_0x4d2786;parseExecParams(_0x5db815[_0x13f043(0xba)]('params'));},async 'execute'(_0x252681){const _0x447aaa=a29_0x4d2786,_0x3bb9ed=_0x252681[_0x447aaa(0x7d)]('id'),_0xaf6c82=parseExecParams(_0x252681[_0x447aaa(0xba)](_0x447aaa(0xa5))),_0x10b69f=await executePersonalBff(_0x3bb9ed,_0x252681['appCode'],_0xaf6c82);return{'ok':!![],'data':{'result':_0x10b69f},'message':'Executed\x20personal\x20BFF\x20'+_0x3bb9ed};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x2d7a9f=a30_0x52dc;(function(_0x37d4d3,_0x18f3c7){const _0x2417e4=a30_0x52dc,_0x117f3a=_0x37d4d3();while(!![]){try{const _0x1f33c9=parseInt(_0x2417e4(0xc7))/0x1+parseInt(_0x2417e4(0xdc))/0x2+-parseInt(_0x2417e4(0xc8))/0x3+parseInt(_0x2417e4(0xdf))/0x4+-parseInt(_0x2417e4(0xcd))/0x5*(parseInt(_0x2417e4(0xc4))/0x6)+parseInt(_0x2417e4(0xe5))/0x7*(-parseInt(_0x2417e4(0xd0))/0x8)+-parseInt(_0x2417e4(0xda))/0x9*(-parseInt(_0x2417e4(0xdb))/0xa);if(_0x1f33c9===_0x18f3c7)break;else _0x117f3a['push'](_0x117f3a['shift']());}catch(_0x5a4c91){_0x117f3a['push'](_0x117f3a['shift']());}}}(a30_0x2876,0xa02d4));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x4e35c2){const _0x39fe00=a30_0x52dc;for(const _0x3f721e of _0x4e35c2){definitions[_0x39fe00(0xd3)](_0x3f721e[_0x39fe00(0xbd)]+':'+_0x3f721e['command'],_0x3f721e);let _0x2c80a8=serviceGroups[_0x39fe00(0xd4)](_0x3f721e['service']);!_0x2c80a8&&(_0x2c80a8=[],serviceGroups[_0x39fe00(0xd3)](_0x3f721e[_0x39fe00(0xbd)],_0x2c80a8)),_0x2c80a8[_0x39fe00(0xca)](_0x3f721e);}}function registerService(_0x25b727,_0xf62b3b,_0x4383dd){const _0x4bca01=a30_0x52dc;registerDefinitions(_0xf62b3b);const _0x13b5a4=_0x3a69f2=>_0x3a69f2==='read'?'':_0x3a69f2===_0x4bca01(0xe0)?_0x4bca01(0xc9):_0x4bca01(0xd2),_0xe1db18={'service':_0xf62b3b[0x0][_0x4bca01(0xbd)],'label':_0x25b727,'commands':_0xf62b3b[_0x4bca01(0xd8)](_0x41257f=>({'command':_0x41257f['command'],'description':_0x41257f[_0x4bca01(0xcf)],'tag':_0x13b5a4(_0x41257f['risk'])})),'defaultCommand':_0x4383dd?.['defaultCommand']??(_0x4383dd?.[_0x4bca01(0xe2)]?_0xf62b3b[0x0][_0x4bca01(0xce)]:undefined),'isSingleCommand':_0x4383dd?.[_0x4bca01(0xe2)]};serviceRegistry[_0x4bca01(0xca)](_0xe1db18),serviceByName[_0x4bca01(0xd3)](_0xe1db18[_0x4bca01(0xbd)],_0xe1db18);}function a30_0x2876(){const _0xa45f1f=['show','CLI\x20Built-in\x20Skill','SQL\x20Queries','101712mzndJc','Artifacts','from','708036RpeZuA','2867145sFCpZO','\x20\x20[write]','push','install','Skills','80TMoCpY','command','description','15160XPFGeb','Authentication','\x20\x20[high-risk-write]','set','get','API\x20Documentation','Instant\x20API','values','map','App\x20Management','2784762Zqwvbc','40XHyGmN','87074PuXCaT','Datasets','Logs','4699224vvAOGB','write','Workspace','isSingleCommand','run','Service\x20Tree','4732JNgRWT','Self\x20Update','Schema','service','BFF\x20Scripts','has','list'];a30_0x2876=function(){return _0xa45f1f;};return a30_0x2876();}function a30_0x52dc(_0x3e733d,_0x1eb4fc){_0x3e733d=_0x3e733d-0xbb;const _0x2876b0=a30_0x2876();let _0x52dcd4=_0x2876b0[_0x3e733d];return _0x52dcd4;}registerService(a30_0x2d7a9f(0xd1),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x2d7a9f(0xd5),apiDocDefinitions),registerService(a30_0x2d7a9f(0xdd),datasetDefinitions),registerService(a30_0x2d7a9f(0xd6),dataDefinitions),registerService(a30_0x2d7a9f(0xc3),sqlDefinitions),registerService(a30_0x2d7a9f(0xbe),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x2d7a9f(0xc5),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x2d7a9f(0xd9),appDefinitions,{'defaultCommand':a30_0x2d7a9f(0xc0)}),registerService(a30_0x2d7a9f(0xe1),workspaceDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':'list'}),registerService(a30_0x2d7a9f(0xe4),serviceDefinitions,{'defaultCommand':a30_0x2d7a9f(0xc0)}),registerService(a30_0x2d7a9f(0xcc),skillDefinitions,{'defaultCommand':a30_0x2d7a9f(0xcb)}),registerService(a30_0x2d7a9f(0xc2),cliSkillDefinitions,{'defaultCommand':a30_0x2d7a9f(0xcb)}),registerService(a30_0x2d7a9f(0xbb),[updateDefinition],{'defaultCommand':a30_0x2d7a9f(0xe3),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x2d7a9f(0xbc),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x2d7a9f(0xde),logsDefinitions,{'defaultCommand':a30_0x2d7a9f(0xc1)});export function findDefinition(_0x3e69ec,_0x1b9538){const _0x559d18=a30_0x2d7a9f;return definitions[_0x559d18(0xd4)](_0x3e69ec+':'+_0x1b9538);}export function isKnownService(_0x536c06){const _0x3d76ea=a30_0x2d7a9f;return serviceByName[_0x3d76ea(0xbf)](_0x536c06);}export function getServiceEntry(_0x14d61b){return serviceByName['get'](_0x14d61b);}export function getAllDefinitions(){const _0x345b94=a30_0x2d7a9f;return Array[_0x345b94(0xc6)](definitions[_0x345b94(0xd7)]());}
1
+ const a30_0x5d6417=a30_0x2107;(function(_0x3adc81,_0x4bd747){const _0x455a72=a30_0x2107,_0x421585=_0x3adc81();while(!![]){try{const _0x37957b=parseInt(_0x455a72(0x85))/0x1+parseInt(_0x455a72(0x6b))/0x2+parseInt(_0x455a72(0x71))/0x3*(-parseInt(_0x455a72(0x69))/0x4)+parseInt(_0x455a72(0x88))/0x5+parseInt(_0x455a72(0x73))/0x6+parseInt(_0x455a72(0x83))/0x7*(parseInt(_0x455a72(0x81))/0x8)+-parseInt(_0x455a72(0x84))/0x9;if(_0x37957b===_0x4bd747)break;else _0x421585['push'](_0x421585['shift']());}catch(_0x38cd42){_0x421585['push'](_0x421585['shift']());}}}(a30_0x1044,0x9adb0));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';function a30_0x1044(){const _0x363123=['API\x20Documentation','map','values','2608688kfEAlG','read','21ejUeYn','7928397yGtfVf','698400YWuPqo','Artifacts','push','2247365QyFzJv','Knowledge\x20Base','Authentication','\x20\x20[high-risk-write]','CLI\x20Built-in\x20Skill','list','Diagnostics','Logs','11796NkDFHO','BFF\x20Scripts','963860kktNbP','Workspace','Self\x20Update','service','command','Skills','1164VpjSdC','from','308232oAwTaH','write','description','Instant\x20API','show','isSingleCommand','install','get','SQL\x20Queries','set','Schema'];a30_0x1044=function(){return _0x363123;};return a30_0x1044();}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';function a30_0x2107(_0x174d1,_0x5df6aa){_0x174d1=_0x174d1-0x64;const _0x104418=a30_0x1044();let _0x210791=_0x104418[_0x174d1];return _0x210791;}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(_0x5712c4){const _0x49366f=a30_0x2107;for(const _0x3ec237 of _0x5712c4){definitions[_0x49366f(0x7c)](_0x3ec237['service']+':'+_0x3ec237[_0x49366f(0x6f)],_0x3ec237);let _0x74b326=serviceGroups[_0x49366f(0x7a)](_0x3ec237['service']);!_0x74b326&&(_0x74b326=[],serviceGroups[_0x49366f(0x7c)](_0x3ec237[_0x49366f(0x6e)],_0x74b326)),_0x74b326['push'](_0x3ec237);}}function registerService(_0x1494de,_0x244870,_0x5cd95d){const _0x24c634=a30_0x2107;registerDefinitions(_0x244870);const _0x36b753=_0x46f520=>_0x46f520===_0x24c634(0x82)?'':_0x46f520===_0x24c634(0x74)?'\x20\x20[write]':_0x24c634(0x64),_0x1b895b={'service':_0x244870[0x0]['service'],'label':_0x1494de,'commands':_0x244870[_0x24c634(0x7f)](_0x3e06ed=>({'command':_0x3e06ed[_0x24c634(0x6f)],'description':_0x3e06ed[_0x24c634(0x75)],'tag':_0x36b753(_0x3e06ed['risk'])})),'defaultCommand':_0x5cd95d?.['defaultCommand']??(_0x5cd95d?.['isSingleCommand']?_0x244870[0x0][_0x24c634(0x6f)]:undefined),'isSingleCommand':_0x5cd95d?.[_0x24c634(0x78)]};serviceRegistry[_0x24c634(0x87)](_0x1b895b),serviceByName['set'](_0x1b895b[_0x24c634(0x6e)],_0x1b895b);}registerService(a30_0x5d6417(0x8a),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x5d6417(0x7e),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x5d6417(0x76),dataDefinitions),registerService(a30_0x5d6417(0x7b),sqlDefinitions),registerService(a30_0x5d6417(0x6a),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x5d6417(0x86),artifactDefinitions),registerService(a30_0x5d6417(0x89),kbDefinitions),registerService('App\x20Management',appDefinitions,{'defaultCommand':a30_0x5d6417(0x66)}),registerService(a30_0x5d6417(0x6c),workspaceDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':a30_0x5d6417(0x66)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a30_0x5d6417(0x66)}),registerService(a30_0x5d6417(0x70),skillDefinitions,{'defaultCommand':a30_0x5d6417(0x79)}),registerService(a30_0x5d6417(0x65),cliSkillDefinitions,{'defaultCommand':a30_0x5d6417(0x79)}),registerService(a30_0x5d6417(0x6d),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0x5d6417(0x67),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x5d6417(0x7d),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x5d6417(0x68),logsDefinitions,{'defaultCommand':a30_0x5d6417(0x77)});export function findDefinition(_0x550cfb,_0x5c7674){const _0x25b8c2=a30_0x5d6417;return definitions[_0x25b8c2(0x7a)](_0x550cfb+':'+_0x5c7674);}export function isKnownService(_0xd3105e){return serviceByName['has'](_0xd3105e);}export function getServiceEntry(_0x46742e){const _0x48dc42=a30_0x5d6417;return serviceByName[_0x48dc42(0x7a)](_0x46742e);}export function getAllDefinitions(){const _0x1ab620=a30_0x5d6417;return Array[_0x1ab620(0x72)](definitions[_0x1ab620(0x80)]());}
@@ -1 +1 @@
1
- const a31_0x3689c3=a31_0x33cd;(function(_0x14242e,_0x5781d5){const _0x5bf977=a31_0x33cd,_0x51fa69=_0x14242e();while(!![]){try{const _0xf8a346=parseInt(_0x5bf977(0x11c))/0x1*(parseInt(_0x5bf977(0x121))/0x2)+parseInt(_0x5bf977(0x125))/0x3*(parseInt(_0x5bf977(0x124))/0x4)+-parseInt(_0x5bf977(0x119))/0x5*(parseInt(_0x5bf977(0x128))/0x6)+-parseInt(_0x5bf977(0x11e))/0x7+-parseInt(_0x5bf977(0x126))/0x8+parseInt(_0x5bf977(0x120))/0x9*(parseInt(_0x5bf977(0x11b))/0xa)+-parseInt(_0x5bf977(0x11f))/0xb*(-parseInt(_0x5bf977(0x11a))/0xc);if(_0xf8a346===_0x5781d5)break;else _0x51fa69['push'](_0x51fa69['shift']());}catch(_0x27e1b4){_0x51fa69['push'](_0x51fa69['shift']());}}}(a31_0x31c5,0x4f2cd));function a31_0x31c5(){const _0x3b9844=['340749fzTCvy','Export\x20machine-readable\x20command\x20schema\x20(JSON)','3596320ruJQNa','286759KpbHqM','27iSXkXG','2WSxUhL','schema','export','4fAjkQe','901293syeECl','192880uQinir','read','30HXVVsF','415790bUbelD','24mMSWfm','1948810ZyasSG'];a31_0x31c5=function(){return _0x3b9844;};return a31_0x31c5();}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x33cd(_0x16207b,_0x1d6d65){_0x16207b=_0x16207b-0x119;const _0x31c50c=a31_0x31c5();let _0x33cda5=_0x31c50c[_0x16207b];return _0x33cda5;}async function execute(_0xa931b1){const _0xb6b8ef=await buildSchemaPayload();return{'ok':!![],'data':_0xb6b8ef};}export const schemaDefinition={'service':a31_0x3689c3(0x122),'command':a31_0x3689c3(0x123),'description':a31_0x3689c3(0x11d),'risk':a31_0x3689c3(0x127),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a31_0x5abed2=a31_0x28ce;(function(_0x13a956,_0x38c49b){const _0x38cb06=a31_0x28ce,_0x599a4a=_0x13a956();while(!![]){try{const _0x542050=parseInt(_0x38cb06(0x10c))/0x1*(-parseInt(_0x38cb06(0x110))/0x2)+-parseInt(_0x38cb06(0x10e))/0x3+-parseInt(_0x38cb06(0x10a))/0x4+-parseInt(_0x38cb06(0x111))/0x5+-parseInt(_0x38cb06(0x112))/0x6+-parseInt(_0x38cb06(0x10f))/0x7+parseInt(_0x38cb06(0x10d))/0x8*(parseInt(_0x38cb06(0x108))/0x9);if(_0x542050===_0x38c49b)break;else _0x599a4a['push'](_0x599a4a['shift']());}catch(_0x6c2ce4){_0x599a4a['push'](_0x599a4a['shift']());}}}(a31_0x2af9,0x1c154));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x33845b){const _0x4b9f17=await buildSchemaPayload();return{'ok':!![],'data':_0x4b9f17};}function a31_0x28ce(_0x3fcf43,_0x5abbe1){_0x3fcf43=_0x3fcf43-0x108;const _0x2af918=a31_0x2af9();let _0x28cec5=_0x2af918[_0x3fcf43];return _0x28cec5;}export const schemaDefinition={'service':'schema','command':a31_0x5abed2(0x109),'description':a31_0x5abed2(0x10b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x2af9(){const _0x3295ab=['189218qbEARG','373200yzpqUy','1359882hGYemA','162MKbpPo','export','532612THcafF','Export\x20machine-readable\x20command\x20schema\x20(JSON)','2thvlZO','470416RIgkFj','675156RTloVj','662886mBVhpO'];a31_0x2af9=function(){return _0x3295ab;};return a31_0x2af9();}
@@ -1 +1 @@
1
- (function(_0x52581b,_0x46c852){const _0x54e695=a32_0x36ac,_0x29b294=_0x52581b();while(!![]){try{const _0x5bda1d=-parseInt(_0x54e695(0xaa))/0x1+parseInt(_0x54e695(0xcc))/0x2+-parseInt(_0x54e695(0x9b))/0x3+-parseInt(_0x54e695(0x9e))/0x4*(-parseInt(_0x54e695(0xba))/0x5)+parseInt(_0x54e695(0xd1))/0x6*(-parseInt(_0x54e695(0xa8))/0x7)+-parseInt(_0x54e695(0xe0))/0x8*(-parseInt(_0x54e695(0xc0))/0x9)+-parseInt(_0x54e695(0xb1))/0xa;if(_0x5bda1d===_0x46c852)break;else _0x29b294['push'](_0x29b294['shift']());}catch(_0x332b05){_0x29b294['push'](_0x29b294['shift']());}}}(a32_0x5baf,0xd6bb5));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(_0x20f433,_0x2d920f){const _0x2c8b73=a32_0x36ac,_0x115d29=listLocalServiceTrees();let _0x45c823;for(const _0x2df595 of _0x115d29){const _0x330b6b=matchServiceTreeCommand(_0x2df595,_0x20f433);if(!_0x330b6b)continue;(!_0x45c823||_0x330b6b[_0x2c8b73(0xd3)][_0x2c8b73(0xd9)][_0x2c8b73(0xde)]>_0x45c823[_0x2c8b73(0xd3)]['fullPath']['length'])&&(_0x45c823={'tree':_0x2df595,'command':_0x330b6b[_0x2c8b73(0xd3)],'remainingArgs':_0x330b6b[_0x2c8b73(0x98)]});}if(!_0x45c823)return undefined;const _0xaa008={..._0x2d920f};return applyAppBinding(_0x45c823[_0x2c8b73(0xbe)],_0x45c823[_0x2c8b73(0xd3)],_0xaa008),{'definition':buildDynamicCommandDefinition(_0x45c823['tree'],_0x45c823[_0x2c8b73(0xd3)]),'args':_0x45c823['remainingArgs'],'flags':_0xaa008,'tree':_0x45c823['tree'],'command':_0x45c823[_0x2c8b73(0xd3)]};}export function generateDynamicServiceHelp(_0x1dc73a){const _0x399143=a32_0x36ac,_0x4fca7d=listLocalServiceTrees()[_0x399143(0xe9)](_0x446d22=>_0x446d22['service'][_0x399143(0xac)]===_0x1dc73a);if(!_0x4fca7d)return undefined;const _0x1f8f4b=[CLI_BIN_NAME+'\x20'+_0x1dc73a+_0x399143(0xa0),'',_0x4fca7d[_0x399143(0xe4)][_0x399143(0xbf)]||_0x1dc73a,_0x4fca7d['service']['description']?'\x20\x20'+_0x4fca7d[_0x399143(0xe4)][_0x399143(0xa3)]:'','','Commands:',..._0x4fca7d[_0x399143(0xd7)][_0x399143(0xaf)](_0x328073=>{const _0x2428f9=_0x399143,_0x365f88=_0x328073[_0x2428f9(0xd9)][_0x2428f9(0xd6)](0x1)[_0x2428f9(0xc9)]('\x20'),_0x52b2e7=_0x328073['risk']===_0x2428f9(0xe8)?'':'\x20['+_0x328073[_0x2428f9(0xb0)]+']';return'\x20\x20'+_0x365f88[_0x2428f9(0xb2)](0x18)+'\x20'+(_0x328073[_0x2428f9(0xa3)]||'')+_0x52b2e7;}),'',_0x399143(0xdc)+CLI_BIN_NAME+_0x399143(0xca)+_0x1dc73a+_0x399143(0xeb)][_0x399143(0xc3)](Boolean);return _0x1f8f4b[_0x399143(0xc9)]('\x0a');}export function listDynamicServiceEntries(){const _0x2882a7=a32_0x36ac;return listLocalServices()[_0x2882a7(0xaf)](_0x3ed52a=>{const _0x3f01e7=_0x2882a7,_0x4ed61d=_0x3ed52a['normalizedManifest'];return{'service':_0x4ed61d[_0x3f01e7(0xe4)][_0x3f01e7(0xac)],'label':_0x4ed61d['service']['name']||_0x4ed61d[_0x3f01e7(0xe4)][_0x3f01e7(0xac)],'commands':_0x4ed61d[_0x3f01e7(0xd7)][_0x3f01e7(0xaf)](_0x19a738=>({'command':dynamicCommandName(_0x19a738),'description':_0x19a738[_0x3f01e7(0xa3)]||_0x3f01e7(0xc6)+_0x19a738[_0x3f01e7(0xce)],'tag':riskTag(_0x19a738['risk'])}))};});}export function getDynamicServiceEntry(_0x3fa66c){const _0x2071c8=a32_0x36ac;return listDynamicServiceEntries()[_0x2071c8(0xe9)](_0x49279f=>_0x49279f['service']===_0x3fa66c);}export function listDynamicServiceDefinitions(_0x5fefb3){const _0x31e5b9=a32_0x36ac;return listLocalServiceTrees()[_0x31e5b9(0xc3)](_0x4afce9=>!_0x5fefb3||_0x4afce9[_0x31e5b9(0xe4)][_0x31e5b9(0xac)]===_0x5fefb3)[_0x31e5b9(0x99)](_0x4e21d6=>_0x4e21d6['commands'][_0x31e5b9(0xaf)](_0x306e38=>buildDynamicCommandDefinition(_0x4e21d6,_0x306e38)));}export function getDynamicServiceDefinitions(_0x3b05a9){const _0x3c117d=a32_0x36ac,_0x1dea2c=listDynamicServiceDefinitions(_0x3b05a9);return _0x1dea2c[_0x3c117d(0xde)]>0x0?_0x1dea2c:undefined;}export function findDynamicServiceDefinition(_0x56d729,_0x1e65a1){const _0x58fad2=a32_0x36ac;return listDynamicServiceDefinitions(_0x56d729)[_0x58fad2(0xe9)](_0xa40250=>_0xa40250['command']===_0x1e65a1);}export function buildDynamicCommandDefinition(_0x1038b3,_0x4019f6){const _0x296730=a32_0x36ac;return{'service':_0x1038b3[_0x296730(0xe4)]['code'],'command':dynamicCommandName(_0x4019f6),'description':_0x4019f6[_0x296730(0xa3)]||_0x296730(0xc6)+_0x4019f6[_0x296730(0xce)],'risk':_0x4019f6[_0x296730(0xb0)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4019f6[_0x296730(0x8d)]['map'](_0x2dfbd9=>({'name':_0x2dfbd9[_0x296730(0xbf)],'description':_0x2dfbd9[_0x296730(0xa3)]||_0x2dfbd9[_0x296730(0xbf)],'required':_0x2dfbd9['required']})),'flags':_0x4019f6['flags']['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4019f6),async 'dryRun'(_0x49f128){const _0x140013=_0x296730,_0x3dfb9c=await compilePlan(_0x4019f6,_0x49f128);return{'method':_0x140013(0x94),'url':_0x4019f6[_0x140013(0xce)],'body':{'target':targetPreview(_0x3dfb9c),'params':_0x3dfb9c[_0x140013(0xdf)]},'description':_0x140013(0xda)+_0x4019f6[_0x140013(0xce)]};},async 'execute'(_0x3ed72c){const _0x5df508=_0x296730,_0x295841=await compilePlan(_0x4019f6,_0x3ed72c),_0x341042=Date[_0x5df508(0xc7)](),_0x2e8083=await executePlan(_0x295841,_0x4019f6,_0x3ed72c),_0x56a0f2=Date[_0x5df508(0xc7)]()-_0x341042;return{'ok':!![],'data':{'service':_0x1038b3[_0x5df508(0xe4)],'command':_0x4019f6['cliPath'],'target':targetPreview(_0x295841),'result':_0x2e8083,'elapsed':_0x56a0f2},'message':_0x5df508(0x8c)+_0x4019f6[_0x5df508(0xce)]+_0x5df508(0xa1)+_0x56a0f2+'ms'};}};}function dynamicCommandName(_0x3aec09){const _0x27d38b=a32_0x36ac;return _0x3aec09[_0x27d38b(0xd9)][_0x27d38b(0xd6)](0x1)[_0x27d38b(0xc9)]('\x20');}function riskTag(_0x564038){const _0x2a7d6e=a32_0x36ac;return _0x564038==='read'?'':_0x2a7d6e(0xbd)+_0x564038+']';}function flagToCommandFlag(_0x189715){const _0x2ff691=a32_0x36ac;return{'name':_0x189715[_0x2ff691(0xb5)],'type':_0x189715[_0x2ff691(0xab)]===_0x2ff691(0xd2)?_0x2ff691(0x93):_0x189715[_0x2ff691(0xab)],'description':_0x189715[_0x2ff691(0xa3)]||_0x189715['name'],'required':_0x189715['required'],'default':isPrimitiveFlagDefault(_0x189715[_0x2ff691(0xdd)])?_0x189715[_0x2ff691(0xdd)]:undefined,'enum':_0x189715[_0x2ff691(0xc1)]};}async function compilePlan(_0x4606e0,_0x5c1452){const _0x3cbd21=a32_0x36ac;return compileServiceTreeCommand(_0x4606e0,{'flags':_0x5c1452[_0x3cbd21(0x9d)],'args':_0x5c1452[_0x3cbd21(0x8d)],'context':await buildServiceContext(_0x4606e0,_0x5c1452)});}async function buildServiceContext(_0x3ad199,_0x3e436e){const _0x410f79=a32_0x36ac,_0x2aa0b0={'appCode':_0x3e436e['appCode'],'env':_0x3e436e[_0x410f79(0xc4)],'envName':_0x3e436e[_0x410f79(0xc4)]};if(!usesRuntimeContext(_0x3ad199))return _0x2aa0b0;const _0x10be1f=await getLoginUserInfo(),_0x48a64b=pickFirst(_0x10be1f[_0x410f79(0x8b)],_0x10be1f['id']);return{..._0x2aa0b0,'user':_0x10be1f,'userId':_0x48a64b,'id':_0x10be1f['id'],'username':pickFirst(_0x10be1f[_0x410f79(0xbc)],_0x10be1f[_0x410f79(0xea)],_0x10be1f[_0x410f79(0x97)]),'userName':_0x10be1f['userName'],'nickname':pickFirst(_0x10be1f['nickname'],_0x10be1f[_0x410f79(0xa4)]),'nickName':_0x10be1f[_0x410f79(0xa4)],'tenantCode':_0x10be1f[_0x410f79(0x91)],'employeeId':_0x10be1f['employeeId']};}function a32_0x36ac(_0x232fd7,_0x1d5bd0){_0x232fd7=_0x232fd7-0x8b;const _0x5baf77=a32_0x5baf();let _0x36ac68=_0x5baf77[_0x232fd7];return _0x36ac68;}function usesRuntimeContext(_0x2c381d){const _0x25f5f7=a32_0x36ac;return _0x2c381d[_0x25f5f7(0xa7)]['some'](_0x8ed734=>typeof _0x8ed734[_0x25f5f7(0xb6)]===_0x25f5f7(0x93)&&(_0x8ed734[_0x25f5f7(0xb6)][_0x25f5f7(0x90)]('context.')||_0x8ed734['source'][_0x25f5f7(0x90)](_0x25f5f7(0xe1))));}function pickFirst(..._0xd0177a){const _0x469ab7=a32_0x36ac;return _0xd0177a[_0x469ab7(0xe9)](_0x51733d=>_0x51733d!==undefined&&_0x51733d!==null);}async function executePlan(_0x5e26b4,_0x5dbc64,_0x324ec){const _0x1b3a3b=a32_0x36ac;if(_0x5e26b4[_0x1b3a3b(0xc2)]==='data'){const _0x355d13=await resolveDatasetCode(_0x5e26b4,_0x5dbc64,_0x324ec);return executeData(_0x355d13,_0x5e26b4[_0x1b3a3b(0xd3)],_0x5e26b4[_0x1b3a3b(0xdf)]);}if(_0x5e26b4[_0x1b3a3b(0xc2)]===_0x1b3a3b(0x9f)){if(!_0x5e26b4[_0x1b3a3b(0xb4)])throw CliErrors[_0x1b3a3b(0x9c)]('Service\x20command\x20'+_0x5dbc64[_0x1b3a3b(0xce)]+_0x1b3a3b(0xbb));return executeSdkSql(_0x5e26b4[_0x1b3a3b(0xb4)],normalizeScalarParams(_0x5e26b4['params']));}if(_0x5e26b4['kind']==='bff'){const _0x36b29a=_0x5e26b4['scriptName']||_0x5e26b4[_0x1b3a3b(0x8e)]||(_0x5e26b4[_0x1b3a3b(0xdb)]==null?'':String(_0x5e26b4[_0x1b3a3b(0xdb)]));if(!_0x36b29a)throw CliErrors['validation'](_0x1b3a3b(0x8c)+_0x5dbc64[_0x1b3a3b(0xce)]+_0x1b3a3b(0xae));return executeSdkBff(_0x36b29a,_0x5e26b4[_0x1b3a3b(0xdf)]);}throw CliErrors[_0x1b3a3b(0x9c)](_0x1b3a3b(0xb9)+_0x5e26b4[_0x1b3a3b(0xc2)]);}async function resolveDatasetCode(_0x4a2897,_0x4ae13c,_0x6254bc){const _0x531152=a32_0x36ac;if(_0x4a2897['datasetCode'])return _0x4a2897['datasetCode'];if(!_0x4a2897['datatable'])throw CliErrors['validation'](_0x531152(0x8c)+_0x4ae13c[_0x531152(0xce)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x2c9974=await listDatasets(_0x6254bc['appCode']),_0x416b48=_0x2c9974[_0x531152(0xe9)](_0x3c9d8b=>_0x3c9d8b['dbtableConfig']?.['tableName']===_0x4a2897[_0x531152(0xa2)]);if(!_0x416b48?.[_0x531152(0xac)])throw CliErrors['validation'](_0x531152(0xa9)+_0x4a2897[_0x531152(0xa2)]+_0x531152(0xd0)+_0x6254bc['appCode']+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x416b48[_0x531152(0xac)];}function applyAppBinding(_0xd65123,_0x8f55a7,_0x4017e6){const _0x207d2a=a32_0x36ac,_0x2f8d8b=_0x8f55a7[_0x207d2a(0xcd)][_0x207d2a(0xcb)];if(!_0x2f8d8b)return;const _0xa04615=_0xd65123[_0x207d2a(0x96)][_0x2f8d8b];if(!_0xa04615)throw CliErrors[_0x207d2a(0x9c)](_0x207d2a(0xa5)+_0x2f8d8b+_0x207d2a(0x8f)+_0x8f55a7[_0x207d2a(0xce)]+'.',_0x207d2a(0x9a));const _0x2d9b23=_0xa04615['appcode']||_0xa04615[_0x207d2a(0xe2)];_0x2d9b23&&!hasText(_0x4017e6['appcode'])&&(_0x4017e6[_0x207d2a(0xad)]=_0x2d9b23),_0xa04615[_0x207d2a(0x92)]&&!hasText(_0x4017e6[_0x207d2a(0x92)])&&!hasText(_0x4017e6[_0x207d2a(0xad)])&&(_0x4017e6[_0x207d2a(0x92)]=_0xa04615[_0x207d2a(0x92)]),_0xa04615[_0x207d2a(0x95)]&&!hasText(_0x4017e6[_0x207d2a(0x95)])&&(_0x4017e6[_0x207d2a(0x95)]=_0xa04615[_0x207d2a(0x95)]);}function renderDynamicCommandHelp(_0x241022){const _0x23f5d6=a32_0x36ac,_0x148108=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x23f5d6(0xc8)+_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xc2)],'\x20\x20\x20\x20command:\x20'+_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xd3)]];if(_0x241022[_0x23f5d6(0xcd)]['datasetCode'])_0x148108['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xd4)]);if(_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xa2)])_0x148108[_0x23f5d6(0xe3)](_0x23f5d6(0xa6)+_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xa2)]);if(_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xb4)])_0x148108[_0x23f5d6(0xe3)]('\x20\x20\x20\x20sqlCode:\x20'+_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xb4)]);if(_0x241022[_0x23f5d6(0xcd)][_0x23f5d6(0xb7)])_0x148108[_0x23f5d6(0xe3)]('\x20\x20\x20\x20scriptName:\x20'+_0x241022[_0x23f5d6(0xcd)]['scriptName']);if(_0x241022['mapTo'][_0x23f5d6(0xde)]>0x0){_0x148108['push']('',_0x23f5d6(0xd8));for(const _0x156593 of _0x241022['mapTo']){_0x148108[_0x23f5d6(0xe3)](_0x23f5d6(0xe5)+(_0x156593[_0x23f5d6(0xb6)]||'const')+_0x23f5d6(0xcf)+_0x156593[_0x23f5d6(0xcd)]+(_0x156593[_0x23f5d6(0xe7)]?'.'+_0x156593['operator']:''));}}return _0x148108[_0x23f5d6(0xc9)]('\x0a');}function targetPreview(_0x5dd7e8){const _0x3f9b09=a32_0x36ac;return{'kind':_0x5dd7e8[_0x3f9b09(0xc2)],'command':_0x5dd7e8[_0x3f9b09(0xd3)],'appRef':_0x5dd7e8['appRef'],'datasetCode':_0x5dd7e8[_0x3f9b09(0xd4)],'datatable':_0x5dd7e8[_0x3f9b09(0xa2)],'sqlCode':_0x5dd7e8[_0x3f9b09(0xb4)],'bffCode':_0x5dd7e8[_0x3f9b09(0x8e)],'bffId':_0x5dd7e8[_0x3f9b09(0xdb)],'scriptName':_0x5dd7e8[_0x3f9b09(0xb7)]};}function normalizeScalarParams(_0x258890){const _0x180445=a32_0x36ac;return Object[_0x180445(0xc5)](Object[_0x180445(0xd5)](_0x258890)['filter'](([,_0x358d19])=>typeof _0x358d19===_0x180445(0x93)||typeof _0x358d19===_0x180445(0xb3)));}function a32_0x5baf(){const _0x239c2b=['ctx.','appCode','push','service','\x20\x20\x20\x20','trim','operator','read','find','userName','`\x20to\x20inspect\x20the\x20manifest.','userId','Service\x20command\x20','args','bffCode','\x22\x20in\x20service\x20command\x20','startsWith','tenantCode','app','string','SERVICE_TREE','env','appBindings','loginName','remainingArgs','flatMap','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','2265063rsDQqy','validation','rawFlags','8bnZLnx','sql','\x20<command>\x20[flags]','\x20completed\x20in\x20','datatable','description','nickName','Unknown\x20appRef\x20\x22','\x20\x20\x20\x20datatable:\x20','mapTo','4518150BPffsI','Cannot\x20resolve\x20datatable\x20\x22','644471MEndCp','type','code','appcode','\x20requires\x20target.scriptName.','map','risk','9771550jlwwNH','padEnd','number','sqlCode','cliName','source','scriptName','boolean','Unsupported\x20service\x20target\x20kind:\x20','3385790kQHDLi','\x20requires\x20target.sqlCode.','username','\x20\x20[','tree','name','9yAZWSi','enum','kind','filter','envName','fromEntries','Run\x20service\x20command\x20','now','\x20\x20\x20\x20kind:\x20\x20\x20\x20','join','\x20service\x20detail\x20--service\x20','appRef','1930240CcFIne','target','cliPath','\x20->\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','6tmUrEh','json','command','datasetCode','entries','slice','commands','\x20\x20MAP\x20TO','fullPath','Preview\x20dynamic\x20service\x20command:\x20','bffId','Use\x20`','default','length','params','12657616xNhVPN'];a32_0x5baf=function(){return _0x239c2b;};return a32_0x5baf();}function hasText(_0x534fb5){const _0x310c60=a32_0x36ac;return typeof _0x534fb5===_0x310c60(0x93)&&_0x534fb5[_0x310c60(0xe6)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x1559b4){const _0x30bcc3=a32_0x36ac;return _0x1559b4===undefined||typeof _0x1559b4==='string'||typeof _0x1559b4===_0x30bcc3(0xb3)||typeof _0x1559b4===_0x30bcc3(0xb8);}
1
+ (function(_0x143b6e,_0x3a0805){const _0x51c4b8=a32_0x5eac,_0x379421=_0x143b6e();while(!![]){try{const _0x46513e=parseInt(_0x51c4b8(0x185))/0x1*(parseInt(_0x51c4b8(0x15f))/0x2)+-parseInt(_0x51c4b8(0x189))/0x3*(parseInt(_0x51c4b8(0x18d))/0x4)+parseInt(_0x51c4b8(0x1ab))/0x5+-parseInt(_0x51c4b8(0x1a2))/0x6+parseInt(_0x51c4b8(0x186))/0x7*(parseInt(_0x51c4b8(0x15b))/0x8)+-parseInt(_0x51c4b8(0x14e))/0x9+parseInt(_0x51c4b8(0x1ac))/0xa*(-parseInt(_0x51c4b8(0x1a4))/0xb);if(_0x46513e===_0x3a0805)break;else _0x379421['push'](_0x379421['shift']());}catch(_0x4ce787){_0x379421['push'](_0x379421['shift']());}}}(a32_0x9371,0xdd842));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(_0x6289dd,_0xdadf7f){const _0x5e38f9=a32_0x5eac,_0x29d3cd=listLocalServiceTrees();let _0x5109ed;for(const _0x34ccef of _0x29d3cd){const _0x3540c6=matchServiceTreeCommand(_0x34ccef,_0x6289dd);if(!_0x3540c6)continue;(!_0x5109ed||_0x3540c6[_0x5e38f9(0x18b)][_0x5e38f9(0x181)][_0x5e38f9(0x18e)]>_0x5109ed['command'][_0x5e38f9(0x181)][_0x5e38f9(0x18e)])&&(_0x5109ed={'tree':_0x34ccef,'command':_0x3540c6[_0x5e38f9(0x18b)],'remainingArgs':_0x3540c6[_0x5e38f9(0x19b)]});}if(!_0x5109ed)return undefined;const _0x349b2f={..._0xdadf7f};return applyAppBinding(_0x5109ed[_0x5e38f9(0x172)],_0x5109ed['command'],_0x349b2f),{'definition':buildDynamicCommandDefinition(_0x5109ed['tree'],_0x5109ed[_0x5e38f9(0x18b)]),'args':_0x5109ed[_0x5e38f9(0x19b)],'flags':_0x349b2f,'tree':_0x5109ed[_0x5e38f9(0x172)],'command':_0x5109ed['command']};}export function generateDynamicServiceHelp(_0x116519){const _0x8817ee=a32_0x5eac,_0x90cd39=listLocalServiceTrees()[_0x8817ee(0x17a)](_0x2b12f1=>_0x2b12f1[_0x8817ee(0x177)][_0x8817ee(0x17f)]===_0x116519);if(!_0x90cd39)return undefined;const _0x5ef229=[CLI_BIN_NAME+'\x20'+_0x116519+'\x20<command>\x20[flags]','',_0x90cd39['service'][_0x8817ee(0x187)]||_0x116519,_0x90cd39[_0x8817ee(0x177)][_0x8817ee(0x1a0)]?'\x20\x20'+_0x90cd39['service']['description']:'','',_0x8817ee(0x18a),..._0x90cd39[_0x8817ee(0x193)][_0x8817ee(0x168)](_0x5136d6=>{const _0x2c7379=_0x8817ee,_0x3a85e3=_0x5136d6[_0x2c7379(0x181)][_0x2c7379(0x153)](0x1)['join']('\x20'),_0x21b3ae=_0x5136d6['risk']===_0x2c7379(0x19d)?'':'\x20['+_0x5136d6[_0x2c7379(0x154)]+']';return'\x20\x20'+_0x3a85e3[_0x2c7379(0x159)](0x18)+'\x20'+(_0x5136d6[_0x2c7379(0x1a0)]||'')+_0x21b3ae;}),'',_0x8817ee(0x179)+CLI_BIN_NAME+_0x8817ee(0x184)+_0x116519+_0x8817ee(0x151)][_0x8817ee(0x17e)](Boolean);return _0x5ef229[_0x8817ee(0x15c)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x6fd830=>{const _0x490d1a=a32_0x5eac,_0x335a80=_0x6fd830[_0x490d1a(0x15a)];return{'service':_0x335a80[_0x490d1a(0x177)][_0x490d1a(0x17f)],'label':_0x335a80[_0x490d1a(0x177)][_0x490d1a(0x187)]||_0x335a80['service'][_0x490d1a(0x17f)],'commands':_0x335a80[_0x490d1a(0x193)][_0x490d1a(0x168)](_0x3857a2=>({'command':dynamicCommandName(_0x3857a2),'description':_0x3857a2['description']||_0x490d1a(0x1a8)+_0x3857a2[_0x490d1a(0x14d)],'tag':riskTag(_0x3857a2[_0x490d1a(0x154)])}))};});}export function getDynamicServiceEntry(_0xfe4279){const _0x3f901f=a32_0x5eac;return listDynamicServiceEntries()[_0x3f901f(0x17a)](_0x3ce6af=>_0x3ce6af[_0x3f901f(0x177)]===_0xfe4279);}export function listDynamicServiceDefinitions(_0x37a412){const _0x40d4a6=a32_0x5eac;return listLocalServiceTrees()[_0x40d4a6(0x17e)](_0x7d17fd=>!_0x37a412||_0x7d17fd['service'][_0x40d4a6(0x17f)]===_0x37a412)[_0x40d4a6(0x14c)](_0x1e5b59=>_0x1e5b59[_0x40d4a6(0x193)]['map'](_0x1e0778=>buildDynamicCommandDefinition(_0x1e5b59,_0x1e0778)));}export function getDynamicServiceDefinitions(_0x44f5dd){const _0x379d57=listDynamicServiceDefinitions(_0x44f5dd);return _0x379d57['length']>0x0?_0x379d57:undefined;}export function findDynamicServiceDefinition(_0x38a5bf,_0x1c55ca){const _0x2c472c=a32_0x5eac;return listDynamicServiceDefinitions(_0x38a5bf)[_0x2c472c(0x17a)](_0x52fc14=>_0x52fc14[_0x2c472c(0x18b)]===_0x1c55ca);}export function buildDynamicCommandDefinition(_0x5361cc,_0x1f513c){const _0x3efc37=a32_0x5eac;return{'service':_0x5361cc[_0x3efc37(0x177)][_0x3efc37(0x17f)],'command':dynamicCommandName(_0x1f513c),'description':_0x1f513c[_0x3efc37(0x1a0)]||'Run\x20service\x20command\x20'+_0x1f513c[_0x3efc37(0x14d)],'risk':_0x1f513c[_0x3efc37(0x154)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1f513c['args'][_0x3efc37(0x168)](_0x4e7397=>({'name':_0x4e7397[_0x3efc37(0x187)],'description':_0x4e7397[_0x3efc37(0x1a0)]||_0x4e7397['name'],'required':_0x4e7397[_0x3efc37(0x1a7)]})),'flags':_0x1f513c[_0x3efc37(0x1a5)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1f513c),async 'dryRun'(_0x3522b3){const _0x4ca708=_0x3efc37,_0x264f7e=await compilePlan(_0x1f513c,_0x3522b3);return{'method':_0x4ca708(0x173),'url':_0x1f513c[_0x4ca708(0x14d)],'body':{'target':targetPreview(_0x264f7e),'params':_0x264f7e['params']},'description':_0x4ca708(0x14b)+_0x1f513c[_0x4ca708(0x14d)]};},async 'execute'(_0x2b68b9){const _0x4c6aa9=_0x3efc37,_0x523a06=await compilePlan(_0x1f513c,_0x2b68b9),_0xa5d3d6=Date['now'](),_0x5bcc2e=await executePlan(_0x523a06,_0x1f513c,_0x2b68b9),_0x308a2d=Date[_0x4c6aa9(0x164)]()-_0xa5d3d6;return{'ok':!![],'data':{'service':_0x5361cc['service'],'command':_0x1f513c[_0x4c6aa9(0x14d)],'target':targetPreview(_0x523a06),'result':_0x5bcc2e,'elapsed':_0x308a2d},'message':_0x4c6aa9(0x16c)+_0x1f513c[_0x4c6aa9(0x14d)]+'\x20completed\x20in\x20'+_0x308a2d+'ms'};}};}function dynamicCommandName(_0x5606e1){const _0x19b056=a32_0x5eac;return _0x5606e1[_0x19b056(0x181)]['slice'](0x1)[_0x19b056(0x15c)]('\x20');}function riskTag(_0x1f7e28){const _0x10bf52=a32_0x5eac;return _0x1f7e28===_0x10bf52(0x19d)?'':_0x10bf52(0x165)+_0x1f7e28+']';}function flagToCommandFlag(_0xf61efa){const _0x2265ba=a32_0x5eac;return{'name':_0xf61efa[_0x2265ba(0x15d)],'type':_0xf61efa[_0x2265ba(0x152)]==='json'?_0x2265ba(0x174):_0xf61efa[_0x2265ba(0x152)],'description':_0xf61efa[_0x2265ba(0x1a0)]||_0xf61efa[_0x2265ba(0x187)],'required':_0xf61efa[_0x2265ba(0x1a7)],'default':isPrimitiveFlagDefault(_0xf61efa[_0x2265ba(0x162)])?_0xf61efa[_0x2265ba(0x162)]:undefined,'enum':_0xf61efa[_0x2265ba(0x18f)]};}async function compilePlan(_0x42ca9e,_0x3345e2){return compileServiceTreeCommand(_0x42ca9e,{'flags':_0x3345e2['rawFlags'],'args':_0x3345e2['args'],'context':await buildServiceContext(_0x42ca9e,_0x3345e2)});}async function buildServiceContext(_0x3aa514,_0x32ff4e){const _0x3a151f=a32_0x5eac,_0x590094={'appCode':_0x32ff4e[_0x3a151f(0x16b)],'env':_0x32ff4e[_0x3a151f(0x160)],'envName':_0x32ff4e[_0x3a151f(0x160)]};if(!usesRuntimeContext(_0x3aa514))return _0x590094;const _0x57b5ef=await getLoginUserInfo(),_0x2f99f2=pickFirst(_0x57b5ef[_0x3a151f(0x1a1)],_0x57b5ef['id']);return{..._0x590094,'user':_0x57b5ef,'userId':_0x2f99f2,'id':_0x57b5ef['id'],'username':pickFirst(_0x57b5ef['username'],_0x57b5ef['userName'],_0x57b5ef[_0x3a151f(0x190)]),'userName':_0x57b5ef[_0x3a151f(0x175)],'nickname':pickFirst(_0x57b5ef[_0x3a151f(0x169)],_0x57b5ef[_0x3a151f(0x155)]),'nickName':_0x57b5ef['nickName'],'tenantCode':_0x57b5ef[_0x3a151f(0x17d)],'employeeId':_0x57b5ef[_0x3a151f(0x195)]};}function usesRuntimeContext(_0x105865){const _0x4c86d0=a32_0x5eac;return _0x105865[_0x4c86d0(0x19e)][_0x4c86d0(0x194)](_0x3e4338=>typeof _0x3e4338[_0x4c86d0(0x183)]===_0x4c86d0(0x174)&&(_0x3e4338[_0x4c86d0(0x183)][_0x4c86d0(0x166)](_0x4c86d0(0x17c))||_0x3e4338[_0x4c86d0(0x183)][_0x4c86d0(0x166)](_0x4c86d0(0x1aa))));}function pickFirst(..._0x35eb5d){const _0x26356e=a32_0x5eac;return _0x35eb5d[_0x26356e(0x17a)](_0x1d9456=>_0x1d9456!==undefined&&_0x1d9456!==null);}async function executePlan(_0x2a5426,_0x512db2,_0x221833){const _0xf268ff=a32_0x5eac;if(_0x2a5426[_0xf268ff(0x1a9)]==='data'){const _0x100f20=await resolveDatasetCode(_0x2a5426,_0x512db2,_0x221833);return executeData(_0x100f20,_0x2a5426[_0xf268ff(0x18b)],_0x2a5426[_0xf268ff(0x16f)]);}if(_0x2a5426['kind']===_0xf268ff(0x198)){if(!_0x2a5426[_0xf268ff(0x167)])throw CliErrors[_0xf268ff(0x188)](_0xf268ff(0x16c)+_0x512db2[_0xf268ff(0x14d)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x2a5426[_0xf268ff(0x167)],normalizeScalarParams(_0x2a5426['params']));}if(_0x2a5426[_0xf268ff(0x1a9)]==='bff'){const _0xce11aa=_0x2a5426[_0xf268ff(0x161)]||_0x2a5426[_0xf268ff(0x18c)]||(_0x2a5426['bffId']==null?'':String(_0x2a5426['bffId']));if(!_0xce11aa)throw CliErrors[_0xf268ff(0x188)]('Service\x20command\x20'+_0x512db2[_0xf268ff(0x14d)]+_0xf268ff(0x182));return executeSdkBff(_0xce11aa,_0x2a5426[_0xf268ff(0x16f)]);}throw CliErrors[_0xf268ff(0x188)](_0xf268ff(0x158)+_0x2a5426[_0xf268ff(0x1a9)]);}async function resolveDatasetCode(_0x336122,_0x43ae4f,_0x20bbba){const _0x35f30b=a32_0x5eac;if(_0x336122[_0x35f30b(0x176)])return _0x336122['datasetCode'];if(!_0x336122['datatable'])throw CliErrors[_0x35f30b(0x188)]('Service\x20command\x20'+_0x43ae4f[_0x35f30b(0x14d)]+_0x35f30b(0x1af));const _0x1f81a6=await listDatasets(_0x20bbba[_0x35f30b(0x16b)]),_0x5c0d8a=_0x1f81a6[_0x35f30b(0x17a)](_0x124fad=>_0x124fad['dbtableConfig']?.[_0x35f30b(0x17b)]===_0x336122[_0x35f30b(0x16d)]);if(!_0x5c0d8a?.[_0x35f30b(0x17f)])throw CliErrors[_0x35f30b(0x188)](_0x35f30b(0x16e)+_0x336122[_0x35f30b(0x16d)]+_0x35f30b(0x14f)+_0x20bbba[_0x35f30b(0x16b)]+'.',_0x35f30b(0x19c));return _0x5c0d8a['code'];}function applyAppBinding(_0xed8c38,_0x54d323,_0x4b36a7){const _0x27df34=a32_0x5eac,_0x4d3f37=_0x54d323[_0x27df34(0x180)]['appRef'];if(!_0x4d3f37)return;const _0x559896=_0xed8c38['appBindings'][_0x4d3f37];if(!_0x559896)throw CliErrors[_0x27df34(0x188)]('Unknown\x20appRef\x20\x22'+_0x4d3f37+'\x22\x20in\x20service\x20command\x20'+_0x54d323['cliPath']+'.',_0x27df34(0x150));const _0x3111ce=_0x559896[_0x27df34(0x196)]||_0x559896[_0x27df34(0x16b)];_0x3111ce&&!hasText(_0x4b36a7[_0x27df34(0x196)])&&(_0x4b36a7[_0x27df34(0x196)]=_0x3111ce),_0x559896[_0x27df34(0x197)]&&!hasText(_0x4b36a7[_0x27df34(0x197)])&&!hasText(_0x4b36a7[_0x27df34(0x196)])&&(_0x4b36a7['app']=_0x559896[_0x27df34(0x197)]),_0x559896['env']&&!hasText(_0x4b36a7[_0x27df34(0x19f)])&&(_0x4b36a7[_0x27df34(0x19f)]=_0x559896[_0x27df34(0x19f)]);}function a32_0x5eac(_0x326299,_0x5271f9){_0x326299=_0x326299-0x14b;const _0x9371ce=a32_0x9371();let _0x5eacd8=_0x9371ce[_0x326299];return _0x5eacd8;}function a32_0x9371(){const _0x15f9d0=['446EeFpHW','envName','scriptName','default','operator','now','\x20\x20[','startsWith','sqlCode','map','nickname','\x20\x20\x20\x20datatable:\x20','appCode','Service\x20command\x20','datatable','Cannot\x20resolve\x20datatable\x20\x22','params','\x20\x20SERVICE\x20TREE\x20TARGET','const','tree','SERVICE_TREE','string','userName','datasetCode','service','\x20\x20\x20\x20datasetCode:\x20','Use\x20`','find','tableName','context.','tenantCode','filter','code','target','fullPath','\x20requires\x20target.scriptName.','source','\x20service\x20detail\x20--service\x20','6678rmmyYs','126049xsZTBw','name','validation','445371wrmEps','Commands:','command','bffCode','16VaoEmB','length','enum','loginName','number','\x20\x20\x20\x20sqlCode:\x20','commands','some','employeeId','appcode','app','sql','push','appRef','remainingArgs','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','read','mapTo','env','description','userId','6431142QeQgwi','trim','600061AIeFzz','flags','\x20\x20\x20\x20scriptName:\x20','required','Run\x20service\x20command\x20','kind','ctx.','2292270xiWAhU','30RyQJhC','\x20\x20MAP\x20TO','fromEntries','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','Preview\x20dynamic\x20service\x20command:\x20','flatMap','cliPath','4081167JREomG','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','`\x20to\x20inspect\x20the\x20manifest.','type','slice','risk','nickName','\x20\x20\x20\x20','\x20\x20\x20\x20command:\x20','Unsupported\x20service\x20target\x20kind:\x20','padEnd','normalizedManifest','552RNjmEx','join','cliName','\x20\x20\x20\x20kind:\x20\x20\x20\x20'];a32_0x9371=function(){return _0x15f9d0;};return a32_0x9371();}function renderDynamicCommandHelp(_0x280dc6){const _0x5d9a85=a32_0x5eac,_0x50bdc4=[_0x5d9a85(0x170),_0x5d9a85(0x15e)+_0x280dc6['target'][_0x5d9a85(0x1a9)],_0x5d9a85(0x157)+_0x280dc6[_0x5d9a85(0x180)]['command']];if(_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x176)])_0x50bdc4[_0x5d9a85(0x199)](_0x5d9a85(0x178)+_0x280dc6['target']['datasetCode']);if(_0x280dc6[_0x5d9a85(0x180)]['datatable'])_0x50bdc4[_0x5d9a85(0x199)](_0x5d9a85(0x16a)+_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x16d)]);if(_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x167)])_0x50bdc4[_0x5d9a85(0x199)](_0x5d9a85(0x192)+_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x167)]);if(_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x161)])_0x50bdc4['push'](_0x5d9a85(0x1a6)+_0x280dc6[_0x5d9a85(0x180)][_0x5d9a85(0x161)]);if(_0x280dc6['mapTo']['length']>0x0){_0x50bdc4[_0x5d9a85(0x199)]('',_0x5d9a85(0x1ad));for(const _0x26b490 of _0x280dc6[_0x5d9a85(0x19e)]){_0x50bdc4[_0x5d9a85(0x199)](_0x5d9a85(0x156)+(_0x26b490[_0x5d9a85(0x183)]||_0x5d9a85(0x171))+'\x20->\x20'+_0x26b490['target']+(_0x26b490['operator']?'.'+_0x26b490[_0x5d9a85(0x163)]:''));}}return _0x50bdc4[_0x5d9a85(0x15c)]('\x0a');}function targetPreview(_0x318f81){const _0x18d0f5=a32_0x5eac;return{'kind':_0x318f81[_0x18d0f5(0x1a9)],'command':_0x318f81['command'],'appRef':_0x318f81[_0x18d0f5(0x19a)],'datasetCode':_0x318f81[_0x18d0f5(0x176)],'datatable':_0x318f81[_0x18d0f5(0x16d)],'sqlCode':_0x318f81['sqlCode'],'bffCode':_0x318f81[_0x18d0f5(0x18c)],'bffId':_0x318f81['bffId'],'scriptName':_0x318f81[_0x18d0f5(0x161)]};}function normalizeScalarParams(_0x5d197c){const _0x176e35=a32_0x5eac;return Object[_0x176e35(0x1ae)](Object['entries'](_0x5d197c)['filter'](([,_0x5dbac9])=>typeof _0x5dbac9===_0x176e35(0x174)||typeof _0x5dbac9===_0x176e35(0x191)));}function hasText(_0x3ccaab){const _0x29e2b8=a32_0x5eac;return typeof _0x3ccaab===_0x29e2b8(0x174)&&_0x3ccaab[_0x29e2b8(0x1a3)]()[_0x29e2b8(0x18e)]>0x0;}function isPrimitiveFlagDefault(_0xdebbdc){const _0x59c94a=a32_0x5eac;return _0xdebbdc===undefined||typeof _0xdebbdc===_0x59c94a(0x174)||typeof _0xdebbdc===_0x59c94a(0x191)||typeof _0xdebbdc==='boolean';}
@@ -1 +1 @@
1
- const a33_0x52c295=a33_0xf5bb;(function(_0x2cb97d,_0x229dae){const _0x315344=a33_0xf5bb,_0xadd3f5=_0x2cb97d();while(!![]){try{const _0x2072c2=-parseInt(_0x315344(0x175))/0x1*(parseInt(_0x315344(0x146))/0x2)+-parseInt(_0x315344(0x14d))/0x3+parseInt(_0x315344(0x15a))/0x4+parseInt(_0x315344(0x148))/0x5+parseInt(_0x315344(0x16e))/0x6+-parseInt(_0x315344(0x15b))/0x7+parseInt(_0x315344(0x170))/0x8;if(_0x2072c2===_0x229dae)break;else _0xadd3f5['push'](_0xadd3f5['shift']());}catch(_0x278ec3){_0xadd3f5['push'](_0xadd3f5['shift']());}}}(a33_0x589a,0x9afdf));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x589a(){const _0x3faad1=['Removed\x20service\x20','warnings','Service\x20manifest\x20validation\x20passed.','commands','249726AcEXji','errors','2697075YKCHko','Updated','importedAt','target','risk','547125QoMztw','map','read','serviceCount','entry','required','registryPath','\x20service\x20','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','cliPath','reduce','string','WRITE','2317948fOcCvP','8474767YkysbN','Exported\x20service\x20','Local\x20service\x20code,\x20for\x20example\x20crm','filePath','replaced','imported','str','file','service','manifests','updated','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','source','\x20service(s).','normalizedManifest','serviceCode','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','registryIndex','length','342090QNOWUk','kind','10811504ckjWjS','Service\x20registry\x20validation\x20passed.','validate','list','write','4HSALsg','Imported\x20','registryServiceCode','Imported','flags','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Service\x20Tree\x20manifest\x20file\x20path','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','hash','\x20service(s),\x20updated\x20','import','version','detail','entries','report','name'];a33_0x589a=function(){return _0x3faad1;};return a33_0x589a();}const FILE_FLAG={'name':'file','type':a33_0x52c295(0x158),'required':!![],'description':a33_0x52c295(0x17b)},SERVICE_FLAG={'name':a33_0x52c295(0x163),'type':a33_0x52c295(0x158),'required':!![],'description':a33_0x52c295(0x15d),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x5a6881){const _0x331f22=a33_0x52c295;return{'serviceCode':_0x5a6881[_0x331f22(0x16a)],'name':_0x5a6881[_0x331f22(0x169)][_0x331f22(0x163)][_0x331f22(0x141)],'version':_0x5a6881[_0x331f22(0x13d)],'importedAt':_0x5a6881[_0x331f22(0x14a)],'source':_0x5a6881['source'],'commandCount':_0x5a6881[_0x331f22(0x169)]['commands']['length'],'commands':_0x5a6881[_0x331f22(0x169)][_0x331f22(0x145)]['map'](_0x2d9a57=>({'path':_0x2d9a57[_0x331f22(0x156)],'description':_0x2d9a57['description'],'risk':_0x2d9a57[_0x331f22(0x14c)],'target':_0x2d9a57[_0x331f22(0x14b)],'flags':_0x2d9a57[_0x331f22(0x179)]['map'](_0x227611=>({'name':_0x227611[_0x331f22(0x141)],'cliName':_0x227611['cliName'],'type':_0x227611['type'],'required':_0x227611[_0x331f22(0x152)]===!![]}))}))};}function a33_0xf5bb(_0x230fa0,_0xf88b1b){_0x230fa0=_0x230fa0-0x13c;const _0x589a3f=a33_0x589a();let _0xf5bb00=_0x589a3f[_0x230fa0];return _0xf5bb00;}function summarizeLoadedManifest(_0x22a12b){const _0x377ecd=a33_0x52c295;return{'service':_0x22a12b[_0x377ecd(0x169)]?.['service'],'version':_0x22a12b[_0x377ecd(0x169)]?.[_0x377ecd(0x13d)],'commandCount':_0x22a12b[_0x377ecd(0x169)]?.[_0x377ecd(0x145)][_0x377ecd(0x16d)]??0x0,'commands':_0x22a12b['normalizedManifest']?.[_0x377ecd(0x145)][_0x377ecd(0x14e)](_0x4ecdef=>({'path':_0x4ecdef[_0x377ecd(0x156)],'risk':_0x4ecdef['risk'],'target':_0x4ecdef[_0x377ecd(0x14b)]}))??[],'registryIndex':_0x22a12b[_0x377ecd(0x16c)],'registryServiceCode':_0x22a12b[_0x377ecd(0x177)],'errors':_0x22a12b[_0x377ecd(0x140)][_0x377ecd(0x147)],'warnings':_0x22a12b[_0x377ecd(0x140)]['warnings']};}export const serviceDefinitions=[{'service':a33_0x52c295(0x163),'command':a33_0x52c295(0x172),'description':a33_0x52c295(0x155),'risk':a33_0x52c295(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x9720fe){const _0x7f65eb=a33_0x52c295,_0x18a91b=loadServiceManifestFromFile(_0x9720fe[_0x7f65eb(0x161)](_0x7f65eb(0x162)));if(!_0x18a91b[_0x7f65eb(0x140)]['ok'])return{'ok':![],'data':{'file':_0x18a91b[_0x7f65eb(0x15e)],'hash':_0x18a91b['hash'],'kind':_0x18a91b[_0x7f65eb(0x16f)],'serviceCount':_0x18a91b['manifests'][_0x7f65eb(0x16d)],'services':_0x18a91b['manifests'][_0x7f65eb(0x14e)](summarizeLoadedManifest),'errors':_0x18a91b[_0x7f65eb(0x140)][_0x7f65eb(0x147)],'warnings':_0x18a91b[_0x7f65eb(0x140)][_0x7f65eb(0x143)]},'message':formatValidationFailure(_0x18a91b[_0x7f65eb(0x140)])};if(_0x18a91b['kind']==='registry'||_0x18a91b[_0x7f65eb(0x164)][_0x7f65eb(0x16d)]!==0x1)return{'ok':!![],'data':{'file':_0x18a91b[_0x7f65eb(0x15e)],'hash':_0x18a91b['hash'],'kind':_0x18a91b['kind'],'serviceCount':_0x18a91b[_0x7f65eb(0x164)][_0x7f65eb(0x16d)],'commandCount':_0x18a91b[_0x7f65eb(0x164)][_0x7f65eb(0x157)]((_0x67a381,_0x40c716)=>_0x67a381+(_0x40c716['normalizedManifest']?.[_0x7f65eb(0x145)][_0x7f65eb(0x16d)]??0x0),0x0),'services':_0x18a91b[_0x7f65eb(0x164)]['map'](summarizeLoadedManifest),'warnings':_0x18a91b[_0x7f65eb(0x140)][_0x7f65eb(0x143)]},'message':_0x7f65eb(0x171)};return{'ok':!![],'data':{'file':_0x18a91b[_0x7f65eb(0x15e)],'hash':_0x18a91b[_0x7f65eb(0x17d)],'kind':_0x18a91b[_0x7f65eb(0x16f)],'service':_0x18a91b[_0x7f65eb(0x169)]?.[_0x7f65eb(0x163)],'version':_0x18a91b[_0x7f65eb(0x169)]?.[_0x7f65eb(0x13d)],'commandCount':_0x18a91b[_0x7f65eb(0x169)]?.[_0x7f65eb(0x145)][_0x7f65eb(0x16d)]??0x0,'commands':_0x18a91b[_0x7f65eb(0x169)]?.[_0x7f65eb(0x145)][_0x7f65eb(0x14e)](_0x3b14f5=>({'path':_0x3b14f5[_0x7f65eb(0x156)],'risk':_0x3b14f5[_0x7f65eb(0x14c)],'target':_0x3b14f5['target']})),'warnings':_0x18a91b[_0x7f65eb(0x140)]['warnings']},'message':_0x7f65eb(0x144)};}},{'service':a33_0x52c295(0x163),'command':a33_0x52c295(0x13c),'description':a33_0x52c295(0x166),'risk':a33_0x52c295(0x174),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3c695d){const _0x4de7bb=a33_0x52c295,_0x2c046a=loadServiceManifestFromFile(_0x3c695d['str']('file'));return{'method':_0x4de7bb(0x159),'url':getServiceRegistryPath(),'body':{'file':_0x2c046a[_0x4de7bb(0x15e)],'hash':_0x2c046a[_0x4de7bb(0x17d)],'kind':_0x2c046a[_0x4de7bb(0x16f)],'ok':_0x2c046a[_0x4de7bb(0x140)]['ok'],'service':_0x2c046a[_0x4de7bb(0x169)]?.[_0x4de7bb(0x163)],'version':_0x2c046a[_0x4de7bb(0x169)]?.['version'],'serviceCount':_0x2c046a[_0x4de7bb(0x164)][_0x4de7bb(0x16d)],'services':_0x2c046a[_0x4de7bb(0x164)][_0x4de7bb(0x14e)](_0xf7ed4f=>({'service':_0xf7ed4f[_0x4de7bb(0x169)]?.[_0x4de7bb(0x163)],'version':_0xf7ed4f[_0x4de7bb(0x169)]?.[_0x4de7bb(0x13d)],'commandCount':_0xf7ed4f[_0x4de7bb(0x169)]?.[_0x4de7bb(0x145)][_0x4de7bb(0x16d)]??0x0,'errors':_0xf7ed4f[_0x4de7bb(0x140)]['errors']})),'errors':_0x2c046a[_0x4de7bb(0x140)]['errors'],'commandCount':_0x2c046a['normalizedManifest']?.[_0x4de7bb(0x145)][_0x4de7bb(0x16d)]??0x0},'description':_0x4de7bb(0x16b)};},async 'execute'(_0x211173){const _0x479cd0=a33_0x52c295,_0x5cf793=importServiceManifest(_0x211173[_0x479cd0(0x161)](_0x479cd0(0x162)));if(_0x5cf793[_0x479cd0(0x13f)][_0x479cd0(0x16d)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x5cf793[_0x479cd0(0x153)],'imported':_0x5cf793['imported'],'updated':_0x5cf793[_0x479cd0(0x165)],'serviceCount':_0x5cf793[_0x479cd0(0x150)],'services':_0x5cf793['entries'][_0x479cd0(0x14e)](summarizeService)},'message':_0x479cd0(0x176)+_0x5cf793[_0x479cd0(0x160)]+_0x479cd0(0x17e)+_0x5cf793[_0x479cd0(0x165)]+_0x479cd0(0x168)};return{'ok':!![],'data':{'registryPath':_0x5cf793[_0x479cd0(0x153)],'replaced':_0x5cf793[_0x479cd0(0x15f)],'imported':_0x5cf793[_0x479cd0(0x160)],'updated':_0x5cf793[_0x479cd0(0x165)],'serviceCount':_0x5cf793[_0x479cd0(0x150)],'service':summarizeService(_0x5cf793[_0x479cd0(0x151)])},'message':(_0x5cf793[_0x479cd0(0x15f)]?_0x479cd0(0x149):_0x479cd0(0x178))+_0x479cd0(0x154)+_0x5cf793[_0x479cd0(0x151)][_0x479cd0(0x16a)]+'.'};}},{'service':'service','command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x10d621){const _0x1b1dbc=a33_0x52c295,_0x4a6496=getLocalServiceEntry(_0x10d621[_0x1b1dbc(0x161)](_0x1b1dbc(0x163)));return{'method':_0x1b1dbc(0x159),'url':_0x10d621[_0x1b1dbc(0x161)](_0x1b1dbc(0x162)),'body':{'service':_0x10d621[_0x1b1dbc(0x161)](_0x1b1dbc(0x163)),'found':Boolean(_0x4a6496),'version':_0x4a6496?.[_0x1b1dbc(0x13d)],'source':_0x4a6496?.['source']},'description':_0x1b1dbc(0x17c)};},async 'execute'(_0x1d7f60){const _0x3af69e=a33_0x52c295,_0xd44b64=exportServiceManifest(_0x1d7f60['str'](_0x3af69e(0x163)),_0x1d7f60[_0x3af69e(0x161)](_0x3af69e(0x162)));return{'ok':!![],'data':{'registryPath':_0xd44b64[_0x3af69e(0x153)],'file':_0xd44b64[_0x3af69e(0x15e)],'service':summarizeService(_0xd44b64[_0x3af69e(0x151)])},'message':_0x3af69e(0x15c)+_0xd44b64[_0x3af69e(0x151)][_0x3af69e(0x16a)]+'.'};}},{'service':'service','command':a33_0x52c295(0x173),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x52c295(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x5c530e=a33_0x52c295,_0x20625f=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x20625f[_0x5c530e(0x16d)],'services':_0x20625f[_0x5c530e(0x14e)](summarizeService)}};}},{'service':'service','command':'remove','description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x52c295(0x174),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1b6dc2){const _0x46f6c0=a33_0x52c295,_0x371f0e=getLocalServiceEntry(_0x1b6dc2[_0x46f6c0(0x161)](_0x46f6c0(0x163)));return{'method':_0x46f6c0(0x159),'url':getServiceRegistryPath(),'body':{'service':_0x1b6dc2[_0x46f6c0(0x161)](_0x46f6c0(0x163)),'found':Boolean(_0x371f0e),'version':_0x371f0e?.[_0x46f6c0(0x13d)],'source':_0x371f0e?.[_0x46f6c0(0x167)]},'description':_0x46f6c0(0x17a)};},async 'execute'(_0x4524c6){const _0x482d15=a33_0x52c295,_0x1fd40d=removeServiceManifest(_0x4524c6[_0x482d15(0x161)]('service'));return{'ok':!![],'data':{'registryPath':_0x1fd40d['registryPath'],'serviceCount':_0x1fd40d[_0x482d15(0x150)],'service':summarizeService(_0x1fd40d[_0x482d15(0x151)])},'message':_0x482d15(0x142)+_0x1fd40d[_0x482d15(0x151)][_0x482d15(0x16a)]+'.'};}},{'service':a33_0x52c295(0x163),'command':a33_0x52c295(0x13e),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a33_0x52c295(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xbab292){const _0x37b4c1=a33_0x52c295,_0x3e8fa9=getLocalServiceEntry(_0xbab292[_0x37b4c1(0x161)]('service'));if(!_0x3e8fa9)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xbab292[_0x37b4c1(0x161)](_0x37b4c1(0x163))},'message':'Local\x20service\x20not\x20found:\x20'+_0xbab292[_0x37b4c1(0x161)](_0x37b4c1(0x163))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3e8fa9),'manifest':_0x3e8fa9['manifest'],'normalizedManifest':_0x3e8fa9[_0x37b4c1(0x169)]}};}}];
1
+ const a33_0x32732f=a33_0x392c;(function(_0x6d3e8d,_0x45dc2e){const _0x5777df=a33_0x392c,_0x3a7328=_0x6d3e8d();while(!![]){try{const _0x5adb00=-parseInt(_0x5777df(0x154))/0x1*(-parseInt(_0x5777df(0x184))/0x2)+-parseInt(_0x5777df(0x160))/0x3*(parseInt(_0x5777df(0x16a))/0x4)+parseInt(_0x5777df(0x15f))/0x5+-parseInt(_0x5777df(0x168))/0x6*(parseInt(_0x5777df(0x180))/0x7)+parseInt(_0x5777df(0x182))/0x8*(parseInt(_0x5777df(0x198))/0x9)+-parseInt(_0x5777df(0x185))/0xa*(-parseInt(_0x5777df(0x15e))/0xb)+-parseInt(_0x5777df(0x176))/0xc*(-parseInt(_0x5777df(0x170))/0xd);if(_0x5adb00===_0x45dc2e)break;else _0x3a7328['push'](_0x3a7328['shift']());}catch(_0x4babc5){_0x3a7328['push'](_0x3a7328['shift']());}}}(a33_0x1c26,0x211db));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x32732f(0x163),'type':'string','required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':'service','type':a33_0x32732f(0x155),'required':!![],'description':a33_0x32732f(0x161),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x32732f(0x15c)}};function summarizeService(_0x32cfa1){const _0x2fd55b=a33_0x32732f;return{'serviceCode':_0x32cfa1['serviceCode'],'name':_0x32cfa1[_0x2fd55b(0x18a)][_0x2fd55b(0x172)][_0x2fd55b(0x19b)],'version':_0x32cfa1[_0x2fd55b(0x174)],'importedAt':_0x32cfa1['importedAt'],'source':_0x32cfa1[_0x2fd55b(0x15d)],'commandCount':_0x32cfa1['normalizedManifest']['commands'][_0x2fd55b(0x157)],'commands':_0x32cfa1['normalizedManifest']['commands'][_0x2fd55b(0x18e)](_0x1d1f74=>({'path':_0x1d1f74[_0x2fd55b(0x16e)],'description':_0x1d1f74[_0x2fd55b(0x183)],'risk':_0x1d1f74[_0x2fd55b(0x19c)],'target':_0x1d1f74['target'],'flags':_0x1d1f74[_0x2fd55b(0x18c)]['map'](_0x4935dd=>({'name':_0x4935dd['name'],'cliName':_0x4935dd[_0x2fd55b(0x16b)],'type':_0x4935dd[_0x2fd55b(0x177)],'required':_0x4935dd[_0x2fd55b(0x173)]===!![]}))}))};}function summarizeLoadedManifest(_0x4dceeb){const _0x4fcebd=a33_0x32732f;return{'service':_0x4dceeb[_0x4fcebd(0x18a)]?.[_0x4fcebd(0x172)],'version':_0x4dceeb[_0x4fcebd(0x18a)]?.['version'],'commandCount':_0x4dceeb[_0x4fcebd(0x18a)]?.[_0x4fcebd(0x17f)][_0x4fcebd(0x157)]??0x0,'commands':_0x4dceeb[_0x4fcebd(0x18a)]?.['commands'][_0x4fcebd(0x18e)](_0x150b42=>({'path':_0x150b42['cliPath'],'risk':_0x150b42['risk'],'target':_0x150b42[_0x4fcebd(0x18f)]}))??[],'registryIndex':_0x4dceeb[_0x4fcebd(0x153)],'registryServiceCode':_0x4dceeb[_0x4fcebd(0x166)],'errors':_0x4dceeb[_0x4fcebd(0x18d)][_0x4fcebd(0x190)],'warnings':_0x4dceeb[_0x4fcebd(0x18d)]['warnings']};}function a33_0x392c(_0x2a1032,_0x46bc82){_0x2a1032=_0x2a1032-0x150;const _0x1c267c=a33_0x1c26();let _0x392c1b=_0x1c267c[_0x2a1032];return _0x392c1b;}export const serviceDefinitions=[{'service':a33_0x32732f(0x172),'command':a33_0x32732f(0x175),'description':a33_0x32732f(0x150),'risk':a33_0x32732f(0x167),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x15759f){const _0x2cd1b6=a33_0x32732f,_0x574ed0=loadServiceManifestFromFile(_0x15759f[_0x2cd1b6(0x192)](_0x2cd1b6(0x163)));if(!_0x574ed0['report']['ok'])return{'ok':![],'data':{'file':_0x574ed0[_0x2cd1b6(0x186)],'hash':_0x574ed0[_0x2cd1b6(0x179)],'kind':_0x574ed0[_0x2cd1b6(0x195)],'serviceCount':_0x574ed0['manifests'][_0x2cd1b6(0x157)],'services':_0x574ed0[_0x2cd1b6(0x164)]['map'](summarizeLoadedManifest),'errors':_0x574ed0[_0x2cd1b6(0x18d)]['errors'],'warnings':_0x574ed0['report'][_0x2cd1b6(0x15a)]},'message':formatValidationFailure(_0x574ed0[_0x2cd1b6(0x18d)])};if(_0x574ed0['kind']==='registry'||_0x574ed0[_0x2cd1b6(0x164)]['length']!==0x1)return{'ok':!![],'data':{'file':_0x574ed0[_0x2cd1b6(0x186)],'hash':_0x574ed0['hash'],'kind':_0x574ed0[_0x2cd1b6(0x195)],'serviceCount':_0x574ed0[_0x2cd1b6(0x164)][_0x2cd1b6(0x157)],'commandCount':_0x574ed0[_0x2cd1b6(0x164)]['reduce']((_0x3a8329,_0xf1badd)=>_0x3a8329+(_0xf1badd[_0x2cd1b6(0x18a)]?.[_0x2cd1b6(0x17f)][_0x2cd1b6(0x157)]??0x0),0x0),'services':_0x574ed0[_0x2cd1b6(0x164)][_0x2cd1b6(0x18e)](summarizeLoadedManifest),'warnings':_0x574ed0[_0x2cd1b6(0x18d)][_0x2cd1b6(0x15a)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x574ed0[_0x2cd1b6(0x186)],'hash':_0x574ed0[_0x2cd1b6(0x179)],'kind':_0x574ed0[_0x2cd1b6(0x195)],'service':_0x574ed0[_0x2cd1b6(0x18a)]?.[_0x2cd1b6(0x172)],'version':_0x574ed0[_0x2cd1b6(0x18a)]?.['version'],'commandCount':_0x574ed0[_0x2cd1b6(0x18a)]?.[_0x2cd1b6(0x17f)][_0x2cd1b6(0x157)]??0x0,'commands':_0x574ed0[_0x2cd1b6(0x18a)]?.[_0x2cd1b6(0x17f)][_0x2cd1b6(0x18e)](_0x1b391b=>({'path':_0x1b391b[_0x2cd1b6(0x16e)],'risk':_0x1b391b[_0x2cd1b6(0x19c)],'target':_0x1b391b[_0x2cd1b6(0x18f)]})),'warnings':_0x574ed0[_0x2cd1b6(0x18d)][_0x2cd1b6(0x15a)]},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x32732f(0x172),'command':a33_0x32732f(0x159),'description':a33_0x32732f(0x187),'risk':a33_0x32732f(0x17e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x5d4cd8){const _0x4f6df3=a33_0x32732f,_0x31bc85=loadServiceManifestFromFile(_0x5d4cd8['str'](_0x4f6df3(0x163)));return{'method':_0x4f6df3(0x18b),'url':getServiceRegistryPath(),'body':{'file':_0x31bc85['filePath'],'hash':_0x31bc85['hash'],'kind':_0x31bc85[_0x4f6df3(0x195)],'ok':_0x31bc85[_0x4f6df3(0x18d)]['ok'],'service':_0x31bc85[_0x4f6df3(0x18a)]?.[_0x4f6df3(0x172)],'version':_0x31bc85['normalizedManifest']?.[_0x4f6df3(0x174)],'serviceCount':_0x31bc85[_0x4f6df3(0x164)][_0x4f6df3(0x157)],'services':_0x31bc85[_0x4f6df3(0x164)][_0x4f6df3(0x18e)](_0x35c0fd=>({'service':_0x35c0fd[_0x4f6df3(0x18a)]?.[_0x4f6df3(0x172)],'version':_0x35c0fd[_0x4f6df3(0x18a)]?.[_0x4f6df3(0x174)],'commandCount':_0x35c0fd[_0x4f6df3(0x18a)]?.[_0x4f6df3(0x17f)][_0x4f6df3(0x157)]??0x0,'errors':_0x35c0fd[_0x4f6df3(0x18d)][_0x4f6df3(0x190)]})),'errors':_0x31bc85[_0x4f6df3(0x18d)][_0x4f6df3(0x190)],'commandCount':_0x31bc85[_0x4f6df3(0x18a)]?.[_0x4f6df3(0x17f)]['length']??0x0},'description':_0x4f6df3(0x16d)};},async 'execute'(_0x50b9df){const _0x947670=a33_0x32732f,_0x3e893c=importServiceManifest(_0x50b9df[_0x947670(0x192)](_0x947670(0x163)));if(_0x3e893c[_0x947670(0x165)][_0x947670(0x157)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x3e893c[_0x947670(0x188)],'imported':_0x3e893c['imported'],'updated':_0x3e893c[_0x947670(0x19d)],'serviceCount':_0x3e893c[_0x947670(0x169)],'services':_0x3e893c['entries'][_0x947670(0x18e)](summarizeService)},'message':_0x947670(0x171)+_0x3e893c[_0x947670(0x178)]+_0x947670(0x16c)+_0x3e893c['updated']+_0x947670(0x17c)};return{'ok':!![],'data':{'registryPath':_0x3e893c[_0x947670(0x188)],'replaced':_0x3e893c[_0x947670(0x16f)],'imported':_0x3e893c[_0x947670(0x178)],'updated':_0x3e893c[_0x947670(0x19d)],'serviceCount':_0x3e893c[_0x947670(0x169)],'service':summarizeService(_0x3e893c[_0x947670(0x191)])},'message':(_0x3e893c[_0x947670(0x16f)]?_0x947670(0x158):_0x947670(0x15b))+'\x20service\x20'+_0x3e893c[_0x947670(0x191)][_0x947670(0x181)]+'.'};}},{'service':'service','command':a33_0x32732f(0x17b),'description':a33_0x32732f(0x196),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0xd65655){const _0x6e1b5d=a33_0x32732f,_0x5ecd99=getLocalServiceEntry(_0xd65655['str'](_0x6e1b5d(0x172)));return{'method':_0x6e1b5d(0x18b),'url':_0xd65655['str'](_0x6e1b5d(0x163)),'body':{'service':_0xd65655[_0x6e1b5d(0x192)](_0x6e1b5d(0x172)),'found':Boolean(_0x5ecd99),'version':_0x5ecd99?.[_0x6e1b5d(0x174)],'source':_0x5ecd99?.[_0x6e1b5d(0x15d)]},'description':_0x6e1b5d(0x151)};},async 'execute'(_0x42d906){const _0x616dc7=a33_0x32732f,_0x2fbd76=exportServiceManifest(_0x42d906[_0x616dc7(0x192)]('service'),_0x42d906[_0x616dc7(0x192)]('file'));return{'ok':!![],'data':{'registryPath':_0x2fbd76['registryPath'],'file':_0x2fbd76[_0x616dc7(0x186)],'service':summarizeService(_0x2fbd76['entry'])},'message':_0x616dc7(0x17a)+_0x2fbd76[_0x616dc7(0x191)][_0x616dc7(0x181)]+'.'};}},{'service':'service','command':a33_0x32732f(0x156),'description':a33_0x32732f(0x17d),'risk':a33_0x32732f(0x167),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x221a8d=a33_0x32732f,_0x1b0022=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1b0022[_0x221a8d(0x157)],'services':_0x1b0022[_0x221a8d(0x18e)](summarizeService)}};}},{'service':'service','command':a33_0x32732f(0x152),'description':a33_0x32732f(0x189),'risk':a33_0x32732f(0x17e),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5b0113){const _0xe4a0d4=a33_0x32732f,_0xb867f2=getLocalServiceEntry(_0x5b0113[_0xe4a0d4(0x192)](_0xe4a0d4(0x172)));return{'method':_0xe4a0d4(0x18b),'url':getServiceRegistryPath(),'body':{'service':_0x5b0113[_0xe4a0d4(0x192)](_0xe4a0d4(0x172)),'found':Boolean(_0xb867f2),'version':_0xb867f2?.['version'],'source':_0xb867f2?.['source']},'description':_0xe4a0d4(0x193)};},async 'execute'(_0x54ecec){const _0x42d220=a33_0x32732f,_0x295811=removeServiceManifest(_0x54ecec[_0x42d220(0x192)]('service'));return{'ok':!![],'data':{'registryPath':_0x295811[_0x42d220(0x188)],'serviceCount':_0x295811['serviceCount'],'service':summarizeService(_0x295811[_0x42d220(0x191)])},'message':_0x42d220(0x194)+_0x295811[_0x42d220(0x191)]['serviceCode']+'.'};}},{'service':a33_0x32732f(0x172),'command':a33_0x32732f(0x162),'description':a33_0x32732f(0x199),'risk':a33_0x32732f(0x167),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3ce611){const _0x417c84=a33_0x32732f,_0x584f96=getLocalServiceEntry(_0x3ce611[_0x417c84(0x192)](_0x417c84(0x172)));if(!_0x584f96)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3ce611[_0x417c84(0x192)](_0x417c84(0x172))},'message':_0x417c84(0x19a)+_0x3ce611['str']('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x584f96),'manifest':_0x584f96[_0x417c84(0x197)],'normalizedManifest':_0x584f96[_0x417c84(0x18a)]}};}}];function a33_0x1c26(){const _0x3fbaa9=['required','version','validate','12Fniuse','type','imported','hash','Exported\x20service\x20','export','\x20service(s).','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','write','commands','716072GCEoFP','serviceCode','468016GzLjGY','description','8iGYAcl','470wwcFwp','filePath','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','registryPath','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','normalizedManifest','WRITE','flags','report','map','target','errors','entry','str','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Removed\x20service\x20','kind','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','manifest','36GjYfQt','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Local\x20service\x20not\x20found:\x20','name','risk','updated','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','remove','registryIndex','24551UKOUsR','string','list','length','Updated','import','warnings','Imported','lower\x20kebab-case\x20service\x20code','source','517ppVJqx','714620eoavbo','3ErIIxF','Local\x20service\x20code,\x20for\x20example\x20crm','detail','file','manifests','entries','registryServiceCode','read','12LjpfEB','serviceCount','921364NZZHSp','cliName','\x20service(s),\x20updated\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','cliPath','replaced','1212003DSNNyV','Imported\x20','service'];a33_0x1c26=function(){return _0x3fbaa9;};return a33_0x1c26();}
@@ -1 +1 @@
1
- (function(_0x48e481,_0x57386e){const _0x33bfb7=a34_0x154a,_0x519ea8=_0x48e481();while(!![]){try{const _0x177ba4=parseInt(_0x33bfb7(0xf1))/0x1+parseInt(_0x33bfb7(0xf8))/0x2+-parseInt(_0x33bfb7(0xd9))/0x3*(-parseInt(_0x33bfb7(0x104))/0x4)+parseInt(_0x33bfb7(0xe5))/0x5*(-parseInt(_0x33bfb7(0x109))/0x6)+parseInt(_0x33bfb7(0xc1))/0x7+parseInt(_0x33bfb7(0xba))/0x8+-parseInt(_0x33bfb7(0xc3))/0x9;if(_0x177ba4===_0x57386e)break;else _0x519ea8['push'](_0x519ea8['shift']());}catch(_0x189d69){_0x519ea8['push'](_0x519ea8['shift']());}}}(a34_0x771b,0xeba11));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x154a(_0x359104,_0x4a9cc5){_0x359104=_0x359104-0xba;const _0x771bc5=a34_0x771b();let _0x154aee=_0x771bc5[_0x359104];return _0x154aee;}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x547fb3={}){const _0x54aad4=a34_0x154a;return resolve(_0x547fb3[_0x54aad4(0xe2)]??homedir(),PRODUCT_CONFIG[_0x54aad4(0x101)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1bacb9={}){const _0x108be3=a34_0x154a,_0x46a4d6=getServiceRegistryPath(_0x1bacb9);if(!existsSync(_0x46a4d6))return emptyServiceRegistry();try{const _0x9d165f=readFileSync(_0x46a4d6,_0x108be3(0xf2));if(!_0x9d165f[_0x108be3(0xc5)]())return emptyServiceRegistry();const _0xeeebb0=JSON['parse'](_0x9d165f);if(_0xeeebb0[_0x108be3(0xf6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x108be3(0x102)](_0x108be3(0xd8)+String(_0xeeebb0[_0x108be3(0xf6)]),_0x108be3(0xc8)+_0x46a4d6+'.');if(!Array[_0x108be3(0xdc)](_0xeeebb0['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xeeebb0[_0x108be3(0xfc)],'services':_0xeeebb0[_0x108be3(0xbe)]};}catch(_0x4705d0){if(_0x4705d0 instanceof Error&&_0x4705d0[_0x108be3(0xbc)]===_0x108be3(0x103))throw _0x4705d0;throw CliErrors[_0x108be3(0x102)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x46a4d6,_0x108be3(0xde));}}export function writeServiceRegistry(_0x44c4d5,_0x3b913c={}){const _0x165a93=a34_0x154a,_0x2fa9d9=getServiceRegistryPath(_0x3b913c),_0x856684=dirname(_0x2fa9d9);!existsSync(_0x856684)&&mkdirSync(_0x856684,{'recursive':!![]});const _0xab8764=_0x2fa9d9+_0x165a93(0xeb);try{writeFileSync(_0xab8764,JSON[_0x165a93(0xce)](_0x44c4d5,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0xab8764,_0x2fa9d9);}catch(_0x5a8dfc){try{unlinkSync(_0xab8764);}catch{}if(_0x5a8dfc?.['code']==='ENOENT')throw CliErrors[_0x165a93(0x102)]('Cannot\x20write\x20service\x20registry:\x20'+_0x2fa9d9);throw _0x5a8dfc;}return _0x2fa9d9;}export function loadServiceManifestFromFile(_0x39452c){const _0x38931b=a34_0x154a,_0x241872=resolve(_0x39452c);if(!existsSync(_0x241872))throw CliErrors[_0x38931b(0x102)](_0x38931b(0x105)+_0x39452c);let _0xfb86e;const _0x4673ef=readFileSync(_0x241872,_0x38931b(0xf2));try{_0xfb86e=JSON['parse'](_0x4673ef);}catch{throw CliErrors['validation'](_0x38931b(0xea)+_0x39452c,_0x38931b(0xcd));}const _0x45a5f6=sha256(_0x4673ef),_0x13cd55=extractLoadedServiceManifests(_0xfb86e,_0x45a5f6),_0x2f1f47=aggregateValidationReports(_0x13cd55),_0x52058d=_0x13cd55[0x0];return{'filePath':_0x241872,'hash':_0x45a5f6,'kind':isServiceRegistryLike(_0xfb86e)?_0x38931b(0xf7):_0x38931b(0xf5),'manifest':_0x52058d?.[_0x38931b(0xf5)]??_0xfb86e,'report':_0x2f1f47,'normalizedManifest':_0x13cd55[_0x38931b(0xc0)]===0x1?_0x52058d?.['normalizedManifest']:undefined,'manifests':_0x13cd55};}export function importServiceManifest(_0x540bed,_0x98295a={}){const _0x5a05c0=a34_0x154a,_0x87ab1c=loadServiceManifestFromFile(_0x540bed);if(!_0x87ab1c[_0x5a05c0(0xec)]['ok'])throw CliErrors[_0x5a05c0(0x102)](formatValidationFailure(_0x87ab1c[_0x5a05c0(0xec)]),_0x5a05c0(0xd2));if(_0x87ab1c[_0x5a05c0(0xf4)][_0x5a05c0(0xc0)]===0x0)throw CliErrors[_0x5a05c0(0x102)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x5a05c0(0xc4));const _0x44cc3c=readServiceRegistry(_0x98295a),_0x2c6941=(_0x98295a[_0x5a05c0(0xe0)]??(()=>new Date()))()[_0x5a05c0(0xfd)](),_0x5cd19e=[];let _0x1d4884=0x0,_0x2aebf=0x0;for(const _0x255938 of _0x87ab1c[_0x5a05c0(0xf4)]){if(!_0x255938['normalizedManifest'])continue;const _0x250582=_0x255938['normalizedManifest'][_0x5a05c0(0xfa)][_0x5a05c0(0xef)],_0x17cc0e={'serviceCode':_0x250582,'version':_0x255938[_0x5a05c0(0xc2)]['version'],'importedAt':_0x2c6941,'source':{'type':_0x5a05c0(0xc7),'path':_0x87ab1c[_0x5a05c0(0xcb)],'hash':_0x255938[_0x5a05c0(0xd6)]},'manifest':_0x255938['manifest'],'normalizedManifest':_0x255938[_0x5a05c0(0xc2)]},_0x56d907=_0x44cc3c[_0x5a05c0(0xbe)][_0x5a05c0(0xdf)](_0x152bf9=>_0x152bf9[_0x5a05c0(0xc6)]===_0x250582);_0x56d907>=0x0?(_0x44cc3c[_0x5a05c0(0xbe)][_0x56d907]=_0x17cc0e,_0x2aebf++):(_0x44cc3c[_0x5a05c0(0xbe)][_0x5a05c0(0xf0)](_0x17cc0e),_0x1d4884++),_0x5cd19e[_0x5a05c0(0xf0)](_0x17cc0e);}_0x44cc3c[_0x5a05c0(0xbe)]['sort']((_0x2dfcf4,_0x217ca5)=>_0x2dfcf4[_0x5a05c0(0xc6)][_0x5a05c0(0x108)](_0x217ca5[_0x5a05c0(0xc6)])),_0x44cc3c[_0x5a05c0(0xfc)]=_0x2c6941;const _0x478182=writeServiceRegistry(_0x44cc3c,_0x98295a);return{'registryPath':_0x478182,'entry':_0x5cd19e[0x0],'replaced':_0x5cd19e[_0x5a05c0(0xc0)]===0x1?_0x2aebf===0x1:_0x2aebf>0x0,'entries':_0x5cd19e,'imported':_0x1d4884,'updated':_0x2aebf,'serviceCount':_0x44cc3c[_0x5a05c0(0xbe)][_0x5a05c0(0xc0)]};}export function exportServiceManifest(_0x741b6,_0x1d5976,_0x3d1152={}){const _0x485857=a34_0x154a,_0xf13705=getServiceRegistryPath(_0x3d1152),_0x45a1a6=getLocalServiceEntry(_0x741b6,_0x3d1152);if(!_0x45a1a6)throw CliErrors[_0x485857(0x102)]('Local\x20service\x20not\x20found:\x20'+_0x741b6,_0x485857(0xbf));const _0x1a30cc=resolve(_0x1d5976),_0xf1b5a7=dirname(_0x1a30cc);return!existsSync(_0xf1b5a7)&&mkdirSync(_0xf1b5a7,{'recursive':!![]}),writeFileSync(_0x1a30cc,JSON['stringify'](_0x45a1a6['manifest'],null,0x2)+'\x0a',{'encoding':_0x485857(0xf2),'mode':0x180}),{'registryPath':_0xf13705,'filePath':_0x1a30cc,'entry':_0x45a1a6};}export function removeServiceManifest(_0x4a9888,_0x35a2ec={}){const _0x43d0fb=a34_0x154a,_0x385bf4=readServiceRegistry(_0x35a2ec),_0x3540b6=_0x4a9888[_0x43d0fb(0xc5)](),_0x11a533=_0x385bf4[_0x43d0fb(0xbe)]['findIndex'](_0x152ccd=>_0x152ccd[_0x43d0fb(0xc6)]===_0x3540b6);if(_0x11a533<0x0)throw CliErrors['validation'](_0x43d0fb(0xc9)+_0x3540b6,_0x43d0fb(0xbf));const [_0x11a890]=_0x385bf4[_0x43d0fb(0xbe)][_0x43d0fb(0xe1)](_0x11a533,0x1),_0x16b931=(_0x35a2ec[_0x43d0fb(0xe0)]??(()=>new Date()))()['toISOString']();_0x385bf4['updatedAt']=_0x16b931;const _0x336c98=writeServiceRegistry(_0x385bf4,_0x35a2ec);return{'registryPath':_0x336c98,'entry':_0x11a890,'serviceCount':_0x385bf4[_0x43d0fb(0xbe)][_0x43d0fb(0xc0)]};}export function listLocalServices(_0x388873={}){return readServiceRegistry(_0x388873)['services'];}export function getLocalServiceEntry(_0x461c89,_0x51d7b1={}){const _0x5cedf2=a34_0x154a;return readServiceRegistry(_0x51d7b1)[_0x5cedf2(0xbe)][_0x5cedf2(0xbb)](_0x50455f=>_0x50455f[_0x5cedf2(0xc6)]===_0x461c89[_0x5cedf2(0xc5)]());}export function listLocalServiceTrees(_0x135269={}){const _0x1ebf49=a34_0x154a;return readServiceRegistry(_0x135269)[_0x1ebf49(0xbe)]['map'](_0x44c382=>_0x44c382[_0x1ebf49(0xc2)]);}export function inspectServiceRegistry(_0x135895={}){const _0x1faa56=a34_0x154a,_0x221ab4=getServiceRegistryPath(_0x135895);if(!existsSync(_0x221ab4))return emptyServiceRegistryInspection(_0x221ab4,_0x1faa56(0x107),![]);try{const _0x259668=readFileSync(_0x221ab4,'utf8');if(!_0x259668['trim']())return emptyServiceRegistryInspection(_0x221ab4,_0x1faa56(0xf9),!![]);const _0x1c250b=JSON[_0x1faa56(0xff)](_0x259668);if(_0x1c250b[_0x1faa56(0xf6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x221ab4,_0x1faa56(0xe9),!![]),'schemaVersion':_0x1c250b[_0x1faa56(0xf6)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x1c250b['schemaVersion'])};if(!Array[_0x1faa56(0xdc)](_0x1c250b['services']))return{...emptyServiceRegistryInspection(_0x221ab4,_0x1faa56(0xe9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1c250b[_0x1faa56(0xfc)],'message':_0x1faa56(0xdb)};const _0x4dcd03=_0x1c250b[_0x1faa56(0xbe)][_0x1faa56(0xd7)](summarizeLocalServiceEntry);return{'registryPath':_0x221ab4,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1c250b[_0x1faa56(0xfc)],'serviceCount':_0x4dcd03[_0x1faa56(0xc0)],'commandCount':_0x4dcd03['reduce']((_0x137ae1,_0x4561da)=>_0x137ae1+_0x4561da['commandCount'],0x0),'services':_0x4dcd03};}catch(_0x21e135){return{...emptyServiceRegistryInspection(_0x221ab4,_0x1faa56(0xe9),!![]),'message':_0x21e135 instanceof Error?_0x21e135[_0x1faa56(0xe3)]:String(_0x21e135)};}}export function formatValidationFailure(_0x212974){const _0x4d69c9=a34_0x154a,_0x53f21c=_0x212974[_0x4d69c9(0xd5)][_0x4d69c9(0xd7)](_0x59049b=>_0x59049b[_0x4d69c9(0xed)]+':\x20'+_0x59049b[_0x4d69c9(0xe3)]);return _0x4d69c9(0xd0)+_0x53f21c['join']('\x0a');}function extractLoadedServiceManifests(_0x2cc523,_0x518604){const _0x332019=a34_0x154a;if(!isServiceRegistryLike(_0x2cc523)){const _0x2c4211=_0x2cc523,_0x2fe60=validateServiceTreeManifest(_0x2c4211);return[{'manifest':_0x2c4211,'report':_0x2fe60,'normalizedManifest':_0x2fe60['ok']?normalizeServiceTreeManifest(_0x2c4211):undefined,'sourceHash':_0x518604}];}return _0x2cc523[_0x332019(0xbe)][_0x332019(0xd7)]((_0x4f6760,_0x21ebba)=>{const _0x2096b2=_0x332019,_0x21c488=isObjectRecord(_0x4f6760)?_0x4f6760['manifest']:undefined,_0x2fee53=validateServiceTreeManifest(_0x21c488),_0x1a63a8=isObjectRecord(_0x4f6760)&&typeof _0x4f6760[_0x2096b2(0xc6)]==='string'?_0x4f6760[_0x2096b2(0xc6)]:undefined;return{'manifest':_0x21c488,'report':_0x2fee53,'normalizedManifest':_0x2fee53['ok']?normalizeServiceTreeManifest(_0x21c488):undefined,'sourceHash':sha256(JSON[_0x2096b2(0xce)](_0x21c488,null,0x2)+'\x0a'),'registryIndex':_0x21ebba,'registryServiceCode':_0x1a63a8};});}function aggregateValidationReports(_0x554eef){const _0xa52f2c=a34_0x154a,_0xdb223c=_0x554eef['flatMap'](_0x365861=>_0x365861[_0xa52f2c(0xe4)]===undefined?_0x365861[_0xa52f2c(0xec)][_0xa52f2c(0xd5)]:_0x365861[_0xa52f2c(0xec)][_0xa52f2c(0xd5)][_0xa52f2c(0xd7)](_0x3726f5=>({..._0x3726f5,'path':prefixRegistryIssuePath(_0x365861[_0xa52f2c(0xe4)],_0x3726f5[_0xa52f2c(0xed)])}))),_0x29652c=_0x554eef[_0xa52f2c(0x100)](_0x37a282=>_0x37a282[_0xa52f2c(0xe4)]===undefined?_0x37a282['report'][_0xa52f2c(0xe6)]:_0x37a282[_0xa52f2c(0xec)][_0xa52f2c(0xe6)]['map'](_0xf7a445=>({..._0xf7a445,'path':prefixRegistryIssuePath(_0x37a282[_0xa52f2c(0xe4)],_0xf7a445[_0xa52f2c(0xed)])})));return{'ok':_0xdb223c['length']===0x0,'errors':_0xdb223c,'warnings':_0x29652c};}function prefixRegistryIssuePath(_0x131ddc,_0x2a1752){const _0x37a36e=a34_0x154a;if(_0x2a1752==='$')return _0x37a36e(0xf3)+_0x131ddc+_0x37a36e(0xda);if(_0x2a1752[_0x37a36e(0xdd)]('$.'))return _0x37a36e(0xf3)+_0x131ddc+_0x37a36e(0xda)+_0x2a1752[_0x37a36e(0xd1)](0x1);if(_0x2a1752['startsWith']('$['))return _0x37a36e(0xf3)+_0x131ddc+_0x37a36e(0xda)+_0x2a1752[_0x37a36e(0xd1)](0x1);return _0x37a36e(0xf3)+_0x131ddc+_0x37a36e(0xfe)+_0x2a1752;}function a34_0x771b(){const _0x5f2051=['push','216583IJQUBu','utf8','$.services[','manifests','manifest','schemaVersion','registry','3366526UqCXec','empty','service','commands','updatedAt','toISOString','].manifest.','parse','flatMap','homeDirName','validation','CliError','4luQcqa','Service\x20manifest\x20file\x20not\x20found:\x20','sha256','missing','localeCompare','6zGPXos','1112808BeerFh','find','name','command','services','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','length','3854333nTacrF','normalizedManifest','25142814ZIAgME','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','trim','serviceCode','file','Remove\x20or\x20migrate\x20','Local\x20service\x20not\x20found:\x20','target','filePath','description','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','stringify','source','Service\x20manifest\x20validation\x20failed:\x0a','slice','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','object','cliPath','errors','sourceHash','map','Unsupported\x20service\x20registry\x20schemaVersion:\x20','4883484vwWhhU','].manifest','services\x20must\x20be\x20an\x20array','isArray','startsWith','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','findIndex','now','splice','homeDir','message','registryIndex','2293055cMFFDY','warnings','version','update','invalid','Invalid\x20service\x20manifest\x20JSON:\x20','.tmp','report','path','hex','code'];a34_0x771b=function(){return _0x5f2051;};return a34_0x771b();}function isServiceRegistryLike(_0xe498ec){const _0x50fb99=a34_0x154a;return isObjectRecord(_0xe498ec)&&_0xe498ec[_0x50fb99(0xf6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0xe498ec[_0x50fb99(0xbe)]);}function isObjectRecord(_0x2e50e3){const _0x293f5f=a34_0x154a;return Boolean(_0x2e50e3)&&typeof _0x2e50e3===_0x293f5f(0xd3)&&!Array['isArray'](_0x2e50e3);}function emptyServiceRegistryInspection(_0xebf479,_0x43c563,_0x58f229){return{'registryPath':_0xebf479,'exists':_0x58f229,'status':_0x43c563,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x43998f){const _0x4937c4=a34_0x154a,_0x3d6434=_0x43998f['normalizedManifest'],_0x51afdd=_0x3d6434[_0x4937c4(0xfb)]['map'](_0x7c4be=>({'path':_0x7c4be[_0x4937c4(0xd4)],'description':_0x7c4be['description'],'risk':_0x7c4be['risk'],'targetKind':_0x7c4be[_0x4937c4(0xca)]['kind'],'targetCommand':_0x7c4be['target'][_0x4937c4(0xbd)]}));return{'serviceCode':_0x43998f['serviceCode'],'name':_0x3d6434['service'][_0x4937c4(0xbc)],'description':_0x3d6434[_0x4937c4(0xfa)][_0x4937c4(0xcc)],'version':_0x43998f[_0x4937c4(0xe7)],'importedAt':_0x43998f['importedAt'],'source':_0x43998f[_0x4937c4(0xcf)],'commandCount':_0x51afdd[_0x4937c4(0xc0)],'commands':_0x51afdd};}function sha256(_0x318ba5){const _0x529d04=a34_0x154a;return createHash(_0x529d04(0x106))[_0x529d04(0xe8)](_0x318ba5)['digest'](_0x529d04(0xee));}
1
+ const a34_0x1fae47=a34_0x433a;(function(_0x28591b,_0x425ea5){const _0x6e696=a34_0x433a,_0x5822e8=_0x28591b();while(!![]){try{const _0x2f9a9b=parseInt(_0x6e696(0x1e4))/0x1+-parseInt(_0x6e696(0x1e2))/0x2+parseInt(_0x6e696(0x1a0))/0x3+-parseInt(_0x6e696(0x1be))/0x4*(-parseInt(_0x6e696(0x1d8))/0x5)+parseInt(_0x6e696(0x1ac))/0x6+-parseInt(_0x6e696(0x1c2))/0x7+-parseInt(_0x6e696(0x19f))/0x8*(parseInt(_0x6e696(0x1cb))/0x9);if(_0x2f9a9b===_0x425ea5)break;else _0x5822e8['push'](_0x5822e8['shift']());}catch(_0x15d5c0){_0x5822e8['push'](_0x5822e8['shift']());}}}(a34_0xa907,0xe705a));function a34_0x433a(_0x52eaff,_0x1c9581){_0x52eaff=_0x52eaff-0x19a;const _0xa907c3=a34_0xa907();let _0x433abd=_0xa907c3[_0x52eaff];return _0x433abd;}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x1fae47(0x1c5);export function getServiceRegistryPath(_0x24a88c={}){const _0x1e75b8=a34_0x1fae47;return resolve(_0x24a88c['homeDir']??homedir(),PRODUCT_CONFIG[_0x1e75b8(0x1ce)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x19e4ea={}){const _0x1fed7f=a34_0x1fae47,_0x1269bb=getServiceRegistryPath(_0x19e4ea);if(!existsSync(_0x1269bb))return emptyServiceRegistry();try{const _0x351cad=readFileSync(_0x1269bb,'utf8');if(!_0x351cad[_0x1fed7f(0x19c)]())return emptyServiceRegistry();const _0x3d7191=JSON[_0x1fed7f(0x1e3)](_0x351cad);if(_0x3d7191[_0x1fed7f(0x1d6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x1fed7f(0x19a)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x3d7191[_0x1fed7f(0x1d6)]),_0x1fed7f(0x1b5)+_0x1269bb+'.');if(!Array[_0x1fed7f(0x1d4)](_0x3d7191[_0x1fed7f(0x1db)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3d7191[_0x1fed7f(0x1a5)],'services':_0x3d7191[_0x1fed7f(0x1db)]};}catch(_0xe55a95){if(_0xe55a95 instanceof Error&&_0xe55a95[_0x1fed7f(0x1c1)]===_0x1fed7f(0x1ab))throw _0xe55a95;throw CliErrors[_0x1fed7f(0x19a)](_0x1fed7f(0x1bf)+_0x1269bb,_0x1fed7f(0x1aa));}}export function writeServiceRegistry(_0x1a4f22,_0x528d9c={}){const _0x128978=a34_0x1fae47,_0x29d2a4=getServiceRegistryPath(_0x528d9c),_0x56a14f=dirname(_0x29d2a4);!existsSync(_0x56a14f)&&mkdirSync(_0x56a14f,{'recursive':!![]});const _0x488d91=_0x29d2a4+_0x128978(0x1a7);try{writeFileSync(_0x488d91,JSON['stringify'](_0x1a4f22,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x488d91,_0x29d2a4);}catch(_0x4868db){try{unlinkSync(_0x488d91);}catch{}if(_0x4868db?.[_0x128978(0x1d0)]===_0x128978(0x1ea))throw CliErrors[_0x128978(0x19a)](_0x128978(0x19d)+_0x29d2a4);throw _0x4868db;}return _0x29d2a4;}export function loadServiceManifestFromFile(_0x2448d5){const _0x210266=a34_0x1fae47,_0xe1bd99=resolve(_0x2448d5);if(!existsSync(_0xe1bd99))throw CliErrors['validation'](_0x210266(0x1c9)+_0x2448d5);let _0x434323;const _0x7bf315=readFileSync(_0xe1bd99,_0x210266(0x1a9));try{_0x434323=JSON[_0x210266(0x1e3)](_0x7bf315);}catch{throw CliErrors[_0x210266(0x19a)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x2448d5,_0x210266(0x1a1));}const _0x33bee8=sha256(_0x7bf315),_0x57bda2=extractLoadedServiceManifests(_0x434323,_0x33bee8),_0xf222e2=aggregateValidationReports(_0x57bda2),_0x108e09=_0x57bda2[0x0];return{'filePath':_0xe1bd99,'hash':_0x33bee8,'kind':isServiceRegistryLike(_0x434323)?'registry':_0x210266(0x1d5),'manifest':_0x108e09?.[_0x210266(0x1d5)]??_0x434323,'report':_0xf222e2,'normalizedManifest':_0x57bda2['length']===0x1?_0x108e09?.[_0x210266(0x1b7)]:undefined,'manifests':_0x57bda2};}export function importServiceManifest(_0x5dbc2e,_0x3d50e6={}){const _0xe4b441=a34_0x1fae47,_0xe30654=loadServiceManifestFromFile(_0x5dbc2e);if(!_0xe30654[_0xe4b441(0x1dd)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0xe30654[_0xe4b441(0x1dd)]),_0xe4b441(0x19e));if(_0xe30654[_0xe4b441(0x1cd)][_0xe4b441(0x1e5)]===0x0)throw CliErrors[_0xe4b441(0x19a)](_0xe4b441(0x1e7),_0xe4b441(0x1d2));const _0x47581b=readServiceRegistry(_0x3d50e6),_0x2bc595=(_0x3d50e6[_0xe4b441(0x1da)]??(()=>new Date()))()[_0xe4b441(0x1e6)](),_0xaff90b=[];let _0x3b4c69=0x0,_0x407016=0x0;for(const _0x5c7b6b of _0xe30654[_0xe4b441(0x1cd)]){if(!_0x5c7b6b[_0xe4b441(0x1b7)])continue;const _0x3f6143=_0x5c7b6b[_0xe4b441(0x1b7)][_0xe4b441(0x1b6)]['code'],_0x4ddfea={'serviceCode':_0x3f6143,'version':_0x5c7b6b[_0xe4b441(0x1b7)][_0xe4b441(0x1d1)],'importedAt':_0x2bc595,'source':{'type':_0xe4b441(0x1b2),'path':_0xe30654[_0xe4b441(0x1af)],'hash':_0x5c7b6b['sourceHash']},'manifest':_0x5c7b6b[_0xe4b441(0x1d5)],'normalizedManifest':_0x5c7b6b[_0xe4b441(0x1b7)]},_0x55fe65=_0x47581b[_0xe4b441(0x1db)][_0xe4b441(0x1ad)](_0x532438=>_0x532438[_0xe4b441(0x1de)]===_0x3f6143);_0x55fe65>=0x0?(_0x47581b[_0xe4b441(0x1db)][_0x55fe65]=_0x4ddfea,_0x407016++):(_0x47581b['services']['push'](_0x4ddfea),_0x3b4c69++),_0xaff90b['push'](_0x4ddfea);}_0x47581b[_0xe4b441(0x1db)][_0xe4b441(0x1bc)]((_0x59282d,_0xb4c013)=>_0x59282d[_0xe4b441(0x1de)]['localeCompare'](_0xb4c013[_0xe4b441(0x1de)])),_0x47581b[_0xe4b441(0x1a5)]=_0x2bc595;const _0x16cb33=writeServiceRegistry(_0x47581b,_0x3d50e6);return{'registryPath':_0x16cb33,'entry':_0xaff90b[0x0],'replaced':_0xaff90b[_0xe4b441(0x1e5)]===0x1?_0x407016===0x1:_0x407016>0x0,'entries':_0xaff90b,'imported':_0x3b4c69,'updated':_0x407016,'serviceCount':_0x47581b['services'][_0xe4b441(0x1e5)]};}export function exportServiceManifest(_0x1891c8,_0x9050f,_0x3ddc24={}){const _0x35635d=a34_0x1fae47,_0x1b1f6f=getServiceRegistryPath(_0x3ddc24),_0x4010b0=getLocalServiceEntry(_0x1891c8,_0x3ddc24);if(!_0x4010b0)throw CliErrors[_0x35635d(0x19a)](_0x35635d(0x1a2)+_0x1891c8,_0x35635d(0x1df));const _0x32bd07=resolve(_0x9050f),_0x26561c=dirname(_0x32bd07);return!existsSync(_0x26561c)&&mkdirSync(_0x26561c,{'recursive':!![]}),writeFileSync(_0x32bd07,JSON[_0x35635d(0x1eb)](_0x4010b0[_0x35635d(0x1d5)],null,0x2)+'\x0a',{'encoding':_0x35635d(0x1a9),'mode':0x180}),{'registryPath':_0x1b1f6f,'filePath':_0x32bd07,'entry':_0x4010b0};}export function removeServiceManifest(_0x4fbf91,_0x3c5cad={}){const _0x19577d=a34_0x1fae47,_0x5a8ed0=readServiceRegistry(_0x3c5cad),_0x304297=_0x4fbf91[_0x19577d(0x19c)](),_0x538e2b=_0x5a8ed0[_0x19577d(0x1db)][_0x19577d(0x1ad)](_0x37fa19=>_0x37fa19['serviceCode']===_0x304297);if(_0x538e2b<0x0)throw CliErrors[_0x19577d(0x19a)](_0x19577d(0x1a2)+_0x304297,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x3870ad]=_0x5a8ed0[_0x19577d(0x1db)][_0x19577d(0x1e9)](_0x538e2b,0x1),_0xf43a01=(_0x3c5cad[_0x19577d(0x1da)]??(()=>new Date()))()[_0x19577d(0x1e6)]();_0x5a8ed0[_0x19577d(0x1a5)]=_0xf43a01;const _0x2842e1=writeServiceRegistry(_0x5a8ed0,_0x3c5cad);return{'registryPath':_0x2842e1,'entry':_0x3870ad,'serviceCount':_0x5a8ed0[_0x19577d(0x1db)][_0x19577d(0x1e5)]};}export function listLocalServices(_0x4a03b9={}){const _0x5a4894=a34_0x1fae47;return readServiceRegistry(_0x4a03b9)[_0x5a4894(0x1db)];}export function getLocalServiceEntry(_0x3bdffe,_0x48fb8a={}){const _0x41d253=a34_0x1fae47;return readServiceRegistry(_0x48fb8a)[_0x41d253(0x1db)]['find'](_0x260e88=>_0x260e88[_0x41d253(0x1de)]===_0x3bdffe[_0x41d253(0x19c)]());}function a34_0xa907(){const _0x2bcd44=['message','$.services[','updatedAt','Unsupported\x20schemaVersion:\x20','.tmp','sha256','utf8','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','CliError','111552hfBiDt','findIndex','].manifest','filePath','update','warnings','file','source','description','Remove\x20or\x20migrate\x20','service','normalizedManifest','string','importedAt','map','target','sort','flatMap','28180xvuyIc','Invalid\x20service\x20registry\x20JSON:\x20','risk','name','3114692gVPwWo','command','commands','service.json','invalid','join','kind','Service\x20manifest\x20file\x20not\x20found:\x20','registryIndex','9024471CoipQZ','services\x20must\x20be\x20an\x20array','manifests','homeDirName','errors','code','version','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','hex','isArray','manifest','schemaVersion','Service\x20manifest\x20validation\x20failed:\x0a','290vfpqwj','startsWith','now','services','].manifest.','report','serviceCode','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','path','cliPath','358176Jmyhpa','parse','1771691gtoflU','length','toISOString','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','empty','splice','ENOENT','stringify','validation','slice','trim','Cannot\x20write\x20service\x20registry:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','8sFCjST','1122408RguDOy','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Local\x20service\x20not\x20found:\x20'];a34_0xa907=function(){return _0x2bcd44;};return a34_0xa907();}export function listLocalServiceTrees(_0x4e6b97={}){const _0x2992db=a34_0x1fae47;return readServiceRegistry(_0x4e6b97)['services'][_0x2992db(0x1ba)](_0x108407=>_0x108407['normalizedManifest']);}export function inspectServiceRegistry(_0x5eb2a3={}){const _0x531855=a34_0x1fae47,_0x1d3d94=getServiceRegistryPath(_0x5eb2a3);if(!existsSync(_0x1d3d94))return emptyServiceRegistryInspection(_0x1d3d94,'missing',![]);try{const _0x116658=readFileSync(_0x1d3d94,_0x531855(0x1a9));if(!_0x116658[_0x531855(0x19c)]())return emptyServiceRegistryInspection(_0x1d3d94,_0x531855(0x1e8),!![]);const _0x5a02fc=JSON[_0x531855(0x1e3)](_0x116658);if(_0x5a02fc['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1d3d94,_0x531855(0x1c6),!![]),'schemaVersion':_0x5a02fc[_0x531855(0x1d6)],'message':_0x531855(0x1a6)+String(_0x5a02fc[_0x531855(0x1d6)])};if(!Array[_0x531855(0x1d4)](_0x5a02fc['services']))return{...emptyServiceRegistryInspection(_0x1d3d94,_0x531855(0x1c6),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5a02fc['updatedAt'],'message':_0x531855(0x1cc)};const _0x5d3939=_0x5a02fc[_0x531855(0x1db)][_0x531855(0x1ba)](summarizeLocalServiceEntry);return{'registryPath':_0x1d3d94,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5a02fc[_0x531855(0x1a5)],'serviceCount':_0x5d3939[_0x531855(0x1e5)],'commandCount':_0x5d3939['reduce']((_0x1e4fcd,_0x4d47dd)=>_0x1e4fcd+_0x4d47dd['commandCount'],0x0),'services':_0x5d3939};}catch(_0x1da14f){return{...emptyServiceRegistryInspection(_0x1d3d94,_0x531855(0x1c6),!![]),'message':_0x1da14f instanceof Error?_0x1da14f[_0x531855(0x1a3)]:String(_0x1da14f)};}}export function formatValidationFailure(_0x13e869){const _0x463a69=a34_0x1fae47,_0x1e6f83=_0x13e869[_0x463a69(0x1cf)][_0x463a69(0x1ba)](_0x1b37d5=>_0x1b37d5[_0x463a69(0x1e0)]+':\x20'+_0x1b37d5[_0x463a69(0x1a3)]);return _0x463a69(0x1d7)+_0x1e6f83[_0x463a69(0x1c7)]('\x0a');}function extractLoadedServiceManifests(_0x37154f,_0x5ac37d){const _0x4424a5=a34_0x1fae47;if(!isServiceRegistryLike(_0x37154f)){const _0x401d26=_0x37154f,_0x4023a7=validateServiceTreeManifest(_0x401d26);return[{'manifest':_0x401d26,'report':_0x4023a7,'normalizedManifest':_0x4023a7['ok']?normalizeServiceTreeManifest(_0x401d26):undefined,'sourceHash':_0x5ac37d}];}return _0x37154f['services'][_0x4424a5(0x1ba)]((_0x273b49,_0x39cc33)=>{const _0x4b7651=_0x4424a5,_0x557bc1=isObjectRecord(_0x273b49)?_0x273b49['manifest']:undefined,_0x137698=validateServiceTreeManifest(_0x557bc1),_0x1535fc=isObjectRecord(_0x273b49)&&typeof _0x273b49['serviceCode']===_0x4b7651(0x1b8)?_0x273b49[_0x4b7651(0x1de)]:undefined;return{'manifest':_0x557bc1,'report':_0x137698,'normalizedManifest':_0x137698['ok']?normalizeServiceTreeManifest(_0x557bc1):undefined,'sourceHash':sha256(JSON[_0x4b7651(0x1eb)](_0x557bc1,null,0x2)+'\x0a'),'registryIndex':_0x39cc33,'registryServiceCode':_0x1535fc};});}function aggregateValidationReports(_0x2c1885){const _0x3316ae=a34_0x1fae47,_0x585e9f=_0x2c1885[_0x3316ae(0x1bd)](_0x3a43ed=>_0x3a43ed[_0x3316ae(0x1ca)]===undefined?_0x3a43ed[_0x3316ae(0x1dd)][_0x3316ae(0x1cf)]:_0x3a43ed[_0x3316ae(0x1dd)][_0x3316ae(0x1cf)][_0x3316ae(0x1ba)](_0x29959e=>({..._0x29959e,'path':prefixRegistryIssuePath(_0x3a43ed['registryIndex'],_0x29959e[_0x3316ae(0x1e0)])}))),_0x618f21=_0x2c1885[_0x3316ae(0x1bd)](_0x1d24b6=>_0x1d24b6['registryIndex']===undefined?_0x1d24b6[_0x3316ae(0x1dd)]['warnings']:_0x1d24b6[_0x3316ae(0x1dd)][_0x3316ae(0x1b1)][_0x3316ae(0x1ba)](_0x4af1aa=>({..._0x4af1aa,'path':prefixRegistryIssuePath(_0x1d24b6[_0x3316ae(0x1ca)],_0x4af1aa[_0x3316ae(0x1e0)])})));return{'ok':_0x585e9f[_0x3316ae(0x1e5)]===0x0,'errors':_0x585e9f,'warnings':_0x618f21};}function prefixRegistryIssuePath(_0x2a15fc,_0x421c03){const _0x371d1c=a34_0x1fae47;if(_0x421c03==='$')return _0x371d1c(0x1a4)+_0x2a15fc+_0x371d1c(0x1ae);if(_0x421c03[_0x371d1c(0x1d9)]('$.'))return _0x371d1c(0x1a4)+_0x2a15fc+'].manifest'+_0x421c03[_0x371d1c(0x19b)](0x1);if(_0x421c03['startsWith']('$['))return'$.services['+_0x2a15fc+_0x371d1c(0x1ae)+_0x421c03[_0x371d1c(0x19b)](0x1);return _0x371d1c(0x1a4)+_0x2a15fc+_0x371d1c(0x1dc)+_0x421c03;}function isServiceRegistryLike(_0x187d39){const _0x22074e=a34_0x1fae47;return isObjectRecord(_0x187d39)&&_0x187d39['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x22074e(0x1d4)](_0x187d39[_0x22074e(0x1db)]);}function isObjectRecord(_0x2f8fa2){const _0x3cdd9e=a34_0x1fae47;return Boolean(_0x2f8fa2)&&typeof _0x2f8fa2==='object'&&!Array[_0x3cdd9e(0x1d4)](_0x2f8fa2);}function emptyServiceRegistryInspection(_0x8b21da,_0x2f4009,_0x5041dd){return{'registryPath':_0x8b21da,'exists':_0x5041dd,'status':_0x2f4009,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4bf53e){const _0x3f88cc=a34_0x1fae47,_0x5e16e6=_0x4bf53e[_0x3f88cc(0x1b7)],_0x3d7287=_0x5e16e6[_0x3f88cc(0x1c4)][_0x3f88cc(0x1ba)](_0x4f884b=>({'path':_0x4f884b[_0x3f88cc(0x1e1)],'description':_0x4f884b[_0x3f88cc(0x1b4)],'risk':_0x4f884b[_0x3f88cc(0x1c0)],'targetKind':_0x4f884b[_0x3f88cc(0x1bb)][_0x3f88cc(0x1c8)],'targetCommand':_0x4f884b[_0x3f88cc(0x1bb)][_0x3f88cc(0x1c3)]}));return{'serviceCode':_0x4bf53e[_0x3f88cc(0x1de)],'name':_0x5e16e6[_0x3f88cc(0x1b6)][_0x3f88cc(0x1c1)],'description':_0x5e16e6[_0x3f88cc(0x1b6)][_0x3f88cc(0x1b4)],'version':_0x4bf53e[_0x3f88cc(0x1d1)],'importedAt':_0x4bf53e[_0x3f88cc(0x1b9)],'source':_0x4bf53e[_0x3f88cc(0x1b3)],'commandCount':_0x3d7287[_0x3f88cc(0x1e5)],'commands':_0x3d7287};}function sha256(_0x3e7935){const _0x2155c2=a34_0x1fae47;return createHash(_0x2155c2(0x1a8))[_0x2155c2(0x1b0)](_0x3e7935)['digest'](_0x2155c2(0x1d3));}
@@ -1 +1 @@
1
- const a35_0x3ad629=a35_0x49a2;(function(_0x93fae3,_0x57e00e){const _0x3a3e61=a35_0x49a2,_0x42fce0=_0x93fae3();while(!![]){try{const _0x2481ae=-parseInt(_0x3a3e61(0x135))/0x1+parseInt(_0x3a3e61(0x109))/0x2*(-parseInt(_0x3a3e61(0x128))/0x3)+parseInt(_0x3a3e61(0x11e))/0x4*(-parseInt(_0x3a3e61(0x137))/0x5)+-parseInt(_0x3a3e61(0x138))/0x6*(parseInt(_0x3a3e61(0xd3))/0x7)+parseInt(_0x3a3e61(0xf7))/0x8+parseInt(_0x3a3e61(0xe3))/0x9+-parseInt(_0x3a3e61(0x120))/0xa*(-parseInt(_0x3a3e61(0xe7))/0xb);if(_0x2481ae===_0x57e00e)break;else _0x42fce0['push'](_0x42fce0['shift']());}catch(_0x110fe2){_0x42fce0['push'](_0x42fce0['shift']());}}}(a35_0x58c0,0xeda2e));function a35_0x58c0(){const _0x412e9c=['strict','envName','filter','dir','skillCode','map','content','tags','str','2134bhNawk','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','Pulled\x20','Unsupported\x20Skill\x20list\x20scope:\x20','installToAgent','\x20personal\x20and\x20','version','Pull\x20runtime\x20Skills\x20into\x20the\x20local\x20development\x20cache','boolean','\x20local\x20Skill(s).','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','object','skillDir','remote','unchanged','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','force','trim','../../core/api-client.js','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','user','4904ozWHmd','path','40TKNOTu','Listed\x20','all','create','Skill\x20template\x20type','target','type','linkedPaths','597MorbHG','isArray','SKILL.md','removed','effective','skill','appCode','\x20company\x20Skill(s).','skillName','local','updated','warnings','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','22092WBNJze','name','6910uGkrBl','24DksaIK','Local\x20Skill\x20directory\x20containing\x20SKILL.md','read','\x20remote\x20Skill(s).','production','Updated\x20personal\x20Skill\x20','791PqACGE','write','ossPath','pulledAt','builtin','personal','skillMdPath','string','rendered','pull','code','scope','Unsupported\x20Skill\x20pull\x20scope:\x20','public','Created\x20local\x20Skill\x20draft\x20','length','10151874EqqzMT','files','company','treeHash','1680162uFWAcJ','readonly','Skill\x20validation\x20passed.','Skill\x20list\x20scope:\x20user,\x20personal,\x20company,\x20public,\x20or\x20all','bool','install','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','reduce','metadataPath','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','input','action','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','9308904oulobP','accessKey','some','isSymbolicLink','push','validation','authRequired','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','../../skills/runtime-skill-sync.js'];a35_0x58c0=function(){return _0x412e9c;};return a35_0x58c0();}import{CliErrors}from'../../errors.js';import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';function a35_0x49a2(_0x37438f,_0x2b3ab7){_0x37438f=_0x37438f-0xce;const _0x58c071=a35_0x58c0();let _0x49a2d0=_0x58c071[_0x37438f];return _0x49a2d0;}const CODE_FLAG={'name':a35_0x3ad629(0xdd),'type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'},SCOPE_FLAG={'name':a35_0x3ad629(0xde),'type':a35_0x3ad629(0xda),'description':'Skill\x20pull\x20scope:\x20user\x20(personal/company)'},LIST_SCOPE_FLAG={'name':'scope','type':a35_0x3ad629(0xda),'description':a35_0x3ad629(0xea),'enum':[a35_0x3ad629(0x11d),a35_0x3ad629(0xd8),a35_0x3ad629(0xe5),a35_0x3ad629(0xe0),a35_0x3ad629(0x122)]},LOCAL_FLAG={'name':a35_0x3ad629(0x131),'type':a35_0x3ad629(0x111),'description':a35_0x3ad629(0x113)},DIR_FLAG={'name':'dir','type':a35_0x3ad629(0xda),'required':!![],'description':a35_0x3ad629(0xce)},CREATE_NAME_FLAG={'name':a35_0x3ad629(0x136),'type':a35_0x3ad629(0xda),'required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a35_0x3ad629(0xf6)}},TYPE_FLAG={'name':a35_0x3ad629(0x126),'type':'string','description':a35_0x3ad629(0x124),'default':a35_0x3ad629(0xd4),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a35_0x3ad629(0x125),'type':a35_0x3ad629(0xda),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':'force','type':a35_0x3ad629(0x111),'description':a35_0x3ad629(0xed)},STRICT_FLAG={'name':a35_0x3ad629(0x100),'type':'boolean','description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};function summarizeRuntimeSkill(_0x5ad709){const _0x1577bd=a35_0x3ad629;return{'id':_0x5ad709['id'],'skillCode':_0x5ad709[_0x1577bd(0x104)],'skillName':_0x5ad709[_0x1577bd(0x130)],'scope':_0x5ad709[_0x1577bd(0xde)],'version':_0x5ad709[_0x1577bd(0x10f)],'readonly':_0x5ad709[_0x1577bd(0xe8)]};}function summarizeLocalRuntimeSkill(_0x8754b2){const _0x1f3c36=a35_0x3ad629;return{'id':_0x8754b2['id'],'skillCode':_0x8754b2['skillCode'],'skillName':_0x8754b2['skillName'],'scope':_0x8754b2[_0x1f3c36(0xde)],'appCode':_0x8754b2[_0x1f3c36(0x12e)],'version':_0x8754b2['version'],'status':_0x8754b2['status'],'readonly':_0x8754b2[_0x1f3c36(0xe8)],'tags':_0x8754b2[_0x1f3c36(0x107)],'dir':_0x8754b2[_0x1f3c36(0x103)],'cacheDir':_0x8754b2['cacheDir'],'skillMdPath':_0x8754b2[_0x1f3c36(0xd9)],'metadataPath':_0x8754b2[_0x1f3c36(0xef)],'linkedPaths':_0x8754b2[_0x1f3c36(0x127)],'contentHash':_0x8754b2['contentHash'],'treeHash':_0x8754b2[_0x1f3c36(0xe6)],'pulledAt':_0x8754b2[_0x1f3c36(0xd6)]};}export const skillDefinitions=[{'service':a35_0x3ad629(0x12d),'command':a35_0x3ad629(0xec),'description':a35_0x3ad629(0x11c),'risk':a35_0x3ad629(0xd4),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x365f15){return syncRuntimeSkills(_0x365f15,{'installToAgent':!![]});}},{'service':a35_0x3ad629(0x12d),'command':a35_0x3ad629(0x123),'description':a35_0x3ad629(0xf4),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x48e80d){const _0xe49e57=a35_0x3ad629,_0x15817b=buildSkillCreatePlan(_0x48e80d['str'](_0xe49e57(0x136)),_0x48e80d[_0xe49e57(0x108)]('type'),_0x48e80d[_0xe49e57(0x108)]('target'));return{'method':'WRITE','url':_0x15817b[_0xe49e57(0x115)],'body':{'skillName':_0x15817b[_0xe49e57(0xdb)]['skillName'],'type':_0x15817b[_0xe49e57(0xdb)][_0xe49e57(0x126)],'selfContained':!![],'files':_0x15817b[_0xe49e57(0xdb)][_0xe49e57(0xe4)][_0xe49e57(0x105)](_0x1f2321=>_0x1f2321['path'])},'description':_0xe49e57(0xfe)};},async 'execute'(_0x415306){const _0x4fe3e8=a35_0x3ad629,_0x59d640=buildSkillCreatePlan(_0x415306[_0x4fe3e8(0x108)](_0x4fe3e8(0x136)),_0x415306[_0x4fe3e8(0x108)](_0x4fe3e8(0x126)),_0x415306['str'](_0x4fe3e8(0x125)));return writeSkillDraft(_0x59d640,_0x415306[_0x4fe3e8(0xeb)](_0x4fe3e8(0x119))),{'ok':!![],'data':{'skillName':_0x59d640[_0x4fe3e8(0xdb)]['skillName'],'type':_0x59d640[_0x4fe3e8(0xdb)][_0x4fe3e8(0x126)],'dir':_0x59d640[_0x4fe3e8(0x115)],'files':_0x59d640['rendered'][_0x4fe3e8(0xe4)][_0x4fe3e8(0x105)](_0x5da1cf=>_0x5da1cf['path'])},'message':_0x4fe3e8(0xe1)+_0x59d640[_0x4fe3e8(0xdb)]['skillName']};}},{'service':a35_0x3ad629(0x12d),'command':'validate','description':a35_0x3ad629(0x118),'risk':a35_0x3ad629(0xcf),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x525364){const _0x54da6c=a35_0x3ad629,_0x5c8cfc=_0x525364[_0x54da6c(0xeb)](_0x54da6c(0x100)),_0xc311ea=validateSkillDirectory(_0x525364['str'](_0x54da6c(0x103)),{'strict':_0x5c8cfc});return throwIfSkillValidationFailed(_0xc311ea,_0x5c8cfc),{'ok':!![],'data':{'dir':_0xc311ea[_0x54da6c(0x103)],'type':_0xc311ea[_0x54da6c(0x126)],'errors':_0xc311ea['errors'],'warnings':_0xc311ea[_0x54da6c(0x133)]},'message':_0x54da6c(0xe9)};}},{'service':a35_0x3ad629(0x12d),'command':'list','description':a35_0x3ad629(0xf0),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x4c0152){const _0x2007c2=a35_0x3ad629,_0x11e2e6=_0x4c0152[_0x2007c2(0x108)]('code'),_0x503e67=normalizeListScope(_0x4c0152[_0x2007c2(0x108)](_0x2007c2(0xde)));if(_0x4c0152[_0x2007c2(0xeb)]('local')){const _0x293e23=_0x4c0152[_0x2007c2(0xf8)];if(!_0x293e23)throw CliErrors[_0x2007c2(0xfd)]();const _0x29a712=_0x503e67===_0x2007c2(0xe0)?[]:await((async()=>{const _0x1028bf=_0x2007c2,{listLocalRuntimeSkills:_0x3acc48}=await import(_0x1028bf(0xff));return _0x3acc48({'env':_0x4c0152['envName']??_0x1028bf(0xd1),'accessKey':_0x293e23,'appCode':_0x4c0152['appCode'],'scopes':listScopeToRuntimeScopes(_0x503e67),'code':_0x11e2e6[_0x1028bf(0x11a)]()||undefined});})()),_0x2430a4=groupLocalRuntimeSkills(_0x29a712);return{'ok':!![],'data':{'appCode':_0x4c0152[_0x2007c2(0x12e)],'source':'local','scope':_0x503e67,'total':_0x29a712[_0x2007c2(0xe2)],'personal':_0x2430a4[_0x2007c2(0xd8)][_0x2007c2(0xe2)],'company':_0x2430a4[_0x2007c2(0xe5)][_0x2007c2(0xe2)],'public':0x0,'items':_0x29a712['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x2430a4[_0x2007c2(0xd8)][_0x2007c2(0x105)](summarizeLocalRuntimeSkill),'company':_0x2430a4[_0x2007c2(0xe5)][_0x2007c2(0x105)](summarizeLocalRuntimeSkill),'public':[]}},'message':_0x2007c2(0x121)+_0x29a712['length']+_0x2007c2(0x112)};}const {listRuntimeSkills:_0x520369}=await import('../../core/api-client.js'),_0x33cc9a=await _0x520369({'appCode':_0x4c0152[_0x2007c2(0x12e)],'scope':listScopeToRemoteScope(_0x503e67),'code':_0x11e2e6['trim']()||undefined}),_0x121215=shouldListScope(_0x503e67,_0x2007c2(0xd8))?_0x33cc9a[_0x2007c2(0xd8)]:[],_0xf07fbb=shouldListScope(_0x503e67,_0x2007c2(0xe5))?_0x33cc9a[_0x2007c2(0xe5)]:[],_0x369ae8=shouldListScope(_0x503e67,'public')?_0x33cc9a[_0x2007c2(0xe0)]:[],_0x8ae05a=_0x503e67===_0x2007c2(0x11d)?_0x33cc9a[_0x2007c2(0x12c)]:[..._0x121215,..._0xf07fbb,..._0x369ae8];return{'ok':!![],'data':{'appCode':_0x4c0152[_0x2007c2(0x12e)],'source':_0x2007c2(0x116),'scope':_0x503e67,'total':_0x8ae05a['length'],'personal':_0x121215['length'],'company':_0xf07fbb[_0x2007c2(0xe2)],'public':_0x369ae8[_0x2007c2(0xe2)],'items':_0x8ae05a['map'](summarizeRuntimeSkill),'skills':{'personal':_0x121215[_0x2007c2(0x105)](summarizeRuntimeSkill),'company':_0xf07fbb['map'](summarizeRuntimeSkill),'public':_0x369ae8[_0x2007c2(0x105)](summarizeRuntimeSkill)}},'message':_0x2007c2(0x121)+_0x8ae05a[_0x2007c2(0xe2)]+_0x2007c2(0xd0)};}},{'service':a35_0x3ad629(0x12d),'command':a35_0x3ad629(0xdc),'description':a35_0x3ad629(0x110),'risk':'write','flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4bcf4b){return syncRuntimeSkills(_0x4bcf4b,{'installToAgent':![]});}},{'service':a35_0x3ad629(0x12d),'command':a35_0x3ad629(0xfb),'description':a35_0x3ad629(0x134),'risk':a35_0x3ad629(0xd4),'flags':[DIR_FLAG],async 'execute'(_0x2133de){const _0x10b330=a35_0x3ad629,{createPersonalRuntimeSkill:_0x53d78e,downloadRuntimeSkillPackage:_0x2aab19,listRuntimeSkills:_0xcfef70,updatePersonalRuntimeSkill:_0x5023cc}=await import(_0x10b330(0x11b)),{verifyRuntimeSkillPackage:_0x4daaa7,verifyRuntimeSkillBundle:_0xd1d23,readPushDirectory:_0x3d3e90,recordPushedRuntimeSkill:_0x502482}=await import(_0x10b330(0xff));if(!_0x2133de[_0x10b330(0xf8)])throw CliErrors[_0x10b330(0xfd)]();const _0x1252aa=_0x2133de[_0x10b330(0x108)](_0x10b330(0x103)),_0x5e7e3b=validateSkillDirectory(_0x1252aa);throwIfSkillValidationFailed(_0x5e7e3b);const _0x6b6c3e=_0x5e7e3b[_0x10b330(0x103)],_0x548c87=_0x3d3e90(_0x6b6c3e,_0x2133de[_0x10b330(0x12e)]),_0x5e5461=(await _0xcfef70({'appCode':_0x2133de[_0x10b330(0x12e)],'scope':_0x10b330(0xd8)}))[_0x10b330(0xd8)]['find'](_0x17ac1f=>_0x17ac1f['skillCode']===_0x548c87[_0x10b330(0x104)]),_0x52dc21=_0x5e5461?await _0x5023cc(_0x548c87[_0x10b330(0x104)],_0x2133de[_0x10b330(0x12e)],_0x548c87[_0x10b330(0xf1)]):await _0x53d78e(_0x2133de['appCode'],_0x548c87[_0x10b330(0xf1)]);let _0x309b8e=_0x52dc21;if(isMultiFileManifest(_0x548c87[_0x10b330(0xf1)][_0x10b330(0xe4)])){const _0x54fe99=await _0x2aab19(_0x10b330(0xd8),_0x52dc21[_0x10b330(0x104)]||_0x548c87[_0x10b330(0x104)],_0x2133de[_0x10b330(0x12e)]);_0xd1d23(_0x548c87['input'][_0x10b330(0xe4)],_0x54fe99),_0x309b8e={..._0x52dc21,'files':_0x548c87[_0x10b330(0xf1)][_0x10b330(0xe4)]};}else{if(isPackageBackedManifest(_0x52dc21[_0x10b330(0xe4)])){const _0x282fe4=await _0x2aab19('personal',_0x52dc21[_0x10b330(0x104)]||_0x548c87[_0x10b330(0x104)],_0x2133de[_0x10b330(0x12e)]);_0x4daaa7(_0x52dc21[_0x10b330(0xe4)],_0x282fe4);}}return _0x502482(_0x6b6c3e,_0x309b8e,_0x2133de[_0x10b330(0x12e)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x52dc21),'message':_0x5e5461?_0x10b330(0xd2)+_0x548c87[_0x10b330(0x104)]:'Created\x20personal\x20Skill\x20'+_0x548c87[_0x10b330(0x104)]};}}];async function syncRuntimeSkills(_0x257b86,_0x4d2554){const _0xae1335=a35_0x3ad629,{downloadRuntimeSkillPackage:_0xe20533,listRuntimeSkills:_0x34654e}=await import(_0xae1335(0x11b)),{linkEffectiveRuntimeSkills:_0x1342c3,materializeRuntimeSkill:_0x461dc3,pruneStaleRuntimeSkillCache:_0x301af3,pruneStaleRuntimeSkillLinks:_0x5033e5}=await import(_0xae1335(0xff)),_0x4822fa=_0x257b86['str'](_0xae1335(0xdd));normalizePullScope(_0x257b86[_0xae1335(0x108)]('scope'));const _0x243a64=_0x257b86[_0xae1335(0x101)]??_0xae1335(0xd1),_0x864e17=_0x257b86[_0xae1335(0xf8)];if(!_0x864e17){if(_0x4d2554[_0xae1335(0x10d)])throw CliErrors[_0xae1335(0xfd)](_0xae1335(0xf3));throw CliErrors[_0xae1335(0xfd)]();}const _0x54ffa0=await _0x34654e({'appCode':_0x257b86[_0xae1335(0x12e)],'scope':_0xae1335(0x11d),'code':_0x4822fa[_0xae1335(0x11a)]()||undefined}),_0x4b13b1=_0x54ffa0[_0xae1335(0xd8)],_0x48f960=_0x54ffa0['company'],_0x39e236=new Set([..._0x4b13b1[_0xae1335(0x105)](_0x29b10d=>_0x29b10d[_0xae1335(0x104)]?.['trim']())[_0xae1335(0x102)](_0x1a7648=>Boolean(_0x1a7648)),..._0x48f960[_0xae1335(0x105)](_0x8d2fc0=>_0x8d2fc0[_0xae1335(0x104)]?.[_0xae1335(0x11a)]())[_0xae1335(0x102)](_0x11261b=>Boolean(_0x11261b))]),_0x49dfd3=_0x4822fa['trim']()?[_0x4822fa[_0xae1335(0x11a)]()]:undefined,_0x22b977=_0x4d2554[_0xae1335(0x10d)]?_0x5033e5(_0x257b86[_0xae1335(0x12e)],_0x39e236,{},_0x49dfd3):[],_0x268c12=_0x301af3({'env':_0x243a64,'accessKey':_0x864e17,'appCode':_0x257b86[_0xae1335(0x12e)],'activeSkillCodes':_0x39e236,'pruneSkillCodes':_0x49dfd3}),_0x5a96d4=[];for(const _0x555cf5 of _0x4b13b1){_0x5a96d4[_0xae1335(0xfb)](_0x461dc3(_0x555cf5,_0xae1335(0xd8),{'env':_0x243a64,'accessKey':_0x864e17,'appCode':_0x257b86[_0xae1335(0x12e)],'packageBytes':await downloadPackageIfNeeded(_0x555cf5,_0xae1335(0xd8),_0x257b86[_0xae1335(0x12e)],_0xe20533)}));}for(const _0xda8b20 of _0x48f960){_0x5a96d4['push'](_0x461dc3(_0xda8b20,_0xae1335(0xe5),{'env':_0x243a64,'accessKey':_0x864e17,'appCode':_0x257b86['appCode'],'packageBytes':await downloadPackageIfNeeded(_0xda8b20,'company',_0x257b86[_0xae1335(0x12e)],_0xe20533)}));}const _0x3e68de=_0x4d2554[_0xae1335(0x10d)]?_0x1342c3(_0x5a96d4,_0x257b86['appCode']):[],_0x20ec6f=countLinkActions(_0x3e68de);return{'ok':!![],'data':{'appCode':_0x257b86[_0xae1335(0x12e)],'personal':_0x4b13b1[_0xae1335(0xe2)],'company':_0x48f960[_0xae1335(0xe2)],'materialized':_0x5a96d4[_0xae1335(0xe2)],'links':{'total':_0x3e68de[_0xae1335(0xe2)],'created':_0x20ec6f['created']??0x0,'updated':_0x20ec6f[_0xae1335(0x132)]??0x0,'unchanged':_0x20ec6f[_0xae1335(0x117)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x22b977[_0xae1335(0x102)](_0x36019d=>_0x36019d[_0xae1335(0xf2)]===_0xae1335(0x12b))[_0xae1335(0xe2)],'cacheDirs':_0x268c12[_0xae1335(0x102)](_0x59b12d=>_0x59b12d['action']==='removed')['length'],'skipped':[..._0x22b977,..._0x268c12][_0xae1335(0x102)](_0x5004c7=>_0x5004c7['action']==='skipped')[_0xae1335(0xe2)]},'skills':{'personal':_0x4b13b1[_0xae1335(0x105)](summarizeRuntimeSkill),'company':_0x48f960['map'](summarizeRuntimeSkill)}},'message':_0x4d2554[_0xae1335(0x10d)]?'Installed\x20'+_0x4b13b1['length']+_0xae1335(0x10e)+_0x48f960['length']+_0xae1335(0x12f):_0xae1335(0x10b)+_0x4b13b1[_0xae1335(0xe2)]+'\x20personal\x20and\x20'+_0x48f960['length']+_0xae1335(0x12f)};}function buildSkillCreatePlan(_0x2c9b08,_0x3050e7,_0x2db7cf){const _0x49449b=a35_0x3ad629,_0x2ac9dc=renderSkillTemplate({'skillName':_0x2c9b08,'type':_0x3050e7}),_0x36fa66=resolve(normalizeSkillTarget(_0x2db7cf));return{'rendered':_0x2ac9dc,'targetRoot':_0x36fa66,'skillDir':resolve(_0x36fa66,_0x2ac9dc[_0x49449b(0x130)])};}function normalizeSkillTarget(_0x5e9407){const _0x13e3d2=a35_0x3ad629;return(_0x5e9407||DEFAULT_SKILL_TARGET)[_0x13e3d2(0x11a)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x4def8f,_0x319ee7){const _0x1e0f3b=a35_0x3ad629;if(existsSync(_0x4def8f['skillDir'])){const _0x174dbf=lstatSync(_0x4def8f['skillDir']);if(!_0x174dbf['isDirectory']()||_0x174dbf[_0x1e0f3b(0xfa)]())throw CliErrors[_0x1e0f3b(0xfc)](_0x1e0f3b(0xf5)+_0x4def8f[_0x1e0f3b(0x115)]);if(!_0x319ee7)throw CliErrors[_0x1e0f3b(0xfc)]('Skill\x20directory\x20already\x20exists:\x20'+_0x4def8f['skillDir'],_0x1e0f3b(0x10a));}for(const _0x70ac02 of _0x4def8f['rendered'][_0x1e0f3b(0xe4)]){const _0x3b1b86=resolve(_0x4def8f[_0x1e0f3b(0x115)],_0x70ac02['path']),_0xe9e6dd=dirname(_0x3b1b86);mkdirSync(_0xe9e6dd,{'recursive':!![]});if(existsSync(_0x3b1b86)&&lstatSync(_0x3b1b86)[_0x1e0f3b(0xfa)]())throw CliErrors[_0x1e0f3b(0xfc)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3b1b86);writeFileSync(_0x3b1b86,_0x70ac02[_0x1e0f3b(0x106)],'utf8');}}async function downloadPackageIfNeeded(_0x80fcb0,_0x26851a,_0x2c00de,_0x176bc5){const _0x569946=a35_0x3ad629;if(!isPackageBackedManifest(_0x80fcb0[_0x569946(0xe4)]))return undefined;return _0x176bc5(_0x26851a,_0x80fcb0[_0x569946(0x104)],_0x2c00de);}function normalizePullScope(_0x3bc36f){const _0x56164c=a35_0x3ad629,_0x19df4d=_0x3bc36f[_0x56164c(0x11a)]();if(!_0x19df4d)return _0x56164c(0x11d);if(_0x19df4d===_0x56164c(0x11d))return _0x19df4d;throw CliErrors[_0x56164c(0xfc)](_0x56164c(0xdf)+_0x3bc36f);}function normalizeListScope(_0x35cf3c){const _0x3bcd26=a35_0x3ad629,_0x1c1499=_0x35cf3c[_0x3bcd26(0x11a)]();if(!_0x1c1499)return _0x3bcd26(0x11d);if(_0x1c1499===_0x3bcd26(0x11d)||_0x1c1499===_0x3bcd26(0xd8)||_0x1c1499===_0x3bcd26(0xe5)||_0x1c1499===_0x3bcd26(0xe0)||_0x1c1499===_0x3bcd26(0x122))return _0x1c1499;throw CliErrors[_0x3bcd26(0xfc)](_0x3bcd26(0x10c)+_0x35cf3c);}function shouldListScope(_0x300bf7,_0x118109){const _0x314565=a35_0x3ad629;if(_0x300bf7===_0x314565(0x122))return!![];if(_0x300bf7===_0x314565(0x11d))return _0x118109===_0x314565(0xd8)||_0x118109===_0x314565(0xe5)||_0x118109===_0x314565(0xe0);return _0x300bf7===_0x118109;}function listScopeToRuntimeScopes(_0x4dca01){const _0x32cca3=a35_0x3ad629;if(_0x4dca01===_0x32cca3(0x122))return[_0x32cca3(0xd8),_0x32cca3(0xe5)];if(_0x4dca01==='user')return[_0x32cca3(0xd8),_0x32cca3(0xe5)];if(_0x4dca01===_0x32cca3(0xe0))return[];return[_0x4dca01==='company'?_0x32cca3(0xe5):_0x4dca01];}function listScopeToRemoteScope(_0xd20f18){return _0xd20f18;}function groupLocalRuntimeSkills(_0x825cbc){const _0x20e00b=a35_0x3ad629;return{'personal':_0x825cbc[_0x20e00b(0x102)](_0x49c226=>_0x49c226[_0x20e00b(0xde)]===_0x20e00b(0xd8)),'company':_0x825cbc[_0x20e00b(0x102)](_0x1577ff=>_0x1577ff[_0x20e00b(0xde)]==='company'),'builtin':_0x825cbc[_0x20e00b(0x102)](_0x4915a9=>_0x4915a9[_0x20e00b(0xde)]===_0x20e00b(0xd7))};}function countLinkActions(_0x32f25e){const _0x52295a=a35_0x3ad629;return _0x32f25e[_0x52295a(0xee)]((_0x8aae0b,_0x407c17)=>{return _0x8aae0b[_0x407c17['action']]=(_0x8aae0b[_0x407c17['action']]??0x0)+0x1,_0x8aae0b;},{});}function isPackageBackedManifest(_0x38abe7){const _0x242cc3=a35_0x3ad629;return!!_0x38abe7&&typeof _0x38abe7==='object'&&!Array['isArray'](_0x38abe7)&&typeof _0x38abe7[_0x242cc3(0xd5)]===_0x242cc3(0xda)&&_0x38abe7['ossPath']['length']>0x0&&Array[_0x242cc3(0x129)](_0x38abe7[_0x242cc3(0xe4)]);}function isMultiFileManifest(_0x38f500){const _0x23802a=a35_0x3ad629;return!!_0x38f500&&typeof _0x38f500===_0x23802a(0x114)&&!Array[_0x23802a(0x129)](_0x38f500)&&Array[_0x23802a(0x129)](_0x38f500[_0x23802a(0xe4)])&&_0x38f500[_0x23802a(0xe4)][_0x23802a(0xf9)](_0x3bdbcf=>_0x3bdbcf[_0x23802a(0x11f)]!==_0x23802a(0x12a));}
1
+ const a35_0x5a43f2=a35_0x2be2;(function(_0x2905b7,_0x48e2b1){const _0x5935f9=a35_0x2be2,_0x4ac372=_0x2905b7();while(!![]){try{const _0x1da74b=parseInt(_0x5935f9(0xdb))/0x1*(parseInt(_0x5935f9(0xe9))/0x2)+parseInt(_0x5935f9(0xf0))/0x3+-parseInt(_0x5935f9(0xa8))/0x4*(parseInt(_0x5935f9(0xd6))/0x5)+parseInt(_0x5935f9(0x93))/0x6*(-parseInt(_0x5935f9(0xcc))/0x7)+parseInt(_0x5935f9(0xde))/0x8+-parseInt(_0x5935f9(0x98))/0x9*(parseInt(_0x5935f9(0xb7))/0xa)+parseInt(_0x5935f9(0xd1))/0xb*(-parseInt(_0x5935f9(0x9c))/0xc);if(_0x1da74b===_0x48e2b1)break;else _0x4ac372['push'](_0x4ac372['shift']());}catch(_0x219476){_0x4ac372['push'](_0x4ac372['shift']());}}}(a35_0x3351,0xe9c86));import{CliErrors}from'../../errors.js';import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':a35_0x5a43f2(0xe4),'type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'},SCOPE_FLAG={'name':'scope','type':'string','description':a35_0x5a43f2(0xd3),'enum':[a35_0x5a43f2(0xd9),a35_0x5a43f2(0xd8),'company']},LIST_SCOPE_FLAG={'name':a35_0x5a43f2(0xd4),'type':a35_0x5a43f2(0x8e),'description':a35_0x5a43f2(0xa5),'enum':['all',a35_0x5a43f2(0xd8),'company']},LOCAL_FLAG={'name':a35_0x5a43f2(0xcb),'type':a35_0x5a43f2(0x8f),'description':a35_0x5a43f2(0xe2)},DIR_FLAG={'name':a35_0x5a43f2(0xa7),'type':a35_0x5a43f2(0x8e),'required':!![],'description':a35_0x5a43f2(0xc6)},CREATE_NAME_FLAG={'name':a35_0x5a43f2(0xbf),'type':'string','required':!![],'description':a35_0x5a43f2(0xb6),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a35_0x5a43f2(0x9a)}},TYPE_FLAG={'name':a35_0x5a43f2(0xae),'type':a35_0x5a43f2(0x8e),'description':a35_0x5a43f2(0xc8),'default':a35_0x5a43f2(0xa3),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':'target','type':a35_0x5a43f2(0x8e),'description':a35_0x5a43f2(0x8d),'default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':'force','type':a35_0x5a43f2(0x8f),'description':a35_0x5a43f2(0xe3)},STRICT_FLAG={'name':a35_0x5a43f2(0xe8),'type':a35_0x5a43f2(0x8f),'description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};function summarizeRuntimeSkill(_0x12f290){const _0x59feb2=a35_0x5a43f2;return{'id':_0x12f290['id'],'skillCode':_0x12f290['skillCode'],'skillName':_0x12f290[_0x59feb2(0xbc)],'scope':_0x12f290[_0x59feb2(0xd4)],'version':_0x12f290[_0x59feb2(0xf1)],'readonly':_0x12f290['readonly']};}function summarizeLocalRuntimeSkill(_0x396107){const _0x3c19c5=a35_0x5a43f2;return{'id':_0x396107['id'],'skillCode':_0x396107[_0x3c19c5(0x9e)],'skillName':_0x396107[_0x3c19c5(0xbc)],'scope':_0x396107[_0x3c19c5(0xd4)],'appCode':_0x396107['appCode'],'version':_0x396107[_0x3c19c5(0xf1)],'status':_0x396107[_0x3c19c5(0xf8)],'readonly':_0x396107[_0x3c19c5(0x8c)],'tags':_0x396107[_0x3c19c5(0x92)],'dir':_0x396107[_0x3c19c5(0xa7)],'cacheDir':_0x396107['cacheDir'],'skillMdPath':_0x396107[_0x3c19c5(0x8b)],'metadataPath':_0x396107[_0x3c19c5(0x90)],'linkedPaths':_0x396107['linkedPaths'],'contentHash':_0x396107[_0x3c19c5(0xee)],'treeHash':_0x396107['treeHash'],'pulledAt':_0x396107[_0x3c19c5(0xb1)]};}export const skillDefinitions=[{'service':a35_0x5a43f2(0xaa),'command':a35_0x5a43f2(0xc0),'description':a35_0x5a43f2(0xc2),'risk':a35_0x5a43f2(0xa3),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x2e426b){return syncRuntimeSkills(_0x2e426b);}},{'service':a35_0x5a43f2(0xaa),'command':a35_0x5a43f2(0xf7),'description':a35_0x5a43f2(0xc9),'risk':a35_0x5a43f2(0xa3),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x1cccc5){const _0x360194=a35_0x5a43f2,_0x2dcc83=buildSkillCreatePlan(_0x1cccc5[_0x360194(0xf5)]('name'),_0x1cccc5[_0x360194(0xf5)](_0x360194(0xae)),_0x1cccc5[_0x360194(0xf5)](_0x360194(0xf4)));return{'method':_0x360194(0xd2),'url':_0x2dcc83[_0x360194(0xac)],'body':{'skillName':_0x2dcc83[_0x360194(0x9d)]['skillName'],'type':_0x2dcc83['rendered'][_0x360194(0xae)],'selfContained':!![],'files':_0x2dcc83[_0x360194(0x9d)][_0x360194(0xcf)][_0x360194(0xdd)](_0x2463ff=>_0x2463ff[_0x360194(0xaf)])},'description':_0x360194(0xba)};},async 'execute'(_0xbeb776){const _0xc0ba03=a35_0x5a43f2,_0x432e7a=buildSkillCreatePlan(_0xbeb776[_0xc0ba03(0xf5)](_0xc0ba03(0xbf)),_0xbeb776[_0xc0ba03(0xf5)](_0xc0ba03(0xae)),_0xbeb776[_0xc0ba03(0xf5)](_0xc0ba03(0xf4)));return writeSkillDraft(_0x432e7a,_0xbeb776[_0xc0ba03(0x9b)](_0xc0ba03(0xcd))),{'ok':!![],'data':{'skillName':_0x432e7a[_0xc0ba03(0x9d)][_0xc0ba03(0xbc)],'type':_0x432e7a['rendered']['type'],'dir':_0x432e7a['skillDir'],'files':_0x432e7a[_0xc0ba03(0x9d)][_0xc0ba03(0xcf)][_0xc0ba03(0xdd)](_0xd36b89=>_0xd36b89['path'])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x432e7a[_0xc0ba03(0x9d)][_0xc0ba03(0xbc)]};}},{'service':a35_0x5a43f2(0xaa),'command':a35_0x5a43f2(0x97),'description':a35_0x5a43f2(0x95),'risk':a35_0x5a43f2(0xd5),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x5d4b4c){const _0x4abff4=a35_0x5a43f2,_0x43b4b3=_0x5d4b4c['bool'](_0x4abff4(0xe8)),_0x4106f0=validateSkillDirectory(_0x5d4b4c[_0x4abff4(0xf5)](_0x4abff4(0xa7)),{'strict':_0x43b4b3});return throwIfSkillValidationFailed(_0x4106f0,_0x43b4b3),{'ok':!![],'data':{'dir':_0x4106f0[_0x4abff4(0xa7)],'type':_0x4106f0[_0x4abff4(0xae)],'errors':_0x4106f0[_0x4abff4(0x91)],'warnings':_0x4106f0[_0x4abff4(0xa6)]},'message':_0x4abff4(0xe0)};}},{'service':a35_0x5a43f2(0xaa),'command':'list','description':a35_0x5a43f2(0xeb),'risk':a35_0x5a43f2(0xd5),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x79232a){const _0x3711b4=a35_0x5a43f2,_0x214ec8=_0x79232a['str'](_0x3711b4(0xe4)),_0x22f60c=normalizeListScope(_0x79232a[_0x3711b4(0xf5)]('scope'));if(_0x79232a[_0x3711b4(0x9b)](_0x3711b4(0xcb))){const _0x3f2810=_0x79232a[_0x3711b4(0xb0)];if(!_0x3f2810)throw CliErrors[_0x3711b4(0xb9)]();const {listLocalRuntimeSkills:_0x45c984}=await import(_0x3711b4(0x9f)),_0x16596c=_0x45c984({'env':_0x79232a[_0x3711b4(0xe7)]??_0x3711b4(0xb5),'accessKey':_0x3f2810,'appCode':_0x79232a['appCode'],'scopes':listScopeToRuntimeScopes(_0x22f60c),'code':_0x214ec8[_0x3711b4(0xb3)]()||undefined}),_0x3d6e4a=groupLocalRuntimeSkills(_0x16596c);return{'ok':!![],'data':{'appCode':_0x79232a[_0x3711b4(0x94)],'source':_0x3711b4(0xcb),'scope':_0x22f60c,'total':_0x16596c[_0x3711b4(0xdf)],'personal':_0x3d6e4a[_0x3711b4(0xd8)][_0x3711b4(0xdf)],'company':_0x3d6e4a[_0x3711b4(0xf3)][_0x3711b4(0xdf)],'items':_0x16596c['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3d6e4a['personal']['map'](summarizeLocalRuntimeSkill),'company':_0x3d6e4a[_0x3711b4(0xf3)][_0x3711b4(0xdd)](summarizeLocalRuntimeSkill)}},'message':_0x3711b4(0xf2)+_0x16596c[_0x3711b4(0xdf)]+_0x3711b4(0xab)};}const {listRuntimeSkills:_0x579b80}=await import(_0x3711b4(0xbb)),_0x2eda95=await _0x579b80({'appCode':_0x79232a['appCode'],'scope':listScopeToRemoteScope(_0x22f60c),'code':_0x214ec8['trim']()||undefined}),_0xfe8d66=shouldListScope(_0x22f60c,_0x3711b4(0xd8))?_0x2eda95['personal']??[]:[],_0x3fc010=shouldListScope(_0x22f60c,_0x3711b4(0xf3))?_0x2eda95[_0x3711b4(0xf3)]??[]:[],_0x3e3792=[..._0xfe8d66,..._0x3fc010];return{'ok':!![],'data':{'appCode':_0x79232a[_0x3711b4(0x94)],'source':'remote','scope':_0x22f60c,'total':_0x3e3792['length'],'personal':_0xfe8d66['length'],'company':_0x3fc010[_0x3711b4(0xdf)],'items':_0x3e3792[_0x3711b4(0xdd)](summarizeRuntimeSkill),'skills':{'personal':_0xfe8d66[_0x3711b4(0xdd)](summarizeRuntimeSkill),'company':_0x3fc010[_0x3711b4(0xdd)](summarizeRuntimeSkill)}},'message':_0x3711b4(0xf2)+_0x3e3792[_0x3711b4(0xdf)]+'\x20remote\x20Skill(s).'};}},{'service':a35_0x5a43f2(0xaa),'command':a35_0x5a43f2(0xce),'description':a35_0x5a43f2(0xdc),'risk':a35_0x5a43f2(0xa3),'flags':[DIR_FLAG],async 'execute'(_0x5732a0){const _0x5b65bf=a35_0x5a43f2,{createPersonalRuntimeSkill:_0x4bdb5a,downloadRuntimeSkillPackage:_0x34f981,listRuntimeSkills:_0x3f4cb9,updatePersonalRuntimeSkill:_0x17cb69}=await import(_0x5b65bf(0xbb)),{verifyRuntimeSkillPackage:_0x2850f8,verifyRuntimeSkillBundle:_0x1d5119,readPushDirectory:_0x3b4eef,recordPushedRuntimeSkill:_0x26ebac}=await import('../../skills/runtime-skill-sync.js');if(!_0x5732a0[_0x5b65bf(0xb0)])throw CliErrors[_0x5b65bf(0xb9)]();const _0x1084c9=_0x5732a0[_0x5b65bf(0xf5)](_0x5b65bf(0xa7)),_0x57ba7e=validateSkillDirectory(_0x1084c9);throwIfSkillValidationFailed(_0x57ba7e);const _0x17626b=_0x57ba7e['dir'],_0xf67799=_0x3b4eef(_0x17626b,_0x5732a0['appCode']),_0x4c8a13=(await _0x3f4cb9({'appCode':_0x5732a0[_0x5b65bf(0x94)],'scope':_0x5b65bf(0xd8)}))[_0x5b65bf(0xd8)][_0x5b65bf(0xa1)](_0xfd8eed=>_0xfd8eed[_0x5b65bf(0x9e)]===_0xf67799['skillCode']),_0x3c629c=_0x4c8a13?await _0x17cb69(_0xf67799[_0x5b65bf(0x9e)],_0x5732a0[_0x5b65bf(0x94)],_0xf67799['input']):await _0x4bdb5a(_0x5732a0[_0x5b65bf(0x94)],_0xf67799[_0x5b65bf(0xe6)]);let _0x2b5030=_0x3c629c;if(isMultiFileManifest(_0xf67799['input']['files'])){const _0x52fd48=await _0x34f981(_0x5b65bf(0xd8),_0x3c629c[_0x5b65bf(0x9e)]||_0xf67799[_0x5b65bf(0x9e)],_0x5732a0[_0x5b65bf(0x94)]);_0x1d5119(_0xf67799[_0x5b65bf(0xe6)][_0x5b65bf(0xcf)],_0x52fd48),_0x2b5030={..._0x3c629c,'files':_0xf67799[_0x5b65bf(0xe6)]['files']};}else{if(isPackageBackedManifest(_0x3c629c[_0x5b65bf(0xcf)])){const _0x496515=await _0x34f981(_0x5b65bf(0xd8),_0x3c629c[_0x5b65bf(0x9e)]||_0xf67799[_0x5b65bf(0x9e)],_0x5732a0[_0x5b65bf(0x94)]);_0x2850f8(_0x3c629c['files'],_0x496515);}}return _0x26ebac(_0x17626b,_0x2b5030,_0x5732a0[_0x5b65bf(0x94)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x3c629c),'message':_0x4c8a13?_0x5b65bf(0xc1)+_0xf67799['skillCode']:_0x5b65bf(0xf6)+_0xf67799[_0x5b65bf(0x9e)]};}}];async function syncRuntimeSkills(_0x407bf9){const _0x135cbd=a35_0x5a43f2,{downloadRuntimeSkillPackage:_0x2166a2,listRuntimeSkills:_0x1d3802}=await import(_0x135cbd(0xbb)),{linkEffectiveRuntimeSkills:_0x103f7c,materializeRuntimeSkill:_0x1b12ee,pruneStaleRuntimeSkillCache:_0x184141,pruneStaleRuntimeSkillLinks:_0x13bc41}=await import(_0x135cbd(0x9f)),_0x2310d0=_0x407bf9[_0x135cbd(0xf5)](_0x135cbd(0xe4)),_0x5ce48f=normalizeSyncScopes(_0x407bf9[_0x135cbd(0xf5)](_0x135cbd(0xd4))),_0x43ee0a=_0x407bf9['envName']??_0x135cbd(0xb5),_0x3dad4d=_0x407bf9['accessKey'];if(!_0x3dad4d)throw CliErrors[_0x135cbd(0xb9)](_0x135cbd(0xed));const _0x5b6888=await Promise[_0x135cbd(0xd9)](_0x5ce48f['map'](_0x3fd9ca=>_0x1d3802({'appCode':_0x407bf9[_0x135cbd(0x94)],'scope':_0x3fd9ca,'code':_0x2310d0[_0x135cbd(0xb3)]()||undefined}))),_0x350e38=_0x5ce48f['includes']('personal')?_0x5b6888[_0x135cbd(0xc4)]((_0x235845,_0x2e0e08)=>_0x5ce48f[_0x2e0e08]===_0x135cbd(0xd8)?_0x235845['personal']:[]):[],_0x2d822a=_0x5ce48f[_0x135cbd(0xb8)](_0x135cbd(0xf3))?_0x5b6888[_0x135cbd(0xc4)]((_0x296941,_0x3edb4b)=>_0x5ce48f[_0x3edb4b]===_0x135cbd(0xf3)?_0x296941['company']:[]):[],_0x21dbff=new Set([..._0x350e38[_0x135cbd(0xdd)](_0x2bc402=>_0x2bc402['skillCode']?.['trim']())[_0x135cbd(0xb4)](_0x2d7247=>Boolean(_0x2d7247)),..._0x2d822a[_0x135cbd(0xdd)](_0x1cc792=>_0x1cc792[_0x135cbd(0x9e)]?.[_0x135cbd(0xb3)]())[_0x135cbd(0xb4)](_0x20da2e=>Boolean(_0x20da2e))]),_0x5a9738=_0x2310d0[_0x135cbd(0xb3)]()?[_0x2310d0[_0x135cbd(0xb3)]()]:undefined,_0x53690e=_0x5ce48f[_0x135cbd(0xdf)]===0x2&&_0x5ce48f[_0x135cbd(0xb8)](_0x135cbd(0xd8))&&_0x5ce48f[_0x135cbd(0xb8)]('company'),_0xa3b7da=_0x53690e?_0x13bc41(_0x407bf9['appCode'],_0x21dbff,{},_0x5a9738):[],_0x2fbca8=_0x184141({'env':_0x43ee0a,'accessKey':_0x3dad4d,'appCode':_0x407bf9[_0x135cbd(0x94)],'activeSkillCodes':_0x21dbff,'pruneSkillCodes':_0x5a9738,'scopes':_0x5ce48f}),_0x59175b=[];for(const _0x3f3070 of _0x350e38){_0x59175b[_0x135cbd(0xce)](_0x1b12ee(_0x3f3070,_0x135cbd(0xd8),{'env':_0x43ee0a,'accessKey':_0x3dad4d,'appCode':_0x407bf9['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x3f3070,_0x135cbd(0xd8),_0x407bf9[_0x135cbd(0x94)],_0x2166a2)}));}for(const _0x217296 of _0x2d822a){_0x59175b[_0x135cbd(0xce)](_0x1b12ee(_0x217296,_0x135cbd(0xf3),{'env':_0x43ee0a,'accessKey':_0x3dad4d,'appCode':_0x407bf9[_0x135cbd(0x94)],'packageBytes':await downloadPackageIfNeeded(_0x217296,'company',_0x407bf9[_0x135cbd(0x94)],_0x2166a2)}));}const _0x50f119=_0x103f7c(_0x59175b,_0x407bf9[_0x135cbd(0x94)]),_0x1319b5=countLinkActions(_0x50f119);return{'ok':!![],'data':{'appCode':_0x407bf9['appCode'],'personal':_0x350e38[_0x135cbd(0xdf)],'company':_0x2d822a[_0x135cbd(0xdf)],'materialized':_0x59175b[_0x135cbd(0xdf)],'links':{'total':_0x50f119[_0x135cbd(0xdf)],'created':_0x1319b5[_0x135cbd(0xa0)]??0x0,'updated':_0x1319b5[_0x135cbd(0xd0)]??0x0,'unchanged':_0x1319b5[_0x135cbd(0xe1)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xa3b7da[_0x135cbd(0xb4)](_0x220360=>_0x220360['action']===_0x135cbd(0x99))[_0x135cbd(0xdf)],'cacheDirs':_0x2fbca8[_0x135cbd(0xb4)](_0xb5e943=>_0xb5e943[_0x135cbd(0xa9)]===_0x135cbd(0x99))[_0x135cbd(0xdf)],'skipped':[..._0xa3b7da,..._0x2fbca8][_0x135cbd(0xb4)](_0x58e834=>_0x58e834[_0x135cbd(0xa9)]===_0x135cbd(0xe5))[_0x135cbd(0xdf)]},'skills':{'personal':_0x350e38[_0x135cbd(0xdd)](summarizeRuntimeSkill),'company':_0x2d822a['map'](summarizeRuntimeSkill)}},'message':_0x135cbd(0xc3)+_0x350e38[_0x135cbd(0xdf)]+_0x135cbd(0xd7)+_0x2d822a[_0x135cbd(0xdf)]+_0x135cbd(0xc7)};}function a35_0x2be2(_0x268a56,_0x5b6d9a){_0x268a56=_0x268a56-0x8a;const _0x3351b3=a35_0x3351();let _0x2be2fa=_0x3351b3[_0x268a56];return _0x2be2fa;}function buildSkillCreatePlan(_0x3b76b7,_0x2c9d16,_0x37cbf0){const _0x3b39d5=a35_0x5a43f2,_0x58862c=renderSkillTemplate({'skillName':_0x3b76b7,'type':_0x2c9d16}),_0x3182e7=resolve(normalizeSkillTarget(_0x37cbf0));return{'rendered':_0x58862c,'targetRoot':_0x3182e7,'skillDir':resolve(_0x3182e7,_0x58862c[_0x3b39d5(0xbc)])};}function normalizeSkillTarget(_0x449ffc){const _0x54ab14=a35_0x5a43f2;return(_0x449ffc||DEFAULT_SKILL_TARGET)[_0x54ab14(0xb3)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x48e809,_0x5009d1){const _0x29caee=a35_0x5a43f2;if(existsSync(_0x48e809['skillDir'])){const _0x50041a=lstatSync(_0x48e809[_0x29caee(0xac)]);if(!_0x50041a['isDirectory']()||_0x50041a[_0x29caee(0xad)]())throw CliErrors[_0x29caee(0xca)](_0x29caee(0xa4)+_0x48e809[_0x29caee(0xac)]);if(!_0x5009d1)throw CliErrors[_0x29caee(0xca)](_0x29caee(0xda)+_0x48e809[_0x29caee(0xac)],_0x29caee(0xb2));}for(const _0x208421 of _0x48e809['rendered']['files']){const _0x4a7ddf=resolve(_0x48e809[_0x29caee(0xac)],_0x208421['path']),_0x460732=dirname(_0x4a7ddf);mkdirSync(_0x460732,{'recursive':!![]});if(existsSync(_0x4a7ddf)&&lstatSync(_0x4a7ddf)[_0x29caee(0xad)]())throw CliErrors[_0x29caee(0xca)](_0x29caee(0xbe)+_0x4a7ddf);writeFileSync(_0x4a7ddf,_0x208421['content'],_0x29caee(0xc5));}}async function downloadPackageIfNeeded(_0x1ece74,_0x3806d5,_0x137a10,_0xcf422d){const _0x33230f=a35_0x5a43f2;if(!isPackageBackedManifest(_0x1ece74[_0x33230f(0xcf)]))return undefined;return _0xcf422d(_0x3806d5,_0x1ece74[_0x33230f(0x9e)],_0x137a10);}function a35_0x3351(){const _0x5710c0=['Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','Installed\x20','flatMap','utf8','Local\x20Skill\x20directory\x20containing\x20SKILL.md','\x20company\x20Skill(s).','Skill\x20template\x20type','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','validation','local','7LUpcTC','force','push','files','updated','1628APPeUN','WRITE','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','scope','read','1740LstNIR','\x20personal\x20and\x20','personal','all','Skill\x20directory\x20already\x20exists:\x20','3581xbIqiF','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','map','11376432rELqLQ','length','Skill\x20validation\x20passed.','unchanged','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','code','skipped','input','envName','strict','908WtEWkU','some','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','Unsupported\x20Skill\x20list\x20scope:\x20','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','contentHash','ossPath','204522VGbWBv','version','Listed\x20','company','target','str','Created\x20personal\x20Skill\x20','create','status','object','skillMdPath','readonly','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','string','boolean','metadataPath','errors','tags','1661634wjDQyl','appCode','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','SKILL.md','validate','9GunmWJ','removed','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','bool','29616UiUkyt','rendered','skillCode','../../skills/runtime-skill-sync.js','created','find','builtin','write','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','warnings','dir','13228RxnxuP','action','skill','\x20local\x20Skill(s).','skillDir','isSymbolicLink','type','path','accessKey','pulledAt','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','trim','filter','production','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','3653890XRlwdE','includes','authRequired','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','../../core/api-client.js','skillName','isArray','Refusing\x20to\x20overwrite\x20symlink:\x20','name','install','Updated\x20personal\x20Skill\x20'];a35_0x3351=function(){return _0x5710c0;};return a35_0x3351();}function normalizeSyncScopes(_0x4d4ac8){const _0x36452f=a35_0x5a43f2,_0x337103=_0x4d4ac8[_0x36452f(0xb3)]();if(!_0x337103||_0x337103===_0x36452f(0xd9))return[_0x36452f(0xd8),_0x36452f(0xf3)];if(_0x337103===_0x36452f(0xd8)||_0x337103===_0x36452f(0xf3))return[_0x337103];throw CliErrors[_0x36452f(0xca)]('Unsupported\x20Skill\x20sync\x20scope:\x20'+_0x4d4ac8);}function normalizeListScope(_0x1e24ab){const _0x2fb3f8=a35_0x5a43f2,_0x4d85d2=_0x1e24ab[_0x2fb3f8(0xb3)]();if(!_0x4d85d2)return _0x2fb3f8(0xd9);if(_0x4d85d2==='personal'||_0x4d85d2===_0x2fb3f8(0xf3)||_0x4d85d2==='all')return _0x4d85d2;throw CliErrors['validation'](_0x2fb3f8(0xec)+_0x1e24ab);}function shouldListScope(_0x4066c6,_0x595a1d){const _0x4b7fa3=a35_0x5a43f2;if(_0x4066c6===_0x4b7fa3(0xd9))return!![];return _0x4066c6===_0x595a1d;}function listScopeToRuntimeScopes(_0x137405){const _0x484d02=a35_0x5a43f2;if(_0x137405===_0x484d02(0xd9))return[_0x484d02(0xd8),_0x484d02(0xf3)];return[_0x137405==='company'?_0x484d02(0xf3):_0x137405];}function listScopeToRemoteScope(_0x3b1650){return _0x3b1650;}function groupLocalRuntimeSkills(_0x214288){const _0x9b88f9=a35_0x5a43f2;return{'personal':_0x214288[_0x9b88f9(0xb4)](_0x11805f=>_0x11805f[_0x9b88f9(0xd4)]===_0x9b88f9(0xd8)),'company':_0x214288[_0x9b88f9(0xb4)](_0x544640=>_0x544640['scope']===_0x9b88f9(0xf3)),'builtin':_0x214288[_0x9b88f9(0xb4)](_0x920e7c=>_0x920e7c['scope']===_0x9b88f9(0xa2))};}function countLinkActions(_0x523d4a){return _0x523d4a['reduce']((_0x4f4187,_0x3f2727)=>{const _0x51bf3b=a35_0x2be2;return _0x4f4187[_0x3f2727[_0x51bf3b(0xa9)]]=(_0x4f4187[_0x3f2727['action']]??0x0)+0x1,_0x4f4187;},{});}function isPackageBackedManifest(_0x3fe93e){const _0x28d69a=a35_0x5a43f2;return!!_0x3fe93e&&typeof _0x3fe93e===_0x28d69a(0x8a)&&!Array[_0x28d69a(0xbd)](_0x3fe93e)&&typeof _0x3fe93e[_0x28d69a(0xef)]==='string'&&_0x3fe93e[_0x28d69a(0xef)][_0x28d69a(0xdf)]>0x0&&Array[_0x28d69a(0xbd)](_0x3fe93e[_0x28d69a(0xcf)]);}function isMultiFileManifest(_0x255afd){const _0x2d45ff=a35_0x5a43f2;return!!_0x255afd&&typeof _0x255afd==='object'&&!Array[_0x2d45ff(0xbd)](_0x255afd)&&Array['isArray'](_0x255afd[_0x2d45ff(0xcf)])&&_0x255afd[_0x2d45ff(0xcf)][_0x2d45ff(0xea)](_0x28748f=>_0x28748f[_0x2d45ff(0xaf)]!==_0x2d45ff(0x96));}