@lovrabet/lovrabet-cli 2.1.7-beta.3 → 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 -0
- package/lib/commands/app-config/index.js +1 -0
- package/lib/commands/app-config/shared.js +1 -0
- 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 a29_0x5b403f=a29_0x23ab;(function(_0xb06a82,_0x2edf0d){const _0x1991d4=a29_0x23ab,_0x301397=_0xb06a82();while(!![]){try{const _0x35b79c=parseInt(_0x1991d4(0x182))/0x1*(-parseInt(_0x1991d4(0x17f))/0x2)+-parseInt(_0x1991d4(0x16f))/0x3+-parseInt(_0x1991d4(0x167))/0x4+-parseInt(_0x1991d4(0x179))/0x5*(parseInt(_0x1991d4(0x198))/0x6)+parseInt(_0x1991d4(0x19a))/0x7+parseInt(_0x1991d4(0x17b))/0x8*(parseInt(_0x1991d4(0x188))/0x9)+parseInt(_0x1991d4(0x1a4))/0xa;if(_0x35b79c===_0x2edf0d)break;else _0x301397['push'](_0x301397['shift']());}catch(_0x3b6ab2){_0x301397['push'](_0x301397['shift']());}}}(a29_0x3086,0x3d9cd));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x5b403f(0x1a7),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x1a5)},FUNCTION_NAME_FLAG={'name':a29_0x5b403f(0x16e),'type':'string','required':!![],'description':a29_0x5b403f(0x192)},DESCRIPTION_FLAG={'name':a29_0x5b403f(0x1a8),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x196)},SOURCE_SESSION_FLAG={'name':a29_0x5b403f(0x177),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x19d)};function normalizeFunctionName(_0x3b41af){const _0x2df269=a29_0x5b403f,_0x1aea0c=String(_0x3b41af||'')[_0x2df269(0x189)]();if(!_0x1aea0c||!FUNCTION_NAME_PATTERN[_0x2df269(0x19b)](_0x1aea0c))throw CliErrors[_0x2df269(0x1a2)](_0x2df269(0x17e));return _0x1aea0c;}function readScriptFile(_0x28b25a){const _0x3d4aa2=a29_0x5b403f;if(!_0x28b25a)throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x184));if(!existsSync(_0x28b25a))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x28b25a);if(!statSync(_0x28b25a)[_0x3d4aa2(0x1a0)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x185)+_0x28b25a);const _0xe1dec0=readFileSync(_0x28b25a,'utf8');if(!_0xe1dec0[_0x3d4aa2(0x189)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x18b));return _0xe1dec0;}function a29_0x23ab(_0x1462db,_0x26279f){_0x1462db=_0x1462db-0x164;const _0x308662=a29_0x3086();let _0x23abf0=_0x308662[_0x1462db];return _0x23abf0;}function a29_0x3086(){const _0x2b89dc=['isArray','gmtModified','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','9622khNUWM','create','num','27JOCjvB','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','gmtCreate','Preview:\x20create\x20personal\x20BFF\x20','377343ozAKqe','trim','flag','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/update','length','body','read','updateTime','Executed\x20personal\x20BFF\x20','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','list','personal-bff','/client/runtime-bff/personal/','Personal\x20BFF\x20description','update','12HjHIWp','Preview:\x20update\x20personal\x20BFF\x20','2852815cdnbMO','test','sourceSessionId','Optional\x20source\x20RuntimeAgent\x20session\x20id','write','exec','isFile','high-risk-write','validation','createUserId','1033800aVsqVc','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','scriptContent','file','description','functionName','keys','verbose','1804020XUammg','map','version','string','Show\x20one\x20personal\x20BFF\x20by\x20id','scriptType','Updated\x20personal\x20BFF\x20','name','26178LJVFiA','--params\x20must\x20be\x20a\x20JSON\x20object.','POST','params','str','Created\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','source-session-id','detail','220505ssUHTp','appCode','80luzzgI'];a29_0x3086=function(){return _0x2b89dc;};return a29_0x3086();}function optionalTrimmed(_0x40ceac){const _0x209302=a29_0x5b403f,_0x1b1422=String(_0x40ceac||'')[_0x209302(0x189)]();return _0x1b1422||undefined;}function summarizeBff(_0x1b60b4){const _0x212e76=a29_0x5b403f;return{'id':_0x1b60b4['id'],'appCode':_0x1b60b4[_0x212e76(0x17a)],'functionName':_0x1b60b4[_0x212e76(0x164)],'description':_0x1b60b4[_0x212e76(0x1a8)],'scriptType':_0x1b60b4[_0x212e76(0x16c)],'version':_0x1b60b4['version'],'gmtModified':_0x1b60b4[_0x212e76(0x17d)],'updateTime':_0x1b60b4['updateTime']};}function detailBff(_0x51b3f4){const _0x58ed10=a29_0x5b403f;return{'id':_0x51b3f4['id'],'appCode':_0x51b3f4['appCode'],'functionName':_0x51b3f4[_0x58ed10(0x164)],'description':_0x51b3f4[_0x58ed10(0x1a8)],'scriptType':_0x51b3f4[_0x58ed10(0x16c)],'scriptContent':_0x51b3f4[_0x58ed10(0x1a6)]??'','config':_0x51b3f4['config'],'version':_0x51b3f4[_0x58ed10(0x169)],'createUserId':_0x51b3f4[_0x58ed10(0x1a3)],'gmtCreate':_0x51b3f4[_0x58ed10(0x186)],'gmtModified':_0x51b3f4[_0x58ed10(0x17d)],'createTime':_0x51b3f4['createTime'],'updateTime':_0x51b3f4[_0x58ed10(0x190)]};}function buildCreateInput(_0x42840a){const _0xcc40fd=a29_0x5b403f;return{'functionName':normalizeFunctionName(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x16e))),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x1a8)))?{'description':optionalTrimmed(_0x42840a['str'](_0xcc40fd(0x1a8)))}:{},'scriptContent':readScriptFile(_0x42840a['str']('file')),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))?{'sourceSessionId':optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))}:{}};}function buildUpdateInput(_0x3c5e3a){const _0x3bd461=a29_0x5b403f,_0x528755={};optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e)))&&(_0x528755['functionName']=normalizeFunctionName(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e))));_0x3c5e3a['flag'](_0x3bd461(0x1a8))!==undefined&&(_0x528755[_0x3bd461(0x1a8)]=_0x3c5e3a['str']('description'));optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)]('file'))&&(_0x528755[_0x3bd461(0x1a6)]=readScriptFile(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x1a7))));_0x3c5e3a[_0x3bd461(0x18a)]('source-session-id')!==undefined&&(_0x528755[_0x3bd461(0x19c)]=_0x3c5e3a['str']('source-session-id'));if(Object[_0x3bd461(0x165)](_0x528755)['length']===0x0)throw CliErrors[_0x3bd461(0x1a2)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x528755;}function parseExecParams(_0x4446f9){const _0x3e11f0=a29_0x5b403f,_0x5d6629=parseJsonParams(_0x4446f9)??{};if(Array[_0x3e11f0(0x17c)](_0x5d6629))throw CliErrors['validation'](_0x3e11f0(0x170));return _0x5d6629;}const personalBffList={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x193),'description':a29_0x5b403f(0x183),'risk':a29_0x5b403f(0x18f),'flags':[VERBOSE_FLAG],async 'execute'(_0x2dca97){const _0xc77dd6=a29_0x5b403f,_0x5db7ca=await listPersonalBffs(_0x2dca97[_0xc77dd6(0x17a)]);return{'ok':!![],'data':{'total':_0x5db7ca[_0xc77dd6(0x18d)],'items':_0x2dca97['bool'](_0xc77dd6(0x166))?_0x5db7ca:_0x5db7ca[_0xc77dd6(0x168)](summarizeBff)}};}},personalBffDetail={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x178),'description':a29_0x5b403f(0x16b),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)}],async 'execute'(_0x29520c){const _0x6a6e6e=a29_0x5b403f,_0x47fb55=await getPersonalBff(_0x29520c['num']('id'),_0x29520c[_0x6a6e6e(0x17a)]);return{'ok':!![],'data':detailBff(_0x47fb55)};}},personalBffCreate={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x180),'description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x5b403f(0x19e),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2be042){const _0x39aac4=a29_0x5b403f,_0x19a34f=buildCreateInput(_0x2be042),_0x2f3555=await createPersonalBff(_0x2be042[_0x39aac4(0x17a)],_0x19a34f);return{'ok':!![],'data':detailBff(_0x2f3555),'message':_0x39aac4(0x174)+_0x2f3555['id']+(_0x2f3555[_0x39aac4(0x164)]?'\x20('+_0x2f3555[_0x39aac4(0x164)]+')':'')};},async 'dryRun'(_0x3e9feb){const _0x1d0f30=a29_0x5b403f,_0x2a3c6e=buildCreateInput(_0x3e9feb);return dryRun(_0x1d0f30(0x171),'/client/runtime-bff/personal/create')[_0x1d0f30(0x18e)]({'appCode':_0x3e9feb[_0x1d0f30(0x17a)],..._0x2a3c6e})[_0x1d0f30(0x1a8)](_0x1d0f30(0x187)+_0x2a3c6e[_0x1d0f30(0x164)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x5b403f(0x197),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x5b403f(0x19e),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x14be0e){const _0x18eef5=a29_0x5b403f,_0x3f5236=_0x14be0e[_0x18eef5(0x181)]('id'),_0x515b0d=buildUpdateInput(_0x14be0e),_0x53e733=await updatePersonalBff(_0x3f5236,_0x14be0e[_0x18eef5(0x17a)],_0x515b0d);return{'ok':!![],'data':detailBff(_0x53e733),'message':_0x18eef5(0x16d)+_0x53e733['id']+(_0x53e733[_0x18eef5(0x164)]?'\x20('+_0x53e733[_0x18eef5(0x164)]+')':'')};},async 'dryRun'(_0x487131){const _0x4f2762=a29_0x5b403f,_0x3679c9=_0x487131['num']('id'),_0x275c8b=buildUpdateInput(_0x487131);return dryRun(_0x4f2762(0x171),_0x4f2762(0x195)+_0x3679c9+_0x4f2762(0x18c))[_0x4f2762(0x18e)]({'appCode':_0x487131[_0x4f2762(0x17a)],..._0x275c8b})[_0x4f2762(0x1a8)](_0x4f2762(0x199)+_0x3679c9)['build']();}},personalBffExec={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x19f),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':a29_0x5b403f(0x1a1),'flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)},{...PARAMS_FLAG,'description':a29_0x5b403f(0x176)}],async 'validate'(_0x3c5a5b){const _0x561079=a29_0x5b403f;parseExecParams(_0x3c5a5b[_0x561079(0x173)](_0x561079(0x172)));},async 'execute'(_0x1460d6){const _0x28e052=a29_0x5b403f,_0x45a401=_0x1460d6[_0x28e052(0x181)]('id'),_0x3d299e=parseExecParams(_0x1460d6[_0x28e052(0x173)]('params')),_0x3c47ad=await executePersonalBff(_0x45a401,_0x1460d6[_0x28e052(0x17a)],_0x3d299e);return{'ok':!![],'data':{'result':_0x3c47ad},'message':_0x28e052(0x191)+_0x45a401};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a32_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
|
-
const
|
|
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(_0x4275db,_0x144dac){const _0x4e9a8f=a32_0x2a35,_0x5207b5=_0x4275db();while(!![]){try{const _0x113f4c=-parseInt(_0x4e9a8f(0x9c))/0x1*(-parseInt(_0x4e9a8f(0xa4))/0x2)+-parseInt(_0x4e9a8f(0xa0))/0x3*(-parseInt(_0x4e9a8f(0xe8))/0x4)+parseInt(_0x4e9a8f(0xa9))/0x5*(-parseInt(_0x4e9a8f(0xa8))/0x6)+parseInt(_0x4e9a8f(0xe1))/0x7*(-parseInt(_0x4e9a8f(0xd5))/0x8)+-parseInt(_0x4e9a8f(0x9a))/0x9+parseInt(_0x4e9a8f(0x8f))/0xa*(-parseInt(_0x4e9a8f(0xcb))/0xb)+-parseInt(_0x4e9a8f(0x92))/0xc*(-parseInt(_0x4e9a8f(0xed))/0xd);if(_0x113f4c===_0x144dac)break;else _0x5207b5['push'](_0x5207b5['shift']());}catch(_0x1bb2d2){_0x5207b5['push'](_0x5207b5['shift']());}}}(a32_0x11cd,0x6e07c));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4752f7,_0x2ede6b){const _0x3d328a=a32_0x2a35,_0x5d184e=listLocalServiceTrees();let _0x118734;for(const _0x2fd0fb of _0x5d184e){const _0x11831a=matchServiceTreeCommand(_0x2fd0fb,_0x4752f7);if(!_0x11831a)continue;(!_0x118734||_0x11831a[_0x3d328a(0xbc)][_0x3d328a(0xa1)][_0x3d328a(0xbe)]>_0x118734[_0x3d328a(0xbc)]['fullPath'][_0x3d328a(0xbe)])&&(_0x118734={'tree':_0x2fd0fb,'command':_0x11831a[_0x3d328a(0xbc)],'remainingArgs':_0x11831a[_0x3d328a(0xc2)]});}if(!_0x118734)return undefined;const _0x245abf={..._0x2ede6b};return applyAppBinding(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)],_0x245abf),{'definition':buildDynamicCommandDefinition(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)]),'args':_0x118734[_0x3d328a(0xc2)],'flags':_0x245abf,'tree':_0x118734[_0x3d328a(0xb0)],'command':_0x118734[_0x3d328a(0xbc)]};}export function generateDynamicServiceHelp(_0x5bee47){const _0x221cd4=a32_0x2a35,_0x8667cc=listLocalServiceTrees()[_0x221cd4(0x8e)](_0xc655c=>_0xc655c[_0x221cd4(0xbb)][_0x221cd4(0xae)]===_0x5bee47);if(!_0x8667cc)return undefined;const _0x4658c0=[CLI_BIN_NAME+'\x20'+_0x5bee47+_0x221cd4(0xb9),'',_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe0)]||_0x5bee47,_0x8667cc[_0x221cd4(0xbb)]['description']?'\x20\x20'+_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe4)]:'','',_0x221cd4(0xb2),..._0x8667cc[_0x221cd4(0xb6)][_0x221cd4(0xcd)](_0x1aaf75=>{const _0x1a6179=_0x221cd4,_0x5df8a9=_0x1aaf75[_0x1a6179(0xa1)]['slice'](0x1)[_0x1a6179(0xad)]('\x20'),_0x252fb3=_0x1aaf75['risk']===_0x1a6179(0xbf)?'':'\x20['+_0x1aaf75['risk']+']';return'\x20\x20'+_0x5df8a9[_0x1a6179(0x93)](0x18)+'\x20'+(_0x1aaf75['description']||'')+_0x252fb3;}),'',_0x221cd4(0xb1)+CLI_BIN_NAME+_0x221cd4(0xd7)+_0x5bee47+_0x221cd4(0xca)][_0x221cd4(0xec)](Boolean);return _0x4658c0[_0x221cd4(0xad)]('\x0a');}export function listDynamicServiceEntries(){const _0x2e4675=a32_0x2a35;return listLocalServices()[_0x2e4675(0xcd)](_0x3ccab8=>{const _0x325383=_0x2e4675,_0x209a5e=_0x3ccab8[_0x325383(0xf1)];return{'service':_0x209a5e[_0x325383(0xbb)]['code'],'label':_0x209a5e[_0x325383(0xbb)][_0x325383(0xe0)]||_0x209a5e[_0x325383(0xbb)][_0x325383(0xae)],'commands':_0x209a5e[_0x325383(0xb6)][_0x325383(0xcd)](_0x3d4f6f=>({'command':dynamicCommandName(_0x3d4f6f),'description':_0x3d4f6f[_0x325383(0xe4)]||'Run\x20service\x20command\x20'+_0x3d4f6f[_0x325383(0xe9)],'tag':riskTag(_0x3d4f6f['risk'])}))};});}function a32_0x2a35(_0x2ae87b,_0x3825e6){_0x2ae87b=_0x2ae87b-0x8a;const _0x11cd2f=a32_0x11cd();let _0x2a357a=_0x11cd2f[_0x2ae87b];return _0x2a357a;}export function getDynamicServiceEntry(_0x1bfa0b){const _0x2280ac=a32_0x2a35;return listDynamicServiceEntries()['find'](_0x5ab528=>_0x5ab528[_0x2280ac(0xbb)]===_0x1bfa0b);}export function listDynamicServiceDefinitions(_0x5319b8){const _0x3c3bc6=a32_0x2a35;return listLocalServiceTrees()[_0x3c3bc6(0xec)](_0x1fccbc=>!_0x5319b8||_0x1fccbc[_0x3c3bc6(0xbb)][_0x3c3bc6(0xae)]===_0x5319b8)['flatMap'](_0x17b4cc=>_0x17b4cc[_0x3c3bc6(0xb6)]['map'](_0x4b572a=>buildDynamicCommandDefinition(_0x17b4cc,_0x4b572a)));}export function getDynamicServiceDefinitions(_0x45ad7a){const _0x55989e=a32_0x2a35,_0xe65890=listDynamicServiceDefinitions(_0x45ad7a);return _0xe65890[_0x55989e(0xbe)]>0x0?_0xe65890:undefined;}export function findDynamicServiceDefinition(_0x32c116,_0x32956c){const _0x1ed715=a32_0x2a35;return listDynamicServiceDefinitions(_0x32c116)[_0x1ed715(0x8e)](_0x2745cf=>_0x2745cf[_0x1ed715(0xbc)]===_0x32956c);}export function buildDynamicCommandDefinition(_0x1eafa0,_0x204ecf){const _0x4fd3ef=a32_0x2a35;return{'service':_0x1eafa0[_0x4fd3ef(0xbb)][_0x4fd3ef(0xae)],'command':dynamicCommandName(_0x204ecf),'description':_0x204ecf[_0x4fd3ef(0xe4)]||_0x4fd3ef(0x91)+_0x204ecf[_0x4fd3ef(0xe9)],'risk':_0x204ecf['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x204ecf[_0x4fd3ef(0xe5)][_0x4fd3ef(0xcd)](_0x22aa31=>({'name':_0x22aa31[_0x4fd3ef(0xe0)],'description':_0x22aa31[_0x4fd3ef(0xe4)]||_0x22aa31[_0x4fd3ef(0xe0)],'required':_0x22aa31[_0x4fd3ef(0x8d)]})),'flags':_0x204ecf[_0x4fd3ef(0xd9)][_0x4fd3ef(0xcd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x204ecf),async 'dryRun'(_0x2af85e){const _0x1fa493=_0x4fd3ef,_0x1eb13c=await compilePlan(_0x204ecf,_0x2af85e);return{'method':_0x1fa493(0xd6),'url':_0x204ecf[_0x1fa493(0xe9)],'body':{'target':targetPreview(_0x1eb13c),'params':_0x1eb13c[_0x1fa493(0xa3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x204ecf[_0x1fa493(0xe9)]};},async 'execute'(_0x4beab8){const _0x225ff8=_0x4fd3ef,_0x106cfc=await compilePlan(_0x204ecf,_0x4beab8),_0xfeda4f=Date[_0x225ff8(0xbd)](),_0xb3edc8=await executePlan(_0x106cfc,_0x204ecf,_0x4beab8),_0x19b32f=Date[_0x225ff8(0xbd)]()-_0xfeda4f;return{'ok':!![],'data':{'service':_0x1eafa0[_0x225ff8(0xbb)],'command':_0x204ecf[_0x225ff8(0xe9)],'target':targetPreview(_0x106cfc),'result':_0xb3edc8,'elapsed':_0x19b32f},'message':'Service\x20command\x20'+_0x204ecf[_0x225ff8(0xe9)]+_0x225ff8(0xdd)+_0x19b32f+'ms'};}};}function dynamicCommandName(_0x2ce5cb){const _0x4c9d2d=a32_0x2a35;return _0x2ce5cb[_0x4c9d2d(0xa1)][_0x4c9d2d(0xd2)](0x1)[_0x4c9d2d(0xad)]('\x20');}function riskTag(_0x4fc1ce){const _0x16def4=a32_0x2a35;return _0x4fc1ce==='read'?'':_0x16def4(0xef)+_0x4fc1ce+']';}function flagToCommandFlag(_0x1296ca){const _0xd82cc0=a32_0x2a35;return{'name':_0x1296ca[_0xd82cc0(0xa6)],'type':_0x1296ca[_0xd82cc0(0x9b)]===_0xd82cc0(0xcc)?_0xd82cc0(0xe3):_0x1296ca[_0xd82cc0(0x9b)],'description':_0x1296ca[_0xd82cc0(0xe4)]||_0x1296ca[_0xd82cc0(0xe0)],'required':_0x1296ca['required'],'default':isPrimitiveFlagDefault(_0x1296ca[_0xd82cc0(0x95)])?_0x1296ca[_0xd82cc0(0x95)]:undefined,'enum':_0x1296ca['enum']};}async function compilePlan(_0x27edb0,_0x277ad2){const _0x10e8f3=a32_0x2a35;return compileServiceTreeCommand(_0x27edb0,{'flags':_0x277ad2[_0x10e8f3(0xc7)],'args':_0x277ad2[_0x10e8f3(0xe5)],'context':await buildServiceContext(_0x27edb0,_0x277ad2)});}async function buildServiceContext(_0x1406a4,_0x357b05){const _0x349ae2=a32_0x2a35,_0xdca27c={'appCode':_0x357b05[_0x349ae2(0xa7)],'env':_0x357b05[_0x349ae2(0xc6)],'envName':_0x357b05[_0x349ae2(0xc6)]};if(!usesRuntimeContext(_0x1406a4))return _0xdca27c;const _0x18d98a=await getLoginUserInfo(),_0x5242d=pickFirst(_0x18d98a[_0x349ae2(0xc9)],_0x18d98a['id']);return{..._0xdca27c,'user':_0x18d98a,'userId':_0x5242d,'id':_0x18d98a['id'],'username':pickFirst(_0x18d98a[_0x349ae2(0xe7)],_0x18d98a[_0x349ae2(0xc5)],_0x18d98a['loginName']),'userName':_0x18d98a[_0x349ae2(0xc5)],'nickname':pickFirst(_0x18d98a[_0x349ae2(0x99)],_0x18d98a[_0x349ae2(0xce)]),'nickName':_0x18d98a[_0x349ae2(0xce)],'tenantCode':_0x18d98a[_0x349ae2(0x9f)],'employeeId':_0x18d98a[_0x349ae2(0xc8)]};}function usesRuntimeContext(_0x3a331d){const _0x3da25c=a32_0x2a35;return _0x3a331d[_0x3da25c(0xab)][_0x3da25c(0xdf)](_0x2ffd96=>typeof _0x2ffd96[_0x3da25c(0xf0)]===_0x3da25c(0xe3)&&(_0x2ffd96['source']['startsWith'](_0x3da25c(0xaf))||_0x2ffd96[_0x3da25c(0xf0)]['startsWith'](_0x3da25c(0xb4))));}function pickFirst(..._0x4e8f90){return _0x4e8f90['find'](_0x1f2996=>_0x1f2996!==undefined&&_0x1f2996!==null);}function a32_0x11cd(){const _0x27716d=['operator','\x20\x20\x20\x20scriptName:\x20','remainingArgs','Service\x20command\x20','\x20requires\x20target.sqlCode.','userName','envName','rawFlags','employeeId','userId','`\x20to\x20inspect\x20the\x20manifest.','1961509OuKeFu','json','map','nickName','appcode','Unknown\x20appRef\x20\x22','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','slice','kind','boolean','802616ivJxIt','SERVICE_TREE','\x20service\x20detail\x20--service\x20','env','flags','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','sqlCode','\x20completed\x20in\x20','\x20\x20\x20\x20sqlCode:\x20','some','name','14dAYIDm','\x20\x20\x20\x20datatable:\x20','string','description','args','scriptName','username','44hBMOgT','cliPath','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','filter','13clSUNt','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20[','source','normalizedManifest','bff','bffCode','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20MAP\x20TO','\x20\x20\x20\x20command:\x20','required','find','20AbwTbo','Cannot\x20resolve\x20datatable\x20\x22','Run\x20service\x20command\x20','12349068RepFjm','padEnd','push','default','datatable','fromEntries','sql','nickname','3506832TVDDjB','type','145727xlQfGk','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','tenantCode','241662kKnoVJ','fullPath','bffId','params','2ENkHpJ','validation','cliName','appCode','1578WvFqtm','12610HORNvB','target','mapTo','appRef','join','code','context.','tree','Use\x20`','Commands:','trim','ctx.','const','commands','\x22\x20in\x20service\x20command\x20','app','\x20<command>\x20[flags]','number','service','command','now','length','read'];a32_0x11cd=function(){return _0x27716d;};return a32_0x11cd();}async function executePlan(_0x4c1f24,_0x12f636,_0x67938b){const _0x3be1b0=a32_0x2a35;if(_0x4c1f24[_0x3be1b0(0xd3)]==='data'){const _0x1cc1bf=await resolveDatasetCode(_0x4c1f24,_0x12f636,_0x67938b);return executeData(_0x1cc1bf,_0x4c1f24[_0x3be1b0(0xbc)],_0x4c1f24['params']);}if(_0x4c1f24[_0x3be1b0(0xd3)]===_0x3be1b0(0x98)){if(!_0x4c1f24[_0x3be1b0(0xdc)])throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xc3)+_0x12f636['cliPath']+_0x3be1b0(0xc4));return executeSdkSql(_0x4c1f24[_0x3be1b0(0xdc)],normalizeScalarParams(_0x4c1f24[_0x3be1b0(0xa3)]));}if(_0x4c1f24['kind']===_0x3be1b0(0xf2)){const _0x55b11a=_0x4c1f24[_0x3be1b0(0xe6)]||_0x4c1f24[_0x3be1b0(0xf3)]||(_0x4c1f24[_0x3be1b0(0xa2)]==null?'':String(_0x4c1f24[_0x3be1b0(0xa2)]));if(!_0x55b11a)throw CliErrors['validation']('Service\x20command\x20'+_0x12f636[_0x3be1b0(0xe9)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x55b11a,_0x4c1f24[_0x3be1b0(0xa3)]);}throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xee)+_0x4c1f24['kind']);}async function resolveDatasetCode(_0x1dcc88,_0x498e20,_0x4ac7e9){const _0x12a829=a32_0x2a35;if(_0x1dcc88[_0x12a829(0xda)])return _0x1dcc88[_0x12a829(0xda)];if(!_0x1dcc88['datatable'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0xc3)+_0x498e20[_0x12a829(0xe9)]+_0x12a829(0x9e));const _0x344ebb=await listDatasets(_0x4ac7e9[_0x12a829(0xa7)]),_0x5eda3f=_0x344ebb[_0x12a829(0x8e)](_0x5ad764=>_0x5ad764[_0x12a829(0xeb)]?.['tableName']===_0x1dcc88[_0x12a829(0x96)]);if(!_0x5eda3f?.['code'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0x90)+_0x1dcc88[_0x12a829(0x96)]+_0x12a829(0x9d)+_0x4ac7e9[_0x12a829(0xa7)]+'.',_0x12a829(0xd1));return _0x5eda3f['code'];}function applyAppBinding(_0x4cddde,_0x40cfab,_0x56cfe4){const _0x58929e=a32_0x2a35,_0x45854b=_0x40cfab['target']['appRef'];if(!_0x45854b)return;const _0x41bb32=_0x4cddde['appBindings'][_0x45854b];if(!_0x41bb32)throw CliErrors[_0x58929e(0xa5)](_0x58929e(0xd0)+_0x45854b+_0x58929e(0xb7)+_0x40cfab[_0x58929e(0xe9)]+'.',_0x58929e(0x8a));const _0x3165d4=_0x41bb32[_0x58929e(0xcf)]||_0x41bb32[_0x58929e(0xa7)];_0x3165d4&&!hasText(_0x56cfe4[_0x58929e(0xcf)])&&(_0x56cfe4[_0x58929e(0xcf)]=_0x3165d4),_0x41bb32[_0x58929e(0xb8)]&&!hasText(_0x56cfe4[_0x58929e(0xb8)])&&!hasText(_0x56cfe4['appcode'])&&(_0x56cfe4[_0x58929e(0xb8)]=_0x41bb32['app']),_0x41bb32[_0x58929e(0xd8)]&&!hasText(_0x56cfe4[_0x58929e(0xd8)])&&(_0x56cfe4[_0x58929e(0xd8)]=_0x41bb32[_0x58929e(0xd8)]);}function renderDynamicCommandHelp(_0x20b1da){const _0x4b332c=a32_0x2a35,_0x42528b=[_0x4b332c(0xea),_0x4b332c(0xdb)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xd3)],_0x4b332c(0x8c)+_0x20b1da['target'][_0x4b332c(0xbc)]];if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)])_0x42528b['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)]);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xe2)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)]);if(_0x20b1da['target'][_0x4b332c(0xdc)])_0x42528b['push'](_0x4b332c(0xde)+_0x20b1da[_0x4b332c(0xaa)]['sqlCode']);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xe6)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xc1)+_0x20b1da[_0x4b332c(0xaa)]['scriptName']);if(_0x20b1da['mapTo'][_0x4b332c(0xbe)]>0x0){_0x42528b[_0x4b332c(0x94)]('',_0x4b332c(0x8b));for(const _0x4731f9 of _0x20b1da[_0x4b332c(0xab)]){_0x42528b['push']('\x20\x20\x20\x20'+(_0x4731f9['source']||_0x4b332c(0xb5))+'\x20->\x20'+_0x4731f9['target']+(_0x4731f9[_0x4b332c(0xc0)]?'.'+_0x4731f9[_0x4b332c(0xc0)]:''));}}return _0x42528b[_0x4b332c(0xad)]('\x0a');}function targetPreview(_0x3fe0b4){const _0x311b88=a32_0x2a35;return{'kind':_0x3fe0b4[_0x311b88(0xd3)],'command':_0x3fe0b4[_0x311b88(0xbc)],'appRef':_0x3fe0b4[_0x311b88(0xac)],'datasetCode':_0x3fe0b4['datasetCode'],'datatable':_0x3fe0b4['datatable'],'sqlCode':_0x3fe0b4['sqlCode'],'bffCode':_0x3fe0b4[_0x311b88(0xf3)],'bffId':_0x3fe0b4['bffId'],'scriptName':_0x3fe0b4[_0x311b88(0xe6)]};}function normalizeScalarParams(_0x49fe82){const _0x57c55d=a32_0x2a35;return Object[_0x57c55d(0x97)](Object['entries'](_0x49fe82)[_0x57c55d(0xec)](([,_0x2ecd08])=>typeof _0x2ecd08===_0x57c55d(0xe3)||typeof _0x2ecd08===_0x57c55d(0xba)));}function hasText(_0x32cd79){const _0x3b5c3f=a32_0x2a35;return typeof _0x32cd79===_0x3b5c3f(0xe3)&&_0x32cd79[_0x3b5c3f(0xb3)]()[_0x3b5c3f(0xbe)]>0x0;}function isPrimitiveFlagDefault(_0x59b4e0){const _0x124ddf=a32_0x2a35;return _0x59b4e0===undefined||typeof _0x59b4e0===_0x124ddf(0xe3)||typeof _0x59b4e0==='number'||typeof _0x59b4e0===_0x124ddf(0xd4);}
|
|
1
|
+
(function(_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 a33_0x4bc4(){const _0x467f64=['2157610UKaVZh','77751mIsPJy','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Imported\x20','Imported','risk','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','write','9376cztiPx','normalizedManifest','flags','filePath','report','file','entries','951168aNpBkF','reduce','entry','Updated','registryPath','Local\x20service\x20not\x20found:\x20','type','name','remove','target','str','Service\x20registry\x20validation\x20passed.','description','1347330XtNYsF','208Skanyw','commands','2162260SasTrs','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','imported','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','kind','replaced','string','map','81FrJbcM','manifest','import','service','registryServiceCode','cliName','5EZavMJ','registry','serviceCount','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode','validate','source','version','\x20service\x20','warnings','length','errors','77548lkOAhi','Service\x20Tree\x20manifest\x20file\x20path','\x20service(s),\x20updated\x20','cliPath','read','importedAt','Service\x20manifest\x20validation\x20passed.','hash','WRITE','manifests','detail','\x20service(s).'];a33_0x4bc4=function(){return _0x467f64;};return a33_0x4bc4();}const a33_0xde9d31=a33_0x4ec1;(function(_0x46cc7b,_0x2e9cb0){const _0x50ce2d=a33_0x4ec1,_0x37cc47=_0x46cc7b();while(!![]){try{const _0x14e38b=-parseInt(_0x50ce2d(0xb6))/0x1*(-parseInt(_0x50ce2d(0x97))/0x2)+parseInt(_0x50ce2d(0x9e))/0x3+parseInt(_0x50ce2d(0x83))/0x4+-parseInt(_0x50ce2d(0x77))/0x5*(parseInt(_0x50ce2d(0xab))/0x6)+-parseInt(_0x50ce2d(0x8f))/0x7+parseInt(_0x50ce2d(0xac))/0x8*(parseInt(_0x50ce2d(0x90))/0x9)+-parseInt(_0x50ce2d(0xae))/0xa;if(_0x14e38b===_0x2e9cb0)break;else _0x37cc47['push'](_0x37cc47['shift']());}catch(_0x98520d){_0x37cc47['push'](_0x37cc47['shift']());}}}(a33_0x4bc4,0x2ed1e));function a33_0x4ec1(_0x2c6acd,_0x4fb48e){_0x2c6acd=_0x2c6acd-0x75;const _0x4bc4a1=a33_0x4bc4();let _0x4ec185=_0x4bc4a1[_0x2c6acd];return _0x4ec185;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0xde9d31(0x9c),'type':a33_0xde9d31(0xb4),'required':!![],'description':a33_0xde9d31(0x84)},SERVICE_FLAG={'name':a33_0xde9d31(0xb9),'type':a33_0xde9d31(0xb4),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x2b2b87){const _0x51db4e=a33_0xde9d31;return{'serviceCode':_0x2b2b87[_0x51db4e(0x7b)],'name':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xb9)][_0x51db4e(0xa5)],'version':_0x2b2b87[_0x51db4e(0x7e)],'importedAt':_0x2b2b87[_0x51db4e(0x88)],'source':_0x2b2b87[_0x51db4e(0x7d)],'commandCount':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0x81)],'commands':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0xb5)](_0x239378=>({'path':_0x239378[_0x51db4e(0x86)],'description':_0x239378[_0x51db4e(0xaa)],'risk':_0x239378[_0x51db4e(0x94)],'target':_0x239378[_0x51db4e(0xa7)],'flags':_0x239378[_0x51db4e(0x99)][_0x51db4e(0xb5)](_0x81ffa1=>({'name':_0x81ffa1[_0x51db4e(0xa5)],'cliName':_0x81ffa1[_0x51db4e(0x76)],'type':_0x81ffa1[_0x51db4e(0xa4)],'required':_0x81ffa1['required']===!![]}))}))};}function summarizeLoadedManifest(_0x507c69){const _0x3e488c=a33_0xde9d31;return{'service':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0xb9)],'version':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0x7e)],'commandCount':_0x507c69[_0x3e488c(0x98)]?.['commands']['length']??0x0,'commands':_0x507c69[_0x3e488c(0x98)]?.['commands'][_0x3e488c(0xb5)](_0x1b625e=>({'path':_0x1b625e[_0x3e488c(0x86)],'risk':_0x1b625e[_0x3e488c(0x94)],'target':_0x1b625e[_0x3e488c(0xa7)]}))??[],'registryIndex':_0x507c69['registryIndex'],'registryServiceCode':_0x507c69[_0x3e488c(0x75)],'errors':_0x507c69[_0x3e488c(0x9b)][_0x3e488c(0x82)],'warnings':_0x507c69[_0x3e488c(0x9b)]['warnings']};}export const serviceDefinitions=[{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x7c),'description':a33_0xde9d31(0x91),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x297539){const _0x204a78=a33_0xde9d31,_0x3519e6=loadServiceManifestFromFile(_0x297539[_0x204a78(0xa8)](_0x204a78(0x9c)));if(!_0x3519e6[_0x204a78(0x9b)]['ok'])return{'ok':![],'data':{'file':_0x3519e6['filePath'],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'serviceCount':_0x3519e6['manifests'][_0x204a78(0x81)],'services':_0x3519e6['manifests'][_0x204a78(0xb5)](summarizeLoadedManifest),'errors':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x82)],'warnings':_0x3519e6['report']['warnings']},'message':formatValidationFailure(_0x3519e6[_0x204a78(0x9b)])};if(_0x3519e6[_0x204a78(0xb2)]===_0x204a78(0x78)||_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)]!==0x1)return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6[_0x204a78(0xb2)],'serviceCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)],'commandCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x9f)]((_0x3797da,_0x40b2ad)=>_0x3797da+(_0x40b2ad['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0),0x0),'services':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0xb5)](summarizeLoadedManifest),'warnings':_0x3519e6[_0x204a78(0x9b)]['warnings']},'message':_0x204a78(0xa9)};return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'service':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xb9)],'version':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0x7e)],'commandCount':_0x3519e6['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0,'commands':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xad)]['map'](_0x36be0c=>({'path':_0x36be0c[_0x204a78(0x86)],'risk':_0x36be0c[_0x204a78(0x94)],'target':_0x36be0c[_0x204a78(0xa7)]})),'warnings':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x80)]},'message':_0x204a78(0x89)};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xb8),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x98bab8){const _0xc70567=a33_0xde9d31,_0x383a13=loadServiceManifestFromFile(_0x98bab8[_0xc70567(0xa8)](_0xc70567(0x9c)));return{'method':_0xc70567(0x8b),'url':getServiceRegistryPath(),'body':{'file':_0x383a13[_0xc70567(0x9a)],'hash':_0x383a13[_0xc70567(0x8a)],'kind':_0x383a13[_0xc70567(0xb2)],'ok':_0x383a13[_0xc70567(0x9b)]['ok'],'service':_0x383a13['normalizedManifest']?.['service'],'version':_0x383a13[_0xc70567(0x98)]?.['version'],'serviceCount':_0x383a13[_0xc70567(0x8c)][_0xc70567(0x81)],'services':_0x383a13[_0xc70567(0x8c)]['map'](_0x60eba4=>({'service':_0x60eba4[_0xc70567(0x98)]?.['service'],'version':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0x7e)],'commandCount':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0,'errors':_0x60eba4['report'][_0xc70567(0x82)]})),'errors':_0x383a13[_0xc70567(0x9b)]['errors'],'commandCount':_0x383a13[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0},'description':_0xc70567(0xb1)};},async 'execute'(_0x53d587){const _0x2e6df8=a33_0xde9d31,_0x3a5e70=importServiceManifest(_0x53d587['str']('file'));if(_0x3a5e70[_0x2e6df8(0x9d)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x3a5e70['registryPath'],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70[_0x2e6df8(0x79)],'services':_0x3a5e70[_0x2e6df8(0x9d)]['map'](summarizeService)},'message':_0x2e6df8(0x92)+_0x3a5e70['imported']+_0x2e6df8(0x85)+_0x3a5e70['updated']+_0x2e6df8(0x8e)};return{'ok':!![],'data':{'registryPath':_0x3a5e70[_0x2e6df8(0xa2)],'replaced':_0x3a5e70[_0x2e6df8(0xb3)],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70['serviceCount'],'service':summarizeService(_0x3a5e70[_0x2e6df8(0xa0)])},'message':(_0x3a5e70['replaced']?_0x2e6df8(0xa1):_0x2e6df8(0x93))+_0x2e6df8(0x7f)+_0x3a5e70[_0x2e6df8(0xa0)][_0x2e6df8(0x7b)]+'.'};}},{'service':'service','command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x503ae9){const _0x476a55=a33_0xde9d31,_0x5d013f=getLocalServiceEntry(_0x503ae9[_0x476a55(0xa8)]('service'));return{'method':_0x476a55(0x8b),'url':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0x9c)),'body':{'service':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0xb9)),'found':Boolean(_0x5d013f),'version':_0x5d013f?.[_0x476a55(0x7e)],'source':_0x5d013f?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x104c04){const _0x277616=a33_0xde9d31,_0x35c485=exportServiceManifest(_0x104c04[_0x277616(0xa8)](_0x277616(0xb9)),_0x104c04[_0x277616(0xa8)](_0x277616(0x9c)));return{'ok':!![],'data':{'registryPath':_0x35c485[_0x277616(0xa2)],'file':_0x35c485['filePath'],'service':summarizeService(_0x35c485[_0x277616(0xa0)])},'message':'Exported\x20service\x20'+_0x35c485[_0x277616(0xa0)][_0x277616(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':'list','description':a33_0xde9d31(0x7a),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x51f874=a33_0xde9d31,_0x3a81f9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3a81f9[_0x51f874(0x81)],'services':_0x3a81f9[_0x51f874(0xb5)](summarizeService)}};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xa6),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x12e6fb){const _0x2c0454=a33_0xde9d31,_0x81650a=getLocalServiceEntry(_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)),'found':Boolean(_0x81650a),'version':_0x81650a?.[_0x2c0454(0x7e)],'source':_0x81650a?.['source']},'description':_0x2c0454(0x95)};},async 'execute'(_0x52be07){const _0x509f86=a33_0xde9d31,_0x12e5bc=removeServiceManifest(_0x52be07[_0x509f86(0xa8)](_0x509f86(0xb9)));return{'ok':!![],'data':{'registryPath':_0x12e5bc[_0x509f86(0xa2)],'serviceCount':_0x12e5bc[_0x509f86(0x79)],'service':summarizeService(_0x12e5bc['entry'])},'message':'Removed\x20service\x20'+_0x12e5bc[_0x509f86(0xa0)][_0x509f86(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x8d),'description':a33_0xde9d31(0xaf),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4d7912){const _0x323ae1=a33_0xde9d31,_0xc77abe=getLocalServiceEntry(_0x4d7912['str'](_0x323ae1(0xb9)));if(!_0xc77abe)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4d7912[_0x323ae1(0xa8)]('service')},'message':_0x323ae1(0xa3)+_0x4d7912[_0x323ae1(0xa8)](_0x323ae1(0xb9))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0xc77abe),'manifest':_0xc77abe[_0x323ae1(0xb7)],'normalizedManifest':_0xc77abe['normalizedManifest']}};}}];
|
|
1
|
+
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 a34_0x573291=a34_0x2f6e;(function(_0x11592c,_0x1fee6b){const _0x195dd1=a34_0x2f6e,_0x34c0d2=_0x11592c();while(!![]){try{const _0x385edb=-parseInt(_0x195dd1(0x1fb))/0x1+-parseInt(_0x195dd1(0x204))/0x2*(-parseInt(_0x195dd1(0x210))/0x3)+-parseInt(_0x195dd1(0x1f7))/0x4*(parseInt(_0x195dd1(0x201))/0x5)+-parseInt(_0x195dd1(0x1da))/0x6+-parseInt(_0x195dd1(0x1df))/0x7+-parseInt(_0x195dd1(0x1c5))/0x8+parseInt(_0x195dd1(0x1ca))/0x9*(parseInt(_0x195dd1(0x1c9))/0xa);if(_0x385edb===_0x1fee6b)break;else _0x34c0d2['push'](_0x34c0d2['shift']());}catch(_0x1d40fc){_0x34c0d2['push'](_0x34c0d2['shift']());}}}(a34_0x447b,0x5801d));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a34_0x2f6e(_0x1fcec6,_0x917cc8){_0x1fcec6=_0x1fcec6-0x1c4;const _0x447b82=a34_0x447b();let _0x2f6e23=_0x447b82[_0x1fcec6];return _0x2f6e23;}export const SERVICE_REGISTRY_FILE_NAME=a34_0x573291(0x20e);export function getServiceRegistryPath(_0x3a572a={}){const _0x363aae=a34_0x573291;return resolve(_0x3a572a['homeDir']??homedir(),PRODUCT_CONFIG[_0x363aae(0x1d1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x5278d1={}){const _0x4e721c=a34_0x573291,_0x4d9e3a=getServiceRegistryPath(_0x5278d1);if(!existsSync(_0x4d9e3a))return emptyServiceRegistry();try{const _0x162a3d=readFileSync(_0x4d9e3a,_0x4e721c(0x1d0));if(!_0x162a3d['trim']())return emptyServiceRegistry();const _0x3b74d8=JSON['parse'](_0x162a3d);if(_0x3b74d8[_0x4e721c(0x1d6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4e721c(0x1e8)](_0x4e721c(0x1e6)+String(_0x3b74d8[_0x4e721c(0x1d6)]),_0x4e721c(0x1ef)+_0x4d9e3a+'.');if(!Array[_0x4e721c(0x219)](_0x3b74d8['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3b74d8[_0x4e721c(0x1f1)],'services':_0x3b74d8[_0x4e721c(0x1fe)]};}catch(_0x1f53b7){if(_0x1f53b7 instanceof Error&&_0x1f53b7[_0x4e721c(0x1cc)]===_0x4e721c(0x209))throw _0x1f53b7;throw CliErrors['validation'](_0x4e721c(0x202)+_0x4d9e3a,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0xa7a9c6,_0x5f2794={}){const _0x50c590=a34_0x573291,_0x58c6b9=getServiceRegistryPath(_0x5f2794),_0x4a9b47=dirname(_0x58c6b9);!existsSync(_0x4a9b47)&&mkdirSync(_0x4a9b47,{'recursive':!![]});const _0x158248=_0x58c6b9+_0x50c590(0x212);try{writeFileSync(_0x158248,JSON[_0x50c590(0x20d)](_0xa7a9c6,null,0x2)+'\x0a',{'encoding':_0x50c590(0x1d0),'mode':0x180}),renameSync(_0x158248,_0x58c6b9);}catch(_0x5a4e1d){try{unlinkSync(_0x158248);}catch{}if(_0x5a4e1d?.[_0x50c590(0x1ec)]===_0x50c590(0x1e9))throw CliErrors[_0x50c590(0x1e8)](_0x50c590(0x1ed)+_0x58c6b9);throw _0x5a4e1d;}return _0x58c6b9;}export function loadServiceManifestFromFile(_0xdf0cd3){const _0x5d6b64=a34_0x573291,_0x5104ef=resolve(_0xdf0cd3);if(!existsSync(_0x5104ef))throw CliErrors[_0x5d6b64(0x1e8)](_0x5d6b64(0x213)+_0xdf0cd3);let _0x2ae6a7;const _0x5163e4=readFileSync(_0x5104ef,_0x5d6b64(0x1d0));try{_0x2ae6a7=JSON[_0x5d6b64(0x1db)](_0x5163e4);}catch{throw CliErrors['validation'](_0x5d6b64(0x1d7)+_0xdf0cd3,_0x5d6b64(0x1ce));}const _0x48b0e6=sha256(_0x5163e4),_0x30b31c=extractLoadedServiceManifests(_0x2ae6a7,_0x48b0e6),_0x5c656c=aggregateValidationReports(_0x30b31c),_0x3774a1=_0x30b31c[0x0];return{'filePath':_0x5104ef,'hash':_0x48b0e6,'kind':isServiceRegistryLike(_0x2ae6a7)?_0x5d6b64(0x215):_0x5d6b64(0x216),'manifest':_0x3774a1?.['manifest']??_0x2ae6a7,'report':_0x5c656c,'normalizedManifest':_0x30b31c[_0x5d6b64(0x20c)]===0x1?_0x3774a1?.[_0x5d6b64(0x1cd)]:undefined,'manifests':_0x30b31c};}export function importServiceManifest(_0x1b2cd3,_0x2793a5={}){const _0x57334c=a34_0x573291,_0x3fce01=loadServiceManifestFromFile(_0x1b2cd3);if(!_0x3fce01[_0x57334c(0x1c7)]['ok'])throw CliErrors[_0x57334c(0x1e8)](formatValidationFailure(_0x3fce01[_0x57334c(0x1c7)]),_0x57334c(0x203));if(_0x3fce01[_0x57334c(0x1f2)]['length']===0x0)throw CliErrors[_0x57334c(0x1e8)](_0x57334c(0x1ee),_0x57334c(0x1ea));const _0x2b188f=readServiceRegistry(_0x2793a5),_0x404d73=(_0x2793a5[_0x57334c(0x1c8)]??(()=>new Date()))()[_0x57334c(0x1e7)](),_0x12db6e=[];let _0x3edfa0=0x0,_0x384371=0x0;for(const _0x37f129 of _0x3fce01[_0x57334c(0x1f2)]){if(!_0x37f129[_0x57334c(0x1cd)])continue;const _0x5b5e48=_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1e0)][_0x57334c(0x1ec)],_0x141095={'serviceCode':_0x5b5e48,'version':_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1f6)],'importedAt':_0x404d73,'source':{'type':_0x57334c(0x1dc),'path':_0x3fce01[_0x57334c(0x1e3)],'hash':_0x37f129['sourceHash']},'manifest':_0x37f129[_0x57334c(0x216)],'normalizedManifest':_0x37f129[_0x57334c(0x1cd)]},_0x55022c=_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1f4)](_0x400ef7=>_0x400ef7[_0x57334c(0x1d8)]===_0x5b5e48);_0x55022c>=0x0?(_0x2b188f[_0x57334c(0x1fe)][_0x55022c]=_0x141095,_0x384371++):(_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1e4)](_0x141095),_0x3edfa0++),_0x12db6e[_0x57334c(0x1e4)](_0x141095);}_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x206)]((_0x5aa4be,_0x35428c)=>_0x5aa4be[_0x57334c(0x1d8)][_0x57334c(0x1c4)](_0x35428c[_0x57334c(0x1d8)])),_0x2b188f[_0x57334c(0x1f1)]=_0x404d73;const _0x200470=writeServiceRegistry(_0x2b188f,_0x2793a5);return{'registryPath':_0x200470,'entry':_0x12db6e[0x0],'replaced':_0x12db6e[_0x57334c(0x20c)]===0x1?_0x384371===0x1:_0x384371>0x0,'entries':_0x12db6e,'imported':_0x3edfa0,'updated':_0x384371,'serviceCount':_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x20c)]};}export function exportServiceManifest(_0x35c860,_0x42d259,_0x4763db={}){const _0x3e6604=a34_0x573291,_0x23b37c=getServiceRegistryPath(_0x4763db),_0x2024bb=getLocalServiceEntry(_0x35c860,_0x4763db);if(!_0x2024bb)throw CliErrors['validation'](_0x3e6604(0x214)+_0x35c860,_0x3e6604(0x1c6));const _0x3b41b9=resolve(_0x42d259),_0x283546=dirname(_0x3b41b9);return!existsSync(_0x283546)&&mkdirSync(_0x283546,{'recursive':!![]}),writeFileSync(_0x3b41b9,JSON['stringify'](_0x2024bb[_0x3e6604(0x216)],null,0x2)+'\x0a',{'encoding':_0x3e6604(0x1d0),'mode':0x180}),{'registryPath':_0x23b37c,'filePath':_0x3b41b9,'entry':_0x2024bb};}export function removeServiceManifest(_0x337ed7,_0x41a3f0={}){const _0xdce79f=a34_0x573291,_0x3e2cb1=readServiceRegistry(_0x41a3f0),_0x20bf3d=_0x337ed7[_0xdce79f(0x1dd)](),_0x4424b1=_0x3e2cb1[_0xdce79f(0x1fe)]['findIndex'](_0x3b128e=>_0x3b128e[_0xdce79f(0x1d8)]===_0x20bf3d);if(_0x4424b1<0x0)throw CliErrors[_0xdce79f(0x1e8)](_0xdce79f(0x214)+_0x20bf3d,_0xdce79f(0x1c6));const [_0x439deb]=_0x3e2cb1['services']['splice'](_0x4424b1,0x1),_0x4d2f84=(_0x41a3f0['now']??(()=>new Date()))()[_0xdce79f(0x1e7)]();_0x3e2cb1[_0xdce79f(0x1f1)]=_0x4d2f84;const _0xacac64=writeServiceRegistry(_0x3e2cb1,_0x41a3f0);return{'registryPath':_0xacac64,'entry':_0x439deb,'serviceCount':_0x3e2cb1[_0xdce79f(0x1fe)][_0xdce79f(0x20c)]};}export function listLocalServices(_0x4d1b22={}){const _0x3a7c2a=a34_0x573291;return readServiceRegistry(_0x4d1b22)[_0x3a7c2a(0x1fe)];}export function getLocalServiceEntry(_0x2d9906,_0x149820={}){const _0x3e069d=a34_0x573291;return readServiceRegistry(_0x149820)[_0x3e069d(0x1fe)][_0x3e069d(0x218)](_0x485ac6=>_0x485ac6[_0x3e069d(0x1d8)]===_0x2d9906['trim']());}export function listLocalServiceTrees(_0x1a5ee8={}){const _0x3a9267=a34_0x573291;return readServiceRegistry(_0x1a5ee8)['services'][_0x3a9267(0x1d9)](_0x469727=>_0x469727['normalizedManifest']);}export function inspectServiceRegistry(_0x2feb0c={}){const _0x18de9b=a34_0x573291,_0x1ddd41=getServiceRegistryPath(_0x2feb0c);if(!existsSync(_0x1ddd41))return emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x208),![]);try{const _0x9d182c=readFileSync(_0x1ddd41,_0x18de9b(0x1d0));if(!_0x9d182c[_0x18de9b(0x1dd)]())return emptyServiceRegistryInspection(_0x1ddd41,'empty',!![]);const _0x3ec9c6=JSON['parse'](_0x9d182c);if(_0x3ec9c6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':_0x3ec9c6[_0x18de9b(0x1d6)],'message':_0x18de9b(0x1ff)+String(_0x3ec9c6[_0x18de9b(0x1d6)])};if(!Array[_0x18de9b(0x219)](_0x3ec9c6[_0x18de9b(0x1fe)]))return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4a77cf=_0x3ec9c6[_0x18de9b(0x1fe)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x1ddd41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'serviceCount':_0x4a77cf[_0x18de9b(0x20c)],'commandCount':_0x4a77cf['reduce']((_0x34816b,_0x7a5e66)=>_0x34816b+_0x7a5e66[_0x18de9b(0x20f)],0x0),'services':_0x4a77cf};}catch(_0x416a75){return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'message':_0x416a75 instanceof Error?_0x416a75['message']:String(_0x416a75)};}}function a34_0x447b(){const _0x2ff818=['manifest','risk','find','isArray','localeCompare','2706232XeWPqU','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','report','now','502940vjeMNs','423QwkbVA','digest','name','normalizedManifest','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','flatMap','utf8','homeDirName','command','string','warnings','target','schemaVersion','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','map','1413720WoCdOb','parse','file','trim','registryIndex','755552KjigPq','service','Service\x20manifest\x20validation\x20failed:\x0a','sha256','filePath','push','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','toISOString','validation','ENOENT','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','errors','code','Cannot\x20write\x20service\x20registry:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Remove\x20or\x20migrate\x20','].manifest','updatedAt','manifests','description','findIndex','$.services[','version','38452lbvdJa','hex','message','path','669440FziedJ','cliPath','update','services','Unsupported\x20schemaVersion:\x20','invalid','365ArkjBj','Invalid\x20service\x20registry\x20JSON:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','99366ZjmzQJ','importedAt','sort','slice','missing','CliError','join','kind','length','stringify','service.json','commandCount','3jFakHV','source','.tmp','Service\x20manifest\x20file\x20not\x20found:\x20','Local\x20service\x20not\x20found:\x20','registry'];a34_0x447b=function(){return _0x2ff818;};return a34_0x447b();}export function formatValidationFailure(_0x5beff5){const _0x13f45c=a34_0x573291,_0x481425=_0x5beff5[_0x13f45c(0x1eb)][_0x13f45c(0x1d9)](_0x20c612=>_0x20c612[_0x13f45c(0x1fa)]+':\x20'+_0x20c612[_0x13f45c(0x1f9)]);return _0x13f45c(0x1e1)+_0x481425[_0x13f45c(0x20a)]('\x0a');}function extractLoadedServiceManifests(_0x2bc36a,_0x55e06c){const _0x36505d=a34_0x573291;if(!isServiceRegistryLike(_0x2bc36a)){const _0x3c7ad6=_0x2bc36a,_0x2e65e8=validateServiceTreeManifest(_0x3c7ad6);return[{'manifest':_0x3c7ad6,'report':_0x2e65e8,'normalizedManifest':_0x2e65e8['ok']?normalizeServiceTreeManifest(_0x3c7ad6):undefined,'sourceHash':_0x55e06c}];}return _0x2bc36a[_0x36505d(0x1fe)][_0x36505d(0x1d9)]((_0x28f989,_0x5b6d2f)=>{const _0x4e855a=_0x36505d,_0x34f669=isObjectRecord(_0x28f989)?_0x28f989[_0x4e855a(0x216)]:undefined,_0x5eafa4=validateServiceTreeManifest(_0x34f669),_0x4fee2a=isObjectRecord(_0x28f989)&&typeof _0x28f989[_0x4e855a(0x1d8)]===_0x4e855a(0x1d3)?_0x28f989['serviceCode']:undefined;return{'manifest':_0x34f669,'report':_0x5eafa4,'normalizedManifest':_0x5eafa4['ok']?normalizeServiceTreeManifest(_0x34f669):undefined,'sourceHash':sha256(JSON[_0x4e855a(0x20d)](_0x34f669,null,0x2)+'\x0a'),'registryIndex':_0x5b6d2f,'registryServiceCode':_0x4fee2a};});}function aggregateValidationReports(_0x4bbe20){const _0x2e2f9b=a34_0x573291,_0x1d6aba=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x4a566e=>_0x4a566e[_0x2e2f9b(0x1de)]===undefined?_0x4a566e['report'][_0x2e2f9b(0x1eb)]:_0x4a566e[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1eb)][_0x2e2f9b(0x1d9)](_0x1a7df7=>({..._0x1a7df7,'path':prefixRegistryIssuePath(_0x4a566e[_0x2e2f9b(0x1de)],_0x1a7df7[_0x2e2f9b(0x1fa)])}))),_0x5e87b9=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x107ca3=>_0x107ca3[_0x2e2f9b(0x1de)]===undefined?_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]:_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]['map'](_0x1774b9=>({..._0x1774b9,'path':prefixRegistryIssuePath(_0x107ca3[_0x2e2f9b(0x1de)],_0x1774b9[_0x2e2f9b(0x1fa)])})));return{'ok':_0x1d6aba[_0x2e2f9b(0x20c)]===0x0,'errors':_0x1d6aba,'warnings':_0x5e87b9};}function prefixRegistryIssuePath(_0x5f4b3f,_0x53804b){const _0x3ba772=a34_0x573291;if(_0x53804b==='$')return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest';if(_0x53804b[_0x3ba772(0x1e5)]('$.'))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);if(_0x53804b[_0x3ba772(0x1e5)]('$['))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest.'+_0x53804b;}function isServiceRegistryLike(_0x2fe5f5){const _0x19eff2=a34_0x573291;return isObjectRecord(_0x2fe5f5)&&_0x2fe5f5[_0x19eff2(0x1d6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x19eff2(0x219)](_0x2fe5f5[_0x19eff2(0x1fe)]);}function isObjectRecord(_0xbe06f){const _0x20d1be=a34_0x573291;return Boolean(_0xbe06f)&&typeof _0xbe06f==='object'&&!Array[_0x20d1be(0x219)](_0xbe06f);}function emptyServiceRegistryInspection(_0x34a551,_0x5f2d5c,_0x40f1ea){return{'registryPath':_0x34a551,'exists':_0x40f1ea,'status':_0x5f2d5c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1478ab){const _0x393e32=a34_0x573291,_0x11d65=_0x1478ab[_0x393e32(0x1cd)],_0x2a9652=_0x11d65['commands']['map'](_0x486e17=>({'path':_0x486e17[_0x393e32(0x1fc)],'description':_0x486e17[_0x393e32(0x1f3)],'risk':_0x486e17[_0x393e32(0x217)],'targetKind':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x20b)],'targetCommand':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x1d2)]}));return{'serviceCode':_0x1478ab[_0x393e32(0x1d8)],'name':_0x11d65['service'][_0x393e32(0x1cc)],'description':_0x11d65[_0x393e32(0x1e0)]['description'],'version':_0x1478ab[_0x393e32(0x1f6)],'importedAt':_0x1478ab[_0x393e32(0x205)],'source':_0x1478ab[_0x393e32(0x211)],'commandCount':_0x2a9652[_0x393e32(0x20c)],'commands':_0x2a9652};}function sha256(_0x3fa428){const _0x1b7cf3=a34_0x573291;return createHash(_0x1b7cf3(0x1e2))[_0x1b7cf3(0x1fd)](_0x3fa428)[_0x1b7cf3(0x1cb)](_0x1b7cf3(0x1f8));}
|
|
1
|
+
(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;},{});}
|