@lovrabet/lovrabet-cli 2.1.7-beta.3 → 2.1.7-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 (111) 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/app-config/get.js +1 -0
  10. package/lib/commands/app-config/index.js +1 -0
  11. package/lib/commands/app-config/shared.js +1 -0
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/config/definitions.js +1 -1
  23. package/lib/commands/config/shared.js +1 -1
  24. package/lib/commands/data/index.js +1 -1
  25. package/lib/commands/dataset/detail.js +1 -1
  26. package/lib/commands/dataset/index.js +1 -1
  27. package/lib/commands/dataset/list.js +1 -1
  28. package/lib/commands/dataset/sdk-doc.js +1 -1
  29. package/lib/commands/doctor.js +1 -1
  30. package/lib/commands/init.js +1 -1
  31. package/lib/commands/kb/index.js +1 -1
  32. package/lib/commands/logs/index.js +1 -1
  33. package/lib/commands/personal-bff/index.js +1 -1
  34. package/lib/commands/registry.js +1 -1
  35. package/lib/commands/schema.js +1 -1
  36. package/lib/commands/service/dynamic.js +1 -1
  37. package/lib/commands/service/index.js +1 -1
  38. package/lib/commands/service/registry.js +1 -1
  39. package/lib/commands/skill/commands/create.js +1 -1
  40. package/lib/commands/skill/commands/install.js +1 -1
  41. package/lib/commands/skill/commands/list.js +1 -1
  42. package/lib/commands/skill/commands/push.js +1 -1
  43. package/lib/commands/skill/commands/validate.js +1 -1
  44. package/lib/commands/skill/flags.js +1 -1
  45. package/lib/commands/skill/index.js +1 -1
  46. package/lib/commands/skill/manifest-helpers.js +1 -1
  47. package/lib/commands/skill/push-retarget.js +1 -1
  48. package/lib/commands/skill/scopes.js +1 -1
  49. package/lib/commands/skill/summary.js +1 -1
  50. package/lib/commands/skill/templates.js +1 -1
  51. package/lib/commands/skill/validate.js +1 -1
  52. package/lib/commands/sql/detail.js +1 -1
  53. package/lib/commands/sql/exec.js +1 -1
  54. package/lib/commands/sql/index.js +1 -1
  55. package/lib/commands/update.js +1 -1
  56. package/lib/commands/workspace/index.js +1 -1
  57. package/lib/config/schema.js +1 -1
  58. package/lib/constant/app.js +1 -1
  59. package/lib/constant/auth-mode.js +1 -1
  60. package/lib/constant/cli.js +1 -1
  61. package/lib/constant/defaults.js +1 -1
  62. package/lib/constant/distribution.js +1 -1
  63. package/lib/constant/domain.js +1 -1
  64. package/lib/constant/env.js +1 -1
  65. package/lib/constant/output.js +1 -1
  66. package/lib/constant/product.js +1 -1
  67. package/lib/constant/risk.js +1 -1
  68. package/lib/constant/url.js +1 -1
  69. package/lib/context.js +1 -1
  70. package/lib/core/api-client.js +1 -1
  71. package/lib/core/db-resolver.js +1 -1
  72. package/lib/core/sdk-client.js +1 -1
  73. package/lib/errors.js +1 -1
  74. package/lib/framework/build-all-flags.js +1 -1
  75. package/lib/framework/dryrun.js +1 -1
  76. package/lib/framework/flags.js +1 -1
  77. package/lib/framework/help.js +1 -1
  78. package/lib/framework/index.js +1 -1
  79. package/lib/framework/output.js +1 -1
  80. package/lib/framework/preparse.js +1 -1
  81. package/lib/framework/response.js +1 -1
  82. package/lib/framework/runner-confirmation.js +1 -1
  83. package/lib/framework/runner-error.js +1 -1
  84. package/lib/framework/runner.js +1 -1
  85. package/lib/framework/schema-export.js +1 -1
  86. package/lib/framework/types.js +1 -1
  87. package/lib/generated/build-info.js +1 -1
  88. package/lib/help.js +1 -1
  89. package/lib/skills/npx-skills-add.js +1 -1
  90. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  91. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  92. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  93. package/lib/skills/runtime-skill-sync/links.js +1 -1
  94. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  95. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  96. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  97. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  98. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  99. package/lib/skills/runtime-skill-sync/push.js +1 -1
  100. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  101. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  102. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  103. package/lib/skills/runtime-skill-sync.js +1 -1
  104. package/lib/utils/apply-jq-filter.js +1 -1
  105. package/lib/utils/logger.js +1 -1
  106. package/lib/utils/params.js +1 -1
  107. package/lib/utils/platform.js +1 -1
  108. package/lib/utils/update-notice.js +1 -1
  109. package/lib/utils/version.js +1 -1
  110. package/lib/utils/write-cli-side-channel.js +1 -1
  111. package/package.json +1 -1
