@lovrabet/lovrabet-cli 2.1.6 → 2.1.7-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +3 -2
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x5c29ae=a27_0x3973;(function(_0x206b0e,_0x283dbe){const _0xd94f12=a27_0x3973,_0xfe9146=_0x206b0e();while(!![]){try{const _0x4e6600=-parseInt(_0xd94f12(0xf4))/0x1+parseInt(_0xd94f12(0xca))/0x2*(-parseInt(_0xd94f12(0xd0))/0x3)+parseInt(_0xd94f12(0xc2))/0x4+-parseInt(_0xd94f12(0xf1))/0x5+-parseInt(_0xd94f12(0xda))/0x6*(-parseInt(_0xd94f12(0xc9))/0x7)+parseInt(_0xd94f12(0xf0))/0x8*(-parseInt(_0xd94f12(0xb5))/0x9)+parseInt(_0xd94f12(0xec))/0xa*(parseInt(_0xd94f12(0xe7))/0xb);if(_0x4e6600===_0x283dbe)break;else _0xfe9146['push'](_0xfe9146['shift']());}catch(_0x3a26e7){_0xfe9146['push'](_0xfe9146['shift']());}}}(a27_0x1915,0x2d3fe));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a27_0x1915(){const _0x340885=['394398cBiSDD','description','utf8','isFile','length','file','build','topk','update','--topk\x20must\x20be\x20a\x20positive\x20number.','userId','content','metadata','1377036FzDilz','File\x20is\x20not\x20a\x20regular\x20file:\x20','create','verbose','number','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','Updated\x20KB\x20entry\x20','7sCoEyK','62GUknLH','trim','isFinite','title','search','/client/knowledge-base/personal/create','26286eJzpRO','str','Personal\x20knowledge-base\x20entry\x20ID','version','query','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','/update','validation','weightedScore','appCode','653286FqCosu','scope','/client/knowledge-base/personal/','list','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','map','write','string','POST','read','bool','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','detail','1705NwxbkB','File\x20path\x20is\x20required.','File\x20not\x20found:\x20','flag','num','18800MNzEiy','Override\x20the\x20existing\x20entry\x20title','body','ragErrorMessage','8zqjcXl','449190sJUrcu','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','score','153916mJqroi','createTime'];a27_0x1915=function(){return _0x340885;};return a27_0x1915();}import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x5c29ae(0xcd),'type':a27_0x5c29ae(0xe1),'required':!![],'description':'Personal\x20knowledge-base\x20entry\x20title'},FILE_FLAG={'name':a27_0x5c29ae(0xba),'type':'string','required':!![],'description':a27_0x5c29ae(0xd5)},QUERY_FLAG={'name':a27_0x5c29ae(0xd4),'type':a27_0x5c29ae(0xe1),'required':!![],'description':a27_0x5c29ae(0xde)},TOPK_FLAG={'name':a27_0x5c29ae(0xbc),'type':a27_0x5c29ae(0xc6),'description':a27_0x5c29ae(0xe5)};function readKnowledgeFile(_0x26a1dd){const _0x440a88=a27_0x5c29ae;if(!_0x26a1dd)throw CliErrors['validation'](_0x440a88(0xe8));if(!existsSync(_0x26a1dd))throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xe9)+_0x26a1dd);if(!statSync(_0x26a1dd)[_0x440a88(0xb8)]())throw CliErrors[_0x440a88(0xd7)](_0x440a88(0xc3)+_0x26a1dd);return readFileSync(_0x26a1dd,_0x440a88(0xb7));}function summarizePersonalItem(_0x45a202){const _0x73ab05=a27_0x5c29ae;return{'id':_0x45a202['id'],'title':_0x45a202['title'],'version':_0x45a202[_0x73ab05(0xd3)],'ragStatus':_0x45a202['ragStatus'],'ragErrorMessage':_0x45a202['ragErrorMessage'],'updateTime':_0x45a202['updateTime']};}function a27_0x3973(_0x337249,_0x11aea6){_0x337249=_0x337249-0xb4;const _0x191586=a27_0x1915();let _0x3973f3=_0x191586[_0x337249];return _0x3973f3;}function detailPersonalItem(_0x8116e6){const _0x116291=a27_0x5c29ae;return{'id':_0x8116e6['id'],'appCode':_0x8116e6[_0x116291(0xd9)],'scope':_0x8116e6[_0x116291(0xdb)],'userId':_0x8116e6[_0x116291(0xbf)],'title':_0x8116e6['title'],'content':_0x8116e6[_0x116291(0xc0)]??'','version':_0x8116e6['version'],'ragStatus':_0x8116e6['ragStatus'],'ragErrorMessage':_0x8116e6[_0x116291(0xef)],'createTime':_0x8116e6[_0x116291(0xb4)],'updateTime':_0x8116e6['updateTime']};}function summarizeSearchHit(_0x43d672){const _0x15a3da=a27_0x5c29ae;return{'scope':_0x43d672[_0x15a3da(0xdb)],'docId':_0x43d672['docId'],'score':_0x43d672[_0x15a3da(0xf3)],'weightedScore':_0x43d672[_0x15a3da(0xd8)],'content':_0x43d672[_0x15a3da(0xc0)],'metadata':_0x43d672[_0x15a3da(0xc1)]};}function readTopK(_0x43e73b){const _0x15d233=a27_0x5c29ae,_0x497403=_0x43e73b[_0x15d233(0xea)](_0x15d233(0xbc));if(_0x497403===undefined||_0x497403===null||_0x497403==='')return undefined;const _0x1233ee=_0x43e73b['num']('topk');if(!Number[_0x15d233(0xcc)](_0x1233ee)||_0x1233ee<0x1)throw CliErrors['validation'](_0x15d233(0xbe));return _0x1233ee;}const kbList={'service':'kb','command':a27_0x5c29ae(0xdd),'description':a27_0x5c29ae(0xf2),'risk':a27_0x5c29ae(0xe3),'flags':[VERBOSE_FLAG],async 'execute'(_0x35b358){const _0x1a6685=a27_0x5c29ae,_0x4268dc=await listPersonalKnowledgeBaseItems(_0x35b358[_0x1a6685(0xd9)]);if(_0x35b358[_0x1a6685(0xe4)](_0x1a6685(0xc5)))return{'ok':!![],'data':{'total':_0x4268dc[_0x1a6685(0xb9)],'items':_0x4268dc}};return{'ok':!![],'data':{'total':_0x4268dc['length'],'items':_0x4268dc[_0x1a6685(0xdf)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x5c29ae(0xe6),'description':a27_0x5c29ae(0xc7),'risk':a27_0x5c29ae(0xe3),'flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)}],async 'execute'(_0x5ad128){const _0x221b94=a27_0x5c29ae,_0xa04b4e=await getPersonalKnowledgeBaseItem(_0x5ad128['num']('id'),_0x5ad128[_0x221b94(0xd9)]);return{'ok':!![],'data':detailPersonalItem(_0xa04b4e)};}},kbCreate={'service':'kb','command':a27_0x5c29ae(0xc4),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x5c29ae(0xe0),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x5798b3){const _0x470502=a27_0x5c29ae,_0x1a73e7=_0x5798b3['str'](_0x470502(0xcd)),_0xad66cb=readKnowledgeFile(_0x5798b3[_0x470502(0xd1)](_0x470502(0xba))),_0x249de8=await createPersonalKnowledgeBaseItem(_0x5798b3[_0x470502(0xd9)],{'title':_0x1a73e7,'content':_0xad66cb});return{'ok':!![],'data':summarizePersonalItem(_0x249de8),'message':'Created\x20KB\x20entry\x20'+_0x249de8['id']+'\x20('+_0x249de8[_0x470502(0xcd)]+')'};},async 'dryRun'(_0x15d89a){const _0x2cfcd6=a27_0x5c29ae,_0x5bf555=_0x15d89a['str'](_0x2cfcd6(0xcd)),_0x37bd24=readKnowledgeFile(_0x15d89a['str']('file'));return dryRun(_0x2cfcd6(0xe2),_0x2cfcd6(0xcf))[_0x2cfcd6(0xee)]({'appCode':_0x15d89a[_0x2cfcd6(0xd9)],'title':_0x5bf555,'content':_0x37bd24})['description']('Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22'+_0x5bf555+'\x22')[_0x2cfcd6(0xbb)]();}},kbUpdate={'service':'kb','command':a27_0x5c29ae(0xbd),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[{...ID_FLAG,'description':a27_0x5c29ae(0xd2)},{...TITLE_FLAG,'required':![],'description':a27_0x5c29ae(0xed)},FILE_FLAG],async 'execute'(_0x28a465){const _0x32f831=a27_0x5c29ae,_0x2cf254=_0x28a465[_0x32f831(0xeb)]('id'),_0x338ad5=readKnowledgeFile(_0x28a465[_0x32f831(0xd1)](_0x32f831(0xba))),_0x3dc19b=_0x28a465[_0x32f831(0xd1)](_0x32f831(0xcd))||(await getPersonalKnowledgeBaseItem(_0x2cf254,_0x28a465[_0x32f831(0xd9)]))[_0x32f831(0xcd)],_0xbc4c35=await updatePersonalKnowledgeBaseItem(_0x2cf254,_0x28a465['appCode'],{'title':_0x3dc19b,'content':_0x338ad5});return{'ok':!![],'data':summarizePersonalItem(_0xbc4c35),'message':_0x32f831(0xc8)+_0xbc4c35['id']+'\x20('+_0xbc4c35['title']+')'};},async 'dryRun'(_0x15655c){const _0xc63483=a27_0x5c29ae,_0x8cc000=_0x15655c[_0xc63483(0xeb)]('id'),_0x59c3bb=readKnowledgeFile(_0x15655c[_0xc63483(0xd1)](_0xc63483(0xba))),_0x195c4b=_0x15655c[_0xc63483(0xd1)]('title')||(await getPersonalKnowledgeBaseItem(_0x8cc000,_0x15655c['appCode']))['title'];return dryRun(_0xc63483(0xe2),_0xc63483(0xdc)+_0x8cc000+_0xc63483(0xd6))[_0xc63483(0xee)]({'appCode':_0x15655c[_0xc63483(0xd9)],'title':_0x195c4b,'content':_0x59c3bb})[_0xc63483(0xb6)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x8cc000)[_0xc63483(0xbb)]();}},kbSearch={'service':'kb','command':a27_0x5c29ae(0xce),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x5c29ae(0xe3),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x33e55f){const _0x4d80ad=a27_0x5c29ae;if(!_0x33e55f[_0x4d80ad(0xd1)]('query')[_0x4d80ad(0xcb)]())throw CliErrors[_0x4d80ad(0xd7)]('Search\x20query\x20is\x20required.');readTopK(_0x33e55f);},async 'execute'(_0x56a7cc){const _0x4e1a23=a27_0x5c29ae,_0x4243d6=_0x56a7cc[_0x4e1a23(0xd1)](_0x4e1a23(0xd4))[_0x4e1a23(0xcb)](),_0x40d2aa=readTopK(_0x56a7cc),_0x29ed0b=await searchKnowledgeBase(_0x56a7cc['appCode'],{'query':_0x4243d6,'topK':_0x40d2aa});return{'ok':!![],'data':{'total':_0x29ed0b['length'],'hits':_0x29ed0b[_0x4e1a23(0xdf)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a28_0xa57254=a28_0x325e;function a28_0x325e(_0x595aab,_0x773bef){_0x595aab=_0x595aab-0x1ca;const _0x8905b6=a28_0x8905();let _0x325e8c=_0x8905b6[_0x595aab];return _0x325e8c;}(function(_0x4ccf91,_0x507b7e){const _0x1fe0ed=a28_0x325e,_0x270518=_0x4ccf91();while(!![]){try{const _0x503897=parseInt(_0x1fe0ed(0x1e9))/0x1*(parseInt(_0x1fe0ed(0x1dc))/0x2)+-parseInt(_0x1fe0ed(0x1e4))/0x3*(-parseInt(_0x1fe0ed(0x1ea))/0x4)+-parseInt(_0x1fe0ed(0x1da))/0x5+-parseInt(_0x1fe0ed(0x1e3))/0x6+-parseInt(_0x1fe0ed(0x1d2))/0x7*(-parseInt(_0x1fe0ed(0x1ce))/0x8)+-parseInt(_0x1fe0ed(0x1cf))/0x9*(-parseInt(_0x1fe0ed(0x1e1))/0xa)+parseInt(_0x1fe0ed(0x1d1))/0xb*(-parseInt(_0x1fe0ed(0x1d9))/0xc);if(_0x503897===_0x507b7e)break;else _0x270518['push'](_0x270518['shift']());}catch(_0x2b863c){_0x270518['push'](_0x270518['shift']());}}}(a28_0x8905,0x1b804));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x570fbe){const _0x216f0f=a28_0x325e;if(_0x570fbe['length']===0x0){console[_0x216f0f(0x1d8)](_0x216f0f(0x1d5));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x216f0f(0x1dd)),_0x570fbe['forEach']((_0x18a699,_0x9b81b)=>{const _0x2e4e22=_0x216f0f,_0x145581=new Date(_0x18a699['timestamp'])['toLocaleString'](_0x2e4e22(0x1d7)),_0x168070=_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1e2)?'√':_0x18a699[_0x2e4e22(0x1e0)]==='error'?'×':_0x18a699[_0x2e4e22(0x1e0)]===_0x2e4e22(0x1df)?'!':'i';console['log'](_0x9b81b+0x1+'.\x20'+_0x168070+'\x20['+_0x18a699['command']+']\x20'+_0x18a699['message']),console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1cb)+_0x145581),_0x18a699['duration']&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1e8)+_0x18a699[_0x2e4e22(0x1e7)]+'ms'),_0x18a699[_0x2e4e22(0x1d0)]&&Object['keys'](_0x18a699[_0x2e4e22(0x1d0)])[_0x2e4e22(0x1cc)]>0x0&&console[_0x2e4e22(0x1d8)](_0x2e4e22(0x1d4)+JSON[_0x2e4e22(0x1d3)](_0x18a699[_0x2e4e22(0x1d0)],null,0x2)),console[_0x2e4e22(0x1d8)]('');});}function a28_0x8905(){const _0x180cfb=['read','2yMKJGD','\x20logs:\x0a','clear','warn','level','1179270sVmZuw','success','396120Pjbomu','1089bFBhPZ','write','*\x20Logs\x20cleared','duration','\x20\x20\x20Duration:\x20','104586zUuqSq','1680zMcQzt','View\x20command\x20history\x20logs','\x20\x20\x20Time:\x20','length','Clear\x20command\x20history\x20logs','272NgFvuY','9WuOcbx','details','22NfMhMc','8323NLmCBM','stringify','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','logs','en-US','log','183576Gzjnsz','1030695GjNYbn'];a28_0x8905=function(){return _0x180cfb;};return a28_0x8905();}export const logsDefinitions=[{'service':a28_0xa57254(0x1d6),'command':'show','description':a28_0xa57254(0x1ca),'risk':a28_0xa57254(0x1db),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2e97b4){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':a28_0xa57254(0x1de),'description':a28_0xa57254(0x1cd),'risk':a28_0xa57254(0x1e5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5c2bb){const _0x435500=a28_0xa57254;return logger['clearLogs'](),console[_0x435500(0x1d8)](_0x435500(0x1e6)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0xf3b114=a29_0x1952;(function(_0x549d43,_0x5a5168){const _0x102de9=a29_0x1952,_0x259e99=_0x549d43();while(!![]){try{const _0xe92e79=parseInt(_0x102de9(0x145))/0x1*(parseInt(_0x102de9(0x13d))/0x2)+-parseInt(_0x102de9(0x144))/0x3+-parseInt(_0x102de9(0x16c))/0x4*(-parseInt(_0x102de9(0x16d))/0x5)+-parseInt(_0x102de9(0x176))/0x6+-parseInt(_0x102de9(0x154))/0x7*(-parseInt(_0x102de9(0x177))/0x8)+parseInt(_0x102de9(0x16b))/0x9+parseInt(_0x102de9(0x143))/0xa;if(_0xe92e79===_0x5a5168)break;else _0x259e99['push'](_0x259e99['shift']());}catch(_0x3d0a29){_0x259e99['push'](_0x259e99['shift']());}}}(a29_0x55ce,0x3d06e));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x1952(_0x517cf,_0x3d8ceb){_0x517cf=_0x517cf-0x139;const _0x55ceee=a29_0x55ce();let _0x195216=_0x55ceee[_0x517cf];return _0x195216;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a29_0x55ce(){const _0x442f14=['Created\x20personal\x20BFF\x20','flag','scriptContent','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','--params\x20must\x20be\x20a\x20JSON\x20object.','appCode','/client/runtime-bff/personal/create','File\x20path\x20is\x20required.','name','File\x20not\x20found:\x20','config','detail','utf8','read','375012ypJkwl','4340bKTIKJ','1745YsyVmH','gmtCreate','source-session-id','version','create','updateTime','createUserId','high-risk-write','Preview:\x20update\x20personal\x20BFF\x20','1450584uXNmjv','562064ZMIsyS','POST','list','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','6vMHwvT','scriptType','gmtModified','body','personal-bff','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1473800cQGwjF','1318098YyzGrH','74289iLUDLs','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','Personal\x20BFF\x20description','num','string','verbose','test','isFile','Updated\x20personal\x20BFF\x20','file','trim','validation','str','Executed\x20personal\x20BFF\x20','14idjqcF','isArray','File\x20is\x20not\x20a\x20regular\x20file:\x20','Personal\x20BFF\x20script\x20ID','description','Personal\x20BFF\x20script\x20file\x20is\x20blank.','functionName','length','/client/runtime-bff/personal/'];a29_0x55ce=function(){return _0x442f14;};return a29_0x55ce();}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_0xf3b114(0x14f),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x160)},FUNCTION_NAME_FLAG={'name':a29_0xf3b114(0x165),'type':a29_0xf3b114(0x14a),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0xf3b114(0x158),'type':a29_0xf3b114(0x14a),'description':a29_0xf3b114(0x148)},SOURCE_SESSION_FLAG={'name':a29_0xf3b114(0x16f),'type':'string','description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x3221de){const _0x3fee70=a29_0xf3b114,_0x500f17=String(_0x3221de||'')['trim']();if(!_0x500f17||!FUNCTION_NAME_PATTERN[_0x3fee70(0x14c)](_0x500f17))throw CliErrors[_0x3fee70(0x151)](_0x3fee70(0x146));return _0x500f17;}function readScriptFile(_0x56b004){const _0x240c0e=a29_0xf3b114;if(!_0x56b004)throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x164));if(!existsSync(_0x56b004))throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x166)+_0x56b004);if(!statSync(_0x56b004)[_0x240c0e(0x14d)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x156)+_0x56b004);const _0x220e46=readFileSync(_0x56b004,_0x240c0e(0x169));if(!_0x220e46[_0x240c0e(0x150)]())throw CliErrors[_0x240c0e(0x151)](_0x240c0e(0x159));return _0x220e46;}function optionalTrimmed(_0x399e9f){const _0x1a0064=a29_0xf3b114,_0x4c38b6=String(_0x399e9f||'')[_0x1a0064(0x150)]();return _0x4c38b6||undefined;}function summarizeBff(_0x45e356){const _0xe0c96d=a29_0xf3b114;return{'id':_0x45e356['id'],'appCode':_0x45e356[_0xe0c96d(0x162)],'functionName':_0x45e356[_0xe0c96d(0x15a)],'description':_0x45e356[_0xe0c96d(0x158)],'scriptType':_0x45e356[_0xe0c96d(0x13e)],'version':_0x45e356['version'],'gmtModified':_0x45e356['gmtModified'],'updateTime':_0x45e356[_0xe0c96d(0x172)]};}function detailBff(_0x4ba6b5){const _0x4a974d=a29_0xf3b114;return{'id':_0x4ba6b5['id'],'appCode':_0x4ba6b5['appCode'],'functionName':_0x4ba6b5[_0x4a974d(0x15a)],'description':_0x4ba6b5[_0x4a974d(0x158)],'scriptType':_0x4ba6b5[_0x4a974d(0x13e)],'scriptContent':_0x4ba6b5[_0x4a974d(0x15f)]??'','config':_0x4ba6b5[_0x4a974d(0x167)],'version':_0x4ba6b5[_0x4a974d(0x170)],'createUserId':_0x4ba6b5[_0x4a974d(0x173)],'gmtCreate':_0x4ba6b5[_0x4a974d(0x16e)],'gmtModified':_0x4ba6b5[_0x4a974d(0x13f)],'createTime':_0x4ba6b5['createTime'],'updateTime':_0x4ba6b5['updateTime']};}function buildCreateInput(_0x37eb4f){const _0x3fbbf9=a29_0xf3b114;return{'functionName':normalizeFunctionName(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x165))),...optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))?{'description':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x158)))}:{},'scriptContent':readScriptFile(_0x37eb4f['str'](_0x3fbbf9(0x14f))),...optionalTrimmed(_0x37eb4f['str'](_0x3fbbf9(0x16f)))?{'sourceSessionId':optionalTrimmed(_0x37eb4f[_0x3fbbf9(0x152)](_0x3fbbf9(0x16f)))}:{}};}function buildUpdateInput(_0x10d6be){const _0x9000f7=a29_0xf3b114,_0x533073={};optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x165)))&&(_0x533073[_0x9000f7(0x15a)]=normalizeFunctionName(_0x10d6be['str'](_0x9000f7(0x165))));_0x10d6be[_0x9000f7(0x15e)](_0x9000f7(0x158))!==undefined&&(_0x533073['description']=_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x158)));optionalTrimmed(_0x10d6be[_0x9000f7(0x152)](_0x9000f7(0x14f)))&&(_0x533073[_0x9000f7(0x15f)]=readScriptFile(_0x10d6be['str'](_0x9000f7(0x14f))));_0x10d6be[_0x9000f7(0x15e)]('source-session-id')!==undefined&&(_0x533073['sourceSessionId']=_0x10d6be['str'](_0x9000f7(0x16f)));if(Object['keys'](_0x533073)[_0x9000f7(0x15b)]===0x0)throw CliErrors[_0x9000f7(0x151)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x533073;}function parseExecParams(_0x1ea630){const _0x35825=a29_0xf3b114,_0x54b6a9=parseJsonParams(_0x1ea630)??{};if(Array[_0x35825(0x155)](_0x54b6a9))throw CliErrors[_0x35825(0x151)](_0x35825(0x161));return _0x54b6a9;}const personalBffList={'service':'personal-bff','command':a29_0xf3b114(0x13a),'description':a29_0xf3b114(0x13c),'risk':a29_0xf3b114(0x16a),'flags':[VERBOSE_FLAG],async 'execute'(_0x4c746c){const _0x5bfcf5=a29_0xf3b114,_0x3ce2bb=await listPersonalBffs(_0x4c746c[_0x5bfcf5(0x162)]);return{'ok':!![],'data':{'total':_0x3ce2bb['length'],'items':_0x4c746c['bool'](_0x5bfcf5(0x14b))?_0x3ce2bb:_0x3ce2bb['map'](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xf3b114(0x168),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a29_0xf3b114(0x16a),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x424b04){const _0xcacf0a=await getPersonalBff(_0x424b04['num']('id'),_0x424b04['appCode']);return{'ok':!![],'data':detailBff(_0xcacf0a)};}},personalBffCreate={'service':a29_0xf3b114(0x141),'command':a29_0xf3b114(0x171),'description':a29_0xf3b114(0x147),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x329764){const _0x1d0324=a29_0xf3b114,_0x567d36=buildCreateInput(_0x329764),_0x222b4d=await createPersonalBff(_0x329764[_0x1d0324(0x162)],_0x567d36);return{'ok':!![],'data':detailBff(_0x222b4d),'message':_0x1d0324(0x15d)+_0x222b4d['id']+(_0x222b4d[_0x1d0324(0x15a)]?'\x20('+_0x222b4d['functionName']+')':'')};},async 'dryRun'(_0x14a3be){const _0x5dac87=a29_0xf3b114,_0x1feb40=buildCreateInput(_0x14a3be);return dryRun(_0x5dac87(0x139),_0x5dac87(0x163))['body']({'appCode':_0x14a3be[_0x5dac87(0x162)],..._0x1feb40})[_0x5dac87(0x158)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x1feb40['functionName'])['build']();}},personalBffUpdate={'service':a29_0xf3b114(0x141),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':'write','flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23f82f){const _0x59380f=a29_0xf3b114,_0x1c440b=_0x23f82f[_0x59380f(0x149)]('id'),_0x23d11c=buildUpdateInput(_0x23f82f),_0x1b4449=await updatePersonalBff(_0x1c440b,_0x23f82f[_0x59380f(0x162)],_0x23d11c);return{'ok':!![],'data':detailBff(_0x1b4449),'message':_0x59380f(0x14e)+_0x1b4449['id']+(_0x1b4449[_0x59380f(0x15a)]?'\x20('+_0x1b4449[_0x59380f(0x15a)]+')':'')};},async 'dryRun'(_0x1cd6ec){const _0x4af141=a29_0xf3b114,_0x1c5fc3=_0x1cd6ec[_0x4af141(0x149)]('id'),_0x220072=buildUpdateInput(_0x1cd6ec);return dryRun(_0x4af141(0x139),_0x4af141(0x15c)+_0x1c5fc3+'/update')[_0x4af141(0x140)]({'appCode':_0x1cd6ec[_0x4af141(0x162)],..._0x220072})[_0x4af141(0x158)](_0x4af141(0x175)+_0x1c5fc3)['build']();}},personalBffExec={'service':a29_0xf3b114(0x141),'command':'exec','description':a29_0xf3b114(0x142),'risk':a29_0xf3b114(0x174),'flags':[{...ID_FLAG,'description':a29_0xf3b114(0x157)},{...PARAMS_FLAG,'description':a29_0xf3b114(0x13b)}],async 'validate'(_0x479eeb){const _0x1e031b=a29_0xf3b114;parseExecParams(_0x479eeb[_0x1e031b(0x152)]('params'));},async 'execute'(_0x29ef5f){const _0x5b7777=a29_0xf3b114,_0x3ebbbb=_0x29ef5f[_0x5b7777(0x149)]('id'),_0x4ef997=parseExecParams(_0x29ef5f[_0x5b7777(0x152)]('params')),_0x35c68c=await executePersonalBff(_0x3ebbbb,_0x29ef5f['appCode'],_0x4ef997);return{'ok':!![],'data':{'result':_0x35c68c},'message':_0x5b7777(0x153)+_0x3ebbbb};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a29_0x1e7bf6=a29_0xd742;(function(_0x276048,_0x51c2d6){const _0x12f590=a29_0xd742,_0x27b7fa=_0x276048();while(!![]){try{const _0x255bba=-parseInt(_0x12f590(0xf1))/0x1+-parseInt(_0x12f590(0xd9))/0x2*(parseInt(_0x12f590(0xd2))/0x3)+parseInt(_0x12f590(0xe4))/0x4+parseInt(_0x12f590(0xd0))/0x5+-parseInt(_0x12f590(0x105))/0x6*(-parseInt(_0x12f590(0xf3))/0x7)+-parseInt(_0x12f590(0x101))/0x8*(-parseInt(_0x12f590(0xea))/0x9)+-parseInt(_0x12f590(0xdb))/0xa;if(_0x255bba===_0x51c2d6)break;else _0x27b7fa['push'](_0x27b7fa['shift']());}catch(_0x5a1bcf){_0x27b7fa['push'](_0x27b7fa['shift']());}}}(a29_0x5466,0x766af));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x1e7bf6(0xfb),'type':'string','description':a29_0x1e7bf6(0xc6)},FUNCTION_NAME_FLAG={'name':a29_0x1e7bf6(0xfa),'type':a29_0x1e7bf6(0x106),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x1e7bf6(0x104),'type':a29_0x1e7bf6(0x106),'description':a29_0x1e7bf6(0xf9)},SOURCE_SESSION_FLAG={'name':a29_0x1e7bf6(0xc8),'type':a29_0x1e7bf6(0x106),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x1cda75){const _0x5d79f2=a29_0x1e7bf6,_0x1e2767=String(_0x1cda75||'')[_0x5d79f2(0xc7)]();if(!_0x1e2767||!FUNCTION_NAME_PATTERN[_0x5d79f2(0xd5)](_0x1e2767))throw CliErrors['validation'](_0x5d79f2(0xfe));return _0x1e2767;}function readScriptFile(_0x102dbb){const _0x11c35d=a29_0x1e7bf6;if(!_0x102dbb)throw CliErrors['validation'](_0x11c35d(0xef));if(!existsSync(_0x102dbb))throw CliErrors[_0x11c35d(0xda)]('File\x20not\x20found:\x20'+_0x102dbb);if(!statSync(_0x102dbb)[_0x11c35d(0xe2)]())throw CliErrors['validation'](_0x11c35d(0xf4)+_0x102dbb);const _0x5edfc2=readFileSync(_0x102dbb,'utf8');if(!_0x5edfc2['trim']())throw CliErrors[_0x11c35d(0xda)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x5edfc2;}function optionalTrimmed(_0x37d286){const _0xe7c7cf=a29_0x1e7bf6,_0x51d54a=String(_0x37d286||'')[_0xe7c7cf(0xc7)]();return _0x51d54a||undefined;}function a29_0xd742(_0x2498f4,_0x38a096){_0x2498f4=_0x2498f4-0xc5;const _0x54660e=a29_0x5466();let _0xd74253=_0x54660e[_0x2498f4];return _0xd74253;}function summarizeBff(_0x587ca0){const _0x541a2e=a29_0x1e7bf6;return{'id':_0x587ca0['id'],'appCode':_0x587ca0['appCode'],'functionName':_0x587ca0[_0x541a2e(0xce)],'description':_0x587ca0['description'],'scriptType':_0x587ca0['scriptType'],'version':_0x587ca0[_0x541a2e(0xe1)],'gmtModified':_0x587ca0['gmtModified'],'updateTime':_0x587ca0[_0x541a2e(0xed)]};}function detailBff(_0x3338e3){const _0x5a3f71=a29_0x1e7bf6;return{'id':_0x3338e3['id'],'appCode':_0x3338e3[_0x5a3f71(0xf5)],'functionName':_0x3338e3[_0x5a3f71(0xce)],'description':_0x3338e3[_0x5a3f71(0x104)],'scriptType':_0x3338e3[_0x5a3f71(0xca)],'scriptContent':_0x3338e3[_0x5a3f71(0xee)]??'','config':_0x3338e3[_0x5a3f71(0xf6)],'version':_0x3338e3['version'],'createUserId':_0x3338e3[_0x5a3f71(0xcb)],'gmtCreate':_0x3338e3[_0x5a3f71(0xd8)],'gmtModified':_0x3338e3[_0x5a3f71(0xcc)],'createTime':_0x3338e3[_0x5a3f71(0xf7)],'updateTime':_0x3338e3[_0x5a3f71(0xed)]};}function buildCreateInput(_0x11ac60){const _0x2af60f=a29_0x1e7bf6;return{'functionName':normalizeFunctionName(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfa))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0x104)))?{'description':optionalTrimmed(_0x11ac60['str']('description'))}:{},'scriptContent':readScriptFile(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfb))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))?{'sourceSessionId':optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))}:{}};}function buildUpdateInput(_0x51b8f7){const _0x441d12=a29_0x1e7bf6,_0x6860f7={};optionalTrimmed(_0x51b8f7['str'](_0x441d12(0xfa)))&&(_0x6860f7[_0x441d12(0xce)]=normalizeFunctionName(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfa))));_0x51b8f7[_0x441d12(0x102)](_0x441d12(0x104))!==undefined&&(_0x6860f7[_0x441d12(0x104)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0x104)));optionalTrimmed(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb)))&&(_0x6860f7[_0x441d12(0xee)]=readScriptFile(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb))));_0x51b8f7['flag'](_0x441d12(0xc8))!==undefined&&(_0x6860f7[_0x441d12(0xec)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xc8)));if(Object[_0x441d12(0xf8)](_0x6860f7)[_0x441d12(0xd7)]===0x0)throw CliErrors['validation'](_0x441d12(0xdd));return _0x6860f7;}function parseExecParams(_0x1ec2b3){const _0x3aa73c=a29_0x1e7bf6,_0x53d1ec=parseJsonParams(_0x1ec2b3)??{};if(Array['isArray'](_0x53d1ec))throw CliErrors[_0x3aa73c(0xda)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x53d1ec;}const personalBffList={'service':a29_0x1e7bf6(0x100),'command':'list','description':a29_0x1e7bf6(0xe7),'risk':a29_0x1e7bf6(0xe0),'flags':[VERBOSE_FLAG],async 'execute'(_0x17f6f6){const _0x3f4f49=a29_0x1e7bf6,_0x54ffaf=await listPersonalBffs(_0x17f6f6[_0x3f4f49(0xf5)]);return{'ok':!![],'data':{'total':_0x54ffaf[_0x3f4f49(0xd7)],'items':_0x17f6f6[_0x3f4f49(0xcf)](_0x3f4f49(0xe6))?_0x54ffaf:_0x54ffaf[_0x3f4f49(0xe8)](summarizeBff)}};}},personalBffDetail={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xcd),'description':a29_0x1e7bf6(0xd1),'risk':a29_0x1e7bf6(0xe0),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x5c1cfe){const _0x229479=a29_0x1e7bf6,_0x167ac7=await getPersonalBff(_0x5c1cfe[_0x229479(0xc5)]('id'),_0x5c1cfe[_0x229479(0xf5)]);return{'ok':!![],'data':detailBff(_0x167ac7)};}},personalBffCreate={'service':a29_0x1e7bf6(0x100),'command':'create','description':a29_0x1e7bf6(0x103),'risk':a29_0x1e7bf6(0xeb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x54eec1){const _0x1525dc=a29_0x1e7bf6,_0x2d6f9e=buildCreateInput(_0x54eec1),_0x12b1e=await createPersonalBff(_0x54eec1[_0x1525dc(0xf5)],_0x2d6f9e);return{'ok':!![],'data':detailBff(_0x12b1e),'message':'Created\x20personal\x20BFF\x20'+_0x12b1e['id']+(_0x12b1e[_0x1525dc(0xce)]?'\x20('+_0x12b1e[_0x1525dc(0xce)]+')':'')};},async 'dryRun'(_0xfd7b2){const _0x7685ad=a29_0x1e7bf6,_0x497bd1=buildCreateInput(_0xfd7b2);return dryRun('POST','/client/runtime-bff/personal/create')['body']({'appCode':_0xfd7b2['appCode'],..._0x497bd1})['description'](_0x7685ad(0xe9)+_0x497bd1[_0x7685ad(0xce)])[_0x7685ad(0xd6)]();}},personalBffUpdate={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xf0),'description':a29_0x1e7bf6(0xdc),'risk':a29_0x1e7bf6(0xeb),'flags':[{...ID_FLAG,'description':a29_0x1e7bf6(0xd4)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3de79d){const _0x49a35e=a29_0x1e7bf6,_0x6ac71=_0x3de79d[_0x49a35e(0xc5)]('id'),_0xac9f6f=buildUpdateInput(_0x3de79d),_0x523b59=await updatePersonalBff(_0x6ac71,_0x3de79d[_0x49a35e(0xf5)],_0xac9f6f);return{'ok':!![],'data':detailBff(_0x523b59),'message':_0x49a35e(0xff)+_0x523b59['id']+(_0x523b59[_0x49a35e(0xce)]?'\x20('+_0x523b59[_0x49a35e(0xce)]+')':'')};},async 'dryRun'(_0x516905){const _0x274054=a29_0x1e7bf6,_0x3c4360=_0x516905[_0x274054(0xc5)]('id'),_0x400ae3=buildUpdateInput(_0x516905);return dryRun(_0x274054(0xd3),_0x274054(0xdf)+_0x3c4360+'/update')['body']({'appCode':_0x516905[_0x274054(0xf5)],..._0x400ae3})['description'](_0x274054(0xe3)+_0x3c4360)['build']();}},personalBffExec={'service':a29_0x1e7bf6(0x100),'command':'exec','description':a29_0x1e7bf6(0xe5),'risk':a29_0x1e7bf6(0xfc),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x1e7bf6(0xc9)}],async 'validate'(_0x452026){const _0x1858b5=a29_0x1e7bf6;parseExecParams(_0x452026[_0x1858b5(0xde)](_0x1858b5(0xfd)));},async 'execute'(_0x1afec1){const _0x6ba0a2=a29_0x1e7bf6,_0x1fd649=_0x1afec1[_0x6ba0a2(0xc5)]('id'),_0x59396a=parseExecParams(_0x1afec1[_0x6ba0a2(0xde)](_0x6ba0a2(0xfd))),_0x5f424=await executePersonalBff(_0x1fd649,_0x1afec1[_0x6ba0a2(0xf5)],_0x59396a);return{'ok':!![],'data':{'result':_0x5f424},'message':_0x6ba0a2(0xf2)+_0x1fd649};}};function a29_0x5466(){const _0x252218=['appCode','config','createTime','keys','Personal\x20BFF\x20description','name','file','high-risk-write','params','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Updated\x20personal\x20BFF\x20','personal-bff','6664gtBkvL','flag','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','description','156666kTlhYY','string','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','trim','source-session-id','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','scriptType','createUserId','gmtModified','detail','functionName','bool','2530895YovHVU','Show\x20one\x20personal\x20BFF\x20by\x20id','9rgWCyw','POST','Personal\x20BFF\x20script\x20ID','test','build','length','gmtCreate','558336fZWSAh','validation','2026710mXHuZA','Update\x20a\x20personal\x20BFF\x20by\x20id','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','str','/client/runtime-bff/personal/','read','version','isFile','Preview:\x20update\x20personal\x20BFF\x20','1068940lyEaYQ','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','map','Preview:\x20create\x20personal\x20BFF\x20','9189gQusBQ','write','sourceSessionId','updateTime','scriptContent','File\x20path\x20is\x20required.','update','751468hOUpOu','Executed\x20personal\x20BFF\x20','175RwJGHv','File\x20is\x20not\x20a\x20regular\x20file:\x20'];a29_0x5466=function(){return _0x252218;};return a29_0x5466();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x574147=a30_0x1470;(function(_0x409616,_0x264a1d){const _0x12b23d=a30_0x1470,_0x2ea631=_0x409616();while(!![]){try{const _0x500621=-parseInt(_0x12b23d(0x102))/0x1+-parseInt(_0x12b23d(0x106))/0x2*(-parseInt(_0x12b23d(0x10b))/0x3)+parseInt(_0x12b23d(0xf5))/0x4*(parseInt(_0x12b23d(0x112))/0x5)+-parseInt(_0x12b23d(0x116))/0x6*(parseInt(_0x12b23d(0x105))/0x7)+parseInt(_0x12b23d(0xf2))/0x8+-parseInt(_0x12b23d(0xfa))/0x9+parseInt(_0x12b23d(0xff))/0xa*(parseInt(_0x12b23d(0x103))/0xb);if(_0x500621===_0x264a1d)break;else _0x2ea631['push'](_0x2ea631['shift']());}catch(_0x299fdd){_0x2ea631['push'](_0x2ea631['shift']());}}}(a30_0x47b1,0x9fd1f));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';function a30_0x47b1(){const _0x59d3b6=['Service\x20Tree','Configuration','Skills','login','service','6395664NiVFTy','read','from','12VvwtcH','BFF\x20Scripts','description','App\x20Management','\x20\x20[high-risk-write]','8050356izzzDP','isSingleCommand','Personal\x20BFF','values','show','10eCrAZh','Knowledge\x20Base','Schema','1218637RIGbkC','13287494gMvvpG','Artifacts','1540bqodvl','2962JpYLhO','Workspace','list','get','\x20\x20[write]','1599RbchzS','API\x20Documentation','command','defaultCommand','write','Instant\x20API','push','1757065DKaXbx','Self\x20Update','install','Authentication','29544ybLqvX'];a30_0x47b1=function(){return _0x59d3b6;};return a30_0x47b1();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';function a30_0x1470(_0x25e444,_0x494957){_0x25e444=_0x25e444-0xf0;const _0x47b14b=a30_0x47b1();let _0x1470f4=_0x47b14b[_0x25e444];return _0x1470f4;}import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x207c45){const _0x189107=a30_0x1470;for(const _0x5f4c72 of _0x207c45){definitions['set'](_0x5f4c72[_0x189107(0xf1)]+':'+_0x5f4c72[_0x189107(0x10d)],_0x5f4c72);let _0x197a19=serviceGroups[_0x189107(0x109)](_0x5f4c72[_0x189107(0xf1)]);!_0x197a19&&(_0x197a19=[],serviceGroups['set'](_0x5f4c72[_0x189107(0xf1)],_0x197a19)),_0x197a19[_0x189107(0x111)](_0x5f4c72);}}function registerService(_0x5beefd,_0x258bff,_0x4e3621){const _0x286469=a30_0x1470;registerDefinitions(_0x258bff);const _0x4e0d50=_0x5da339=>_0x5da339===_0x286469(0xf3)?'':_0x5da339===_0x286469(0x10f)?_0x286469(0x10a):_0x286469(0xf9),_0x10b761={'service':_0x258bff[0x0]['service'],'label':_0x5beefd,'commands':_0x258bff['map'](_0x3b6b03=>({'command':_0x3b6b03[_0x286469(0x10d)],'description':_0x3b6b03[_0x286469(0xf7)],'tag':_0x4e0d50(_0x3b6b03['risk'])})),'defaultCommand':_0x4e3621?.[_0x286469(0x10e)]??(_0x4e3621?.[_0x286469(0xfb)]?_0x258bff[0x0]['command']:undefined),'isSingleCommand':_0x4e3621?.['isSingleCommand']};serviceRegistry[_0x286469(0x111)](_0x10b761),serviceByName['set'](_0x10b761[_0x286469(0xf1)],_0x10b761);}registerService(a30_0x574147(0x115),authDefinitions,{'defaultCommand':a30_0x574147(0xf0)}),registerService(a30_0x574147(0x10c),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x574147(0x110),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0x574147(0xf6),bffDefinitions),registerService(a30_0x574147(0xfc),personalBffDefinitions),registerService(a30_0x574147(0x104),artifactDefinitions),registerService(a30_0x574147(0x100),kbDefinitions),registerService(a30_0x574147(0xf8),appDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x107),workspaceDefinitions),registerService(a30_0x574147(0x118),configDefinitions,{'defaultCommand':a30_0x574147(0x108)}),registerService(a30_0x574147(0x117),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x574147(0x119),skillDefinitions,{'defaultCommand':'install'}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a30_0x574147(0x114)}),registerService(a30_0x574147(0x113),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x574147(0x101),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a30_0x574147(0xfe)});export function findDefinition(_0x412f81,_0x18e0c8){return definitions['get'](_0x412f81+':'+_0x18e0c8);}export function isKnownService(_0x2d41e6){return serviceByName['has'](_0x2d41e6);}export function getServiceEntry(_0x54a709){const _0x33fe0d=a30_0x574147;return serviceByName[_0x33fe0d(0x109)](_0x54a709);}export function getAllDefinitions(){const _0x3a5f06=a30_0x574147;return Array[_0x3a5f06(0xf4)](definitions[_0x3a5f06(0xfd)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x396ffb=a31_0x24be;(function(_0xd22157,_0x49e4a2){const _0x590c16=a31_0x24be,_0x498887=_0xd22157();while(!![]){try{const _0x4e82c6=-parseInt(_0x590c16(0x1cb))/0x1*(parseInt(_0x590c16(0x1c7))/0x2)+-parseInt(_0x590c16(0x1c6))/0x3+parseInt(_0x590c16(0x1c5))/0x4+-parseInt(_0x590c16(0x1bf))/0x5+parseInt(_0x590c16(0x1ca))/0x6*(-parseInt(_0x590c16(0x1c9))/0x7)+-parseInt(_0x590c16(0x1c0))/0x8+parseInt(_0x590c16(0x1c1))/0x9;if(_0x4e82c6===_0x49e4a2)break;else _0x498887['push'](_0x498887['shift']());}catch(_0x4510d4){_0x498887['push'](_0x498887['shift']());}}}(a31_0x3c98,0xa4268));import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x3c98(){const _0x1b0ec6=['5644037tjjpoo','6lOUKtY','419yDXcwZ','236865hsVvyR','8881184YUmvTk','23108256WQXjdW','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','read','2407676vUkbKS','902358raUROP','1110zLqIsT','schema'];a31_0x3c98=function(){return _0x1b0ec6;};return a31_0x3c98();}function a31_0x24be(_0xbc4575,_0x15ede1){_0xbc4575=_0xbc4575-0x1bf;const _0x3c9859=a31_0x3c98();let _0x24be89=_0x3c9859[_0xbc4575];return _0x24be89;}async function execute(_0x5043b1){const _0x181b9c=await buildSchemaPayload();return{'ok':!![],'data':_0x181b9c};}export const schemaDefinition={'service':a31_0x396ffb(0x1c8),'command':a31_0x396ffb(0x1c2),'description':a31_0x396ffb(0x1c3),'risk':a31_0x396ffb(0x1c4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3c26f3,_0x30db5c){const _0x5e2560=a32_0x4279,_0xb26ab4=_0x3c26f3();while(!![]){try{const _0xe97426=-parseInt(_0x5e2560(0x11a))/0x1*(-parseInt(_0x5e2560(0x111))/0x2)+-parseInt(_0x5e2560(0x138))/0x3+-parseInt(_0x5e2560(0x114))/0x4+-parseInt(_0x5e2560(0x157))/0x5+parseInt(_0x5e2560(0x102))/0x6+parseInt(_0x5e2560(0x133))/0x7*(parseInt(_0x5e2560(0x156))/0x8)+-parseInt(_0x5e2560(0x108))/0x9*(-parseInt(_0x5e2560(0x118))/0xa);if(_0xe97426===_0x30db5c)break;else _0xb26ab4['push'](_0xb26ab4['shift']());}catch(_0x511f36){_0xb26ab4['push'](_0xb26ab4['shift']());}}}(a32_0x11eb,0xe3519));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(_0x70644f,_0x406deb){const _0x5c061f=a32_0x4279,_0x4463b2=listLocalServiceTrees();let _0x3d2171;for(const _0x1814f5 of _0x4463b2){const _0x4b6253=matchServiceTreeCommand(_0x1814f5,_0x70644f);if(!_0x4b6253)continue;(!_0x3d2171||_0x4b6253[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)]>_0x3d2171[_0x5c061f(0x12e)][_0x5c061f(0x11b)][_0x5c061f(0x14f)])&&(_0x3d2171={'tree':_0x1814f5,'command':_0x4b6253[_0x5c061f(0x12e)],'remainingArgs':_0x4b6253[_0x5c061f(0x142)]});}if(!_0x3d2171)return undefined;const _0xf16037={..._0x406deb};return applyAppBinding(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171['command'],_0xf16037),{'definition':buildDynamicCommandDefinition(_0x3d2171[_0x5c061f(0x15a)],_0x3d2171[_0x5c061f(0x12e)]),'args':_0x3d2171[_0x5c061f(0x142)],'flags':_0xf16037,'tree':_0x3d2171[_0x5c061f(0x15a)],'command':_0x3d2171[_0x5c061f(0x12e)]};}export function generateDynamicServiceHelp(_0x506495){const _0x308c4c=a32_0x4279,_0x2bfb97=listLocalServiceTrees()['find'](_0x4e76c3=>_0x4e76c3['service']['code']===_0x506495);if(!_0x2bfb97)return undefined;const _0x1fa1c3=[CLI_BIN_NAME+'\x20'+_0x506495+_0x308c4c(0x129),'',_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x163)]||_0x506495,_0x2bfb97[_0x308c4c(0xf8)]['description']?'\x20\x20'+_0x2bfb97[_0x308c4c(0xf8)][_0x308c4c(0x112)]:'','',_0x308c4c(0x13e),..._0x2bfb97[_0x308c4c(0x149)][_0x308c4c(0x124)](_0x2b3ad1=>{const _0x1a2925=_0x308c4c,_0x5d086e=_0x2b3ad1['fullPath']['slice'](0x1)[_0x1a2925(0x119)]('\x20'),_0xe6ff7=_0x2b3ad1[_0x1a2925(0x140)]===_0x1a2925(0x106)?'':'\x20['+_0x2b3ad1[_0x1a2925(0x140)]+']';return'\x20\x20'+_0x5d086e[_0x1a2925(0x115)](0x18)+'\x20'+(_0x2b3ad1[_0x1a2925(0x112)]||'')+_0xe6ff7;}),'','Use\x20`'+CLI_BIN_NAME+_0x308c4c(0x14a)+_0x506495+_0x308c4c(0x146)]['filter'](Boolean);return _0x1fa1c3['join']('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1d4e89=>{const _0x43315d=a32_0x4279,_0xc012ea=_0x1d4e89[_0x43315d(0x122)];return{'service':_0xc012ea['service'][_0x43315d(0x103)],'label':_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x163)]||_0xc012ea[_0x43315d(0xf8)][_0x43315d(0x103)],'commands':_0xc012ea['commands']['map'](_0x40f98b=>({'command':dynamicCommandName(_0x40f98b),'description':_0x40f98b['description']||_0x43315d(0x11d)+_0x40f98b[_0x43315d(0x14d)],'tag':riskTag(_0x40f98b[_0x43315d(0x140)])}))};});}export function getDynamicServiceEntry(_0x203d8f){const _0x1ccf59=a32_0x4279;return listDynamicServiceEntries()[_0x1ccf59(0x145)](_0x22a3df=>_0x22a3df[_0x1ccf59(0xf8)]===_0x203d8f);}export function listDynamicServiceDefinitions(_0x1f8114){const _0x31faea=a32_0x4279;return listLocalServiceTrees()[_0x31faea(0x107)](_0x10e37b=>!_0x1f8114||_0x10e37b[_0x31faea(0xf8)][_0x31faea(0x103)]===_0x1f8114)[_0x31faea(0x12b)](_0x1b84cd=>_0x1b84cd[_0x31faea(0x149)]['map'](_0xc53c89=>buildDynamicCommandDefinition(_0x1b84cd,_0xc53c89)));}export function getDynamicServiceDefinitions(_0x209ee1){const _0x15617f=listDynamicServiceDefinitions(_0x209ee1);return _0x15617f['length']>0x0?_0x15617f:undefined;}export function findDynamicServiceDefinition(_0x2e044b,_0xf0eab3){const _0x555546=a32_0x4279;return listDynamicServiceDefinitions(_0x2e044b)[_0x555546(0x145)](_0x3fc1d2=>_0x3fc1d2['command']===_0xf0eab3);}export function buildDynamicCommandDefinition(_0x371d38,_0x5090a0){const _0x2f6910=a32_0x4279;return{'service':_0x371d38[_0x2f6910(0xf8)][_0x2f6910(0x103)],'command':dynamicCommandName(_0x5090a0),'description':_0x5090a0[_0x2f6910(0x112)]||_0x2f6910(0x11d)+_0x5090a0[_0x2f6910(0x14d)],'risk':_0x5090a0[_0x2f6910(0x140)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5090a0[_0x2f6910(0x12d)][_0x2f6910(0x124)](_0xaa409a=>({'name':_0xaa409a[_0x2f6910(0x163)],'description':_0xaa409a[_0x2f6910(0x112)]||_0xaa409a[_0x2f6910(0x163)],'required':_0xaa409a['required']})),'flags':_0x5090a0[_0x2f6910(0x105)][_0x2f6910(0x124)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5090a0),async 'dryRun'(_0x537dbe){const _0x48860e=_0x2f6910,_0x51c7f1=await compilePlan(_0x5090a0,_0x537dbe);return{'method':_0x48860e(0x10b),'url':_0x5090a0[_0x48860e(0x14d)],'body':{'target':targetPreview(_0x51c7f1),'params':_0x51c7f1[_0x48860e(0x15f)]},'description':_0x48860e(0x137)+_0x5090a0[_0x48860e(0x14d)]};},async 'execute'(_0x901899){const _0x5689dd=_0x2f6910,_0x1fac36=await compilePlan(_0x5090a0,_0x901899),_0x260079=Date[_0x5689dd(0xfe)](),_0x557e18=await executePlan(_0x1fac36,_0x5090a0,_0x901899),_0x3d995d=Date['now']()-_0x260079;return{'ok':!![],'data':{'service':_0x371d38[_0x5689dd(0xf8)],'command':_0x5090a0['cliPath'],'target':targetPreview(_0x1fac36),'result':_0x557e18,'elapsed':_0x3d995d},'message':_0x5689dd(0x162)+_0x5090a0[_0x5689dd(0x14d)]+_0x5689dd(0x117)+_0x3d995d+'ms'};}};}function dynamicCommandName(_0x2e8d86){const _0x1c2c3b=a32_0x4279;return _0x2e8d86['fullPath'][_0x1c2c3b(0x13f)](0x1)[_0x1c2c3b(0x119)]('\x20');}function riskTag(_0x17c1d5){const _0x247fc0=a32_0x4279;return _0x17c1d5===_0x247fc0(0x106)?'':'\x20\x20['+_0x17c1d5+']';}function flagToCommandFlag(_0x5095b3){const _0x456c93=a32_0x4279;return{'name':_0x5095b3[_0x456c93(0x123)],'type':_0x5095b3[_0x456c93(0x135)]===_0x456c93(0x13c)?_0x456c93(0x153):_0x5095b3[_0x456c93(0x135)],'description':_0x5095b3[_0x456c93(0x112)]||_0x5095b3[_0x456c93(0x163)],'required':_0x5095b3[_0x456c93(0x15e)],'default':isPrimitiveFlagDefault(_0x5095b3[_0x456c93(0x159)])?_0x5095b3[_0x456c93(0x159)]:undefined,'enum':_0x5095b3[_0x456c93(0x109)]};}async function compilePlan(_0x56afa7,_0x3c6272){const _0x473e66=a32_0x4279;return compileServiceTreeCommand(_0x56afa7,{'flags':_0x3c6272[_0x473e66(0x152)],'args':_0x3c6272[_0x473e66(0x12d)],'context':await buildServiceContext(_0x56afa7,_0x3c6272)});}async function buildServiceContext(_0x3938a9,_0x271901){const _0x2b24e8=a32_0x4279,_0x1341a7={'appCode':_0x271901[_0x2b24e8(0x113)],'env':_0x271901['envName'],'envName':_0x271901[_0x2b24e8(0xf7)]};if(!usesRuntimeContext(_0x3938a9))return _0x1341a7;const _0x355011=await getLoginUserInfo(),_0x26f11a=pickFirst(_0x355011[_0x2b24e8(0x10d)],_0x355011['id']);return{..._0x1341a7,'user':_0x355011,'userId':_0x26f11a,'id':_0x355011['id'],'username':pickFirst(_0x355011[_0x2b24e8(0xfa)],_0x355011['userName'],_0x355011[_0x2b24e8(0x143)]),'userName':_0x355011[_0x2b24e8(0x127)],'nickname':pickFirst(_0x355011[_0x2b24e8(0x11f)],_0x355011[_0x2b24e8(0x15c)]),'nickName':_0x355011[_0x2b24e8(0x15c)],'tenantCode':_0x355011['tenantCode'],'employeeId':_0x355011[_0x2b24e8(0x116)]};}function a32_0x4279(_0x106413,_0x598f99){_0x106413=_0x106413-0xf7;const _0x11ebe1=a32_0x11eb();let _0x427920=_0x11ebe1[_0x106413];return _0x427920;}function usesRuntimeContext(_0x15df17){const _0x174781=a32_0x4279;return _0x15df17['mapTo'][_0x174781(0x121)](_0x492849=>typeof _0x492849[_0x174781(0x101)]===_0x174781(0x153)&&(_0x492849[_0x174781(0x101)]['startsWith']('context.')||_0x492849[_0x174781(0x101)][_0x174781(0x147)](_0x174781(0x10f))));}function pickFirst(..._0x2fa947){const _0x4b6a6d=a32_0x4279;return _0x2fa947[_0x4b6a6d(0x145)](_0xe8c7c=>_0xe8c7c!==undefined&&_0xe8c7c!==null);}async function executePlan(_0x5f3a80,_0x2bcf7f,_0x62b772){const _0x340b13=a32_0x4279;if(_0x5f3a80['kind']===_0x340b13(0x15b)){const _0x51ad72=await resolveDatasetCode(_0x5f3a80,_0x2bcf7f,_0x62b772);return executeData(_0x51ad72,_0x5f3a80[_0x340b13(0x12e)],_0x5f3a80['params']);}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x160)){if(!_0x5f3a80[_0x340b13(0x155)])throw CliErrors[_0x340b13(0x100)](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+_0x340b13(0xfd));return executeSdkSql(_0x5f3a80[_0x340b13(0x155)],normalizeScalarParams(_0x5f3a80[_0x340b13(0x15f)]));}if(_0x5f3a80[_0x340b13(0x131)]===_0x340b13(0x14b)){const _0xba5f6d=_0x5f3a80[_0x340b13(0x12f)]||_0x5f3a80[_0x340b13(0x104)]||(_0x5f3a80[_0x340b13(0x13b)]==null?'':String(_0x5f3a80[_0x340b13(0x13b)]));if(!_0xba5f6d)throw CliErrors['validation'](_0x340b13(0x162)+_0x2bcf7f[_0x340b13(0x14d)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0xba5f6d,_0x5f3a80[_0x340b13(0x15f)]);}throw CliErrors[_0x340b13(0x100)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x5f3a80[_0x340b13(0x131)]);}async function resolveDatasetCode(_0x370641,_0x3eb987,_0x470b7a){const _0x1e0a46=a32_0x4279;if(_0x370641[_0x1e0a46(0x13d)])return _0x370641[_0x1e0a46(0x13d)];if(!_0x370641['datatable'])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x162)+_0x3eb987['cliPath']+_0x1e0a46(0xf9));const _0x2095e8=await listDatasets(_0x470b7a[_0x1e0a46(0x113)]),_0x22fe62=_0x2095e8[_0x1e0a46(0x145)](_0xdfff5d=>_0xdfff5d[_0x1e0a46(0x10e)]?.[_0x1e0a46(0xff)]===_0x370641[_0x1e0a46(0x141)]);if(!_0x22fe62?.[_0x1e0a46(0x103)])throw CliErrors[_0x1e0a46(0x100)](_0x1e0a46(0x14c)+_0x370641[_0x1e0a46(0x141)]+_0x1e0a46(0x161)+_0x470b7a['appCode']+'.',_0x1e0a46(0x110));return _0x22fe62[_0x1e0a46(0x103)];}function applyAppBinding(_0xf76b3f,_0x131c02,_0x4cdde9){const _0x17c7d9=a32_0x4279,_0x409d0b=_0x131c02['target'][_0x17c7d9(0x10c)];if(!_0x409d0b)return;const _0x29441d=_0xf76b3f['appBindings'][_0x409d0b];if(!_0x29441d)throw CliErrors[_0x17c7d9(0x100)](_0x17c7d9(0x15d)+_0x409d0b+_0x17c7d9(0x13a)+_0x131c02[_0x17c7d9(0x14d)]+'.',_0x17c7d9(0x130));const _0x10399b=_0x29441d[_0x17c7d9(0x132)]||_0x29441d[_0x17c7d9(0x113)];_0x10399b&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x132)]=_0x10399b),_0x29441d['app']&&!hasText(_0x4cdde9[_0x17c7d9(0x120)])&&!hasText(_0x4cdde9[_0x17c7d9(0x132)])&&(_0x4cdde9[_0x17c7d9(0x120)]=_0x29441d[_0x17c7d9(0x120)]),_0x29441d[_0x17c7d9(0x11e)]&&!hasText(_0x4cdde9['env'])&&(_0x4cdde9[_0x17c7d9(0x11e)]=_0x29441d[_0x17c7d9(0x11e)]);}function renderDynamicCommandHelp(_0x404194){const _0x57ae4f=a32_0x4279,_0x2df7b7=[_0x57ae4f(0x11c),_0x57ae4f(0x139)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x131)],_0x57ae4f(0x154)+_0x404194['target'][_0x57ae4f(0x12e)]];if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x13d)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x150)+_0x404194[_0x57ae4f(0x12a)]['datasetCode']);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)])_0x2df7b7['push']('\x20\x20\x20\x20datatable:\x20'+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x141)]);if(_0x404194['target'][_0x57ae4f(0x155)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x10a)+_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x155)]);if(_0x404194[_0x57ae4f(0x12a)][_0x57ae4f(0x12f)])_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x158)+_0x404194['target']['scriptName']);if(_0x404194[_0x57ae4f(0x12c)][_0x57ae4f(0x14f)]>0x0){_0x2df7b7[_0x57ae4f(0x128)]('',_0x57ae4f(0x144));for(const _0x527511 of _0x404194[_0x57ae4f(0x12c)]){_0x2df7b7[_0x57ae4f(0x128)](_0x57ae4f(0x125)+(_0x527511[_0x57ae4f(0x101)]||_0x57ae4f(0x136))+_0x57ae4f(0x126)+_0x527511[_0x57ae4f(0x12a)]+(_0x527511[_0x57ae4f(0x14e)]?'.'+_0x527511[_0x57ae4f(0x14e)]:''));}}return _0x2df7b7[_0x57ae4f(0x119)]('\x0a');}function a32_0x11eb(){const _0x2b0170=['service','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','username','fromEntries','boolean','\x20requires\x20target.sqlCode.','now','tableName','validation','source','8517210ApxSCh','code','bffCode','flags','read','filter','13811373ZwvUuR','enum','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','appRef','userId','dbtableConfig','ctx.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','2ZNAaaP','description','appCode','5288496lfOyII','padEnd','employeeId','\x20completed\x20in\x20','10muffEM','join','1405181usZFQP','fullPath','\x20\x20SERVICE\x20TREE\x20TARGET','Run\x20service\x20command\x20','env','nickname','app','some','normalizedManifest','cliName','map','\x20\x20\x20\x20','\x20->\x20','userName','push','\x20<command>\x20[flags]','target','flatMap','mapTo','args','command','scriptName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','kind','appcode','959wFpQGx','entries','type','const','Preview\x20dynamic\x20service\x20command:\x20','2165682TESGZq','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x22\x20in\x20service\x20command\x20','bffId','json','datasetCode','Commands:','slice','risk','datatable','remainingArgs','loginName','\x20\x20MAP\x20TO','find','`\x20to\x20inspect\x20the\x20manifest.','startsWith','trim','commands','\x20service\x20detail\x20--service\x20','bff','Cannot\x20resolve\x20datatable\x20\x22','cliPath','operator','length','\x20\x20\x20\x20datasetCode:\x20','number','rawFlags','string','\x20\x20\x20\x20command:\x20','sqlCode','5672tIXhNV','7406655XYBccH','\x20\x20\x20\x20scriptName:\x20','default','tree','data','nickName','Unknown\x20appRef\x20\x22','required','params','sql','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','Service\x20command\x20','name','envName'];a32_0x11eb=function(){return _0x2b0170;};return a32_0x11eb();}function targetPreview(_0x4ad0b1){const _0x330b94=a32_0x4279;return{'kind':_0x4ad0b1[_0x330b94(0x131)],'command':_0x4ad0b1[_0x330b94(0x12e)],'appRef':_0x4ad0b1['appRef'],'datasetCode':_0x4ad0b1[_0x330b94(0x13d)],'datatable':_0x4ad0b1[_0x330b94(0x141)],'sqlCode':_0x4ad0b1[_0x330b94(0x155)],'bffCode':_0x4ad0b1['bffCode'],'bffId':_0x4ad0b1[_0x330b94(0x13b)],'scriptName':_0x4ad0b1[_0x330b94(0x12f)]};}function normalizeScalarParams(_0x529ade){const _0x216f78=a32_0x4279;return Object[_0x216f78(0xfb)](Object[_0x216f78(0x134)](_0x529ade)['filter'](([,_0x565f50])=>typeof _0x565f50===_0x216f78(0x153)||typeof _0x565f50===_0x216f78(0x151)));}function hasText(_0x906df2){const _0x33877a=a32_0x4279;return typeof _0x906df2==='string'&&_0x906df2[_0x33877a(0x148)]()['length']>0x0;}function isPrimitiveFlagDefault(_0xfd86ff){const _0x3fd81f=a32_0x4279;return _0xfd86ff===undefined||typeof _0xfd86ff===_0x3fd81f(0x153)||typeof _0xfd86ff===_0x3fd81f(0x151)||typeof _0xfd86ff===_0x3fd81f(0xfc);}
|
|
1
|
+
(function(_0x4d1dde,_0x576131){const _0x17bd78=a32_0x19a7,_0x50a9a0=_0x4d1dde();while(!![]){try{const _0x35f0e6=parseInt(_0x17bd78(0x19f))/0x1+parseInt(_0x17bd78(0x1f0))/0x2*(-parseInt(_0x17bd78(0x1a7))/0x3)+parseInt(_0x17bd78(0x1c8))/0x4*(-parseInt(_0x17bd78(0x1d9))/0x5)+parseInt(_0x17bd78(0x1a8))/0x6+parseInt(_0x17bd78(0x1a9))/0x7*(-parseInt(_0x17bd78(0x1ed))/0x8)+-parseInt(_0x17bd78(0x1e3))/0x9+parseInt(_0x17bd78(0x1a0))/0xa;if(_0x35f0e6===_0x576131)break;else _0x50a9a0['push'](_0x50a9a0['shift']());}catch(_0x513039){_0x50a9a0['push'](_0x50a9a0['shift']());}}}(a32_0xd77a,0x7b47c));function a32_0x19a7(_0x2284fe,_0x568835){_0x2284fe=_0x2284fe-0x196;const _0xd77ad3=a32_0xd77a();let _0x19a7e7=_0xd77ad3[_0x2284fe];return _0x19a7e7;}import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f999e,_0x29befc){const _0x64674c=a32_0x19a7,_0x152b2d=listLocalServiceTrees();let _0x41dabc;for(const _0x38a130 of _0x152b2d){const _0x478ca7=matchServiceTreeCommand(_0x38a130,_0x4f999e);if(!_0x478ca7)continue;(!_0x41dabc||_0x478ca7[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)]>_0x41dabc[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)])&&(_0x41dabc={'tree':_0x38a130,'command':_0x478ca7[_0x64674c(0x1db)],'remainingArgs':_0x478ca7[_0x64674c(0x1da)]});}if(!_0x41dabc)return undefined;const _0x7eb3ad={..._0x29befc};return applyAppBinding(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc['command'],_0x7eb3ad),{'definition':buildDynamicCommandDefinition(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc[_0x64674c(0x1db)]),'args':_0x41dabc[_0x64674c(0x1da)],'flags':_0x7eb3ad,'tree':_0x41dabc[_0x64674c(0x1c0)],'command':_0x41dabc['command']};}export function generateDynamicServiceHelp(_0x26a88e){const _0x32eb88=a32_0x19a7,_0x49c7d1=listLocalServiceTrees()['find'](_0x3989c7=>_0x3989c7['service']['code']===_0x26a88e);if(!_0x49c7d1)return undefined;const _0x56d227=[CLI_BIN_NAME+'\x20'+_0x26a88e+'\x20<command>\x20[flags]','',_0x49c7d1[_0x32eb88(0x1eb)][_0x32eb88(0x196)]||_0x26a88e,_0x49c7d1['service'][_0x32eb88(0x1c3)]?'\x20\x20'+_0x49c7d1[_0x32eb88(0x1eb)]['description']:'','',_0x32eb88(0x1f5),..._0x49c7d1[_0x32eb88(0x1ae)]['map'](_0x2c5eee=>{const _0x4274b5=_0x32eb88,_0x2eb4d5=_0x2c5eee[_0x4274b5(0x1df)][_0x4274b5(0x1de)](0x1)[_0x4274b5(0x1ee)]('\x20'),_0x54dd9c=_0x2c5eee[_0x4274b5(0x1cc)]==='read'?'':'\x20['+_0x2c5eee[_0x4274b5(0x1cc)]+']';return'\x20\x20'+_0x2eb4d5[_0x4274b5(0x1b9)](0x18)+'\x20'+(_0x2c5eee[_0x4274b5(0x1c3)]||'')+_0x54dd9c;}),'',_0x32eb88(0x1e4)+CLI_BIN_NAME+_0x32eb88(0x1dc)+_0x26a88e+_0x32eb88(0x1a3)][_0x32eb88(0x198)](Boolean);return _0x56d227[_0x32eb88(0x1ee)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x4337e5=>{const _0x3bd040=a32_0x19a7,_0x165e07=_0x4337e5[_0x3bd040(0x1a6)];return{'service':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'label':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x196)]||_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'commands':_0x165e07[_0x3bd040(0x1ae)][_0x3bd040(0x1b4)](_0x2b1fd0=>({'command':dynamicCommandName(_0x2b1fd0),'description':_0x2b1fd0[_0x3bd040(0x1c3)]||_0x3bd040(0x1c7)+_0x2b1fd0[_0x3bd040(0x19a)],'tag':riskTag(_0x2b1fd0[_0x3bd040(0x1cc)])}))};});}export function getDynamicServiceEntry(_0x28d023){const _0x3bcc42=a32_0x19a7;return listDynamicServiceEntries()[_0x3bcc42(0x1bc)](_0x11c90d=>_0x11c90d[_0x3bcc42(0x1eb)]===_0x28d023);}export function listDynamicServiceDefinitions(_0x57fae5){const _0x1b6f42=a32_0x19a7;return listLocalServiceTrees()[_0x1b6f42(0x198)](_0x21efa1=>!_0x57fae5||_0x21efa1['service'][_0x1b6f42(0x1b7)]===_0x57fae5)[_0x1b6f42(0x1d7)](_0x1fdb1a=>_0x1fdb1a[_0x1b6f42(0x1ae)][_0x1b6f42(0x1b4)](_0x4870b6=>buildDynamicCommandDefinition(_0x1fdb1a,_0x4870b6)));}function a32_0xd77a(){const _0x37400c=['datatable','loginName','risk','ctx.','\x20\x20\x20\x20command:\x20','json','source','appRef','Service\x20command\x20','params','boolean','\x20requires\x20target.scriptName.','entries','flatMap','\x20\x20\x20\x20datatable:\x20','310195ivkZKp','remainingArgs','command','\x20service\x20detail\x20--service\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','slice','fullPath','string','bff','app','6308163SEnlht','Use\x20`','default','mapTo','sql','nickname','env','scriptName','service','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','23096ytvDQk','join','tableName','1282oQtrhm','some','startsWith','username','rawFlags','Commands:','Cannot\x20resolve\x20datatable\x20\x22','name','required','filter','args','cliPath','target','bffId','envName','appCode','24573AmUJFw','18983550WipHXh','sqlCode','Unknown\x20appRef\x20\x22','`\x20to\x20inspect\x20the\x20manifest.','kind','now','normalizedManifest','363LbFSLQ','3756972muIJwu','1715IznsTH','bffCode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','length','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','commands','userId','\x20->\x20','operator','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20datasetCode:\x20','map','push','appcode','code','\x20\x20[','padEnd','userName','enum','find','appBindings','employeeId','Unsupported\x20service\x20target\x20kind:\x20','tree','type','tenantCode','description','validation','datasetCode','SERVICE_TREE','Run\x20service\x20command\x20','36ZsqmRX','number'];a32_0xd77a=function(){return _0x37400c;};return a32_0xd77a();}export function getDynamicServiceDefinitions(_0x38f070){const _0x248366=a32_0x19a7,_0x4a8e25=listDynamicServiceDefinitions(_0x38f070);return _0x4a8e25[_0x248366(0x1ac)]>0x0?_0x4a8e25:undefined;}export function findDynamicServiceDefinition(_0x23254d,_0x47da91){const _0x5b7705=a32_0x19a7;return listDynamicServiceDefinitions(_0x23254d)[_0x5b7705(0x1bc)](_0x9c4970=>_0x9c4970['command']===_0x47da91);}export function buildDynamicCommandDefinition(_0x43564f,_0x1a04e6){const _0x18aeae=a32_0x19a7;return{'service':_0x43564f[_0x18aeae(0x1eb)]['code'],'command':dynamicCommandName(_0x1a04e6),'description':_0x1a04e6[_0x18aeae(0x1c3)]||_0x18aeae(0x1c7)+_0x1a04e6[_0x18aeae(0x19a)],'risk':_0x1a04e6[_0x18aeae(0x1cc)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1a04e6[_0x18aeae(0x199)][_0x18aeae(0x1b4)](_0x20b4bd=>({'name':_0x20b4bd[_0x18aeae(0x196)],'description':_0x20b4bd[_0x18aeae(0x1c3)]||_0x20b4bd['name'],'required':_0x20b4bd[_0x18aeae(0x197)]})),'flags':_0x1a04e6['flags']['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1a04e6),async 'dryRun'(_0x3686c3){const _0x4d0d7b=_0x18aeae,_0x5eecde=await compilePlan(_0x1a04e6,_0x3686c3);return{'method':_0x4d0d7b(0x1c6),'url':_0x1a04e6[_0x4d0d7b(0x19a)],'body':{'target':targetPreview(_0x5eecde),'params':_0x5eecde[_0x4d0d7b(0x1d3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x1a04e6[_0x4d0d7b(0x19a)]};},async 'execute'(_0x59b285){const _0x52bdeb=_0x18aeae,_0xa8d669=await compilePlan(_0x1a04e6,_0x59b285),_0x3918ba=Date[_0x52bdeb(0x1a5)](),_0x40d123=await executePlan(_0xa8d669,_0x1a04e6,_0x59b285),_0x531545=Date[_0x52bdeb(0x1a5)]()-_0x3918ba;return{'ok':!![],'data':{'service':_0x43564f[_0x52bdeb(0x1eb)],'command':_0x1a04e6[_0x52bdeb(0x19a)],'target':targetPreview(_0xa8d669),'result':_0x40d123,'elapsed':_0x531545},'message':_0x52bdeb(0x1d2)+_0x1a04e6['cliPath']+'\x20completed\x20in\x20'+_0x531545+'ms'};}};}function dynamicCommandName(_0x21a9a9){const _0x3d1276=a32_0x19a7;return _0x21a9a9[_0x3d1276(0x1df)][_0x3d1276(0x1de)](0x1)['join']('\x20');}function riskTag(_0x3bcc06){const _0x29fd10=a32_0x19a7;return _0x3bcc06==='read'?'':_0x29fd10(0x1b8)+_0x3bcc06+']';}function flagToCommandFlag(_0xe0d264){const _0x182e1a=a32_0x19a7;return{'name':_0xe0d264['cliName'],'type':_0xe0d264[_0x182e1a(0x1c1)]===_0x182e1a(0x1cf)?'string':_0xe0d264['type'],'description':_0xe0d264[_0x182e1a(0x1c3)]||_0xe0d264['name'],'required':_0xe0d264[_0x182e1a(0x197)],'default':isPrimitiveFlagDefault(_0xe0d264[_0x182e1a(0x1e5)])?_0xe0d264[_0x182e1a(0x1e5)]:undefined,'enum':_0xe0d264[_0x182e1a(0x1bb)]};}async function compilePlan(_0x38ce09,_0x5522f3){const _0x27c791=a32_0x19a7;return compileServiceTreeCommand(_0x38ce09,{'flags':_0x5522f3[_0x27c791(0x1f4)],'args':_0x5522f3[_0x27c791(0x199)],'context':await buildServiceContext(_0x38ce09,_0x5522f3)});}async function buildServiceContext(_0x4e9664,_0x3ad403){const _0x5daf27=a32_0x19a7,_0x4d19df={'appCode':_0x3ad403['appCode'],'env':_0x3ad403[_0x5daf27(0x19d)],'envName':_0x3ad403[_0x5daf27(0x19d)]};if(!usesRuntimeContext(_0x4e9664))return _0x4d19df;const _0x4707a9=await getLoginUserInfo(),_0x4c3b8e=pickFirst(_0x4707a9[_0x5daf27(0x1af)],_0x4707a9['id']);return{..._0x4d19df,'user':_0x4707a9,'userId':_0x4c3b8e,'id':_0x4707a9['id'],'username':pickFirst(_0x4707a9[_0x5daf27(0x1f3)],_0x4707a9['userName'],_0x4707a9[_0x5daf27(0x1cb)]),'userName':_0x4707a9[_0x5daf27(0x1ba)],'nickname':pickFirst(_0x4707a9[_0x5daf27(0x1e8)],_0x4707a9['nickName']),'nickName':_0x4707a9['nickName'],'tenantCode':_0x4707a9[_0x5daf27(0x1c2)],'employeeId':_0x4707a9[_0x5daf27(0x1be)]};}function usesRuntimeContext(_0x295943){const _0x15fda8=a32_0x19a7;return _0x295943[_0x15fda8(0x1e6)][_0x15fda8(0x1f1)](_0x224562=>typeof _0x224562['source']===_0x15fda8(0x1e0)&&(_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)]('context.')||_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)](_0x15fda8(0x1cd))));}function pickFirst(..._0x5250cf){const _0x323edf=a32_0x19a7;return _0x5250cf[_0x323edf(0x1bc)](_0x31fa19=>_0x31fa19!==undefined&&_0x31fa19!==null);}async function executePlan(_0x506025,_0x18d66d,_0x38ff01){const _0x3d0cf4=a32_0x19a7;if(_0x506025[_0x3d0cf4(0x1a4)]==='data'){const _0x108c86=await resolveDatasetCode(_0x506025,_0x18d66d,_0x38ff01);return executeData(_0x108c86,_0x506025['command'],_0x506025[_0x3d0cf4(0x1d3)]);}if(_0x506025['kind']===_0x3d0cf4(0x1e7)){if(!_0x506025[_0x3d0cf4(0x1a1)])throw CliErrors[_0x3d0cf4(0x1c4)]('Service\x20command\x20'+_0x18d66d['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x506025[_0x3d0cf4(0x1a1)],normalizeScalarParams(_0x506025[_0x3d0cf4(0x1d3)]));}if(_0x506025[_0x3d0cf4(0x1a4)]===_0x3d0cf4(0x1e1)){const _0x5312f7=_0x506025[_0x3d0cf4(0x1ea)]||_0x506025[_0x3d0cf4(0x1aa)]||(_0x506025[_0x3d0cf4(0x19c)]==null?'':String(_0x506025['bffId']));if(!_0x5312f7)throw CliErrors['validation'](_0x3d0cf4(0x1d2)+_0x18d66d['cliPath']+_0x3d0cf4(0x1d5));return executeSdkBff(_0x5312f7,_0x506025['params']);}throw CliErrors[_0x3d0cf4(0x1c4)](_0x3d0cf4(0x1bf)+_0x506025[_0x3d0cf4(0x1a4)]);}async function resolveDatasetCode(_0x4ce933,_0x4483e8,_0x320b04){const _0x4d206c=a32_0x19a7;if(_0x4ce933[_0x4d206c(0x1c5)])return _0x4ce933[_0x4d206c(0x1c5)];if(!_0x4ce933['datatable'])throw CliErrors['validation'](_0x4d206c(0x1d2)+_0x4483e8['cliPath']+_0x4d206c(0x1ab));const _0x3bc0d3=await listDatasets(_0x320b04[_0x4d206c(0x19e)]),_0x35b437=_0x3bc0d3[_0x4d206c(0x1bc)](_0x510412=>_0x510412['dbtableConfig']?.[_0x4d206c(0x1ef)]===_0x4ce933[_0x4d206c(0x1ca)]);if(!_0x35b437?.[_0x4d206c(0x1b7)])throw CliErrors['validation'](_0x4d206c(0x1f6)+_0x4ce933[_0x4d206c(0x1ca)]+_0x4d206c(0x1dd)+_0x320b04['appCode']+'.',_0x4d206c(0x1ad));return _0x35b437[_0x4d206c(0x1b7)];}function applyAppBinding(_0x21f81d,_0x31e225,_0xb1f202){const _0x1fdd2d=a32_0x19a7,_0x2b16f1=_0x31e225[_0x1fdd2d(0x19b)]['appRef'];if(!_0x2b16f1)return;const _0x4587e6=_0x21f81d[_0x1fdd2d(0x1bd)][_0x2b16f1];if(!_0x4587e6)throw CliErrors[_0x1fdd2d(0x1c4)](_0x1fdd2d(0x1a2)+_0x2b16f1+_0x1fdd2d(0x1b2)+_0x31e225[_0x1fdd2d(0x19a)]+'.',_0x1fdd2d(0x1ec));const _0x491a1d=_0x4587e6[_0x1fdd2d(0x1b6)]||_0x4587e6[_0x1fdd2d(0x19e)];_0x491a1d&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1b6)]=_0x491a1d),_0x4587e6[_0x1fdd2d(0x1e2)]&&!hasText(_0xb1f202['app'])&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1e2)]=_0x4587e6[_0x1fdd2d(0x1e2)]),_0x4587e6[_0x1fdd2d(0x1e9)]&&!hasText(_0xb1f202['env'])&&(_0xb1f202[_0x1fdd2d(0x1e9)]=_0x4587e6['env']);}function renderDynamicCommandHelp(_0x93c155){const _0x59728f=a32_0x19a7,_0x5d5ee2=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x93c155['target']['kind'],_0x59728f(0x1ce)+_0x93c155[_0x59728f(0x19b)]['command']];if(_0x93c155['target'][_0x59728f(0x1c5)])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1b3)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1c5)]);if(_0x93c155[_0x59728f(0x19b)]['datatable'])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1d8)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ca)]);if(_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1a1)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20sqlCode:\x20'+_0x93c155['target']['sqlCode']);if(_0x93c155['target'][_0x59728f(0x1ea)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20scriptName:\x20'+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ea)]);if(_0x93c155[_0x59728f(0x1e6)][_0x59728f(0x1ac)]>0x0){_0x5d5ee2[_0x59728f(0x1b5)]('','\x20\x20MAP\x20TO');for(const _0xfdedcc of _0x93c155[_0x59728f(0x1e6)]){_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20'+(_0xfdedcc[_0x59728f(0x1d0)]||'const')+_0x59728f(0x1b0)+_0xfdedcc['target']+(_0xfdedcc[_0x59728f(0x1b1)]?'.'+_0xfdedcc[_0x59728f(0x1b1)]:''));}}return _0x5d5ee2[_0x59728f(0x1ee)]('\x0a');}function targetPreview(_0x58dab7){const _0x1fafaa=a32_0x19a7;return{'kind':_0x58dab7[_0x1fafaa(0x1a4)],'command':_0x58dab7[_0x1fafaa(0x1db)],'appRef':_0x58dab7[_0x1fafaa(0x1d1)],'datasetCode':_0x58dab7[_0x1fafaa(0x1c5)],'datatable':_0x58dab7[_0x1fafaa(0x1ca)],'sqlCode':_0x58dab7[_0x1fafaa(0x1a1)],'bffCode':_0x58dab7[_0x1fafaa(0x1aa)],'bffId':_0x58dab7[_0x1fafaa(0x19c)],'scriptName':_0x58dab7[_0x1fafaa(0x1ea)]};}function normalizeScalarParams(_0x8bf9b){const _0xddca78=a32_0x19a7;return Object['fromEntries'](Object[_0xddca78(0x1d6)](_0x8bf9b)['filter'](([,_0x2a35f5])=>typeof _0x2a35f5===_0xddca78(0x1e0)||typeof _0x2a35f5===_0xddca78(0x1c9)));}function hasText(_0x49183b){const _0x15d48a=a32_0x19a7;return typeof _0x49183b==='string'&&_0x49183b['trim']()[_0x15d48a(0x1ac)]>0x0;}function isPrimitiveFlagDefault(_0x5a7c88){const _0x2ee102=a32_0x19a7;return _0x5a7c88===undefined||typeof _0x5a7c88===_0x2ee102(0x1e0)||typeof _0x5a7c88===_0x2ee102(0x1c9)||typeof _0x5a7c88===_0x2ee102(0x1d4);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a33_0x5694b1=a33_0x3b85;(function(_0x3ee82d,_0x2a8078){const _0x2bfd3a=a33_0x3b85,_0x1334cf=_0x3ee82d();while(!![]){try{const _0x1d6363=-parseInt(_0x2bfd3a(0xc7))/0x1*(parseInt(_0x2bfd3a(0xf0))/0x2)+-parseInt(_0x2bfd3a(0xf7))/0x3+-parseInt(_0x2bfd3a(0xe4))/0x4*(-parseInt(_0x2bfd3a(0x105))/0x5)+parseInt(_0x2bfd3a(0xe2))/0x6+parseInt(_0x2bfd3a(0xd0))/0x7+-parseInt(_0x2bfd3a(0xce))/0x8+-parseInt(_0x2bfd3a(0xfa))/0x9;if(_0x1d6363===_0x2a8078)break;else _0x1334cf['push'](_0x1334cf['shift']());}catch(_0x2676a6){_0x1334cf['push'](_0x1334cf['shift']());}}}(a33_0x226f,0xd8b2d));function a33_0x226f(){const _0x313f12=['Imported\x20','6399900bCimMZ','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','kind','risk','updated','write','filePath','Service\x20registry\x20validation\x20passed.','replaced','remove','Imported','121715LzSDuV','serviceCount','warnings','manifest','registryIndex','map','reduce','11jmdvLk','imported','report','length','type','commands','registryPath','8419056QsnrXB','importedAt','10136476uwmgSM','Local\x20service\x20not\x20found:\x20','string','detail','\x20service(s).','source','manifests','cliName','serviceCode','read','WRITE','Updated','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','registryServiceCode','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','service','8863038hcorlT','\x20service\x20','212FRfaCW','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','cliPath','name','hash','version','required','target','\x20service(s),\x20updated\x20','file','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','entry','164278azwkiO','validate','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','str','list','Service\x20Tree\x20manifest\x20file\x20path','normalizedManifest','1982436BTCRdf','lower\x20kebab-case\x20service\x20code'];a33_0x226f=function(){return _0x313f12;};return a33_0x226f();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x3b85(_0x3effa2,_0x4bc809){_0x3effa2=_0x3effa2-0xc6;const _0x226ff5=a33_0x226f();let _0x3b85cf=_0x226ff5[_0x3effa2];return _0x3b85cf;}const FILE_FLAG={'name':a33_0x5694b1(0xed),'type':a33_0x5694b1(0xd2),'required':!![],'description':a33_0x5694b1(0xf5)},SERVICE_FLAG={'name':a33_0x5694b1(0xe1),'type':a33_0x5694b1(0xd2),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x5694b1(0xf8)}};function summarizeService(_0x5ccdc6){const _0x56faf2=a33_0x5694b1;return{'serviceCode':_0x5ccdc6[_0x56faf2(0xd8)],'name':_0x5ccdc6[_0x56faf2(0xf6)][_0x56faf2(0xe1)]['name'],'version':_0x5ccdc6[_0x56faf2(0xe9)],'importedAt':_0x5ccdc6[_0x56faf2(0xcf)],'source':_0x5ccdc6[_0x56faf2(0xd5)],'commandCount':_0x5ccdc6['normalizedManifest']['commands'][_0x56faf2(0xca)],'commands':_0x5ccdc6[_0x56faf2(0xf6)]['commands'][_0x56faf2(0x10a)](_0x2e4273=>({'path':_0x2e4273[_0x56faf2(0xe6)],'description':_0x2e4273['description'],'risk':_0x2e4273[_0x56faf2(0xfd)],'target':_0x2e4273['target'],'flags':_0x2e4273['flags'][_0x56faf2(0x10a)](_0x4e8d45=>({'name':_0x4e8d45[_0x56faf2(0xe7)],'cliName':_0x4e8d45[_0x56faf2(0xd7)],'type':_0x4e8d45[_0x56faf2(0xcb)],'required':_0x4e8d45[_0x56faf2(0xea)]===!![]}))}))};}function summarizeLoadedManifest(_0x2a0dec){const _0x20a787=a33_0x5694b1;return{'service':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xe1)],'version':_0x2a0dec['normalizedManifest']?.[_0x20a787(0xe9)],'commandCount':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)][_0x20a787(0xca)]??0x0,'commands':_0x2a0dec[_0x20a787(0xf6)]?.[_0x20a787(0xcc)]['map'](_0x63bb96=>({'path':_0x63bb96['cliPath'],'risk':_0x63bb96['risk'],'target':_0x63bb96[_0x20a787(0xeb)]}))??[],'registryIndex':_0x2a0dec[_0x20a787(0x109)],'registryServiceCode':_0x2a0dec[_0x20a787(0xdd)],'errors':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0xde)],'warnings':_0x2a0dec[_0x20a787(0xc9)][_0x20a787(0x107)]};}export const serviceDefinitions=[{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf1),'description':a33_0x5694b1(0xee),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xe80af9){const _0x25aed6=a33_0x5694b1,_0x4ca45f=loadServiceManifestFromFile(_0xe80af9[_0x25aed6(0xf3)](_0x25aed6(0xed)));if(!_0x4ca45f[_0x25aed6(0xc9)]['ok'])return{'ok':![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'serviceCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)],'services':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0x10a)](summarizeLoadedManifest),'errors':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0xde)],'warnings':_0x4ca45f['report'][_0x25aed6(0x107)]},'message':formatValidationFailure(_0x4ca45f[_0x25aed6(0xc9)])};if(_0x4ca45f['kind']==='registry'||_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xca)]!==0x1)return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f['kind'],'serviceCount':_0x4ca45f['manifests'][_0x25aed6(0xca)],'commandCount':_0x4ca45f[_0x25aed6(0xd6)][_0x25aed6(0xc6)]((_0x45d371,_0x2b931a)=>_0x45d371+(_0x2b931a[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)]['length']??0x0),0x0),'services':_0x4ca45f[_0x25aed6(0xd6)]['map'](summarizeLoadedManifest),'warnings':_0x4ca45f[_0x25aed6(0xc9)][_0x25aed6(0x107)]},'message':_0x25aed6(0x101)};return{'ok':!![],'data':{'file':_0x4ca45f[_0x25aed6(0x100)],'hash':_0x4ca45f[_0x25aed6(0xe8)],'kind':_0x4ca45f[_0x25aed6(0xfc)],'service':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe1)],'version':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xe9)],'commandCount':_0x4ca45f[_0x25aed6(0xf6)]?.[_0x25aed6(0xcc)][_0x25aed6(0xca)]??0x0,'commands':_0x4ca45f[_0x25aed6(0xf6)]?.['commands'][_0x25aed6(0x10a)](_0x4294cf=>({'path':_0x4294cf[_0x25aed6(0xe6)],'risk':_0x4294cf[_0x25aed6(0xfd)],'target':_0x4294cf[_0x25aed6(0xeb)]})),'warnings':_0x4ca45f[_0x25aed6(0xc9)]['warnings']},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x5694b1(0xe1),'command':'import','description':a33_0x5694b1(0xe5),'risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2b6dba){const _0x43d07d=a33_0x5694b1,_0x564a0c=loadServiceManifestFromFile(_0x2b6dba[_0x43d07d(0xf3)](_0x43d07d(0xed)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x564a0c[_0x43d07d(0x100)],'hash':_0x564a0c[_0x43d07d(0xe8)],'kind':_0x564a0c[_0x43d07d(0xfc)],'ok':_0x564a0c[_0x43d07d(0xc9)]['ok'],'service':_0x564a0c['normalizedManifest']?.['service'],'version':_0x564a0c['normalizedManifest']?.[_0x43d07d(0xe9)],'serviceCount':_0x564a0c[_0x43d07d(0xd6)][_0x43d07d(0xca)],'services':_0x564a0c['manifests'][_0x43d07d(0x10a)](_0x1a47aa=>({'service':_0x1a47aa['normalizedManifest']?.['service'],'version':_0x1a47aa['normalizedManifest']?.['version'],'commandCount':_0x1a47aa[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0,'errors':_0x1a47aa[_0x43d07d(0xc9)][_0x43d07d(0xde)]})),'errors':_0x564a0c[_0x43d07d(0xc9)][_0x43d07d(0xde)],'commandCount':_0x564a0c[_0x43d07d(0xf6)]?.[_0x43d07d(0xcc)][_0x43d07d(0xca)]??0x0},'description':_0x43d07d(0xdf)};},async 'execute'(_0x3de989){const _0x23f332=a33_0x5694b1,_0x1fc96c=importServiceManifest(_0x3de989['str'](_0x23f332(0xed)));if(_0x1fc96c['entries'][_0x23f332(0xca)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'imported':_0x1fc96c[_0x23f332(0xc8)],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c['serviceCount'],'services':_0x1fc96c['entries'][_0x23f332(0x10a)](summarizeService)},'message':_0x23f332(0xf9)+_0x1fc96c[_0x23f332(0xc8)]+_0x23f332(0xec)+_0x1fc96c['updated']+_0x23f332(0xd4)};return{'ok':!![],'data':{'registryPath':_0x1fc96c[_0x23f332(0xcd)],'replaced':_0x1fc96c[_0x23f332(0x102)],'imported':_0x1fc96c['imported'],'updated':_0x1fc96c[_0x23f332(0xfe)],'serviceCount':_0x1fc96c[_0x23f332(0x106)],'service':summarizeService(_0x1fc96c[_0x23f332(0xef)])},'message':(_0x1fc96c[_0x23f332(0x102)]?_0x23f332(0xdb):_0x23f332(0x104))+_0x23f332(0xe3)+_0x1fc96c['entry']['serviceCode']+'.'};}},{'service':a33_0x5694b1(0xe1),'command':'export','description':a33_0x5694b1(0xf2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x473349){const _0x2927bd=a33_0x5694b1,_0x3596ac=getLocalServiceEntry(_0x473349[_0x2927bd(0xf3)]('service'));return{'method':_0x2927bd(0xda),'url':_0x473349['str'](_0x2927bd(0xed)),'body':{'service':_0x473349[_0x2927bd(0xf3)](_0x2927bd(0xe1)),'found':Boolean(_0x3596ac),'version':_0x3596ac?.['version'],'source':_0x3596ac?.[_0x2927bd(0xd5)]},'description':_0x2927bd(0xfb)};},async 'execute'(_0x3f6518){const _0x3cb766=a33_0x5694b1,_0x5d3aef=exportServiceManifest(_0x3f6518[_0x3cb766(0xf3)](_0x3cb766(0xe1)),_0x3f6518[_0x3cb766(0xf3)]('file'));return{'ok':!![],'data':{'registryPath':_0x5d3aef[_0x3cb766(0xcd)],'file':_0x5d3aef[_0x3cb766(0x100)],'service':summarizeService(_0x5d3aef[_0x3cb766(0xef)])},'message':'Exported\x20service\x20'+_0x5d3aef['entry'][_0x3cb766(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xf4),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x55a3c0=a33_0x5694b1,_0x4e0cd0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x4e0cd0[_0x55a3c0(0xca)],'services':_0x4e0cd0[_0x55a3c0(0x10a)](summarizeService)}};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0x103),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x5694b1(0xff),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3ed9ca){const _0x75e0b2=a33_0x5694b1,_0x307905=getLocalServiceEntry(_0x3ed9ca['str']('service'));return{'method':_0x75e0b2(0xda),'url':getServiceRegistryPath(),'body':{'service':_0x3ed9ca[_0x75e0b2(0xf3)](_0x75e0b2(0xe1)),'found':Boolean(_0x307905),'version':_0x307905?.[_0x75e0b2(0xe9)],'source':_0x307905?.[_0x75e0b2(0xd5)]},'description':_0x75e0b2(0xdc)};},async 'execute'(_0xd8ab42){const _0x293987=a33_0x5694b1,_0x1565f6=removeServiceManifest(_0xd8ab42['str'](_0x293987(0xe1)));return{'ok':!![],'data':{'registryPath':_0x1565f6[_0x293987(0xcd)],'serviceCount':_0x1565f6['serviceCount'],'service':summarizeService(_0x1565f6[_0x293987(0xef)])},'message':'Removed\x20service\x20'+_0x1565f6[_0x293987(0xef)][_0x293987(0xd8)]+'.'};}},{'service':a33_0x5694b1(0xe1),'command':a33_0x5694b1(0xd3),'description':a33_0x5694b1(0xe0),'risk':a33_0x5694b1(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xcf0ac4){const _0x22e95d=a33_0x5694b1,_0x2bc690=getLocalServiceEntry(_0xcf0ac4['str'](_0x22e95d(0xe1)));if(!_0x2bc690)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xcf0ac4[_0x22e95d(0xf3)]('service')},'message':_0x22e95d(0xd1)+_0xcf0ac4[_0x22e95d(0xf3)](_0x22e95d(0xe1))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2bc690),'manifest':_0x2bc690[_0x22e95d(0x108)],'normalizedManifest':_0x2bc690[_0x22e95d(0xf6)]}};}}];
|
|
1
|
+
const a33_0x1ca5b7=a33_0x2e3c;(function(_0x4aff2f,_0x43d2c5){const _0xe9cb8=a33_0x2e3c,_0x13fdfa=_0x4aff2f();while(!![]){try{const _0x487490=-parseInt(_0xe9cb8(0x1c0))/0x1+parseInt(_0xe9cb8(0x1c7))/0x2*(parseInt(_0xe9cb8(0x1e1))/0x3)+parseInt(_0xe9cb8(0x1bf))/0x4+-parseInt(_0xe9cb8(0x1bc))/0x5*(-parseInt(_0xe9cb8(0x1cd))/0x6)+-parseInt(_0xe9cb8(0x1d0))/0x7*(-parseInt(_0xe9cb8(0x1be))/0x8)+-parseInt(_0xe9cb8(0x1e4))/0x9*(parseInt(_0xe9cb8(0x1ec))/0xa)+-parseInt(_0xe9cb8(0x1b9))/0xb;if(_0x487490===_0x43d2c5)break;else _0x13fdfa['push'](_0x13fdfa['shift']());}catch(_0x261b2f){_0x13fdfa['push'](_0x13fdfa['shift']());}}}(a33_0x2b9a,0xb281e));function a33_0x2e3c(_0x57c093,_0x273765){_0x57c093=_0x57c093-0x1a5;const _0x2b9a26=a33_0x2b9a();let _0x2e3cec=_0x2b9a26[_0x57c093];return _0x2e3cec;}function a33_0x2b9a(){const _0x567741=['serviceCount','version','registryServiceCode','imported','1278zVSEMt','Service\x20manifest\x20validation\x20passed.','read','4067QtWnqL','report','file','importedAt','validate','Imported\x20','import','required','manifests','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','detail','Imported','Exported\x20service\x20','serviceCode','lower\x20kebab-case\x20service\x20code','description','name','579HOSBdz','updated','errors','2432097NFTcpR','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','replaced','list','Removed\x20service\x20','remove','hash','30bYuJpL','Service\x20Tree\x20manifest\x20file\x20path','source','Local\x20service\x20not\x20found:\x20','filePath','cliPath','registryPath','\x20service\x20','warnings','registryIndex','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','flags','commands','normalizedManifest','write','kind','registry','Local\x20service\x20code,\x20for\x20example\x20crm','string','\x20service(s).','map','service','1327535wXzKvy','entry','entries','765xlYvIv','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','15920ocYmTX','3405344sAcdmB','1068119ljiMzq','Service\x20registry\x20validation\x20passed.','risk','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','str','WRITE','7156fBOeyv','target'];a33_0x2b9a=function(){return _0x567741;};return a33_0x2b9a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1ed)},SERVICE_FLAG={'name':'service','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1b4),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1ca5b7(0x1de)}};function summarizeService(_0x3fde20){const _0x3b092e=a33_0x1ca5b7;return{'serviceCode':_0x3fde20[_0x3b092e(0x1dd)],'name':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1b8)]['name'],'version':_0x3fde20[_0x3b092e(0x1ca)],'importedAt':_0x3fde20[_0x3b092e(0x1d3)],'source':_0x3fde20[_0x3b092e(0x1ee)],'commandCount':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1af)][_0x3b092e(0x1c3)],'commands':_0x3fde20[_0x3b092e(0x1b0)]['commands'][_0x3b092e(0x1b7)](_0x368d28=>({'path':_0x368d28[_0x3b092e(0x1a7)],'description':_0x368d28[_0x3b092e(0x1df)],'risk':_0x368d28[_0x3b092e(0x1c2)],'target':_0x368d28[_0x3b092e(0x1c8)],'flags':_0x368d28[_0x3b092e(0x1ae)][_0x3b092e(0x1b7)](_0x9bf250=>({'name':_0x9bf250[_0x3b092e(0x1e0)],'cliName':_0x9bf250['cliName'],'type':_0x9bf250['type'],'required':_0x9bf250[_0x3b092e(0x1d7)]===!![]}))}))};}function summarizeLoadedManifest(_0x42b7da){const _0x4b0d9b=a33_0x1ca5b7;return{'service':_0x42b7da[_0x4b0d9b(0x1b0)]?.['service'],'version':_0x42b7da[_0x4b0d9b(0x1b0)]?.[_0x4b0d9b(0x1ca)],'commandCount':_0x42b7da['normalizedManifest']?.['commands'][_0x4b0d9b(0x1c3)]??0x0,'commands':_0x42b7da['normalizedManifest']?.[_0x4b0d9b(0x1af)][_0x4b0d9b(0x1b7)](_0x2a94c0=>({'path':_0x2a94c0['cliPath'],'risk':_0x2a94c0[_0x4b0d9b(0x1c2)],'target':_0x2a94c0[_0x4b0d9b(0x1c8)]}))??[],'registryIndex':_0x42b7da[_0x4b0d9b(0x1ab)],'registryServiceCode':_0x42b7da[_0x4b0d9b(0x1cb)],'errors':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1e3)],'warnings':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1aa)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1ca5b7(0x1d4),'description':a33_0x1ca5b7(0x1d9),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2e109d){const _0x928ec1=a33_0x1ca5b7,_0x522c12=loadServiceManifestFromFile(_0x2e109d[_0x928ec1(0x1c5)](_0x928ec1(0x1d2)));if(!_0x522c12[_0x928ec1(0x1d1)]['ok'])return{'ok':![],'data':{'file':_0x522c12['filePath'],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12['manifests'][_0x928ec1(0x1c3)],'services':_0x522c12['manifests']['map'](summarizeLoadedManifest),'errors':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1e3)],'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':formatValidationFailure(_0x522c12['report'])};if(_0x522c12['kind']===_0x928ec1(0x1b3)||_0x522c12[_0x928ec1(0x1d8)][_0x928ec1(0x1c3)]!==0x1)return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12[_0x928ec1(0x1d8)]['length'],'commandCount':_0x522c12[_0x928ec1(0x1d8)]['reduce']((_0x287ce6,_0x4d3846)=>_0x287ce6+(_0x4d3846[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)]['length']??0x0),0x0),'services':_0x522c12[_0x928ec1(0x1d8)]['map'](summarizeLoadedManifest),'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':_0x928ec1(0x1c1)};return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'service':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1b8)],'version':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1ca)],'commandCount':_0x522c12['normalizedManifest']?.['commands'][_0x928ec1(0x1c3)]??0x0,'commands':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)][_0x928ec1(0x1b7)](_0x540f06=>({'path':_0x540f06[_0x928ec1(0x1a7)],'risk':_0x540f06[_0x928ec1(0x1c2)],'target':_0x540f06[_0x928ec1(0x1c8)]})),'warnings':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1aa)]},'message':_0x928ec1(0x1ce)};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1d6),'description':a33_0x1ca5b7(0x1c4),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x222db8){const _0x2db021=a33_0x1ca5b7,_0x3e1e8f=loadServiceManifestFromFile(_0x222db8['str'](_0x2db021(0x1d2)));return{'method':_0x2db021(0x1c6),'url':getServiceRegistryPath(),'body':{'file':_0x3e1e8f[_0x2db021(0x1a6)],'hash':_0x3e1e8f[_0x2db021(0x1eb)],'kind':_0x3e1e8f[_0x2db021(0x1b2)],'ok':_0x3e1e8f['report']['ok'],'service':_0x3e1e8f[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x3e1e8f[_0x2db021(0x1b0)]?.['version'],'serviceCount':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1c3)],'services':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1b7)](_0x41b8e5=>({'service':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1ca)],'commandCount':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1af)][_0x2db021(0x1c3)]??0x0,'errors':_0x41b8e5[_0x2db021(0x1d1)][_0x2db021(0x1e3)]})),'errors':_0x3e1e8f[_0x2db021(0x1d1)][_0x2db021(0x1e3)],'commandCount':_0x3e1e8f[_0x2db021(0x1b0)]?.['commands']['length']??0x0},'description':_0x2db021(0x1ac)};},async 'execute'(_0x588889){const _0x3b2387=a33_0x1ca5b7,_0x4010d7=importServiceManifest(_0x588889['str'](_0x3b2387(0x1d2)));if(_0x4010d7[_0x3b2387(0x1bb)][_0x3b2387(0x1c3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'imported':_0x4010d7[_0x3b2387(0x1cc)],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'services':_0x4010d7[_0x3b2387(0x1bb)]['map'](summarizeService)},'message':_0x3b2387(0x1d5)+_0x4010d7['imported']+_0x3b2387(0x1e5)+_0x4010d7[_0x3b2387(0x1e2)]+_0x3b2387(0x1b6)};return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'replaced':_0x4010d7[_0x3b2387(0x1e7)],'imported':_0x4010d7['imported'],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'service':summarizeService(_0x4010d7[_0x3b2387(0x1ba)])},'message':(_0x4010d7['replaced']?'Updated':_0x3b2387(0x1db))+_0x3b2387(0x1a9)+_0x4010d7[_0x3b2387(0x1ba)][_0x3b2387(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x2762e1){const _0x14a421=a33_0x1ca5b7,_0x75a685=getLocalServiceEntry(_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)));return{'method':_0x14a421(0x1c6),'url':_0x2762e1[_0x14a421(0x1c5)]('file'),'body':{'service':_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)),'found':Boolean(_0x75a685),'version':_0x75a685?.[_0x14a421(0x1ca)],'source':_0x75a685?.[_0x14a421(0x1ee)]},'description':_0x14a421(0x1bd)};},async 'execute'(_0x40af25){const _0x18c7aa=a33_0x1ca5b7,_0x178a84=exportServiceManifest(_0x40af25['str'](_0x18c7aa(0x1b8)),_0x40af25[_0x18c7aa(0x1c5)](_0x18c7aa(0x1d2)));return{'ok':!![],'data':{'registryPath':_0x178a84[_0x18c7aa(0x1a8)],'file':_0x178a84['filePath'],'service':summarizeService(_0x178a84[_0x18c7aa(0x1ba)])},'message':_0x18c7aa(0x1dc)+_0x178a84['entry'][_0x18c7aa(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1e8),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x6f53be=a33_0x1ca5b7,_0x3b184e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3b184e[_0x6f53be(0x1c3)],'services':_0x3b184e['map'](summarizeService)}};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1ea),'description':a33_0x1ca5b7(0x1ad),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3c417c){const _0x150098=a33_0x1ca5b7,_0x3dd5b2=getLocalServiceEntry(_0x3c417c[_0x150098(0x1c5)]('service'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3c417c[_0x150098(0x1c5)](_0x150098(0x1b8)),'found':Boolean(_0x3dd5b2),'version':_0x3dd5b2?.[_0x150098(0x1ca)],'source':_0x3dd5b2?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x31055c){const _0x4c1d1c=a33_0x1ca5b7,_0x8b96a5=removeServiceManifest(_0x31055c[_0x4c1d1c(0x1c5)](_0x4c1d1c(0x1b8)));return{'ok':!![],'data':{'registryPath':_0x8b96a5[_0x4c1d1c(0x1a8)],'serviceCount':_0x8b96a5[_0x4c1d1c(0x1c9)],'service':summarizeService(_0x8b96a5[_0x4c1d1c(0x1ba)])},'message':_0x4c1d1c(0x1e9)+_0x8b96a5[_0x4c1d1c(0x1ba)]['serviceCode']+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1da),'description':a33_0x1ca5b7(0x1e6),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x49b143){const _0x31cecd=a33_0x1ca5b7,_0x4c4deb=getLocalServiceEntry(_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8)));if(!_0x4c4deb)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))},'message':_0x31cecd(0x1a5)+_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x4c4deb),'manifest':_0x4c4deb['manifest'],'normalizedManifest':_0x4c4deb[_0x31cecd(0x1b0)]}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a34_0x1775bb=a34_0x3351;(function(_0xc5f0a3,_0x35379d){const _0x19d6f8=a34_0x3351,_0x556fec=_0xc5f0a3();while(!![]){try{const _0x370e99=-parseInt(_0x19d6f8(0x17c))/0x1+parseInt(_0x19d6f8(0x16e))/0x2+-parseInt(_0x19d6f8(0x196))/0x3+-parseInt(_0x19d6f8(0x17a))/0x4*(parseInt(_0x19d6f8(0x186))/0x5)+-parseInt(_0x19d6f8(0x16d))/0x6*(parseInt(_0x19d6f8(0x172))/0x7)+-parseInt(_0x19d6f8(0x167))/0x8*(parseInt(_0x19d6f8(0x192))/0x9)+-parseInt(_0x19d6f8(0x16f))/0xa*(-parseInt(_0x19d6f8(0x173))/0xb);if(_0x370e99===_0x35379d)break;else _0x556fec['push'](_0x556fec['shift']());}catch(_0x26cfd7){_0x556fec['push'](_0x556fec['shift']());}}}(a34_0x45ea,0x6b4cf));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x1775bb(0x178);export function getServiceRegistryPath(_0x4afb9f={}){const _0x1008d8=a34_0x1775bb;return resolve(_0x4afb9f[_0x1008d8(0x1a5)]??homedir(),PRODUCT_CONFIG[_0x1008d8(0x181)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x24cd46={}){const _0x4ce6fa=a34_0x1775bb,_0x27a100=getServiceRegistryPath(_0x24cd46);if(!existsSync(_0x27a100))return emptyServiceRegistry();try{const _0x399b76=readFileSync(_0x27a100,_0x4ce6fa(0x187));if(!_0x399b76[_0x4ce6fa(0x1a0)]())return emptyServiceRegistry();const _0xbb739f=JSON[_0x4ce6fa(0x1b1)](_0x399b76);if(_0xbb739f[_0x4ce6fa(0x1b8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x18a)+String(_0xbb739f[_0x4ce6fa(0x1b8)]),_0x4ce6fa(0x1ae)+_0x27a100+'.');if(!Array[_0x4ce6fa(0x1b6)](_0xbb739f[_0x4ce6fa(0x18c)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xbb739f['updatedAt'],'services':_0xbb739f['services']};}catch(_0x45f4fd){if(_0x45f4fd instanceof Error&&_0x45f4fd[_0x4ce6fa(0x171)]==='CliError')throw _0x45f4fd;throw CliErrors[_0x4ce6fa(0x174)](_0x4ce6fa(0x17e)+_0x27a100,_0x4ce6fa(0x182));}}export function writeServiceRegistry(_0x484b57,_0x1bc402={}){const _0x1a41f6=a34_0x1775bb,_0x3f54f7=getServiceRegistryPath(_0x1bc402),_0x4db42b=dirname(_0x3f54f7);!existsSync(_0x4db42b)&&mkdirSync(_0x4db42b,{'recursive':!![]});const _0x3dc7e9=_0x3f54f7+_0x1a41f6(0x19f);try{writeFileSync(_0x3dc7e9,JSON[_0x1a41f6(0x184)](_0x484b57,null,0x2)+'\x0a',{'encoding':_0x1a41f6(0x187),'mode':0x180}),renameSync(_0x3dc7e9,_0x3f54f7);}catch(_0x5b6428){try{unlinkSync(_0x3dc7e9);}catch{}if(_0x5b6428?.[_0x1a41f6(0x1bb)]===_0x1a41f6(0x193))throw CliErrors['validation'](_0x1a41f6(0x1ac)+_0x3f54f7);throw _0x5b6428;}return _0x3f54f7;}export function loadServiceManifestFromFile(_0x492ab6){const _0x5ba821=a34_0x1775bb,_0x4c2e26=resolve(_0x492ab6);if(!existsSync(_0x4c2e26))throw CliErrors['validation'](_0x5ba821(0x189)+_0x492ab6);let _0x23e4f9;const _0x3bb13c=readFileSync(_0x4c2e26,_0x5ba821(0x187));try{_0x23e4f9=JSON['parse'](_0x3bb13c);}catch{throw CliErrors['validation'](_0x5ba821(0x19d)+_0x492ab6,_0x5ba821(0x1ba));}const _0x4b5464=sha256(_0x3bb13c),_0x1a13df=extractLoadedServiceManifests(_0x23e4f9,_0x4b5464),_0x28e752=aggregateValidationReports(_0x1a13df),_0x1b68e8=_0x1a13df[0x0];return{'filePath':_0x4c2e26,'hash':_0x4b5464,'kind':isServiceRegistryLike(_0x23e4f9)?_0x5ba821(0x170):_0x5ba821(0x18d),'manifest':_0x1b68e8?.[_0x5ba821(0x18d)]??_0x23e4f9,'report':_0x28e752,'normalizedManifest':_0x1a13df[_0x5ba821(0x1b3)]===0x1?_0x1b68e8?.[_0x5ba821(0x1a6)]:undefined,'manifests':_0x1a13df};}function a34_0x3351(_0xd93cc1,_0xfaba7f){_0xd93cc1=_0xd93cc1-0x167;const _0x45eaea=a34_0x45ea();let _0x3351d9=_0x45eaea[_0xd93cc1];return _0x3351d9;}export function importServiceManifest(_0x5ee4c2,_0x50954d={}){const _0x10bb4e=a34_0x1775bb,_0x2fe703=loadServiceManifestFromFile(_0x5ee4c2);if(!_0x2fe703[_0x10bb4e(0x1af)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x2fe703[_0x10bb4e(0x1af)]),_0x10bb4e(0x16a));if(_0x2fe703[_0x10bb4e(0x194)][_0x10bb4e(0x1b3)]===0x0)throw CliErrors[_0x10bb4e(0x174)](_0x10bb4e(0x1b9),_0x10bb4e(0x19b));const _0x5c4d2d=readServiceRegistry(_0x50954d),_0x1656d0=(_0x50954d[_0x10bb4e(0x175)]??(()=>new Date()))()[_0x10bb4e(0x188)](),_0x27daeb=[];let _0x442fa6=0x0,_0x2d5e81=0x0;for(const _0x4ec2dd of _0x2fe703[_0x10bb4e(0x194)]){if(!_0x4ec2dd['normalizedManifest'])continue;const _0x5e27a3=_0x4ec2dd['normalizedManifest']['service'][_0x10bb4e(0x1bb)],_0x41dfa1={'serviceCode':_0x5e27a3,'version':_0x4ec2dd['normalizedManifest'][_0x10bb4e(0x1b4)],'importedAt':_0x1656d0,'source':{'type':_0x10bb4e(0x195),'path':_0x2fe703[_0x10bb4e(0x1b2)],'hash':_0x4ec2dd[_0x10bb4e(0x183)]},'manifest':_0x4ec2dd[_0x10bb4e(0x18d)],'normalizedManifest':_0x4ec2dd[_0x10bb4e(0x1a6)]},_0x5ba010=_0x5c4d2d['services'][_0x10bb4e(0x1bc)](_0x16faf=>_0x16faf[_0x10bb4e(0x19e)]===_0x5e27a3);_0x5ba010>=0x0?(_0x5c4d2d[_0x10bb4e(0x18c)][_0x5ba010]=_0x41dfa1,_0x2d5e81++):(_0x5c4d2d[_0x10bb4e(0x18c)][_0x10bb4e(0x1bd)](_0x41dfa1),_0x442fa6++),_0x27daeb[_0x10bb4e(0x1bd)](_0x41dfa1);}_0x5c4d2d['services'][_0x10bb4e(0x18e)]((_0x4fbdb2,_0x4431d3)=>_0x4fbdb2[_0x10bb4e(0x19e)][_0x10bb4e(0x1a3)](_0x4431d3[_0x10bb4e(0x19e)])),_0x5c4d2d[_0x10bb4e(0x1a7)]=_0x1656d0;const _0x5909ed=writeServiceRegistry(_0x5c4d2d,_0x50954d);return{'registryPath':_0x5909ed,'entry':_0x27daeb[0x0],'replaced':_0x27daeb[_0x10bb4e(0x1b3)]===0x1?_0x2d5e81===0x1:_0x2d5e81>0x0,'entries':_0x27daeb,'imported':_0x442fa6,'updated':_0x2d5e81,'serviceCount':_0x5c4d2d[_0x10bb4e(0x18c)]['length']};}export function exportServiceManifest(_0x3856f0,_0x214063,_0x1f1386={}){const _0x1a7852=a34_0x1775bb,_0x5d25a6=getServiceRegistryPath(_0x1f1386),_0x1d1a00=getLocalServiceEntry(_0x3856f0,_0x1f1386);if(!_0x1d1a00)throw CliErrors[_0x1a7852(0x174)](_0x1a7852(0x16b)+_0x3856f0,_0x1a7852(0x1a2));const _0xcb3698=resolve(_0x214063),_0x58c22a=dirname(_0xcb3698);return!existsSync(_0x58c22a)&&mkdirSync(_0x58c22a,{'recursive':!![]}),writeFileSync(_0xcb3698,JSON['stringify'](_0x1d1a00[_0x1a7852(0x18d)],null,0x2)+'\x0a',{'encoding':_0x1a7852(0x187),'mode':0x180}),{'registryPath':_0x5d25a6,'filePath':_0xcb3698,'entry':_0x1d1a00};}export function removeServiceManifest(_0x55fe5a,_0x8d787d={}){const _0x393d04=a34_0x1775bb,_0x496b14=readServiceRegistry(_0x8d787d),_0x3f5bcd=_0x55fe5a[_0x393d04(0x1a0)](),_0x4208bc=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1bc)](_0x3121d7=>_0x3121d7[_0x393d04(0x19e)]===_0x3f5bcd);if(_0x4208bc<0x0)throw CliErrors['validation'](_0x393d04(0x16b)+_0x3f5bcd,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4633e2]=_0x496b14[_0x393d04(0x18c)][_0x393d04(0x1a1)](_0x4208bc,0x1),_0x29a454=(_0x8d787d[_0x393d04(0x175)]??(()=>new Date()))()[_0x393d04(0x188)]();_0x496b14[_0x393d04(0x1a7)]=_0x29a454;const _0x3d08af=writeServiceRegistry(_0x496b14,_0x8d787d);return{'registryPath':_0x3d08af,'entry':_0x4633e2,'serviceCount':_0x496b14[_0x393d04(0x18c)]['length']};}export function listLocalServices(_0x2dcd51={}){const _0x14bcab=a34_0x1775bb;return readServiceRegistry(_0x2dcd51)[_0x14bcab(0x18c)];}export function getLocalServiceEntry(_0xdb1b08,_0x3c50e4={}){const _0x5be0de=a34_0x1775bb;return readServiceRegistry(_0x3c50e4)[_0x5be0de(0x18c)][_0x5be0de(0x17b)](_0x470461=>_0x470461['serviceCode']===_0xdb1b08[_0x5be0de(0x1a0)]());}export function listLocalServiceTrees(_0x574748={}){const _0x3a3cc7=a34_0x1775bb;return readServiceRegistry(_0x574748)['services'][_0x3a3cc7(0x185)](_0x150d17=>_0x150d17[_0x3a3cc7(0x1a6)]);}export function inspectServiceRegistry(_0x42b87c={}){const _0x223b47=a34_0x1775bb,_0x553071=getServiceRegistryPath(_0x42b87c);if(!existsSync(_0x553071))return emptyServiceRegistryInspection(_0x553071,_0x223b47(0x176),![]);try{const _0x215d82=readFileSync(_0x553071,_0x223b47(0x187));if(!_0x215d82[_0x223b47(0x1a0)]())return emptyServiceRegistryInspection(_0x553071,'empty',!![]);const _0x5793aa=JSON[_0x223b47(0x1b1)](_0x215d82);if(_0x5793aa['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':_0x5793aa[_0x223b47(0x1b8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x5793aa[_0x223b47(0x1b8)])};if(!Array[_0x223b47(0x1b6)](_0x5793aa[_0x223b47(0x18c)]))return{...emptyServiceRegistryInspection(_0x553071,_0x223b47(0x1b7),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa['updatedAt'],'message':_0x223b47(0x19a)};const _0xa4fc0d=_0x5793aa[_0x223b47(0x18c)][_0x223b47(0x185)](summarizeLocalServiceEntry);return{'registryPath':_0x553071,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5793aa[_0x223b47(0x1a7)],'serviceCount':_0xa4fc0d[_0x223b47(0x1b3)],'commandCount':_0xa4fc0d[_0x223b47(0x18b)]((_0x16f821,_0xad33d)=>_0x16f821+_0xad33d[_0x223b47(0x1b0)],0x0),'services':_0xa4fc0d};}catch(_0x289e91){return{...emptyServiceRegistryInspection(_0x553071,'invalid',!![]),'message':_0x289e91 instanceof Error?_0x289e91[_0x223b47(0x18f)]:String(_0x289e91)};}}export function formatValidationFailure(_0x3a7f09){const _0x1c149d=a34_0x1775bb,_0x515b88=_0x3a7f09[_0x1c149d(0x191)]['map'](_0x217c6d=>_0x217c6d[_0x1c149d(0x1ad)]+':\x20'+_0x217c6d[_0x1c149d(0x18f)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x515b88[_0x1c149d(0x1a8)]('\x0a');}function extractLoadedServiceManifests(_0x3cda2a,_0x114301){const _0x292096=a34_0x1775bb;if(!isServiceRegistryLike(_0x3cda2a)){const _0x289cfb=_0x3cda2a,_0x399ca1=validateServiceTreeManifest(_0x289cfb);return[{'manifest':_0x289cfb,'report':_0x399ca1,'normalizedManifest':_0x399ca1['ok']?normalizeServiceTreeManifest(_0x289cfb):undefined,'sourceHash':_0x114301}];}return _0x3cda2a[_0x292096(0x18c)][_0x292096(0x185)]((_0x271070,_0x3f4388)=>{const _0x5339ab=_0x292096,_0x1dfb9f=isObjectRecord(_0x271070)?_0x271070[_0x5339ab(0x18d)]:undefined,_0x16f2fd=validateServiceTreeManifest(_0x1dfb9f),_0x25b464=isObjectRecord(_0x271070)&&typeof _0x271070[_0x5339ab(0x19e)]==='string'?_0x271070[_0x5339ab(0x19e)]:undefined;return{'manifest':_0x1dfb9f,'report':_0x16f2fd,'normalizedManifest':_0x16f2fd['ok']?normalizeServiceTreeManifest(_0x1dfb9f):undefined,'sourceHash':sha256(JSON[_0x5339ab(0x184)](_0x1dfb9f,null,0x2)+'\x0a'),'registryIndex':_0x3f4388,'registryServiceCode':_0x25b464};});}function aggregateValidationReports(_0x423bfe){const _0x4b4f80=a34_0x1775bb,_0x47e156=_0x423bfe[_0x4b4f80(0x1b5)](_0x546982=>_0x546982[_0x4b4f80(0x16c)]===undefined?_0x546982[_0x4b4f80(0x1af)][_0x4b4f80(0x191)]:_0x546982['report']['errors']['map'](_0x3b2d04=>({..._0x3b2d04,'path':prefixRegistryIssuePath(_0x546982[_0x4b4f80(0x16c)],_0x3b2d04[_0x4b4f80(0x1ad)])}))),_0x179681=_0x423bfe[_0x4b4f80(0x1b5)](_0x3981c3=>_0x3981c3[_0x4b4f80(0x16c)]===undefined?_0x3981c3['report'][_0x4b4f80(0x1a4)]:_0x3981c3['report'][_0x4b4f80(0x1a4)][_0x4b4f80(0x185)](_0x57f532=>({..._0x57f532,'path':prefixRegistryIssuePath(_0x3981c3['registryIndex'],_0x57f532[_0x4b4f80(0x1ad)])})));return{'ok':_0x47e156['length']===0x0,'errors':_0x47e156,'warnings':_0x179681};}function prefixRegistryIssuePath(_0x31731a,_0x45cef9){const _0x3fc174=a34_0x1775bb;if(_0x45cef9==='$')return'$.services['+_0x31731a+'].manifest';if(_0x45cef9[_0x3fc174(0x198)]('$.'))return _0x3fc174(0x17d)+_0x31731a+'].manifest'+_0x45cef9[_0x3fc174(0x169)](0x1);if(_0x45cef9['startsWith']('$['))return _0x3fc174(0x17d)+_0x31731a+_0x3fc174(0x180)+_0x45cef9[_0x3fc174(0x169)](0x1);return _0x3fc174(0x17d)+_0x31731a+'].manifest.'+_0x45cef9;}function isServiceRegistryLike(_0x5e16ac){const _0x569f83=a34_0x1775bb;return isObjectRecord(_0x5e16ac)&&_0x5e16ac[_0x569f83(0x1b8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x569f83(0x1b6)](_0x5e16ac[_0x569f83(0x18c)]);}function a34_0x45ea(){const _0x54cd74=['normalizedManifest','updatedAt','join','update','sha256','cliPath','Cannot\x20write\x20service\x20registry:\x20','path','Remove\x20or\x20migrate\x20','report','commandCount','parse','filePath','length','version','flatMap','isArray','invalid','schemaVersion','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','code','findIndex','push','4112ilyDAG','importedAt','slice','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Local\x20service\x20not\x20found:\x20','registryIndex','24eTSFLx','640714lZrkqe','10xhbUyu','registry','name','526561cCEbpN','29536111dJqAQu','validation','now','missing','target','service.json','service','4MUHtgf','find','400597XsPIGI','$.services[','Invalid\x20service\x20registry\x20JSON:\x20','kind','].manifest','homeDirName','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','sourceHash','stringify','map','1416585uuokhX','utf8','toISOString','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','services','manifest','sort','message','hex','errors','14076OTohRf','ENOENT','manifests','file','2331759TVjBBY','digest','startsWith','command','services\x20must\x20be\x20an\x20array','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','object','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','.tmp','trim','splice','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','localeCompare','warnings','homeDir'];a34_0x45ea=function(){return _0x54cd74;};return a34_0x45ea();}function isObjectRecord(_0x185062){const _0x25503c=a34_0x1775bb;return Boolean(_0x185062)&&typeof _0x185062===_0x25503c(0x19c)&&!Array['isArray'](_0x185062);}function emptyServiceRegistryInspection(_0x1c9e7f,_0x29cd59,_0x3263a8){return{'registryPath':_0x1c9e7f,'exists':_0x3263a8,'status':_0x29cd59,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x563007){const _0x303f62=a34_0x1775bb,_0x86600d=_0x563007['normalizedManifest'],_0x5a130b=_0x86600d['commands'][_0x303f62(0x185)](_0x41eed8=>({'path':_0x41eed8[_0x303f62(0x1ab)],'description':_0x41eed8['description'],'risk':_0x41eed8['risk'],'targetKind':_0x41eed8['target'][_0x303f62(0x17f)],'targetCommand':_0x41eed8[_0x303f62(0x177)][_0x303f62(0x199)]}));return{'serviceCode':_0x563007[_0x303f62(0x19e)],'name':_0x86600d[_0x303f62(0x179)][_0x303f62(0x171)],'description':_0x86600d['service']['description'],'version':_0x563007[_0x303f62(0x1b4)],'importedAt':_0x563007[_0x303f62(0x168)],'source':_0x563007['source'],'commandCount':_0x5a130b[_0x303f62(0x1b3)],'commands':_0x5a130b};}function sha256(_0x555a9a){const _0x2a691a=a34_0x1775bb;return createHash(_0x2a691a(0x1aa))[_0x2a691a(0x1a9)](_0x555a9a)[_0x2a691a(0x197)](_0x2a691a(0x190));}
|
|
1
|
+
const a34_0x3c100c=a34_0x4d42;function a34_0x4d42(_0x18a5c4,_0x2df035){_0x18a5c4=_0x18a5c4-0x14e;const _0x4e0f2f=a34_0x4e0f();let _0x4d42e0=_0x4e0f2f[_0x18a5c4];return _0x4d42e0;}(function(_0x2dd148,_0xb67197){const _0x2d49da=a34_0x4d42,_0x77e519=_0x2dd148();while(!![]){try{const _0x1c1a02=parseInt(_0x2d49da(0x18e))/0x1+-parseInt(_0x2d49da(0x194))/0x2+parseInt(_0x2d49da(0x153))/0x3+-parseInt(_0x2d49da(0x180))/0x4*(-parseInt(_0x2d49da(0x15f))/0x5)+parseInt(_0x2d49da(0x160))/0x6*(-parseInt(_0x2d49da(0x150))/0x7)+-parseInt(_0x2d49da(0x169))/0x8*(-parseInt(_0x2d49da(0x154))/0x9)+parseInt(_0x2d49da(0x177))/0xa*(-parseInt(_0x2d49da(0x164))/0xb);if(_0x1c1a02===_0xb67197)break;else _0x77e519['push'](_0x77e519['shift']());}catch(_0x53e99a){_0x77e519['push'](_0x77e519['shift']());}}}(a34_0x4e0f,0xbcd26));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x3c100c(0x178);export function getServiceRegistryPath(_0x4c1ed6={}){const _0x50ee9c=a34_0x3c100c;return resolve(_0x4c1ed6[_0x50ee9c(0x19b)]??homedir(),PRODUCT_CONFIG[_0x50ee9c(0x17c)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x422474={}){const _0x3e173d=a34_0x3c100c,_0x4e1164=getServiceRegistryPath(_0x422474);if(!existsSync(_0x4e1164))return emptyServiceRegistry();try{const _0x55dead=readFileSync(_0x4e1164,'utf8');if(!_0x55dead['trim']())return emptyServiceRegistry();const _0x495aed=JSON['parse'](_0x55dead);if(_0x495aed['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x3e173d(0x157)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x495aed['schemaVersion']),_0x3e173d(0x167)+_0x4e1164+'.');if(!Array[_0x3e173d(0x187)](_0x495aed[_0x3e173d(0x189)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x495aed[_0x3e173d(0x184)],'services':_0x495aed[_0x3e173d(0x189)]};}catch(_0x1718e4){if(_0x1718e4 instanceof Error&&_0x1718e4[_0x3e173d(0x19d)]==='CliError')throw _0x1718e4;throw CliErrors[_0x3e173d(0x157)](_0x3e173d(0x15b)+_0x4e1164,_0x3e173d(0x14f));}}export function writeServiceRegistry(_0x29a333,_0x2f5e70={}){const _0x2d37d4=a34_0x3c100c,_0x370f7e=getServiceRegistryPath(_0x2f5e70),_0x7c6172=dirname(_0x370f7e);!existsSync(_0x7c6172)&&mkdirSync(_0x7c6172,{'recursive':!![]});const _0x586e3e=_0x370f7e+_0x2d37d4(0x159);try{writeFileSync(_0x586e3e,JSON[_0x2d37d4(0x188)](_0x29a333,null,0x2)+'\x0a',{'encoding':_0x2d37d4(0x166),'mode':0x180}),renameSync(_0x586e3e,_0x370f7e);}catch(_0x1d8c06){try{unlinkSync(_0x586e3e);}catch{}if(_0x1d8c06?.['code']===_0x2d37d4(0x19f))throw CliErrors[_0x2d37d4(0x157)](_0x2d37d4(0x17d)+_0x370f7e);throw _0x1d8c06;}return _0x370f7e;}export function loadServiceManifestFromFile(_0x563721){const _0x58941c=a34_0x3c100c,_0x8023f5=resolve(_0x563721);if(!existsSync(_0x8023f5))throw CliErrors[_0x58941c(0x157)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x563721);let _0xdb337e;const _0x371987=readFileSync(_0x8023f5,_0x58941c(0x166));try{_0xdb337e=JSON[_0x58941c(0x197)](_0x371987);}catch{throw CliErrors['validation'](_0x58941c(0x18b)+_0x563721,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x56140=sha256(_0x371987),_0x27881b=extractLoadedServiceManifests(_0xdb337e,_0x56140),_0x2df204=aggregateValidationReports(_0x27881b),_0x462980=_0x27881b[0x0];return{'filePath':_0x8023f5,'hash':_0x56140,'kind':isServiceRegistryLike(_0xdb337e)?_0x58941c(0x162):_0x58941c(0x16d),'manifest':_0x462980?.['manifest']??_0xdb337e,'report':_0x2df204,'normalizedManifest':_0x27881b['length']===0x1?_0x462980?.[_0x58941c(0x172)]:undefined,'manifests':_0x27881b};}export function importServiceManifest(_0x53fbe7,_0xbb912f={}){const _0x10558a=a34_0x3c100c,_0x1fd177=loadServiceManifestFromFile(_0x53fbe7);if(!_0x1fd177['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x1fd177['report']),_0x10558a(0x185));if(_0x1fd177[_0x10558a(0x19c)][_0x10558a(0x19a)]===0x0)throw CliErrors[_0x10558a(0x157)](_0x10558a(0x16e),_0x10558a(0x192));const _0x48e338=readServiceRegistry(_0xbb912f),_0x53f786=(_0xbb912f[_0x10558a(0x156)]??(()=>new Date()))()[_0x10558a(0x175)](),_0x28d4e7=[];let _0x3413ef=0x0,_0x28b442=0x0;for(const _0x3f79b9 of _0x1fd177['manifests']){if(!_0x3f79b9['normalizedManifest'])continue;const _0x41931c=_0x3f79b9[_0x10558a(0x172)]['service'][_0x10558a(0x18a)],_0x38e80c={'serviceCode':_0x41931c,'version':_0x3f79b9[_0x10558a(0x172)]['version'],'importedAt':_0x53f786,'source':{'type':_0x10558a(0x152),'path':_0x1fd177['filePath'],'hash':_0x3f79b9[_0x10558a(0x199)]},'manifest':_0x3f79b9['manifest'],'normalizedManifest':_0x3f79b9['normalizedManifest']},_0x49f5be=_0x48e338[_0x10558a(0x189)][_0x10558a(0x179)](_0x50c102=>_0x50c102[_0x10558a(0x17a)]===_0x41931c);_0x49f5be>=0x0?(_0x48e338['services'][_0x49f5be]=_0x38e80c,_0x28b442++):(_0x48e338[_0x10558a(0x189)][_0x10558a(0x168)](_0x38e80c),_0x3413ef++),_0x28d4e7[_0x10558a(0x168)](_0x38e80c);}_0x48e338[_0x10558a(0x189)][_0x10558a(0x165)]((_0x483d68,_0xec3069)=>_0x483d68[_0x10558a(0x17a)][_0x10558a(0x176)](_0xec3069[_0x10558a(0x17a)])),_0x48e338[_0x10558a(0x184)]=_0x53f786;const _0x13fe8a=writeServiceRegistry(_0x48e338,_0xbb912f);return{'registryPath':_0x13fe8a,'entry':_0x28d4e7[0x0],'replaced':_0x28d4e7[_0x10558a(0x19a)]===0x1?_0x28b442===0x1:_0x28b442>0x0,'entries':_0x28d4e7,'imported':_0x3413ef,'updated':_0x28b442,'serviceCount':_0x48e338[_0x10558a(0x189)][_0x10558a(0x19a)]};}export function exportServiceManifest(_0x17787e,_0x4be1ea,_0xdca375={}){const _0x39d331=a34_0x3c100c,_0x45957b=getServiceRegistryPath(_0xdca375),_0x2029e7=getLocalServiceEntry(_0x17787e,_0xdca375);if(!_0x2029e7)throw CliErrors['validation'](_0x39d331(0x1a1)+_0x17787e,_0x39d331(0x198));const _0x15899f=resolve(_0x4be1ea),_0x2858de=dirname(_0x15899f);return!existsSync(_0x2858de)&&mkdirSync(_0x2858de,{'recursive':!![]}),writeFileSync(_0x15899f,JSON[_0x39d331(0x188)](_0x2029e7['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x45957b,'filePath':_0x15899f,'entry':_0x2029e7};}function a34_0x4e0f(){const _0x482206=['Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','14nKCXRd','].manifest.','file','3402462shCtJb','333XyUcfx','object','now','validation','Unsupported\x20schemaVersion:\x20','.tmp','schemaVersion','Invalid\x20service\x20registry\x20JSON:\x20','].manifest','flatMap','command','9305asOmej','1378068VwMtZo','report','registry','commands','3795132kaLLDF','sort','utf8','Remove\x20or\x20migrate\x20','push','325784gsjWIx','reduce','invalid','cliPath','manifest','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','errors','path','commandCount','normalizedManifest','$.services[','kind','toISOString','localeCompare','60cwLLaX','service.json','findIndex','serviceCode','trim','homeDirName','Cannot\x20write\x20service\x20registry:\x20','missing','warnings','2588HiyIGD','description','startsWith','map','updatedAt','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','splice','isArray','stringify','services','code','Invalid\x20service\x20manifest\x20JSON:\x20','version','message','403764aaBkDZ','risk','target','find','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','1891788kSToJV','empty','service','parse','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sourceHash','length','homeDir','manifests','name','update','ENOENT','source','Local\x20service\x20not\x20found:\x20','sha256','hex'];a34_0x4e0f=function(){return _0x482206;};return a34_0x4e0f();}export function removeServiceManifest(_0x22f7cb,_0x35b1f0={}){const _0x46e08e=a34_0x3c100c,_0x4d777e=readServiceRegistry(_0x35b1f0),_0x2c6b1a=_0x22f7cb[_0x46e08e(0x17b)](),_0x3c8c42=_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x179)](_0x1f58f8=>_0x1f58f8[_0x46e08e(0x17a)]===_0x2c6b1a);if(_0x3c8c42<0x0)throw CliErrors['validation'](_0x46e08e(0x1a1)+_0x2c6b1a,_0x46e08e(0x198));const [_0xb59001]=_0x4d777e['services'][_0x46e08e(0x186)](_0x3c8c42,0x1),_0x3bf676=(_0x35b1f0[_0x46e08e(0x156)]??(()=>new Date()))()[_0x46e08e(0x175)]();_0x4d777e[_0x46e08e(0x184)]=_0x3bf676;const _0xfa6da1=writeServiceRegistry(_0x4d777e,_0x35b1f0);return{'registryPath':_0xfa6da1,'entry':_0xb59001,'serviceCount':_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x19a)]};}export function listLocalServices(_0x479d8e={}){const _0x2f3373=a34_0x3c100c;return readServiceRegistry(_0x479d8e)[_0x2f3373(0x189)];}export function getLocalServiceEntry(_0x133b52,_0xeaccf4={}){const _0x4b0a0f=a34_0x3c100c;return readServiceRegistry(_0xeaccf4)['services'][_0x4b0a0f(0x191)](_0x5217cd=>_0x5217cd[_0x4b0a0f(0x17a)]===_0x133b52[_0x4b0a0f(0x17b)]());}export function listLocalServiceTrees(_0x136785={}){const _0x38c308=a34_0x3c100c;return readServiceRegistry(_0x136785)[_0x38c308(0x189)]['map'](_0x133d3d=>_0x133d3d[_0x38c308(0x172)]);}export function inspectServiceRegistry(_0x128598={}){const _0xd3eeed=a34_0x3c100c,_0x4b4766=getServiceRegistryPath(_0x128598);if(!existsSync(_0x4b4766))return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x17e),![]);try{const _0x1a04ed=readFileSync(_0x4b4766,_0xd3eeed(0x166));if(!_0x1a04ed[_0xd3eeed(0x17b)]())return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x195),!![]);const _0xb62767=JSON['parse'](_0x1a04ed);if(_0xb62767[_0xd3eeed(0x15a)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':_0xb62767[_0xd3eeed(0x15a)],'message':_0xd3eeed(0x158)+String(_0xb62767['schemaVersion'])};if(!Array[_0xd3eeed(0x187)](_0xb62767[_0xd3eeed(0x189)]))return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'message':'services\x20must\x20be\x20an\x20array'};const _0x48a071=_0xb62767[_0xd3eeed(0x189)][_0xd3eeed(0x183)](summarizeLocalServiceEntry);return{'registryPath':_0x4b4766,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'serviceCount':_0x48a071[_0xd3eeed(0x19a)],'commandCount':_0x48a071[_0xd3eeed(0x16a)]((_0x188b44,_0x10b83c)=>_0x188b44+_0x10b83c[_0xd3eeed(0x171)],0x0),'services':_0x48a071};}catch(_0x24a313){return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'message':_0x24a313 instanceof Error?_0x24a313[_0xd3eeed(0x18d)]:String(_0x24a313)};}}export function formatValidationFailure(_0x243d56){const _0x3d43d1=a34_0x3c100c,_0x22d070=_0x243d56[_0x3d43d1(0x16f)]['map'](_0x28fc91=>_0x28fc91[_0x3d43d1(0x170)]+':\x20'+_0x28fc91[_0x3d43d1(0x18d)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x22d070['join']('\x0a');}function extractLoadedServiceManifests(_0x4f8a1e,_0x3cc1be){const _0x3388ac=a34_0x3c100c;if(!isServiceRegistryLike(_0x4f8a1e)){const _0x3b5ba2=_0x4f8a1e,_0x25620f=validateServiceTreeManifest(_0x3b5ba2);return[{'manifest':_0x3b5ba2,'report':_0x25620f,'normalizedManifest':_0x25620f['ok']?normalizeServiceTreeManifest(_0x3b5ba2):undefined,'sourceHash':_0x3cc1be}];}return _0x4f8a1e[_0x3388ac(0x189)][_0x3388ac(0x183)]((_0x58cb79,_0x5ec076)=>{const _0x55b91e=_0x3388ac,_0x92ad4b=isObjectRecord(_0x58cb79)?_0x58cb79[_0x55b91e(0x16d)]:undefined,_0x28f3de=validateServiceTreeManifest(_0x92ad4b),_0x40acf1=isObjectRecord(_0x58cb79)&&typeof _0x58cb79[_0x55b91e(0x17a)]==='string'?_0x58cb79['serviceCode']:undefined;return{'manifest':_0x92ad4b,'report':_0x28f3de,'normalizedManifest':_0x28f3de['ok']?normalizeServiceTreeManifest(_0x92ad4b):undefined,'sourceHash':sha256(JSON['stringify'](_0x92ad4b,null,0x2)+'\x0a'),'registryIndex':_0x5ec076,'registryServiceCode':_0x40acf1};});}function aggregateValidationReports(_0x59c6e5){const _0x2e1447=a34_0x3c100c,_0x3db8d9=_0x59c6e5[_0x2e1447(0x15d)](_0x29f071=>_0x29f071[_0x2e1447(0x193)]===undefined?_0x29f071[_0x2e1447(0x161)][_0x2e1447(0x16f)]:_0x29f071['report'][_0x2e1447(0x16f)][_0x2e1447(0x183)](_0x1ea8ff=>({..._0x1ea8ff,'path':prefixRegistryIssuePath(_0x29f071['registryIndex'],_0x1ea8ff[_0x2e1447(0x170)])}))),_0x3e60b4=_0x59c6e5[_0x2e1447(0x15d)](_0x20de5c=>_0x20de5c[_0x2e1447(0x193)]===undefined?_0x20de5c[_0x2e1447(0x161)]['warnings']:_0x20de5c[_0x2e1447(0x161)][_0x2e1447(0x17f)]['map'](_0x1f52c8=>({..._0x1f52c8,'path':prefixRegistryIssuePath(_0x20de5c['registryIndex'],_0x1f52c8['path'])})));return{'ok':_0x3db8d9['length']===0x0,'errors':_0x3db8d9,'warnings':_0x3e60b4};}function prefixRegistryIssuePath(_0x471ef3,_0x2a037b){const _0x39d0f9=a34_0x3c100c;if(_0x2a037b==='$')return'$.services['+_0x471ef3+'].manifest';if(_0x2a037b[_0x39d0f9(0x182)]('$.'))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);if(_0x2a037b[_0x39d0f9(0x182)]('$['))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x151)+_0x2a037b;}function isServiceRegistryLike(_0x430196){const _0x576710=a34_0x3c100c;return isObjectRecord(_0x430196)&&_0x430196[_0x576710(0x15a)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x430196['services']);}function isObjectRecord(_0x5623f4){const _0x29aa77=a34_0x3c100c;return Boolean(_0x5623f4)&&typeof _0x5623f4===_0x29aa77(0x155)&&!Array[_0x29aa77(0x187)](_0x5623f4);}function emptyServiceRegistryInspection(_0x3dfa07,_0xc654a9,_0xea261c){return{'registryPath':_0x3dfa07,'exists':_0xea261c,'status':_0xc654a9,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x252fe7){const _0x39da98=a34_0x3c100c,_0x5e0e41=_0x252fe7[_0x39da98(0x172)],_0x13ef66=_0x5e0e41[_0x39da98(0x163)][_0x39da98(0x183)](_0x45f061=>({'path':_0x45f061[_0x39da98(0x16c)],'description':_0x45f061[_0x39da98(0x181)],'risk':_0x45f061[_0x39da98(0x18f)],'targetKind':_0x45f061[_0x39da98(0x190)][_0x39da98(0x174)],'targetCommand':_0x45f061[_0x39da98(0x190)][_0x39da98(0x15e)]}));return{'serviceCode':_0x252fe7[_0x39da98(0x17a)],'name':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x19d)],'description':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x181)],'version':_0x252fe7[_0x39da98(0x18c)],'importedAt':_0x252fe7['importedAt'],'source':_0x252fe7[_0x39da98(0x1a0)],'commandCount':_0x13ef66[_0x39da98(0x19a)],'commands':_0x13ef66};}function sha256(_0x4623b6){const _0x5828a2=a34_0x3c100c;return createHash(_0x5828a2(0x1a2))[_0x5828a2(0x19e)](_0x4623b6)['digest'](_0x5828a2(0x14e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0x2f6f7b=a35_0x2d73;(function(_0x5df2e0,_0x562e80){const _0x5cd1ac=a35_0x2d73,_0xd840ba=_0x5df2e0();while(!![]){try{const _0x2b1324=-parseInt(_0x5cd1ac(0x1ef))/0x1+parseInt(_0x5cd1ac(0x20c))/0x2+-parseInt(_0x5cd1ac(0x201))/0x3*(-parseInt(_0x5cd1ac(0x1f7))/0x4)+parseInt(_0x5cd1ac(0x205))/0x5*(parseInt(_0x5cd1ac(0x208))/0x6)+parseInt(_0x5cd1ac(0x1fd))/0x7+-parseInt(_0x5cd1ac(0x209))/0x8+-parseInt(_0x5cd1ac(0x1f4))/0x9;if(_0x2b1324===_0x562e80)break;else _0xd840ba['push'](_0xd840ba['shift']());}catch(_0x172eef){_0xd840ba['push'](_0xd840ba['shift']());}}}(a35_0x2c17,0xbe745));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a35_0x2d73(_0x4ef594,_0x449682){_0x4ef594=_0x4ef594-0x1ee;const _0x2c1700=a35_0x2c17();let _0x2d73ee=_0x2c1700[_0x4ef594];return _0x2d73ee;}function a35_0x2c17(){const _0x5f5b4a=['skillName','path','content','rendered','2522492WJUrbo','target','type','Created\x20local\x20Skill\x20draft\x20','276117MguoDJ','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','6368975BvYXdA','Refusing\x20to\x20overwrite\x20symlink:\x20','isSymbolicLink','6AQdHMY','1394176kdwDYo','files','skill','2277324gXQoGd','skillDir','956503sKlxZt','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','force','map','validation','19354347fhICLm','create','name','56slXRXV','bool'];a35_0x2c17=function(){return _0x5f5b4a;};return a35_0x2c17();}export const createCommand={'service':a35_0x2f6f7b(0x20b),'command':a35_0x2f6f7b(0x1f5),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5536cd){const _0x100574=a35_0x2f6f7b,_0x3ba8a6=buildSkillCreatePlan(_0x5536cd[_0x100574(0x203)](_0x100574(0x1f6)),_0x5536cd[_0x100574(0x203)]('type'),_0x5536cd[_0x100574(0x203)](_0x100574(0x1fe)));return{'method':'WRITE','url':_0x3ba8a6[_0x100574(0x1ee)],'body':{'skillName':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1f9)],'type':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x1ff)],'selfContained':!![],'files':_0x3ba8a6[_0x100574(0x1fc)][_0x100574(0x20a)]['map'](_0x329665=>_0x329665[_0x100574(0x1fa)])},'description':_0x100574(0x204)};},async 'execute'(_0x505884){const _0x8c6365=a35_0x2f6f7b,_0x4a2f48=buildSkillCreatePlan(_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1f6)),_0x505884[_0x8c6365(0x203)]('type'),_0x505884[_0x8c6365(0x203)](_0x8c6365(0x1fe)));return writeSkillDraft(_0x4a2f48,_0x505884[_0x8c6365(0x1f8)](_0x8c6365(0x1f1))),{'ok':!![],'data':{'skillName':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1f9)],'type':_0x4a2f48[_0x8c6365(0x1fc)][_0x8c6365(0x1ff)],'dir':_0x4a2f48[_0x8c6365(0x1ee)],'files':_0x4a2f48['rendered'][_0x8c6365(0x20a)][_0x8c6365(0x1f2)](_0x1c00b2=>_0x1c00b2[_0x8c6365(0x1fa)])},'message':_0x8c6365(0x200)+_0x4a2f48[_0x8c6365(0x1fc)]['skillName']};}};function buildSkillCreatePlan(_0xb4466f,_0x24e6d2,_0x1f596c){const _0x549904=a35_0x2f6f7b,_0x5cffbb=renderSkillTemplate({'skillName':_0xb4466f,'type':_0x24e6d2}),_0x17348c=resolve(normalizeSkillTarget(_0x1f596c));return{'rendered':_0x5cffbb,'targetRoot':_0x17348c,'skillDir':resolve(_0x17348c,_0x5cffbb[_0x549904(0x1f9)])};}function normalizeSkillTarget(_0x445ed1){return(_0x445ed1||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x597e21,_0x1e6bf1){const _0x3c5891=a35_0x2f6f7b;if(existsSync(_0x597e21[_0x3c5891(0x1ee)])){const _0x3e2e37=lstatSync(_0x597e21[_0x3c5891(0x1ee)]);if(!_0x3e2e37['isDirectory']()||_0x3e2e37[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x1f0)+_0x597e21['skillDir']);if(!_0x1e6bf1)throw CliErrors[_0x3c5891(0x1f3)]('Skill\x20directory\x20already\x20exists:\x20'+_0x597e21['skillDir'],_0x3c5891(0x202));}for(const _0x569c5d of _0x597e21[_0x3c5891(0x1fc)][_0x3c5891(0x20a)]){const _0x5ab161=resolve(_0x597e21[_0x3c5891(0x1ee)],_0x569c5d[_0x3c5891(0x1fa)]),_0x14fd7c=dirname(_0x5ab161);mkdirSync(_0x14fd7c,{'recursive':!![]});if(existsSync(_0x5ab161)&&lstatSync(_0x5ab161)[_0x3c5891(0x207)]())throw CliErrors[_0x3c5891(0x1f3)](_0x3c5891(0x206)+_0x5ab161);writeFileSync(_0x5ab161,_0x569c5d[_0x3c5891(0x1fb)],'utf8');}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x5bba66=a36_0x43b3;(function(_0x5227b4,_0x3785bd){const _0x327784=a36_0x43b3,_0x7ed755=_0x5227b4();while(!![]){try{const _0x2abfbb=-parseInt(_0x327784(0x142))/0x1+parseInt(_0x327784(0x153))/0x2*(-parseInt(_0x327784(0x14c))/0x3)+parseInt(_0x327784(0x15b))/0x4+parseInt(_0x327784(0x161))/0x5*(parseInt(_0x327784(0x13e))/0x6)+-parseInt(_0x327784(0x15a))/0x7*(parseInt(_0x327784(0x145))/0x8)+-parseInt(_0x327784(0x15f))/0x9+parseInt(_0x327784(0x143))/0xa;if(_0x2abfbb===_0x3785bd)break;else _0x7ed755['push'](_0x7ed755['shift']());}catch(_0x29a8d0){_0x7ed755['push'](_0x7ed755['shift']());}}}(a36_0x3cc1,0xe41c9));import{CliErrors}from'../../../errors.js';function a36_0x3cc1(){const _0x454a71=['updated','authRequired','all','2383239fWMOst','scope','push','trim','version','action','Installed\x20','4CODkzC','skill','skillCode','write','length','\x20personal\x20and\x20','production','511BKTTjn','5056860zWbZCa','str','../../../skills/runtime-skill-sync.js','personal','16614567LVAcAt','created','908025OXoSLt','filter','unchanged','includes','\x20company\x20Skill(s).','company','code','6VufjVp','appCode','map','removed','249233tDbOPY','44083180qUrORa','reduce','135416oIEdHu','skipped','flatMap','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.'];a36_0x3cc1=function(){return _0x454a71;};return a36_0x3cc1();}import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a36_0x43b3(_0x53d041,_0x24983c){_0x53d041=_0x53d041-0x138;const _0x3cc183=a36_0x3cc1();let _0x43b38d=_0x3cc183[_0x53d041];return _0x43b38d;}export const installCommand={'service':a36_0x5bba66(0x154),'command':'install','description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x5bba66(0x156),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1822cc){return syncRuntimeSkills(_0x1822cc);}};async function syncRuntimeSkills(_0x51648a){const _0x44f4dd=a36_0x5bba66,{downloadRuntimeSkillPackage:_0x20d43c,listRuntimeSkills:_0x5cb60f}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x5c2dae,materializeRuntimeSkill:_0x5e63b1,pruneStaleRuntimeSkillCache:_0x3b3484,pruneStaleRuntimeSkillLinks:_0x3bbb88}=await import(_0x44f4dd(0x15d)),_0x218e82=_0x51648a['str'](_0x44f4dd(0x13d)),_0x652eda=normalizeSyncScopes(_0x51648a[_0x44f4dd(0x15c)](_0x44f4dd(0x14d))),_0x5d7006=_0x51648a['envName']??_0x44f4dd(0x159),_0x1e1ed7=_0x51648a['accessKey'];if(!_0x1e1ed7)throw CliErrors[_0x44f4dd(0x14a)](_0x44f4dd(0x148));const _0x50383f=await Promise[_0x44f4dd(0x14b)](_0x652eda[_0x44f4dd(0x140)](_0x3b6732=>_0x5cb60f({'appCode':_0x51648a[_0x44f4dd(0x13f)],'scope':_0x3b6732,'code':_0x218e82['trim']()||undefined}))),_0x36ec3a=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))?_0x50383f[_0x44f4dd(0x147)]((_0x22bf4f,_0x198a40)=>_0x652eda[_0x198a40]===_0x44f4dd(0x15e)?_0x22bf4f[_0x44f4dd(0x15e)]:[]):[],_0x5b4216=_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c))?_0x50383f[_0x44f4dd(0x147)]((_0x103c84,_0xa5189a)=>_0x652eda[_0xa5189a]===_0x44f4dd(0x13c)?_0x103c84[_0x44f4dd(0x13c)]:[]):[],_0x57ec60=new Set([..._0x36ec3a[_0x44f4dd(0x140)](_0x4823a0=>_0x4823a0[_0x44f4dd(0x155)]?.['trim']())[_0x44f4dd(0x138)](_0x158fe2=>Boolean(_0x158fe2)),..._0x5b4216[_0x44f4dd(0x140)](_0xfa61b9=>_0xfa61b9['skillCode']?.[_0x44f4dd(0x14f)]())['filter'](_0x20a593=>Boolean(_0x20a593))]),_0xce884f=_0x218e82[_0x44f4dd(0x14f)]()?[_0x218e82['trim']()]:undefined,_0x490064=_0x652eda['length']===0x2&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x15e))&&_0x652eda[_0x44f4dd(0x13a)](_0x44f4dd(0x13c)),_0x84e75d=_0x490064?_0x3bbb88(_0x51648a[_0x44f4dd(0x13f)],_0x57ec60,{},_0xce884f):[],_0x4bd95a=_0x3b3484({'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'activeSkillCodes':_0x57ec60,'pruneSkillCodes':_0xce884f,'scopes':_0x652eda}),_0x45e45f=[];for(const _0x101068 of _0x36ec3a){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x101068,_0x44f4dd(0x15e),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x101068,_0x44f4dd(0x15e),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}for(const _0x8a3118 of _0x5b4216){_0x45e45f[_0x44f4dd(0x14e)](_0x5e63b1(_0x8a3118,_0x44f4dd(0x13c),{'env':_0x5d7006,'accessKey':_0x1e1ed7,'appCode':_0x51648a[_0x44f4dd(0x13f)],'packageBytes':await downloadSkillPackage(_0x8a3118,_0x44f4dd(0x13c),_0x51648a[_0x44f4dd(0x13f)],_0x20d43c)}));}const _0x1ffc8b=_0x5c2dae(_0x45e45f,_0x51648a['appCode']),_0x1dff77=countLinkActions(_0x1ffc8b);return{'ok':!![],'data':{'appCode':_0x51648a[_0x44f4dd(0x13f)],'personal':_0x36ec3a[_0x44f4dd(0x157)],'company':_0x5b4216[_0x44f4dd(0x157)],'materialized':_0x45e45f['length'],'links':{'total':_0x1ffc8b['length'],'created':_0x1dff77[_0x44f4dd(0x160)]??0x0,'updated':_0x1dff77[_0x44f4dd(0x149)]??0x0,'unchanged':_0x1dff77[_0x44f4dd(0x139)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x84e75d[_0x44f4dd(0x138)](_0x5b5bf5=>_0x5b5bf5[_0x44f4dd(0x151)]==='removed')[_0x44f4dd(0x157)],'cacheDirs':_0x4bd95a[_0x44f4dd(0x138)](_0x2e673b=>_0x2e673b[_0x44f4dd(0x151)]===_0x44f4dd(0x141))[_0x44f4dd(0x157)],'skipped':[..._0x84e75d,..._0x4bd95a]['filter'](_0x1c131e=>_0x1c131e[_0x44f4dd(0x151)]===_0x44f4dd(0x146))[_0x44f4dd(0x157)]},'skills':{'personal':_0x36ec3a[_0x44f4dd(0x140)](summarizeRuntimeSkill),'company':_0x5b4216[_0x44f4dd(0x140)](summarizeRuntimeSkill)}},'message':_0x44f4dd(0x152)+_0x36ec3a[_0x44f4dd(0x157)]+_0x44f4dd(0x158)+_0x5b4216[_0x44f4dd(0x157)]+_0x44f4dd(0x13b)};}async function downloadSkillPackage(_0xa22a08,_0x579f51,_0x7ab232,_0x525dc9){const _0x102db6=a36_0x5bba66,_0x58c5df=_0xa22a08[_0x102db6(0x150)]?.[_0x102db6(0x14f)]();return _0x58c5df?_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232,_0x58c5df):_0x525dc9(_0x579f51,_0xa22a08[_0x102db6(0x155)],_0x7ab232);}function countLinkActions(_0x5f4277){const _0x125ace=a36_0x5bba66;return _0x5f4277[_0x125ace(0x144)]((_0x2619c1,_0x16cc95)=>{const _0x4799c0=_0x125ace;return _0x2619c1[_0x16cc95[_0x4799c0(0x151)]]=(_0x2619c1[_0x16cc95[_0x4799c0(0x151)]]??0x0)+0x1,_0x2619c1;},{});}
|