@lovrabet/lovrabet-cli 2.1.4-beta.1 → 2.1.5
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 +1 -1
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x6db92=a27_0x3431;(function(_0x131438,_0x13cce0){const _0x336283=a27_0x3431,_0x4eabb0=_0x131438();while(!![]){try{const _0x2b927f=parseInt(_0x336283(0x109))/0x1+-parseInt(_0x336283(0x125))/0x2*(parseInt(_0x336283(0x100))/0x3)+-parseInt(_0x336283(0x103))/0x4+-parseInt(_0x336283(0x114))/0x5*(-parseInt(_0x336283(0x120))/0x6)+parseInt(_0x336283(0xfb))/0x7+-parseInt(_0x336283(0x108))/0x8*(parseInt(_0x336283(0x104))/0x9)+parseInt(_0x336283(0xf3))/0xa*(parseInt(_0x336283(0x10d))/0xb);if(_0x2b927f===_0x13cce0)break;else _0x4eabb0['push'](_0x4eabb0['shift']());}catch(_0x3b883c){_0x4eabb0['push'](_0x4eabb0['shift']());}}}(a27_0x25d4,0x8e35f));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x6db92(0xed),'type':a27_0x6db92(0xe7),'required':!![],'description':a27_0x6db92(0x115)},FILE_FLAG={'name':'file','type':a27_0x6db92(0xe7),'required':!![],'description':a27_0x6db92(0x107)},QUERY_FLAG={'name':a27_0x6db92(0xe2),'type':a27_0x6db92(0xe7),'required':!![],'description':a27_0x6db92(0x11e)},TOPK_FLAG={'name':a27_0x6db92(0x110),'type':a27_0x6db92(0xf0),'description':a27_0x6db92(0xf6)};function readKnowledgeFile(_0x164edf){const _0x516d2f=a27_0x6db92;if(!_0x164edf)throw CliErrors[_0x516d2f(0x10a)](_0x516d2f(0xfe));if(!existsSync(_0x164edf))throw CliErrors[_0x516d2f(0x10a)](_0x516d2f(0x123)+_0x164edf);if(!statSync(_0x164edf)[_0x516d2f(0xe3)]())throw CliErrors[_0x516d2f(0x10a)](_0x516d2f(0x10c)+_0x164edf);return readFileSync(_0x164edf,'utf8');}function summarizePersonalItem(_0x2c157d){const _0x38692e=a27_0x6db92;return{'id':_0x2c157d['id'],'title':_0x2c157d['title'],'version':_0x2c157d[_0x38692e(0x106)],'ragStatus':_0x2c157d[_0x38692e(0xff)],'ragErrorMessage':_0x2c157d[_0x38692e(0xf5)],'updateTime':_0x2c157d[_0x38692e(0xea)]};}function detailPersonalItem(_0x1a7bbc){const _0x1fd53a=a27_0x6db92;return{'id':_0x1a7bbc['id'],'appCode':_0x1a7bbc[_0x1fd53a(0x11a)],'scope':_0x1a7bbc[_0x1fd53a(0x126)],'userId':_0x1a7bbc[_0x1fd53a(0xe6)],'title':_0x1a7bbc[_0x1fd53a(0xed)],'content':_0x1a7bbc[_0x1fd53a(0x11b)]??'','version':_0x1a7bbc['version'],'ragStatus':_0x1a7bbc[_0x1fd53a(0xff)],'ragErrorMessage':_0x1a7bbc['ragErrorMessage'],'createTime':_0x1a7bbc[_0x1fd53a(0xf4)],'updateTime':_0x1a7bbc[_0x1fd53a(0xea)]};}function summarizeSearchHit(_0x8cbfd0){const _0x4907d2=a27_0x6db92;return{'scope':_0x8cbfd0[_0x4907d2(0x126)],'docId':_0x8cbfd0[_0x4907d2(0xe8)],'score':_0x8cbfd0[_0x4907d2(0xef)],'weightedScore':_0x8cbfd0['weightedScore'],'content':_0x8cbfd0[_0x4907d2(0x11b)],'metadata':_0x8cbfd0[_0x4907d2(0x102)]};}function readTopK(_0x18931e){const _0x367f10=a27_0x6db92,_0x14c9fd=_0x18931e[_0x367f10(0x105)](_0x367f10(0x110));if(_0x14c9fd===undefined||_0x14c9fd===null||_0x14c9fd==='')return undefined;const _0x1e3a51=_0x18931e[_0x367f10(0x10e)]('topk');if(!Number[_0x367f10(0xfc)](_0x1e3a51)||_0x1e3a51<0x1)throw CliErrors[_0x367f10(0x10a)](_0x367f10(0x11f));return _0x1e3a51;}function a27_0x3431(_0x3d3ae1,_0x3c8f80){_0x3d3ae1=_0x3d3ae1-0xe2;const _0x25d45a=a27_0x25d4();let _0x3431d9=_0x25d45a[_0x3d3ae1];return _0x3431d9;}const kbList={'service':'kb','command':a27_0x6db92(0xf8),'description':a27_0x6db92(0x11c),'risk':a27_0x6db92(0xfa),'flags':[VERBOSE_FLAG],async 'execute'(_0x1a06ef){const _0x129d97=a27_0x6db92,_0x23a130=await listPersonalKnowledgeBaseItems(_0x1a06ef['appCode']);if(_0x1a06ef[_0x129d97(0xe9)](_0x129d97(0x121)))return{'ok':!![],'data':{'total':_0x23a130['length'],'items':_0x23a130}};return{'ok':!![],'data':{'total':_0x23a130[_0x129d97(0x101)],'items':_0x23a130[_0x129d97(0xe5)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x6db92(0x116),'description':a27_0x6db92(0xeb),'risk':a27_0x6db92(0xfa),'flags':[{...ID_FLAG,'description':a27_0x6db92(0xf1)}],async 'execute'(_0x52af70){const _0xfdf091=a27_0x6db92,_0x1ee886=await getPersonalKnowledgeBaseItem(_0x52af70['num']('id'),_0x52af70[_0xfdf091(0x11a)]);return{'ok':!![],'data':detailPersonalItem(_0x1ee886)};}},kbCreate={'service':'kb','command':'create','description':a27_0x6db92(0x10b),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x4cb0f5){const _0x361845=a27_0x6db92,_0xd47edf=_0x4cb0f5['str'](_0x361845(0xed)),_0x11a412=readKnowledgeFile(_0x4cb0f5[_0x361845(0x122)](_0x361845(0x119))),_0x3db8cb=await createPersonalKnowledgeBaseItem(_0x4cb0f5[_0x361845(0x11a)],{'title':_0xd47edf,'content':_0x11a412});return{'ok':!![],'data':summarizePersonalItem(_0x3db8cb),'message':_0x361845(0x117)+_0x3db8cb['id']+'\x20('+_0x3db8cb['title']+')'};},async 'dryRun'(_0x2100cf){const _0x21f1bd=a27_0x6db92,_0x1876b5=_0x2100cf[_0x21f1bd(0x122)](_0x21f1bd(0xed)),_0x45514b=readKnowledgeFile(_0x2100cf[_0x21f1bd(0x122)](_0x21f1bd(0x119)));return dryRun(_0x21f1bd(0x111),_0x21f1bd(0x113))[_0x21f1bd(0x124)]({'appCode':_0x2100cf[_0x21f1bd(0x11a)],'title':_0x1876b5,'content':_0x45514b})[_0x21f1bd(0x118)](_0x21f1bd(0xe4)+_0x1876b5+'\x22')[_0x21f1bd(0xec)]();}},kbUpdate={'service':'kb','command':a27_0x6db92(0xf9),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':'write','flags':[{...ID_FLAG,'description':a27_0x6db92(0xf1)},{...TITLE_FLAG,'required':![],'description':a27_0x6db92(0xee)},FILE_FLAG],async 'execute'(_0x1bbd85){const _0x1f8dd7=a27_0x6db92,_0x4cc884=_0x1bbd85['num']('id'),_0x2447f6=readKnowledgeFile(_0x1bbd85[_0x1f8dd7(0x122)](_0x1f8dd7(0x119))),_0x244b2d=_0x1bbd85[_0x1f8dd7(0x122)]('title')||(await getPersonalKnowledgeBaseItem(_0x4cc884,_0x1bbd85['appCode']))['title'],_0x47a04c=await updatePersonalKnowledgeBaseItem(_0x4cc884,_0x1bbd85[_0x1f8dd7(0x11a)],{'title':_0x244b2d,'content':_0x2447f6});return{'ok':!![],'data':summarizePersonalItem(_0x47a04c),'message':_0x1f8dd7(0xf2)+_0x47a04c['id']+'\x20('+_0x47a04c[_0x1f8dd7(0xed)]+')'};},async 'dryRun'(_0x20dd32){const _0x47c515=a27_0x6db92,_0x4567ce=_0x20dd32['num']('id'),_0x5673a1=readKnowledgeFile(_0x20dd32[_0x47c515(0x122)](_0x47c515(0x119))),_0x51444e=_0x20dd32[_0x47c515(0x122)]('title')||(await getPersonalKnowledgeBaseItem(_0x4567ce,_0x20dd32['appCode']))[_0x47c515(0xed)];return dryRun(_0x47c515(0x111),_0x47c515(0xf7)+_0x4567ce+'/update')[_0x47c515(0x124)]({'appCode':_0x20dd32[_0x47c515(0x11a)],'title':_0x51444e,'content':_0x5673a1})[_0x47c515(0x118)](_0x47c515(0x11d)+_0x4567ce)[_0x47c515(0xec)]();}},kbSearch={'service':'kb','command':a27_0x6db92(0x10f),'description':a27_0x6db92(0x112),'risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x2560c7){const _0x513ade=a27_0x6db92;if(!_0x2560c7['str'](_0x513ade(0xe2))[_0x513ade(0xfd)]())throw CliErrors[_0x513ade(0x10a)]('Search\x20query\x20is\x20required.');readTopK(_0x2560c7);},async 'execute'(_0x4bcde2){const _0xc5e921=a27_0x6db92,_0x1c8a6f=_0x4bcde2[_0xc5e921(0x122)](_0xc5e921(0xe2))[_0xc5e921(0xfd)](),_0xe65fcd=readTopK(_0x4bcde2),_0x40faad=await searchKnowledgeBase(_0x4bcde2[_0xc5e921(0x11a)],{'query':_0x1c8a6f,'topK':_0xe65fcd});return{'ok':!![],'data':{'total':_0x40faad[_0xc5e921(0x101)],'hits':_0x40faad[_0xc5e921(0xe5)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];function a27_0x25d4(){const _0xde6795=['flag','version','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','16VUMlIR','471542DlfkrX','validation','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','File\x20is\x20not\x20a\x20regular\x20file:\x20','2518637FGTPLr','num','search','topk','POST','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','/client/knowledge-base/personal/create','2082090hMoluA','Personal\x20knowledge-base\x20entry\x20title','detail','Created\x20KB\x20entry\x20','description','file','appCode','content','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','--topk\x20must\x20be\x20a\x20positive\x20number.','12hArKhV','verbose','str','File\x20not\x20found:\x20','body','114zsBple','scope','query','isFile','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','map','userId','string','docId','bool','updateTime','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','build','title','Override\x20the\x20existing\x20entry\x20title','score','number','Personal\x20knowledge-base\x20entry\x20ID','Updated\x20KB\x20entry\x20','10VNkYtO','createTime','ragErrorMessage','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','/client/knowledge-base/personal/','list','update','read','2197622aBDRkO','isFinite','trim','File\x20path\x20is\x20required.','ragStatus','14475WpsokP','length','metadata','2505916FROcuO','1634814TixGDz'];a27_0x25d4=function(){return _0xde6795;};return a27_0x25d4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a28_0x889b(){const _0x27b2f1=['write','162260UwIReG','level','en-US','duration','\x20\x20\x20Time:\x20','log','View\x20command\x20history\x20logs','544306KUhcbH','Clear\x20command\x20history\x20logs','1624990BKTyXe','forEach','length','error','read','details','message','3356991NtydXT','66sPGBbG','toLocaleString','logs','readLogs','clearLogs','*\x20No\x20logs\x20found','command','*\x20Logs\x20cleared','\x20\x20\x20Duration:\x20','8kivOlS','362598HAMcey','279055uFdeIp','\x20\x20\x20Details:\x20','510246rbnoXM'];a28_0x889b=function(){return _0x27b2f1;};return a28_0x889b();}const a28_0x48467a=a28_0x1033;(function(_0x4c487c,_0x35d9e9){const _0x59754e=a28_0x1033,_0x4e88d0=_0x4c487c();while(!![]){try{const _0x3233ba=-parseInt(_0x59754e(0x10d))/0x1+parseInt(_0x59754e(0x119))/0x2+-parseInt(_0x59754e(0x110))/0x3+parseInt(_0x59754e(0x112))/0x4+-parseInt(_0x59754e(0xfb))/0x5+-parseInt(_0x59754e(0x103))/0x6*(-parseInt(_0x59754e(0x10e))/0x7)+parseInt(_0x59754e(0x10c))/0x8*(parseInt(_0x59754e(0x102))/0x9);if(_0x3233ba===_0x35d9e9)break;else _0x4e88d0['push'](_0x4e88d0['shift']());}catch(_0x1d9b2f){_0x4e88d0['push'](_0x4e88d0['shift']());}}}(a28_0x889b,0x4113a));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x4c5777){const _0x3e5763=a28_0x1033;if(_0x4c5777[_0x3e5763(0xfd)]===0x0){console[_0x3e5763(0x117)](_0x3e5763(0x108));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x4c5777[_0x3e5763(0xfc)]((_0x411102,_0x38c59f)=>{const _0xb2791d=_0x3e5763,_0x307b91=new Date(_0x411102['timestamp'])[_0xb2791d(0x104)](_0xb2791d(0x114)),_0x1b901d=_0x411102['level']==='success'?'√':_0x411102[_0xb2791d(0x113)]===_0xb2791d(0xfe)?'×':_0x411102['level']==='warn'?'!':'i';console['log'](_0x38c59f+0x1+'.\x20'+_0x1b901d+'\x20['+_0x411102[_0xb2791d(0x109)]+']\x20'+_0x411102[_0xb2791d(0x101)]),console['log'](_0xb2791d(0x116)+_0x307b91),_0x411102[_0xb2791d(0x115)]&&console[_0xb2791d(0x117)](_0xb2791d(0x10b)+_0x411102[_0xb2791d(0x115)]+'ms'),_0x411102[_0xb2791d(0x100)]&&Object['keys'](_0x411102[_0xb2791d(0x100)])[_0xb2791d(0xfd)]>0x0&&console[_0xb2791d(0x117)](_0xb2791d(0x10f)+JSON['stringify'](_0x411102[_0xb2791d(0x100)],null,0x2)),console[_0xb2791d(0x117)]('');});}function a28_0x1033(_0x23068e,_0x560cbb){_0x23068e=_0x23068e-0xfa;const _0x889b75=a28_0x889b();let _0x1033a8=_0x889b75[_0x23068e];return _0x1033a8;}export const logsDefinitions=[{'service':a28_0x48467a(0x105),'command':'show','description':a28_0x48467a(0x118),'risk':a28_0x48467a(0xff),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x10bed5){const _0x2e87fd=a28_0x48467a;return printLogs(logger[_0x2e87fd(0x106)]()),{'ok':!![]};}},{'service':a28_0x48467a(0x105),'command':'clear','description':a28_0x48467a(0xfa),'risk':a28_0x48467a(0x111),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5d93e9){const _0x4d994f=a28_0x48467a;return logger[_0x4d994f(0x107)](),console[_0x4d994f(0x117)](_0x4d994f(0x10a)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0x3c1830=a29_0x4813;(function(_0xf70730,_0x443d85){const _0x5650e3=a29_0x4813,_0x2f8ad4=_0xf70730();while(!![]){try{const _0x1ae3f2=-parseInt(_0x5650e3(0x12e))/0x1+parseInt(_0x5650e3(0x157))/0x2+parseInt(_0x5650e3(0x121))/0x3+parseInt(_0x5650e3(0x12a))/0x4+parseInt(_0x5650e3(0x15d))/0x5+parseInt(_0x5650e3(0x145))/0x6*(-parseInt(_0x5650e3(0x149))/0x7)+-parseInt(_0x5650e3(0x122))/0x8*(parseInt(_0x5650e3(0x12c))/0x9);if(_0x1ae3f2===_0x443d85)break;else _0x2f8ad4['push'](_0x2f8ad4['shift']());}catch(_0x347a5d){_0x2f8ad4['push'](_0x2f8ad4['shift']());}}}(a29_0x4f3b,0x5469a));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_0x3c1830(0x12d),'type':'string','description':a29_0x3c1830(0x14d)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x3c1830(0x147),'required':!![],'description':a29_0x3c1830(0x13b)},DESCRIPTION_FLAG={'name':'description','type':a29_0x3c1830(0x147),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x3c1830(0x15e),'type':a29_0x3c1830(0x147),'description':a29_0x3c1830(0x152)};function a29_0x4813(_0x4f508f,_0x3949d8){_0x4f508f=_0x4f508f-0x117;const _0x4f3b02=a29_0x4f3b();let _0x481365=_0x4f3b02[_0x4f508f];return _0x481365;}function normalizeFunctionName(_0x5f55dc){const _0x2c27f4=a29_0x3c1830,_0x1e25c9=String(_0x5f55dc||'')['trim']();if(!_0x1e25c9||!FUNCTION_NAME_PATTERN[_0x2c27f4(0x118)](_0x1e25c9))throw CliErrors[_0x2c27f4(0x151)](_0x2c27f4(0x13d));return _0x1e25c9;}function readScriptFile(_0x182469){const _0x4cc7b3=a29_0x3c1830;if(!_0x182469)throw CliErrors[_0x4cc7b3(0x151)](_0x4cc7b3(0x139));if(!existsSync(_0x182469))throw CliErrors[_0x4cc7b3(0x151)]('File\x20not\x20found:\x20'+_0x182469);if(!statSync(_0x182469)[_0x4cc7b3(0x15f)]())throw CliErrors['validation'](_0x4cc7b3(0x15b)+_0x182469);const _0x29a322=readFileSync(_0x182469,_0x4cc7b3(0x150));if(!_0x29a322[_0x4cc7b3(0x124)]())throw CliErrors[_0x4cc7b3(0x151)](_0x4cc7b3(0x12b));return _0x29a322;}function optionalTrimmed(_0x20ad0d){const _0x43a28d=String(_0x20ad0d||'')['trim']();return _0x43a28d||undefined;}function summarizeBff(_0x59b4fa){const _0x20be82=a29_0x3c1830;return{'id':_0x59b4fa['id'],'appCode':_0x59b4fa[_0x20be82(0x156)],'functionName':_0x59b4fa[_0x20be82(0x15c)],'description':_0x59b4fa[_0x20be82(0x131)],'scriptType':_0x59b4fa[_0x20be82(0x11e)],'version':_0x59b4fa[_0x20be82(0x136)],'gmtModified':_0x59b4fa[_0x20be82(0x153)],'updateTime':_0x59b4fa[_0x20be82(0x125)]};}function detailBff(_0x153b1d){const _0x44b0d3=a29_0x3c1830;return{'id':_0x153b1d['id'],'appCode':_0x153b1d[_0x44b0d3(0x156)],'functionName':_0x153b1d[_0x44b0d3(0x15c)],'description':_0x153b1d[_0x44b0d3(0x131)],'scriptType':_0x153b1d[_0x44b0d3(0x11e)],'scriptContent':_0x153b1d[_0x44b0d3(0x11c)]??'','config':_0x153b1d[_0x44b0d3(0x14e)],'version':_0x153b1d['version'],'createUserId':_0x153b1d[_0x44b0d3(0x159)],'gmtCreate':_0x153b1d['gmtCreate'],'gmtModified':_0x153b1d[_0x44b0d3(0x153)],'createTime':_0x153b1d[_0x44b0d3(0x15a)],'updateTime':_0x153b1d['updateTime']};}function buildCreateInput(_0xb3aa2){const _0x12defd=a29_0x3c1830;return{'functionName':normalizeFunctionName(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x13f))),...optionalTrimmed(_0xb3aa2['str'](_0x12defd(0x131)))?{'description':optionalTrimmed(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x131)))}:{},'scriptContent':readScriptFile(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x12d))),...optionalTrimmed(_0xb3aa2['str']('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0xb3aa2['str']('source-session-id'))}:{}};}function buildUpdateInput(_0x27541b){const _0x12afea=a29_0x3c1830,_0x2faf9b={};optionalTrimmed(_0x27541b[_0x12afea(0x14a)](_0x12afea(0x13f)))&&(_0x2faf9b['functionName']=normalizeFunctionName(_0x27541b[_0x12afea(0x14a)](_0x12afea(0x13f))));_0x27541b[_0x12afea(0x13a)](_0x12afea(0x131))!==undefined&&(_0x2faf9b[_0x12afea(0x131)]=_0x27541b['str'](_0x12afea(0x131)));optionalTrimmed(_0x27541b[_0x12afea(0x14a)]('file'))&&(_0x2faf9b[_0x12afea(0x11c)]=readScriptFile(_0x27541b['str'](_0x12afea(0x12d))));_0x27541b[_0x12afea(0x13a)]('source-session-id')!==undefined&&(_0x2faf9b[_0x12afea(0x146)]=_0x27541b[_0x12afea(0x14a)](_0x12afea(0x15e)));if(Object[_0x12afea(0x154)](_0x2faf9b)[_0x12afea(0x134)]===0x0)throw CliErrors['validation'](_0x12afea(0x143));return _0x2faf9b;}function parseExecParams(_0x11af2f){const _0x428c46=a29_0x3c1830,_0x13f7f4=parseJsonParams(_0x11af2f)??{};if(Array[_0x428c46(0x148)](_0x13f7f4))throw CliErrors[_0x428c46(0x151)](_0x428c46(0x130));return _0x13f7f4;}const personalBffList={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x132),'description':a29_0x3c1830(0x119),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x312408){const _0x366b5b=a29_0x3c1830,_0x30d5c9=await listPersonalBffs(_0x312408[_0x366b5b(0x156)]);return{'ok':!![],'data':{'total':_0x30d5c9[_0x366b5b(0x134)],'items':_0x312408[_0x366b5b(0x128)](_0x366b5b(0x14f))?_0x30d5c9:_0x30d5c9['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x129),'description':a29_0x3c1830(0x158),'risk':a29_0x3c1830(0x137),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x18fee5){const _0x285af7=a29_0x3c1830,_0x6b230b=await getPersonalBff(_0x18fee5[_0x285af7(0x14c)]('id'),_0x18fee5[_0x285af7(0x156)]);return{'ok':!![],'data':detailBff(_0x6b230b)};}},personalBffCreate={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x120),'description':a29_0x3c1830(0x126),'risk':a29_0x3c1830(0x123),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4a6b15){const _0x2c2165=a29_0x3c1830,_0x303056=buildCreateInput(_0x4a6b15),_0x5f0dc5=await createPersonalBff(_0x4a6b15['appCode'],_0x303056);return{'ok':!![],'data':detailBff(_0x5f0dc5),'message':_0x2c2165(0x12f)+_0x5f0dc5['id']+(_0x5f0dc5[_0x2c2165(0x15c)]?'\x20('+_0x5f0dc5[_0x2c2165(0x15c)]+')':'')};},async 'dryRun'(_0xea9432){const _0x215758=a29_0x3c1830,_0x374b31=buildCreateInput(_0xea9432);return dryRun('POST',_0x215758(0x127))[_0x215758(0x140)]({'appCode':_0xea9432[_0x215758(0x156)],..._0x374b31})['description']('Preview:\x20create\x20personal\x20BFF\x20'+_0x374b31[_0x215758(0x15c)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x3c1830(0x141),'description':a29_0x3c1830(0x13e),'risk':a29_0x3c1830(0x123),'flags':[{...ID_FLAG,'description':a29_0x3c1830(0x13c)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x42dfb6){const _0x501be6=a29_0x3c1830,_0x1e5f29=_0x42dfb6[_0x501be6(0x14c)]('id'),_0xce21d=buildUpdateInput(_0x42dfb6),_0x349e15=await updatePersonalBff(_0x1e5f29,_0x42dfb6[_0x501be6(0x156)],_0xce21d);return{'ok':!![],'data':detailBff(_0x349e15),'message':_0x501be6(0x11f)+_0x349e15['id']+(_0x349e15['functionName']?'\x20('+_0x349e15['functionName']+')':'')};},async 'dryRun'(_0x1441fe){const _0x51e8eb=a29_0x3c1830,_0x9c8874=_0x1441fe['num']('id'),_0x56238e=buildUpdateInput(_0x1441fe);return dryRun('POST',_0x51e8eb(0x142)+_0x9c8874+_0x51e8eb(0x133))['body']({'appCode':_0x1441fe[_0x51e8eb(0x156)],..._0x56238e})[_0x51e8eb(0x131)](_0x51e8eb(0x155)+_0x9c8874)[_0x51e8eb(0x138)]();}},personalBffExec={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x144),'description':a29_0x3c1830(0x11d),'risk':a29_0x3c1830(0x14b),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x3c1830(0x11a)}],async 'validate'(_0x317599){const _0x302a7e=a29_0x3c1830;parseExecParams(_0x317599[_0x302a7e(0x14a)](_0x302a7e(0x117)));},async 'execute'(_0x3eedd9){const _0x52351d=a29_0x3c1830,_0x31b673=_0x3eedd9[_0x52351d(0x14c)]('id'),_0x16c964=parseExecParams(_0x3eedd9[_0x52351d(0x14a)]('params')),_0x5afcaf=await executePersonalBff(_0x31b673,_0x3eedd9[_0x52351d(0x156)],_0x16c964);return{'ok':!![],'data':{'result':_0x5afcaf},'message':_0x52351d(0x135)+_0x31b673};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];function a29_0x4f3b(){const _0x1565f4=['exec','354870qaFNhK','sourceSessionId','string','isArray','14WZtqBX','str','high-risk-write','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','config','verbose','utf8','validation','Optional\x20source\x20RuntimeAgent\x20session\x20id','gmtModified','keys','Preview:\x20update\x20personal\x20BFF\x20','appCode','994968egUHnG','Show\x20one\x20personal\x20BFF\x20by\x20id','createUserId','createTime','File\x20is\x20not\x20a\x20regular\x20file:\x20','functionName','2855480eyBXyG','source-session-id','isFile','params','test','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','personal-bff','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptType','Updated\x20personal\x20BFF\x20','create','530406cWbmAO','8501128VpSisb','write','trim','updateTime','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','/client/runtime-bff/personal/create','bool','detail','1377124jlMjhN','Personal\x20BFF\x20script\x20file\x20is\x20blank.','9sokqfW','file','62978NxNbXQ','Created\x20personal\x20BFF\x20','--params\x20must\x20be\x20a\x20JSON\x20object.','description','list','/update','length','Executed\x20personal\x20BFF\x20','version','read','build','File\x20path\x20is\x20required.','flag','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Personal\x20BFF\x20script\x20ID','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Update\x20a\x20personal\x20BFF\x20by\x20id','name','body','update','/client/runtime-bff/personal/','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.'];a29_0x4f3b=function(){return _0x1565f4;};return a29_0x4f3b();}
|
|
1
|
+
function a29_0x142f(_0x5a9090,_0x1c7542){_0x5a9090=_0x5a9090-0x1bc;const _0x2fe99b=a29_0x2fe9();let _0x142fef=_0x2fe99b[_0x5a9090];return _0x142fef;}const a29_0x3b2f19=a29_0x142f;(function(_0x5024ac,_0x2fb4cf){const _0x26ffac=a29_0x142f,_0x59dd6c=_0x5024ac();while(!![]){try{const _0x25ac37=-parseInt(_0x26ffac(0x1d8))/0x1+-parseInt(_0x26ffac(0x1f4))/0x2*(parseInt(_0x26ffac(0x1cb))/0x3)+parseInt(_0x26ffac(0x1c7))/0x4*(parseInt(_0x26ffac(0x1d1))/0x5)+parseInt(_0x26ffac(0x1e0))/0x6*(parseInt(_0x26ffac(0x1ea))/0x7)+-parseInt(_0x26ffac(0x1fe))/0x8*(parseInt(_0x26ffac(0x1c4))/0x9)+-parseInt(_0x26ffac(0x1ec))/0xa+parseInt(_0x26ffac(0x1f6))/0xb*(parseInt(_0x26ffac(0x1ce))/0xc);if(_0x25ac37===_0x2fb4cf)break;else _0x59dd6c['push'](_0x59dd6c['shift']());}catch(_0x10890f){_0x59dd6c['push'](_0x59dd6c['shift']());}}}(a29_0x2fe9,0x54c10));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':'file','type':a29_0x3b2f19(0x1c0),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a29_0x3b2f19(0x1df),'type':a29_0x3b2f19(0x1c0),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x3b2f19(0x1bc),'type':a29_0x3b2f19(0x1c0),'description':a29_0x3b2f19(0x1d9)},SOURCE_SESSION_FLAG={'name':a29_0x3b2f19(0x1e3),'type':a29_0x3b2f19(0x1c0),'description':a29_0x3b2f19(0x1cd)};function normalizeFunctionName(_0x26da28){const _0x171244=a29_0x3b2f19,_0x426678=String(_0x26da28||'')[_0x171244(0x1e5)]();if(!_0x426678||!FUNCTION_NAME_PATTERN[_0x171244(0x1ca)](_0x426678))throw CliErrors[_0x171244(0x1d7)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x426678;}function readScriptFile(_0x353fad){const _0x1ad6b0=a29_0x3b2f19;if(!_0x353fad)throw CliErrors['validation'](_0x1ad6b0(0x1e9));if(!existsSync(_0x353fad))throw CliErrors[_0x1ad6b0(0x1d7)](_0x1ad6b0(0x1be)+_0x353fad);if(!statSync(_0x353fad)[_0x1ad6b0(0x1dc)]())throw CliErrors[_0x1ad6b0(0x1d7)](_0x1ad6b0(0x1cc)+_0x353fad);const _0x43d67a=readFileSync(_0x353fad,_0x1ad6b0(0x1ef));if(!_0x43d67a[_0x1ad6b0(0x1e5)]())throw CliErrors[_0x1ad6b0(0x1d7)](_0x1ad6b0(0x1f3));return _0x43d67a;}function optionalTrimmed(_0x50d1b2){const _0x188d30=a29_0x3b2f19,_0x2b20d3=String(_0x50d1b2||'')[_0x188d30(0x1e5)]();return _0x2b20d3||undefined;}function summarizeBff(_0x695792){const _0x9ed7e9=a29_0x3b2f19;return{'id':_0x695792['id'],'appCode':_0x695792[_0x9ed7e9(0x1eb)],'functionName':_0x695792[_0x9ed7e9(0x1db)],'description':_0x695792[_0x9ed7e9(0x1bc)],'scriptType':_0x695792[_0x9ed7e9(0x1c5)],'version':_0x695792['version'],'gmtModified':_0x695792[_0x9ed7e9(0x1bd)],'updateTime':_0x695792[_0x9ed7e9(0x1f0)]};}function a29_0x2fe9(){const _0x145df6=['9084XNURlN','--params\x20must\x20be\x20a\x20JSON\x20object.','high-risk-write','source-session-id','params','trim','length','flag','keys','File\x20path\x20is\x20required.','2289eUVCcm','appCode','391240QxlmNQ','/update','personal-bff','utf8','updateTime','map','Show\x20one\x20personal\x20BFF\x20by\x20id','Personal\x20BFF\x20script\x20file\x20is\x20blank.','4qUWVZh','Update\x20a\x20personal\x20BFF\x20by\x20id','1273679sBgRbO','Preview:\x20update\x20personal\x20BFF\x20','list','detail','file','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','Executed\x20personal\x20BFF\x20','24SjJqmU','version','POST','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','createUserId','Personal\x20BFF\x20script\x20ID','description','gmtModified','File\x20not\x20found:\x20','write','string','verbose','createTime','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','566163mJFkRI','scriptType','isArray','68EcuQOC','config','read','test','914181HnKXJe','File\x20is\x20not\x20a\x20regular\x20file:\x20','Optional\x20source\x20RuntimeAgent\x20session\x20id','108PuWfQn','num','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','91880QnHpxS','Created\x20personal\x20BFF\x20','scriptContent','/client/runtime-bff/personal/create','gmtCreate','str','validation','665120ZEZEEL','Personal\x20BFF\x20description','build','functionName','isFile','sourceSessionId','body','name'];a29_0x2fe9=function(){return _0x145df6;};return a29_0x2fe9();}function detailBff(_0x459d7d){const _0x372513=a29_0x3b2f19;return{'id':_0x459d7d['id'],'appCode':_0x459d7d[_0x372513(0x1eb)],'functionName':_0x459d7d[_0x372513(0x1db)],'description':_0x459d7d[_0x372513(0x1bc)],'scriptType':_0x459d7d[_0x372513(0x1c5)],'scriptContent':_0x459d7d[_0x372513(0x1d3)]??'','config':_0x459d7d[_0x372513(0x1c8)],'version':_0x459d7d[_0x372513(0x1ff)],'createUserId':_0x459d7d[_0x372513(0x202)],'gmtCreate':_0x459d7d[_0x372513(0x1d5)],'gmtModified':_0x459d7d[_0x372513(0x1bd)],'createTime':_0x459d7d[_0x372513(0x1c2)],'updateTime':_0x459d7d[_0x372513(0x1f0)]};}function buildCreateInput(_0xda95dd){const _0x1233d3=a29_0x3b2f19;return{'functionName':normalizeFunctionName(_0xda95dd[_0x1233d3(0x1d6)]('name')),...optionalTrimmed(_0xda95dd[_0x1233d3(0x1d6)](_0x1233d3(0x1bc)))?{'description':optionalTrimmed(_0xda95dd['str'](_0x1233d3(0x1bc)))}:{},'scriptContent':readScriptFile(_0xda95dd[_0x1233d3(0x1d6)](_0x1233d3(0x1fa))),...optionalTrimmed(_0xda95dd['str']('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0xda95dd[_0x1233d3(0x1d6)](_0x1233d3(0x1e3)))}:{}};}function buildUpdateInput(_0x6c4dee){const _0x214d78=a29_0x3b2f19,_0x15c303={};optionalTrimmed(_0x6c4dee[_0x214d78(0x1d6)](_0x214d78(0x1df)))&&(_0x15c303[_0x214d78(0x1db)]=normalizeFunctionName(_0x6c4dee[_0x214d78(0x1d6)](_0x214d78(0x1df))));_0x6c4dee[_0x214d78(0x1e7)]('description')!==undefined&&(_0x15c303[_0x214d78(0x1bc)]=_0x6c4dee[_0x214d78(0x1d6)](_0x214d78(0x1bc)));optionalTrimmed(_0x6c4dee[_0x214d78(0x1d6)](_0x214d78(0x1fa)))&&(_0x15c303[_0x214d78(0x1d3)]=readScriptFile(_0x6c4dee[_0x214d78(0x1d6)](_0x214d78(0x1fa))));_0x6c4dee[_0x214d78(0x1e7)](_0x214d78(0x1e3))!==undefined&&(_0x15c303[_0x214d78(0x1dd)]=_0x6c4dee['str'](_0x214d78(0x1e3)));if(Object[_0x214d78(0x1e8)](_0x15c303)[_0x214d78(0x1e6)]===0x0)throw CliErrors[_0x214d78(0x1d7)](_0x214d78(0x1d0));return _0x15c303;}function parseExecParams(_0x3ac293){const _0xd10b21=a29_0x3b2f19,_0x7c2728=parseJsonParams(_0x3ac293)??{};if(Array[_0xd10b21(0x1c6)](_0x7c2728))throw CliErrors['validation'](_0xd10b21(0x1e1));return _0x7c2728;}const personalBffList={'service':a29_0x3b2f19(0x1ee),'command':a29_0x3b2f19(0x1f8),'description':a29_0x3b2f19(0x1fc),'risk':a29_0x3b2f19(0x1c9),'flags':[VERBOSE_FLAG],async 'execute'(_0x1e227c){const _0x21d587=a29_0x3b2f19,_0x27923b=await listPersonalBffs(_0x1e227c[_0x21d587(0x1eb)]);return{'ok':!![],'data':{'total':_0x27923b[_0x21d587(0x1e6)],'items':_0x1e227c['bool'](_0x21d587(0x1c1))?_0x27923b:_0x27923b[_0x21d587(0x1f1)](summarizeBff)}};}},personalBffDetail={'service':a29_0x3b2f19(0x1ee),'command':a29_0x3b2f19(0x1f9),'description':a29_0x3b2f19(0x1f2),'risk':a29_0x3b2f19(0x1c9),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x512e63){const _0x3791f6=a29_0x3b2f19,_0x1ed0fa=await getPersonalBff(_0x512e63[_0x3791f6(0x1cf)]('id'),_0x512e63[_0x3791f6(0x1eb)]);return{'ok':!![],'data':detailBff(_0x1ed0fa)};}},personalBffCreate={'service':a29_0x3b2f19(0x1ee),'command':'create','description':a29_0x3b2f19(0x201),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x45e57c){const _0x57b7e0=a29_0x3b2f19,_0x103eda=buildCreateInput(_0x45e57c),_0x451967=await createPersonalBff(_0x45e57c[_0x57b7e0(0x1eb)],_0x103eda);return{'ok':!![],'data':detailBff(_0x451967),'message':_0x57b7e0(0x1d2)+_0x451967['id']+(_0x451967[_0x57b7e0(0x1db)]?'\x20('+_0x451967[_0x57b7e0(0x1db)]+')':'')};},async 'dryRun'(_0x155c4f){const _0x4d8e18=a29_0x3b2f19,_0x3292c4=buildCreateInput(_0x155c4f);return dryRun('POST',_0x4d8e18(0x1d4))['body']({'appCode':_0x155c4f[_0x4d8e18(0x1eb)],..._0x3292c4})[_0x4d8e18(0x1bc)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x3292c4['functionName'])[_0x4d8e18(0x1da)]();}},personalBffUpdate={'service':a29_0x3b2f19(0x1ee),'command':'update','description':a29_0x3b2f19(0x1f5),'risk':a29_0x3b2f19(0x1bf),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5dd4ad){const _0x5aef46=a29_0x3b2f19,_0x425c7c=_0x5dd4ad['num']('id'),_0x1658e2=buildUpdateInput(_0x5dd4ad),_0x47f2a2=await updatePersonalBff(_0x425c7c,_0x5dd4ad[_0x5aef46(0x1eb)],_0x1658e2);return{'ok':!![],'data':detailBff(_0x47f2a2),'message':'Updated\x20personal\x20BFF\x20'+_0x47f2a2['id']+(_0x47f2a2[_0x5aef46(0x1db)]?'\x20('+_0x47f2a2['functionName']+')':'')};},async 'dryRun'(_0x3fd485){const _0x5f1df8=a29_0x3b2f19,_0x502737=_0x3fd485[_0x5f1df8(0x1cf)]('id'),_0x4e35ce=buildUpdateInput(_0x3fd485);return dryRun(_0x5f1df8(0x200),'/client/runtime-bff/personal/'+_0x502737+_0x5f1df8(0x1ed))[_0x5f1df8(0x1de)]({'appCode':_0x3fd485['appCode'],..._0x4e35ce})[_0x5f1df8(0x1bc)](_0x5f1df8(0x1f7)+_0x502737)[_0x5f1df8(0x1da)]();}},personalBffExec={'service':a29_0x3b2f19(0x1ee),'command':'exec','description':a29_0x3b2f19(0x1fb),'risk':a29_0x3b2f19(0x1e2),'flags':[{...ID_FLAG,'description':a29_0x3b2f19(0x203)},{...PARAMS_FLAG,'description':a29_0x3b2f19(0x1c3)}],async 'validate'(_0x4f0ce7){const _0x25a7de=a29_0x3b2f19;parseExecParams(_0x4f0ce7[_0x25a7de(0x1d6)]('params'));},async 'execute'(_0x129529){const _0x1002dd=a29_0x3b2f19,_0x342392=_0x129529[_0x1002dd(0x1cf)]('id'),_0x1190bf=parseExecParams(_0x129529[_0x1002dd(0x1d6)](_0x1002dd(0x1e4))),_0xfcc127=await executePersonalBff(_0x342392,_0x129529[_0x1002dd(0x1eb)],_0x1190bf);return{'ok':!![],'data':{'result':_0xfcc127},'message':_0x1002dd(0x1fd)+_0x342392};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x3379f8=a30_0x6574;function a30_0x6574(_0x5abd9c,_0x8306fa){_0x5abd9c=_0x5abd9c-0x10c;const _0x4d0038=a30_0x4d00();let _0x657492=_0x4d0038[_0x5abd9c];return _0x657492;}(function(_0x51de47,_0x5ac5fb){const _0x206455=a30_0x6574,_0x5727b1=_0x51de47();while(!![]){try{const _0x5cc1e9=parseInt(_0x206455(0x118))/0x1+parseInt(_0x206455(0x112))/0x2+parseInt(_0x206455(0x119))/0x3+-parseInt(_0x206455(0x130))/0x4+-parseInt(_0x206455(0x12a))/0x5*(parseInt(_0x206455(0x135))/0x6)+parseInt(_0x206455(0x12f))/0x7*(-parseInt(_0x206455(0x11b))/0x8)+-parseInt(_0x206455(0x126))/0x9*(-parseInt(_0x206455(0x115))/0xa);if(_0x5cc1e9===_0x5ac5fb)break;else _0x5727b1['push'](_0x5727b1['shift']());}catch(_0x4451a7){_0x5727b1['push'](_0x5727b1['shift']());}}}(a30_0x4d00,0x6af43));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x41a42a){const _0x23d536=a30_0x6574;for(const _0x1ecfb5 of _0x41a42a){definitions[_0x23d536(0x131)](_0x1ecfb5[_0x23d536(0x10c)]+':'+_0x1ecfb5[_0x23d536(0x10e)],_0x1ecfb5);let _0x43e298=serviceGroups[_0x23d536(0x12b)](_0x1ecfb5[_0x23d536(0x10c)]);!_0x43e298&&(_0x43e298=[],serviceGroups[_0x23d536(0x131)](_0x1ecfb5[_0x23d536(0x10c)],_0x43e298)),_0x43e298[_0x23d536(0x120)](_0x1ecfb5);}}function registerService(_0x4d9003,_0x148be9,_0x2d56aa){const _0x5befd0=a30_0x6574;registerDefinitions(_0x148be9);const _0x4c4da7=_0x46adae=>_0x46adae===_0x5befd0(0x133)?'':_0x46adae==='write'?'\x20\x20[write]':_0x5befd0(0x123),_0x38f4ae={'service':_0x148be9[0x0][_0x5befd0(0x10c)],'label':_0x4d9003,'commands':_0x148be9['map'](_0x5bfb84=>({'command':_0x5bfb84[_0x5befd0(0x10e)],'description':_0x5bfb84[_0x5befd0(0x122)],'tag':_0x4c4da7(_0x5bfb84['risk'])})),'defaultCommand':_0x2d56aa?.['defaultCommand']??(_0x2d56aa?.[_0x5befd0(0x12d)]?_0x148be9[0x0][_0x5befd0(0x10e)]:undefined),'isSingleCommand':_0x2d56aa?.[_0x5befd0(0x12d)]};serviceRegistry['push'](_0x38f4ae),serviceByName[_0x5befd0(0x131)](_0x38f4ae[_0x5befd0(0x10c)],_0x38f4ae);}function a30_0x4d00(){const _0x5231bd=['1520778TFxEBh','App\x20Management','2712184uDgAAy','run','Configuration','Workspace','values','push','CLI\x20Built-in\x20Skill','description','\x20\x20[high-risk-write]','has','Authentication','7929DstWUT','Self\x20Update','Service\x20Tree','SQL\x20Queries','5YbVELM','get','show','isSingleCommand','Instant\x20API','7xAFQfE','2740504ypDGKw','set','Logs','read','Skills','4721820diEYCP','API\x20Documentation','service','install','command','BFF\x20Scripts','Artifacts','Datasets','475714QUuxaA','from','list','12190fqiMwk','Diagnostics','login','430480uHihJm'];a30_0x4d00=function(){return _0x5231bd;};return a30_0x4d00();}registerService(a30_0x3379f8(0x125),authDefinitions,{'defaultCommand':a30_0x3379f8(0x117)}),registerService(a30_0x3379f8(0x136),apiDocDefinitions),registerService(a30_0x3379f8(0x111),datasetDefinitions),registerService(a30_0x3379f8(0x12e),dataDefinitions),registerService(a30_0x3379f8(0x129),sqlDefinitions),registerService(a30_0x3379f8(0x10f),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x3379f8(0x110),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x3379f8(0x11a),appDefinitions,{'defaultCommand':a30_0x3379f8(0x114)}),registerService(a30_0x3379f8(0x11e),workspaceDefinitions),registerService(a30_0x3379f8(0x11d),configDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3379f8(0x128),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x3379f8(0x134),skillDefinitions,{'defaultCommand':a30_0x3379f8(0x10d)}),registerService(a30_0x3379f8(0x121),cliSkillDefinitions,{'defaultCommand':a30_0x3379f8(0x10d)}),registerService(a30_0x3379f8(0x127),[updateDefinition],{'defaultCommand':a30_0x3379f8(0x11c),'isSingleCommand':!![]}),registerService(a30_0x3379f8(0x116),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x3379f8(0x132),logsDefinitions,{'defaultCommand':a30_0x3379f8(0x12c)});export function findDefinition(_0x497b81,_0x4eecbc){const _0x3b07db=a30_0x3379f8;return definitions[_0x3b07db(0x12b)](_0x497b81+':'+_0x4eecbc);}export function isKnownService(_0x2b3d5b){const _0x1f7ea8=a30_0x3379f8;return serviceByName[_0x1f7ea8(0x124)](_0x2b3d5b);}export function getServiceEntry(_0x181eec){const _0x33a90e=a30_0x3379f8;return serviceByName[_0x33a90e(0x12b)](_0x181eec);}export function getAllDefinitions(){const _0x338a74=a30_0x3379f8;return Array[_0x338a74(0x113)](definitions[_0x338a74(0x11f)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x28aee7=a31_0x5e65;(function(_0x3f1d7c,_0x1f3366){const _0x22277f=a31_0x5e65,_0x179b7b=_0x3f1d7c();while(!![]){try{const _0x34365f=parseInt(_0x22277f(0x17f))/0x1+parseInt(_0x22277f(0x17a))/0x2*(-parseInt(_0x22277f(0x175))/0x3)+parseInt(_0x22277f(0x177))/0x4*(parseInt(_0x22277f(0x17c))/0x5)+-parseInt(_0x22277f(0x179))/0x6*(-parseInt(_0x22277f(0x17e))/0x7)+parseInt(_0x22277f(0x17d))/0x8+-parseInt(_0x22277f(0x176))/0x9+-parseInt(_0x22277f(0x178))/0xa;if(_0x34365f===_0x1f3366)break;else _0x179b7b['push'](_0x179b7b['shift']());}catch(_0x103d7b){_0x179b7b['push'](_0x179b7b['shift']());}}}(a31_0x15a3,0xc1b7b));function a31_0x15a3(){const _0x2727a8=['1401323PEcilC','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','schema','30NEEJsi','3531195Kelroo','884044DsAQXF','9918720TxjCmM','54rsmeJT','222894FwLeGK','read','10QtGRTj','4279888gEVxsL','710759SkYsdv'];a31_0x15a3=function(){return _0x2727a8;};return a31_0x15a3();}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x5e65(_0xc023db,_0x2227cf){_0xc023db=_0xc023db-0x172;const _0x15a344=a31_0x15a3();let _0x5e6541=_0x15a344[_0xc023db];return _0x5e6541;}async function execute(_0x1cd4a7){const _0x3f6e47=await buildSchemaPayload();return{'ok':!![],'data':_0x3f6e47};}export const schemaDefinition={'service':a31_0x28aee7(0x174),'command':a31_0x28aee7(0x172),'description':a31_0x28aee7(0x173),'risk':a31_0x28aee7(0x17b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4d337b,_0x45d555){const _0x190b8a=a32_0x4507,_0x1f735e=_0x4d337b();while(!![]){try{const _0x389804=parseInt(_0x190b8a(0x154))/0x1+-parseInt(_0x190b8a(0x155))/0x2+parseInt(_0x190b8a(0x128))/0x3+-parseInt(_0x190b8a(0x12e))/0x4*(-parseInt(_0x190b8a(0x15c))/0x5)+-parseInt(_0x190b8a(0x135))/0x6*(parseInt(_0x190b8a(0x168))/0x7)+-parseInt(_0x190b8a(0x142))/0x8+parseInt(_0x190b8a(0x11f))/0x9*(-parseInt(_0x190b8a(0x160))/0xa);if(_0x389804===_0x45d555)break;else _0x1f735e['push'](_0x1f735e['shift']());}catch(_0x577b7b){_0x1f735e['push'](_0x1f735e['shift']());}}}(a32_0x48e8,0x210b8));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(_0x405b8c,_0x250256){const _0x4b0613=a32_0x4507,_0x240106=listLocalServiceTrees();let _0x5e4d27;for(const _0x460577 of _0x240106){const _0x151af1=matchServiceTreeCommand(_0x460577,_0x405b8c);if(!_0x151af1)continue;(!_0x5e4d27||_0x151af1['command'][_0x4b0613(0x11c)][_0x4b0613(0x149)]>_0x5e4d27[_0x4b0613(0x147)]['fullPath']['length'])&&(_0x5e4d27={'tree':_0x460577,'command':_0x151af1[_0x4b0613(0x147)],'remainingArgs':_0x151af1['remainingArgs']});}if(!_0x5e4d27)return undefined;const _0x25c0ed={..._0x250256};return applyAppBinding(_0x5e4d27['tree'],_0x5e4d27[_0x4b0613(0x147)],_0x25c0ed),{'definition':buildDynamicCommandDefinition(_0x5e4d27[_0x4b0613(0x16f)],_0x5e4d27[_0x4b0613(0x147)]),'args':_0x5e4d27['remainingArgs'],'flags':_0x25c0ed,'tree':_0x5e4d27[_0x4b0613(0x16f)],'command':_0x5e4d27['command']};}function a32_0x48e8(){const _0x3e972f=['\x20\x20\x20\x20kind:\x20\x20\x20\x20','name','datasetCode','sqlCode','env','required','const','target','code','type','1230240BnLTRp','Use\x20`','flags','tableName','username','command','userName','length','\x20\x20\x20\x20sqlCode:\x20','params','default','description','commands','`\x20to\x20inspect\x20the\x20manifest.','join','bff','read','mapTo','168165kZVYxv','278268DYbYBn','datatable','Unsupported\x20service\x20target\x20kind:\x20','kind','cliName','\x20requires\x20target.scriptName.','\x20\x20\x20\x20scriptName:\x20','10whtRvI','data','filter','trim','3340cCEjIx','nickName','envName','fromEntries','source','scriptName','\x20\x20SERVICE\x20TREE\x20TARGET','cliPath','7WLEzFb','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','userId','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','ctx.','json','app','tree','slice','args','now','\x20\x20[','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','operator','push','boolean','bffId','employeeId','service','startsWith','string','number','\x20<command>\x20[flags]','fullPath','find','context.','5238BRsFMV','\x20->\x20','bffCode','Run\x20service\x20command\x20','Service\x20command\x20','risk','nickname','appcode','\x20service\x20detail\x20--service\x20','791796fcSmUu','map','appCode','\x20\x20\x20\x20datatable:\x20','some','Preview\x20dynamic\x20service\x20command:\x20','417704MAfUGE','\x20requires\x20target.sqlCode.','tenantCode','rawFlags','appBindings','\x20\x20MAP\x20TO','appRef','109770qxuKbS','\x20\x20\x20\x20datasetCode:\x20','validation'];a32_0x48e8=function(){return _0x3e972f;};return a32_0x48e8();}export function generateDynamicServiceHelp(_0x33837e){const _0x4d7d90=a32_0x4507,_0x2894f4=listLocalServiceTrees()['find'](_0x14eb2b=>_0x14eb2b[_0x4d7d90(0x117)][_0x4d7d90(0x140)]===_0x33837e);if(!_0x2894f4)return undefined;const _0x4bce0b=[CLI_BIN_NAME+'\x20'+_0x33837e+_0x4d7d90(0x11b),'',_0x2894f4[_0x4d7d90(0x117)][_0x4d7d90(0x139)]||_0x33837e,_0x2894f4[_0x4d7d90(0x117)]['description']?'\x20\x20'+_0x2894f4[_0x4d7d90(0x117)][_0x4d7d90(0x14d)]:'','','Commands:',..._0x2894f4[_0x4d7d90(0x14e)][_0x4d7d90(0x129)](_0x53a4bb=>{const _0x225671=_0x4d7d90,_0x27145b=_0x53a4bb[_0x225671(0x11c)][_0x225671(0x170)](0x1)[_0x225671(0x150)]('\x20'),_0x184e05=_0x53a4bb[_0x225671(0x124)]===_0x225671(0x152)?'':'\x20['+_0x53a4bb['risk']+']';return'\x20\x20'+_0x27145b['padEnd'](0x18)+'\x20'+(_0x53a4bb['description']||'')+_0x184e05;}),'',_0x4d7d90(0x143)+CLI_BIN_NAME+_0x4d7d90(0x127)+_0x33837e+_0x4d7d90(0x14f)][_0x4d7d90(0x15e)](Boolean);return _0x4bce0b[_0x4d7d90(0x150)]('\x0a');}function a32_0x4507(_0xe4437f,_0x2538c8){_0xe4437f=_0xe4437f-0x117;const _0x48e85b=a32_0x48e8();let _0x4507f=_0x48e85b[_0xe4437f];return _0x4507f;}export function listDynamicServiceEntries(){const _0x306d18=a32_0x4507;return listLocalServices()[_0x306d18(0x129)](_0x45317f=>{const _0x1f0335=_0x306d18,_0x48fb13=_0x45317f['normalizedManifest'];return{'service':_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x140)],'label':_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x139)]||_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x140)],'commands':_0x48fb13[_0x1f0335(0x14e)][_0x1f0335(0x129)](_0xcb0d25=>({'command':dynamicCommandName(_0xcb0d25),'description':_0xcb0d25[_0x1f0335(0x14d)]||_0x1f0335(0x122)+_0xcb0d25[_0x1f0335(0x167)],'tag':riskTag(_0xcb0d25['risk'])}))};});}export function getDynamicServiceEntry(_0x2422f8){const _0x41c7c6=a32_0x4507;return listDynamicServiceEntries()[_0x41c7c6(0x11d)](_0x15d6e0=>_0x15d6e0['service']===_0x2422f8);}export function listDynamicServiceDefinitions(_0x142fde){const _0x39a33e=a32_0x4507;return listLocalServiceTrees()[_0x39a33e(0x15e)](_0x420090=>!_0x142fde||_0x420090['service'][_0x39a33e(0x140)]===_0x142fde)['flatMap'](_0x4dcf6e=>_0x4dcf6e[_0x39a33e(0x14e)]['map'](_0x1839fd=>buildDynamicCommandDefinition(_0x4dcf6e,_0x1839fd)));}export function getDynamicServiceDefinitions(_0x288ee8){const _0x5b852a=a32_0x4507,_0x5e9fd9=listDynamicServiceDefinitions(_0x288ee8);return _0x5e9fd9[_0x5b852a(0x149)]>0x0?_0x5e9fd9:undefined;}export function findDynamicServiceDefinition(_0xb7300,_0x6a349a){const _0x4b8e54=a32_0x4507;return listDynamicServiceDefinitions(_0xb7300)[_0x4b8e54(0x11d)](_0x1cf02c=>_0x1cf02c[_0x4b8e54(0x147)]===_0x6a349a);}export function buildDynamicCommandDefinition(_0x497597,_0x2aa8e2){const _0x50ad74=a32_0x4507;return{'service':_0x497597['service']['code'],'command':dynamicCommandName(_0x2aa8e2),'description':_0x2aa8e2[_0x50ad74(0x14d)]||'Run\x20service\x20command\x20'+_0x2aa8e2[_0x50ad74(0x167)],'risk':_0x2aa8e2['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2aa8e2[_0x50ad74(0x171)][_0x50ad74(0x129)](_0xe9635f=>({'name':_0xe9635f[_0x50ad74(0x139)],'description':_0xe9635f['description']||_0xe9635f[_0x50ad74(0x139)],'required':_0xe9635f[_0x50ad74(0x13d)]})),'flags':_0x2aa8e2[_0x50ad74(0x144)][_0x50ad74(0x129)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2aa8e2),async 'dryRun'(_0x5110ab){const _0x3e03b6=_0x50ad74,_0x43844a=await compilePlan(_0x2aa8e2,_0x5110ab);return{'method':'SERVICE_TREE','url':_0x2aa8e2['cliPath'],'body':{'target':targetPreview(_0x43844a),'params':_0x43844a[_0x3e03b6(0x14b)]},'description':_0x3e03b6(0x12d)+_0x2aa8e2[_0x3e03b6(0x167)]};},async 'execute'(_0x1e4a9e){const _0x213b06=_0x50ad74,_0x5dac48=await compilePlan(_0x2aa8e2,_0x1e4a9e),_0x41c6e8=Date['now'](),_0x3327e7=await executePlan(_0x5dac48,_0x2aa8e2,_0x1e4a9e),_0x40b595=Date[_0x213b06(0x172)]()-_0x41c6e8;return{'ok':!![],'data':{'service':_0x497597['service'],'command':_0x2aa8e2[_0x213b06(0x167)],'target':targetPreview(_0x5dac48),'result':_0x3327e7,'elapsed':_0x40b595},'message':_0x213b06(0x123)+_0x2aa8e2['cliPath']+'\x20completed\x20in\x20'+_0x40b595+'ms'};}};}function dynamicCommandName(_0xd45369){const _0x3319ed=a32_0x4507;return _0xd45369[_0x3319ed(0x11c)]['slice'](0x1)['join']('\x20');}function riskTag(_0x2bc8b2){const _0x3a67d1=a32_0x4507;return _0x2bc8b2===_0x3a67d1(0x152)?'':_0x3a67d1(0x173)+_0x2bc8b2+']';}function flagToCommandFlag(_0xae1688){const _0x2d8c9=a32_0x4507;return{'name':_0xae1688[_0x2d8c9(0x159)],'type':_0xae1688[_0x2d8c9(0x141)]===_0x2d8c9(0x16d)?_0x2d8c9(0x119):_0xae1688['type'],'description':_0xae1688[_0x2d8c9(0x14d)]||_0xae1688[_0x2d8c9(0x139)],'required':_0xae1688[_0x2d8c9(0x13d)],'default':isPrimitiveFlagDefault(_0xae1688[_0x2d8c9(0x14c)])?_0xae1688[_0x2d8c9(0x14c)]:undefined,'enum':_0xae1688['enum']};}async function compilePlan(_0x4d7bd3,_0x5745a0){const _0x2edfc7=a32_0x4507;return compileServiceTreeCommand(_0x4d7bd3,{'flags':_0x5745a0[_0x2edfc7(0x131)],'args':_0x5745a0[_0x2edfc7(0x171)],'context':await buildServiceContext(_0x4d7bd3,_0x5745a0)});}async function buildServiceContext(_0x3a3e94,_0x2cb040){const _0x27ee69=a32_0x4507,_0xa75d96={'appCode':_0x2cb040[_0x27ee69(0x12a)],'env':_0x2cb040[_0x27ee69(0x162)],'envName':_0x2cb040['envName']};if(!usesRuntimeContext(_0x3a3e94))return _0xa75d96;const _0x1c3d4f=await getLoginUserInfo(),_0x16711f=pickFirst(_0x1c3d4f[_0x27ee69(0x16a)],_0x1c3d4f['id']);return{..._0xa75d96,'user':_0x1c3d4f,'userId':_0x16711f,'id':_0x1c3d4f['id'],'username':pickFirst(_0x1c3d4f[_0x27ee69(0x146)],_0x1c3d4f[_0x27ee69(0x148)],_0x1c3d4f['loginName']),'userName':_0x1c3d4f[_0x27ee69(0x148)],'nickname':pickFirst(_0x1c3d4f[_0x27ee69(0x125)],_0x1c3d4f['nickName']),'nickName':_0x1c3d4f[_0x27ee69(0x161)],'tenantCode':_0x1c3d4f[_0x27ee69(0x130)],'employeeId':_0x1c3d4f[_0x27ee69(0x179)]};}function usesRuntimeContext(_0x33f4d){const _0x497152=a32_0x4507;return _0x33f4d['mapTo'][_0x497152(0x12c)](_0x340d9c=>typeof _0x340d9c[_0x497152(0x164)]===_0x497152(0x119)&&(_0x340d9c[_0x497152(0x164)]['startsWith'](_0x497152(0x11e))||_0x340d9c[_0x497152(0x164)][_0x497152(0x118)](_0x497152(0x16c))));}function pickFirst(..._0x5dc99a){const _0x15fc9e=a32_0x4507;return _0x5dc99a[_0x15fc9e(0x11d)](_0x4d7c2d=>_0x4d7c2d!==undefined&&_0x4d7c2d!==null);}async function executePlan(_0x38d0c4,_0x3b2512,_0x18792a){const _0x3fffc1=a32_0x4507;if(_0x38d0c4['kind']===_0x3fffc1(0x15d)){const _0x227e8b=await resolveDatasetCode(_0x38d0c4,_0x3b2512,_0x18792a);return executeData(_0x227e8b,_0x38d0c4[_0x3fffc1(0x147)],_0x38d0c4[_0x3fffc1(0x14b)]);}if(_0x38d0c4[_0x3fffc1(0x158)]==='sql'){if(!_0x38d0c4[_0x3fffc1(0x13b)])throw CliErrors['validation'](_0x3fffc1(0x123)+_0x3b2512['cliPath']+_0x3fffc1(0x12f));return executeSdkSql(_0x38d0c4['sqlCode'],normalizeScalarParams(_0x38d0c4[_0x3fffc1(0x14b)]));}if(_0x38d0c4[_0x3fffc1(0x158)]===_0x3fffc1(0x151)){const _0x2d8716=_0x38d0c4['scriptName']||_0x38d0c4[_0x3fffc1(0x121)]||(_0x38d0c4['bffId']==null?'':String(_0x38d0c4[_0x3fffc1(0x178)]));if(!_0x2d8716)throw CliErrors['validation'](_0x3fffc1(0x123)+_0x3b2512[_0x3fffc1(0x167)]+_0x3fffc1(0x15a));return executeSdkBff(_0x2d8716,_0x38d0c4[_0x3fffc1(0x14b)]);}throw CliErrors[_0x3fffc1(0x137)](_0x3fffc1(0x157)+_0x38d0c4[_0x3fffc1(0x158)]);}async function resolveDatasetCode(_0x148644,_0x142f3f,_0xae7baf){const _0x52234c=a32_0x4507;if(_0x148644[_0x52234c(0x13a)])return _0x148644[_0x52234c(0x13a)];if(!_0x148644[_0x52234c(0x156)])throw CliErrors['validation'](_0x52234c(0x123)+_0x142f3f[_0x52234c(0x167)]+_0x52234c(0x16b));const _0x308e80=await listDatasets(_0xae7baf[_0x52234c(0x12a)]),_0x197bf7=_0x308e80['find'](_0x1f7aec=>_0x1f7aec['dbtableConfig']?.[_0x52234c(0x145)]===_0x148644['datatable']);if(!_0x197bf7?.['code'])throw CliErrors[_0x52234c(0x137)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x148644['datatable']+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0xae7baf[_0x52234c(0x12a)]+'.',_0x52234c(0x169));return _0x197bf7['code'];}function applyAppBinding(_0x1fa822,_0x3f2cce,_0x1b867d){const _0x47185a=a32_0x4507,_0x460505=_0x3f2cce[_0x47185a(0x13f)][_0x47185a(0x134)];if(!_0x460505)return;const _0x42e12c=_0x1fa822[_0x47185a(0x132)][_0x460505];if(!_0x42e12c)throw CliErrors[_0x47185a(0x137)]('Unknown\x20appRef\x20\x22'+_0x460505+'\x22\x20in\x20service\x20command\x20'+_0x3f2cce[_0x47185a(0x167)]+'.',_0x47185a(0x174));const _0x5da647=_0x42e12c[_0x47185a(0x126)]||_0x42e12c[_0x47185a(0x12a)];_0x5da647&&!hasText(_0x1b867d['appcode'])&&(_0x1b867d[_0x47185a(0x126)]=_0x5da647),_0x42e12c[_0x47185a(0x16e)]&&!hasText(_0x1b867d['app'])&&!hasText(_0x1b867d['appcode'])&&(_0x1b867d['app']=_0x42e12c['app']),_0x42e12c[_0x47185a(0x13c)]&&!hasText(_0x1b867d[_0x47185a(0x13c)])&&(_0x1b867d[_0x47185a(0x13c)]=_0x42e12c[_0x47185a(0x13c)]);}function renderDynamicCommandHelp(_0x83b02a){const _0x5d1e43=a32_0x4507,_0x373b22=[_0x5d1e43(0x166),_0x5d1e43(0x138)+_0x83b02a[_0x5d1e43(0x13f)][_0x5d1e43(0x158)],'\x20\x20\x20\x20command:\x20'+_0x83b02a['target'][_0x5d1e43(0x147)]];if(_0x83b02a['target'][_0x5d1e43(0x13a)])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x136)+_0x83b02a[_0x5d1e43(0x13f)]['datasetCode']);if(_0x83b02a['target'][_0x5d1e43(0x156)])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x12b)+_0x83b02a[_0x5d1e43(0x13f)]['datatable']);if(_0x83b02a[_0x5d1e43(0x13f)]['sqlCode'])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x14a)+_0x83b02a['target'][_0x5d1e43(0x13b)]);if(_0x83b02a[_0x5d1e43(0x13f)]['scriptName'])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x15b)+_0x83b02a['target'][_0x5d1e43(0x165)]);if(_0x83b02a[_0x5d1e43(0x153)]['length']>0x0){_0x373b22[_0x5d1e43(0x176)]('',_0x5d1e43(0x133));for(const _0x382f86 of _0x83b02a['mapTo']){_0x373b22[_0x5d1e43(0x176)]('\x20\x20\x20\x20'+(_0x382f86[_0x5d1e43(0x164)]||_0x5d1e43(0x13e))+_0x5d1e43(0x120)+_0x382f86[_0x5d1e43(0x13f)]+(_0x382f86['operator']?'.'+_0x382f86[_0x5d1e43(0x175)]:''));}}return _0x373b22[_0x5d1e43(0x150)]('\x0a');}function targetPreview(_0x2749ef){const _0x68e862=a32_0x4507;return{'kind':_0x2749ef[_0x68e862(0x158)],'command':_0x2749ef['command'],'appRef':_0x2749ef[_0x68e862(0x134)],'datasetCode':_0x2749ef[_0x68e862(0x13a)],'datatable':_0x2749ef[_0x68e862(0x156)],'sqlCode':_0x2749ef[_0x68e862(0x13b)],'bffCode':_0x2749ef[_0x68e862(0x121)],'bffId':_0x2749ef[_0x68e862(0x178)],'scriptName':_0x2749ef[_0x68e862(0x165)]};}function normalizeScalarParams(_0x1e7f3c){const _0x5dbac7=a32_0x4507;return Object[_0x5dbac7(0x163)](Object['entries'](_0x1e7f3c)[_0x5dbac7(0x15e)](([,_0xd1107a])=>typeof _0xd1107a===_0x5dbac7(0x119)||typeof _0xd1107a===_0x5dbac7(0x11a)));}function hasText(_0x319e6f){const _0x4fdd88=a32_0x4507;return typeof _0x319e6f===_0x4fdd88(0x119)&&_0x319e6f[_0x4fdd88(0x15f)]()[_0x4fdd88(0x149)]>0x0;}function isPrimitiveFlagDefault(_0x182110){const _0x1eab71=a32_0x4507;return _0x182110===undefined||typeof _0x182110===_0x1eab71(0x119)||typeof _0x182110==='number'||typeof _0x182110===_0x1eab71(0x177);}
|
|
1
|
+
(function(_0xb86025,_0xe7f20){const _0x343a78=a32_0x2e64,_0x57138c=_0xb86025();while(!![]){try{const _0xe772a2=-parseInt(_0x343a78(0x23d))/0x1*(-parseInt(_0x343a78(0x215))/0x2)+parseInt(_0x343a78(0x251))/0x3*(parseInt(_0x343a78(0x1fe))/0x4)+-parseInt(_0x343a78(0x23f))/0x5*(parseInt(_0x343a78(0x202))/0x6)+-parseInt(_0x343a78(0x23a))/0x7+-parseInt(_0x343a78(0x237))/0x8*(parseInt(_0x343a78(0x1ee))/0x9)+-parseInt(_0x343a78(0x1fd))/0xa+parseInt(_0x343a78(0x242))/0xb;if(_0xe772a2===_0xe7f20)break;else _0x57138c['push'](_0x57138c['shift']());}catch(_0x24acfd){_0x57138c['push'](_0x57138c['shift']());}}}(a32_0x2866,0xb2bdd));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(_0x15849c,_0x2a541c){const _0x1bbbf8=a32_0x2e64,_0x296944=listLocalServiceTrees();let _0x438463;for(const _0x1d2e31 of _0x296944){const _0x5d1a30=matchServiceTreeCommand(_0x1d2e31,_0x15849c);if(!_0x5d1a30)continue;(!_0x438463||_0x5d1a30[_0x1bbbf8(0x1f7)]['fullPath'][_0x1bbbf8(0x250)]>_0x438463['command']['fullPath'][_0x1bbbf8(0x250)])&&(_0x438463={'tree':_0x1d2e31,'command':_0x5d1a30[_0x1bbbf8(0x1f7)],'remainingArgs':_0x5d1a30[_0x1bbbf8(0x209)]});}if(!_0x438463)return undefined;const _0x20107a={..._0x2a541c};return applyAppBinding(_0x438463[_0x1bbbf8(0x24e)],_0x438463[_0x1bbbf8(0x1f7)],_0x20107a),{'definition':buildDynamicCommandDefinition(_0x438463[_0x1bbbf8(0x24e)],_0x438463[_0x1bbbf8(0x1f7)]),'args':_0x438463['remainingArgs'],'flags':_0x20107a,'tree':_0x438463[_0x1bbbf8(0x24e)],'command':_0x438463[_0x1bbbf8(0x1f7)]};}export function generateDynamicServiceHelp(_0x8896e1){const _0x2afda6=a32_0x2e64,_0x2e6b28=listLocalServiceTrees()[_0x2afda6(0x249)](_0x501b3c=>_0x501b3c['service'][_0x2afda6(0x227)]===_0x8896e1);if(!_0x2e6b28)return undefined;const _0x81a070=[CLI_BIN_NAME+'\x20'+_0x8896e1+_0x2afda6(0x22c),'',_0x2e6b28['service'][_0x2afda6(0x231)]||_0x8896e1,_0x2e6b28[_0x2afda6(0x221)][_0x2afda6(0x24c)]?'\x20\x20'+_0x2e6b28[_0x2afda6(0x221)]['description']:'','',_0x2afda6(0x247),..._0x2e6b28[_0x2afda6(0x219)][_0x2afda6(0x1fb)](_0x3cf0fe=>{const _0x23c89c=_0x2afda6,_0x4943b3=_0x3cf0fe[_0x23c89c(0x22e)][_0x23c89c(0x228)](0x1)['join']('\x20'),_0x5e3d21=_0x3cf0fe[_0x23c89c(0x24f)]==='read'?'':'\x20['+_0x3cf0fe[_0x23c89c(0x24f)]+']';return'\x20\x20'+_0x4943b3['padEnd'](0x18)+'\x20'+(_0x3cf0fe[_0x23c89c(0x24c)]||'')+_0x5e3d21;}),'',_0x2afda6(0x240)+CLI_BIN_NAME+_0x2afda6(0x236)+_0x8896e1+_0x2afda6(0x1f1)]['filter'](Boolean);return _0x81a070['join']('\x0a');}export function listDynamicServiceEntries(){const _0x1ceba5=a32_0x2e64;return listLocalServices()[_0x1ceba5(0x1fb)](_0x497ea6=>{const _0xf30df6=_0x1ceba5,_0x5392aa=_0x497ea6['normalizedManifest'];return{'service':_0x5392aa[_0xf30df6(0x221)][_0xf30df6(0x227)],'label':_0x5392aa[_0xf30df6(0x221)][_0xf30df6(0x231)]||_0x5392aa['service']['code'],'commands':_0x5392aa[_0xf30df6(0x219)][_0xf30df6(0x1fb)](_0x5afe84=>({'command':dynamicCommandName(_0x5afe84),'description':_0x5afe84['description']||_0xf30df6(0x20e)+_0x5afe84[_0xf30df6(0x220)],'tag':riskTag(_0x5afe84['risk'])}))};});}export function getDynamicServiceEntry(_0x3d801b){const _0x4133ee=a32_0x2e64;return listDynamicServiceEntries()[_0x4133ee(0x249)](_0x511477=>_0x511477[_0x4133ee(0x221)]===_0x3d801b);}export function listDynamicServiceDefinitions(_0x3e0913){const _0x1bc6e7=a32_0x2e64;return listLocalServiceTrees()[_0x1bc6e7(0x23c)](_0x3979a7=>!_0x3e0913||_0x3979a7[_0x1bc6e7(0x221)][_0x1bc6e7(0x227)]===_0x3e0913)[_0x1bc6e7(0x22d)](_0x96acd5=>_0x96acd5[_0x1bc6e7(0x219)][_0x1bc6e7(0x1fb)](_0x1b604e=>buildDynamicCommandDefinition(_0x96acd5,_0x1b604e)));}export function getDynamicServiceDefinitions(_0x471143){const _0x2164b9=a32_0x2e64,_0x1173f3=listDynamicServiceDefinitions(_0x471143);return _0x1173f3[_0x2164b9(0x250)]>0x0?_0x1173f3:undefined;}export function findDynamicServiceDefinition(_0x18b768,_0x217c1f){const _0x462121=a32_0x2e64;return listDynamicServiceDefinitions(_0x18b768)['find'](_0x2d7a4d=>_0x2d7a4d[_0x462121(0x1f7)]===_0x217c1f);}export function buildDynamicCommandDefinition(_0x287dea,_0x1e2933){const _0x278507=a32_0x2e64;return{'service':_0x287dea[_0x278507(0x221)]['code'],'command':dynamicCommandName(_0x1e2933),'description':_0x1e2933[_0x278507(0x24c)]||_0x278507(0x20e)+_0x1e2933[_0x278507(0x220)],'risk':_0x1e2933['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1e2933['args'][_0x278507(0x1fb)](_0x8707c7=>({'name':_0x8707c7[_0x278507(0x231)],'description':_0x8707c7[_0x278507(0x24c)]||_0x8707c7[_0x278507(0x231)],'required':_0x8707c7[_0x278507(0x225)]})),'flags':_0x1e2933[_0x278507(0x1f4)][_0x278507(0x1fb)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1e2933),async 'dryRun'(_0x79f135){const _0x50a5f1=_0x278507,_0x2ba025=await compilePlan(_0x1e2933,_0x79f135);return{'method':_0x50a5f1(0x205),'url':_0x1e2933[_0x50a5f1(0x220)],'body':{'target':targetPreview(_0x2ba025),'params':_0x2ba025[_0x50a5f1(0x253)]},'description':_0x50a5f1(0x230)+_0x1e2933[_0x50a5f1(0x220)]};},async 'execute'(_0x4b5e7f){const _0x2c29b7=_0x278507,_0x2a2272=await compilePlan(_0x1e2933,_0x4b5e7f),_0x26dc98=Date[_0x2c29b7(0x232)](),_0x2cefb1=await executePlan(_0x2a2272,_0x1e2933,_0x4b5e7f),_0x5ae557=Date[_0x2c29b7(0x232)]()-_0x26dc98;return{'ok':!![],'data':{'service':_0x287dea[_0x2c29b7(0x221)],'command':_0x1e2933[_0x2c29b7(0x220)],'target':targetPreview(_0x2a2272),'result':_0x2cefb1,'elapsed':_0x5ae557},'message':_0x2c29b7(0x252)+_0x1e2933[_0x2c29b7(0x220)]+_0x2c29b7(0x206)+_0x5ae557+'ms'};}};}function a32_0x2866(){const _0x36f303=['number','enum','appCode','const','Commands:','boolean','find','appBindings','join','description','username','tree','risk','length','9VVWmvW','Service\x20command\x20','params','target','\x20\x20\x20\x20command:\x20','1946106TffXiN','entries','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','`\x20to\x20inspect\x20the\x20manifest.','kind','cliName','flags','userName','nickname','command','\x20\x20\x20\x20sqlCode:\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','bffCode','map','default','12834170IfKrGr','719116kZUJZk','tableName','type','bff','2043330zjGjNm','envName','appRef','SERVICE_TREE','\x20completed\x20in\x20','data','trim','remainingArgs','string','\x20\x20\x20\x20datatable:\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','datatable','Run\x20service\x20command\x20','ctx.','rawFlags','env','push','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','json','4TMVJtG','bffId','some','source','commands','datasetCode','Cannot\x20resolve\x20datatable\x20\x22','startsWith','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.sqlCode.','args','cliPath','service','Unsupported\x20service\x20target\x20kind:\x20','tenantCode','\x20requires\x20target.scriptName.','required','validation','code','slice','appcode','sql','scriptName','\x20<command>\x20[flags]','flatMap','fullPath','app','Preview\x20dynamic\x20service\x20command:\x20','name','now','\x20\x20\x20\x20scriptName:\x20','mapTo','\x20->\x20','\x20service\x20detail\x20--service\x20','24kxApOp','loginName','\x20\x20MAP\x20TO','206885rloyLd','\x20\x20\x20\x20kind:\x20\x20\x20\x20','filter','523177usgCxm','sqlCode','5GUaebe','Use\x20`','nickName','15935293FPxijv'];a32_0x2866=function(){return _0x36f303;};return a32_0x2866();}function dynamicCommandName(_0x1564fa){const _0x4e5b6f=a32_0x2e64;return _0x1564fa[_0x4e5b6f(0x22e)][_0x4e5b6f(0x228)](0x1)['join']('\x20');}function riskTag(_0x54ce88){return _0x54ce88==='read'?'':'\x20\x20['+_0x54ce88+']';}function flagToCommandFlag(_0x13b017){const _0x18fdc6=a32_0x2e64;return{'name':_0x13b017[_0x18fdc6(0x1f3)],'type':_0x13b017[_0x18fdc6(0x200)]===_0x18fdc6(0x214)?_0x18fdc6(0x20a):_0x13b017[_0x18fdc6(0x200)],'description':_0x13b017['description']||_0x13b017[_0x18fdc6(0x231)],'required':_0x13b017['required'],'default':isPrimitiveFlagDefault(_0x13b017[_0x18fdc6(0x1fc)])?_0x13b017[_0x18fdc6(0x1fc)]:undefined,'enum':_0x13b017[_0x18fdc6(0x244)]};}async function compilePlan(_0x3a3a87,_0x3bf4f3){const _0x21226b=a32_0x2e64;return compileServiceTreeCommand(_0x3a3a87,{'flags':_0x3bf4f3[_0x21226b(0x210)],'args':_0x3bf4f3[_0x21226b(0x21f)],'context':await buildServiceContext(_0x3a3a87,_0x3bf4f3)});}async function buildServiceContext(_0x5eafd0,_0x240004){const _0x5dbd0c=a32_0x2e64,_0x433b3b={'appCode':_0x240004[_0x5dbd0c(0x245)],'env':_0x240004['envName'],'envName':_0x240004[_0x5dbd0c(0x203)]};if(!usesRuntimeContext(_0x5eafd0))return _0x433b3b;const _0x21dbf7=await getLoginUserInfo(),_0x463d78=pickFirst(_0x21dbf7['userId'],_0x21dbf7['id']);return{..._0x433b3b,'user':_0x21dbf7,'userId':_0x463d78,'id':_0x21dbf7['id'],'username':pickFirst(_0x21dbf7[_0x5dbd0c(0x24d)],_0x21dbf7[_0x5dbd0c(0x1f5)],_0x21dbf7[_0x5dbd0c(0x238)]),'userName':_0x21dbf7[_0x5dbd0c(0x1f5)],'nickname':pickFirst(_0x21dbf7[_0x5dbd0c(0x1f6)],_0x21dbf7[_0x5dbd0c(0x241)]),'nickName':_0x21dbf7['nickName'],'tenantCode':_0x21dbf7[_0x5dbd0c(0x223)],'employeeId':_0x21dbf7['employeeId']};}function usesRuntimeContext(_0x1c380a){const _0x4adbde=a32_0x2e64;return _0x1c380a[_0x4adbde(0x234)][_0x4adbde(0x217)](_0x447504=>typeof _0x447504[_0x4adbde(0x218)]===_0x4adbde(0x20a)&&(_0x447504['source']['startsWith']('context.')||_0x447504[_0x4adbde(0x218)][_0x4adbde(0x21c)](_0x4adbde(0x20f))));}function pickFirst(..._0x2f1cf5){const _0x334f20=a32_0x2e64;return _0x2f1cf5[_0x334f20(0x249)](_0x320301=>_0x320301!==undefined&&_0x320301!==null);}async function executePlan(_0x4a720a,_0x58b192,_0x11a18c){const _0x1470c3=a32_0x2e64;if(_0x4a720a['kind']===_0x1470c3(0x207)){const _0xf05e4c=await resolveDatasetCode(_0x4a720a,_0x58b192,_0x11a18c);return executeData(_0xf05e4c,_0x4a720a[_0x1470c3(0x1f7)],_0x4a720a[_0x1470c3(0x253)]);}if(_0x4a720a[_0x1470c3(0x1f2)]===_0x1470c3(0x22a)){if(!_0x4a720a[_0x1470c3(0x23e)])throw CliErrors[_0x1470c3(0x226)](_0x1470c3(0x252)+_0x58b192[_0x1470c3(0x220)]+_0x1470c3(0x21e));return executeSdkSql(_0x4a720a[_0x1470c3(0x23e)],normalizeScalarParams(_0x4a720a['params']));}if(_0x4a720a[_0x1470c3(0x1f2)]===_0x1470c3(0x201)){const _0x9da3dc=_0x4a720a[_0x1470c3(0x22b)]||_0x4a720a[_0x1470c3(0x1fa)]||(_0x4a720a[_0x1470c3(0x216)]==null?'':String(_0x4a720a[_0x1470c3(0x216)]));if(!_0x9da3dc)throw CliErrors[_0x1470c3(0x226)](_0x1470c3(0x252)+_0x58b192[_0x1470c3(0x220)]+_0x1470c3(0x224));return executeSdkBff(_0x9da3dc,_0x4a720a[_0x1470c3(0x253)]);}throw CliErrors[_0x1470c3(0x226)](_0x1470c3(0x222)+_0x4a720a[_0x1470c3(0x1f2)]);}function a32_0x2e64(_0x17a254,_0x31386f){_0x17a254=_0x17a254-0x1ed;const _0x28668b=a32_0x2866();let _0x2e64b8=_0x28668b[_0x17a254];return _0x2e64b8;}async function resolveDatasetCode(_0x47f6af,_0x4df708,_0x2536f1){const _0x5af4ae=a32_0x2e64;if(_0x47f6af[_0x5af4ae(0x21a)])return _0x47f6af[_0x5af4ae(0x21a)];if(!_0x47f6af[_0x5af4ae(0x20d)])throw CliErrors['validation'](_0x5af4ae(0x252)+_0x4df708[_0x5af4ae(0x220)]+_0x5af4ae(0x1f9));const _0x2b61e6=await listDatasets(_0x2536f1[_0x5af4ae(0x245)]),_0x5ba99d=_0x2b61e6[_0x5af4ae(0x249)](_0x5cfbb9=>_0x5cfbb9['dbtableConfig']?.[_0x5af4ae(0x1ff)]===_0x47f6af[_0x5af4ae(0x20d)]);if(!_0x5ba99d?.[_0x5af4ae(0x227)])throw CliErrors[_0x5af4ae(0x226)](_0x5af4ae(0x21b)+_0x47f6af['datatable']+_0x5af4ae(0x213)+_0x2536f1[_0x5af4ae(0x245)]+'.',_0x5af4ae(0x20c));return _0x5ba99d['code'];}function applyAppBinding(_0x2ddace,_0x2f07b9,_0x4819fd){const _0x30cd75=a32_0x2e64,_0x136125=_0x2f07b9[_0x30cd75(0x254)][_0x30cd75(0x204)];if(!_0x136125)return;const _0x225124=_0x2ddace[_0x30cd75(0x24a)][_0x136125];if(!_0x225124)throw CliErrors[_0x30cd75(0x226)]('Unknown\x20appRef\x20\x22'+_0x136125+'\x22\x20in\x20service\x20command\x20'+_0x2f07b9[_0x30cd75(0x220)]+'.',_0x30cd75(0x1f0));const _0x54cf23=_0x225124[_0x30cd75(0x229)]||_0x225124[_0x30cd75(0x245)];_0x54cf23&&!hasText(_0x4819fd[_0x30cd75(0x229)])&&(_0x4819fd[_0x30cd75(0x229)]=_0x54cf23),_0x225124[_0x30cd75(0x22f)]&&!hasText(_0x4819fd[_0x30cd75(0x22f)])&&!hasText(_0x4819fd[_0x30cd75(0x229)])&&(_0x4819fd[_0x30cd75(0x22f)]=_0x225124[_0x30cd75(0x22f)]),_0x225124[_0x30cd75(0x211)]&&!hasText(_0x4819fd[_0x30cd75(0x211)])&&(_0x4819fd[_0x30cd75(0x211)]=_0x225124[_0x30cd75(0x211)]);}function renderDynamicCommandHelp(_0x46ebe0){const _0xb57b66=a32_0x2e64,_0x12b250=[_0xb57b66(0x21d),_0xb57b66(0x23b)+_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x1f2)],_0xb57b66(0x1ed)+_0x46ebe0['target'][_0xb57b66(0x1f7)]];if(_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x21a)])_0x12b250[_0xb57b66(0x212)]('\x20\x20\x20\x20datasetCode:\x20'+_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x21a)]);if(_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x20d)])_0x12b250[_0xb57b66(0x212)](_0xb57b66(0x20b)+_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x20d)]);if(_0x46ebe0['target'][_0xb57b66(0x23e)])_0x12b250[_0xb57b66(0x212)](_0xb57b66(0x1f8)+_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x23e)]);if(_0x46ebe0['target'][_0xb57b66(0x22b)])_0x12b250['push'](_0xb57b66(0x233)+_0x46ebe0[_0xb57b66(0x254)][_0xb57b66(0x22b)]);if(_0x46ebe0['mapTo'][_0xb57b66(0x250)]>0x0){_0x12b250[_0xb57b66(0x212)]('',_0xb57b66(0x239));for(const _0x10c17c of _0x46ebe0[_0xb57b66(0x234)]){_0x12b250[_0xb57b66(0x212)]('\x20\x20\x20\x20'+(_0x10c17c[_0xb57b66(0x218)]||_0xb57b66(0x246))+_0xb57b66(0x235)+_0x10c17c[_0xb57b66(0x254)]+(_0x10c17c['operator']?'.'+_0x10c17c['operator']:''));}}return _0x12b250[_0xb57b66(0x24b)]('\x0a');}function targetPreview(_0x3ed50f){const _0x153a6d=a32_0x2e64;return{'kind':_0x3ed50f[_0x153a6d(0x1f2)],'command':_0x3ed50f[_0x153a6d(0x1f7)],'appRef':_0x3ed50f[_0x153a6d(0x204)],'datasetCode':_0x3ed50f['datasetCode'],'datatable':_0x3ed50f[_0x153a6d(0x20d)],'sqlCode':_0x3ed50f[_0x153a6d(0x23e)],'bffCode':_0x3ed50f[_0x153a6d(0x1fa)],'bffId':_0x3ed50f[_0x153a6d(0x216)],'scriptName':_0x3ed50f[_0x153a6d(0x22b)]};}function normalizeScalarParams(_0x246e39){const _0x5c2c3a=a32_0x2e64;return Object['fromEntries'](Object[_0x5c2c3a(0x1ef)](_0x246e39)['filter'](([,_0xfc638d])=>typeof _0xfc638d===_0x5c2c3a(0x20a)||typeof _0xfc638d===_0x5c2c3a(0x243)));}function hasText(_0x10ce46){const _0x30ba1a=a32_0x2e64;return typeof _0x10ce46===_0x30ba1a(0x20a)&&_0x10ce46[_0x30ba1a(0x208)]()[_0x30ba1a(0x250)]>0x0;}function isPrimitiveFlagDefault(_0x2ad796){const _0x4a423a=a32_0x2e64;return _0x2ad796===undefined||typeof _0x2ad796===_0x4a423a(0x20a)||typeof _0x2ad796===_0x4a423a(0x243)||typeof _0x2ad796===_0x4a423a(0x248);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a33_0x1d4e3b=a33_0x42e4;(function(_0x45d26f,_0x143210){const _0x28c800=a33_0x42e4,_0x29de48=_0x45d26f();while(!![]){try{const _0x2d3b96=parseInt(_0x28c800(0x1eb))/0x1+-parseInt(_0x28c800(0x215))/0x2*(parseInt(_0x28c800(0x1f5))/0x3)+parseInt(_0x28c800(0x1de))/0x4+parseInt(_0x28c800(0x220))/0x5*(parseInt(_0x28c800(0x20d))/0x6)+parseInt(_0x28c800(0x1e8))/0x7+parseInt(_0x28c800(0x209))/0x8+parseInt(_0x28c800(0x212))/0x9*(-parseInt(_0x28c800(0x1e7))/0xa);if(_0x2d3b96===_0x143210)break;else _0x29de48['push'](_0x29de48['shift']());}catch(_0x115e02){_0x29de48['push'](_0x29de48['shift']());}}}(a33_0x36ff,0xca5ce));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x42e4(_0x22ddb1,_0x4956fe){_0x22ddb1=_0x22ddb1-0x1d6;const _0x36ff5=a33_0x36ff();let _0x42e436=_0x36ff5[_0x22ddb1];return _0x42e436;}const FILE_FLAG={'name':a33_0x1d4e3b(0x1ef),'type':a33_0x1d4e3b(0x1ff),'required':!![],'description':a33_0x1d4e3b(0x1f7)},SERVICE_FLAG={'name':'service','type':a33_0x1d4e3b(0x1ff),'required':!![],'description':a33_0x1d4e3b(0x1fe),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1d4e3b(0x203)}};function a33_0x36ff(){const _0x5775ea=['6803870keEZHD','10798060hPKwkm','Imported\x20','Local\x20service\x20not\x20found:\x20','1149655XQoeOe','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','service','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','file','replaced','cliPath','registryServiceCode','Service\x20manifest\x20validation\x20passed.','validate','114xZSYhu','hash','Service\x20Tree\x20manifest\x20file\x20path','registryPath','description','report','normalizedManifest','entry','Removed\x20service\x20','Local\x20service\x20code,\x20for\x20example\x20crm','string','import','serviceCode','Updated','lower\x20kebab-case\x20service\x20code','errors','serviceCount','str','detail','Imported','9167240CAWldB','cliName','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','importedAt','416652TvmAMe','read','entries','target','manifests','45wZkzpL','WRITE','source','3642mGSULc','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','manifest','remove','Exported\x20service\x20','length','name','warnings','version','map','filePath','30MlRZzg','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','\x20service(s).','export','type','\x20service\x20','kind','reduce','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','registryIndex','180876plbpeV','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','commands','registry','required','updated','imported','risk','write'];a33_0x36ff=function(){return _0x5775ea;};return a33_0x36ff();}function summarizeService(_0x29bfe1){const _0x1356bd=a33_0x1d4e3b;return{'serviceCode':_0x29bfe1[_0x1356bd(0x201)],'name':_0x29bfe1[_0x1356bd(0x1fb)][_0x1356bd(0x1ed)][_0x1356bd(0x21b)],'version':_0x29bfe1[_0x1356bd(0x21d)],'importedAt':_0x29bfe1[_0x1356bd(0x20c)],'source':_0x29bfe1[_0x1356bd(0x214)],'commandCount':_0x29bfe1['normalizedManifest']['commands'][_0x1356bd(0x21a)],'commands':_0x29bfe1[_0x1356bd(0x1fb)]['commands']['map'](_0x2d0508=>({'path':_0x2d0508[_0x1356bd(0x1f1)],'description':_0x2d0508[_0x1356bd(0x1f9)],'risk':_0x2d0508[_0x1356bd(0x1e5)],'target':_0x2d0508[_0x1356bd(0x210)],'flags':_0x2d0508['flags'][_0x1356bd(0x21e)](_0x5abedd=>({'name':_0x5abedd[_0x1356bd(0x21b)],'cliName':_0x5abedd[_0x1356bd(0x20a)],'type':_0x5abedd[_0x1356bd(0x1d8)],'required':_0x5abedd[_0x1356bd(0x1e2)]===!![]}))}))};}function summarizeLoadedManifest(_0x5a64b4){const _0x11f2c1=a33_0x1d4e3b;return{'service':_0x5a64b4[_0x11f2c1(0x1fb)]?.['service'],'version':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x21d)],'commandCount':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x1e0)]['length']??0x0,'commands':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x1e0)][_0x11f2c1(0x21e)](_0x3f0ba0=>({'path':_0x3f0ba0[_0x11f2c1(0x1f1)],'risk':_0x3f0ba0['risk'],'target':_0x3f0ba0[_0x11f2c1(0x210)]}))??[],'registryIndex':_0x5a64b4[_0x11f2c1(0x1dd)],'registryServiceCode':_0x5a64b4[_0x11f2c1(0x1f2)],'errors':_0x5a64b4[_0x11f2c1(0x1fa)][_0x11f2c1(0x204)],'warnings':_0x5a64b4[_0x11f2c1(0x1fa)][_0x11f2c1(0x21c)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1d4e3b(0x1f4),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0x1d4e3b(0x20e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4d57c2){const _0x144dff=a33_0x1d4e3b,_0x2fbfc4=loadServiceManifestFromFile(_0x4d57c2[_0x144dff(0x206)]('file'));if(!_0x2fbfc4[_0x144dff(0x1fa)]['ok'])return{'ok':![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4[_0x144dff(0x1f6)],'kind':_0x2fbfc4[_0x144dff(0x1da)],'serviceCount':_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x21a)],'services':_0x2fbfc4['manifests'][_0x144dff(0x21e)](summarizeLoadedManifest),'errors':_0x2fbfc4['report'][_0x144dff(0x204)],'warnings':_0x2fbfc4[_0x144dff(0x1fa)]['warnings']},'message':formatValidationFailure(_0x2fbfc4['report'])};if(_0x2fbfc4[_0x144dff(0x1da)]===_0x144dff(0x1e1)||_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x21a)]!==0x1)return{'ok':!![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4['hash'],'kind':_0x2fbfc4[_0x144dff(0x1da)],'serviceCount':_0x2fbfc4['manifests']['length'],'commandCount':_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x1db)]((_0x1c4303,_0x572641)=>_0x1c4303+(_0x572641[_0x144dff(0x1fb)]?.[_0x144dff(0x1e0)][_0x144dff(0x21a)]??0x0),0x0),'services':_0x2fbfc4['manifests'][_0x144dff(0x21e)](summarizeLoadedManifest),'warnings':_0x2fbfc4[_0x144dff(0x1fa)][_0x144dff(0x21c)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4[_0x144dff(0x1f6)],'kind':_0x2fbfc4['kind'],'service':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x1ed)],'version':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x21d)],'commandCount':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x1e0)]['length']??0x0,'commands':_0x2fbfc4['normalizedManifest']?.[_0x144dff(0x1e0)][_0x144dff(0x21e)](_0x37a3b7=>({'path':_0x37a3b7[_0x144dff(0x1f1)],'risk':_0x37a3b7[_0x144dff(0x1e5)],'target':_0x37a3b7[_0x144dff(0x210)]})),'warnings':_0x2fbfc4[_0x144dff(0x1fa)][_0x144dff(0x21c)]},'message':_0x144dff(0x1f3)};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x200),'description':a33_0x1d4e3b(0x1dc),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0xbbb4d9){const _0x252537=a33_0x1d4e3b,_0x2683cd=loadServiceManifestFromFile(_0xbbb4d9[_0x252537(0x206)](_0x252537(0x1ef)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x2683cd['filePath'],'hash':_0x2683cd[_0x252537(0x1f6)],'kind':_0x2683cd[_0x252537(0x1da)],'ok':_0x2683cd['report']['ok'],'service':_0x2683cd[_0x252537(0x1fb)]?.[_0x252537(0x1ed)],'version':_0x2683cd[_0x252537(0x1fb)]?.['version'],'serviceCount':_0x2683cd['manifests'][_0x252537(0x21a)],'services':_0x2683cd['manifests']['map'](_0x4e0054=>({'service':_0x4e0054[_0x252537(0x1fb)]?.[_0x252537(0x1ed)],'version':_0x4e0054['normalizedManifest']?.[_0x252537(0x21d)],'commandCount':_0x4e0054[_0x252537(0x1fb)]?.['commands']['length']??0x0,'errors':_0x4e0054[_0x252537(0x1fa)][_0x252537(0x204)]})),'errors':_0x2683cd[_0x252537(0x1fa)][_0x252537(0x204)],'commandCount':_0x2683cd['normalizedManifest']?.[_0x252537(0x1e0)][_0x252537(0x21a)]??0x0},'description':_0x252537(0x20b)};},async 'execute'(_0x201307){const _0x33ace4=a33_0x1d4e3b,_0x1f766b=importServiceManifest(_0x201307['str'](_0x33ace4(0x1ef)));if(_0x1f766b[_0x33ace4(0x20f)][_0x33ace4(0x21a)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1f766b[_0x33ace4(0x1f8)],'imported':_0x1f766b[_0x33ace4(0x1e4)],'updated':_0x1f766b[_0x33ace4(0x1e3)],'serviceCount':_0x1f766b['serviceCount'],'services':_0x1f766b[_0x33ace4(0x20f)][_0x33ace4(0x21e)](summarizeService)},'message':_0x33ace4(0x1e9)+_0x1f766b[_0x33ace4(0x1e4)]+'\x20service(s),\x20updated\x20'+_0x1f766b[_0x33ace4(0x1e3)]+_0x33ace4(0x1d6)};return{'ok':!![],'data':{'registryPath':_0x1f766b[_0x33ace4(0x1f8)],'replaced':_0x1f766b[_0x33ace4(0x1f0)],'imported':_0x1f766b[_0x33ace4(0x1e4)],'updated':_0x1f766b[_0x33ace4(0x1e3)],'serviceCount':_0x1f766b[_0x33ace4(0x205)],'service':summarizeService(_0x1f766b[_0x33ace4(0x1fc)])},'message':(_0x1f766b[_0x33ace4(0x1f0)]?_0x33ace4(0x202):_0x33ace4(0x208))+_0x33ace4(0x1d9)+_0x1f766b[_0x33ace4(0x1fc)][_0x33ace4(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x1d7),'description':a33_0x1d4e3b(0x1ee),'risk':a33_0x1d4e3b(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4ac9ce){const _0x17e193=a33_0x1d4e3b,_0x4da149=getLocalServiceEntry(_0x4ac9ce[_0x17e193(0x206)]('service'));return{'method':'WRITE','url':_0x4ac9ce['str'](_0x17e193(0x1ef)),'body':{'service':_0x4ac9ce[_0x17e193(0x206)](_0x17e193(0x1ed)),'found':Boolean(_0x4da149),'version':_0x4da149?.['version'],'source':_0x4da149?.[_0x17e193(0x214)]},'description':_0x17e193(0x221)};},async 'execute'(_0x51bff5){const _0x5ec32=a33_0x1d4e3b,_0x187f3d=exportServiceManifest(_0x51bff5[_0x5ec32(0x206)](_0x5ec32(0x1ed)),_0x51bff5[_0x5ec32(0x206)](_0x5ec32(0x1ef)));return{'ok':!![],'data':{'registryPath':_0x187f3d[_0x5ec32(0x1f8)],'file':_0x187f3d['filePath'],'service':summarizeService(_0x187f3d[_0x5ec32(0x1fc)])},'message':_0x5ec32(0x219)+_0x187f3d[_0x5ec32(0x1fc)][_0x5ec32(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':'list','description':a33_0x1d4e3b(0x1ec),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x272a58=a33_0x1d4e3b,_0x16af32=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x16af32[_0x272a58(0x21a)],'services':_0x16af32['map'](summarizeService)}};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x218),'description':a33_0x1d4e3b(0x216),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2739a8){const _0x52d3b1=a33_0x1d4e3b,_0x4ec763=getLocalServiceEntry(_0x2739a8[_0x52d3b1(0x206)](_0x52d3b1(0x1ed)));return{'method':_0x52d3b1(0x213),'url':getServiceRegistryPath(),'body':{'service':_0x2739a8['str'](_0x52d3b1(0x1ed)),'found':Boolean(_0x4ec763),'version':_0x4ec763?.[_0x52d3b1(0x21d)],'source':_0x4ec763?.['source']},'description':_0x52d3b1(0x1df)};},async 'execute'(_0x4abd16){const _0x1f99e8=a33_0x1d4e3b,_0x1f3d2d=removeServiceManifest(_0x4abd16[_0x1f99e8(0x206)](_0x1f99e8(0x1ed)));return{'ok':!![],'data':{'registryPath':_0x1f3d2d[_0x1f99e8(0x1f8)],'serviceCount':_0x1f3d2d[_0x1f99e8(0x205)],'service':summarizeService(_0x1f3d2d['entry'])},'message':_0x1f99e8(0x1fd)+_0x1f3d2d[_0x1f99e8(0x1fc)][_0x1f99e8(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x207),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x15a324){const _0x2b6f9d=a33_0x1d4e3b,_0x2501e2=getLocalServiceEntry(_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed)));if(!_0x2501e2)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed))},'message':_0x2b6f9d(0x1ea)+_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2501e2),'manifest':_0x2501e2[_0x2b6f9d(0x217)],'normalizedManifest':_0x2501e2[_0x2b6f9d(0x1fb)]}};}}];
|
|
1
|
+
const a33_0x5bdcb8=a33_0x2ec1;function a33_0x2ec1(_0x4ef26c,_0x3f61e2){_0x4ef26c=_0x4ef26c-0x67;const _0xf711ab=a33_0xf711();let _0x2ec13d=_0xf711ab[_0x4ef26c];return _0x2ec13d;}function a33_0xf711(){const _0x3bc4e1=['Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','length','flags','reduce','imported','1470740KBgeBd','3441100fqpohI','1184211IZbfKB','name','commands','write','10563504bVZQmP','str','WRITE','kind','registryIndex','Local\x20service\x20code,\x20for\x20example\x20crm','updated','risk','\x20service(s).','Updated','registry','Exported\x20service\x20','745282Txcvkt','Removed\x20service\x20','entry','Service\x20Tree\x20manifest\x20file\x20path','source','manifests','entries','report','validate','\x20service(s),\x20updated\x20','10436454yZdpFh','registryPath','24ivJrFL','detail','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','Imported\x20','map','cliPath','read','version','serviceCode','required','file','type','warnings','errors','Local\x20service\x20not\x20found:\x20','export','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Service\x20registry\x20validation\x20passed.','3dWKLVr','manifest','3341102wSEhgj','cliName','serviceCount','\x20service\x20','target','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Imported','list','service','filePath','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','hash','normalizedManifest','remove','string','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest'];a33_0xf711=function(){return _0x3bc4e1;};return a33_0xf711();}(function(_0x4157ab,_0x10b1e3){const _0x1e7306=a33_0x2ec1,_0x338a1f=_0x4157ab();while(!![]){try{const _0x1a2052=parseInt(_0x1e7306(0x95))/0x1+-parseInt(_0x1e7306(0x6d))/0x2*(parseInt(_0x1e7306(0x6b))/0x3)+-parseInt(_0x1e7306(0x83))/0x4+-parseInt(_0x1e7306(0x84))/0x5+parseInt(_0x1e7306(0x9f))/0x6+parseInt(_0x1e7306(0x89))/0x7+-parseInt(_0x1e7306(0xa1))/0x8*(parseInt(_0x1e7306(0x85))/0x9);if(_0x1a2052===_0x10b1e3)break;else _0x338a1f['push'](_0x338a1f['shift']());}catch(_0x261343){_0x338a1f['push'](_0x338a1f['shift']());}}}(a33_0xf711,0xd507a));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x5bdcb8(0xab),'type':a33_0x5bdcb8(0x7c),'required':!![],'description':a33_0x5bdcb8(0x98)},SERVICE_FLAG={'name':'service','type':a33_0x5bdcb8(0x7c),'required':!![],'description':a33_0x5bdcb8(0x8e),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x238599){const _0x204337=a33_0x5bdcb8;return{'serviceCode':_0x238599['serviceCode'],'name':_0x238599['normalizedManifest'][_0x204337(0x76)][_0x204337(0x86)],'version':_0x238599['version'],'importedAt':_0x238599['importedAt'],'source':_0x238599[_0x204337(0x99)],'commandCount':_0x238599['normalizedManifest'][_0x204337(0x87)][_0x204337(0x7f)],'commands':_0x238599[_0x204337(0x7a)][_0x204337(0x87)]['map'](_0x5eb1c8=>({'path':_0x5eb1c8[_0x204337(0xa6)],'description':_0x5eb1c8['description'],'risk':_0x5eb1c8[_0x204337(0x90)],'target':_0x5eb1c8[_0x204337(0x71)],'flags':_0x5eb1c8[_0x204337(0x80)]['map'](_0x220161=>({'name':_0x220161[_0x204337(0x86)],'cliName':_0x220161[_0x204337(0x6e)],'type':_0x220161[_0x204337(0xac)],'required':_0x220161[_0x204337(0xaa)]===!![]}))}))};}function summarizeLoadedManifest(_0x12d876){const _0x3ea5b5=a33_0x5bdcb8;return{'service':_0x12d876[_0x3ea5b5(0x7a)]?.[_0x3ea5b5(0x76)],'version':_0x12d876['normalizedManifest']?.[_0x3ea5b5(0xa8)],'commandCount':_0x12d876[_0x3ea5b5(0x7a)]?.[_0x3ea5b5(0x87)][_0x3ea5b5(0x7f)]??0x0,'commands':_0x12d876[_0x3ea5b5(0x7a)]?.[_0x3ea5b5(0x87)][_0x3ea5b5(0xa5)](_0x547961=>({'path':_0x547961[_0x3ea5b5(0xa6)],'risk':_0x547961['risk'],'target':_0x547961[_0x3ea5b5(0x71)]}))??[],'registryIndex':_0x12d876[_0x3ea5b5(0x8d)],'registryServiceCode':_0x12d876['registryServiceCode'],'errors':_0x12d876['report']['errors'],'warnings':_0x12d876['report']['warnings']};}export const serviceDefinitions=[{'service':'service','command':a33_0x5bdcb8(0x9d),'description':a33_0x5bdcb8(0x7d),'risk':a33_0x5bdcb8(0xa7),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x26fe5c){const _0x277b64=a33_0x5bdcb8,_0x410b16=loadServiceManifestFromFile(_0x26fe5c[_0x277b64(0x8a)](_0x277b64(0xab)));if(!_0x410b16[_0x277b64(0x9c)]['ok'])return{'ok':![],'data':{'file':_0x410b16[_0x277b64(0x77)],'hash':_0x410b16[_0x277b64(0x79)],'kind':_0x410b16[_0x277b64(0x8c)],'serviceCount':_0x410b16[_0x277b64(0x9a)][_0x277b64(0x7f)],'services':_0x410b16[_0x277b64(0x9a)][_0x277b64(0xa5)](summarizeLoadedManifest),'errors':_0x410b16[_0x277b64(0x9c)][_0x277b64(0xae)],'warnings':_0x410b16['report'][_0x277b64(0xad)]},'message':formatValidationFailure(_0x410b16[_0x277b64(0x9c)])};if(_0x410b16[_0x277b64(0x8c)]===_0x277b64(0x93)||_0x410b16[_0x277b64(0x9a)][_0x277b64(0x7f)]!==0x1)return{'ok':!![],'data':{'file':_0x410b16[_0x277b64(0x77)],'hash':_0x410b16['hash'],'kind':_0x410b16[_0x277b64(0x8c)],'serviceCount':_0x410b16[_0x277b64(0x9a)][_0x277b64(0x7f)],'commandCount':_0x410b16[_0x277b64(0x9a)][_0x277b64(0x81)]((_0x425ada,_0x2ac502)=>_0x425ada+(_0x2ac502[_0x277b64(0x7a)]?.[_0x277b64(0x87)][_0x277b64(0x7f)]??0x0),0x0),'services':_0x410b16[_0x277b64(0x9a)][_0x277b64(0xa5)](summarizeLoadedManifest),'warnings':_0x410b16['report'][_0x277b64(0xad)]},'message':_0x277b64(0x6a)};return{'ok':!![],'data':{'file':_0x410b16['filePath'],'hash':_0x410b16[_0x277b64(0x79)],'kind':_0x410b16['kind'],'service':_0x410b16['normalizedManifest']?.[_0x277b64(0x76)],'version':_0x410b16[_0x277b64(0x7a)]?.[_0x277b64(0xa8)],'commandCount':_0x410b16[_0x277b64(0x7a)]?.['commands'][_0x277b64(0x7f)]??0x0,'commands':_0x410b16['normalizedManifest']?.['commands']['map'](_0x2bf333=>({'path':_0x2bf333[_0x277b64(0xa6)],'risk':_0x2bf333['risk'],'target':_0x2bf333[_0x277b64(0x71)]})),'warnings':_0x410b16[_0x277b64(0x9c)][_0x277b64(0xad)]},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a33_0x5bdcb8(0x76),'command':'import','description':a33_0x5bdcb8(0x78),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0xb4e97e){const _0xcca8d8=a33_0x5bdcb8,_0x27caad=loadServiceManifestFromFile(_0xb4e97e[_0xcca8d8(0x8a)](_0xcca8d8(0xab)));return{'method':_0xcca8d8(0x8b),'url':getServiceRegistryPath(),'body':{'file':_0x27caad[_0xcca8d8(0x77)],'hash':_0x27caad[_0xcca8d8(0x79)],'kind':_0x27caad[_0xcca8d8(0x8c)],'ok':_0x27caad[_0xcca8d8(0x9c)]['ok'],'service':_0x27caad[_0xcca8d8(0x7a)]?.[_0xcca8d8(0x76)],'version':_0x27caad['normalizedManifest']?.[_0xcca8d8(0xa8)],'serviceCount':_0x27caad[_0xcca8d8(0x9a)][_0xcca8d8(0x7f)],'services':_0x27caad[_0xcca8d8(0x9a)]['map'](_0x4bfb4c=>({'service':_0x4bfb4c['normalizedManifest']?.[_0xcca8d8(0x76)],'version':_0x4bfb4c[_0xcca8d8(0x7a)]?.[_0xcca8d8(0xa8)],'commandCount':_0x4bfb4c[_0xcca8d8(0x7a)]?.[_0xcca8d8(0x87)][_0xcca8d8(0x7f)]??0x0,'errors':_0x4bfb4c[_0xcca8d8(0x9c)][_0xcca8d8(0xae)]})),'errors':_0x27caad[_0xcca8d8(0x9c)][_0xcca8d8(0xae)],'commandCount':_0x27caad[_0xcca8d8(0x7a)]?.[_0xcca8d8(0x87)][_0xcca8d8(0x7f)]??0x0},'description':_0xcca8d8(0x7e)};},async 'execute'(_0x52b603){const _0x117290=a33_0x5bdcb8,_0xdb9e0=importServiceManifest(_0x52b603['str'](_0x117290(0xab)));if(_0xdb9e0[_0x117290(0x9b)][_0x117290(0x7f)]!==0x1)return{'ok':!![],'data':{'registryPath':_0xdb9e0[_0x117290(0xa0)],'imported':_0xdb9e0[_0x117290(0x82)],'updated':_0xdb9e0[_0x117290(0x8f)],'serviceCount':_0xdb9e0[_0x117290(0x6f)],'services':_0xdb9e0[_0x117290(0x9b)][_0x117290(0xa5)](summarizeService)},'message':_0x117290(0xa4)+_0xdb9e0[_0x117290(0x82)]+_0x117290(0x9e)+_0xdb9e0[_0x117290(0x8f)]+_0x117290(0x91)};return{'ok':!![],'data':{'registryPath':_0xdb9e0[_0x117290(0xa0)],'replaced':_0xdb9e0['replaced'],'imported':_0xdb9e0[_0x117290(0x82)],'updated':_0xdb9e0['updated'],'serviceCount':_0xdb9e0[_0x117290(0x6f)],'service':summarizeService(_0xdb9e0[_0x117290(0x97)])},'message':(_0xdb9e0['replaced']?_0x117290(0x92):_0x117290(0x74))+_0x117290(0x70)+_0xdb9e0[_0x117290(0x97)][_0x117290(0xa9)]+'.'};}},{'service':a33_0x5bdcb8(0x76),'command':a33_0x5bdcb8(0x68),'description':a33_0x5bdcb8(0x69),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5962cb){const _0x5c793e=a33_0x5bdcb8,_0x40c813=getLocalServiceEntry(_0x5962cb['str'](_0x5c793e(0x76)));return{'method':'WRITE','url':_0x5962cb['str'](_0x5c793e(0xab)),'body':{'service':_0x5962cb[_0x5c793e(0x8a)]('service'),'found':Boolean(_0x40c813),'version':_0x40c813?.['version'],'source':_0x40c813?.[_0x5c793e(0x99)]},'description':_0x5c793e(0xa3)};},async 'execute'(_0x2f1af6){const _0x3282eb=a33_0x5bdcb8,_0xa25cf4=exportServiceManifest(_0x2f1af6[_0x3282eb(0x8a)](_0x3282eb(0x76)),_0x2f1af6[_0x3282eb(0x8a)](_0x3282eb(0xab)));return{'ok':!![],'data':{'registryPath':_0xa25cf4[_0x3282eb(0xa0)],'file':_0xa25cf4[_0x3282eb(0x77)],'service':summarizeService(_0xa25cf4[_0x3282eb(0x97)])},'message':_0x3282eb(0x94)+_0xa25cf4[_0x3282eb(0x97)]['serviceCode']+'.'};}},{'service':a33_0x5bdcb8(0x76),'command':a33_0x5bdcb8(0x75),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4da036=a33_0x5bdcb8,_0x4f84d9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x4f84d9[_0x4da036(0x7f)],'services':_0x4f84d9[_0x4da036(0xa5)](summarizeService)}};}},{'service':a33_0x5bdcb8(0x76),'command':a33_0x5bdcb8(0x7b),'description':a33_0x5bdcb8(0x72),'risk':a33_0x5bdcb8(0x88),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1c48b9){const _0x2a98b2=a33_0x5bdcb8,_0x598de0=getLocalServiceEntry(_0x1c48b9['str'](_0x2a98b2(0x76)));return{'method':_0x2a98b2(0x8b),'url':getServiceRegistryPath(),'body':{'service':_0x1c48b9['str'](_0x2a98b2(0x76)),'found':Boolean(_0x598de0),'version':_0x598de0?.[_0x2a98b2(0xa8)],'source':_0x598de0?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x3fabad){const _0x360eef=a33_0x5bdcb8,_0x46e1f1=removeServiceManifest(_0x3fabad[_0x360eef(0x8a)](_0x360eef(0x76)));return{'ok':!![],'data':{'registryPath':_0x46e1f1[_0x360eef(0xa0)],'serviceCount':_0x46e1f1[_0x360eef(0x6f)],'service':summarizeService(_0x46e1f1[_0x360eef(0x97)])},'message':_0x360eef(0x96)+_0x46e1f1['entry']['serviceCode']+'.'};}},{'service':a33_0x5bdcb8(0x76),'command':a33_0x5bdcb8(0xa2),'description':a33_0x5bdcb8(0x73),'risk':a33_0x5bdcb8(0xa7),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x346956){const _0x321df3=a33_0x5bdcb8,_0x56f553=getLocalServiceEntry(_0x346956['str'](_0x321df3(0x76)));if(!_0x56f553)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x346956[_0x321df3(0x8a)](_0x321df3(0x76))},'message':_0x321df3(0x67)+_0x346956[_0x321df3(0x8a)](_0x321df3(0x76))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x56f553),'manifest':_0x56f553[_0x321df3(0x6c)],'normalizedManifest':_0x56f553[_0x321df3(0x7a)]}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a34_0x210b(){const _0x3e301e=['homeDirName','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','$.services[','123dEhwxL','manifest','CliError','push','risk','Invalid\x20service\x20manifest\x20JSON:\x20','services\x20must\x20be\x20an\x20array','missing','find','registryIndex','slice','path','Cannot\x20write\x20service\x20registry:\x20','splice','sha256','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20schemaVersion:\x20','update','normalizedManifest','Remove\x20or\x20migrate\x20','importedAt','name','].manifest.','utf8','filePath','ENOENT','Unsupported\x20service\x20registry\x20schemaVersion:\x20','warnings','message','schemaVersion','3267522vWzotk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','join','trim','623321ckyhxr','6095592reFgBt','1925231viTSmL','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','].manifest','errors','findIndex','service','.tmp','now','serviceCode','toISOString','updatedAt','report','reduce','1907192CpiApe','flatMap','isArray','18ZBosgm','file','sourceHash','Invalid\x20service\x20registry\x20JSON:\x20','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','map','invalid','1414025sXuxRl','commandCount','startsWith','validation','target','version','services','cliPath','description','registry','Local\x20service\x20not\x20found:\x20','23526nKLeZq','length','service.json','parse','code','stringify','string'];a34_0x210b=function(){return _0x3e301e;};return a34_0x210b();}const a34_0x5818dc=a34_0x2c03;(function(_0x5ef184,_0x5a93ff){const _0x556626=a34_0x2c03,_0xe18a5f=_0x5ef184();while(!![]){try{const _0x440354=-parseInt(_0x556626(0x226))/0x1+parseInt(_0x556626(0x1fa))/0x2*(-parseInt(_0x556626(0x204))/0x3)+parseInt(_0x556626(0x235))/0x4+-parseInt(_0x556626(0x1ef))/0x5+-parseInt(_0x556626(0x222))/0x6+parseInt(_0x556626(0x228))/0x7+parseInt(_0x556626(0x227))/0x8*(parseInt(_0x556626(0x238))/0x9);if(_0x440354===_0x5a93ff)break;else _0xe18a5f['push'](_0xe18a5f['shift']());}catch(_0x1d6e7b){_0xe18a5f['push'](_0xe18a5f['shift']());}}}(a34_0x210b,0x53acd));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_0x5818dc(0x1fc);export function getServiceRegistryPath(_0x37b6f3={}){const _0x3a16bd=a34_0x5818dc;return resolve(_0x37b6f3['homeDir']??homedir(),PRODUCT_CONFIG[_0x3a16bd(0x201)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x28cfc4={}){const _0x4213b2=a34_0x5818dc,_0x467a9f=getServiceRegistryPath(_0x28cfc4);if(!existsSync(_0x467a9f))return emptyServiceRegistry();try{const _0x1b3641=readFileSync(_0x467a9f,'utf8');if(!_0x1b3641[_0x4213b2(0x225)]())return emptyServiceRegistry();const _0x5e2a2e=JSON[_0x4213b2(0x1fd)](_0x1b3641);if(_0x5e2a2e[_0x4213b2(0x221)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x4213b2(0x21e)+String(_0x5e2a2e[_0x4213b2(0x221)]),_0x4213b2(0x217)+_0x467a9f+'.');if(!Array[_0x4213b2(0x237)](_0x5e2a2e[_0x4213b2(0x1f5)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5e2a2e['updatedAt'],'services':_0x5e2a2e[_0x4213b2(0x1f5)]};}catch(_0x4cd6e8){if(_0x4cd6e8 instanceof Error&&_0x4cd6e8[_0x4213b2(0x219)]===_0x4213b2(0x206))throw _0x4cd6e8;throw CliErrors[_0x4213b2(0x1f2)](_0x4213b2(0x1eb)+_0x467a9f,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x433a35,_0x2fac76={}){const _0xd2d8c=a34_0x5818dc,_0x2b9d67=getServiceRegistryPath(_0x2fac76),_0x322ec0=dirname(_0x2b9d67);!existsSync(_0x322ec0)&&mkdirSync(_0x322ec0,{'recursive':!![]});const _0x250d2c=_0x2b9d67+_0xd2d8c(0x22e);try{writeFileSync(_0x250d2c,JSON[_0xd2d8c(0x1ff)](_0x433a35,null,0x2)+'\x0a',{'encoding':_0xd2d8c(0x21b),'mode':0x180}),renameSync(_0x250d2c,_0x2b9d67);}catch(_0x71a76a){try{unlinkSync(_0x250d2c);}catch{}if(_0x71a76a?.[_0xd2d8c(0x1fe)]===_0xd2d8c(0x21d))throw CliErrors['validation'](_0xd2d8c(0x210)+_0x2b9d67);throw _0x71a76a;}return _0x2b9d67;}export function loadServiceManifestFromFile(_0x581ca4){const _0x9923de=a34_0x5818dc,_0x420aad=resolve(_0x581ca4);if(!existsSync(_0x420aad))throw CliErrors[_0x9923de(0x1f2)](_0x9923de(0x213)+_0x581ca4);let _0x512291;const _0x5b450e=readFileSync(_0x420aad,_0x9923de(0x21b));try{_0x512291=JSON[_0x9923de(0x1fd)](_0x5b450e);}catch{throw CliErrors[_0x9923de(0x1f2)](_0x9923de(0x209)+_0x581ca4,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x4c0e39=sha256(_0x5b450e),_0x14ac62=extractLoadedServiceManifests(_0x512291,_0x4c0e39),_0x4631db=aggregateValidationReports(_0x14ac62),_0x30be89=_0x14ac62[0x0];return{'filePath':_0x420aad,'hash':_0x4c0e39,'kind':isServiceRegistryLike(_0x512291)?_0x9923de(0x1f8):_0x9923de(0x205),'manifest':_0x30be89?.[_0x9923de(0x205)]??_0x512291,'report':_0x4631db,'normalizedManifest':_0x14ac62[_0x9923de(0x1fb)]===0x1?_0x30be89?.['normalizedManifest']:undefined,'manifests':_0x14ac62};}export function importServiceManifest(_0x1adba1,_0x48a210={}){const _0x53914b=a34_0x5818dc,_0x5f12e5=loadServiceManifestFromFile(_0x1adba1);if(!_0x5f12e5[_0x53914b(0x233)]['ok'])throw CliErrors[_0x53914b(0x1f2)](formatValidationFailure(_0x5f12e5['report']),_0x53914b(0x229));if(_0x5f12e5['manifests'][_0x53914b(0x1fb)]===0x0)throw CliErrors['validation'](_0x53914b(0x202),_0x53914b(0x223));const _0x4da2c2=readServiceRegistry(_0x48a210),_0x2efc46=(_0x48a210[_0x53914b(0x22f)]??(()=>new Date()))()['toISOString'](),_0x1d0382=[];let _0xe5caba=0x0,_0x2c4fa7=0x0;for(const _0x2c09d7 of _0x5f12e5['manifests']){if(!_0x2c09d7[_0x53914b(0x216)])continue;const _0x536758=_0x2c09d7['normalizedManifest'][_0x53914b(0x22d)][_0x53914b(0x1fe)],_0x5542b2={'serviceCode':_0x536758,'version':_0x2c09d7[_0x53914b(0x216)][_0x53914b(0x1f4)],'importedAt':_0x2efc46,'source':{'type':_0x53914b(0x1e9),'path':_0x5f12e5[_0x53914b(0x21c)],'hash':_0x2c09d7[_0x53914b(0x1ea)]},'manifest':_0x2c09d7[_0x53914b(0x205)],'normalizedManifest':_0x2c09d7[_0x53914b(0x216)]},_0x859b=_0x4da2c2[_0x53914b(0x1f5)][_0x53914b(0x22c)](_0x23b1c5=>_0x23b1c5[_0x53914b(0x230)]===_0x536758);_0x859b>=0x0?(_0x4da2c2[_0x53914b(0x1f5)][_0x859b]=_0x5542b2,_0x2c4fa7++):(_0x4da2c2[_0x53914b(0x1f5)]['push'](_0x5542b2),_0xe5caba++),_0x1d0382[_0x53914b(0x207)](_0x5542b2);}_0x4da2c2[_0x53914b(0x1f5)]['sort']((_0x4ac348,_0x52e1e2)=>_0x4ac348[_0x53914b(0x230)]['localeCompare'](_0x52e1e2['serviceCode'])),_0x4da2c2[_0x53914b(0x232)]=_0x2efc46;const _0xe326c7=writeServiceRegistry(_0x4da2c2,_0x48a210);return{'registryPath':_0xe326c7,'entry':_0x1d0382[0x0],'replaced':_0x1d0382[_0x53914b(0x1fb)]===0x1?_0x2c4fa7===0x1:_0x2c4fa7>0x0,'entries':_0x1d0382,'imported':_0xe5caba,'updated':_0x2c4fa7,'serviceCount':_0x4da2c2[_0x53914b(0x1f5)]['length']};}export function exportServiceManifest(_0x3d4ffd,_0x2e5b41,_0x1cc2a1={}){const _0x2e5318=a34_0x5818dc,_0x24ca48=getServiceRegistryPath(_0x1cc2a1),_0x3444f9=getLocalServiceEntry(_0x3d4ffd,_0x1cc2a1);if(!_0x3444f9)throw CliErrors[_0x2e5318(0x1f2)](_0x2e5318(0x1f9)+_0x3d4ffd,_0x2e5318(0x1ec));const _0x2da5c3=resolve(_0x2e5b41),_0x5b6e2f=dirname(_0x2da5c3);return!existsSync(_0x5b6e2f)&&mkdirSync(_0x5b6e2f,{'recursive':!![]}),writeFileSync(_0x2da5c3,JSON['stringify'](_0x3444f9['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x24ca48,'filePath':_0x2da5c3,'entry':_0x3444f9};}export function removeServiceManifest(_0xe0f7dc,_0x5d5d51={}){const _0x55ebf4=a34_0x5818dc,_0x156323=readServiceRegistry(_0x5d5d51),_0xf50e05=_0xe0f7dc[_0x55ebf4(0x225)](),_0x264442=_0x156323[_0x55ebf4(0x1f5)][_0x55ebf4(0x22c)](_0x15386e=>_0x15386e[_0x55ebf4(0x230)]===_0xf50e05);if(_0x264442<0x0)throw CliErrors['validation']('Local\x20service\x20not\x20found:\x20'+_0xf50e05,_0x55ebf4(0x1ec));const [_0x238eec]=_0x156323['services'][_0x55ebf4(0x211)](_0x264442,0x1),_0x3e0384=(_0x5d5d51[_0x55ebf4(0x22f)]??(()=>new Date()))()[_0x55ebf4(0x231)]();_0x156323[_0x55ebf4(0x232)]=_0x3e0384;const _0x52371e=writeServiceRegistry(_0x156323,_0x5d5d51);return{'registryPath':_0x52371e,'entry':_0x238eec,'serviceCount':_0x156323[_0x55ebf4(0x1f5)]['length']};}export function listLocalServices(_0x5534b6={}){const _0x26e7e9=a34_0x5818dc;return readServiceRegistry(_0x5534b6)[_0x26e7e9(0x1f5)];}export function getLocalServiceEntry(_0x3f141d,_0xb7876e={}){const _0x151125=a34_0x5818dc;return readServiceRegistry(_0xb7876e)['services'][_0x151125(0x20c)](_0x5d41ad=>_0x5d41ad[_0x151125(0x230)]===_0x3f141d['trim']());}export function listLocalServiceTrees(_0x36bd5f={}){const _0x3084cd=a34_0x5818dc;return readServiceRegistry(_0x36bd5f)[_0x3084cd(0x1f5)][_0x3084cd(0x1ed)](_0x1ca1d7=>_0x1ca1d7[_0x3084cd(0x216)]);}export function inspectServiceRegistry(_0x5731ce={}){const _0x173eee=a34_0x5818dc,_0x43dfbe=getServiceRegistryPath(_0x5731ce);if(!existsSync(_0x43dfbe))return emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x20b),![]);try{const _0x49ef20=readFileSync(_0x43dfbe,'utf8');if(!_0x49ef20[_0x173eee(0x225)]())return emptyServiceRegistryInspection(_0x43dfbe,'empty',!![]);const _0x44f002=JSON[_0x173eee(0x1fd)](_0x49ef20);if(_0x44f002[_0x173eee(0x221)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x1ee),!![]),'schemaVersion':_0x44f002[_0x173eee(0x221)],'message':_0x173eee(0x214)+String(_0x44f002[_0x173eee(0x221)])};if(!Array['isArray'](_0x44f002[_0x173eee(0x1f5)]))return{...emptyServiceRegistryInspection(_0x43dfbe,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x44f002[_0x173eee(0x232)],'message':_0x173eee(0x20a)};const _0x200b21=_0x44f002[_0x173eee(0x1f5)][_0x173eee(0x1ed)](summarizeLocalServiceEntry);return{'registryPath':_0x43dfbe,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x44f002[_0x173eee(0x232)],'serviceCount':_0x200b21[_0x173eee(0x1fb)],'commandCount':_0x200b21[_0x173eee(0x234)]((_0xd6fac8,_0xfd19b)=>_0xd6fac8+_0xfd19b[_0x173eee(0x1f0)],0x0),'services':_0x200b21};}catch(_0x463bf0){return{...emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x1ee),!![]),'message':_0x463bf0 instanceof Error?_0x463bf0[_0x173eee(0x220)]:String(_0x463bf0)};}}export function formatValidationFailure(_0x2a8514){const _0x26e43f=a34_0x5818dc,_0x5d198f=_0x2a8514[_0x26e43f(0x22b)][_0x26e43f(0x1ed)](_0x6e9bd9=>_0x6e9bd9[_0x26e43f(0x20f)]+':\x20'+_0x6e9bd9[_0x26e43f(0x220)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x5d198f[_0x26e43f(0x224)]('\x0a');}function a34_0x2c03(_0x568571,_0x1a1189){_0x568571=_0x568571-0x1e9;const _0x210b31=a34_0x210b();let _0x2c038d=_0x210b31[_0x568571];return _0x2c038d;}function extractLoadedServiceManifests(_0x49b22f,_0x181a6d){const _0xd825bd=a34_0x5818dc;if(!isServiceRegistryLike(_0x49b22f)){const _0x22881a=_0x49b22f,_0x2cc342=validateServiceTreeManifest(_0x22881a);return[{'manifest':_0x22881a,'report':_0x2cc342,'normalizedManifest':_0x2cc342['ok']?normalizeServiceTreeManifest(_0x22881a):undefined,'sourceHash':_0x181a6d}];}return _0x49b22f[_0xd825bd(0x1f5)][_0xd825bd(0x1ed)]((_0x9ee3b2,_0x42761e)=>{const _0x4bb0b8=_0xd825bd,_0x2bde4d=isObjectRecord(_0x9ee3b2)?_0x9ee3b2['manifest']:undefined,_0x1a9bd8=validateServiceTreeManifest(_0x2bde4d),_0x147901=isObjectRecord(_0x9ee3b2)&&typeof _0x9ee3b2[_0x4bb0b8(0x230)]===_0x4bb0b8(0x200)?_0x9ee3b2['serviceCode']:undefined;return{'manifest':_0x2bde4d,'report':_0x1a9bd8,'normalizedManifest':_0x1a9bd8['ok']?normalizeServiceTreeManifest(_0x2bde4d):undefined,'sourceHash':sha256(JSON[_0x4bb0b8(0x1ff)](_0x2bde4d,null,0x2)+'\x0a'),'registryIndex':_0x42761e,'registryServiceCode':_0x147901};});}function aggregateValidationReports(_0x4de5ec){const _0x343847=a34_0x5818dc,_0x2bd180=_0x4de5ec['flatMap'](_0x468069=>_0x468069['registryIndex']===undefined?_0x468069[_0x343847(0x233)][_0x343847(0x22b)]:_0x468069[_0x343847(0x233)][_0x343847(0x22b)][_0x343847(0x1ed)](_0x3a209e=>({..._0x3a209e,'path':prefixRegistryIssuePath(_0x468069[_0x343847(0x20d)],_0x3a209e[_0x343847(0x20f)])}))),_0x528e1c=_0x4de5ec[_0x343847(0x236)](_0x247c7c=>_0x247c7c[_0x343847(0x20d)]===undefined?_0x247c7c[_0x343847(0x233)][_0x343847(0x21f)]:_0x247c7c[_0x343847(0x233)]['warnings'][_0x343847(0x1ed)](_0x4baeee=>({..._0x4baeee,'path':prefixRegistryIssuePath(_0x247c7c[_0x343847(0x20d)],_0x4baeee[_0x343847(0x20f)])})));return{'ok':_0x2bd180[_0x343847(0x1fb)]===0x0,'errors':_0x2bd180,'warnings':_0x528e1c};}function prefixRegistryIssuePath(_0x2a66d4,_0x4698f4){const _0x215dc1=a34_0x5818dc;if(_0x4698f4==='$')return'$.services['+_0x2a66d4+'].manifest';if(_0x4698f4['startsWith']('$.'))return'$.services['+_0x2a66d4+_0x215dc1(0x22a)+_0x4698f4['slice'](0x1);if(_0x4698f4[_0x215dc1(0x1f1)]('$['))return _0x215dc1(0x203)+_0x2a66d4+_0x215dc1(0x22a)+_0x4698f4[_0x215dc1(0x20e)](0x1);return _0x215dc1(0x203)+_0x2a66d4+_0x215dc1(0x21a)+_0x4698f4;}function isServiceRegistryLike(_0x56c58c){const _0x2b873a=a34_0x5818dc;return isObjectRecord(_0x56c58c)&&_0x56c58c[_0x2b873a(0x221)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x56c58c[_0x2b873a(0x1f5)]);}function isObjectRecord(_0x2b1dd7){const _0x46cbd8=a34_0x5818dc;return Boolean(_0x2b1dd7)&&typeof _0x2b1dd7==='object'&&!Array[_0x46cbd8(0x237)](_0x2b1dd7);}function emptyServiceRegistryInspection(_0x3abbfe,_0x5308c5,_0x24befd){return{'registryPath':_0x3abbfe,'exists':_0x24befd,'status':_0x5308c5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x240e3b){const _0x383676=a34_0x5818dc,_0x126cb0=_0x240e3b['normalizedManifest'],_0x447c20=_0x126cb0['commands'][_0x383676(0x1ed)](_0x116cc7=>({'path':_0x116cc7[_0x383676(0x1f6)],'description':_0x116cc7[_0x383676(0x1f7)],'risk':_0x116cc7[_0x383676(0x208)],'targetKind':_0x116cc7[_0x383676(0x1f3)]['kind'],'targetCommand':_0x116cc7[_0x383676(0x1f3)]['command']}));return{'serviceCode':_0x240e3b[_0x383676(0x230)],'name':_0x126cb0[_0x383676(0x22d)][_0x383676(0x219)],'description':_0x126cb0[_0x383676(0x22d)][_0x383676(0x1f7)],'version':_0x240e3b[_0x383676(0x1f4)],'importedAt':_0x240e3b[_0x383676(0x218)],'source':_0x240e3b['source'],'commandCount':_0x447c20[_0x383676(0x1fb)],'commands':_0x447c20};}function sha256(_0x2f4b3b){const _0x18a81b=a34_0x5818dc;return createHash(_0x18a81b(0x212))[_0x18a81b(0x215)](_0x2f4b3b)['digest']('hex');}
|
|
1
|
+
(function(_0x483968,_0x3c7af1){const _0x32f2e9=a34_0x173a,_0x246156=_0x483968();while(!![]){try{const _0x59b394=-parseInt(_0x32f2e9(0xdb))/0x1+parseInt(_0x32f2e9(0x10c))/0x2*(parseInt(_0x32f2e9(0xfe))/0x3)+parseInt(_0x32f2e9(0x105))/0x4*(-parseInt(_0x32f2e9(0xca))/0x5)+-parseInt(_0x32f2e9(0xea))/0x6*(parseInt(_0x32f2e9(0x10a))/0x7)+-parseInt(_0x32f2e9(0x111))/0x8*(parseInt(_0x32f2e9(0xd5))/0x9)+-parseInt(_0x32f2e9(0xcb))/0xa*(-parseInt(_0x32f2e9(0xd6))/0xb)+parseInt(_0x32f2e9(0xd3))/0xc;if(_0x59b394===_0x3c7af1)break;else _0x246156['push'](_0x246156['shift']());}catch(_0x1bac4d){_0x246156['push'](_0x246156['shift']());}}}(a34_0x1a32,0x837dd));function a34_0x173a(_0x32af14,_0x4a60b0){_0x32af14=_0x32af14-0xc9;const _0x1a3292=a34_0x1a32();let _0x173abe=_0x1a3292[_0x32af14];return _0x173abe;}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x138c3d={}){const _0x58cde7=a34_0x173a;return resolve(_0x138c3d['homeDir']??homedir(),PRODUCT_CONFIG[_0x58cde7(0xf4)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x526bc8={}){const _0x3336ab=a34_0x173a,_0x4780b2=getServiceRegistryPath(_0x526bc8);if(!existsSync(_0x4780b2))return emptyServiceRegistry();try{const _0x527b81=readFileSync(_0x4780b2,'utf8');if(!_0x527b81[_0x3336ab(0xf5)]())return emptyServiceRegistry();const _0x3dbe5f=JSON[_0x3336ab(0xce)](_0x527b81);if(_0x3dbe5f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x3336ab(0xf9)](_0x3336ab(0xe3)+String(_0x3dbe5f[_0x3336ab(0x118)]),_0x3336ab(0x109)+_0x4780b2+'.');if(!Array[_0x3336ab(0x104)](_0x3dbe5f[_0x3336ab(0xf0)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3dbe5f[_0x3336ab(0xfd)],'services':_0x3dbe5f[_0x3336ab(0xf0)]};}catch(_0x2b7873){if(_0x2b7873 instanceof Error&&_0x2b7873[_0x3336ab(0xef)]===_0x3336ab(0x10d))throw _0x2b7873;throw CliErrors[_0x3336ab(0xf9)](_0x3336ab(0xee)+_0x4780b2,_0x3336ab(0xfa));}}export function writeServiceRegistry(_0x47e2aa,_0x52ef72={}){const _0x21aa26=a34_0x173a,_0x21c886=getServiceRegistryPath(_0x52ef72),_0x2a4e39=dirname(_0x21c886);!existsSync(_0x2a4e39)&&mkdirSync(_0x2a4e39,{'recursive':!![]});const _0x1a1940=_0x21c886+'.tmp';try{writeFileSync(_0x1a1940,JSON[_0x21aa26(0xeb)](_0x47e2aa,null,0x2)+'\x0a',{'encoding':_0x21aa26(0xdf),'mode':0x180}),renameSync(_0x1a1940,_0x21c886);}catch(_0x2e06b5){try{unlinkSync(_0x1a1940);}catch{}if(_0x2e06b5?.[_0x21aa26(0x10b)]===_0x21aa26(0x110))throw CliErrors[_0x21aa26(0xf9)](_0x21aa26(0xf3)+_0x21c886);throw _0x2e06b5;}return _0x21c886;}export function loadServiceManifestFromFile(_0x3d73b3){const _0x2e89ca=a34_0x173a,_0x93ed96=resolve(_0x3d73b3);if(!existsSync(_0x93ed96))throw CliErrors[_0x2e89ca(0xf9)](_0x2e89ca(0xd8)+_0x3d73b3);let _0x58155c;const _0x45cde9=readFileSync(_0x93ed96,_0x2e89ca(0xdf));try{_0x58155c=JSON[_0x2e89ca(0xce)](_0x45cde9);}catch{throw CliErrors['validation'](_0x2e89ca(0x101)+_0x3d73b3,_0x2e89ca(0x102));}const _0xb96f1d=sha256(_0x45cde9),_0x179827=extractLoadedServiceManifests(_0x58155c,_0xb96f1d),_0x4a63d5=aggregateValidationReports(_0x179827),_0x5028fc=_0x179827[0x0];return{'filePath':_0x93ed96,'hash':_0xb96f1d,'kind':isServiceRegistryLike(_0x58155c)?_0x2e89ca(0xd2):'manifest','manifest':_0x5028fc?.['manifest']??_0x58155c,'report':_0x4a63d5,'normalizedManifest':_0x179827['length']===0x1?_0x5028fc?.['normalizedManifest']:undefined,'manifests':_0x179827};}export function importServiceManifest(_0x26e52a,_0x2b1530={}){const _0x2cfe86=a34_0x173a,_0x1d10ec=loadServiceManifestFromFile(_0x26e52a);if(!_0x1d10ec[_0x2cfe86(0x106)]['ok'])throw CliErrors[_0x2cfe86(0xf9)](formatValidationFailure(_0x1d10ec['report']),_0x2cfe86(0x11d));if(_0x1d10ec[_0x2cfe86(0xe1)][_0x2cfe86(0xda)]===0x0)throw CliErrors[_0x2cfe86(0xf9)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x315005=readServiceRegistry(_0x2b1530),_0x4c1ef5=(_0x2b1530[_0x2cfe86(0xcf)]??(()=>new Date()))()[_0x2cfe86(0xf2)](),_0x25616a=[];let _0x279f02=0x0,_0x136943=0x0;for(const _0x3dfd7c of _0x1d10ec[_0x2cfe86(0xe1)]){if(!_0x3dfd7c[_0x2cfe86(0x117)])continue;const _0x11b83c=_0x3dfd7c['normalizedManifest'][_0x2cfe86(0xed)][_0x2cfe86(0x10b)],_0x5d7bb4={'serviceCode':_0x11b83c,'version':_0x3dfd7c[_0x2cfe86(0x117)][_0x2cfe86(0x103)],'importedAt':_0x4c1ef5,'source':{'type':_0x2cfe86(0x114),'path':_0x1d10ec[_0x2cfe86(0xdc)],'hash':_0x3dfd7c[_0x2cfe86(0x100)]},'manifest':_0x3dfd7c[_0x2cfe86(0xec)],'normalizedManifest':_0x3dfd7c[_0x2cfe86(0x117)]},_0x9f3ae3=_0x315005['services'][_0x2cfe86(0xcd)](_0x81f1a7=>_0x81f1a7[_0x2cfe86(0x11c)]===_0x11b83c);_0x9f3ae3>=0x0?(_0x315005['services'][_0x9f3ae3]=_0x5d7bb4,_0x136943++):(_0x315005[_0x2cfe86(0xf0)][_0x2cfe86(0xd1)](_0x5d7bb4),_0x279f02++),_0x25616a[_0x2cfe86(0xd1)](_0x5d7bb4);}_0x315005[_0x2cfe86(0xf0)]['sort']((_0x430139,_0xf52a60)=>_0x430139[_0x2cfe86(0x11c)][_0x2cfe86(0xd4)](_0xf52a60['serviceCode'])),_0x315005['updatedAt']=_0x4c1ef5;const _0x14ae84=writeServiceRegistry(_0x315005,_0x2b1530);return{'registryPath':_0x14ae84,'entry':_0x25616a[0x0],'replaced':_0x25616a[_0x2cfe86(0xda)]===0x1?_0x136943===0x1:_0x136943>0x0,'entries':_0x25616a,'imported':_0x279f02,'updated':_0x136943,'serviceCount':_0x315005[_0x2cfe86(0xf0)][_0x2cfe86(0xda)]};}export function exportServiceManifest(_0x56a296,_0x5b79c0,_0x4ef5f6={}){const _0xec08ca=a34_0x173a,_0x4e1873=getServiceRegistryPath(_0x4ef5f6),_0x497908=getLocalServiceEntry(_0x56a296,_0x4ef5f6);if(!_0x497908)throw CliErrors[_0xec08ca(0xf9)](_0xec08ca(0xff)+_0x56a296,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x5212b5=resolve(_0x5b79c0),_0x559ae6=dirname(_0x5212b5);return!existsSync(_0x559ae6)&&mkdirSync(_0x559ae6,{'recursive':!![]}),writeFileSync(_0x5212b5,JSON[_0xec08ca(0xeb)](_0x497908[_0xec08ca(0xec)],null,0x2)+'\x0a',{'encoding':_0xec08ca(0xdf),'mode':0x180}),{'registryPath':_0x4e1873,'filePath':_0x5212b5,'entry':_0x497908};}export function removeServiceManifest(_0x9ed688,_0x1556f2={}){const _0x165f4f=a34_0x173a,_0x109220=readServiceRegistry(_0x1556f2),_0x2c760d=_0x9ed688[_0x165f4f(0xf5)](),_0x41034d=_0x109220['services'][_0x165f4f(0xcd)](_0x31ee8f=>_0x31ee8f[_0x165f4f(0x11c)]===_0x2c760d);if(_0x41034d<0x0)throw CliErrors[_0x165f4f(0xf9)](_0x165f4f(0xff)+_0x2c760d,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x510609]=_0x109220[_0x165f4f(0xf0)][_0x165f4f(0xe0)](_0x41034d,0x1),_0x43f4e7=(_0x1556f2[_0x165f4f(0xcf)]??(()=>new Date()))()['toISOString']();_0x109220[_0x165f4f(0xfd)]=_0x43f4e7;const _0x272fa6=writeServiceRegistry(_0x109220,_0x1556f2);return{'registryPath':_0x272fa6,'entry':_0x510609,'serviceCount':_0x109220[_0x165f4f(0xf0)][_0x165f4f(0xda)]};}export function listLocalServices(_0xd17479={}){const _0x4f8af5=a34_0x173a;return readServiceRegistry(_0xd17479)[_0x4f8af5(0xf0)];}export function getLocalServiceEntry(_0x5eb075,_0x307ff1={}){const _0x11d7df=a34_0x173a;return readServiceRegistry(_0x307ff1)[_0x11d7df(0xf0)][_0x11d7df(0x119)](_0x32cf18=>_0x32cf18[_0x11d7df(0x11c)]===_0x5eb075[_0x11d7df(0xf5)]());}export function listLocalServiceTrees(_0x173883={}){const _0x2ed9ff=a34_0x173a;return readServiceRegistry(_0x173883)['services'][_0x2ed9ff(0xde)](_0x2d075c=>_0x2d075c['normalizedManifest']);}export function inspectServiceRegistry(_0x390779={}){const _0x1b64d0=a34_0x173a,_0x2e7764=getServiceRegistryPath(_0x390779);if(!existsSync(_0x2e7764))return emptyServiceRegistryInspection(_0x2e7764,'missing',![]);try{const _0x4f2837=readFileSync(_0x2e7764,_0x1b64d0(0xdf));if(!_0x4f2837['trim']())return emptyServiceRegistryInspection(_0x2e7764,_0x1b64d0(0x116),!![]);const _0x5abf0b=JSON['parse'](_0x4f2837);if(_0x5abf0b[_0x1b64d0(0x118)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2e7764,_0x1b64d0(0x108),!![]),'schemaVersion':_0x5abf0b[_0x1b64d0(0x118)],'message':_0x1b64d0(0xe9)+String(_0x5abf0b['schemaVersion'])};if(!Array[_0x1b64d0(0x104)](_0x5abf0b[_0x1b64d0(0xf0)]))return{...emptyServiceRegistryInspection(_0x2e7764,_0x1b64d0(0x108),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5abf0b[_0x1b64d0(0xfd)],'message':_0x1b64d0(0xe6)};const _0x1e6c7c=_0x5abf0b['services'][_0x1b64d0(0xde)](summarizeLocalServiceEntry);return{'registryPath':_0x2e7764,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5abf0b['updatedAt'],'serviceCount':_0x1e6c7c[_0x1b64d0(0xda)],'commandCount':_0x1e6c7c[_0x1b64d0(0xe4)]((_0x45eb7f,_0x2a5d16)=>_0x45eb7f+_0x2a5d16['commandCount'],0x0),'services':_0x1e6c7c};}catch(_0x5f1ea0){return{...emptyServiceRegistryInspection(_0x2e7764,_0x1b64d0(0x108),!![]),'message':_0x5f1ea0 instanceof Error?_0x5f1ea0[_0x1b64d0(0xe7)]:String(_0x5f1ea0)};}}export function formatValidationFailure(_0x5a00f0){const _0x315894=a34_0x173a,_0x22edc0=_0x5a00f0[_0x315894(0xf8)][_0x315894(0xde)](_0x146cea=>_0x146cea[_0x315894(0xf6)]+':\x20'+_0x146cea[_0x315894(0xe7)]);return _0x315894(0x115)+_0x22edc0['join']('\x0a');}function extractLoadedServiceManifests(_0x36e501,_0x4831fa){const _0x3a5245=a34_0x173a;if(!isServiceRegistryLike(_0x36e501)){const _0x2ee6c1=_0x36e501,_0x3f9f9a=validateServiceTreeManifest(_0x2ee6c1);return[{'manifest':_0x2ee6c1,'report':_0x3f9f9a,'normalizedManifest':_0x3f9f9a['ok']?normalizeServiceTreeManifest(_0x2ee6c1):undefined,'sourceHash':_0x4831fa}];}return _0x36e501['services'][_0x3a5245(0xde)]((_0x24e842,_0x35a935)=>{const _0x52b95e=_0x3a5245,_0x1bf4cb=isObjectRecord(_0x24e842)?_0x24e842[_0x52b95e(0xec)]:undefined,_0x27e8ba=validateServiceTreeManifest(_0x1bf4cb),_0x5bffb2=isObjectRecord(_0x24e842)&&typeof _0x24e842[_0x52b95e(0x11c)]===_0x52b95e(0x10e)?_0x24e842[_0x52b95e(0x11c)]:undefined;return{'manifest':_0x1bf4cb,'report':_0x27e8ba,'normalizedManifest':_0x27e8ba['ok']?normalizeServiceTreeManifest(_0x1bf4cb):undefined,'sourceHash':sha256(JSON[_0x52b95e(0xeb)](_0x1bf4cb,null,0x2)+'\x0a'),'registryIndex':_0x35a935,'registryServiceCode':_0x5bffb2};});}function aggregateValidationReports(_0xaafd56){const _0x48f2e=a34_0x173a,_0x5445d5=_0xaafd56[_0x48f2e(0x11e)](_0x4563b5=>_0x4563b5[_0x48f2e(0x11b)]===undefined?_0x4563b5[_0x48f2e(0x106)][_0x48f2e(0xf8)]:_0x4563b5[_0x48f2e(0x106)][_0x48f2e(0xf8)][_0x48f2e(0xde)](_0x1bc194=>({..._0x1bc194,'path':prefixRegistryIssuePath(_0x4563b5[_0x48f2e(0x11b)],_0x1bc194[_0x48f2e(0xf6)])}))),_0x26e30f=_0xaafd56[_0x48f2e(0x11e)](_0x452624=>_0x452624[_0x48f2e(0x11b)]===undefined?_0x452624['report']['warnings']:_0x452624[_0x48f2e(0x106)][_0x48f2e(0xf7)]['map'](_0x534b2f=>({..._0x534b2f,'path':prefixRegistryIssuePath(_0x452624['registryIndex'],_0x534b2f[_0x48f2e(0xf6)])})));return{'ok':_0x5445d5[_0x48f2e(0xda)]===0x0,'errors':_0x5445d5,'warnings':_0x26e30f};}function prefixRegistryIssuePath(_0x53b296,_0x35bcc7){const _0x3b7dea=a34_0x173a;if(_0x35bcc7==='$')return _0x3b7dea(0xd9)+_0x53b296+'].manifest';if(_0x35bcc7[_0x3b7dea(0xcc)]('$.'))return _0x3b7dea(0xd9)+_0x53b296+_0x3b7dea(0xe2)+_0x35bcc7['slice'](0x1);if(_0x35bcc7[_0x3b7dea(0xcc)]('$['))return _0x3b7dea(0xd9)+_0x53b296+_0x3b7dea(0xe2)+_0x35bcc7[_0x3b7dea(0xfc)](0x1);return _0x3b7dea(0xd9)+_0x53b296+_0x3b7dea(0x112)+_0x35bcc7;}function isServiceRegistryLike(_0x1aeaad){const _0x2d06e6=a34_0x173a;return isObjectRecord(_0x1aeaad)&&_0x1aeaad[_0x2d06e6(0x118)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x1aeaad['services']);}function isObjectRecord(_0x2dbd35){const _0x36f3be=a34_0x173a;return Boolean(_0x2dbd35)&&typeof _0x2dbd35===_0x36f3be(0xd7)&&!Array[_0x36f3be(0x104)](_0x2dbd35);}function emptyServiceRegistryInspection(_0x4d1819,_0x1638ff,_0x550cb1){return{'registryPath':_0x4d1819,'exists':_0x550cb1,'status':_0x1638ff,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function a34_0x1a32(){const _0x44fc1d=['isArray','2532568YYHeNB','report','kind','invalid','Remove\x20or\x20migrate\x20','6293777amjDWX','code','1276718RVMDjO','CliError','string','hex','ENOENT','101104ymPlrM','].manifest.','importedAt','file','Service\x20manifest\x20validation\x20failed:\x0a','empty','normalizedManifest','schemaVersion','find','commands','registryIndex','serviceCode','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','flatMap','cliPath','5eQRjyp','293730JoWoFL','startsWith','findIndex','parse','now','source','push','registry','29926872FgpiXz','localeCompare','387lCjEyn','187nIUKwO','object','Service\x20manifest\x20file\x20not\x20found:\x20','$.services[','length','1017330RcIfYu','filePath','command','map','utf8','splice','manifests','].manifest','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','update','services\x20must\x20be\x20an\x20array','message','sha256','Unsupported\x20schemaVersion:\x20','6oiycjA','stringify','manifest','service','Invalid\x20service\x20registry\x20JSON:\x20','name','services','digest','toISOString','Cannot\x20write\x20service\x20registry:\x20','homeDirName','trim','path','warnings','errors','validation','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','description','slice','updatedAt','3hxgGJU','Local\x20service\x20not\x20found:\x20','sourceHash','Invalid\x20service\x20manifest\x20JSON:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','version'];a34_0x1a32=function(){return _0x44fc1d;};return a34_0x1a32();}function summarizeLocalServiceEntry(_0x24c102){const _0x3d801d=a34_0x173a,_0x1cbabd=_0x24c102['normalizedManifest'],_0xbe4172=_0x1cbabd[_0x3d801d(0x11a)][_0x3d801d(0xde)](_0x359e89=>({'path':_0x359e89[_0x3d801d(0xc9)],'description':_0x359e89[_0x3d801d(0xfb)],'risk':_0x359e89['risk'],'targetKind':_0x359e89['target'][_0x3d801d(0x107)],'targetCommand':_0x359e89['target'][_0x3d801d(0xdd)]}));return{'serviceCode':_0x24c102[_0x3d801d(0x11c)],'name':_0x1cbabd['service'][_0x3d801d(0xef)],'description':_0x1cbabd[_0x3d801d(0xed)][_0x3d801d(0xfb)],'version':_0x24c102[_0x3d801d(0x103)],'importedAt':_0x24c102[_0x3d801d(0x113)],'source':_0x24c102[_0x3d801d(0xd0)],'commandCount':_0xbe4172['length'],'commands':_0xbe4172};}function sha256(_0x5811e4){const _0x3b53b6=a34_0x173a;return createHash(_0x3b53b6(0xe8))[_0x3b53b6(0xe5)](_0x5811e4)[_0x3b53b6(0xf1)](_0x3b53b6(0x10f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0x532240=a35_0x24e9;function a35_0x37d3(){const _0x4ad867=['name','Skill\x20directory\x20already\x20exists:\x20','files','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','target','content','rendered','map','validation','skill','261cbDzod','write','136ApzZik','force','1675722Zatola','skillName','522730xuxlwe','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','trim','113JIgSmC','isSymbolicLink','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','type','Created\x20local\x20Skill\x20draft\x20','skillDir','824260elQMRz','7mAihKq','path','69016cMtFMB','Refusing\x20to\x20overwrite\x20symlink:\x20','str','1354588skSFir','3YHFvGf','1959661JGveHh','isDirectory'];a35_0x37d3=function(){return _0x4ad867;};return a35_0x37d3();}(function(_0x5c32f5,_0x5a2d40){const _0x58986a=a35_0x24e9,_0x1d0d15=_0x5c32f5();while(!![]){try{const _0x33986d=parseInt(_0x58986a(0x1b8))/0x1*(parseInt(_0x58986a(0x1b1))/0x2)+parseInt(_0x58986a(0x1a2))/0x3*(parseInt(_0x58986a(0x1a1))/0x4)+parseInt(_0x58986a(0x1b5))/0x5+parseInt(_0x58986a(0x1b3))/0x6*(-parseInt(_0x58986a(0x1bf))/0x7)+-parseInt(_0x58986a(0x1c1))/0x8*(parseInt(_0x58986a(0x1af))/0x9)+parseInt(_0x58986a(0x1be))/0xa+parseInt(_0x58986a(0x1a3))/0xb;if(_0x33986d===_0x5a2d40)break;else _0x1d0d15['push'](_0x1d0d15['shift']());}catch(_0x109205){_0x1d0d15['push'](_0x1d0d15['shift']());}}}(a35_0x37d3,0x2c6e0));function a35_0x24e9(_0x34e66f,_0x5571d1){_0x34e66f=_0x34e66f-0x1a0;const _0x37d318=a35_0x37d3();let _0x24e997=_0x37d318[_0x34e66f];return _0x24e997;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x532240(0x1ae),'command':'create','description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x532240(0x1b0),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3efdc7){const _0x1bc8e5=a35_0x532240,_0x58dc7b=buildSkillCreatePlan(_0x3efdc7[_0x1bc8e5(0x1a0)]('name'),_0x3efdc7[_0x1bc8e5(0x1a0)](_0x1bc8e5(0x1bb)),_0x3efdc7[_0x1bc8e5(0x1a0)](_0x1bc8e5(0x1a9)));return{'method':'WRITE','url':_0x58dc7b[_0x1bc8e5(0x1bd)],'body':{'skillName':_0x58dc7b['rendered'][_0x1bc8e5(0x1b4)],'type':_0x58dc7b['rendered'][_0x1bc8e5(0x1bb)],'selfContained':!![],'files':_0x58dc7b[_0x1bc8e5(0x1ab)][_0x1bc8e5(0x1a7)]['map'](_0x21205c=>_0x21205c[_0x1bc8e5(0x1c0)])},'description':_0x1bc8e5(0x1ba)};},async 'execute'(_0x523dea){const _0x5c48c1=a35_0x532240,_0x9a15ce=buildSkillCreatePlan(_0x523dea['str'](_0x5c48c1(0x1a5)),_0x523dea[_0x5c48c1(0x1a0)](_0x5c48c1(0x1bb)),_0x523dea[_0x5c48c1(0x1a0)](_0x5c48c1(0x1a9)));return writeSkillDraft(_0x9a15ce,_0x523dea['bool'](_0x5c48c1(0x1b2))),{'ok':!![],'data':{'skillName':_0x9a15ce[_0x5c48c1(0x1ab)]['skillName'],'type':_0x9a15ce[_0x5c48c1(0x1ab)][_0x5c48c1(0x1bb)],'dir':_0x9a15ce[_0x5c48c1(0x1bd)],'files':_0x9a15ce['rendered'][_0x5c48c1(0x1a7)][_0x5c48c1(0x1ac)](_0x325fa6=>_0x325fa6[_0x5c48c1(0x1c0)])},'message':_0x5c48c1(0x1bc)+_0x9a15ce[_0x5c48c1(0x1ab)]['skillName']};}};function buildSkillCreatePlan(_0x14b678,_0xcbfca6,_0x29d2a8){const _0x1f0200=a35_0x532240,_0x46b2f8=renderSkillTemplate({'skillName':_0x14b678,'type':_0xcbfca6}),_0x391a97=resolve(normalizeSkillTarget(_0x29d2a8));return{'rendered':_0x46b2f8,'targetRoot':_0x391a97,'skillDir':resolve(_0x391a97,_0x46b2f8[_0x1f0200(0x1b4)])};}function normalizeSkillTarget(_0x46a5f9){const _0xc9ccea=a35_0x532240;return(_0x46a5f9||DEFAULT_SKILL_TARGET)[_0xc9ccea(0x1b7)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x388a76,_0x344b87){const _0x112f71=a35_0x532240;if(existsSync(_0x388a76[_0x112f71(0x1bd)])){const _0x242ca3=lstatSync(_0x388a76[_0x112f71(0x1bd)]);if(!_0x242ca3[_0x112f71(0x1a4)]()||_0x242ca3[_0x112f71(0x1b9)]())throw CliErrors['validation'](_0x112f71(0x1b6)+_0x388a76[_0x112f71(0x1bd)]);if(!_0x344b87)throw CliErrors[_0x112f71(0x1ad)](_0x112f71(0x1a6)+_0x388a76['skillDir'],_0x112f71(0x1a8));}for(const _0x590b33 of _0x388a76[_0x112f71(0x1ab)][_0x112f71(0x1a7)]){const _0x15b4a9=resolve(_0x388a76[_0x112f71(0x1bd)],_0x590b33[_0x112f71(0x1c0)]),_0x5dc298=dirname(_0x15b4a9);mkdirSync(_0x5dc298,{'recursive':!![]});if(existsSync(_0x15b4a9)&&lstatSync(_0x15b4a9)[_0x112f71(0x1b9)]())throw CliErrors[_0x112f71(0x1ad)](_0x112f71(0x1c2)+_0x15b4a9);writeFileSync(_0x15b4a9,_0x590b33[_0x112f71(0x1aa)],'utf8');}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x22f9d3=a36_0x33d2;(function(_0x4fb7e4,_0x58725c){const _0x3e29d2=a36_0x33d2,_0x36d172=_0x4fb7e4();while(!![]){try{const _0x4d7631=-parseInt(_0x3e29d2(0xc5))/0x1*(-parseInt(_0x3e29d2(0xca))/0x2)+-parseInt(_0x3e29d2(0xdb))/0x3+-parseInt(_0x3e29d2(0xd0))/0x4+-parseInt(_0x3e29d2(0xdc))/0x5+-parseInt(_0x3e29d2(0xda))/0x6+-parseInt(_0x3e29d2(0xbc))/0x7+parseInt(_0x3e29d2(0xcf))/0x8;if(_0x4d7631===_0x58725c)break;else _0x36d172['push'](_0x36d172['shift']());}catch(_0x1ef987){_0x36d172['push'](_0x36d172['shift']());}}}(a36_0x1b1b,0x8f227));function a36_0x1b1b(){const _0x2f2232=['skipped','../../../skills/runtime-skill-sync.js','production','version','appCode','7336630aRWLrZ','flatMap','map','action','length','envName','reduce','company','write','475347Didwyw','Installed\x20','personal','all','\x20company\x20Skill(s).','2NWIyvD','skill','removed','updated','trim','21437256mkEOue','3864460XEzppM','str','skillCode','includes','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','filter','\x20personal\x20and\x20','created','install','push','364740fqcWyN','735210emuRwQ','1243300MaTLrU','code'];a36_0x1b1b=function(){return _0x2f2232;};return a36_0x1b1b();}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x22f9d3(0xcb),'command':a36_0x22f9d3(0xd8),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x22f9d3(0xc4),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x586a1f){return syncRuntimeSkills(_0x586a1f);}};async function syncRuntimeSkills(_0x3c6457){const _0x224a7a=a36_0x22f9d3,{downloadRuntimeSkillPackage:_0x230981,listRuntimeSkills:_0x5d6121}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x511514,materializeRuntimeSkill:_0x31e49f,pruneStaleRuntimeSkillCache:_0x24d2a9,pruneStaleRuntimeSkillLinks:_0x126368}=await import(_0x224a7a(0xdf)),_0x3fdfda=_0x3c6457['str'](_0x224a7a(0xdd)),_0x55192c=normalizeSyncScopes(_0x3c6457[_0x224a7a(0xd1)]('scope')),_0x48e8e7=_0x3c6457[_0x224a7a(0xc1)]??_0x224a7a(0xe0),_0x1a380e=_0x3c6457['accessKey'];if(!_0x1a380e)throw CliErrors['authRequired'](_0x224a7a(0xd4));const _0x7d8c7e=await Promise[_0x224a7a(0xc8)](_0x55192c[_0x224a7a(0xbe)](_0x297876=>_0x5d6121({'appCode':_0x3c6457[_0x224a7a(0xbb)],'scope':_0x297876,'code':_0x3fdfda[_0x224a7a(0xce)]()||undefined}))),_0x36f6b0=_0x55192c[_0x224a7a(0xd3)](_0x224a7a(0xc7))?_0x7d8c7e[_0x224a7a(0xbd)]((_0x37ff64,_0x194978)=>_0x55192c[_0x194978]===_0x224a7a(0xc7)?_0x37ff64[_0x224a7a(0xc7)]:[]):[],_0x69192a=_0x55192c[_0x224a7a(0xd3)](_0x224a7a(0xc3))?_0x7d8c7e['flatMap']((_0x392a56,_0x2aeba4)=>_0x55192c[_0x2aeba4]===_0x224a7a(0xc3)?_0x392a56['company']:[]):[],_0x4490bf=new Set([..._0x36f6b0[_0x224a7a(0xbe)](_0x2867e6=>_0x2867e6['skillCode']?.[_0x224a7a(0xce)]())[_0x224a7a(0xd5)](_0x3e09d9=>Boolean(_0x3e09d9)),..._0x69192a['map'](_0x1eeee3=>_0x1eeee3[_0x224a7a(0xd2)]?.[_0x224a7a(0xce)]())['filter'](_0xf433f0=>Boolean(_0xf433f0))]),_0x4215cb=_0x3fdfda[_0x224a7a(0xce)]()?[_0x3fdfda[_0x224a7a(0xce)]()]:undefined,_0x4de723=_0x55192c['length']===0x2&&_0x55192c['includes']('personal')&&_0x55192c['includes']('company'),_0x48a2b8=_0x4de723?_0x126368(_0x3c6457[_0x224a7a(0xbb)],_0x4490bf,{},_0x4215cb):[],_0x27fb77=_0x24d2a9({'env':_0x48e8e7,'accessKey':_0x1a380e,'appCode':_0x3c6457[_0x224a7a(0xbb)],'activeSkillCodes':_0x4490bf,'pruneSkillCodes':_0x4215cb,'scopes':_0x55192c}),_0x11863f=[];for(const _0x14f0fe of _0x36f6b0){_0x11863f[_0x224a7a(0xd9)](_0x31e49f(_0x14f0fe,'personal',{'env':_0x48e8e7,'accessKey':_0x1a380e,'appCode':_0x3c6457[_0x224a7a(0xbb)],'packageBytes':await downloadSkillPackage(_0x14f0fe,_0x224a7a(0xc7),_0x3c6457[_0x224a7a(0xbb)],_0x230981)}));}for(const _0xcf22af of _0x69192a){_0x11863f[_0x224a7a(0xd9)](_0x31e49f(_0xcf22af,'company',{'env':_0x48e8e7,'accessKey':_0x1a380e,'appCode':_0x3c6457[_0x224a7a(0xbb)],'packageBytes':await downloadSkillPackage(_0xcf22af,_0x224a7a(0xc3),_0x3c6457[_0x224a7a(0xbb)],_0x230981)}));}const _0x5711aa=_0x511514(_0x11863f,_0x3c6457['appCode']),_0x551a58=countLinkActions(_0x5711aa);return{'ok':!![],'data':{'appCode':_0x3c6457[_0x224a7a(0xbb)],'personal':_0x36f6b0[_0x224a7a(0xc0)],'company':_0x69192a[_0x224a7a(0xc0)],'materialized':_0x11863f[_0x224a7a(0xc0)],'links':{'total':_0x5711aa[_0x224a7a(0xc0)],'created':_0x551a58[_0x224a7a(0xd7)]??0x0,'updated':_0x551a58[_0x224a7a(0xcd)]??0x0,'unchanged':_0x551a58['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x48a2b8['filter'](_0x47f997=>_0x47f997['action']===_0x224a7a(0xcc))['length'],'cacheDirs':_0x27fb77[_0x224a7a(0xd5)](_0x124aac=>_0x124aac[_0x224a7a(0xbf)]===_0x224a7a(0xcc))[_0x224a7a(0xc0)],'skipped':[..._0x48a2b8,..._0x27fb77][_0x224a7a(0xd5)](_0x5d9c8d=>_0x5d9c8d[_0x224a7a(0xbf)]===_0x224a7a(0xde))[_0x224a7a(0xc0)]},'skills':{'personal':_0x36f6b0[_0x224a7a(0xbe)](summarizeRuntimeSkill),'company':_0x69192a[_0x224a7a(0xbe)](summarizeRuntimeSkill)}},'message':_0x224a7a(0xc6)+_0x36f6b0['length']+_0x224a7a(0xd6)+_0x69192a[_0x224a7a(0xc0)]+_0x224a7a(0xc9)};}function a36_0x33d2(_0x70c7bf,_0x22178e){_0x70c7bf=_0x70c7bf-0xbb;const _0x1b1b90=a36_0x1b1b();let _0x33d231=_0x1b1b90[_0x70c7bf];return _0x33d231;}async function downloadSkillPackage(_0x4ed76f,_0x50149b,_0x384ebf,_0x32e23f){const _0x4a49fa=a36_0x22f9d3,_0xd81804=_0x4ed76f[_0x4a49fa(0xe1)]?.[_0x4a49fa(0xce)]();return _0xd81804?_0x32e23f(_0x50149b,_0x4ed76f['skillCode'],_0x384ebf,_0xd81804):_0x32e23f(_0x50149b,_0x4ed76f['skillCode'],_0x384ebf);}function countLinkActions(_0x3e0528){const _0x3e73c4=a36_0x22f9d3;return _0x3e0528[_0x3e73c4(0xc2)]((_0x38ab23,_0x509fde)=>{const _0x3b2c9a=_0x3e73c4;return _0x38ab23[_0x509fde[_0x3b2c9a(0xbf)]]=(_0x38ab23[_0x509fde[_0x3b2c9a(0xbf)]]??0x0)+0x1,_0x38ab23;},{});}
|