@@ -1 +1 @@
1
- const a27_0x4bd7c5=a27_0x46ea;(function(_0x1b6929,_0x432759){const _0x23ec60=a27_0x46ea,_0x35d49f=_0x1b6929();while(!![]){try{const _0x8a5b15=-parseInt(_0x23ec60(0xa7))/0x1+parseInt(_0x23ec60(0xa2))/0x2+-parseInt(_0x23ec60(0xb8))/0x3*(parseInt(_0x23ec60(0xc2))/0x4)+-parseInt(_0x23ec60(0x9f))/0x5*(-parseInt(_0x23ec60(0xd2))/0x6)+-parseInt(_0x23ec60(0xb1))/0x7*(-parseInt(_0x23ec60(0xbd))/0x8)+-parseInt(_0x23ec60(0xba))/0x9+-parseInt(_0x23ec60(0x99))/0xa*(parseInt(_0x23ec60(0xb6))/0xb);if(_0x8a5b15===_0x432759)break;else _0x35d49f['push'](_0x35d49f['shift']());}catch(_0x893ec6){_0x35d49f['push'](_0x35d49f['shift']());}}}(a27_0x8bf3,0x5b97e));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a27_0x8bf3(){const _0x4c1b35=['write','updateTime','metadata','version','1591004tBYqUU','description','verbose','list','docId','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','flag','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','/client/knowledge-base/personal/','/update','map','File\x20path\x20is\x20required.','str','topk','file','userId','42JLytIW','score','Override\x20the\x20existing\x20entry\x20title','content','ragStatus','weightedScore','/client/knowledge-base/personal/create','validation','Search\x20query\x20is\x20required.','isFinite','create','10FpllPo','Personal\x20knowledge-base\x20entry\x20ID','POST','createTime','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','trim','412970pqULew','File\x20not\x20found:\x20','Updated\x20KB\x20entry\x20','1489148KuenmX','detail','scope','ragErrorMessage','query','60831ZWsVtv','appCode','title','update','string','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','build','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','bool','--topk\x20must\x20be\x20a\x20positive\x20number.','20902rThMpE','search','body','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','num','5870491MyfKBf','read','3YxxtPU','File\x20is\x20not\x20a\x20regular\x20file:\x20','2795733ZyZYBW','Personal\x20knowledge-base\x20entry\x20title','length','952OIVYMx'];a27_0x8bf3=function(){return _0x4c1b35;};return a27_0x8bf3();}const TITLE_FLAG={'name':a27_0x4bd7c5(0xa9),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xbb)},FILE_FLAG={'name':a27_0x4bd7c5(0xd0),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xc7)},QUERY_FLAG={'name':a27_0x4bd7c5(0xa6),'type':a27_0x4bd7c5(0xab),'required':!![],'description':'Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge'},TOPK_FLAG={'name':a27_0x4bd7c5(0xcf),'type':'number','description':a27_0x4bd7c5(0xb4)};function readKnowledgeFile(_0x54c495){const _0xaa6972=a27_0x4bd7c5;if(!_0x54c495)throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xcd));if(!existsSync(_0x54c495))throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xa0)+_0x54c495);if(!statSync(_0x54c495)['isFile']())throw CliErrors['validation'](_0xaa6972(0xb9)+_0x54c495);return readFileSync(_0x54c495,'utf8');}function summarizePersonalItem(_0x4fbbdd){const _0x4ab809=a27_0x4bd7c5;return{'id':_0x4fbbdd['id'],'title':_0x4fbbdd[_0x4ab809(0xa9)],'version':_0x4fbbdd[_0x4ab809(0xc1)],'ragStatus':_0x4fbbdd[_0x4ab809(0x92)],'ragErrorMessage':_0x4fbbdd[_0x4ab809(0xa5)],'updateTime':_0x4fbbdd[_0x4ab809(0xbf)]};}function a27_0x46ea(_0x30d8dd,_0x1d6832){_0x30d8dd=_0x30d8dd-0x92;const _0x8bf308=a27_0x8bf3();let _0x46ead4=_0x8bf308[_0x30d8dd];return _0x46ead4;}function detailPersonalItem(_0x4d693f){const _0x3e8c5d=a27_0x4bd7c5;return{'id':_0x4d693f['id'],'appCode':_0x4d693f[_0x3e8c5d(0xa8)],'scope':_0x4d693f[_0x3e8c5d(0xa4)],'userId':_0x4d693f[_0x3e8c5d(0xd1)],'title':_0x4d693f[_0x3e8c5d(0xa9)],'content':_0x4d693f[_0x3e8c5d(0xd5)]??'','version':_0x4d693f[_0x3e8c5d(0xc1)],'ragStatus':_0x4d693f['ragStatus'],'ragErrorMessage':_0x4d693f[_0x3e8c5d(0xa5)],'createTime':_0x4d693f[_0x3e8c5d(0x9c)],'updateTime':_0x4d693f[_0x3e8c5d(0xbf)]};}function summarizeSearchHit(_0x5c815f){const _0x418b15=a27_0x4bd7c5;return{'scope':_0x5c815f['scope'],'docId':_0x5c815f[_0x418b15(0xc6)],'score':_0x5c815f[_0x418b15(0xd3)],'weightedScore':_0x5c815f[_0x418b15(0x93)],'content':_0x5c815f[_0x418b15(0xd5)],'metadata':_0x5c815f[_0x418b15(0xc0)]};}function readTopK(_0x14f95a){const _0x46bf16=a27_0x4bd7c5,_0x194875=_0x14f95a[_0x46bf16(0xc8)](_0x46bf16(0xcf));if(_0x194875===undefined||_0x194875===null||_0x194875==='')return undefined;const _0x2db85f=_0x14f95a[_0x46bf16(0xb5)](_0x46bf16(0xcf));if(!Number[_0x46bf16(0x97)](_0x2db85f)||_0x2db85f<0x1)throw CliErrors[_0x46bf16(0x95)](_0x46bf16(0xb0));return _0x2db85f;}const kbList={'service':'kb','command':a27_0x4bd7c5(0xc5),'description':'List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x7e8b3b){const _0x51fcb1=a27_0x4bd7c5,_0x4cc431=await listPersonalKnowledgeBaseItems(_0x7e8b3b[_0x51fcb1(0xa8)]);if(_0x7e8b3b[_0x51fcb1(0xaf)](_0x51fcb1(0xc4)))return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431}};return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431[_0x51fcb1(0xcc)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x4bd7c5(0xa3),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0x4bd7c5(0xb7),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)}],async 'execute'(_0x187bc8){const _0x194cf3=a27_0x4bd7c5,_0x22d0b0=await getPersonalKnowledgeBaseItem(_0x187bc8[_0x194cf3(0xb5)]('id'),_0x187bc8[_0x194cf3(0xa8)]);return{'ok':!![],'data':detailPersonalItem(_0x22d0b0)};}},kbCreate={'service':'kb','command':a27_0x4bd7c5(0x98),'description':a27_0x4bd7c5(0xae),'risk':a27_0x4bd7c5(0xbe),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x1ce6a1){const _0x17e5da=a27_0x4bd7c5,_0x452165=_0x1ce6a1[_0x17e5da(0xce)](_0x17e5da(0xa9)),_0x4cd3c5=readKnowledgeFile(_0x1ce6a1['str'](_0x17e5da(0xd0))),_0x13e3a2=await createPersonalKnowledgeBaseItem(_0x1ce6a1[_0x17e5da(0xa8)],{'title':_0x452165,'content':_0x4cd3c5});return{'ok':!![],'data':summarizePersonalItem(_0x13e3a2),'message':'Created\x20KB\x20entry\x20'+_0x13e3a2['id']+'\x20('+_0x13e3a2[_0x17e5da(0xa9)]+')'};},async 'dryRun'(_0x38c932){const _0x486ebd=a27_0x4bd7c5,_0x340477=_0x38c932['str'](_0x486ebd(0xa9)),_0x2a7e95=readKnowledgeFile(_0x38c932[_0x486ebd(0xce)]('file'));return dryRun(_0x486ebd(0x9b),_0x486ebd(0x94))[_0x486ebd(0xb3)]({'appCode':_0x38c932[_0x486ebd(0xa8)],'title':_0x340477,'content':_0x2a7e95})[_0x486ebd(0xc3)](_0x486ebd(0x9d)+_0x340477+'\x22')['build']();}},kbUpdate={'service':'kb','command':a27_0x4bd7c5(0xaa),'description':a27_0x4bd7c5(0xc9),'risk':a27_0x4bd7c5(0xbe),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)},{...TITLE_FLAG,'required':![],'description':a27_0x4bd7c5(0xd4)},FILE_FLAG],async 'execute'(_0x975e7d){const _0x4bb412=a27_0x4bd7c5,_0x2f00a1=_0x975e7d['num']('id'),_0x2878e6=readKnowledgeFile(_0x975e7d['str'](_0x4bb412(0xd0))),_0x2b9a85=_0x975e7d[_0x4bb412(0xce)]('title')||(await getPersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d['appCode']))[_0x4bb412(0xa9)],_0x1e2925=await updatePersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d[_0x4bb412(0xa8)],{'title':_0x2b9a85,'content':_0x2878e6});return{'ok':!![],'data':summarizePersonalItem(_0x1e2925),'message':_0x4bb412(0xa1)+_0x1e2925['id']+'\x20('+_0x1e2925[_0x4bb412(0xa9)]+')'};},async 'dryRun'(_0x581e16){const _0x5b082e=a27_0x4bd7c5,_0x4b6ea2=_0x581e16[_0x5b082e(0xb5)]('id'),_0x17d6bf=readKnowledgeFile(_0x581e16['str'](_0x5b082e(0xd0))),_0x1df85c=_0x581e16['str'](_0x5b082e(0xa9))||(await getPersonalKnowledgeBaseItem(_0x4b6ea2,_0x581e16[_0x5b082e(0xa8)]))['title'];return dryRun(_0x5b082e(0x9b),_0x5b082e(0xca)+_0x4b6ea2+_0x5b082e(0xcb))['body']({'appCode':_0x581e16[_0x5b082e(0xa8)],'title':_0x1df85c,'content':_0x17d6bf})[_0x5b082e(0xc3)](_0x5b082e(0xac)+_0x4b6ea2)[_0x5b082e(0xad)]();}},kbSearch={'service':'kb','command':a27_0x4bd7c5(0xb2),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x4bd7c5(0xb7),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3ad5a9){const _0xa91061=a27_0x4bd7c5;if(!_0x3ad5a9['str'](_0xa91061(0xa6))[_0xa91061(0x9e)]())throw CliErrors['validation'](_0xa91061(0x96));readTopK(_0x3ad5a9);},async 'execute'(_0x408404){const _0x4b12ee=a27_0x4bd7c5,_0x516bde=_0x408404[_0x4b12ee(0xce)](_0x4b12ee(0xa6))[_0x4b12ee(0x9e)](),_0x1e7a7c=readTopK(_0x408404),_0x22ddf0=await searchKnowledgeBase(_0x408404[_0x4b12ee(0xa8)],{'query':_0x516bde,'topK':_0x1e7a7c});return{'ok':!![],'data':{'total':_0x22ddf0[_0x4b12ee(0xbc)],'hits':_0x22ddf0['map'](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
1
+ const a30_0x71f1c4=a30_0x2476;(function(_0x33bb9b,_0x1e7dcc){const _0x39f20a=a30_0x2476,_0x9b3d47=_0x33bb9b();while(!![]){try{const _0xc0a267=parseInt(_0x39f20a(0x1bd))/0x1*(-parseInt(_0x39f20a(0x1b3))/0x2)+parseInt(_0x39f20a(0x1aa))/0x3+-parseInt(_0x39f20a(0x1a3))/0x4+-parseInt(_0x39f20a(0x1be))/0x5+parseInt(_0x39f20a(0x1c6))/0x6+-parseInt(_0x39f20a(0x1dc))/0x7+-parseInt(_0x39f20a(0x1bf))/0x8*(-parseInt(_0x39f20a(0x1c2))/0x9);if(_0xc0a267===_0x1e7dcc)break;else _0x9b3d47['push'](_0x9b3d47['shift']());}catch(_0x56a064){_0x9b3d47['push'](_0x9b3d47['shift']());}}}(a30_0x37e4,0x4a7bc));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a30_0x2476(_0x2065ab,_0x3e4d1f){_0x2065ab=_0x2065ab-0x1a2;const _0x37e4d6=a30_0x37e4();let _0x247686=_0x37e4d6[_0x2065ab];return _0x247686;}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a30_0x37e4(){const _0x50d7b6=['ragStatus','231670DRfFth','957920kYHuuX','8vmwwOb','detail','num','6747894twCDAg','File\x20not\x20found:\x20','docId','bool','1623660LJnyNE','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','write','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','title','body','create','Personal\x20knowledge-base\x20entry\x20title','query','string','Personal\x20knowledge-base\x20entry\x20ID','ragErrorMessage','scope','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','build','trim','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','file','weightedScore','map','read','verbose','3991617HuaJlO','topk','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','459040iXiwFj','createTime','Updated\x20KB\x20entry\x20','length','userId','description','updateTime','1178859YwORtl','validation','/update','--topk\x20must\x20be\x20a\x20positive\x20number.','str','isFile','update','appCode','Override\x20the\x20existing\x20entry\x20title','2cULDNm','flag','isFinite','search','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','list','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','metadata','utf8'];a30_0x37e4=function(){return _0x50d7b6;};return a30_0x37e4();}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a30_0x71f1c4(0x1ca),'type':'string','required':!![],'description':a30_0x71f1c4(0x1cd)},FILE_FLAG={'name':a30_0x71f1c4(0x1d7),'type':'string','required':!![],'description':a30_0x71f1c4(0x1b9)},QUERY_FLAG={'name':'query','type':a30_0x71f1c4(0x1cf),'required':!![],'description':a30_0x71f1c4(0x1d6)},TOPK_FLAG={'name':a30_0x71f1c4(0x1dd),'type':'number','description':a30_0x71f1c4(0x1c9)};function readKnowledgeFile(_0x3d6d06){const _0x5cc7d3=a30_0x71f1c4;if(!_0x3d6d06)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x3d6d06))throw CliErrors[_0x5cc7d3(0x1ab)](_0x5cc7d3(0x1c3)+_0x3d6d06);if(!statSync(_0x3d6d06)[_0x5cc7d3(0x1af)]())throw CliErrors[_0x5cc7d3(0x1ab)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x3d6d06);return readFileSync(_0x3d6d06,_0x5cc7d3(0x1bb));}function summarizePersonalItem(_0x58ca01){const _0x184a2=a30_0x71f1c4;return{'id':_0x58ca01['id'],'title':_0x58ca01[_0x184a2(0x1ca)],'version':_0x58ca01['version'],'ragStatus':_0x58ca01[_0x184a2(0x1bc)],'ragErrorMessage':_0x58ca01[_0x184a2(0x1d1)],'updateTime':_0x58ca01[_0x184a2(0x1a9)]};}function detailPersonalItem(_0x15569d){const _0x25558f=a30_0x71f1c4;return{'id':_0x15569d['id'],'appCode':_0x15569d['appCode'],'scope':_0x15569d[_0x25558f(0x1d2)],'userId':_0x15569d[_0x25558f(0x1a7)],'title':_0x15569d[_0x25558f(0x1ca)],'content':_0x15569d['content']??'','version':_0x15569d['version'],'ragStatus':_0x15569d[_0x25558f(0x1bc)],'ragErrorMessage':_0x15569d[_0x25558f(0x1d1)],'createTime':_0x15569d[_0x25558f(0x1a4)],'updateTime':_0x15569d[_0x25558f(0x1a9)]};}function summarizeSearchHit(_0x3056d0){const _0x3ff246=a30_0x71f1c4;return{'scope':_0x3056d0['scope'],'docId':_0x3056d0[_0x3ff246(0x1c4)],'score':_0x3056d0['score'],'weightedScore':_0x3056d0[_0x3ff246(0x1d8)],'content':_0x3056d0['content'],'metadata':_0x3056d0[_0x3ff246(0x1ba)]};}function readTopK(_0x3c93e2){const _0x53fe70=a30_0x71f1c4,_0x28c110=_0x3c93e2[_0x53fe70(0x1b4)](_0x53fe70(0x1dd));if(_0x28c110===undefined||_0x28c110===null||_0x28c110==='')return undefined;const _0x52b5cf=_0x3c93e2['num'](_0x53fe70(0x1dd));if(!Number[_0x53fe70(0x1b5)](_0x52b5cf)||_0x52b5cf<0x1)throw CliErrors[_0x53fe70(0x1ab)](_0x53fe70(0x1ad));return _0x52b5cf;}const kbList={'service':'kb','command':a30_0x71f1c4(0x1b8),'description':a30_0x71f1c4(0x1d3),'risk':a30_0x71f1c4(0x1da),'flags':[VERBOSE_FLAG],async 'execute'(_0x22ff8e){const _0x47a6d4=a30_0x71f1c4,_0x133707=await listPersonalKnowledgeBaseItems(_0x22ff8e['appCode']);if(_0x22ff8e[_0x47a6d4(0x1c5)](_0x47a6d4(0x1db)))return{'ok':!![],'data':{'total':_0x133707[_0x47a6d4(0x1a6)],'items':_0x133707}};return{'ok':!![],'data':{'total':_0x133707[_0x47a6d4(0x1a6)],'items':_0x133707[_0x47a6d4(0x1d9)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a30_0x71f1c4(0x1c0),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a30_0x71f1c4(0x1da),'flags':[{...ID_FLAG,'description':a30_0x71f1c4(0x1d0)}],async 'execute'(_0x5f0d98){const _0x1d7bb4=await getPersonalKnowledgeBaseItem(_0x5f0d98['num']('id'),_0x5f0d98['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x1d7bb4)};}},kbCreate={'service':'kb','command':a30_0x71f1c4(0x1cc),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a30_0x71f1c4(0x1c8),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x40b6ec){const _0x51e45d=a30_0x71f1c4,_0x2f4780=_0x40b6ec[_0x51e45d(0x1ae)](_0x51e45d(0x1ca)),_0x4a13dd=readKnowledgeFile(_0x40b6ec['str'](_0x51e45d(0x1d7))),_0x561ec1=await createPersonalKnowledgeBaseItem(_0x40b6ec[_0x51e45d(0x1b1)],{'title':_0x2f4780,'content':_0x4a13dd});return{'ok':!![],'data':summarizePersonalItem(_0x561ec1),'message':'Created\x20KB\x20entry\x20'+_0x561ec1['id']+'\x20('+_0x561ec1[_0x51e45d(0x1ca)]+')'};},async 'dryRun'(_0x29ae4b){const _0x3c6ad5=a30_0x71f1c4,_0x54284e=_0x29ae4b[_0x3c6ad5(0x1ae)](_0x3c6ad5(0x1ca)),_0x3ae1a6=readKnowledgeFile(_0x29ae4b[_0x3c6ad5(0x1ae)](_0x3c6ad5(0x1d7)));return dryRun('POST','/client/knowledge-base/personal/create')[_0x3c6ad5(0x1cb)]({'appCode':_0x29ae4b[_0x3c6ad5(0x1b1)],'title':_0x54284e,'content':_0x3ae1a6})[_0x3c6ad5(0x1a8)]('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x54284e+'\x22')['build']();}},kbUpdate={'service':'kb','command':a30_0x71f1c4(0x1b0),'description':a30_0x71f1c4(0x1c7),'risk':a30_0x71f1c4(0x1c8),'flags':[{...ID_FLAG,'description':a30_0x71f1c4(0x1d0)},{...TITLE_FLAG,'required':![],'description':a30_0x71f1c4(0x1b2)},FILE_FLAG],async 'execute'(_0x19551f){const _0x4ca206=a30_0x71f1c4,_0x5ae69f=_0x19551f[_0x4ca206(0x1c1)]('id'),_0x2ba1c5=readKnowledgeFile(_0x19551f[_0x4ca206(0x1ae)]('file')),_0x1e89d4=_0x19551f[_0x4ca206(0x1ae)](_0x4ca206(0x1ca))||(await getPersonalKnowledgeBaseItem(_0x5ae69f,_0x19551f[_0x4ca206(0x1b1)]))[_0x4ca206(0x1ca)],_0x33edf2=await updatePersonalKnowledgeBaseItem(_0x5ae69f,_0x19551f[_0x4ca206(0x1b1)],{'title':_0x1e89d4,'content':_0x2ba1c5});return{'ok':!![],'data':summarizePersonalItem(_0x33edf2),'message':_0x4ca206(0x1a5)+_0x33edf2['id']+'\x20('+_0x33edf2['title']+')'};},async 'dryRun'(_0x43175f){const _0x7ea648=a30_0x71f1c4,_0x38ae48=_0x43175f[_0x7ea648(0x1c1)]('id'),_0xcd8dd7=readKnowledgeFile(_0x43175f[_0x7ea648(0x1ae)](_0x7ea648(0x1d7))),_0x4d8bdb=_0x43175f[_0x7ea648(0x1ae)](_0x7ea648(0x1ca))||(await getPersonalKnowledgeBaseItem(_0x38ae48,_0x43175f[_0x7ea648(0x1b1)]))['title'];return dryRun('POST','/client/knowledge-base/personal/'+_0x38ae48+_0x7ea648(0x1ac))[_0x7ea648(0x1cb)]({'appCode':_0x43175f[_0x7ea648(0x1b1)],'title':_0x4d8bdb,'content':_0xcd8dd7})['description'](_0x7ea648(0x1a2)+_0x38ae48)[_0x7ea648(0x1d4)]();}},kbSearch={'service':'kb','command':a30_0x71f1c4(0x1b6),'description':a30_0x71f1c4(0x1b7),'risk':a30_0x71f1c4(0x1da),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x4c8a3c){const _0x483b2f=a30_0x71f1c4;if(!_0x4c8a3c[_0x483b2f(0x1ae)](_0x483b2f(0x1ce))[_0x483b2f(0x1d5)]())throw CliErrors[_0x483b2f(0x1ab)]('Search\x20query\x20is\x20required.');readTopK(_0x4c8a3c);},async 'execute'(_0x3dd92a){const _0x226cc6=a30_0x71f1c4,_0x2c4258=_0x3dd92a[_0x226cc6(0x1ae)](_0x226cc6(0x1ce))['trim'](),_0x3c10cf=readTopK(_0x3dd92a),_0x39009d=await searchKnowledgeBase(_0x3dd92a[_0x226cc6(0x1b1)],{'query':_0x2c4258,'topK':_0x3c10cf});return{'ok':!![],'data':{'total':_0x39009d[_0x226cc6(0x1a6)],'hits':_0x39009d[_0x226cc6(0x1d9)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
@@ -1 +1 @@
1
- const a28_0xd892b1=a28_0x10c9;(function(_0x51b309,_0x99ae54){const _0x9a93d0=a28_0x10c9,_0x1e420d=_0x51b309();while(!![]){try{const _0x8e54e9=-parseInt(_0x9a93d0(0xcf))/0x1*(parseInt(_0x9a93d0(0xd3))/0x2)+parseInt(_0x9a93d0(0xc3))/0x3+-parseInt(_0x9a93d0(0xc2))/0x4+parseInt(_0x9a93d0(0xe1))/0x5+parseInt(_0x9a93d0(0xcb))/0x6*(-parseInt(_0x9a93d0(0xdd))/0x7)+parseInt(_0x9a93d0(0xd5))/0x8*(parseInt(_0x9a93d0(0xc9))/0x9)+parseInt(_0x9a93d0(0xdb))/0xa;if(_0x8e54e9===_0x99ae54)break;else _0x1e420d['push'](_0x1e420d['shift']());}catch(_0x1f4c1f){_0x1e420d['push'](_0x1e420d['shift']());}}}(a28_0x509e,0x8457c));function a28_0x10c9(_0x25189,_0x599c4e){_0x25189=_0x25189-0xc1;const _0x509e34=a28_0x509e();let _0x10c96a=_0x509e34[_0x25189];return _0x10c96a;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x1816d4){const _0x3cdf83=a28_0x10c9;if(_0x1816d4[_0x3cdf83(0xd6)]===0x0){console[_0x3cdf83(0xcc)](_0x3cdf83(0xde));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x3cdf83(0xd1)),_0x1816d4['forEach']((_0x1859c4,_0x4e892b)=>{const _0x1f196c=_0x3cdf83,_0x4f712b=new Date(_0x1859c4['timestamp'])[_0x1f196c(0xc1)](_0x1f196c(0xe2)),_0x4fb71a=_0x1859c4['level']===_0x1f196c(0xca)?'√':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xd7)?'×':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xe3)?'!':'i';console[_0x1f196c(0xcc)](_0x4e892b+0x1+'.\x20'+_0x4fb71a+'\x20['+_0x1859c4[_0x1f196c(0xc8)]+']\x20'+_0x1859c4[_0x1f196c(0xc7)]),console['log'](_0x1f196c(0xd0)+_0x4f712b),_0x1859c4[_0x1f196c(0xda)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x1859c4[_0x1f196c(0xda)]+'ms'),_0x1859c4[_0x1f196c(0xdf)]&&Object[_0x1f196c(0xc4)](_0x1859c4['details'])[_0x1f196c(0xd6)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON[_0x1f196c(0xdc)](_0x1859c4[_0x1f196c(0xdf)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':'logs','command':a28_0xd892b1(0xd9),'description':'View\x20command\x20history\x20logs','risk':a28_0xd892b1(0xc5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x353b7c){const _0x11043a=a28_0xd892b1;return printLogs(logger[_0x11043a(0xe0)]()),{'ok':!![]};}},{'service':a28_0xd892b1(0xd8),'command':a28_0xd892b1(0xd2),'description':a28_0xd892b1(0xc6),'risk':a28_0xd892b1(0xd4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x405c8c){const _0x12398b=a28_0xd892b1;return logger['clearLogs'](),console['log'](_0x12398b(0xce)),{'ok':!![]};}}];function a28_0x509e(){const _0x229cbd=['\x20\x20\x20Time:\x20','\x20logs:\x0a','clear','4DjCurA','write','2792ymgsqV','length','error','logs','show','duration','7669190VqPlGs','stringify','14ZnNAJK','*\x20No\x20logs\x20found','details','readLogs','496895EqSapO','en-US','warn','toLocaleString','2444116Yzhwad','1040760uovcWh','keys','read','Clear\x20command\x20history\x20logs','message','command','20457rARVJN','success','2050254PCdYyh','log','level','*\x20Logs\x20cleared','84986tNlEqR'];a28_0x509e=function(){return _0x229cbd;};return a28_0x509e();}
1
+ const a31_0x1592cd=a31_0xd119;(function(_0x2be246,_0x4f2f66){const _0x56d321=a31_0xd119,_0x156546=_0x2be246();while(!![]){try{const _0x5e6411=parseInt(_0x56d321(0x76))/0x1*(parseInt(_0x56d321(0x7d))/0x2)+parseInt(_0x56d321(0x8a))/0x3+parseInt(_0x56d321(0x86))/0x4*(parseInt(_0x56d321(0x6e))/0x5)+-parseInt(_0x56d321(0x8c))/0x6*(-parseInt(_0x56d321(0x88))/0x7)+-parseInt(_0x56d321(0x71))/0x8+parseInt(_0x56d321(0x77))/0x9*(-parseInt(_0x56d321(0x89))/0xa)+-parseInt(_0x56d321(0x7f))/0xb*(parseInt(_0x56d321(0x6d))/0xc);if(_0x5e6411===_0x4f2f66)break;else _0x156546['push'](_0x156546['shift']());}catch(_0x79406f){_0x156546['push'](_0x156546['shift']());}}}(a31_0x469e,0xc261d));function a31_0xd119(_0x496790,_0x377f36){_0x496790=_0x496790-0x6c;const _0x469e0a=a31_0x469e();let _0xd119bc=_0x469e0a[_0x496790];return _0xd119bc;}import{logger}from'../../utils/logger.js';function a31_0x469e(){const _0x49271d=['\x20\x20\x20Duration:\x20','read','8894240fcAVDz','logs','toLocaleString','en-US','log','46915NMUIRq','107352WAHQkL','duration','length','clear','forEach','*\x20No\x20logs\x20found','58FeKCaR','readLogs','286pocNRb','write','details','Clear\x20command\x20history\x20logs','timestamp','*\x20Logs\x20cleared','\x20\x20\x20Details:\x20','4YMoWWo','level','293608UatPQh','560rVcQHw','4585773lCfTWk','warn','168PGLapE','View\x20command\x20history\x20logs','show','success','keys','1151520QemTJE','5036695uHGlRE'];a31_0x469e=function(){return _0x49271d;};return a31_0x469e();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x55739f){const _0x4df91f=a31_0xd119;if(_0x55739f['length']===0x0){console[_0x4df91f(0x75)](_0x4df91f(0x7c));return;}console[_0x4df91f(0x75)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x55739f[_0x4df91f(0x7b)]((_0x173fec,_0x5bd56a)=>{const _0x1cb761=_0x4df91f,_0x4cff0e=new Date(_0x173fec[_0x1cb761(0x83)])[_0x1cb761(0x73)](_0x1cb761(0x74)),_0x2f195c=_0x173fec[_0x1cb761(0x87)]===_0x1cb761(0x8f)?'√':_0x173fec[_0x1cb761(0x87)]==='error'?'×':_0x173fec['level']===_0x1cb761(0x8b)?'!':'i';console[_0x1cb761(0x75)](_0x5bd56a+0x1+'.\x20'+_0x2f195c+'\x20['+_0x173fec['command']+']\x20'+_0x173fec['message']),console[_0x1cb761(0x75)]('\x20\x20\x20Time:\x20'+_0x4cff0e),_0x173fec[_0x1cb761(0x78)]&&console[_0x1cb761(0x75)](_0x1cb761(0x6f)+_0x173fec['duration']+'ms'),_0x173fec[_0x1cb761(0x81)]&&Object[_0x1cb761(0x6c)](_0x173fec['details'])[_0x1cb761(0x79)]>0x0&&console[_0x1cb761(0x75)](_0x1cb761(0x85)+JSON['stringify'](_0x173fec[_0x1cb761(0x81)],null,0x2)),console[_0x1cb761(0x75)]('');});}export const logsDefinitions=[{'service':a31_0x1592cd(0x72),'command':a31_0x1592cd(0x8e),'description':a31_0x1592cd(0x8d),'risk':a31_0x1592cd(0x70),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1c9f20){const _0x5de4f8=a31_0x1592cd;return printLogs(logger[_0x5de4f8(0x7e)]()),{'ok':!![]};}},{'service':a31_0x1592cd(0x72),'command':a31_0x1592cd(0x7a),'description':a31_0x1592cd(0x82),'risk':a31_0x1592cd(0x80),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x234e10){const _0x2a0707=a31_0x1592cd;return logger['clearLogs'](),console[_0x2a0707(0x75)](_0x2a0707(0x84)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x5b403f=a29_0x23ab;(function(_0xb06a82,_0x2edf0d){const _0x1991d4=a29_0x23ab,_0x301397=_0xb06a82();while(!![]){try{const _0x35b79c=parseInt(_0x1991d4(0x182))/0x1*(-parseInt(_0x1991d4(0x17f))/0x2)+-parseInt(_0x1991d4(0x16f))/0x3+-parseInt(_0x1991d4(0x167))/0x4+-parseInt(_0x1991d4(0x179))/0x5*(parseInt(_0x1991d4(0x198))/0x6)+parseInt(_0x1991d4(0x19a))/0x7+parseInt(_0x1991d4(0x17b))/0x8*(parseInt(_0x1991d4(0x188))/0x9)+parseInt(_0x1991d4(0x1a4))/0xa;if(_0x35b79c===_0x2edf0d)break;else _0x301397['push'](_0x301397['shift']());}catch(_0x3b6ab2){_0x301397['push'](_0x301397['shift']());}}}(a29_0x3086,0x3d9cd));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x5b403f(0x1a7),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x1a5)},FUNCTION_NAME_FLAG={'name':a29_0x5b403f(0x16e),'type':'string','required':!![],'description':a29_0x5b403f(0x192)},DESCRIPTION_FLAG={'name':a29_0x5b403f(0x1a8),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x196)},SOURCE_SESSION_FLAG={'name':a29_0x5b403f(0x177),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x19d)};function normalizeFunctionName(_0x3b41af){const _0x2df269=a29_0x5b403f,_0x1aea0c=String(_0x3b41af||'')[_0x2df269(0x189)]();if(!_0x1aea0c||!FUNCTION_NAME_PATTERN[_0x2df269(0x19b)](_0x1aea0c))throw CliErrors[_0x2df269(0x1a2)](_0x2df269(0x17e));return _0x1aea0c;}function readScriptFile(_0x28b25a){const _0x3d4aa2=a29_0x5b403f;if(!_0x28b25a)throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x184));if(!existsSync(_0x28b25a))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x28b25a);if(!statSync(_0x28b25a)[_0x3d4aa2(0x1a0)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x185)+_0x28b25a);const _0xe1dec0=readFileSync(_0x28b25a,'utf8');if(!_0xe1dec0[_0x3d4aa2(0x189)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x18b));return _0xe1dec0;}function a29_0x23ab(_0x1462db,_0x26279f){_0x1462db=_0x1462db-0x164;const _0x308662=a29_0x3086();let _0x23abf0=_0x308662[_0x1462db];return _0x23abf0;}function a29_0x3086(){const _0x2b89dc=['isArray','gmtModified','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','9622khNUWM','create','num','27JOCjvB','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','gmtCreate','Preview:\x20create\x20personal\x20BFF\x20','377343ozAKqe','trim','flag','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/update','length','body','read','updateTime','Executed\x20personal\x20BFF\x20','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','list','personal-bff','/client/runtime-bff/personal/','Personal\x20BFF\x20description','update','12HjHIWp','Preview:\x20update\x20personal\x20BFF\x20','2852815cdnbMO','test','sourceSessionId','Optional\x20source\x20RuntimeAgent\x20session\x20id','write','exec','isFile','high-risk-write','validation','createUserId','1033800aVsqVc','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','scriptContent','file','description','functionName','keys','verbose','1804020XUammg','map','version','string','Show\x20one\x20personal\x20BFF\x20by\x20id','scriptType','Updated\x20personal\x20BFF\x20','name','26178LJVFiA','--params\x20must\x20be\x20a\x20JSON\x20object.','POST','params','str','Created\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','source-session-id','detail','220505ssUHTp','appCode','80luzzgI'];a29_0x3086=function(){return _0x2b89dc;};return a29_0x3086();}function optionalTrimmed(_0x40ceac){const _0x209302=a29_0x5b403f,_0x1b1422=String(_0x40ceac||'')[_0x209302(0x189)]();return _0x1b1422||undefined;}function summarizeBff(_0x1b60b4){const _0x212e76=a29_0x5b403f;return{'id':_0x1b60b4['id'],'appCode':_0x1b60b4[_0x212e76(0x17a)],'functionName':_0x1b60b4[_0x212e76(0x164)],'description':_0x1b60b4[_0x212e76(0x1a8)],'scriptType':_0x1b60b4[_0x212e76(0x16c)],'version':_0x1b60b4['version'],'gmtModified':_0x1b60b4[_0x212e76(0x17d)],'updateTime':_0x1b60b4['updateTime']};}function detailBff(_0x51b3f4){const _0x58ed10=a29_0x5b403f;return{'id':_0x51b3f4['id'],'appCode':_0x51b3f4['appCode'],'functionName':_0x51b3f4[_0x58ed10(0x164)],'description':_0x51b3f4[_0x58ed10(0x1a8)],'scriptType':_0x51b3f4[_0x58ed10(0x16c)],'scriptContent':_0x51b3f4[_0x58ed10(0x1a6)]??'','config':_0x51b3f4['config'],'version':_0x51b3f4[_0x58ed10(0x169)],'createUserId':_0x51b3f4[_0x58ed10(0x1a3)],'gmtCreate':_0x51b3f4[_0x58ed10(0x186)],'gmtModified':_0x51b3f4[_0x58ed10(0x17d)],'createTime':_0x51b3f4['createTime'],'updateTime':_0x51b3f4[_0x58ed10(0x190)]};}function buildCreateInput(_0x42840a){const _0xcc40fd=a29_0x5b403f;return{'functionName':normalizeFunctionName(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x16e))),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x1a8)))?{'description':optionalTrimmed(_0x42840a['str'](_0xcc40fd(0x1a8)))}:{},'scriptContent':readScriptFile(_0x42840a['str']('file')),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))?{'sourceSessionId':optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))}:{}};}function buildUpdateInput(_0x3c5e3a){const _0x3bd461=a29_0x5b403f,_0x528755={};optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e)))&&(_0x528755['functionName']=normalizeFunctionName(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e))));_0x3c5e3a['flag'](_0x3bd461(0x1a8))!==undefined&&(_0x528755[_0x3bd461(0x1a8)]=_0x3c5e3a['str']('description'));optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)]('file'))&&(_0x528755[_0x3bd461(0x1a6)]=readScriptFile(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x1a7))));_0x3c5e3a[_0x3bd461(0x18a)]('source-session-id')!==undefined&&(_0x528755[_0x3bd461(0x19c)]=_0x3c5e3a['str']('source-session-id'));if(Object[_0x3bd461(0x165)](_0x528755)['length']===0x0)throw CliErrors[_0x3bd461(0x1a2)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x528755;}function parseExecParams(_0x4446f9){const _0x3e11f0=a29_0x5b403f,_0x5d6629=parseJsonParams(_0x4446f9)??{};if(Array[_0x3e11f0(0x17c)](_0x5d6629))throw CliErrors['validation'](_0x3e11f0(0x170));return _0x5d6629;}const personalBffList={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x193),'description':a29_0x5b403f(0x183),'risk':a29_0x5b403f(0x18f),'flags':[VERBOSE_FLAG],async 'execute'(_0x2dca97){const _0xc77dd6=a29_0x5b403f,_0x5db7ca=await listPersonalBffs(_0x2dca97[_0xc77dd6(0x17a)]);return{'ok':!![],'data':{'total':_0x5db7ca[_0xc77dd6(0x18d)],'items':_0x2dca97['bool'](_0xc77dd6(0x166))?_0x5db7ca:_0x5db7ca[_0xc77dd6(0x168)](summarizeBff)}};}},personalBffDetail={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x178),'description':a29_0x5b403f(0x16b),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)}],async 'execute'(_0x29520c){const _0x6a6e6e=a29_0x5b403f,_0x47fb55=await getPersonalBff(_0x29520c['num']('id'),_0x29520c[_0x6a6e6e(0x17a)]);return{'ok':!![],'data':detailBff(_0x47fb55)};}},personalBffCreate={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x180),'description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x5b403f(0x19e),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2be042){const _0x39aac4=a29_0x5b403f,_0x19a34f=buildCreateInput(_0x2be042),_0x2f3555=await createPersonalBff(_0x2be042[_0x39aac4(0x17a)],_0x19a34f);return{'ok':!![],'data':detailBff(_0x2f3555),'message':_0x39aac4(0x174)+_0x2f3555['id']+(_0x2f3555[_0x39aac4(0x164)]?'\x20('+_0x2f3555[_0x39aac4(0x164)]+')':'')};},async 'dryRun'(_0x3e9feb){const _0x1d0f30=a29_0x5b403f,_0x2a3c6e=buildCreateInput(_0x3e9feb);return dryRun(_0x1d0f30(0x171),'/client/runtime-bff/personal/create')[_0x1d0f30(0x18e)]({'appCode':_0x3e9feb[_0x1d0f30(0x17a)],..._0x2a3c6e})[_0x1d0f30(0x1a8)](_0x1d0f30(0x187)+_0x2a3c6e[_0x1d0f30(0x164)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x5b403f(0x197),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x5b403f(0x19e),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x14be0e){const _0x18eef5=a29_0x5b403f,_0x3f5236=_0x14be0e[_0x18eef5(0x181)]('id'),_0x515b0d=buildUpdateInput(_0x14be0e),_0x53e733=await updatePersonalBff(_0x3f5236,_0x14be0e[_0x18eef5(0x17a)],_0x515b0d);return{'ok':!![],'data':detailBff(_0x53e733),'message':_0x18eef5(0x16d)+_0x53e733['id']+(_0x53e733[_0x18eef5(0x164)]?'\x20('+_0x53e733[_0x18eef5(0x164)]+')':'')};},async 'dryRun'(_0x487131){const _0x4f2762=a29_0x5b403f,_0x3679c9=_0x487131['num']('id'),_0x275c8b=buildUpdateInput(_0x487131);return dryRun(_0x4f2762(0x171),_0x4f2762(0x195)+_0x3679c9+_0x4f2762(0x18c))[_0x4f2762(0x18e)]({'appCode':_0x487131[_0x4f2762(0x17a)],..._0x275c8b})[_0x4f2762(0x1a8)](_0x4f2762(0x199)+_0x3679c9)['build']();}},personalBffExec={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x19f),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':a29_0x5b403f(0x1a1),'flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)},{...PARAMS_FLAG,'description':a29_0x5b403f(0x176)}],async 'validate'(_0x3c5a5b){const _0x561079=a29_0x5b403f;parseExecParams(_0x3c5a5b[_0x561079(0x173)](_0x561079(0x172)));},async 'execute'(_0x1460d6){const _0x28e052=a29_0x5b403f,_0x45a401=_0x1460d6[_0x28e052(0x181)]('id'),_0x3d299e=parseExecParams(_0x1460d6[_0x28e052(0x173)]('params')),_0x3c47ad=await executePersonalBff(_0x45a401,_0x1460d6[_0x28e052(0x17a)],_0x3d299e);return{'ok':!![],'data':{'result':_0x3c47ad},'message':_0x28e052(0x191)+_0x45a401};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a32_0x145c6e=a32_0x48e7;(function(_0x4beebe,_0x3816b6){const _0xeb3a06=a32_0x48e7,_0x5eebdb=_0x4beebe();while(!![]){try{const _0x194298=-parseInt(_0xeb3a06(0x1ef))/0x1*(parseInt(_0xeb3a06(0x1f0))/0x2)+-parseInt(_0xeb3a06(0x225))/0x3*(parseInt(_0xeb3a06(0x1ed))/0x4)+parseInt(_0xeb3a06(0x224))/0x5*(parseInt(_0xeb3a06(0x20b))/0x6)+parseInt(_0xeb3a06(0x1ec))/0x7*(-parseInt(_0xeb3a06(0x1f1))/0x8)+parseInt(_0xeb3a06(0x228))/0x9+-parseInt(_0xeb3a06(0x222))/0xa*(-parseInt(_0xeb3a06(0x214))/0xb)+parseInt(_0xeb3a06(0x1fc))/0xc;if(_0x194298===_0x3816b6)break;else _0x5eebdb['push'](_0x5eebdb['shift']());}catch(_0x3dd56f){_0x5eebdb['push'](_0x5eebdb['shift']());}}}(a32_0x2e61,0x5786d));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':a32_0x145c6e(0x1ff),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1fa)},FUNCTION_NAME_FLAG={'name':a32_0x145c6e(0x21c),'type':'string','required':!![],'description':a32_0x145c6e(0x217)},DESCRIPTION_FLAG={'name':a32_0x145c6e(0x20c),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x21e)},SOURCE_SESSION_FLAG={'name':a32_0x145c6e(0x213),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1f5)};function normalizeFunctionName(_0xec6383){const _0x4bd77d=a32_0x145c6e,_0x47ab99=String(_0xec6383||'')[_0x4bd77d(0x1f7)]();if(!_0x47ab99||!FUNCTION_NAME_PATTERN['test'](_0x47ab99))throw CliErrors[_0x4bd77d(0x215)](_0x4bd77d(0x21d));return _0x47ab99;}function readScriptFile(_0x5724bb){const _0x2c1345=a32_0x145c6e;if(!_0x5724bb)throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x204));if(!existsSync(_0x5724bb))throw CliErrors[_0x2c1345(0x215)]('File\x20not\x20found:\x20'+_0x5724bb);if(!statSync(_0x5724bb)[_0x2c1345(0x1f6)]())throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x226)+_0x5724bb);const _0x786aa7=readFileSync(_0x5724bb,_0x2c1345(0x206));if(!_0x786aa7[_0x2c1345(0x1f7)]())throw CliErrors[_0x2c1345(0x215)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x786aa7;}function optionalTrimmed(_0x2491f8){const _0x1b8cef=String(_0x2491f8||'')['trim']();return _0x1b8cef||undefined;}function summarizeBff(_0x575546){const _0x17d2b8=a32_0x145c6e;return{'id':_0x575546['id'],'appCode':_0x575546[_0x17d2b8(0x201)],'functionName':_0x575546[_0x17d2b8(0x21a)],'description':_0x575546[_0x17d2b8(0x20c)],'scriptType':_0x575546[_0x17d2b8(0x207)],'version':_0x575546[_0x17d2b8(0x209)],'gmtModified':_0x575546[_0x17d2b8(0x1f3)],'updateTime':_0x575546['updateTime']};}function detailBff(_0x5ac075){const _0x2d546f=a32_0x145c6e;return{'id':_0x5ac075['id'],'appCode':_0x5ac075[_0x2d546f(0x201)],'functionName':_0x5ac075[_0x2d546f(0x21a)],'description':_0x5ac075['description'],'scriptType':_0x5ac075['scriptType'],'scriptContent':_0x5ac075[_0x2d546f(0x220)]??'','config':_0x5ac075['config'],'version':_0x5ac075['version'],'createUserId':_0x5ac075[_0x2d546f(0x203)],'gmtCreate':_0x5ac075[_0x2d546f(0x223)],'gmtModified':_0x5ac075[_0x2d546f(0x1f3)],'createTime':_0x5ac075['createTime'],'updateTime':_0x5ac075['updateTime']};}function buildCreateInput(_0x5519fd){const _0x3f27d0=a32_0x145c6e;return{'functionName':normalizeFunctionName(_0x5519fd['str'](_0x3f27d0(0x21c))),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))?{'description':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))}:{},'scriptContent':readScriptFile(_0x5519fd[_0x3f27d0(0x219)]('file')),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))?{'sourceSessionId':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))}:{}};}function a32_0x48e7(_0x11dcc3,_0x18028e){_0x11dcc3=_0x11dcc3-0x1e8;const _0x2e61f8=a32_0x2e61();let _0x48e776=_0x2e61f8[_0x11dcc3];return _0x48e776;}function buildUpdateInput(_0x44478b){const _0x11dbc5=a32_0x145c6e,_0x447f3a={};optionalTrimmed(_0x44478b['str'](_0x11dbc5(0x21c)))&&(_0x447f3a[_0x11dbc5(0x21a)]=normalizeFunctionName(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x21c))));_0x44478b['flag'](_0x11dbc5(0x20c))!==undefined&&(_0x447f3a[_0x11dbc5(0x20c)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x20c)));optionalTrimmed(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x1ff)))&&(_0x447f3a[_0x11dbc5(0x220)]=readScriptFile(_0x44478b['str']('file')));_0x44478b['flag'](_0x11dbc5(0x213))!==undefined&&(_0x447f3a[_0x11dbc5(0x202)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x213)));if(Object['keys'](_0x447f3a)[_0x11dbc5(0x1e8)]===0x0)throw CliErrors[_0x11dbc5(0x215)](_0x11dbc5(0x20d));return _0x447f3a;}function parseExecParams(_0x55eb0e){const _0x297280=a32_0x145c6e,_0x1f8708=parseJsonParams(_0x55eb0e)??{};if(Array[_0x297280(0x1f9)](_0x1f8708))throw CliErrors[_0x297280(0x215)](_0x297280(0x20e));return _0x1f8708;}function a32_0x2e61(){const _0x520a5c=['Update\x20a\x20personal\x20BFF\x20by\x20id','str','functionName','num','name','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Personal\x20BFF\x20description','body','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1157780nTxUBX','gmtCreate','5mduEcf','3ZenKQJ','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20personal\x20BFF\x20','3126672ygDNrd','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','length','/client/runtime-bff/personal/create','params','verbose','276521jzhwwx','2690376eidhuH','personal-bff','19943QfsOGD','22bqieKX','136akAZiM','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','gmtModified','map','Optional\x20source\x20RuntimeAgent\x20session\x20id','isFile','trim','create','isArray','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','17084544WPmdui','Executed\x20personal\x20BFF\x20','exec','file','string','appCode','sourceSessionId','createUserId','File\x20path\x20is\x20required.','Created\x20personal\x20BFF\x20','utf8','scriptType','write','version','read','210774htzgWc','description','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','--params\x20must\x20be\x20a\x20JSON\x20object.','build','POST','Personal\x20BFF\x20script\x20ID','high-risk-write','source-session-id','11mtYgxH','validation','/update','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'];a32_0x2e61=function(){return _0x520a5c;};return a32_0x2e61();}const personalBffList={'service':'personal-bff','command':'list','description':a32_0x145c6e(0x1fb),'risk':a32_0x145c6e(0x20a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3bc30c){const _0x3a075f=a32_0x145c6e,_0x1e02d7=await listPersonalBffs(_0x3bc30c[_0x3a075f(0x201)]);return{'ok':!![],'data':{'total':_0x1e02d7['length'],'items':_0x3bc30c['bool'](_0x3a075f(0x1eb))?_0x1e02d7:_0x1e02d7[_0x3a075f(0x1f4)](summarizeBff)}};}},personalBffDetail={'service':a32_0x145c6e(0x1ee),'command':'detail','description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a32_0x145c6e(0x20a),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)}],async 'execute'(_0x38f9d4){const _0x173ec1=a32_0x145c6e,_0x25dd71=await getPersonalBff(_0x38f9d4[_0x173ec1(0x21b)]('id'),_0x38f9d4[_0x173ec1(0x201)]);return{'ok':!![],'data':detailBff(_0x25dd71)};}},personalBffCreate={'service':a32_0x145c6e(0x1ee),'command':a32_0x145c6e(0x1f8),'description':a32_0x145c6e(0x1f2),'risk':a32_0x145c6e(0x208),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x38300d){const _0x36f7ef=a32_0x145c6e,_0x5973e8=buildCreateInput(_0x38300d),_0x2529e7=await createPersonalBff(_0x38300d[_0x36f7ef(0x201)],_0x5973e8);return{'ok':!![],'data':detailBff(_0x2529e7),'message':_0x36f7ef(0x205)+_0x2529e7['id']+(_0x2529e7['functionName']?'\x20('+_0x2529e7['functionName']+')':'')};},async 'dryRun'(_0x2ae000){const _0x3c6285=a32_0x145c6e,_0x57c074=buildCreateInput(_0x2ae000);return dryRun(_0x3c6285(0x210),_0x3c6285(0x1e9))['body']({'appCode':_0x2ae000[_0x3c6285(0x201)],..._0x57c074})[_0x3c6285(0x20c)](_0x3c6285(0x227)+_0x57c074['functionName'])[_0x3c6285(0x20f)]();}},personalBffUpdate={'service':a32_0x145c6e(0x1ee),'command':'update','description':a32_0x145c6e(0x218),'risk':a32_0x145c6e(0x208),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3cc879){const _0x1a8142=a32_0x145c6e,_0x1e6e1c=_0x3cc879['num']('id'),_0x4f4a4f=buildUpdateInput(_0x3cc879),_0xdb6933=await updatePersonalBff(_0x1e6e1c,_0x3cc879[_0x1a8142(0x201)],_0x4f4a4f);return{'ok':!![],'data':detailBff(_0xdb6933),'message':'Updated\x20personal\x20BFF\x20'+_0xdb6933['id']+(_0xdb6933['functionName']?'\x20('+_0xdb6933['functionName']+')':'')};},async 'dryRun'(_0x2a59ba){const _0x2a7bf7=a32_0x145c6e,_0x2dffbe=_0x2a59ba[_0x2a7bf7(0x21b)]('id'),_0x3cc292=buildUpdateInput(_0x2a59ba);return dryRun(_0x2a7bf7(0x210),'/client/runtime-bff/personal/'+_0x2dffbe+_0x2a7bf7(0x216))[_0x2a7bf7(0x21f)]({'appCode':_0x2a59ba[_0x2a7bf7(0x201)],..._0x3cc292})[_0x2a7bf7(0x20c)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x2dffbe)[_0x2a7bf7(0x20f)]();}},personalBffExec={'service':'personal-bff','command':a32_0x145c6e(0x1fe),'description':a32_0x145c6e(0x221),'risk':a32_0x145c6e(0x212),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...PARAMS_FLAG,'description':a32_0x145c6e(0x229)}],async 'validate'(_0x3ebcd7){const _0x3476da=a32_0x145c6e;parseExecParams(_0x3ebcd7[_0x3476da(0x219)]('params'));},async 'execute'(_0x2672e2){const _0x24a8ca=a32_0x145c6e,_0x17b473=_0x2672e2[_0x24a8ca(0x21b)]('id'),_0x53f241=parseExecParams(_0x2672e2[_0x24a8ca(0x219)](_0x24a8ca(0x1ea))),_0x51ace0=await executePersonalBff(_0x17b473,_0x2672e2[_0x24a8ca(0x201)],_0x53f241);return{'ok':!![],'data':{'result':_0x51ace0},'message':_0x24a8ca(0x1fd)+_0x17b473};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x548160=a30_0x4087;(function(_0xc1ac38,_0x3eb167){const _0x13795e=a30_0x4087,_0x2f969c=_0xc1ac38();while(!![]){try{const _0x3ee6a5=parseInt(_0x13795e(0x11b))/0x1+-parseInt(_0x13795e(0x142))/0x2*(parseInt(_0x13795e(0x11d))/0x3)+parseInt(_0x13795e(0x13b))/0x4*(-parseInt(_0x13795e(0x12b))/0x5)+parseInt(_0x13795e(0x135))/0x6*(-parseInt(_0x13795e(0x134))/0x7)+-parseInt(_0x13795e(0x133))/0x8+parseInt(_0x13795e(0x127))/0x9*(-parseInt(_0x13795e(0x118))/0xa)+parseInt(_0x13795e(0x12f))/0xb*(parseInt(_0x13795e(0x128))/0xc);if(_0x3ee6a5===_0x3eb167)break;else _0x2f969c['push'](_0x2f969c['shift']());}catch(_0x161aae){_0x2f969c['push'](_0x2f969c['shift']());}}}(a30_0x22d5,0x5e797));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';function a30_0x22d5(){const _0xf4d779=['CLI\x20Built-in\x20Skill','BFF\x20Scripts','set','42664PhGbIk','run','Schema','Configuration','40UOXcII','has','login','496694jzbaPQ','command','6aecXAx','Personal\x20BFF','values','Knowledge\x20Base','Datasets','from','Self\x20Update','isSingleCommand','\x20\x20[write]','list','1404063vesamn','269340aSNLaW','Authentication','defaultCommand','349285crxNDK','Instant\x20API','push','risk','737QQiZjJ','Workspace','service','Service\x20Tree','4931320WALhen','7YZpKCP','1144326GxoiAH','get','write','install','description','Artifacts','8SNHCBu','map','SQL\x20Queries','Skills'];a30_0x22d5=function(){return _0xf4d779;};return a30_0x22d5();}import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x41a378){const _0x4b13bd=a30_0x4087;for(const _0x4951c8 of _0x41a378){definitions['set'](_0x4951c8[_0x4b13bd(0x131)]+':'+_0x4951c8[_0x4b13bd(0x11c)],_0x4951c8);let _0x25db51=serviceGroups[_0x4b13bd(0x136)](_0x4951c8[_0x4b13bd(0x131)]);!_0x25db51&&(_0x25db51=[],serviceGroups[_0x4b13bd(0x141)](_0x4951c8[_0x4b13bd(0x131)],_0x25db51)),_0x25db51[_0x4b13bd(0x12d)](_0x4951c8);}}function a30_0x4087(_0x5dd211,_0x456498){_0x5dd211=_0x5dd211-0x115;const _0x22d517=a30_0x22d5();let _0x4087fb=_0x22d517[_0x5dd211];return _0x4087fb;}function registerService(_0x5e7e0d,_0x5a7933,_0x1959ce){const _0x29b0de=a30_0x4087;registerDefinitions(_0x5a7933);const _0x4d0992=_0x297356=>_0x297356==='read'?'':_0x297356===_0x29b0de(0x137)?_0x29b0de(0x125):'\x20\x20[high-risk-write]',_0x414c01={'service':_0x5a7933[0x0]['service'],'label':_0x5e7e0d,'commands':_0x5a7933[_0x29b0de(0x13c)](_0x20d858=>({'command':_0x20d858[_0x29b0de(0x11c)],'description':_0x20d858[_0x29b0de(0x139)],'tag':_0x4d0992(_0x20d858[_0x29b0de(0x12e)])})),'defaultCommand':_0x1959ce?.[_0x29b0de(0x12a)]??(_0x1959ce?.[_0x29b0de(0x124)]?_0x5a7933[0x0][_0x29b0de(0x11c)]:undefined),'isSingleCommand':_0x1959ce?.[_0x29b0de(0x124)]};serviceRegistry['push'](_0x414c01),serviceByName[_0x29b0de(0x141)](_0x414c01['service'],_0x414c01);}registerService(a30_0x548160(0x129),authDefinitions,{'defaultCommand':a30_0x548160(0x11a)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x548160(0x121),datasetDefinitions),registerService(a30_0x548160(0x12c),dataDefinitions),registerService(a30_0x548160(0x13d),sqlDefinitions),registerService(a30_0x548160(0x140),bffDefinitions),registerService(a30_0x548160(0x11e),personalBffDefinitions),registerService(a30_0x548160(0x13a),artifactDefinitions),registerService(a30_0x548160(0x120),kbDefinitions),registerService('App\x20Management',appDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x130),workspaceDefinitions),registerService(a30_0x548160(0x117),configDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x132),serviceDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x13e),skillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x13f),cliSkillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x123),[updateDefinition],{'defaultCommand':a30_0x548160(0x115),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x548160(0x116),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x5d5b86,_0x6cfde6){const _0x45c880=a30_0x548160;return definitions[_0x45c880(0x136)](_0x5d5b86+':'+_0x6cfde6);}export function isKnownService(_0x2e0260){const _0x47a91e=a30_0x548160;return serviceByName[_0x47a91e(0x119)](_0x2e0260);}export function getServiceEntry(_0x1aa992){const _0x625297=a30_0x548160;return serviceByName[_0x625297(0x136)](_0x1aa992);}export function getAllDefinitions(){const _0x3b4165=a30_0x548160;return Array[_0x3b4165(0x122)](definitions[_0x3b4165(0x11f)]());}
1
+ function a33_0x4246(_0x175a4f,_0x159e95){_0x175a4f=_0x175a4f-0xff;const _0x4fdf0a=a33_0x4fdf();let _0x424608=_0x4fdf0a[_0x175a4f];return _0x424608;}const a33_0x436fc8=a33_0x4246;(function(_0x5758e0,_0x3c10ae){const _0x11f82e=a33_0x4246,_0x443749=_0x5758e0();while(!![]){try{const _0x1482e7=-parseInt(_0x11f82e(0x10e))/0x1*(parseInt(_0x11f82e(0x12e))/0x2)+parseInt(_0x11f82e(0x111))/0x3+-parseInt(_0x11f82e(0x126))/0x4*(parseInt(_0x11f82e(0x11c))/0x5)+parseInt(_0x11f82e(0x12d))/0x6*(-parseInt(_0x11f82e(0x120))/0x7)+parseInt(_0x11f82e(0x117))/0x8+-parseInt(_0x11f82e(0x128))/0x9*(parseInt(_0x11f82e(0x127))/0xa)+parseInt(_0x11f82e(0x103))/0xb;if(_0x1482e7===_0x3c10ae)break;else _0x443749['push'](_0x443749['shift']());}catch(_0x910182){_0x443749['push'](_0x443749['shift']());}}}(a33_0x4fdf,0xe4e8a));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x19af2f){const _0x1627ca=a33_0x4246;for(const _0x4b70cf of _0x19af2f){definitions['set'](_0x4b70cf[_0x1627ca(0x106)]+':'+_0x4b70cf[_0x1627ca(0x122)],_0x4b70cf);let _0x5f1670=serviceGroups['get'](_0x4b70cf[_0x1627ca(0x106)]);!_0x5f1670&&(_0x5f1670=[],serviceGroups[_0x1627ca(0x10d)](_0x4b70cf[_0x1627ca(0x106)],_0x5f1670)),_0x5f1670[_0x1627ca(0x104)](_0x4b70cf);}}function registerService(_0x46536d,_0x802c59,_0x2b9ab7){const _0x46edc0=a33_0x4246;registerDefinitions(_0x802c59);const _0x1d5cf4=_0x5c161f=>_0x5c161f===_0x46edc0(0x11b)?'':_0x5c161f===_0x46edc0(0x102)?_0x46edc0(0x115):_0x46edc0(0x125),_0x1603da={'service':_0x802c59[0x0][_0x46edc0(0x106)],'label':_0x46536d,'commands':_0x802c59['map'](_0x2d9881=>({'command':_0x2d9881['command'],'description':_0x2d9881[_0x46edc0(0x12b)],'tag':_0x1d5cf4(_0x2d9881[_0x46edc0(0x11e)])})),'defaultCommand':_0x2b9ab7?.[_0x46edc0(0x118)]??(_0x2b9ab7?.[_0x46edc0(0x123)]?_0x802c59[0x0][_0x46edc0(0x122)]:undefined),'isSingleCommand':_0x2b9ab7?.['isSingleCommand']};serviceRegistry[_0x46edc0(0x104)](_0x1603da),serviceByName[_0x46edc0(0x10d)](_0x1603da[_0x46edc0(0x106)],_0x1603da);}registerService('Authentication',authDefinitions,{'defaultCommand':a33_0x436fc8(0x11d)}),registerService(a33_0x436fc8(0x10f),apiDocDefinitions),registerService(a33_0x436fc8(0x112),datasetDefinitions),registerService(a33_0x436fc8(0x11a),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a33_0x436fc8(0x105),bffDefinitions),registerService(a33_0x436fc8(0x10b),appConfigDefinitions),registerService(a33_0x436fc8(0x109),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a33_0x436fc8(0x107),kbDefinitions),registerService(a33_0x436fc8(0x119),appDefinitions,{'defaultCommand':'list'}),registerService(a33_0x436fc8(0x10a),workspaceDefinitions),registerService(a33_0x436fc8(0x121),configDefinitions,{'defaultCommand':a33_0x436fc8(0x12c)}),registerService(a33_0x436fc8(0x108),serviceDefinitions,{'defaultCommand':a33_0x436fc8(0x12c)}),registerService(a33_0x436fc8(0x101),skillDefinitions,{'defaultCommand':'install'}),registerService(a33_0x436fc8(0x124),cliSkillDefinitions,{'defaultCommand':a33_0x436fc8(0x12a)}),registerService(a33_0x436fc8(0x110),[updateDefinition],{'defaultCommand':a33_0x436fc8(0x10c),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a33_0x436fc8(0x100),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a33_0x436fc8(0x116),logsDefinitions,{'defaultCommand':a33_0x436fc8(0x114)});export function findDefinition(_0x21d1c9,_0x37c3fe){return definitions['get'](_0x21d1c9+':'+_0x37c3fe);}export function isKnownService(_0x309c62){const _0x4cff37=a33_0x436fc8;return serviceByName[_0x4cff37(0xff)](_0x309c62);}function a33_0x4fdf(){const _0x12934d=['get','show','\x20\x20[write]','Logs','3206816dBOspK','defaultCommand','App\x20Management','Instant\x20API','read','55Ayeyhq','login','risk','from','7BVlhoT','Configuration','command','isSingleCommand','CLI\x20Built-in\x20Skill','\x20\x20[high-risk-write]','457276NFBNSa','3650sjqmtt','36126bexywL','values','install','description','list','4282254OxvlAs','94172olTpmW','has','Schema','Skills','write','56231318tuVEcE','push','BFF\x20Scripts','service','Knowledge\x20Base','Service\x20Tree','Personal\x20BFF','Workspace','App\x20Config','run','set','30NBgwRy','API\x20Documentation','Self\x20Update','821184fOZIeg','Datasets'];a33_0x4fdf=function(){return _0x12934d;};return a33_0x4fdf();}export function getServiceEntry(_0x17ff61){const _0x473bb1=a33_0x436fc8;return serviceByName[_0x473bb1(0x113)](_0x17ff61);}export function getAllDefinitions(){const _0x14a95e=a33_0x436fc8;return Array[_0x14a95e(0x11f)](definitions[_0x14a95e(0x129)]());}
@@ -1 +1 @@
1
- const a31_0xe0eb01=a31_0x3c92;function a31_0x161e(){const _0xaa802a=['9ejLKle','370698iOMLOQ','538CEpoEE','876970MctHEb','669sVfzZR','55cuPJZn','22060188engRUJ','schema','2631979PbBLBk','871nmYAhf','2203000MIMgEB','4168IJlRCB','5MXqQfe','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export'];a31_0x161e=function(){return _0xaa802a;};return a31_0x161e();}(function(_0x3378b0,_0x521e00){const _0x566e8b=a31_0x3c92,_0x473443=_0x3378b0();while(!![]){try{const _0x147f52=parseInt(_0x566e8b(0xd8))/0x1*(-parseInt(_0x566e8b(0xd1))/0x2)+parseInt(_0x566e8b(0xd3))/0x3*(-parseInt(_0x566e8b(0xda))/0x4)+parseInt(_0x566e8b(0xdb))/0x5*(-parseInt(_0x566e8b(0xd0))/0x6)+-parseInt(_0x566e8b(0xd7))/0x7+-parseInt(_0x566e8b(0xd9))/0x8*(parseInt(_0x566e8b(0xcf))/0x9)+parseInt(_0x566e8b(0xd2))/0xa*(-parseInt(_0x566e8b(0xd4))/0xb)+parseInt(_0x566e8b(0xd5))/0xc;if(_0x147f52===_0x521e00)break;else _0x473443['push'](_0x473443['shift']());}catch(_0x5e11d7){_0x473443['push'](_0x473443['shift']());}}}(a31_0x161e,0x35b8c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xb8b3e5){const _0x5ea021=await buildSchemaPayload();return{'ok':!![],'data':_0x5ea021};}function a31_0x3c92(_0x52dbbf,_0x420e82){_0x52dbbf=_0x52dbbf-0xcf;const _0x161e58=a31_0x161e();let _0x3c92bd=_0x161e58[_0x52dbbf];return _0x3c92bd;}export const schemaDefinition={'service':a31_0xe0eb01(0xd6),'command':a31_0xe0eb01(0xdd),'description':a31_0xe0eb01(0xdc),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a34_0x5e4863=a34_0x4355;function a34_0x4355(_0x525613,_0x13b0ce){_0x525613=_0x525613-0x165;const _0x1efc0f=a34_0x1efc();let _0x4355ad=_0x1efc0f[_0x525613];return _0x4355ad;}(function(_0xb16147,_0x51c979){const _0x13596d=a34_0x4355,_0x2af258=_0xb16147();while(!![]){try{const _0x43e98c=-parseInt(_0x13596d(0x168))/0x1+-parseInt(_0x13596d(0x16f))/0x2+parseInt(_0x13596d(0x169))/0x3*(parseInt(_0x13596d(0x16a))/0x4)+parseInt(_0x13596d(0x16c))/0x5+-parseInt(_0x13596d(0x166))/0x6+parseInt(_0x13596d(0x16e))/0x7*(-parseInt(_0x13596d(0x165))/0x8)+parseInt(_0x13596d(0x16b))/0x9;if(_0x43e98c===_0x51c979)break;else _0x2af258['push'](_0x2af258['shift']());}catch(_0x3d23ee){_0x2af258['push'](_0x2af258['shift']());}}}(a34_0x1efc,0xd0312));function a34_0x1efc(){const _0xede6fa=['4684900LtQlkt','7667370DTyXeq','5389885Xhggrg','read','687407AtSBrC','405872rlccqS','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','112LxpcWb','1595700dGODVB','export','404678eiRjRj','3bQhFXp'];a34_0x1efc=function(){return _0xede6fa;};return a34_0x1efc();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xd8a7e2){const _0x12916c=await buildSchemaPayload();return{'ok':!![],'data':_0x12916c};}export const schemaDefinition={'service':a34_0x5e4863(0x170),'command':a34_0x5e4863(0x167),'description':a34_0x5e4863(0x171),'risk':a34_0x5e4863(0x16d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4275db,_0x144dac){const _0x4e9a8f=a32_0x2a35,_0x5207b5=_0x4275db();while(!![]){try{const _0x113f4c=-parseInt(_0x4e9a8f(0x9c))/0x1*(-parseInt(_0x4e9a8f(0xa4))/0x2)+-parseInt(_0x4e9a8f(0xa0))/0x3*(-parseInt(_0x4e9a8f(0xe8))/0x4)+parseInt(_0x4e9a8f(0xa9))/0x5*(-parseInt(_0x4e9a8f(0xa8))/0x6)+parseInt(_0x4e9a8f(0xe1))/0x7*(-parseInt(_0x4e9a8f(0xd5))/0x8)+-parseInt(_0x4e9a8f(0x9a))/0x9+parseInt(_0x4e9a8f(0x8f))/0xa*(-parseInt(_0x4e9a8f(0xcb))/0xb)+-parseInt(_0x4e9a8f(0x92))/0xc*(-parseInt(_0x4e9a8f(0xed))/0xd);if(_0x113f4c===_0x144dac)break;else _0x5207b5['push'](_0x5207b5['shift']());}catch(_0x1bb2d2){_0x5207b5['push'](_0x5207b5['shift']());}}}(a32_0x11cd,0x6e07c));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4752f7,_0x2ede6b){const _0x3d328a=a32_0x2a35,_0x5d184e=listLocalServiceTrees();let _0x118734;for(const _0x2fd0fb of _0x5d184e){const _0x11831a=matchServiceTreeCommand(_0x2fd0fb,_0x4752f7);if(!_0x11831a)continue;(!_0x118734||_0x11831a[_0x3d328a(0xbc)][_0x3d328a(0xa1)][_0x3d328a(0xbe)]>_0x118734[_0x3d328a(0xbc)]['fullPath'][_0x3d328a(0xbe)])&&(_0x118734={'tree':_0x2fd0fb,'command':_0x11831a[_0x3d328a(0xbc)],'remainingArgs':_0x11831a[_0x3d328a(0xc2)]});}if(!_0x118734)return undefined;const _0x245abf={..._0x2ede6b};return applyAppBinding(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)],_0x245abf),{'definition':buildDynamicCommandDefinition(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)]),'args':_0x118734[_0x3d328a(0xc2)],'flags':_0x245abf,'tree':_0x118734[_0x3d328a(0xb0)],'command':_0x118734[_0x3d328a(0xbc)]};}export function generateDynamicServiceHelp(_0x5bee47){const _0x221cd4=a32_0x2a35,_0x8667cc=listLocalServiceTrees()[_0x221cd4(0x8e)](_0xc655c=>_0xc655c[_0x221cd4(0xbb)][_0x221cd4(0xae)]===_0x5bee47);if(!_0x8667cc)return undefined;const _0x4658c0=[CLI_BIN_NAME+'\x20'+_0x5bee47+_0x221cd4(0xb9),'',_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe0)]||_0x5bee47,_0x8667cc[_0x221cd4(0xbb)]['description']?'\x20\x20'+_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe4)]:'','',_0x221cd4(0xb2),..._0x8667cc[_0x221cd4(0xb6)][_0x221cd4(0xcd)](_0x1aaf75=>{const _0x1a6179=_0x221cd4,_0x5df8a9=_0x1aaf75[_0x1a6179(0xa1)]['slice'](0x1)[_0x1a6179(0xad)]('\x20'),_0x252fb3=_0x1aaf75['risk']===_0x1a6179(0xbf)?'':'\x20['+_0x1aaf75['risk']+']';return'\x20\x20'+_0x5df8a9[_0x1a6179(0x93)](0x18)+'\x20'+(_0x1aaf75['description']||'')+_0x252fb3;}),'',_0x221cd4(0xb1)+CLI_BIN_NAME+_0x221cd4(0xd7)+_0x5bee47+_0x221cd4(0xca)][_0x221cd4(0xec)](Boolean);return _0x4658c0[_0x221cd4(0xad)]('\x0a');}export function listDynamicServiceEntries(){const _0x2e4675=a32_0x2a35;return listLocalServices()[_0x2e4675(0xcd)](_0x3ccab8=>{const _0x325383=_0x2e4675,_0x209a5e=_0x3ccab8[_0x325383(0xf1)];return{'service':_0x209a5e[_0x325383(0xbb)]['code'],'label':_0x209a5e[_0x325383(0xbb)][_0x325383(0xe0)]||_0x209a5e[_0x325383(0xbb)][_0x325383(0xae)],'commands':_0x209a5e[_0x325383(0xb6)][_0x325383(0xcd)](_0x3d4f6f=>({'command':dynamicCommandName(_0x3d4f6f),'description':_0x3d4f6f[_0x325383(0xe4)]||'Run\x20service\x20command\x20'+_0x3d4f6f[_0x325383(0xe9)],'tag':riskTag(_0x3d4f6f['risk'])}))};});}function a32_0x2a35(_0x2ae87b,_0x3825e6){_0x2ae87b=_0x2ae87b-0x8a;const _0x11cd2f=a32_0x11cd();let _0x2a357a=_0x11cd2f[_0x2ae87b];return _0x2a357a;}export function getDynamicServiceEntry(_0x1bfa0b){const _0x2280ac=a32_0x2a35;return listDynamicServiceEntries()['find'](_0x5ab528=>_0x5ab528[_0x2280ac(0xbb)]===_0x1bfa0b);}export function listDynamicServiceDefinitions(_0x5319b8){const _0x3c3bc6=a32_0x2a35;return listLocalServiceTrees()[_0x3c3bc6(0xec)](_0x1fccbc=>!_0x5319b8||_0x1fccbc[_0x3c3bc6(0xbb)][_0x3c3bc6(0xae)]===_0x5319b8)['flatMap'](_0x17b4cc=>_0x17b4cc[_0x3c3bc6(0xb6)]['map'](_0x4b572a=>buildDynamicCommandDefinition(_0x17b4cc,_0x4b572a)));}export function getDynamicServiceDefinitions(_0x45ad7a){const _0x55989e=a32_0x2a35,_0xe65890=listDynamicServiceDefinitions(_0x45ad7a);return _0xe65890[_0x55989e(0xbe)]>0x0?_0xe65890:undefined;}export function findDynamicServiceDefinition(_0x32c116,_0x32956c){const _0x1ed715=a32_0x2a35;return listDynamicServiceDefinitions(_0x32c116)[_0x1ed715(0x8e)](_0x2745cf=>_0x2745cf[_0x1ed715(0xbc)]===_0x32956c);}export function buildDynamicCommandDefinition(_0x1eafa0,_0x204ecf){const _0x4fd3ef=a32_0x2a35;return{'service':_0x1eafa0[_0x4fd3ef(0xbb)][_0x4fd3ef(0xae)],'command':dynamicCommandName(_0x204ecf),'description':_0x204ecf[_0x4fd3ef(0xe4)]||_0x4fd3ef(0x91)+_0x204ecf[_0x4fd3ef(0xe9)],'risk':_0x204ecf['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x204ecf[_0x4fd3ef(0xe5)][_0x4fd3ef(0xcd)](_0x22aa31=>({'name':_0x22aa31[_0x4fd3ef(0xe0)],'description':_0x22aa31[_0x4fd3ef(0xe4)]||_0x22aa31[_0x4fd3ef(0xe0)],'required':_0x22aa31[_0x4fd3ef(0x8d)]})),'flags':_0x204ecf[_0x4fd3ef(0xd9)][_0x4fd3ef(0xcd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x204ecf),async 'dryRun'(_0x2af85e){const _0x1fa493=_0x4fd3ef,_0x1eb13c=await compilePlan(_0x204ecf,_0x2af85e);return{'method':_0x1fa493(0xd6),'url':_0x204ecf[_0x1fa493(0xe9)],'body':{'target':targetPreview(_0x1eb13c),'params':_0x1eb13c[_0x1fa493(0xa3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x204ecf[_0x1fa493(0xe9)]};},async 'execute'(_0x4beab8){const _0x225ff8=_0x4fd3ef,_0x106cfc=await compilePlan(_0x204ecf,_0x4beab8),_0xfeda4f=Date[_0x225ff8(0xbd)](),_0xb3edc8=await executePlan(_0x106cfc,_0x204ecf,_0x4beab8),_0x19b32f=Date[_0x225ff8(0xbd)]()-_0xfeda4f;return{'ok':!![],'data':{'service':_0x1eafa0[_0x225ff8(0xbb)],'command':_0x204ecf[_0x225ff8(0xe9)],'target':targetPreview(_0x106cfc),'result':_0xb3edc8,'elapsed':_0x19b32f},'message':'Service\x20command\x20'+_0x204ecf[_0x225ff8(0xe9)]+_0x225ff8(0xdd)+_0x19b32f+'ms'};}};}function dynamicCommandName(_0x2ce5cb){const _0x4c9d2d=a32_0x2a35;return _0x2ce5cb[_0x4c9d2d(0xa1)][_0x4c9d2d(0xd2)](0x1)[_0x4c9d2d(0xad)]('\x20');}function riskTag(_0x4fc1ce){const _0x16def4=a32_0x2a35;return _0x4fc1ce==='read'?'':_0x16def4(0xef)+_0x4fc1ce+']';}function flagToCommandFlag(_0x1296ca){const _0xd82cc0=a32_0x2a35;return{'name':_0x1296ca[_0xd82cc0(0xa6)],'type':_0x1296ca[_0xd82cc0(0x9b)]===_0xd82cc0(0xcc)?_0xd82cc0(0xe3):_0x1296ca[_0xd82cc0(0x9b)],'description':_0x1296ca[_0xd82cc0(0xe4)]||_0x1296ca[_0xd82cc0(0xe0)],'required':_0x1296ca['required'],'default':isPrimitiveFlagDefault(_0x1296ca[_0xd82cc0(0x95)])?_0x1296ca[_0xd82cc0(0x95)]:undefined,'enum':_0x1296ca['enum']};}async function compilePlan(_0x27edb0,_0x277ad2){const _0x10e8f3=a32_0x2a35;return compileServiceTreeCommand(_0x27edb0,{'flags':_0x277ad2[_0x10e8f3(0xc7)],'args':_0x277ad2[_0x10e8f3(0xe5)],'context':await buildServiceContext(_0x27edb0,_0x277ad2)});}async function buildServiceContext(_0x1406a4,_0x357b05){const _0x349ae2=a32_0x2a35,_0xdca27c={'appCode':_0x357b05[_0x349ae2(0xa7)],'env':_0x357b05[_0x349ae2(0xc6)],'envName':_0x357b05[_0x349ae2(0xc6)]};if(!usesRuntimeContext(_0x1406a4))return _0xdca27c;const _0x18d98a=await getLoginUserInfo(),_0x5242d=pickFirst(_0x18d98a[_0x349ae2(0xc9)],_0x18d98a['id']);return{..._0xdca27c,'user':_0x18d98a,'userId':_0x5242d,'id':_0x18d98a['id'],'username':pickFirst(_0x18d98a[_0x349ae2(0xe7)],_0x18d98a[_0x349ae2(0xc5)],_0x18d98a['loginName']),'userName':_0x18d98a[_0x349ae2(0xc5)],'nickname':pickFirst(_0x18d98a[_0x349ae2(0x99)],_0x18d98a[_0x349ae2(0xce)]),'nickName':_0x18d98a[_0x349ae2(0xce)],'tenantCode':_0x18d98a[_0x349ae2(0x9f)],'employeeId':_0x18d98a[_0x349ae2(0xc8)]};}function usesRuntimeContext(_0x3a331d){const _0x3da25c=a32_0x2a35;return _0x3a331d[_0x3da25c(0xab)][_0x3da25c(0xdf)](_0x2ffd96=>typeof _0x2ffd96[_0x3da25c(0xf0)]===_0x3da25c(0xe3)&&(_0x2ffd96['source']['startsWith'](_0x3da25c(0xaf))||_0x2ffd96[_0x3da25c(0xf0)]['startsWith'](_0x3da25c(0xb4))));}function pickFirst(..._0x4e8f90){return _0x4e8f90['find'](_0x1f2996=>_0x1f2996!==undefined&&_0x1f2996!==null);}function a32_0x11cd(){const _0x27716d=['operator','\x20\x20\x20\x20scriptName:\x20','remainingArgs','Service\x20command\x20','\x20requires\x20target.sqlCode.','userName','envName','rawFlags','employeeId','userId','`\x20to\x20inspect\x20the\x20manifest.','1961509OuKeFu','json','map','nickName','appcode','Unknown\x20appRef\x20\x22','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','slice','kind','boolean','802616ivJxIt','SERVICE_TREE','\x20service\x20detail\x20--service\x20','env','flags','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','sqlCode','\x20completed\x20in\x20','\x20\x20\x20\x20sqlCode:\x20','some','name','14dAYIDm','\x20\x20\x20\x20datatable:\x20','string','description','args','scriptName','username','44hBMOgT','cliPath','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','filter','13clSUNt','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20[','source','normalizedManifest','bff','bffCode','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20MAP\x20TO','\x20\x20\x20\x20command:\x20','required','find','20AbwTbo','Cannot\x20resolve\x20datatable\x20\x22','Run\x20service\x20command\x20','12349068RepFjm','padEnd','push','default','datatable','fromEntries','sql','nickname','3506832TVDDjB','type','145727xlQfGk','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','tenantCode','241662kKnoVJ','fullPath','bffId','params','2ENkHpJ','validation','cliName','appCode','1578WvFqtm','12610HORNvB','target','mapTo','appRef','join','code','context.','tree','Use\x20`','Commands:','trim','ctx.','const','commands','\x22\x20in\x20service\x20command\x20','app','\x20<command>\x20[flags]','number','service','command','now','length','read'];a32_0x11cd=function(){return _0x27716d;};return a32_0x11cd();}async function executePlan(_0x4c1f24,_0x12f636,_0x67938b){const _0x3be1b0=a32_0x2a35;if(_0x4c1f24[_0x3be1b0(0xd3)]==='data'){const _0x1cc1bf=await resolveDatasetCode(_0x4c1f24,_0x12f636,_0x67938b);return executeData(_0x1cc1bf,_0x4c1f24[_0x3be1b0(0xbc)],_0x4c1f24['params']);}if(_0x4c1f24[_0x3be1b0(0xd3)]===_0x3be1b0(0x98)){if(!_0x4c1f24[_0x3be1b0(0xdc)])throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xc3)+_0x12f636['cliPath']+_0x3be1b0(0xc4));return executeSdkSql(_0x4c1f24[_0x3be1b0(0xdc)],normalizeScalarParams(_0x4c1f24[_0x3be1b0(0xa3)]));}if(_0x4c1f24['kind']===_0x3be1b0(0xf2)){const _0x55b11a=_0x4c1f24[_0x3be1b0(0xe6)]||_0x4c1f24[_0x3be1b0(0xf3)]||(_0x4c1f24[_0x3be1b0(0xa2)]==null?'':String(_0x4c1f24[_0x3be1b0(0xa2)]));if(!_0x55b11a)throw CliErrors['validation']('Service\x20command\x20'+_0x12f636[_0x3be1b0(0xe9)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x55b11a,_0x4c1f24[_0x3be1b0(0xa3)]);}throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xee)+_0x4c1f24['kind']);}async function resolveDatasetCode(_0x1dcc88,_0x498e20,_0x4ac7e9){const _0x12a829=a32_0x2a35;if(_0x1dcc88[_0x12a829(0xda)])return _0x1dcc88[_0x12a829(0xda)];if(!_0x1dcc88['datatable'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0xc3)+_0x498e20[_0x12a829(0xe9)]+_0x12a829(0x9e));const _0x344ebb=await listDatasets(_0x4ac7e9[_0x12a829(0xa7)]),_0x5eda3f=_0x344ebb[_0x12a829(0x8e)](_0x5ad764=>_0x5ad764[_0x12a829(0xeb)]?.['tableName']===_0x1dcc88[_0x12a829(0x96)]);if(!_0x5eda3f?.['code'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0x90)+_0x1dcc88[_0x12a829(0x96)]+_0x12a829(0x9d)+_0x4ac7e9[_0x12a829(0xa7)]+'.',_0x12a829(0xd1));return _0x5eda3f['code'];}function applyAppBinding(_0x4cddde,_0x40cfab,_0x56cfe4){const _0x58929e=a32_0x2a35,_0x45854b=_0x40cfab['target']['appRef'];if(!_0x45854b)return;const _0x41bb32=_0x4cddde['appBindings'][_0x45854b];if(!_0x41bb32)throw CliErrors[_0x58929e(0xa5)](_0x58929e(0xd0)+_0x45854b+_0x58929e(0xb7)+_0x40cfab[_0x58929e(0xe9)]+'.',_0x58929e(0x8a));const _0x3165d4=_0x41bb32[_0x58929e(0xcf)]||_0x41bb32[_0x58929e(0xa7)];_0x3165d4&&!hasText(_0x56cfe4[_0x58929e(0xcf)])&&(_0x56cfe4[_0x58929e(0xcf)]=_0x3165d4),_0x41bb32[_0x58929e(0xb8)]&&!hasText(_0x56cfe4[_0x58929e(0xb8)])&&!hasText(_0x56cfe4['appcode'])&&(_0x56cfe4[_0x58929e(0xb8)]=_0x41bb32['app']),_0x41bb32[_0x58929e(0xd8)]&&!hasText(_0x56cfe4[_0x58929e(0xd8)])&&(_0x56cfe4[_0x58929e(0xd8)]=_0x41bb32[_0x58929e(0xd8)]);}function renderDynamicCommandHelp(_0x20b1da){const _0x4b332c=a32_0x2a35,_0x42528b=[_0x4b332c(0xea),_0x4b332c(0xdb)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xd3)],_0x4b332c(0x8c)+_0x20b1da['target'][_0x4b332c(0xbc)]];if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)])_0x42528b['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)]);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xe2)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)]);if(_0x20b1da['target'][_0x4b332c(0xdc)])_0x42528b['push'](_0x4b332c(0xde)+_0x20b1da[_0x4b332c(0xaa)]['sqlCode']);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xe6)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xc1)+_0x20b1da[_0x4b332c(0xaa)]['scriptName']);if(_0x20b1da['mapTo'][_0x4b332c(0xbe)]>0x0){_0x42528b[_0x4b332c(0x94)]('',_0x4b332c(0x8b));for(const _0x4731f9 of _0x20b1da[_0x4b332c(0xab)]){_0x42528b['push']('\x20\x20\x20\x20'+(_0x4731f9['source']||_0x4b332c(0xb5))+'\x20->\x20'+_0x4731f9['target']+(_0x4731f9[_0x4b332c(0xc0)]?'.'+_0x4731f9[_0x4b332c(0xc0)]:''));}}return _0x42528b[_0x4b332c(0xad)]('\x0a');}function targetPreview(_0x3fe0b4){const _0x311b88=a32_0x2a35;return{'kind':_0x3fe0b4[_0x311b88(0xd3)],'command':_0x3fe0b4[_0x311b88(0xbc)],'appRef':_0x3fe0b4[_0x311b88(0xac)],'datasetCode':_0x3fe0b4['datasetCode'],'datatable':_0x3fe0b4['datatable'],'sqlCode':_0x3fe0b4['sqlCode'],'bffCode':_0x3fe0b4[_0x311b88(0xf3)],'bffId':_0x3fe0b4['bffId'],'scriptName':_0x3fe0b4[_0x311b88(0xe6)]};}function normalizeScalarParams(_0x49fe82){const _0x57c55d=a32_0x2a35;return Object[_0x57c55d(0x97)](Object['entries'](_0x49fe82)[_0x57c55d(0xec)](([,_0x2ecd08])=>typeof _0x2ecd08===_0x57c55d(0xe3)||typeof _0x2ecd08===_0x57c55d(0xba)));}function hasText(_0x32cd79){const _0x3b5c3f=a32_0x2a35;return typeof _0x32cd79===_0x3b5c3f(0xe3)&&_0x32cd79[_0x3b5c3f(0xb3)]()[_0x3b5c3f(0xbe)]>0x0;}function isPrimitiveFlagDefault(_0x59b4e0){const _0x124ddf=a32_0x2a35;return _0x59b4e0===undefined||typeof _0x59b4e0===_0x124ddf(0xe3)||typeof _0x59b4e0==='number'||typeof _0x59b4e0===_0x124ddf(0xd4);}
1
+ (function(_0x1c44aa,_0x262793){const _0x51010b=a35_0x4167,_0x373b07=_0x1c44aa();while(!![]){try{const _0x5e3978=parseInt(_0x51010b(0x1e0))/0x1+parseInt(_0x51010b(0x1ca))/0x2+parseInt(_0x51010b(0x18b))/0x3+-parseInt(_0x51010b(0x181))/0x4*(parseInt(_0x51010b(0x1b5))/0x5)+parseInt(_0x51010b(0x1bf))/0x6+parseInt(_0x51010b(0x1a1))/0x7*(parseInt(_0x51010b(0x1b4))/0x8)+-parseInt(_0x51010b(0x1c5))/0x9;if(_0x5e3978===_0x262793)break;else _0x373b07['push'](_0x373b07['shift']());}catch(_0x249dbb){_0x373b07['push'](_0x373b07['shift']());}}}(a35_0x4fc1,0x8e292));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 a35_0x4fc1(){const _0x143c0a=['description','\x22\x20in\x20service\x20command\x20','6541686QknnUa','appCode','fromEntries','cliPath','context.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','19533591NUoiAT','\x20\x20[','filter','datasetCode','sqlCode','1271426Qijmad','appcode','\x20->\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','padEnd','Unsupported\x20service\x20target\x20kind:\x20','loginName','dbtableConfig','map','params','appBindings','const','flatMap','\x20\x20\x20\x20command:\x20','source','\x20\x20MAP\x20TO','service','username','Service\x20command\x20','slice','target','204751mkTdTn','\x20requires\x20target.sqlCode.','8qLyRGZ','some','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','bffCode','app','code','tree','\x20\x20\x20\x20sqlCode:\x20','tenantCode','envName','1666581LvrIRu','read','kind','appRef','type','validation','mapTo','userId','employeeId','Unknown\x20appRef\x20\x22','nickName','push','\x20service\x20detail\x20--service\x20','remainingArgs','scriptName','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20requires\x20target.scriptName.','data','datatable','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20\x20\x20datasetCode:\x20','7bgjOaz','json','args','operator','commands','\x20<command>\x20[flags]','enum','userName','\x20\x20SERVICE\x20TREE\x20TARGET','bffId','join','command','Run\x20service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','string','SERVICE_TREE','\x20completed\x20in\x20','bff','cliName','6691144FMcSNA','1424940MPkrrn','now','required','length','name','risk','find','env'];a35_0x4fc1=function(){return _0x143c0a;};return a35_0x4fc1();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x41bb07,_0x4345df){const _0x3744a5=a35_0x4167,_0x42728e=listLocalServiceTrees();let _0x52eb44;for(const _0x53176c of _0x42728e){const _0xe4debb=matchServiceTreeCommand(_0x53176c,_0x41bb07);if(!_0xe4debb)continue;(!_0x52eb44||_0xe4debb[_0x3744a5(0x1ac)][_0x3744a5(0x19a)][_0x3744a5(0x1b8)]>_0x52eb44['command'][_0x3744a5(0x19a)][_0x3744a5(0x1b8)])&&(_0x52eb44={'tree':_0x53176c,'command':_0xe4debb[_0x3744a5(0x1ac)],'remainingArgs':_0xe4debb['remainingArgs']});}if(!_0x52eb44)return undefined;const _0x2fb8c3={..._0x4345df};return applyAppBinding(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)],_0x2fb8c3),{'definition':buildDynamicCommandDefinition(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)]),'args':_0x52eb44[_0x3744a5(0x198)],'flags':_0x2fb8c3,'tree':_0x52eb44[_0x3744a5(0x187)],'command':_0x52eb44[_0x3744a5(0x1ac)]};}function a35_0x4167(_0x9db546,_0x10507c){_0x9db546=_0x9db546-0x181;const _0x4fc1dc=a35_0x4fc1();let _0x4167a9=_0x4fc1dc[_0x9db546];return _0x4167a9;}export function generateDynamicServiceHelp(_0x170f08){const _0x3b2d9e=a35_0x4167,_0x4372e8=listLocalServiceTrees()[_0x3b2d9e(0x1bb)](_0x42268b=>_0x42268b['service']['code']===_0x170f08);if(!_0x4372e8)return undefined;const _0x179a9c=[CLI_BIN_NAME+'\x20'+_0x170f08+_0x3b2d9e(0x1a6),'',_0x4372e8['service'][_0x3b2d9e(0x1b9)]||_0x170f08,_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]?'\x20\x20'+_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]:'','','Commands:',..._0x4372e8[_0x3b2d9e(0x1a5)][_0x3b2d9e(0x1d3)](_0x5d5bad=>{const _0x416857=_0x3b2d9e,_0x16eacf=_0x5d5bad[_0x416857(0x19a)][_0x416857(0x1de)](0x1)[_0x416857(0x1ab)]('\x20'),_0x5ae609=_0x5d5bad[_0x416857(0x1ba)]===_0x416857(0x18c)?'':'\x20['+_0x5d5bad[_0x416857(0x1ba)]+']';return'\x20\x20'+_0x16eacf[_0x416857(0x1cf)](0x18)+'\x20'+(_0x5d5bad[_0x416857(0x1bd)]||'')+_0x5ae609;}),'','Use\x20`'+CLI_BIN_NAME+_0x3b2d9e(0x197)+_0x170f08+_0x3b2d9e(0x19b)][_0x3b2d9e(0x1c7)](Boolean);return _0x179a9c[_0x3b2d9e(0x1ab)]('\x0a');}export function listDynamicServiceEntries(){const _0x36197a=a35_0x4167;return listLocalServices()[_0x36197a(0x1d3)](_0x3589e8=>{const _0x1645dc=_0x36197a,_0x524121=_0x3589e8['normalizedManifest'];return{'service':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'label':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x1b9)]||_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'commands':_0x524121[_0x1645dc(0x1a5)]['map'](_0x3f9621=>({'command':dynamicCommandName(_0x3f9621),'description':_0x3f9621[_0x1645dc(0x1bd)]||_0x1645dc(0x1ad)+_0x3f9621[_0x1645dc(0x1c2)],'tag':riskTag(_0x3f9621['risk'])}))};});}export function getDynamicServiceEntry(_0x19e61b){const _0x5816b4=a35_0x4167;return listDynamicServiceEntries()[_0x5816b4(0x1bb)](_0x18a904=>_0x18a904[_0x5816b4(0x1db)]===_0x19e61b);}export function listDynamicServiceDefinitions(_0x161851){const _0x3e2980=a35_0x4167;return listLocalServiceTrees()[_0x3e2980(0x1c7)](_0x16f334=>!_0x161851||_0x16f334['service'][_0x3e2980(0x186)]===_0x161851)[_0x3e2980(0x1d7)](_0x7dd6ba=>_0x7dd6ba[_0x3e2980(0x1a5)][_0x3e2980(0x1d3)](_0x37a83b=>buildDynamicCommandDefinition(_0x7dd6ba,_0x37a83b)));}export function getDynamicServiceDefinitions(_0x15a22e){const _0x4c0847=a35_0x4167,_0x2fa89c=listDynamicServiceDefinitions(_0x15a22e);return _0x2fa89c[_0x4c0847(0x1b8)]>0x0?_0x2fa89c:undefined;}export function findDynamicServiceDefinition(_0x3708fc,_0x3b0cd7){const _0x5cb27c=a35_0x4167;return listDynamicServiceDefinitions(_0x3708fc)[_0x5cb27c(0x1bb)](_0x4125cc=>_0x4125cc[_0x5cb27c(0x1ac)]===_0x3b0cd7);}export function buildDynamicCommandDefinition(_0x3e9812,_0x36bc53){const _0x53df52=a35_0x4167;return{'service':_0x3e9812['service'][_0x53df52(0x186)],'command':dynamicCommandName(_0x36bc53),'description':_0x36bc53['description']||_0x53df52(0x1ad)+_0x36bc53[_0x53df52(0x1c2)],'risk':_0x36bc53[_0x53df52(0x1ba)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x36bc53[_0x53df52(0x1a3)][_0x53df52(0x1d3)](_0x2d8069=>({'name':_0x2d8069[_0x53df52(0x1b9)],'description':_0x2d8069['description']||_0x2d8069['name'],'required':_0x2d8069[_0x53df52(0x1b7)]})),'flags':_0x36bc53['flags'][_0x53df52(0x1d3)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x36bc53),async 'dryRun'(_0x57b632){const _0x15a42b=_0x53df52,_0x1c8885=await compilePlan(_0x36bc53,_0x57b632);return{'method':_0x15a42b(0x1b0),'url':_0x36bc53[_0x15a42b(0x1c2)],'body':{'target':targetPreview(_0x1c8885),'params':_0x1c8885['params']},'description':_0x15a42b(0x1ae)+_0x36bc53[_0x15a42b(0x1c2)]};},async 'execute'(_0x15b79e){const _0x5eb950=_0x53df52,_0x5e9ff2=await compilePlan(_0x36bc53,_0x15b79e),_0x556b28=Date[_0x5eb950(0x1b6)](),_0x33a817=await executePlan(_0x5e9ff2,_0x36bc53,_0x15b79e),_0x53345c=Date[_0x5eb950(0x1b6)]()-_0x556b28;return{'ok':!![],'data':{'service':_0x3e9812['service'],'command':_0x36bc53[_0x5eb950(0x1c2)],'target':targetPreview(_0x5e9ff2),'result':_0x33a817,'elapsed':_0x53345c},'message':_0x5eb950(0x1dd)+_0x36bc53[_0x5eb950(0x1c2)]+_0x5eb950(0x1b1)+_0x53345c+'ms'};}};}function dynamicCommandName(_0x2ff795){const _0x25f5c2=a35_0x4167;return _0x2ff795[_0x25f5c2(0x19a)][_0x25f5c2(0x1de)](0x1)[_0x25f5c2(0x1ab)]('\x20');}function riskTag(_0x32fcf6){const _0x2e8617=a35_0x4167;return _0x32fcf6===_0x2e8617(0x18c)?'':_0x2e8617(0x1c6)+_0x32fcf6+']';}function flagToCommandFlag(_0x192ad8){const _0x7f7e3d=a35_0x4167;return{'name':_0x192ad8[_0x7f7e3d(0x1b3)],'type':_0x192ad8[_0x7f7e3d(0x18f)]===_0x7f7e3d(0x1a2)?_0x7f7e3d(0x1af):_0x192ad8[_0x7f7e3d(0x18f)],'description':_0x192ad8[_0x7f7e3d(0x1bd)]||_0x192ad8[_0x7f7e3d(0x1b9)],'required':_0x192ad8[_0x7f7e3d(0x1b7)],'default':isPrimitiveFlagDefault(_0x192ad8['default'])?_0x192ad8['default']:undefined,'enum':_0x192ad8[_0x7f7e3d(0x1a7)]};}async function compilePlan(_0x328e05,_0x72328e){return compileServiceTreeCommand(_0x328e05,{'flags':_0x72328e['rawFlags'],'args':_0x72328e['args'],'context':await buildServiceContext(_0x328e05,_0x72328e)});}async function buildServiceContext(_0x18ecc5,_0x29b3cf){const _0x5d45fc=a35_0x4167,_0x3d01c1={'appCode':_0x29b3cf[_0x5d45fc(0x1c0)],'env':_0x29b3cf[_0x5d45fc(0x18a)],'envName':_0x29b3cf[_0x5d45fc(0x18a)]};if(!usesRuntimeContext(_0x18ecc5))return _0x3d01c1;const _0x2def9f=await getLoginUserInfo(),_0x2a278f=pickFirst(_0x2def9f[_0x5d45fc(0x192)],_0x2def9f['id']);return{..._0x3d01c1,'user':_0x2def9f,'userId':_0x2a278f,'id':_0x2def9f['id'],'username':pickFirst(_0x2def9f[_0x5d45fc(0x1dc)],_0x2def9f[_0x5d45fc(0x1a8)],_0x2def9f[_0x5d45fc(0x1d1)]),'userName':_0x2def9f[_0x5d45fc(0x1a8)],'nickname':pickFirst(_0x2def9f['nickname'],_0x2def9f[_0x5d45fc(0x195)]),'nickName':_0x2def9f[_0x5d45fc(0x195)],'tenantCode':_0x2def9f[_0x5d45fc(0x189)],'employeeId':_0x2def9f[_0x5d45fc(0x193)]};}function usesRuntimeContext(_0x34ec4e){const _0x102021=a35_0x4167;return _0x34ec4e['mapTo'][_0x102021(0x182)](_0x1707d3=>typeof _0x1707d3['source']===_0x102021(0x1af)&&(_0x1707d3[_0x102021(0x1d9)]['startsWith'](_0x102021(0x1c3))||_0x1707d3[_0x102021(0x1d9)]['startsWith']('ctx.')));}function pickFirst(..._0x1f1fc6){const _0x33baaf=a35_0x4167;return _0x1f1fc6[_0x33baaf(0x1bb)](_0x37843f=>_0x37843f!==undefined&&_0x37843f!==null);}async function executePlan(_0x12f480,_0x4fb1d5,_0x2c1cfe){const _0x2c63b0=a35_0x4167;if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x19d)){const _0xb6b8d6=await resolveDatasetCode(_0x12f480,_0x4fb1d5,_0x2c1cfe);return executeData(_0xb6b8d6,_0x12f480[_0x2c63b0(0x1ac)],_0x12f480[_0x2c63b0(0x1d4)]);}if(_0x12f480[_0x2c63b0(0x18d)]==='sql'){if(!_0x12f480[_0x2c63b0(0x1c9)])throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5['cliPath']+_0x2c63b0(0x1e1));return executeSdkSql(_0x12f480['sqlCode'],normalizeScalarParams(_0x12f480[_0x2c63b0(0x1d4)]));}if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x1b2)){const _0x15db56=_0x12f480[_0x2c63b0(0x199)]||_0x12f480[_0x2c63b0(0x184)]||(_0x12f480['bffId']==null?'':String(_0x12f480[_0x2c63b0(0x1aa)]));if(!_0x15db56)throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5[_0x2c63b0(0x1c2)]+_0x2c63b0(0x19c));return executeSdkBff(_0x15db56,_0x12f480[_0x2c63b0(0x1d4)]);}throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1d0)+_0x12f480[_0x2c63b0(0x18d)]);}async function resolveDatasetCode(_0x2918e7,_0x844183,_0x507fc7){const _0x5747f2=a35_0x4167;if(_0x2918e7['datasetCode'])return _0x2918e7[_0x5747f2(0x1c8)];if(!_0x2918e7['datatable'])throw CliErrors[_0x5747f2(0x190)](_0x5747f2(0x1dd)+_0x844183[_0x5747f2(0x1c2)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x51dd06=await listDatasets(_0x507fc7[_0x5747f2(0x1c0)]),_0x1ff913=_0x51dd06['find'](_0x4adcc7=>_0x4adcc7[_0x5747f2(0x1d2)]?.['tableName']===_0x2918e7[_0x5747f2(0x19e)]);if(!_0x1ff913?.[_0x5747f2(0x186)])throw CliErrors[_0x5747f2(0x190)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2918e7['datatable']+_0x5747f2(0x183)+_0x507fc7[_0x5747f2(0x1c0)]+'.',_0x5747f2(0x1cd));return _0x1ff913[_0x5747f2(0x186)];}function applyAppBinding(_0x5392d7,_0x49b7c9,_0x59bc64){const _0x29a92d=a35_0x4167,_0x4dbf01=_0x49b7c9['target'][_0x29a92d(0x18e)];if(!_0x4dbf01)return;const _0x32ab73=_0x5392d7[_0x29a92d(0x1d5)][_0x4dbf01];if(!_0x32ab73)throw CliErrors[_0x29a92d(0x190)](_0x29a92d(0x194)+_0x4dbf01+_0x29a92d(0x1be)+_0x49b7c9['cliPath']+'.',_0x29a92d(0x19f));const _0x4d4c7a=_0x32ab73[_0x29a92d(0x1cb)]||_0x32ab73[_0x29a92d(0x1c0)];_0x4d4c7a&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64['appcode']=_0x4d4c7a),_0x32ab73[_0x29a92d(0x185)]&&!hasText(_0x59bc64[_0x29a92d(0x185)])&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64[_0x29a92d(0x185)]=_0x32ab73[_0x29a92d(0x185)]),_0x32ab73[_0x29a92d(0x1bc)]&&!hasText(_0x59bc64[_0x29a92d(0x1bc)])&&(_0x59bc64[_0x29a92d(0x1bc)]=_0x32ab73[_0x29a92d(0x1bc)]);}function renderDynamicCommandHelp(_0x482504){const _0x4572e3=a35_0x4167,_0x479479=[_0x4572e3(0x1a9),_0x4572e3(0x1c4)+_0x482504[_0x4572e3(0x1df)]['kind'],_0x4572e3(0x1d8)+_0x482504[_0x4572e3(0x1df)]['command']];if(_0x482504['target'][_0x4572e3(0x1c8)])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x1a0)+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x1c8)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)])_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20datatable:\x20'+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)]);if(_0x482504[_0x4572e3(0x1df)]['sqlCode'])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x188)+_0x482504['target'][_0x4572e3(0x1c9)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x199)])_0x479479['push']('\x20\x20\x20\x20scriptName:\x20'+_0x482504['target'][_0x4572e3(0x199)]);if(_0x482504[_0x4572e3(0x191)][_0x4572e3(0x1b8)]>0x0){_0x479479['push']('',_0x4572e3(0x1da));for(const _0x35c8e7 of _0x482504[_0x4572e3(0x191)]){_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20'+(_0x35c8e7['source']||_0x4572e3(0x1d6))+_0x4572e3(0x1cc)+_0x35c8e7['target']+(_0x35c8e7[_0x4572e3(0x1a4)]?'.'+_0x35c8e7['operator']:''));}}return _0x479479[_0x4572e3(0x1ab)]('\x0a');}function targetPreview(_0x41f789){const _0x397c5d=a35_0x4167;return{'kind':_0x41f789[_0x397c5d(0x18d)],'command':_0x41f789['command'],'appRef':_0x41f789[_0x397c5d(0x18e)],'datasetCode':_0x41f789[_0x397c5d(0x1c8)],'datatable':_0x41f789[_0x397c5d(0x19e)],'sqlCode':_0x41f789[_0x397c5d(0x1c9)],'bffCode':_0x41f789[_0x397c5d(0x184)],'bffId':_0x41f789['bffId'],'scriptName':_0x41f789[_0x397c5d(0x199)]};}function normalizeScalarParams(_0x1f404f){const _0xe46eee=a35_0x4167;return Object[_0xe46eee(0x1c1)](Object['entries'](_0x1f404f)[_0xe46eee(0x1c7)](([,_0x34d1aa])=>typeof _0x34d1aa===_0xe46eee(0x1af)||typeof _0x34d1aa==='number'));}function hasText(_0x51b202){const _0x1bf083=a35_0x4167;return typeof _0x51b202===_0x1bf083(0x1af)&&_0x51b202['trim']()[_0x1bf083(0x1b8)]>0x0;}function isPrimitiveFlagDefault(_0x17b451){const _0x26ce4a=a35_0x4167;return _0x17b451===undefined||typeof _0x17b451===_0x26ce4a(0x1af)||typeof _0x17b451===_0x26ce4a(0x1ce)||typeof _0x17b451==='boolean';}
@@ -1 +1 @@
1
- function a33_0x4bc4(){const _0x467f64=['2157610UKaVZh','77751mIsPJy','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Imported\x20','Imported','risk','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','write','9376cztiPx','normalizedManifest','flags','filePath','report','file','entries','951168aNpBkF','reduce','entry','Updated','registryPath','Local\x20service\x20not\x20found:\x20','type','name','remove','target','str','Service\x20registry\x20validation\x20passed.','description','1347330XtNYsF','208Skanyw','commands','2162260SasTrs','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','imported','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','kind','replaced','string','map','81FrJbcM','manifest','import','service','registryServiceCode','cliName','5EZavMJ','registry','serviceCount','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode','validate','source','version','\x20service\x20','warnings','length','errors','77548lkOAhi','Service\x20Tree\x20manifest\x20file\x20path','\x20service(s),\x20updated\x20','cliPath','read','importedAt','Service\x20manifest\x20validation\x20passed.','hash','WRITE','manifests','detail','\x20service(s).'];a33_0x4bc4=function(){return _0x467f64;};return a33_0x4bc4();}const a33_0xde9d31=a33_0x4ec1;(function(_0x46cc7b,_0x2e9cb0){const _0x50ce2d=a33_0x4ec1,_0x37cc47=_0x46cc7b();while(!![]){try{const _0x14e38b=-parseInt(_0x50ce2d(0xb6))/0x1*(-parseInt(_0x50ce2d(0x97))/0x2)+parseInt(_0x50ce2d(0x9e))/0x3+parseInt(_0x50ce2d(0x83))/0x4+-parseInt(_0x50ce2d(0x77))/0x5*(parseInt(_0x50ce2d(0xab))/0x6)+-parseInt(_0x50ce2d(0x8f))/0x7+parseInt(_0x50ce2d(0xac))/0x8*(parseInt(_0x50ce2d(0x90))/0x9)+-parseInt(_0x50ce2d(0xae))/0xa;if(_0x14e38b===_0x2e9cb0)break;else _0x37cc47['push'](_0x37cc47['shift']());}catch(_0x98520d){_0x37cc47['push'](_0x37cc47['shift']());}}}(a33_0x4bc4,0x2ed1e));function a33_0x4ec1(_0x2c6acd,_0x4fb48e){_0x2c6acd=_0x2c6acd-0x75;const _0x4bc4a1=a33_0x4bc4();let _0x4ec185=_0x4bc4a1[_0x2c6acd];return _0x4ec185;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0xde9d31(0x9c),'type':a33_0xde9d31(0xb4),'required':!![],'description':a33_0xde9d31(0x84)},SERVICE_FLAG={'name':a33_0xde9d31(0xb9),'type':a33_0xde9d31(0xb4),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x2b2b87){const _0x51db4e=a33_0xde9d31;return{'serviceCode':_0x2b2b87[_0x51db4e(0x7b)],'name':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xb9)][_0x51db4e(0xa5)],'version':_0x2b2b87[_0x51db4e(0x7e)],'importedAt':_0x2b2b87[_0x51db4e(0x88)],'source':_0x2b2b87[_0x51db4e(0x7d)],'commandCount':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0x81)],'commands':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0xb5)](_0x239378=>({'path':_0x239378[_0x51db4e(0x86)],'description':_0x239378[_0x51db4e(0xaa)],'risk':_0x239378[_0x51db4e(0x94)],'target':_0x239378[_0x51db4e(0xa7)],'flags':_0x239378[_0x51db4e(0x99)][_0x51db4e(0xb5)](_0x81ffa1=>({'name':_0x81ffa1[_0x51db4e(0xa5)],'cliName':_0x81ffa1[_0x51db4e(0x76)],'type':_0x81ffa1[_0x51db4e(0xa4)],'required':_0x81ffa1['required']===!![]}))}))};}function summarizeLoadedManifest(_0x507c69){const _0x3e488c=a33_0xde9d31;return{'service':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0xb9)],'version':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0x7e)],'commandCount':_0x507c69[_0x3e488c(0x98)]?.['commands']['length']??0x0,'commands':_0x507c69[_0x3e488c(0x98)]?.['commands'][_0x3e488c(0xb5)](_0x1b625e=>({'path':_0x1b625e[_0x3e488c(0x86)],'risk':_0x1b625e[_0x3e488c(0x94)],'target':_0x1b625e[_0x3e488c(0xa7)]}))??[],'registryIndex':_0x507c69['registryIndex'],'registryServiceCode':_0x507c69[_0x3e488c(0x75)],'errors':_0x507c69[_0x3e488c(0x9b)][_0x3e488c(0x82)],'warnings':_0x507c69[_0x3e488c(0x9b)]['warnings']};}export const serviceDefinitions=[{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x7c),'description':a33_0xde9d31(0x91),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x297539){const _0x204a78=a33_0xde9d31,_0x3519e6=loadServiceManifestFromFile(_0x297539[_0x204a78(0xa8)](_0x204a78(0x9c)));if(!_0x3519e6[_0x204a78(0x9b)]['ok'])return{'ok':![],'data':{'file':_0x3519e6['filePath'],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'serviceCount':_0x3519e6['manifests'][_0x204a78(0x81)],'services':_0x3519e6['manifests'][_0x204a78(0xb5)](summarizeLoadedManifest),'errors':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x82)],'warnings':_0x3519e6['report']['warnings']},'message':formatValidationFailure(_0x3519e6[_0x204a78(0x9b)])};if(_0x3519e6[_0x204a78(0xb2)]===_0x204a78(0x78)||_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)]!==0x1)return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6[_0x204a78(0xb2)],'serviceCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)],'commandCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x9f)]((_0x3797da,_0x40b2ad)=>_0x3797da+(_0x40b2ad['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0),0x0),'services':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0xb5)](summarizeLoadedManifest),'warnings':_0x3519e6[_0x204a78(0x9b)]['warnings']},'message':_0x204a78(0xa9)};return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'service':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xb9)],'version':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0x7e)],'commandCount':_0x3519e6['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0,'commands':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xad)]['map'](_0x36be0c=>({'path':_0x36be0c[_0x204a78(0x86)],'risk':_0x36be0c[_0x204a78(0x94)],'target':_0x36be0c[_0x204a78(0xa7)]})),'warnings':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x80)]},'message':_0x204a78(0x89)};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xb8),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x98bab8){const _0xc70567=a33_0xde9d31,_0x383a13=loadServiceManifestFromFile(_0x98bab8[_0xc70567(0xa8)](_0xc70567(0x9c)));return{'method':_0xc70567(0x8b),'url':getServiceRegistryPath(),'body':{'file':_0x383a13[_0xc70567(0x9a)],'hash':_0x383a13[_0xc70567(0x8a)],'kind':_0x383a13[_0xc70567(0xb2)],'ok':_0x383a13[_0xc70567(0x9b)]['ok'],'service':_0x383a13['normalizedManifest']?.['service'],'version':_0x383a13[_0xc70567(0x98)]?.['version'],'serviceCount':_0x383a13[_0xc70567(0x8c)][_0xc70567(0x81)],'services':_0x383a13[_0xc70567(0x8c)]['map'](_0x60eba4=>({'service':_0x60eba4[_0xc70567(0x98)]?.['service'],'version':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0x7e)],'commandCount':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0,'errors':_0x60eba4['report'][_0xc70567(0x82)]})),'errors':_0x383a13[_0xc70567(0x9b)]['errors'],'commandCount':_0x383a13[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0},'description':_0xc70567(0xb1)};},async 'execute'(_0x53d587){const _0x2e6df8=a33_0xde9d31,_0x3a5e70=importServiceManifest(_0x53d587['str']('file'));if(_0x3a5e70[_0x2e6df8(0x9d)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x3a5e70['registryPath'],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70[_0x2e6df8(0x79)],'services':_0x3a5e70[_0x2e6df8(0x9d)]['map'](summarizeService)},'message':_0x2e6df8(0x92)+_0x3a5e70['imported']+_0x2e6df8(0x85)+_0x3a5e70['updated']+_0x2e6df8(0x8e)};return{'ok':!![],'data':{'registryPath':_0x3a5e70[_0x2e6df8(0xa2)],'replaced':_0x3a5e70[_0x2e6df8(0xb3)],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70['serviceCount'],'service':summarizeService(_0x3a5e70[_0x2e6df8(0xa0)])},'message':(_0x3a5e70['replaced']?_0x2e6df8(0xa1):_0x2e6df8(0x93))+_0x2e6df8(0x7f)+_0x3a5e70[_0x2e6df8(0xa0)][_0x2e6df8(0x7b)]+'.'};}},{'service':'service','command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x503ae9){const _0x476a55=a33_0xde9d31,_0x5d013f=getLocalServiceEntry(_0x503ae9[_0x476a55(0xa8)]('service'));return{'method':_0x476a55(0x8b),'url':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0x9c)),'body':{'service':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0xb9)),'found':Boolean(_0x5d013f),'version':_0x5d013f?.[_0x476a55(0x7e)],'source':_0x5d013f?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x104c04){const _0x277616=a33_0xde9d31,_0x35c485=exportServiceManifest(_0x104c04[_0x277616(0xa8)](_0x277616(0xb9)),_0x104c04[_0x277616(0xa8)](_0x277616(0x9c)));return{'ok':!![],'data':{'registryPath':_0x35c485[_0x277616(0xa2)],'file':_0x35c485['filePath'],'service':summarizeService(_0x35c485[_0x277616(0xa0)])},'message':'Exported\x20service\x20'+_0x35c485[_0x277616(0xa0)][_0x277616(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':'list','description':a33_0xde9d31(0x7a),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x51f874=a33_0xde9d31,_0x3a81f9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3a81f9[_0x51f874(0x81)],'services':_0x3a81f9[_0x51f874(0xb5)](summarizeService)}};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xa6),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x12e6fb){const _0x2c0454=a33_0xde9d31,_0x81650a=getLocalServiceEntry(_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)),'found':Boolean(_0x81650a),'version':_0x81650a?.[_0x2c0454(0x7e)],'source':_0x81650a?.['source']},'description':_0x2c0454(0x95)};},async 'execute'(_0x52be07){const _0x509f86=a33_0xde9d31,_0x12e5bc=removeServiceManifest(_0x52be07[_0x509f86(0xa8)](_0x509f86(0xb9)));return{'ok':!![],'data':{'registryPath':_0x12e5bc[_0x509f86(0xa2)],'serviceCount':_0x12e5bc[_0x509f86(0x79)],'service':summarizeService(_0x12e5bc['entry'])},'message':'Removed\x20service\x20'+_0x12e5bc[_0x509f86(0xa0)][_0x509f86(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x8d),'description':a33_0xde9d31(0xaf),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4d7912){const _0x323ae1=a33_0xde9d31,_0xc77abe=getLocalServiceEntry(_0x4d7912['str'](_0x323ae1(0xb9)));if(!_0xc77abe)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4d7912[_0x323ae1(0xa8)]('service')},'message':_0x323ae1(0xa3)+_0x4d7912[_0x323ae1(0xa8)](_0x323ae1(0xb9))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0xc77abe),'manifest':_0xc77abe[_0x323ae1(0xb7)],'normalizedManifest':_0xc77abe['normalizedManifest']}};}}];
1
+ function a36_0x2635(){const _0x458395=['Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1843253hmYmnH','serviceCode','Local\x20service\x20not\x20found:\x20','import','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','validate','source','Imported','length','errors','hash','892956KrmgmZ','description','reduce','detail','721698gFvWGZ','map','kind','imported','Updated','file','7706754ZNxEbf','\x20service(s).','638hjuzIy','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','registry','updated','cliPath','8gUkYVs','65IwmsxF','service','45409CJPmVt','normalizedManifest','Local\x20service\x20code,\x20for\x20example\x20crm','warnings','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','\x20service\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','commands','filePath','registryServiceCode','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','3227780FRWqsc','Exported\x20service\x20','target','20WZzntn','report','list','entry','manifests','WRITE','version','read','write','416bEtWka','Service\x20registry\x20validation\x20passed.','980076kPsKyb','str','serviceCount','Service\x20manifest\x20validation\x20passed.','flags','Service\x20Tree\x20manifest\x20file\x20path','importedAt','string','risk','entries','registryPath'];a36_0x2635=function(){return _0x458395;};return a36_0x2635();}const a36_0x10bdb6=a36_0x438f;(function(_0x2689c5,_0x1c397a){const _0x474bfe=a36_0x438f,_0x45ca63=_0x2689c5();while(!![]){try{const _0x39868d=parseInt(_0x474bfe(0x120))/0x1+parseInt(_0x474bfe(0x13d))/0x2*(-parseInt(_0x474bfe(0x12c))/0x3)+-parseInt(_0x474bfe(0x14d))/0x4+parseInt(_0x474bfe(0x13e))/0x5*(-parseInt(_0x474bfe(0x130))/0x6)+-parseInt(_0x474bfe(0x140))/0x7*(parseInt(_0x474bfe(0x112))/0x8)+-parseInt(_0x474bfe(0x136))/0x9*(parseInt(_0x474bfe(0x150))/0xa)+parseInt(_0x474bfe(0x138))/0xb*(parseInt(_0x474bfe(0x114))/0xc);if(_0x39868d===_0x1c397a)break;else _0x45ca63['push'](_0x45ca63['shift']());}catch(_0xbaf1c7){_0x45ca63['push'](_0x45ca63['shift']());}}}(a36_0x2635,0xec99f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x10bdb6(0x135),'type':'string','required':!![],'description':a36_0x10bdb6(0x119)},SERVICE_FLAG={'name':'service','type':a36_0x10bdb6(0x11b),'required':!![],'description':a36_0x10bdb6(0x142),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0xfb4540){const _0x127457=a36_0x10bdb6;return{'serviceCode':_0xfb4540[_0x127457(0x121)],'name':_0xfb4540[_0x127457(0x141)][_0x127457(0x13f)][_0x127457(0x145)],'version':_0xfb4540[_0x127457(0x156)],'importedAt':_0xfb4540[_0x127457(0x11a)],'source':_0xfb4540['source'],'commandCount':_0xfb4540[_0x127457(0x141)]['commands'][_0x127457(0x129)],'commands':_0xfb4540[_0x127457(0x141)][_0x127457(0x148)][_0x127457(0x131)](_0x517a63=>({'path':_0x517a63[_0x127457(0x13c)],'description':_0x517a63[_0x127457(0x12d)],'risk':_0x517a63[_0x127457(0x11c)],'target':_0x517a63[_0x127457(0x14f)],'flags':_0x517a63[_0x127457(0x118)][_0x127457(0x131)](_0x3811b2=>({'name':_0x3811b2[_0x127457(0x145)],'cliName':_0x3811b2['cliName'],'type':_0x3811b2['type'],'required':_0x3811b2['required']===!![]}))}))};}function a36_0x438f(_0x5731ce,_0x3ed234){_0x5731ce=_0x5731ce-0x112;const _0x263512=a36_0x2635();let _0x438f10=_0x263512[_0x5731ce];return _0x438f10;}function summarizeLoadedManifest(_0x405d4d){const _0x15a592=a36_0x10bdb6;return{'service':_0x405d4d[_0x15a592(0x141)]?.[_0x15a592(0x13f)],'version':_0x405d4d[_0x15a592(0x141)]?.['version'],'commandCount':_0x405d4d['normalizedManifest']?.[_0x15a592(0x148)]['length']??0x0,'commands':_0x405d4d[_0x15a592(0x141)]?.['commands'][_0x15a592(0x131)](_0x27c652=>({'path':_0x27c652[_0x15a592(0x13c)],'risk':_0x27c652[_0x15a592(0x11c)],'target':_0x27c652[_0x15a592(0x14f)]}))??[],'registryIndex':_0x405d4d['registryIndex'],'registryServiceCode':_0x405d4d[_0x15a592(0x14a)],'errors':_0x405d4d['report'][_0x15a592(0x12a)],'warnings':_0x405d4d[_0x15a592(0x151)]['warnings']};}export const serviceDefinitions=[{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x126),'description':a36_0x10bdb6(0x124),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x247bc5){const _0x492c5c=a36_0x10bdb6,_0x33fd91=loadServiceManifestFromFile(_0x247bc5['str'](_0x492c5c(0x135)));if(!_0x33fd91[_0x492c5c(0x151)]['ok'])return{'ok':![],'data':{'file':_0x33fd91['filePath'],'hash':_0x33fd91['hash'],'kind':_0x33fd91['kind'],'serviceCount':_0x33fd91[_0x492c5c(0x154)]['length'],'services':_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x131)](summarizeLoadedManifest),'errors':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x12a)],'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':formatValidationFailure(_0x33fd91[_0x492c5c(0x151)])};if(_0x33fd91[_0x492c5c(0x132)]===_0x492c5c(0x13a)||_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x129)]!==0x1)return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91['hash'],'kind':_0x33fd91[_0x492c5c(0x132)],'serviceCount':_0x33fd91['manifests'][_0x492c5c(0x129)],'commandCount':_0x33fd91['manifests'][_0x492c5c(0x12e)]((_0x3403ce,_0x3447c9)=>_0x3403ce+(_0x3447c9[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0),0x0),'services':_0x33fd91['manifests'][_0x492c5c(0x131)](summarizeLoadedManifest),'warnings':_0x33fd91[_0x492c5c(0x151)]['warnings']},'message':_0x492c5c(0x113)};return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91[_0x492c5c(0x12b)],'kind':_0x33fd91[_0x492c5c(0x132)],'service':_0x33fd91['normalizedManifest']?.[_0x492c5c(0x13f)],'version':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x156)],'commandCount':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0,'commands':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x131)](_0x2b9244=>({'path':_0x2b9244[_0x492c5c(0x13c)],'risk':_0x2b9244[_0x492c5c(0x11c)],'target':_0x2b9244['target']})),'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':_0x492c5c(0x117)};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x123),'description':a36_0x10bdb6(0x14b),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2a581d){const _0x4407ef=a36_0x10bdb6,_0x3d04a1=loadServiceManifestFromFile(_0x2a581d[_0x4407ef(0x115)](_0x4407ef(0x135)));return{'method':_0x4407ef(0x155),'url':getServiceRegistryPath(),'body':{'file':_0x3d04a1[_0x4407ef(0x149)],'hash':_0x3d04a1[_0x4407ef(0x12b)],'kind':_0x3d04a1[_0x4407ef(0x132)],'ok':_0x3d04a1[_0x4407ef(0x151)]['ok'],'service':_0x3d04a1[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x3d04a1['normalizedManifest']?.['version'],'serviceCount':_0x3d04a1[_0x4407ef(0x154)][_0x4407ef(0x129)],'services':_0x3d04a1[_0x4407ef(0x154)]['map'](_0x5a1b20=>({'service':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x156)],'commandCount':_0x5a1b20['normalizedManifest']?.[_0x4407ef(0x148)][_0x4407ef(0x129)]??0x0,'errors':_0x5a1b20[_0x4407ef(0x151)][_0x4407ef(0x12a)]})),'errors':_0x3d04a1[_0x4407ef(0x151)][_0x4407ef(0x12a)],'commandCount':_0x3d04a1['normalizedManifest']?.[_0x4407ef(0x148)]['length']??0x0},'description':_0x4407ef(0x147)};},async 'execute'(_0x5c2c78){const _0x3f2cbe=a36_0x10bdb6,_0x350a1b=importServiceManifest(_0x5c2c78[_0x3f2cbe(0x115)]('file'));if(_0x350a1b['entries'][_0x3f2cbe(0x129)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b['updated'],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'services':_0x350a1b[_0x3f2cbe(0x11d)][_0x3f2cbe(0x131)](summarizeService)},'message':'Imported\x20'+_0x350a1b[_0x3f2cbe(0x133)]+_0x3f2cbe(0x125)+_0x350a1b[_0x3f2cbe(0x13b)]+_0x3f2cbe(0x137)};return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'replaced':_0x350a1b['replaced'],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b[_0x3f2cbe(0x13b)],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'service':summarizeService(_0x350a1b[_0x3f2cbe(0x153)])},'message':(_0x350a1b['replaced']?_0x3f2cbe(0x134):_0x3f2cbe(0x128))+_0x3f2cbe(0x146)+_0x350a1b[_0x3f2cbe(0x153)][_0x3f2cbe(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':'export','description':a36_0x10bdb6(0x11f),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e6579){const _0x4bb2d1=a36_0x10bdb6,_0x2b0770=getLocalServiceEntry(_0x4e6579['str'](_0x4bb2d1(0x13f)));return{'method':'WRITE','url':_0x4e6579['str'](_0x4bb2d1(0x135)),'body':{'service':_0x4e6579[_0x4bb2d1(0x115)](_0x4bb2d1(0x13f)),'found':Boolean(_0x2b0770),'version':_0x2b0770?.[_0x4bb2d1(0x156)],'source':_0x2b0770?.[_0x4bb2d1(0x127)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0xe3d5f3){const _0x230f21=a36_0x10bdb6,_0x453358=exportServiceManifest(_0xe3d5f3[_0x230f21(0x115)](_0x230f21(0x13f)),_0xe3d5f3[_0x230f21(0x115)]('file'));return{'ok':!![],'data':{'registryPath':_0x453358[_0x230f21(0x11e)],'file':_0x453358[_0x230f21(0x149)],'service':summarizeService(_0x453358['entry'])},'message':_0x230f21(0x14e)+_0x453358[_0x230f21(0x153)][_0x230f21(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x152),'description':a36_0x10bdb6(0x139),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2790f9=a36_0x10bdb6,_0x5879b6=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x5879b6[_0x2790f9(0x129)],'services':_0x5879b6[_0x2790f9(0x131)](summarizeService)}};}},{'service':'service','command':'remove','description':a36_0x10bdb6(0x14c),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x522b01){const _0x2c9648=a36_0x10bdb6,_0x3b8696=getLocalServiceEntry(_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)),'found':Boolean(_0x3b8696),'version':_0x3b8696?.[_0x2c9648(0x156)],'source':_0x3b8696?.[_0x2c9648(0x127)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x405b71){const _0x33110e=a36_0x10bdb6,_0x3d6e6c=removeServiceManifest(_0x405b71['str']('service'));return{'ok':!![],'data':{'registryPath':_0x3d6e6c[_0x33110e(0x11e)],'serviceCount':_0x3d6e6c[_0x33110e(0x116)],'service':summarizeService(_0x3d6e6c[_0x33110e(0x153)])},'message':'Removed\x20service\x20'+_0x3d6e6c['entry'][_0x33110e(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x12f),'description':a36_0x10bdb6(0x144),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x35ce51){const _0x424133=a36_0x10bdb6,_0x35dff4=getLocalServiceEntry(_0x35ce51[_0x424133(0x115)]('service'));if(!_0x35dff4)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))},'message':_0x424133(0x122)+_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x35dff4),'manifest':_0x35dff4['manifest'],'normalizedManifest':_0x35dff4[_0x424133(0x141)]}};}}];
@@ -1 +1 @@
1
- const a34_0x573291=a34_0x2f6e;(function(_0x11592c,_0x1fee6b){const _0x195dd1=a34_0x2f6e,_0x34c0d2=_0x11592c();while(!![]){try{const _0x385edb=-parseInt(_0x195dd1(0x1fb))/0x1+-parseInt(_0x195dd1(0x204))/0x2*(-parseInt(_0x195dd1(0x210))/0x3)+-parseInt(_0x195dd1(0x1f7))/0x4*(parseInt(_0x195dd1(0x201))/0x5)+-parseInt(_0x195dd1(0x1da))/0x6+-parseInt(_0x195dd1(0x1df))/0x7+-parseInt(_0x195dd1(0x1c5))/0x8+parseInt(_0x195dd1(0x1ca))/0x9*(parseInt(_0x195dd1(0x1c9))/0xa);if(_0x385edb===_0x1fee6b)break;else _0x34c0d2['push'](_0x34c0d2['shift']());}catch(_0x1d40fc){_0x34c0d2['push'](_0x34c0d2['shift']());}}}(a34_0x447b,0x5801d));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a34_0x2f6e(_0x1fcec6,_0x917cc8){_0x1fcec6=_0x1fcec6-0x1c4;const _0x447b82=a34_0x447b();let _0x2f6e23=_0x447b82[_0x1fcec6];return _0x2f6e23;}export const SERVICE_REGISTRY_FILE_NAME=a34_0x573291(0x20e);export function getServiceRegistryPath(_0x3a572a={}){const _0x363aae=a34_0x573291;return resolve(_0x3a572a['homeDir']??homedir(),PRODUCT_CONFIG[_0x363aae(0x1d1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x5278d1={}){const _0x4e721c=a34_0x573291,_0x4d9e3a=getServiceRegistryPath(_0x5278d1);if(!existsSync(_0x4d9e3a))return emptyServiceRegistry();try{const _0x162a3d=readFileSync(_0x4d9e3a,_0x4e721c(0x1d0));if(!_0x162a3d['trim']())return emptyServiceRegistry();const _0x3b74d8=JSON['parse'](_0x162a3d);if(_0x3b74d8[_0x4e721c(0x1d6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4e721c(0x1e8)](_0x4e721c(0x1e6)+String(_0x3b74d8[_0x4e721c(0x1d6)]),_0x4e721c(0x1ef)+_0x4d9e3a+'.');if(!Array[_0x4e721c(0x219)](_0x3b74d8['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3b74d8[_0x4e721c(0x1f1)],'services':_0x3b74d8[_0x4e721c(0x1fe)]};}catch(_0x1f53b7){if(_0x1f53b7 instanceof Error&&_0x1f53b7[_0x4e721c(0x1cc)]===_0x4e721c(0x209))throw _0x1f53b7;throw CliErrors['validation'](_0x4e721c(0x202)+_0x4d9e3a,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0xa7a9c6,_0x5f2794={}){const _0x50c590=a34_0x573291,_0x58c6b9=getServiceRegistryPath(_0x5f2794),_0x4a9b47=dirname(_0x58c6b9);!existsSync(_0x4a9b47)&&mkdirSync(_0x4a9b47,{'recursive':!![]});const _0x158248=_0x58c6b9+_0x50c590(0x212);try{writeFileSync(_0x158248,JSON[_0x50c590(0x20d)](_0xa7a9c6,null,0x2)+'\x0a',{'encoding':_0x50c590(0x1d0),'mode':0x180}),renameSync(_0x158248,_0x58c6b9);}catch(_0x5a4e1d){try{unlinkSync(_0x158248);}catch{}if(_0x5a4e1d?.[_0x50c590(0x1ec)]===_0x50c590(0x1e9))throw CliErrors[_0x50c590(0x1e8)](_0x50c590(0x1ed)+_0x58c6b9);throw _0x5a4e1d;}return _0x58c6b9;}export function loadServiceManifestFromFile(_0xdf0cd3){const _0x5d6b64=a34_0x573291,_0x5104ef=resolve(_0xdf0cd3);if(!existsSync(_0x5104ef))throw CliErrors[_0x5d6b64(0x1e8)](_0x5d6b64(0x213)+_0xdf0cd3);let _0x2ae6a7;const _0x5163e4=readFileSync(_0x5104ef,_0x5d6b64(0x1d0));try{_0x2ae6a7=JSON[_0x5d6b64(0x1db)](_0x5163e4);}catch{throw CliErrors['validation'](_0x5d6b64(0x1d7)+_0xdf0cd3,_0x5d6b64(0x1ce));}const _0x48b0e6=sha256(_0x5163e4),_0x30b31c=extractLoadedServiceManifests(_0x2ae6a7,_0x48b0e6),_0x5c656c=aggregateValidationReports(_0x30b31c),_0x3774a1=_0x30b31c[0x0];return{'filePath':_0x5104ef,'hash':_0x48b0e6,'kind':isServiceRegistryLike(_0x2ae6a7)?_0x5d6b64(0x215):_0x5d6b64(0x216),'manifest':_0x3774a1?.['manifest']??_0x2ae6a7,'report':_0x5c656c,'normalizedManifest':_0x30b31c[_0x5d6b64(0x20c)]===0x1?_0x3774a1?.[_0x5d6b64(0x1cd)]:undefined,'manifests':_0x30b31c};}export function importServiceManifest(_0x1b2cd3,_0x2793a5={}){const _0x57334c=a34_0x573291,_0x3fce01=loadServiceManifestFromFile(_0x1b2cd3);if(!_0x3fce01[_0x57334c(0x1c7)]['ok'])throw CliErrors[_0x57334c(0x1e8)](formatValidationFailure(_0x3fce01[_0x57334c(0x1c7)]),_0x57334c(0x203));if(_0x3fce01[_0x57334c(0x1f2)]['length']===0x0)throw CliErrors[_0x57334c(0x1e8)](_0x57334c(0x1ee),_0x57334c(0x1ea));const _0x2b188f=readServiceRegistry(_0x2793a5),_0x404d73=(_0x2793a5[_0x57334c(0x1c8)]??(()=>new Date()))()[_0x57334c(0x1e7)](),_0x12db6e=[];let _0x3edfa0=0x0,_0x384371=0x0;for(const _0x37f129 of _0x3fce01[_0x57334c(0x1f2)]){if(!_0x37f129[_0x57334c(0x1cd)])continue;const _0x5b5e48=_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1e0)][_0x57334c(0x1ec)],_0x141095={'serviceCode':_0x5b5e48,'version':_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1f6)],'importedAt':_0x404d73,'source':{'type':_0x57334c(0x1dc),'path':_0x3fce01[_0x57334c(0x1e3)],'hash':_0x37f129['sourceHash']},'manifest':_0x37f129[_0x57334c(0x216)],'normalizedManifest':_0x37f129[_0x57334c(0x1cd)]},_0x55022c=_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1f4)](_0x400ef7=>_0x400ef7[_0x57334c(0x1d8)]===_0x5b5e48);_0x55022c>=0x0?(_0x2b188f[_0x57334c(0x1fe)][_0x55022c]=_0x141095,_0x384371++):(_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1e4)](_0x141095),_0x3edfa0++),_0x12db6e[_0x57334c(0x1e4)](_0x141095);}_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x206)]((_0x5aa4be,_0x35428c)=>_0x5aa4be[_0x57334c(0x1d8)][_0x57334c(0x1c4)](_0x35428c[_0x57334c(0x1d8)])),_0x2b188f[_0x57334c(0x1f1)]=_0x404d73;const _0x200470=writeServiceRegistry(_0x2b188f,_0x2793a5);return{'registryPath':_0x200470,'entry':_0x12db6e[0x0],'replaced':_0x12db6e[_0x57334c(0x20c)]===0x1?_0x384371===0x1:_0x384371>0x0,'entries':_0x12db6e,'imported':_0x3edfa0,'updated':_0x384371,'serviceCount':_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x20c)]};}export function exportServiceManifest(_0x35c860,_0x42d259,_0x4763db={}){const _0x3e6604=a34_0x573291,_0x23b37c=getServiceRegistryPath(_0x4763db),_0x2024bb=getLocalServiceEntry(_0x35c860,_0x4763db);if(!_0x2024bb)throw CliErrors['validation'](_0x3e6604(0x214)+_0x35c860,_0x3e6604(0x1c6));const _0x3b41b9=resolve(_0x42d259),_0x283546=dirname(_0x3b41b9);return!existsSync(_0x283546)&&mkdirSync(_0x283546,{'recursive':!![]}),writeFileSync(_0x3b41b9,JSON['stringify'](_0x2024bb[_0x3e6604(0x216)],null,0x2)+'\x0a',{'encoding':_0x3e6604(0x1d0),'mode':0x180}),{'registryPath':_0x23b37c,'filePath':_0x3b41b9,'entry':_0x2024bb};}export function removeServiceManifest(_0x337ed7,_0x41a3f0={}){const _0xdce79f=a34_0x573291,_0x3e2cb1=readServiceRegistry(_0x41a3f0),_0x20bf3d=_0x337ed7[_0xdce79f(0x1dd)](),_0x4424b1=_0x3e2cb1[_0xdce79f(0x1fe)]['findIndex'](_0x3b128e=>_0x3b128e[_0xdce79f(0x1d8)]===_0x20bf3d);if(_0x4424b1<0x0)throw CliErrors[_0xdce79f(0x1e8)](_0xdce79f(0x214)+_0x20bf3d,_0xdce79f(0x1c6));const [_0x439deb]=_0x3e2cb1['services']['splice'](_0x4424b1,0x1),_0x4d2f84=(_0x41a3f0['now']??(()=>new Date()))()[_0xdce79f(0x1e7)]();_0x3e2cb1[_0xdce79f(0x1f1)]=_0x4d2f84;const _0xacac64=writeServiceRegistry(_0x3e2cb1,_0x41a3f0);return{'registryPath':_0xacac64,'entry':_0x439deb,'serviceCount':_0x3e2cb1[_0xdce79f(0x1fe)][_0xdce79f(0x20c)]};}export function listLocalServices(_0x4d1b22={}){const _0x3a7c2a=a34_0x573291;return readServiceRegistry(_0x4d1b22)[_0x3a7c2a(0x1fe)];}export function getLocalServiceEntry(_0x2d9906,_0x149820={}){const _0x3e069d=a34_0x573291;return readServiceRegistry(_0x149820)[_0x3e069d(0x1fe)][_0x3e069d(0x218)](_0x485ac6=>_0x485ac6[_0x3e069d(0x1d8)]===_0x2d9906['trim']());}export function listLocalServiceTrees(_0x1a5ee8={}){const _0x3a9267=a34_0x573291;return readServiceRegistry(_0x1a5ee8)['services'][_0x3a9267(0x1d9)](_0x469727=>_0x469727['normalizedManifest']);}export function inspectServiceRegistry(_0x2feb0c={}){const _0x18de9b=a34_0x573291,_0x1ddd41=getServiceRegistryPath(_0x2feb0c);if(!existsSync(_0x1ddd41))return emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x208),![]);try{const _0x9d182c=readFileSync(_0x1ddd41,_0x18de9b(0x1d0));if(!_0x9d182c[_0x18de9b(0x1dd)]())return emptyServiceRegistryInspection(_0x1ddd41,'empty',!![]);const _0x3ec9c6=JSON['parse'](_0x9d182c);if(_0x3ec9c6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':_0x3ec9c6[_0x18de9b(0x1d6)],'message':_0x18de9b(0x1ff)+String(_0x3ec9c6[_0x18de9b(0x1d6)])};if(!Array[_0x18de9b(0x219)](_0x3ec9c6[_0x18de9b(0x1fe)]))return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4a77cf=_0x3ec9c6[_0x18de9b(0x1fe)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x1ddd41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'serviceCount':_0x4a77cf[_0x18de9b(0x20c)],'commandCount':_0x4a77cf['reduce']((_0x34816b,_0x7a5e66)=>_0x34816b+_0x7a5e66[_0x18de9b(0x20f)],0x0),'services':_0x4a77cf};}catch(_0x416a75){return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'message':_0x416a75 instanceof Error?_0x416a75['message']:String(_0x416a75)};}}function a34_0x447b(){const _0x2ff818=['manifest','risk','find','isArray','localeCompare','2706232XeWPqU','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','report','now','502940vjeMNs','423QwkbVA','digest','name','normalizedManifest','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','flatMap','utf8','homeDirName','command','string','warnings','target','schemaVersion','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','map','1413720WoCdOb','parse','file','trim','registryIndex','755552KjigPq','service','Service\x20manifest\x20validation\x20failed:\x0a','sha256','filePath','push','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','toISOString','validation','ENOENT','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','errors','code','Cannot\x20write\x20service\x20registry:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Remove\x20or\x20migrate\x20','].manifest','updatedAt','manifests','description','findIndex','$.services[','version','38452lbvdJa','hex','message','path','669440FziedJ','cliPath','update','services','Unsupported\x20schemaVersion:\x20','invalid','365ArkjBj','Invalid\x20service\x20registry\x20JSON:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','99366ZjmzQJ','importedAt','sort','slice','missing','CliError','join','kind','length','stringify','service.json','commandCount','3jFakHV','source','.tmp','Service\x20manifest\x20file\x20not\x20found:\x20','Local\x20service\x20not\x20found:\x20','registry'];a34_0x447b=function(){return _0x2ff818;};return a34_0x447b();}export function formatValidationFailure(_0x5beff5){const _0x13f45c=a34_0x573291,_0x481425=_0x5beff5[_0x13f45c(0x1eb)][_0x13f45c(0x1d9)](_0x20c612=>_0x20c612[_0x13f45c(0x1fa)]+':\x20'+_0x20c612[_0x13f45c(0x1f9)]);return _0x13f45c(0x1e1)+_0x481425[_0x13f45c(0x20a)]('\x0a');}function extractLoadedServiceManifests(_0x2bc36a,_0x55e06c){const _0x36505d=a34_0x573291;if(!isServiceRegistryLike(_0x2bc36a)){const _0x3c7ad6=_0x2bc36a,_0x2e65e8=validateServiceTreeManifest(_0x3c7ad6);return[{'manifest':_0x3c7ad6,'report':_0x2e65e8,'normalizedManifest':_0x2e65e8['ok']?normalizeServiceTreeManifest(_0x3c7ad6):undefined,'sourceHash':_0x55e06c}];}return _0x2bc36a[_0x36505d(0x1fe)][_0x36505d(0x1d9)]((_0x28f989,_0x5b6d2f)=>{const _0x4e855a=_0x36505d,_0x34f669=isObjectRecord(_0x28f989)?_0x28f989[_0x4e855a(0x216)]:undefined,_0x5eafa4=validateServiceTreeManifest(_0x34f669),_0x4fee2a=isObjectRecord(_0x28f989)&&typeof _0x28f989[_0x4e855a(0x1d8)]===_0x4e855a(0x1d3)?_0x28f989['serviceCode']:undefined;return{'manifest':_0x34f669,'report':_0x5eafa4,'normalizedManifest':_0x5eafa4['ok']?normalizeServiceTreeManifest(_0x34f669):undefined,'sourceHash':sha256(JSON[_0x4e855a(0x20d)](_0x34f669,null,0x2)+'\x0a'),'registryIndex':_0x5b6d2f,'registryServiceCode':_0x4fee2a};});}function aggregateValidationReports(_0x4bbe20){const _0x2e2f9b=a34_0x573291,_0x1d6aba=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x4a566e=>_0x4a566e[_0x2e2f9b(0x1de)]===undefined?_0x4a566e['report'][_0x2e2f9b(0x1eb)]:_0x4a566e[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1eb)][_0x2e2f9b(0x1d9)](_0x1a7df7=>({..._0x1a7df7,'path':prefixRegistryIssuePath(_0x4a566e[_0x2e2f9b(0x1de)],_0x1a7df7[_0x2e2f9b(0x1fa)])}))),_0x5e87b9=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x107ca3=>_0x107ca3[_0x2e2f9b(0x1de)]===undefined?_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]:_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]['map'](_0x1774b9=>({..._0x1774b9,'path':prefixRegistryIssuePath(_0x107ca3[_0x2e2f9b(0x1de)],_0x1774b9[_0x2e2f9b(0x1fa)])})));return{'ok':_0x1d6aba[_0x2e2f9b(0x20c)]===0x0,'errors':_0x1d6aba,'warnings':_0x5e87b9};}function prefixRegistryIssuePath(_0x5f4b3f,_0x53804b){const _0x3ba772=a34_0x573291;if(_0x53804b==='$')return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest';if(_0x53804b[_0x3ba772(0x1e5)]('$.'))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);if(_0x53804b[_0x3ba772(0x1e5)]('$['))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest.'+_0x53804b;}function isServiceRegistryLike(_0x2fe5f5){const _0x19eff2=a34_0x573291;return isObjectRecord(_0x2fe5f5)&&_0x2fe5f5[_0x19eff2(0x1d6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x19eff2(0x219)](_0x2fe5f5[_0x19eff2(0x1fe)]);}function isObjectRecord(_0xbe06f){const _0x20d1be=a34_0x573291;return Boolean(_0xbe06f)&&typeof _0xbe06f==='object'&&!Array[_0x20d1be(0x219)](_0xbe06f);}function emptyServiceRegistryInspection(_0x34a551,_0x5f2d5c,_0x40f1ea){return{'registryPath':_0x34a551,'exists':_0x40f1ea,'status':_0x5f2d5c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1478ab){const _0x393e32=a34_0x573291,_0x11d65=_0x1478ab[_0x393e32(0x1cd)],_0x2a9652=_0x11d65['commands']['map'](_0x486e17=>({'path':_0x486e17[_0x393e32(0x1fc)],'description':_0x486e17[_0x393e32(0x1f3)],'risk':_0x486e17[_0x393e32(0x217)],'targetKind':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x20b)],'targetCommand':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x1d2)]}));return{'serviceCode':_0x1478ab[_0x393e32(0x1d8)],'name':_0x11d65['service'][_0x393e32(0x1cc)],'description':_0x11d65[_0x393e32(0x1e0)]['description'],'version':_0x1478ab[_0x393e32(0x1f6)],'importedAt':_0x1478ab[_0x393e32(0x205)],'source':_0x1478ab[_0x393e32(0x211)],'commandCount':_0x2a9652[_0x393e32(0x20c)],'commands':_0x2a9652};}function sha256(_0x3fa428){const _0x1b7cf3=a34_0x573291;return createHash(_0x1b7cf3(0x1e2))[_0x1b7cf3(0x1fd)](_0x3fa428)[_0x1b7cf3(0x1cb)](_0x1b7cf3(0x1f8));}
1
+ const a37_0x4dedf4=a37_0x58df;(function(_0x5c30ab,_0x1b4560){const _0x3d2c8e=a37_0x58df,_0x3a5761=_0x5c30ab();while(!![]){try{const _0x2956fc=-parseInt(_0x3d2c8e(0x136))/0x1*(parseInt(_0x3d2c8e(0x139))/0x2)+parseInt(_0x3d2c8e(0xfb))/0x3*(parseInt(_0x3d2c8e(0xe9))/0x4)+-parseInt(_0x3d2c8e(0xfe))/0x5+parseInt(_0x3d2c8e(0x11f))/0x6+parseInt(_0x3d2c8e(0x11e))/0x7+parseInt(_0x3d2c8e(0x127))/0x8+-parseInt(_0x3d2c8e(0xea))/0x9*(parseInt(_0x3d2c8e(0x10e))/0xa);if(_0x2956fc===_0x1b4560)break;else _0x3a5761['push'](_0x3a5761['shift']());}catch(_0x57765d){_0x3a5761['push'](_0x3a5761['shift']());}}}(a37_0x37eb,0x614f1));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=a37_0x4dedf4(0x12a);function a37_0x58df(_0x527564,_0x4b44bb){_0x527564=_0x527564-0xe9;const _0x37ebe8=a37_0x37eb();let _0x58dfbe=_0x37ebe8[_0x527564];return _0x58dfbe;}export function getServiceRegistryPath(_0x3b1bfb={}){return resolve(_0x3b1bfb['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1fcaa9={}){const _0x540c47=a37_0x4dedf4,_0x5de61b=getServiceRegistryPath(_0x1fcaa9);if(!existsSync(_0x5de61b))return emptyServiceRegistry();try{const _0x15fb5d=readFileSync(_0x5de61b,_0x540c47(0x12f));if(!_0x15fb5d['trim']())return emptyServiceRegistry();const _0x1bd0b2=JSON[_0x540c47(0x135)](_0x15fb5d);if(_0x1bd0b2['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x540c47(0x108)](_0x540c47(0xff)+String(_0x1bd0b2['schemaVersion']),_0x540c47(0x11a)+_0x5de61b+'.');if(!Array[_0x540c47(0x121)](_0x1bd0b2[_0x540c47(0x107)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1bd0b2[_0x540c47(0x133)],'services':_0x1bd0b2['services']};}catch(_0x159c47){if(_0x159c47 instanceof Error&&_0x159c47[_0x540c47(0xec)]===_0x540c47(0x138))throw _0x159c47;throw CliErrors['validation'](_0x540c47(0xf1)+_0x5de61b,_0x540c47(0x103));}}export function writeServiceRegistry(_0xed4a12,_0x25ce52={}){const _0x18ae0b=a37_0x4dedf4,_0x5f4bb1=getServiceRegistryPath(_0x25ce52),_0x2f269b=dirname(_0x5f4bb1);!existsSync(_0x2f269b)&&mkdirSync(_0x2f269b,{'recursive':!![]});const _0x1c6631=_0x5f4bb1+_0x18ae0b(0x10b);try{writeFileSync(_0x1c6631,JSON['stringify'](_0xed4a12,null,0x2)+'\x0a',{'encoding':_0x18ae0b(0x12f),'mode':0x180}),renameSync(_0x1c6631,_0x5f4bb1);}catch(_0x2bd956){try{unlinkSync(_0x1c6631);}catch{}if(_0x2bd956?.[_0x18ae0b(0x125)]==='ENOENT')throw CliErrors[_0x18ae0b(0x108)](_0x18ae0b(0xf7)+_0x5f4bb1);throw _0x2bd956;}return _0x5f4bb1;}export function loadServiceManifestFromFile(_0x16f6bb){const _0x9e96bc=a37_0x4dedf4,_0x54271d=resolve(_0x16f6bb);if(!existsSync(_0x54271d))throw CliErrors['validation'](_0x9e96bc(0x102)+_0x16f6bb);let _0x1529b9;const _0x13d9f7=readFileSync(_0x54271d,_0x9e96bc(0x12f));try{_0x1529b9=JSON[_0x9e96bc(0x135)](_0x13d9f7);}catch{throw CliErrors[_0x9e96bc(0x108)](_0x9e96bc(0x131)+_0x16f6bb,_0x9e96bc(0x105));}const _0x2bb6f3=sha256(_0x13d9f7),_0x4834f5=extractLoadedServiceManifests(_0x1529b9,_0x2bb6f3),_0x3ca430=aggregateValidationReports(_0x4834f5),_0x53d55a=_0x4834f5[0x0];return{'filePath':_0x54271d,'hash':_0x2bb6f3,'kind':isServiceRegistryLike(_0x1529b9)?_0x9e96bc(0x120):'manifest','manifest':_0x53d55a?.['manifest']??_0x1529b9,'report':_0x3ca430,'normalizedManifest':_0x4834f5[_0x9e96bc(0x128)]===0x1?_0x53d55a?.[_0x9e96bc(0xf4)]:undefined,'manifests':_0x4834f5};}export function importServiceManifest(_0x4842c3,_0x5d4330={}){const _0x1bbf70=a37_0x4dedf4,_0x1dca54=loadServiceManifestFromFile(_0x4842c3);if(!_0x1dca54[_0x1bbf70(0xf5)]['ok'])throw CliErrors[_0x1bbf70(0x108)](formatValidationFailure(_0x1dca54['report']),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1dca54[_0x1bbf70(0x11b)][_0x1bbf70(0x128)]===0x0)throw CliErrors[_0x1bbf70(0x108)](_0x1bbf70(0x11c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x23517f=readServiceRegistry(_0x5d4330),_0x3b4c44=(_0x5d4330[_0x1bbf70(0x109)]??(()=>new Date()))()['toISOString'](),_0x3e7dec=[];let _0xdf5bc5=0x0,_0x28f688=0x0;for(const _0x28c63b of _0x1dca54[_0x1bbf70(0x11b)]){if(!_0x28c63b[_0x1bbf70(0xf4)])continue;const _0x137ddd=_0x28c63b[_0x1bbf70(0xf4)]['service'][_0x1bbf70(0x125)],_0x1662c8={'serviceCode':_0x137ddd,'version':_0x28c63b[_0x1bbf70(0xf4)][_0x1bbf70(0xfd)],'importedAt':_0x3b4c44,'source':{'type':_0x1bbf70(0x115),'path':_0x1dca54[_0x1bbf70(0x117)],'hash':_0x28c63b[_0x1bbf70(0x12c)]},'manifest':_0x28c63b[_0x1bbf70(0xf6)],'normalizedManifest':_0x28c63b[_0x1bbf70(0xf4)]},_0x3e7a93=_0x23517f[_0x1bbf70(0x107)]['findIndex'](_0x24bf11=>_0x24bf11['serviceCode']===_0x137ddd);_0x3e7a93>=0x0?(_0x23517f[_0x1bbf70(0x107)][_0x3e7a93]=_0x1662c8,_0x28f688++):(_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0xf9)](_0x1662c8),_0xdf5bc5++),_0x3e7dec[_0x1bbf70(0xf9)](_0x1662c8);}_0x23517f['services'][_0x1bbf70(0xf2)]((_0x542a9f,_0x1d4442)=>_0x542a9f[_0x1bbf70(0x137)]['localeCompare'](_0x1d4442[_0x1bbf70(0x137)])),_0x23517f[_0x1bbf70(0x133)]=_0x3b4c44;const _0x45c6a5=writeServiceRegistry(_0x23517f,_0x5d4330);return{'registryPath':_0x45c6a5,'entry':_0x3e7dec[0x0],'replaced':_0x3e7dec[_0x1bbf70(0x128)]===0x1?_0x28f688===0x1:_0x28f688>0x0,'entries':_0x3e7dec,'imported':_0xdf5bc5,'updated':_0x28f688,'serviceCount':_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0x128)]};}export function exportServiceManifest(_0x418637,_0x5e369f,_0xb50780={}){const _0xf692ba=a37_0x4dedf4,_0x3f7ef2=getServiceRegistryPath(_0xb50780),_0xfbf499=getLocalServiceEntry(_0x418637,_0xb50780);if(!_0xfbf499)throw CliErrors[_0xf692ba(0x108)](_0xf692ba(0x110)+_0x418637,_0xf692ba(0x119));const _0x4bafc9=resolve(_0x5e369f),_0x4642c7=dirname(_0x4bafc9);return!existsSync(_0x4642c7)&&mkdirSync(_0x4642c7,{'recursive':!![]}),writeFileSync(_0x4bafc9,JSON[_0xf692ba(0x101)](_0xfbf499[_0xf692ba(0xf6)],null,0x2)+'\x0a',{'encoding':_0xf692ba(0x12f),'mode':0x180}),{'registryPath':_0x3f7ef2,'filePath':_0x4bafc9,'entry':_0xfbf499};}export function removeServiceManifest(_0x5e1619,_0x5420fe={}){const _0x368c69=a37_0x4dedf4,_0x2e324a=readServiceRegistry(_0x5420fe),_0x2ed2f0=_0x5e1619[_0x368c69(0x10a)](),_0x25a793=_0x2e324a[_0x368c69(0x107)][_0x368c69(0x126)](_0x4280e0=>_0x4280e0[_0x368c69(0x137)]===_0x2ed2f0);if(_0x25a793<0x0)throw CliErrors[_0x368c69(0x108)](_0x368c69(0x110)+_0x2ed2f0,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x51a2fc]=_0x2e324a[_0x368c69(0x107)]['splice'](_0x25a793,0x1),_0x59cff3=(_0x5420fe['now']??(()=>new Date()))()[_0x368c69(0x116)]();_0x2e324a[_0x368c69(0x133)]=_0x59cff3;const _0x5acc04=writeServiceRegistry(_0x2e324a,_0x5420fe);return{'registryPath':_0x5acc04,'entry':_0x51a2fc,'serviceCount':_0x2e324a['services']['length']};}export function listLocalServices(_0x10ffa0={}){const _0x40da50=a37_0x4dedf4;return readServiceRegistry(_0x10ffa0)[_0x40da50(0x107)];}export function getLocalServiceEntry(_0x50433,_0x16a478={}){const _0x266347=a37_0x4dedf4;return readServiceRegistry(_0x16a478)[_0x266347(0x107)]['find'](_0x397f80=>_0x397f80[_0x266347(0x137)]===_0x50433['trim']());}export function listLocalServiceTrees(_0x25afdb={}){const _0x5243a2=a37_0x4dedf4;return readServiceRegistry(_0x25afdb)[_0x5243a2(0x107)][_0x5243a2(0x118)](_0x3ae0e2=>_0x3ae0e2[_0x5243a2(0xf4)]);}export function inspectServiceRegistry(_0x1d6cdf={}){const _0xf7b4d3=a37_0x4dedf4,_0x36a4d5=getServiceRegistryPath(_0x1d6cdf);if(!existsSync(_0x36a4d5))return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x111),![]);try{const _0x446987=readFileSync(_0x36a4d5,_0xf7b4d3(0x12f));if(!_0x446987[_0xf7b4d3(0x10a)]())return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x106),!![]);const _0x273730=JSON[_0xf7b4d3(0x135)](_0x446987);if(_0x273730['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':_0x273730['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x273730[_0xf7b4d3(0x124)])};if(!Array['isArray'](_0x273730[_0xf7b4d3(0x107)]))return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'message':_0xf7b4d3(0x114)};const _0x4f1f21=_0x273730[_0xf7b4d3(0x107)][_0xf7b4d3(0x118)](summarizeLocalServiceEntry);return{'registryPath':_0x36a4d5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'serviceCount':_0x4f1f21['length'],'commandCount':_0x4f1f21[_0xf7b4d3(0xf8)]((_0x1bf269,_0x498923)=>_0x1bf269+_0x498923[_0xf7b4d3(0xf0)],0x0),'services':_0x4f1f21};}catch(_0x54fc6a){return{...emptyServiceRegistryInspection(_0x36a4d5,'invalid',!![]),'message':_0x54fc6a instanceof Error?_0x54fc6a[_0xf7b4d3(0x100)]:String(_0x54fc6a)};}}function a37_0x37eb(){const _0x5f3741=['map','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','manifests','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','service','1941429WLHQPX','3237714LETSZB','registry','isArray','object','].manifest.','schemaVersion','code','findIndex','2072432VDZqny','length','command','service.json','].manifest','sourceHash','commands','Service\x20manifest\x20validation\x20failed:\x0a','utf8','$.services[','Invalid\x20service\x20manifest\x20JSON:\x20','target','updatedAt','errors','parse','2483tSsWKq','serviceCode','CliError','330wjaKPE','4meClLL','2941254SrEFIk','warnings','name','description','string','sha256','commandCount','Invalid\x20service\x20registry\x20JSON:\x20','sort','update','normalizedManifest','report','manifest','Cannot\x20write\x20service\x20registry:\x20','reduce','push','invalid','339447TTFlul','registryIndex','version','270455ZDMdnh','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','stringify','Service\x20manifest\x20file\x20not\x20found:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','path','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','empty','services','validation','now','trim','.tmp','join','slice','10hEQBTX','hex','Local\x20service\x20not\x20found:\x20','missing','digest','source','services\x20must\x20be\x20an\x20array','file','toISOString','filePath'];a37_0x37eb=function(){return _0x5f3741;};return a37_0x37eb();}export function formatValidationFailure(_0x4f3f7d){const _0x40b33b=a37_0x4dedf4,_0x539ab4=_0x4f3f7d['errors'][_0x40b33b(0x118)](_0x34adc0=>_0x34adc0[_0x40b33b(0x104)]+':\x20'+_0x34adc0[_0x40b33b(0x100)]);return _0x40b33b(0x12e)+_0x539ab4[_0x40b33b(0x10c)]('\x0a');}function extractLoadedServiceManifests(_0x105152,_0x411a45){const _0x424773=a37_0x4dedf4;if(!isServiceRegistryLike(_0x105152)){const _0x23bbfb=_0x105152,_0x3534d5=validateServiceTreeManifest(_0x23bbfb);return[{'manifest':_0x23bbfb,'report':_0x3534d5,'normalizedManifest':_0x3534d5['ok']?normalizeServiceTreeManifest(_0x23bbfb):undefined,'sourceHash':_0x411a45}];}return _0x105152[_0x424773(0x107)][_0x424773(0x118)]((_0x41d227,_0x3bd468)=>{const _0x5baee3=_0x424773,_0x4ce4cb=isObjectRecord(_0x41d227)?_0x41d227[_0x5baee3(0xf6)]:undefined,_0x31f4e9=validateServiceTreeManifest(_0x4ce4cb),_0x3621fa=isObjectRecord(_0x41d227)&&typeof _0x41d227[_0x5baee3(0x137)]===_0x5baee3(0xee)?_0x41d227[_0x5baee3(0x137)]:undefined;return{'manifest':_0x4ce4cb,'report':_0x31f4e9,'normalizedManifest':_0x31f4e9['ok']?normalizeServiceTreeManifest(_0x4ce4cb):undefined,'sourceHash':sha256(JSON['stringify'](_0x4ce4cb,null,0x2)+'\x0a'),'registryIndex':_0x3bd468,'registryServiceCode':_0x3621fa};});}function aggregateValidationReports(_0xacd29d){const _0x352b3b=a37_0x4dedf4,_0x1687f9=_0xacd29d['flatMap'](_0x56bc6c=>_0x56bc6c['registryIndex']===undefined?_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)]:_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)][_0x352b3b(0x118)](_0x1f7755=>({..._0x1f7755,'path':prefixRegistryIssuePath(_0x56bc6c[_0x352b3b(0xfc)],_0x1f7755[_0x352b3b(0x104)])}))),_0x60c49f=_0xacd29d['flatMap'](_0x518179=>_0x518179[_0x352b3b(0xfc)]===undefined?_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)]:_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)][_0x352b3b(0x118)](_0x546439=>({..._0x546439,'path':prefixRegistryIssuePath(_0x518179['registryIndex'],_0x546439[_0x352b3b(0x104)])})));return{'ok':_0x1687f9[_0x352b3b(0x128)]===0x0,'errors':_0x1687f9,'warnings':_0x60c49f};}function prefixRegistryIssuePath(_0xcadf11,_0x4ac6fa){const _0x808650=a37_0x4dedf4;if(_0x4ac6fa==='$')return _0x808650(0x130)+_0xcadf11+'].manifest';if(_0x4ac6fa['startsWith']('$.'))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);if(_0x4ac6fa['startsWith']('$['))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);return'$.services['+_0xcadf11+_0x808650(0x123)+_0x4ac6fa;}function isServiceRegistryLike(_0x85bdfd){const _0x5f104f=a37_0x4dedf4;return isObjectRecord(_0x85bdfd)&&_0x85bdfd[_0x5f104f(0x124)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5f104f(0x121)](_0x85bdfd[_0x5f104f(0x107)]);}function isObjectRecord(_0x451f9d){const _0x42ee75=a37_0x4dedf4;return Boolean(_0x451f9d)&&typeof _0x451f9d===_0x42ee75(0x122)&&!Array[_0x42ee75(0x121)](_0x451f9d);}function emptyServiceRegistryInspection(_0x51aa23,_0x55c5a5,_0x3f5592){return{'registryPath':_0x51aa23,'exists':_0x3f5592,'status':_0x55c5a5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4a3bc6){const _0x24300c=a37_0x4dedf4,_0xfe3a48=_0x4a3bc6[_0x24300c(0xf4)],_0x59b806=_0xfe3a48[_0x24300c(0x12d)][_0x24300c(0x118)](_0x3e4b08=>({'path':_0x3e4b08['cliPath'],'description':_0x3e4b08[_0x24300c(0xed)],'risk':_0x3e4b08['risk'],'targetKind':_0x3e4b08[_0x24300c(0x132)]['kind'],'targetCommand':_0x3e4b08[_0x24300c(0x132)][_0x24300c(0x129)]}));return{'serviceCode':_0x4a3bc6[_0x24300c(0x137)],'name':_0xfe3a48[_0x24300c(0x11d)][_0x24300c(0xec)],'description':_0xfe3a48['service'][_0x24300c(0xed)],'version':_0x4a3bc6[_0x24300c(0xfd)],'importedAt':_0x4a3bc6['importedAt'],'source':_0x4a3bc6[_0x24300c(0x113)],'commandCount':_0x59b806['length'],'commands':_0x59b806};}function sha256(_0x2a38a6){const _0x100489=a37_0x4dedf4;return createHash(_0x100489(0xef))[_0x100489(0xf3)](_0x2a38a6)[_0x100489(0x112)](_0x100489(0x10f));}
@@ -1 +1 @@
1
- const a35_0xf72b63=a35_0x5839;(function(_0xa4ebf,_0x5c34d3){const _0x1797df=a35_0x5839,_0x3e702f=_0xa4ebf();while(!![]){try{const _0x4e4bd9=parseInt(_0x1797df(0xcd))/0x1+parseInt(_0x1797df(0xb6))/0x2*(-parseInt(_0x1797df(0xce))/0x3)+parseInt(_0x1797df(0xd0))/0x4*(-parseInt(_0x1797df(0xb9))/0x5)+parseInt(_0x1797df(0xb1))/0x6*(-parseInt(_0x1797df(0xb4))/0x7)+parseInt(_0x1797df(0xc3))/0x8+-parseInt(_0x1797df(0xc7))/0x9*(-parseInt(_0x1797df(0xc9))/0xa)+-parseInt(_0x1797df(0xd2))/0xb*(parseInt(_0x1797df(0xaf))/0xc);if(_0x4e4bd9===_0x5c34d3)break;else _0x3e702f['push'](_0x3e702f['shift']());}catch(_0x4fef3f){_0x3e702f['push'](_0x3e702f['shift']());}}}(a35_0x12e4,0x86d7d));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0xf72b63(0xb2),'command':a35_0xf72b63(0xc5),'description':a35_0xf72b63(0xb3),'risk':a35_0xf72b63(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x297a3d){const _0x4a1579=a35_0xf72b63,_0x2c16d8=buildSkillCreatePlan(_0x297a3d['str'](_0x4a1579(0xcc)),_0x297a3d[_0x4a1579(0xca)]('type'),_0x297a3d[_0x4a1579(0xca)]('target'));return{'method':_0x4a1579(0xc2),'url':_0x2c16d8['skillDir'],'body':{'skillName':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xcf)],'type':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xd1)],'selfContained':!![],'files':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xc4)][_0x4a1579(0xc0)](_0x492ca0=>_0x492ca0['path'])},'description':_0x4a1579(0xba)};},async 'execute'(_0x2ffae6){const _0x205769=a35_0xf72b63,_0x1eea50=buildSkillCreatePlan(_0x2ffae6['str'](_0x205769(0xcc)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xd1)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xc1)));return writeSkillDraft(_0x1eea50,_0x2ffae6[_0x205769(0xbc)](_0x205769(0xcb))),{'ok':!![],'data':{'skillName':_0x1eea50[_0x205769(0xc6)][_0x205769(0xcf)],'type':_0x1eea50[_0x205769(0xc6)][_0x205769(0xd1)],'dir':_0x1eea50[_0x205769(0xae)],'files':_0x1eea50[_0x205769(0xc6)][_0x205769(0xc4)][_0x205769(0xc0)](_0x308be4=>_0x308be4[_0x205769(0xb0)])},'message':_0x205769(0xb5)+_0x1eea50[_0x205769(0xc6)]['skillName']};}};function buildSkillCreatePlan(_0xa4a578,_0x19ebf6,_0x4a6621){const _0x35e7f3=a35_0xf72b63,_0x57f197=renderSkillTemplate({'skillName':_0xa4a578,'type':_0x19ebf6}),_0x517bb2=resolve(normalizeSkillTarget(_0x4a6621));return{'rendered':_0x57f197,'targetRoot':_0x517bb2,'skillDir':resolve(_0x517bb2,_0x57f197[_0x35e7f3(0xcf)])};}function normalizeSkillTarget(_0x4c1d22){const _0x14aadd=a35_0xf72b63;return(_0x4c1d22||DEFAULT_SKILL_TARGET)[_0x14aadd(0xbd)]()||DEFAULT_SKILL_TARGET;}function a35_0x12e4(){const _0x3956e8=['650NNHlLj','str','force','name','776856lluFZK','12PVrYjf','skillName','1560676YIHOdY','type','11FBNaWX','Skill\x20directory\x20already\x20exists:\x20','skillDir','7838508lZTCKO','path','528SXOyCK','skill','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1603vExPCT','Created\x20local\x20Skill\x20draft\x20','163068GxNNzf','validation','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','5mDCjeP','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isDirectory','bool','trim','write','content','map','target','WRITE','2231856Mqevqm','files','create','rendered','122697EnTzAx','isSymbolicLink'];a35_0x12e4=function(){return _0x3956e8;};return a35_0x12e4();}function a35_0x5839(_0xb073bc,_0x4f4e37){_0xb073bc=_0xb073bc-0xad;const _0x12e47a=a35_0x12e4();let _0x583911=_0x12e47a[_0xb073bc];return _0x583911;}function writeSkillDraft(_0xcb3b32,_0x19c4d5){const _0x1f001f=a35_0xf72b63;if(existsSync(_0xcb3b32['skillDir'])){const _0x44602f=lstatSync(_0xcb3b32[_0x1f001f(0xae)]);if(!_0x44602f[_0x1f001f(0xbb)]()||_0x44602f['isSymbolicLink']())throw CliErrors[_0x1f001f(0xb7)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0xcb3b32[_0x1f001f(0xae)]);if(!_0x19c4d5)throw CliErrors['validation'](_0x1f001f(0xad)+_0xcb3b32['skillDir'],_0x1f001f(0xb8));}for(const _0x42a81a of _0xcb3b32[_0x1f001f(0xc6)][_0x1f001f(0xc4)]){const _0x5dc3b8=resolve(_0xcb3b32[_0x1f001f(0xae)],_0x42a81a[_0x1f001f(0xb0)]),_0x5edeae=dirname(_0x5dc3b8);mkdirSync(_0x5edeae,{'recursive':!![]});if(existsSync(_0x5dc3b8)&&lstatSync(_0x5dc3b8)[_0x1f001f(0xc8)]())throw CliErrors[_0x1f001f(0xb7)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x5dc3b8);writeFileSync(_0x5dc3b8,_0x42a81a[_0x1f001f(0xbf)],'utf8');}}
1
+ const a38_0x2b01b8=a38_0x41fd;(function(_0x5522c8,_0x11fd9){const _0x23fa69=a38_0x41fd,_0x12f88d=_0x5522c8();while(!![]){try{const _0x2a54e5=parseInt(_0x23fa69(0x83))/0x1*(parseInt(_0x23fa69(0x7e))/0x2)+-parseInt(_0x23fa69(0x89))/0x3*(-parseInt(_0x23fa69(0x84))/0x4)+parseInt(_0x23fa69(0x88))/0x5*(parseInt(_0x23fa69(0x6f))/0x6)+parseInt(_0x23fa69(0x82))/0x7+-parseInt(_0x23fa69(0x87))/0x8*(parseInt(_0x23fa69(0x8d))/0x9)+-parseInt(_0x23fa69(0x8a))/0xa+parseInt(_0x23fa69(0x71))/0xb*(-parseInt(_0x23fa69(0x72))/0xc);if(_0x2a54e5===_0x11fd9)break;else _0x12f88d['push'](_0x12f88d['shift']());}catch(_0x1c6e2f){_0x12f88d['push'](_0x12f88d['shift']());}}}(a38_0x1f40,0x8e32e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a38_0x1f40(){const _0x393c00=['23200uYPPXb','4LcUzqw','skillName','Skill\x20directory\x20already\x20exists:\x20','24mPSUHG','5WaOoWS','2822412yrsDMu','11343170QRIota','isDirectory','utf8','1420074zKVBnh','isSymbolicLink','type','WRITE','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','487068UBKkUU','content','441199SuszXH','12LhrfdQ','rendered','trim','str','force','files','bool','write','Refusing\x20to\x20overwrite\x20symlink:\x20','target','validation','skillDir','38kffOed','path','create','name','5372136KfKOrP'];a38_0x1f40=function(){return _0x393c00;};return a38_0x1f40();}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';function a38_0x41fd(_0x1585ee,_0x54ec64){_0x1585ee=_0x1585ee-0x6f;const _0x1f405d=a38_0x1f40();let _0x41fd3c=_0x1f405d[_0x1585ee];return _0x41fd3c;}import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':a38_0x2b01b8(0x80),'description':a38_0x2b01b8(0x91),'risk':a38_0x2b01b8(0x79),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x122406){const _0x110a5d=a38_0x2b01b8,_0x34e507=buildSkillCreatePlan(_0x122406[_0x110a5d(0x75)](_0x110a5d(0x81)),_0x122406[_0x110a5d(0x75)]('type'),_0x122406[_0x110a5d(0x75)](_0x110a5d(0x7b)));return{'method':_0x110a5d(0x90),'url':_0x34e507[_0x110a5d(0x7d)],'body':{'skillName':_0x34e507[_0x110a5d(0x73)]['skillName'],'type':_0x34e507['rendered'][_0x110a5d(0x8f)],'selfContained':!![],'files':_0x34e507[_0x110a5d(0x73)][_0x110a5d(0x77)]['map'](_0x1af23b=>_0x1af23b[_0x110a5d(0x7f)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x1b9267){const _0xf950df=a38_0x2b01b8,_0x144c1e=buildSkillCreatePlan(_0x1b9267[_0xf950df(0x75)]('name'),_0x1b9267[_0xf950df(0x75)](_0xf950df(0x8f)),_0x1b9267[_0xf950df(0x75)](_0xf950df(0x7b)));return writeSkillDraft(_0x144c1e,_0x1b9267[_0xf950df(0x78)](_0xf950df(0x76))),{'ok':!![],'data':{'skillName':_0x144c1e[_0xf950df(0x73)][_0xf950df(0x85)],'type':_0x144c1e[_0xf950df(0x73)]['type'],'dir':_0x144c1e['skillDir'],'files':_0x144c1e['rendered']['files']['map'](_0x5cbd6d=>_0x5cbd6d[_0xf950df(0x7f)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x144c1e[_0xf950df(0x73)][_0xf950df(0x85)]};}};function buildSkillCreatePlan(_0x4a20d2,_0x58a07c,_0x65cd2d){const _0x5f48c9=a38_0x2b01b8,_0x4ef26a=renderSkillTemplate({'skillName':_0x4a20d2,'type':_0x58a07c}),_0x3a683b=resolve(normalizeSkillTarget(_0x65cd2d));return{'rendered':_0x4ef26a,'targetRoot':_0x3a683b,'skillDir':resolve(_0x3a683b,_0x4ef26a[_0x5f48c9(0x85)])};}function normalizeSkillTarget(_0x5ed113){const _0x42e9fe=a38_0x2b01b8;return(_0x5ed113||DEFAULT_SKILL_TARGET)[_0x42e9fe(0x74)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5b8f79,_0x3f36ca){const _0x11a6ca=a38_0x2b01b8;if(existsSync(_0x5b8f79['skillDir'])){const _0x488920=lstatSync(_0x5b8f79[_0x11a6ca(0x7d)]);if(!_0x488920[_0x11a6ca(0x8b)]()||_0x488920['isSymbolicLink']())throw CliErrors[_0x11a6ca(0x7c)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x5b8f79[_0x11a6ca(0x7d)]);if(!_0x3f36ca)throw CliErrors['validation'](_0x11a6ca(0x86)+_0x5b8f79['skillDir'],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x72a2e6 of _0x5b8f79[_0x11a6ca(0x73)][_0x11a6ca(0x77)]){const _0x7e983d=resolve(_0x5b8f79[_0x11a6ca(0x7d)],_0x72a2e6[_0x11a6ca(0x7f)]),_0x1ab468=dirname(_0x7e983d);mkdirSync(_0x1ab468,{'recursive':!![]});if(existsSync(_0x7e983d)&&lstatSync(_0x7e983d)[_0x11a6ca(0x8e)]())throw CliErrors[_0x11a6ca(0x7c)](_0x11a6ca(0x7a)+_0x7e983d);writeFileSync(_0x7e983d,_0x72a2e6[_0x11a6ca(0x70)],_0x11a6ca(0x8c));}}
@@ -1 +1 @@
1
- const a36_0x4ad83a=a36_0x2a0b;(function(_0x11b82b,_0x160f3f){const _0x51670b=a36_0x2a0b,_0x2a14ee=_0x11b82b();while(!![]){try{const _0x357071=parseInt(_0x51670b(0xdb))/0x1+parseInt(_0x51670b(0xe1))/0x2+-parseInt(_0x51670b(0xcc))/0x3+parseInt(_0x51670b(0xc7))/0x4+parseInt(_0x51670b(0xda))/0x5+parseInt(_0x51670b(0xca))/0x6+parseInt(_0x51670b(0xc4))/0x7*(-parseInt(_0x51670b(0xd2))/0x8);if(_0x357071===_0x160f3f)break;else _0x2a14ee['push'](_0x2a14ee['shift']());}catch(_0x43a709){_0x2a14ee['push'](_0x2a14ee['shift']());}}}(a36_0x2768,0x7d77c));function a36_0x2a0b(_0x5d9736,_0x3d70ac){_0x5d9736=_0x5d9736-0xbf;const _0x276838=a36_0x2768();let _0x2a0b62=_0x276838[_0x5d9736];return _0x2a0b62;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';function a36_0x2768(){const _0x308714=['write','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','unchanged','appCode','version','2096700RiChHf','83685FwyMeM','Installed\x20','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','includes','filter','action','494478AzMfKR','personal','map','scope','install','authRequired','\x20company\x20Skill(s).','\x20personal\x20and\x20','str','63lVCWep','push','skipped','1042152eCfqNv','company','envName','2869050gPYgIy','production','1107192BHwTWP','reduce','updated','skillCode','removed','flatMap','538664kBqtoZ','length','trim'];a36_0x2768=function(){return _0x308714;};return a36_0x2768();}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':a36_0x4ad83a(0xbf),'description':a36_0x4ad83a(0xdd),'risk':a36_0x4ad83a(0xd5),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4af75b){return syncRuntimeSkills(_0x4af75b);}};async function syncRuntimeSkills(_0x51d160){const _0x5e4ce7=a36_0x4ad83a,{downloadRuntimeSkillPackage:_0x3402cf,listRuntimeSkills:_0x145efd}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x4a4278,materializeRuntimeSkill:_0x3aff76,pruneStaleRuntimeSkillCache:_0x5866d0,pruneStaleRuntimeSkillLinks:_0x11714d}=await import('../../../skills/runtime-skill-sync.js'),_0x30bd38=_0x51d160[_0x5e4ce7(0xc3)]('code'),_0x4e2a1c=normalizeSyncScopes(_0x51d160[_0x5e4ce7(0xc3)](_0x5e4ce7(0xe4))),_0x190a15=_0x51d160[_0x5e4ce7(0xc9)]??_0x5e4ce7(0xcb),_0x339ba7=_0x51d160['accessKey'];if(!_0x339ba7)throw CliErrors[_0x5e4ce7(0xc0)](_0x5e4ce7(0xd6));const _0x23d3d6=await Promise['all'](_0x4e2a1c[_0x5e4ce7(0xe3)](_0x512526=>_0x145efd({'appCode':_0x51d160[_0x5e4ce7(0xd8)],'scope':_0x512526,'code':_0x30bd38[_0x5e4ce7(0xd4)]()||undefined}))),_0x48286d=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))?_0x23d3d6['flatMap']((_0x274962,_0x45e169)=>_0x4e2a1c[_0x45e169]===_0x5e4ce7(0xe2)?_0x274962[_0x5e4ce7(0xe2)]:[]):[],_0x94688a=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8))?_0x23d3d6[_0x5e4ce7(0xd1)]((_0x125969,_0x54a37e)=>_0x4e2a1c[_0x54a37e]===_0x5e4ce7(0xc8)?_0x125969[_0x5e4ce7(0xc8)]:[]):[],_0x302dc9=new Set([..._0x48286d[_0x5e4ce7(0xe3)](_0x1ebac6=>_0x1ebac6['skillCode']?.['trim']())[_0x5e4ce7(0xdf)](_0x6cf8ab=>Boolean(_0x6cf8ab)),..._0x94688a[_0x5e4ce7(0xe3)](_0x491330=>_0x491330[_0x5e4ce7(0xcf)]?.['trim']())['filter'](_0x50df92=>Boolean(_0x50df92))]),_0x8c8508=_0x30bd38[_0x5e4ce7(0xd4)]()?[_0x30bd38['trim']()]:undefined,_0x5a0dbd=_0x4e2a1c[_0x5e4ce7(0xd3)]===0x2&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8)),_0x5b754d=_0x5a0dbd?_0x11714d(_0x51d160['appCode'],_0x302dc9,{},_0x8c8508):[],_0xe5a16f=_0x5866d0({'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'activeSkillCodes':_0x302dc9,'pruneSkillCodes':_0x8c8508,'scopes':_0x4e2a1c}),_0x281355=[];for(const _0x467131 of _0x48286d){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x467131,'personal',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x467131,_0x5e4ce7(0xe2),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}for(const _0x5be7b7 of _0x94688a){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x5be7b7,'company',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x5be7b7,_0x5e4ce7(0xc8),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}const _0x346ad4=_0x4a4278(_0x281355,_0x51d160[_0x5e4ce7(0xd8)]),_0x2066b8=countLinkActions(_0x346ad4);return{'ok':!![],'data':{'appCode':_0x51d160[_0x5e4ce7(0xd8)],'personal':_0x48286d[_0x5e4ce7(0xd3)],'company':_0x94688a[_0x5e4ce7(0xd3)],'materialized':_0x281355[_0x5e4ce7(0xd3)],'links':{'total':_0x346ad4['length'],'created':_0x2066b8['created']??0x0,'updated':_0x2066b8[_0x5e4ce7(0xce)]??0x0,'unchanged':_0x2066b8[_0x5e4ce7(0xd7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5b754d[_0x5e4ce7(0xdf)](_0x30c6a5=>_0x30c6a5[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xd0))[_0x5e4ce7(0xd3)],'cacheDirs':_0xe5a16f[_0x5e4ce7(0xdf)](_0x15ace6=>_0x15ace6[_0x5e4ce7(0xe0)]==='removed')['length'],'skipped':[..._0x5b754d,..._0xe5a16f][_0x5e4ce7(0xdf)](_0x46a48f=>_0x46a48f[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xc6))[_0x5e4ce7(0xd3)]},'skills':{'personal':_0x48286d[_0x5e4ce7(0xe3)](summarizeRuntimeSkill),'company':_0x94688a[_0x5e4ce7(0xe3)](summarizeRuntimeSkill)}},'message':_0x5e4ce7(0xdc)+_0x48286d[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc2)+_0x94688a[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc1)};}async function downloadSkillPackage(_0x245f78,_0x2f776e,_0x30eda6,_0x3036d2){const _0x5a39c3=a36_0x4ad83a,_0x3ce7ee=_0x245f78[_0x5a39c3(0xd9)]?.[_0x5a39c3(0xd4)]();return _0x3ce7ee?_0x3036d2(_0x2f776e,_0x245f78['skillCode'],_0x30eda6,_0x3ce7ee):_0x3036d2(_0x2f776e,_0x245f78[_0x5a39c3(0xcf)],_0x30eda6);}function countLinkActions(_0x275a77){const _0x2a6bd5=a36_0x4ad83a;return _0x275a77[_0x2a6bd5(0xcd)]((_0x4ccdef,_0x62e8d1)=>{const _0x19304b=_0x2a6bd5;return _0x4ccdef[_0x62e8d1[_0x19304b(0xe0)]]=(_0x4ccdef[_0x62e8d1['action']]??0x0)+0x1,_0x4ccdef;},{});}
1
+ const a39_0x34e2e5=a39_0x1df2;(function(_0x2c3d61,_0x26f51e){const _0x11ce34=a39_0x1df2,_0x5056d2=_0x2c3d61();while(!![]){try{const _0x2b867c=-parseInt(_0x11ce34(0x10d))/0x1+parseInt(_0x11ce34(0x123))/0x2+parseInt(_0x11ce34(0x119))/0x3*(-parseInt(_0x11ce34(0x120))/0x4)+-parseInt(_0x11ce34(0x12a))/0x5+parseInt(_0x11ce34(0x12c))/0x6*(-parseInt(_0x11ce34(0x10a))/0x7)+-parseInt(_0x11ce34(0x128))/0x8+parseInt(_0x11ce34(0x113))/0x9;if(_0x2b867c===_0x26f51e)break;else _0x5056d2['push'](_0x5056d2['shift']());}catch(_0x1f4744){_0x5056d2['push'](_0x5056d2['shift']());}}}(a39_0x4ad0,0x5fca5));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a39_0x1df2(_0x4de64a,_0xeb4f27){_0x4de64a=_0x4de64a-0x108;const _0x4ad020=a39_0x4ad0();let _0x1df219=_0x4ad020[_0x4de64a];return _0x1df219;}export const installCommand={'service':a39_0x34e2e5(0x121),'command':a39_0x34e2e5(0x117),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a39_0x34e2e5(0x114),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x151113){return syncRuntimeSkills(_0x151113);}};function a39_0x4ad0(){const _0x4acd83=['1459904duEvIu','skill','appCode','1010474aaScOW','reduce','skillCode','personal','action','5393520zDRDWY','\x20company\x20Skill(s).','3893850RcqjPJ','\x20personal\x20and\x20','4230dNMHul','push','str','updated','3787pYoUAO','authRequired','all','39136TlIQQa','length','created','version','unchanged','filter','22415157rzQLDL','write','company','flatMap','install','trim','6WgpkZP','../../../core/api-client.js','Installed\x20','code','removed','includes','map'];a39_0x4ad0=function(){return _0x4acd83;};return a39_0x4ad0();}async function syncRuntimeSkills(_0x2e2cf8){const _0x38f25e=a39_0x34e2e5,{downloadRuntimeSkillPackage:_0x34b6ce,listRuntimeSkills:_0x2e8785}=await import(_0x38f25e(0x11a)),{linkEffectiveRuntimeSkills:_0x45ff76,materializeRuntimeSkill:_0x19c681,pruneStaleRuntimeSkillCache:_0x27be51,pruneStaleRuntimeSkillLinks:_0x1ece6c}=await import('../../../skills/runtime-skill-sync.js'),_0x437fa3=_0x2e2cf8[_0x38f25e(0x108)](_0x38f25e(0x11c)),_0x53ae53=normalizeSyncScopes(_0x2e2cf8[_0x38f25e(0x108)]('scope')),_0x1b8f5c=_0x2e2cf8['envName']??'production',_0x1a675b=_0x2e2cf8['accessKey'];if(!_0x1a675b)throw CliErrors[_0x38f25e(0x10b)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x559251=await Promise[_0x38f25e(0x10c)](_0x53ae53[_0x38f25e(0x11f)](_0x2056cf=>_0x2e8785({'appCode':_0x2e2cf8['appCode'],'scope':_0x2056cf,'code':_0x437fa3[_0x38f25e(0x118)]()||undefined}))),_0x5e5366=_0x53ae53[_0x38f25e(0x11e)](_0x38f25e(0x126))?_0x559251[_0x38f25e(0x116)]((_0x39b041,_0x530afa)=>_0x53ae53[_0x530afa]===_0x38f25e(0x126)?_0x39b041[_0x38f25e(0x126)]:[]):[],_0x1154b8=_0x53ae53[_0x38f25e(0x11e)](_0x38f25e(0x115))?_0x559251[_0x38f25e(0x116)]((_0x464fb0,_0x5001ee)=>_0x53ae53[_0x5001ee]==='company'?_0x464fb0[_0x38f25e(0x115)]:[]):[],_0x2a2762=new Set([..._0x5e5366[_0x38f25e(0x11f)](_0x419d95=>_0x419d95['skillCode']?.[_0x38f25e(0x118)]())[_0x38f25e(0x112)](_0x3f64e3=>Boolean(_0x3f64e3)),..._0x1154b8[_0x38f25e(0x11f)](_0x258d1a=>_0x258d1a[_0x38f25e(0x125)]?.[_0x38f25e(0x118)]())[_0x38f25e(0x112)](_0x44c0cd=>Boolean(_0x44c0cd))]),_0x274752=_0x437fa3[_0x38f25e(0x118)]()?[_0x437fa3[_0x38f25e(0x118)]()]:undefined,_0x34d235=_0x53ae53[_0x38f25e(0x10e)]===0x2&&_0x53ae53['includes'](_0x38f25e(0x126))&&_0x53ae53['includes'](_0x38f25e(0x115)),_0x449bf9=_0x34d235?_0x1ece6c(_0x2e2cf8[_0x38f25e(0x122)],_0x2a2762,{},_0x274752):[],_0x16de28=_0x27be51({'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8['appCode'],'activeSkillCodes':_0x2a2762,'pruneSkillCodes':_0x274752,'scopes':_0x53ae53}),_0x48fc81=[];for(const _0x58f90b of _0x5e5366){_0x48fc81[_0x38f25e(0x12d)](_0x19c681(_0x58f90b,'personal',{'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8[_0x38f25e(0x122)],'packageBytes':await downloadSkillPackage(_0x58f90b,_0x38f25e(0x126),_0x2e2cf8[_0x38f25e(0x122)],_0x34b6ce)}));}for(const _0x143797 of _0x1154b8){_0x48fc81[_0x38f25e(0x12d)](_0x19c681(_0x143797,_0x38f25e(0x115),{'env':_0x1b8f5c,'accessKey':_0x1a675b,'appCode':_0x2e2cf8[_0x38f25e(0x122)],'packageBytes':await downloadSkillPackage(_0x143797,_0x38f25e(0x115),_0x2e2cf8[_0x38f25e(0x122)],_0x34b6ce)}));}const _0x529fb8=_0x45ff76(_0x48fc81,_0x2e2cf8[_0x38f25e(0x122)]),_0x57dd17=countLinkActions(_0x529fb8);return{'ok':!![],'data':{'appCode':_0x2e2cf8[_0x38f25e(0x122)],'personal':_0x5e5366[_0x38f25e(0x10e)],'company':_0x1154b8[_0x38f25e(0x10e)],'materialized':_0x48fc81[_0x38f25e(0x10e)],'links':{'total':_0x529fb8[_0x38f25e(0x10e)],'created':_0x57dd17[_0x38f25e(0x10f)]??0x0,'updated':_0x57dd17[_0x38f25e(0x109)]??0x0,'unchanged':_0x57dd17[_0x38f25e(0x111)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x449bf9[_0x38f25e(0x112)](_0x3557d0=>_0x3557d0[_0x38f25e(0x127)]===_0x38f25e(0x11d))['length'],'cacheDirs':_0x16de28[_0x38f25e(0x112)](_0x490027=>_0x490027['action']==='removed')[_0x38f25e(0x10e)],'skipped':[..._0x449bf9,..._0x16de28][_0x38f25e(0x112)](_0x536818=>_0x536818[_0x38f25e(0x127)]==='skipped')['length']},'skills':{'personal':_0x5e5366[_0x38f25e(0x11f)](summarizeRuntimeSkill),'company':_0x1154b8['map'](summarizeRuntimeSkill)}},'message':_0x38f25e(0x11b)+_0x5e5366['length']+_0x38f25e(0x12b)+_0x1154b8['length']+_0x38f25e(0x129)};}async function downloadSkillPackage(_0x59dd49,_0x1a5ca5,_0x3ccb7a,_0x49dcbc){const _0x46f50d=a39_0x34e2e5,_0x18e249=_0x59dd49[_0x46f50d(0x110)]?.['trim']();return _0x18e249?_0x49dcbc(_0x1a5ca5,_0x59dd49[_0x46f50d(0x125)],_0x3ccb7a,_0x18e249):_0x49dcbc(_0x1a5ca5,_0x59dd49[_0x46f50d(0x125)],_0x3ccb7a);}function countLinkActions(_0x2d37a7){const _0x5bd5d6=a39_0x34e2e5;return _0x2d37a7[_0x5bd5d6(0x124)]((_0x303936,_0x452568)=>{const _0x3b6ec1=_0x5bd5d6;return _0x303936[_0x452568['action']]=(_0x303936[_0x452568[_0x3b6ec1(0x127)]]??0x0)+0x1,_0x303936;},{});}