@lovrabet/lovrabet-cli 2.1.6-beta.3 → 2.1.6-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/artifact/index.js +1 -1
  10. package/lib/commands/auth/index.js +1 -1
  11. package/lib/commands/auth/prompt.js +1 -1
  12. package/lib/commands/bff/detail.js +1 -1
  13. package/lib/commands/bff/exec.js +1 -1
  14. package/lib/commands/bff/index.js +1 -1
  15. package/lib/commands/cli-skill/index.js +1 -1
  16. package/lib/commands/common/config-policy.js +1 -1
  17. package/lib/commands/common/constraints.js +1 -1
  18. package/lib/commands/common/flags.js +1 -1
  19. package/lib/commands/config/definitions.js +1 -1
  20. package/lib/commands/config/shared.js +1 -1
  21. package/lib/commands/data/index.js +1 -1
  22. package/lib/commands/dataset/detail.js +1 -1
  23. package/lib/commands/dataset/index.js +1 -1
  24. package/lib/commands/dataset/list.js +1 -1
  25. package/lib/commands/dataset/sdk-doc.js +1 -1
  26. package/lib/commands/doctor.js +1 -1
  27. package/lib/commands/init.js +1 -1
  28. package/lib/commands/kb/index.js +1 -1
  29. package/lib/commands/logs/index.js +1 -1
  30. package/lib/commands/personal-bff/index.js +1 -1
  31. package/lib/commands/registry.js +1 -1
  32. package/lib/commands/schema.js +1 -1
  33. package/lib/commands/service/dynamic.js +1 -1
  34. package/lib/commands/service/index.js +1 -1
  35. package/lib/commands/service/registry.js +1 -1
  36. package/lib/commands/skill/commands/create.js +1 -1
  37. package/lib/commands/skill/commands/install.js +1 -1
  38. package/lib/commands/skill/commands/list.js +1 -1
  39. package/lib/commands/skill/commands/push.js +1 -1
  40. package/lib/commands/skill/commands/validate.js +1 -1
  41. package/lib/commands/skill/flags.js +1 -1
  42. package/lib/commands/skill/index.js +1 -1
  43. package/lib/commands/skill/manifest-helpers.js +1 -1
  44. package/lib/commands/skill/scopes.js +1 -1
  45. package/lib/commands/skill/summary.js +1 -1
  46. package/lib/commands/skill/templates.js +1 -1
  47. package/lib/commands/skill/validate.js +1 -1
  48. package/lib/commands/sql/detail.js +1 -1
  49. package/lib/commands/sql/exec.js +1 -1
  50. package/lib/commands/sql/index.js +1 -1
  51. package/lib/commands/update.js +1 -1
  52. package/lib/commands/workspace/index.js +1 -1
  53. package/lib/config/schema.js +1 -1
  54. package/lib/constant/app.js +1 -1
  55. package/lib/constant/auth-mode.js +1 -1
  56. package/lib/constant/cli.js +1 -1
  57. package/lib/constant/defaults.js +1 -1
  58. package/lib/constant/distribution.js +1 -1
  59. package/lib/constant/domain.js +1 -1
  60. package/lib/constant/env.js +1 -1
  61. package/lib/constant/output.js +1 -1
  62. package/lib/constant/product.js +1 -1
  63. package/lib/constant/risk.js +1 -1
  64. package/lib/constant/url.js +1 -1
  65. package/lib/context.js +1 -1
  66. package/lib/core/api-client.js +1 -1
  67. package/lib/core/db-resolver.js +1 -1
  68. package/lib/core/sdk-client.js +1 -1
  69. package/lib/errors.js +1 -1
  70. package/lib/framework/build-all-flags.js +1 -1
  71. package/lib/framework/dryrun.js +1 -1
  72. package/lib/framework/flags.js +1 -1
  73. package/lib/framework/help.js +1 -1
  74. package/lib/framework/index.js +1 -1
  75. package/lib/framework/output.js +1 -1
  76. package/lib/framework/preparse.js +1 -1
  77. package/lib/framework/response.js +1 -1
  78. package/lib/framework/runner-confirmation.js +1 -1
  79. package/lib/framework/runner-error.js +1 -1
  80. package/lib/framework/runner.js +1 -1
  81. package/lib/framework/schema-export.js +1 -1
  82. package/lib/framework/types.js +1 -1
  83. package/lib/generated/build-info.js +1 -1
  84. package/lib/help.js +1 -1
  85. package/lib/skills/npx-skills-add.js +1 -1
  86. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  87. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  88. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  89. package/lib/skills/runtime-skill-sync/links.js +1 -1
  90. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  91. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  92. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  93. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  94. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  95. package/lib/skills/runtime-skill-sync/push.js +1 -1
  96. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  97. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  98. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  99. package/lib/skills/runtime-skill-sync.js +1 -1
  100. package/lib/utils/apply-jq-filter.js +1 -1
  101. package/lib/utils/logger.js +1 -1
  102. package/lib/utils/params.js +1 -1
  103. package/lib/utils/platform.js +1 -1
  104. package/lib/utils/update-notice.js +1 -1
  105. package/lib/utils/version.js +1 -1
  106. package/lib/utils/write-cli-side-channel.js +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- const a27_0xa10087=a27_0x58d2;(function(_0x4c62c5,_0x1829ec){const _0x80c2d7=a27_0x58d2,_0x250a7=_0x4c62c5();while(!![]){try{const _0x4841b9=parseInt(_0x80c2d7(0x1d5))/0x1+-parseInt(_0x80c2d7(0x1a8))/0x2*(-parseInt(_0x80c2d7(0x1b0))/0x3)+parseInt(_0x80c2d7(0x1b2))/0x4+-parseInt(_0x80c2d7(0x19f))/0x5+parseInt(_0x80c2d7(0x1ac))/0x6+parseInt(_0x80c2d7(0x1b6))/0x7+parseInt(_0x80c2d7(0x1d0))/0x8*(-parseInt(_0x80c2d7(0x1cf))/0x9);if(_0x4841b9===_0x1829ec)break;else _0x250a7['push'](_0x250a7['shift']());}catch(_0xb2db7c){_0x250a7['push'](_0x250a7['shift']());}}}(a27_0x205b,0xcf8f2));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';function a27_0x58d2(_0x10d682,_0x371eeb){_0x10d682=_0x10d682-0x19d;const _0x205be2=a27_0x205b();let _0x58d217=_0x205be2[_0x10d682];return _0x58d217;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0xa10087(0x1c0),'type':a27_0xa10087(0x1b3),'required':!![],'description':a27_0xa10087(0x1c6)},FILE_FLAG={'name':a27_0xa10087(0x1ab),'type':'string','required':!![],'description':a27_0xa10087(0x1b1)},QUERY_FLAG={'name':'query','type':a27_0xa10087(0x1b3),'required':!![],'description':a27_0xa10087(0x1d6)},TOPK_FLAG={'name':a27_0xa10087(0x1a1),'type':a27_0xa10087(0x1cb),'description':a27_0xa10087(0x1cc)};function readKnowledgeFile(_0x11351d){const _0xb36199=a27_0xa10087;if(!_0x11351d)throw CliErrors[_0xb36199(0x1c9)](_0xb36199(0x1bb));if(!existsSync(_0x11351d))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x11351d);if(!statSync(_0x11351d)[_0xb36199(0x1a0)]())throw CliErrors[_0xb36199(0x1c9)](_0xb36199(0x1d3)+_0x11351d);return readFileSync(_0x11351d,'utf8');}function summarizePersonalItem(_0x4ca307){const _0x5bad3a=a27_0xa10087;return{'id':_0x4ca307['id'],'title':_0x4ca307[_0x5bad3a(0x1c0)],'version':_0x4ca307['version'],'ragStatus':_0x4ca307[_0x5bad3a(0x1ba)],'ragErrorMessage':_0x4ca307[_0x5bad3a(0x1bf)],'updateTime':_0x4ca307['updateTime']};}function detailPersonalItem(_0x34c515){const _0x4d1edb=a27_0xa10087;return{'id':_0x34c515['id'],'appCode':_0x34c515[_0x4d1edb(0x1a2)],'scope':_0x34c515['scope'],'userId':_0x34c515[_0x4d1edb(0x19e)],'title':_0x34c515[_0x4d1edb(0x1c0)],'content':_0x34c515[_0x4d1edb(0x1d4)]??'','version':_0x34c515[_0x4d1edb(0x1b8)],'ragStatus':_0x34c515[_0x4d1edb(0x1ba)],'ragErrorMessage':_0x34c515[_0x4d1edb(0x1bf)],'createTime':_0x34c515[_0x4d1edb(0x1b4)],'updateTime':_0x34c515['updateTime']};}function a27_0x205b(){const _0x4c8bb3=['build','detail','body','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','--topk\x20must\x20be\x20a\x20positive\x20number.','Personal\x20knowledge-base\x20entry\x20title','flag','trim','validation','score','number','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','description','write','165024cbQOWJ','856EkVWJG','Updated\x20KB\x20entry\x20','POST','File\x20is\x20not\x20a\x20regular\x20file:\x20','content','1482035YNBNDl','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','bool','list','userId','6658775aBxaHg','isFile','topk','appCode','Personal\x20knowledge-base\x20entry\x20ID','read','update','str','num','2gjScsC','search','create','file','5598066PlRPzm','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','Search\x20query\x20is\x20required.','length','1686507NwMtsK','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','3976960iWrrAU','string','createTime','Override\x20the\x20existing\x20entry\x20title','1206898heJJMr','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','version','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','ragStatus','File\x20path\x20is\x20required.','/update','Created\x20KB\x20entry\x20','map','ragErrorMessage','title'];a27_0x205b=function(){return _0x4c8bb3;};return a27_0x205b();}function summarizeSearchHit(_0x3cbb05){const _0x212c77=a27_0xa10087;return{'scope':_0x3cbb05['scope'],'docId':_0x3cbb05['docId'],'score':_0x3cbb05[_0x212c77(0x1ca)],'weightedScore':_0x3cbb05['weightedScore'],'content':_0x3cbb05[_0x212c77(0x1d4)],'metadata':_0x3cbb05['metadata']};}function readTopK(_0x404e95){const _0x55aadc=a27_0xa10087,_0x2a93a3=_0x404e95[_0x55aadc(0x1c7)](_0x55aadc(0x1a1));if(_0x2a93a3===undefined||_0x2a93a3===null||_0x2a93a3==='')return undefined;const _0xfff9f0=_0x404e95[_0x55aadc(0x1a7)](_0x55aadc(0x1a1));if(!Number['isFinite'](_0xfff9f0)||_0xfff9f0<0x1)throw CliErrors['validation'](_0x55aadc(0x1c5));return _0xfff9f0;}const kbList={'service':'kb','command':a27_0xa10087(0x19d),'description':a27_0xa10087(0x1ad),'risk':a27_0xa10087(0x1a4),'flags':[VERBOSE_FLAG],async 'execute'(_0x392464){const _0x4c29a9=a27_0xa10087,_0x291179=await listPersonalKnowledgeBaseItems(_0x392464[_0x4c29a9(0x1a2)]);if(_0x392464[_0x4c29a9(0x1d7)]('verbose'))return{'ok':!![],'data':{'total':_0x291179[_0x4c29a9(0x1af)],'items':_0x291179}};return{'ok':!![],'data':{'total':_0x291179[_0x4c29a9(0x1af)],'items':_0x291179[_0x4c29a9(0x1be)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0xa10087(0x1c2),'description':a27_0xa10087(0x1b9),'risk':a27_0xa10087(0x1a4),'flags':[{...ID_FLAG,'description':a27_0xa10087(0x1a3)}],async 'execute'(_0x4607cf){const _0x355e1f=a27_0xa10087,_0x382569=await getPersonalKnowledgeBaseItem(_0x4607cf['num']('id'),_0x4607cf[_0x355e1f(0x1a2)]);return{'ok':!![],'data':detailPersonalItem(_0x382569)};}},kbCreate={'service':'kb','command':a27_0xa10087(0x1aa),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x6e6ee1){const _0x4e889d=a27_0xa10087,_0x1ec486=_0x6e6ee1[_0x4e889d(0x1a6)](_0x4e889d(0x1c0)),_0x463fea=readKnowledgeFile(_0x6e6ee1['str'](_0x4e889d(0x1ab))),_0x37775f=await createPersonalKnowledgeBaseItem(_0x6e6ee1['appCode'],{'title':_0x1ec486,'content':_0x463fea});return{'ok':!![],'data':summarizePersonalItem(_0x37775f),'message':_0x4e889d(0x1bd)+_0x37775f['id']+'\x20('+_0x37775f['title']+')'};},async 'dryRun'(_0x49a59e){const _0x4cbaa0=a27_0xa10087,_0x12bfcf=_0x49a59e[_0x4cbaa0(0x1a6)](_0x4cbaa0(0x1c0)),_0x207928=readKnowledgeFile(_0x49a59e[_0x4cbaa0(0x1a6)](_0x4cbaa0(0x1ab)));return dryRun(_0x4cbaa0(0x1d2),'/client/knowledge-base/personal/create')[_0x4cbaa0(0x1c3)]({'appCode':_0x49a59e[_0x4cbaa0(0x1a2)],'title':_0x12bfcf,'content':_0x207928})[_0x4cbaa0(0x1cd)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x12bfcf+'\x22')['build']();}},kbUpdate={'service':'kb','command':a27_0xa10087(0x1a5),'description':a27_0xa10087(0x1b7),'risk':a27_0xa10087(0x1ce),'flags':[{...ID_FLAG,'description':a27_0xa10087(0x1a3)},{...TITLE_FLAG,'required':![],'description':a27_0xa10087(0x1b5)},FILE_FLAG],async 'execute'(_0x37343d){const _0x4658fb=a27_0xa10087,_0x1e9bfd=_0x37343d[_0x4658fb(0x1a7)]('id'),_0x317b88=readKnowledgeFile(_0x37343d[_0x4658fb(0x1a6)](_0x4658fb(0x1ab))),_0x214004=_0x37343d[_0x4658fb(0x1a6)](_0x4658fb(0x1c0))||(await getPersonalKnowledgeBaseItem(_0x1e9bfd,_0x37343d[_0x4658fb(0x1a2)]))[_0x4658fb(0x1c0)],_0x54f4a9=await updatePersonalKnowledgeBaseItem(_0x1e9bfd,_0x37343d[_0x4658fb(0x1a2)],{'title':_0x214004,'content':_0x317b88});return{'ok':!![],'data':summarizePersonalItem(_0x54f4a9),'message':_0x4658fb(0x1d1)+_0x54f4a9['id']+'\x20('+_0x54f4a9[_0x4658fb(0x1c0)]+')'};},async 'dryRun'(_0x99c129){const _0x5525e3=a27_0xa10087,_0x393dae=_0x99c129[_0x5525e3(0x1a7)]('id'),_0x573502=readKnowledgeFile(_0x99c129['str'](_0x5525e3(0x1ab))),_0x1930a9=_0x99c129['str'](_0x5525e3(0x1c0))||(await getPersonalKnowledgeBaseItem(_0x393dae,_0x99c129[_0x5525e3(0x1a2)]))[_0x5525e3(0x1c0)];return dryRun(_0x5525e3(0x1d2),'/client/knowledge-base/personal/'+_0x393dae+_0x5525e3(0x1bc))[_0x5525e3(0x1c3)]({'appCode':_0x99c129[_0x5525e3(0x1a2)],'title':_0x1930a9,'content':_0x573502})[_0x5525e3(0x1cd)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x393dae)[_0x5525e3(0x1c1)]();}},kbSearch={'service':'kb','command':a27_0xa10087(0x1a9),'description':a27_0xa10087(0x1c4),'risk':a27_0xa10087(0x1a4),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x90b8c7){const _0x107e74=a27_0xa10087;if(!_0x90b8c7['str']('query')[_0x107e74(0x1c8)]())throw CliErrors[_0x107e74(0x1c9)](_0x107e74(0x1ae));readTopK(_0x90b8c7);},async 'execute'(_0x3ed0f1){const _0x1a0f7b=a27_0xa10087,_0x3bc303=_0x3ed0f1[_0x1a0f7b(0x1a6)]('query')[_0x1a0f7b(0x1c8)](),_0x3d007e=readTopK(_0x3ed0f1),_0x3997e1=await searchKnowledgeBase(_0x3ed0f1[_0x1a0f7b(0x1a2)],{'query':_0x3bc303,'topK':_0x3d007e});return{'ok':!![],'data':{'total':_0x3997e1[_0x1a0f7b(0x1af)],'hits':_0x3997e1[_0x1a0f7b(0x1be)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a27_0xca6113=a27_0x4759;(function(_0x4bf9ce,_0x4e2e8e){const _0x1ed4f2=a27_0x4759,_0x67d876=_0x4bf9ce();while(!![]){try{const _0x4a2d41=-parseInt(_0x1ed4f2(0x204))/0x1*(parseInt(_0x1ed4f2(0x1e0))/0x2)+parseInt(_0x1ed4f2(0x1eb))/0x3*(-parseInt(_0x1ed4f2(0x210))/0x4)+parseInt(_0x1ed4f2(0x21b))/0x5*(parseInt(_0x1ed4f2(0x20b))/0x6)+-parseInt(_0x1ed4f2(0x1f6))/0x7+-parseInt(_0x1ed4f2(0x209))/0x8*(-parseInt(_0x1ed4f2(0x20e))/0x9)+-parseInt(_0x1ed4f2(0x20f))/0xa+parseInt(_0x1ed4f2(0x201))/0xb;if(_0x4a2d41===_0x4e2e8e)break;else _0x67d876['push'](_0x67d876['shift']());}catch(_0x296448){_0x67d876['push'](_0x67d876['shift']());}}}(a27_0x5814,0xa6305));function a27_0x4759(_0x4de432,_0x192776){_0x4de432=_0x4de432-0x1de;const _0x58144c=a27_0x5814();let _0x475970=_0x58144c[_0x4de432];return _0x475970;}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';function a27_0x5814(){const _0x54f15a=['7777410bLTzXg','2732yUserG','read','/update','create','map','File\x20is\x20not\x20a\x20regular\x20file:\x20','Personal\x20knowledge-base\x20entry\x20ID','createTime','ragErrorMessage','validation','search','335jcnMsD','content','body','28574pQQPqP','score','Created\x20KB\x20entry\x20','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','version','/client/knowledge-base/personal/create','detail','File\x20not\x20found:\x20','isFile','File\x20path\x20is\x20required.','4713lPQAMm','str','Personal\x20knowledge-base\x20entry\x20title','appCode','write','flag','num','length','ragStatus','string','POST','246470upZeMK','trim','userId','description','updateTime','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','isFinite','title','topk','weightedScore','query','17017715uAQlSg','bool','file','13YNGshN','Updated\x20KB\x20entry\x20','--topk\x20must\x20be\x20a\x20positive\x20number.','scope','build','856EpwUSL','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','24594IdDtFX','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','/client/knowledge-base/personal/','78282VfsOOg'];a27_0x5814=function(){return _0x54f15a;};return a27_0x5814();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0xca6113(0x1fd),'type':a27_0xca6113(0x1f4),'required':!![],'description':a27_0xca6113(0x1ed)},FILE_FLAG={'name':a27_0xca6113(0x203),'type':a27_0xca6113(0x1f4),'required':!![],'description':a27_0xca6113(0x1e3)},QUERY_FLAG={'name':'query','type':a27_0xca6113(0x1f4),'required':!![],'description':a27_0xca6113(0x20a)},TOPK_FLAG={'name':a27_0xca6113(0x1fe),'type':'number','description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x358d18){const _0x175d07=a27_0xca6113;if(!_0x358d18)throw CliErrors['validation'](_0x175d07(0x1ea));if(!existsSync(_0x358d18))throw CliErrors[_0x175d07(0x219)](_0x175d07(0x1e8)+_0x358d18);if(!statSync(_0x358d18)[_0x175d07(0x1e9)]())throw CliErrors['validation'](_0x175d07(0x215)+_0x358d18);return readFileSync(_0x358d18,'utf8');}function summarizePersonalItem(_0x1eaab1){const _0x20d16c=a27_0xca6113;return{'id':_0x1eaab1['id'],'title':_0x1eaab1['title'],'version':_0x1eaab1[_0x20d16c(0x1e5)],'ragStatus':_0x1eaab1[_0x20d16c(0x1f3)],'ragErrorMessage':_0x1eaab1[_0x20d16c(0x218)],'updateTime':_0x1eaab1[_0x20d16c(0x1fa)]};}function detailPersonalItem(_0x362883){const _0x36956b=a27_0xca6113;return{'id':_0x362883['id'],'appCode':_0x362883[_0x36956b(0x1ee)],'scope':_0x362883[_0x36956b(0x207)],'userId':_0x362883[_0x36956b(0x1f8)],'title':_0x362883[_0x36956b(0x1fd)],'content':_0x362883['content']??'','version':_0x362883['version'],'ragStatus':_0x362883[_0x36956b(0x1f3)],'ragErrorMessage':_0x362883[_0x36956b(0x218)],'createTime':_0x362883[_0x36956b(0x217)],'updateTime':_0x362883[_0x36956b(0x1fa)]};}function summarizeSearchHit(_0x4e1d09){const _0x2b72f3=a27_0xca6113;return{'scope':_0x4e1d09['scope'],'docId':_0x4e1d09['docId'],'score':_0x4e1d09[_0x2b72f3(0x1e1)],'weightedScore':_0x4e1d09[_0x2b72f3(0x1ff)],'content':_0x4e1d09[_0x2b72f3(0x1de)],'metadata':_0x4e1d09['metadata']};}function readTopK(_0x45cd8f){const _0x516ad3=a27_0xca6113,_0x3d245c=_0x45cd8f[_0x516ad3(0x1f0)](_0x516ad3(0x1fe));if(_0x3d245c===undefined||_0x3d245c===null||_0x3d245c==='')return undefined;const _0x4cb4fc=_0x45cd8f[_0x516ad3(0x1f1)](_0x516ad3(0x1fe));if(!Number[_0x516ad3(0x1fc)](_0x4cb4fc)||_0x4cb4fc<0x1)throw CliErrors['validation'](_0x516ad3(0x206));return _0x4cb4fc;}const kbList={'service':'kb','command':'list','description':a27_0xca6113(0x1e4),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x3d1026){const _0x18c524=a27_0xca6113,_0x29509b=await listPersonalKnowledgeBaseItems(_0x3d1026[_0x18c524(0x1ee)]);if(_0x3d1026[_0x18c524(0x202)]('verbose'))return{'ok':!![],'data':{'total':_0x29509b[_0x18c524(0x1f2)],'items':_0x29509b}};return{'ok':!![],'data':{'total':_0x29509b['length'],'items':_0x29509b[_0x18c524(0x214)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0xca6113(0x1e7),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0xca6113(0x211),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'}],async 'execute'(_0xce1188){const _0x17ca21=a27_0xca6113,_0x5e1162=await getPersonalKnowledgeBaseItem(_0xce1188[_0x17ca21(0x1f1)]('id'),_0xce1188['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x5e1162)};}},kbCreate={'service':'kb','command':a27_0xca6113(0x213),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0xca6113(0x1ef),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x186fac){const _0x5d8b3=a27_0xca6113,_0x2d8473=_0x186fac['str'](_0x5d8b3(0x1fd)),_0x187876=readKnowledgeFile(_0x186fac[_0x5d8b3(0x1ec)](_0x5d8b3(0x203))),_0x44323e=await createPersonalKnowledgeBaseItem(_0x186fac[_0x5d8b3(0x1ee)],{'title':_0x2d8473,'content':_0x187876});return{'ok':!![],'data':summarizePersonalItem(_0x44323e),'message':_0x5d8b3(0x1e2)+_0x44323e['id']+'\x20('+_0x44323e[_0x5d8b3(0x1fd)]+')'};},async 'dryRun'(_0x3525f1){const _0x29c951=a27_0xca6113,_0xf64aa3=_0x3525f1[_0x29c951(0x1ec)](_0x29c951(0x1fd)),_0x3856a0=readKnowledgeFile(_0x3525f1[_0x29c951(0x1ec)](_0x29c951(0x203)));return dryRun(_0x29c951(0x1f5),_0x29c951(0x1e6))[_0x29c951(0x1df)]({'appCode':_0x3525f1[_0x29c951(0x1ee)],'title':_0xf64aa3,'content':_0x3856a0})[_0x29c951(0x1f9)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0xf64aa3+'\x22')[_0x29c951(0x208)]();}},kbUpdate={'service':'kb','command':'update','description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0xca6113(0x1ef),'flags':[{...ID_FLAG,'description':a27_0xca6113(0x216)},{...TITLE_FLAG,'required':![],'description':'Override\x20the\x20existing\x20entry\x20title'},FILE_FLAG],async 'execute'(_0x476236){const _0x58e2a4=a27_0xca6113,_0x3e92b4=_0x476236[_0x58e2a4(0x1f1)]('id'),_0x267e90=readKnowledgeFile(_0x476236[_0x58e2a4(0x1ec)](_0x58e2a4(0x203))),_0x312e82=_0x476236[_0x58e2a4(0x1ec)]('title')||(await getPersonalKnowledgeBaseItem(_0x3e92b4,_0x476236[_0x58e2a4(0x1ee)]))[_0x58e2a4(0x1fd)],_0x29e7fe=await updatePersonalKnowledgeBaseItem(_0x3e92b4,_0x476236[_0x58e2a4(0x1ee)],{'title':_0x312e82,'content':_0x267e90});return{'ok':!![],'data':summarizePersonalItem(_0x29e7fe),'message':_0x58e2a4(0x205)+_0x29e7fe['id']+'\x20('+_0x29e7fe[_0x58e2a4(0x1fd)]+')'};},async 'dryRun'(_0xfadebd){const _0x3e62ae=a27_0xca6113,_0x2e52d0=_0xfadebd[_0x3e62ae(0x1f1)]('id'),_0x4ee4ed=readKnowledgeFile(_0xfadebd[_0x3e62ae(0x1ec)](_0x3e62ae(0x203))),_0x2a9e7b=_0xfadebd[_0x3e62ae(0x1ec)](_0x3e62ae(0x1fd))||(await getPersonalKnowledgeBaseItem(_0x2e52d0,_0xfadebd[_0x3e62ae(0x1ee)]))[_0x3e62ae(0x1fd)];return dryRun('POST',_0x3e62ae(0x20d)+_0x2e52d0+_0x3e62ae(0x212))[_0x3e62ae(0x1df)]({'appCode':_0xfadebd[_0x3e62ae(0x1ee)],'title':_0x2a9e7b,'content':_0x4ee4ed})['description'](_0x3e62ae(0x20c)+_0x2e52d0)[_0x3e62ae(0x208)]();}},kbSearch={'service':'kb','command':a27_0xca6113(0x21a),'description':a27_0xca6113(0x1fb),'risk':a27_0xca6113(0x211),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x4d6f1e){const _0xd9b8c9=a27_0xca6113;if(!_0x4d6f1e[_0xd9b8c9(0x1ec)]('query')[_0xd9b8c9(0x1f7)]())throw CliErrors[_0xd9b8c9(0x219)]('Search\x20query\x20is\x20required.');readTopK(_0x4d6f1e);},async 'execute'(_0x38aef4){const _0x4cd6e2=a27_0xca6113,_0x5a52dc=_0x38aef4[_0x4cd6e2(0x1ec)](_0x4cd6e2(0x200))[_0x4cd6e2(0x1f7)](),_0x4346c6=readTopK(_0x38aef4),_0x373f68=await searchKnowledgeBase(_0x38aef4[_0x4cd6e2(0x1ee)],{'query':_0x5a52dc,'topK':_0x4346c6});return{'ok':!![],'data':{'total':_0x373f68['length'],'hits':_0x373f68[_0x4cd6e2(0x214)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0x3f56f3=a28_0x313b;function a28_0x1bf5(){const _0x498794=['\x20\x20\x20Duration:\x20','353713tPrYDF','en-US','level','details','log','2udJpkL','89048xvulwc','warn','success','119ulgfrT','timestamp','3891732vCUBOC','6rHSJoK','*\x20Logs\x20cleared','stringify','176872LzRuzj','readLogs','\x20logs:\x0a','2090334sNRSuE','2987790YjEial','logs','Clear\x20command\x20history\x20logs','read','285490FJCzyg','length','9crPzDD','clear','33UprbRX','\x20\x20\x20Details:\x20','duration'];a28_0x1bf5=function(){return _0x498794;};return a28_0x1bf5();}(function(_0x4b6e78,_0x4c9691){const _0x404a18=a28_0x313b,_0x40a1f3=_0x4b6e78();while(!![]){try{const _0x2691e0=parseInt(_0x404a18(0x124))/0x1*(-parseInt(_0x404a18(0x129))/0x2)+parseInt(_0x404a18(0x130))/0x3*(-parseInt(_0x404a18(0x133))/0x4)+-parseInt(_0x404a18(0x13b))/0x5+-parseInt(_0x404a18(0x136))/0x6+parseInt(_0x404a18(0x12d))/0x7*(-parseInt(_0x404a18(0x12a))/0x8)+-parseInt(_0x404a18(0x11e))/0x9*(-parseInt(_0x404a18(0x137))/0xa)+-parseInt(_0x404a18(0x120))/0xb*(-parseInt(_0x404a18(0x12f))/0xc);if(_0x2691e0===_0x4c9691)break;else _0x40a1f3['push'](_0x40a1f3['shift']());}catch(_0x3b385c){_0x40a1f3['push'](_0x40a1f3['shift']());}}}(a28_0x1bf5,0x39561));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x313b(_0x46fe54,_0x3eb5ef){_0x46fe54=_0x46fe54-0x11e;const _0x1bf506=a28_0x1bf5();let _0x313bc2=_0x1bf506[_0x46fe54];return _0x313bc2;}function printLogs(_0x33057b){const _0x11ac81=a28_0x313b;if(_0x33057b[_0x11ac81(0x13c)]===0x0){console[_0x11ac81(0x128)]('*\x20No\x20logs\x20found');return;}console[_0x11ac81(0x128)]('*\x20'+CLI_DISPLAY_NAME+_0x11ac81(0x135)),_0x33057b['forEach']((_0x412948,_0x26652f)=>{const _0x179bb1=_0x11ac81,_0x73ce51=new Date(_0x412948[_0x179bb1(0x12e)])['toLocaleString'](_0x179bb1(0x125)),_0x273cfb=_0x412948[_0x179bb1(0x126)]===_0x179bb1(0x12c)?'√':_0x412948[_0x179bb1(0x126)]==='error'?'×':_0x412948[_0x179bb1(0x126)]===_0x179bb1(0x12b)?'!':'i';console[_0x179bb1(0x128)](_0x26652f+0x1+'.\x20'+_0x273cfb+'\x20['+_0x412948['command']+']\x20'+_0x412948['message']),console[_0x179bb1(0x128)]('\x20\x20\x20Time:\x20'+_0x73ce51),_0x412948[_0x179bb1(0x122)]&&console[_0x179bb1(0x128)](_0x179bb1(0x123)+_0x412948['duration']+'ms'),_0x412948[_0x179bb1(0x127)]&&Object['keys'](_0x412948[_0x179bb1(0x127)])['length']>0x0&&console[_0x179bb1(0x128)](_0x179bb1(0x121)+JSON[_0x179bb1(0x132)](_0x412948[_0x179bb1(0x127)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a28_0x3f56f3(0x138),'command':'show','description':'View\x20command\x20history\x20logs','risk':a28_0x3f56f3(0x13a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x350b7e){const _0x139f23=a28_0x3f56f3;return printLogs(logger[_0x139f23(0x134)]()),{'ok':!![]};}},{'service':a28_0x3f56f3(0x138),'command':a28_0x3f56f3(0x11f),'description':a28_0x3f56f3(0x139),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x157b02){const _0xabb7f8=a28_0x3f56f3;return logger['clearLogs'](),console['log'](_0xabb7f8(0x131)),{'ok':!![]};}}];
1
+ const a28_0x57f60b=a28_0x1447;(function(_0x1072cd,_0x5a241a){const _0x2b9467=a28_0x1447,_0x261422=_0x1072cd();while(!![]){try{const _0x5e7abe=parseInt(_0x2b9467(0x1ae))/0x1*(parseInt(_0x2b9467(0x19f))/0x2)+-parseInt(_0x2b9467(0x19a))/0x3+parseInt(_0x2b9467(0x1b9))/0x4+-parseInt(_0x2b9467(0x1a8))/0x5*(parseInt(_0x2b9467(0x1b8))/0x6)+parseInt(_0x2b9467(0x1b7))/0x7*(parseInt(_0x2b9467(0x1a7))/0x8)+-parseInt(_0x2b9467(0x1a6))/0x9*(parseInt(_0x2b9467(0x1ad))/0xa)+-parseInt(_0x2b9467(0x1ab))/0xb;if(_0x5e7abe===_0x5a241a)break;else _0x261422['push'](_0x261422['shift']());}catch(_0x414b57){_0x261422['push'](_0x261422['shift']());}}}(a28_0x443b,0x45d6a));import{logger}from'../../utils/logger.js';function a28_0x1447(_0x27beda,_0x4f962a){_0x27beda=_0x27beda-0x198;const _0x443bd9=a28_0x443b();let _0x1447cf=_0x443bd9[_0x27beda];return _0x1447cf;}function a28_0x443b(){const _0x321b89=['7mZqSUl','7092khzNIg','1753388cHzYft','message','logs','250176RBvhRl','en-US','*\x20Logs\x20cleared','duration','details','4YkfpZJ','timestamp','length','\x20\x20\x20Time:\x20','success','level','log','207DgpvgE','4321432nTfUbr','1970cGzoln','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','147257ussTNW','write','210590rrTEoK','177188eccXqv','forEach','toLocaleString','show','readLogs','\x20\x20\x20Duration:\x20','stringify','command','View\x20command\x20history\x20logs'];a28_0x443b=function(){return _0x321b89;};return a28_0x443b();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x60525b){const _0x368c46=a28_0x1447;if(_0x60525b['length']===0x0){console['log'](_0x368c46(0x1aa));return;}console[_0x368c46(0x1a5)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x60525b[_0x368c46(0x1af)]((_0x3aa41d,_0x5eeca8)=>{const _0x4b32d3=_0x368c46,_0xc8c124=new Date(_0x3aa41d[_0x4b32d3(0x1a0)])[_0x4b32d3(0x1b0)](_0x4b32d3(0x19b)),_0x1f1d86=_0x3aa41d[_0x4b32d3(0x1a4)]===_0x4b32d3(0x1a3)?'√':_0x3aa41d[_0x4b32d3(0x1a4)]==='error'?'×':_0x3aa41d['level']==='warn'?'!':'i';console[_0x4b32d3(0x1a5)](_0x5eeca8+0x1+'.\x20'+_0x1f1d86+'\x20['+_0x3aa41d[_0x4b32d3(0x1b5)]+']\x20'+_0x3aa41d[_0x4b32d3(0x198)]),console['log'](_0x4b32d3(0x1a2)+_0xc8c124),_0x3aa41d[_0x4b32d3(0x19d)]&&console[_0x4b32d3(0x1a5)](_0x4b32d3(0x1b3)+_0x3aa41d['duration']+'ms'),_0x3aa41d[_0x4b32d3(0x19e)]&&Object['keys'](_0x3aa41d[_0x4b32d3(0x19e)])[_0x4b32d3(0x1a1)]>0x0&&console[_0x4b32d3(0x1a5)](_0x4b32d3(0x1a9)+JSON[_0x4b32d3(0x1b4)](_0x3aa41d[_0x4b32d3(0x19e)],null,0x2)),console[_0x4b32d3(0x1a5)]('');});}export const logsDefinitions=[{'service':a28_0x57f60b(0x199),'command':a28_0x57f60b(0x1b1),'description':a28_0x57f60b(0x1b6),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x18989c){const _0x50ecbe=a28_0x57f60b;return printLogs(logger[_0x50ecbe(0x1b2)]()),{'ok':!![]};}},{'service':a28_0x57f60b(0x199),'command':'clear','description':'Clear\x20command\x20history\x20logs','risk':a28_0x57f60b(0x1ac),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x697769){const _0x51fb3f=a28_0x57f60b;return logger['clearLogs'](),console[_0x51fb3f(0x1a5)](_0x51fb3f(0x19c)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x1b852a=a29_0x8177;(function(_0x2f1c99,_0x3b6b6d){const _0x42b80d=a29_0x8177,_0x3c324f=_0x2f1c99();while(!![]){try{const _0x2924f5=parseInt(_0x42b80d(0x73))/0x1*(parseInt(_0x42b80d(0x97))/0x2)+parseInt(_0x42b80d(0xa7))/0x3+parseInt(_0x42b80d(0x79))/0x4*(-parseInt(_0x42b80d(0x71))/0x5)+parseInt(_0x42b80d(0x8b))/0x6*(-parseInt(_0x42b80d(0x7a))/0x7)+parseInt(_0x42b80d(0x6e))/0x8*(parseInt(_0x42b80d(0x94))/0x9)+parseInt(_0x42b80d(0x84))/0xa+-parseInt(_0x42b80d(0x78))/0xb*(parseInt(_0x42b80d(0x74))/0xc);if(_0x2924f5===_0x3b6b6d)break;else _0x3c324f['push'](_0x3c324f['shift']());}catch(_0x3658f9){_0x3c324f['push'](_0x3c324f['shift']());}}}(a29_0x5e8f,0xe262b));function a29_0x8177(_0x253964,_0xdcd2a8){_0x253964=_0x253964-0x6d;const _0x5e8f18=a29_0x5e8f();let _0x817757=_0x5e8f18[_0x253964];return _0x817757;}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_0x1b852a(0xb0),'type':a29_0x1b852a(0x8e),'description':a29_0x1b852a(0xa9)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x1b852a(0x8e),'required':!![],'description':a29_0x1b852a(0x85)},DESCRIPTION_FLAG={'name':'description','type':a29_0x1b852a(0x8e),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a29_0x1b852a(0x8e),'description':a29_0x1b852a(0x92)};function normalizeFunctionName(_0x1bfcd8){const _0x4230eb=a29_0x1b852a,_0x5b7db7=String(_0x1bfcd8||'')[_0x4230eb(0x7c)]();if(!_0x5b7db7||!FUNCTION_NAME_PATTERN[_0x4230eb(0x98)](_0x5b7db7))throw CliErrors[_0x4230eb(0x76)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x5b7db7;}function a29_0x5e8f(){const _0x433d7e=['isArray','config','File\x20path\x20is\x20required.','POST','detail','9123904qvKMKb','map','str','6430665YwbBGq','num','42423jjsNPk','7032PngEWu','updateTime','validation','Created\x20personal\x20BFF\x20','38533lscrFa','4dFCCpL','508613hurqlo','gmtModified','trim','body','build','appCode','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','createTime','source-session-id','17460990yLBvgZ','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','name','Show\x20one\x20personal\x20BFF\x20by\x20id','personal-bff','isFile','version','48UrFrFL','Executed\x20personal\x20BFF\x20','scriptType','string','length','Personal\x20BFF\x20script\x20ID','list','Optional\x20source\x20RuntimeAgent\x20session\x20id','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','9MFhSYH','createUserId','Preview:\x20update\x20personal\x20BFF\x20','68ggfaPd','test','sourceSessionId','read','scriptContent','/client/runtime-bff/personal/','/client/runtime-bff/personal/create','flag','update','Updated\x20personal\x20BFF\x20','File\x20not\x20found:\x20','bool','gmtCreate','--params\x20must\x20be\x20a\x20JSON\x20object.','description','keys','1555407AwfBET','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Update\x20a\x20personal\x20BFF\x20by\x20id','/update','params','high-risk-write','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','functionName','file','write'];a29_0x5e8f=function(){return _0x433d7e;};return a29_0x5e8f();}function readScriptFile(_0x51ec19){const _0x34aae1=a29_0x1b852a;if(!_0x51ec19)throw CliErrors[_0x34aae1(0x76)](_0x34aae1(0xb4));if(!existsSync(_0x51ec19))throw CliErrors[_0x34aae1(0x76)](_0x34aae1(0xa1)+_0x51ec19);if(!statSync(_0x51ec19)[_0x34aae1(0x89)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x51ec19);const _0x329f97=readFileSync(_0x51ec19,_0x34aae1(0xa8));if(!_0x329f97['trim']())throw CliErrors[_0x34aae1(0x76)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x329f97;}function optionalTrimmed(_0x2782e5){const _0x3f2ab1=String(_0x2782e5||'')['trim']();return _0x3f2ab1||undefined;}function summarizeBff(_0x19c4e0){const _0x3dda65=a29_0x1b852a;return{'id':_0x19c4e0['id'],'appCode':_0x19c4e0[_0x3dda65(0x7f)],'functionName':_0x19c4e0[_0x3dda65(0xaf)],'description':_0x19c4e0['description'],'scriptType':_0x19c4e0[_0x3dda65(0x8d)],'version':_0x19c4e0[_0x3dda65(0x8a)],'gmtModified':_0x19c4e0[_0x3dda65(0x7b)],'updateTime':_0x19c4e0['updateTime']};}function detailBff(_0x47d1ee){const _0xe8b498=a29_0x1b852a;return{'id':_0x47d1ee['id'],'appCode':_0x47d1ee['appCode'],'functionName':_0x47d1ee[_0xe8b498(0xaf)],'description':_0x47d1ee['description'],'scriptType':_0x47d1ee[_0xe8b498(0x8d)],'scriptContent':_0x47d1ee['scriptContent']??'','config':_0x47d1ee[_0xe8b498(0xb3)],'version':_0x47d1ee[_0xe8b498(0x8a)],'createUserId':_0x47d1ee[_0xe8b498(0x95)],'gmtCreate':_0x47d1ee[_0xe8b498(0xa3)],'gmtModified':_0x47d1ee[_0xe8b498(0x7b)],'createTime':_0x47d1ee[_0xe8b498(0x82)],'updateTime':_0x47d1ee[_0xe8b498(0x75)]};}function buildCreateInput(_0x32de98){const _0x2c31f4=a29_0x1b852a;return{'functionName':normalizeFunctionName(_0x32de98['str']('name')),...optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0xa5)))?{'description':optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0xa5)))}:{},'scriptContent':readScriptFile(_0x32de98[_0x2c31f4(0x70)]('file')),...optionalTrimmed(_0x32de98['str'](_0x2c31f4(0x83)))?{'sourceSessionId':optionalTrimmed(_0x32de98[_0x2c31f4(0x70)](_0x2c31f4(0x83)))}:{}};}function buildUpdateInput(_0x113fcc){const _0x210e6a=a29_0x1b852a,_0x46d769={};optionalTrimmed(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0x86)))&&(_0x46d769[_0x210e6a(0xaf)]=normalizeFunctionName(_0x113fcc[_0x210e6a(0x70)]('name')));_0x113fcc[_0x210e6a(0x9e)](_0x210e6a(0xa5))!==undefined&&(_0x46d769[_0x210e6a(0xa5)]=_0x113fcc[_0x210e6a(0x70)]('description'));optionalTrimmed(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0xb0)))&&(_0x46d769[_0x210e6a(0x9b)]=readScriptFile(_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0xb0))));_0x113fcc['flag'](_0x210e6a(0x83))!==undefined&&(_0x46d769[_0x210e6a(0x99)]=_0x113fcc[_0x210e6a(0x70)](_0x210e6a(0x83)));if(Object[_0x210e6a(0xa6)](_0x46d769)[_0x210e6a(0x8f)]===0x0)throw CliErrors['validation']('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x46d769;}function parseExecParams(_0x30340c){const _0x3878b4=a29_0x1b852a,_0xa59652=parseJsonParams(_0x30340c)??{};if(Array[_0x3878b4(0xb2)](_0xa59652))throw CliErrors[_0x3878b4(0x76)](_0x3878b4(0xa4));return _0xa59652;}const personalBffList={'service':a29_0x1b852a(0x88),'command':a29_0x1b852a(0x91),'description':a29_0x1b852a(0x93),'risk':a29_0x1b852a(0x9a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3b14d9){const _0x3e0e53=a29_0x1b852a,_0x33e023=await listPersonalBffs(_0x3b14d9[_0x3e0e53(0x7f)]);return{'ok':!![],'data':{'total':_0x33e023['length'],'items':_0x3b14d9[_0x3e0e53(0xa2)](_0x3e0e53(0x81))?_0x33e023:_0x33e023[_0x3e0e53(0x6f)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0x1b852a(0x6d),'description':a29_0x1b852a(0x87),'risk':a29_0x1b852a(0x9a),'flags':[{...ID_FLAG,'description':a29_0x1b852a(0x90)}],async 'execute'(_0x3d923d){const _0x343db7=a29_0x1b852a,_0x402f79=await getPersonalBff(_0x3d923d['num']('id'),_0x3d923d[_0x343db7(0x7f)]);return{'ok':!![],'data':detailBff(_0x402f79)};}},personalBffCreate={'service':'personal-bff','command':'create','description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x1b852a(0xb1),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3c17cf){const _0x410ae2=a29_0x1b852a,_0x12dc21=buildCreateInput(_0x3c17cf),_0x4eaa8c=await createPersonalBff(_0x3c17cf['appCode'],_0x12dc21);return{'ok':!![],'data':detailBff(_0x4eaa8c),'message':_0x410ae2(0x77)+_0x4eaa8c['id']+(_0x4eaa8c[_0x410ae2(0xaf)]?'\x20('+_0x4eaa8c[_0x410ae2(0xaf)]+')':'')};},async 'dryRun'(_0xf10472){const _0x50353b=a29_0x1b852a,_0x2eeb63=buildCreateInput(_0xf10472);return dryRun(_0x50353b(0xb5),_0x50353b(0x9d))[_0x50353b(0x7d)]({'appCode':_0xf10472[_0x50353b(0x7f)],..._0x2eeb63})[_0x50353b(0xa5)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x2eeb63['functionName'])[_0x50353b(0x7e)]();}},personalBffUpdate={'service':'personal-bff','command':a29_0x1b852a(0x9f),'description':a29_0x1b852a(0xaa),'risk':'write','flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x510ff1){const _0x5d8d4e=a29_0x1b852a,_0xddc6cb=_0x510ff1[_0x5d8d4e(0x72)]('id'),_0x29bac7=buildUpdateInput(_0x510ff1),_0x120693=await updatePersonalBff(_0xddc6cb,_0x510ff1[_0x5d8d4e(0x7f)],_0x29bac7);return{'ok':!![],'data':detailBff(_0x120693),'message':_0x5d8d4e(0xa0)+_0x120693['id']+(_0x120693['functionName']?'\x20('+_0x120693[_0x5d8d4e(0xaf)]+')':'')};},async 'dryRun'(_0x184e24){const _0x492f79=a29_0x1b852a,_0x252eb2=_0x184e24[_0x492f79(0x72)]('id'),_0x453077=buildUpdateInput(_0x184e24);return dryRun(_0x492f79(0xb5),_0x492f79(0x9c)+_0x252eb2+_0x492f79(0xab))[_0x492f79(0x7d)]({'appCode':_0x184e24[_0x492f79(0x7f)],..._0x453077})['description'](_0x492f79(0x96)+_0x252eb2)['build']();}},personalBffExec={'service':a29_0x1b852a(0x88),'command':'exec','description':a29_0x1b852a(0x80),'risk':a29_0x1b852a(0xad),'flags':[{...ID_FLAG,'description':a29_0x1b852a(0x90)},{...PARAMS_FLAG,'description':a29_0x1b852a(0xae)}],async 'validate'(_0x56f15b){const _0x51a087=a29_0x1b852a;parseExecParams(_0x56f15b[_0x51a087(0x70)]('params'));},async 'execute'(_0x4a984b){const _0x326ba1=a29_0x1b852a,_0x4930bc=_0x4a984b[_0x326ba1(0x72)]('id'),_0xeb1635=parseExecParams(_0x4a984b[_0x326ba1(0x70)](_0x326ba1(0xac))),_0x1f9c3e=await executePersonalBff(_0x4930bc,_0x4a984b[_0x326ba1(0x7f)],_0xeb1635);return{'ok':!![],'data':{'result':_0x1f9c3e},'message':_0x326ba1(0x8c)+_0x4930bc};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0x190ec3=a29_0x1b7f;(function(_0x16c5b8,_0x4e77e2){const _0x53f907=a29_0x1b7f,_0x328dbc=_0x16c5b8();while(!![]){try{const _0x137d87=-parseInt(_0x53f907(0x8b))/0x1*(parseInt(_0x53f907(0x99))/0x2)+-parseInt(_0x53f907(0xa0))/0x3+-parseInt(_0x53f907(0xb3))/0x4*(-parseInt(_0x53f907(0x96))/0x5)+parseInt(_0x53f907(0x88))/0x6+-parseInt(_0x53f907(0x86))/0x7+parseInt(_0x53f907(0x9d))/0x8+parseInt(_0x53f907(0xb0))/0x9*(parseInt(_0x53f907(0xaf))/0xa);if(_0x137d87===_0x4e77e2)break;else _0x328dbc['push'](_0x328dbc['shift']());}catch(_0x3c4b03){_0x328dbc['push'](_0x328dbc['shift']());}}}(a29_0x22e2,0x65234));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';function a29_0x22e2(){const _0x3d5be2=['--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','keys','version','str','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','Optional\x20source\x20RuntimeAgent\x20session\x20id','string','build','scriptType','Preview:\x20update\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','99290sFBpRy','819atSEsR','createTime','functionName','3636fxCjiH','personal-bff','utf8','file','high-risk-write','isArray','Show\x20one\x20personal\x20BFF\x20by\x20id','trim','name','verbose','Preview:\x20create\x20personal\x20BFF\x20','Created\x20personal\x20BFF\x20','/update','detail','Executed\x20personal\x20BFF\x20','appCode','gmtModified','description','File\x20path\x20is\x20required.','updateTime','map','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','/client/runtime-bff/personal/','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','flag','File\x20not\x20found:\x20','944013otMINg','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','666882cgiqlX','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','write','125163PmOTRJ','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','body','Personal\x20BFF\x20script\x20file\x20is\x20blank.','test','File\x20is\x20not\x20a\x20regular\x20file:\x20','scriptContent','params','create','gmtCreate','validation','370KbalWw','sourceSessionId','list','10EAgXON','num','bool','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','3492168KiMFSC','POST','length','1030617YytPMH','source-session-id','read','--params\x20must\x20be\x20a\x20JSON\x20object.'];a29_0x22e2=function(){return _0x3d5be2;};return a29_0x22e2();}import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x190ec3(0xb6),'type':a29_0x190ec3(0xaa),'description':a29_0x190ec3(0x8c)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x190ec3(0xaa),'required':!![],'description':a29_0x190ec3(0x87)},DESCRIPTION_FLAG={'name':a29_0x190ec3(0xc4),'type':a29_0x190ec3(0xaa),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x190ec3(0xa1),'type':a29_0x190ec3(0xaa),'description':a29_0x190ec3(0xa9)};function normalizeFunctionName(_0x4afd8e){const _0x53fb26=a29_0x190ec3,_0x15252b=String(_0x4afd8e||'')['trim']();if(!_0x15252b||!FUNCTION_NAME_PATTERN[_0x53fb26(0x8f)](_0x15252b))throw CliErrors['validation'](_0x53fb26(0xa4));return _0x15252b;}function readScriptFile(_0x176835){const _0x347711=a29_0x190ec3;if(!_0x176835)throw CliErrors[_0x347711(0x95)](_0x347711(0xc5));if(!existsSync(_0x176835))throw CliErrors['validation'](_0x347711(0x85)+_0x176835);if(!statSync(_0x176835)['isFile']())throw CliErrors[_0x347711(0x95)](_0x347711(0x90)+_0x176835);const _0x1fc075=readFileSync(_0x176835,_0x347711(0xb5));if(!_0x1fc075[_0x347711(0xba)]())throw CliErrors[_0x347711(0x95)](_0x347711(0x8e));return _0x1fc075;}function optionalTrimmed(_0xecc3a3){const _0x3d94e1=a29_0x190ec3,_0x12fa76=String(_0xecc3a3||'')[_0x3d94e1(0xba)]();return _0x12fa76||undefined;}function summarizeBff(_0x1e8280){const _0x1fc39a=a29_0x190ec3;return{'id':_0x1e8280['id'],'appCode':_0x1e8280[_0x1fc39a(0xc2)],'functionName':_0x1e8280[_0x1fc39a(0xb2)],'description':_0x1e8280['description'],'scriptType':_0x1e8280[_0x1fc39a(0xac)],'version':_0x1e8280[_0x1fc39a(0xa6)],'gmtModified':_0x1e8280['gmtModified'],'updateTime':_0x1e8280[_0x1fc39a(0xc6)]};}function detailBff(_0x2244aa){const _0x5bdd9b=a29_0x190ec3;return{'id':_0x2244aa['id'],'appCode':_0x2244aa[_0x5bdd9b(0xc2)],'functionName':_0x2244aa['functionName'],'description':_0x2244aa[_0x5bdd9b(0xc4)],'scriptType':_0x2244aa[_0x5bdd9b(0xac)],'scriptContent':_0x2244aa[_0x5bdd9b(0x91)]??'','config':_0x2244aa['config'],'version':_0x2244aa[_0x5bdd9b(0xa6)],'createUserId':_0x2244aa['createUserId'],'gmtCreate':_0x2244aa[_0x5bdd9b(0x94)],'gmtModified':_0x2244aa[_0x5bdd9b(0xc3)],'createTime':_0x2244aa[_0x5bdd9b(0xb1)],'updateTime':_0x2244aa[_0x5bdd9b(0xc6)]};}function buildCreateInput(_0x2ae61e){const _0x307212=a29_0x190ec3;return{'functionName':normalizeFunctionName(_0x2ae61e[_0x307212(0xa7)]('name')),...optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xc4)))?{'description':optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xc4)))}:{},'scriptContent':readScriptFile(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xb6))),...optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xa1)))?{'sourceSessionId':optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xa1)))}:{}};}function buildUpdateInput(_0x3d9aed){const _0x471f21=a29_0x190ec3,_0x38cbd8={};optionalTrimmed(_0x3d9aed['str']('name'))&&(_0x38cbd8[_0x471f21(0xb2)]=normalizeFunctionName(_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xbb))));_0x3d9aed[_0x471f21(0x84)](_0x471f21(0xc4))!==undefined&&(_0x38cbd8[_0x471f21(0xc4)]=_0x3d9aed['str']('description'));optionalTrimmed(_0x3d9aed['str'](_0x471f21(0xb6)))&&(_0x38cbd8['scriptContent']=readScriptFile(_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xb6))));_0x3d9aed[_0x471f21(0x84)](_0x471f21(0xa1))!==undefined&&(_0x38cbd8[_0x471f21(0x97)]=_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xa1)));if(Object[_0x471f21(0xa5)](_0x38cbd8)[_0x471f21(0x9f)]===0x0)throw CliErrors[_0x471f21(0x95)](_0x471f21(0xc8));return _0x38cbd8;}function parseExecParams(_0x46d015){const _0x28dd8c=a29_0x190ec3,_0x21ab10=parseJsonParams(_0x46d015)??{};if(Array[_0x28dd8c(0xb8)](_0x21ab10))throw CliErrors[_0x28dd8c(0x95)](_0x28dd8c(0xa3));return _0x21ab10;}const personalBffList={'service':'personal-bff','command':a29_0x190ec3(0x98),'description':a29_0x190ec3(0x89),'risk':a29_0x190ec3(0xa2),'flags':[VERBOSE_FLAG],async 'execute'(_0x3546df){const _0x334d55=a29_0x190ec3,_0xba9659=await listPersonalBffs(_0x3546df['appCode']);return{'ok':!![],'data':{'total':_0xba9659[_0x334d55(0x9f)],'items':_0x3546df[_0x334d55(0x9b)](_0x334d55(0xbc))?_0xba9659:_0xba9659[_0x334d55(0xc7)](summarizeBff)}};}},personalBffDetail={'service':a29_0x190ec3(0xb4),'command':a29_0x190ec3(0xc0),'description':a29_0x190ec3(0xb9),'risk':a29_0x190ec3(0xa2),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)}],async 'execute'(_0x1f80a6){const _0xc8abdf=a29_0x190ec3,_0x19e650=await getPersonalBff(_0x1f80a6[_0xc8abdf(0x9a)]('id'),_0x1f80a6['appCode']);return{'ok':!![],'data':detailBff(_0x19e650)};}},personalBffCreate={'service':'personal-bff','command':a29_0x190ec3(0x93),'description':a29_0x190ec3(0x9c),'risk':a29_0x190ec3(0x8a),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2f6889){const _0x201574=a29_0x190ec3,_0x540956=buildCreateInput(_0x2f6889),_0xe8d050=await createPersonalBff(_0x2f6889[_0x201574(0xc2)],_0x540956);return{'ok':!![],'data':detailBff(_0xe8d050),'message':_0x201574(0xbe)+_0xe8d050['id']+(_0xe8d050['functionName']?'\x20('+_0xe8d050[_0x201574(0xb2)]+')':'')};},async 'dryRun'(_0x56f5a3){const _0x58b28f=a29_0x190ec3,_0x429299=buildCreateInput(_0x56f5a3);return dryRun(_0x58b28f(0x9e),'/client/runtime-bff/personal/create')[_0x58b28f(0x8d)]({'appCode':_0x56f5a3[_0x58b28f(0xc2)],..._0x429299})[_0x58b28f(0xc4)](_0x58b28f(0xbd)+_0x429299[_0x58b28f(0xb2)])[_0x58b28f(0xab)]();}},personalBffUpdate={'service':a29_0x190ec3(0xb4),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x190ec3(0x8a),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x1a09ed){const _0x344f6b=a29_0x190ec3,_0x27111f=_0x1a09ed[_0x344f6b(0x9a)]('id'),_0x1b515a=buildUpdateInput(_0x1a09ed),_0x398272=await updatePersonalBff(_0x27111f,_0x1a09ed['appCode'],_0x1b515a);return{'ok':!![],'data':detailBff(_0x398272),'message':'Updated\x20personal\x20BFF\x20'+_0x398272['id']+(_0x398272[_0x344f6b(0xb2)]?'\x20('+_0x398272['functionName']+')':'')};},async 'dryRun'(_0x716307){const _0x46fc8f=a29_0x190ec3,_0x2281d8=_0x716307['num']('id'),_0x2b1f9a=buildUpdateInput(_0x716307);return dryRun('POST',_0x46fc8f(0xc9)+_0x2281d8+_0x46fc8f(0xbf))[_0x46fc8f(0x8d)]({'appCode':_0x716307[_0x46fc8f(0xc2)],..._0x2b1f9a})[_0x46fc8f(0xc4)](_0x46fc8f(0xad)+_0x2281d8)[_0x46fc8f(0xab)]();}},personalBffExec={'service':a29_0x190ec3(0xb4),'command':'exec','description':a29_0x190ec3(0xca),'risk':a29_0x190ec3(0xb7),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)},{...PARAMS_FLAG,'description':a29_0x190ec3(0xa8)}],async 'validate'(_0x2246f7){const _0x2418e9=a29_0x190ec3;parseExecParams(_0x2246f7[_0x2418e9(0xa7)]('params'));},async 'execute'(_0x384300){const _0x251faa=a29_0x190ec3,_0x2e829c=_0x384300[_0x251faa(0x9a)]('id'),_0x3b21ed=parseExecParams(_0x384300['str'](_0x251faa(0x92))),_0xd150a=await executePersonalBff(_0x2e829c,_0x384300[_0x251faa(0xc2)],_0x3b21ed);return{'ok':!![],'data':{'result':_0xd150a},'message':_0x251faa(0xc1)+_0x2e829c};}};function a29_0x1b7f(_0x3cbb08,_0x45709e){_0x3cbb08=_0x3cbb08-0x84;const _0x22e2de=a29_0x22e2();let _0x1b7f17=_0x22e2de[_0x3cbb08];return _0x1b7f17;}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x102f55=a30_0x12a5;(function(_0x10ef80,_0x9e1a8c){const _0x3b33db=a30_0x12a5,_0x4b3f13=_0x10ef80();while(!![]){try{const _0x5965da=-parseInt(_0x3b33db(0x1e2))/0x1+parseInt(_0x3b33db(0x1ca))/0x2*(-parseInt(_0x3b33db(0x1c0))/0x3)+parseInt(_0x3b33db(0x1d8))/0x4+parseInt(_0x3b33db(0x1c3))/0x5+-parseInt(_0x3b33db(0x1df))/0x6*(parseInt(_0x3b33db(0x1d6))/0x7)+-parseInt(_0x3b33db(0x1d9))/0x8*(-parseInt(_0x3b33db(0x1de))/0x9)+parseInt(_0x3b33db(0x1e3))/0xa*(parseInt(_0x3b33db(0x1c6))/0xb);if(_0x5965da===_0x9e1a8c)break;else _0x4b3f13['push'](_0x4b3f13['shift']());}catch(_0x50cb8a){_0x4b3f13['push'](_0x4b3f13['shift']());}}}(a30_0x4f88,0xdf253));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';function a30_0x4f88(){const _0x496cd3=['10ZYyzCW','list','Artifacts','\x20\x20[high-risk-write]','Service\x20Tree','push','risk','Skills','description','1386EYYECW','SQL\x20Queries','read','5750020clHRYc','CLI\x20Built-in\x20Skill','from','11150029pigphY','Instant\x20API','Configuration','Personal\x20BFF','642sFEnJL','run','Workspace','install','isSingleCommand','BFF\x20Scripts','Authentication','Schema','command','has','API\x20Documentation','set','126gvbFLS','service','1178368leSTPt','3467528ayKjSc','App\x20Management','get','Self\x20Update','map','27bKflUf','344790ZKgJin','show','\x20\x20[write]','1661883xdScjC'];a30_0x4f88=function(){return _0x496cd3;};return a30_0x4f88();}import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';function a30_0x12a5(_0x5a388d,_0xeb6f49){_0x5a388d=_0x5a388d-0x1c0;const _0x4f886b=a30_0x4f88();let _0x12a555=_0x4f886b[_0x5a388d];return _0x12a555;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x333bae){const _0xc71402=a30_0x12a5;for(const _0x54f94a of _0x333bae){definitions[_0xc71402(0x1d5)](_0x54f94a['service']+':'+_0x54f94a['command'],_0x54f94a);let _0x252619=serviceGroups[_0xc71402(0x1db)](_0x54f94a['service']);!_0x252619&&(_0x252619=[],serviceGroups[_0xc71402(0x1d5)](_0x54f94a[_0xc71402(0x1d7)],_0x252619)),_0x252619[_0xc71402(0x1e8)](_0x54f94a);}}function registerService(_0x2dca1e,_0x21652b,_0xc7e297){const _0xef4092=a30_0x12a5;registerDefinitions(_0x21652b);const _0x5f1617=_0x16b96e=>_0x16b96e===_0xef4092(0x1c2)?'':_0x16b96e==='write'?_0xef4092(0x1e1):_0xef4092(0x1e6),_0x5cfde5={'service':_0x21652b[0x0][_0xef4092(0x1d7)],'label':_0x2dca1e,'commands':_0x21652b[_0xef4092(0x1dd)](_0x58a246=>({'command':_0x58a246['command'],'description':_0x58a246[_0xef4092(0x1eb)],'tag':_0x5f1617(_0x58a246[_0xef4092(0x1e9)])})),'defaultCommand':_0xc7e297?.['defaultCommand']??(_0xc7e297?.[_0xef4092(0x1ce)]?_0x21652b[0x0][_0xef4092(0x1d2)]:undefined),'isSingleCommand':_0xc7e297?.[_0xef4092(0x1ce)]};serviceRegistry[_0xef4092(0x1e8)](_0x5cfde5),serviceByName[_0xef4092(0x1d5)](_0x5cfde5['service'],_0x5cfde5);}registerService(a30_0x102f55(0x1d0),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x102f55(0x1d4),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x102f55(0x1c7),dataDefinitions),registerService(a30_0x102f55(0x1c1),sqlDefinitions),registerService(a30_0x102f55(0x1cf),bffDefinitions),registerService(a30_0x102f55(0x1c9),personalBffDefinitions),registerService(a30_0x102f55(0x1e5),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x102f55(0x1da),appDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1cc),workspaceDefinitions),registerService(a30_0x102f55(0x1c8),configDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1e7),serviceDefinitions,{'defaultCommand':a30_0x102f55(0x1e4)}),registerService(a30_0x102f55(0x1ea),skillDefinitions,{'defaultCommand':a30_0x102f55(0x1cd)}),registerService(a30_0x102f55(0x1c4),cliSkillDefinitions,{'defaultCommand':a30_0x102f55(0x1cd)}),registerService(a30_0x102f55(0x1dc),[updateDefinition],{'defaultCommand':a30_0x102f55(0x1cb),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x102f55(0x1d1),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a30_0x102f55(0x1e0)});export function findDefinition(_0x1b7d90,_0xe659ef){const _0x5de566=a30_0x102f55;return definitions[_0x5de566(0x1db)](_0x1b7d90+':'+_0xe659ef);}export function isKnownService(_0x2dad48){const _0x4bdf0b=a30_0x102f55;return serviceByName[_0x4bdf0b(0x1d3)](_0x2dad48);}export function getServiceEntry(_0x55e242){const _0x4f211f=a30_0x102f55;return serviceByName[_0x4f211f(0x1db)](_0x55e242);}export function getAllDefinitions(){const _0x2131eb=a30_0x102f55;return Array[_0x2131eb(0x1c5)](definitions['values']());}
1
+ const a30_0x55771a=a30_0x1845;(function(_0x33811b,_0x2288fc){const _0x220ebb=a30_0x1845,_0x2ad3db=_0x33811b();while(!![]){try{const _0x5b5fe7=parseInt(_0x220ebb(0x137))/0x1*(parseInt(_0x220ebb(0x14b))/0x2)+-parseInt(_0x220ebb(0x13b))/0x3*(parseInt(_0x220ebb(0x149))/0x4)+-parseInt(_0x220ebb(0x15a))/0x5+-parseInt(_0x220ebb(0x146))/0x6*(parseInt(_0x220ebb(0x13f))/0x7)+-parseInt(_0x220ebb(0x15c))/0x8+-parseInt(_0x220ebb(0x159))/0x9+-parseInt(_0x220ebb(0x145))/0xa*(-parseInt(_0x220ebb(0x13d))/0xb);if(_0x5b5fe7===_0x2288fc)break;else _0x2ad3db['push'](_0x2ad3db['shift']());}catch(_0x25e7eb){_0x2ad3db['push'](_0x2ad3db['shift']());}}}(a30_0x21f2,0x3e2c7));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';function a30_0x1845(_0x8376c4,_0x1e17bf){_0x8376c4=_0x8376c4-0x134;const _0x21f2f5=a30_0x21f2();let _0x18452f=_0x21f2f5[_0x8376c4];return _0x18452f;}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(_0x531d9d){const _0x2b83a3=a30_0x1845;for(const _0x10a471 of _0x531d9d){definitions[_0x2b83a3(0x14c)](_0x10a471[_0x2b83a3(0x14a)]+':'+_0x10a471[_0x2b83a3(0x151)],_0x10a471);let _0x558d17=serviceGroups[_0x2b83a3(0x134)](_0x10a471[_0x2b83a3(0x14a)]);!_0x558d17&&(_0x558d17=[],serviceGroups[_0x2b83a3(0x14c)](_0x10a471[_0x2b83a3(0x14a)],_0x558d17)),_0x558d17[_0x2b83a3(0x136)](_0x10a471);}}function registerService(_0x426d47,_0x1fa05c,_0x84193a){const _0x390e93=a30_0x1845;registerDefinitions(_0x1fa05c);const _0x1f8cab=_0x57698b=>_0x57698b===_0x390e93(0x144)?'':_0x57698b==='write'?_0x390e93(0x148):_0x390e93(0x13c),_0x246f71={'service':_0x1fa05c[0x0][_0x390e93(0x14a)],'label':_0x426d47,'commands':_0x1fa05c['map'](_0x4847ee=>({'command':_0x4847ee[_0x390e93(0x151)],'description':_0x4847ee['description'],'tag':_0x1f8cab(_0x4847ee[_0x390e93(0x13e)])})),'defaultCommand':_0x84193a?.[_0x390e93(0x14d)]??(_0x84193a?.[_0x390e93(0x13a)]?_0x1fa05c[0x0][_0x390e93(0x151)]:undefined),'isSingleCommand':_0x84193a?.[_0x390e93(0x13a)]};serviceRegistry['push'](_0x246f71),serviceByName['set'](_0x246f71[_0x390e93(0x14a)],_0x246f71);}registerService(a30_0x55771a(0x14f),authDefinitions,{'defaultCommand':a30_0x55771a(0x135)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x55771a(0x15e),datasetDefinitions),registerService(a30_0x55771a(0x15b),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0x55771a(0x139),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x55771a(0x157),artifactDefinitions),registerService(a30_0x55771a(0x147),kbDefinitions),registerService(a30_0x55771a(0x154),appDefinitions,{'defaultCommand':'list'}),registerService(a30_0x55771a(0x142),workspaceDefinitions),registerService(a30_0x55771a(0x156),configDefinitions,{'defaultCommand':'list'}),registerService(a30_0x55771a(0x153),serviceDefinitions,{'defaultCommand':'list'}),registerService('Skills',skillDefinitions,{'defaultCommand':a30_0x55771a(0x143)}),registerService(a30_0x55771a(0x155),cliSkillDefinitions,{'defaultCommand':a30_0x55771a(0x143)}),registerService(a30_0x55771a(0x158),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0x55771a(0x140),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x55771a(0x150),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x55771a(0x15d),logsDefinitions,{'defaultCommand':a30_0x55771a(0x152)});export function findDefinition(_0x544900,_0x22b6e1){const _0x149c15=a30_0x55771a;return definitions[_0x149c15(0x134)](_0x544900+':'+_0x22b6e1);}function a30_0x21f2(){const _0x1e51cb=['278707geDhxj','risk','488159OMwrGb','Diagnostics','has','Workspace','install','read','530cLzPen','18uIopVE','Knowledge\x20Base','\x20\x20[write]','3284Gkgmfm','service','2UMsPFc','set','defaultCommand','from','Authentication','Schema','command','show','Service\x20Tree','App\x20Management','CLI\x20Built-in\x20Skill','Configuration','Artifacts','Self\x20Update','1935171EwMXWu','2443425WOOCJj','Instant\x20API','956504mukSWg','Logs','Datasets','get','login','push','385157JKSDCW','values','BFF\x20Scripts','isSingleCommand','1611cIoUDu','\x20\x20[high-risk-write]'];a30_0x21f2=function(){return _0x1e51cb;};return a30_0x21f2();}export function isKnownService(_0x3dd31e){const _0x24bb0e=a30_0x55771a;return serviceByName[_0x24bb0e(0x141)](_0x3dd31e);}export function getServiceEntry(_0x8d0577){const _0x3999ed=a30_0x55771a;return serviceByName[_0x3999ed(0x134)](_0x8d0577);}export function getAllDefinitions(){const _0x30ca60=a30_0x55771a;return Array[_0x30ca60(0x14e)](definitions[_0x30ca60(0x138)]());}
@@ -1 +1 @@
1
- const a31_0x1ce319=a31_0x3387;(function(_0x532420,_0x31fad9){const _0x355a55=a31_0x3387,_0x396cd3=_0x532420();while(!![]){try{const _0x50eede=-parseInt(_0x355a55(0x159))/0x1*(-parseInt(_0x355a55(0x15b))/0x2)+parseInt(_0x355a55(0x160))/0x3+-parseInt(_0x355a55(0x15d))/0x4*(parseInt(_0x355a55(0x162))/0x5)+parseInt(_0x355a55(0x161))/0x6*(parseInt(_0x355a55(0x15a))/0x7)+-parseInt(_0x355a55(0x165))/0x8*(-parseInt(_0x355a55(0x166))/0x9)+-parseInt(_0x355a55(0x15c))/0xa+-parseInt(_0x355a55(0x164))/0xb*(-parseInt(_0x355a55(0x15f))/0xc);if(_0x50eede===_0x31fad9)break;else _0x396cd3['push'](_0x396cd3['shift']());}catch(_0x5cdbad){_0x396cd3['push'](_0x396cd3['shift']());}}}(a31_0x1116,0x8d047));function a31_0x1116(){const _0x361ebb=['2wIxIWw','91819ibhIgS','43270FmliGn','9155120pWfhfD','25444DMBsQb','read','252ptDlfz','151890ixRqvr','60SsgcLh','205qKlkoK','export','785147SjHRql','296QHtvba','7281LPpjnH','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a31_0x1116=function(){return _0x361ebb;};return a31_0x1116();}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x3387(_0x4343b6,_0x14d1aa){_0x4343b6=_0x4343b6-0x159;const _0x1116bd=a31_0x1116();let _0x33873b=_0x1116bd[_0x4343b6];return _0x33873b;}async function execute(_0x8725e4){const _0x376c7d=await buildSchemaPayload();return{'ok':!![],'data':_0x376c7d};}export const schemaDefinition={'service':'schema','command':a31_0x1ce319(0x163),'description':a31_0x1ce319(0x167),'risk':a31_0x1ce319(0x15e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a31_0x1a645d=a31_0x52c5;(function(_0x3b9ecd,_0x176964){const _0x4dc5bc=a31_0x52c5,_0xf1c2ca=_0x3b9ecd();while(!![]){try{const _0x3ae268=parseInt(_0x4dc5bc(0x8a))/0x1*(-parseInt(_0x4dc5bc(0x93))/0x2)+-parseInt(_0x4dc5bc(0x90))/0x3*(parseInt(_0x4dc5bc(0x95))/0x4)+-parseInt(_0x4dc5bc(0x92))/0x5+-parseInt(_0x4dc5bc(0x94))/0x6+parseInt(_0x4dc5bc(0x8f))/0x7*(parseInt(_0x4dc5bc(0x91))/0x8)+parseInt(_0x4dc5bc(0x8d))/0x9+parseInt(_0x4dc5bc(0x8e))/0xa*(parseInt(_0x4dc5bc(0x8c))/0xb);if(_0x3ae268===_0x176964)break;else _0xf1c2ca['push'](_0xf1c2ca['shift']());}catch(_0x5b924e){_0xf1c2ca['push'](_0xf1c2ca['shift']());}}}(a31_0x44da,0xf2e80));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x386df4){const _0x339d8c=await buildSchemaPayload();return{'ok':!![],'data':_0x339d8c};}function a31_0x52c5(_0x402736,_0x2b4196){_0x402736=_0x402736-0x8a;const _0x44da96=a31_0x44da();let _0x52c57d=_0x44da96[_0x402736];return _0x52c57d;}export const schemaDefinition={'service':a31_0x1a645d(0x8b),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x44da(){const _0x583d97=['8095950wjLYSm','4vfSyqy','39KAMWAS','schema','11ttPQqP','8627067sKeyCq','24717170exsGLN','4567647JzMTIT','2123259zGqvez','8CjhFqn','4293165EpzFSC','8828uPDZAS'];a31_0x44da=function(){return _0x583d97;};return a31_0x44da();}
@@ -1 +1 @@
1
- (function(_0x34b089,_0x14636e){const _0x39a2b8=a32_0x4576,_0x3ffe4d=_0x34b089();while(!![]){try{const _0x1d2695=-parseInt(_0x39a2b8(0x1a6))/0x1+-parseInt(_0x39a2b8(0x1c6))/0x2*(parseInt(_0x39a2b8(0x19d))/0x3)+-parseInt(_0x39a2b8(0x198))/0x4+-parseInt(_0x39a2b8(0x1c7))/0x5*(-parseInt(_0x39a2b8(0x19f))/0x6)+-parseInt(_0x39a2b8(0x18d))/0x7+parseInt(_0x39a2b8(0x1b8))/0x8+-parseInt(_0x39a2b8(0x1a9))/0x9*(-parseInt(_0x39a2b8(0x1ce))/0xa);if(_0x1d2695===_0x14636e)break;else _0x3ffe4d['push'](_0x3ffe4d['shift']());}catch(_0x1427ba){_0x3ffe4d['push'](_0x3ffe4d['shift']());}}}(a32_0x1422,0xab868));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';function a32_0x1422(){const _0x393728=['Run\x20service\x20command\x20','number','employeeId','required','cliName','filter','trim','args','service','nickName','username','code','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','Cannot\x20resolve\x20datatable\x20\x22','command','commands','cliPath','\x20\x20\x20\x20kind:\x20\x20\x20\x20','rawFlags','sqlCode','\x20\x20\x20\x20scriptName:\x20','envName','find','target','app','startsWith','fullPath','default','7834862stuOYQ','join','env','enum','boolean','scriptName','const','sql','loginName','\x20\x20[','tenantCode','3172328ZgqvCh','\x20\x20\x20\x20datatable:\x20','appcode','flatMap','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','93KzSJtn','string','3797796qNnSQU','kind','\x20requires\x20target.scriptName.','\x20->\x20','ctx.','flags','tree','1354063lYconh','data','params','90lHiThZ','slice','remainingArgs','bff','length','Service\x20command\x20','\x20\x20\x20\x20command:\x20','map','risk','mapTo','name','source','datasetCode','Use\x20`','datatable','5972208FocXfz','padEnd','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','appCode','operator','type','\x20requires\x20target.sqlCode.','bffId','`\x20to\x20inspect\x20the\x20manifest.','now','Unknown\x20appRef\x20\x22','some','description','userName','59026LaeKyE','5Gglqcw','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20\x20MAP\x20TO','appRef','Commands:','\x20service\x20detail\x20--service\x20','push','3504390yieROD','validation','tableName'];a32_0x1422=function(){return _0x393728;};return a32_0x1422();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x35948e,_0x37a828){const _0x85a3b1=a32_0x4576,_0x4447e5=listLocalServiceTrees();let _0x1f08d1;for(const _0x58c5c0 of _0x4447e5){const _0x2d50b1=matchServiceTreeCommand(_0x58c5c0,_0x35948e);if(!_0x2d50b1)continue;(!_0x1f08d1||_0x2d50b1[_0x85a3b1(0x1df)]['fullPath'][_0x85a3b1(0x1ad)]>_0x1f08d1['command']['fullPath'][_0x85a3b1(0x1ad)])&&(_0x1f08d1={'tree':_0x58c5c0,'command':_0x2d50b1[_0x85a3b1(0x1df)],'remainingArgs':_0x2d50b1['remainingArgs']});}if(!_0x1f08d1)return undefined;const _0x527ce9={..._0x37a828};return applyAppBinding(_0x1f08d1['tree'],_0x1f08d1['command'],_0x527ce9),{'definition':buildDynamicCommandDefinition(_0x1f08d1[_0x85a3b1(0x1a5)],_0x1f08d1['command']),'args':_0x1f08d1[_0x85a3b1(0x1ab)],'flags':_0x527ce9,'tree':_0x1f08d1[_0x85a3b1(0x1a5)],'command':_0x1f08d1['command']};}function a32_0x4576(_0x4d25ee,_0x40470c){_0x4d25ee=_0x4d25ee-0x187;const _0x1422d1=a32_0x1422();let _0x45765a=_0x1422d1[_0x4d25ee];return _0x45765a;}export function generateDynamicServiceHelp(_0x30f6ed){const _0x3dfce9=a32_0x4576,_0x2863ba=listLocalServiceTrees()[_0x3dfce9(0x187)](_0x4ab103=>_0x4ab103['service'][_0x3dfce9(0x1dc)]===_0x30f6ed);if(!_0x2863ba)return undefined;const _0xa1d738=[CLI_BIN_NAME+'\x20'+_0x30f6ed+'\x20<command>\x20[flags]','',_0x2863ba[_0x3dfce9(0x1d9)]['name']||_0x30f6ed,_0x2863ba[_0x3dfce9(0x1d9)][_0x3dfce9(0x1c4)]?'\x20\x20'+_0x2863ba[_0x3dfce9(0x1d9)][_0x3dfce9(0x1c4)]:'','',_0x3dfce9(0x1cb),..._0x2863ba[_0x3dfce9(0x1e0)][_0x3dfce9(0x1b0)](_0x5869ee=>{const _0x299428=_0x3dfce9,_0x14c877=_0x5869ee[_0x299428(0x18b)][_0x299428(0x1aa)](0x1)['join']('\x20'),_0x1647ef=_0x5869ee['risk']==='read'?'':'\x20['+_0x5869ee[_0x299428(0x1b1)]+']';return'\x20\x20'+_0x14c877[_0x299428(0x1b9)](0x18)+'\x20'+(_0x5869ee['description']||'')+_0x1647ef;}),'',_0x3dfce9(0x1b6)+CLI_BIN_NAME+_0x3dfce9(0x1cc)+_0x30f6ed+_0x3dfce9(0x1c0)][_0x3dfce9(0x1d6)](Boolean);return _0xa1d738['join']('\x0a');}export function listDynamicServiceEntries(){const _0x492560=a32_0x4576;return listLocalServices()[_0x492560(0x1b0)](_0x1b09a9=>{const _0x3ed147=_0x492560,_0x40d635=_0x1b09a9['normalizedManifest'];return{'service':_0x40d635[_0x3ed147(0x1d9)][_0x3ed147(0x1dc)],'label':_0x40d635[_0x3ed147(0x1d9)][_0x3ed147(0x1b3)]||_0x40d635['service'][_0x3ed147(0x1dc)],'commands':_0x40d635[_0x3ed147(0x1e0)][_0x3ed147(0x1b0)](_0x32ff83=>({'command':dynamicCommandName(_0x32ff83),'description':_0x32ff83[_0x3ed147(0x1c4)]||_0x3ed147(0x1d1)+_0x32ff83[_0x3ed147(0x1e1)],'tag':riskTag(_0x32ff83[_0x3ed147(0x1b1)])}))};});}export function getDynamicServiceEntry(_0x5391e8){const _0x180de6=a32_0x4576;return listDynamicServiceEntries()[_0x180de6(0x187)](_0x5cc624=>_0x5cc624[_0x180de6(0x1d9)]===_0x5391e8);}export function listDynamicServiceDefinitions(_0x1af5db){const _0x3f1bf4=a32_0x4576;return listLocalServiceTrees()[_0x3f1bf4(0x1d6)](_0xaa5622=>!_0x1af5db||_0xaa5622['service'][_0x3f1bf4(0x1dc)]===_0x1af5db)[_0x3f1bf4(0x19b)](_0x9b3bf7=>_0x9b3bf7[_0x3f1bf4(0x1e0)]['map'](_0xe59bda=>buildDynamicCommandDefinition(_0x9b3bf7,_0xe59bda)));}export function getDynamicServiceDefinitions(_0x499a69){const _0x2b2cf3=listDynamicServiceDefinitions(_0x499a69);return _0x2b2cf3['length']>0x0?_0x2b2cf3:undefined;}export function findDynamicServiceDefinition(_0x5be088,_0x4738f3){const _0x427d05=a32_0x4576;return listDynamicServiceDefinitions(_0x5be088)[_0x427d05(0x187)](_0x24b18b=>_0x24b18b[_0x427d05(0x1df)]===_0x4738f3);}export function buildDynamicCommandDefinition(_0x55fb91,_0x556d44){const _0x1d212d=a32_0x4576;return{'service':_0x55fb91[_0x1d212d(0x1d9)][_0x1d212d(0x1dc)],'command':dynamicCommandName(_0x556d44),'description':_0x556d44[_0x1d212d(0x1c4)]||'Run\x20service\x20command\x20'+_0x556d44[_0x1d212d(0x1e1)],'risk':_0x556d44[_0x1d212d(0x1b1)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x556d44[_0x1d212d(0x1d8)][_0x1d212d(0x1b0)](_0x4ef51c=>({'name':_0x4ef51c[_0x1d212d(0x1b3)],'description':_0x4ef51c[_0x1d212d(0x1c4)]||_0x4ef51c['name'],'required':_0x4ef51c[_0x1d212d(0x1d4)]})),'flags':_0x556d44[_0x1d212d(0x1a4)][_0x1d212d(0x1b0)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x556d44),async 'dryRun'(_0x17a1e9){const _0x40596a=_0x1d212d,_0x4977a4=await compilePlan(_0x556d44,_0x17a1e9);return{'method':'SERVICE_TREE','url':_0x556d44[_0x40596a(0x1e1)],'body':{'target':targetPreview(_0x4977a4),'params':_0x4977a4[_0x40596a(0x1a8)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x556d44[_0x40596a(0x1e1)]};},async 'execute'(_0x53a759){const _0x59cdb2=_0x1d212d,_0x209e0d=await compilePlan(_0x556d44,_0x53a759),_0x471948=Date['now'](),_0x5e43fb=await executePlan(_0x209e0d,_0x556d44,_0x53a759),_0x12b44e=Date[_0x59cdb2(0x1c1)]()-_0x471948;return{'ok':!![],'data':{'service':_0x55fb91['service'],'command':_0x556d44[_0x59cdb2(0x1e1)],'target':targetPreview(_0x209e0d),'result':_0x5e43fb,'elapsed':_0x12b44e},'message':_0x59cdb2(0x1ae)+_0x556d44[_0x59cdb2(0x1e1)]+'\x20completed\x20in\x20'+_0x12b44e+'ms'};}};}function dynamicCommandName(_0x16038e){const _0x25a132=a32_0x4576;return _0x16038e[_0x25a132(0x18b)][_0x25a132(0x1aa)](0x1)[_0x25a132(0x18e)]('\x20');}function riskTag(_0x112671){const _0x21e049=a32_0x4576;return _0x112671==='read'?'':_0x21e049(0x196)+_0x112671+']';}function flagToCommandFlag(_0x31dcfa){const _0x2e92b5=a32_0x4576;return{'name':_0x31dcfa[_0x2e92b5(0x1d5)],'type':_0x31dcfa[_0x2e92b5(0x1bd)]==='json'?_0x2e92b5(0x19e):_0x31dcfa['type'],'description':_0x31dcfa['description']||_0x31dcfa[_0x2e92b5(0x1b3)],'required':_0x31dcfa[_0x2e92b5(0x1d4)],'default':isPrimitiveFlagDefault(_0x31dcfa[_0x2e92b5(0x18c)])?_0x31dcfa[_0x2e92b5(0x18c)]:undefined,'enum':_0x31dcfa[_0x2e92b5(0x190)]};}async function compilePlan(_0x400451,_0x1a3534){const _0x57ee7d=a32_0x4576;return compileServiceTreeCommand(_0x400451,{'flags':_0x1a3534[_0x57ee7d(0x1e3)],'args':_0x1a3534[_0x57ee7d(0x1d8)],'context':await buildServiceContext(_0x400451,_0x1a3534)});}async function buildServiceContext(_0x17f258,_0x2ffb8a){const _0x475195=a32_0x4576,_0x46e61e={'appCode':_0x2ffb8a[_0x475195(0x1bb)],'env':_0x2ffb8a['envName'],'envName':_0x2ffb8a[_0x475195(0x1e6)]};if(!usesRuntimeContext(_0x17f258))return _0x46e61e;const _0x485435=await getLoginUserInfo(),_0x14e43c=pickFirst(_0x485435['userId'],_0x485435['id']);return{..._0x46e61e,'user':_0x485435,'userId':_0x14e43c,'id':_0x485435['id'],'username':pickFirst(_0x485435[_0x475195(0x1db)],_0x485435[_0x475195(0x1c5)],_0x485435[_0x475195(0x195)]),'userName':_0x485435['userName'],'nickname':pickFirst(_0x485435['nickname'],_0x485435[_0x475195(0x1da)]),'nickName':_0x485435[_0x475195(0x1da)],'tenantCode':_0x485435[_0x475195(0x197)],'employeeId':_0x485435[_0x475195(0x1d3)]};}function usesRuntimeContext(_0x4c9d58){const _0x50924b=a32_0x4576;return _0x4c9d58['mapTo'][_0x50924b(0x1c3)](_0xe20fc2=>typeof _0xe20fc2[_0x50924b(0x1b4)]===_0x50924b(0x19e)&&(_0xe20fc2[_0x50924b(0x1b4)][_0x50924b(0x18a)]('context.')||_0xe20fc2[_0x50924b(0x1b4)]['startsWith'](_0x50924b(0x1a3))));}function pickFirst(..._0x488de3){const _0x1ac1a8=a32_0x4576;return _0x488de3[_0x1ac1a8(0x187)](_0x367192=>_0x367192!==undefined&&_0x367192!==null);}async function executePlan(_0x23ed9e,_0x4d156f,_0x48f81b){const _0x79405c=a32_0x4576;if(_0x23ed9e[_0x79405c(0x1a0)]===_0x79405c(0x1a7)){const _0x521a47=await resolveDatasetCode(_0x23ed9e,_0x4d156f,_0x48f81b);return executeData(_0x521a47,_0x23ed9e[_0x79405c(0x1df)],_0x23ed9e[_0x79405c(0x1a8)]);}if(_0x23ed9e[_0x79405c(0x1a0)]===_0x79405c(0x194)){if(!_0x23ed9e[_0x79405c(0x1e4)])throw CliErrors[_0x79405c(0x1cf)]('Service\x20command\x20'+_0x4d156f[_0x79405c(0x1e1)]+_0x79405c(0x1be));return executeSdkSql(_0x23ed9e[_0x79405c(0x1e4)],normalizeScalarParams(_0x23ed9e['params']));}if(_0x23ed9e['kind']===_0x79405c(0x1ac)){const _0x1e5533=_0x23ed9e[_0x79405c(0x192)]||_0x23ed9e['bffCode']||(_0x23ed9e[_0x79405c(0x1bf)]==null?'':String(_0x23ed9e[_0x79405c(0x1bf)]));if(!_0x1e5533)throw CliErrors['validation'](_0x79405c(0x1ae)+_0x4d156f[_0x79405c(0x1e1)]+_0x79405c(0x1a1));return executeSdkBff(_0x1e5533,_0x23ed9e['params']);}throw CliErrors[_0x79405c(0x1cf)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x23ed9e[_0x79405c(0x1a0)]);}async function resolveDatasetCode(_0x2e12a3,_0x27fe9a,_0x381aea){const _0x162559=a32_0x4576;if(_0x2e12a3[_0x162559(0x1b5)])return _0x2e12a3[_0x162559(0x1b5)];if(!_0x2e12a3[_0x162559(0x1b7)])throw CliErrors[_0x162559(0x1cf)](_0x162559(0x1ae)+_0x27fe9a[_0x162559(0x1e1)]+_0x162559(0x19c));const _0x31367a=await listDatasets(_0x381aea['appCode']),_0x2c49df=_0x31367a[_0x162559(0x187)](_0x1448f3=>_0x1448f3['dbtableConfig']?.[_0x162559(0x1d0)]===_0x2e12a3[_0x162559(0x1b7)]);if(!_0x2c49df?.['code'])throw CliErrors['validation'](_0x162559(0x1de)+_0x2e12a3['datatable']+_0x162559(0x1c8)+_0x381aea[_0x162559(0x1bb)]+'.',_0x162559(0x1dd));return _0x2c49df[_0x162559(0x1dc)];}function applyAppBinding(_0x317b08,_0x3794b2,_0x498b8e){const _0x546bd1=a32_0x4576,_0x24d67d=_0x3794b2['target'][_0x546bd1(0x1ca)];if(!_0x24d67d)return;const _0x5ed38b=_0x317b08['appBindings'][_0x24d67d];if(!_0x5ed38b)throw CliErrors[_0x546bd1(0x1cf)](_0x546bd1(0x1c2)+_0x24d67d+'\x22\x20in\x20service\x20command\x20'+_0x3794b2[_0x546bd1(0x1e1)]+'.',_0x546bd1(0x1ba));const _0x3010c3=_0x5ed38b['appcode']||_0x5ed38b[_0x546bd1(0x1bb)];_0x3010c3&&!hasText(_0x498b8e[_0x546bd1(0x19a)])&&(_0x498b8e[_0x546bd1(0x19a)]=_0x3010c3),_0x5ed38b[_0x546bd1(0x189)]&&!hasText(_0x498b8e[_0x546bd1(0x189)])&&!hasText(_0x498b8e[_0x546bd1(0x19a)])&&(_0x498b8e[_0x546bd1(0x189)]=_0x5ed38b['app']),_0x5ed38b[_0x546bd1(0x18f)]&&!hasText(_0x498b8e[_0x546bd1(0x18f)])&&(_0x498b8e[_0x546bd1(0x18f)]=_0x5ed38b[_0x546bd1(0x18f)]);}function renderDynamicCommandHelp(_0x44deb9){const _0x53bd36=a32_0x4576,_0xd48392=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x53bd36(0x1e2)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1a0)],_0x53bd36(0x1af)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1df)]];if(_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1b5)])_0xd48392['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x44deb9['target']['datasetCode']);if(_0x44deb9['target'][_0x53bd36(0x1b7)])_0xd48392['push'](_0x53bd36(0x199)+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1b7)]);if(_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1e4)])_0xd48392[_0x53bd36(0x1cd)]('\x20\x20\x20\x20sqlCode:\x20'+_0x44deb9[_0x53bd36(0x188)][_0x53bd36(0x1e4)]);if(_0x44deb9[_0x53bd36(0x188)]['scriptName'])_0xd48392['push'](_0x53bd36(0x1e5)+_0x44deb9['target']['scriptName']);if(_0x44deb9[_0x53bd36(0x1b2)][_0x53bd36(0x1ad)]>0x0){_0xd48392['push']('',_0x53bd36(0x1c9));for(const _0x295793 of _0x44deb9['mapTo']){_0xd48392[_0x53bd36(0x1cd)]('\x20\x20\x20\x20'+(_0x295793[_0x53bd36(0x1b4)]||_0x53bd36(0x193))+_0x53bd36(0x1a2)+_0x295793[_0x53bd36(0x188)]+(_0x295793[_0x53bd36(0x1bc)]?'.'+_0x295793['operator']:''));}}return _0xd48392[_0x53bd36(0x18e)]('\x0a');}function targetPreview(_0x3a1507){const _0x3f4112=a32_0x4576;return{'kind':_0x3a1507[_0x3f4112(0x1a0)],'command':_0x3a1507[_0x3f4112(0x1df)],'appRef':_0x3a1507[_0x3f4112(0x1ca)],'datasetCode':_0x3a1507[_0x3f4112(0x1b5)],'datatable':_0x3a1507[_0x3f4112(0x1b7)],'sqlCode':_0x3a1507['sqlCode'],'bffCode':_0x3a1507['bffCode'],'bffId':_0x3a1507[_0x3f4112(0x1bf)],'scriptName':_0x3a1507[_0x3f4112(0x192)]};}function normalizeScalarParams(_0x397e01){const _0x26c650=a32_0x4576;return Object['fromEntries'](Object['entries'](_0x397e01)['filter'](([,_0x288781])=>typeof _0x288781===_0x26c650(0x19e)||typeof _0x288781===_0x26c650(0x1d2)));}function hasText(_0x30f31d){const _0x505091=a32_0x4576;return typeof _0x30f31d===_0x505091(0x19e)&&_0x30f31d[_0x505091(0x1d7)]()[_0x505091(0x1ad)]>0x0;}function isPrimitiveFlagDefault(_0x4591d4){const _0x3a5343=a32_0x4576;return _0x4591d4===undefined||typeof _0x4591d4==='string'||typeof _0x4591d4===_0x3a5343(0x1d2)||typeof _0x4591d4===_0x3a5343(0x191);}
1
+ (function(_0x466242,_0x76e5cc){const _0x40d2ba=a32_0x3332,_0x1d76f8=_0x466242();while(!![]){try{const _0x2208b9=parseInt(_0x40d2ba(0x192))/0x1+parseInt(_0x40d2ba(0x13e))/0x2+parseInt(_0x40d2ba(0x17f))/0x3+-parseInt(_0x40d2ba(0x141))/0x4+parseInt(_0x40d2ba(0x145))/0x5*(parseInt(_0x40d2ba(0x181))/0x6)+-parseInt(_0x40d2ba(0x165))/0x7+-parseInt(_0x40d2ba(0x15f))/0x8;if(_0x2208b9===_0x76e5cc)break;else _0x1d76f8['push'](_0x1d76f8['shift']());}catch(_0x18c005){_0x1d76f8['push'](_0x1d76f8['shift']());}}}(a32_0x466a,0x6f2c0));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(_0x2797c3,_0x1d1bae){const _0x6aaa9c=a32_0x3332,_0x5c0067=listLocalServiceTrees();let _0xa08690;for(const _0x216af5 of _0x5c0067){const _0x1368ee=matchServiceTreeCommand(_0x216af5,_0x2797c3);if(!_0x1368ee)continue;(!_0xa08690||_0x1368ee[_0x6aaa9c(0x173)]['fullPath'][_0x6aaa9c(0x18f)]>_0xa08690[_0x6aaa9c(0x173)][_0x6aaa9c(0x158)]['length'])&&(_0xa08690={'tree':_0x216af5,'command':_0x1368ee['command'],'remainingArgs':_0x1368ee[_0x6aaa9c(0x146)]});}if(!_0xa08690)return undefined;const _0x28817c={..._0x1d1bae};return applyAppBinding(_0xa08690['tree'],_0xa08690[_0x6aaa9c(0x173)],_0x28817c),{'definition':buildDynamicCommandDefinition(_0xa08690[_0x6aaa9c(0x162)],_0xa08690[_0x6aaa9c(0x173)]),'args':_0xa08690[_0x6aaa9c(0x146)],'flags':_0x28817c,'tree':_0xa08690[_0x6aaa9c(0x162)],'command':_0xa08690[_0x6aaa9c(0x173)]};}export function generateDynamicServiceHelp(_0x275489){const _0x4ff755=a32_0x3332,_0x191ee0=listLocalServiceTrees()[_0x4ff755(0x149)](_0x4355a8=>_0x4355a8['service'][_0x4ff755(0x185)]===_0x275489);if(!_0x191ee0)return undefined;const _0x7242ee=[CLI_BIN_NAME+'\x20'+_0x275489+'\x20<command>\x20[flags]','',_0x191ee0[_0x4ff755(0x197)][_0x4ff755(0x17a)]||_0x275489,_0x191ee0[_0x4ff755(0x197)][_0x4ff755(0x182)]?'\x20\x20'+_0x191ee0[_0x4ff755(0x197)]['description']:'','',_0x4ff755(0x151),..._0x191ee0['commands'][_0x4ff755(0x152)](_0x1e5c57=>{const _0x1c6e6b=_0x4ff755,_0x27c1e4=_0x1e5c57['fullPath'][_0x1c6e6b(0x17b)](0x1)['join']('\x20'),_0x2b8c09=_0x1e5c57[_0x1c6e6b(0x175)]==='read'?'':'\x20['+_0x1e5c57[_0x1c6e6b(0x175)]+']';return'\x20\x20'+_0x27c1e4['padEnd'](0x18)+'\x20'+(_0x1e5c57[_0x1c6e6b(0x182)]||'')+_0x2b8c09;}),'',_0x4ff755(0x187)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x275489+_0x4ff755(0x186)][_0x4ff755(0x143)](Boolean);return _0x7242ee[_0x4ff755(0x198)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1f899e=>{const _0x4dd0b4=a32_0x3332,_0x1960ac=_0x1f899e[_0x4dd0b4(0x17c)];return{'service':_0x1960ac[_0x4dd0b4(0x197)]['code'],'label':_0x1960ac[_0x4dd0b4(0x197)][_0x4dd0b4(0x17a)]||_0x1960ac[_0x4dd0b4(0x197)][_0x4dd0b4(0x185)],'commands':_0x1960ac[_0x4dd0b4(0x14e)][_0x4dd0b4(0x152)](_0xaf186d=>({'command':dynamicCommandName(_0xaf186d),'description':_0xaf186d[_0x4dd0b4(0x182)]||_0x4dd0b4(0x183)+_0xaf186d[_0x4dd0b4(0x17e)],'tag':riskTag(_0xaf186d['risk'])}))};});}export function getDynamicServiceEntry(_0x219be3){const _0x535a7c=a32_0x3332;return listDynamicServiceEntries()['find'](_0x52dd90=>_0x52dd90[_0x535a7c(0x197)]===_0x219be3);}export function listDynamicServiceDefinitions(_0x4a8817){const _0x10f6eb=a32_0x3332;return listLocalServiceTrees()[_0x10f6eb(0x143)](_0x380051=>!_0x4a8817||_0x380051[_0x10f6eb(0x197)][_0x10f6eb(0x185)]===_0x4a8817)['flatMap'](_0x15310d=>_0x15310d[_0x10f6eb(0x14e)][_0x10f6eb(0x152)](_0x29638e=>buildDynamicCommandDefinition(_0x15310d,_0x29638e)));}function a32_0x3332(_0x10f935,_0x690420){_0x10f935=_0x10f935-0x13a;const _0x466af2=a32_0x466a();let _0x33322d=_0x466af2[_0x10f935];return _0x33322d;}export function getDynamicServiceDefinitions(_0x1bdae7){const _0x5d9e3d=listDynamicServiceDefinitions(_0x1bdae7);return _0x5d9e3d['length']>0x0?_0x5d9e3d:undefined;}export function findDynamicServiceDefinition(_0x514365,_0x580d05){const _0x3eb882=a32_0x3332;return listDynamicServiceDefinitions(_0x514365)[_0x3eb882(0x149)](_0x4f7cb4=>_0x4f7cb4[_0x3eb882(0x173)]===_0x580d05);}export function buildDynamicCommandDefinition(_0x377a3c,_0x4ace60){const _0x425559=a32_0x3332;return{'service':_0x377a3c[_0x425559(0x197)][_0x425559(0x185)],'command':dynamicCommandName(_0x4ace60),'description':_0x4ace60[_0x425559(0x182)]||_0x425559(0x183)+_0x4ace60[_0x425559(0x17e)],'risk':_0x4ace60[_0x425559(0x175)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4ace60[_0x425559(0x14d)]['map'](_0x5a53e1=>({'name':_0x5a53e1[_0x425559(0x17a)],'description':_0x5a53e1[_0x425559(0x182)]||_0x5a53e1[_0x425559(0x17a)],'required':_0x5a53e1[_0x425559(0x13a)]})),'flags':_0x4ace60[_0x425559(0x176)][_0x425559(0x152)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4ace60),async 'dryRun'(_0x14849c){const _0x82bb3d=_0x425559,_0x3baef5=await compilePlan(_0x4ace60,_0x14849c);return{'method':'SERVICE_TREE','url':_0x4ace60['cliPath'],'body':{'target':targetPreview(_0x3baef5),'params':_0x3baef5[_0x82bb3d(0x13c)]},'description':_0x82bb3d(0x193)+_0x4ace60['cliPath']};},async 'execute'(_0xcf6969){const _0x1c725b=_0x425559,_0x32a449=await compilePlan(_0x4ace60,_0xcf6969),_0x1cc11b=Date[_0x1c725b(0x16d)](),_0x185b1e=await executePlan(_0x32a449,_0x4ace60,_0xcf6969),_0x4f7da0=Date[_0x1c725b(0x16d)]()-_0x1cc11b;return{'ok':!![],'data':{'service':_0x377a3c[_0x1c725b(0x197)],'command':_0x4ace60[_0x1c725b(0x17e)],'target':targetPreview(_0x32a449),'result':_0x185b1e,'elapsed':_0x4f7da0},'message':_0x1c725b(0x171)+_0x4ace60[_0x1c725b(0x17e)]+'\x20completed\x20in\x20'+_0x4f7da0+'ms'};}};}function dynamicCommandName(_0x447d89){const _0x3a2365=a32_0x3332;return _0x447d89[_0x3a2365(0x158)][_0x3a2365(0x17b)](0x1)[_0x3a2365(0x198)]('\x20');}function a32_0x466a(){const _0x171352=['appRef','tenantCode','appcode','scriptName','json','fullPath','const','bffId','\x22\x20in\x20service\x20command\x20','nickname','Unknown\x20appRef\x20\x22','bff','9314800APjWGy','\x20\x20\x20\x20scriptName:\x20','datatable','tree','read','\x20\x20\x20\x20datasetCode:\x20','2155132DokuaM','context.','operator','Cannot\x20resolve\x20datatable\x20\x22','\x20\x20\x20\x20kind:\x20\x20\x20\x20','string','\x20\x20MAP\x20TO','datasetCode','now','boolean','\x20requires\x20target.sqlCode.','appCode','Service\x20command\x20','sql','command','dbtableConfig','risk','flags','app','\x20->\x20','Unsupported\x20service\x20target\x20kind:\x20','name','slice','normalizedManifest','tableName','cliPath','1527123vbxWnj','ctx.','386526eCIgfN','description','Run\x20service\x20command\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','code','`\x20to\x20inspect\x20the\x20manifest.','Use\x20`','appBindings','target','envName','type','validation','env','number','length','mapTo','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','420649SHURqF','Preview\x20dynamic\x20service\x20command:\x20','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','startsWith','kind','service','join','required','default','params','enum','1302456cltjQe','push','username','932484bMLtxK','\x20\x20\x20\x20command:\x20','filter','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','45FKztjw','remainingArgs','fromEntries','employeeId','find','sqlCode','some','source','args','commands','cliName','trim','Commands:','map'];a32_0x466a=function(){return _0x171352;};return a32_0x466a();}function riskTag(_0x2fb986){const _0x426ada=a32_0x3332;return _0x2fb986===_0x426ada(0x163)?'':'\x20\x20['+_0x2fb986+']';}function flagToCommandFlag(_0x8a5108){const _0x437a06=a32_0x3332;return{'name':_0x8a5108[_0x437a06(0x14f)],'type':_0x8a5108[_0x437a06(0x18b)]===_0x437a06(0x157)?_0x437a06(0x16a):_0x8a5108[_0x437a06(0x18b)],'description':_0x8a5108[_0x437a06(0x182)]||_0x8a5108[_0x437a06(0x17a)],'required':_0x8a5108[_0x437a06(0x13a)],'default':isPrimitiveFlagDefault(_0x8a5108[_0x437a06(0x13b)])?_0x8a5108[_0x437a06(0x13b)]:undefined,'enum':_0x8a5108[_0x437a06(0x13d)]};}async function compilePlan(_0x3f9348,_0x16fe22){const _0x43b725=a32_0x3332;return compileServiceTreeCommand(_0x3f9348,{'flags':_0x16fe22['rawFlags'],'args':_0x16fe22[_0x43b725(0x14d)],'context':await buildServiceContext(_0x3f9348,_0x16fe22)});}async function buildServiceContext(_0x1d237c,_0x215f76){const _0x47579e=a32_0x3332,_0x1f59ec={'appCode':_0x215f76['appCode'],'env':_0x215f76[_0x47579e(0x18a)],'envName':_0x215f76[_0x47579e(0x18a)]};if(!usesRuntimeContext(_0x1d237c))return _0x1f59ec;const _0x5e08c5=await getLoginUserInfo(),_0x5b67a3=pickFirst(_0x5e08c5['userId'],_0x5e08c5['id']);return{..._0x1f59ec,'user':_0x5e08c5,'userId':_0x5b67a3,'id':_0x5e08c5['id'],'username':pickFirst(_0x5e08c5[_0x47579e(0x140)],_0x5e08c5['userName'],_0x5e08c5['loginName']),'userName':_0x5e08c5['userName'],'nickname':pickFirst(_0x5e08c5[_0x47579e(0x15c)],_0x5e08c5['nickName']),'nickName':_0x5e08c5['nickName'],'tenantCode':_0x5e08c5[_0x47579e(0x154)],'employeeId':_0x5e08c5[_0x47579e(0x148)]};}function usesRuntimeContext(_0x5754b1){const _0x341e3f=a32_0x3332;return _0x5754b1[_0x341e3f(0x190)][_0x341e3f(0x14b)](_0x3545e9=>typeof _0x3545e9[_0x341e3f(0x14c)]==='string'&&(_0x3545e9[_0x341e3f(0x14c)][_0x341e3f(0x195)](_0x341e3f(0x166))||_0x3545e9[_0x341e3f(0x14c)][_0x341e3f(0x195)](_0x341e3f(0x180))));}function pickFirst(..._0x4f707b){const _0x30c02b=a32_0x3332;return _0x4f707b[_0x30c02b(0x149)](_0x34b0a7=>_0x34b0a7!==undefined&&_0x34b0a7!==null);}async function executePlan(_0x220e16,_0x3463db,_0x2d0fc0){const _0x1d7db8=a32_0x3332;if(_0x220e16[_0x1d7db8(0x196)]==='data'){const _0x43cb07=await resolveDatasetCode(_0x220e16,_0x3463db,_0x2d0fc0);return executeData(_0x43cb07,_0x220e16[_0x1d7db8(0x173)],_0x220e16[_0x1d7db8(0x13c)]);}if(_0x220e16[_0x1d7db8(0x196)]===_0x1d7db8(0x172)){if(!_0x220e16[_0x1d7db8(0x14a)])throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x171)+_0x3463db[_0x1d7db8(0x17e)]+_0x1d7db8(0x16f));return executeSdkSql(_0x220e16[_0x1d7db8(0x14a)],normalizeScalarParams(_0x220e16['params']));}if(_0x220e16[_0x1d7db8(0x196)]===_0x1d7db8(0x15e)){const _0x998086=_0x220e16[_0x1d7db8(0x156)]||_0x220e16['bffCode']||(_0x220e16[_0x1d7db8(0x15a)]==null?'':String(_0x220e16['bffId']));if(!_0x998086)throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x171)+_0x3463db[_0x1d7db8(0x17e)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x998086,_0x220e16[_0x1d7db8(0x13c)]);}throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x179)+_0x220e16[_0x1d7db8(0x196)]);}async function resolveDatasetCode(_0x1afa94,_0x5b94ef,_0x43e048){const _0x3ae4d3=a32_0x3332;if(_0x1afa94[_0x3ae4d3(0x16c)])return _0x1afa94[_0x3ae4d3(0x16c)];if(!_0x1afa94[_0x3ae4d3(0x161)])throw CliErrors[_0x3ae4d3(0x18c)](_0x3ae4d3(0x171)+_0x5b94ef[_0x3ae4d3(0x17e)]+_0x3ae4d3(0x191));const _0x5a8c28=await listDatasets(_0x43e048[_0x3ae4d3(0x170)]),_0x2f2a0b=_0x5a8c28[_0x3ae4d3(0x149)](_0x493423=>_0x493423[_0x3ae4d3(0x174)]?.[_0x3ae4d3(0x17d)]===_0x1afa94['datatable']);if(!_0x2f2a0b?.[_0x3ae4d3(0x185)])throw CliErrors[_0x3ae4d3(0x18c)](_0x3ae4d3(0x168)+_0x1afa94[_0x3ae4d3(0x161)]+_0x3ae4d3(0x144)+_0x43e048['appCode']+'.',_0x3ae4d3(0x184));return _0x2f2a0b[_0x3ae4d3(0x185)];}function applyAppBinding(_0xf2f08f,_0x40d431,_0x5d9ce9){const _0xb027ac=a32_0x3332,_0x50ac92=_0x40d431[_0xb027ac(0x189)][_0xb027ac(0x153)];if(!_0x50ac92)return;const _0x7df326=_0xf2f08f[_0xb027ac(0x188)][_0x50ac92];if(!_0x7df326)throw CliErrors['validation'](_0xb027ac(0x15d)+_0x50ac92+_0xb027ac(0x15b)+_0x40d431['cliPath']+'.',_0xb027ac(0x194));const _0x3021cd=_0x7df326['appcode']||_0x7df326[_0xb027ac(0x170)];_0x3021cd&&!hasText(_0x5d9ce9[_0xb027ac(0x155)])&&(_0x5d9ce9[_0xb027ac(0x155)]=_0x3021cd),_0x7df326[_0xb027ac(0x177)]&&!hasText(_0x5d9ce9['app'])&&!hasText(_0x5d9ce9[_0xb027ac(0x155)])&&(_0x5d9ce9[_0xb027ac(0x177)]=_0x7df326['app']),_0x7df326[_0xb027ac(0x18d)]&&!hasText(_0x5d9ce9[_0xb027ac(0x18d)])&&(_0x5d9ce9[_0xb027ac(0x18d)]=_0x7df326[_0xb027ac(0x18d)]);}function renderDynamicCommandHelp(_0x3fbc29){const _0x1ff2cc=a32_0x3332,_0x175250=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x1ff2cc(0x169)+_0x3fbc29[_0x1ff2cc(0x189)]['kind'],_0x1ff2cc(0x142)+_0x3fbc29[_0x1ff2cc(0x189)]['command']];if(_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x16c)])_0x175250[_0x1ff2cc(0x13f)](_0x1ff2cc(0x164)+_0x3fbc29['target']['datasetCode']);if(_0x3fbc29['target'][_0x1ff2cc(0x161)])_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20datatable:\x20'+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x161)]);if(_0x3fbc29['target']['sqlCode'])_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20sqlCode:\x20'+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x14a)]);if(_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x156)])_0x175250[_0x1ff2cc(0x13f)](_0x1ff2cc(0x160)+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x156)]);if(_0x3fbc29[_0x1ff2cc(0x190)]['length']>0x0){_0x175250[_0x1ff2cc(0x13f)]('',_0x1ff2cc(0x16b));for(const _0x58595d of _0x3fbc29[_0x1ff2cc(0x190)]){_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20'+(_0x58595d[_0x1ff2cc(0x14c)]||_0x1ff2cc(0x159))+_0x1ff2cc(0x178)+_0x58595d['target']+(_0x58595d[_0x1ff2cc(0x167)]?'.'+_0x58595d['operator']:''));}}return _0x175250['join']('\x0a');}function targetPreview(_0x5da8da){const _0x57dcdd=a32_0x3332;return{'kind':_0x5da8da[_0x57dcdd(0x196)],'command':_0x5da8da[_0x57dcdd(0x173)],'appRef':_0x5da8da[_0x57dcdd(0x153)],'datasetCode':_0x5da8da['datasetCode'],'datatable':_0x5da8da[_0x57dcdd(0x161)],'sqlCode':_0x5da8da['sqlCode'],'bffCode':_0x5da8da['bffCode'],'bffId':_0x5da8da[_0x57dcdd(0x15a)],'scriptName':_0x5da8da['scriptName']};}function normalizeScalarParams(_0x91734d){const _0x60fa04=a32_0x3332;return Object[_0x60fa04(0x147)](Object['entries'](_0x91734d)[_0x60fa04(0x143)](([,_0x4c87e2])=>typeof _0x4c87e2===_0x60fa04(0x16a)||typeof _0x4c87e2==='number'));}function hasText(_0xae229e){const _0x5beef5=a32_0x3332;return typeof _0xae229e===_0x5beef5(0x16a)&&_0xae229e[_0x5beef5(0x150)]()[_0x5beef5(0x18f)]>0x0;}function isPrimitiveFlagDefault(_0x267eb9){const _0x526525=a32_0x3332;return _0x267eb9===undefined||typeof _0x267eb9===_0x526525(0x16a)||typeof _0x267eb9===_0x526525(0x18e)||typeof _0x267eb9===_0x526525(0x16e);}
@@ -1 +1 @@
1
- const a33_0x5a329c=a33_0x98a9;(function(_0x27f4aa,_0x5f362a){const _0x12e04f=a33_0x98a9,_0x543cd8=_0x27f4aa();while(!![]){try{const _0x11595a=parseInt(_0x12e04f(0xb2))/0x1*(parseInt(_0x12e04f(0xb7))/0x2)+-parseInt(_0x12e04f(0xda))/0x3+-parseInt(_0x12e04f(0xb5))/0x4*(-parseInt(_0x12e04f(0xbe))/0x5)+-parseInt(_0x12e04f(0xba))/0x6*(parseInt(_0x12e04f(0xcc))/0x7)+-parseInt(_0x12e04f(0xc2))/0x8+-parseInt(_0x12e04f(0xbb))/0x9+parseInt(_0x12e04f(0xcd))/0xa;if(_0x11595a===_0x5f362a)break;else _0x543cd8['push'](_0x543cd8['shift']());}catch(_0x59b6ef){_0x543cd8['push'](_0x543cd8['shift']());}}}(a33_0x4286,0x6d11f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x98a9(_0xa18534,_0x1ca115){_0xa18534=_0xa18534-0xa3;const _0x428656=a33_0x4286();let _0x98a932=_0x428656[_0xa18534];return _0x98a932;}const FILE_FLAG={'name':'file','type':'string','required':!![],'description':a33_0x5a329c(0xd8)},SERVICE_FLAG={'name':'service','type':a33_0x5a329c(0xe3),'required':!![],'description':a33_0x5a329c(0xb9),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x5a329c(0xd7)}};function summarizeService(_0x218f1c){const _0x44b7bd=a33_0x5a329c;return{'serviceCode':_0x218f1c[_0x44b7bd(0xce)],'name':_0x218f1c[_0x44b7bd(0xb6)][_0x44b7bd(0xa3)][_0x44b7bd(0xab)],'version':_0x218f1c[_0x44b7bd(0xcb)],'importedAt':_0x218f1c['importedAt'],'source':_0x218f1c[_0x44b7bd(0xa6)],'commandCount':_0x218f1c[_0x44b7bd(0xb6)][_0x44b7bd(0xca)][_0x44b7bd(0xa7)],'commands':_0x218f1c[_0x44b7bd(0xb6)]['commands'][_0x44b7bd(0xb3)](_0x2bc3d9=>({'path':_0x2bc3d9[_0x44b7bd(0xd4)],'description':_0x2bc3d9['description'],'risk':_0x2bc3d9[_0x44b7bd(0xc0)],'target':_0x2bc3d9[_0x44b7bd(0xa8)],'flags':_0x2bc3d9['flags']['map'](_0x9f74e7=>({'name':_0x9f74e7[_0x44b7bd(0xab)],'cliName':_0x9f74e7[_0x44b7bd(0xe0)],'type':_0x9f74e7['type'],'required':_0x9f74e7[_0x44b7bd(0xbf)]===!![]}))}))};}function summarizeLoadedManifest(_0x40d46f){const _0x18cbed=a33_0x5a329c;return{'service':_0x40d46f['normalizedManifest']?.[_0x18cbed(0xa3)],'version':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xcb)],'commandCount':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xca)][_0x18cbed(0xa7)]??0x0,'commands':_0x40d46f[_0x18cbed(0xb6)]?.[_0x18cbed(0xca)][_0x18cbed(0xb3)](_0x7f5a30=>({'path':_0x7f5a30[_0x18cbed(0xd4)],'risk':_0x7f5a30[_0x18cbed(0xc0)],'target':_0x7f5a30[_0x18cbed(0xa8)]}))??[],'registryIndex':_0x40d46f[_0x18cbed(0xae)],'registryServiceCode':_0x40d46f['registryServiceCode'],'errors':_0x40d46f[_0x18cbed(0xad)][_0x18cbed(0xc9)],'warnings':_0x40d46f[_0x18cbed(0xad)][_0x18cbed(0xdb)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x5a329c(0xdc),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0x5a329c(0xb8),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x459d2d){const _0x163cfc=a33_0x5a329c,_0x5348cd=loadServiceManifestFromFile(_0x459d2d['str'](_0x163cfc(0xc3)));if(!_0x5348cd[_0x163cfc(0xad)]['ok'])return{'ok':![],'data':{'file':_0x5348cd[_0x163cfc(0xd0)],'hash':_0x5348cd['hash'],'kind':_0x5348cd['kind'],'serviceCount':_0x5348cd[_0x163cfc(0xd2)]['length'],'services':_0x5348cd[_0x163cfc(0xd2)]['map'](summarizeLoadedManifest),'errors':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xc9)],'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':formatValidationFailure(_0x5348cd[_0x163cfc(0xad)])};if(_0x5348cd[_0x163cfc(0xe5)]==='registry'||_0x5348cd[_0x163cfc(0xd2)][_0x163cfc(0xa7)]!==0x1)return{'ok':!![],'data':{'file':_0x5348cd[_0x163cfc(0xd0)],'hash':_0x5348cd[_0x163cfc(0xc6)],'kind':_0x5348cd[_0x163cfc(0xe5)],'serviceCount':_0x5348cd[_0x163cfc(0xd2)]['length'],'commandCount':_0x5348cd[_0x163cfc(0xd2)]['reduce']((_0x5a39b7,_0x3cc272)=>_0x5a39b7+(_0x3cc272[_0x163cfc(0xb6)]?.[_0x163cfc(0xca)][_0x163cfc(0xa7)]??0x0),0x0),'services':_0x5348cd[_0x163cfc(0xd2)][_0x163cfc(0xb3)](summarizeLoadedManifest),'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':_0x163cfc(0xb1)};return{'ok':!![],'data':{'file':_0x5348cd['filePath'],'hash':_0x5348cd['hash'],'kind':_0x5348cd[_0x163cfc(0xe5)],'service':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xa3)],'version':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xcb)],'commandCount':_0x5348cd[_0x163cfc(0xb6)]?.['commands']['length']??0x0,'commands':_0x5348cd[_0x163cfc(0xb6)]?.[_0x163cfc(0xca)]['map'](_0x4841fd=>({'path':_0x4841fd['cliPath'],'risk':_0x4841fd[_0x163cfc(0xc0)],'target':_0x4841fd['target']})),'warnings':_0x5348cd[_0x163cfc(0xad)][_0x163cfc(0xdb)]},'message':_0x163cfc(0xa4)};}},{'service':'service','command':a33_0x5a329c(0xc1),'description':a33_0x5a329c(0xc4),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1c51a2){const _0x4e9b70=a33_0x5a329c,_0x4ec635=loadServiceManifestFromFile(_0x1c51a2[_0x4e9b70(0xdf)](_0x4e9b70(0xc3)));return{'method':_0x4e9b70(0xdd),'url':getServiceRegistryPath(),'body':{'file':_0x4ec635[_0x4e9b70(0xd0)],'hash':_0x4ec635[_0x4e9b70(0xc6)],'kind':_0x4ec635[_0x4e9b70(0xe5)],'ok':_0x4ec635[_0x4e9b70(0xad)]['ok'],'service':_0x4ec635[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xa3)],'version':_0x4ec635[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xcb)],'serviceCount':_0x4ec635[_0x4e9b70(0xd2)][_0x4e9b70(0xa7)],'services':_0x4ec635[_0x4e9b70(0xd2)][_0x4e9b70(0xb3)](_0x39b2c8=>({'service':_0x39b2c8[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xa3)],'version':_0x39b2c8['normalizedManifest']?.['version'],'commandCount':_0x39b2c8[_0x4e9b70(0xb6)]?.[_0x4e9b70(0xca)][_0x4e9b70(0xa7)]??0x0,'errors':_0x39b2c8['report']['errors']})),'errors':_0x4ec635['report'][_0x4e9b70(0xc9)],'commandCount':_0x4ec635[_0x4e9b70(0xb6)]?.['commands'][_0x4e9b70(0xa7)]??0x0},'description':_0x4e9b70(0xc8)};},async 'execute'(_0x476091){const _0x5d9d61=a33_0x5a329c,_0xd4c1c2=importServiceManifest(_0x476091[_0x5d9d61(0xdf)](_0x5d9d61(0xc3)));if(_0xd4c1c2[_0x5d9d61(0xe2)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0xd4c1c2[_0x5d9d61(0xe1)],'imported':_0xd4c1c2[_0x5d9d61(0xcf)],'updated':_0xd4c1c2['updated'],'serviceCount':_0xd4c1c2['serviceCount'],'services':_0xd4c1c2[_0x5d9d61(0xe2)]['map'](summarizeService)},'message':'Imported\x20'+_0xd4c1c2[_0x5d9d61(0xcf)]+_0x5d9d61(0xc7)+_0xd4c1c2[_0x5d9d61(0xaf)]+_0x5d9d61(0xe4)};return{'ok':!![],'data':{'registryPath':_0xd4c1c2['registryPath'],'replaced':_0xd4c1c2[_0x5d9d61(0xd9)],'imported':_0xd4c1c2[_0x5d9d61(0xcf)],'updated':_0xd4c1c2[_0x5d9d61(0xaf)],'serviceCount':_0xd4c1c2[_0x5d9d61(0xa5)],'service':summarizeService(_0xd4c1c2[_0x5d9d61(0xbd)])},'message':(_0xd4c1c2[_0x5d9d61(0xd9)]?'Updated':_0x5d9d61(0xde))+'\x20service\x20'+_0xd4c1c2['entry'][_0x5d9d61(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':'export','description':a33_0x5a329c(0xac),'risk':a33_0x5a329c(0xc5),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x46dcc0){const _0x431222=a33_0x5a329c,_0x32825c=getLocalServiceEntry(_0x46dcc0[_0x431222(0xdf)](_0x431222(0xa3)));return{'method':'WRITE','url':_0x46dcc0[_0x431222(0xdf)](_0x431222(0xc3)),'body':{'service':_0x46dcc0[_0x431222(0xdf)]('service'),'found':Boolean(_0x32825c),'version':_0x32825c?.['version'],'source':_0x32825c?.[_0x431222(0xa6)]},'description':_0x431222(0xbc)};},async 'execute'(_0x193999){const _0x20b72f=a33_0x5a329c,_0x416216=exportServiceManifest(_0x193999['str'](_0x20b72f(0xa3)),_0x193999[_0x20b72f(0xdf)]('file'));return{'ok':!![],'data':{'registryPath':_0x416216[_0x20b72f(0xe1)],'file':_0x416216[_0x20b72f(0xd0)],'service':summarizeService(_0x416216[_0x20b72f(0xbd)])},'message':_0x20b72f(0xd5)+_0x416216[_0x20b72f(0xbd)][_0x20b72f(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':'list','description':a33_0x5a329c(0xaa),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x24655d=a33_0x5a329c,_0x3519df=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3519df[_0x24655d(0xa7)],'services':_0x3519df[_0x24655d(0xb3)](summarizeService)}};}},{'service':a33_0x5a329c(0xa3),'command':a33_0x5a329c(0xd1),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x44b7cf){const _0x12da76=a33_0x5a329c,_0x53754e=getLocalServiceEntry(_0x44b7cf[_0x12da76(0xdf)](_0x12da76(0xa3)));return{'method':_0x12da76(0xdd),'url':getServiceRegistryPath(),'body':{'service':_0x44b7cf['str'](_0x12da76(0xa3)),'found':Boolean(_0x53754e),'version':_0x53754e?.[_0x12da76(0xcb)],'source':_0x53754e?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x2ba85c){const _0x2b14fb=a33_0x5a329c,_0x11236c=removeServiceManifest(_0x2ba85c[_0x2b14fb(0xdf)](_0x2b14fb(0xa3)));return{'ok':!![],'data':{'registryPath':_0x11236c[_0x2b14fb(0xe1)],'serviceCount':_0x11236c[_0x2b14fb(0xa5)],'service':summarizeService(_0x11236c['entry'])},'message':_0x2b14fb(0xd3)+_0x11236c[_0x2b14fb(0xbd)][_0x2b14fb(0xce)]+'.'};}},{'service':a33_0x5a329c(0xa3),'command':a33_0x5a329c(0xd6),'description':a33_0x5a329c(0xb0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2195bd){const _0x365aff=a33_0x5a329c,_0x330333=getLocalServiceEntry(_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3)));if(!_0x330333)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3))},'message':_0x365aff(0xa9)+_0x2195bd[_0x365aff(0xdf)](_0x365aff(0xa3))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x330333),'manifest':_0x330333[_0x365aff(0xb4)],'normalizedManifest':_0x330333[_0x365aff(0xb6)]}};}}];function a33_0x4286(){const _0x164946=['updated','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Service\x20registry\x20validation\x20passed.','9059kjScPu','map','manifest','8356LMJYqd','normalizedManifest','54wMcfNH','read','Local\x20service\x20code,\x20for\x20example\x20crm','101496hvwsta','6313662tzfapE','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','entry','45CotiqV','required','risk','import','3827928zBfvZx','file','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','write','hash','\x20service(s),\x20updated\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','errors','commands','version','168EEBSmi','22373650rXFrPn','serviceCode','imported','filePath','remove','manifests','Removed\x20service\x20','cliPath','Exported\x20service\x20','detail','lower\x20kebab-case\x20service\x20code','Service\x20Tree\x20manifest\x20file\x20path','replaced','1404045RGBZBw','warnings','validate','WRITE','Imported','str','cliName','registryPath','entries','string','\x20service(s).','kind','service','Service\x20manifest\x20validation\x20passed.','serviceCount','source','length','target','Local\x20service\x20not\x20found:\x20','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','name','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','report','registryIndex'];a33_0x4286=function(){return _0x164946;};return a33_0x4286();}
1
+ const a33_0x1bae2a=a33_0x1950;function a33_0x1950(_0x1fa79a,_0x2af971){_0x1fa79a=_0x1fa79a-0xf5;const _0x12e465=a33_0x12e4();let _0x1950f5=_0x12e465[_0x1fa79a];return _0x1950f5;}(function(_0x1a5f64,_0x26e127){const _0x5867a1=a33_0x1950,_0x1f3dc0=_0x1a5f64();while(!![]){try{const _0x35fcc6=-parseInt(_0x5867a1(0x131))/0x1*(-parseInt(_0x5867a1(0x124))/0x2)+-parseInt(_0x5867a1(0x128))/0x3*(parseInt(_0x5867a1(0x10b))/0x4)+parseInt(_0x5867a1(0x13a))/0x5*(parseInt(_0x5867a1(0x127))/0x6)+parseInt(_0x5867a1(0x106))/0x7*(parseInt(_0x5867a1(0x122))/0x8)+-parseInt(_0x5867a1(0x109))/0x9+parseInt(_0x5867a1(0x100))/0xa+-parseInt(_0x5867a1(0x11a))/0xb;if(_0x35fcc6===_0x26e127)break;else _0x1f3dc0['push'](_0x1f3dc0['shift']());}catch(_0x3326e8){_0x1f3dc0['push'](_0x1f3dc0['shift']());}}}(a33_0x12e4,0x23449));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x12e4(){const _0x13acbe=['source','report','warnings','171712mkqrIF','updated','18266bBEwoW','str','read','42DvmDoe','648294nBuoKU','imported','Local\x20service\x20code,\x20for\x20example\x20crm','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','entries','normalizedManifest','filePath','required','commands','13jlPJbk','remove','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Removed\x20service\x20','serviceCode','Local\x20service\x20not\x20found:\x20','type','serviceCount','version','145150kYJNlU','registryPath','\x20service\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','kind','description','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','length','entry','target','risk','map','import','Imported','2256970jOsjrC','Exported\x20service\x20','hash','flags','validate','detail','35eGwYkQ','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1973286jYGucN','file','4KNmwPU','lower\x20kebab-case\x20service\x20code','service','registryIndex','registry','write','\x20service(s),\x20updated\x20','cliPath','reduce','manifests','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','WRITE','\x20service(s).','export','cliName','826617SzwRCQ','Service\x20manifest\x20validation\x20passed.','name','string','list'];a33_0x12e4=function(){return _0x13acbe;};return a33_0x12e4();}const FILE_FLAG={'name':a33_0x1bae2a(0x10a),'type':a33_0x1bae2a(0x11d),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a33_0x1bae2a(0x10d),'type':a33_0x1bae2a(0x11d),'required':!![],'description':a33_0x1bae2a(0x12a),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1bae2a(0x10c)}};function summarizeService(_0x433fa1){const _0x4014b6=a33_0x1bae2a;return{'serviceCode':_0x433fa1['serviceCode'],'name':_0x433fa1[_0x4014b6(0x12d)][_0x4014b6(0x10d)][_0x4014b6(0x11c)],'version':_0x433fa1[_0x4014b6(0x139)],'importedAt':_0x433fa1['importedAt'],'source':_0x433fa1[_0x4014b6(0x11f)],'commandCount':_0x433fa1[_0x4014b6(0x12d)][_0x4014b6(0x130)][_0x4014b6(0xf9)],'commands':_0x433fa1['normalizedManifest']['commands'][_0x4014b6(0xfd)](_0x244727=>({'path':_0x244727[_0x4014b6(0x112)],'description':_0x244727[_0x4014b6(0xf6)],'risk':_0x244727['risk'],'target':_0x244727[_0x4014b6(0xfb)],'flags':_0x244727[_0x4014b6(0x103)]['map'](_0x58605f=>({'name':_0x58605f['name'],'cliName':_0x58605f[_0x4014b6(0x119)],'type':_0x58605f[_0x4014b6(0x137)],'required':_0x58605f[_0x4014b6(0x12f)]===!![]}))}))};}function summarizeLoadedManifest(_0xa80da0){const _0x9e2099=a33_0x1bae2a;return{'service':_0xa80da0[_0x9e2099(0x12d)]?.[_0x9e2099(0x10d)],'version':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x139)],'commandCount':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x130)][_0x9e2099(0xf9)]??0x0,'commands':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x130)][_0x9e2099(0xfd)](_0xa6d271=>({'path':_0xa6d271[_0x9e2099(0x112)],'risk':_0xa6d271[_0x9e2099(0xfc)],'target':_0xa6d271[_0x9e2099(0xfb)]}))??[],'registryIndex':_0xa80da0[_0x9e2099(0x10e)],'registryServiceCode':_0xa80da0['registryServiceCode'],'errors':_0xa80da0['report'][_0x9e2099(0xf7)],'warnings':_0xa80da0['report'][_0x9e2099(0x121)]};}export const serviceDefinitions=[{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x104),'description':a33_0x1bae2a(0x133),'risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3fdfca){const _0x5e024d=a33_0x1bae2a,_0x90a11a=loadServiceManifestFromFile(_0x3fdfca[_0x5e024d(0x125)](_0x5e024d(0x10a)));if(!_0x90a11a[_0x5e024d(0x120)]['ok'])return{'ok':![],'data':{'file':_0x90a11a['filePath'],'hash':_0x90a11a[_0x5e024d(0x102)],'kind':_0x90a11a[_0x5e024d(0xf5)],'serviceCount':_0x90a11a['manifests']['length'],'services':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xfd)](summarizeLoadedManifest),'errors':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0xf7)],'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':formatValidationFailure(_0x90a11a[_0x5e024d(0x120)])};if(_0x90a11a[_0x5e024d(0xf5)]===_0x5e024d(0x10f)||_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xf9)]!==0x1)return{'ok':!![],'data':{'file':_0x90a11a[_0x5e024d(0x12e)],'hash':_0x90a11a[_0x5e024d(0x102)],'kind':_0x90a11a[_0x5e024d(0xf5)],'serviceCount':_0x90a11a['manifests'][_0x5e024d(0xf9)],'commandCount':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0x113)]((_0x3039fa,_0x2b18c2)=>_0x3039fa+(_0x2b18c2['normalizedManifest']?.[_0x5e024d(0x130)][_0x5e024d(0xf9)]??0x0),0x0),'services':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xfd)](summarizeLoadedManifest),'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x90a11a[_0x5e024d(0x12e)],'hash':_0x90a11a['hash'],'kind':_0x90a11a['kind'],'service':_0x90a11a['normalizedManifest']?.['service'],'version':_0x90a11a[_0x5e024d(0x12d)]?.[_0x5e024d(0x139)],'commandCount':_0x90a11a[_0x5e024d(0x12d)]?.['commands'][_0x5e024d(0xf9)]??0x0,'commands':_0x90a11a[_0x5e024d(0x12d)]?.[_0x5e024d(0x130)][_0x5e024d(0xfd)](_0x3f9a5a=>({'path':_0x3f9a5a[_0x5e024d(0x112)],'risk':_0x3f9a5a[_0x5e024d(0xfc)],'target':_0x3f9a5a[_0x5e024d(0xfb)]})),'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':_0x5e024d(0x11b)};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0xfe),'description':a33_0x1bae2a(0x13d),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x5486f5){const _0x42b7b9=a33_0x1bae2a,_0x17eb80=loadServiceManifestFromFile(_0x5486f5[_0x42b7b9(0x125)](_0x42b7b9(0x10a)));return{'method':_0x42b7b9(0x116),'url':getServiceRegistryPath(),'body':{'file':_0x17eb80[_0x42b7b9(0x12e)],'hash':_0x17eb80[_0x42b7b9(0x102)],'kind':_0x17eb80[_0x42b7b9(0xf5)],'ok':_0x17eb80['report']['ok'],'service':_0x17eb80['normalizedManifest']?.[_0x42b7b9(0x10d)],'version':_0x17eb80[_0x42b7b9(0x12d)]?.[_0x42b7b9(0x139)],'serviceCount':_0x17eb80[_0x42b7b9(0x114)]['length'],'services':_0x17eb80[_0x42b7b9(0x114)][_0x42b7b9(0xfd)](_0x2f460c=>({'service':_0x2f460c[_0x42b7b9(0x12d)]?.['service'],'version':_0x2f460c['normalizedManifest']?.[_0x42b7b9(0x139)],'commandCount':_0x2f460c[_0x42b7b9(0x12d)]?.[_0x42b7b9(0x130)][_0x42b7b9(0xf9)]??0x0,'errors':_0x2f460c[_0x42b7b9(0x120)][_0x42b7b9(0xf7)]})),'errors':_0x17eb80[_0x42b7b9(0x120)]['errors'],'commandCount':_0x17eb80['normalizedManifest']?.[_0x42b7b9(0x130)]['length']??0x0},'description':_0x42b7b9(0xf8)};},async 'execute'(_0x391f6f){const _0x505046=a33_0x1bae2a,_0x5d7088=importServiceManifest(_0x391f6f['str'](_0x505046(0x10a)));if(_0x5d7088['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x5d7088[_0x505046(0x13b)],'imported':_0x5d7088[_0x505046(0x129)],'updated':_0x5d7088[_0x505046(0x123)],'serviceCount':_0x5d7088[_0x505046(0x138)],'services':_0x5d7088[_0x505046(0x12c)]['map'](summarizeService)},'message':'Imported\x20'+_0x5d7088['imported']+_0x505046(0x111)+_0x5d7088['updated']+_0x505046(0x117)};return{'ok':!![],'data':{'registryPath':_0x5d7088[_0x505046(0x13b)],'replaced':_0x5d7088['replaced'],'imported':_0x5d7088[_0x505046(0x129)],'updated':_0x5d7088['updated'],'serviceCount':_0x5d7088[_0x505046(0x138)],'service':summarizeService(_0x5d7088[_0x505046(0xfa)])},'message':(_0x5d7088['replaced']?'Updated':_0x505046(0xff))+_0x505046(0x13c)+_0x5d7088[_0x505046(0xfa)][_0x505046(0x135)]+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x118),'description':a33_0x1bae2a(0x108),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x158ede){const _0x109fe7=a33_0x1bae2a,_0x169373=getLocalServiceEntry(_0x158ede[_0x109fe7(0x125)]('service'));return{'method':_0x109fe7(0x116),'url':_0x158ede[_0x109fe7(0x125)](_0x109fe7(0x10a)),'body':{'service':_0x158ede[_0x109fe7(0x125)](_0x109fe7(0x10d)),'found':Boolean(_0x169373),'version':_0x169373?.[_0x109fe7(0x139)],'source':_0x169373?.[_0x109fe7(0x11f)]},'description':_0x109fe7(0x115)};},async 'execute'(_0x2c2625){const _0x1d2ce8=a33_0x1bae2a,_0x2c13c0=exportServiceManifest(_0x2c2625['str'](_0x1d2ce8(0x10d)),_0x2c2625['str'](_0x1d2ce8(0x10a)));return{'ok':!![],'data':{'registryPath':_0x2c13c0[_0x1d2ce8(0x13b)],'file':_0x2c13c0[_0x1d2ce8(0x12e)],'service':summarizeService(_0x2c13c0[_0x1d2ce8(0xfa)])},'message':_0x1d2ce8(0x101)+_0x2c13c0[_0x1d2ce8(0xfa)]['serviceCode']+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x11e),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4601cc=a33_0x1bae2a,_0x11a19e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x11a19e[_0x4601cc(0xf9)],'services':_0x11a19e['map'](summarizeService)}};}},{'service':'service','command':a33_0x1bae2a(0x132),'description':a33_0x1bae2a(0x107),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x15973e){const _0x40c3a2=a33_0x1bae2a,_0x25fdcd=getLocalServiceEntry(_0x15973e[_0x40c3a2(0x125)](_0x40c3a2(0x10d)));return{'method':_0x40c3a2(0x116),'url':getServiceRegistryPath(),'body':{'service':_0x15973e[_0x40c3a2(0x125)](_0x40c3a2(0x10d)),'found':Boolean(_0x25fdcd),'version':_0x25fdcd?.[_0x40c3a2(0x139)],'source':_0x25fdcd?.[_0x40c3a2(0x11f)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x27add8){const _0x5a3a0f=a33_0x1bae2a,_0x262d63=removeServiceManifest(_0x27add8[_0x5a3a0f(0x125)](_0x5a3a0f(0x10d)));return{'ok':!![],'data':{'registryPath':_0x262d63[_0x5a3a0f(0x13b)],'serviceCount':_0x262d63[_0x5a3a0f(0x138)],'service':summarizeService(_0x262d63[_0x5a3a0f(0xfa)])},'message':_0x5a3a0f(0x134)+_0x262d63[_0x5a3a0f(0xfa)]['serviceCode']+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x105),'description':a33_0x1bae2a(0x12b),'risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x27497b){const _0x4769ff=a33_0x1bae2a,_0x1c359c=getLocalServiceEntry(_0x27497b[_0x4769ff(0x125)]('service'));if(!_0x1c359c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x27497b['str']('service')},'message':_0x4769ff(0x136)+_0x27497b[_0x4769ff(0x125)](_0x4769ff(0x10d))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1c359c),'manifest':_0x1c359c['manifest'],'normalizedManifest':_0x1c359c['normalizedManifest']}};}}];
@@ -1 +1 @@
1
- const a34_0x27109d=a34_0x1b0b;(function(_0x54540e,_0x4a9931){const _0x37527b=a34_0x1b0b,_0x206060=_0x54540e();while(!![]){try{const _0xdb9b2f=parseInt(_0x37527b(0x1d6))/0x1+-parseInt(_0x37527b(0x206))/0x2+parseInt(_0x37527b(0x1ff))/0x3+-parseInt(_0x37527b(0x1f7))/0x4*(parseInt(_0x37527b(0x202))/0x5)+parseInt(_0x37527b(0x1e4))/0x6+-parseInt(_0x37527b(0x1ca))/0x7+parseInt(_0x37527b(0x1d9))/0x8*(parseInt(_0x37527b(0x1eb))/0x9);if(_0xdb9b2f===_0x4a9931)break;else _0x206060['push'](_0x206060['shift']());}catch(_0xc89d14){_0x206060['push'](_0x206060['shift']());}}}(a34_0x3aaa,0x241d3));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x1b0b(_0x519be7,_0x48cf0d){_0x519be7=_0x519be7-0x1c6;const _0x3aaa48=a34_0x3aaa();let _0x1b0b78=_0x3aaa48[_0x519be7];return _0x1b0b78;}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_0x27109d(0x207);export function getServiceRegistryPath(_0x2623e4={}){const _0x5a9c32=a34_0x27109d;return resolve(_0x2623e4[_0x5a9c32(0x1c8)]??homedir(),PRODUCT_CONFIG[_0x5a9c32(0x1de)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x2aa743={}){const _0x34464d=a34_0x27109d,_0x9ddebc=getServiceRegistryPath(_0x2aa743);if(!existsSync(_0x9ddebc))return emptyServiceRegistry();try{const _0x520401=readFileSync(_0x9ddebc,_0x34464d(0x1cf));if(!_0x520401[_0x34464d(0x1e0)]())return emptyServiceRegistry();const _0x524934=JSON[_0x34464d(0x1ea)](_0x520401);if(_0x524934[_0x34464d(0x215)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x34464d(0x1cc)](_0x34464d(0x1f0)+String(_0x524934[_0x34464d(0x215)]),_0x34464d(0x1f3)+_0x9ddebc+'.');if(!Array['isArray'](_0x524934[_0x34464d(0x216)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x524934[_0x34464d(0x204)],'services':_0x524934[_0x34464d(0x216)]};}catch(_0x2ad7af){if(_0x2ad7af instanceof Error&&_0x2ad7af[_0x34464d(0x1dd)]===_0x34464d(0x205))throw _0x2ad7af;throw CliErrors[_0x34464d(0x1cc)](_0x34464d(0x1f4)+_0x9ddebc,_0x34464d(0x1f1));}}export function writeServiceRegistry(_0x2005aa,_0x2e85fc={}){const _0x427254=a34_0x27109d,_0x8becd0=getServiceRegistryPath(_0x2e85fc),_0x59764d=dirname(_0x8becd0);!existsSync(_0x59764d)&&mkdirSync(_0x59764d,{'recursive':!![]});const _0x3831f5=_0x8becd0+'.tmp';try{writeFileSync(_0x3831f5,JSON[_0x427254(0x20b)](_0x2005aa,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x3831f5,_0x8becd0);}catch(_0x2fb004){try{unlinkSync(_0x3831f5);}catch{}if(_0x2fb004?.[_0x427254(0x201)]===_0x427254(0x1f5))throw CliErrors[_0x427254(0x1cc)](_0x427254(0x1d3)+_0x8becd0);throw _0x2fb004;}return _0x8becd0;}export function loadServiceManifestFromFile(_0x17c1dd){const _0x2e0238=a34_0x27109d,_0x108046=resolve(_0x17c1dd);if(!existsSync(_0x108046))throw CliErrors['validation'](_0x2e0238(0x200)+_0x17c1dd);let _0x252e69;const _0xc6738c=readFileSync(_0x108046,_0x2e0238(0x1cf));try{_0x252e69=JSON[_0x2e0238(0x1ea)](_0xc6738c);}catch{throw CliErrors[_0x2e0238(0x1cc)](_0x2e0238(0x1ef)+_0x17c1dd,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x149bff=sha256(_0xc6738c),_0x1b2300=extractLoadedServiceManifests(_0x252e69,_0x149bff),_0x462121=aggregateValidationReports(_0x1b2300),_0x346b67=_0x1b2300[0x0];return{'filePath':_0x108046,'hash':_0x149bff,'kind':isServiceRegistryLike(_0x252e69)?'registry':_0x2e0238(0x208),'manifest':_0x346b67?.['manifest']??_0x252e69,'report':_0x462121,'normalizedManifest':_0x1b2300[_0x2e0238(0x1c9)]===0x1?_0x346b67?.[_0x2e0238(0x1ce)]:undefined,'manifests':_0x1b2300};}export function importServiceManifest(_0x545545,_0x5d630c={}){const _0x5fcaac=a34_0x27109d,_0x453209=loadServiceManifestFromFile(_0x545545);if(!_0x453209[_0x5fcaac(0x1c6)]['ok'])throw CliErrors[_0x5fcaac(0x1cc)](formatValidationFailure(_0x453209[_0x5fcaac(0x1c6)]),_0x5fcaac(0x20a));if(_0x453209[_0x5fcaac(0x20d)][_0x5fcaac(0x1c9)]===0x0)throw CliErrors[_0x5fcaac(0x1cc)](_0x5fcaac(0x1d1),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x28c7a3=readServiceRegistry(_0x5d630c),_0x3f8abd=(_0x5d630c[_0x5fcaac(0x1d0)]??(()=>new Date()))()[_0x5fcaac(0x1e5)](),_0x4585cf=[];let _0x21d7e4=0x0,_0x5d802a=0x0;for(const _0x489b51 of _0x453209[_0x5fcaac(0x20d)]){if(!_0x489b51[_0x5fcaac(0x1ce)])continue;const _0x177c3f=_0x489b51['normalizedManifest'][_0x5fcaac(0x1d7)][_0x5fcaac(0x201)],_0x78be3c={'serviceCode':_0x177c3f,'version':_0x489b51['normalizedManifest'][_0x5fcaac(0x1f8)],'importedAt':_0x3f8abd,'source':{'type':_0x5fcaac(0x1ee),'path':_0x453209[_0x5fcaac(0x1fc)],'hash':_0x489b51['sourceHash']},'manifest':_0x489b51[_0x5fcaac(0x208)],'normalizedManifest':_0x489b51[_0x5fcaac(0x1ce)]},_0x1aa2b9=_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1df)](_0x1f1d36=>_0x1f1d36['serviceCode']===_0x177c3f);_0x1aa2b9>=0x0?(_0x28c7a3[_0x5fcaac(0x216)][_0x1aa2b9]=_0x78be3c,_0x5d802a++):(_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1e3)](_0x78be3c),_0x21d7e4++),_0x4585cf[_0x5fcaac(0x1e3)](_0x78be3c);}_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1e8)]((_0x1abfd7,_0x12cd81)=>_0x1abfd7[_0x5fcaac(0x1d4)][_0x5fcaac(0x1da)](_0x12cd81[_0x5fcaac(0x1d4)])),_0x28c7a3[_0x5fcaac(0x204)]=_0x3f8abd;const _0x1fabbb=writeServiceRegistry(_0x28c7a3,_0x5d630c);return{'registryPath':_0x1fabbb,'entry':_0x4585cf[0x0],'replaced':_0x4585cf[_0x5fcaac(0x1c9)]===0x1?_0x5d802a===0x1:_0x5d802a>0x0,'entries':_0x4585cf,'imported':_0x21d7e4,'updated':_0x5d802a,'serviceCount':_0x28c7a3[_0x5fcaac(0x216)][_0x5fcaac(0x1c9)]};}export function exportServiceManifest(_0x165933,_0x4d9b17,_0x5bf353={}){const _0x376885=a34_0x27109d,_0x2ca855=getServiceRegistryPath(_0x5bf353),_0x4acb77=getLocalServiceEntry(_0x165933,_0x5bf353);if(!_0x4acb77)throw CliErrors[_0x376885(0x1cc)](_0x376885(0x1d5)+_0x165933,_0x376885(0x1e6));const _0x429b9b=resolve(_0x4d9b17),_0x25b73c=dirname(_0x429b9b);return!existsSync(_0x25b73c)&&mkdirSync(_0x25b73c,{'recursive':!![]}),writeFileSync(_0x429b9b,JSON[_0x376885(0x20b)](_0x4acb77[_0x376885(0x208)],null,0x2)+'\x0a',{'encoding':_0x376885(0x1cf),'mode':0x180}),{'registryPath':_0x2ca855,'filePath':_0x429b9b,'entry':_0x4acb77};}export function removeServiceManifest(_0x5943a1,_0xe037c6={}){const _0x4aff26=a34_0x27109d,_0x1c8649=readServiceRegistry(_0xe037c6),_0x47abd2=_0x5943a1[_0x4aff26(0x1e0)](),_0x1e50bb=_0x1c8649[_0x4aff26(0x216)][_0x4aff26(0x1df)](_0x18c3c7=>_0x18c3c7['serviceCode']===_0x47abd2);if(_0x1e50bb<0x0)throw CliErrors[_0x4aff26(0x1cc)]('Local\x20service\x20not\x20found:\x20'+_0x47abd2,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x419853]=_0x1c8649[_0x4aff26(0x216)][_0x4aff26(0x214)](_0x1e50bb,0x1),_0x2261c5=(_0xe037c6[_0x4aff26(0x1d0)]??(()=>new Date()))()[_0x4aff26(0x1e5)]();_0x1c8649[_0x4aff26(0x204)]=_0x2261c5;const _0x3c32b8=writeServiceRegistry(_0x1c8649,_0xe037c6);return{'registryPath':_0x3c32b8,'entry':_0x419853,'serviceCount':_0x1c8649[_0x4aff26(0x216)]['length']};}export function listLocalServices(_0x35ac44={}){const _0x327baa=a34_0x27109d;return readServiceRegistry(_0x35ac44)[_0x327baa(0x216)];}export function getLocalServiceEntry(_0x5b2be9,_0x2dd0ba={}){const _0x5345ea=a34_0x27109d;return readServiceRegistry(_0x2dd0ba)[_0x5345ea(0x216)][_0x5345ea(0x213)](_0x4d9011=>_0x4d9011[_0x5345ea(0x1d4)]===_0x5b2be9[_0x5345ea(0x1e0)]());}export function listLocalServiceTrees(_0xee1c33={}){const _0x120d1c=a34_0x27109d;return readServiceRegistry(_0xee1c33)['services'][_0x120d1c(0x1fe)](_0x20a19b=>_0x20a19b[_0x120d1c(0x1ce)]);}export function inspectServiceRegistry(_0x597034={}){const _0x8fbb5=a34_0x27109d,_0x4bae1b=getServiceRegistryPath(_0x597034);if(!existsSync(_0x4bae1b))return emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x1fd),![]);try{const _0x4b6cf4=readFileSync(_0x4bae1b,_0x8fbb5(0x1cf));if(!_0x4b6cf4[_0x8fbb5(0x1e0)]())return emptyServiceRegistryInspection(_0x4bae1b,'empty',!![]);const _0x3a9a9a=JSON[_0x8fbb5(0x1ea)](_0x4b6cf4);if(_0x3a9a9a['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'schemaVersion':_0x3a9a9a[_0x8fbb5(0x215)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x3a9a9a[_0x8fbb5(0x215)])};if(!Array[_0x8fbb5(0x20c)](_0x3a9a9a['services']))return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3a9a9a[_0x8fbb5(0x204)],'message':_0x8fbb5(0x1e7)};const _0x3ed2d7=_0x3a9a9a[_0x8fbb5(0x216)][_0x8fbb5(0x1fe)](summarizeLocalServiceEntry);return{'registryPath':_0x4bae1b,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3a9a9a[_0x8fbb5(0x204)],'serviceCount':_0x3ed2d7['length'],'commandCount':_0x3ed2d7['reduce']((_0x3fe5a1,_0x5b66cd)=>_0x3fe5a1+_0x5b66cd[_0x8fbb5(0x209)],0x0),'services':_0x3ed2d7};}catch(_0x157131){return{...emptyServiceRegistryInspection(_0x4bae1b,_0x8fbb5(0x210),!![]),'message':_0x157131 instanceof Error?_0x157131[_0x8fbb5(0x20e)]:String(_0x157131)};}}function a34_0x3aaa(){const _0x1a46af=['code','145UAeukC','description','updatedAt','CliError','348714rydUAD','service.json','manifest','commandCount','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','stringify','isArray','manifests','message','target','invalid','string','Service\x20manifest\x20validation\x20failed:\x0a','find','splice','schemaVersion','services','report','commands','homeDir','length','1354990dtEeJd','startsWith','validation','join','normalizedManifest','utf8','now','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','source','Cannot\x20write\x20service\x20registry:\x20','serviceCode','Local\x20service\x20not\x20found:\x20','206158pSqVIm','service','].manifest','176PueWXc','localeCompare','$.services[','importedAt','name','homeDirName','findIndex','trim','warnings','risk','push','572316aGnNns','toISOString','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','services\x20must\x20be\x20an\x20array','sort','slice','parse','124128FLpTYL','path','errors','file','Invalid\x20service\x20manifest\x20JSON:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','flatMap','Remove\x20or\x20migrate\x20','Invalid\x20service\x20registry\x20JSON:\x20','ENOENT','digest','29644ohplMJ','version','sha256','cliPath','registryIndex','filePath','missing','map','377403WehwcY','Service\x20manifest\x20file\x20not\x20found:\x20'];a34_0x3aaa=function(){return _0x1a46af;};return a34_0x3aaa();}export function formatValidationFailure(_0x3f3e06){const _0x401c46=a34_0x27109d,_0x3beab4=_0x3f3e06[_0x401c46(0x1ed)][_0x401c46(0x1fe)](_0x54c897=>_0x54c897['path']+':\x20'+_0x54c897['message']);return _0x401c46(0x212)+_0x3beab4[_0x401c46(0x1cd)]('\x0a');}function extractLoadedServiceManifests(_0x68d59b,_0x5ce322){const _0x4b3c73=a34_0x27109d;if(!isServiceRegistryLike(_0x68d59b)){const _0x5053e3=_0x68d59b,_0x3124bf=validateServiceTreeManifest(_0x5053e3);return[{'manifest':_0x5053e3,'report':_0x3124bf,'normalizedManifest':_0x3124bf['ok']?normalizeServiceTreeManifest(_0x5053e3):undefined,'sourceHash':_0x5ce322}];}return _0x68d59b['services'][_0x4b3c73(0x1fe)]((_0x20e66b,_0x373fda)=>{const _0x3c0e5a=_0x4b3c73,_0x4fe45d=isObjectRecord(_0x20e66b)?_0x20e66b[_0x3c0e5a(0x208)]:undefined,_0x53e0cf=validateServiceTreeManifest(_0x4fe45d),_0x42094d=isObjectRecord(_0x20e66b)&&typeof _0x20e66b[_0x3c0e5a(0x1d4)]===_0x3c0e5a(0x211)?_0x20e66b[_0x3c0e5a(0x1d4)]:undefined;return{'manifest':_0x4fe45d,'report':_0x53e0cf,'normalizedManifest':_0x53e0cf['ok']?normalizeServiceTreeManifest(_0x4fe45d):undefined,'sourceHash':sha256(JSON['stringify'](_0x4fe45d,null,0x2)+'\x0a'),'registryIndex':_0x373fda,'registryServiceCode':_0x42094d};});}function aggregateValidationReports(_0xd6fc92){const _0xd5b795=a34_0x27109d,_0x4a9b97=_0xd6fc92[_0xd5b795(0x1f2)](_0x28bdca=>_0x28bdca[_0xd5b795(0x1fb)]===undefined?_0x28bdca['report'][_0xd5b795(0x1ed)]:_0x28bdca[_0xd5b795(0x1c6)][_0xd5b795(0x1ed)][_0xd5b795(0x1fe)](_0x1764f1=>({..._0x1764f1,'path':prefixRegistryIssuePath(_0x28bdca['registryIndex'],_0x1764f1[_0xd5b795(0x1ec)])}))),_0x46906a=_0xd6fc92[_0xd5b795(0x1f2)](_0x40ec64=>_0x40ec64[_0xd5b795(0x1fb)]===undefined?_0x40ec64['report'][_0xd5b795(0x1e1)]:_0x40ec64['report'][_0xd5b795(0x1e1)]['map'](_0x6a2bf8=>({..._0x6a2bf8,'path':prefixRegistryIssuePath(_0x40ec64['registryIndex'],_0x6a2bf8[_0xd5b795(0x1ec)])})));return{'ok':_0x4a9b97[_0xd5b795(0x1c9)]===0x0,'errors':_0x4a9b97,'warnings':_0x46906a};}function prefixRegistryIssuePath(_0x8e9245,_0x552495){const _0x2e9cee=a34_0x27109d;if(_0x552495==='$')return _0x2e9cee(0x1db)+_0x8e9245+_0x2e9cee(0x1d8);if(_0x552495['startsWith']('$.'))return _0x2e9cee(0x1db)+_0x8e9245+_0x2e9cee(0x1d8)+_0x552495[_0x2e9cee(0x1e9)](0x1);if(_0x552495[_0x2e9cee(0x1cb)]('$['))return'$.services['+_0x8e9245+_0x2e9cee(0x1d8)+_0x552495[_0x2e9cee(0x1e9)](0x1);return'$.services['+_0x8e9245+'].manifest.'+_0x552495;}function isServiceRegistryLike(_0x3e7fb1){const _0x421ccc=a34_0x27109d;return isObjectRecord(_0x3e7fb1)&&_0x3e7fb1[_0x421ccc(0x215)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x421ccc(0x20c)](_0x3e7fb1[_0x421ccc(0x216)]);}function isObjectRecord(_0x355097){const _0x335419=a34_0x27109d;return Boolean(_0x355097)&&typeof _0x355097==='object'&&!Array[_0x335419(0x20c)](_0x355097);}function emptyServiceRegistryInspection(_0x895b53,_0x2ac755,_0x5b8187){return{'registryPath':_0x895b53,'exists':_0x5b8187,'status':_0x2ac755,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x3e4baa){const _0x2eccb3=a34_0x27109d,_0x39605e=_0x3e4baa['normalizedManifest'],_0x8d0b49=_0x39605e[_0x2eccb3(0x1c7)][_0x2eccb3(0x1fe)](_0x73fb03=>({'path':_0x73fb03[_0x2eccb3(0x1fa)],'description':_0x73fb03[_0x2eccb3(0x203)],'risk':_0x73fb03[_0x2eccb3(0x1e2)],'targetKind':_0x73fb03[_0x2eccb3(0x20f)]['kind'],'targetCommand':_0x73fb03[_0x2eccb3(0x20f)]['command']}));return{'serviceCode':_0x3e4baa[_0x2eccb3(0x1d4)],'name':_0x39605e[_0x2eccb3(0x1d7)][_0x2eccb3(0x1dd)],'description':_0x39605e[_0x2eccb3(0x1d7)][_0x2eccb3(0x203)],'version':_0x3e4baa[_0x2eccb3(0x1f8)],'importedAt':_0x3e4baa[_0x2eccb3(0x1dc)],'source':_0x3e4baa[_0x2eccb3(0x1d2)],'commandCount':_0x8d0b49['length'],'commands':_0x8d0b49};}function sha256(_0xd93c6e){const _0x874835=a34_0x27109d;return createHash(_0x874835(0x1f9))['update'](_0xd93c6e)[_0x874835(0x1f6)]('hex');}
1
+ (function(_0x5123d2,_0x243dd4){const _0x30e3b1=a34_0x2ef4,_0x3bb19d=_0x5123d2();while(!![]){try{const _0x291fa0=parseInt(_0x30e3b1(0x124))/0x1*(-parseInt(_0x30e3b1(0x123))/0x2)+-parseInt(_0x30e3b1(0x109))/0x3+parseInt(_0x30e3b1(0xe3))/0x4+parseInt(_0x30e3b1(0xe9))/0x5*(parseInt(_0x30e3b1(0xf4))/0x6)+parseInt(_0x30e3b1(0xdb))/0x7+parseInt(_0x30e3b1(0xfe))/0x8*(parseInt(_0x30e3b1(0xda))/0x9)+-parseInt(_0x30e3b1(0xe0))/0xa*(parseInt(_0x30e3b1(0x10e))/0xb);if(_0x291fa0===_0x243dd4)break;else _0x3bb19d['push'](_0x3bb19d['shift']());}catch(_0x4d79a9){_0x3bb19d['push'](_0x3bb19d['shift']());}}}(a34_0x25cd,0x3e1d5));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='service.json';export function getServiceRegistryPath(_0x479cd5={}){return resolve(_0x479cd5['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x4db59a={}){const _0x246619=a34_0x2ef4,_0x39bfdc=getServiceRegistryPath(_0x4db59a);if(!existsSync(_0x39bfdc))return emptyServiceRegistry();try{const _0x266613=readFileSync(_0x39bfdc,'utf8');if(!_0x266613[_0x246619(0xff)]())return emptyServiceRegistry();const _0x45090c=JSON[_0x246619(0x106)](_0x266613);if(_0x45090c['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x246619(0x115)](_0x246619(0xf1)+String(_0x45090c['schemaVersion']),_0x246619(0xd9)+_0x39bfdc+'.');if(!Array[_0x246619(0x100)](_0x45090c[_0x246619(0xfd)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x45090c[_0x246619(0xea)],'services':_0x45090c['services']};}catch(_0x91b857){if(_0x91b857 instanceof Error&&_0x91b857[_0x246619(0x11b)]===_0x246619(0xed))throw _0x91b857;throw CliErrors[_0x246619(0x115)](_0x246619(0x11c)+_0x39bfdc,_0x246619(0xde));}}function a34_0x25cd(){const _0x641695=['normalizedManifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','50zJkLFN','updatedAt','].manifest','stringify','CliError','registry','schemaVersion','manifests','Unsupported\x20service\x20registry\x20schemaVersion:\x20','hex','errors','134274XGYCKq','commands','service','slice','].manifest.','localeCompare','cliPath','report','map','services','24tUdpKU','trim','isArray','update','Service\x20manifest\x20validation\x20failed:\x0a','findIndex','$.services[','length','parse','path','toISOString','62748BIYCLl','string','Local\x20service\x20not\x20found:\x20','digest','services\x20must\x20be\x20an\x20array','2016839MwiOwW','Cannot\x20write\x20service\x20registry:\x20','empty','Service\x20manifest\x20file\x20not\x20found:\x20','sourceHash','description','Invalid\x20service\x20manifest\x20JSON:\x20','validation','startsWith','registryIndex','message','target','splice','name','Invalid\x20service\x20registry\x20JSON:\x20','object','importedAt','utf8','code','push','file','742774SKzfWH','1RPIYWh','flatMap','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','commandCount','version','warnings','Remove\x20or\x20migrate\x20','371538nDHWgI','3166191IyNPvO','serviceCode','manifest','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','find','10XKgnds','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','.tmp','120496EXIGSx','missing','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','sha256'];a34_0x25cd=function(){return _0x641695;};return a34_0x25cd();}export function writeServiceRegistry(_0x5500a2,_0x19178d={}){const _0x4f7fd0=a34_0x2ef4,_0x4b34e8=getServiceRegistryPath(_0x19178d),_0x398a4e=dirname(_0x4b34e8);!existsSync(_0x398a4e)&&mkdirSync(_0x398a4e,{'recursive':!![]});const _0x35e857=_0x4b34e8+_0x4f7fd0(0xe2);try{writeFileSync(_0x35e857,JSON['stringify'](_0x5500a2,null,0x2)+'\x0a',{'encoding':_0x4f7fd0(0x11f),'mode':0x180}),renameSync(_0x35e857,_0x4b34e8);}catch(_0x77081c){try{unlinkSync(_0x35e857);}catch{}if(_0x77081c?.[_0x4f7fd0(0x120)]==='ENOENT')throw CliErrors['validation'](_0x4f7fd0(0x10f)+_0x4b34e8);throw _0x77081c;}return _0x4b34e8;}export function loadServiceManifestFromFile(_0x3ea551){const _0x3c381d=a34_0x2ef4,_0x515210=resolve(_0x3ea551);if(!existsSync(_0x515210))throw CliErrors[_0x3c381d(0x115)](_0x3c381d(0x111)+_0x3ea551);let _0x105346;const _0x367295=readFileSync(_0x515210,_0x3c381d(0x11f));try{_0x105346=JSON['parse'](_0x367295);}catch{throw CliErrors['validation'](_0x3c381d(0x114)+_0x3ea551,_0x3c381d(0xd5));}const _0x6af51f=sha256(_0x367295),_0x296658=extractLoadedServiceManifests(_0x105346,_0x6af51f),_0x24a881=aggregateValidationReports(_0x296658),_0x17170c=_0x296658[0x0];return{'filePath':_0x515210,'hash':_0x6af51f,'kind':isServiceRegistryLike(_0x105346)?_0x3c381d(0xee):_0x3c381d(0xdd),'manifest':_0x17170c?.[_0x3c381d(0xdd)]??_0x105346,'report':_0x24a881,'normalizedManifest':_0x296658[_0x3c381d(0x105)]===0x1?_0x17170c?.[_0x3c381d(0xe7)]:undefined,'manifests':_0x296658};}export function importServiceManifest(_0x1dae86,_0x23382b={}){const _0x3b757e=a34_0x2ef4,_0x1db446=loadServiceManifestFromFile(_0x1dae86);if(!_0x1db446[_0x3b757e(0xfb)]['ok'])throw CliErrors[_0x3b757e(0x115)](formatValidationFailure(_0x1db446[_0x3b757e(0xfb)]),_0x3b757e(0xe5));if(_0x1db446[_0x3b757e(0xf0)][_0x3b757e(0x105)]===0x0)throw CliErrors[_0x3b757e(0x115)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x3b757e(0xe8));const _0x5b26c7=readServiceRegistry(_0x23382b),_0x445c2f=(_0x23382b['now']??(()=>new Date()))()[_0x3b757e(0x108)](),_0x1f0273=[];let _0x3c60b2=0x0,_0x53509d=0x0;for(const _0x526779 of _0x1db446[_0x3b757e(0xf0)]){if(!_0x526779[_0x3b757e(0xe7)])continue;const _0x478e02=_0x526779[_0x3b757e(0xe7)][_0x3b757e(0xf6)][_0x3b757e(0x120)],_0x282e={'serviceCode':_0x478e02,'version':_0x526779[_0x3b757e(0xe7)][_0x3b757e(0xd7)],'importedAt':_0x445c2f,'source':{'type':_0x3b757e(0x122),'path':_0x1db446['filePath'],'hash':_0x526779[_0x3b757e(0x112)]},'manifest':_0x526779[_0x3b757e(0xdd)],'normalizedManifest':_0x526779[_0x3b757e(0xe7)]},_0x565bee=_0x5b26c7[_0x3b757e(0xfd)]['findIndex'](_0x545181=>_0x545181[_0x3b757e(0xdc)]===_0x478e02);_0x565bee>=0x0?(_0x5b26c7['services'][_0x565bee]=_0x282e,_0x53509d++):(_0x5b26c7['services'][_0x3b757e(0x121)](_0x282e),_0x3c60b2++),_0x1f0273['push'](_0x282e);}_0x5b26c7['services']['sort']((_0x494190,_0x525f9b)=>_0x494190[_0x3b757e(0xdc)][_0x3b757e(0xf9)](_0x525f9b[_0x3b757e(0xdc)])),_0x5b26c7[_0x3b757e(0xea)]=_0x445c2f;const _0x117788=writeServiceRegistry(_0x5b26c7,_0x23382b);return{'registryPath':_0x117788,'entry':_0x1f0273[0x0],'replaced':_0x1f0273[_0x3b757e(0x105)]===0x1?_0x53509d===0x1:_0x53509d>0x0,'entries':_0x1f0273,'imported':_0x3c60b2,'updated':_0x53509d,'serviceCount':_0x5b26c7['services'][_0x3b757e(0x105)]};}export function exportServiceManifest(_0x383a71,_0x53433a,_0x5d8367={}){const _0x349d12=a34_0x2ef4,_0xf98365=getServiceRegistryPath(_0x5d8367),_0x2ea535=getLocalServiceEntry(_0x383a71,_0x5d8367);if(!_0x2ea535)throw CliErrors['validation'](_0x349d12(0x10b)+_0x383a71,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x3e9bbb=resolve(_0x53433a),_0x4e10c4=dirname(_0x3e9bbb);return!existsSync(_0x4e10c4)&&mkdirSync(_0x4e10c4,{'recursive':!![]}),writeFileSync(_0x3e9bbb,JSON[_0x349d12(0xec)](_0x2ea535[_0x349d12(0xdd)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0xf98365,'filePath':_0x3e9bbb,'entry':_0x2ea535};}export function removeServiceManifest(_0x44fdd0,_0x4922df={}){const _0x32b62e=a34_0x2ef4,_0x542e3=readServiceRegistry(_0x4922df),_0x4da04c=_0x44fdd0[_0x32b62e(0xff)](),_0x12ecf7=_0x542e3['services'][_0x32b62e(0x103)](_0x33744b=>_0x33744b[_0x32b62e(0xdc)]===_0x4da04c);if(_0x12ecf7<0x0)throw CliErrors[_0x32b62e(0x115)](_0x32b62e(0x10b)+_0x4da04c,_0x32b62e(0xe1));const [_0x472856]=_0x542e3[_0x32b62e(0xfd)][_0x32b62e(0x11a)](_0x12ecf7,0x1),_0x377468=(_0x4922df['now']??(()=>new Date()))()[_0x32b62e(0x108)]();_0x542e3[_0x32b62e(0xea)]=_0x377468;const _0x3a8259=writeServiceRegistry(_0x542e3,_0x4922df);return{'registryPath':_0x3a8259,'entry':_0x472856,'serviceCount':_0x542e3[_0x32b62e(0xfd)][_0x32b62e(0x105)]};}export function listLocalServices(_0x4899bd={}){const _0x46bf4e=a34_0x2ef4;return readServiceRegistry(_0x4899bd)[_0x46bf4e(0xfd)];}export function getLocalServiceEntry(_0x3d5b11,_0x349569={}){const _0x4eb512=a34_0x2ef4;return readServiceRegistry(_0x349569)[_0x4eb512(0xfd)][_0x4eb512(0xdf)](_0x4d695f=>_0x4d695f['serviceCode']===_0x3d5b11[_0x4eb512(0xff)]());}export function listLocalServiceTrees(_0x5c884d={}){const _0x451a47=a34_0x2ef4;return readServiceRegistry(_0x5c884d)[_0x451a47(0xfd)][_0x451a47(0xfc)](_0x2b4653=>_0x2b4653['normalizedManifest']);}export function inspectServiceRegistry(_0x1b04f1={}){const _0x42780d=a34_0x2ef4,_0x50e748=getServiceRegistryPath(_0x1b04f1);if(!existsSync(_0x50e748))return emptyServiceRegistryInspection(_0x50e748,_0x42780d(0xe4),![]);try{const _0x184a48=readFileSync(_0x50e748,'utf8');if(!_0x184a48[_0x42780d(0xff)]())return emptyServiceRegistryInspection(_0x50e748,_0x42780d(0x110),!![]);const _0x37df2d=JSON[_0x42780d(0x106)](_0x184a48);if(_0x37df2d[_0x42780d(0xef)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'schemaVersion':_0x37df2d[_0x42780d(0xef)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x37df2d[_0x42780d(0xef)])};if(!Array[_0x42780d(0x100)](_0x37df2d[_0x42780d(0xfd)]))return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x37df2d[_0x42780d(0xea)],'message':_0x42780d(0x10d)};const _0x5d7771=_0x37df2d[_0x42780d(0xfd)][_0x42780d(0xfc)](summarizeLocalServiceEntry);return{'registryPath':_0x50e748,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x37df2d[_0x42780d(0xea)],'serviceCount':_0x5d7771[_0x42780d(0x105)],'commandCount':_0x5d7771['reduce']((_0xa44863,_0x134f7a)=>_0xa44863+_0x134f7a[_0x42780d(0xd6)],0x0),'services':_0x5d7771};}catch(_0x5d26b9){return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'message':_0x5d26b9 instanceof Error?_0x5d26b9[_0x42780d(0x118)]:String(_0x5d26b9)};}}export function formatValidationFailure(_0x2a165b){const _0x561fc6=a34_0x2ef4,_0xb5fc18=_0x2a165b[_0x561fc6(0xf3)][_0x561fc6(0xfc)](_0x1c88c3=>_0x1c88c3[_0x561fc6(0x107)]+':\x20'+_0x1c88c3[_0x561fc6(0x118)]);return _0x561fc6(0x102)+_0xb5fc18['join']('\x0a');}function extractLoadedServiceManifests(_0x27e3f7,_0x4d6e3a){const _0x53bea6=a34_0x2ef4;if(!isServiceRegistryLike(_0x27e3f7)){const _0x4a139e=_0x27e3f7,_0x2abf56=validateServiceTreeManifest(_0x4a139e);return[{'manifest':_0x4a139e,'report':_0x2abf56,'normalizedManifest':_0x2abf56['ok']?normalizeServiceTreeManifest(_0x4a139e):undefined,'sourceHash':_0x4d6e3a}];}return _0x27e3f7[_0x53bea6(0xfd)][_0x53bea6(0xfc)]((_0x251a7a,_0x28dc3f)=>{const _0x377451=_0x53bea6,_0x1ad55f=isObjectRecord(_0x251a7a)?_0x251a7a['manifest']:undefined,_0x2e6a59=validateServiceTreeManifest(_0x1ad55f),_0x4abae4=isObjectRecord(_0x251a7a)&&typeof _0x251a7a['serviceCode']===_0x377451(0x10a)?_0x251a7a['serviceCode']:undefined;return{'manifest':_0x1ad55f,'report':_0x2e6a59,'normalizedManifest':_0x2e6a59['ok']?normalizeServiceTreeManifest(_0x1ad55f):undefined,'sourceHash':sha256(JSON['stringify'](_0x1ad55f,null,0x2)+'\x0a'),'registryIndex':_0x28dc3f,'registryServiceCode':_0x4abae4};});}function aggregateValidationReports(_0x229ea8){const _0x2a2faf=a34_0x2ef4,_0x325859=_0x229ea8[_0x2a2faf(0x125)](_0x465fc2=>_0x465fc2[_0x2a2faf(0x117)]===undefined?_0x465fc2[_0x2a2faf(0xfb)][_0x2a2faf(0xf3)]:_0x465fc2[_0x2a2faf(0xfb)][_0x2a2faf(0xf3)]['map'](_0x17d103=>({..._0x17d103,'path':prefixRegistryIssuePath(_0x465fc2[_0x2a2faf(0x117)],_0x17d103['path'])}))),_0x1e1b6e=_0x229ea8[_0x2a2faf(0x125)](_0x414fb2=>_0x414fb2[_0x2a2faf(0x117)]===undefined?_0x414fb2['report'][_0x2a2faf(0xd8)]:_0x414fb2['report'][_0x2a2faf(0xd8)]['map'](_0x50d30d=>({..._0x50d30d,'path':prefixRegistryIssuePath(_0x414fb2[_0x2a2faf(0x117)],_0x50d30d[_0x2a2faf(0x107)])})));return{'ok':_0x325859[_0x2a2faf(0x105)]===0x0,'errors':_0x325859,'warnings':_0x1e1b6e};}function prefixRegistryIssuePath(_0x5c9a04,_0x5f53e7){const _0x28d739=a34_0x2ef4;if(_0x5f53e7==='$')return _0x28d739(0x104)+_0x5c9a04+'].manifest';if(_0x5f53e7[_0x28d739(0x116)]('$.'))return _0x28d739(0x104)+_0x5c9a04+_0x28d739(0xeb)+_0x5f53e7[_0x28d739(0xf7)](0x1);if(_0x5f53e7[_0x28d739(0x116)]('$['))return'$.services['+_0x5c9a04+_0x28d739(0xeb)+_0x5f53e7[_0x28d739(0xf7)](0x1);return _0x28d739(0x104)+_0x5c9a04+_0x28d739(0xf8)+_0x5f53e7;}function a34_0x2ef4(_0x1fd9c3,_0x22f457){_0x1fd9c3=_0x1fd9c3-0xd5;const _0x25cdbe=a34_0x25cd();let _0x2ef441=_0x25cdbe[_0x1fd9c3];return _0x2ef441;}function isServiceRegistryLike(_0x5ab111){const _0x1b4afc=a34_0x2ef4;return isObjectRecord(_0x5ab111)&&_0x5ab111[_0x1b4afc(0xef)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x5ab111['services']);}function isObjectRecord(_0x4d4e99){const _0x2de584=a34_0x2ef4;return Boolean(_0x4d4e99)&&typeof _0x4d4e99===_0x2de584(0x11d)&&!Array[_0x2de584(0x100)](_0x4d4e99);}function emptyServiceRegistryInspection(_0x2e395a,_0x49fd08,_0x252448){return{'registryPath':_0x2e395a,'exists':_0x252448,'status':_0x49fd08,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4da5d3){const _0x5f0ba6=a34_0x2ef4,_0x34f572=_0x4da5d3[_0x5f0ba6(0xe7)],_0x4670db=_0x34f572[_0x5f0ba6(0xf5)][_0x5f0ba6(0xfc)](_0xabe7c3=>({'path':_0xabe7c3[_0x5f0ba6(0xfa)],'description':_0xabe7c3[_0x5f0ba6(0x113)],'risk':_0xabe7c3['risk'],'targetKind':_0xabe7c3['target']['kind'],'targetCommand':_0xabe7c3[_0x5f0ba6(0x119)]['command']}));return{'serviceCode':_0x4da5d3['serviceCode'],'name':_0x34f572[_0x5f0ba6(0xf6)][_0x5f0ba6(0x11b)],'description':_0x34f572[_0x5f0ba6(0xf6)][_0x5f0ba6(0x113)],'version':_0x4da5d3['version'],'importedAt':_0x4da5d3[_0x5f0ba6(0x11e)],'source':_0x4da5d3['source'],'commandCount':_0x4670db[_0x5f0ba6(0x105)],'commands':_0x4670db};}function sha256(_0x29cf38){const _0x53dce4=a34_0x2ef4;return createHash(_0x53dce4(0xe6))[_0x53dce4(0x101)](_0x29cf38)[_0x53dce4(0x10c)](_0x53dce4(0xf2));}
@@ -1 +1 @@
1
- const a35_0x5ef02d=a35_0x42b4;(function(_0x3e7bb0,_0x34aad0){const _0x11a909=a35_0x42b4,_0x22e444=_0x3e7bb0();while(!![]){try{const _0x4aee2b=parseInt(_0x11a909(0x8c))/0x1*(-parseInt(_0x11a909(0x9d))/0x2)+-parseInt(_0x11a909(0x87))/0x3+parseInt(_0x11a909(0xa5))/0x4*(-parseInt(_0x11a909(0x90))/0x5)+-parseInt(_0x11a909(0x8b))/0x6+parseInt(_0x11a909(0xa8))/0x7+parseInt(_0x11a909(0x9c))/0x8*(-parseInt(_0x11a909(0xa3))/0x9)+parseInt(_0x11a909(0x86))/0xa*(parseInt(_0x11a909(0x8d))/0xb);if(_0x4aee2b===_0x34aad0)break;else _0x22e444['push'](_0x22e444['shift']());}catch(_0xb8d370){_0x22e444['push'](_0x22e444['shift']());}}}(a35_0x2f07,0x6743c));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a35_0x42b4(_0x51c7b6,_0x276b8a){_0x51c7b6=_0x51c7b6-0x86;const _0x2f071b=a35_0x2f07();let _0x42b47f=_0x2f071b[_0x51c7b6];return _0x42b47f;}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x5ef02d(0xa6),'command':a35_0x5ef02d(0x92),'description':a35_0x5ef02d(0x96),'risk':a35_0x5ef02d(0x9e),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x40f65d){const _0x47da67=a35_0x5ef02d,_0x70506c=buildSkillCreatePlan(_0x40f65d[_0x47da67(0x9f)]('name'),_0x40f65d['str'](_0x47da67(0x99)),_0x40f65d['str'](_0x47da67(0x9b)));return{'method':_0x47da67(0x89),'url':_0x70506c['skillDir'],'body':{'skillName':_0x70506c['rendered']['skillName'],'type':_0x70506c[_0x47da67(0x97)][_0x47da67(0x99)],'selfContained':!![],'files':_0x70506c[_0x47da67(0x97)][_0x47da67(0x8f)][_0x47da67(0xa7)](_0x449059=>_0x449059[_0x47da67(0x98)])},'description':_0x47da67(0xa2)};},async 'execute'(_0x4227f8){const _0x102df9=a35_0x5ef02d,_0x3c70d2=buildSkillCreatePlan(_0x4227f8[_0x102df9(0x9f)](_0x102df9(0x88)),_0x4227f8['str']('type'),_0x4227f8['str'](_0x102df9(0x9b)));return writeSkillDraft(_0x3c70d2,_0x4227f8['bool'](_0x102df9(0xa9))),{'ok':!![],'data':{'skillName':_0x3c70d2[_0x102df9(0x97)]['skillName'],'type':_0x3c70d2[_0x102df9(0x97)]['type'],'dir':_0x3c70d2[_0x102df9(0xa4)],'files':_0x3c70d2[_0x102df9(0x97)][_0x102df9(0x8f)][_0x102df9(0xa7)](_0x1d624c=>_0x1d624c[_0x102df9(0x98)])},'message':_0x102df9(0x9a)+_0x3c70d2['rendered'][_0x102df9(0xa1)]};}};function buildSkillCreatePlan(_0x5dca86,_0xcc074b,_0x5a565e){const _0x4c3b65=a35_0x5ef02d,_0xf21c91=renderSkillTemplate({'skillName':_0x5dca86,'type':_0xcc074b}),_0x4ca91e=resolve(normalizeSkillTarget(_0x5a565e));return{'rendered':_0xf21c91,'targetRoot':_0x4ca91e,'skillDir':resolve(_0x4ca91e,_0xf21c91[_0x4c3b65(0xa1)])};}function a35_0x2f07(){const _0x1aa8d1=['Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','rendered','path','type','Created\x20local\x20Skill\x20draft\x20','target','367992BXHwAK','24zrLuoP','write','str','isDirectory','skillName','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','117BNeklB','skillDir','4AmUbiG','skill','map','3140753Sbpelf','force','690UKiJpM','1442550BxCsrh','name','WRITE','trim','342774BqzfSB','26596mMuEDa','337227YBpBsq','content','files','3429610bzkMgw','validation','create','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','isSymbolicLink'];a35_0x2f07=function(){return _0x1aa8d1;};return a35_0x2f07();}function normalizeSkillTarget(_0x1651a8){const _0x5d5e4e=a35_0x5ef02d;return(_0x1651a8||DEFAULT_SKILL_TARGET)[_0x5d5e4e(0x8a)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x16a73a,_0x3cf517){const _0x1bc7bc=a35_0x5ef02d;if(existsSync(_0x16a73a[_0x1bc7bc(0xa4)])){const _0x39f335=lstatSync(_0x16a73a['skillDir']);if(!_0x39f335[_0x1bc7bc(0xa0)]()||_0x39f335[_0x1bc7bc(0x95)]())throw CliErrors[_0x1bc7bc(0x91)](_0x1bc7bc(0x93)+_0x16a73a[_0x1bc7bc(0xa4)]);if(!_0x3cf517)throw CliErrors[_0x1bc7bc(0x91)]('Skill\x20directory\x20already\x20exists:\x20'+_0x16a73a[_0x1bc7bc(0xa4)],_0x1bc7bc(0x94));}for(const _0x3d01bb of _0x16a73a[_0x1bc7bc(0x97)]['files']){const _0x3e35f0=resolve(_0x16a73a[_0x1bc7bc(0xa4)],_0x3d01bb[_0x1bc7bc(0x98)]),_0x9c9909=dirname(_0x3e35f0);mkdirSync(_0x9c9909,{'recursive':!![]});if(existsSync(_0x3e35f0)&&lstatSync(_0x3e35f0)[_0x1bc7bc(0x95)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3e35f0);writeFileSync(_0x3e35f0,_0x3d01bb[_0x1bc7bc(0x8e)],'utf8');}}
1
+ const a35_0x4bc432=a35_0xbee7;(function(_0x98eb88,_0x18cc69){const _0x3dec6a=a35_0xbee7,_0x55dde7=_0x98eb88();while(!![]){try{const _0x32769e=-parseInt(_0x3dec6a(0x16c))/0x1+parseInt(_0x3dec6a(0x164))/0x2*(-parseInt(_0x3dec6a(0x175))/0x3)+parseInt(_0x3dec6a(0x17d))/0x4*(-parseInt(_0x3dec6a(0x168))/0x5)+-parseInt(_0x3dec6a(0x170))/0x6+parseInt(_0x3dec6a(0x174))/0x7*(-parseInt(_0x3dec6a(0x173))/0x8)+parseInt(_0x3dec6a(0x181))/0x9*(-parseInt(_0x3dec6a(0x186))/0xa)+-parseInt(_0x3dec6a(0x16d))/0xb*(-parseInt(_0x3dec6a(0x178))/0xc);if(_0x32769e===_0x18cc69)break;else _0x55dde7['push'](_0x55dde7['shift']());}catch(_0x5b6130){_0x55dde7['push'](_0x55dde7['shift']());}}}(a35_0x1b5a,0x8f48e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a35_0xbee7(_0x42f01f,_0x1fa784){_0x42f01f=_0x42f01f-0x164;const _0x1b5a10=a35_0x1b5a();let _0xbee7d7=_0x1b5a10[_0x42f01f];return _0xbee7d7;}function a35_0x1b5a(){const _0x21eb70=['str','6228MnwVZI','utf8','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','type','isDirectory','10970UiiVCY','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','11426TZFxQZ','create','Refusing\x20to\x20overwrite\x20symlink:\x20','validation','2667345WiTqmT','Skill\x20directory\x20already\x20exists:\x20','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','map','682623lOZRWt','1287gQVFcM','files','target','5080248EjnqSh','path','skillDir','16LuzAJt','950068OUtBbe','303KncHeY','force','rendered','436644DOLUXf','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isSymbolicLink','write','content','4bNnPoB','trim','skillName'];a35_0x1b5a=function(){return _0x21eb70;};return a35_0x1b5a();}export const createCommand={'service':'skill','command':a35_0x4bc432(0x165),'description':a35_0x4bc432(0x183),'risk':a35_0x4bc432(0x17b),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x1f4edc){const _0x95e29a=a35_0x4bc432,_0x1c7417=buildSkillCreatePlan(_0x1f4edc[_0x95e29a(0x180)]('name'),_0x1f4edc[_0x95e29a(0x180)](_0x95e29a(0x184)),_0x1f4edc[_0x95e29a(0x180)]('target'));return{'method':'WRITE','url':_0x1c7417['skillDir'],'body':{'skillName':_0x1c7417[_0x95e29a(0x177)]['skillName'],'type':_0x1c7417[_0x95e29a(0x177)]['type'],'selfContained':!![],'files':_0x1c7417['rendered']['files'][_0x95e29a(0x16b)](_0x552cda=>_0x552cda[_0x95e29a(0x171)])},'description':_0x95e29a(0x179)};},async 'execute'(_0xeb0d07){const _0x14c7de=a35_0x4bc432,_0x3f43e3=buildSkillCreatePlan(_0xeb0d07[_0x14c7de(0x180)]('name'),_0xeb0d07[_0x14c7de(0x180)]('type'),_0xeb0d07[_0x14c7de(0x180)](_0x14c7de(0x16f)));return writeSkillDraft(_0x3f43e3,_0xeb0d07['bool'](_0x14c7de(0x176))),{'ok':!![],'data':{'skillName':_0x3f43e3['rendered'][_0x14c7de(0x17f)],'type':_0x3f43e3[_0x14c7de(0x177)]['type'],'dir':_0x3f43e3[_0x14c7de(0x172)],'files':_0x3f43e3[_0x14c7de(0x177)][_0x14c7de(0x16e)][_0x14c7de(0x16b)](_0x35646c=>_0x35646c[_0x14c7de(0x171)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x3f43e3['rendered'][_0x14c7de(0x17f)]};}};function buildSkillCreatePlan(_0x1f0bf1,_0xefdc40,_0x5c454b){const _0x3c5317=a35_0x4bc432,_0x391394=renderSkillTemplate({'skillName':_0x1f0bf1,'type':_0xefdc40}),_0x4450df=resolve(normalizeSkillTarget(_0x5c454b));return{'rendered':_0x391394,'targetRoot':_0x4450df,'skillDir':resolve(_0x4450df,_0x391394[_0x3c5317(0x17f)])};}function normalizeSkillTarget(_0x2e9a35){const _0x206518=a35_0x4bc432;return(_0x2e9a35||DEFAULT_SKILL_TARGET)[_0x206518(0x17e)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5e527e,_0x585cad){const _0x45efc3=a35_0x4bc432;if(existsSync(_0x5e527e['skillDir'])){const _0x5c165f=lstatSync(_0x5e527e[_0x45efc3(0x172)]);if(!_0x5c165f[_0x45efc3(0x185)]()||_0x5c165f[_0x45efc3(0x17a)]())throw CliErrors[_0x45efc3(0x167)](_0x45efc3(0x16a)+_0x5e527e[_0x45efc3(0x172)]);if(!_0x585cad)throw CliErrors[_0x45efc3(0x167)](_0x45efc3(0x169)+_0x5e527e[_0x45efc3(0x172)],_0x45efc3(0x187));}for(const _0x5fc343 of _0x5e527e[_0x45efc3(0x177)][_0x45efc3(0x16e)]){const _0x4767d9=resolve(_0x5e527e[_0x45efc3(0x172)],_0x5fc343[_0x45efc3(0x171)]),_0x1dc602=dirname(_0x4767d9);mkdirSync(_0x1dc602,{'recursive':!![]});if(existsSync(_0x4767d9)&&lstatSync(_0x4767d9)[_0x45efc3(0x17a)]())throw CliErrors['validation'](_0x45efc3(0x166)+_0x4767d9);writeFileSync(_0x4767d9,_0x5fc343[_0x45efc3(0x17c)],_0x45efc3(0x182));}}
@@ -1 +1 @@
1
- function a36_0x2e13(_0x3ae7c8,_0x10544f){_0x3ae7c8=_0x3ae7c8-0xf8;const _0x26bd2c=a36_0x26bd();let _0x2e1366=_0x26bd2c[_0x3ae7c8];return _0x2e1366;}function a36_0x26bd(){const _0x107cfc=['scope','../../../core/api-client.js','1266eXPnUZ','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','skipped','1115276xSdPOo','authRequired','610728xUgZAA','../../../skills/runtime-skill-sync.js','push','4000330rxsfef','6dEjJmz','version','code','1502THiqyD','removed','\x20personal\x20and\x20','accessKey','unchanged','str','trim','filter','action','874975oRrqIq','skillCode','production','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','appCode','\x20company\x20Skill(s).','5649PueFKx','write','1463850KwvhRN','personal','company','all','reduce','map','length','includes','created','Installed\x20','envName','updated'];a36_0x26bd=function(){return _0x107cfc;};return a36_0x26bd();}const a36_0x41bf2e=a36_0x2e13;(function(_0x5eccf5,_0x362d34){const _0x4e4edb=a36_0x2e13,_0x4e2fc4=_0x5eccf5();while(!![]){try{const _0xfec762=parseInt(_0x4e4edb(0xfa))/0x1+-parseInt(_0x4e4edb(0x11c))/0x2*(parseInt(_0x4e4edb(0x119))/0x3)+parseInt(_0x4e4edb(0x113))/0x4+-parseInt(_0x4e4edb(0x118))/0x5+parseInt(_0x4e4edb(0x110))/0x6*(parseInt(_0x4e4edb(0x100))/0x7)+-parseInt(_0x4e4edb(0x115))/0x8+parseInt(_0x4e4edb(0x102))/0x9;if(_0xfec762===_0x362d34)break;else _0x4e2fc4['push'](_0x4e2fc4['shift']());}catch(_0x5b6223){_0x4e2fc4['push'](_0x4e2fc4['shift']());}}}(a36_0x26bd,0x94a2c));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':'install','description':a36_0x41bf2e(0xfd),'risk':a36_0x41bf2e(0x101),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1aa541){return syncRuntimeSkills(_0x1aa541);}};async function syncRuntimeSkills(_0x58da42){const _0x551fff=a36_0x41bf2e,{downloadRuntimeSkillPackage:_0x5ddf0d,listRuntimeSkills:_0x2d89c4}=await import(_0x551fff(0x10f)),{linkEffectiveRuntimeSkills:_0x395823,materializeRuntimeSkill:_0x587733,pruneStaleRuntimeSkillCache:_0x4c911f,pruneStaleRuntimeSkillLinks:_0x39fe86}=await import(_0x551fff(0x116)),_0x539065=_0x58da42['str'](_0x551fff(0x11b)),_0xde5114=normalizeSyncScopes(_0x58da42[_0x551fff(0x121)](_0x551fff(0x10e))),_0xd76949=_0x58da42[_0x551fff(0x10c)]??_0x551fff(0xfc),_0x43b706=_0x58da42[_0x551fff(0x11f)];if(!_0x43b706)throw CliErrors[_0x551fff(0x114)](_0x551fff(0x111));const _0x3fea28=await Promise[_0x551fff(0x105)](_0xde5114[_0x551fff(0x107)](_0x5e20ec=>_0x2d89c4({'appCode':_0x58da42['appCode'],'scope':_0x5e20ec,'code':_0x539065[_0x551fff(0x122)]()||undefined}))),_0x56f888=_0xde5114[_0x551fff(0x109)](_0x551fff(0x103))?_0x3fea28['flatMap']((_0x3b04a9,_0x87078f)=>_0xde5114[_0x87078f]===_0x551fff(0x103)?_0x3b04a9[_0x551fff(0x103)]:[]):[],_0x4c2b55=_0xde5114[_0x551fff(0x109)](_0x551fff(0x104))?_0x3fea28['flatMap']((_0x1ed144,_0x548301)=>_0xde5114[_0x548301]===_0x551fff(0x104)?_0x1ed144[_0x551fff(0x104)]:[]):[],_0x3b36d3=new Set([..._0x56f888['map'](_0x19f95f=>_0x19f95f['skillCode']?.[_0x551fff(0x122)]())['filter'](_0x4dc882=>Boolean(_0x4dc882)),..._0x4c2b55['map'](_0x3e01fa=>_0x3e01fa[_0x551fff(0xfb)]?.[_0x551fff(0x122)]())[_0x551fff(0xf8)](_0x438853=>Boolean(_0x438853))]),_0x480ad1=_0x539065['trim']()?[_0x539065['trim']()]:undefined,_0x55eadb=_0xde5114[_0x551fff(0x108)]===0x2&&_0xde5114['includes']('personal')&&_0xde5114[_0x551fff(0x109)](_0x551fff(0x104)),_0x2c7436=_0x55eadb?_0x39fe86(_0x58da42[_0x551fff(0xfe)],_0x3b36d3,{},_0x480ad1):[],_0x4de1be=_0x4c911f({'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42[_0x551fff(0xfe)],'activeSkillCodes':_0x3b36d3,'pruneSkillCodes':_0x480ad1,'scopes':_0xde5114}),_0x1e8ba5=[];for(const _0x5a04df of _0x56f888){_0x1e8ba5[_0x551fff(0x117)](_0x587733(_0x5a04df,'personal',{'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42['appCode'],'packageBytes':await downloadSkillPackage(_0x5a04df,'personal',_0x58da42[_0x551fff(0xfe)],_0x5ddf0d)}));}for(const _0x2d0c7a of _0x4c2b55){_0x1e8ba5[_0x551fff(0x117)](_0x587733(_0x2d0c7a,_0x551fff(0x104),{'env':_0xd76949,'accessKey':_0x43b706,'appCode':_0x58da42[_0x551fff(0xfe)],'packageBytes':await downloadSkillPackage(_0x2d0c7a,_0x551fff(0x104),_0x58da42[_0x551fff(0xfe)],_0x5ddf0d)}));}const _0x4c1f07=_0x395823(_0x1e8ba5,_0x58da42[_0x551fff(0xfe)]),_0x3edf49=countLinkActions(_0x4c1f07);return{'ok':!![],'data':{'appCode':_0x58da42[_0x551fff(0xfe)],'personal':_0x56f888['length'],'company':_0x4c2b55[_0x551fff(0x108)],'materialized':_0x1e8ba5['length'],'links':{'total':_0x4c1f07[_0x551fff(0x108)],'created':_0x3edf49[_0x551fff(0x10a)]??0x0,'updated':_0x3edf49[_0x551fff(0x10d)]??0x0,'unchanged':_0x3edf49[_0x551fff(0x120)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x2c7436['filter'](_0x179a19=>_0x179a19[_0x551fff(0xf9)]==='removed')[_0x551fff(0x108)],'cacheDirs':_0x4de1be[_0x551fff(0xf8)](_0x1c7f7a=>_0x1c7f7a[_0x551fff(0xf9)]===_0x551fff(0x11d))[_0x551fff(0x108)],'skipped':[..._0x2c7436,..._0x4de1be][_0x551fff(0xf8)](_0x53729e=>_0x53729e[_0x551fff(0xf9)]===_0x551fff(0x112))[_0x551fff(0x108)]},'skills':{'personal':_0x56f888[_0x551fff(0x107)](summarizeRuntimeSkill),'company':_0x4c2b55[_0x551fff(0x107)](summarizeRuntimeSkill)}},'message':_0x551fff(0x10b)+_0x56f888['length']+_0x551fff(0x11e)+_0x4c2b55[_0x551fff(0x108)]+_0x551fff(0xff)};}async function downloadSkillPackage(_0x158b3a,_0x38dc45,_0x629ed2,_0x569fed){const _0x1f5c47=a36_0x41bf2e,_0x320055=_0x158b3a[_0x1f5c47(0x11a)]?.['trim']();return _0x320055?_0x569fed(_0x38dc45,_0x158b3a[_0x1f5c47(0xfb)],_0x629ed2,_0x320055):_0x569fed(_0x38dc45,_0x158b3a[_0x1f5c47(0xfb)],_0x629ed2);}function countLinkActions(_0x17973e){const _0x1ba804=a36_0x41bf2e;return _0x17973e[_0x1ba804(0x106)]((_0x4daf5a,_0x3a69a6)=>{const _0x2822f1=_0x1ba804;return _0x4daf5a[_0x3a69a6[_0x2822f1(0xf9)]]=(_0x4daf5a[_0x3a69a6[_0x2822f1(0xf9)]]??0x0)+0x1,_0x4daf5a;},{});}
1
+ const a36_0x45cd75=a36_0x3ba2;(function(_0x4509ce,_0x19145b){const _0x1a9808=a36_0x3ba2,_0x22fa45=_0x4509ce();while(!![]){try{const _0x2a151e=-parseInt(_0x1a9808(0xec))/0x1*(-parseInt(_0x1a9808(0xee))/0x2)+parseInt(_0x1a9808(0xe4))/0x3*(-parseInt(_0x1a9808(0xdd))/0x4)+parseInt(_0x1a9808(0xe6))/0x5*(-parseInt(_0x1a9808(0xeb))/0x6)+parseInt(_0x1a9808(0xf7))/0x7*(-parseInt(_0x1a9808(0xd3))/0x8)+parseInt(_0x1a9808(0xf4))/0x9+-parseInt(_0x1a9808(0xe0))/0xa*(-parseInt(_0x1a9808(0xde))/0xb)+parseInt(_0x1a9808(0xdc))/0xc;if(_0x2a151e===_0x19145b)break;else _0x22fa45['push'](_0x22fa45['shift']());}catch(_0x488499){_0x22fa45['push'](_0x22fa45['shift']());}}}(a36_0x24bb,0xb891e));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x45cd75(0xea),'command':a36_0x45cd75(0xe7),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x45cd75(0xdb),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x23122b){return syncRuntimeSkills(_0x23122b);}};async function syncRuntimeSkills(_0x56c883){const _0x26cb05=a36_0x45cd75,{downloadRuntimeSkillPackage:_0xc605b1,listRuntimeSkills:_0x57b231}=await import(_0x26cb05(0xf5)),{linkEffectiveRuntimeSkills:_0x1afd16,materializeRuntimeSkill:_0x3e1385,pruneStaleRuntimeSkillCache:_0x5acc09,pruneStaleRuntimeSkillLinks:_0x2ba3e1}=await import(_0x26cb05(0xf2)),_0x2a0d86=_0x56c883[_0x26cb05(0xf3)](_0x26cb05(0xd8)),_0x5812a6=normalizeSyncScopes(_0x56c883['str']('scope')),_0x419ad3=_0x56c883[_0x26cb05(0xf0)]??_0x26cb05(0xe3),_0x3321d4=_0x56c883['accessKey'];if(!_0x3321d4)throw CliErrors[_0x26cb05(0xfa)](_0x26cb05(0xcf));const _0x5ddf5a=await Promise[_0x26cb05(0xd1)](_0x5812a6['map'](_0x40b5bc=>_0x57b231({'appCode':_0x56c883[_0x26cb05(0xef)],'scope':_0x40b5bc,'code':_0x2a0d86['trim']()||undefined}))),_0x4d5453=_0x5812a6[_0x26cb05(0xd7)](_0x26cb05(0xf6))?_0x5ddf5a[_0x26cb05(0xce)]((_0x3810b7,_0x11cf10)=>_0x5812a6[_0x11cf10]===_0x26cb05(0xf6)?_0x3810b7[_0x26cb05(0xf6)]:[]):[],_0xe7aeba=_0x5812a6[_0x26cb05(0xd7)](_0x26cb05(0xd9))?_0x5ddf5a['flatMap']((_0x20316f,_0x311f72)=>_0x5812a6[_0x311f72]===_0x26cb05(0xd9)?_0x20316f[_0x26cb05(0xd9)]:[]):[],_0x27fd21=new Set([..._0x4d5453[_0x26cb05(0xe8)](_0x365dcc=>_0x365dcc[_0x26cb05(0xf1)]?.[_0x26cb05(0xf8)]())['filter'](_0x1e325e=>Boolean(_0x1e325e)),..._0xe7aeba[_0x26cb05(0xe8)](_0x17f181=>_0x17f181['skillCode']?.['trim']())['filter'](_0x2aaf6b=>Boolean(_0x2aaf6b))]),_0x2fde50=_0x2a0d86[_0x26cb05(0xf8)]()?[_0x2a0d86[_0x26cb05(0xf8)]()]:undefined,_0x4bc00e=_0x5812a6[_0x26cb05(0xd2)]===0x2&&_0x5812a6['includes'](_0x26cb05(0xf6))&&_0x5812a6['includes']('company'),_0x543b53=_0x4bc00e?_0x2ba3e1(_0x56c883[_0x26cb05(0xef)],_0x27fd21,{},_0x2fde50):[],_0x1b5a4b=_0x5acc09({'env':_0x419ad3,'accessKey':_0x3321d4,'appCode':_0x56c883[_0x26cb05(0xef)],'activeSkillCodes':_0x27fd21,'pruneSkillCodes':_0x2fde50,'scopes':_0x5812a6}),_0x289f60=[];for(const _0x37e6db of _0x4d5453){_0x289f60[_0x26cb05(0xe9)](_0x3e1385(_0x37e6db,_0x26cb05(0xf6),{'env':_0x419ad3,'accessKey':_0x3321d4,'appCode':_0x56c883['appCode'],'packageBytes':await downloadSkillPackage(_0x37e6db,_0x26cb05(0xf6),_0x56c883['appCode'],_0xc605b1)}));}for(const _0x263b9a of _0xe7aeba){_0x289f60['push'](_0x3e1385(_0x263b9a,_0x26cb05(0xd9),{'env':_0x419ad3,'accessKey':_0x3321d4,'appCode':_0x56c883[_0x26cb05(0xef)],'packageBytes':await downloadSkillPackage(_0x263b9a,_0x26cb05(0xd9),_0x56c883[_0x26cb05(0xef)],_0xc605b1)}));}const _0x2084aa=_0x1afd16(_0x289f60,_0x56c883['appCode']),_0x28b732=countLinkActions(_0x2084aa);return{'ok':!![],'data':{'appCode':_0x56c883[_0x26cb05(0xef)],'personal':_0x4d5453[_0x26cb05(0xd2)],'company':_0xe7aeba[_0x26cb05(0xd2)],'materialized':_0x289f60['length'],'links':{'total':_0x2084aa[_0x26cb05(0xd2)],'created':_0x28b732['created']??0x0,'updated':_0x28b732[_0x26cb05(0xd0)]??0x0,'unchanged':_0x28b732[_0x26cb05(0xd6)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x543b53[_0x26cb05(0xf9)](_0xbc24fa=>_0xbc24fa['action']==='removed')[_0x26cb05(0xd2)],'cacheDirs':_0x1b5a4b[_0x26cb05(0xf9)](_0x33cfcc=>_0x33cfcc[_0x26cb05(0xd4)]===_0x26cb05(0xe1))[_0x26cb05(0xd2)],'skipped':[..._0x543b53,..._0x1b5a4b]['filter'](_0x25431f=>_0x25431f[_0x26cb05(0xd4)]===_0x26cb05(0xdf))[_0x26cb05(0xd2)]},'skills':{'personal':_0x4d5453[_0x26cb05(0xe8)](summarizeRuntimeSkill),'company':_0xe7aeba['map'](summarizeRuntimeSkill)}},'message':_0x26cb05(0xed)+_0x4d5453[_0x26cb05(0xd2)]+_0x26cb05(0xd5)+_0xe7aeba[_0x26cb05(0xd2)]+_0x26cb05(0xe2)};}function a36_0x24bb(){const _0x3b2d90=['personal','5087201dWqVog','trim','filter','authRequired','flatMap','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','updated','all','length','8eHxedb','action','\x20personal\x20and\x20','unchanged','includes','code','company','version','write','26547120rQNuqB','4ngnHEJ','171391zKHOCI','skipped','340QvYCjs','removed','\x20company\x20Skill(s).','production','2854941tEXKlJ','reduce','1979765coAURn','install','map','push','skill','18oEjZtd','473731WTRwGJ','Installed\x20','2PXqRae','appCode','envName','skillCode','../../../skills/runtime-skill-sync.js','str','3658518IVNteZ','../../../core/api-client.js'];a36_0x24bb=function(){return _0x3b2d90;};return a36_0x24bb();}function a36_0x3ba2(_0x3e524f,_0x3ac0c4){_0x3e524f=_0x3e524f-0xce;const _0x24bb75=a36_0x24bb();let _0x3ba2e7=_0x24bb75[_0x3e524f];return _0x3ba2e7;}async function downloadSkillPackage(_0x39539a,_0x21e39a,_0x5a7a90,_0x4a22ba){const _0x1c4087=a36_0x45cd75,_0x3549ee=_0x39539a[_0x1c4087(0xda)]?.['trim']();return _0x3549ee?_0x4a22ba(_0x21e39a,_0x39539a[_0x1c4087(0xf1)],_0x5a7a90,_0x3549ee):_0x4a22ba(_0x21e39a,_0x39539a[_0x1c4087(0xf1)],_0x5a7a90);}function countLinkActions(_0x2347fc){const _0x40f5c1=a36_0x45cd75;return _0x2347fc[_0x40f5c1(0xe5)]((_0x1dc4dd,_0x5ebc20)=>{const _0x1d91ba=_0x40f5c1;return _0x1dc4dd[_0x5ebc20[_0x1d91ba(0xd4)]]=(_0x1dc4dd[_0x5ebc20[_0x1d91ba(0xd4)]]??0x0)+0x1,_0x1dc4dd;},{});}