@lovrabet/lovrabet-cli 2.1.7-beta.4 → 2.1.7-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/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/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/push-retarget.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/service-order.js +1 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x4dd8b6=a30_0x5c0c;(function(_0x3cb389,_0x223547){const _0x1596a6=a30_0x5c0c,_0x1fbace=_0x3cb389();while(!![]){try{const _0x3a83f6=parseInt(_0x1596a6(0xc3))/0x1+parseInt(_0x1596a6(0xc6))/0x2+parseInt(_0x1596a6(0xb4))/0x3+-parseInt(_0x1596a6(0xca))/0x4+-parseInt(_0x1596a6(0xbe))/0x5*(-parseInt(_0x1596a6(0xa1))/0x6)+-parseInt(_0x1596a6(0xbc))/0x7*(parseInt(_0x1596a6(0xba))/0x8)+-parseInt(_0x1596a6(0xcb))/0x9*(-parseInt(_0x1596a6(0xa9))/0xa);if(_0x3a83f6===_0x223547)break;else _0x1fbace['push'](_0x1fbace['shift']());}catch(_0x2e460b){_0x1fbace['push'](_0x1fbace['shift']());}}}(a30_0x1ba6,0x3670c));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a30_0x5c0c(_0x51dd85,_0x167278){_0x51dd85=_0x51dd85-0x8e;const _0x1ba664=a30_0x1ba6();let _0x5c0ceb=_0x1ba664[_0x51dd85];return _0x5c0ceb;}function a30_0x1ba6(){const _0x21c9c3=['/client/knowledge-base/personal/create','trim','title','weightedScore','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','8008siszBO','read','1687SRzrfp','createTime','12635AMMKBt','string','isFinite','detail','--topk\x20must\x20be\x20a\x20positive\x20number.','63111eVRckH','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','length','432630LocpsE','appCode','scope','str','1027092JRFttZ','33498eUKLmX','version','ragStatus','write','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','flag','description','utf8','validation','Personal\x20knowledge-base\x20entry\x20title','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','query','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','POST','File\x20not\x20found:\x20','content','map','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','Search\x20query\x20is\x20required.','Personal\x20knowledge-base\x20entry\x20ID','body','Updated\x20KB\x20entry\x20','verbose','isFile','bool','6YeRQhS','updateTime','Override\x20the\x20existing\x20entry\x20title','File\x20is\x20not\x20a\x20regular\x20file:\x20','file','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','ragErrorMessage','/client/knowledge-base/personal/','270dkSWjy','topk','create','Created\x20KB\x20entry\x20','/update','File\x20path\x20is\x20required.','score','userId','search','build','num','1015665YVURqF'];a30_0x1ba6=function(){return _0x21c9c3;};return a30_0x1ba6();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':'title','type':a30_0x4dd8b6(0xbf),'required':!![],'description':a30_0x4dd8b6(0x90)},FILE_FLAG={'name':a30_0x4dd8b6(0xa5),'type':a30_0x4dd8b6(0xbf),'required':!![],'description':a30_0x4dd8b6(0x99)},QUERY_FLAG={'name':'query','type':a30_0x4dd8b6(0xbf),'required':!![],'description':a30_0x4dd8b6(0xc4)},TOPK_FLAG={'name':a30_0x4dd8b6(0xaa),'type':'number','description':a30_0x4dd8b6(0x91)};function readKnowledgeFile(_0x35f498){const _0x825e57=a30_0x4dd8b6;if(!_0x35f498)throw CliErrors[_0x825e57(0x8f)](_0x825e57(0xae));if(!existsSync(_0x35f498))throw CliErrors[_0x825e57(0x8f)](_0x825e57(0x96)+_0x35f498);if(!statSync(_0x35f498)[_0x825e57(0x9f)]())throw CliErrors['validation'](_0x825e57(0xa4)+_0x35f498);return readFileSync(_0x35f498,_0x825e57(0x8e));}function summarizePersonalItem(_0x424d24){const _0x551b17=a30_0x4dd8b6;return{'id':_0x424d24['id'],'title':_0x424d24[_0x551b17(0xb7)],'version':_0x424d24[_0x551b17(0xcc)],'ragStatus':_0x424d24[_0x551b17(0xcd)],'ragErrorMessage':_0x424d24[_0x551b17(0xa7)],'updateTime':_0x424d24['updateTime']};}function detailPersonalItem(_0x3e1e7e){const _0x156414=a30_0x4dd8b6;return{'id':_0x3e1e7e['id'],'appCode':_0x3e1e7e['appCode'],'scope':_0x3e1e7e['scope'],'userId':_0x3e1e7e[_0x156414(0xb0)],'title':_0x3e1e7e['title'],'content':_0x3e1e7e[_0x156414(0x97)]??'','version':_0x3e1e7e[_0x156414(0xcc)],'ragStatus':_0x3e1e7e[_0x156414(0xcd)],'ragErrorMessage':_0x3e1e7e['ragErrorMessage'],'createTime':_0x3e1e7e[_0x156414(0xbd)],'updateTime':_0x3e1e7e[_0x156414(0xa2)]};}function summarizeSearchHit(_0x117c3d){const _0x301e46=a30_0x4dd8b6;return{'scope':_0x117c3d[_0x301e46(0xc8)],'docId':_0x117c3d['docId'],'score':_0x117c3d[_0x301e46(0xaf)],'weightedScore':_0x117c3d[_0x301e46(0xb8)],'content':_0x117c3d[_0x301e46(0x97)],'metadata':_0x117c3d['metadata']};}function readTopK(_0x35b3c9){const _0x87f2bd=a30_0x4dd8b6,_0x1d7878=_0x35b3c9[_0x87f2bd(0xd0)](_0x87f2bd(0xaa));if(_0x1d7878===undefined||_0x1d7878===null||_0x1d7878==='')return undefined;const _0xde45d7=_0x35b3c9[_0x87f2bd(0xb3)](_0x87f2bd(0xaa));if(!Number[_0x87f2bd(0xc0)](_0xde45d7)||_0xde45d7<0x1)throw CliErrors[_0x87f2bd(0x8f)](_0x87f2bd(0xc2));return _0xde45d7;}const kbList={'service':'kb','command':'list','description':a30_0x4dd8b6(0x94),'risk':a30_0x4dd8b6(0xbb),'flags':[VERBOSE_FLAG],async 'execute'(_0x132cbe){const _0x114fe5=a30_0x4dd8b6,_0x28c0f8=await listPersonalKnowledgeBaseItems(_0x132cbe[_0x114fe5(0xc7)]);if(_0x132cbe[_0x114fe5(0xa0)](_0x114fe5(0x9e)))return{'ok':!![],'data':{'total':_0x28c0f8[_0x114fe5(0xc5)],'items':_0x28c0f8}};return{'ok':!![],'data':{'total':_0x28c0f8[_0x114fe5(0xc5)],'items':_0x28c0f8[_0x114fe5(0x98)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a30_0x4dd8b6(0xc1),'description':a30_0x4dd8b6(0xb9),'risk':a30_0x4dd8b6(0xbb),'flags':[{...ID_FLAG,'description':a30_0x4dd8b6(0x9b)}],async 'execute'(_0x327272){const _0x4a2d7a=a30_0x4dd8b6,_0x55dbb0=await getPersonalKnowledgeBaseItem(_0x327272[_0x4a2d7a(0xb3)]('id'),_0x327272[_0x4a2d7a(0xc7)]);return{'ok':!![],'data':detailPersonalItem(_0x55dbb0)};}},kbCreate={'service':'kb','command':a30_0x4dd8b6(0xab),'description':a30_0x4dd8b6(0x93),'risk':a30_0x4dd8b6(0xce),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x3d8e03){const _0x3f0b50=a30_0x4dd8b6,_0x462e17=_0x3d8e03[_0x3f0b50(0xc9)](_0x3f0b50(0xb7)),_0x1e2017=readKnowledgeFile(_0x3d8e03[_0x3f0b50(0xc9)](_0x3f0b50(0xa5))),_0x2a92f9=await createPersonalKnowledgeBaseItem(_0x3d8e03['appCode'],{'title':_0x462e17,'content':_0x1e2017});return{'ok':!![],'data':summarizePersonalItem(_0x2a92f9),'message':_0x3f0b50(0xac)+_0x2a92f9['id']+'\x20('+_0x2a92f9[_0x3f0b50(0xb7)]+')'};},async 'dryRun'(_0x18f8fc){const _0x8806b=a30_0x4dd8b6,_0x5c9b88=_0x18f8fc[_0x8806b(0xc9)]('title'),_0x70090d=readKnowledgeFile(_0x18f8fc[_0x8806b(0xc9)]('file'));return dryRun(_0x8806b(0x95),_0x8806b(0xb5))[_0x8806b(0x9c)]({'appCode':_0x18f8fc[_0x8806b(0xc7)],'title':_0x5c9b88,'content':_0x70090d})[_0x8806b(0xd1)](_0x8806b(0xa6)+_0x5c9b88+'\x22')[_0x8806b(0xb2)]();}},kbUpdate={'service':'kb','command':'update','description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a30_0x4dd8b6(0xce),'flags':[{...ID_FLAG,'description':'Personal\x20knowledge-base\x20entry\x20ID'},{...TITLE_FLAG,'required':![],'description':a30_0x4dd8b6(0xa3)},FILE_FLAG],async 'execute'(_0x5d2780){const _0xe0debb=a30_0x4dd8b6,_0x18cf2d=_0x5d2780[_0xe0debb(0xb3)]('id'),_0x14e19a=readKnowledgeFile(_0x5d2780[_0xe0debb(0xc9)](_0xe0debb(0xa5))),_0x189b60=_0x5d2780['str'](_0xe0debb(0xb7))||(await getPersonalKnowledgeBaseItem(_0x18cf2d,_0x5d2780[_0xe0debb(0xc7)]))[_0xe0debb(0xb7)],_0x304cb9=await updatePersonalKnowledgeBaseItem(_0x18cf2d,_0x5d2780[_0xe0debb(0xc7)],{'title':_0x189b60,'content':_0x14e19a});return{'ok':!![],'data':summarizePersonalItem(_0x304cb9),'message':_0xe0debb(0x9d)+_0x304cb9['id']+'\x20('+_0x304cb9[_0xe0debb(0xb7)]+')'};},async 'dryRun'(_0x5eb3ec){const _0x5406e1=a30_0x4dd8b6,_0x4ca7e6=_0x5eb3ec[_0x5406e1(0xb3)]('id'),_0x35d93d=readKnowledgeFile(_0x5eb3ec[_0x5406e1(0xc9)](_0x5406e1(0xa5))),_0x345d60=_0x5eb3ec[_0x5406e1(0xc9)](_0x5406e1(0xb7))||(await getPersonalKnowledgeBaseItem(_0x4ca7e6,_0x5eb3ec['appCode']))[_0x5406e1(0xb7)];return dryRun(_0x5406e1(0x95),_0x5406e1(0xa8)+_0x4ca7e6+_0x5406e1(0xad))['body']({'appCode':_0x5eb3ec['appCode'],'title':_0x345d60,'content':_0x35d93d})[_0x5406e1(0xd1)](_0x5406e1(0xcf)+_0x4ca7e6)[_0x5406e1(0xb2)]();}},kbSearch={'service':'kb','command':a30_0x4dd8b6(0xb1),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x5bc024){const _0x9814bd=a30_0x4dd8b6;if(!_0x5bc024[_0x9814bd(0xc9)]('query')[_0x9814bd(0xb6)]())throw CliErrors[_0x9814bd(0x8f)](_0x9814bd(0x9a));readTopK(_0x5bc024);},async 'execute'(_0x521a20){const _0x531242=a30_0x4dd8b6,_0x27ea6e=_0x521a20[_0x531242(0xc9)](_0x531242(0x92))[_0x531242(0xb6)](),_0x185a9e=readTopK(_0x521a20),_0x4497a3=await searchKnowledgeBase(_0x521a20[_0x531242(0xc7)],{'query':_0x27ea6e,'topK':_0x185a9e});return{'ok':!![],'data':{'total':_0x4497a3[_0x531242(0xc5)],'hits':_0x4497a3[_0x531242(0x98)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x5efe4f=a31_0x7189;function a31_0x1cfb(){const _0x55012c=['read','*\x20No\x20logs\x20found','240417nhxlfd','details','error','\x20\x20\x20Details:\x20','readLogs','stringify','logs','clearLogs','length','\x20\x20\x20Time:\x20','400VvVIjs','729830orxDUZ','261hhMpEC','en-US','192ynnBkw','56605NDgIxV','forEach','1025124AFrYFG','timestamp','show','log','keys','level','success','1098788ihJdFE','*\x20Logs\x20cleared','1746336oGvCQp','toLocaleString','48300tpfUiw','command','duration','write'];a31_0x1cfb=function(){return _0x55012c;};return a31_0x1cfb();}(function(_0x5d6b13,_0x327033){const _0x32474a=a31_0x7189,_0x54baae=_0x5d6b13();while(!![]){try{const _0x2f3b55=-parseInt(_0x32474a(0x1db))/0x1+-parseInt(_0x32474a(0x1f3))/0x2+-parseInt(_0x32474a(0x1f5))/0x3+parseInt(_0x32474a(0x1ec))/0x4+parseInt(_0x32474a(0x1ea))/0x5*(-parseInt(_0x32474a(0x1e9))/0x6)+parseInt(_0x32474a(0x1f7))/0x7*(-parseInt(_0x32474a(0x1e5))/0x8)+parseInt(_0x32474a(0x1e7))/0x9*(parseInt(_0x32474a(0x1e6))/0xa);if(_0x2f3b55===_0x327033)break;else _0x54baae['push'](_0x54baae['shift']());}catch(_0x32442b){_0x54baae['push'](_0x54baae['shift']());}}}(a31_0x1cfb,0x47ad9));function a31_0x7189(_0x2c998c,_0x179850){_0x2c998c=_0x2c998c-0x1d9;const _0x1cfb1a=a31_0x1cfb();let _0x71899e=_0x1cfb1a[_0x2c998c];return _0x71899e;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x217f30){const _0x7b42ef=a31_0x7189;if(_0x217f30[_0x7b42ef(0x1e3)]===0x0){console[_0x7b42ef(0x1ef)](_0x7b42ef(0x1da));return;}console[_0x7b42ef(0x1ef)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x217f30[_0x7b42ef(0x1eb)]((_0x330b3d,_0x553471)=>{const _0x2b6996=_0x7b42ef,_0x590a74=new Date(_0x330b3d[_0x2b6996(0x1ed)])[_0x2b6996(0x1f6)](_0x2b6996(0x1e8)),_0x352e51=_0x330b3d['level']===_0x2b6996(0x1f2)?'√':_0x330b3d[_0x2b6996(0x1f1)]===_0x2b6996(0x1dd)?'×':_0x330b3d[_0x2b6996(0x1f1)]==='warn'?'!':'i';console[_0x2b6996(0x1ef)](_0x553471+0x1+'.\x20'+_0x352e51+'\x20['+_0x330b3d[_0x2b6996(0x1f8)]+']\x20'+_0x330b3d['message']),console[_0x2b6996(0x1ef)](_0x2b6996(0x1e4)+_0x590a74),_0x330b3d[_0x2b6996(0x1f9)]&&console[_0x2b6996(0x1ef)]('\x20\x20\x20Duration:\x20'+_0x330b3d['duration']+'ms'),_0x330b3d[_0x2b6996(0x1dc)]&&Object[_0x2b6996(0x1f0)](_0x330b3d[_0x2b6996(0x1dc)])[_0x2b6996(0x1e3)]>0x0&&console['log'](_0x2b6996(0x1de)+JSON[_0x2b6996(0x1e0)](_0x330b3d[_0x2b6996(0x1dc)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':'logs','command':a31_0x5efe4f(0x1ee),'description':'View\x20command\x20history\x20logs','risk':a31_0x5efe4f(0x1d9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3926f3){const _0x46caf4=a31_0x5efe4f;return printLogs(logger[_0x46caf4(0x1df)]()),{'ok':!![]};}},{'service':a31_0x5efe4f(0x1e1),'command':'clear','description':'Clear\x20command\x20history\x20logs','risk':a31_0x5efe4f(0x1fa),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x46a827){const _0x4b4383=a31_0x5efe4f;return logger[_0x4b4383(0x1e2)](),console[_0x4b4383(0x1ef)](_0x4b4383(0x1f4)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x145c6e=a32_0x48e7;(function(_0x4beebe,_0x3816b6){const _0xeb3a06=a32_0x48e7,_0x5eebdb=_0x4beebe();while(!![]){try{const _0x194298=-parseInt(_0xeb3a06(0x1ef))/0x1*(parseInt(_0xeb3a06(0x1f0))/0x2)+-parseInt(_0xeb3a06(0x225))/0x3*(parseInt(_0xeb3a06(0x1ed))/0x4)+parseInt(_0xeb3a06(0x224))/0x5*(parseInt(_0xeb3a06(0x20b))/0x6)+parseInt(_0xeb3a06(0x1ec))/0x7*(-parseInt(_0xeb3a06(0x1f1))/0x8)+parseInt(_0xeb3a06(0x228))/0x9+-parseInt(_0xeb3a06(0x222))/0xa*(-parseInt(_0xeb3a06(0x214))/0xb)+parseInt(_0xeb3a06(0x1fc))/0xc;if(_0x194298===_0x3816b6)break;else _0x5eebdb['push'](_0x5eebdb['shift']());}catch(_0x3dd56f){_0x5eebdb['push'](_0x5eebdb['shift']());}}}(a32_0x2e61,0x5786d));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a32_0x145c6e(0x1ff),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1fa)},FUNCTION_NAME_FLAG={'name':a32_0x145c6e(0x21c),'type':'string','required':!![],'description':a32_0x145c6e(0x217)},DESCRIPTION_FLAG={'name':a32_0x145c6e(0x20c),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x21e)},SOURCE_SESSION_FLAG={'name':a32_0x145c6e(0x213),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1f5)};function normalizeFunctionName(_0xec6383){const _0x4bd77d=a32_0x145c6e,_0x47ab99=String(_0xec6383||'')[_0x4bd77d(0x1f7)]();if(!_0x47ab99||!FUNCTION_NAME_PATTERN['test'](_0x47ab99))throw CliErrors[_0x4bd77d(0x215)](_0x4bd77d(0x21d));return _0x47ab99;}function readScriptFile(_0x5724bb){const _0x2c1345=a32_0x145c6e;if(!_0x5724bb)throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x204));if(!existsSync(_0x5724bb))throw CliErrors[_0x2c1345(0x215)]('File\x20not\x20found:\x20'+_0x5724bb);if(!statSync(_0x5724bb)[_0x2c1345(0x1f6)]())throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x226)+_0x5724bb);const _0x786aa7=readFileSync(_0x5724bb,_0x2c1345(0x206));if(!_0x786aa7[_0x2c1345(0x1f7)]())throw CliErrors[_0x2c1345(0x215)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x786aa7;}function optionalTrimmed(_0x2491f8){const _0x1b8cef=String(_0x2491f8||'')['trim']();return _0x1b8cef||undefined;}function summarizeBff(_0x575546){const _0x17d2b8=a32_0x145c6e;return{'id':_0x575546['id'],'appCode':_0x575546[_0x17d2b8(0x201)],'functionName':_0x575546[_0x17d2b8(0x21a)],'description':_0x575546[_0x17d2b8(0x20c)],'scriptType':_0x575546[_0x17d2b8(0x207)],'version':_0x575546[_0x17d2b8(0x209)],'gmtModified':_0x575546[_0x17d2b8(0x1f3)],'updateTime':_0x575546['updateTime']};}function detailBff(_0x5ac075){const _0x2d546f=a32_0x145c6e;return{'id':_0x5ac075['id'],'appCode':_0x5ac075[_0x2d546f(0x201)],'functionName':_0x5ac075[_0x2d546f(0x21a)],'description':_0x5ac075['description'],'scriptType':_0x5ac075['scriptType'],'scriptContent':_0x5ac075[_0x2d546f(0x220)]??'','config':_0x5ac075['config'],'version':_0x5ac075['version'],'createUserId':_0x5ac075[_0x2d546f(0x203)],'gmtCreate':_0x5ac075[_0x2d546f(0x223)],'gmtModified':_0x5ac075[_0x2d546f(0x1f3)],'createTime':_0x5ac075['createTime'],'updateTime':_0x5ac075['updateTime']};}function buildCreateInput(_0x5519fd){const _0x3f27d0=a32_0x145c6e;return{'functionName':normalizeFunctionName(_0x5519fd['str'](_0x3f27d0(0x21c))),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))?{'description':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))}:{},'scriptContent':readScriptFile(_0x5519fd[_0x3f27d0(0x219)]('file')),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))?{'sourceSessionId':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))}:{}};}function a32_0x48e7(_0x11dcc3,_0x18028e){_0x11dcc3=_0x11dcc3-0x1e8;const _0x2e61f8=a32_0x2e61();let _0x48e776=_0x2e61f8[_0x11dcc3];return _0x48e776;}function buildUpdateInput(_0x44478b){const _0x11dbc5=a32_0x145c6e,_0x447f3a={};optionalTrimmed(_0x44478b['str'](_0x11dbc5(0x21c)))&&(_0x447f3a[_0x11dbc5(0x21a)]=normalizeFunctionName(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x21c))));_0x44478b['flag'](_0x11dbc5(0x20c))!==undefined&&(_0x447f3a[_0x11dbc5(0x20c)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x20c)));optionalTrimmed(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x1ff)))&&(_0x447f3a[_0x11dbc5(0x220)]=readScriptFile(_0x44478b['str']('file')));_0x44478b['flag'](_0x11dbc5(0x213))!==undefined&&(_0x447f3a[_0x11dbc5(0x202)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x213)));if(Object['keys'](_0x447f3a)[_0x11dbc5(0x1e8)]===0x0)throw CliErrors[_0x11dbc5(0x215)](_0x11dbc5(0x20d));return _0x447f3a;}function parseExecParams(_0x55eb0e){const _0x297280=a32_0x145c6e,_0x1f8708=parseJsonParams(_0x55eb0e)??{};if(Array[_0x297280(0x1f9)](_0x1f8708))throw CliErrors[_0x297280(0x215)](_0x297280(0x20e));return _0x1f8708;}function a32_0x2e61(){const _0x520a5c=['Update\x20a\x20personal\x20BFF\x20by\x20id','str','functionName','num','name','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Personal\x20BFF\x20description','body','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1157780nTxUBX','gmtCreate','5mduEcf','3ZenKQJ','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20personal\x20BFF\x20','3126672ygDNrd','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','length','/client/runtime-bff/personal/create','params','verbose','276521jzhwwx','2690376eidhuH','personal-bff','19943QfsOGD','22bqieKX','136akAZiM','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','gmtModified','map','Optional\x20source\x20RuntimeAgent\x20session\x20id','isFile','trim','create','isArray','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','17084544WPmdui','Executed\x20personal\x20BFF\x20','exec','file','string','appCode','sourceSessionId','createUserId','File\x20path\x20is\x20required.','Created\x20personal\x20BFF\x20','utf8','scriptType','write','version','read','210774htzgWc','description','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','--params\x20must\x20be\x20a\x20JSON\x20object.','build','POST','Personal\x20BFF\x20script\x20ID','high-risk-write','source-session-id','11mtYgxH','validation','/update','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'];a32_0x2e61=function(){return _0x520a5c;};return a32_0x2e61();}const personalBffList={'service':'personal-bff','command':'list','description':a32_0x145c6e(0x1fb),'risk':a32_0x145c6e(0x20a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3bc30c){const _0x3a075f=a32_0x145c6e,_0x1e02d7=await listPersonalBffs(_0x3bc30c[_0x3a075f(0x201)]);return{'ok':!![],'data':{'total':_0x1e02d7['length'],'items':_0x3bc30c['bool'](_0x3a075f(0x1eb))?_0x1e02d7:_0x1e02d7[_0x3a075f(0x1f4)](summarizeBff)}};}},personalBffDetail={'service':a32_0x145c6e(0x1ee),'command':'detail','description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a32_0x145c6e(0x20a),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)}],async 'execute'(_0x38f9d4){const _0x173ec1=a32_0x145c6e,_0x25dd71=await getPersonalBff(_0x38f9d4[_0x173ec1(0x21b)]('id'),_0x38f9d4[_0x173ec1(0x201)]);return{'ok':!![],'data':detailBff(_0x25dd71)};}},personalBffCreate={'service':a32_0x145c6e(0x1ee),'command':a32_0x145c6e(0x1f8),'description':a32_0x145c6e(0x1f2),'risk':a32_0x145c6e(0x208),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x38300d){const _0x36f7ef=a32_0x145c6e,_0x5973e8=buildCreateInput(_0x38300d),_0x2529e7=await createPersonalBff(_0x38300d[_0x36f7ef(0x201)],_0x5973e8);return{'ok':!![],'data':detailBff(_0x2529e7),'message':_0x36f7ef(0x205)+_0x2529e7['id']+(_0x2529e7['functionName']?'\x20('+_0x2529e7['functionName']+')':'')};},async 'dryRun'(_0x2ae000){const _0x3c6285=a32_0x145c6e,_0x57c074=buildCreateInput(_0x2ae000);return dryRun(_0x3c6285(0x210),_0x3c6285(0x1e9))['body']({'appCode':_0x2ae000[_0x3c6285(0x201)],..._0x57c074})[_0x3c6285(0x20c)](_0x3c6285(0x227)+_0x57c074['functionName'])[_0x3c6285(0x20f)]();}},personalBffUpdate={'service':a32_0x145c6e(0x1ee),'command':'update','description':a32_0x145c6e(0x218),'risk':a32_0x145c6e(0x208),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3cc879){const _0x1a8142=a32_0x145c6e,_0x1e6e1c=_0x3cc879['num']('id'),_0x4f4a4f=buildUpdateInput(_0x3cc879),_0xdb6933=await updatePersonalBff(_0x1e6e1c,_0x3cc879[_0x1a8142(0x201)],_0x4f4a4f);return{'ok':!![],'data':detailBff(_0xdb6933),'message':'Updated\x20personal\x20BFF\x20'+_0xdb6933['id']+(_0xdb6933['functionName']?'\x20('+_0xdb6933['functionName']+')':'')};},async 'dryRun'(_0x2a59ba){const _0x2a7bf7=a32_0x145c6e,_0x2dffbe=_0x2a59ba[_0x2a7bf7(0x21b)]('id'),_0x3cc292=buildUpdateInput(_0x2a59ba);return dryRun(_0x2a7bf7(0x210),'/client/runtime-bff/personal/'+_0x2dffbe+_0x2a7bf7(0x216))[_0x2a7bf7(0x21f)]({'appCode':_0x2a59ba[_0x2a7bf7(0x201)],..._0x3cc292})[_0x2a7bf7(0x20c)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x2dffbe)[_0x2a7bf7(0x20f)]();}},personalBffExec={'service':'personal-bff','command':a32_0x145c6e(0x1fe),'description':a32_0x145c6e(0x221),'risk':a32_0x145c6e(0x212),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...PARAMS_FLAG,'description':a32_0x145c6e(0x229)}],async 'validate'(_0x3ebcd7){const _0x3476da=a32_0x145c6e;parseExecParams(_0x3ebcd7[_0x3476da(0x219)]('params'));},async 'execute'(_0x2672e2){const _0x24a8ca=a32_0x145c6e,_0x17b473=_0x2672e2[_0x24a8ca(0x21b)]('id'),_0x53f241=parseExecParams(_0x2672e2[_0x24a8ca(0x219)](_0x24a8ca(0x1ea))),_0x51ace0=await executePersonalBff(_0x17b473,_0x2672e2[_0x24a8ca(0x201)],_0x53f241);return{'ok':!![],'data':{'result':_0x51ace0},'message':_0x24a8ca(0x1fd)+_0x17b473};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a32_0x359101=a32_0x5c71;(function(_0x18413c,_0x1613db){const _0x2fa765=a32_0x5c71,_0x5a38e4=_0x18413c();while(!![]){try{const _0x438509=parseInt(_0x2fa765(0x129))/0x1*(-parseInt(_0x2fa765(0x149))/0x2)+-parseInt(_0x2fa765(0x13b))/0x3*(-parseInt(_0x2fa765(0x15a))/0x4)+parseInt(_0x2fa765(0x130))/0x5+-parseInt(_0x2fa765(0x156))/0x6*(-parseInt(_0x2fa765(0x122))/0x7)+-parseInt(_0x2fa765(0x15d))/0x8+-parseInt(_0x2fa765(0x125))/0x9*(parseInt(_0x2fa765(0x11e))/0xa)+-parseInt(_0x2fa765(0x138))/0xb;if(_0x438509===_0x1613db)break;else _0x5a38e4['push'](_0x5a38e4['shift']());}catch(_0xb53d87){_0x5a38e4['push'](_0x5a38e4['shift']());}}}(a32_0x3ebc,0x192e6));import{existsSync,readFileSync,statSync}from'node:fs';function a32_0x3ebc(){const _0x17e2b5=['createTime','update','30RLgNpW','verbose','description','gmtModified','24jvPLHi','Updated\x20personal\x20BFF\x20','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','239888PDcDFG','50ysLVYW','File\x20is\x20not\x20a\x20regular\x20file:\x20','appCode','/update','114814pTMNor','version','validation','317754RaaNLd','exec','string','test','4520Mjmkib','isArray','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','functionName','File\x20not\x20found:\x20','createUserId','write','584580iKOHAs','utf8','Show\x20one\x20personal\x20BFF\x20by\x20id','str','updateTime','isFile','build','--params\x20must\x20be\x20a\x20JSON\x20object.','632412ZSLdRI','detail','read','88632BEekQs','body','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','Personal\x20BFF\x20script\x20ID','length','personal-bff','list','scriptType','bool','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','file','trim','config','POST','4gdbKMB','Created\x20personal\x20BFF\x20','name','num','flag','Personal\x20BFF\x20description','Personal\x20BFF\x20script\x20file\x20is\x20blank.','map','params','Preview:\x20update\x20personal\x20BFF\x20','source-session-id'];a32_0x3ebc=function(){return _0x17e2b5;};return a32_0x3ebc();}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a32_0x359101(0x145),'type':a32_0x359101(0x127),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a32_0x359101(0x14b),'type':'string','required':!![],'description':a32_0x359101(0x12b)},DESCRIPTION_FLAG={'name':'description','type':a32_0x359101(0x127),'description':a32_0x359101(0x14e)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a32_0x359101(0x127),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x264a37){const _0x2b382d=a32_0x359101,_0x263e0a=String(_0x264a37||'')[_0x2b382d(0x146)]();if(!_0x263e0a||!FUNCTION_NAME_PATTERN[_0x2b382d(0x128)](_0x263e0a))throw CliErrors[_0x2b382d(0x124)](_0x2b382d(0x144));return _0x263e0a;}function readScriptFile(_0x5320f7){const _0x5b1afb=a32_0x359101;if(!_0x5320f7)throw CliErrors[_0x5b1afb(0x124)]('File\x20path\x20is\x20required.');if(!existsSync(_0x5320f7))throw CliErrors[_0x5b1afb(0x124)](_0x5b1afb(0x12d)+_0x5320f7);if(!statSync(_0x5320f7)[_0x5b1afb(0x135)]())throw CliErrors[_0x5b1afb(0x124)](_0x5b1afb(0x11f)+_0x5320f7);const _0x4083e3=readFileSync(_0x5320f7,_0x5b1afb(0x131));if(!_0x4083e3[_0x5b1afb(0x146)]())throw CliErrors[_0x5b1afb(0x124)](_0x5b1afb(0x14f));return _0x4083e3;}function optionalTrimmed(_0x6762d7){const _0x1b3413=a32_0x359101,_0x1b7e35=String(_0x6762d7||'')[_0x1b3413(0x146)]();return _0x1b7e35||undefined;}function summarizeBff(_0x3714d8){const _0x317011=a32_0x359101;return{'id':_0x3714d8['id'],'appCode':_0x3714d8['appCode'],'functionName':_0x3714d8[_0x317011(0x12c)],'description':_0x3714d8[_0x317011(0x158)],'scriptType':_0x3714d8[_0x317011(0x142)],'version':_0x3714d8['version'],'gmtModified':_0x3714d8[_0x317011(0x159)],'updateTime':_0x3714d8['updateTime']};}function detailBff(_0xe3df63){const _0x3677c6=a32_0x359101;return{'id':_0xe3df63['id'],'appCode':_0xe3df63[_0x3677c6(0x120)],'functionName':_0xe3df63[_0x3677c6(0x12c)],'description':_0xe3df63[_0x3677c6(0x158)],'scriptType':_0xe3df63[_0x3677c6(0x142)],'scriptContent':_0xe3df63['scriptContent']??'','config':_0xe3df63[_0x3677c6(0x147)],'version':_0xe3df63[_0x3677c6(0x123)],'createUserId':_0xe3df63[_0x3677c6(0x12e)],'gmtCreate':_0xe3df63['gmtCreate'],'gmtModified':_0xe3df63[_0x3677c6(0x159)],'createTime':_0xe3df63[_0x3677c6(0x154)],'updateTime':_0xe3df63[_0x3677c6(0x134)]};}function buildCreateInput(_0x2d4711){const _0x487c6e=a32_0x359101;return{'functionName':normalizeFunctionName(_0x2d4711[_0x487c6e(0x133)](_0x487c6e(0x14b))),...optionalTrimmed(_0x2d4711[_0x487c6e(0x133)]('description'))?{'description':optionalTrimmed(_0x2d4711[_0x487c6e(0x133)](_0x487c6e(0x158)))}:{},'scriptContent':readScriptFile(_0x2d4711['str']('file')),...optionalTrimmed(_0x2d4711[_0x487c6e(0x133)](_0x487c6e(0x153)))?{'sourceSessionId':optionalTrimmed(_0x2d4711[_0x487c6e(0x133)](_0x487c6e(0x153)))}:{}};}function buildUpdateInput(_0x38ba27){const _0x37b1ea=a32_0x359101,_0x5e7594={};optionalTrimmed(_0x38ba27[_0x37b1ea(0x133)](_0x37b1ea(0x14b)))&&(_0x5e7594[_0x37b1ea(0x12c)]=normalizeFunctionName(_0x38ba27['str']('name')));_0x38ba27[_0x37b1ea(0x14d)]('description')!==undefined&&(_0x5e7594['description']=_0x38ba27[_0x37b1ea(0x133)](_0x37b1ea(0x158)));optionalTrimmed(_0x38ba27[_0x37b1ea(0x133)](_0x37b1ea(0x145)))&&(_0x5e7594['scriptContent']=readScriptFile(_0x38ba27['str'](_0x37b1ea(0x145))));_0x38ba27[_0x37b1ea(0x14d)](_0x37b1ea(0x153))!==undefined&&(_0x5e7594['sourceSessionId']=_0x38ba27[_0x37b1ea(0x133)]('source-session-id'));if(Object['keys'](_0x5e7594)[_0x37b1ea(0x13f)]===0x0)throw CliErrors[_0x37b1ea(0x124)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x5e7594;}function a32_0x5c71(_0x2b857f,_0x3a6fa8){_0x2b857f=_0x2b857f-0x11e;const _0x3ebc04=a32_0x3ebc();let _0x5c711f=_0x3ebc04[_0x2b857f];return _0x5c711f;}function parseExecParams(_0x29737d){const _0x4f6f52=a32_0x359101,_0x411125=parseJsonParams(_0x29737d)??{};if(Array[_0x4f6f52(0x12a)](_0x411125))throw CliErrors[_0x4f6f52(0x124)](_0x4f6f52(0x137));return _0x411125;}const personalBffList={'service':a32_0x359101(0x140),'command':a32_0x359101(0x141),'description':a32_0x359101(0x13d),'risk':a32_0x359101(0x13a),'flags':[VERBOSE_FLAG],async 'execute'(_0x1eca1e){const _0xd1072=a32_0x359101,_0x564863=await listPersonalBffs(_0x1eca1e['appCode']);return{'ok':!![],'data':{'total':_0x564863['length'],'items':_0x1eca1e[_0xd1072(0x143)](_0xd1072(0x157))?_0x564863:_0x564863[_0xd1072(0x150)](summarizeBff)}};}},personalBffDetail={'service':a32_0x359101(0x140),'command':a32_0x359101(0x139),'description':a32_0x359101(0x132),'risk':a32_0x359101(0x13a),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0xbd5aa3){const _0x5afe7f=a32_0x359101,_0x37d506=await getPersonalBff(_0xbd5aa3[_0x5afe7f(0x14c)]('id'),_0xbd5aa3['appCode']);return{'ok':!![],'data':detailBff(_0x37d506)};}},personalBffCreate={'service':a32_0x359101(0x140),'command':'create','description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a32_0x359101(0x12f),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4e7a6b){const _0x362e82=a32_0x359101,_0xe9fa34=buildCreateInput(_0x4e7a6b),_0x504a58=await createPersonalBff(_0x4e7a6b['appCode'],_0xe9fa34);return{'ok':!![],'data':detailBff(_0x504a58),'message':_0x362e82(0x14a)+_0x504a58['id']+(_0x504a58['functionName']?'\x20('+_0x504a58[_0x362e82(0x12c)]+')':'')};},async 'dryRun'(_0xcc92e7){const _0x17e17e=a32_0x359101,_0xf88d6e=buildCreateInput(_0xcc92e7);return dryRun(_0x17e17e(0x148),'/client/runtime-bff/personal/create')[_0x17e17e(0x13c)]({'appCode':_0xcc92e7['appCode'],..._0xf88d6e})[_0x17e17e(0x158)]('Preview:\x20create\x20personal\x20BFF\x20'+_0xf88d6e['functionName'])['build']();}},personalBffUpdate={'service':a32_0x359101(0x140),'command':a32_0x359101(0x155),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':'write','flags':[{...ID_FLAG,'description':a32_0x359101(0x13e)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x486261){const _0x49d192=a32_0x359101,_0x522a35=_0x486261[_0x49d192(0x14c)]('id'),_0x3ba19e=buildUpdateInput(_0x486261),_0x121f10=await updatePersonalBff(_0x522a35,_0x486261[_0x49d192(0x120)],_0x3ba19e);return{'ok':!![],'data':detailBff(_0x121f10),'message':_0x49d192(0x15b)+_0x121f10['id']+(_0x121f10['functionName']?'\x20('+_0x121f10[_0x49d192(0x12c)]+')':'')};},async 'dryRun'(_0x5cf7e3){const _0x2e3357=a32_0x359101,_0x39c782=_0x5cf7e3[_0x2e3357(0x14c)]('id'),_0x1172bc=buildUpdateInput(_0x5cf7e3);return dryRun('POST','/client/runtime-bff/personal/'+_0x39c782+_0x2e3357(0x121))[_0x2e3357(0x13c)]({'appCode':_0x5cf7e3[_0x2e3357(0x120)],..._0x1172bc})[_0x2e3357(0x158)](_0x2e3357(0x152)+_0x39c782)[_0x2e3357(0x136)]();}},personalBffExec={'service':a32_0x359101(0x140),'command':a32_0x359101(0x126),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':'high-risk-write','flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a32_0x359101(0x15c)}],async 'validate'(_0x13fd61){const _0x58821f=a32_0x359101;parseExecParams(_0x13fd61['str'](_0x58821f(0x151)));},async 'execute'(_0x4a5509){const _0x9f2be9=a32_0x359101,_0x30e2a2=_0x4a5509[_0x9f2be9(0x14c)]('id'),_0x372b18=parseExecParams(_0x4a5509[_0x9f2be9(0x133)](_0x9f2be9(0x151))),_0x235cbc=await executePersonalBff(_0x30e2a2,_0x4a5509[_0x9f2be9(0x120)],_0x372b18);return{'ok':!![],'data':{'result':_0x235cbc},'message':'Executed\x20personal\x20BFF\x20'+_0x30e2a2};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a33_0x5c5ec5=a33_0x19fc;(function(_0x3c212c,_0xeaaa7a){const _0x4b9ae1=a33_0x19fc,_0x166fb3=_0x3c212c();while(!![]){try{const _0x26d20d=parseInt(_0x4b9ae1(0xd5))/0x1*(-parseInt(_0x4b9ae1(0xb8))/0x2)+parseInt(_0x4b9ae1(0xb4))/0x3+parseInt(_0x4b9ae1(0xd7))/0x4*(parseInt(_0x4b9ae1(0xc7))/0x5)+-parseInt(_0x4b9ae1(0xcb))/0x6+-parseInt(_0x4b9ae1(0xda))/0x7*(-parseInt(_0x4b9ae1(0xd1))/0x8)+parseInt(_0x4b9ae1(0xd6))/0x9+-parseInt(_0x4b9ae1(0xba))/0xa*(-parseInt(_0x4b9ae1(0xae))/0xb);if(_0x26d20d===_0xeaaa7a)break;else _0x166fb3['push'](_0x166fb3['shift']());}catch(_0x46caa9){_0x166fb3['push'](_0x166fb3['shift']());}}}(a33_0x5ea4,0xf290c));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';function a33_0x5ea4(){const _0x49e955=['from','3467115DQNqsM','get','Configuration','command','11354694jqoipT','service','set','values','Skills','Diagnostics','27128wRJRna','BFF\x20Scripts','push','Instant\x20API','209JvREyM','10173123LmhNJj','8ZBipxP','API\x20Documentation','Personal\x20BFF','42ypHTfm','Datasets','login','list','99JTxtLM','\x20\x20[high-risk-write]','isSingleCommand','install','Runtime\x20App\x20Config','write','256257klFHur','Schema','Logs','map','14386BvwsXH','run','1962640ElgxlF','Workspace','SQL\x20Queries','has','App\x20Management','description','CLI\x20Built-in\x20Skill','read','defaultCommand','Service\x20Tree','Artifacts','Knowledge\x20Base'];a33_0x5ea4=function(){return _0x49e955;};return a33_0x5ea4();}import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x34a1b6){const _0x1fa2e0=a33_0x19fc;for(const _0x4c5d43 of _0x34a1b6){definitions[_0x1fa2e0(0xcd)](_0x4c5d43['service']+':'+_0x4c5d43[_0x1fa2e0(0xca)],_0x4c5d43);let _0x3f832f=serviceGroups[_0x1fa2e0(0xc8)](_0x4c5d43[_0x1fa2e0(0xcc)]);!_0x3f832f&&(_0x3f832f=[],serviceGroups['set'](_0x4c5d43[_0x1fa2e0(0xcc)],_0x3f832f)),_0x3f832f[_0x1fa2e0(0xd3)](_0x4c5d43);}}function registerService(_0xa6aa5a,_0x13ae0a,_0x1c1e3b){const _0x3a80f0=a33_0x19fc;registerDefinitions(_0x13ae0a);const _0x139540=_0x2ad9c0=>_0x2ad9c0===_0x3a80f0(0xc1)?'':_0x2ad9c0===_0x3a80f0(0xb3)?'\x20\x20[write]':_0x3a80f0(0xaf),_0x26d868={'service':_0x13ae0a[0x0]['service'],'label':_0xa6aa5a,'commands':_0x13ae0a[_0x3a80f0(0xb7)](_0xb3ea63=>({'command':_0xb3ea63[_0x3a80f0(0xca)],'description':_0xb3ea63[_0x3a80f0(0xbf)],'tag':_0x139540(_0xb3ea63['risk'])})),'defaultCommand':_0x1c1e3b?.[_0x3a80f0(0xc2)]??(_0x1c1e3b?.[_0x3a80f0(0xb0)]?_0x13ae0a[0x0]['command']:undefined),'isSingleCommand':_0x1c1e3b?.[_0x3a80f0(0xb0)]};serviceRegistry[_0x3a80f0(0xd3)](_0x26d868),serviceByName['set'](_0x26d868[_0x3a80f0(0xcc)],_0x26d868);}function a33_0x19fc(_0x94eadb,_0x102252){_0x94eadb=_0x94eadb-0xac;const _0x5ea49a=a33_0x5ea4();let _0x19fc27=_0x5ea49a[_0x94eadb];return _0x19fc27;}registerService('Authentication',authDefinitions,{'defaultCommand':a33_0x5c5ec5(0xac)}),registerService(a33_0x5c5ec5(0xbe),appDefinitions,{'defaultCommand':a33_0x5c5ec5(0xad)}),registerService(a33_0x5c5ec5(0xbb),workspaceDefinitions),registerService(a33_0x5c5ec5(0xb2),appConfigDefinitions),registerService(a33_0x5c5ec5(0xc9),configDefinitions,{'defaultCommand':'list'}),registerService(a33_0x5c5ec5(0xd8),apiDocDefinitions),registerService(a33_0x5c5ec5(0xdb),datasetDefinitions),registerService(a33_0x5c5ec5(0xd4),dataDefinitions),registerService(a33_0x5c5ec5(0xbc),sqlDefinitions),registerService(a33_0x5c5ec5(0xd2),bffDefinitions),registerService(a33_0x5c5ec5(0xd9),personalBffDefinitions),registerService(a33_0x5c5ec5(0xc4),artifactDefinitions),registerService(a33_0x5c5ec5(0xc5),kbDefinitions),registerService(a33_0x5c5ec5(0xc3),serviceDefinitions,{'defaultCommand':'list'}),registerService(a33_0x5c5ec5(0xcf),skillDefinitions,{'defaultCommand':a33_0x5c5ec5(0xb1)}),registerService(a33_0x5c5ec5(0xc0),cliSkillDefinitions,{'defaultCommand':a33_0x5c5ec5(0xb1)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a33_0x5c5ec5(0xb9),'isSingleCommand':!![]}),registerService(a33_0x5c5ec5(0xd0),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a33_0x5c5ec5(0xb5),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a33_0x5c5ec5(0xb6),logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x1c3b60,_0x459db0){const _0x448499=a33_0x5c5ec5;return definitions[_0x448499(0xc8)](_0x1c3b60+':'+_0x459db0);}export function isKnownService(_0x4d5c2f){const _0x1961a4=a33_0x5c5ec5;return serviceByName[_0x1961a4(0xbd)](_0x4d5c2f);}export function getServiceEntry(_0x3f46f6){const _0x39603c=a33_0x5c5ec5;return serviceByName[_0x39603c(0xc8)](_0x3f46f6);}export function getAllDefinitions(){const _0x51f5e4=a33_0x5c5ec5;return Array[_0x51f5e4(0xc6)](definitions[_0x51f5e4(0xce)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a34_0x1e8c(_0x346cde,_0x5e5de2){_0x346cde=_0x346cde-0xab;const _0x4f4fbb=a34_0x4f4f();let _0x1e8cb0=_0x4f4fbb[_0x346cde];return _0x1e8cb0;}const a34_0x3b5d77=a34_0x1e8c;(function(_0x3217d9,_0x544597){const _0x102cff=a34_0x1e8c,_0x5c4ea5=_0x3217d9();while(!![]){try{const _0xbbed24=parseInt(_0x102cff(0xb8))/0x1+parseInt(_0x102cff(0xb2))/0x2+-parseInt(_0x102cff(0xb3))/0x3+parseInt(_0x102cff(0xad))/0x4+parseInt(_0x102cff(0xb4))/0x5*(-parseInt(_0x102cff(0xac))/0x6)+parseInt(_0x102cff(0xb6))/0x7*(-parseInt(_0x102cff(0xb0))/0x8)+-parseInt(_0x102cff(0xaf))/0x9*(-parseInt(_0x102cff(0xb1))/0xa);if(_0xbbed24===_0x544597)break;else _0x5c4ea5['push'](_0x5c4ea5['shift']());}catch(_0x49119c){_0x5c4ea5['push'](_0x5c4ea5['shift']());}}}(a34_0x4f4f,0xaaf7b));function a34_0x4f4f(){const _0x3f319c=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','6890094KVvJrY','1384Lfuuwn','30vAhFBu','703320ZFsYzb','2830569DUjbWn','419220lTOlXe','export','52661dXFMBg','schema','718986PrYzlH','read','48urFIFH','994772ChJtcg'];a34_0x4f4f=function(){return _0x3f319c;};return a34_0x4f4f();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4d36f5){const _0x373450=await buildSchemaPayload();return{'ok':!![],'data':_0x373450};}export const schemaDefinition={'service':a34_0x3b5d77(0xb7),'command':a34_0x3b5d77(0xb5),'description':a34_0x3b5d77(0xae),'risk':a34_0x3b5d77(0xab),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1c44aa,_0x262793){const _0x51010b=a35_0x4167,_0x373b07=_0x1c44aa();while(!![]){try{const _0x5e3978=parseInt(_0x51010b(0x1e0))/0x1+parseInt(_0x51010b(0x1ca))/0x2+parseInt(_0x51010b(0x18b))/0x3+-parseInt(_0x51010b(0x181))/0x4*(parseInt(_0x51010b(0x1b5))/0x5)+parseInt(_0x51010b(0x1bf))/0x6+parseInt(_0x51010b(0x1a1))/0x7*(parseInt(_0x51010b(0x1b4))/0x8)+-parseInt(_0x51010b(0x1c5))/0x9;if(_0x5e3978===_0x262793)break;else _0x373b07['push'](_0x373b07['shift']());}catch(_0x249dbb){_0x373b07['push'](_0x373b07['shift']());}}}(a35_0x4fc1,0x8e292));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';function a35_0x4fc1(){const _0x143c0a=['description','\x22\x20in\x20service\x20command\x20','6541686QknnUa','appCode','fromEntries','cliPath','context.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','19533591NUoiAT','\x20\x20[','filter','datasetCode','sqlCode','1271426Qijmad','appcode','\x20->\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','padEnd','Unsupported\x20service\x20target\x20kind:\x20','loginName','dbtableConfig','map','params','appBindings','const','flatMap','\x20\x20\x20\x20command:\x20','source','\x20\x20MAP\x20TO','service','username','Service\x20command\x20','slice','target','204751mkTdTn','\x20requires\x20target.sqlCode.','8qLyRGZ','some','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','bffCode','app','code','tree','\x20\x20\x20\x20sqlCode:\x20','tenantCode','envName','1666581LvrIRu','read','kind','appRef','type','validation','mapTo','userId','employeeId','Unknown\x20appRef\x20\x22','nickName','push','\x20service\x20detail\x20--service\x20','remainingArgs','scriptName','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20requires\x20target.scriptName.','data','datatable','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20\x20\x20datasetCode:\x20','7bgjOaz','json','args','operator','commands','\x20<command>\x20[flags]','enum','userName','\x20\x20SERVICE\x20TREE\x20TARGET','bffId','join','command','Run\x20service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','string','SERVICE_TREE','\x20completed\x20in\x20','bff','cliName','6691144FMcSNA','1424940MPkrrn','now','required','length','name','risk','find','env'];a35_0x4fc1=function(){return _0x143c0a;};return a35_0x4fc1();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x41bb07,_0x4345df){const _0x3744a5=a35_0x4167,_0x42728e=listLocalServiceTrees();let _0x52eb44;for(const _0x53176c of _0x42728e){const _0xe4debb=matchServiceTreeCommand(_0x53176c,_0x41bb07);if(!_0xe4debb)continue;(!_0x52eb44||_0xe4debb[_0x3744a5(0x1ac)][_0x3744a5(0x19a)][_0x3744a5(0x1b8)]>_0x52eb44['command'][_0x3744a5(0x19a)][_0x3744a5(0x1b8)])&&(_0x52eb44={'tree':_0x53176c,'command':_0xe4debb[_0x3744a5(0x1ac)],'remainingArgs':_0xe4debb['remainingArgs']});}if(!_0x52eb44)return undefined;const _0x2fb8c3={..._0x4345df};return applyAppBinding(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)],_0x2fb8c3),{'definition':buildDynamicCommandDefinition(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)]),'args':_0x52eb44[_0x3744a5(0x198)],'flags':_0x2fb8c3,'tree':_0x52eb44[_0x3744a5(0x187)],'command':_0x52eb44[_0x3744a5(0x1ac)]};}function a35_0x4167(_0x9db546,_0x10507c){_0x9db546=_0x9db546-0x181;const _0x4fc1dc=a35_0x4fc1();let _0x4167a9=_0x4fc1dc[_0x9db546];return _0x4167a9;}export function generateDynamicServiceHelp(_0x170f08){const _0x3b2d9e=a35_0x4167,_0x4372e8=listLocalServiceTrees()[_0x3b2d9e(0x1bb)](_0x42268b=>_0x42268b['service']['code']===_0x170f08);if(!_0x4372e8)return undefined;const _0x179a9c=[CLI_BIN_NAME+'\x20'+_0x170f08+_0x3b2d9e(0x1a6),'',_0x4372e8['service'][_0x3b2d9e(0x1b9)]||_0x170f08,_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]?'\x20\x20'+_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]:'','','Commands:',..._0x4372e8[_0x3b2d9e(0x1a5)][_0x3b2d9e(0x1d3)](_0x5d5bad=>{const _0x416857=_0x3b2d9e,_0x16eacf=_0x5d5bad[_0x416857(0x19a)][_0x416857(0x1de)](0x1)[_0x416857(0x1ab)]('\x20'),_0x5ae609=_0x5d5bad[_0x416857(0x1ba)]===_0x416857(0x18c)?'':'\x20['+_0x5d5bad[_0x416857(0x1ba)]+']';return'\x20\x20'+_0x16eacf[_0x416857(0x1cf)](0x18)+'\x20'+(_0x5d5bad[_0x416857(0x1bd)]||'')+_0x5ae609;}),'','Use\x20`'+CLI_BIN_NAME+_0x3b2d9e(0x197)+_0x170f08+_0x3b2d9e(0x19b)][_0x3b2d9e(0x1c7)](Boolean);return _0x179a9c[_0x3b2d9e(0x1ab)]('\x0a');}export function listDynamicServiceEntries(){const _0x36197a=a35_0x4167;return listLocalServices()[_0x36197a(0x1d3)](_0x3589e8=>{const _0x1645dc=_0x36197a,_0x524121=_0x3589e8['normalizedManifest'];return{'service':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'label':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x1b9)]||_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'commands':_0x524121[_0x1645dc(0x1a5)]['map'](_0x3f9621=>({'command':dynamicCommandName(_0x3f9621),'description':_0x3f9621[_0x1645dc(0x1bd)]||_0x1645dc(0x1ad)+_0x3f9621[_0x1645dc(0x1c2)],'tag':riskTag(_0x3f9621['risk'])}))};});}export function getDynamicServiceEntry(_0x19e61b){const _0x5816b4=a35_0x4167;return listDynamicServiceEntries()[_0x5816b4(0x1bb)](_0x18a904=>_0x18a904[_0x5816b4(0x1db)]===_0x19e61b);}export function listDynamicServiceDefinitions(_0x161851){const _0x3e2980=a35_0x4167;return listLocalServiceTrees()[_0x3e2980(0x1c7)](_0x16f334=>!_0x161851||_0x16f334['service'][_0x3e2980(0x186)]===_0x161851)[_0x3e2980(0x1d7)](_0x7dd6ba=>_0x7dd6ba[_0x3e2980(0x1a5)][_0x3e2980(0x1d3)](_0x37a83b=>buildDynamicCommandDefinition(_0x7dd6ba,_0x37a83b)));}export function getDynamicServiceDefinitions(_0x15a22e){const _0x4c0847=a35_0x4167,_0x2fa89c=listDynamicServiceDefinitions(_0x15a22e);return _0x2fa89c[_0x4c0847(0x1b8)]>0x0?_0x2fa89c:undefined;}export function findDynamicServiceDefinition(_0x3708fc,_0x3b0cd7){const _0x5cb27c=a35_0x4167;return listDynamicServiceDefinitions(_0x3708fc)[_0x5cb27c(0x1bb)](_0x4125cc=>_0x4125cc[_0x5cb27c(0x1ac)]===_0x3b0cd7);}export function buildDynamicCommandDefinition(_0x3e9812,_0x36bc53){const _0x53df52=a35_0x4167;return{'service':_0x3e9812['service'][_0x53df52(0x186)],'command':dynamicCommandName(_0x36bc53),'description':_0x36bc53['description']||_0x53df52(0x1ad)+_0x36bc53[_0x53df52(0x1c2)],'risk':_0x36bc53[_0x53df52(0x1ba)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x36bc53[_0x53df52(0x1a3)][_0x53df52(0x1d3)](_0x2d8069=>({'name':_0x2d8069[_0x53df52(0x1b9)],'description':_0x2d8069['description']||_0x2d8069['name'],'required':_0x2d8069[_0x53df52(0x1b7)]})),'flags':_0x36bc53['flags'][_0x53df52(0x1d3)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x36bc53),async 'dryRun'(_0x57b632){const _0x15a42b=_0x53df52,_0x1c8885=await compilePlan(_0x36bc53,_0x57b632);return{'method':_0x15a42b(0x1b0),'url':_0x36bc53[_0x15a42b(0x1c2)],'body':{'target':targetPreview(_0x1c8885),'params':_0x1c8885['params']},'description':_0x15a42b(0x1ae)+_0x36bc53[_0x15a42b(0x1c2)]};},async 'execute'(_0x15b79e){const _0x5eb950=_0x53df52,_0x5e9ff2=await compilePlan(_0x36bc53,_0x15b79e),_0x556b28=Date[_0x5eb950(0x1b6)](),_0x33a817=await executePlan(_0x5e9ff2,_0x36bc53,_0x15b79e),_0x53345c=Date[_0x5eb950(0x1b6)]()-_0x556b28;return{'ok':!![],'data':{'service':_0x3e9812['service'],'command':_0x36bc53[_0x5eb950(0x1c2)],'target':targetPreview(_0x5e9ff2),'result':_0x33a817,'elapsed':_0x53345c},'message':_0x5eb950(0x1dd)+_0x36bc53[_0x5eb950(0x1c2)]+_0x5eb950(0x1b1)+_0x53345c+'ms'};}};}function dynamicCommandName(_0x2ff795){const _0x25f5c2=a35_0x4167;return _0x2ff795[_0x25f5c2(0x19a)][_0x25f5c2(0x1de)](0x1)[_0x25f5c2(0x1ab)]('\x20');}function riskTag(_0x32fcf6){const _0x2e8617=a35_0x4167;return _0x32fcf6===_0x2e8617(0x18c)?'':_0x2e8617(0x1c6)+_0x32fcf6+']';}function flagToCommandFlag(_0x192ad8){const _0x7f7e3d=a35_0x4167;return{'name':_0x192ad8[_0x7f7e3d(0x1b3)],'type':_0x192ad8[_0x7f7e3d(0x18f)]===_0x7f7e3d(0x1a2)?_0x7f7e3d(0x1af):_0x192ad8[_0x7f7e3d(0x18f)],'description':_0x192ad8[_0x7f7e3d(0x1bd)]||_0x192ad8[_0x7f7e3d(0x1b9)],'required':_0x192ad8[_0x7f7e3d(0x1b7)],'default':isPrimitiveFlagDefault(_0x192ad8['default'])?_0x192ad8['default']:undefined,'enum':_0x192ad8[_0x7f7e3d(0x1a7)]};}async function compilePlan(_0x328e05,_0x72328e){return compileServiceTreeCommand(_0x328e05,{'flags':_0x72328e['rawFlags'],'args':_0x72328e['args'],'context':await buildServiceContext(_0x328e05,_0x72328e)});}async function buildServiceContext(_0x18ecc5,_0x29b3cf){const _0x5d45fc=a35_0x4167,_0x3d01c1={'appCode':_0x29b3cf[_0x5d45fc(0x1c0)],'env':_0x29b3cf[_0x5d45fc(0x18a)],'envName':_0x29b3cf[_0x5d45fc(0x18a)]};if(!usesRuntimeContext(_0x18ecc5))return _0x3d01c1;const _0x2def9f=await getLoginUserInfo(),_0x2a278f=pickFirst(_0x2def9f[_0x5d45fc(0x192)],_0x2def9f['id']);return{..._0x3d01c1,'user':_0x2def9f,'userId':_0x2a278f,'id':_0x2def9f['id'],'username':pickFirst(_0x2def9f[_0x5d45fc(0x1dc)],_0x2def9f[_0x5d45fc(0x1a8)],_0x2def9f[_0x5d45fc(0x1d1)]),'userName':_0x2def9f[_0x5d45fc(0x1a8)],'nickname':pickFirst(_0x2def9f['nickname'],_0x2def9f[_0x5d45fc(0x195)]),'nickName':_0x2def9f[_0x5d45fc(0x195)],'tenantCode':_0x2def9f[_0x5d45fc(0x189)],'employeeId':_0x2def9f[_0x5d45fc(0x193)]};}function usesRuntimeContext(_0x34ec4e){const _0x102021=a35_0x4167;return _0x34ec4e['mapTo'][_0x102021(0x182)](_0x1707d3=>typeof _0x1707d3['source']===_0x102021(0x1af)&&(_0x1707d3[_0x102021(0x1d9)]['startsWith'](_0x102021(0x1c3))||_0x1707d3[_0x102021(0x1d9)]['startsWith']('ctx.')));}function pickFirst(..._0x1f1fc6){const _0x33baaf=a35_0x4167;return _0x1f1fc6[_0x33baaf(0x1bb)](_0x37843f=>_0x37843f!==undefined&&_0x37843f!==null);}async function executePlan(_0x12f480,_0x4fb1d5,_0x2c1cfe){const _0x2c63b0=a35_0x4167;if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x19d)){const _0xb6b8d6=await resolveDatasetCode(_0x12f480,_0x4fb1d5,_0x2c1cfe);return executeData(_0xb6b8d6,_0x12f480[_0x2c63b0(0x1ac)],_0x12f480[_0x2c63b0(0x1d4)]);}if(_0x12f480[_0x2c63b0(0x18d)]==='sql'){if(!_0x12f480[_0x2c63b0(0x1c9)])throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5['cliPath']+_0x2c63b0(0x1e1));return executeSdkSql(_0x12f480['sqlCode'],normalizeScalarParams(_0x12f480[_0x2c63b0(0x1d4)]));}if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x1b2)){const _0x15db56=_0x12f480[_0x2c63b0(0x199)]||_0x12f480[_0x2c63b0(0x184)]||(_0x12f480['bffId']==null?'':String(_0x12f480[_0x2c63b0(0x1aa)]));if(!_0x15db56)throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5[_0x2c63b0(0x1c2)]+_0x2c63b0(0x19c));return executeSdkBff(_0x15db56,_0x12f480[_0x2c63b0(0x1d4)]);}throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1d0)+_0x12f480[_0x2c63b0(0x18d)]);}async function resolveDatasetCode(_0x2918e7,_0x844183,_0x507fc7){const _0x5747f2=a35_0x4167;if(_0x2918e7['datasetCode'])return _0x2918e7[_0x5747f2(0x1c8)];if(!_0x2918e7['datatable'])throw CliErrors[_0x5747f2(0x190)](_0x5747f2(0x1dd)+_0x844183[_0x5747f2(0x1c2)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x51dd06=await listDatasets(_0x507fc7[_0x5747f2(0x1c0)]),_0x1ff913=_0x51dd06['find'](_0x4adcc7=>_0x4adcc7[_0x5747f2(0x1d2)]?.['tableName']===_0x2918e7[_0x5747f2(0x19e)]);if(!_0x1ff913?.[_0x5747f2(0x186)])throw CliErrors[_0x5747f2(0x190)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2918e7['datatable']+_0x5747f2(0x183)+_0x507fc7[_0x5747f2(0x1c0)]+'.',_0x5747f2(0x1cd));return _0x1ff913[_0x5747f2(0x186)];}function applyAppBinding(_0x5392d7,_0x49b7c9,_0x59bc64){const _0x29a92d=a35_0x4167,_0x4dbf01=_0x49b7c9['target'][_0x29a92d(0x18e)];if(!_0x4dbf01)return;const _0x32ab73=_0x5392d7[_0x29a92d(0x1d5)][_0x4dbf01];if(!_0x32ab73)throw CliErrors[_0x29a92d(0x190)](_0x29a92d(0x194)+_0x4dbf01+_0x29a92d(0x1be)+_0x49b7c9['cliPath']+'.',_0x29a92d(0x19f));const _0x4d4c7a=_0x32ab73[_0x29a92d(0x1cb)]||_0x32ab73[_0x29a92d(0x1c0)];_0x4d4c7a&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64['appcode']=_0x4d4c7a),_0x32ab73[_0x29a92d(0x185)]&&!hasText(_0x59bc64[_0x29a92d(0x185)])&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64[_0x29a92d(0x185)]=_0x32ab73[_0x29a92d(0x185)]),_0x32ab73[_0x29a92d(0x1bc)]&&!hasText(_0x59bc64[_0x29a92d(0x1bc)])&&(_0x59bc64[_0x29a92d(0x1bc)]=_0x32ab73[_0x29a92d(0x1bc)]);}function renderDynamicCommandHelp(_0x482504){const _0x4572e3=a35_0x4167,_0x479479=[_0x4572e3(0x1a9),_0x4572e3(0x1c4)+_0x482504[_0x4572e3(0x1df)]['kind'],_0x4572e3(0x1d8)+_0x482504[_0x4572e3(0x1df)]['command']];if(_0x482504['target'][_0x4572e3(0x1c8)])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x1a0)+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x1c8)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)])_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20datatable:\x20'+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)]);if(_0x482504[_0x4572e3(0x1df)]['sqlCode'])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x188)+_0x482504['target'][_0x4572e3(0x1c9)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x199)])_0x479479['push']('\x20\x20\x20\x20scriptName:\x20'+_0x482504['target'][_0x4572e3(0x199)]);if(_0x482504[_0x4572e3(0x191)][_0x4572e3(0x1b8)]>0x0){_0x479479['push']('',_0x4572e3(0x1da));for(const _0x35c8e7 of _0x482504[_0x4572e3(0x191)]){_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20'+(_0x35c8e7['source']||_0x4572e3(0x1d6))+_0x4572e3(0x1cc)+_0x35c8e7['target']+(_0x35c8e7[_0x4572e3(0x1a4)]?'.'+_0x35c8e7['operator']:''));}}return _0x479479[_0x4572e3(0x1ab)]('\x0a');}function targetPreview(_0x41f789){const _0x397c5d=a35_0x4167;return{'kind':_0x41f789[_0x397c5d(0x18d)],'command':_0x41f789['command'],'appRef':_0x41f789[_0x397c5d(0x18e)],'datasetCode':_0x41f789[_0x397c5d(0x1c8)],'datatable':_0x41f789[_0x397c5d(0x19e)],'sqlCode':_0x41f789[_0x397c5d(0x1c9)],'bffCode':_0x41f789[_0x397c5d(0x184)],'bffId':_0x41f789['bffId'],'scriptName':_0x41f789[_0x397c5d(0x199)]};}function normalizeScalarParams(_0x1f404f){const _0xe46eee=a35_0x4167;return Object[_0xe46eee(0x1c1)](Object['entries'](_0x1f404f)[_0xe46eee(0x1c7)](([,_0x34d1aa])=>typeof _0x34d1aa===_0xe46eee(0x1af)||typeof _0x34d1aa==='number'));}function hasText(_0x51b202){const _0x1bf083=a35_0x4167;return typeof _0x51b202===_0x1bf083(0x1af)&&_0x51b202['trim']()[_0x1bf083(0x1b8)]>0x0;}function isPrimitiveFlagDefault(_0x17b451){const _0x26ce4a=a35_0x4167;return _0x17b451===undefined||typeof _0x17b451===_0x26ce4a(0x1af)||typeof _0x17b451===_0x26ce4a(0x1ce)||typeof _0x17b451==='boolean';}
|
|
1
|
+
(function(_0x483d41,_0x1feb00){const _0x350c78=a35_0x5d6f,_0xbbc9ed=_0x483d41();while(!![]){try{const _0x198114=parseInt(_0x350c78(0x1c9))/0x1+-parseInt(_0x350c78(0x19a))/0x2*(-parseInt(_0x350c78(0x19e))/0x3)+parseInt(_0x350c78(0x197))/0x4+parseInt(_0x350c78(0x1ad))/0x5*(parseInt(_0x350c78(0x1cd))/0x6)+-parseInt(_0x350c78(0x18a))/0x7+parseInt(_0x350c78(0x1a3))/0x8+-parseInt(_0x350c78(0x199))/0x9*(-parseInt(_0x350c78(0x19b))/0xa);if(_0x198114===_0x1feb00)break;else _0xbbc9ed['push'](_0xbbc9ed['shift']());}catch(_0x261b4a){_0xbbc9ed['push'](_0xbbc9ed['shift']());}}}(a35_0x590b,0x30692));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(_0x443899,_0x27a772){const _0xa9e5f=a35_0x5d6f,_0x1c081a=listLocalServiceTrees();let _0x160fea;for(const _0x1ec46d of _0x1c081a){const _0x2a642f=matchServiceTreeCommand(_0x1ec46d,_0x443899);if(!_0x2a642f)continue;(!_0x160fea||_0x2a642f['command'][_0xa9e5f(0x1a0)][_0xa9e5f(0x17b)]>_0x160fea[_0xa9e5f(0x1a6)][_0xa9e5f(0x1a0)][_0xa9e5f(0x17b)])&&(_0x160fea={'tree':_0x1ec46d,'command':_0x2a642f[_0xa9e5f(0x1a6)],'remainingArgs':_0x2a642f[_0xa9e5f(0x1c8)]});}if(!_0x160fea)return undefined;const _0xde51b8={..._0x27a772};return applyAppBinding(_0x160fea[_0xa9e5f(0x1df)],_0x160fea[_0xa9e5f(0x1a6)],_0xde51b8),{'definition':buildDynamicCommandDefinition(_0x160fea[_0xa9e5f(0x1df)],_0x160fea['command']),'args':_0x160fea[_0xa9e5f(0x1c8)],'flags':_0xde51b8,'tree':_0x160fea[_0xa9e5f(0x1df)],'command':_0x160fea[_0xa9e5f(0x1a6)]};}export function generateDynamicServiceHelp(_0x55cfbd){const _0x3c39c0=a35_0x5d6f,_0x733c7=listLocalServiceTrees()[_0x3c39c0(0x17f)](_0x46a24c=>_0x46a24c[_0x3c39c0(0x185)][_0x3c39c0(0x1ae)]===_0x55cfbd);if(!_0x733c7)return undefined;const _0x373e44=[CLI_BIN_NAME+'\x20'+_0x55cfbd+_0x3c39c0(0x1bc),'',_0x733c7[_0x3c39c0(0x185)][_0x3c39c0(0x1d4)]||_0x55cfbd,_0x733c7[_0x3c39c0(0x185)][_0x3c39c0(0x1b0)]?'\x20\x20'+_0x733c7[_0x3c39c0(0x185)]['description']:'','',_0x3c39c0(0x187),..._0x733c7['commands'][_0x3c39c0(0x1e0)](_0x49e2f0=>{const _0x24abef=_0x3c39c0,_0x3ea91f=_0x49e2f0[_0x24abef(0x1a0)][_0x24abef(0x1c2)](0x1)[_0x24abef(0x181)]('\x20'),_0x116aac=_0x49e2f0[_0x24abef(0x179)]===_0x24abef(0x1b9)?'':'\x20['+_0x49e2f0[_0x24abef(0x179)]+']';return'\x20\x20'+_0x3ea91f[_0x24abef(0x1b7)](0x18)+'\x20'+(_0x49e2f0[_0x24abef(0x1b0)]||'')+_0x116aac;}),'',_0x3c39c0(0x1a7)+CLI_BIN_NAME+_0x3c39c0(0x190)+_0x55cfbd+_0x3c39c0(0x1a1)][_0x3c39c0(0x1d7)](Boolean);return _0x373e44['join']('\x0a');}export function listDynamicServiceEntries(){const _0x3f39f9=a35_0x5d6f;return listLocalServices()[_0x3f39f9(0x1e0)](_0x337abe=>{const _0x3ddb2c=_0x3f39f9,_0x28d325=_0x337abe[_0x3ddb2c(0x17a)];return{'service':_0x28d325[_0x3ddb2c(0x185)][_0x3ddb2c(0x1ae)],'label':_0x28d325[_0x3ddb2c(0x185)][_0x3ddb2c(0x1d4)]||_0x28d325[_0x3ddb2c(0x185)][_0x3ddb2c(0x1ae)],'commands':_0x28d325[_0x3ddb2c(0x184)][_0x3ddb2c(0x1e0)](_0x3b625b=>({'command':dynamicCommandName(_0x3b625b),'description':_0x3b625b[_0x3ddb2c(0x1b0)]||_0x3ddb2c(0x183)+_0x3b625b[_0x3ddb2c(0x193)],'tag':riskTag(_0x3b625b['risk'])}))};});}export function getDynamicServiceEntry(_0x103717){const _0x11eca5=a35_0x5d6f;return listDynamicServiceEntries()[_0x11eca5(0x17f)](_0x20ff54=>_0x20ff54[_0x11eca5(0x185)]===_0x103717);}export function listDynamicServiceDefinitions(_0x452d73){const _0x235438=a35_0x5d6f;return listLocalServiceTrees()[_0x235438(0x1d7)](_0x1b6bbe=>!_0x452d73||_0x1b6bbe['service']['code']===_0x452d73)[_0x235438(0x18f)](_0x609112=>_0x609112[_0x235438(0x184)][_0x235438(0x1e0)](_0x3d6f2c=>buildDynamicCommandDefinition(_0x609112,_0x3d6f2c)));}export function getDynamicServiceDefinitions(_0x1387bb){const _0x188ef4=a35_0x5d6f,_0x5dc2f4=listDynamicServiceDefinitions(_0x1387bb);return _0x5dc2f4[_0x188ef4(0x17b)]>0x0?_0x5dc2f4:undefined;}export function findDynamicServiceDefinition(_0x33f3c6,_0x32f924){return listDynamicServiceDefinitions(_0x33f3c6)['find'](_0x273862=>_0x273862['command']===_0x32f924);}export function buildDynamicCommandDefinition(_0x2391b3,_0x300bd1){const _0x461b51=a35_0x5d6f;return{'service':_0x2391b3[_0x461b51(0x185)][_0x461b51(0x1ae)],'command':dynamicCommandName(_0x300bd1),'description':_0x300bd1[_0x461b51(0x1b0)]||'Run\x20service\x20command\x20'+_0x300bd1[_0x461b51(0x193)],'risk':_0x300bd1['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x300bd1[_0x461b51(0x1af)][_0x461b51(0x1e0)](_0x191bdf=>({'name':_0x191bdf[_0x461b51(0x1d4)],'description':_0x191bdf[_0x461b51(0x1b0)]||_0x191bdf[_0x461b51(0x1d4)],'required':_0x191bdf[_0x461b51(0x1d3)]})),'flags':_0x300bd1[_0x461b51(0x192)][_0x461b51(0x1e0)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x300bd1),async 'dryRun'(_0x1c34db){const _0x313a87=_0x461b51,_0x53745b=await compilePlan(_0x300bd1,_0x1c34db);return{'method':_0x313a87(0x195),'url':_0x300bd1[_0x313a87(0x193)],'body':{'target':targetPreview(_0x53745b),'params':_0x53745b[_0x313a87(0x1b5)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x300bd1[_0x313a87(0x193)]};},async 'execute'(_0x127053){const _0x4f8615=_0x461b51,_0x2feda6=await compilePlan(_0x300bd1,_0x127053),_0x105d09=Date[_0x4f8615(0x1db)](),_0x48c7e3=await executePlan(_0x2feda6,_0x300bd1,_0x127053),_0xafca90=Date[_0x4f8615(0x1db)]()-_0x105d09;return{'ok':!![],'data':{'service':_0x2391b3[_0x4f8615(0x185)],'command':_0x300bd1[_0x4f8615(0x193)],'target':targetPreview(_0x2feda6),'result':_0x48c7e3,'elapsed':_0xafca90},'message':'Service\x20command\x20'+_0x300bd1[_0x4f8615(0x193)]+_0x4f8615(0x1dd)+_0xafca90+'ms'};}};}function dynamicCommandName(_0x37731a){const _0x377741=a35_0x5d6f;return _0x37731a['fullPath'][_0x377741(0x1c2)](0x1)[_0x377741(0x181)]('\x20');}function riskTag(_0x3f7690){const _0x18e349=a35_0x5d6f;return _0x3f7690===_0x18e349(0x1b9)?'':_0x18e349(0x1c7)+_0x3f7690+']';}function flagToCommandFlag(_0x505aa0){const _0x3cf389=a35_0x5d6f;return{'name':_0x505aa0[_0x3cf389(0x194)],'type':_0x505aa0[_0x3cf389(0x1bb)]===_0x3cf389(0x1b8)?_0x3cf389(0x18d):_0x505aa0['type'],'description':_0x505aa0['description']||_0x505aa0[_0x3cf389(0x1d4)],'required':_0x505aa0['required'],'default':isPrimitiveFlagDefault(_0x505aa0[_0x3cf389(0x180)])?_0x505aa0['default']:undefined,'enum':_0x505aa0['enum']};}async function compilePlan(_0x10d0f3,_0x6eeb47){const _0x1603d0=a35_0x5d6f;return compileServiceTreeCommand(_0x10d0f3,{'flags':_0x6eeb47[_0x1603d0(0x1a2)],'args':_0x6eeb47[_0x1603d0(0x1af)],'context':await buildServiceContext(_0x10d0f3,_0x6eeb47)});}async function buildServiceContext(_0x32ccba,_0x508baa){const _0x1e280d=a35_0x5d6f,_0x4b3ca2={'appCode':_0x508baa[_0x1e280d(0x18b)],'env':_0x508baa[_0x1e280d(0x191)],'envName':_0x508baa[_0x1e280d(0x191)]};if(!usesRuntimeContext(_0x32ccba))return _0x4b3ca2;const _0x18136c=await getLoginUserInfo(),_0xe4956b=pickFirst(_0x18136c[_0x1e280d(0x1c4)],_0x18136c['id']);return{..._0x4b3ca2,'user':_0x18136c,'userId':_0xe4956b,'id':_0x18136c['id'],'username':pickFirst(_0x18136c[_0x1e280d(0x1d5)],_0x18136c['userName'],_0x18136c[_0x1e280d(0x1dc)]),'userName':_0x18136c[_0x1e280d(0x1a9)],'nickname':pickFirst(_0x18136c[_0x1e280d(0x1b2)],_0x18136c[_0x1e280d(0x1ba)]),'nickName':_0x18136c[_0x1e280d(0x1ba)],'tenantCode':_0x18136c[_0x1e280d(0x18e)],'employeeId':_0x18136c['employeeId']};}function a35_0x5d6f(_0x570e49,_0x3336ee){_0x570e49=_0x570e49-0x179;const _0x590be5=a35_0x590b();let _0x5d6fba=_0x590be5[_0x570e49];return _0x5d6fba;}function usesRuntimeContext(_0x1a065e){const _0x46cecc=a35_0x5d6f;return _0x1a065e[_0x46cecc(0x1a4)][_0x46cecc(0x1d2)](_0x231fd9=>typeof _0x231fd9[_0x46cecc(0x1b4)]===_0x46cecc(0x18d)&&(_0x231fd9['source'][_0x46cecc(0x1de)]('context.')||_0x231fd9[_0x46cecc(0x1b4)]['startsWith']('ctx.')));}function pickFirst(..._0x28fcbf){return _0x28fcbf['find'](_0x176c62=>_0x176c62!==undefined&&_0x176c62!==null);}async function executePlan(_0x51ac26,_0x40f5b7,_0x4aa38b){const _0x5ec973=a35_0x5d6f;if(_0x51ac26[_0x5ec973(0x1a5)]===_0x5ec973(0x1bf)){const _0x30ae94=await resolveDatasetCode(_0x51ac26,_0x40f5b7,_0x4aa38b);return executeData(_0x30ae94,_0x51ac26[_0x5ec973(0x1a6)],_0x51ac26[_0x5ec973(0x1b5)]);}if(_0x51ac26[_0x5ec973(0x1a5)]==='sql'){if(!_0x51ac26[_0x5ec973(0x1cf)])throw CliErrors[_0x5ec973(0x1c0)]('Service\x20command\x20'+_0x40f5b7[_0x5ec973(0x193)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x51ac26[_0x5ec973(0x1cf)],normalizeScalarParams(_0x51ac26[_0x5ec973(0x1b5)]));}if(_0x51ac26['kind']===_0x5ec973(0x186)){const _0x42c2aa=_0x51ac26[_0x5ec973(0x1c3)]||_0x51ac26[_0x5ec973(0x1d1)]||(_0x51ac26['bffId']==null?'':String(_0x51ac26[_0x5ec973(0x19c)]));if(!_0x42c2aa)throw CliErrors[_0x5ec973(0x1c0)](_0x5ec973(0x1aa)+_0x40f5b7[_0x5ec973(0x193)]+_0x5ec973(0x1c1));return executeSdkBff(_0x42c2aa,_0x51ac26['params']);}throw CliErrors['validation'](_0x5ec973(0x182)+_0x51ac26[_0x5ec973(0x1a5)]);}async function resolveDatasetCode(_0x136387,_0x5db627,_0x2d55b6){const _0xda6ba=a35_0x5d6f;if(_0x136387[_0xda6ba(0x1be)])return _0x136387[_0xda6ba(0x1be)];if(!_0x136387[_0xda6ba(0x1bd)])throw CliErrors[_0xda6ba(0x1c0)]('Service\x20command\x20'+_0x5db627[_0xda6ba(0x193)]+_0xda6ba(0x189));const _0x10fe7d=await listDatasets(_0x2d55b6[_0xda6ba(0x18b)]),_0x5d27fe=_0x10fe7d[_0xda6ba(0x17f)](_0x46ac85=>_0x46ac85[_0xda6ba(0x1c6)]?.[_0xda6ba(0x1cc)]===_0x136387['datatable']);if(!_0x5d27fe?.[_0xda6ba(0x1ae)])throw CliErrors['validation'](_0xda6ba(0x17c)+_0x136387[_0xda6ba(0x1bd)]+_0xda6ba(0x1d0)+_0x2d55b6[_0xda6ba(0x18b)]+'.',_0xda6ba(0x198));return _0x5d27fe[_0xda6ba(0x1ae)];}function applyAppBinding(_0x364625,_0x4fce07,_0x3ee857){const _0x104d8f=a35_0x5d6f,_0x338258=_0x4fce07['target'][_0x104d8f(0x196)];if(!_0x338258)return;const _0x435151=_0x364625['appBindings'][_0x338258];if(!_0x435151)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x338258+_0x104d8f(0x188)+_0x4fce07[_0x104d8f(0x193)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x2f936b=_0x435151[_0x104d8f(0x1d8)]||_0x435151[_0x104d8f(0x18b)];_0x2f936b&&!hasText(_0x3ee857[_0x104d8f(0x1d8)])&&(_0x3ee857[_0x104d8f(0x1d8)]=_0x2f936b),_0x435151['app']&&!hasText(_0x3ee857[_0x104d8f(0x1ac)])&&!hasText(_0x3ee857[_0x104d8f(0x1d8)])&&(_0x3ee857[_0x104d8f(0x1ac)]=_0x435151[_0x104d8f(0x1ac)]),_0x435151[_0x104d8f(0x19d)]&&!hasText(_0x3ee857[_0x104d8f(0x19d)])&&(_0x3ee857[_0x104d8f(0x19d)]=_0x435151[_0x104d8f(0x19d)]);}function renderDynamicCommandHelp(_0x5568e4){const _0xef6622=a35_0x5d6f,_0xfcaf28=[_0xef6622(0x1e1),_0xef6622(0x1cb)+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1a5)],'\x20\x20\x20\x20command:\x20'+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1a6)]];if(_0x5568e4[_0xef6622(0x1d9)]['datasetCode'])_0xfcaf28[_0xef6622(0x1ab)]('\x20\x20\x20\x20datasetCode:\x20'+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1be)]);if(_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1bd)])_0xfcaf28[_0xef6622(0x1ab)](_0xef6622(0x1ce)+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1bd)]);if(_0x5568e4['target'][_0xef6622(0x1cf)])_0xfcaf28[_0xef6622(0x1ab)](_0xef6622(0x18c)+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1cf)]);if(_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1c3)])_0xfcaf28[_0xef6622(0x1ab)](_0xef6622(0x1c5)+_0x5568e4[_0xef6622(0x1d9)][_0xef6622(0x1c3)]);if(_0x5568e4[_0xef6622(0x1a4)][_0xef6622(0x17b)]>0x0){_0xfcaf28['push']('',_0xef6622(0x17d));for(const _0xa75e1c of _0x5568e4[_0xef6622(0x1a4)]){_0xfcaf28['push'](_0xef6622(0x1b6)+(_0xa75e1c[_0xef6622(0x1b4)]||_0xef6622(0x1a8))+_0xef6622(0x19f)+_0xa75e1c[_0xef6622(0x1d9)]+(_0xa75e1c[_0xef6622(0x1b3)]?'.'+_0xa75e1c[_0xef6622(0x1b3)]:''));}}return _0xfcaf28[_0xef6622(0x181)]('\x0a');}function targetPreview(_0x180a09){const _0x1744d8=a35_0x5d6f;return{'kind':_0x180a09['kind'],'command':_0x180a09[_0x1744d8(0x1a6)],'appRef':_0x180a09[_0x1744d8(0x196)],'datasetCode':_0x180a09[_0x1744d8(0x1be)],'datatable':_0x180a09[_0x1744d8(0x1bd)],'sqlCode':_0x180a09['sqlCode'],'bffCode':_0x180a09['bffCode'],'bffId':_0x180a09['bffId'],'scriptName':_0x180a09[_0x1744d8(0x1c3)]};}function a35_0x590b(){const _0x37896d=['Cannot\x20resolve\x20datatable\x20\x22','\x20\x20MAP\x20TO','fromEntries','find','default','join','Unsupported\x20service\x20target\x20kind:\x20','Run\x20service\x20command\x20','commands','service','bff','Commands:','\x22\x20in\x20service\x20command\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','2527735hxMlOM','appCode','\x20\x20\x20\x20sqlCode:\x20','string','tenantCode','flatMap','\x20service\x20detail\x20--service\x20','envName','flags','cliPath','cliName','SERVICE_TREE','appRef','477400mwLkhn','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','315YsbRCA','2018yMvjhy','5270BKOpfQ','bffId','env','141DKCMXR','\x20->\x20','fullPath','`\x20to\x20inspect\x20the\x20manifest.','rawFlags','1035688gZtlZI','mapTo','kind','command','Use\x20`','const','userName','Service\x20command\x20','push','app','5tsevEw','code','args','description','boolean','nickname','operator','source','params','\x20\x20\x20\x20','padEnd','json','read','nickName','type','\x20<command>\x20[flags]','datatable','datasetCode','data','validation','\x20requires\x20target.scriptName.','slice','scriptName','userId','\x20\x20\x20\x20scriptName:\x20','dbtableConfig','\x20\x20[','remainingArgs','186573GDMPVN','trim','\x20\x20\x20\x20kind:\x20\x20\x20\x20','tableName','348858KXvVlt','\x20\x20\x20\x20datatable:\x20','sqlCode','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','bffCode','some','required','name','username','entries','filter','appcode','target','number','now','loginName','\x20completed\x20in\x20','startsWith','tree','map','\x20\x20SERVICE\x20TREE\x20TARGET','risk','normalizedManifest','length'];a35_0x590b=function(){return _0x37896d;};return a35_0x590b();}function normalizeScalarParams(_0x34a6d9){const _0x48361b=a35_0x5d6f;return Object[_0x48361b(0x17e)](Object[_0x48361b(0x1d6)](_0x34a6d9)[_0x48361b(0x1d7)](([,_0x5ec3a5])=>typeof _0x5ec3a5===_0x48361b(0x18d)||typeof _0x5ec3a5===_0x48361b(0x1da)));}function hasText(_0x3bed1d){const _0x53a584=a35_0x5d6f;return typeof _0x3bed1d==='string'&&_0x3bed1d[_0x53a584(0x1ca)]()[_0x53a584(0x17b)]>0x0;}function isPrimitiveFlagDefault(_0xc340a9){const _0x58d415=a35_0x5d6f;return _0xc340a9===undefined||typeof _0xc340a9===_0x58d415(0x18d)||typeof _0xc340a9===_0x58d415(0x1da)||typeof _0xc340a9===_0x58d415(0x1b1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a36_0x2635(){const _0x458395=['Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1843253hmYmnH','serviceCode','Local\x20service\x20not\x20found:\x20','import','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','validate','source','Imported','length','errors','hash','892956KrmgmZ','description','reduce','detail','721698gFvWGZ','map','kind','imported','Updated','file','7706754ZNxEbf','\x20service(s).','638hjuzIy','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','registry','updated','cliPath','8gUkYVs','65IwmsxF','service','45409CJPmVt','normalizedManifest','Local\x20service\x20code,\x20for\x20example\x20crm','warnings','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','\x20service\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','commands','filePath','registryServiceCode','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','3227780FRWqsc','Exported\x20service\x20','target','20WZzntn','report','list','entry','manifests','WRITE','version','read','write','416bEtWka','Service\x20registry\x20validation\x20passed.','980076kPsKyb','str','serviceCount','Service\x20manifest\x20validation\x20passed.','flags','Service\x20Tree\x20manifest\x20file\x20path','importedAt','string','risk','entries','registryPath'];a36_0x2635=function(){return _0x458395;};return a36_0x2635();}const a36_0x10bdb6=a36_0x438f;(function(_0x2689c5,_0x1c397a){const _0x474bfe=a36_0x438f,_0x45ca63=_0x2689c5();while(!![]){try{const _0x39868d=parseInt(_0x474bfe(0x120))/0x1+parseInt(_0x474bfe(0x13d))/0x2*(-parseInt(_0x474bfe(0x12c))/0x3)+-parseInt(_0x474bfe(0x14d))/0x4+parseInt(_0x474bfe(0x13e))/0x5*(-parseInt(_0x474bfe(0x130))/0x6)+-parseInt(_0x474bfe(0x140))/0x7*(parseInt(_0x474bfe(0x112))/0x8)+-parseInt(_0x474bfe(0x136))/0x9*(parseInt(_0x474bfe(0x150))/0xa)+parseInt(_0x474bfe(0x138))/0xb*(parseInt(_0x474bfe(0x114))/0xc);if(_0x39868d===_0x1c397a)break;else _0x45ca63['push'](_0x45ca63['shift']());}catch(_0xbaf1c7){_0x45ca63['push'](_0x45ca63['shift']());}}}(a36_0x2635,0xec99f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x10bdb6(0x135),'type':'string','required':!![],'description':a36_0x10bdb6(0x119)},SERVICE_FLAG={'name':'service','type':a36_0x10bdb6(0x11b),'required':!![],'description':a36_0x10bdb6(0x142),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0xfb4540){const _0x127457=a36_0x10bdb6;return{'serviceCode':_0xfb4540[_0x127457(0x121)],'name':_0xfb4540[_0x127457(0x141)][_0x127457(0x13f)][_0x127457(0x145)],'version':_0xfb4540[_0x127457(0x156)],'importedAt':_0xfb4540[_0x127457(0x11a)],'source':_0xfb4540['source'],'commandCount':_0xfb4540[_0x127457(0x141)]['commands'][_0x127457(0x129)],'commands':_0xfb4540[_0x127457(0x141)][_0x127457(0x148)][_0x127457(0x131)](_0x517a63=>({'path':_0x517a63[_0x127457(0x13c)],'description':_0x517a63[_0x127457(0x12d)],'risk':_0x517a63[_0x127457(0x11c)],'target':_0x517a63[_0x127457(0x14f)],'flags':_0x517a63[_0x127457(0x118)][_0x127457(0x131)](_0x3811b2=>({'name':_0x3811b2[_0x127457(0x145)],'cliName':_0x3811b2['cliName'],'type':_0x3811b2['type'],'required':_0x3811b2['required']===!![]}))}))};}function a36_0x438f(_0x5731ce,_0x3ed234){_0x5731ce=_0x5731ce-0x112;const _0x263512=a36_0x2635();let _0x438f10=_0x263512[_0x5731ce];return _0x438f10;}function summarizeLoadedManifest(_0x405d4d){const _0x15a592=a36_0x10bdb6;return{'service':_0x405d4d[_0x15a592(0x141)]?.[_0x15a592(0x13f)],'version':_0x405d4d[_0x15a592(0x141)]?.['version'],'commandCount':_0x405d4d['normalizedManifest']?.[_0x15a592(0x148)]['length']??0x0,'commands':_0x405d4d[_0x15a592(0x141)]?.['commands'][_0x15a592(0x131)](_0x27c652=>({'path':_0x27c652[_0x15a592(0x13c)],'risk':_0x27c652[_0x15a592(0x11c)],'target':_0x27c652[_0x15a592(0x14f)]}))??[],'registryIndex':_0x405d4d['registryIndex'],'registryServiceCode':_0x405d4d[_0x15a592(0x14a)],'errors':_0x405d4d['report'][_0x15a592(0x12a)],'warnings':_0x405d4d[_0x15a592(0x151)]['warnings']};}export const serviceDefinitions=[{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x126),'description':a36_0x10bdb6(0x124),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x247bc5){const _0x492c5c=a36_0x10bdb6,_0x33fd91=loadServiceManifestFromFile(_0x247bc5['str'](_0x492c5c(0x135)));if(!_0x33fd91[_0x492c5c(0x151)]['ok'])return{'ok':![],'data':{'file':_0x33fd91['filePath'],'hash':_0x33fd91['hash'],'kind':_0x33fd91['kind'],'serviceCount':_0x33fd91[_0x492c5c(0x154)]['length'],'services':_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x131)](summarizeLoadedManifest),'errors':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x12a)],'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':formatValidationFailure(_0x33fd91[_0x492c5c(0x151)])};if(_0x33fd91[_0x492c5c(0x132)]===_0x492c5c(0x13a)||_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x129)]!==0x1)return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91['hash'],'kind':_0x33fd91[_0x492c5c(0x132)],'serviceCount':_0x33fd91['manifests'][_0x492c5c(0x129)],'commandCount':_0x33fd91['manifests'][_0x492c5c(0x12e)]((_0x3403ce,_0x3447c9)=>_0x3403ce+(_0x3447c9[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0),0x0),'services':_0x33fd91['manifests'][_0x492c5c(0x131)](summarizeLoadedManifest),'warnings':_0x33fd91[_0x492c5c(0x151)]['warnings']},'message':_0x492c5c(0x113)};return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91[_0x492c5c(0x12b)],'kind':_0x33fd91[_0x492c5c(0x132)],'service':_0x33fd91['normalizedManifest']?.[_0x492c5c(0x13f)],'version':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x156)],'commandCount':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0,'commands':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x131)](_0x2b9244=>({'path':_0x2b9244[_0x492c5c(0x13c)],'risk':_0x2b9244[_0x492c5c(0x11c)],'target':_0x2b9244['target']})),'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':_0x492c5c(0x117)};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x123),'description':a36_0x10bdb6(0x14b),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2a581d){const _0x4407ef=a36_0x10bdb6,_0x3d04a1=loadServiceManifestFromFile(_0x2a581d[_0x4407ef(0x115)](_0x4407ef(0x135)));return{'method':_0x4407ef(0x155),'url':getServiceRegistryPath(),'body':{'file':_0x3d04a1[_0x4407ef(0x149)],'hash':_0x3d04a1[_0x4407ef(0x12b)],'kind':_0x3d04a1[_0x4407ef(0x132)],'ok':_0x3d04a1[_0x4407ef(0x151)]['ok'],'service':_0x3d04a1[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x3d04a1['normalizedManifest']?.['version'],'serviceCount':_0x3d04a1[_0x4407ef(0x154)][_0x4407ef(0x129)],'services':_0x3d04a1[_0x4407ef(0x154)]['map'](_0x5a1b20=>({'service':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x156)],'commandCount':_0x5a1b20['normalizedManifest']?.[_0x4407ef(0x148)][_0x4407ef(0x129)]??0x0,'errors':_0x5a1b20[_0x4407ef(0x151)][_0x4407ef(0x12a)]})),'errors':_0x3d04a1[_0x4407ef(0x151)][_0x4407ef(0x12a)],'commandCount':_0x3d04a1['normalizedManifest']?.[_0x4407ef(0x148)]['length']??0x0},'description':_0x4407ef(0x147)};},async 'execute'(_0x5c2c78){const _0x3f2cbe=a36_0x10bdb6,_0x350a1b=importServiceManifest(_0x5c2c78[_0x3f2cbe(0x115)]('file'));if(_0x350a1b['entries'][_0x3f2cbe(0x129)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b['updated'],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'services':_0x350a1b[_0x3f2cbe(0x11d)][_0x3f2cbe(0x131)](summarizeService)},'message':'Imported\x20'+_0x350a1b[_0x3f2cbe(0x133)]+_0x3f2cbe(0x125)+_0x350a1b[_0x3f2cbe(0x13b)]+_0x3f2cbe(0x137)};return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'replaced':_0x350a1b['replaced'],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b[_0x3f2cbe(0x13b)],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'service':summarizeService(_0x350a1b[_0x3f2cbe(0x153)])},'message':(_0x350a1b['replaced']?_0x3f2cbe(0x134):_0x3f2cbe(0x128))+_0x3f2cbe(0x146)+_0x350a1b[_0x3f2cbe(0x153)][_0x3f2cbe(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':'export','description':a36_0x10bdb6(0x11f),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e6579){const _0x4bb2d1=a36_0x10bdb6,_0x2b0770=getLocalServiceEntry(_0x4e6579['str'](_0x4bb2d1(0x13f)));return{'method':'WRITE','url':_0x4e6579['str'](_0x4bb2d1(0x135)),'body':{'service':_0x4e6579[_0x4bb2d1(0x115)](_0x4bb2d1(0x13f)),'found':Boolean(_0x2b0770),'version':_0x2b0770?.[_0x4bb2d1(0x156)],'source':_0x2b0770?.[_0x4bb2d1(0x127)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0xe3d5f3){const _0x230f21=a36_0x10bdb6,_0x453358=exportServiceManifest(_0xe3d5f3[_0x230f21(0x115)](_0x230f21(0x13f)),_0xe3d5f3[_0x230f21(0x115)]('file'));return{'ok':!![],'data':{'registryPath':_0x453358[_0x230f21(0x11e)],'file':_0x453358[_0x230f21(0x149)],'service':summarizeService(_0x453358['entry'])},'message':_0x230f21(0x14e)+_0x453358[_0x230f21(0x153)][_0x230f21(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x152),'description':a36_0x10bdb6(0x139),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2790f9=a36_0x10bdb6,_0x5879b6=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x5879b6[_0x2790f9(0x129)],'services':_0x5879b6[_0x2790f9(0x131)](summarizeService)}};}},{'service':'service','command':'remove','description':a36_0x10bdb6(0x14c),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x522b01){const _0x2c9648=a36_0x10bdb6,_0x3b8696=getLocalServiceEntry(_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)),'found':Boolean(_0x3b8696),'version':_0x3b8696?.[_0x2c9648(0x156)],'source':_0x3b8696?.[_0x2c9648(0x127)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x405b71){const _0x33110e=a36_0x10bdb6,_0x3d6e6c=removeServiceManifest(_0x405b71['str']('service'));return{'ok':!![],'data':{'registryPath':_0x3d6e6c[_0x33110e(0x11e)],'serviceCount':_0x3d6e6c[_0x33110e(0x116)],'service':summarizeService(_0x3d6e6c[_0x33110e(0x153)])},'message':'Removed\x20service\x20'+_0x3d6e6c['entry'][_0x33110e(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x12f),'description':a36_0x10bdb6(0x144),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x35ce51){const _0x424133=a36_0x10bdb6,_0x35dff4=getLocalServiceEntry(_0x35ce51[_0x424133(0x115)]('service'));if(!_0x35dff4)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))},'message':_0x424133(0x122)+_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x35dff4),'manifest':_0x35dff4['manifest'],'normalizedManifest':_0x35dff4[_0x424133(0x141)]}};}}];
|
|
1
|
+
const a36_0x2057aa=a36_0x1004;(function(_0xa67738,_0x54d87a){const _0xeda7cc=a36_0x1004,_0x306db5=_0xa67738();while(!![]){try{const _0x465d20=-parseInt(_0xeda7cc(0x196))/0x1*(parseInt(_0xeda7cc(0x19e))/0x2)+-parseInt(_0xeda7cc(0x191))/0x3+parseInt(_0xeda7cc(0x197))/0x4+parseInt(_0xeda7cc(0x18d))/0x5*(parseInt(_0xeda7cc(0x187))/0x6)+parseInt(_0xeda7cc(0x1ae))/0x7+-parseInt(_0xeda7cc(0x1a7))/0x8+-parseInt(_0xeda7cc(0x18e))/0x9*(-parseInt(_0xeda7cc(0x1b7))/0xa);if(_0x465d20===_0x54d87a)break;else _0x306db5['push'](_0x306db5['shift']());}catch(_0x590fc0){_0x306db5['push'](_0x306db5['shift']());}}}(a36_0x7382,0x3df95));function a36_0x7382(){const _0x4ee6b4=['cliPath','version','length','Service\x20Tree\x20manifest\x20file\x20path','commands','validate','import','cliName','type','serviceCode','\x20service\x20','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','filePath','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','reduce','54078lJhGNC','WRITE','risk','str','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','export','185rAvkhE','3873807nQETCo','hash','manifest','987144wIBYDO','entries','registry','file','serviceCount','23945XSYFkJ','1298372trjaFf','map','registryIndex','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','registryServiceCode','\x20service(s),\x20updated\x20','string','26hBfUop','registryPath','warnings','Exported\x20service\x20','read','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','flags','3167200zNBaIs','source','report','importedAt','lower\x20kebab-case\x20service\x20code','updated','replaced','1411067WFgedU','manifests','entry','normalizedManifest','errors','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Imported\x20','target','kind','10NEHnFz','write','Imported','service','name'];a36_0x7382=function(){return _0x4ee6b4;};return a36_0x7382();}function a36_0x1004(_0x18de7e,_0x2b3b2e){_0x18de7e=_0x18de7e-0x17f;const _0x7382f7=a36_0x7382();let _0x10043d=_0x7382f7[_0x18de7e];return _0x10043d;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a36_0x2057aa(0x19d),'required':!![],'description':a36_0x2057aa(0x1bf)},SERVICE_FLAG={'name':a36_0x2057aa(0x1ba),'type':a36_0x2057aa(0x19d),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a36_0x2057aa(0x1ab)}};function summarizeService(_0x28909a){const _0x202917=a36_0x2057aa;return{'serviceCode':_0x28909a[_0x202917(0x181)],'name':_0x28909a[_0x202917(0x1b1)][_0x202917(0x1ba)][_0x202917(0x1bb)],'version':_0x28909a[_0x202917(0x1bd)],'importedAt':_0x28909a[_0x202917(0x1aa)],'source':_0x28909a[_0x202917(0x1a8)],'commandCount':_0x28909a['normalizedManifest'][_0x202917(0x1c0)]['length'],'commands':_0x28909a[_0x202917(0x1b1)][_0x202917(0x1c0)][_0x202917(0x198)](_0x27e5a2=>({'path':_0x27e5a2[_0x202917(0x1bc)],'description':_0x27e5a2['description'],'risk':_0x27e5a2[_0x202917(0x189)],'target':_0x27e5a2[_0x202917(0x1b5)],'flags':_0x27e5a2[_0x202917(0x1a6)][_0x202917(0x198)](_0x4e85bc=>({'name':_0x4e85bc[_0x202917(0x1bb)],'cliName':_0x4e85bc[_0x202917(0x17f)],'type':_0x4e85bc[_0x202917(0x180)],'required':_0x4e85bc['required']===!![]}))}))};}function summarizeLoadedManifest(_0xbe31a3){const _0x386775=a36_0x2057aa;return{'service':_0xbe31a3[_0x386775(0x1b1)]?.[_0x386775(0x1ba)],'version':_0xbe31a3[_0x386775(0x1b1)]?.['version'],'commandCount':_0xbe31a3[_0x386775(0x1b1)]?.[_0x386775(0x1c0)][_0x386775(0x1be)]??0x0,'commands':_0xbe31a3[_0x386775(0x1b1)]?.[_0x386775(0x1c0)]['map'](_0x16b076=>({'path':_0x16b076[_0x386775(0x1bc)],'risk':_0x16b076[_0x386775(0x189)],'target':_0x16b076[_0x386775(0x1b5)]}))??[],'registryIndex':_0xbe31a3[_0x386775(0x199)],'registryServiceCode':_0xbe31a3[_0x386775(0x19b)],'errors':_0xbe31a3[_0x386775(0x1a9)][_0x386775(0x1b2)],'warnings':_0xbe31a3[_0x386775(0x1a9)]['warnings']};}export const serviceDefinitions=[{'service':a36_0x2057aa(0x1ba),'command':a36_0x2057aa(0x1c1),'description':a36_0x2057aa(0x185),'risk':a36_0x2057aa(0x1a2),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x9db8f5){const _0x277591=a36_0x2057aa,_0x2046ed=loadServiceManifestFromFile(_0x9db8f5['str'](_0x277591(0x194)));if(!_0x2046ed[_0x277591(0x1a9)]['ok'])return{'ok':![],'data':{'file':_0x2046ed['filePath'],'hash':_0x2046ed[_0x277591(0x18f)],'kind':_0x2046ed[_0x277591(0x1b6)],'serviceCount':_0x2046ed[_0x277591(0x1af)][_0x277591(0x1be)],'services':_0x2046ed[_0x277591(0x1af)][_0x277591(0x198)](summarizeLoadedManifest),'errors':_0x2046ed[_0x277591(0x1a9)][_0x277591(0x1b2)],'warnings':_0x2046ed[_0x277591(0x1a9)][_0x277591(0x1a0)]},'message':formatValidationFailure(_0x2046ed['report'])};if(_0x2046ed[_0x277591(0x1b6)]===_0x277591(0x193)||_0x2046ed['manifests'][_0x277591(0x1be)]!==0x1)return{'ok':!![],'data':{'file':_0x2046ed['filePath'],'hash':_0x2046ed[_0x277591(0x18f)],'kind':_0x2046ed['kind'],'serviceCount':_0x2046ed['manifests'][_0x277591(0x1be)],'commandCount':_0x2046ed[_0x277591(0x1af)][_0x277591(0x186)]((_0x5acd06,_0x51cceb)=>_0x5acd06+(_0x51cceb[_0x277591(0x1b1)]?.[_0x277591(0x1c0)][_0x277591(0x1be)]??0x0),0x0),'services':_0x2046ed[_0x277591(0x1af)][_0x277591(0x198)](summarizeLoadedManifest),'warnings':_0x2046ed['report']['warnings']},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x2046ed[_0x277591(0x184)],'hash':_0x2046ed[_0x277591(0x18f)],'kind':_0x2046ed[_0x277591(0x1b6)],'service':_0x2046ed[_0x277591(0x1b1)]?.[_0x277591(0x1ba)],'version':_0x2046ed[_0x277591(0x1b1)]?.[_0x277591(0x1bd)],'commandCount':_0x2046ed[_0x277591(0x1b1)]?.[_0x277591(0x1c0)][_0x277591(0x1be)]??0x0,'commands':_0x2046ed['normalizedManifest']?.[_0x277591(0x1c0)][_0x277591(0x198)](_0x5c39d1=>({'path':_0x5c39d1['cliPath'],'risk':_0x5c39d1[_0x277591(0x189)],'target':_0x5c39d1['target']})),'warnings':_0x2046ed[_0x277591(0x1a9)]['warnings']},'message':_0x277591(0x1a4)};}},{'service':a36_0x2057aa(0x1ba),'command':a36_0x2057aa(0x1c2),'description':a36_0x2057aa(0x1a5),'risk':a36_0x2057aa(0x1b8),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x10b4a0){const _0x227329=a36_0x2057aa,_0x5cc3fd=loadServiceManifestFromFile(_0x10b4a0['str']('file'));return{'method':_0x227329(0x188),'url':getServiceRegistryPath(),'body':{'file':_0x5cc3fd[_0x227329(0x184)],'hash':_0x5cc3fd[_0x227329(0x18f)],'kind':_0x5cc3fd[_0x227329(0x1b6)],'ok':_0x5cc3fd['report']['ok'],'service':_0x5cc3fd[_0x227329(0x1b1)]?.[_0x227329(0x1ba)],'version':_0x5cc3fd[_0x227329(0x1b1)]?.[_0x227329(0x1bd)],'serviceCount':_0x5cc3fd['manifests'][_0x227329(0x1be)],'services':_0x5cc3fd[_0x227329(0x1af)][_0x227329(0x198)](_0x2ac8ea=>({'service':_0x2ac8ea[_0x227329(0x1b1)]?.['service'],'version':_0x2ac8ea[_0x227329(0x1b1)]?.[_0x227329(0x1bd)],'commandCount':_0x2ac8ea[_0x227329(0x1b1)]?.[_0x227329(0x1c0)][_0x227329(0x1be)]??0x0,'errors':_0x2ac8ea[_0x227329(0x1a9)][_0x227329(0x1b2)]})),'errors':_0x5cc3fd[_0x227329(0x1a9)][_0x227329(0x1b2)],'commandCount':_0x5cc3fd['normalizedManifest']?.[_0x227329(0x1c0)][_0x227329(0x1be)]??0x0},'description':_0x227329(0x18b)};},async 'execute'(_0x5217c2){const _0x2474c6=a36_0x2057aa,_0x11f890=importServiceManifest(_0x5217c2[_0x2474c6(0x18a)](_0x2474c6(0x194)));if(_0x11f890[_0x2474c6(0x192)][_0x2474c6(0x1be)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x11f890[_0x2474c6(0x19f)],'imported':_0x11f890['imported'],'updated':_0x11f890['updated'],'serviceCount':_0x11f890['serviceCount'],'services':_0x11f890[_0x2474c6(0x192)][_0x2474c6(0x198)](summarizeService)},'message':_0x2474c6(0x1b4)+_0x11f890['imported']+_0x2474c6(0x19c)+_0x11f890['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x11f890[_0x2474c6(0x19f)],'replaced':_0x11f890[_0x2474c6(0x1ad)],'imported':_0x11f890['imported'],'updated':_0x11f890[_0x2474c6(0x1ac)],'serviceCount':_0x11f890[_0x2474c6(0x195)],'service':summarizeService(_0x11f890['entry'])},'message':(_0x11f890[_0x2474c6(0x1ad)]?'Updated':_0x2474c6(0x1b9))+_0x2474c6(0x182)+_0x11f890[_0x2474c6(0x1b0)]['serviceCode']+'.'};}},{'service':a36_0x2057aa(0x1ba),'command':a36_0x2057aa(0x18c),'description':a36_0x2057aa(0x19a),'risk':a36_0x2057aa(0x1b8),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x3ea182){const _0x41fafa=a36_0x2057aa,_0x5e9f88=getLocalServiceEntry(_0x3ea182['str']('service'));return{'method':_0x41fafa(0x188),'url':_0x3ea182[_0x41fafa(0x18a)]('file'),'body':{'service':_0x3ea182[_0x41fafa(0x18a)](_0x41fafa(0x1ba)),'found':Boolean(_0x5e9f88),'version':_0x5e9f88?.[_0x41fafa(0x1bd)],'source':_0x5e9f88?.['source']},'description':_0x41fafa(0x1a3)};},async 'execute'(_0x757e42){const _0xf2dc1d=a36_0x2057aa,_0x5a80f3=exportServiceManifest(_0x757e42[_0xf2dc1d(0x18a)](_0xf2dc1d(0x1ba)),_0x757e42[_0xf2dc1d(0x18a)]('file'));return{'ok':!![],'data':{'registryPath':_0x5a80f3[_0xf2dc1d(0x19f)],'file':_0x5a80f3[_0xf2dc1d(0x184)],'service':summarizeService(_0x5a80f3[_0xf2dc1d(0x1b0)])},'message':_0xf2dc1d(0x1a1)+_0x5a80f3['entry']['serviceCode']+'.'};}},{'service':a36_0x2057aa(0x1ba),'command':'list','description':a36_0x2057aa(0x183),'risk':a36_0x2057aa(0x1a2),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x505126=a36_0x2057aa,_0x146a73=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x146a73[_0x505126(0x1be)],'services':_0x146a73['map'](summarizeService)}};}},{'service':a36_0x2057aa(0x1ba),'command':'remove','description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a36_0x2057aa(0x1b8),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x58d6de){const _0x38e854=a36_0x2057aa,_0x5359c1=getLocalServiceEntry(_0x58d6de[_0x38e854(0x18a)](_0x38e854(0x1ba)));return{'method':_0x38e854(0x188),'url':getServiceRegistryPath(),'body':{'service':_0x58d6de['str'](_0x38e854(0x1ba)),'found':Boolean(_0x5359c1),'version':_0x5359c1?.[_0x38e854(0x1bd)],'source':_0x5359c1?.[_0x38e854(0x1a8)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x3dbdd3){const _0x2511c9=a36_0x2057aa,_0x25bfc3=removeServiceManifest(_0x3dbdd3['str'](_0x2511c9(0x1ba)));return{'ok':!![],'data':{'registryPath':_0x25bfc3['registryPath'],'serviceCount':_0x25bfc3['serviceCount'],'service':summarizeService(_0x25bfc3[_0x2511c9(0x1b0)])},'message':'Removed\x20service\x20'+_0x25bfc3[_0x2511c9(0x1b0)][_0x2511c9(0x181)]+'.'};}},{'service':a36_0x2057aa(0x1ba),'command':'detail','description':a36_0x2057aa(0x1b3),'risk':a36_0x2057aa(0x1a2),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x55251a){const _0x429627=a36_0x2057aa,_0x1a55b8=getLocalServiceEntry(_0x55251a[_0x429627(0x18a)](_0x429627(0x1ba)));if(!_0x1a55b8)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x55251a['str'](_0x429627(0x1ba))},'message':'Local\x20service\x20not\x20found:\x20'+_0x55251a['str'](_0x429627(0x1ba))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1a55b8),'manifest':_0x1a55b8[_0x429627(0x190)],'normalizedManifest':_0x1a55b8[_0x429627(0x1b1)]}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x4dedf4=a37_0x58df;(function(_0x5c30ab,_0x1b4560){const _0x3d2c8e=a37_0x58df,_0x3a5761=_0x5c30ab();while(!![]){try{const _0x2956fc=-parseInt(_0x3d2c8e(0x136))/0x1*(parseInt(_0x3d2c8e(0x139))/0x2)+parseInt(_0x3d2c8e(0xfb))/0x3*(parseInt(_0x3d2c8e(0xe9))/0x4)+-parseInt(_0x3d2c8e(0xfe))/0x5+parseInt(_0x3d2c8e(0x11f))/0x6+parseInt(_0x3d2c8e(0x11e))/0x7+parseInt(_0x3d2c8e(0x127))/0x8+-parseInt(_0x3d2c8e(0xea))/0x9*(parseInt(_0x3d2c8e(0x10e))/0xa);if(_0x2956fc===_0x1b4560)break;else _0x3a5761['push'](_0x3a5761['shift']());}catch(_0x57765d){_0x3a5761['push'](_0x3a5761['shift']());}}}(a37_0x37eb,0x614f1));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a37_0x4dedf4(0x12a);function a37_0x58df(_0x527564,_0x4b44bb){_0x527564=_0x527564-0xe9;const _0x37ebe8=a37_0x37eb();let _0x58dfbe=_0x37ebe8[_0x527564];return _0x58dfbe;}export function getServiceRegistryPath(_0x3b1bfb={}){return resolve(_0x3b1bfb['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1fcaa9={}){const _0x540c47=a37_0x4dedf4,_0x5de61b=getServiceRegistryPath(_0x1fcaa9);if(!existsSync(_0x5de61b))return emptyServiceRegistry();try{const _0x15fb5d=readFileSync(_0x5de61b,_0x540c47(0x12f));if(!_0x15fb5d['trim']())return emptyServiceRegistry();const _0x1bd0b2=JSON[_0x540c47(0x135)](_0x15fb5d);if(_0x1bd0b2['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x540c47(0x108)](_0x540c47(0xff)+String(_0x1bd0b2['schemaVersion']),_0x540c47(0x11a)+_0x5de61b+'.');if(!Array[_0x540c47(0x121)](_0x1bd0b2[_0x540c47(0x107)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1bd0b2[_0x540c47(0x133)],'services':_0x1bd0b2['services']};}catch(_0x159c47){if(_0x159c47 instanceof Error&&_0x159c47[_0x540c47(0xec)]===_0x540c47(0x138))throw _0x159c47;throw CliErrors['validation'](_0x540c47(0xf1)+_0x5de61b,_0x540c47(0x103));}}export function writeServiceRegistry(_0xed4a12,_0x25ce52={}){const _0x18ae0b=a37_0x4dedf4,_0x5f4bb1=getServiceRegistryPath(_0x25ce52),_0x2f269b=dirname(_0x5f4bb1);!existsSync(_0x2f269b)&&mkdirSync(_0x2f269b,{'recursive':!![]});const _0x1c6631=_0x5f4bb1+_0x18ae0b(0x10b);try{writeFileSync(_0x1c6631,JSON['stringify'](_0xed4a12,null,0x2)+'\x0a',{'encoding':_0x18ae0b(0x12f),'mode':0x180}),renameSync(_0x1c6631,_0x5f4bb1);}catch(_0x2bd956){try{unlinkSync(_0x1c6631);}catch{}if(_0x2bd956?.[_0x18ae0b(0x125)]==='ENOENT')throw CliErrors[_0x18ae0b(0x108)](_0x18ae0b(0xf7)+_0x5f4bb1);throw _0x2bd956;}return _0x5f4bb1;}export function loadServiceManifestFromFile(_0x16f6bb){const _0x9e96bc=a37_0x4dedf4,_0x54271d=resolve(_0x16f6bb);if(!existsSync(_0x54271d))throw CliErrors['validation'](_0x9e96bc(0x102)+_0x16f6bb);let _0x1529b9;const _0x13d9f7=readFileSync(_0x54271d,_0x9e96bc(0x12f));try{_0x1529b9=JSON[_0x9e96bc(0x135)](_0x13d9f7);}catch{throw CliErrors[_0x9e96bc(0x108)](_0x9e96bc(0x131)+_0x16f6bb,_0x9e96bc(0x105));}const _0x2bb6f3=sha256(_0x13d9f7),_0x4834f5=extractLoadedServiceManifests(_0x1529b9,_0x2bb6f3),_0x3ca430=aggregateValidationReports(_0x4834f5),_0x53d55a=_0x4834f5[0x0];return{'filePath':_0x54271d,'hash':_0x2bb6f3,'kind':isServiceRegistryLike(_0x1529b9)?_0x9e96bc(0x120):'manifest','manifest':_0x53d55a?.['manifest']??_0x1529b9,'report':_0x3ca430,'normalizedManifest':_0x4834f5[_0x9e96bc(0x128)]===0x1?_0x53d55a?.[_0x9e96bc(0xf4)]:undefined,'manifests':_0x4834f5};}export function importServiceManifest(_0x4842c3,_0x5d4330={}){const _0x1bbf70=a37_0x4dedf4,_0x1dca54=loadServiceManifestFromFile(_0x4842c3);if(!_0x1dca54[_0x1bbf70(0xf5)]['ok'])throw CliErrors[_0x1bbf70(0x108)](formatValidationFailure(_0x1dca54['report']),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1dca54[_0x1bbf70(0x11b)][_0x1bbf70(0x128)]===0x0)throw CliErrors[_0x1bbf70(0x108)](_0x1bbf70(0x11c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x23517f=readServiceRegistry(_0x5d4330),_0x3b4c44=(_0x5d4330[_0x1bbf70(0x109)]??(()=>new Date()))()['toISOString'](),_0x3e7dec=[];let _0xdf5bc5=0x0,_0x28f688=0x0;for(const _0x28c63b of _0x1dca54[_0x1bbf70(0x11b)]){if(!_0x28c63b[_0x1bbf70(0xf4)])continue;const _0x137ddd=_0x28c63b[_0x1bbf70(0xf4)]['service'][_0x1bbf70(0x125)],_0x1662c8={'serviceCode':_0x137ddd,'version':_0x28c63b[_0x1bbf70(0xf4)][_0x1bbf70(0xfd)],'importedAt':_0x3b4c44,'source':{'type':_0x1bbf70(0x115),'path':_0x1dca54[_0x1bbf70(0x117)],'hash':_0x28c63b[_0x1bbf70(0x12c)]},'manifest':_0x28c63b[_0x1bbf70(0xf6)],'normalizedManifest':_0x28c63b[_0x1bbf70(0xf4)]},_0x3e7a93=_0x23517f[_0x1bbf70(0x107)]['findIndex'](_0x24bf11=>_0x24bf11['serviceCode']===_0x137ddd);_0x3e7a93>=0x0?(_0x23517f[_0x1bbf70(0x107)][_0x3e7a93]=_0x1662c8,_0x28f688++):(_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0xf9)](_0x1662c8),_0xdf5bc5++),_0x3e7dec[_0x1bbf70(0xf9)](_0x1662c8);}_0x23517f['services'][_0x1bbf70(0xf2)]((_0x542a9f,_0x1d4442)=>_0x542a9f[_0x1bbf70(0x137)]['localeCompare'](_0x1d4442[_0x1bbf70(0x137)])),_0x23517f[_0x1bbf70(0x133)]=_0x3b4c44;const _0x45c6a5=writeServiceRegistry(_0x23517f,_0x5d4330);return{'registryPath':_0x45c6a5,'entry':_0x3e7dec[0x0],'replaced':_0x3e7dec[_0x1bbf70(0x128)]===0x1?_0x28f688===0x1:_0x28f688>0x0,'entries':_0x3e7dec,'imported':_0xdf5bc5,'updated':_0x28f688,'serviceCount':_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0x128)]};}export function exportServiceManifest(_0x418637,_0x5e369f,_0xb50780={}){const _0xf692ba=a37_0x4dedf4,_0x3f7ef2=getServiceRegistryPath(_0xb50780),_0xfbf499=getLocalServiceEntry(_0x418637,_0xb50780);if(!_0xfbf499)throw CliErrors[_0xf692ba(0x108)](_0xf692ba(0x110)+_0x418637,_0xf692ba(0x119));const _0x4bafc9=resolve(_0x5e369f),_0x4642c7=dirname(_0x4bafc9);return!existsSync(_0x4642c7)&&mkdirSync(_0x4642c7,{'recursive':!![]}),writeFileSync(_0x4bafc9,JSON[_0xf692ba(0x101)](_0xfbf499[_0xf692ba(0xf6)],null,0x2)+'\x0a',{'encoding':_0xf692ba(0x12f),'mode':0x180}),{'registryPath':_0x3f7ef2,'filePath':_0x4bafc9,'entry':_0xfbf499};}export function removeServiceManifest(_0x5e1619,_0x5420fe={}){const _0x368c69=a37_0x4dedf4,_0x2e324a=readServiceRegistry(_0x5420fe),_0x2ed2f0=_0x5e1619[_0x368c69(0x10a)](),_0x25a793=_0x2e324a[_0x368c69(0x107)][_0x368c69(0x126)](_0x4280e0=>_0x4280e0[_0x368c69(0x137)]===_0x2ed2f0);if(_0x25a793<0x0)throw CliErrors[_0x368c69(0x108)](_0x368c69(0x110)+_0x2ed2f0,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x51a2fc]=_0x2e324a[_0x368c69(0x107)]['splice'](_0x25a793,0x1),_0x59cff3=(_0x5420fe['now']??(()=>new Date()))()[_0x368c69(0x116)]();_0x2e324a[_0x368c69(0x133)]=_0x59cff3;const _0x5acc04=writeServiceRegistry(_0x2e324a,_0x5420fe);return{'registryPath':_0x5acc04,'entry':_0x51a2fc,'serviceCount':_0x2e324a['services']['length']};}export function listLocalServices(_0x10ffa0={}){const _0x40da50=a37_0x4dedf4;return readServiceRegistry(_0x10ffa0)[_0x40da50(0x107)];}export function getLocalServiceEntry(_0x50433,_0x16a478={}){const _0x266347=a37_0x4dedf4;return readServiceRegistry(_0x16a478)[_0x266347(0x107)]['find'](_0x397f80=>_0x397f80[_0x266347(0x137)]===_0x50433['trim']());}export function listLocalServiceTrees(_0x25afdb={}){const _0x5243a2=a37_0x4dedf4;return readServiceRegistry(_0x25afdb)[_0x5243a2(0x107)][_0x5243a2(0x118)](_0x3ae0e2=>_0x3ae0e2[_0x5243a2(0xf4)]);}export function inspectServiceRegistry(_0x1d6cdf={}){const _0xf7b4d3=a37_0x4dedf4,_0x36a4d5=getServiceRegistryPath(_0x1d6cdf);if(!existsSync(_0x36a4d5))return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x111),![]);try{const _0x446987=readFileSync(_0x36a4d5,_0xf7b4d3(0x12f));if(!_0x446987[_0xf7b4d3(0x10a)]())return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x106),!![]);const _0x273730=JSON[_0xf7b4d3(0x135)](_0x446987);if(_0x273730['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':_0x273730['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x273730[_0xf7b4d3(0x124)])};if(!Array['isArray'](_0x273730[_0xf7b4d3(0x107)]))return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'message':_0xf7b4d3(0x114)};const _0x4f1f21=_0x273730[_0xf7b4d3(0x107)][_0xf7b4d3(0x118)](summarizeLocalServiceEntry);return{'registryPath':_0x36a4d5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'serviceCount':_0x4f1f21['length'],'commandCount':_0x4f1f21[_0xf7b4d3(0xf8)]((_0x1bf269,_0x498923)=>_0x1bf269+_0x498923[_0xf7b4d3(0xf0)],0x0),'services':_0x4f1f21};}catch(_0x54fc6a){return{...emptyServiceRegistryInspection(_0x36a4d5,'invalid',!![]),'message':_0x54fc6a instanceof Error?_0x54fc6a[_0xf7b4d3(0x100)]:String(_0x54fc6a)};}}function a37_0x37eb(){const _0x5f3741=['map','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','manifests','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','service','1941429WLHQPX','3237714LETSZB','registry','isArray','object','].manifest.','schemaVersion','code','findIndex','2072432VDZqny','length','command','service.json','].manifest','sourceHash','commands','Service\x20manifest\x20validation\x20failed:\x0a','utf8','$.services[','Invalid\x20service\x20manifest\x20JSON:\x20','target','updatedAt','errors','parse','2483tSsWKq','serviceCode','CliError','330wjaKPE','4meClLL','2941254SrEFIk','warnings','name','description','string','sha256','commandCount','Invalid\x20service\x20registry\x20JSON:\x20','sort','update','normalizedManifest','report','manifest','Cannot\x20write\x20service\x20registry:\x20','reduce','push','invalid','339447TTFlul','registryIndex','version','270455ZDMdnh','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','stringify','Service\x20manifest\x20file\x20not\x20found:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','path','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','empty','services','validation','now','trim','.tmp','join','slice','10hEQBTX','hex','Local\x20service\x20not\x20found:\x20','missing','digest','source','services\x20must\x20be\x20an\x20array','file','toISOString','filePath'];a37_0x37eb=function(){return _0x5f3741;};return a37_0x37eb();}export function formatValidationFailure(_0x4f3f7d){const _0x40b33b=a37_0x4dedf4,_0x539ab4=_0x4f3f7d['errors'][_0x40b33b(0x118)](_0x34adc0=>_0x34adc0[_0x40b33b(0x104)]+':\x20'+_0x34adc0[_0x40b33b(0x100)]);return _0x40b33b(0x12e)+_0x539ab4[_0x40b33b(0x10c)]('\x0a');}function extractLoadedServiceManifests(_0x105152,_0x411a45){const _0x424773=a37_0x4dedf4;if(!isServiceRegistryLike(_0x105152)){const _0x23bbfb=_0x105152,_0x3534d5=validateServiceTreeManifest(_0x23bbfb);return[{'manifest':_0x23bbfb,'report':_0x3534d5,'normalizedManifest':_0x3534d5['ok']?normalizeServiceTreeManifest(_0x23bbfb):undefined,'sourceHash':_0x411a45}];}return _0x105152[_0x424773(0x107)][_0x424773(0x118)]((_0x41d227,_0x3bd468)=>{const _0x5baee3=_0x424773,_0x4ce4cb=isObjectRecord(_0x41d227)?_0x41d227[_0x5baee3(0xf6)]:undefined,_0x31f4e9=validateServiceTreeManifest(_0x4ce4cb),_0x3621fa=isObjectRecord(_0x41d227)&&typeof _0x41d227[_0x5baee3(0x137)]===_0x5baee3(0xee)?_0x41d227[_0x5baee3(0x137)]:undefined;return{'manifest':_0x4ce4cb,'report':_0x31f4e9,'normalizedManifest':_0x31f4e9['ok']?normalizeServiceTreeManifest(_0x4ce4cb):undefined,'sourceHash':sha256(JSON['stringify'](_0x4ce4cb,null,0x2)+'\x0a'),'registryIndex':_0x3bd468,'registryServiceCode':_0x3621fa};});}function aggregateValidationReports(_0xacd29d){const _0x352b3b=a37_0x4dedf4,_0x1687f9=_0xacd29d['flatMap'](_0x56bc6c=>_0x56bc6c['registryIndex']===undefined?_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)]:_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)][_0x352b3b(0x118)](_0x1f7755=>({..._0x1f7755,'path':prefixRegistryIssuePath(_0x56bc6c[_0x352b3b(0xfc)],_0x1f7755[_0x352b3b(0x104)])}))),_0x60c49f=_0xacd29d['flatMap'](_0x518179=>_0x518179[_0x352b3b(0xfc)]===undefined?_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)]:_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)][_0x352b3b(0x118)](_0x546439=>({..._0x546439,'path':prefixRegistryIssuePath(_0x518179['registryIndex'],_0x546439[_0x352b3b(0x104)])})));return{'ok':_0x1687f9[_0x352b3b(0x128)]===0x0,'errors':_0x1687f9,'warnings':_0x60c49f};}function prefixRegistryIssuePath(_0xcadf11,_0x4ac6fa){const _0x808650=a37_0x4dedf4;if(_0x4ac6fa==='$')return _0x808650(0x130)+_0xcadf11+'].manifest';if(_0x4ac6fa['startsWith']('$.'))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);if(_0x4ac6fa['startsWith']('$['))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);return'$.services['+_0xcadf11+_0x808650(0x123)+_0x4ac6fa;}function isServiceRegistryLike(_0x85bdfd){const _0x5f104f=a37_0x4dedf4;return isObjectRecord(_0x85bdfd)&&_0x85bdfd[_0x5f104f(0x124)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5f104f(0x121)](_0x85bdfd[_0x5f104f(0x107)]);}function isObjectRecord(_0x451f9d){const _0x42ee75=a37_0x4dedf4;return Boolean(_0x451f9d)&&typeof _0x451f9d===_0x42ee75(0x122)&&!Array[_0x42ee75(0x121)](_0x451f9d);}function emptyServiceRegistryInspection(_0x51aa23,_0x55c5a5,_0x3f5592){return{'registryPath':_0x51aa23,'exists':_0x3f5592,'status':_0x55c5a5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4a3bc6){const _0x24300c=a37_0x4dedf4,_0xfe3a48=_0x4a3bc6[_0x24300c(0xf4)],_0x59b806=_0xfe3a48[_0x24300c(0x12d)][_0x24300c(0x118)](_0x3e4b08=>({'path':_0x3e4b08['cliPath'],'description':_0x3e4b08[_0x24300c(0xed)],'risk':_0x3e4b08['risk'],'targetKind':_0x3e4b08[_0x24300c(0x132)]['kind'],'targetCommand':_0x3e4b08[_0x24300c(0x132)][_0x24300c(0x129)]}));return{'serviceCode':_0x4a3bc6[_0x24300c(0x137)],'name':_0xfe3a48[_0x24300c(0x11d)][_0x24300c(0xec)],'description':_0xfe3a48['service'][_0x24300c(0xed)],'version':_0x4a3bc6[_0x24300c(0xfd)],'importedAt':_0x4a3bc6['importedAt'],'source':_0x4a3bc6[_0x24300c(0x113)],'commandCount':_0x59b806['length'],'commands':_0x59b806};}function sha256(_0x2a38a6){const _0x100489=a37_0x4dedf4;return createHash(_0x100489(0xef))[_0x100489(0xf3)](_0x2a38a6)[_0x100489(0x112)](_0x100489(0x10f));}
|
|
1
|
+
(function(_0x32c656,_0x29cd51){const _0x517031=a37_0x43d9,_0x3849a0=_0x32c656();while(!![]){try{const _0x1924d7=parseInt(_0x517031(0x91))/0x1*(-parseInt(_0x517031(0xca))/0x2)+parseInt(_0x517031(0x89))/0x3+-parseInt(_0x517031(0xb8))/0x4*(-parseInt(_0x517031(0x9b))/0x5)+-parseInt(_0x517031(0xaa))/0x6+-parseInt(_0x517031(0xb4))/0x7*(parseInt(_0x517031(0xcf))/0x8)+parseInt(_0x517031(0xa4))/0x9+-parseInt(_0x517031(0x9a))/0xa;if(_0x1924d7===_0x29cd51)break;else _0x3849a0['push'](_0x3849a0['shift']());}catch(_0x4b766d){_0x3849a0['push'](_0x3849a0['shift']());}}}(a37_0x2f48,0x3fcb9));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(_0x48f609={}){const _0x226c91=a37_0x43d9;return resolve(_0x48f609[_0x226c91(0xd2)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3aa2a8={}){const _0x46b6f8=a37_0x43d9,_0x15d381=getServiceRegistryPath(_0x3aa2a8);if(!existsSync(_0x15d381))return emptyServiceRegistry();try{const _0xaa9848=readFileSync(_0x15d381,'utf8');if(!_0xaa9848[_0x46b6f8(0x90)]())return emptyServiceRegistry();const _0x1d6347=JSON['parse'](_0xaa9848);if(_0x1d6347[_0x46b6f8(0xa2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x46b6f8(0xb6)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x1d6347[_0x46b6f8(0xa2)]),_0x46b6f8(0xa0)+_0x15d381+'.');if(!Array[_0x46b6f8(0x8f)](_0x1d6347[_0x46b6f8(0x9e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1d6347['updatedAt'],'services':_0x1d6347[_0x46b6f8(0x9e)]};}catch(_0x1f0e1c){if(_0x1f0e1c instanceof Error&&_0x1f0e1c[_0x46b6f8(0xa6)]==='CliError')throw _0x1f0e1c;throw CliErrors[_0x46b6f8(0xb6)](_0x46b6f8(0x8d)+_0x15d381,_0x46b6f8(0xc4));}}export function writeServiceRegistry(_0x30df81,_0x446f9b={}){const _0xc7fd87=a37_0x43d9,_0x131b3a=getServiceRegistryPath(_0x446f9b),_0x4741a9=dirname(_0x131b3a);!existsSync(_0x4741a9)&&mkdirSync(_0x4741a9,{'recursive':!![]});const _0x1c51df=_0x131b3a+_0xc7fd87(0xc7);try{writeFileSync(_0x1c51df,JSON[_0xc7fd87(0x9f)](_0x30df81,null,0x2)+'\x0a',{'encoding':_0xc7fd87(0xbc),'mode':0x180}),renameSync(_0x1c51df,_0x131b3a);}catch(_0x324b9c){try{unlinkSync(_0x1c51df);}catch{}if(_0x324b9c?.[_0xc7fd87(0xc0)]===_0xc7fd87(0xcd))throw CliErrors[_0xc7fd87(0xb6)]('Cannot\x20write\x20service\x20registry:\x20'+_0x131b3a);throw _0x324b9c;}return _0x131b3a;}export function loadServiceManifestFromFile(_0x5c5536){const _0x414b44=a37_0x43d9,_0x430f0c=resolve(_0x5c5536);if(!existsSync(_0x430f0c))throw CliErrors[_0x414b44(0xb6)](_0x414b44(0xc2)+_0x5c5536);let _0x23e9c9;const _0x3bfba5=readFileSync(_0x430f0c,_0x414b44(0xbc));try{_0x23e9c9=JSON['parse'](_0x3bfba5);}catch{throw CliErrors[_0x414b44(0xb6)](_0x414b44(0x93)+_0x5c5536,_0x414b44(0xba));}const _0x557ae2=sha256(_0x3bfba5),_0x238e1c=extractLoadedServiceManifests(_0x23e9c9,_0x557ae2),_0x2ccf02=aggregateValidationReports(_0x238e1c),_0x4f832e=_0x238e1c[0x0];return{'filePath':_0x430f0c,'hash':_0x557ae2,'kind':isServiceRegistryLike(_0x23e9c9)?_0x414b44(0xbe):_0x414b44(0xd3),'manifest':_0x4f832e?.[_0x414b44(0xd3)]??_0x23e9c9,'report':_0x2ccf02,'normalizedManifest':_0x238e1c[_0x414b44(0xab)]===0x1?_0x4f832e?.['normalizedManifest']:undefined,'manifests':_0x238e1c};}function a37_0x2f48(){const _0x46c183=['service','empty','89868BOuLsO','sort','digest','ENOENT','now','8qAaPzG','parse','message','homeDir','manifest','push','updatedAt','warnings','version','1307418tHJCZZ','filePath','toISOString','find','Invalid\x20service\x20registry\x20JSON:\x20','join','isArray','trim','3InAoFz','normalizedManifest','Invalid\x20service\x20manifest\x20JSON:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','splice','findIndex','description','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest','2878920pPEIWz','60545HSijPc','services\x20must\x20be\x20an\x20array','object','services','stringify','Remove\x20or\x20migrate\x20','path','schemaVersion','source','3677022ccxNez','invalid','name','report','$.services[','startsWith','2962716xbIEMZ','length','file','slice','map','serviceCode','commands','].manifest.','flatMap','localeCompare','802284bFWwcD','errors','validation','manifests','148uUKCIW','command','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','cliPath','utf8','Local\x20service\x20not\x20found:\x20','registry','target','code','commandCount','Service\x20manifest\x20file\x20not\x20found:\x20','string','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','registryIndex','reduce','.tmp'];a37_0x2f48=function(){return _0x46c183;};return a37_0x2f48();}export function importServiceManifest(_0x3b78d8,_0x2cd11f={}){const _0x40a87f=a37_0x43d9,_0x55009c=loadServiceManifestFromFile(_0x3b78d8);if(!_0x55009c[_0x40a87f(0xa7)]['ok'])throw CliErrors[_0x40a87f(0xb6)](formatValidationFailure(_0x55009c[_0x40a87f(0xa7)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x55009c[_0x40a87f(0xb7)][_0x40a87f(0xab)]===0x0)throw CliErrors[_0x40a87f(0xb6)](_0x40a87f(0x94),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x5af33a=readServiceRegistry(_0x2cd11f),_0x4710a6=(_0x2cd11f[_0x40a87f(0xce)]??(()=>new Date()))()[_0x40a87f(0x8b)](),_0x3b8c5c=[];let _0x36bda2=0x0,_0x2cf2ea=0x0;for(const _0x822f21 of _0x55009c['manifests']){if(!_0x822f21[_0x40a87f(0x92)])continue;const _0x221d9c=_0x822f21[_0x40a87f(0x92)][_0x40a87f(0xc8)]['code'],_0x5bad64={'serviceCode':_0x221d9c,'version':_0x822f21[_0x40a87f(0x92)][_0x40a87f(0xd7)],'importedAt':_0x4710a6,'source':{'type':_0x40a87f(0xac),'path':_0x55009c[_0x40a87f(0x8a)],'hash':_0x822f21['sourceHash']},'manifest':_0x822f21[_0x40a87f(0xd3)],'normalizedManifest':_0x822f21[_0x40a87f(0x92)]},_0x2b4a84=_0x5af33a['services'][_0x40a87f(0x96)](_0x2f8926=>_0x2f8926[_0x40a87f(0xaf)]===_0x221d9c);_0x2b4a84>=0x0?(_0x5af33a['services'][_0x2b4a84]=_0x5bad64,_0x2cf2ea++):(_0x5af33a[_0x40a87f(0x9e)][_0x40a87f(0xd4)](_0x5bad64),_0x36bda2++),_0x3b8c5c[_0x40a87f(0xd4)](_0x5bad64);}_0x5af33a[_0x40a87f(0x9e)][_0x40a87f(0xcb)]((_0x535946,_0x5662c7)=>_0x535946[_0x40a87f(0xaf)][_0x40a87f(0xb3)](_0x5662c7[_0x40a87f(0xaf)])),_0x5af33a['updatedAt']=_0x4710a6;const _0x2f411d=writeServiceRegistry(_0x5af33a,_0x2cd11f);return{'registryPath':_0x2f411d,'entry':_0x3b8c5c[0x0],'replaced':_0x3b8c5c['length']===0x1?_0x2cf2ea===0x1:_0x2cf2ea>0x0,'entries':_0x3b8c5c,'imported':_0x36bda2,'updated':_0x2cf2ea,'serviceCount':_0x5af33a[_0x40a87f(0x9e)]['length']};}export function exportServiceManifest(_0x3ca431,_0xc011cd,_0x3d05f7={}){const _0x1ac6b9=a37_0x43d9,_0x43add2=getServiceRegistryPath(_0x3d05f7),_0xee7a2c=getLocalServiceEntry(_0x3ca431,_0x3d05f7);if(!_0xee7a2c)throw CliErrors['validation'](_0x1ac6b9(0xbd)+_0x3ca431,_0x1ac6b9(0x98));const _0x21b12b=resolve(_0xc011cd),_0x5c6d13=dirname(_0x21b12b);return!existsSync(_0x5c6d13)&&mkdirSync(_0x5c6d13,{'recursive':!![]}),writeFileSync(_0x21b12b,JSON[_0x1ac6b9(0x9f)](_0xee7a2c[_0x1ac6b9(0xd3)],null,0x2)+'\x0a',{'encoding':_0x1ac6b9(0xbc),'mode':0x180}),{'registryPath':_0x43add2,'filePath':_0x21b12b,'entry':_0xee7a2c};}export function removeServiceManifest(_0x37ecec,_0x3db630={}){const _0x11077d=a37_0x43d9,_0x5998d1=readServiceRegistry(_0x3db630),_0x3293d0=_0x37ecec['trim'](),_0x368c2b=_0x5998d1[_0x11077d(0x9e)][_0x11077d(0x96)](_0x41889d=>_0x41889d[_0x11077d(0xaf)]===_0x3293d0);if(_0x368c2b<0x0)throw CliErrors[_0x11077d(0xb6)](_0x11077d(0xbd)+_0x3293d0,_0x11077d(0x98));const [_0x1d894c]=_0x5998d1[_0x11077d(0x9e)][_0x11077d(0x95)](_0x368c2b,0x1),_0x5dc090=(_0x3db630[_0x11077d(0xce)]??(()=>new Date()))()[_0x11077d(0x8b)]();_0x5998d1[_0x11077d(0xd5)]=_0x5dc090;const _0x2f79e2=writeServiceRegistry(_0x5998d1,_0x3db630);return{'registryPath':_0x2f79e2,'entry':_0x1d894c,'serviceCount':_0x5998d1[_0x11077d(0x9e)]['length']};}export function listLocalServices(_0x548721={}){const _0x4dd557=a37_0x43d9;return readServiceRegistry(_0x548721)[_0x4dd557(0x9e)];}export function getLocalServiceEntry(_0x3c7507,_0x255baf={}){const _0x57b88d=a37_0x43d9;return readServiceRegistry(_0x255baf)[_0x57b88d(0x9e)][_0x57b88d(0x8c)](_0x493f2e=>_0x493f2e['serviceCode']===_0x3c7507[_0x57b88d(0x90)]());}export function listLocalServiceTrees(_0x1f6896={}){const _0x3722e5=a37_0x43d9;return readServiceRegistry(_0x1f6896)['services'][_0x3722e5(0xae)](_0x2ec7e7=>_0x2ec7e7['normalizedManifest']);}export function inspectServiceRegistry(_0x3d0943={}){const _0x4047ae=a37_0x43d9,_0x4a14b8=getServiceRegistryPath(_0x3d0943);if(!existsSync(_0x4a14b8))return emptyServiceRegistryInspection(_0x4a14b8,'missing',![]);try{const _0xde765e=readFileSync(_0x4a14b8,_0x4047ae(0xbc));if(!_0xde765e[_0x4047ae(0x90)]())return emptyServiceRegistryInspection(_0x4a14b8,_0x4047ae(0xc9),!![]);const _0x1e7ce3=JSON[_0x4047ae(0xd0)](_0xde765e);if(_0x1e7ce3[_0x4047ae(0xa2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4a14b8,_0x4047ae(0xa5),!![]),'schemaVersion':_0x1e7ce3[_0x4047ae(0xa2)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x1e7ce3['schemaVersion'])};if(!Array[_0x4047ae(0x8f)](_0x1e7ce3['services']))return{...emptyServiceRegistryInspection(_0x4a14b8,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e7ce3[_0x4047ae(0xd5)],'message':_0x4047ae(0x9c)};const _0x468ec4=_0x1e7ce3[_0x4047ae(0x9e)][_0x4047ae(0xae)](summarizeLocalServiceEntry);return{'registryPath':_0x4a14b8,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e7ce3[_0x4047ae(0xd5)],'serviceCount':_0x468ec4['length'],'commandCount':_0x468ec4[_0x4047ae(0xc6)]((_0x244cc1,_0x26b2d9)=>_0x244cc1+_0x26b2d9[_0x4047ae(0xc1)],0x0),'services':_0x468ec4};}catch(_0x26ce4c){return{...emptyServiceRegistryInspection(_0x4a14b8,'invalid',!![]),'message':_0x26ce4c instanceof Error?_0x26ce4c[_0x4047ae(0xd1)]:String(_0x26ce4c)};}}export function formatValidationFailure(_0x160fc0){const _0x57c9cd=a37_0x43d9,_0x535bb3=_0x160fc0['errors'][_0x57c9cd(0xae)](_0x18c485=>_0x18c485[_0x57c9cd(0xa1)]+':\x20'+_0x18c485[_0x57c9cd(0xd1)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x535bb3[_0x57c9cd(0x8e)]('\x0a');}function extractLoadedServiceManifests(_0x299623,_0x2d88be){const _0x2c887f=a37_0x43d9;if(!isServiceRegistryLike(_0x299623)){const _0x53c51a=_0x299623,_0x2baecb=validateServiceTreeManifest(_0x53c51a);return[{'manifest':_0x53c51a,'report':_0x2baecb,'normalizedManifest':_0x2baecb['ok']?normalizeServiceTreeManifest(_0x53c51a):undefined,'sourceHash':_0x2d88be}];}return _0x299623[_0x2c887f(0x9e)]['map']((_0x5c54b5,_0x1b740c)=>{const _0x435641=_0x2c887f,_0x78e94f=isObjectRecord(_0x5c54b5)?_0x5c54b5[_0x435641(0xd3)]:undefined,_0x4b74b0=validateServiceTreeManifest(_0x78e94f),_0x209f8e=isObjectRecord(_0x5c54b5)&&typeof _0x5c54b5['serviceCode']===_0x435641(0xc3)?_0x5c54b5[_0x435641(0xaf)]:undefined;return{'manifest':_0x78e94f,'report':_0x4b74b0,'normalizedManifest':_0x4b74b0['ok']?normalizeServiceTreeManifest(_0x78e94f):undefined,'sourceHash':sha256(JSON[_0x435641(0x9f)](_0x78e94f,null,0x2)+'\x0a'),'registryIndex':_0x1b740c,'registryServiceCode':_0x209f8e};});}function aggregateValidationReports(_0x224bbc){const _0x22d4b6=a37_0x43d9,_0x99a47c=_0x224bbc[_0x22d4b6(0xb2)](_0x2b2260=>_0x2b2260[_0x22d4b6(0xc5)]===undefined?_0x2b2260[_0x22d4b6(0xa7)][_0x22d4b6(0xb5)]:_0x2b2260[_0x22d4b6(0xa7)]['errors'][_0x22d4b6(0xae)](_0x1db427=>({..._0x1db427,'path':prefixRegistryIssuePath(_0x2b2260[_0x22d4b6(0xc5)],_0x1db427[_0x22d4b6(0xa1)])}))),_0x14b790=_0x224bbc[_0x22d4b6(0xb2)](_0x1a126d=>_0x1a126d['registryIndex']===undefined?_0x1a126d[_0x22d4b6(0xa7)][_0x22d4b6(0xd6)]:_0x1a126d[_0x22d4b6(0xa7)][_0x22d4b6(0xd6)][_0x22d4b6(0xae)](_0x347d06=>({..._0x347d06,'path':prefixRegistryIssuePath(_0x1a126d[_0x22d4b6(0xc5)],_0x347d06[_0x22d4b6(0xa1)])})));return{'ok':_0x99a47c[_0x22d4b6(0xab)]===0x0,'errors':_0x99a47c,'warnings':_0x14b790};}function prefixRegistryIssuePath(_0x37c709,_0x3dad7c){const _0x5b5e76=a37_0x43d9;if(_0x3dad7c==='$')return _0x5b5e76(0xa8)+_0x37c709+_0x5b5e76(0x99);if(_0x3dad7c[_0x5b5e76(0xa9)]('$.'))return _0x5b5e76(0xa8)+_0x37c709+_0x5b5e76(0x99)+_0x3dad7c[_0x5b5e76(0xad)](0x1);if(_0x3dad7c[_0x5b5e76(0xa9)]('$['))return _0x5b5e76(0xa8)+_0x37c709+'].manifest'+_0x3dad7c[_0x5b5e76(0xad)](0x1);return _0x5b5e76(0xa8)+_0x37c709+_0x5b5e76(0xb1)+_0x3dad7c;}function a37_0x43d9(_0x4a4dac,_0x4e9224){_0x4a4dac=_0x4a4dac-0x89;const _0x2f48df=a37_0x2f48();let _0x43d98d=_0x2f48df[_0x4a4dac];return _0x43d98d;}function isServiceRegistryLike(_0x331e76){const _0x5272ff=a37_0x43d9;return isObjectRecord(_0x331e76)&&_0x331e76[_0x5272ff(0xa2)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5272ff(0x8f)](_0x331e76[_0x5272ff(0x9e)]);}function isObjectRecord(_0x2983a6){const _0x4cae0c=a37_0x43d9;return Boolean(_0x2983a6)&&typeof _0x2983a6===_0x4cae0c(0x9d)&&!Array['isArray'](_0x2983a6);}function emptyServiceRegistryInspection(_0x354c3a,_0x5bcdb4,_0x16a4b6){return{'registryPath':_0x354c3a,'exists':_0x16a4b6,'status':_0x5bcdb4,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x5d47d5){const _0x5afdc0=a37_0x43d9,_0x5c3a51=_0x5d47d5['normalizedManifest'],_0x14f410=_0x5c3a51[_0x5afdc0(0xb0)][_0x5afdc0(0xae)](_0x44f577=>({'path':_0x44f577[_0x5afdc0(0xbb)],'description':_0x44f577[_0x5afdc0(0x97)],'risk':_0x44f577['risk'],'targetKind':_0x44f577[_0x5afdc0(0xbf)]['kind'],'targetCommand':_0x44f577['target'][_0x5afdc0(0xb9)]}));return{'serviceCode':_0x5d47d5[_0x5afdc0(0xaf)],'name':_0x5c3a51['service']['name'],'description':_0x5c3a51[_0x5afdc0(0xc8)][_0x5afdc0(0x97)],'version':_0x5d47d5[_0x5afdc0(0xd7)],'importedAt':_0x5d47d5['importedAt'],'source':_0x5d47d5[_0x5afdc0(0xa3)],'commandCount':_0x14f410[_0x5afdc0(0xab)],'commands':_0x14f410};}function sha256(_0x226948){const _0x1d93e4=a37_0x43d9;return createHash('sha256')['update'](_0x226948)[_0x1d93e4(0xcc)]('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a38_0x28196d=a38_0x56fd;(function(_0x414e12,_0x381db2){const _0x3a8aa9=a38_0x56fd,_0x5d0c22=_0x414e12();while(!![]){try{const _0x45f1f4=parseInt(_0x3a8aa9(0x17f))/0x1*(parseInt(_0x3a8aa9(0x18c))/0x2)+parseInt(_0x3a8aa9(0x186))/0x3*(-parseInt(_0x3a8aa9(0x193))/0x4)+parseInt(_0x3a8aa9(0x185))/0x5*(parseInt(_0x3a8aa9(0x196))/0x6)+-parseInt(_0x3a8aa9(0x182))/0x7*(-parseInt(_0x3a8aa9(0x190))/0x8)+-parseInt(_0x3a8aa9(0x18f))/0x9+-parseInt(_0x3a8aa9(0x199))/0xa*(parseInt(_0x3a8aa9(0x19f))/0xb)+parseInt(_0x3a8aa9(0x183))/0xc;if(_0x45f1f4===_0x381db2)break;else _0x5d0c22['push'](_0x5d0c22['shift']());}catch(_0x35c12e){_0x5d0c22['push'](_0x5d0c22['shift']());}}}(a38_0x168f,0xf3fdd));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a38_0x56fd(_0x3d652b,_0x9e3b87){_0x3d652b=_0x3d652b-0x17e;const _0x168f72=a38_0x168f();let _0x56fd20=_0x168f72[_0x3d652b];return _0x56fd20;}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':'skill','command':a38_0x28196d(0x191),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a38_0x28196d(0x17e),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x12fb9e){const _0x453935=a38_0x28196d,_0x44c868=buildSkillCreatePlan(_0x12fb9e[_0x453935(0x189)]('name'),_0x12fb9e[_0x453935(0x189)](_0x453935(0x194)),_0x12fb9e['str']('target'));return{'method':_0x453935(0x19a),'url':_0x44c868['skillDir'],'body':{'skillName':_0x44c868[_0x453935(0x187)][_0x453935(0x184)],'type':_0x44c868[_0x453935(0x187)][_0x453935(0x194)],'selfContained':!![],'files':_0x44c868[_0x453935(0x187)][_0x453935(0x18e)]['map'](_0x2a7485=>_0x2a7485['path'])},'description':_0x453935(0x19e)};},async 'execute'(_0x2aed64){const _0x3bdce5=a38_0x28196d,_0x61bbc2=buildSkillCreatePlan(_0x2aed64[_0x3bdce5(0x189)](_0x3bdce5(0x18a)),_0x2aed64[_0x3bdce5(0x189)]('type'),_0x2aed64['str'](_0x3bdce5(0x19b)));return writeSkillDraft(_0x61bbc2,_0x2aed64[_0x3bdce5(0x197)](_0x3bdce5(0x198))),{'ok':!![],'data':{'skillName':_0x61bbc2['rendered'][_0x3bdce5(0x184)],'type':_0x61bbc2[_0x3bdce5(0x187)][_0x3bdce5(0x194)],'dir':_0x61bbc2[_0x3bdce5(0x195)],'files':_0x61bbc2[_0x3bdce5(0x187)][_0x3bdce5(0x18e)]['map'](_0x2831ae=>_0x2831ae[_0x3bdce5(0x18b)])},'message':_0x3bdce5(0x180)+_0x61bbc2[_0x3bdce5(0x187)][_0x3bdce5(0x184)]};}};function buildSkillCreatePlan(_0x80d874,_0xedee73,_0x2d81ff){const _0x2f7601=a38_0x28196d,_0x5b63bd=renderSkillTemplate({'skillName':_0x80d874,'type':_0xedee73}),_0x2ba46b=resolve(normalizeSkillTarget(_0x2d81ff));return{'rendered':_0x5b63bd,'targetRoot':_0x2ba46b,'skillDir':resolve(_0x2ba46b,_0x5b63bd[_0x2f7601(0x184)])};}function normalizeSkillTarget(_0x3fc380){const _0x461a58=a38_0x28196d;return(_0x3fc380||DEFAULT_SKILL_TARGET)[_0x461a58(0x1a0)]()||DEFAULT_SKILL_TARGET;}function a38_0x168f(){const _0x52d925=['name','path','10wPyIpG','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','files','2924721imYogy','2557768ZyxDyY','create','isDirectory','4661708hZRklM','type','skillDir','6iRgTya','bool','force','9400590rGYlIf','WRITE','target','utf8','content','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','11mDEymv','trim','validation','write','352421lmiZQh','Created\x20local\x20Skill\x20draft\x20','isSymbolicLink','14Xgbeor','10276968UDpaFy','skillName','859415uFRWQI','3DQxcLh','rendered','Refusing\x20to\x20overwrite\x20symlink:\x20','str'];a38_0x168f=function(){return _0x52d925;};return a38_0x168f();}function writeSkillDraft(_0x5edca3,_0x39dbbc){const _0xffb851=a38_0x28196d;if(existsSync(_0x5edca3[_0xffb851(0x195)])){const _0x517350=lstatSync(_0x5edca3[_0xffb851(0x195)]);if(!_0x517350[_0xffb851(0x192)]()||_0x517350[_0xffb851(0x181)]())throw CliErrors[_0xffb851(0x1a1)](_0xffb851(0x18d)+_0x5edca3[_0xffb851(0x195)]);if(!_0x39dbbc)throw CliErrors[_0xffb851(0x1a1)]('Skill\x20directory\x20already\x20exists:\x20'+_0x5edca3[_0xffb851(0x195)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x15dd42 of _0x5edca3['rendered'][_0xffb851(0x18e)]){const _0x34f56b=resolve(_0x5edca3[_0xffb851(0x195)],_0x15dd42[_0xffb851(0x18b)]),_0xef1a8f=dirname(_0x34f56b);mkdirSync(_0xef1a8f,{'recursive':!![]});if(existsSync(_0x34f56b)&&lstatSync(_0x34f56b)[_0xffb851(0x181)]())throw CliErrors['validation'](_0xffb851(0x188)+_0x34f56b);writeFileSync(_0x34f56b,_0x15dd42[_0xffb851(0x19d)],_0xffb851(0x19c));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a39_0x5801d5=a39_0x1538;(function(_0x3448d9,_0x5e7900){const _0xba988f=a39_0x1538,_0x5e31b8=_0x3448d9();while(!![]){try{const _0x4efb2e=parseInt(_0xba988f(0x108))/0x1*(parseInt(_0xba988f(0x118))/0x2)+-parseInt(_0xba988f(0x102))/0x3*(parseInt(_0xba988f(0x124))/0x4)+parseInt(_0xba988f(0x122))/0x5*(parseInt(_0xba988f(0x119))/0x6)+parseInt(_0xba988f(0x129))/0x7*(-parseInt(_0xba988f(0x10d))/0x8)+-parseInt(_0xba988f(0x10a))/0x9*(parseInt(_0xba988f(0x101))/0xa)+-parseInt(_0xba988f(0x104))/0xb+parseInt(_0xba988f(0x105))/0xc;if(_0x4efb2e===_0x5e7900)break;else _0x5e31b8['push'](_0x5e31b8['shift']());}catch(_0x39de39){_0x5e31b8['push'](_0x5e31b8['shift']());}}}(a39_0x2f35,0xeab3b));function a39_0x1538(_0x47447f,_0x4c1847){_0x47447f=_0x47447f-0xfe;const _0x2f35e5=a39_0x2f35();let _0x153890=_0x2f35e5[_0x47447f];return _0x153890;}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':a39_0x5801d5(0x103),'command':a39_0x5801d5(0x117),'description':a39_0x5801d5(0x10b),'risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x455a76){return syncRuntimeSkills(_0x455a76);}};async function syncRuntimeSkills(_0x2cc915){const _0xecc6a9=a39_0x5801d5,{downloadRuntimeSkillPackage:_0x2c008d,listRuntimeSkills:_0xdeec26}=await import(_0xecc6a9(0xff)),{linkEffectiveRuntimeSkills:_0x127835,materializeRuntimeSkill:_0x21c3d8,pruneStaleRuntimeSkillCache:_0x5a827f,pruneStaleRuntimeSkillLinks:_0x3238c1}=await import(_0xecc6a9(0x125)),_0x2dc944=_0x2cc915[_0xecc6a9(0x110)](_0xecc6a9(0x12c)),_0x3f101c=normalizeSyncScopes(_0x2cc915[_0xecc6a9(0x110)](_0xecc6a9(0x11a))),_0x519646=_0x2cc915[_0xecc6a9(0x112)]??_0xecc6a9(0x10f),_0x1e7dd3=_0x2cc915[_0xecc6a9(0x11f)];if(!_0x1e7dd3)throw CliErrors[_0xecc6a9(0xfe)](_0xecc6a9(0x123));const _0x5afaa8=await Promise[_0xecc6a9(0x115)](_0x3f101c[_0xecc6a9(0x12b)](_0x1c20a6=>_0xdeec26({'appCode':_0x2cc915[_0xecc6a9(0x12a)],'scope':_0x1c20a6,'code':_0x2dc944['trim']()||undefined}))),_0x4d6147=_0x3f101c[_0xecc6a9(0x111)](_0xecc6a9(0x126))?_0x5afaa8[_0xecc6a9(0x116)]((_0x54f7c2,_0x230d6e)=>_0x3f101c[_0x230d6e]===_0xecc6a9(0x126)?_0x54f7c2[_0xecc6a9(0x126)]:[]):[],_0x329e6d=_0x3f101c[_0xecc6a9(0x111)](_0xecc6a9(0x113))?_0x5afaa8['flatMap']((_0x2e549c,_0x11914f)=>_0x3f101c[_0x11914f]===_0xecc6a9(0x113)?_0x2e549c[_0xecc6a9(0x113)]:[]):[],_0x4c2c1a=new Set([..._0x4d6147[_0xecc6a9(0x12b)](_0x3de126=>_0x3de126['skillCode']?.[_0xecc6a9(0x120)]())[_0xecc6a9(0x11d)](_0x244c86=>Boolean(_0x244c86)),..._0x329e6d['map'](_0x51ce84=>_0x51ce84['skillCode']?.[_0xecc6a9(0x120)]())['filter'](_0x29bb2a=>Boolean(_0x29bb2a))]),_0x328936=_0x2dc944['trim']()?[_0x2dc944[_0xecc6a9(0x120)]()]:undefined,_0x58fc8c=_0x3f101c['length']===0x2&&_0x3f101c[_0xecc6a9(0x111)](_0xecc6a9(0x126))&&_0x3f101c[_0xecc6a9(0x111)](_0xecc6a9(0x113)),_0x3fc35b=_0x58fc8c?_0x3238c1(_0x2cc915[_0xecc6a9(0x12a)],_0x4c2c1a,{},_0x328936):[],_0x151cfa=_0x5a827f({'env':_0x519646,'accessKey':_0x1e7dd3,'appCode':_0x2cc915[_0xecc6a9(0x12a)],'activeSkillCodes':_0x4c2c1a,'pruneSkillCodes':_0x328936,'scopes':_0x3f101c}),_0x5068e4=[];for(const _0x46eace of _0x4d6147){_0x5068e4[_0xecc6a9(0x11e)](_0x21c3d8(_0x46eace,'personal',{'env':_0x519646,'accessKey':_0x1e7dd3,'appCode':_0x2cc915[_0xecc6a9(0x12a)],'packageBytes':await downloadSkillPackage(_0x46eace,_0xecc6a9(0x126),_0x2cc915['appCode'],_0x2c008d)}));}for(const _0x1a3911 of _0x329e6d){_0x5068e4[_0xecc6a9(0x11e)](_0x21c3d8(_0x1a3911,_0xecc6a9(0x113),{'env':_0x519646,'accessKey':_0x1e7dd3,'appCode':_0x2cc915[_0xecc6a9(0x12a)],'packageBytes':await downloadSkillPackage(_0x1a3911,_0xecc6a9(0x113),_0x2cc915['appCode'],_0x2c008d)}));}const _0x22ec4a=_0x127835(_0x5068e4,_0x2cc915[_0xecc6a9(0x12a)]),_0x442af4=countLinkActions(_0x22ec4a);return{'ok':!![],'data':{'appCode':_0x2cc915['appCode'],'personal':_0x4d6147[_0xecc6a9(0x106)],'company':_0x329e6d[_0xecc6a9(0x106)],'materialized':_0x5068e4[_0xecc6a9(0x106)],'links':{'total':_0x22ec4a[_0xecc6a9(0x106)],'created':_0x442af4[_0xecc6a9(0x100)]??0x0,'updated':_0x442af4[_0xecc6a9(0x127)]??0x0,'unchanged':_0x442af4[_0xecc6a9(0x10e)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x3fc35b[_0xecc6a9(0x11d)](_0x1b30f1=>_0x1b30f1[_0xecc6a9(0x107)]===_0xecc6a9(0x10c))[_0xecc6a9(0x106)],'cacheDirs':_0x151cfa[_0xecc6a9(0x11d)](_0x266a27=>_0x266a27['action']===_0xecc6a9(0x10c))[_0xecc6a9(0x106)],'skipped':[..._0x3fc35b,..._0x151cfa][_0xecc6a9(0x11d)](_0x19d1b9=>_0x19d1b9[_0xecc6a9(0x107)]===_0xecc6a9(0x11c))['length']},'skills':{'personal':_0x4d6147[_0xecc6a9(0x12b)](summarizeRuntimeSkill),'company':_0x329e6d[_0xecc6a9(0x12b)](summarizeRuntimeSkill)}},'message':_0xecc6a9(0x11b)+_0x4d6147['length']+_0xecc6a9(0x109)+_0x329e6d[_0xecc6a9(0x106)]+'\x20company\x20Skill(s).'};}function a39_0x2f35(){const _0x4bdb84=['782593voAKcN','appCode','map','code','authRequired','../../../core/api-client.js','created','12140DfIbmB','3699WcZFSr','skill','17985044Srbqya','55841292Xpjsye','length','action','1185178mkknsf','\x20personal\x20and\x20','8145WtCJdW','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','removed','104iSwAza','unchanged','production','str','includes','envName','company','reduce','all','flatMap','install','2etKBZw','54VpRXjM','scope','Installed\x20','skipped','filter','push','accessKey','trim','skillCode','14530WKAlzM','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','2324zprwvZ','../../../skills/runtime-skill-sync.js','personal','updated','version'];a39_0x2f35=function(){return _0x4bdb84;};return a39_0x2f35();}async function downloadSkillPackage(_0x183a23,_0x4c81e2,_0x4f55b5,_0x154d72){const _0x14be28=a39_0x5801d5,_0x26b7f1=_0x183a23[_0x14be28(0x128)]?.[_0x14be28(0x120)]();return _0x26b7f1?_0x154d72(_0x4c81e2,_0x183a23['skillCode'],_0x4f55b5,_0x26b7f1):_0x154d72(_0x4c81e2,_0x183a23[_0x14be28(0x121)],_0x4f55b5);}function countLinkActions(_0x573dd8){const _0x4356d2=a39_0x5801d5;return _0x573dd8[_0x4356d2(0x114)]((_0x51077a,_0x1c53a9)=>{const _0x537ce3=_0x4356d2;return _0x51077a[_0x1c53a9[_0x537ce3(0x107)]]=(_0x51077a[_0x1c53a9['action']]??0x0)+0x1,_0x51077a;},{});}
|