@lovrabet/lovrabet-cli 2.1.6-beta.4 → 2.1.6-beta.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
|
+
function a27_0x2234(_0x218917,_0x5b584e){_0x218917=_0x218917-0xfe;const _0x4a89d1=a27_0x4a89();let _0x223447=_0x4a89d1[_0x218917];return _0x223447;}const a27_0x29db63=a27_0x2234;(function(_0x29d768,_0x38af5b){const _0x54fe02=a27_0x2234,_0x4a94f1=_0x29d768();while(!![]){try{const _0x259532=parseInt(_0x54fe02(0x139))/0x1+parseInt(_0x54fe02(0x12c))/0x2*(-parseInt(_0x54fe02(0x11a))/0x3)+-parseInt(_0x54fe02(0x114))/0x4+-parseInt(_0x54fe02(0x13a))/0x5*(-parseInt(_0x54fe02(0x135))/0x6)+-parseInt(_0x54fe02(0x11b))/0x7*(parseInt(_0x54fe02(0x10b))/0x8)+parseInt(_0x54fe02(0x131))/0x9*(-parseInt(_0x54fe02(0x108))/0xa)+parseInt(_0x54fe02(0x10d))/0xb*(parseInt(_0x54fe02(0x105))/0xc);if(_0x259532===_0x38af5b)break;else _0x4a94f1['push'](_0x4a94f1['shift']());}catch(_0x52b67b){_0x4a94f1['push'](_0x4a94f1['shift']());}}}(a27_0x4a89,0xa42a9));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';function a27_0x4a89(){const _0x3a665c=['ragErrorMessage','docId','1233099BKMxRX','Personal\x20knowledge-base\x20entry\x20ID','/client/knowledge-base/personal/','Personal\x20knowledge-base\x20entry\x20title','3463788BhLXRI','version','length','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','857117gwTyuQ','5ZTSuZH','validation','body','POST','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','num','file','Search\x20query\x20is\x20required.','number','bool','900SBpbnd','string','write','30sgCVJZ','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','63464qIeUDa','topk','209561kYHgdP','detail','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','read','File\x20is\x20not\x20a\x20regular\x20file:\x20','Created\x20KB\x20entry\x20','956560SFrTUA','content','search','title','scope','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','3bjZGXq','427COQJhD','metadata','str','build','ragStatus','flag','trim','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','update','description','query','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','create','weightedScore','appCode','verbose','map','2113458xpkhtG','--topk\x20must\x20be\x20a\x20positive\x20number.','userId'];a27_0x4a89=function(){return _0x3a665c;};return a27_0x4a89();}import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a27_0x29db63(0x117),'type':a27_0x29db63(0x106),'required':!![],'description':a27_0x29db63(0x134)},FILE_FLAG={'name':'file','type':'string','required':!![],'description':a27_0x29db63(0x10a)},QUERY_FLAG={'name':a27_0x29db63(0x125),'type':a27_0x29db63(0x106),'required':!![],'description':a27_0x29db63(0x122)},TOPK_FLAG={'name':a27_0x29db63(0x10c),'type':a27_0x29db63(0x103),'description':'Maximum\x20number\x20of\x20search\x20hits\x20to\x20return'};function readKnowledgeFile(_0x994513){const _0x67190d=a27_0x29db63;if(!_0x994513)throw CliErrors['validation'](_0x67190d(0x110));if(!existsSync(_0x994513))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x994513);if(!statSync(_0x994513)['isFile']())throw CliErrors[_0x67190d(0x13b)](_0x67190d(0x112)+_0x994513);return readFileSync(_0x994513,_0x67190d(0x109));}function summarizePersonalItem(_0x29e5d7){const _0x1c72d3=a27_0x29db63;return{'id':_0x29e5d7['id'],'title':_0x29e5d7[_0x1c72d3(0x117)],'version':_0x29e5d7[_0x1c72d3(0x136)],'ragStatus':_0x29e5d7[_0x1c72d3(0x11f)],'ragErrorMessage':_0x29e5d7[_0x1c72d3(0x12f)],'updateTime':_0x29e5d7['updateTime']};}function detailPersonalItem(_0x17a262){const _0x2fa6fc=a27_0x29db63;return{'id':_0x17a262['id'],'appCode':_0x17a262[_0x2fa6fc(0x129)],'scope':_0x17a262[_0x2fa6fc(0x118)],'userId':_0x17a262[_0x2fa6fc(0x12e)],'title':_0x17a262[_0x2fa6fc(0x117)],'content':_0x17a262['content']??'','version':_0x17a262[_0x2fa6fc(0x136)],'ragStatus':_0x17a262[_0x2fa6fc(0x11f)],'ragErrorMessage':_0x17a262[_0x2fa6fc(0x12f)],'createTime':_0x17a262['createTime'],'updateTime':_0x17a262['updateTime']};}function summarizeSearchHit(_0x2b38d5){const _0x33e40a=a27_0x29db63;return{'scope':_0x2b38d5[_0x33e40a(0x118)],'docId':_0x2b38d5[_0x33e40a(0x130)],'score':_0x2b38d5['score'],'weightedScore':_0x2b38d5[_0x33e40a(0x128)],'content':_0x2b38d5[_0x33e40a(0x115)],'metadata':_0x2b38d5[_0x33e40a(0x11c)]};}function readTopK(_0x44aae3){const _0x3c380d=a27_0x29db63,_0x54e912=_0x44aae3[_0x3c380d(0x120)](_0x3c380d(0x10c));if(_0x54e912===undefined||_0x54e912===null||_0x54e912==='')return undefined;const _0x4b5a00=_0x44aae3['num'](_0x3c380d(0x10c));if(!Number['isFinite'](_0x4b5a00)||_0x4b5a00<0x1)throw CliErrors[_0x3c380d(0x13b)](_0x3c380d(0x12d));return _0x4b5a00;}const kbList={'service':'kb','command':'list','description':a27_0x29db63(0x10f),'risk':a27_0x29db63(0x111),'flags':[VERBOSE_FLAG],async 'execute'(_0x1f16cb){const _0x2bc868=a27_0x29db63,_0x2bcb61=await listPersonalKnowledgeBaseItems(_0x1f16cb[_0x2bc868(0x129)]);if(_0x1f16cb[_0x2bc868(0x104)](_0x2bc868(0x12a)))return{'ok':!![],'data':{'total':_0x2bcb61['length'],'items':_0x2bcb61}};return{'ok':!![],'data':{'total':_0x2bcb61[_0x2bc868(0x137)],'items':_0x2bcb61[_0x2bc868(0x12b)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x29db63(0x10e),'description':a27_0x29db63(0x126),'risk':'read','flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'}],async 'execute'(_0x8f33c4){const _0x58ba05=a27_0x29db63,_0x4a0c07=await getPersonalKnowledgeBaseItem(_0x8f33c4[_0x58ba05(0x100)]('id'),_0x8f33c4['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x4a0c07)};}},kbCreate={'service':'kb','command':a27_0x29db63(0x127),'description':a27_0x29db63(0x119),'risk':'write','flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x404845){const _0x509488=a27_0x29db63,_0x3653a1=_0x404845[_0x509488(0x11d)](_0x509488(0x117)),_0x937bc6=readKnowledgeFile(_0x404845[_0x509488(0x11d)]('file')),_0x409266=await createPersonalKnowledgeBaseItem(_0x404845[_0x509488(0x129)],{'title':_0x3653a1,'content':_0x937bc6});return{'ok':!![],'data':summarizePersonalItem(_0x409266),'message':_0x509488(0x113)+_0x409266['id']+'\x20('+_0x409266['title']+')'};},async 'dryRun'(_0xeae809){const _0x2ea24f=a27_0x29db63,_0x3888b3=_0xeae809[_0x2ea24f(0x11d)](_0x2ea24f(0x117)),_0x3e7431=readKnowledgeFile(_0xeae809['str'](_0x2ea24f(0x101)));return dryRun(_0x2ea24f(0xfe),'/client/knowledge-base/personal/create')[_0x2ea24f(0x13c)]({'appCode':_0xeae809[_0x2ea24f(0x129)],'title':_0x3888b3,'content':_0x3e7431})[_0x2ea24f(0x124)](_0x2ea24f(0x138)+_0x3888b3+'\x22')[_0x2ea24f(0x11e)]();}},kbUpdate={'service':'kb','command':a27_0x29db63(0x123),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a27_0x29db63(0x107),'flags':[{...ID_FLAG,'description':a27_0x29db63(0x132)},{...TITLE_FLAG,'required':![],'description':'Override\x20the\x20existing\x20entry\x20title'},FILE_FLAG],async 'execute'(_0x446f65){const _0x504ef4=a27_0x29db63,_0x197697=_0x446f65[_0x504ef4(0x100)]('id'),_0x5e66c4=readKnowledgeFile(_0x446f65[_0x504ef4(0x11d)](_0x504ef4(0x101))),_0x3625f6=_0x446f65[_0x504ef4(0x11d)](_0x504ef4(0x117))||(await getPersonalKnowledgeBaseItem(_0x197697,_0x446f65[_0x504ef4(0x129)]))[_0x504ef4(0x117)],_0x2306b1=await updatePersonalKnowledgeBaseItem(_0x197697,_0x446f65[_0x504ef4(0x129)],{'title':_0x3625f6,'content':_0x5e66c4});return{'ok':!![],'data':summarizePersonalItem(_0x2306b1),'message':'Updated\x20KB\x20entry\x20'+_0x2306b1['id']+'\x20('+_0x2306b1[_0x504ef4(0x117)]+')'};},async 'dryRun'(_0x17fdda){const _0x3461ee=a27_0x29db63,_0x3ab993=_0x17fdda[_0x3461ee(0x100)]('id'),_0x1c8b5c=readKnowledgeFile(_0x17fdda[_0x3461ee(0x11d)](_0x3461ee(0x101))),_0xe187d6=_0x17fdda['str']('title')||(await getPersonalKnowledgeBaseItem(_0x3ab993,_0x17fdda[_0x3461ee(0x129)]))[_0x3461ee(0x117)];return dryRun(_0x3461ee(0xfe),_0x3461ee(0x133)+_0x3ab993+'/update')[_0x3461ee(0x13c)]({'appCode':_0x17fdda[_0x3461ee(0x129)],'title':_0xe187d6,'content':_0x1c8b5c})[_0x3461ee(0x124)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x3ab993)[_0x3461ee(0x11e)]();}},kbSearch={'service':'kb','command':a27_0x29db63(0x116),'description':a27_0x29db63(0xff),'risk':a27_0x29db63(0x111),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x386fa5){const _0x1b4a72=a27_0x29db63;if(!_0x386fa5[_0x1b4a72(0x11d)]('query')[_0x1b4a72(0x121)]())throw CliErrors[_0x1b4a72(0x13b)](_0x1b4a72(0x102));readTopK(_0x386fa5);},async 'execute'(_0x2236a3){const _0xcb7eeb=a27_0x29db63,_0x1e3f34=_0x2236a3[_0xcb7eeb(0x11d)](_0xcb7eeb(0x125))[_0xcb7eeb(0x121)](),_0x1b912c=readTopK(_0x2236a3),_0x4c0a8b=await searchKnowledgeBase(_0x2236a3[_0xcb7eeb(0x129)],{'query':_0x1e3f34,'topK':_0x1b912c});return{'ok':!![],'data':{'total':_0x4c0a8b['length'],'hits':_0x4c0a8b[_0xcb7eeb(0x12b)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x2f22da=a28_0x2831;(function(_0x860fb1,_0x5c8090){const _0x2d142a=a28_0x2831,_0xd74efb=_0x860fb1();while(!![]){try{const _0x311671=parseInt(_0x2d142a(0x10a))/0x1+parseInt(_0x2d142a(0xfb))/0x2*(parseInt(_0x2d142a(0x10f))/0x3)+parseInt(_0x2d142a(0x11f))/0x4*(parseInt(_0x2d142a(0x107))/0x5)+parseInt(_0x2d142a(0x10e))/0x6*(parseInt(_0x2d142a(0x11c))/0x7)+-parseInt(_0x2d142a(0x11b))/0x8*(parseInt(_0x2d142a(0x100))/0x9)+parseInt(_0x2d142a(0x110))/0xa+-parseInt(_0x2d142a(0x109))/0xb;if(_0x311671===_0x5c8090)break;else _0xd74efb['push'](_0xd74efb['shift']());}catch(_0x31e7c2){_0xd74efb['push'](_0xd74efb['shift']());}}}(a28_0x4b1c,0x6eb4d));function a28_0x4b1c(){const _0x37339c=['message','6aOxTzB','2548935aqUVBL','4508730llSRBQ','\x20\x20\x20Time:\x20','stringify','clearLogs','write','timestamp','duration','error','length','*\x20Logs\x20cleared','log','8WxbThh','2329208XksdVD','details','keys','4748yfJUsO','2HBuMeU','clear','success','show','read','5216103phiBAf','toLocaleString','forEach','Clear\x20command\x20history\x20logs','level','command','warn','1585sIjWQk','logs','13835855enqsbI','281284OBajzH','en-US','readLogs'];a28_0x4b1c=function(){return _0x37339c;};return a28_0x4b1c();}function a28_0x2831(_0x46d153,_0x3e2102){_0x46d153=_0x46d153-0xfb;const _0x4b1c57=a28_0x4b1c();let _0x28318d=_0x4b1c57[_0x46d153];return _0x28318d;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x3a2e5c){const _0x107a8e=a28_0x2831;if(_0x3a2e5c[_0x107a8e(0x118)]===0x0){console[_0x107a8e(0x11a)]('*\x20No\x20logs\x20found');return;}console[_0x107a8e(0x11a)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x3a2e5c[_0x107a8e(0x102)]((_0x24571e,_0x34606e)=>{const _0x1ab5dd=_0x107a8e,_0x3ee2de=new Date(_0x24571e[_0x1ab5dd(0x115)])[_0x1ab5dd(0x101)](_0x1ab5dd(0x10b)),_0x11d17f=_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0xfd)?'√':_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0x117)?'×':_0x24571e[_0x1ab5dd(0x104)]===_0x1ab5dd(0x106)?'!':'i';console['log'](_0x34606e+0x1+'.\x20'+_0x11d17f+'\x20['+_0x24571e[_0x1ab5dd(0x105)]+']\x20'+_0x24571e[_0x1ab5dd(0x10d)]),console['log'](_0x1ab5dd(0x111)+_0x3ee2de),_0x24571e[_0x1ab5dd(0x116)]&&console[_0x1ab5dd(0x11a)]('\x20\x20\x20Duration:\x20'+_0x24571e[_0x1ab5dd(0x116)]+'ms'),_0x24571e[_0x1ab5dd(0x11d)]&&Object[_0x1ab5dd(0x11e)](_0x24571e[_0x1ab5dd(0x11d)])[_0x1ab5dd(0x118)]>0x0&&console[_0x1ab5dd(0x11a)]('\x20\x20\x20Details:\x20'+JSON[_0x1ab5dd(0x112)](_0x24571e[_0x1ab5dd(0x11d)],null,0x2)),console[_0x1ab5dd(0x11a)]('');});}export const logsDefinitions=[{'service':a28_0x2f22da(0x108),'command':a28_0x2f22da(0xfe),'description':'View\x20command\x20history\x20logs','risk':a28_0x2f22da(0xff),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x40a152){const _0x1cbb0f=a28_0x2f22da;return printLogs(logger[_0x1cbb0f(0x10c)]()),{'ok':!![]};}},{'service':a28_0x2f22da(0x108),'command':a28_0x2f22da(0xfc),'description':a28_0x2f22da(0x103),'risk':a28_0x2f22da(0x114),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3fc6f5){const _0x5bd233=a28_0x2f22da;return logger[_0x5bd233(0x113)](),console['log'](_0x5bd233(0x119)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0x190ec3=a29_0x1b7f;(function(_0x16c5b8,_0x4e77e2){const _0x53f907=a29_0x1b7f,_0x328dbc=_0x16c5b8();while(!![]){try{const _0x137d87=-parseInt(_0x53f907(0x8b))/0x1*(parseInt(_0x53f907(0x99))/0x2)+-parseInt(_0x53f907(0xa0))/0x3+-parseInt(_0x53f907(0xb3))/0x4*(-parseInt(_0x53f907(0x96))/0x5)+parseInt(_0x53f907(0x88))/0x6+-parseInt(_0x53f907(0x86))/0x7+parseInt(_0x53f907(0x9d))/0x8+parseInt(_0x53f907(0xb0))/0x9*(parseInt(_0x53f907(0xaf))/0xa);if(_0x137d87===_0x4e77e2)break;else _0x328dbc['push'](_0x328dbc['shift']());}catch(_0x3c4b03){_0x328dbc['push'](_0x328dbc['shift']());}}}(a29_0x22e2,0x65234));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a29_0x22e2(){const _0x3d5be2=['--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','keys','version','str','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','Optional\x20source\x20RuntimeAgent\x20session\x20id','string','build','scriptType','Preview:\x20update\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','99290sFBpRy','819atSEsR','createTime','functionName','3636fxCjiH','personal-bff','utf8','file','high-risk-write','isArray','Show\x20one\x20personal\x20BFF\x20by\x20id','trim','name','verbose','Preview:\x20create\x20personal\x20BFF\x20','Created\x20personal\x20BFF\x20','/update','detail','Executed\x20personal\x20BFF\x20','appCode','gmtModified','description','File\x20path\x20is\x20required.','updateTime','map','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','/client/runtime-bff/personal/','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','flag','File\x20not\x20found:\x20','944013otMINg','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','666882cgiqlX','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','write','125163PmOTRJ','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','body','Personal\x20BFF\x20script\x20file\x20is\x20blank.','test','File\x20is\x20not\x20a\x20regular\x20file:\x20','scriptContent','params','create','gmtCreate','validation','370KbalWw','sourceSessionId','list','10EAgXON','num','bool','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','3492168KiMFSC','POST','length','1030617YytPMH','source-session-id','read','--params\x20must\x20be\x20a\x20JSON\x20object.'];a29_0x22e2=function(){return _0x3d5be2;};return a29_0x22e2();}import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x190ec3(0xb6),'type':a29_0x190ec3(0xaa),'description':a29_0x190ec3(0x8c)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x190ec3(0xaa),'required':!![],'description':a29_0x190ec3(0x87)},DESCRIPTION_FLAG={'name':a29_0x190ec3(0xc4),'type':a29_0x190ec3(0xaa),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x190ec3(0xa1),'type':a29_0x190ec3(0xaa),'description':a29_0x190ec3(0xa9)};function normalizeFunctionName(_0x4afd8e){const _0x53fb26=a29_0x190ec3,_0x15252b=String(_0x4afd8e||'')['trim']();if(!_0x15252b||!FUNCTION_NAME_PATTERN[_0x53fb26(0x8f)](_0x15252b))throw CliErrors['validation'](_0x53fb26(0xa4));return _0x15252b;}function readScriptFile(_0x176835){const _0x347711=a29_0x190ec3;if(!_0x176835)throw CliErrors[_0x347711(0x95)](_0x347711(0xc5));if(!existsSync(_0x176835))throw CliErrors['validation'](_0x347711(0x85)+_0x176835);if(!statSync(_0x176835)['isFile']())throw CliErrors[_0x347711(0x95)](_0x347711(0x90)+_0x176835);const _0x1fc075=readFileSync(_0x176835,_0x347711(0xb5));if(!_0x1fc075[_0x347711(0xba)]())throw CliErrors[_0x347711(0x95)](_0x347711(0x8e));return _0x1fc075;}function optionalTrimmed(_0xecc3a3){const _0x3d94e1=a29_0x190ec3,_0x12fa76=String(_0xecc3a3||'')[_0x3d94e1(0xba)]();return _0x12fa76||undefined;}function summarizeBff(_0x1e8280){const _0x1fc39a=a29_0x190ec3;return{'id':_0x1e8280['id'],'appCode':_0x1e8280[_0x1fc39a(0xc2)],'functionName':_0x1e8280[_0x1fc39a(0xb2)],'description':_0x1e8280['description'],'scriptType':_0x1e8280[_0x1fc39a(0xac)],'version':_0x1e8280[_0x1fc39a(0xa6)],'gmtModified':_0x1e8280['gmtModified'],'updateTime':_0x1e8280[_0x1fc39a(0xc6)]};}function detailBff(_0x2244aa){const _0x5bdd9b=a29_0x190ec3;return{'id':_0x2244aa['id'],'appCode':_0x2244aa[_0x5bdd9b(0xc2)],'functionName':_0x2244aa['functionName'],'description':_0x2244aa[_0x5bdd9b(0xc4)],'scriptType':_0x2244aa[_0x5bdd9b(0xac)],'scriptContent':_0x2244aa[_0x5bdd9b(0x91)]??'','config':_0x2244aa['config'],'version':_0x2244aa[_0x5bdd9b(0xa6)],'createUserId':_0x2244aa['createUserId'],'gmtCreate':_0x2244aa[_0x5bdd9b(0x94)],'gmtModified':_0x2244aa[_0x5bdd9b(0xc3)],'createTime':_0x2244aa[_0x5bdd9b(0xb1)],'updateTime':_0x2244aa[_0x5bdd9b(0xc6)]};}function buildCreateInput(_0x2ae61e){const _0x307212=a29_0x190ec3;return{'functionName':normalizeFunctionName(_0x2ae61e[_0x307212(0xa7)]('name')),...optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xc4)))?{'description':optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xc4)))}:{},'scriptContent':readScriptFile(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xb6))),...optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xa1)))?{'sourceSessionId':optionalTrimmed(_0x2ae61e[_0x307212(0xa7)](_0x307212(0xa1)))}:{}};}function buildUpdateInput(_0x3d9aed){const _0x471f21=a29_0x190ec3,_0x38cbd8={};optionalTrimmed(_0x3d9aed['str']('name'))&&(_0x38cbd8[_0x471f21(0xb2)]=normalizeFunctionName(_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xbb))));_0x3d9aed[_0x471f21(0x84)](_0x471f21(0xc4))!==undefined&&(_0x38cbd8[_0x471f21(0xc4)]=_0x3d9aed['str']('description'));optionalTrimmed(_0x3d9aed['str'](_0x471f21(0xb6)))&&(_0x38cbd8['scriptContent']=readScriptFile(_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xb6))));_0x3d9aed[_0x471f21(0x84)](_0x471f21(0xa1))!==undefined&&(_0x38cbd8[_0x471f21(0x97)]=_0x3d9aed[_0x471f21(0xa7)](_0x471f21(0xa1)));if(Object[_0x471f21(0xa5)](_0x38cbd8)[_0x471f21(0x9f)]===0x0)throw CliErrors[_0x471f21(0x95)](_0x471f21(0xc8));return _0x38cbd8;}function parseExecParams(_0x46d015){const _0x28dd8c=a29_0x190ec3,_0x21ab10=parseJsonParams(_0x46d015)??{};if(Array[_0x28dd8c(0xb8)](_0x21ab10))throw CliErrors[_0x28dd8c(0x95)](_0x28dd8c(0xa3));return _0x21ab10;}const personalBffList={'service':'personal-bff','command':a29_0x190ec3(0x98),'description':a29_0x190ec3(0x89),'risk':a29_0x190ec3(0xa2),'flags':[VERBOSE_FLAG],async 'execute'(_0x3546df){const _0x334d55=a29_0x190ec3,_0xba9659=await listPersonalBffs(_0x3546df['appCode']);return{'ok':!![],'data':{'total':_0xba9659[_0x334d55(0x9f)],'items':_0x3546df[_0x334d55(0x9b)](_0x334d55(0xbc))?_0xba9659:_0xba9659[_0x334d55(0xc7)](summarizeBff)}};}},personalBffDetail={'service':a29_0x190ec3(0xb4),'command':a29_0x190ec3(0xc0),'description':a29_0x190ec3(0xb9),'risk':a29_0x190ec3(0xa2),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)}],async 'execute'(_0x1f80a6){const _0xc8abdf=a29_0x190ec3,_0x19e650=await getPersonalBff(_0x1f80a6[_0xc8abdf(0x9a)]('id'),_0x1f80a6['appCode']);return{'ok':!![],'data':detailBff(_0x19e650)};}},personalBffCreate={'service':'personal-bff','command':a29_0x190ec3(0x93),'description':a29_0x190ec3(0x9c),'risk':a29_0x190ec3(0x8a),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2f6889){const _0x201574=a29_0x190ec3,_0x540956=buildCreateInput(_0x2f6889),_0xe8d050=await createPersonalBff(_0x2f6889[_0x201574(0xc2)],_0x540956);return{'ok':!![],'data':detailBff(_0xe8d050),'message':_0x201574(0xbe)+_0xe8d050['id']+(_0xe8d050['functionName']?'\x20('+_0xe8d050[_0x201574(0xb2)]+')':'')};},async 'dryRun'(_0x56f5a3){const _0x58b28f=a29_0x190ec3,_0x429299=buildCreateInput(_0x56f5a3);return dryRun(_0x58b28f(0x9e),'/client/runtime-bff/personal/create')[_0x58b28f(0x8d)]({'appCode':_0x56f5a3[_0x58b28f(0xc2)],..._0x429299})[_0x58b28f(0xc4)](_0x58b28f(0xbd)+_0x429299[_0x58b28f(0xb2)])[_0x58b28f(0xab)]();}},personalBffUpdate={'service':a29_0x190ec3(0xb4),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x190ec3(0x8a),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x1a09ed){const _0x344f6b=a29_0x190ec3,_0x27111f=_0x1a09ed[_0x344f6b(0x9a)]('id'),_0x1b515a=buildUpdateInput(_0x1a09ed),_0x398272=await updatePersonalBff(_0x27111f,_0x1a09ed['appCode'],_0x1b515a);return{'ok':!![],'data':detailBff(_0x398272),'message':'Updated\x20personal\x20BFF\x20'+_0x398272['id']+(_0x398272[_0x344f6b(0xb2)]?'\x20('+_0x398272['functionName']+')':'')};},async 'dryRun'(_0x716307){const _0x46fc8f=a29_0x190ec3,_0x2281d8=_0x716307['num']('id'),_0x2b1f9a=buildUpdateInput(_0x716307);return dryRun('POST',_0x46fc8f(0xc9)+_0x2281d8+_0x46fc8f(0xbf))[_0x46fc8f(0x8d)]({'appCode':_0x716307[_0x46fc8f(0xc2)],..._0x2b1f9a})[_0x46fc8f(0xc4)](_0x46fc8f(0xad)+_0x2281d8)[_0x46fc8f(0xab)]();}},personalBffExec={'service':a29_0x190ec3(0xb4),'command':'exec','description':a29_0x190ec3(0xca),'risk':a29_0x190ec3(0xb7),'flags':[{...ID_FLAG,'description':a29_0x190ec3(0xae)},{...PARAMS_FLAG,'description':a29_0x190ec3(0xa8)}],async 'validate'(_0x2246f7){const _0x2418e9=a29_0x190ec3;parseExecParams(_0x2246f7[_0x2418e9(0xa7)]('params'));},async 'execute'(_0x384300){const _0x251faa=a29_0x190ec3,_0x2e829c=_0x384300[_0x251faa(0x9a)]('id'),_0x3b21ed=parseExecParams(_0x384300['str'](_0x251faa(0x92))),_0xd150a=await executePersonalBff(_0x2e829c,_0x384300[_0x251faa(0xc2)],_0x3b21ed);return{'ok':!![],'data':{'result':_0xd150a},'message':_0x251faa(0xc1)+_0x2e829c};}};function a29_0x1b7f(_0x3cbb08,_0x45709e){_0x3cbb08=_0x3cbb08-0x84;const _0x22e2de=a29_0x22e2();let _0x1b7f17=_0x22e2de[_0x3cbb08];return _0x1b7f17;}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a29_0x4154ba=a29_0x5ef0;(function(_0x5372ea,_0x47cd59){const _0x56dc75=a29_0x5ef0,_0x17b756=_0x5372ea();while(!![]){try{const _0x371d03=-parseInt(_0x56dc75(0x1cf))/0x1*(-parseInt(_0x56dc75(0x1c6))/0x2)+parseInt(_0x56dc75(0x1dc))/0x3+parseInt(_0x56dc75(0x1d1))/0x4+-parseInt(_0x56dc75(0x1ed))/0x5*(-parseInt(_0x56dc75(0x1d5))/0x6)+-parseInt(_0x56dc75(0x1ea))/0x7+parseInt(_0x56dc75(0x1c9))/0x8*(parseInt(_0x56dc75(0x1d6))/0x9)+-parseInt(_0x56dc75(0x1bf))/0xa*(parseInt(_0x56dc75(0x1e8))/0xb);if(_0x371d03===_0x47cd59)break;else _0x17b756['push'](_0x17b756['shift']());}catch(_0x5c23d9){_0x17b756['push'](_0x17b756['shift']());}}}(a29_0x3909,0x1ff5f));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';function a29_0x3909(){const _0x435430=['scriptContent','443640RAAgqh','flag','test','utf8','Show\x20one\x20personal\x20BFF\x20by\x20id','source-session-id','309cdPwPi','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','174548QgTWws','length','high-risk-write','build','102fQKvyx','36ZPDlOa','params','validation','/client/runtime-bff/personal/create','trim','functionName','769104FfVSNG','Created\x20personal\x20BFF\x20','sourceSessionId','/client/runtime-bff/personal/','File\x20not\x20found:\x20','Optional\x20source\x20RuntimeAgent\x20session\x20id','Personal\x20BFF\x20description','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','name','write','File\x20path\x20is\x20required.','updateTime','6391exjslm','detail','132482EvHAcT','string','--params\x20must\x20be\x20a\x20JSON\x20object.','40105EADrRJ','/update','Updated\x20personal\x20BFF\x20','bool','config','file','Preview:\x20create\x20personal\x20BFF\x20','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','Executed\x20personal\x20BFF\x20','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Update\x20a\x20personal\x20BFF\x20by\x20id','version','Personal\x20BFF\x20script\x20ID','keys','gmtCreate','appCode','createTime','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','create','isFile','POST','num','body','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','isArray','read','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','personal-bff','11180hkOriI','Preview:\x20update\x20personal\x20BFF\x20','gmtModified','description','update','str','scriptType','914TyLMnO','verbose'];a29_0x3909=function(){return _0x435430;};return a29_0x3909();}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':'string','description':a29_0x4154ba(0x1f6)},FUNCTION_NAME_FLAG={'name':a29_0x4154ba(0x1e4),'type':a29_0x4154ba(0x1eb),'required':!![],'description':a29_0x4154ba(0x207)},DESCRIPTION_FLAG={'name':'description','type':a29_0x4154ba(0x1eb),'description':a29_0x4154ba(0x1e2)},SOURCE_SESSION_FLAG={'name':a29_0x4154ba(0x1ce),'type':a29_0x4154ba(0x1eb),'description':a29_0x4154ba(0x1e1)};function a29_0x5ef0(_0x38aa36,_0x3d1315){_0x38aa36=_0x38aa36-0x1be;const _0x3909f4=a29_0x3909();let _0x5ef038=_0x3909f4[_0x38aa36];return _0x5ef038;}function normalizeFunctionName(_0x4ce877){const _0x1248d8=a29_0x4154ba,_0x922550=String(_0x4ce877||'')[_0x1248d8(0x1da)]();if(!_0x922550||!FUNCTION_NAME_PATTERN[_0x1248d8(0x1cb)](_0x922550))throw CliErrors[_0x1248d8(0x1d8)](_0x1248d8(0x1e3));return _0x922550;}function readScriptFile(_0xacf92c){const _0x3f5fd3=a29_0x4154ba;if(!_0xacf92c)throw CliErrors[_0x3f5fd3(0x1d8)](_0x3f5fd3(0x1e6));if(!existsSync(_0xacf92c))throw CliErrors[_0x3f5fd3(0x1d8)](_0x3f5fd3(0x1e0)+_0xacf92c);if(!statSync(_0xacf92c)[_0x3f5fd3(0x200)]())throw CliErrors[_0x3f5fd3(0x1d8)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0xacf92c);const _0x2be7d6=readFileSync(_0xacf92c,_0x3f5fd3(0x1cc));if(!_0x2be7d6[_0x3f5fd3(0x1da)]())throw CliErrors['validation']('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x2be7d6;}function optionalTrimmed(_0x1194b3){const _0x4c1dd0=a29_0x4154ba,_0x4606a1=String(_0x1194b3||'')[_0x4c1dd0(0x1da)]();return _0x4606a1||undefined;}function summarizeBff(_0x530b28){const _0x1941ca=a29_0x4154ba;return{'id':_0x530b28['id'],'appCode':_0x530b28[_0x1941ca(0x1fc)],'functionName':_0x530b28[_0x1941ca(0x1db)],'description':_0x530b28['description'],'scriptType':_0x530b28[_0x1941ca(0x1c5)],'version':_0x530b28[_0x1941ca(0x1f8)],'gmtModified':_0x530b28['gmtModified'],'updateTime':_0x530b28[_0x1941ca(0x1e7)]};}function detailBff(_0x1d4388){const _0x119e21=a29_0x4154ba;return{'id':_0x1d4388['id'],'appCode':_0x1d4388['appCode'],'functionName':_0x1d4388[_0x119e21(0x1db)],'description':_0x1d4388[_0x119e21(0x1c2)],'scriptType':_0x1d4388[_0x119e21(0x1c5)],'scriptContent':_0x1d4388['scriptContent']??'','config':_0x1d4388[_0x119e21(0x1f1)],'version':_0x1d4388[_0x119e21(0x1f8)],'createUserId':_0x1d4388['createUserId'],'gmtCreate':_0x1d4388[_0x119e21(0x1fb)],'gmtModified':_0x1d4388[_0x119e21(0x1c1)],'createTime':_0x1d4388[_0x119e21(0x1fd)],'updateTime':_0x1d4388[_0x119e21(0x1e7)]};}function buildCreateInput(_0x4c4827){const _0x83220a=a29_0x4154ba;return{'functionName':normalizeFunctionName(_0x4c4827[_0x83220a(0x1c4)]('name')),...optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1c2)))?{'description':optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)]('description'))}:{},'scriptContent':readScriptFile(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1f2))),...optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)](_0x83220a(0x1ce)))?{'sourceSessionId':optionalTrimmed(_0x4c4827[_0x83220a(0x1c4)]('source-session-id'))}:{}};}function buildUpdateInput(_0x31ebcf){const _0x3d2778=a29_0x4154ba,_0x9ef03c={};optionalTrimmed(_0x31ebcf['str'](_0x3d2778(0x1e4)))&&(_0x9ef03c[_0x3d2778(0x1db)]=normalizeFunctionName(_0x31ebcf[_0x3d2778(0x1c4)]('name')));_0x31ebcf['flag'](_0x3d2778(0x1c2))!==undefined&&(_0x9ef03c[_0x3d2778(0x1c2)]=_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1c2)));optionalTrimmed(_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1f2)))&&(_0x9ef03c[_0x3d2778(0x1c8)]=readScriptFile(_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1f2))));_0x31ebcf[_0x3d2778(0x1ca)](_0x3d2778(0x1ce))!==undefined&&(_0x9ef03c[_0x3d2778(0x1de)]=_0x31ebcf[_0x3d2778(0x1c4)](_0x3d2778(0x1ce)));if(Object[_0x3d2778(0x1fa)](_0x9ef03c)['length']===0x0)throw CliErrors[_0x3d2778(0x1d8)](_0x3d2778(0x204));return _0x9ef03c;}function parseExecParams(_0x267327){const _0x4755e2=a29_0x4154ba,_0x16fba9=parseJsonParams(_0x267327)??{};if(Array[_0x4755e2(0x205)](_0x16fba9))throw CliErrors[_0x4755e2(0x1d8)](_0x4755e2(0x1ec));return _0x16fba9;}const personalBffList={'service':'personal-bff','command':'list','description':a29_0x4154ba(0x1d0),'risk':a29_0x4154ba(0x206),'flags':[VERBOSE_FLAG],async 'execute'(_0x21ad1d){const _0x1a9df5=a29_0x4154ba,_0x201bad=await listPersonalBffs(_0x21ad1d['appCode']);return{'ok':!![],'data':{'total':_0x201bad[_0x1a9df5(0x1d2)],'items':_0x21ad1d[_0x1a9df5(0x1f0)](_0x1a9df5(0x1c7))?_0x201bad:_0x201bad['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1e9),'description':a29_0x4154ba(0x1cd),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x4154ba(0x1f9)}],async 'execute'(_0x2804ef){const _0x43fde0=a29_0x4154ba,_0x30c078=await getPersonalBff(_0x2804ef['num']('id'),_0x2804ef[_0x43fde0(0x1fc)]);return{'ok':!![],'data':detailBff(_0x30c078)};}},personalBffCreate={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1ff),'description':a29_0x4154ba(0x208),'risk':a29_0x4154ba(0x1e5),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x20f575){const _0x29bd75=a29_0x4154ba,_0x2cedb2=buildCreateInput(_0x20f575),_0x5320fb=await createPersonalBff(_0x20f575['appCode'],_0x2cedb2);return{'ok':!![],'data':detailBff(_0x5320fb),'message':_0x29bd75(0x1dd)+_0x5320fb['id']+(_0x5320fb[_0x29bd75(0x1db)]?'\x20('+_0x5320fb[_0x29bd75(0x1db)]+')':'')};},async 'dryRun'(_0x3d12cd){const _0x4ade0c=a29_0x4154ba,_0x1823f4=buildCreateInput(_0x3d12cd);return dryRun(_0x4ade0c(0x201),_0x4ade0c(0x1d9))[_0x4ade0c(0x203)]({'appCode':_0x3d12cd[_0x4ade0c(0x1fc)],..._0x1823f4})[_0x4ade0c(0x1c2)](_0x4ade0c(0x1f3)+_0x1823f4[_0x4ade0c(0x1db)])['build']();}},personalBffUpdate={'service':a29_0x4154ba(0x1be),'command':a29_0x4154ba(0x1c3),'description':a29_0x4154ba(0x1f7),'risk':a29_0x4154ba(0x1e5),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4e577c){const _0x56d456=a29_0x4154ba,_0x148024=_0x4e577c[_0x56d456(0x202)]('id'),_0x5f296e=buildUpdateInput(_0x4e577c),_0x1aac30=await updatePersonalBff(_0x148024,_0x4e577c['appCode'],_0x5f296e);return{'ok':!![],'data':detailBff(_0x1aac30),'message':_0x56d456(0x1ef)+_0x1aac30['id']+(_0x1aac30[_0x56d456(0x1db)]?'\x20('+_0x1aac30[_0x56d456(0x1db)]+')':'')};},async 'dryRun'(_0x22695d){const _0x2567b5=a29_0x4154ba,_0x2d6945=_0x22695d[_0x2567b5(0x202)]('id'),_0x17451e=buildUpdateInput(_0x22695d);return dryRun(_0x2567b5(0x201),_0x2567b5(0x1df)+_0x2d6945+_0x2567b5(0x1ee))[_0x2567b5(0x203)]({'appCode':_0x22695d[_0x2567b5(0x1fc)],..._0x17451e})[_0x2567b5(0x1c2)](_0x2567b5(0x1c0)+_0x2d6945)[_0x2567b5(0x1d4)]();}},personalBffExec={'service':'personal-bff','command':'exec','description':a29_0x4154ba(0x1f4),'risk':a29_0x4154ba(0x1d3),'flags':[{...ID_FLAG,'description':a29_0x4154ba(0x1f9)},{...PARAMS_FLAG,'description':a29_0x4154ba(0x1fe)}],async 'validate'(_0x5ad205){const _0x25a7a3=a29_0x4154ba;parseExecParams(_0x5ad205[_0x25a7a3(0x1c4)]('params'));},async 'execute'(_0x3e9be6){const _0x1a1b35=a29_0x4154ba,_0x146e5a=_0x3e9be6[_0x1a1b35(0x202)]('id'),_0x2e927f=parseExecParams(_0x3e9be6[_0x1a1b35(0x1c4)](_0x1a1b35(0x1d7))),_0x9b1585=await executePersonalBff(_0x146e5a,_0x3e9be6[_0x1a1b35(0x1fc)],_0x2e927f);return{'ok':!![],'data':{'result':_0x9b1585},'message':_0x1a1b35(0x1f5)+_0x146e5a};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0xf83427=a30_0x3e38;(function(_0x528ff5,_0x47b5c5){const _0x2a870a=a30_0x3e38,_0x226529=_0x528ff5();while(!![]){try{const _0x490ef2=parseInt(_0x2a870a(0x1dd))/0x1*(-parseInt(_0x2a870a(0x1d8))/0x2)+-parseInt(_0x2a870a(0x1d2))/0x3*(-parseInt(_0x2a870a(0x1be))/0x4)+-parseInt(_0x2a870a(0x1da))/0x5+parseInt(_0x2a870a(0x1d3))/0x6+parseInt(_0x2a870a(0x1d0))/0x7+parseInt(_0x2a870a(0x1d5))/0x8+parseInt(_0x2a870a(0x1db))/0x9;if(_0x490ef2===_0x47b5c5)break;else _0x226529['push'](_0x226529['shift']());}catch(_0x462498){_0x226529['push'](_0x226529['shift']());}}}(a30_0x34ad,0x77556));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';function a30_0x3e38(_0x16aa38,_0x5b10e5){_0x16aa38=_0x16aa38-0x1b9;const _0x34ad0f=a30_0x34ad();let _0x3e38bf=_0x34ad0f[_0x16aa38];return _0x3e38bf;}import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';function a30_0x34ad(){const _0x5890b9=['API\x20Documentation','login','BFF\x20Scripts','push','Schema','CLI\x20Built-in\x20Skill','Artifacts','Diagnostics','get','Self\x20Update','App\x20Management','list','2292304aBLRDX','Skills','18pJZsMv','2168208IybTAz','Workspace','5493712ExpSgr','isSingleCommand','Configuration','902IiipyA','risk','3930235adxEqs','362466xUSkyh','set','1221xidIkh','Datasets','Instant\x20API','install','\x20\x20[high-risk-write]','Logs','Authentication','273120XcdRyJ','read','command','\x20\x20[write]','Personal\x20BFF','service'];a30_0x34ad=function(){return _0x5890b9;};return a30_0x34ad();}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(_0x5afc44){const _0x2f93e6=a30_0x3e38;for(const _0x16ad86 of _0x5afc44){definitions[_0x2f93e6(0x1dc)](_0x16ad86[_0x2f93e6(0x1c3)]+':'+_0x16ad86[_0x2f93e6(0x1c0)],_0x16ad86);let _0x3dd3ec=serviceGroups[_0x2f93e6(0x1cc)](_0x16ad86[_0x2f93e6(0x1c3)]);!_0x3dd3ec&&(_0x3dd3ec=[],serviceGroups[_0x2f93e6(0x1dc)](_0x16ad86[_0x2f93e6(0x1c3)],_0x3dd3ec)),_0x3dd3ec[_0x2f93e6(0x1c7)](_0x16ad86);}}function registerService(_0x38ea92,_0x4cb90f,_0x412d31){const _0x2330ed=a30_0x3e38;registerDefinitions(_0x4cb90f);const _0x3dbf98=_0x1e1b40=>_0x1e1b40===_0x2330ed(0x1bf)?'':_0x1e1b40==='write'?_0x2330ed(0x1c1):_0x2330ed(0x1bb),_0x28c016={'service':_0x4cb90f[0x0]['service'],'label':_0x38ea92,'commands':_0x4cb90f['map'](_0x2b982c=>({'command':_0x2b982c['command'],'description':_0x2b982c['description'],'tag':_0x3dbf98(_0x2b982c[_0x2330ed(0x1d9)])})),'defaultCommand':_0x412d31?.['defaultCommand']??(_0x412d31?.['isSingleCommand']?_0x4cb90f[0x0][_0x2330ed(0x1c0)]:undefined),'isSingleCommand':_0x412d31?.[_0x2330ed(0x1d6)]};serviceRegistry[_0x2330ed(0x1c7)](_0x28c016),serviceByName['set'](_0x28c016[_0x2330ed(0x1c3)],_0x28c016);}registerService(a30_0xf83427(0x1bd),authDefinitions,{'defaultCommand':a30_0xf83427(0x1c5)}),registerService(a30_0xf83427(0x1c4),apiDocDefinitions),registerService(a30_0xf83427(0x1de),datasetDefinitions),registerService(a30_0xf83427(0x1b9),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0xf83427(0x1c6),bffDefinitions),registerService(a30_0xf83427(0x1c2),personalBffDefinitions),registerService(a30_0xf83427(0x1ca),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0xf83427(0x1ce),appDefinitions,{'defaultCommand':'list'}),registerService(a30_0xf83427(0x1d4),workspaceDefinitions),registerService(a30_0xf83427(0x1d7),configDefinitions,{'defaultCommand':a30_0xf83427(0x1cf)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0xf83427(0x1d1),skillDefinitions,{'defaultCommand':a30_0xf83427(0x1ba)}),registerService(a30_0xf83427(0x1c9),cliSkillDefinitions,{'defaultCommand':a30_0xf83427(0x1ba)}),registerService(a30_0xf83427(0x1cd),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0xf83427(0x1cb),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0xf83427(0x1c8),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0xf83427(0x1bc),logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x687aff,_0x4a674a){const _0x5d1aae=a30_0xf83427;return definitions[_0x5d1aae(0x1cc)](_0x687aff+':'+_0x4a674a);}export function isKnownService(_0xc25075){return serviceByName['has'](_0xc25075);}export function getServiceEntry(_0x3d4e07){return serviceByName['get'](_0x3d4e07);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x303070=a31_0x167c;(function(_0x3a87a4,_0x567efd){const _0x183e69=a31_0x167c,_0x4065cf=_0x3a87a4();while(!![]){try{const _0x4ad9aa=-parseInt(_0x183e69(0x1ea))/0x1+parseInt(_0x183e69(0x1ec))/0x2*(parseInt(_0x183e69(0x1eb))/0x3)+-parseInt(_0x183e69(0x1e5))/0x4*(parseInt(_0x183e69(0x1e8))/0x5)+-parseInt(_0x183e69(0x1e2))/0x6+parseInt(_0x183e69(0x1e4))/0x7+parseInt(_0x183e69(0x1e9))/0x8+-parseInt(_0x183e69(0x1e3))/0x9*(-parseInt(_0x183e69(0x1e7))/0xa);if(_0x4ad9aa===_0x567efd)break;else _0x4065cf['push'](_0x4065cf['shift']());}catch(_0x1b2219){_0x4065cf['push'](_0x4065cf['shift']());}}}(a31_0x11a8,0xefe7a));function a31_0x167c(_0x1d9754,_0xfebef5){_0x1d9754=_0x1d9754-0x1e1;const _0x11a83a=a31_0x11a8();let _0x167c73=_0x11a83a[_0x1d9754];return _0x167c73;}import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x11a8(){const _0x97c06c=['12950aomcKP','1278275AOimzY','12273224HNFfCS','82491mVDTEL','954FhXMDD','710qJUjKZ','export','7540560VTKvYi','2043oSJIBl','11614176GDEboE','20NbtjLM','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a31_0x11a8=function(){return _0x97c06c;};return a31_0x11a8();}async function execute(_0x79f49a){const _0xd5bc7e=await buildSchemaPayload();return{'ok':!![],'data':_0xd5bc7e};}export const schemaDefinition={'service':'schema','command':a31_0x303070(0x1e1),'description':a31_0x303070(0x1e6),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x466242,_0x76e5cc){const _0x40d2ba=a32_0x3332,_0x1d76f8=_0x466242();while(!![]){try{const _0x2208b9=parseInt(_0x40d2ba(0x192))/0x1+parseInt(_0x40d2ba(0x13e))/0x2+parseInt(_0x40d2ba(0x17f))/0x3+-parseInt(_0x40d2ba(0x141))/0x4+parseInt(_0x40d2ba(0x145))/0x5*(parseInt(_0x40d2ba(0x181))/0x6)+-parseInt(_0x40d2ba(0x165))/0x7+-parseInt(_0x40d2ba(0x15f))/0x8;if(_0x2208b9===_0x76e5cc)break;else _0x1d76f8['push'](_0x1d76f8['shift']());}catch(_0x18c005){_0x1d76f8['push'](_0x1d76f8['shift']());}}}(a32_0x466a,0x6f2c0));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2797c3,_0x1d1bae){const _0x6aaa9c=a32_0x3332,_0x5c0067=listLocalServiceTrees();let _0xa08690;for(const _0x216af5 of _0x5c0067){const _0x1368ee=matchServiceTreeCommand(_0x216af5,_0x2797c3);if(!_0x1368ee)continue;(!_0xa08690||_0x1368ee[_0x6aaa9c(0x173)]['fullPath'][_0x6aaa9c(0x18f)]>_0xa08690[_0x6aaa9c(0x173)][_0x6aaa9c(0x158)]['length'])&&(_0xa08690={'tree':_0x216af5,'command':_0x1368ee['command'],'remainingArgs':_0x1368ee[_0x6aaa9c(0x146)]});}if(!_0xa08690)return undefined;const _0x28817c={..._0x1d1bae};return applyAppBinding(_0xa08690['tree'],_0xa08690[_0x6aaa9c(0x173)],_0x28817c),{'definition':buildDynamicCommandDefinition(_0xa08690[_0x6aaa9c(0x162)],_0xa08690[_0x6aaa9c(0x173)]),'args':_0xa08690[_0x6aaa9c(0x146)],'flags':_0x28817c,'tree':_0xa08690[_0x6aaa9c(0x162)],'command':_0xa08690[_0x6aaa9c(0x173)]};}export function generateDynamicServiceHelp(_0x275489){const _0x4ff755=a32_0x3332,_0x191ee0=listLocalServiceTrees()[_0x4ff755(0x149)](_0x4355a8=>_0x4355a8['service'][_0x4ff755(0x185)]===_0x275489);if(!_0x191ee0)return undefined;const _0x7242ee=[CLI_BIN_NAME+'\x20'+_0x275489+'\x20<command>\x20[flags]','',_0x191ee0[_0x4ff755(0x197)][_0x4ff755(0x17a)]||_0x275489,_0x191ee0[_0x4ff755(0x197)][_0x4ff755(0x182)]?'\x20\x20'+_0x191ee0[_0x4ff755(0x197)]['description']:'','',_0x4ff755(0x151),..._0x191ee0['commands'][_0x4ff755(0x152)](_0x1e5c57=>{const _0x1c6e6b=_0x4ff755,_0x27c1e4=_0x1e5c57['fullPath'][_0x1c6e6b(0x17b)](0x1)['join']('\x20'),_0x2b8c09=_0x1e5c57[_0x1c6e6b(0x175)]==='read'?'':'\x20['+_0x1e5c57[_0x1c6e6b(0x175)]+']';return'\x20\x20'+_0x27c1e4['padEnd'](0x18)+'\x20'+(_0x1e5c57[_0x1c6e6b(0x182)]||'')+_0x2b8c09;}),'',_0x4ff755(0x187)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x275489+_0x4ff755(0x186)][_0x4ff755(0x143)](Boolean);return _0x7242ee[_0x4ff755(0x198)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1f899e=>{const _0x4dd0b4=a32_0x3332,_0x1960ac=_0x1f899e[_0x4dd0b4(0x17c)];return{'service':_0x1960ac[_0x4dd0b4(0x197)]['code'],'label':_0x1960ac[_0x4dd0b4(0x197)][_0x4dd0b4(0x17a)]||_0x1960ac[_0x4dd0b4(0x197)][_0x4dd0b4(0x185)],'commands':_0x1960ac[_0x4dd0b4(0x14e)][_0x4dd0b4(0x152)](_0xaf186d=>({'command':dynamicCommandName(_0xaf186d),'description':_0xaf186d[_0x4dd0b4(0x182)]||_0x4dd0b4(0x183)+_0xaf186d[_0x4dd0b4(0x17e)],'tag':riskTag(_0xaf186d['risk'])}))};});}export function getDynamicServiceEntry(_0x219be3){const _0x535a7c=a32_0x3332;return listDynamicServiceEntries()['find'](_0x52dd90=>_0x52dd90[_0x535a7c(0x197)]===_0x219be3);}export function listDynamicServiceDefinitions(_0x4a8817){const _0x10f6eb=a32_0x3332;return listLocalServiceTrees()[_0x10f6eb(0x143)](_0x380051=>!_0x4a8817||_0x380051[_0x10f6eb(0x197)][_0x10f6eb(0x185)]===_0x4a8817)['flatMap'](_0x15310d=>_0x15310d[_0x10f6eb(0x14e)][_0x10f6eb(0x152)](_0x29638e=>buildDynamicCommandDefinition(_0x15310d,_0x29638e)));}function a32_0x3332(_0x10f935,_0x690420){_0x10f935=_0x10f935-0x13a;const _0x466af2=a32_0x466a();let _0x33322d=_0x466af2[_0x10f935];return _0x33322d;}export function getDynamicServiceDefinitions(_0x1bdae7){const _0x5d9e3d=listDynamicServiceDefinitions(_0x1bdae7);return _0x5d9e3d['length']>0x0?_0x5d9e3d:undefined;}export function findDynamicServiceDefinition(_0x514365,_0x580d05){const _0x3eb882=a32_0x3332;return listDynamicServiceDefinitions(_0x514365)[_0x3eb882(0x149)](_0x4f7cb4=>_0x4f7cb4[_0x3eb882(0x173)]===_0x580d05);}export function buildDynamicCommandDefinition(_0x377a3c,_0x4ace60){const _0x425559=a32_0x3332;return{'service':_0x377a3c[_0x425559(0x197)][_0x425559(0x185)],'command':dynamicCommandName(_0x4ace60),'description':_0x4ace60[_0x425559(0x182)]||_0x425559(0x183)+_0x4ace60[_0x425559(0x17e)],'risk':_0x4ace60[_0x425559(0x175)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4ace60[_0x425559(0x14d)]['map'](_0x5a53e1=>({'name':_0x5a53e1[_0x425559(0x17a)],'description':_0x5a53e1[_0x425559(0x182)]||_0x5a53e1[_0x425559(0x17a)],'required':_0x5a53e1[_0x425559(0x13a)]})),'flags':_0x4ace60[_0x425559(0x176)][_0x425559(0x152)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4ace60),async 'dryRun'(_0x14849c){const _0x82bb3d=_0x425559,_0x3baef5=await compilePlan(_0x4ace60,_0x14849c);return{'method':'SERVICE_TREE','url':_0x4ace60['cliPath'],'body':{'target':targetPreview(_0x3baef5),'params':_0x3baef5[_0x82bb3d(0x13c)]},'description':_0x82bb3d(0x193)+_0x4ace60['cliPath']};},async 'execute'(_0xcf6969){const _0x1c725b=_0x425559,_0x32a449=await compilePlan(_0x4ace60,_0xcf6969),_0x1cc11b=Date[_0x1c725b(0x16d)](),_0x185b1e=await executePlan(_0x32a449,_0x4ace60,_0xcf6969),_0x4f7da0=Date[_0x1c725b(0x16d)]()-_0x1cc11b;return{'ok':!![],'data':{'service':_0x377a3c[_0x1c725b(0x197)],'command':_0x4ace60[_0x1c725b(0x17e)],'target':targetPreview(_0x32a449),'result':_0x185b1e,'elapsed':_0x4f7da0},'message':_0x1c725b(0x171)+_0x4ace60[_0x1c725b(0x17e)]+'\x20completed\x20in\x20'+_0x4f7da0+'ms'};}};}function dynamicCommandName(_0x447d89){const _0x3a2365=a32_0x3332;return _0x447d89[_0x3a2365(0x158)][_0x3a2365(0x17b)](0x1)[_0x3a2365(0x198)]('\x20');}function a32_0x466a(){const _0x171352=['appRef','tenantCode','appcode','scriptName','json','fullPath','const','bffId','\x22\x20in\x20service\x20command\x20','nickname','Unknown\x20appRef\x20\x22','bff','9314800APjWGy','\x20\x20\x20\x20scriptName:\x20','datatable','tree','read','\x20\x20\x20\x20datasetCode:\x20','2155132DokuaM','context.','operator','Cannot\x20resolve\x20datatable\x20\x22','\x20\x20\x20\x20kind:\x20\x20\x20\x20','string','\x20\x20MAP\x20TO','datasetCode','now','boolean','\x20requires\x20target.sqlCode.','appCode','Service\x20command\x20','sql','command','dbtableConfig','risk','flags','app','\x20->\x20','Unsupported\x20service\x20target\x20kind:\x20','name','slice','normalizedManifest','tableName','cliPath','1527123vbxWnj','ctx.','386526eCIgfN','description','Run\x20service\x20command\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','code','`\x20to\x20inspect\x20the\x20manifest.','Use\x20`','appBindings','target','envName','type','validation','env','number','length','mapTo','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','420649SHURqF','Preview\x20dynamic\x20service\x20command:\x20','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','startsWith','kind','service','join','required','default','params','enum','1302456cltjQe','push','username','932484bMLtxK','\x20\x20\x20\x20command:\x20','filter','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','45FKztjw','remainingArgs','fromEntries','employeeId','find','sqlCode','some','source','args','commands','cliName','trim','Commands:','map'];a32_0x466a=function(){return _0x171352;};return a32_0x466a();}function riskTag(_0x2fb986){const _0x426ada=a32_0x3332;return _0x2fb986===_0x426ada(0x163)?'':'\x20\x20['+_0x2fb986+']';}function flagToCommandFlag(_0x8a5108){const _0x437a06=a32_0x3332;return{'name':_0x8a5108[_0x437a06(0x14f)],'type':_0x8a5108[_0x437a06(0x18b)]===_0x437a06(0x157)?_0x437a06(0x16a):_0x8a5108[_0x437a06(0x18b)],'description':_0x8a5108[_0x437a06(0x182)]||_0x8a5108[_0x437a06(0x17a)],'required':_0x8a5108[_0x437a06(0x13a)],'default':isPrimitiveFlagDefault(_0x8a5108[_0x437a06(0x13b)])?_0x8a5108[_0x437a06(0x13b)]:undefined,'enum':_0x8a5108[_0x437a06(0x13d)]};}async function compilePlan(_0x3f9348,_0x16fe22){const _0x43b725=a32_0x3332;return compileServiceTreeCommand(_0x3f9348,{'flags':_0x16fe22['rawFlags'],'args':_0x16fe22[_0x43b725(0x14d)],'context':await buildServiceContext(_0x3f9348,_0x16fe22)});}async function buildServiceContext(_0x1d237c,_0x215f76){const _0x47579e=a32_0x3332,_0x1f59ec={'appCode':_0x215f76['appCode'],'env':_0x215f76[_0x47579e(0x18a)],'envName':_0x215f76[_0x47579e(0x18a)]};if(!usesRuntimeContext(_0x1d237c))return _0x1f59ec;const _0x5e08c5=await getLoginUserInfo(),_0x5b67a3=pickFirst(_0x5e08c5['userId'],_0x5e08c5['id']);return{..._0x1f59ec,'user':_0x5e08c5,'userId':_0x5b67a3,'id':_0x5e08c5['id'],'username':pickFirst(_0x5e08c5[_0x47579e(0x140)],_0x5e08c5['userName'],_0x5e08c5['loginName']),'userName':_0x5e08c5['userName'],'nickname':pickFirst(_0x5e08c5[_0x47579e(0x15c)],_0x5e08c5['nickName']),'nickName':_0x5e08c5['nickName'],'tenantCode':_0x5e08c5[_0x47579e(0x154)],'employeeId':_0x5e08c5[_0x47579e(0x148)]};}function usesRuntimeContext(_0x5754b1){const _0x341e3f=a32_0x3332;return _0x5754b1[_0x341e3f(0x190)][_0x341e3f(0x14b)](_0x3545e9=>typeof _0x3545e9[_0x341e3f(0x14c)]==='string'&&(_0x3545e9[_0x341e3f(0x14c)][_0x341e3f(0x195)](_0x341e3f(0x166))||_0x3545e9[_0x341e3f(0x14c)][_0x341e3f(0x195)](_0x341e3f(0x180))));}function pickFirst(..._0x4f707b){const _0x30c02b=a32_0x3332;return _0x4f707b[_0x30c02b(0x149)](_0x34b0a7=>_0x34b0a7!==undefined&&_0x34b0a7!==null);}async function executePlan(_0x220e16,_0x3463db,_0x2d0fc0){const _0x1d7db8=a32_0x3332;if(_0x220e16[_0x1d7db8(0x196)]==='data'){const _0x43cb07=await resolveDatasetCode(_0x220e16,_0x3463db,_0x2d0fc0);return executeData(_0x43cb07,_0x220e16[_0x1d7db8(0x173)],_0x220e16[_0x1d7db8(0x13c)]);}if(_0x220e16[_0x1d7db8(0x196)]===_0x1d7db8(0x172)){if(!_0x220e16[_0x1d7db8(0x14a)])throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x171)+_0x3463db[_0x1d7db8(0x17e)]+_0x1d7db8(0x16f));return executeSdkSql(_0x220e16[_0x1d7db8(0x14a)],normalizeScalarParams(_0x220e16['params']));}if(_0x220e16[_0x1d7db8(0x196)]===_0x1d7db8(0x15e)){const _0x998086=_0x220e16[_0x1d7db8(0x156)]||_0x220e16['bffCode']||(_0x220e16[_0x1d7db8(0x15a)]==null?'':String(_0x220e16['bffId']));if(!_0x998086)throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x171)+_0x3463db[_0x1d7db8(0x17e)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x998086,_0x220e16[_0x1d7db8(0x13c)]);}throw CliErrors[_0x1d7db8(0x18c)](_0x1d7db8(0x179)+_0x220e16[_0x1d7db8(0x196)]);}async function resolveDatasetCode(_0x1afa94,_0x5b94ef,_0x43e048){const _0x3ae4d3=a32_0x3332;if(_0x1afa94[_0x3ae4d3(0x16c)])return _0x1afa94[_0x3ae4d3(0x16c)];if(!_0x1afa94[_0x3ae4d3(0x161)])throw CliErrors[_0x3ae4d3(0x18c)](_0x3ae4d3(0x171)+_0x5b94ef[_0x3ae4d3(0x17e)]+_0x3ae4d3(0x191));const _0x5a8c28=await listDatasets(_0x43e048[_0x3ae4d3(0x170)]),_0x2f2a0b=_0x5a8c28[_0x3ae4d3(0x149)](_0x493423=>_0x493423[_0x3ae4d3(0x174)]?.[_0x3ae4d3(0x17d)]===_0x1afa94['datatable']);if(!_0x2f2a0b?.[_0x3ae4d3(0x185)])throw CliErrors[_0x3ae4d3(0x18c)](_0x3ae4d3(0x168)+_0x1afa94[_0x3ae4d3(0x161)]+_0x3ae4d3(0x144)+_0x43e048['appCode']+'.',_0x3ae4d3(0x184));return _0x2f2a0b[_0x3ae4d3(0x185)];}function applyAppBinding(_0xf2f08f,_0x40d431,_0x5d9ce9){const _0xb027ac=a32_0x3332,_0x50ac92=_0x40d431[_0xb027ac(0x189)][_0xb027ac(0x153)];if(!_0x50ac92)return;const _0x7df326=_0xf2f08f[_0xb027ac(0x188)][_0x50ac92];if(!_0x7df326)throw CliErrors['validation'](_0xb027ac(0x15d)+_0x50ac92+_0xb027ac(0x15b)+_0x40d431['cliPath']+'.',_0xb027ac(0x194));const _0x3021cd=_0x7df326['appcode']||_0x7df326[_0xb027ac(0x170)];_0x3021cd&&!hasText(_0x5d9ce9[_0xb027ac(0x155)])&&(_0x5d9ce9[_0xb027ac(0x155)]=_0x3021cd),_0x7df326[_0xb027ac(0x177)]&&!hasText(_0x5d9ce9['app'])&&!hasText(_0x5d9ce9[_0xb027ac(0x155)])&&(_0x5d9ce9[_0xb027ac(0x177)]=_0x7df326['app']),_0x7df326[_0xb027ac(0x18d)]&&!hasText(_0x5d9ce9[_0xb027ac(0x18d)])&&(_0x5d9ce9[_0xb027ac(0x18d)]=_0x7df326[_0xb027ac(0x18d)]);}function renderDynamicCommandHelp(_0x3fbc29){const _0x1ff2cc=a32_0x3332,_0x175250=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x1ff2cc(0x169)+_0x3fbc29[_0x1ff2cc(0x189)]['kind'],_0x1ff2cc(0x142)+_0x3fbc29[_0x1ff2cc(0x189)]['command']];if(_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x16c)])_0x175250[_0x1ff2cc(0x13f)](_0x1ff2cc(0x164)+_0x3fbc29['target']['datasetCode']);if(_0x3fbc29['target'][_0x1ff2cc(0x161)])_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20datatable:\x20'+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x161)]);if(_0x3fbc29['target']['sqlCode'])_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20sqlCode:\x20'+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x14a)]);if(_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x156)])_0x175250[_0x1ff2cc(0x13f)](_0x1ff2cc(0x160)+_0x3fbc29[_0x1ff2cc(0x189)][_0x1ff2cc(0x156)]);if(_0x3fbc29[_0x1ff2cc(0x190)]['length']>0x0){_0x175250[_0x1ff2cc(0x13f)]('',_0x1ff2cc(0x16b));for(const _0x58595d of _0x3fbc29[_0x1ff2cc(0x190)]){_0x175250[_0x1ff2cc(0x13f)]('\x20\x20\x20\x20'+(_0x58595d[_0x1ff2cc(0x14c)]||_0x1ff2cc(0x159))+_0x1ff2cc(0x178)+_0x58595d['target']+(_0x58595d[_0x1ff2cc(0x167)]?'.'+_0x58595d['operator']:''));}}return _0x175250['join']('\x0a');}function targetPreview(_0x5da8da){const _0x57dcdd=a32_0x3332;return{'kind':_0x5da8da[_0x57dcdd(0x196)],'command':_0x5da8da[_0x57dcdd(0x173)],'appRef':_0x5da8da[_0x57dcdd(0x153)],'datasetCode':_0x5da8da['datasetCode'],'datatable':_0x5da8da[_0x57dcdd(0x161)],'sqlCode':_0x5da8da['sqlCode'],'bffCode':_0x5da8da['bffCode'],'bffId':_0x5da8da[_0x57dcdd(0x15a)],'scriptName':_0x5da8da['scriptName']};}function normalizeScalarParams(_0x91734d){const _0x60fa04=a32_0x3332;return Object[_0x60fa04(0x147)](Object['entries'](_0x91734d)[_0x60fa04(0x143)](([,_0x4c87e2])=>typeof _0x4c87e2===_0x60fa04(0x16a)||typeof _0x4c87e2==='number'));}function hasText(_0xae229e){const _0x5beef5=a32_0x3332;return typeof _0xae229e===_0x5beef5(0x16a)&&_0xae229e[_0x5beef5(0x150)]()[_0x5beef5(0x18f)]>0x0;}function isPrimitiveFlagDefault(_0x267eb9){const _0x526525=a32_0x3332;return _0x267eb9===undefined||typeof _0x267eb9===_0x526525(0x16a)||typeof _0x267eb9===_0x526525(0x18e)||typeof _0x267eb9===_0x526525(0x16e);}
|
|
1
|
+
(function(_0x227619,_0x191437){const _0x8e1c4c=a32_0x4f32,_0x57d2b8=_0x227619();while(!![]){try{const _0x1bfe7e=-parseInt(_0x8e1c4c(0x105))/0x1*(-parseInt(_0x8e1c4c(0x139))/0x2)+-parseInt(_0x8e1c4c(0x13a))/0x3+parseInt(_0x8e1c4c(0x10e))/0x4*(-parseInt(_0x8e1c4c(0x135))/0x5)+-parseInt(_0x8e1c4c(0x126))/0x6*(parseInt(_0x8e1c4c(0x10a))/0x7)+parseInt(_0x8e1c4c(0x148))/0x8+-parseInt(_0x8e1c4c(0x128))/0x9*(parseInt(_0x8e1c4c(0x13f))/0xa)+parseInt(_0x8e1c4c(0x123))/0xb;if(_0x1bfe7e===_0x191437)break;else _0x57d2b8['push'](_0x57d2b8['shift']());}catch(_0x204ba9){_0x57d2b8['push'](_0x57d2b8['shift']());}}}(a32_0xcc25,0x5e06a));function a32_0xcc25(){const _0x34b487=['userId','employeeId','SERVICE_TREE','command','nickname','enum','Cannot\x20resolve\x20datatable\x20\x22','bffId','service','Unknown\x20appRef\x20\x22','Run\x20service\x20command\x20','normalizedManifest','target','cliPath','datasetCode','padEnd','`\x20to\x20inspect\x20the\x20manifest.','description','\x20\x20MAP\x20TO','kind','slice','data','ctx.','cliName','app','required','envName','\x20requires\x20target.sqlCode.','source','flags','env','context.','args','number','bff','some','1xSEszO','nickName','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','map','default','483427LKaLiC','risk','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','12tJTSSf','Unsupported\x20service\x20target\x20kind:\x20','datatable','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','loginName','join','\x20\x20\x20\x20scriptName:\x20','validation','rawFlags','\x20\x20\x20\x20command:\x20','entries','appcode','operator','userName','params','tenantCode','\x20<command>\x20[flags]','json','\x20\x20\x20\x20kind:\x20\x20\x20\x20','find','push','5440281eHBaei','appRef','name','66wdouXk','tree','9tYyKCF','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','scriptName','commands','sqlCode','appCode','code','mapTo','remainingArgs','\x20\x20\x20\x20datatable:\x20','appBindings','90325HzfVTA','\x20\x20[','bffCode','\x20completed\x20in\x20','1231032fXQQMk','79419VaAfhy','string','trim','Preview\x20dynamic\x20service\x20command:\x20','read','5007910OyvFrn','Use\x20`','flatMap','startsWith','const','now','\x20requires\x20target.scriptName.','length','fromEntries','4929384qIXlqm','Service\x20command\x20','fullPath','type'];a32_0xcc25=function(){return _0x34b487;};return a32_0xcc25();}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(_0x42eb4c,_0x27bf63){const _0x2e6b4f=a32_0x4f32,_0x2a4fda=listLocalServiceTrees();let _0x1f1884;for(const _0x2374d5 of _0x2a4fda){const _0x58f4e7=matchServiceTreeCommand(_0x2374d5,_0x42eb4c);if(!_0x58f4e7)continue;(!_0x1f1884||_0x58f4e7[_0x2e6b4f(0x14f)][_0x2e6b4f(0x14a)][_0x2e6b4f(0x146)]>_0x1f1884[_0x2e6b4f(0x14f)][_0x2e6b4f(0x14a)][_0x2e6b4f(0x146)])&&(_0x1f1884={'tree':_0x2374d5,'command':_0x58f4e7[_0x2e6b4f(0x14f)],'remainingArgs':_0x58f4e7[_0x2e6b4f(0x132)]});}if(!_0x1f1884)return undefined;const _0x2f05ac={..._0x27bf63};return applyAppBinding(_0x1f1884[_0x2e6b4f(0x127)],_0x1f1884['command'],_0x2f05ac),{'definition':buildDynamicCommandDefinition(_0x1f1884[_0x2e6b4f(0x127)],_0x1f1884[_0x2e6b4f(0x14f)]),'args':_0x1f1884['remainingArgs'],'flags':_0x2f05ac,'tree':_0x1f1884[_0x2e6b4f(0x127)],'command':_0x1f1884[_0x2e6b4f(0x14f)]};}export function generateDynamicServiceHelp(_0x24a81d){const _0xabbb80=a32_0x4f32,_0x5d75da=listLocalServiceTrees()['find'](_0xcaa68=>_0xcaa68[_0xabbb80(0x154)]['code']===_0x24a81d);if(!_0x5d75da)return undefined;const _0xdd0ca1=[CLI_BIN_NAME+'\x20'+_0x24a81d+_0xabbb80(0x11e),'',_0x5d75da[_0xabbb80(0x154)][_0xabbb80(0x125)]||_0x24a81d,_0x5d75da[_0xabbb80(0x154)][_0xabbb80(0xf2)]?'\x20\x20'+_0x5d75da[_0xabbb80(0x154)]['description']:'','','Commands:',..._0x5d75da[_0xabbb80(0x12d)][_0xabbb80(0x108)](_0x53e5be=>{const _0x52b0a9=_0xabbb80,_0x3b2552=_0x53e5be[_0x52b0a9(0x14a)][_0x52b0a9(0xf5)](0x1)[_0x52b0a9(0x113)]('\x20'),_0x30fc28=_0x53e5be[_0x52b0a9(0x10b)]===_0x52b0a9(0x13e)?'':'\x20['+_0x53e5be[_0x52b0a9(0x10b)]+']';return'\x20\x20'+_0x3b2552[_0x52b0a9(0xf0)](0x18)+'\x20'+(_0x53e5be[_0x52b0a9(0xf2)]||'')+_0x30fc28;}),'',_0xabbb80(0x140)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x24a81d+_0xabbb80(0xf1)][_0xabbb80(0x10c)](Boolean);return _0xdd0ca1[_0xabbb80(0x113)]('\x0a');}export function listDynamicServiceEntries(){const _0x1d1fee=a32_0x4f32;return listLocalServices()[_0x1d1fee(0x108)](_0x59174a=>{const _0x3aac07=_0x1d1fee,_0x37545e=_0x59174a[_0x3aac07(0xec)];return{'service':_0x37545e[_0x3aac07(0x154)][_0x3aac07(0x130)],'label':_0x37545e[_0x3aac07(0x154)]['name']||_0x37545e[_0x3aac07(0x154)][_0x3aac07(0x130)],'commands':_0x37545e[_0x3aac07(0x12d)][_0x3aac07(0x108)](_0x3ff909=>({'command':dynamicCommandName(_0x3ff909),'description':_0x3ff909[_0x3aac07(0xf2)]||_0x3aac07(0xeb)+_0x3ff909['cliPath'],'tag':riskTag(_0x3ff909[_0x3aac07(0x10b)])}))};});}export function getDynamicServiceEntry(_0x21bd65){return listDynamicServiceEntries()['find'](_0x28b478=>_0x28b478['service']===_0x21bd65);}export function listDynamicServiceDefinitions(_0x1913d2){const _0x63e513=a32_0x4f32;return listLocalServiceTrees()[_0x63e513(0x10c)](_0x1d9927=>!_0x1913d2||_0x1d9927['service'][_0x63e513(0x130)]===_0x1913d2)[_0x63e513(0x141)](_0x28786a=>_0x28786a['commands'][_0x63e513(0x108)](_0x2a5b67=>buildDynamicCommandDefinition(_0x28786a,_0x2a5b67)));}export function getDynamicServiceDefinitions(_0x45c255){const _0x3172ed=a32_0x4f32,_0x235f78=listDynamicServiceDefinitions(_0x45c255);return _0x235f78[_0x3172ed(0x146)]>0x0?_0x235f78:undefined;}export function findDynamicServiceDefinition(_0x505122,_0x1ba6ad){const _0x1d6f5e=a32_0x4f32;return listDynamicServiceDefinitions(_0x505122)['find'](_0x1b2fa1=>_0x1b2fa1[_0x1d6f5e(0x14f)]===_0x1ba6ad);}export function buildDynamicCommandDefinition(_0x1bf43d,_0x4d484c){const _0x55d75a=a32_0x4f32;return{'service':_0x1bf43d[_0x55d75a(0x154)][_0x55d75a(0x130)],'command':dynamicCommandName(_0x4d484c),'description':_0x4d484c[_0x55d75a(0xf2)]||_0x55d75a(0xeb)+_0x4d484c['cliPath'],'risk':_0x4d484c[_0x55d75a(0x10b)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4d484c[_0x55d75a(0x101)]['map'](_0x329bfa=>({'name':_0x329bfa[_0x55d75a(0x125)],'description':_0x329bfa['description']||_0x329bfa['name'],'required':_0x329bfa['required']})),'flags':_0x4d484c[_0x55d75a(0xfe)][_0x55d75a(0x108)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4d484c),async 'dryRun'(_0x56236e){const _0x503ac1=_0x55d75a,_0x1c51d9=await compilePlan(_0x4d484c,_0x56236e);return{'method':_0x503ac1(0x14e),'url':_0x4d484c[_0x503ac1(0xee)],'body':{'target':targetPreview(_0x1c51d9),'params':_0x1c51d9[_0x503ac1(0x11c)]},'description':_0x503ac1(0x13d)+_0x4d484c['cliPath']};},async 'execute'(_0x29eda6){const _0x20dd03=_0x55d75a,_0x1c5e41=await compilePlan(_0x4d484c,_0x29eda6),_0x2c487d=Date[_0x20dd03(0x144)](),_0x42d982=await executePlan(_0x1c5e41,_0x4d484c,_0x29eda6),_0x51397b=Date[_0x20dd03(0x144)]()-_0x2c487d;return{'ok':!![],'data':{'service':_0x1bf43d[_0x20dd03(0x154)],'command':_0x4d484c[_0x20dd03(0xee)],'target':targetPreview(_0x1c5e41),'result':_0x42d982,'elapsed':_0x51397b},'message':_0x20dd03(0x149)+_0x4d484c['cliPath']+_0x20dd03(0x138)+_0x51397b+'ms'};}};}function dynamicCommandName(_0x864cac){const _0xc931f0=a32_0x4f32;return _0x864cac[_0xc931f0(0x14a)][_0xc931f0(0xf5)](0x1)[_0xc931f0(0x113)]('\x20');}function riskTag(_0x314fca){const _0x55c0ed=a32_0x4f32;return _0x314fca===_0x55c0ed(0x13e)?'':_0x55c0ed(0x136)+_0x314fca+']';}function flagToCommandFlag(_0x2fa417){const _0x377a75=a32_0x4f32;return{'name':_0x2fa417[_0x377a75(0xf8)],'type':_0x2fa417[_0x377a75(0x14b)]===_0x377a75(0x11f)?'string':_0x2fa417['type'],'description':_0x2fa417['description']||_0x2fa417['name'],'required':_0x2fa417[_0x377a75(0xfa)],'default':isPrimitiveFlagDefault(_0x2fa417[_0x377a75(0x109)])?_0x2fa417[_0x377a75(0x109)]:undefined,'enum':_0x2fa417[_0x377a75(0x151)]};}function a32_0x4f32(_0x5036e1,_0x7df6f9){_0x5036e1=_0x5036e1-0xea;const _0xcc25d5=a32_0xcc25();let _0x4f323f=_0xcc25d5[_0x5036e1];return _0x4f323f;}async function compilePlan(_0x307c91,_0x1d37c7){const _0x2fed2d=a32_0x4f32;return compileServiceTreeCommand(_0x307c91,{'flags':_0x1d37c7[_0x2fed2d(0x116)],'args':_0x1d37c7['args'],'context':await buildServiceContext(_0x307c91,_0x1d37c7)});}async function buildServiceContext(_0x2f360c,_0x1d8d66){const _0x377fc5=a32_0x4f32,_0x34dd64={'appCode':_0x1d8d66[_0x377fc5(0x12f)],'env':_0x1d8d66[_0x377fc5(0xfb)],'envName':_0x1d8d66['envName']};if(!usesRuntimeContext(_0x2f360c))return _0x34dd64;const _0x56cda4=await getLoginUserInfo(),_0x1769a9=pickFirst(_0x56cda4[_0x377fc5(0x14c)],_0x56cda4['id']);return{..._0x34dd64,'user':_0x56cda4,'userId':_0x1769a9,'id':_0x56cda4['id'],'username':pickFirst(_0x56cda4['username'],_0x56cda4[_0x377fc5(0x11b)],_0x56cda4[_0x377fc5(0x112)]),'userName':_0x56cda4['userName'],'nickname':pickFirst(_0x56cda4[_0x377fc5(0x150)],_0x56cda4[_0x377fc5(0x106)]),'nickName':_0x56cda4[_0x377fc5(0x106)],'tenantCode':_0x56cda4[_0x377fc5(0x11d)],'employeeId':_0x56cda4[_0x377fc5(0x14d)]};}function usesRuntimeContext(_0x59ec12){const _0x44f02f=a32_0x4f32;return _0x59ec12['mapTo'][_0x44f02f(0x104)](_0x23fc56=>typeof _0x23fc56['source']==='string'&&(_0x23fc56[_0x44f02f(0xfd)][_0x44f02f(0x142)](_0x44f02f(0x100))||_0x23fc56[_0x44f02f(0xfd)][_0x44f02f(0x142)](_0x44f02f(0xf7))));}function pickFirst(..._0x13d52c){const _0x4a6fb6=a32_0x4f32;return _0x13d52c[_0x4a6fb6(0x121)](_0x1e09de=>_0x1e09de!==undefined&&_0x1e09de!==null);}async function executePlan(_0x4972f0,_0x28de43,_0x1cc318){const _0x1130c1=a32_0x4f32;if(_0x4972f0[_0x1130c1(0xf4)]===_0x1130c1(0xf6)){const _0x4f563b=await resolveDatasetCode(_0x4972f0,_0x28de43,_0x1cc318);return executeData(_0x4f563b,_0x4972f0[_0x1130c1(0x14f)],_0x4972f0[_0x1130c1(0x11c)]);}if(_0x4972f0[_0x1130c1(0xf4)]==='sql'){if(!_0x4972f0[_0x1130c1(0x12e)])throw CliErrors['validation'](_0x1130c1(0x149)+_0x28de43[_0x1130c1(0xee)]+_0x1130c1(0xfc));return executeSdkSql(_0x4972f0[_0x1130c1(0x12e)],normalizeScalarParams(_0x4972f0[_0x1130c1(0x11c)]));}if(_0x4972f0[_0x1130c1(0xf4)]===_0x1130c1(0x103)){const _0x25c780=_0x4972f0[_0x1130c1(0x12c)]||_0x4972f0[_0x1130c1(0x137)]||(_0x4972f0[_0x1130c1(0x153)]==null?'':String(_0x4972f0[_0x1130c1(0x153)]));if(!_0x25c780)throw CliErrors['validation'](_0x1130c1(0x149)+_0x28de43[_0x1130c1(0xee)]+_0x1130c1(0x145));return executeSdkBff(_0x25c780,_0x4972f0[_0x1130c1(0x11c)]);}throw CliErrors[_0x1130c1(0x115)](_0x1130c1(0x10f)+_0x4972f0[_0x1130c1(0xf4)]);}async function resolveDatasetCode(_0x624002,_0x3cd99f,_0x55729f){const _0x6cf529=a32_0x4f32;if(_0x624002[_0x6cf529(0xef)])return _0x624002['datasetCode'];if(!_0x624002[_0x6cf529(0x110)])throw CliErrors['validation'](_0x6cf529(0x149)+_0x3cd99f['cliPath']+_0x6cf529(0x107));const _0x49a8f6=await listDatasets(_0x55729f[_0x6cf529(0x12f)]),_0x431c56=_0x49a8f6[_0x6cf529(0x121)](_0x51ddf0=>_0x51ddf0[_0x6cf529(0x12a)]?.['tableName']===_0x624002[_0x6cf529(0x110)]);if(!_0x431c56?.[_0x6cf529(0x130)])throw CliErrors[_0x6cf529(0x115)](_0x6cf529(0x152)+_0x624002[_0x6cf529(0x110)]+_0x6cf529(0x111)+_0x55729f[_0x6cf529(0x12f)]+'.',_0x6cf529(0x10d));return _0x431c56[_0x6cf529(0x130)];}function applyAppBinding(_0x4d3857,_0x530ee0,_0x321854){const _0x4527cc=a32_0x4f32,_0x31b6b5=_0x530ee0[_0x4527cc(0xed)][_0x4527cc(0x124)];if(!_0x31b6b5)return;const _0x1087bd=_0x4d3857[_0x4527cc(0x134)][_0x31b6b5];if(!_0x1087bd)throw CliErrors[_0x4527cc(0x115)](_0x4527cc(0xea)+_0x31b6b5+'\x22\x20in\x20service\x20command\x20'+_0x530ee0[_0x4527cc(0xee)]+'.',_0x4527cc(0x12b));const _0x383a58=_0x1087bd[_0x4527cc(0x119)]||_0x1087bd[_0x4527cc(0x12f)];_0x383a58&&!hasText(_0x321854[_0x4527cc(0x119)])&&(_0x321854[_0x4527cc(0x119)]=_0x383a58),_0x1087bd['app']&&!hasText(_0x321854[_0x4527cc(0xf9)])&&!hasText(_0x321854[_0x4527cc(0x119)])&&(_0x321854[_0x4527cc(0xf9)]=_0x1087bd['app']),_0x1087bd[_0x4527cc(0xff)]&&!hasText(_0x321854[_0x4527cc(0xff)])&&(_0x321854['env']=_0x1087bd[_0x4527cc(0xff)]);}function renderDynamicCommandHelp(_0x511619){const _0x1a6d2d=a32_0x4f32,_0x1d45e8=[_0x1a6d2d(0x129),_0x1a6d2d(0x120)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0xf4)],_0x1a6d2d(0x117)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x14f)]];if(_0x511619[_0x1a6d2d(0xed)]['datasetCode'])_0x1d45e8['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0xef)]);if(_0x511619['target']['datatable'])_0x1d45e8[_0x1a6d2d(0x122)](_0x1a6d2d(0x133)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x110)]);if(_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12e)])_0x1d45e8[_0x1a6d2d(0x122)]('\x20\x20\x20\x20sqlCode:\x20'+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12e)]);if(_0x511619[_0x1a6d2d(0xed)]['scriptName'])_0x1d45e8[_0x1a6d2d(0x122)](_0x1a6d2d(0x114)+_0x511619[_0x1a6d2d(0xed)][_0x1a6d2d(0x12c)]);if(_0x511619[_0x1a6d2d(0x131)]['length']>0x0){_0x1d45e8[_0x1a6d2d(0x122)]('',_0x1a6d2d(0xf3));for(const _0x11e67d of _0x511619[_0x1a6d2d(0x131)]){_0x1d45e8[_0x1a6d2d(0x122)]('\x20\x20\x20\x20'+(_0x11e67d[_0x1a6d2d(0xfd)]||_0x1a6d2d(0x143))+'\x20->\x20'+_0x11e67d[_0x1a6d2d(0xed)]+(_0x11e67d[_0x1a6d2d(0x11a)]?'.'+_0x11e67d[_0x1a6d2d(0x11a)]:''));}}return _0x1d45e8['join']('\x0a');}function targetPreview(_0x3e0938){const _0x4f048a=a32_0x4f32;return{'kind':_0x3e0938[_0x4f048a(0xf4)],'command':_0x3e0938[_0x4f048a(0x14f)],'appRef':_0x3e0938[_0x4f048a(0x124)],'datasetCode':_0x3e0938[_0x4f048a(0xef)],'datatable':_0x3e0938[_0x4f048a(0x110)],'sqlCode':_0x3e0938[_0x4f048a(0x12e)],'bffCode':_0x3e0938[_0x4f048a(0x137)],'bffId':_0x3e0938[_0x4f048a(0x153)],'scriptName':_0x3e0938[_0x4f048a(0x12c)]};}function normalizeScalarParams(_0x32f2d0){const _0x316c46=a32_0x4f32;return Object[_0x316c46(0x147)](Object[_0x316c46(0x118)](_0x32f2d0)[_0x316c46(0x10c)](([,_0x5bc03a])=>typeof _0x5bc03a==='string'||typeof _0x5bc03a===_0x316c46(0x102)));}function hasText(_0x492772){const _0x7a203f=a32_0x4f32;return typeof _0x492772===_0x7a203f(0x13b)&&_0x492772[_0x7a203f(0x13c)]()[_0x7a203f(0x146)]>0x0;}function isPrimitiveFlagDefault(_0x393e36){const _0x241ac6=a32_0x4f32;return _0x393e36===undefined||typeof _0x393e36===_0x241ac6(0x13b)||typeof _0x393e36===_0x241ac6(0x102)||typeof _0x393e36==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a33_0x1bae2a=a33_0x1950;function a33_0x1950(_0x1fa79a,_0x2af971){_0x1fa79a=_0x1fa79a-0xf5;const _0x12e465=a33_0x12e4();let _0x1950f5=_0x12e465[_0x1fa79a];return _0x1950f5;}(function(_0x1a5f64,_0x26e127){const _0x5867a1=a33_0x1950,_0x1f3dc0=_0x1a5f64();while(!![]){try{const _0x35fcc6=-parseInt(_0x5867a1(0x131))/0x1*(-parseInt(_0x5867a1(0x124))/0x2)+-parseInt(_0x5867a1(0x128))/0x3*(parseInt(_0x5867a1(0x10b))/0x4)+parseInt(_0x5867a1(0x13a))/0x5*(parseInt(_0x5867a1(0x127))/0x6)+parseInt(_0x5867a1(0x106))/0x7*(parseInt(_0x5867a1(0x122))/0x8)+-parseInt(_0x5867a1(0x109))/0x9+parseInt(_0x5867a1(0x100))/0xa+-parseInt(_0x5867a1(0x11a))/0xb;if(_0x35fcc6===_0x26e127)break;else _0x1f3dc0['push'](_0x1f3dc0['shift']());}catch(_0x3326e8){_0x1f3dc0['push'](_0x1f3dc0['shift']());}}}(a33_0x12e4,0x23449));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x12e4(){const _0x13acbe=['source','report','warnings','171712mkqrIF','updated','18266bBEwoW','str','read','42DvmDoe','648294nBuoKU','imported','Local\x20service\x20code,\x20for\x20example\x20crm','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','entries','normalizedManifest','filePath','required','commands','13jlPJbk','remove','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Removed\x20service\x20','serviceCode','Local\x20service\x20not\x20found:\x20','type','serviceCount','version','145150kYJNlU','registryPath','\x20service\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','kind','description','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','length','entry','target','risk','map','import','Imported','2256970jOsjrC','Exported\x20service\x20','hash','flags','validate','detail','35eGwYkQ','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1973286jYGucN','file','4KNmwPU','lower\x20kebab-case\x20service\x20code','service','registryIndex','registry','write','\x20service(s),\x20updated\x20','cliPath','reduce','manifests','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','WRITE','\x20service(s).','export','cliName','826617SzwRCQ','Service\x20manifest\x20validation\x20passed.','name','string','list'];a33_0x12e4=function(){return _0x13acbe;};return a33_0x12e4();}const FILE_FLAG={'name':a33_0x1bae2a(0x10a),'type':a33_0x1bae2a(0x11d),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a33_0x1bae2a(0x10d),'type':a33_0x1bae2a(0x11d),'required':!![],'description':a33_0x1bae2a(0x12a),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1bae2a(0x10c)}};function summarizeService(_0x433fa1){const _0x4014b6=a33_0x1bae2a;return{'serviceCode':_0x433fa1['serviceCode'],'name':_0x433fa1[_0x4014b6(0x12d)][_0x4014b6(0x10d)][_0x4014b6(0x11c)],'version':_0x433fa1[_0x4014b6(0x139)],'importedAt':_0x433fa1['importedAt'],'source':_0x433fa1[_0x4014b6(0x11f)],'commandCount':_0x433fa1[_0x4014b6(0x12d)][_0x4014b6(0x130)][_0x4014b6(0xf9)],'commands':_0x433fa1['normalizedManifest']['commands'][_0x4014b6(0xfd)](_0x244727=>({'path':_0x244727[_0x4014b6(0x112)],'description':_0x244727[_0x4014b6(0xf6)],'risk':_0x244727['risk'],'target':_0x244727[_0x4014b6(0xfb)],'flags':_0x244727[_0x4014b6(0x103)]['map'](_0x58605f=>({'name':_0x58605f['name'],'cliName':_0x58605f[_0x4014b6(0x119)],'type':_0x58605f[_0x4014b6(0x137)],'required':_0x58605f[_0x4014b6(0x12f)]===!![]}))}))};}function summarizeLoadedManifest(_0xa80da0){const _0x9e2099=a33_0x1bae2a;return{'service':_0xa80da0[_0x9e2099(0x12d)]?.[_0x9e2099(0x10d)],'version':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x139)],'commandCount':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x130)][_0x9e2099(0xf9)]??0x0,'commands':_0xa80da0['normalizedManifest']?.[_0x9e2099(0x130)][_0x9e2099(0xfd)](_0xa6d271=>({'path':_0xa6d271[_0x9e2099(0x112)],'risk':_0xa6d271[_0x9e2099(0xfc)],'target':_0xa6d271[_0x9e2099(0xfb)]}))??[],'registryIndex':_0xa80da0[_0x9e2099(0x10e)],'registryServiceCode':_0xa80da0['registryServiceCode'],'errors':_0xa80da0['report'][_0x9e2099(0xf7)],'warnings':_0xa80da0['report'][_0x9e2099(0x121)]};}export const serviceDefinitions=[{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x104),'description':a33_0x1bae2a(0x133),'risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3fdfca){const _0x5e024d=a33_0x1bae2a,_0x90a11a=loadServiceManifestFromFile(_0x3fdfca[_0x5e024d(0x125)](_0x5e024d(0x10a)));if(!_0x90a11a[_0x5e024d(0x120)]['ok'])return{'ok':![],'data':{'file':_0x90a11a['filePath'],'hash':_0x90a11a[_0x5e024d(0x102)],'kind':_0x90a11a[_0x5e024d(0xf5)],'serviceCount':_0x90a11a['manifests']['length'],'services':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xfd)](summarizeLoadedManifest),'errors':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0xf7)],'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':formatValidationFailure(_0x90a11a[_0x5e024d(0x120)])};if(_0x90a11a[_0x5e024d(0xf5)]===_0x5e024d(0x10f)||_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xf9)]!==0x1)return{'ok':!![],'data':{'file':_0x90a11a[_0x5e024d(0x12e)],'hash':_0x90a11a[_0x5e024d(0x102)],'kind':_0x90a11a[_0x5e024d(0xf5)],'serviceCount':_0x90a11a['manifests'][_0x5e024d(0xf9)],'commandCount':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0x113)]((_0x3039fa,_0x2b18c2)=>_0x3039fa+(_0x2b18c2['normalizedManifest']?.[_0x5e024d(0x130)][_0x5e024d(0xf9)]??0x0),0x0),'services':_0x90a11a[_0x5e024d(0x114)][_0x5e024d(0xfd)](summarizeLoadedManifest),'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x90a11a[_0x5e024d(0x12e)],'hash':_0x90a11a['hash'],'kind':_0x90a11a['kind'],'service':_0x90a11a['normalizedManifest']?.['service'],'version':_0x90a11a[_0x5e024d(0x12d)]?.[_0x5e024d(0x139)],'commandCount':_0x90a11a[_0x5e024d(0x12d)]?.['commands'][_0x5e024d(0xf9)]??0x0,'commands':_0x90a11a[_0x5e024d(0x12d)]?.[_0x5e024d(0x130)][_0x5e024d(0xfd)](_0x3f9a5a=>({'path':_0x3f9a5a[_0x5e024d(0x112)],'risk':_0x3f9a5a[_0x5e024d(0xfc)],'target':_0x3f9a5a[_0x5e024d(0xfb)]})),'warnings':_0x90a11a[_0x5e024d(0x120)][_0x5e024d(0x121)]},'message':_0x5e024d(0x11b)};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0xfe),'description':a33_0x1bae2a(0x13d),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x5486f5){const _0x42b7b9=a33_0x1bae2a,_0x17eb80=loadServiceManifestFromFile(_0x5486f5[_0x42b7b9(0x125)](_0x42b7b9(0x10a)));return{'method':_0x42b7b9(0x116),'url':getServiceRegistryPath(),'body':{'file':_0x17eb80[_0x42b7b9(0x12e)],'hash':_0x17eb80[_0x42b7b9(0x102)],'kind':_0x17eb80[_0x42b7b9(0xf5)],'ok':_0x17eb80['report']['ok'],'service':_0x17eb80['normalizedManifest']?.[_0x42b7b9(0x10d)],'version':_0x17eb80[_0x42b7b9(0x12d)]?.[_0x42b7b9(0x139)],'serviceCount':_0x17eb80[_0x42b7b9(0x114)]['length'],'services':_0x17eb80[_0x42b7b9(0x114)][_0x42b7b9(0xfd)](_0x2f460c=>({'service':_0x2f460c[_0x42b7b9(0x12d)]?.['service'],'version':_0x2f460c['normalizedManifest']?.[_0x42b7b9(0x139)],'commandCount':_0x2f460c[_0x42b7b9(0x12d)]?.[_0x42b7b9(0x130)][_0x42b7b9(0xf9)]??0x0,'errors':_0x2f460c[_0x42b7b9(0x120)][_0x42b7b9(0xf7)]})),'errors':_0x17eb80[_0x42b7b9(0x120)]['errors'],'commandCount':_0x17eb80['normalizedManifest']?.[_0x42b7b9(0x130)]['length']??0x0},'description':_0x42b7b9(0xf8)};},async 'execute'(_0x391f6f){const _0x505046=a33_0x1bae2a,_0x5d7088=importServiceManifest(_0x391f6f['str'](_0x505046(0x10a)));if(_0x5d7088['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x5d7088[_0x505046(0x13b)],'imported':_0x5d7088[_0x505046(0x129)],'updated':_0x5d7088[_0x505046(0x123)],'serviceCount':_0x5d7088[_0x505046(0x138)],'services':_0x5d7088[_0x505046(0x12c)]['map'](summarizeService)},'message':'Imported\x20'+_0x5d7088['imported']+_0x505046(0x111)+_0x5d7088['updated']+_0x505046(0x117)};return{'ok':!![],'data':{'registryPath':_0x5d7088[_0x505046(0x13b)],'replaced':_0x5d7088['replaced'],'imported':_0x5d7088[_0x505046(0x129)],'updated':_0x5d7088['updated'],'serviceCount':_0x5d7088[_0x505046(0x138)],'service':summarizeService(_0x5d7088[_0x505046(0xfa)])},'message':(_0x5d7088['replaced']?'Updated':_0x505046(0xff))+_0x505046(0x13c)+_0x5d7088[_0x505046(0xfa)][_0x505046(0x135)]+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x118),'description':a33_0x1bae2a(0x108),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x158ede){const _0x109fe7=a33_0x1bae2a,_0x169373=getLocalServiceEntry(_0x158ede[_0x109fe7(0x125)]('service'));return{'method':_0x109fe7(0x116),'url':_0x158ede[_0x109fe7(0x125)](_0x109fe7(0x10a)),'body':{'service':_0x158ede[_0x109fe7(0x125)](_0x109fe7(0x10d)),'found':Boolean(_0x169373),'version':_0x169373?.[_0x109fe7(0x139)],'source':_0x169373?.[_0x109fe7(0x11f)]},'description':_0x109fe7(0x115)};},async 'execute'(_0x2c2625){const _0x1d2ce8=a33_0x1bae2a,_0x2c13c0=exportServiceManifest(_0x2c2625['str'](_0x1d2ce8(0x10d)),_0x2c2625['str'](_0x1d2ce8(0x10a)));return{'ok':!![],'data':{'registryPath':_0x2c13c0[_0x1d2ce8(0x13b)],'file':_0x2c13c0[_0x1d2ce8(0x12e)],'service':summarizeService(_0x2c13c0[_0x1d2ce8(0xfa)])},'message':_0x1d2ce8(0x101)+_0x2c13c0[_0x1d2ce8(0xfa)]['serviceCode']+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x11e),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4601cc=a33_0x1bae2a,_0x11a19e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x11a19e[_0x4601cc(0xf9)],'services':_0x11a19e['map'](summarizeService)}};}},{'service':'service','command':a33_0x1bae2a(0x132),'description':a33_0x1bae2a(0x107),'risk':a33_0x1bae2a(0x110),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x15973e){const _0x40c3a2=a33_0x1bae2a,_0x25fdcd=getLocalServiceEntry(_0x15973e[_0x40c3a2(0x125)](_0x40c3a2(0x10d)));return{'method':_0x40c3a2(0x116),'url':getServiceRegistryPath(),'body':{'service':_0x15973e[_0x40c3a2(0x125)](_0x40c3a2(0x10d)),'found':Boolean(_0x25fdcd),'version':_0x25fdcd?.[_0x40c3a2(0x139)],'source':_0x25fdcd?.[_0x40c3a2(0x11f)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x27add8){const _0x5a3a0f=a33_0x1bae2a,_0x262d63=removeServiceManifest(_0x27add8[_0x5a3a0f(0x125)](_0x5a3a0f(0x10d)));return{'ok':!![],'data':{'registryPath':_0x262d63[_0x5a3a0f(0x13b)],'serviceCount':_0x262d63[_0x5a3a0f(0x138)],'service':summarizeService(_0x262d63[_0x5a3a0f(0xfa)])},'message':_0x5a3a0f(0x134)+_0x262d63[_0x5a3a0f(0xfa)]['serviceCode']+'.'};}},{'service':a33_0x1bae2a(0x10d),'command':a33_0x1bae2a(0x105),'description':a33_0x1bae2a(0x12b),'risk':a33_0x1bae2a(0x126),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x27497b){const _0x4769ff=a33_0x1bae2a,_0x1c359c=getLocalServiceEntry(_0x27497b[_0x4769ff(0x125)]('service'));if(!_0x1c359c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x27497b['str']('service')},'message':_0x4769ff(0x136)+_0x27497b[_0x4769ff(0x125)](_0x4769ff(0x10d))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1c359c),'manifest':_0x1c359c['manifest'],'normalizedManifest':_0x1c359c['normalizedManifest']}};}}];
|
|
1
|
+
const a33_0xd47ef4=a33_0x513d;(function(_0x14e761,_0x3836a5){const _0x537afa=a33_0x513d,_0x2e7acf=_0x14e761();while(!![]){try{const _0x427cf0=parseInt(_0x537afa(0x16a))/0x1+parseInt(_0x537afa(0x184))/0x2+parseInt(_0x537afa(0x16d))/0x3*(-parseInt(_0x537afa(0x187))/0x4)+parseInt(_0x537afa(0x173))/0x5*(parseInt(_0x537afa(0x17d))/0x6)+-parseInt(_0x537afa(0x190))/0x7*(-parseInt(_0x537afa(0x17c))/0x8)+parseInt(_0x537afa(0x169))/0x9*(-parseInt(_0x537afa(0x156))/0xa)+-parseInt(_0x537afa(0x195))/0xb;if(_0x427cf0===_0x3836a5)break;else _0x2e7acf['push'](_0x2e7acf['shift']());}catch(_0xf8d40d){_0x2e7acf['push'](_0x2e7acf['shift']());}}}(a33_0x79d6,0xe5741));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x513d(_0x2e4719,_0x4a65a9){_0x2e4719=_0x2e4719-0x154;const _0x79d612=a33_0x79d6();let _0x513d95=_0x79d612[_0x2e4719];return _0x513d95;}const FILE_FLAG={'name':a33_0xd47ef4(0x160),'type':a33_0xd47ef4(0x165),'required':!![],'description':a33_0xd47ef4(0x16f)},SERVICE_FLAG={'name':a33_0xd47ef4(0x177),'type':a33_0xd47ef4(0x165),'required':!![],'description':a33_0xd47ef4(0x17b),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0xd47ef4(0x183)}};function a33_0x79d6(){const _0x3afe6e=['14234517kSbkdR','Service\x20manifest\x20validation\x20passed.','cliName','entry','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','kind','flags','target','20UvSbTk','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','remove','str','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','errors','entries','import','serviceCount','Updated','file','serviceCode','type','Imported','export','string','map','hash','read','4417614MbENdU','1134442wjfwsN','registry','registryPath','12921eZBFIg','warnings','Service\x20Tree\x20manifest\x20file\x20path','list','version','source','15030jwEHpw','Exported\x20service\x20','Service\x20registry\x20validation\x20passed.','registryServiceCode','service','normalizedManifest','filePath','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','Local\x20service\x20code,\x20for\x20example\x20crm','16Tbkqme','3054UfNFBh','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','commands','manifests','length','updated','lower\x20kebab-case\x20service\x20code','24982KJmPsS','detail','Imported\x20','652ysLdbz','importedAt','report','replaced','\x20service(s),\x20updated\x20','Removed\x20service\x20','name','cliPath','WRITE','4342219hDloxF','required','reduce','registryIndex','imported'];a33_0x79d6=function(){return _0x3afe6e;};return a33_0x79d6();}function summarizeService(_0x203641){const _0x4f8dc3=a33_0xd47ef4;return{'serviceCode':_0x203641[_0x4f8dc3(0x161)],'name':_0x203641[_0x4f8dc3(0x178)][_0x4f8dc3(0x177)][_0x4f8dc3(0x18d)],'version':_0x203641[_0x4f8dc3(0x171)],'importedAt':_0x203641[_0x4f8dc3(0x188)],'source':_0x203641[_0x4f8dc3(0x172)],'commandCount':_0x203641['normalizedManifest'][_0x4f8dc3(0x17f)][_0x4f8dc3(0x181)],'commands':_0x203641[_0x4f8dc3(0x178)][_0x4f8dc3(0x17f)][_0x4f8dc3(0x166)](_0x4c6e12=>({'path':_0x4c6e12['cliPath'],'description':_0x4c6e12['description'],'risk':_0x4c6e12['risk'],'target':_0x4c6e12[_0x4f8dc3(0x155)],'flags':_0x4c6e12[_0x4f8dc3(0x154)]['map'](_0x49e9d5=>({'name':_0x49e9d5[_0x4f8dc3(0x18d)],'cliName':_0x49e9d5[_0x4f8dc3(0x197)],'type':_0x49e9d5[_0x4f8dc3(0x162)],'required':_0x49e9d5[_0x4f8dc3(0x191)]===!![]}))}))};}function summarizeLoadedManifest(_0x440546){const _0x131fc3=a33_0xd47ef4;return{'service':_0x440546['normalizedManifest']?.[_0x131fc3(0x177)],'version':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x171)],'commandCount':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x17f)]['length']??0x0,'commands':_0x440546[_0x131fc3(0x178)]?.[_0x131fc3(0x17f)][_0x131fc3(0x166)](_0x5dc9f5=>({'path':_0x5dc9f5['cliPath'],'risk':_0x5dc9f5['risk'],'target':_0x5dc9f5[_0x131fc3(0x155)]}))??[],'registryIndex':_0x440546[_0x131fc3(0x193)],'registryServiceCode':_0x440546[_0x131fc3(0x176)],'errors':_0x440546[_0x131fc3(0x189)][_0x131fc3(0x15b)],'warnings':_0x440546[_0x131fc3(0x189)][_0x131fc3(0x16e)]};}export const serviceDefinitions=[{'service':a33_0xd47ef4(0x177),'command':'validate','description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0xd47ef4(0x168),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4fbf9b){const _0x267b4e=a33_0xd47ef4,_0x37f7d2=loadServiceManifestFromFile(_0x4fbf9b[_0x267b4e(0x159)](_0x267b4e(0x160)));if(!_0x37f7d2[_0x267b4e(0x189)]['ok'])return{'ok':![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2['hash'],'kind':_0x37f7d2[_0x267b4e(0x19a)],'serviceCount':_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x181)],'services':_0x37f7d2[_0x267b4e(0x180)]['map'](summarizeLoadedManifest),'errors':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x15b)],'warnings':_0x37f7d2['report']['warnings']},'message':formatValidationFailure(_0x37f7d2[_0x267b4e(0x189)])};if(_0x37f7d2[_0x267b4e(0x19a)]===_0x267b4e(0x16b)||_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x181)]!==0x1)return{'ok':!![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2[_0x267b4e(0x167)],'kind':_0x37f7d2['kind'],'serviceCount':_0x37f7d2['manifests']['length'],'commandCount':_0x37f7d2['manifests'][_0x267b4e(0x192)]((_0x164225,_0x254b70)=>_0x164225+(_0x254b70[_0x267b4e(0x178)]?.[_0x267b4e(0x17f)]['length']??0x0),0x0),'services':_0x37f7d2[_0x267b4e(0x180)][_0x267b4e(0x166)](summarizeLoadedManifest),'warnings':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x16e)]},'message':_0x267b4e(0x175)};return{'ok':!![],'data':{'file':_0x37f7d2[_0x267b4e(0x179)],'hash':_0x37f7d2['hash'],'kind':_0x37f7d2[_0x267b4e(0x19a)],'service':_0x37f7d2[_0x267b4e(0x178)]?.['service'],'version':_0x37f7d2[_0x267b4e(0x178)]?.['version'],'commandCount':_0x37f7d2['normalizedManifest']?.[_0x267b4e(0x17f)][_0x267b4e(0x181)]??0x0,'commands':_0x37f7d2[_0x267b4e(0x178)]?.['commands'][_0x267b4e(0x166)](_0x43b219=>({'path':_0x43b219[_0x267b4e(0x18e)],'risk':_0x43b219['risk'],'target':_0x43b219[_0x267b4e(0x155)]})),'warnings':_0x37f7d2[_0x267b4e(0x189)][_0x267b4e(0x16e)]},'message':_0x267b4e(0x196)};}},{'service':'service','command':a33_0xd47ef4(0x15d),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x4c21d9){const _0x5de30a=a33_0xd47ef4,_0x2abe43=loadServiceManifestFromFile(_0x4c21d9[_0x5de30a(0x159)](_0x5de30a(0x160)));return{'method':_0x5de30a(0x18f),'url':getServiceRegistryPath(),'body':{'file':_0x2abe43['filePath'],'hash':_0x2abe43[_0x5de30a(0x167)],'kind':_0x2abe43[_0x5de30a(0x19a)],'ok':_0x2abe43[_0x5de30a(0x189)]['ok'],'service':_0x2abe43[_0x5de30a(0x178)]?.['service'],'version':_0x2abe43[_0x5de30a(0x178)]?.[_0x5de30a(0x171)],'serviceCount':_0x2abe43[_0x5de30a(0x180)]['length'],'services':_0x2abe43[_0x5de30a(0x180)][_0x5de30a(0x166)](_0x3c89e8=>({'service':_0x3c89e8[_0x5de30a(0x178)]?.[_0x5de30a(0x177)],'version':_0x3c89e8[_0x5de30a(0x178)]?.[_0x5de30a(0x171)],'commandCount':_0x3c89e8['normalizedManifest']?.[_0x5de30a(0x17f)][_0x5de30a(0x181)]??0x0,'errors':_0x3c89e8[_0x5de30a(0x189)][_0x5de30a(0x15b)]})),'errors':_0x2abe43[_0x5de30a(0x189)]['errors'],'commandCount':_0x2abe43[_0x5de30a(0x178)]?.['commands']['length']??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x390e1b){const _0x405d86=a33_0xd47ef4,_0x2d19ac=importServiceManifest(_0x390e1b['str'](_0x405d86(0x160)));if(_0x2d19ac[_0x405d86(0x15c)][_0x405d86(0x181)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x2d19ac['registryPath'],'imported':_0x2d19ac[_0x405d86(0x194)],'updated':_0x2d19ac[_0x405d86(0x182)],'serviceCount':_0x2d19ac[_0x405d86(0x15e)],'services':_0x2d19ac[_0x405d86(0x15c)][_0x405d86(0x166)](summarizeService)},'message':_0x405d86(0x186)+_0x2d19ac[_0x405d86(0x194)]+_0x405d86(0x18b)+_0x2d19ac['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x2d19ac[_0x405d86(0x16c)],'replaced':_0x2d19ac[_0x405d86(0x18a)],'imported':_0x2d19ac[_0x405d86(0x194)],'updated':_0x2d19ac['updated'],'serviceCount':_0x2d19ac[_0x405d86(0x15e)],'service':summarizeService(_0x2d19ac[_0x405d86(0x198)])},'message':(_0x2d19ac[_0x405d86(0x18a)]?_0x405d86(0x15f):_0x405d86(0x163))+'\x20service\x20'+_0x2d19ac['entry'][_0x405d86(0x161)]+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x164),'description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e10d1){const _0x11d7e5=a33_0xd47ef4,_0x1d2f7b=getLocalServiceEntry(_0x4e10d1[_0x11d7e5(0x159)](_0x11d7e5(0x177)));return{'method':_0x11d7e5(0x18f),'url':_0x4e10d1[_0x11d7e5(0x159)](_0x11d7e5(0x160)),'body':{'service':_0x4e10d1['str'](_0x11d7e5(0x177)),'found':Boolean(_0x1d2f7b),'version':_0x1d2f7b?.['version'],'source':_0x1d2f7b?.[_0x11d7e5(0x172)]},'description':_0x11d7e5(0x157)};},async 'execute'(_0xf22b2f){const _0x1f6ffb=a33_0xd47ef4,_0x2047ff=exportServiceManifest(_0xf22b2f[_0x1f6ffb(0x159)]('service'),_0xf22b2f[_0x1f6ffb(0x159)](_0x1f6ffb(0x160)));return{'ok':!![],'data':{'registryPath':_0x2047ff['registryPath'],'file':_0x2047ff[_0x1f6ffb(0x179)],'service':summarizeService(_0x2047ff[_0x1f6ffb(0x198)])},'message':_0x1f6ffb(0x174)+_0x2047ff[_0x1f6ffb(0x198)]['serviceCode']+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x170),'description':a33_0xd47ef4(0x17a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2c1439=a33_0xd47ef4,_0x8a176e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x8a176e[_0x2c1439(0x181)],'services':_0x8a176e['map'](summarizeService)}};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x158),'description':a33_0xd47ef4(0x15a),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x13eb55){const _0x2b292e=a33_0xd47ef4,_0x5ec1a2=getLocalServiceEntry(_0x13eb55[_0x2b292e(0x159)](_0x2b292e(0x177)));return{'method':_0x2b292e(0x18f),'url':getServiceRegistryPath(),'body':{'service':_0x13eb55[_0x2b292e(0x159)](_0x2b292e(0x177)),'found':Boolean(_0x5ec1a2),'version':_0x5ec1a2?.[_0x2b292e(0x171)],'source':_0x5ec1a2?.['source']},'description':_0x2b292e(0x199)};},async 'execute'(_0x18326c){const _0x5907be=a33_0xd47ef4,_0x24329d=removeServiceManifest(_0x18326c[_0x5907be(0x159)](_0x5907be(0x177)));return{'ok':!![],'data':{'registryPath':_0x24329d[_0x5907be(0x16c)],'serviceCount':_0x24329d[_0x5907be(0x15e)],'service':summarizeService(_0x24329d[_0x5907be(0x198)])},'message':_0x5907be(0x18c)+_0x24329d[_0x5907be(0x198)][_0x5907be(0x161)]+'.'};}},{'service':a33_0xd47ef4(0x177),'command':a33_0xd47ef4(0x185),'description':a33_0xd47ef4(0x17e),'risk':a33_0xd47ef4(0x168),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2f35a0){const _0x493951=a33_0xd47ef4,_0x22956f=getLocalServiceEntry(_0x2f35a0['str'](_0x493951(0x177)));if(!_0x22956f)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2f35a0[_0x493951(0x159)](_0x493951(0x177))},'message':'Local\x20service\x20not\x20found:\x20'+_0x2f35a0[_0x493951(0x159)](_0x493951(0x177))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x22956f),'manifest':_0x22956f['manifest'],'normalizedManifest':_0x22956f['normalizedManifest']}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5123d2,_0x243dd4){const _0x30e3b1=a34_0x2ef4,_0x3bb19d=_0x5123d2();while(!![]){try{const _0x291fa0=parseInt(_0x30e3b1(0x124))/0x1*(-parseInt(_0x30e3b1(0x123))/0x2)+-parseInt(_0x30e3b1(0x109))/0x3+parseInt(_0x30e3b1(0xe3))/0x4+parseInt(_0x30e3b1(0xe9))/0x5*(parseInt(_0x30e3b1(0xf4))/0x6)+parseInt(_0x30e3b1(0xdb))/0x7+parseInt(_0x30e3b1(0xfe))/0x8*(parseInt(_0x30e3b1(0xda))/0x9)+-parseInt(_0x30e3b1(0xe0))/0xa*(parseInt(_0x30e3b1(0x10e))/0xb);if(_0x291fa0===_0x243dd4)break;else _0x3bb19d['push'](_0x3bb19d['shift']());}catch(_0x4d79a9){_0x3bb19d['push'](_0x3bb19d['shift']());}}}(a34_0x25cd,0x3e1d5));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x479cd5={}){return resolve(_0x479cd5['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x4db59a={}){const _0x246619=a34_0x2ef4,_0x39bfdc=getServiceRegistryPath(_0x4db59a);if(!existsSync(_0x39bfdc))return emptyServiceRegistry();try{const _0x266613=readFileSync(_0x39bfdc,'utf8');if(!_0x266613[_0x246619(0xff)]())return emptyServiceRegistry();const _0x45090c=JSON[_0x246619(0x106)](_0x266613);if(_0x45090c['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x246619(0x115)](_0x246619(0xf1)+String(_0x45090c['schemaVersion']),_0x246619(0xd9)+_0x39bfdc+'.');if(!Array[_0x246619(0x100)](_0x45090c[_0x246619(0xfd)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x45090c[_0x246619(0xea)],'services':_0x45090c['services']};}catch(_0x91b857){if(_0x91b857 instanceof Error&&_0x91b857[_0x246619(0x11b)]===_0x246619(0xed))throw _0x91b857;throw CliErrors[_0x246619(0x115)](_0x246619(0x11c)+_0x39bfdc,_0x246619(0xde));}}function a34_0x25cd(){const _0x641695=['normalizedManifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','50zJkLFN','updatedAt','].manifest','stringify','CliError','registry','schemaVersion','manifests','Unsupported\x20service\x20registry\x20schemaVersion:\x20','hex','errors','134274XGYCKq','commands','service','slice','].manifest.','localeCompare','cliPath','report','map','services','24tUdpKU','trim','isArray','update','Service\x20manifest\x20validation\x20failed:\x0a','findIndex','$.services[','length','parse','path','toISOString','62748BIYCLl','string','Local\x20service\x20not\x20found:\x20','digest','services\x20must\x20be\x20an\x20array','2016839MwiOwW','Cannot\x20write\x20service\x20registry:\x20','empty','Service\x20manifest\x20file\x20not\x20found:\x20','sourceHash','description','Invalid\x20service\x20manifest\x20JSON:\x20','validation','startsWith','registryIndex','message','target','splice','name','Invalid\x20service\x20registry\x20JSON:\x20','object','importedAt','utf8','code','push','file','742774SKzfWH','1RPIYWh','flatMap','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','commandCount','version','warnings','Remove\x20or\x20migrate\x20','371538nDHWgI','3166191IyNPvO','serviceCode','manifest','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','find','10XKgnds','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','.tmp','120496EXIGSx','missing','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','sha256'];a34_0x25cd=function(){return _0x641695;};return a34_0x25cd();}export function writeServiceRegistry(_0x5500a2,_0x19178d={}){const _0x4f7fd0=a34_0x2ef4,_0x4b34e8=getServiceRegistryPath(_0x19178d),_0x398a4e=dirname(_0x4b34e8);!existsSync(_0x398a4e)&&mkdirSync(_0x398a4e,{'recursive':!![]});const _0x35e857=_0x4b34e8+_0x4f7fd0(0xe2);try{writeFileSync(_0x35e857,JSON['stringify'](_0x5500a2,null,0x2)+'\x0a',{'encoding':_0x4f7fd0(0x11f),'mode':0x180}),renameSync(_0x35e857,_0x4b34e8);}catch(_0x77081c){try{unlinkSync(_0x35e857);}catch{}if(_0x77081c?.[_0x4f7fd0(0x120)]==='ENOENT')throw CliErrors['validation'](_0x4f7fd0(0x10f)+_0x4b34e8);throw _0x77081c;}return _0x4b34e8;}export function loadServiceManifestFromFile(_0x3ea551){const _0x3c381d=a34_0x2ef4,_0x515210=resolve(_0x3ea551);if(!existsSync(_0x515210))throw CliErrors[_0x3c381d(0x115)](_0x3c381d(0x111)+_0x3ea551);let _0x105346;const _0x367295=readFileSync(_0x515210,_0x3c381d(0x11f));try{_0x105346=JSON['parse'](_0x367295);}catch{throw CliErrors['validation'](_0x3c381d(0x114)+_0x3ea551,_0x3c381d(0xd5));}const _0x6af51f=sha256(_0x367295),_0x296658=extractLoadedServiceManifests(_0x105346,_0x6af51f),_0x24a881=aggregateValidationReports(_0x296658),_0x17170c=_0x296658[0x0];return{'filePath':_0x515210,'hash':_0x6af51f,'kind':isServiceRegistryLike(_0x105346)?_0x3c381d(0xee):_0x3c381d(0xdd),'manifest':_0x17170c?.[_0x3c381d(0xdd)]??_0x105346,'report':_0x24a881,'normalizedManifest':_0x296658[_0x3c381d(0x105)]===0x1?_0x17170c?.[_0x3c381d(0xe7)]:undefined,'manifests':_0x296658};}export function importServiceManifest(_0x1dae86,_0x23382b={}){const _0x3b757e=a34_0x2ef4,_0x1db446=loadServiceManifestFromFile(_0x1dae86);if(!_0x1db446[_0x3b757e(0xfb)]['ok'])throw CliErrors[_0x3b757e(0x115)](formatValidationFailure(_0x1db446[_0x3b757e(0xfb)]),_0x3b757e(0xe5));if(_0x1db446[_0x3b757e(0xf0)][_0x3b757e(0x105)]===0x0)throw CliErrors[_0x3b757e(0x115)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x3b757e(0xe8));const _0x5b26c7=readServiceRegistry(_0x23382b),_0x445c2f=(_0x23382b['now']??(()=>new Date()))()[_0x3b757e(0x108)](),_0x1f0273=[];let _0x3c60b2=0x0,_0x53509d=0x0;for(const _0x526779 of _0x1db446[_0x3b757e(0xf0)]){if(!_0x526779[_0x3b757e(0xe7)])continue;const _0x478e02=_0x526779[_0x3b757e(0xe7)][_0x3b757e(0xf6)][_0x3b757e(0x120)],_0x282e={'serviceCode':_0x478e02,'version':_0x526779[_0x3b757e(0xe7)][_0x3b757e(0xd7)],'importedAt':_0x445c2f,'source':{'type':_0x3b757e(0x122),'path':_0x1db446['filePath'],'hash':_0x526779[_0x3b757e(0x112)]},'manifest':_0x526779[_0x3b757e(0xdd)],'normalizedManifest':_0x526779[_0x3b757e(0xe7)]},_0x565bee=_0x5b26c7[_0x3b757e(0xfd)]['findIndex'](_0x545181=>_0x545181[_0x3b757e(0xdc)]===_0x478e02);_0x565bee>=0x0?(_0x5b26c7['services'][_0x565bee]=_0x282e,_0x53509d++):(_0x5b26c7['services'][_0x3b757e(0x121)](_0x282e),_0x3c60b2++),_0x1f0273['push'](_0x282e);}_0x5b26c7['services']['sort']((_0x494190,_0x525f9b)=>_0x494190[_0x3b757e(0xdc)][_0x3b757e(0xf9)](_0x525f9b[_0x3b757e(0xdc)])),_0x5b26c7[_0x3b757e(0xea)]=_0x445c2f;const _0x117788=writeServiceRegistry(_0x5b26c7,_0x23382b);return{'registryPath':_0x117788,'entry':_0x1f0273[0x0],'replaced':_0x1f0273[_0x3b757e(0x105)]===0x1?_0x53509d===0x1:_0x53509d>0x0,'entries':_0x1f0273,'imported':_0x3c60b2,'updated':_0x53509d,'serviceCount':_0x5b26c7['services'][_0x3b757e(0x105)]};}export function exportServiceManifest(_0x383a71,_0x53433a,_0x5d8367={}){const _0x349d12=a34_0x2ef4,_0xf98365=getServiceRegistryPath(_0x5d8367),_0x2ea535=getLocalServiceEntry(_0x383a71,_0x5d8367);if(!_0x2ea535)throw CliErrors['validation'](_0x349d12(0x10b)+_0x383a71,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x3e9bbb=resolve(_0x53433a),_0x4e10c4=dirname(_0x3e9bbb);return!existsSync(_0x4e10c4)&&mkdirSync(_0x4e10c4,{'recursive':!![]}),writeFileSync(_0x3e9bbb,JSON[_0x349d12(0xec)](_0x2ea535[_0x349d12(0xdd)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0xf98365,'filePath':_0x3e9bbb,'entry':_0x2ea535};}export function removeServiceManifest(_0x44fdd0,_0x4922df={}){const _0x32b62e=a34_0x2ef4,_0x542e3=readServiceRegistry(_0x4922df),_0x4da04c=_0x44fdd0[_0x32b62e(0xff)](),_0x12ecf7=_0x542e3['services'][_0x32b62e(0x103)](_0x33744b=>_0x33744b[_0x32b62e(0xdc)]===_0x4da04c);if(_0x12ecf7<0x0)throw CliErrors[_0x32b62e(0x115)](_0x32b62e(0x10b)+_0x4da04c,_0x32b62e(0xe1));const [_0x472856]=_0x542e3[_0x32b62e(0xfd)][_0x32b62e(0x11a)](_0x12ecf7,0x1),_0x377468=(_0x4922df['now']??(()=>new Date()))()[_0x32b62e(0x108)]();_0x542e3[_0x32b62e(0xea)]=_0x377468;const _0x3a8259=writeServiceRegistry(_0x542e3,_0x4922df);return{'registryPath':_0x3a8259,'entry':_0x472856,'serviceCount':_0x542e3[_0x32b62e(0xfd)][_0x32b62e(0x105)]};}export function listLocalServices(_0x4899bd={}){const _0x46bf4e=a34_0x2ef4;return readServiceRegistry(_0x4899bd)[_0x46bf4e(0xfd)];}export function getLocalServiceEntry(_0x3d5b11,_0x349569={}){const _0x4eb512=a34_0x2ef4;return readServiceRegistry(_0x349569)[_0x4eb512(0xfd)][_0x4eb512(0xdf)](_0x4d695f=>_0x4d695f['serviceCode']===_0x3d5b11[_0x4eb512(0xff)]());}export function listLocalServiceTrees(_0x5c884d={}){const _0x451a47=a34_0x2ef4;return readServiceRegistry(_0x5c884d)[_0x451a47(0xfd)][_0x451a47(0xfc)](_0x2b4653=>_0x2b4653['normalizedManifest']);}export function inspectServiceRegistry(_0x1b04f1={}){const _0x42780d=a34_0x2ef4,_0x50e748=getServiceRegistryPath(_0x1b04f1);if(!existsSync(_0x50e748))return emptyServiceRegistryInspection(_0x50e748,_0x42780d(0xe4),![]);try{const _0x184a48=readFileSync(_0x50e748,'utf8');if(!_0x184a48[_0x42780d(0xff)]())return emptyServiceRegistryInspection(_0x50e748,_0x42780d(0x110),!![]);const _0x37df2d=JSON[_0x42780d(0x106)](_0x184a48);if(_0x37df2d[_0x42780d(0xef)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'schemaVersion':_0x37df2d[_0x42780d(0xef)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x37df2d[_0x42780d(0xef)])};if(!Array[_0x42780d(0x100)](_0x37df2d[_0x42780d(0xfd)]))return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x37df2d[_0x42780d(0xea)],'message':_0x42780d(0x10d)};const _0x5d7771=_0x37df2d[_0x42780d(0xfd)][_0x42780d(0xfc)](summarizeLocalServiceEntry);return{'registryPath':_0x50e748,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x37df2d[_0x42780d(0xea)],'serviceCount':_0x5d7771[_0x42780d(0x105)],'commandCount':_0x5d7771['reduce']((_0xa44863,_0x134f7a)=>_0xa44863+_0x134f7a[_0x42780d(0xd6)],0x0),'services':_0x5d7771};}catch(_0x5d26b9){return{...emptyServiceRegistryInspection(_0x50e748,'invalid',!![]),'message':_0x5d26b9 instanceof Error?_0x5d26b9[_0x42780d(0x118)]:String(_0x5d26b9)};}}export function formatValidationFailure(_0x2a165b){const _0x561fc6=a34_0x2ef4,_0xb5fc18=_0x2a165b[_0x561fc6(0xf3)][_0x561fc6(0xfc)](_0x1c88c3=>_0x1c88c3[_0x561fc6(0x107)]+':\x20'+_0x1c88c3[_0x561fc6(0x118)]);return _0x561fc6(0x102)+_0xb5fc18['join']('\x0a');}function extractLoadedServiceManifests(_0x27e3f7,_0x4d6e3a){const _0x53bea6=a34_0x2ef4;if(!isServiceRegistryLike(_0x27e3f7)){const _0x4a139e=_0x27e3f7,_0x2abf56=validateServiceTreeManifest(_0x4a139e);return[{'manifest':_0x4a139e,'report':_0x2abf56,'normalizedManifest':_0x2abf56['ok']?normalizeServiceTreeManifest(_0x4a139e):undefined,'sourceHash':_0x4d6e3a}];}return _0x27e3f7[_0x53bea6(0xfd)][_0x53bea6(0xfc)]((_0x251a7a,_0x28dc3f)=>{const _0x377451=_0x53bea6,_0x1ad55f=isObjectRecord(_0x251a7a)?_0x251a7a['manifest']:undefined,_0x2e6a59=validateServiceTreeManifest(_0x1ad55f),_0x4abae4=isObjectRecord(_0x251a7a)&&typeof _0x251a7a['serviceCode']===_0x377451(0x10a)?_0x251a7a['serviceCode']:undefined;return{'manifest':_0x1ad55f,'report':_0x2e6a59,'normalizedManifest':_0x2e6a59['ok']?normalizeServiceTreeManifest(_0x1ad55f):undefined,'sourceHash':sha256(JSON['stringify'](_0x1ad55f,null,0x2)+'\x0a'),'registryIndex':_0x28dc3f,'registryServiceCode':_0x4abae4};});}function aggregateValidationReports(_0x229ea8){const _0x2a2faf=a34_0x2ef4,_0x325859=_0x229ea8[_0x2a2faf(0x125)](_0x465fc2=>_0x465fc2[_0x2a2faf(0x117)]===undefined?_0x465fc2[_0x2a2faf(0xfb)][_0x2a2faf(0xf3)]:_0x465fc2[_0x2a2faf(0xfb)][_0x2a2faf(0xf3)]['map'](_0x17d103=>({..._0x17d103,'path':prefixRegistryIssuePath(_0x465fc2[_0x2a2faf(0x117)],_0x17d103['path'])}))),_0x1e1b6e=_0x229ea8[_0x2a2faf(0x125)](_0x414fb2=>_0x414fb2[_0x2a2faf(0x117)]===undefined?_0x414fb2['report'][_0x2a2faf(0xd8)]:_0x414fb2['report'][_0x2a2faf(0xd8)]['map'](_0x50d30d=>({..._0x50d30d,'path':prefixRegistryIssuePath(_0x414fb2[_0x2a2faf(0x117)],_0x50d30d[_0x2a2faf(0x107)])})));return{'ok':_0x325859[_0x2a2faf(0x105)]===0x0,'errors':_0x325859,'warnings':_0x1e1b6e};}function prefixRegistryIssuePath(_0x5c9a04,_0x5f53e7){const _0x28d739=a34_0x2ef4;if(_0x5f53e7==='$')return _0x28d739(0x104)+_0x5c9a04+'].manifest';if(_0x5f53e7[_0x28d739(0x116)]('$.'))return _0x28d739(0x104)+_0x5c9a04+_0x28d739(0xeb)+_0x5f53e7[_0x28d739(0xf7)](0x1);if(_0x5f53e7[_0x28d739(0x116)]('$['))return'$.services['+_0x5c9a04+_0x28d739(0xeb)+_0x5f53e7[_0x28d739(0xf7)](0x1);return _0x28d739(0x104)+_0x5c9a04+_0x28d739(0xf8)+_0x5f53e7;}function a34_0x2ef4(_0x1fd9c3,_0x22f457){_0x1fd9c3=_0x1fd9c3-0xd5;const _0x25cdbe=a34_0x25cd();let _0x2ef441=_0x25cdbe[_0x1fd9c3];return _0x2ef441;}function isServiceRegistryLike(_0x5ab111){const _0x1b4afc=a34_0x2ef4;return isObjectRecord(_0x5ab111)&&_0x5ab111[_0x1b4afc(0xef)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x5ab111['services']);}function isObjectRecord(_0x4d4e99){const _0x2de584=a34_0x2ef4;return Boolean(_0x4d4e99)&&typeof _0x4d4e99===_0x2de584(0x11d)&&!Array[_0x2de584(0x100)](_0x4d4e99);}function emptyServiceRegistryInspection(_0x2e395a,_0x49fd08,_0x252448){return{'registryPath':_0x2e395a,'exists':_0x252448,'status':_0x49fd08,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4da5d3){const _0x5f0ba6=a34_0x2ef4,_0x34f572=_0x4da5d3[_0x5f0ba6(0xe7)],_0x4670db=_0x34f572[_0x5f0ba6(0xf5)][_0x5f0ba6(0xfc)](_0xabe7c3=>({'path':_0xabe7c3[_0x5f0ba6(0xfa)],'description':_0xabe7c3[_0x5f0ba6(0x113)],'risk':_0xabe7c3['risk'],'targetKind':_0xabe7c3['target']['kind'],'targetCommand':_0xabe7c3[_0x5f0ba6(0x119)]['command']}));return{'serviceCode':_0x4da5d3['serviceCode'],'name':_0x34f572[_0x5f0ba6(0xf6)][_0x5f0ba6(0x11b)],'description':_0x34f572[_0x5f0ba6(0xf6)][_0x5f0ba6(0x113)],'version':_0x4da5d3['version'],'importedAt':_0x4da5d3[_0x5f0ba6(0x11e)],'source':_0x4da5d3['source'],'commandCount':_0x4670db[_0x5f0ba6(0x105)],'commands':_0x4670db};}function sha256(_0x29cf38){const _0x53dce4=a34_0x2ef4;return createHash(_0x53dce4(0xe6))[_0x53dce4(0x101)](_0x29cf38)[_0x53dce4(0x10c)](_0x53dce4(0xf2));}
|
|
1
|
+
const a34_0x120c93=a34_0x38f8;(function(_0x973a75,_0x3719ba){const _0x5bf994=a34_0x38f8,_0x420b58=_0x973a75();while(!![]){try{const _0x42ecbd=parseInt(_0x5bf994(0xc2))/0x1*(parseInt(_0x5bf994(0x9e))/0x2)+-parseInt(_0x5bf994(0x99))/0x3+parseInt(_0x5bf994(0x81))/0x4+-parseInt(_0x5bf994(0x76))/0x5+parseInt(_0x5bf994(0x98))/0x6*(-parseInt(_0x5bf994(0xb2))/0x7)+-parseInt(_0x5bf994(0xaf))/0x8+-parseInt(_0x5bf994(0xb9))/0x9*(-parseInt(_0x5bf994(0xbf))/0xa);if(_0x42ecbd===_0x3719ba)break;else _0x420b58['push'](_0x420b58['shift']());}catch(_0x44438e){_0x420b58['push'](_0x420b58['shift']());}}}(a34_0x2ed5,0xb7346));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_0x120c93(0x79);export function getServiceRegistryPath(_0x5d81c8={}){const _0x1bf4d7=a34_0x120c93;return resolve(_0x5d81c8[_0x1bf4d7(0xa2)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}function a34_0x2ed5(){const _0x4941a8=['push','updatedAt','reduce','Service\x20manifest\x20validation\x20failed:\x0a','splice','parse','service','join','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','registryIndex','2118HIgQOq','1846338gxKLTp','serviceCode','update','source','sha256','100342mfcSVr','Invalid\x20service\x20manifest\x20JSON:\x20','empty','digest','homeDir','command','].manifest.','file','Invalid\x20service\x20registry\x20JSON:\x20','utf8','risk','schemaVersion','name','object','$.services[','invalid','registry','10276544hmGCTo','errors','description','7007GLsdkY','now','target','sort','Unsupported\x20service\x20registry\x20schemaVersion:\x20','importedAt','Cannot\x20write\x20service\x20registry:\x20','45mhDLZg','code','hex','report','stringify','trim','5751550pqSHvX','localeCompare','CliError','9mWnAMv','].manifest','slice','Service\x20manifest\x20file\x20not\x20found:\x20','validation','warnings','manifest','filePath','7069630GkSoMd','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','version','service.json','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Unsupported\x20schemaVersion:\x20','path','sourceHash','isArray','toISOString','length','4361540mZlTRe','Local\x20service\x20not\x20found:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','services','find','map','flatMap','Remove\x20or\x20migrate\x20','findIndex','message','services\x20must\x20be\x20an\x20array','manifests','normalizedManifest'];a34_0x2ed5=function(){return _0x4941a8;};return a34_0x2ed5();}export function readServiceRegistry(_0x4b266c={}){const _0x55153d=a34_0x120c93,_0x46b98f=getServiceRegistryPath(_0x4b266c);if(!existsSync(_0x46b98f))return emptyServiceRegistry();try{const _0x3478c3=readFileSync(_0x46b98f,_0x55153d(0xa7));if(!_0x3478c3[_0x55153d(0xbe)]())return emptyServiceRegistry();const _0x1f6126=JSON['parse'](_0x3478c3);if(_0x1f6126[_0x55153d(0xa9)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x55153d(0xb6)+String(_0x1f6126['schemaVersion']),_0x55153d(0x88)+_0x46b98f+'.');if(!Array[_0x55153d(0x7e)](_0x1f6126['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1f6126[_0x55153d(0x8f)],'services':_0x1f6126[_0x55153d(0x84)]};}catch(_0x3e617b){if(_0x3e617b instanceof Error&&_0x3e617b[_0x55153d(0xaa)]===_0x55153d(0xc1))throw _0x3e617b;throw CliErrors[_0x55153d(0xc6)](_0x55153d(0xa6)+_0x46b98f,_0x55153d(0x96));}}export function writeServiceRegistry(_0x2f50e6,_0xf225f5={}){const _0x3a96fa=a34_0x120c93,_0x59cc73=getServiceRegistryPath(_0xf225f5),_0x3ffc1d=dirname(_0x59cc73);!existsSync(_0x3ffc1d)&&mkdirSync(_0x3ffc1d,{'recursive':!![]});const _0x1932bb=_0x59cc73+'.tmp';try{writeFileSync(_0x1932bb,JSON[_0x3a96fa(0xbd)](_0x2f50e6,null,0x2)+'\x0a',{'encoding':_0x3a96fa(0xa7),'mode':0x180}),renameSync(_0x1932bb,_0x59cc73);}catch(_0x9899c){try{unlinkSync(_0x1932bb);}catch{}if(_0x9899c?.[_0x3a96fa(0xba)]==='ENOENT')throw CliErrors['validation'](_0x3a96fa(0xb8)+_0x59cc73);throw _0x9899c;}return _0x59cc73;}export function loadServiceManifestFromFile(_0x2cfbd5){const _0x1b184e=a34_0x120c93,_0x6fac5a=resolve(_0x2cfbd5);if(!existsSync(_0x6fac5a))throw CliErrors['validation'](_0x1b184e(0xc5)+_0x2cfbd5);let _0x5edcf2;const _0x379df3=readFileSync(_0x6fac5a,_0x1b184e(0xa7));try{_0x5edcf2=JSON[_0x1b184e(0x93)](_0x379df3);}catch{throw CliErrors[_0x1b184e(0xc6)](_0x1b184e(0x9f)+_0x2cfbd5,_0x1b184e(0x83));}const _0x59d2bc=sha256(_0x379df3),_0xf7a3c1=extractLoadedServiceManifests(_0x5edcf2,_0x59d2bc),_0x5f0c77=aggregateValidationReports(_0xf7a3c1),_0x349333=_0xf7a3c1[0x0];return{'filePath':_0x6fac5a,'hash':_0x59d2bc,'kind':isServiceRegistryLike(_0x5edcf2)?_0x1b184e(0xae):_0x1b184e(0x74),'manifest':_0x349333?.[_0x1b184e(0x74)]??_0x5edcf2,'report':_0x5f0c77,'normalizedManifest':_0xf7a3c1[_0x1b184e(0x80)]===0x1?_0x349333?.[_0x1b184e(0x8d)]:undefined,'manifests':_0xf7a3c1};}export function importServiceManifest(_0xfd81c,_0x6bc01d={}){const _0x2559b7=a34_0x120c93,_0x1bbab6=loadServiceManifestFromFile(_0xfd81c);if(!_0x1bbab6['report']['ok'])throw CliErrors[_0x2559b7(0xc6)](formatValidationFailure(_0x1bbab6[_0x2559b7(0xbc)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1bbab6['manifests'][_0x2559b7(0x80)]===0x0)throw CliErrors[_0x2559b7(0xc6)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x2559b7(0x77));const _0x1281b9=readServiceRegistry(_0x6bc01d),_0x50388d=(_0x6bc01d[_0x2559b7(0xb3)]??(()=>new Date()))()['toISOString'](),_0x1a5d85=[];let _0x5b30e6=0x0,_0x4056dc=0x0;for(const _0x540205 of _0x1bbab6[_0x2559b7(0x8c)]){if(!_0x540205[_0x2559b7(0x8d)])continue;const _0x56a430=_0x540205[_0x2559b7(0x8d)][_0x2559b7(0x94)][_0x2559b7(0xba)],_0x2b1eec={'serviceCode':_0x56a430,'version':_0x540205[_0x2559b7(0x8d)][_0x2559b7(0x78)],'importedAt':_0x50388d,'source':{'type':_0x2559b7(0xa5),'path':_0x1bbab6[_0x2559b7(0x75)],'hash':_0x540205[_0x2559b7(0x7d)]},'manifest':_0x540205[_0x2559b7(0x74)],'normalizedManifest':_0x540205['normalizedManifest']},_0x27833f=_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0x89)](_0x2b3f2a=>_0x2b3f2a[_0x2559b7(0x9a)]===_0x56a430);_0x27833f>=0x0?(_0x1281b9[_0x2559b7(0x84)][_0x27833f]=_0x2b1eec,_0x4056dc++):(_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0x8e)](_0x2b1eec),_0x5b30e6++),_0x1a5d85[_0x2559b7(0x8e)](_0x2b1eec);}_0x1281b9[_0x2559b7(0x84)][_0x2559b7(0xb5)]((_0x1f8f2c,_0x267754)=>_0x1f8f2c[_0x2559b7(0x9a)][_0x2559b7(0xc0)](_0x267754[_0x2559b7(0x9a)])),_0x1281b9['updatedAt']=_0x50388d;const _0x355df0=writeServiceRegistry(_0x1281b9,_0x6bc01d);return{'registryPath':_0x355df0,'entry':_0x1a5d85[0x0],'replaced':_0x1a5d85[_0x2559b7(0x80)]===0x1?_0x4056dc===0x1:_0x4056dc>0x0,'entries':_0x1a5d85,'imported':_0x5b30e6,'updated':_0x4056dc,'serviceCount':_0x1281b9['services'][_0x2559b7(0x80)]};}export function exportServiceManifest(_0x57c009,_0x55005c,_0x23c744={}){const _0x3874ce=a34_0x120c93,_0x5e5cd4=getServiceRegistryPath(_0x23c744),_0x4cf042=getLocalServiceEntry(_0x57c009,_0x23c744);if(!_0x4cf042)throw CliErrors[_0x3874ce(0xc6)]('Local\x20service\x20not\x20found:\x20'+_0x57c009,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x282e7b=resolve(_0x55005c),_0x4285d8=dirname(_0x282e7b);return!existsSync(_0x4285d8)&&mkdirSync(_0x4285d8,{'recursive':!![]}),writeFileSync(_0x282e7b,JSON['stringify'](_0x4cf042[_0x3874ce(0x74)],null,0x2)+'\x0a',{'encoding':_0x3874ce(0xa7),'mode':0x180}),{'registryPath':_0x5e5cd4,'filePath':_0x282e7b,'entry':_0x4cf042};}export function removeServiceManifest(_0x3b21c4,_0x105091={}){const _0xc798d9=a34_0x120c93,_0x5a1bee=readServiceRegistry(_0x105091),_0xf510c6=_0x3b21c4[_0xc798d9(0xbe)](),_0x13388a=_0x5a1bee[_0xc798d9(0x84)]['findIndex'](_0x872c4=>_0x872c4[_0xc798d9(0x9a)]===_0xf510c6);if(_0x13388a<0x0)throw CliErrors[_0xc798d9(0xc6)](_0xc798d9(0x82)+_0xf510c6,_0xc798d9(0x7a));const [_0x406f15]=_0x5a1bee[_0xc798d9(0x84)][_0xc798d9(0x92)](_0x13388a,0x1),_0xd17ef5=(_0x105091[_0xc798d9(0xb3)]??(()=>new Date()))()[_0xc798d9(0x7f)]();_0x5a1bee[_0xc798d9(0x8f)]=_0xd17ef5;const _0x94f044=writeServiceRegistry(_0x5a1bee,_0x105091);return{'registryPath':_0x94f044,'entry':_0x406f15,'serviceCount':_0x5a1bee[_0xc798d9(0x84)][_0xc798d9(0x80)]};}export function listLocalServices(_0x69d251={}){const _0x2b2246=a34_0x120c93;return readServiceRegistry(_0x69d251)[_0x2b2246(0x84)];}export function getLocalServiceEntry(_0x55e823,_0x349bf7={}){const _0x12894f=a34_0x120c93;return readServiceRegistry(_0x349bf7)[_0x12894f(0x84)][_0x12894f(0x85)](_0x423227=>_0x423227[_0x12894f(0x9a)]===_0x55e823['trim']());}export function listLocalServiceTrees(_0x42f8a0={}){const _0x10f531=a34_0x120c93;return readServiceRegistry(_0x42f8a0)[_0x10f531(0x84)]['map'](_0x30aaf6=>_0x30aaf6[_0x10f531(0x8d)]);}export function inspectServiceRegistry(_0x45a75b={}){const _0x35d0f6=a34_0x120c93,_0x665316=getServiceRegistryPath(_0x45a75b);if(!existsSync(_0x665316))return emptyServiceRegistryInspection(_0x665316,'missing',![]);try{const _0x27f59a=readFileSync(_0x665316,_0x35d0f6(0xa7));if(!_0x27f59a[_0x35d0f6(0xbe)]())return emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xa0),!![]);const _0x518e1f=JSON[_0x35d0f6(0x93)](_0x27f59a);if(_0x518e1f[_0x35d0f6(0xa9)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xad),!![]),'schemaVersion':_0x518e1f['schemaVersion'],'message':_0x35d0f6(0x7b)+String(_0x518e1f['schemaVersion'])};if(!Array[_0x35d0f6(0x7e)](_0x518e1f[_0x35d0f6(0x84)]))return{...emptyServiceRegistryInspection(_0x665316,_0x35d0f6(0xad),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x518e1f[_0x35d0f6(0x8f)],'message':_0x35d0f6(0x8b)};const _0xc75bde=_0x518e1f[_0x35d0f6(0x84)][_0x35d0f6(0x86)](summarizeLocalServiceEntry);return{'registryPath':_0x665316,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x518e1f['updatedAt'],'serviceCount':_0xc75bde[_0x35d0f6(0x80)],'commandCount':_0xc75bde[_0x35d0f6(0x90)]((_0xd3e005,_0x2348e8)=>_0xd3e005+_0x2348e8['commandCount'],0x0),'services':_0xc75bde};}catch(_0x112412){return{...emptyServiceRegistryInspection(_0x665316,'invalid',!![]),'message':_0x112412 instanceof Error?_0x112412['message']:String(_0x112412)};}}export function formatValidationFailure(_0x688211){const _0x285bd5=a34_0x120c93,_0x4e142b=_0x688211['errors'][_0x285bd5(0x86)](_0x175502=>_0x175502['path']+':\x20'+_0x175502[_0x285bd5(0x8a)]);return _0x285bd5(0x91)+_0x4e142b[_0x285bd5(0x95)]('\x0a');}function extractLoadedServiceManifests(_0x573aa3,_0x23cb12){const _0x91a43b=a34_0x120c93;if(!isServiceRegistryLike(_0x573aa3)){const _0x548deb=_0x573aa3,_0x2e7de8=validateServiceTreeManifest(_0x548deb);return[{'manifest':_0x548deb,'report':_0x2e7de8,'normalizedManifest':_0x2e7de8['ok']?normalizeServiceTreeManifest(_0x548deb):undefined,'sourceHash':_0x23cb12}];}return _0x573aa3[_0x91a43b(0x84)][_0x91a43b(0x86)]((_0x197414,_0x3371fa)=>{const _0x322597=_0x91a43b,_0xc90a76=isObjectRecord(_0x197414)?_0x197414[_0x322597(0x74)]:undefined,_0x4493e4=validateServiceTreeManifest(_0xc90a76),_0x54cdb0=isObjectRecord(_0x197414)&&typeof _0x197414[_0x322597(0x9a)]==='string'?_0x197414[_0x322597(0x9a)]:undefined;return{'manifest':_0xc90a76,'report':_0x4493e4,'normalizedManifest':_0x4493e4['ok']?normalizeServiceTreeManifest(_0xc90a76):undefined,'sourceHash':sha256(JSON[_0x322597(0xbd)](_0xc90a76,null,0x2)+'\x0a'),'registryIndex':_0x3371fa,'registryServiceCode':_0x54cdb0};});}function aggregateValidationReports(_0x5b3f78){const _0x3784f6=a34_0x120c93,_0x2614c5=_0x5b3f78[_0x3784f6(0x87)](_0x102b7=>_0x102b7[_0x3784f6(0x97)]===undefined?_0x102b7['report'][_0x3784f6(0xb0)]:_0x102b7[_0x3784f6(0xbc)][_0x3784f6(0xb0)]['map'](_0x4a2d96=>({..._0x4a2d96,'path':prefixRegistryIssuePath(_0x102b7[_0x3784f6(0x97)],_0x4a2d96['path'])}))),_0x209b46=_0x5b3f78[_0x3784f6(0x87)](_0x289380=>_0x289380['registryIndex']===undefined?_0x289380[_0x3784f6(0xbc)][_0x3784f6(0xc7)]:_0x289380['report'][_0x3784f6(0xc7)][_0x3784f6(0x86)](_0x1a8385=>({..._0x1a8385,'path':prefixRegistryIssuePath(_0x289380[_0x3784f6(0x97)],_0x1a8385[_0x3784f6(0x7c)])})));return{'ok':_0x2614c5[_0x3784f6(0x80)]===0x0,'errors':_0x2614c5,'warnings':_0x209b46};}function a34_0x38f8(_0x182d89,_0x501351){_0x182d89=_0x182d89-0x74;const _0x2ed57b=a34_0x2ed5();let _0x38f8fa=_0x2ed57b[_0x182d89];return _0x38f8fa;}function prefixRegistryIssuePath(_0x51e3df,_0x2bcbde){const _0x3eb6bd=a34_0x120c93;if(_0x2bcbde==='$')return _0x3eb6bd(0xac)+_0x51e3df+'].manifest';if(_0x2bcbde['startsWith']('$.'))return _0x3eb6bd(0xac)+_0x51e3df+_0x3eb6bd(0xc3)+_0x2bcbde[_0x3eb6bd(0xc4)](0x1);if(_0x2bcbde['startsWith']('$['))return _0x3eb6bd(0xac)+_0x51e3df+'].manifest'+_0x2bcbde['slice'](0x1);return'$.services['+_0x51e3df+_0x3eb6bd(0xa4)+_0x2bcbde;}function isServiceRegistryLike(_0x5956d7){const _0x52e997=a34_0x120c93;return isObjectRecord(_0x5956d7)&&_0x5956d7[_0x52e997(0xa9)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x5956d7[_0x52e997(0x84)]);}function isObjectRecord(_0x3a4c1d){const _0x62a6a3=a34_0x120c93;return Boolean(_0x3a4c1d)&&typeof _0x3a4c1d===_0x62a6a3(0xab)&&!Array[_0x62a6a3(0x7e)](_0x3a4c1d);}function emptyServiceRegistryInspection(_0x4db1be,_0x1ffeae,_0x1bc3f0){return{'registryPath':_0x4db1be,'exists':_0x1bc3f0,'status':_0x1ffeae,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1c71ba){const _0x21f2c9=a34_0x120c93,_0x133e76=_0x1c71ba['normalizedManifest'],_0x46b181=_0x133e76['commands'][_0x21f2c9(0x86)](_0x56e75d=>({'path':_0x56e75d['cliPath'],'description':_0x56e75d[_0x21f2c9(0xb1)],'risk':_0x56e75d[_0x21f2c9(0xa8)],'targetKind':_0x56e75d[_0x21f2c9(0xb4)]['kind'],'targetCommand':_0x56e75d[_0x21f2c9(0xb4)][_0x21f2c9(0xa3)]}));return{'serviceCode':_0x1c71ba[_0x21f2c9(0x9a)],'name':_0x133e76[_0x21f2c9(0x94)]['name'],'description':_0x133e76[_0x21f2c9(0x94)][_0x21f2c9(0xb1)],'version':_0x1c71ba['version'],'importedAt':_0x1c71ba[_0x21f2c9(0xb7)],'source':_0x1c71ba[_0x21f2c9(0x9c)],'commandCount':_0x46b181[_0x21f2c9(0x80)],'commands':_0x46b181};}function sha256(_0x19b111){const _0x3e6cfc=a34_0x120c93;return createHash(_0x3e6cfc(0x9d))[_0x3e6cfc(0x9b)](_0x19b111)[_0x3e6cfc(0xa1)](_0x3e6cfc(0xbb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0x43f422=a35_0x41cf;(function(_0x2c6f5f,_0x23c2c1){const _0x310b7f=a35_0x41cf,_0x1d30e4=_0x2c6f5f();while(!![]){try{const _0x587194=-parseInt(_0x310b7f(0x161))/0x1*(-parseInt(_0x310b7f(0x14d))/0x2)+parseInt(_0x310b7f(0x14b))/0x3+parseInt(_0x310b7f(0x15a))/0x4+-parseInt(_0x310b7f(0x156))/0x5*(parseInt(_0x310b7f(0x15b))/0x6)+-parseInt(_0x310b7f(0x147))/0x7*(-parseInt(_0x310b7f(0x140))/0x8)+parseInt(_0x310b7f(0x160))/0x9*(parseInt(_0x310b7f(0x148))/0xa)+-parseInt(_0x310b7f(0x149))/0xb*(parseInt(_0x310b7f(0x13f))/0xc);if(_0x587194===_0x23c2c1)break;else _0x1d30e4['push'](_0x1d30e4['shift']());}catch(_0x3dae96){_0x1d30e4['push'](_0x1d30e4['shift']());}}}(a35_0x4793,0x25e68));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a35_0x41cf(_0x31d01b,_0x4ffb08){_0x31d01b=_0x31d01b-0x13f;const _0x479386=a35_0x4793();let _0x41cfe7=_0x479386[_0x31d01b];return _0x41cfe7;}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_0x43f422(0x14f),'command':a35_0x43f422(0x143),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x43f422(0x142),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3aa4fe){const _0x258762=a35_0x43f422,_0x26d558=buildSkillCreatePlan(_0x3aa4fe['str'](_0x258762(0x163)),_0x3aa4fe[_0x258762(0x155)](_0x258762(0x157)),_0x3aa4fe[_0x258762(0x155)](_0x258762(0x15c)));return{'method':'WRITE','url':_0x26d558[_0x258762(0x14a)],'body':{'skillName':_0x26d558['rendered']['skillName'],'type':_0x26d558[_0x258762(0x146)][_0x258762(0x157)],'selfContained':!![],'files':_0x26d558[_0x258762(0x146)][_0x258762(0x154)]['map'](_0x25e178=>_0x25e178[_0x258762(0x14e)])},'description':_0x258762(0x141)};},async 'execute'(_0x424a6e){const _0x21838a=a35_0x43f422,_0x1044d5=buildSkillCreatePlan(_0x424a6e['str'](_0x21838a(0x163)),_0x424a6e[_0x21838a(0x155)](_0x21838a(0x157)),_0x424a6e[_0x21838a(0x155)](_0x21838a(0x15c)));return writeSkillDraft(_0x1044d5,_0x424a6e[_0x21838a(0x158)](_0x21838a(0x144))),{'ok':!![],'data':{'skillName':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x15d)],'type':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x157)],'dir':_0x1044d5[_0x21838a(0x14a)],'files':_0x1044d5[_0x21838a(0x146)][_0x21838a(0x154)][_0x21838a(0x145)](_0xad4c13=>_0xad4c13[_0x21838a(0x14e)])},'message':_0x21838a(0x150)+_0x1044d5[_0x21838a(0x146)][_0x21838a(0x15d)]};}};function buildSkillCreatePlan(_0x2c60f3,_0x2b4b6e,_0x517e93){const _0x1e0402=a35_0x43f422,_0x4841c3=renderSkillTemplate({'skillName':_0x2c60f3,'type':_0x2b4b6e}),_0x550f24=resolve(normalizeSkillTarget(_0x517e93));return{'rendered':_0x4841c3,'targetRoot':_0x550f24,'skillDir':resolve(_0x550f24,_0x4841c3[_0x1e0402(0x15d)])};}function normalizeSkillTarget(_0x59c728){return(_0x59c728||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x7932c5,_0x556d17){const _0x3f72a1=a35_0x43f422;if(existsSync(_0x7932c5[_0x3f72a1(0x14a)])){const _0x12aa71=lstatSync(_0x7932c5[_0x3f72a1(0x14a)]);if(!_0x12aa71[_0x3f72a1(0x153)]()||_0x12aa71[_0x3f72a1(0x151)]())throw CliErrors['validation'](_0x3f72a1(0x15f)+_0x7932c5['skillDir']);if(!_0x556d17)throw CliErrors[_0x3f72a1(0x159)](_0x3f72a1(0x14c)+_0x7932c5[_0x3f72a1(0x14a)],_0x3f72a1(0x152));}for(const _0x135169 of _0x7932c5[_0x3f72a1(0x146)][_0x3f72a1(0x154)]){const _0x4b1531=resolve(_0x7932c5['skillDir'],_0x135169[_0x3f72a1(0x14e)]),_0x35c863=dirname(_0x4b1531);mkdirSync(_0x35c863,{'recursive':!![]});if(existsSync(_0x4b1531)&&lstatSync(_0x4b1531)[_0x3f72a1(0x151)]())throw CliErrors[_0x3f72a1(0x159)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x4b1531);writeFileSync(_0x4b1531,_0x135169[_0x3f72a1(0x162)],_0x3f72a1(0x15e));}}function a35_0x4793(){const _0x2ab075=['path','skill','Created\x20local\x20Skill\x20draft\x20','isSymbolicLink','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','isDirectory','files','str','5485hGgUSy','type','bool','validation','99944nHBwkW','210pQAYPW','target','skillName','utf8','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','2695311xLLUSB','15KFJRkU','content','name','12unQXeA','232PBaJRg','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','write','create','force','map','rendered','58177CRJGof','10gcQtff','5438697zHhlIS','skillDir','264639zWFjDe','Skill\x20directory\x20already\x20exists:\x20','4582gILIqm'];a35_0x4793=function(){return _0x2ab075;};return a35_0x4793();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x247124=a36_0x3263;(function(_0x354645,_0x323fad){const _0x108935=a36_0x3263,_0x2bece1=_0x354645();while(!![]){try{const _0x271d38=parseInt(_0x108935(0x12d))/0x1*(parseInt(_0x108935(0x11a))/0x2)+-parseInt(_0x108935(0x115))/0x3+-parseInt(_0x108935(0x132))/0x4*(parseInt(_0x108935(0x122))/0x5)+-parseInt(_0x108935(0x12b))/0x6*(-parseInt(_0x108935(0x12e))/0x7)+parseInt(_0x108935(0x138))/0x8+-parseInt(_0x108935(0x139))/0x9+parseInt(_0x108935(0x136))/0xa;if(_0x271d38===_0x323fad)break;else _0x2bece1['push'](_0x2bece1['shift']());}catch(_0x34b0c7){_0x2bece1['push'](_0x2bece1['shift']());}}}(a36_0x53da,0xb8ffb));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_0x247124(0x120),'command':'install','description':a36_0x247124(0x13a),'risk':a36_0x247124(0x121),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x10eea1){return syncRuntimeSkills(_0x10eea1);}};async function syncRuntimeSkills(_0x1e049e){const _0x9d639b=a36_0x247124,{downloadRuntimeSkillPackage:_0x1033ad,listRuntimeSkills:_0x5402de}=await import(_0x9d639b(0x128)),{linkEffectiveRuntimeSkills:_0x4d4c87,materializeRuntimeSkill:_0x1749c6,pruneStaleRuntimeSkillCache:_0x299965,pruneStaleRuntimeSkillLinks:_0x347908}=await import(_0x9d639b(0x11c)),_0x551db5=_0x1e049e[_0x9d639b(0x137)]('code'),_0x35b680=normalizeSyncScopes(_0x1e049e[_0x9d639b(0x137)](_0x9d639b(0x12a))),_0x5611a1=_0x1e049e['envName']??_0x9d639b(0x12c),_0x484539=_0x1e049e['accessKey'];if(!_0x484539)throw CliErrors[_0x9d639b(0x135)](_0x9d639b(0x119));const _0x43c80e=await Promise[_0x9d639b(0x126)](_0x35b680[_0x9d639b(0x123)](_0x3f4247=>_0x5402de({'appCode':_0x1e049e[_0x9d639b(0x129)],'scope':_0x3f4247,'code':_0x551db5[_0x9d639b(0x127)]()||undefined}))),_0x1214da=_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x13c))?_0x43c80e['flatMap']((_0x283cf5,_0x35b4a2)=>_0x35b680[_0x35b4a2]===_0x9d639b(0x13c)?_0x283cf5[_0x9d639b(0x13c)]:[]):[],_0x96bdb9=_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x133))?_0x43c80e[_0x9d639b(0x130)]((_0x1b8344,_0x22f335)=>_0x35b680[_0x22f335]===_0x9d639b(0x133)?_0x1b8344['company']:[]):[],_0x2d6dfd=new Set([..._0x1214da[_0x9d639b(0x123)](_0x56fe14=>_0x56fe14[_0x9d639b(0x117)]?.['trim']())['filter'](_0x56502f=>Boolean(_0x56502f)),..._0x96bdb9[_0x9d639b(0x123)](_0x18f81b=>_0x18f81b[_0x9d639b(0x117)]?.['trim']())[_0x9d639b(0x124)](_0x5568f4=>Boolean(_0x5568f4))]),_0x516636=_0x551db5[_0x9d639b(0x127)]()?[_0x551db5['trim']()]:undefined,_0x12653b=_0x35b680[_0x9d639b(0x12f)]===0x2&&_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x13c))&&_0x35b680[_0x9d639b(0x11e)](_0x9d639b(0x133)),_0x790e5=_0x12653b?_0x347908(_0x1e049e[_0x9d639b(0x129)],_0x2d6dfd,{},_0x516636):[],_0x393f89=_0x299965({'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e[_0x9d639b(0x129)],'activeSkillCodes':_0x2d6dfd,'pruneSkillCodes':_0x516636,'scopes':_0x35b680}),_0x35813c=[];for(const _0x540cea of _0x1214da){_0x35813c[_0x9d639b(0x11d)](_0x1749c6(_0x540cea,_0x9d639b(0x13c),{'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e['appCode'],'packageBytes':await downloadSkillPackage(_0x540cea,_0x9d639b(0x13c),_0x1e049e[_0x9d639b(0x129)],_0x1033ad)}));}for(const _0x4b10e9 of _0x96bdb9){_0x35813c['push'](_0x1749c6(_0x4b10e9,_0x9d639b(0x133),{'env':_0x5611a1,'accessKey':_0x484539,'appCode':_0x1e049e[_0x9d639b(0x129)],'packageBytes':await downloadSkillPackage(_0x4b10e9,_0x9d639b(0x133),_0x1e049e[_0x9d639b(0x129)],_0x1033ad)}));}const _0x1232c9=_0x4d4c87(_0x35813c,_0x1e049e['appCode']),_0x5e0968=countLinkActions(_0x1232c9);return{'ok':!![],'data':{'appCode':_0x1e049e[_0x9d639b(0x129)],'personal':_0x1214da['length'],'company':_0x96bdb9[_0x9d639b(0x12f)],'materialized':_0x35813c[_0x9d639b(0x12f)],'links':{'total':_0x1232c9[_0x9d639b(0x12f)],'created':_0x5e0968[_0x9d639b(0x13b)]??0x0,'updated':_0x5e0968[_0x9d639b(0x116)]??0x0,'unchanged':_0x5e0968[_0x9d639b(0x114)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x790e5[_0x9d639b(0x124)](_0x4f39bc=>_0x4f39bc[_0x9d639b(0x125)]===_0x9d639b(0x134))['length'],'cacheDirs':_0x393f89['filter'](_0x5190ac=>_0x5190ac[_0x9d639b(0x125)]===_0x9d639b(0x134))[_0x9d639b(0x12f)],'skipped':[..._0x790e5,..._0x393f89][_0x9d639b(0x124)](_0x556dd9=>_0x556dd9[_0x9d639b(0x125)]==='skipped')['length']},'skills':{'personal':_0x1214da['map'](summarizeRuntimeSkill),'company':_0x96bdb9['map'](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x1214da[_0x9d639b(0x12f)]+_0x9d639b(0x11f)+_0x96bdb9[_0x9d639b(0x12f)]+_0x9d639b(0x118)};}async function downloadSkillPackage(_0x38af03,_0x1c4665,_0x370bd9,_0x43c48c){const _0x25fd96=a36_0x247124,_0x3274e2=_0x38af03[_0x25fd96(0x11b)]?.[_0x25fd96(0x127)]();return _0x3274e2?_0x43c48c(_0x1c4665,_0x38af03[_0x25fd96(0x117)],_0x370bd9,_0x3274e2):_0x43c48c(_0x1c4665,_0x38af03[_0x25fd96(0x117)],_0x370bd9);}function a36_0x53da(){const _0x3e2573=['\x20personal\x20and\x20','skill','write','1527485bTotKi','map','filter','action','all','trim','../../../core/api-client.js','appCode','scope','6lizzKh','production','2bJzFfn','9871897QVbIpb','length','flatMap','reduce','8klKylG','company','removed','authRequired','16230860kuHRhl','str','569232BlOeff','8099109QqrtTv','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','created','personal','unchanged','4477077YTUDwA','updated','skillCode','\x20company\x20Skill(s).','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','656498AYmuwL','version','../../../skills/runtime-skill-sync.js','push','includes'];a36_0x53da=function(){return _0x3e2573;};return a36_0x53da();}function a36_0x3263(_0x38805f,_0x262cc2){_0x38805f=_0x38805f-0x114;const _0x53da09=a36_0x53da();let _0x32636e=_0x53da09[_0x38805f];return _0x32636e;}function countLinkActions(_0x3e7a1c){const _0x3e851a=a36_0x247124;return _0x3e7a1c[_0x3e851a(0x131)]((_0x5ddcc5,_0x2e6e04)=>{const _0x33fa14=_0x3e851a;return _0x5ddcc5[_0x2e6e04['action']]=(_0x5ddcc5[_0x2e6e04[_0x33fa14(0x125)]]??0x0)+0x1,_0x5ddcc5;},{});}
|