@lovrabet/lovrabet-cli 2.1.7-beta.4 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x58bdd9=a30_0x2d94;function a30_0x2d94(_0x2ef5a3,_0x1188c1){_0x2ef5a3=_0x2ef5a3-0x1b9;const _0x41ff36=a30_0x41ff();let _0x2d9447=_0x41ff36[_0x2ef5a3];return _0x2d9447;}(function(_0x4cac26,_0x5ce3b7){const _0x1a0e18=a30_0x2d94,_0x8af09d=_0x4cac26();while(!![]){try{const _0x2fe3ee=parseInt(_0x1a0e18(0x1e7))/0x1*(parseInt(_0x1a0e18(0x1c8))/0x2)+parseInt(_0x1a0e18(0x1e0))/0x3*(-parseInt(_0x1a0e18(0x1ee))/0x4)+parseInt(_0x1a0e18(0x1c3))/0x5+parseInt(_0x1a0e18(0x1c4))/0x6+parseInt(_0x1a0e18(0x1eb))/0x7*(-parseInt(_0x1a0e18(0x1f0))/0x8)+-parseInt(_0x1a0e18(0x1c5))/0x9+parseInt(_0x1a0e18(0x1dc))/0xa;if(_0x2fe3ee===_0x5ce3b7)break;else _0x8af09d['push'](_0x8af09d['shift']());}catch(_0x5e1a8f){_0x8af09d['push'](_0x8af09d['shift']());}}}(a30_0x41ff,0xe0cc9));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':'title','type':'string','required':!![],'description':a30_0x58bdd9(0x1d9)},FILE_FLAG={'name':'file','type':'string','required':!![],'description':a30_0x58bdd9(0x1dd)},QUERY_FLAG={'name':a30_0x58bdd9(0x1f6),'type':'string','required':!![],'description':a30_0x58bdd9(0x1e3)},TOPK_FLAG={'name':a30_0x58bdd9(0x1ef),'type':a30_0x58bdd9(0x1bb),'description':a30_0x58bdd9(0x1bc)};function readKnowledgeFile(_0xa758b1){const _0x66f516=a30_0x58bdd9;if(!_0xa758b1)throw CliErrors[_0x66f516(0x1cc)](_0x66f516(0x1e4));if(!existsSync(_0xa758b1))throw CliErrors[_0x66f516(0x1cc)]('File\x20not\x20found:\x20'+_0xa758b1);if(!statSync(_0xa758b1)['isFile']())throw CliErrors[_0x66f516(0x1cc)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0xa758b1);return readFileSync(_0xa758b1,_0x66f516(0x1ca));}function summarizePersonalItem(_0x747ac9){const _0x48d85a=a30_0x58bdd9;return{'id':_0x747ac9['id'],'title':_0x747ac9[_0x48d85a(0x1e1)],'version':_0x747ac9['version'],'ragStatus':_0x747ac9[_0x48d85a(0x1d5)],'ragErrorMessage':_0x747ac9['ragErrorMessage'],'updateTime':_0x747ac9[_0x48d85a(0x1ce)]};}function detailPersonalItem(_0x10b6af){const _0xf831db=a30_0x58bdd9;return{'id':_0x10b6af['id'],'appCode':_0x10b6af[_0xf831db(0x1df)],'scope':_0x10b6af[_0xf831db(0x1db)],'userId':_0x10b6af[_0xf831db(0x1f3)],'title':_0x10b6af[_0xf831db(0x1e1)],'content':_0x10b6af[_0xf831db(0x1ed)]??'','version':_0x10b6af['version'],'ragStatus':_0x10b6af['ragStatus'],'ragErrorMessage':_0x10b6af[_0xf831db(0x1e8)],'createTime':_0x10b6af[_0xf831db(0x1c1)],'updateTime':_0x10b6af[_0xf831db(0x1ce)]};}function summarizeSearchHit(_0x267772){const _0x2b962c=a30_0x58bdd9;return{'scope':_0x267772[_0x2b962c(0x1db)],'docId':_0x267772[_0x2b962c(0x1d6)],'score':_0x267772[_0x2b962c(0x1f2)],'weightedScore':_0x267772[_0x2b962c(0x1bd)],'content':_0x267772['content'],'metadata':_0x267772['metadata']};}function a30_0x41ff(){const _0x13c151=['Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','map','appCode','3OlqgJk','title','list','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','File\x20path\x20is\x20required.','verbose','Personal\x20knowledge-base\x20entry\x20ID','284989nmmNXS','ragErrorMessage','write','/update','523915WWaUTL','length','content','3835788oysCGU','topk','80xagaWi','Search\x20query\x20is\x20required.','score','userId','num','/client/knowledge-base/personal/','query','file','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','number','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','weightedScore','Override\x20the\x20existing\x20entry\x20title','update','Updated\x20KB\x20entry\x20','createTime','bool','1330295TWulpo','911604KjqHCs','9685341vwDXdZ','detail','Created\x20KB\x20entry\x20','6PinZVY','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','utf8','flag','validation','trim','updateTime','str','POST','search','description','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','build','ragStatus','docId','read','body','Personal\x20knowledge-base\x20entry\x20title','--topk\x20must\x20be\x20a\x20positive\x20number.','scope','24313630CsnKHp'];a30_0x41ff=function(){return _0x13c151;};return a30_0x41ff();}function readTopK(_0x5524b0){const _0x5d81ee=a30_0x58bdd9,_0x13c2e0=_0x5524b0[_0x5d81ee(0x1cb)](_0x5d81ee(0x1ef));if(_0x13c2e0===undefined||_0x13c2e0===null||_0x13c2e0==='')return undefined;const _0x60e3a9=_0x5524b0[_0x5d81ee(0x1f4)]('topk');if(!Number['isFinite'](_0x60e3a9)||_0x60e3a9<0x1)throw CliErrors[_0x5d81ee(0x1cc)](_0x5d81ee(0x1da));return _0x60e3a9;}const kbList={'service':'kb','command':a30_0x58bdd9(0x1e2),'description':a30_0x58bdd9(0x1c9),'risk':a30_0x58bdd9(0x1d7),'flags':[VERBOSE_FLAG],async 'execute'(_0x41741e){const _0x4abc5e=a30_0x58bdd9,_0x29aefe=await listPersonalKnowledgeBaseItems(_0x41741e[_0x4abc5e(0x1df)]);if(_0x41741e[_0x4abc5e(0x1c2)](_0x4abc5e(0x1e5)))return{'ok':!![],'data':{'total':_0x29aefe[_0x4abc5e(0x1ec)],'items':_0x29aefe}};return{'ok':!![],'data':{'total':_0x29aefe['length'],'items':_0x29aefe[_0x4abc5e(0x1de)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a30_0x58bdd9(0x1c6),'description':a30_0x58bdd9(0x1d3),'risk':a30_0x58bdd9(0x1d7),'flags':[{...ID_FLAG,'description':a30_0x58bdd9(0x1e6)}],async 'execute'(_0x3114a0){const _0xdcd117=a30_0x58bdd9,_0x131c45=await getPersonalKnowledgeBaseItem(_0x3114a0[_0xdcd117(0x1f4)]('id'),_0x3114a0[_0xdcd117(0x1df)]);return{'ok':!![],'data':detailPersonalItem(_0x131c45)};}},kbCreate={'service':'kb','command':'create','description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a30_0x58bdd9(0x1e9),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x2563fc){const _0x157517=a30_0x58bdd9,_0x376cc1=_0x2563fc[_0x157517(0x1cf)](_0x157517(0x1e1)),_0x205193=readKnowledgeFile(_0x2563fc[_0x157517(0x1cf)](_0x157517(0x1b9))),_0xa475c6=await createPersonalKnowledgeBaseItem(_0x2563fc[_0x157517(0x1df)],{'title':_0x376cc1,'content':_0x205193});return{'ok':!![],'data':summarizePersonalItem(_0xa475c6),'message':_0x157517(0x1c7)+_0xa475c6['id']+'\x20('+_0xa475c6[_0x157517(0x1e1)]+')'};},async 'dryRun'(_0x433194){const _0x141ec9=a30_0x58bdd9,_0x4089e1=_0x433194[_0x141ec9(0x1cf)](_0x141ec9(0x1e1)),_0x280afd=readKnowledgeFile(_0x433194['str'](_0x141ec9(0x1b9)));return dryRun(_0x141ec9(0x1d0),'/client/knowledge-base/personal/create')[_0x141ec9(0x1d8)]({'appCode':_0x433194[_0x141ec9(0x1df)],'title':_0x4089e1,'content':_0x280afd})[_0x141ec9(0x1d2)](_0x141ec9(0x1ba)+_0x4089e1+'\x22')[_0x141ec9(0x1d4)]();}},kbUpdate={'service':'kb','command':a30_0x58bdd9(0x1bf),'description':'Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a30_0x58bdd9(0x1e9),'flags':[{...ID_FLAG,'description':a30_0x58bdd9(0x1e6)},{...TITLE_FLAG,'required':![],'description':a30_0x58bdd9(0x1be)},FILE_FLAG],async 'execute'(_0x1115a4){const _0x32e6e4=a30_0x58bdd9,_0xde54a0=_0x1115a4[_0x32e6e4(0x1f4)]('id'),_0x3c3b47=readKnowledgeFile(_0x1115a4[_0x32e6e4(0x1cf)](_0x32e6e4(0x1b9))),_0x15cca7=_0x1115a4['str'](_0x32e6e4(0x1e1))||(await getPersonalKnowledgeBaseItem(_0xde54a0,_0x1115a4[_0x32e6e4(0x1df)]))[_0x32e6e4(0x1e1)],_0xc9adea=await updatePersonalKnowledgeBaseItem(_0xde54a0,_0x1115a4[_0x32e6e4(0x1df)],{'title':_0x15cca7,'content':_0x3c3b47});return{'ok':!![],'data':summarizePersonalItem(_0xc9adea),'message':_0x32e6e4(0x1c0)+_0xc9adea['id']+'\x20('+_0xc9adea[_0x32e6e4(0x1e1)]+')'};},async 'dryRun'(_0x2c0533){const _0x5a1f19=a30_0x58bdd9,_0x50d91b=_0x2c0533[_0x5a1f19(0x1f4)]('id'),_0x5340b9=readKnowledgeFile(_0x2c0533[_0x5a1f19(0x1cf)](_0x5a1f19(0x1b9))),_0x2603e6=_0x2c0533['str'](_0x5a1f19(0x1e1))||(await getPersonalKnowledgeBaseItem(_0x50d91b,_0x2c0533[_0x5a1f19(0x1df)]))[_0x5a1f19(0x1e1)];return dryRun(_0x5a1f19(0x1d0),_0x5a1f19(0x1f5)+_0x50d91b+_0x5a1f19(0x1ea))['body']({'appCode':_0x2c0533['appCode'],'title':_0x2603e6,'content':_0x5340b9})[_0x5a1f19(0x1d2)]('Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20'+_0x50d91b)[_0x5a1f19(0x1d4)]();}},kbSearch={'service':'kb','command':a30_0x58bdd9(0x1d1),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x654954){const _0x3d0056=a30_0x58bdd9;if(!_0x654954[_0x3d0056(0x1cf)](_0x3d0056(0x1f6))[_0x3d0056(0x1cd)]())throw CliErrors[_0x3d0056(0x1cc)](_0x3d0056(0x1f1));readTopK(_0x654954);},async 'execute'(_0x17a1a5){const _0x4f6604=a30_0x58bdd9,_0x29454d=_0x17a1a5[_0x4f6604(0x1cf)](_0x4f6604(0x1f6))[_0x4f6604(0x1cd)](),_0x350818=readTopK(_0x17a1a5),_0xbea389=await searchKnowledgeBase(_0x17a1a5['appCode'],{'query':_0x29454d,'topK':_0x350818});return{'ok':!![],'data':{'total':_0xbea389['length'],'hits':_0xbea389['map'](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a31_0x1a8a(){const _0x1f7e9b=['length','10QHBYJw','show','505917LXfACn','208655lJYSXo','warn','View\x20command\x20history\x20logs','Clear\x20command\x20history\x20logs','272120XYdqFP','301224AhOXkT','write','2dxZvng','log','keys','146118OQGuFu','\x20logs:\x0a','level','forEach','error','en-US','*\x20Logs\x20cleared','*\x20No\x20logs\x20found','logs','18KxRang','clear','205599IINlHO','read','16jYmywF','duration','stringify','348711nBrgku','timestamp','message','toLocaleString','details','success','readLogs','\x20\x20\x20Duration:\x20'];a31_0x1a8a=function(){return _0x1f7e9b;};return a31_0x1a8a();}function a31_0x201d(_0x409435,_0x2d2af8){_0x409435=_0x409435-0xf3;const _0x1a8a12=a31_0x1a8a();let _0x201dfb=_0x1a8a12[_0x409435];return _0x201dfb;}const a31_0x320d83=a31_0x201d;(function(_0xe2647c,_0x47dfdc){const _0x452ead=a31_0x201d,_0x563801=_0xe2647c();while(!![]){try{const _0x1f8d14=parseInt(_0x452ead(0x115))/0x1+parseInt(_0x452ead(0x107))/0x2*(-parseInt(_0x452ead(0x105))/0x3)+-parseInt(_0x452ead(0x104))/0x4+parseInt(_0x452ead(0x100))/0x5+-parseInt(_0x452ead(0x113))/0x6*(parseInt(_0x452ead(0x10a))/0x7)+-parseInt(_0x452ead(0x117))/0x8*(-parseInt(_0x452ead(0xff))/0x9)+parseInt(_0x452ead(0xfd))/0xa*(parseInt(_0x452ead(0xf4))/0xb);if(_0x1f8d14===_0x47dfdc)break;else _0x563801['push'](_0x563801['shift']());}catch(_0x884da0){_0x563801['push'](_0x563801['shift']());}}}(a31_0x1a8a,0x2728d));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x531873){const _0x237165=a31_0x201d;if(_0x531873[_0x237165(0xfc)]===0x0){console[_0x237165(0x108)](_0x237165(0x111));return;}console[_0x237165(0x108)]('*\x20'+CLI_DISPLAY_NAME+_0x237165(0x10b)),_0x531873[_0x237165(0x10d)]((_0x2e3b7c,_0x794ae)=>{const _0x234eea=_0x237165,_0x4a34d6=new Date(_0x2e3b7c[_0x234eea(0xf5)])[_0x234eea(0xf7)](_0x234eea(0x10f)),_0x1aede2=_0x2e3b7c['level']===_0x234eea(0xf9)?'√':_0x2e3b7c[_0x234eea(0x10c)]===_0x234eea(0x10e)?'×':_0x2e3b7c[_0x234eea(0x10c)]===_0x234eea(0x101)?'!':'i';console['log'](_0x794ae+0x1+'.\x20'+_0x1aede2+'\x20['+_0x2e3b7c['command']+']\x20'+_0x2e3b7c[_0x234eea(0xf6)]),console[_0x234eea(0x108)]('\x20\x20\x20Time:\x20'+_0x4a34d6),_0x2e3b7c['duration']&&console[_0x234eea(0x108)](_0x234eea(0xfb)+_0x2e3b7c[_0x234eea(0x118)]+'ms'),_0x2e3b7c['details']&&Object[_0x234eea(0x109)](_0x2e3b7c[_0x234eea(0xf8)])[_0x234eea(0xfc)]>0x0&&console[_0x234eea(0x108)]('\x20\x20\x20Details:\x20'+JSON[_0x234eea(0xf3)](_0x2e3b7c[_0x234eea(0xf8)],null,0x2)),console[_0x234eea(0x108)]('');});}export const logsDefinitions=[{'service':a31_0x320d83(0x112),'command':a31_0x320d83(0xfe),'description':a31_0x320d83(0x102),'risk':a31_0x320d83(0x116),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x36f5a5){const _0x3e2d8a=a31_0x320d83;return printLogs(logger[_0x3e2d8a(0xfa)]()),{'ok':!![]};}},{'service':a31_0x320d83(0x112),'command':a31_0x320d83(0x114),'description':a31_0x320d83(0x103),'risk':a31_0x320d83(0x106),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3bd082){const _0x31b6e9=a31_0x320d83;return logger['clearLogs'](),console[_0x31b6e9(0x108)](_0x31b6e9(0x110)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x145c6e=a32_0x48e7;(function(_0x4beebe,_0x3816b6){const _0xeb3a06=a32_0x48e7,_0x5eebdb=_0x4beebe();while(!![]){try{const _0x194298=-parseInt(_0xeb3a06(0x1ef))/0x1*(parseInt(_0xeb3a06(0x1f0))/0x2)+-parseInt(_0xeb3a06(0x225))/0x3*(parseInt(_0xeb3a06(0x1ed))/0x4)+parseInt(_0xeb3a06(0x224))/0x5*(parseInt(_0xeb3a06(0x20b))/0x6)+parseInt(_0xeb3a06(0x1ec))/0x7*(-parseInt(_0xeb3a06(0x1f1))/0x8)+parseInt(_0xeb3a06(0x228))/0x9+-parseInt(_0xeb3a06(0x222))/0xa*(-parseInt(_0xeb3a06(0x214))/0xb)+parseInt(_0xeb3a06(0x1fc))/0xc;if(_0x194298===_0x3816b6)break;else _0x5eebdb['push'](_0x5eebdb['shift']());}catch(_0x3dd56f){_0x5eebdb['push'](_0x5eebdb['shift']());}}}(a32_0x2e61,0x5786d));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a32_0x145c6e(0x1ff),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1fa)},FUNCTION_NAME_FLAG={'name':a32_0x145c6e(0x21c),'type':'string','required':!![],'description':a32_0x145c6e(0x217)},DESCRIPTION_FLAG={'name':a32_0x145c6e(0x20c),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x21e)},SOURCE_SESSION_FLAG={'name':a32_0x145c6e(0x213),'type':a32_0x145c6e(0x200),'description':a32_0x145c6e(0x1f5)};function normalizeFunctionName(_0xec6383){const _0x4bd77d=a32_0x145c6e,_0x47ab99=String(_0xec6383||'')[_0x4bd77d(0x1f7)]();if(!_0x47ab99||!FUNCTION_NAME_PATTERN['test'](_0x47ab99))throw CliErrors[_0x4bd77d(0x215)](_0x4bd77d(0x21d));return _0x47ab99;}function readScriptFile(_0x5724bb){const _0x2c1345=a32_0x145c6e;if(!_0x5724bb)throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x204));if(!existsSync(_0x5724bb))throw CliErrors[_0x2c1345(0x215)]('File\x20not\x20found:\x20'+_0x5724bb);if(!statSync(_0x5724bb)[_0x2c1345(0x1f6)]())throw CliErrors[_0x2c1345(0x215)](_0x2c1345(0x226)+_0x5724bb);const _0x786aa7=readFileSync(_0x5724bb,_0x2c1345(0x206));if(!_0x786aa7[_0x2c1345(0x1f7)]())throw CliErrors[_0x2c1345(0x215)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x786aa7;}function optionalTrimmed(_0x2491f8){const _0x1b8cef=String(_0x2491f8||'')['trim']();return _0x1b8cef||undefined;}function summarizeBff(_0x575546){const _0x17d2b8=a32_0x145c6e;return{'id':_0x575546['id'],'appCode':_0x575546[_0x17d2b8(0x201)],'functionName':_0x575546[_0x17d2b8(0x21a)],'description':_0x575546[_0x17d2b8(0x20c)],'scriptType':_0x575546[_0x17d2b8(0x207)],'version':_0x575546[_0x17d2b8(0x209)],'gmtModified':_0x575546[_0x17d2b8(0x1f3)],'updateTime':_0x575546['updateTime']};}function detailBff(_0x5ac075){const _0x2d546f=a32_0x145c6e;return{'id':_0x5ac075['id'],'appCode':_0x5ac075[_0x2d546f(0x201)],'functionName':_0x5ac075[_0x2d546f(0x21a)],'description':_0x5ac075['description'],'scriptType':_0x5ac075['scriptType'],'scriptContent':_0x5ac075[_0x2d546f(0x220)]??'','config':_0x5ac075['config'],'version':_0x5ac075['version'],'createUserId':_0x5ac075[_0x2d546f(0x203)],'gmtCreate':_0x5ac075[_0x2d546f(0x223)],'gmtModified':_0x5ac075[_0x2d546f(0x1f3)],'createTime':_0x5ac075['createTime'],'updateTime':_0x5ac075['updateTime']};}function buildCreateInput(_0x5519fd){const _0x3f27d0=a32_0x145c6e;return{'functionName':normalizeFunctionName(_0x5519fd['str'](_0x3f27d0(0x21c))),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))?{'description':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x20c)))}:{},'scriptContent':readScriptFile(_0x5519fd[_0x3f27d0(0x219)]('file')),...optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))?{'sourceSessionId':optionalTrimmed(_0x5519fd[_0x3f27d0(0x219)](_0x3f27d0(0x213)))}:{}};}function a32_0x48e7(_0x11dcc3,_0x18028e){_0x11dcc3=_0x11dcc3-0x1e8;const _0x2e61f8=a32_0x2e61();let _0x48e776=_0x2e61f8[_0x11dcc3];return _0x48e776;}function buildUpdateInput(_0x44478b){const _0x11dbc5=a32_0x145c6e,_0x447f3a={};optionalTrimmed(_0x44478b['str'](_0x11dbc5(0x21c)))&&(_0x447f3a[_0x11dbc5(0x21a)]=normalizeFunctionName(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x21c))));_0x44478b['flag'](_0x11dbc5(0x20c))!==undefined&&(_0x447f3a[_0x11dbc5(0x20c)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x20c)));optionalTrimmed(_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x1ff)))&&(_0x447f3a[_0x11dbc5(0x220)]=readScriptFile(_0x44478b['str']('file')));_0x44478b['flag'](_0x11dbc5(0x213))!==undefined&&(_0x447f3a[_0x11dbc5(0x202)]=_0x44478b[_0x11dbc5(0x219)](_0x11dbc5(0x213)));if(Object['keys'](_0x447f3a)[_0x11dbc5(0x1e8)]===0x0)throw CliErrors[_0x11dbc5(0x215)](_0x11dbc5(0x20d));return _0x447f3a;}function parseExecParams(_0x55eb0e){const _0x297280=a32_0x145c6e,_0x1f8708=parseJsonParams(_0x55eb0e)??{};if(Array[_0x297280(0x1f9)](_0x1f8708))throw CliErrors[_0x297280(0x215)](_0x297280(0x20e));return _0x1f8708;}function a32_0x2e61(){const _0x520a5c=['Update\x20a\x20personal\x20BFF\x20by\x20id','str','functionName','num','name','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Personal\x20BFF\x20description','body','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','1157780nTxUBX','gmtCreate','5mduEcf','3ZenKQJ','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20personal\x20BFF\x20','3126672ygDNrd','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','length','/client/runtime-bff/personal/create','params','verbose','276521jzhwwx','2690376eidhuH','personal-bff','19943QfsOGD','22bqieKX','136akAZiM','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','gmtModified','map','Optional\x20source\x20RuntimeAgent\x20session\x20id','isFile','trim','create','isArray','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','17084544WPmdui','Executed\x20personal\x20BFF\x20','exec','file','string','appCode','sourceSessionId','createUserId','File\x20path\x20is\x20required.','Created\x20personal\x20BFF\x20','utf8','scriptType','write','version','read','210774htzgWc','description','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','--params\x20must\x20be\x20a\x20JSON\x20object.','build','POST','Personal\x20BFF\x20script\x20ID','high-risk-write','source-session-id','11mtYgxH','validation','/update','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'];a32_0x2e61=function(){return _0x520a5c;};return a32_0x2e61();}const personalBffList={'service':'personal-bff','command':'list','description':a32_0x145c6e(0x1fb),'risk':a32_0x145c6e(0x20a),'flags':[VERBOSE_FLAG],async 'execute'(_0x3bc30c){const _0x3a075f=a32_0x145c6e,_0x1e02d7=await listPersonalBffs(_0x3bc30c[_0x3a075f(0x201)]);return{'ok':!![],'data':{'total':_0x1e02d7['length'],'items':_0x3bc30c['bool'](_0x3a075f(0x1eb))?_0x1e02d7:_0x1e02d7[_0x3a075f(0x1f4)](summarizeBff)}};}},personalBffDetail={'service':a32_0x145c6e(0x1ee),'command':'detail','description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a32_0x145c6e(0x20a),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)}],async 'execute'(_0x38f9d4){const _0x173ec1=a32_0x145c6e,_0x25dd71=await getPersonalBff(_0x38f9d4[_0x173ec1(0x21b)]('id'),_0x38f9d4[_0x173ec1(0x201)]);return{'ok':!![],'data':detailBff(_0x25dd71)};}},personalBffCreate={'service':a32_0x145c6e(0x1ee),'command':a32_0x145c6e(0x1f8),'description':a32_0x145c6e(0x1f2),'risk':a32_0x145c6e(0x208),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x38300d){const _0x36f7ef=a32_0x145c6e,_0x5973e8=buildCreateInput(_0x38300d),_0x2529e7=await createPersonalBff(_0x38300d[_0x36f7ef(0x201)],_0x5973e8);return{'ok':!![],'data':detailBff(_0x2529e7),'message':_0x36f7ef(0x205)+_0x2529e7['id']+(_0x2529e7['functionName']?'\x20('+_0x2529e7['functionName']+')':'')};},async 'dryRun'(_0x2ae000){const _0x3c6285=a32_0x145c6e,_0x57c074=buildCreateInput(_0x2ae000);return dryRun(_0x3c6285(0x210),_0x3c6285(0x1e9))['body']({'appCode':_0x2ae000[_0x3c6285(0x201)],..._0x57c074})[_0x3c6285(0x20c)](_0x3c6285(0x227)+_0x57c074['functionName'])[_0x3c6285(0x20f)]();}},personalBffUpdate={'service':a32_0x145c6e(0x1ee),'command':'update','description':a32_0x145c6e(0x218),'risk':a32_0x145c6e(0x208),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3cc879){const _0x1a8142=a32_0x145c6e,_0x1e6e1c=_0x3cc879['num']('id'),_0x4f4a4f=buildUpdateInput(_0x3cc879),_0xdb6933=await updatePersonalBff(_0x1e6e1c,_0x3cc879[_0x1a8142(0x201)],_0x4f4a4f);return{'ok':!![],'data':detailBff(_0xdb6933),'message':'Updated\x20personal\x20BFF\x20'+_0xdb6933['id']+(_0xdb6933['functionName']?'\x20('+_0xdb6933['functionName']+')':'')};},async 'dryRun'(_0x2a59ba){const _0x2a7bf7=a32_0x145c6e,_0x2dffbe=_0x2a59ba[_0x2a7bf7(0x21b)]('id'),_0x3cc292=buildUpdateInput(_0x2a59ba);return dryRun(_0x2a7bf7(0x210),'/client/runtime-bff/personal/'+_0x2dffbe+_0x2a7bf7(0x216))[_0x2a7bf7(0x21f)]({'appCode':_0x2a59ba[_0x2a7bf7(0x201)],..._0x3cc292})[_0x2a7bf7(0x20c)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x2dffbe)[_0x2a7bf7(0x20f)]();}},personalBffExec={'service':'personal-bff','command':a32_0x145c6e(0x1fe),'description':a32_0x145c6e(0x221),'risk':a32_0x145c6e(0x212),'flags':[{...ID_FLAG,'description':a32_0x145c6e(0x211)},{...PARAMS_FLAG,'description':a32_0x145c6e(0x229)}],async 'validate'(_0x3ebcd7){const _0x3476da=a32_0x145c6e;parseExecParams(_0x3ebcd7[_0x3476da(0x219)]('params'));},async 'execute'(_0x2672e2){const _0x24a8ca=a32_0x145c6e,_0x17b473=_0x2672e2[_0x24a8ca(0x21b)]('id'),_0x53f241=parseExecParams(_0x2672e2[_0x24a8ca(0x219)](_0x24a8ca(0x1ea))),_0x51ace0=await executePersonalBff(_0x17b473,_0x2672e2[_0x24a8ca(0x201)],_0x53f241);return{'ok':!![],'data':{'result':_0x51ace0},'message':_0x24a8ca(0x1fd)+_0x17b473};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a32_0x2167bf=a32_0x4943;(function(_0x155b56,_0x44b364){const _0x169268=a32_0x4943,_0x232288=_0x155b56();while(!![]){try{const _0x203f8f=parseInt(_0x169268(0xbc))/0x1+parseInt(_0x169268(0xcd))/0x2*(parseInt(_0x169268(0xa0))/0x3)+-parseInt(_0x169268(0xa5))/0x4+parseInt(_0x169268(0xc6))/0x5*(parseInt(_0x169268(0xae))/0x6)+parseInt(_0x169268(0xb7))/0x7+parseInt(_0x169268(0x9a))/0x8*(-parseInt(_0x169268(0xb3))/0x9)+-parseInt(_0x169268(0xd5))/0xa*(parseInt(_0x169268(0xcf))/0xb);if(_0x203f8f===_0x44b364)break;else _0x232288['push'](_0x232288['shift']());}catch(_0x52299a){_0x232288['push'](_0x232288['shift']());}}}(a32_0x3adf,0x2cef3));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':a32_0x2167bf(0x97),'description':a32_0x2167bf(0xb9)},FUNCTION_NAME_FLAG={'name':a32_0x2167bf(0xb8),'type':a32_0x2167bf(0x97),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a32_0x2167bf(0xd2),'type':a32_0x2167bf(0x97),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a32_0x2167bf(0xb5),'type':a32_0x2167bf(0x97),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x4e1639){const _0x187569=a32_0x2167bf,_0x1c70c6=String(_0x4e1639||'')[_0x187569(0xa9)]();if(!_0x1c70c6||!FUNCTION_NAME_PATTERN['test'](_0x1c70c6))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x1c70c6;}function readScriptFile(_0x562e39){const _0x23406f=a32_0x2167bf;if(!_0x562e39)throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xbe));if(!existsSync(_0x562e39))throw CliErrors[_0x23406f(0x9b)]('File\x20not\x20found:\x20'+_0x562e39);if(!statSync(_0x562e39)[_0x23406f(0xc5)]())throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xc4)+_0x562e39);const _0x2393ef=readFileSync(_0x562e39,_0x23406f(0xc1));if(!_0x2393ef[_0x23406f(0xa9)]())throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xc8));return _0x2393ef;}function optionalTrimmed(_0x42ecbf){const _0x437dec=a32_0x2167bf,_0x474157=String(_0x42ecbf||'')[_0x437dec(0xa9)]();return _0x474157||undefined;}function summarizeBff(_0x522e1e){const _0x5752ce=a32_0x2167bf;return{'id':_0x522e1e['id'],'appCode':_0x522e1e['appCode'],'functionName':_0x522e1e['functionName'],'description':_0x522e1e[_0x5752ce(0xd2)],'scriptType':_0x522e1e[_0x5752ce(0xc0)],'version':_0x522e1e['version'],'gmtModified':_0x522e1e[_0x5752ce(0xb6)],'updateTime':_0x522e1e[_0x5752ce(0x99)]};}function a32_0x3adf(){const _0x481c61=['num','230tawnyz','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','map','high-risk-write','string','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','updateTime','72HnbaLV','validation','build','flag','--params\x20must\x20be\x20a\x20JSON\x20object.','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','21399QpQJMf','/update','verbose','file','POST','107396FuhSpv','createUserId','str','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','trim','personal-bff','Preview:\x20update\x20personal\x20BFF\x20','Show\x20one\x20personal\x20BFF\x20by\x20id','create','42HHJIft','detail','list','length','functionName','52560eMFzep','config','source-session-id','gmtModified','318122gEMtwO','name','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','createTime','write','361981hNgZAY','Updated\x20personal\x20BFF\x20','File\x20path\x20is\x20required.','read','scriptType','utf8','appCode','/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','isFile','187895qTkVVX','/client/runtime-bff/personal/create','Personal\x20BFF\x20script\x20file\x20is\x20blank.','body','isArray','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','Update\x20a\x20personal\x20BFF\x20by\x20id','38oihYNV','exec','259479cAfAtO','params','keys','description','Executed\x20personal\x20BFF\x20'];a32_0x3adf=function(){return _0x481c61;};return a32_0x3adf();}function detailBff(_0x169963){const _0x2c8d7f=a32_0x2167bf;return{'id':_0x169963['id'],'appCode':_0x169963[_0x2c8d7f(0xc2)],'functionName':_0x169963[_0x2c8d7f(0xb2)],'description':_0x169963[_0x2c8d7f(0xd2)],'scriptType':_0x169963[_0x2c8d7f(0xc0)],'scriptContent':_0x169963['scriptContent']??'','config':_0x169963[_0x2c8d7f(0xb4)],'version':_0x169963['version'],'createUserId':_0x169963[_0x2c8d7f(0xa6)],'gmtCreate':_0x169963['gmtCreate'],'gmtModified':_0x169963['gmtModified'],'createTime':_0x169963[_0x2c8d7f(0xba)],'updateTime':_0x169963[_0x2c8d7f(0x99)]};}function buildCreateInput(_0x502875){const _0xa616f3=a32_0x2167bf;return{'functionName':normalizeFunctionName(_0x502875['str'](_0xa616f3(0xb8))),...optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xd2)))?{'description':optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xd2)))}:{},'scriptContent':readScriptFile(_0x502875['str'](_0xa616f3(0xa3))),...optionalTrimmed(_0x502875[_0xa616f3(0xa7)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xb5)))}:{}};}function buildUpdateInput(_0x280904){const _0x4eb939=a32_0x2167bf,_0x594758={};optionalTrimmed(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb8)))&&(_0x594758['functionName']=normalizeFunctionName(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb8))));_0x280904[_0x4eb939(0x9d)](_0x4eb939(0xd2))!==undefined&&(_0x594758[_0x4eb939(0xd2)]=_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xd2)));optionalTrimmed(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xa3)))&&(_0x594758['scriptContent']=readScriptFile(_0x280904[_0x4eb939(0xa7)]('file')));_0x280904[_0x4eb939(0x9d)](_0x4eb939(0xb5))!==undefined&&(_0x594758['sourceSessionId']=_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb5)));if(Object[_0x4eb939(0xd1)](_0x594758)[_0x4eb939(0xb1)]===0x0)throw CliErrors['validation'](_0x4eb939(0x98));return _0x594758;}function parseExecParams(_0x33bfce){const _0x837c1f=a32_0x2167bf,_0x169b7a=parseJsonParams(_0x33bfce)??{};if(Array[_0x837c1f(0xca)](_0x169b7a))throw CliErrors['validation'](_0x837c1f(0x9e));return _0x169b7a;}const personalBffList={'service':a32_0x2167bf(0xaa),'command':a32_0x2167bf(0xb0),'description':a32_0x2167bf(0xcb),'risk':a32_0x2167bf(0xbf),'flags':[VERBOSE_FLAG],async 'execute'(_0x1a30b4){const _0x2416d4=a32_0x2167bf,_0x18f675=await listPersonalBffs(_0x1a30b4[_0x2416d4(0xc2)]);return{'ok':!![],'data':{'total':_0x18f675[_0x2416d4(0xb1)],'items':_0x1a30b4['bool'](_0x2416d4(0xa2))?_0x18f675:_0x18f675[_0x2416d4(0xd8)](summarizeBff)}};}},personalBffDetail={'service':a32_0x2167bf(0xaa),'command':a32_0x2167bf(0xaf),'description':a32_0x2167bf(0xac),'risk':a32_0x2167bf(0xbf),'flags':[{...ID_FLAG,'description':a32_0x2167bf(0xd6)}],async 'execute'(_0x3d97b6){const _0xe7f50b=a32_0x2167bf,_0xfb4c61=await getPersonalBff(_0x3d97b6[_0xe7f50b(0xd4)]('id'),_0x3d97b6[_0xe7f50b(0xc2)]);return{'ok':!![],'data':detailBff(_0xfb4c61)};}},personalBffCreate={'service':'personal-bff','command':a32_0x2167bf(0xad),'description':a32_0x2167bf(0xa8),'risk':a32_0x2167bf(0xbb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x6a107d){const _0x188bd5=a32_0x2167bf,_0x2cc923=buildCreateInput(_0x6a107d),_0x1b7ca9=await createPersonalBff(_0x6a107d[_0x188bd5(0xc2)],_0x2cc923);return{'ok':!![],'data':detailBff(_0x1b7ca9),'message':'Created\x20personal\x20BFF\x20'+_0x1b7ca9['id']+(_0x1b7ca9['functionName']?'\x20('+_0x1b7ca9['functionName']+')':'')};},async 'dryRun'(_0x150e35){const _0xd104ec=a32_0x2167bf,_0x82966d=buildCreateInput(_0x150e35);return dryRun(_0xd104ec(0xa4),_0xd104ec(0xc7))[_0xd104ec(0xc9)]({'appCode':_0x150e35[_0xd104ec(0xc2)],..._0x82966d})['description']('Preview:\x20create\x20personal\x20BFF\x20'+_0x82966d[_0xd104ec(0xb2)])[_0xd104ec(0x9c)]();}},personalBffUpdate={'service':a32_0x2167bf(0xaa),'command':'update','description':a32_0x2167bf(0xcc),'risk':a32_0x2167bf(0xbb),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x419007){const _0x1f15a7=a32_0x2167bf,_0x3fe414=_0x419007['num']('id'),_0x389fb8=buildUpdateInput(_0x419007),_0x4198ac=await updatePersonalBff(_0x3fe414,_0x419007[_0x1f15a7(0xc2)],_0x389fb8);return{'ok':!![],'data':detailBff(_0x4198ac),'message':_0x1f15a7(0xbd)+_0x4198ac['id']+(_0x4198ac['functionName']?'\x20('+_0x4198ac[_0x1f15a7(0xb2)]+')':'')};},async 'dryRun'(_0x299061){const _0x28e63c=a32_0x2167bf,_0x2dc759=_0x299061['num']('id'),_0x349903=buildUpdateInput(_0x299061);return dryRun(_0x28e63c(0xa4),_0x28e63c(0xc3)+_0x2dc759+_0x28e63c(0xa1))['body']({'appCode':_0x299061[_0x28e63c(0xc2)],..._0x349903})[_0x28e63c(0xd2)](_0x28e63c(0xab)+_0x2dc759)[_0x28e63c(0x9c)]();}},personalBffExec={'service':'personal-bff','command':a32_0x2167bf(0xce),'description':a32_0x2167bf(0x9f),'risk':a32_0x2167bf(0x96),'flags':[{...ID_FLAG,'description':a32_0x2167bf(0xd6)},{...PARAMS_FLAG,'description':a32_0x2167bf(0xd7)}],async 'validate'(_0x18a8d9){const _0x3bf9f=a32_0x2167bf;parseExecParams(_0x18a8d9[_0x3bf9f(0xa7)](_0x3bf9f(0xd0)));},async 'execute'(_0x4f226e){const _0x385d5d=a32_0x2167bf,_0x3c4675=_0x4f226e[_0x385d5d(0xd4)]('id'),_0x57a816=parseExecParams(_0x4f226e[_0x385d5d(0xa7)](_0x385d5d(0xd0))),_0x522875=await executePersonalBff(_0x3c4675,_0x4f226e[_0x385d5d(0xc2)],_0x57a816);return{'ok':!![],'data':{'result':_0x522875},'message':_0x385d5d(0xd3)+_0x3c4675};}};function a32_0x4943(_0x530e77,_0x5e4343){_0x530e77=_0x530e77-0x96;const _0x3adf21=a32_0x3adf();let _0x494352=_0x3adf21[_0x530e77];return _0x494352;}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a33_0x33b793=a33_0x181d;(function(_0x48c4f4,_0x2de328){const _0x2dd301=a33_0x181d,_0x101783=_0x48c4f4();while(!![]){try{const _0x32d59d=-parseInt(_0x2dd301(0xa4))/0x1*(parseInt(_0x2dd301(0xd1))/0x2)+-parseInt(_0x2dd301(0xc1))/0x3*(parseInt(_0x2dd301(0xce))/0x4)+-parseInt(_0x2dd301(0xb7))/0x5*(parseInt(_0x2dd301(0xba))/0x6)+parseInt(_0x2dd301(0xb2))/0x7*(-parseInt(_0x2dd301(0xbc))/0x8)+-parseInt(_0x2dd301(0xcd))/0x9+-parseInt(_0x2dd301(0xb9))/0xa*(parseInt(_0x2dd301(0xcb))/0xb)+parseInt(_0x2dd301(0xaf))/0xc;if(_0x32d59d===_0x2de328)break;else _0x101783['push'](_0x101783['shift']());}catch(_0x55b895){_0x101783['push'](_0x101783['shift']());}}}(a33_0x3fc6,0x4ca0d));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';function a33_0x3fc6(){const _0xb0505d=['Logs','3652sLZpDD','from','4918617NfxIEM','1489172DvgOVS','Runtime\x20App\x20Config','values','34686oaPKzf','Self\x20Update','Datasets','login','BFF\x20Scripts','1WqMSaX','Configuration','Instant\x20API','\x20\x20[write]','service','list','Service\x20Tree','CLI\x20Built-in\x20Skill','SQL\x20Queries','command','get','31440408IgHkwv','App\x20Management','has','28wVIjgn','show','isSingleCommand','write','Skills','107955ZiFtCc','run','8780ZvXBFN','168REEPFb','push','947944lVuocy','Personal\x20BFF','install','Authentication','Artifacts','3WrineW','map','description','set','\x20\x20[high-risk-write]','Diagnostics','defaultCommand','risk','Knowledge\x20Base'];a33_0x3fc6=function(){return _0xb0505d;};return a33_0x3fc6();}function a33_0x181d(_0x15dec3,_0x31546e){_0x15dec3=_0x15dec3-0xa2;const _0x3fc674=a33_0x3fc6();let _0x181d94=_0x3fc674[_0x15dec3];return _0x181d94;}import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';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(_0x288444){const _0x4fc9c7=a33_0x181d;for(const _0x3d4971 of _0x288444){definitions['set'](_0x3d4971[_0x4fc9c7(0xa8)]+':'+_0x3d4971[_0x4fc9c7(0xad)],_0x3d4971);let _0x3ed2a8=serviceGroups[_0x4fc9c7(0xae)](_0x3d4971[_0x4fc9c7(0xa8)]);!_0x3ed2a8&&(_0x3ed2a8=[],serviceGroups[_0x4fc9c7(0xc4)](_0x3d4971[_0x4fc9c7(0xa8)],_0x3ed2a8)),_0x3ed2a8['push'](_0x3d4971);}}function registerService(_0x101488,_0x102ec0,_0x2e370a){const _0x4541c6=a33_0x181d;registerDefinitions(_0x102ec0);const _0x25d45c=_0x2880c5=>_0x2880c5==='read'?'':_0x2880c5===_0x4541c6(0xb5)?_0x4541c6(0xa7):_0x4541c6(0xc5),_0x51c13f={'service':_0x102ec0[0x0][_0x4541c6(0xa8)],'label':_0x101488,'commands':_0x102ec0[_0x4541c6(0xc2)](_0x191590=>({'command':_0x191590[_0x4541c6(0xad)],'description':_0x191590[_0x4541c6(0xc3)],'tag':_0x25d45c(_0x191590[_0x4541c6(0xc8)])})),'defaultCommand':_0x2e370a?.[_0x4541c6(0xc7)]??(_0x2e370a?.[_0x4541c6(0xb4)]?_0x102ec0[0x0][_0x4541c6(0xad)]:undefined),'isSingleCommand':_0x2e370a?.[_0x4541c6(0xb4)]};serviceRegistry[_0x4541c6(0xbb)](_0x51c13f),serviceByName[_0x4541c6(0xc4)](_0x51c13f['service'],_0x51c13f);}registerService(a33_0x33b793(0xbf),authDefinitions,{'defaultCommand':a33_0x33b793(0xa2)}),registerService(a33_0x33b793(0xb0),appDefinitions,{'defaultCommand':a33_0x33b793(0xa9)}),registerService('Workspace',workspaceDefinitions),registerService(a33_0x33b793(0xcf),appConfigDefinitions),registerService(a33_0x33b793(0xa5),configDefinitions,{'defaultCommand':a33_0x33b793(0xa9)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a33_0x33b793(0xd3),datasetDefinitions),registerService(a33_0x33b793(0xa6),dataDefinitions),registerService(a33_0x33b793(0xac),sqlDefinitions),registerService(a33_0x33b793(0xa3),bffDefinitions),registerService(a33_0x33b793(0xbd),personalBffDefinitions),registerService(a33_0x33b793(0xc0),artifactDefinitions),registerService(a33_0x33b793(0xc9),kbDefinitions),registerService(a33_0x33b793(0xaa),serviceDefinitions,{'defaultCommand':'list'}),registerService(a33_0x33b793(0xb6),skillDefinitions,{'defaultCommand':a33_0x33b793(0xbe)}),registerService(a33_0x33b793(0xab),cliSkillDefinitions,{'defaultCommand':'install'}),registerService(a33_0x33b793(0xd2),[updateDefinition],{'defaultCommand':a33_0x33b793(0xb8),'isSingleCommand':!![]}),registerService(a33_0x33b793(0xc6),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a33_0x33b793(0xca),logsDefinitions,{'defaultCommand':a33_0x33b793(0xb3)});export function findDefinition(_0x4366c7,_0x5a433a){return definitions['get'](_0x4366c7+':'+_0x5a433a);}export function isKnownService(_0x6974a7){const _0x3dc94e=a33_0x33b793;return serviceByName[_0x3dc94e(0xb1)](_0x6974a7);}export function getServiceEntry(_0x268692){const _0x87f1b5=a33_0x33b793;return serviceByName[_0x87f1b5(0xae)](_0x268692);}export function getAllDefinitions(){const _0x4322a2=a33_0x33b793;return Array[_0x4322a2(0xcc)](definitions[_0x4322a2(0xd0)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a34_0x5f4f76=a34_0x5cc5;(function(_0x5c3625,_0x38e4e0){const _0x2c5cff=a34_0x5cc5,_0x4470f1=_0x5c3625();while(!![]){try{const _0x353d12=-parseInt(_0x2c5cff(0xd1))/0x1+-parseInt(_0x2c5cff(0xd3))/0x2+-parseInt(_0x2c5cff(0xd4))/0x3+-parseInt(_0x2c5cff(0xd7))/0x4*(-parseInt(_0x2c5cff(0xd8))/0x5)+-parseInt(_0x2c5cff(0xd2))/0x6+parseInt(_0x2c5cff(0xd6))/0x7+parseInt(_0x2c5cff(0xd5))/0x8;if(_0x353d12===_0x38e4e0)break;else _0x4470f1['push'](_0x4470f1['shift']());}catch(_0x59b7f6){_0x4470f1['push'](_0x4470f1['shift']());}}}(a34_0x38cd,0x88f5b));function a34_0x5cc5(_0x126eec,_0x33c7f1){_0x126eec=_0x126eec-0xcf;const _0x38cd4c=a34_0x38cd();let _0x5cc5cf=_0x38cd4c[_0x126eec];return _0x5cc5cf;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x8e331a){const _0x1fae79=await buildSchemaPayload();return{'ok':!![],'data':_0x1fae79};}function a34_0x38cd(){const _0x11bd4a=['3352475qhwPds','628KkBKck','3410tFqhkS','export','schema','93461mwxRbv','2715390NURpeM','978728TaEuOA','1766724TkcGuE','12794288GvbQPB'];a34_0x38cd=function(){return _0x11bd4a;};return a34_0x38cd();}export const schemaDefinition={'service':a34_0x5f4f76(0xd0),'command':a34_0x5f4f76(0xcf),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1c44aa,_0x262793){const _0x51010b=a35_0x4167,_0x373b07=_0x1c44aa();while(!![]){try{const _0x5e3978=parseInt(_0x51010b(0x1e0))/0x1+parseInt(_0x51010b(0x1ca))/0x2+parseInt(_0x51010b(0x18b))/0x3+-parseInt(_0x51010b(0x181))/0x4*(parseInt(_0x51010b(0x1b5))/0x5)+parseInt(_0x51010b(0x1bf))/0x6+parseInt(_0x51010b(0x1a1))/0x7*(parseInt(_0x51010b(0x1b4))/0x8)+-parseInt(_0x51010b(0x1c5))/0x9;if(_0x5e3978===_0x262793)break;else _0x373b07['push'](_0x373b07['shift']());}catch(_0x249dbb){_0x373b07['push'](_0x373b07['shift']());}}}(a35_0x4fc1,0x8e292));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';function a35_0x4fc1(){const _0x143c0a=['description','\x22\x20in\x20service\x20command\x20','6541686QknnUa','appCode','fromEntries','cliPath','context.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','19533591NUoiAT','\x20\x20[','filter','datasetCode','sqlCode','1271426Qijmad','appcode','\x20->\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','number','padEnd','Unsupported\x20service\x20target\x20kind:\x20','loginName','dbtableConfig','map','params','appBindings','const','flatMap','\x20\x20\x20\x20command:\x20','source','\x20\x20MAP\x20TO','service','username','Service\x20command\x20','slice','target','204751mkTdTn','\x20requires\x20target.sqlCode.','8qLyRGZ','some','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','bffCode','app','code','tree','\x20\x20\x20\x20sqlCode:\x20','tenantCode','envName','1666581LvrIRu','read','kind','appRef','type','validation','mapTo','userId','employeeId','Unknown\x20appRef\x20\x22','nickName','push','\x20service\x20detail\x20--service\x20','remainingArgs','scriptName','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20requires\x20target.scriptName.','data','datatable','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20\x20\x20datasetCode:\x20','7bgjOaz','json','args','operator','commands','\x20<command>\x20[flags]','enum','userName','\x20\x20SERVICE\x20TREE\x20TARGET','bffId','join','command','Run\x20service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','string','SERVICE_TREE','\x20completed\x20in\x20','bff','cliName','6691144FMcSNA','1424940MPkrrn','now','required','length','name','risk','find','env'];a35_0x4fc1=function(){return _0x143c0a;};return a35_0x4fc1();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x41bb07,_0x4345df){const _0x3744a5=a35_0x4167,_0x42728e=listLocalServiceTrees();let _0x52eb44;for(const _0x53176c of _0x42728e){const _0xe4debb=matchServiceTreeCommand(_0x53176c,_0x41bb07);if(!_0xe4debb)continue;(!_0x52eb44||_0xe4debb[_0x3744a5(0x1ac)][_0x3744a5(0x19a)][_0x3744a5(0x1b8)]>_0x52eb44['command'][_0x3744a5(0x19a)][_0x3744a5(0x1b8)])&&(_0x52eb44={'tree':_0x53176c,'command':_0xe4debb[_0x3744a5(0x1ac)],'remainingArgs':_0xe4debb['remainingArgs']});}if(!_0x52eb44)return undefined;const _0x2fb8c3={..._0x4345df};return applyAppBinding(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)],_0x2fb8c3),{'definition':buildDynamicCommandDefinition(_0x52eb44[_0x3744a5(0x187)],_0x52eb44[_0x3744a5(0x1ac)]),'args':_0x52eb44[_0x3744a5(0x198)],'flags':_0x2fb8c3,'tree':_0x52eb44[_0x3744a5(0x187)],'command':_0x52eb44[_0x3744a5(0x1ac)]};}function a35_0x4167(_0x9db546,_0x10507c){_0x9db546=_0x9db546-0x181;const _0x4fc1dc=a35_0x4fc1();let _0x4167a9=_0x4fc1dc[_0x9db546];return _0x4167a9;}export function generateDynamicServiceHelp(_0x170f08){const _0x3b2d9e=a35_0x4167,_0x4372e8=listLocalServiceTrees()[_0x3b2d9e(0x1bb)](_0x42268b=>_0x42268b['service']['code']===_0x170f08);if(!_0x4372e8)return undefined;const _0x179a9c=[CLI_BIN_NAME+'\x20'+_0x170f08+_0x3b2d9e(0x1a6),'',_0x4372e8['service'][_0x3b2d9e(0x1b9)]||_0x170f08,_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]?'\x20\x20'+_0x4372e8[_0x3b2d9e(0x1db)][_0x3b2d9e(0x1bd)]:'','','Commands:',..._0x4372e8[_0x3b2d9e(0x1a5)][_0x3b2d9e(0x1d3)](_0x5d5bad=>{const _0x416857=_0x3b2d9e,_0x16eacf=_0x5d5bad[_0x416857(0x19a)][_0x416857(0x1de)](0x1)[_0x416857(0x1ab)]('\x20'),_0x5ae609=_0x5d5bad[_0x416857(0x1ba)]===_0x416857(0x18c)?'':'\x20['+_0x5d5bad[_0x416857(0x1ba)]+']';return'\x20\x20'+_0x16eacf[_0x416857(0x1cf)](0x18)+'\x20'+(_0x5d5bad[_0x416857(0x1bd)]||'')+_0x5ae609;}),'','Use\x20`'+CLI_BIN_NAME+_0x3b2d9e(0x197)+_0x170f08+_0x3b2d9e(0x19b)][_0x3b2d9e(0x1c7)](Boolean);return _0x179a9c[_0x3b2d9e(0x1ab)]('\x0a');}export function listDynamicServiceEntries(){const _0x36197a=a35_0x4167;return listLocalServices()[_0x36197a(0x1d3)](_0x3589e8=>{const _0x1645dc=_0x36197a,_0x524121=_0x3589e8['normalizedManifest'];return{'service':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'label':_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x1b9)]||_0x524121[_0x1645dc(0x1db)][_0x1645dc(0x186)],'commands':_0x524121[_0x1645dc(0x1a5)]['map'](_0x3f9621=>({'command':dynamicCommandName(_0x3f9621),'description':_0x3f9621[_0x1645dc(0x1bd)]||_0x1645dc(0x1ad)+_0x3f9621[_0x1645dc(0x1c2)],'tag':riskTag(_0x3f9621['risk'])}))};});}export function getDynamicServiceEntry(_0x19e61b){const _0x5816b4=a35_0x4167;return listDynamicServiceEntries()[_0x5816b4(0x1bb)](_0x18a904=>_0x18a904[_0x5816b4(0x1db)]===_0x19e61b);}export function listDynamicServiceDefinitions(_0x161851){const _0x3e2980=a35_0x4167;return listLocalServiceTrees()[_0x3e2980(0x1c7)](_0x16f334=>!_0x161851||_0x16f334['service'][_0x3e2980(0x186)]===_0x161851)[_0x3e2980(0x1d7)](_0x7dd6ba=>_0x7dd6ba[_0x3e2980(0x1a5)][_0x3e2980(0x1d3)](_0x37a83b=>buildDynamicCommandDefinition(_0x7dd6ba,_0x37a83b)));}export function getDynamicServiceDefinitions(_0x15a22e){const _0x4c0847=a35_0x4167,_0x2fa89c=listDynamicServiceDefinitions(_0x15a22e);return _0x2fa89c[_0x4c0847(0x1b8)]>0x0?_0x2fa89c:undefined;}export function findDynamicServiceDefinition(_0x3708fc,_0x3b0cd7){const _0x5cb27c=a35_0x4167;return listDynamicServiceDefinitions(_0x3708fc)[_0x5cb27c(0x1bb)](_0x4125cc=>_0x4125cc[_0x5cb27c(0x1ac)]===_0x3b0cd7);}export function buildDynamicCommandDefinition(_0x3e9812,_0x36bc53){const _0x53df52=a35_0x4167;return{'service':_0x3e9812['service'][_0x53df52(0x186)],'command':dynamicCommandName(_0x36bc53),'description':_0x36bc53['description']||_0x53df52(0x1ad)+_0x36bc53[_0x53df52(0x1c2)],'risk':_0x36bc53[_0x53df52(0x1ba)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x36bc53[_0x53df52(0x1a3)][_0x53df52(0x1d3)](_0x2d8069=>({'name':_0x2d8069[_0x53df52(0x1b9)],'description':_0x2d8069['description']||_0x2d8069['name'],'required':_0x2d8069[_0x53df52(0x1b7)]})),'flags':_0x36bc53['flags'][_0x53df52(0x1d3)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x36bc53),async 'dryRun'(_0x57b632){const _0x15a42b=_0x53df52,_0x1c8885=await compilePlan(_0x36bc53,_0x57b632);return{'method':_0x15a42b(0x1b0),'url':_0x36bc53[_0x15a42b(0x1c2)],'body':{'target':targetPreview(_0x1c8885),'params':_0x1c8885['params']},'description':_0x15a42b(0x1ae)+_0x36bc53[_0x15a42b(0x1c2)]};},async 'execute'(_0x15b79e){const _0x5eb950=_0x53df52,_0x5e9ff2=await compilePlan(_0x36bc53,_0x15b79e),_0x556b28=Date[_0x5eb950(0x1b6)](),_0x33a817=await executePlan(_0x5e9ff2,_0x36bc53,_0x15b79e),_0x53345c=Date[_0x5eb950(0x1b6)]()-_0x556b28;return{'ok':!![],'data':{'service':_0x3e9812['service'],'command':_0x36bc53[_0x5eb950(0x1c2)],'target':targetPreview(_0x5e9ff2),'result':_0x33a817,'elapsed':_0x53345c},'message':_0x5eb950(0x1dd)+_0x36bc53[_0x5eb950(0x1c2)]+_0x5eb950(0x1b1)+_0x53345c+'ms'};}};}function dynamicCommandName(_0x2ff795){const _0x25f5c2=a35_0x4167;return _0x2ff795[_0x25f5c2(0x19a)][_0x25f5c2(0x1de)](0x1)[_0x25f5c2(0x1ab)]('\x20');}function riskTag(_0x32fcf6){const _0x2e8617=a35_0x4167;return _0x32fcf6===_0x2e8617(0x18c)?'':_0x2e8617(0x1c6)+_0x32fcf6+']';}function flagToCommandFlag(_0x192ad8){const _0x7f7e3d=a35_0x4167;return{'name':_0x192ad8[_0x7f7e3d(0x1b3)],'type':_0x192ad8[_0x7f7e3d(0x18f)]===_0x7f7e3d(0x1a2)?_0x7f7e3d(0x1af):_0x192ad8[_0x7f7e3d(0x18f)],'description':_0x192ad8[_0x7f7e3d(0x1bd)]||_0x192ad8[_0x7f7e3d(0x1b9)],'required':_0x192ad8[_0x7f7e3d(0x1b7)],'default':isPrimitiveFlagDefault(_0x192ad8['default'])?_0x192ad8['default']:undefined,'enum':_0x192ad8[_0x7f7e3d(0x1a7)]};}async function compilePlan(_0x328e05,_0x72328e){return compileServiceTreeCommand(_0x328e05,{'flags':_0x72328e['rawFlags'],'args':_0x72328e['args'],'context':await buildServiceContext(_0x328e05,_0x72328e)});}async function buildServiceContext(_0x18ecc5,_0x29b3cf){const _0x5d45fc=a35_0x4167,_0x3d01c1={'appCode':_0x29b3cf[_0x5d45fc(0x1c0)],'env':_0x29b3cf[_0x5d45fc(0x18a)],'envName':_0x29b3cf[_0x5d45fc(0x18a)]};if(!usesRuntimeContext(_0x18ecc5))return _0x3d01c1;const _0x2def9f=await getLoginUserInfo(),_0x2a278f=pickFirst(_0x2def9f[_0x5d45fc(0x192)],_0x2def9f['id']);return{..._0x3d01c1,'user':_0x2def9f,'userId':_0x2a278f,'id':_0x2def9f['id'],'username':pickFirst(_0x2def9f[_0x5d45fc(0x1dc)],_0x2def9f[_0x5d45fc(0x1a8)],_0x2def9f[_0x5d45fc(0x1d1)]),'userName':_0x2def9f[_0x5d45fc(0x1a8)],'nickname':pickFirst(_0x2def9f['nickname'],_0x2def9f[_0x5d45fc(0x195)]),'nickName':_0x2def9f[_0x5d45fc(0x195)],'tenantCode':_0x2def9f[_0x5d45fc(0x189)],'employeeId':_0x2def9f[_0x5d45fc(0x193)]};}function usesRuntimeContext(_0x34ec4e){const _0x102021=a35_0x4167;return _0x34ec4e['mapTo'][_0x102021(0x182)](_0x1707d3=>typeof _0x1707d3['source']===_0x102021(0x1af)&&(_0x1707d3[_0x102021(0x1d9)]['startsWith'](_0x102021(0x1c3))||_0x1707d3[_0x102021(0x1d9)]['startsWith']('ctx.')));}function pickFirst(..._0x1f1fc6){const _0x33baaf=a35_0x4167;return _0x1f1fc6[_0x33baaf(0x1bb)](_0x37843f=>_0x37843f!==undefined&&_0x37843f!==null);}async function executePlan(_0x12f480,_0x4fb1d5,_0x2c1cfe){const _0x2c63b0=a35_0x4167;if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x19d)){const _0xb6b8d6=await resolveDatasetCode(_0x12f480,_0x4fb1d5,_0x2c1cfe);return executeData(_0xb6b8d6,_0x12f480[_0x2c63b0(0x1ac)],_0x12f480[_0x2c63b0(0x1d4)]);}if(_0x12f480[_0x2c63b0(0x18d)]==='sql'){if(!_0x12f480[_0x2c63b0(0x1c9)])throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5['cliPath']+_0x2c63b0(0x1e1));return executeSdkSql(_0x12f480['sqlCode'],normalizeScalarParams(_0x12f480[_0x2c63b0(0x1d4)]));}if(_0x12f480[_0x2c63b0(0x18d)]===_0x2c63b0(0x1b2)){const _0x15db56=_0x12f480[_0x2c63b0(0x199)]||_0x12f480[_0x2c63b0(0x184)]||(_0x12f480['bffId']==null?'':String(_0x12f480[_0x2c63b0(0x1aa)]));if(!_0x15db56)throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1dd)+_0x4fb1d5[_0x2c63b0(0x1c2)]+_0x2c63b0(0x19c));return executeSdkBff(_0x15db56,_0x12f480[_0x2c63b0(0x1d4)]);}throw CliErrors[_0x2c63b0(0x190)](_0x2c63b0(0x1d0)+_0x12f480[_0x2c63b0(0x18d)]);}async function resolveDatasetCode(_0x2918e7,_0x844183,_0x507fc7){const _0x5747f2=a35_0x4167;if(_0x2918e7['datasetCode'])return _0x2918e7[_0x5747f2(0x1c8)];if(!_0x2918e7['datatable'])throw CliErrors[_0x5747f2(0x190)](_0x5747f2(0x1dd)+_0x844183[_0x5747f2(0x1c2)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x51dd06=await listDatasets(_0x507fc7[_0x5747f2(0x1c0)]),_0x1ff913=_0x51dd06['find'](_0x4adcc7=>_0x4adcc7[_0x5747f2(0x1d2)]?.['tableName']===_0x2918e7[_0x5747f2(0x19e)]);if(!_0x1ff913?.[_0x5747f2(0x186)])throw CliErrors[_0x5747f2(0x190)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2918e7['datatable']+_0x5747f2(0x183)+_0x507fc7[_0x5747f2(0x1c0)]+'.',_0x5747f2(0x1cd));return _0x1ff913[_0x5747f2(0x186)];}function applyAppBinding(_0x5392d7,_0x49b7c9,_0x59bc64){const _0x29a92d=a35_0x4167,_0x4dbf01=_0x49b7c9['target'][_0x29a92d(0x18e)];if(!_0x4dbf01)return;const _0x32ab73=_0x5392d7[_0x29a92d(0x1d5)][_0x4dbf01];if(!_0x32ab73)throw CliErrors[_0x29a92d(0x190)](_0x29a92d(0x194)+_0x4dbf01+_0x29a92d(0x1be)+_0x49b7c9['cliPath']+'.',_0x29a92d(0x19f));const _0x4d4c7a=_0x32ab73[_0x29a92d(0x1cb)]||_0x32ab73[_0x29a92d(0x1c0)];_0x4d4c7a&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64['appcode']=_0x4d4c7a),_0x32ab73[_0x29a92d(0x185)]&&!hasText(_0x59bc64[_0x29a92d(0x185)])&&!hasText(_0x59bc64[_0x29a92d(0x1cb)])&&(_0x59bc64[_0x29a92d(0x185)]=_0x32ab73[_0x29a92d(0x185)]),_0x32ab73[_0x29a92d(0x1bc)]&&!hasText(_0x59bc64[_0x29a92d(0x1bc)])&&(_0x59bc64[_0x29a92d(0x1bc)]=_0x32ab73[_0x29a92d(0x1bc)]);}function renderDynamicCommandHelp(_0x482504){const _0x4572e3=a35_0x4167,_0x479479=[_0x4572e3(0x1a9),_0x4572e3(0x1c4)+_0x482504[_0x4572e3(0x1df)]['kind'],_0x4572e3(0x1d8)+_0x482504[_0x4572e3(0x1df)]['command']];if(_0x482504['target'][_0x4572e3(0x1c8)])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x1a0)+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x1c8)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)])_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20datatable:\x20'+_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x19e)]);if(_0x482504[_0x4572e3(0x1df)]['sqlCode'])_0x479479[_0x4572e3(0x196)](_0x4572e3(0x188)+_0x482504['target'][_0x4572e3(0x1c9)]);if(_0x482504[_0x4572e3(0x1df)][_0x4572e3(0x199)])_0x479479['push']('\x20\x20\x20\x20scriptName:\x20'+_0x482504['target'][_0x4572e3(0x199)]);if(_0x482504[_0x4572e3(0x191)][_0x4572e3(0x1b8)]>0x0){_0x479479['push']('',_0x4572e3(0x1da));for(const _0x35c8e7 of _0x482504[_0x4572e3(0x191)]){_0x479479[_0x4572e3(0x196)]('\x20\x20\x20\x20'+(_0x35c8e7['source']||_0x4572e3(0x1d6))+_0x4572e3(0x1cc)+_0x35c8e7['target']+(_0x35c8e7[_0x4572e3(0x1a4)]?'.'+_0x35c8e7['operator']:''));}}return _0x479479[_0x4572e3(0x1ab)]('\x0a');}function targetPreview(_0x41f789){const _0x397c5d=a35_0x4167;return{'kind':_0x41f789[_0x397c5d(0x18d)],'command':_0x41f789['command'],'appRef':_0x41f789[_0x397c5d(0x18e)],'datasetCode':_0x41f789[_0x397c5d(0x1c8)],'datatable':_0x41f789[_0x397c5d(0x19e)],'sqlCode':_0x41f789[_0x397c5d(0x1c9)],'bffCode':_0x41f789[_0x397c5d(0x184)],'bffId':_0x41f789['bffId'],'scriptName':_0x41f789[_0x397c5d(0x199)]};}function normalizeScalarParams(_0x1f404f){const _0xe46eee=a35_0x4167;return Object[_0xe46eee(0x1c1)](Object['entries'](_0x1f404f)[_0xe46eee(0x1c7)](([,_0x34d1aa])=>typeof _0x34d1aa===_0xe46eee(0x1af)||typeof _0x34d1aa==='number'));}function hasText(_0x51b202){const _0x1bf083=a35_0x4167;return typeof _0x51b202===_0x1bf083(0x1af)&&_0x51b202['trim']()[_0x1bf083(0x1b8)]>0x0;}function isPrimitiveFlagDefault(_0x17b451){const _0x26ce4a=a35_0x4167;return _0x17b451===undefined||typeof _0x17b451===_0x26ce4a(0x1af)||typeof _0x17b451===_0x26ce4a(0x1ce)||typeof _0x17b451==='boolean';}
|
|
1
|
+
(function(_0x1f5b4a,_0x47c04d){const _0x174e07=a35_0x3f69,_0x20fa08=_0x1f5b4a();while(!![]){try{const _0x52ce36=-parseInt(_0x174e07(0x19a))/0x1+parseInt(_0x174e07(0x1f5))/0x2*(-parseInt(_0x174e07(0x1da))/0x3)+-parseInt(_0x174e07(0x1f1))/0x4+parseInt(_0x174e07(0x1e9))/0x5+-parseInt(_0x174e07(0x1c2))/0x6+parseInt(_0x174e07(0x19b))/0x7*(-parseInt(_0x174e07(0x1f4))/0x8)+parseInt(_0x174e07(0x1d4))/0x9*(parseInt(_0x174e07(0x1a8))/0xa);if(_0x52ce36===_0x47c04d)break;else _0x20fa08['push'](_0x20fa08['shift']());}catch(_0x124d7f){_0x20fa08['push'](_0x20fa08['shift']());}}}(a35_0x37fa,0xd5d8b));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a35_0x37fa(){const _0x41eab2=['slice','params','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20\x20\x20datasetCode:\x20','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20->\x20','657545lhRdfX','username','service','name','\x20\x20\x20\x20command:\x20','Use\x20`','\x20completed\x20in\x20','loginName','4746884wwHumR','userName','commands','16GrDxog','1672244qJywEx','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','required','type','tree','normalizedManifest','startsWith','rawFlags','fullPath','source','code','dbtableConfig','now','341868LRbrRi','5157558JIFySO','find','map','description','boolean','\x20\x20\x20\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','Preview\x20dynamic\x20service\x20command:\x20','appCode','string','Service\x20command\x20','padEnd','cliPath','57418870wyFASI','const','filter','sqlCode','\x20requires\x20target.sqlCode.','employeeId','appBindings','args','bffCode','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','tenantCode','data','enum','command','datatable','entries','\x22\x20in\x20service\x20command\x20','\x20requires\x20target.scriptName.','tableName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickname','push','scriptName','context.','risk','some','1938360nLCyYW','SERVICE_TREE','\x20\x20\x20\x20scriptName:\x20','env','length','kind','validation','\x20\x20\x20\x20datatable:\x20','flatMap','json','join','number','\x20\x20\x20\x20sqlCode:\x20','envName','app','Run\x20service\x20command\x20','trim','Commands:','9oIxLoH','flags','target','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','read','appcode','6uEQXlw','\x20service\x20detail\x20--service\x20','sql','\x20\x20MAP\x20TO','bffId','datasetCode','nickName','default'];a35_0x37fa=function(){return _0x41eab2;};return a35_0x37fa();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2f6592,_0x3eeaf9){const _0x60461b=a35_0x3f69,_0x398ca2=listLocalServiceTrees();let _0x2ffe14;for(const _0x155bf9 of _0x398ca2){const _0x2904ce=matchServiceTreeCommand(_0x155bf9,_0x2f6592);if(!_0x2904ce)continue;(!_0x2ffe14||_0x2904ce[_0x60461b(0x1b5)][_0x60461b(0x1fd)]['length']>_0x2ffe14[_0x60461b(0x1b5)][_0x60461b(0x1fd)]['length'])&&(_0x2ffe14={'tree':_0x155bf9,'command':_0x2904ce[_0x60461b(0x1b5)],'remainingArgs':_0x2904ce['remainingArgs']});}if(!_0x2ffe14)return undefined;const _0x935fde={..._0x3eeaf9};return applyAppBinding(_0x2ffe14[_0x60461b(0x1f9)],_0x2ffe14[_0x60461b(0x1b5)],_0x935fde),{'definition':buildDynamicCommandDefinition(_0x2ffe14[_0x60461b(0x1f9)],_0x2ffe14[_0x60461b(0x1b5)]),'args':_0x2ffe14['remainingArgs'],'flags':_0x935fde,'tree':_0x2ffe14['tree'],'command':_0x2ffe14[_0x60461b(0x1b5)]};}export function generateDynamicServiceHelp(_0x4b70db){const _0x30b4e9=a35_0x3f69,_0xcf008b=listLocalServiceTrees()['find'](_0x175c6b=>_0x175c6b[_0x30b4e9(0x1eb)][_0x30b4e9(0x197)]===_0x4b70db);if(!_0xcf008b)return undefined;const _0x47e5cf=[CLI_BIN_NAME+'\x20'+_0x4b70db+'\x20<command>\x20[flags]','',_0xcf008b['service'][_0x30b4e9(0x1ec)]||_0x4b70db,_0xcf008b['service'][_0x30b4e9(0x19e)]?'\x20\x20'+_0xcf008b[_0x30b4e9(0x1eb)]['description']:'','',_0x30b4e9(0x1d3),..._0xcf008b[_0x30b4e9(0x1f3)][_0x30b4e9(0x19d)](_0x4adde0=>{const _0x5e2f43=_0x30b4e9,_0x28e332=_0x4adde0[_0x5e2f43(0x1fd)][_0x5e2f43(0x1e2)](0x1)[_0x5e2f43(0x1cc)]('\x20'),_0x13b3fd=_0x4adde0[_0x5e2f43(0x1c0)]==='read'?'':'\x20['+_0x4adde0[_0x5e2f43(0x1c0)]+']';return'\x20\x20'+_0x28e332[_0x5e2f43(0x1a6)](0x18)+'\x20'+(_0x4adde0[_0x5e2f43(0x19e)]||'')+_0x13b3fd;}),'',_0x30b4e9(0x1ee)+CLI_BIN_NAME+_0x30b4e9(0x1db)+_0x4b70db+_0x30b4e9(0x1e4)][_0x30b4e9(0x1aa)](Boolean);return _0x47e5cf[_0x30b4e9(0x1cc)]('\x0a');}export function listDynamicServiceEntries(){const _0x1b6aa7=a35_0x3f69;return listLocalServices()[_0x1b6aa7(0x19d)](_0x28a0c2=>{const _0x5a1219=_0x1b6aa7,_0x3fe8cc=_0x28a0c2[_0x5a1219(0x1fa)];return{'service':_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x197)],'label':_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x1ec)]||_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x197)],'commands':_0x3fe8cc[_0x5a1219(0x1f3)][_0x5a1219(0x19d)](_0x2a14e3=>({'command':dynamicCommandName(_0x2a14e3),'description':_0x2a14e3[_0x5a1219(0x19e)]||_0x5a1219(0x1d1)+_0x2a14e3[_0x5a1219(0x1a7)],'tag':riskTag(_0x2a14e3[_0x5a1219(0x1c0)])}))};});}export function getDynamicServiceEntry(_0xa7708c){const _0xc2c6d6=a35_0x3f69;return listDynamicServiceEntries()[_0xc2c6d6(0x19c)](_0x235cb6=>_0x235cb6[_0xc2c6d6(0x1eb)]===_0xa7708c);}export function listDynamicServiceDefinitions(_0x4610b7){const _0x1f4b1b=a35_0x3f69;return listLocalServiceTrees()[_0x1f4b1b(0x1aa)](_0x37a0a2=>!_0x4610b7||_0x37a0a2[_0x1f4b1b(0x1eb)][_0x1f4b1b(0x197)]===_0x4610b7)[_0x1f4b1b(0x1ca)](_0x1fcd64=>_0x1fcd64['commands'][_0x1f4b1b(0x19d)](_0x48e3bb=>buildDynamicCommandDefinition(_0x1fcd64,_0x48e3bb)));}export function getDynamicServiceDefinitions(_0x2362d1){const _0x3673f0=a35_0x3f69,_0xe82710=listDynamicServiceDefinitions(_0x2362d1);return _0xe82710[_0x3673f0(0x1c6)]>0x0?_0xe82710:undefined;}export function findDynamicServiceDefinition(_0x4dfdad,_0x187482){const _0x4f8ae4=a35_0x3f69;return listDynamicServiceDefinitions(_0x4dfdad)['find'](_0x26c1cb=>_0x26c1cb[_0x4f8ae4(0x1b5)]===_0x187482);}export function buildDynamicCommandDefinition(_0x1ee3a0,_0xe2cd63){const _0xc6809=a35_0x3f69;return{'service':_0x1ee3a0[_0xc6809(0x1eb)]['code'],'command':dynamicCommandName(_0xe2cd63),'description':_0xe2cd63[_0xc6809(0x19e)]||_0xc6809(0x1d1)+_0xe2cd63[_0xc6809(0x1a7)],'risk':_0xe2cd63['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xe2cd63[_0xc6809(0x1af)][_0xc6809(0x19d)](_0x1fd087=>({'name':_0x1fd087[_0xc6809(0x1ec)],'description':_0x1fd087[_0xc6809(0x19e)]||_0x1fd087['name'],'required':_0x1fd087[_0xc6809(0x1f7)]})),'flags':_0xe2cd63[_0xc6809(0x1d5)][_0xc6809(0x19d)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xe2cd63),async 'dryRun'(_0x48f357){const _0x6b1517=_0xc6809,_0xa21afe=await compilePlan(_0xe2cd63,_0x48f357);return{'method':_0x6b1517(0x1c3),'url':_0xe2cd63[_0x6b1517(0x1a7)],'body':{'target':targetPreview(_0xa21afe),'params':_0xa21afe['params']},'description':_0x6b1517(0x1a2)+_0xe2cd63['cliPath']};},async 'execute'(_0x3cfdc4){const _0x14a69b=_0xc6809,_0x1836e4=await compilePlan(_0xe2cd63,_0x3cfdc4),_0x4f5371=Date[_0x14a69b(0x199)](),_0x46bf0c=await executePlan(_0x1836e4,_0xe2cd63,_0x3cfdc4),_0x456760=Date[_0x14a69b(0x199)]()-_0x4f5371;return{'ok':!![],'data':{'service':_0x1ee3a0[_0x14a69b(0x1eb)],'command':_0xe2cd63[_0x14a69b(0x1a7)],'target':targetPreview(_0x1836e4),'result':_0x46bf0c,'elapsed':_0x456760},'message':_0x14a69b(0x1a5)+_0xe2cd63['cliPath']+_0x14a69b(0x1ef)+_0x456760+'ms'};}};}function dynamicCommandName(_0x1857e4){const _0x19cc5a=a35_0x3f69;return _0x1857e4[_0x19cc5a(0x1fd)][_0x19cc5a(0x1e2)](0x1)['join']('\x20');}function riskTag(_0x1cb92e){const _0x481fcb=a35_0x3f69;return _0x1cb92e===_0x481fcb(0x1d8)?'':'\x20\x20['+_0x1cb92e+']';}function flagToCommandFlag(_0x204fe4){const _0x505cd2=a35_0x3f69;return{'name':_0x204fe4['cliName'],'type':_0x204fe4[_0x505cd2(0x1f8)]===_0x505cd2(0x1cb)?_0x505cd2(0x1a4):_0x204fe4[_0x505cd2(0x1f8)],'description':_0x204fe4['description']||_0x204fe4[_0x505cd2(0x1ec)],'required':_0x204fe4[_0x505cd2(0x1f7)],'default':isPrimitiveFlagDefault(_0x204fe4[_0x505cd2(0x1e1)])?_0x204fe4['default']:undefined,'enum':_0x204fe4[_0x505cd2(0x1b4)]};}async function compilePlan(_0xf38c,_0x4dd8a5){const _0x703434=a35_0x3f69;return compileServiceTreeCommand(_0xf38c,{'flags':_0x4dd8a5[_0x703434(0x1fc)],'args':_0x4dd8a5[_0x703434(0x1af)],'context':await buildServiceContext(_0xf38c,_0x4dd8a5)});}async function buildServiceContext(_0x2ea679,_0x40f2fe){const _0x4bc64a=a35_0x3f69,_0x40592a={'appCode':_0x40f2fe['appCode'],'env':_0x40f2fe[_0x4bc64a(0x1cf)],'envName':_0x40f2fe['envName']};if(!usesRuntimeContext(_0x2ea679))return _0x40592a;const _0x5b5f91=await getLoginUserInfo(),_0x164c48=pickFirst(_0x5b5f91['userId'],_0x5b5f91['id']);return{..._0x40592a,'user':_0x5b5f91,'userId':_0x164c48,'id':_0x5b5f91['id'],'username':pickFirst(_0x5b5f91[_0x4bc64a(0x1ea)],_0x5b5f91[_0x4bc64a(0x1f2)],_0x5b5f91[_0x4bc64a(0x1f0)]),'userName':_0x5b5f91[_0x4bc64a(0x1f2)],'nickname':pickFirst(_0x5b5f91[_0x4bc64a(0x1bc)],_0x5b5f91[_0x4bc64a(0x1e0)]),'nickName':_0x5b5f91[_0x4bc64a(0x1e0)],'tenantCode':_0x5b5f91[_0x4bc64a(0x1b2)],'employeeId':_0x5b5f91[_0x4bc64a(0x1ad)]};}function usesRuntimeContext(_0x2c2243){const _0xe487fe=a35_0x3f69;return _0x2c2243['mapTo'][_0xe487fe(0x1c1)](_0x34f5ad=>typeof _0x34f5ad[_0xe487fe(0x196)]===_0xe487fe(0x1a4)&&(_0x34f5ad['source'][_0xe487fe(0x1fb)](_0xe487fe(0x1bf))||_0x34f5ad[_0xe487fe(0x196)]['startsWith']('ctx.')));}function pickFirst(..._0x4cfac2){const _0x1a1190=a35_0x3f69;return _0x4cfac2[_0x1a1190(0x19c)](_0x4f5a9c=>_0x4f5a9c!==undefined&&_0x4f5a9c!==null);}async function executePlan(_0x1b31f4,_0x24fe90,_0x4bf4a6){const _0x5ba6d5=a35_0x3f69;if(_0x1b31f4[_0x5ba6d5(0x1c7)]===_0x5ba6d5(0x1b3)){const _0x3f7ea1=await resolveDatasetCode(_0x1b31f4,_0x24fe90,_0x4bf4a6);return executeData(_0x3f7ea1,_0x1b31f4['command'],_0x1b31f4[_0x5ba6d5(0x1e3)]);}if(_0x1b31f4[_0x5ba6d5(0x1c7)]===_0x5ba6d5(0x1dc)){if(!_0x1b31f4[_0x5ba6d5(0x1ab)])throw CliErrors['validation']('Service\x20command\x20'+_0x24fe90['cliPath']+_0x5ba6d5(0x1ac));return executeSdkSql(_0x1b31f4[_0x5ba6d5(0x1ab)],normalizeScalarParams(_0x1b31f4['params']));}if(_0x1b31f4['kind']==='bff'){const _0x1cfb61=_0x1b31f4[_0x5ba6d5(0x1be)]||_0x1b31f4['bffCode']||(_0x1b31f4[_0x5ba6d5(0x1de)]==null?'':String(_0x1b31f4[_0x5ba6d5(0x1de)]));if(!_0x1cfb61)throw CliErrors[_0x5ba6d5(0x1c8)](_0x5ba6d5(0x1a5)+_0x24fe90[_0x5ba6d5(0x1a7)]+_0x5ba6d5(0x1b9));return executeSdkBff(_0x1cfb61,_0x1b31f4[_0x5ba6d5(0x1e3)]);}throw CliErrors[_0x5ba6d5(0x1c8)](_0x5ba6d5(0x1e6)+_0x1b31f4[_0x5ba6d5(0x1c7)]);}async function resolveDatasetCode(_0x2b520,_0x44d4f4,_0x55e1e6){const _0x30b973=a35_0x3f69;if(_0x2b520[_0x30b973(0x1df)])return _0x2b520[_0x30b973(0x1df)];if(!_0x2b520['datatable'])throw CliErrors[_0x30b973(0x1c8)](_0x30b973(0x1a5)+_0x44d4f4[_0x30b973(0x1a7)]+_0x30b973(0x1a1));const _0x576414=await listDatasets(_0x55e1e6[_0x30b973(0x1a3)]),_0x3d3631=_0x576414[_0x30b973(0x19c)](_0x10519b=>_0x10519b[_0x30b973(0x198)]?.[_0x30b973(0x1ba)]===_0x2b520['datatable']);if(!_0x3d3631?.[_0x30b973(0x197)])throw CliErrors[_0x30b973(0x1c8)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2b520[_0x30b973(0x1b6)]+_0x30b973(0x1b1)+_0x55e1e6[_0x30b973(0x1a3)]+'.',_0x30b973(0x1f6));return _0x3d3631[_0x30b973(0x197)];}function applyAppBinding(_0x5c95b5,_0x289274,_0x436f5f){const _0x3ad88d=a35_0x3f69,_0x5b6536=_0x289274[_0x3ad88d(0x1d6)]['appRef'];if(!_0x5b6536)return;const _0x1f5f94=_0x5c95b5[_0x3ad88d(0x1ae)][_0x5b6536];if(!_0x1f5f94)throw CliErrors[_0x3ad88d(0x1c8)]('Unknown\x20appRef\x20\x22'+_0x5b6536+_0x3ad88d(0x1b8)+_0x289274[_0x3ad88d(0x1a7)]+'.',_0x3ad88d(0x1d7));const _0x3f94ac=_0x1f5f94[_0x3ad88d(0x1d9)]||_0x1f5f94[_0x3ad88d(0x1a3)];_0x3f94ac&&!hasText(_0x436f5f[_0x3ad88d(0x1d9)])&&(_0x436f5f[_0x3ad88d(0x1d9)]=_0x3f94ac),_0x1f5f94[_0x3ad88d(0x1d0)]&&!hasText(_0x436f5f['app'])&&!hasText(_0x436f5f['appcode'])&&(_0x436f5f['app']=_0x1f5f94[_0x3ad88d(0x1d0)]),_0x1f5f94[_0x3ad88d(0x1c5)]&&!hasText(_0x436f5f[_0x3ad88d(0x1c5)])&&(_0x436f5f[_0x3ad88d(0x1c5)]=_0x1f5f94[_0x3ad88d(0x1c5)]);}function renderDynamicCommandHelp(_0x1ffce6){const _0x1f0bd1=a35_0x3f69,_0xa9aa89=[_0x1f0bd1(0x1e7),_0x1f0bd1(0x1bb)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1c7)],_0x1f0bd1(0x1ed)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1b5)]];if(_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1df)])_0xa9aa89['push'](_0x1f0bd1(0x1e5)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1df)]);if(_0x1ffce6['target'][_0x1f0bd1(0x1b6)])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1c9)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1b6)]);if(_0x1ffce6['target']['sqlCode'])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1ce)+_0x1ffce6[_0x1f0bd1(0x1d6)]['sqlCode']);if(_0x1ffce6[_0x1f0bd1(0x1d6)]['scriptName'])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1c4)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1be)]);if(_0x1ffce6['mapTo'][_0x1f0bd1(0x1c6)]>0x0){_0xa9aa89['push']('',_0x1f0bd1(0x1dd));for(const _0x47ac8b of _0x1ffce6['mapTo']){_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1a0)+(_0x47ac8b[_0x1f0bd1(0x196)]||_0x1f0bd1(0x1a9))+_0x1f0bd1(0x1e8)+_0x47ac8b[_0x1f0bd1(0x1d6)]+(_0x47ac8b['operator']?'.'+_0x47ac8b['operator']:''));}}return _0xa9aa89[_0x1f0bd1(0x1cc)]('\x0a');}function a35_0x3f69(_0x1c1366,_0x24e5c1){_0x1c1366=_0x1c1366-0x196;const _0x37fa3d=a35_0x37fa();let _0x3f69d8=_0x37fa3d[_0x1c1366];return _0x3f69d8;}function targetPreview(_0x372102){const _0x257e14=a35_0x3f69;return{'kind':_0x372102[_0x257e14(0x1c7)],'command':_0x372102['command'],'appRef':_0x372102['appRef'],'datasetCode':_0x372102[_0x257e14(0x1df)],'datatable':_0x372102[_0x257e14(0x1b6)],'sqlCode':_0x372102[_0x257e14(0x1ab)],'bffCode':_0x372102[_0x257e14(0x1b0)],'bffId':_0x372102[_0x257e14(0x1de)],'scriptName':_0x372102[_0x257e14(0x1be)]};}function normalizeScalarParams(_0x2db192){const _0x320236=a35_0x3f69;return Object['fromEntries'](Object[_0x320236(0x1b7)](_0x2db192)['filter'](([,_0x3a5050])=>typeof _0x3a5050==='string'||typeof _0x3a5050==='number'));}function hasText(_0x8b3840){const _0x3f93ff=a35_0x3f69;return typeof _0x8b3840===_0x3f93ff(0x1a4)&&_0x8b3840[_0x3f93ff(0x1d2)]()[_0x3f93ff(0x1c6)]>0x0;}function isPrimitiveFlagDefault(_0x3bb6c8){const _0x392663=a35_0x3f69;return _0x3bb6c8===undefined||typeof _0x3bb6c8===_0x392663(0x1a4)||typeof _0x3bb6c8===_0x392663(0x1cd)||typeof _0x3bb6c8===_0x392663(0x19f);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a36_0x2635(){const _0x458395=['Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1843253hmYmnH','serviceCode','Local\x20service\x20not\x20found:\x20','import','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','validate','source','Imported','length','errors','hash','892956KrmgmZ','description','reduce','detail','721698gFvWGZ','map','kind','imported','Updated','file','7706754ZNxEbf','\x20service(s).','638hjuzIy','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','registry','updated','cliPath','8gUkYVs','65IwmsxF','service','45409CJPmVt','normalizedManifest','Local\x20service\x20code,\x20for\x20example\x20crm','warnings','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','\x20service\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','commands','filePath','registryServiceCode','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','3227780FRWqsc','Exported\x20service\x20','target','20WZzntn','report','list','entry','manifests','WRITE','version','read','write','416bEtWka','Service\x20registry\x20validation\x20passed.','980076kPsKyb','str','serviceCount','Service\x20manifest\x20validation\x20passed.','flags','Service\x20Tree\x20manifest\x20file\x20path','importedAt','string','risk','entries','registryPath'];a36_0x2635=function(){return _0x458395;};return a36_0x2635();}const a36_0x10bdb6=a36_0x438f;(function(_0x2689c5,_0x1c397a){const _0x474bfe=a36_0x438f,_0x45ca63=_0x2689c5();while(!![]){try{const _0x39868d=parseInt(_0x474bfe(0x120))/0x1+parseInt(_0x474bfe(0x13d))/0x2*(-parseInt(_0x474bfe(0x12c))/0x3)+-parseInt(_0x474bfe(0x14d))/0x4+parseInt(_0x474bfe(0x13e))/0x5*(-parseInt(_0x474bfe(0x130))/0x6)+-parseInt(_0x474bfe(0x140))/0x7*(parseInt(_0x474bfe(0x112))/0x8)+-parseInt(_0x474bfe(0x136))/0x9*(parseInt(_0x474bfe(0x150))/0xa)+parseInt(_0x474bfe(0x138))/0xb*(parseInt(_0x474bfe(0x114))/0xc);if(_0x39868d===_0x1c397a)break;else _0x45ca63['push'](_0x45ca63['shift']());}catch(_0xbaf1c7){_0x45ca63['push'](_0x45ca63['shift']());}}}(a36_0x2635,0xec99f));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x10bdb6(0x135),'type':'string','required':!![],'description':a36_0x10bdb6(0x119)},SERVICE_FLAG={'name':'service','type':a36_0x10bdb6(0x11b),'required':!![],'description':a36_0x10bdb6(0x142),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0xfb4540){const _0x127457=a36_0x10bdb6;return{'serviceCode':_0xfb4540[_0x127457(0x121)],'name':_0xfb4540[_0x127457(0x141)][_0x127457(0x13f)][_0x127457(0x145)],'version':_0xfb4540[_0x127457(0x156)],'importedAt':_0xfb4540[_0x127457(0x11a)],'source':_0xfb4540['source'],'commandCount':_0xfb4540[_0x127457(0x141)]['commands'][_0x127457(0x129)],'commands':_0xfb4540[_0x127457(0x141)][_0x127457(0x148)][_0x127457(0x131)](_0x517a63=>({'path':_0x517a63[_0x127457(0x13c)],'description':_0x517a63[_0x127457(0x12d)],'risk':_0x517a63[_0x127457(0x11c)],'target':_0x517a63[_0x127457(0x14f)],'flags':_0x517a63[_0x127457(0x118)][_0x127457(0x131)](_0x3811b2=>({'name':_0x3811b2[_0x127457(0x145)],'cliName':_0x3811b2['cliName'],'type':_0x3811b2['type'],'required':_0x3811b2['required']===!![]}))}))};}function a36_0x438f(_0x5731ce,_0x3ed234){_0x5731ce=_0x5731ce-0x112;const _0x263512=a36_0x2635();let _0x438f10=_0x263512[_0x5731ce];return _0x438f10;}function summarizeLoadedManifest(_0x405d4d){const _0x15a592=a36_0x10bdb6;return{'service':_0x405d4d[_0x15a592(0x141)]?.[_0x15a592(0x13f)],'version':_0x405d4d[_0x15a592(0x141)]?.['version'],'commandCount':_0x405d4d['normalizedManifest']?.[_0x15a592(0x148)]['length']??0x0,'commands':_0x405d4d[_0x15a592(0x141)]?.['commands'][_0x15a592(0x131)](_0x27c652=>({'path':_0x27c652[_0x15a592(0x13c)],'risk':_0x27c652[_0x15a592(0x11c)],'target':_0x27c652[_0x15a592(0x14f)]}))??[],'registryIndex':_0x405d4d['registryIndex'],'registryServiceCode':_0x405d4d[_0x15a592(0x14a)],'errors':_0x405d4d['report'][_0x15a592(0x12a)],'warnings':_0x405d4d[_0x15a592(0x151)]['warnings']};}export const serviceDefinitions=[{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x126),'description':a36_0x10bdb6(0x124),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x247bc5){const _0x492c5c=a36_0x10bdb6,_0x33fd91=loadServiceManifestFromFile(_0x247bc5['str'](_0x492c5c(0x135)));if(!_0x33fd91[_0x492c5c(0x151)]['ok'])return{'ok':![],'data':{'file':_0x33fd91['filePath'],'hash':_0x33fd91['hash'],'kind':_0x33fd91['kind'],'serviceCount':_0x33fd91[_0x492c5c(0x154)]['length'],'services':_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x131)](summarizeLoadedManifest),'errors':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x12a)],'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':formatValidationFailure(_0x33fd91[_0x492c5c(0x151)])};if(_0x33fd91[_0x492c5c(0x132)]===_0x492c5c(0x13a)||_0x33fd91[_0x492c5c(0x154)][_0x492c5c(0x129)]!==0x1)return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91['hash'],'kind':_0x33fd91[_0x492c5c(0x132)],'serviceCount':_0x33fd91['manifests'][_0x492c5c(0x129)],'commandCount':_0x33fd91['manifests'][_0x492c5c(0x12e)]((_0x3403ce,_0x3447c9)=>_0x3403ce+(_0x3447c9[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0),0x0),'services':_0x33fd91['manifests'][_0x492c5c(0x131)](summarizeLoadedManifest),'warnings':_0x33fd91[_0x492c5c(0x151)]['warnings']},'message':_0x492c5c(0x113)};return{'ok':!![],'data':{'file':_0x33fd91[_0x492c5c(0x149)],'hash':_0x33fd91[_0x492c5c(0x12b)],'kind':_0x33fd91[_0x492c5c(0x132)],'service':_0x33fd91['normalizedManifest']?.[_0x492c5c(0x13f)],'version':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x156)],'commandCount':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x129)]??0x0,'commands':_0x33fd91[_0x492c5c(0x141)]?.[_0x492c5c(0x148)][_0x492c5c(0x131)](_0x2b9244=>({'path':_0x2b9244[_0x492c5c(0x13c)],'risk':_0x2b9244[_0x492c5c(0x11c)],'target':_0x2b9244['target']})),'warnings':_0x33fd91[_0x492c5c(0x151)][_0x492c5c(0x143)]},'message':_0x492c5c(0x117)};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x123),'description':a36_0x10bdb6(0x14b),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2a581d){const _0x4407ef=a36_0x10bdb6,_0x3d04a1=loadServiceManifestFromFile(_0x2a581d[_0x4407ef(0x115)](_0x4407ef(0x135)));return{'method':_0x4407ef(0x155),'url':getServiceRegistryPath(),'body':{'file':_0x3d04a1[_0x4407ef(0x149)],'hash':_0x3d04a1[_0x4407ef(0x12b)],'kind':_0x3d04a1[_0x4407ef(0x132)],'ok':_0x3d04a1[_0x4407ef(0x151)]['ok'],'service':_0x3d04a1[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x3d04a1['normalizedManifest']?.['version'],'serviceCount':_0x3d04a1[_0x4407ef(0x154)][_0x4407ef(0x129)],'services':_0x3d04a1[_0x4407ef(0x154)]['map'](_0x5a1b20=>({'service':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x13f)],'version':_0x5a1b20[_0x4407ef(0x141)]?.[_0x4407ef(0x156)],'commandCount':_0x5a1b20['normalizedManifest']?.[_0x4407ef(0x148)][_0x4407ef(0x129)]??0x0,'errors':_0x5a1b20[_0x4407ef(0x151)][_0x4407ef(0x12a)]})),'errors':_0x3d04a1[_0x4407ef(0x151)][_0x4407ef(0x12a)],'commandCount':_0x3d04a1['normalizedManifest']?.[_0x4407ef(0x148)]['length']??0x0},'description':_0x4407ef(0x147)};},async 'execute'(_0x5c2c78){const _0x3f2cbe=a36_0x10bdb6,_0x350a1b=importServiceManifest(_0x5c2c78[_0x3f2cbe(0x115)]('file'));if(_0x350a1b['entries'][_0x3f2cbe(0x129)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b['updated'],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'services':_0x350a1b[_0x3f2cbe(0x11d)][_0x3f2cbe(0x131)](summarizeService)},'message':'Imported\x20'+_0x350a1b[_0x3f2cbe(0x133)]+_0x3f2cbe(0x125)+_0x350a1b[_0x3f2cbe(0x13b)]+_0x3f2cbe(0x137)};return{'ok':!![],'data':{'registryPath':_0x350a1b[_0x3f2cbe(0x11e)],'replaced':_0x350a1b['replaced'],'imported':_0x350a1b[_0x3f2cbe(0x133)],'updated':_0x350a1b[_0x3f2cbe(0x13b)],'serviceCount':_0x350a1b[_0x3f2cbe(0x116)],'service':summarizeService(_0x350a1b[_0x3f2cbe(0x153)])},'message':(_0x350a1b['replaced']?_0x3f2cbe(0x134):_0x3f2cbe(0x128))+_0x3f2cbe(0x146)+_0x350a1b[_0x3f2cbe(0x153)][_0x3f2cbe(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':'export','description':a36_0x10bdb6(0x11f),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e6579){const _0x4bb2d1=a36_0x10bdb6,_0x2b0770=getLocalServiceEntry(_0x4e6579['str'](_0x4bb2d1(0x13f)));return{'method':'WRITE','url':_0x4e6579['str'](_0x4bb2d1(0x135)),'body':{'service':_0x4e6579[_0x4bb2d1(0x115)](_0x4bb2d1(0x13f)),'found':Boolean(_0x2b0770),'version':_0x2b0770?.[_0x4bb2d1(0x156)],'source':_0x2b0770?.[_0x4bb2d1(0x127)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0xe3d5f3){const _0x230f21=a36_0x10bdb6,_0x453358=exportServiceManifest(_0xe3d5f3[_0x230f21(0x115)](_0x230f21(0x13f)),_0xe3d5f3[_0x230f21(0x115)]('file'));return{'ok':!![],'data':{'registryPath':_0x453358[_0x230f21(0x11e)],'file':_0x453358[_0x230f21(0x149)],'service':summarizeService(_0x453358['entry'])},'message':_0x230f21(0x14e)+_0x453358[_0x230f21(0x153)][_0x230f21(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x152),'description':a36_0x10bdb6(0x139),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x2790f9=a36_0x10bdb6,_0x5879b6=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x5879b6[_0x2790f9(0x129)],'services':_0x5879b6[_0x2790f9(0x131)](summarizeService)}};}},{'service':'service','command':'remove','description':a36_0x10bdb6(0x14c),'risk':a36_0x10bdb6(0x158),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x522b01){const _0x2c9648=a36_0x10bdb6,_0x3b8696=getLocalServiceEntry(_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x522b01[_0x2c9648(0x115)](_0x2c9648(0x13f)),'found':Boolean(_0x3b8696),'version':_0x3b8696?.[_0x2c9648(0x156)],'source':_0x3b8696?.[_0x2c9648(0x127)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x405b71){const _0x33110e=a36_0x10bdb6,_0x3d6e6c=removeServiceManifest(_0x405b71['str']('service'));return{'ok':!![],'data':{'registryPath':_0x3d6e6c[_0x33110e(0x11e)],'serviceCount':_0x3d6e6c[_0x33110e(0x116)],'service':summarizeService(_0x3d6e6c[_0x33110e(0x153)])},'message':'Removed\x20service\x20'+_0x3d6e6c['entry'][_0x33110e(0x121)]+'.'};}},{'service':a36_0x10bdb6(0x13f),'command':a36_0x10bdb6(0x12f),'description':a36_0x10bdb6(0x144),'risk':a36_0x10bdb6(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x35ce51){const _0x424133=a36_0x10bdb6,_0x35dff4=getLocalServiceEntry(_0x35ce51[_0x424133(0x115)]('service'));if(!_0x35dff4)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))},'message':_0x424133(0x122)+_0x35ce51[_0x424133(0x115)](_0x424133(0x13f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x35dff4),'manifest':_0x35dff4['manifest'],'normalizedManifest':_0x35dff4[_0x424133(0x141)]}};}}];
|
|
1
|
+
function a36_0x4cb6(){const _0x5a0218=['96fVrZAy','Removed\x20service\x20','552489QmIZwo','file','map','Service\x20Tree\x20manifest\x20file\x20path','target','risk','report','Local\x20service\x20code,\x20for\x20example\x20crm','3675764ZhZDOi','commands','write','manifests','importedAt','696385aMMUZm','errors','hash','str','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','description','service','length','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','string','\x20service(s).','serviceCount','list','Imported\x20','source','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','validate','filePath','cliPath','name','normalizedManifest','registryPath','631895ZIztBx','updated','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','warnings','kind','read','39102453majYhU','lower\x20kebab-case\x20service\x20code','\x20service\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','entries','imported','5583435DxOAtt','entry','Service\x20registry\x20validation\x20passed.','version','72pVXsdD','2739978BEbqMU','flags','registryIndex','Imported','manifest','WRITE','remove','cliName','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode'];a36_0x4cb6=function(){return _0x5a0218;};return a36_0x4cb6();}const a36_0x11589c=a36_0x4a51;(function(_0x4d7833,_0x3dd216){const _0x401ed0=a36_0x4a51,_0x3511bc=_0x4d7833();while(!![]){try{const _0xda0185=parseInt(_0x401ed0(0x1af))/0x1+parseInt(_0x401ed0(0x1c2))/0x2+-parseInt(_0x401ed0(0x1bd))/0x3+-parseInt(_0x401ed0(0x1d7))/0x4+parseInt(_0x401ed0(0x1dc))/0x5*(-parseInt(_0x401ed0(0x1c1))/0x6)+parseInt(_0x401ed0(0x1cf))/0x7*(-parseInt(_0x401ed0(0x1cd))/0x8)+parseInt(_0x401ed0(0x1b5))/0x9;if(_0xda0185===_0x3dd216)break;else _0x3511bc['push'](_0x3511bc['shift']());}catch(_0x59c2f6){_0x3511bc['push'](_0x3511bc['shift']());}}}(a36_0x4cb6,0xe7763));function a36_0x4a51(_0x2195c7,_0x10a95d){_0x2195c7=_0x2195c7-0x1a9;const _0x4cb67b=a36_0x4cb6();let _0x4a513a=_0x4cb67b[_0x2195c7];return _0x4a513a;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x11589c(0x1d0),'type':a36_0x11589c(0x1e5),'required':!![],'description':a36_0x11589c(0x1d2)},SERVICE_FLAG={'name':a36_0x11589c(0x1e2),'type':a36_0x11589c(0x1e5),'required':!![],'description':a36_0x11589c(0x1d6),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a36_0x11589c(0x1b6)}};function summarizeService(_0x3bc082){const _0x5c2ef7=a36_0x11589c;return{'serviceCode':_0x3bc082[_0x5c2ef7(0x1cc)],'name':_0x3bc082['normalizedManifest']['service'][_0x5c2ef7(0x1ac)],'version':_0x3bc082['version'],'importedAt':_0x3bc082[_0x5c2ef7(0x1db)],'source':_0x3bc082[_0x5c2ef7(0x1ea)],'commandCount':_0x3bc082[_0x5c2ef7(0x1ad)][_0x5c2ef7(0x1d8)][_0x5c2ef7(0x1e3)],'commands':_0x3bc082[_0x5c2ef7(0x1ad)][_0x5c2ef7(0x1d8)][_0x5c2ef7(0x1d1)](_0x16615f=>({'path':_0x16615f['cliPath'],'description':_0x16615f[_0x5c2ef7(0x1e1)],'risk':_0x16615f[_0x5c2ef7(0x1d4)],'target':_0x16615f[_0x5c2ef7(0x1d3)],'flags':_0x16615f[_0x5c2ef7(0x1c3)][_0x5c2ef7(0x1d1)](_0x1dad5f=>({'name':_0x1dad5f[_0x5c2ef7(0x1ac)],'cliName':_0x1dad5f[_0x5c2ef7(0x1c9)],'type':_0x1dad5f['type'],'required':_0x1dad5f['required']===!![]}))}))};}function summarizeLoadedManifest(_0x23fa6c){const _0x28702d=a36_0x11589c;return{'service':_0x23fa6c[_0x28702d(0x1ad)]?.[_0x28702d(0x1e2)],'version':_0x23fa6c['normalizedManifest']?.['version'],'commandCount':_0x23fa6c[_0x28702d(0x1ad)]?.[_0x28702d(0x1d8)]['length']??0x0,'commands':_0x23fa6c[_0x28702d(0x1ad)]?.['commands'][_0x28702d(0x1d1)](_0x23c325=>({'path':_0x23c325[_0x28702d(0x1ab)],'risk':_0x23c325[_0x28702d(0x1d4)],'target':_0x23c325[_0x28702d(0x1d3)]}))??[],'registryIndex':_0x23fa6c[_0x28702d(0x1c4)],'registryServiceCode':_0x23fa6c['registryServiceCode'],'errors':_0x23fa6c['report'][_0x28702d(0x1dd)],'warnings':_0x23fa6c[_0x28702d(0x1d5)][_0x28702d(0x1b2)]};}export const serviceDefinitions=[{'service':'service','command':a36_0x11589c(0x1a9),'description':a36_0x11589c(0x1b1),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x244d74){const _0x4a4f15=a36_0x11589c,_0x485505=loadServiceManifestFromFile(_0x244d74['str'](_0x4a4f15(0x1d0)));if(!_0x485505[_0x4a4f15(0x1d5)]['ok'])return{'ok':![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505[_0x4a4f15(0x1b3)],'serviceCount':_0x485505['manifests'][_0x4a4f15(0x1e3)],'services':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1d1)](summarizeLoadedManifest),'errors':_0x485505['report'][_0x4a4f15(0x1dd)],'warnings':_0x485505['report']['warnings']},'message':formatValidationFailure(_0x485505[_0x4a4f15(0x1d5)])};if(_0x485505[_0x4a4f15(0x1b3)]==='registry'||_0x485505['manifests'][_0x4a4f15(0x1e3)]!==0x1)return{'ok':!![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505['kind'],'serviceCount':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1e3)],'commandCount':_0x485505['manifests']['reduce']((_0x82358d,_0x1ce68d)=>_0x82358d+(_0x1ce68d['normalizedManifest']?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1e3)]??0x0),0x0),'services':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1d1)](summarizeLoadedManifest),'warnings':_0x485505[_0x4a4f15(0x1d5)][_0x4a4f15(0x1b2)]},'message':_0x4a4f15(0x1bf)};return{'ok':!![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505['kind'],'service':_0x485505[_0x4a4f15(0x1ad)]?.[_0x4a4f15(0x1e2)],'version':_0x485505[_0x4a4f15(0x1ad)]?.['version'],'commandCount':_0x485505[_0x4a4f15(0x1ad)]?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1e3)]??0x0,'commands':_0x485505['normalizedManifest']?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1d1)](_0x2d5d72=>({'path':_0x2d5d72[_0x4a4f15(0x1ab)],'risk':_0x2d5d72['risk'],'target':_0x2d5d72[_0x4a4f15(0x1d3)]})),'warnings':_0x485505[_0x4a4f15(0x1d5)][_0x4a4f15(0x1b2)]},'message':_0x4a4f15(0x1ba)};}},{'service':a36_0x11589c(0x1e2),'command':'import','description':a36_0x11589c(0x1ca),'risk':a36_0x11589c(0x1d9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1d2094){const _0x2a6f91=a36_0x11589c,_0xc9586c=loadServiceManifestFromFile(_0x1d2094[_0x2a6f91(0x1df)](_0x2a6f91(0x1d0)));return{'method':_0x2a6f91(0x1c7),'url':getServiceRegistryPath(),'body':{'file':_0xc9586c[_0x2a6f91(0x1aa)],'hash':_0xc9586c[_0x2a6f91(0x1de)],'kind':_0xc9586c[_0x2a6f91(0x1b3)],'ok':_0xc9586c['report']['ok'],'service':_0xc9586c['normalizedManifest']?.['service'],'version':_0xc9586c[_0x2a6f91(0x1ad)]?.[_0x2a6f91(0x1c0)],'serviceCount':_0xc9586c[_0x2a6f91(0x1da)][_0x2a6f91(0x1e3)],'services':_0xc9586c[_0x2a6f91(0x1da)][_0x2a6f91(0x1d1)](_0x28e5c6=>({'service':_0x28e5c6['normalizedManifest']?.['service'],'version':_0x28e5c6['normalizedManifest']?.['version'],'commandCount':_0x28e5c6['normalizedManifest']?.[_0x2a6f91(0x1d8)]['length']??0x0,'errors':_0x28e5c6[_0x2a6f91(0x1d5)]['errors']})),'errors':_0xc9586c[_0x2a6f91(0x1d5)]['errors'],'commandCount':_0xc9586c['normalizedManifest']?.['commands'][_0x2a6f91(0x1e3)]??0x0},'description':_0x2a6f91(0x1b9)};},async 'execute'(_0x13aacb){const _0x41f977=a36_0x11589c,_0x1637e4=importServiceManifest(_0x13aacb['str'](_0x41f977(0x1d0)));if(_0x1637e4['entries'][_0x41f977(0x1e3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1637e4[_0x41f977(0x1ae)],'imported':_0x1637e4['imported'],'updated':_0x1637e4[_0x41f977(0x1b0)],'serviceCount':_0x1637e4[_0x41f977(0x1e7)],'services':_0x1637e4[_0x41f977(0x1bb)]['map'](summarizeService)},'message':_0x41f977(0x1e9)+_0x1637e4[_0x41f977(0x1bc)]+'\x20service(s),\x20updated\x20'+_0x1637e4['updated']+_0x41f977(0x1e6)};return{'ok':!![],'data':{'registryPath':_0x1637e4[_0x41f977(0x1ae)],'replaced':_0x1637e4['replaced'],'imported':_0x1637e4[_0x41f977(0x1bc)],'updated':_0x1637e4[_0x41f977(0x1b0)],'serviceCount':_0x1637e4['serviceCount'],'service':summarizeService(_0x1637e4[_0x41f977(0x1be)])},'message':(_0x1637e4['replaced']?'Updated':_0x41f977(0x1c5))+_0x41f977(0x1b7)+_0x1637e4[_0x41f977(0x1be)][_0x41f977(0x1cc)]+'.'};}},{'service':a36_0x11589c(0x1e2),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5bb2a3){const _0x12eae9=a36_0x11589c,_0x356960=getLocalServiceEntry(_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1e2)));return{'method':_0x12eae9(0x1c7),'url':_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1d0)),'body':{'service':_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1e2)),'found':Boolean(_0x356960),'version':_0x356960?.[_0x12eae9(0x1c0)],'source':_0x356960?.[_0x12eae9(0x1ea)]},'description':_0x12eae9(0x1eb)};},async 'execute'(_0x56e7d0){const _0x309c6c=a36_0x11589c,_0x39db9e=exportServiceManifest(_0x56e7d0[_0x309c6c(0x1df)](_0x309c6c(0x1e2)),_0x56e7d0[_0x309c6c(0x1df)](_0x309c6c(0x1d0)));return{'ok':!![],'data':{'registryPath':_0x39db9e[_0x309c6c(0x1ae)],'file':_0x39db9e[_0x309c6c(0x1aa)],'service':summarizeService(_0x39db9e[_0x309c6c(0x1be)])},'message':'Exported\x20service\x20'+_0x39db9e[_0x309c6c(0x1be)]['serviceCode']+'.'};}},{'service':a36_0x11589c(0x1e2),'command':a36_0x11589c(0x1e8),'description':a36_0x11589c(0x1cb),'risk':a36_0x11589c(0x1b4),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x379401=a36_0x11589c,_0x46ace4=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x46ace4[_0x379401(0x1e3)],'services':_0x46ace4[_0x379401(0x1d1)](summarizeService)}};}},{'service':a36_0x11589c(0x1e2),'command':a36_0x11589c(0x1c8),'description':a36_0x11589c(0x1e0),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0xd4c6b4){const _0x4b38f5=a36_0x11589c,_0x5c662e=getLocalServiceEntry(_0xd4c6b4[_0x4b38f5(0x1df)](_0x4b38f5(0x1e2)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0xd4c6b4[_0x4b38f5(0x1df)](_0x4b38f5(0x1e2)),'found':Boolean(_0x5c662e),'version':_0x5c662e?.[_0x4b38f5(0x1c0)],'source':_0x5c662e?.[_0x4b38f5(0x1ea)]},'description':_0x4b38f5(0x1e4)};},async 'execute'(_0x11fee4){const _0x69e565=a36_0x11589c,_0x5b7ffa=removeServiceManifest(_0x11fee4[_0x69e565(0x1df)]('service'));return{'ok':!![],'data':{'registryPath':_0x5b7ffa[_0x69e565(0x1ae)],'serviceCount':_0x5b7ffa[_0x69e565(0x1e7)],'service':summarizeService(_0x5b7ffa[_0x69e565(0x1be)])},'message':_0x69e565(0x1ce)+_0x5b7ffa[_0x69e565(0x1be)][_0x69e565(0x1cc)]+'.'};}},{'service':a36_0x11589c(0x1e2),'command':'detail','description':a36_0x11589c(0x1b8),'risk':a36_0x11589c(0x1b4),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x52ec84){const _0x4c4d38=a36_0x11589c,_0x235e61=getLocalServiceEntry(_0x52ec84['str'](_0x4c4d38(0x1e2)));if(!_0x235e61)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x52ec84[_0x4c4d38(0x1df)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x52ec84[_0x4c4d38(0x1df)](_0x4c4d38(0x1e2))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x235e61),'manifest':_0x235e61[_0x4c4d38(0x1c6)],'normalizedManifest':_0x235e61[_0x4c4d38(0x1ad)]}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x4dedf4=a37_0x58df;(function(_0x5c30ab,_0x1b4560){const _0x3d2c8e=a37_0x58df,_0x3a5761=_0x5c30ab();while(!![]){try{const _0x2956fc=-parseInt(_0x3d2c8e(0x136))/0x1*(parseInt(_0x3d2c8e(0x139))/0x2)+parseInt(_0x3d2c8e(0xfb))/0x3*(parseInt(_0x3d2c8e(0xe9))/0x4)+-parseInt(_0x3d2c8e(0xfe))/0x5+parseInt(_0x3d2c8e(0x11f))/0x6+parseInt(_0x3d2c8e(0x11e))/0x7+parseInt(_0x3d2c8e(0x127))/0x8+-parseInt(_0x3d2c8e(0xea))/0x9*(parseInt(_0x3d2c8e(0x10e))/0xa);if(_0x2956fc===_0x1b4560)break;else _0x3a5761['push'](_0x3a5761['shift']());}catch(_0x57765d){_0x3a5761['push'](_0x3a5761['shift']());}}}(a37_0x37eb,0x614f1));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a37_0x4dedf4(0x12a);function a37_0x58df(_0x527564,_0x4b44bb){_0x527564=_0x527564-0xe9;const _0x37ebe8=a37_0x37eb();let _0x58dfbe=_0x37ebe8[_0x527564];return _0x58dfbe;}export function getServiceRegistryPath(_0x3b1bfb={}){return resolve(_0x3b1bfb['homeDir']??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1fcaa9={}){const _0x540c47=a37_0x4dedf4,_0x5de61b=getServiceRegistryPath(_0x1fcaa9);if(!existsSync(_0x5de61b))return emptyServiceRegistry();try{const _0x15fb5d=readFileSync(_0x5de61b,_0x540c47(0x12f));if(!_0x15fb5d['trim']())return emptyServiceRegistry();const _0x1bd0b2=JSON[_0x540c47(0x135)](_0x15fb5d);if(_0x1bd0b2['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x540c47(0x108)](_0x540c47(0xff)+String(_0x1bd0b2['schemaVersion']),_0x540c47(0x11a)+_0x5de61b+'.');if(!Array[_0x540c47(0x121)](_0x1bd0b2[_0x540c47(0x107)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1bd0b2[_0x540c47(0x133)],'services':_0x1bd0b2['services']};}catch(_0x159c47){if(_0x159c47 instanceof Error&&_0x159c47[_0x540c47(0xec)]===_0x540c47(0x138))throw _0x159c47;throw CliErrors['validation'](_0x540c47(0xf1)+_0x5de61b,_0x540c47(0x103));}}export function writeServiceRegistry(_0xed4a12,_0x25ce52={}){const _0x18ae0b=a37_0x4dedf4,_0x5f4bb1=getServiceRegistryPath(_0x25ce52),_0x2f269b=dirname(_0x5f4bb1);!existsSync(_0x2f269b)&&mkdirSync(_0x2f269b,{'recursive':!![]});const _0x1c6631=_0x5f4bb1+_0x18ae0b(0x10b);try{writeFileSync(_0x1c6631,JSON['stringify'](_0xed4a12,null,0x2)+'\x0a',{'encoding':_0x18ae0b(0x12f),'mode':0x180}),renameSync(_0x1c6631,_0x5f4bb1);}catch(_0x2bd956){try{unlinkSync(_0x1c6631);}catch{}if(_0x2bd956?.[_0x18ae0b(0x125)]==='ENOENT')throw CliErrors[_0x18ae0b(0x108)](_0x18ae0b(0xf7)+_0x5f4bb1);throw _0x2bd956;}return _0x5f4bb1;}export function loadServiceManifestFromFile(_0x16f6bb){const _0x9e96bc=a37_0x4dedf4,_0x54271d=resolve(_0x16f6bb);if(!existsSync(_0x54271d))throw CliErrors['validation'](_0x9e96bc(0x102)+_0x16f6bb);let _0x1529b9;const _0x13d9f7=readFileSync(_0x54271d,_0x9e96bc(0x12f));try{_0x1529b9=JSON[_0x9e96bc(0x135)](_0x13d9f7);}catch{throw CliErrors[_0x9e96bc(0x108)](_0x9e96bc(0x131)+_0x16f6bb,_0x9e96bc(0x105));}const _0x2bb6f3=sha256(_0x13d9f7),_0x4834f5=extractLoadedServiceManifests(_0x1529b9,_0x2bb6f3),_0x3ca430=aggregateValidationReports(_0x4834f5),_0x53d55a=_0x4834f5[0x0];return{'filePath':_0x54271d,'hash':_0x2bb6f3,'kind':isServiceRegistryLike(_0x1529b9)?_0x9e96bc(0x120):'manifest','manifest':_0x53d55a?.['manifest']??_0x1529b9,'report':_0x3ca430,'normalizedManifest':_0x4834f5[_0x9e96bc(0x128)]===0x1?_0x53d55a?.[_0x9e96bc(0xf4)]:undefined,'manifests':_0x4834f5};}export function importServiceManifest(_0x4842c3,_0x5d4330={}){const _0x1bbf70=a37_0x4dedf4,_0x1dca54=loadServiceManifestFromFile(_0x4842c3);if(!_0x1dca54[_0x1bbf70(0xf5)]['ok'])throw CliErrors[_0x1bbf70(0x108)](formatValidationFailure(_0x1dca54['report']),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1dca54[_0x1bbf70(0x11b)][_0x1bbf70(0x128)]===0x0)throw CliErrors[_0x1bbf70(0x108)](_0x1bbf70(0x11c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x23517f=readServiceRegistry(_0x5d4330),_0x3b4c44=(_0x5d4330[_0x1bbf70(0x109)]??(()=>new Date()))()['toISOString'](),_0x3e7dec=[];let _0xdf5bc5=0x0,_0x28f688=0x0;for(const _0x28c63b of _0x1dca54[_0x1bbf70(0x11b)]){if(!_0x28c63b[_0x1bbf70(0xf4)])continue;const _0x137ddd=_0x28c63b[_0x1bbf70(0xf4)]['service'][_0x1bbf70(0x125)],_0x1662c8={'serviceCode':_0x137ddd,'version':_0x28c63b[_0x1bbf70(0xf4)][_0x1bbf70(0xfd)],'importedAt':_0x3b4c44,'source':{'type':_0x1bbf70(0x115),'path':_0x1dca54[_0x1bbf70(0x117)],'hash':_0x28c63b[_0x1bbf70(0x12c)]},'manifest':_0x28c63b[_0x1bbf70(0xf6)],'normalizedManifest':_0x28c63b[_0x1bbf70(0xf4)]},_0x3e7a93=_0x23517f[_0x1bbf70(0x107)]['findIndex'](_0x24bf11=>_0x24bf11['serviceCode']===_0x137ddd);_0x3e7a93>=0x0?(_0x23517f[_0x1bbf70(0x107)][_0x3e7a93]=_0x1662c8,_0x28f688++):(_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0xf9)](_0x1662c8),_0xdf5bc5++),_0x3e7dec[_0x1bbf70(0xf9)](_0x1662c8);}_0x23517f['services'][_0x1bbf70(0xf2)]((_0x542a9f,_0x1d4442)=>_0x542a9f[_0x1bbf70(0x137)]['localeCompare'](_0x1d4442[_0x1bbf70(0x137)])),_0x23517f[_0x1bbf70(0x133)]=_0x3b4c44;const _0x45c6a5=writeServiceRegistry(_0x23517f,_0x5d4330);return{'registryPath':_0x45c6a5,'entry':_0x3e7dec[0x0],'replaced':_0x3e7dec[_0x1bbf70(0x128)]===0x1?_0x28f688===0x1:_0x28f688>0x0,'entries':_0x3e7dec,'imported':_0xdf5bc5,'updated':_0x28f688,'serviceCount':_0x23517f[_0x1bbf70(0x107)][_0x1bbf70(0x128)]};}export function exportServiceManifest(_0x418637,_0x5e369f,_0xb50780={}){const _0xf692ba=a37_0x4dedf4,_0x3f7ef2=getServiceRegistryPath(_0xb50780),_0xfbf499=getLocalServiceEntry(_0x418637,_0xb50780);if(!_0xfbf499)throw CliErrors[_0xf692ba(0x108)](_0xf692ba(0x110)+_0x418637,_0xf692ba(0x119));const _0x4bafc9=resolve(_0x5e369f),_0x4642c7=dirname(_0x4bafc9);return!existsSync(_0x4642c7)&&mkdirSync(_0x4642c7,{'recursive':!![]}),writeFileSync(_0x4bafc9,JSON[_0xf692ba(0x101)](_0xfbf499[_0xf692ba(0xf6)],null,0x2)+'\x0a',{'encoding':_0xf692ba(0x12f),'mode':0x180}),{'registryPath':_0x3f7ef2,'filePath':_0x4bafc9,'entry':_0xfbf499};}export function removeServiceManifest(_0x5e1619,_0x5420fe={}){const _0x368c69=a37_0x4dedf4,_0x2e324a=readServiceRegistry(_0x5420fe),_0x2ed2f0=_0x5e1619[_0x368c69(0x10a)](),_0x25a793=_0x2e324a[_0x368c69(0x107)][_0x368c69(0x126)](_0x4280e0=>_0x4280e0[_0x368c69(0x137)]===_0x2ed2f0);if(_0x25a793<0x0)throw CliErrors[_0x368c69(0x108)](_0x368c69(0x110)+_0x2ed2f0,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x51a2fc]=_0x2e324a[_0x368c69(0x107)]['splice'](_0x25a793,0x1),_0x59cff3=(_0x5420fe['now']??(()=>new Date()))()[_0x368c69(0x116)]();_0x2e324a[_0x368c69(0x133)]=_0x59cff3;const _0x5acc04=writeServiceRegistry(_0x2e324a,_0x5420fe);return{'registryPath':_0x5acc04,'entry':_0x51a2fc,'serviceCount':_0x2e324a['services']['length']};}export function listLocalServices(_0x10ffa0={}){const _0x40da50=a37_0x4dedf4;return readServiceRegistry(_0x10ffa0)[_0x40da50(0x107)];}export function getLocalServiceEntry(_0x50433,_0x16a478={}){const _0x266347=a37_0x4dedf4;return readServiceRegistry(_0x16a478)[_0x266347(0x107)]['find'](_0x397f80=>_0x397f80[_0x266347(0x137)]===_0x50433['trim']());}export function listLocalServiceTrees(_0x25afdb={}){const _0x5243a2=a37_0x4dedf4;return readServiceRegistry(_0x25afdb)[_0x5243a2(0x107)][_0x5243a2(0x118)](_0x3ae0e2=>_0x3ae0e2[_0x5243a2(0xf4)]);}export function inspectServiceRegistry(_0x1d6cdf={}){const _0xf7b4d3=a37_0x4dedf4,_0x36a4d5=getServiceRegistryPath(_0x1d6cdf);if(!existsSync(_0x36a4d5))return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x111),![]);try{const _0x446987=readFileSync(_0x36a4d5,_0xf7b4d3(0x12f));if(!_0x446987[_0xf7b4d3(0x10a)]())return emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0x106),!![]);const _0x273730=JSON[_0xf7b4d3(0x135)](_0x446987);if(_0x273730['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':_0x273730['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x273730[_0xf7b4d3(0x124)])};if(!Array['isArray'](_0x273730[_0xf7b4d3(0x107)]))return{...emptyServiceRegistryInspection(_0x36a4d5,_0xf7b4d3(0xfa),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'message':_0xf7b4d3(0x114)};const _0x4f1f21=_0x273730[_0xf7b4d3(0x107)][_0xf7b4d3(0x118)](summarizeLocalServiceEntry);return{'registryPath':_0x36a4d5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x273730['updatedAt'],'serviceCount':_0x4f1f21['length'],'commandCount':_0x4f1f21[_0xf7b4d3(0xf8)]((_0x1bf269,_0x498923)=>_0x1bf269+_0x498923[_0xf7b4d3(0xf0)],0x0),'services':_0x4f1f21};}catch(_0x54fc6a){return{...emptyServiceRegistryInspection(_0x36a4d5,'invalid',!![]),'message':_0x54fc6a instanceof Error?_0x54fc6a[_0xf7b4d3(0x100)]:String(_0x54fc6a)};}}function a37_0x37eb(){const _0x5f3741=['map','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','manifests','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','service','1941429WLHQPX','3237714LETSZB','registry','isArray','object','].manifest.','schemaVersion','code','findIndex','2072432VDZqny','length','command','service.json','].manifest','sourceHash','commands','Service\x20manifest\x20validation\x20failed:\x0a','utf8','$.services[','Invalid\x20service\x20manifest\x20JSON:\x20','target','updatedAt','errors','parse','2483tSsWKq','serviceCode','CliError','330wjaKPE','4meClLL','2941254SrEFIk','warnings','name','description','string','sha256','commandCount','Invalid\x20service\x20registry\x20JSON:\x20','sort','update','normalizedManifest','report','manifest','Cannot\x20write\x20service\x20registry:\x20','reduce','push','invalid','339447TTFlul','registryIndex','version','270455ZDMdnh','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','stringify','Service\x20manifest\x20file\x20not\x20found:\x20','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','path','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','empty','services','validation','now','trim','.tmp','join','slice','10hEQBTX','hex','Local\x20service\x20not\x20found:\x20','missing','digest','source','services\x20must\x20be\x20an\x20array','file','toISOString','filePath'];a37_0x37eb=function(){return _0x5f3741;};return a37_0x37eb();}export function formatValidationFailure(_0x4f3f7d){const _0x40b33b=a37_0x4dedf4,_0x539ab4=_0x4f3f7d['errors'][_0x40b33b(0x118)](_0x34adc0=>_0x34adc0[_0x40b33b(0x104)]+':\x20'+_0x34adc0[_0x40b33b(0x100)]);return _0x40b33b(0x12e)+_0x539ab4[_0x40b33b(0x10c)]('\x0a');}function extractLoadedServiceManifests(_0x105152,_0x411a45){const _0x424773=a37_0x4dedf4;if(!isServiceRegistryLike(_0x105152)){const _0x23bbfb=_0x105152,_0x3534d5=validateServiceTreeManifest(_0x23bbfb);return[{'manifest':_0x23bbfb,'report':_0x3534d5,'normalizedManifest':_0x3534d5['ok']?normalizeServiceTreeManifest(_0x23bbfb):undefined,'sourceHash':_0x411a45}];}return _0x105152[_0x424773(0x107)][_0x424773(0x118)]((_0x41d227,_0x3bd468)=>{const _0x5baee3=_0x424773,_0x4ce4cb=isObjectRecord(_0x41d227)?_0x41d227[_0x5baee3(0xf6)]:undefined,_0x31f4e9=validateServiceTreeManifest(_0x4ce4cb),_0x3621fa=isObjectRecord(_0x41d227)&&typeof _0x41d227[_0x5baee3(0x137)]===_0x5baee3(0xee)?_0x41d227[_0x5baee3(0x137)]:undefined;return{'manifest':_0x4ce4cb,'report':_0x31f4e9,'normalizedManifest':_0x31f4e9['ok']?normalizeServiceTreeManifest(_0x4ce4cb):undefined,'sourceHash':sha256(JSON['stringify'](_0x4ce4cb,null,0x2)+'\x0a'),'registryIndex':_0x3bd468,'registryServiceCode':_0x3621fa};});}function aggregateValidationReports(_0xacd29d){const _0x352b3b=a37_0x4dedf4,_0x1687f9=_0xacd29d['flatMap'](_0x56bc6c=>_0x56bc6c['registryIndex']===undefined?_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)]:_0x56bc6c[_0x352b3b(0xf5)][_0x352b3b(0x134)][_0x352b3b(0x118)](_0x1f7755=>({..._0x1f7755,'path':prefixRegistryIssuePath(_0x56bc6c[_0x352b3b(0xfc)],_0x1f7755[_0x352b3b(0x104)])}))),_0x60c49f=_0xacd29d['flatMap'](_0x518179=>_0x518179[_0x352b3b(0xfc)]===undefined?_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)]:_0x518179[_0x352b3b(0xf5)][_0x352b3b(0xeb)][_0x352b3b(0x118)](_0x546439=>({..._0x546439,'path':prefixRegistryIssuePath(_0x518179['registryIndex'],_0x546439[_0x352b3b(0x104)])})));return{'ok':_0x1687f9[_0x352b3b(0x128)]===0x0,'errors':_0x1687f9,'warnings':_0x60c49f};}function prefixRegistryIssuePath(_0xcadf11,_0x4ac6fa){const _0x808650=a37_0x4dedf4;if(_0x4ac6fa==='$')return _0x808650(0x130)+_0xcadf11+'].manifest';if(_0x4ac6fa['startsWith']('$.'))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);if(_0x4ac6fa['startsWith']('$['))return _0x808650(0x130)+_0xcadf11+_0x808650(0x12b)+_0x4ac6fa[_0x808650(0x10d)](0x1);return'$.services['+_0xcadf11+_0x808650(0x123)+_0x4ac6fa;}function isServiceRegistryLike(_0x85bdfd){const _0x5f104f=a37_0x4dedf4;return isObjectRecord(_0x85bdfd)&&_0x85bdfd[_0x5f104f(0x124)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5f104f(0x121)](_0x85bdfd[_0x5f104f(0x107)]);}function isObjectRecord(_0x451f9d){const _0x42ee75=a37_0x4dedf4;return Boolean(_0x451f9d)&&typeof _0x451f9d===_0x42ee75(0x122)&&!Array[_0x42ee75(0x121)](_0x451f9d);}function emptyServiceRegistryInspection(_0x51aa23,_0x55c5a5,_0x3f5592){return{'registryPath':_0x51aa23,'exists':_0x3f5592,'status':_0x55c5a5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4a3bc6){const _0x24300c=a37_0x4dedf4,_0xfe3a48=_0x4a3bc6[_0x24300c(0xf4)],_0x59b806=_0xfe3a48[_0x24300c(0x12d)][_0x24300c(0x118)](_0x3e4b08=>({'path':_0x3e4b08['cliPath'],'description':_0x3e4b08[_0x24300c(0xed)],'risk':_0x3e4b08['risk'],'targetKind':_0x3e4b08[_0x24300c(0x132)]['kind'],'targetCommand':_0x3e4b08[_0x24300c(0x132)][_0x24300c(0x129)]}));return{'serviceCode':_0x4a3bc6[_0x24300c(0x137)],'name':_0xfe3a48[_0x24300c(0x11d)][_0x24300c(0xec)],'description':_0xfe3a48['service'][_0x24300c(0xed)],'version':_0x4a3bc6[_0x24300c(0xfd)],'importedAt':_0x4a3bc6['importedAt'],'source':_0x4a3bc6[_0x24300c(0x113)],'commandCount':_0x59b806['length'],'commands':_0x59b806};}function sha256(_0x2a38a6){const _0x100489=a37_0x4dedf4;return createHash(_0x100489(0xef))[_0x100489(0xf3)](_0x2a38a6)[_0x100489(0x112)](_0x100489(0x10f));}
|
|
1
|
+
const a37_0x4a99e8=a37_0x28ad;(function(_0x577f53,_0x2afc7f){const _0x9bd59=a37_0x28ad,_0x345193=_0x577f53();while(!![]){try{const _0xe145e7=parseInt(_0x9bd59(0x19b))/0x1*(-parseInt(_0x9bd59(0x195))/0x2)+parseInt(_0x9bd59(0x1a7))/0x3*(-parseInt(_0x9bd59(0x191))/0x4)+parseInt(_0x9bd59(0x194))/0x5*(-parseInt(_0x9bd59(0x1ce))/0x6)+-parseInt(_0x9bd59(0x18f))/0x7+-parseInt(_0x9bd59(0x199))/0x8*(parseInt(_0x9bd59(0x1d8))/0x9)+-parseInt(_0x9bd59(0x1c1))/0xa*(-parseInt(_0x9bd59(0x1cf))/0xb)+parseInt(_0x9bd59(0x1b5))/0xc*(parseInt(_0x9bd59(0x1c7))/0xd);if(_0xe145e7===_0x2afc7f)break;else _0x345193['push'](_0x345193['shift']());}catch(_0x14f4eb){_0x345193['push'](_0x345193['shift']());}}}(a37_0x35ad,0x7f6b1));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a37_0x35ad(){const _0x4a40f3=['service','now','services','sort','sha256','isArray','file','description','Service\x20manifest\x20file\x20not\x20found:\x20','cliPath','message','495408OObNQf','updatedAt','Local\x20service\x20not\x20found:\x20','digest','map','homeDirName','utf8','report','normalizedManifest','length','stringify','reduce','version','CliError','144ykVcXT','target','update','errors','code','schemaVersion','sourceHash','splice','Cannot\x20write\x20service\x20registry:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','.tmp','command','3106930XLSYms','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','commands','Service\x20manifest\x20validation\x20failed:\x0a','source','push','1580683MSvmBC','Invalid\x20service\x20manifest\x20JSON:\x20','startsWith','join','manifests','empty','service.json','2525280KzgsFf','33TRkUFd','toISOString','invalid','filePath','kind','string','Remove\x20or\x20migrate\x20','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest.','360xSFpRy','validation','Invalid\x20service\x20registry\x20JSON:\x20','manifest','findIndex','serviceCode','commandCount','warnings','registryIndex','find','4675419TUNGnZ','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','8Rvmdnk','trim','parse','5GbWrgf','2YDjsza','$.services[','flatMap','importedAt','82616fJeOHv','path','37117SnjfPW'];a37_0x35ad=function(){return _0x4a40f3;};return a37_0x35ad();}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 a37_0x28ad(_0x58edb8,_0x2be1c2){_0x58edb8=_0x58edb8-0x186;const _0x35adfc=a37_0x35ad();let _0x28adf6=_0x35adfc[_0x58edb8];return _0x28adf6;}export const SERVICE_REGISTRY_FILE_NAME=a37_0x4a99e8(0x1cd);export function getServiceRegistryPath(_0x82be90={}){const _0x14cd27=a37_0x4a99e8;return resolve(_0x82be90['homeDir']??homedir(),PRODUCT_CONFIG[_0x14cd27(0x1ac)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1246d1={}){const _0x3826fc=a37_0x4a99e8,_0xe0b0fe=getServiceRegistryPath(_0x1246d1);if(!existsSync(_0xe0b0fe))return emptyServiceRegistry();try{const _0x45a0c6=readFileSync(_0xe0b0fe,'utf8');if(!_0x45a0c6[_0x3826fc(0x192)]())return emptyServiceRegistry();const _0x464220=JSON[_0x3826fc(0x193)](_0x45a0c6);if(_0x464220[_0x3826fc(0x1ba)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation']('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x464220[_0x3826fc(0x1ba)]),_0x3826fc(0x1d5)+_0xe0b0fe+'.');if(!Array[_0x3826fc(0x1a1)](_0x464220[_0x3826fc(0x19e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x464220[_0x3826fc(0x1a8)],'services':_0x464220['services']};}catch(_0xc35ded){if(_0xc35ded instanceof Error&&_0xc35ded['name']===_0x3826fc(0x1b4))throw _0xc35ded;throw CliErrors[_0x3826fc(0x186)](_0x3826fc(0x187)+_0xe0b0fe,_0x3826fc(0x1c2));}}export function writeServiceRegistry(_0x41d860,_0x4635ca={}){const _0x39eaa6=a37_0x4a99e8,_0x570b76=getServiceRegistryPath(_0x4635ca),_0x3606d3=dirname(_0x570b76);!existsSync(_0x3606d3)&&mkdirSync(_0x3606d3,{'recursive':!![]});const _0x478a73=_0x570b76+_0x39eaa6(0x1bf);try{writeFileSync(_0x478a73,JSON[_0x39eaa6(0x1b1)](_0x41d860,null,0x2)+'\x0a',{'encoding':_0x39eaa6(0x1ad),'mode':0x180}),renameSync(_0x478a73,_0x570b76);}catch(_0x3b00db){try{unlinkSync(_0x478a73);}catch{}if(_0x3b00db?.[_0x39eaa6(0x1b9)]==='ENOENT')throw CliErrors[_0x39eaa6(0x186)](_0x39eaa6(0x1bd)+_0x570b76);throw _0x3b00db;}return _0x570b76;}export function loadServiceManifestFromFile(_0x31b257){const _0x499811=a37_0x4a99e8,_0x1fff8c=resolve(_0x31b257);if(!existsSync(_0x1fff8c))throw CliErrors[_0x499811(0x186)](_0x499811(0x1a4)+_0x31b257);let _0x5a09ee;const _0x2574d3=readFileSync(_0x1fff8c,'utf8');try{_0x5a09ee=JSON[_0x499811(0x193)](_0x2574d3);}catch{throw CliErrors['validation'](_0x499811(0x1c8)+_0x31b257,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x5b3b57=sha256(_0x2574d3),_0x410ddf=extractLoadedServiceManifests(_0x5a09ee,_0x5b3b57),_0x85c44d=aggregateValidationReports(_0x410ddf),_0xf7613a=_0x410ddf[0x0];return{'filePath':_0x1fff8c,'hash':_0x5b3b57,'kind':isServiceRegistryLike(_0x5a09ee)?'registry':_0x499811(0x188),'manifest':_0xf7613a?.[_0x499811(0x188)]??_0x5a09ee,'report':_0x85c44d,'normalizedManifest':_0x410ddf[_0x499811(0x1b0)]===0x1?_0xf7613a?.[_0x499811(0x1af)]:undefined,'manifests':_0x410ddf};}export function importServiceManifest(_0x3c7add,_0x1483f9={}){const _0x551de6=a37_0x4a99e8,_0x91da0b=loadServiceManifestFromFile(_0x3c7add);if(!_0x91da0b['report']['ok'])throw CliErrors[_0x551de6(0x186)](formatValidationFailure(_0x91da0b[_0x551de6(0x1ae)]),_0x551de6(0x1be));if(_0x91da0b[_0x551de6(0x1cb)][_0x551de6(0x1b0)]===0x0)throw CliErrors[_0x551de6(0x186)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x551de6(0x190));const _0x153f39=readServiceRegistry(_0x1483f9),_0x22399f=(_0x1483f9[_0x551de6(0x19d)]??(()=>new Date()))()['toISOString'](),_0x52a5ba=[];let _0x1f1cf1=0x0,_0x372278=0x0;for(const _0xa954b0 of _0x91da0b['manifests']){if(!_0xa954b0['normalizedManifest'])continue;const _0x2dd138=_0xa954b0[_0x551de6(0x1af)][_0x551de6(0x19c)]['code'],_0x425cc8={'serviceCode':_0x2dd138,'version':_0xa954b0[_0x551de6(0x1af)][_0x551de6(0x1b3)],'importedAt':_0x22399f,'source':{'type':_0x551de6(0x1a2),'path':_0x91da0b[_0x551de6(0x1d2)],'hash':_0xa954b0[_0x551de6(0x1bb)]},'manifest':_0xa954b0[_0x551de6(0x188)],'normalizedManifest':_0xa954b0[_0x551de6(0x1af)]},_0x369a8f=_0x153f39[_0x551de6(0x19e)][_0x551de6(0x189)](_0x43fe92=>_0x43fe92[_0x551de6(0x18a)]===_0x2dd138);_0x369a8f>=0x0?(_0x153f39[_0x551de6(0x19e)][_0x369a8f]=_0x425cc8,_0x372278++):(_0x153f39[_0x551de6(0x19e)][_0x551de6(0x1c6)](_0x425cc8),_0x1f1cf1++),_0x52a5ba['push'](_0x425cc8);}_0x153f39[_0x551de6(0x19e)][_0x551de6(0x19f)]((_0x105d52,_0xdd765d)=>_0x105d52['serviceCode']['localeCompare'](_0xdd765d['serviceCode'])),_0x153f39['updatedAt']=_0x22399f;const _0x1b69ee=writeServiceRegistry(_0x153f39,_0x1483f9);return{'registryPath':_0x1b69ee,'entry':_0x52a5ba[0x0],'replaced':_0x52a5ba[_0x551de6(0x1b0)]===0x1?_0x372278===0x1:_0x372278>0x0,'entries':_0x52a5ba,'imported':_0x1f1cf1,'updated':_0x372278,'serviceCount':_0x153f39[_0x551de6(0x19e)][_0x551de6(0x1b0)]};}export function exportServiceManifest(_0x166332,_0x2b28ca,_0x36241f={}){const _0x795b6b=a37_0x4a99e8,_0x3e1ae6=getServiceRegistryPath(_0x36241f),_0x4add59=getLocalServiceEntry(_0x166332,_0x36241f);if(!_0x4add59)throw CliErrors['validation'](_0x795b6b(0x1a9)+_0x166332,_0x795b6b(0x1d6));const _0x2baf77=resolve(_0x2b28ca),_0x324182=dirname(_0x2baf77);return!existsSync(_0x324182)&&mkdirSync(_0x324182,{'recursive':!![]}),writeFileSync(_0x2baf77,JSON[_0x795b6b(0x1b1)](_0x4add59[_0x795b6b(0x188)],null,0x2)+'\x0a',{'encoding':_0x795b6b(0x1ad),'mode':0x180}),{'registryPath':_0x3e1ae6,'filePath':_0x2baf77,'entry':_0x4add59};}export function removeServiceManifest(_0x1b3142,_0x1410d4={}){const _0x489d94=a37_0x4a99e8,_0x5a0262=readServiceRegistry(_0x1410d4),_0xfb94e5=_0x1b3142['trim'](),_0x242453=_0x5a0262[_0x489d94(0x19e)][_0x489d94(0x189)](_0x1bf5db=>_0x1bf5db[_0x489d94(0x18a)]===_0xfb94e5);if(_0x242453<0x0)throw CliErrors[_0x489d94(0x186)]('Local\x20service\x20not\x20found:\x20'+_0xfb94e5,_0x489d94(0x1d6));const [_0x1da881]=_0x5a0262['services'][_0x489d94(0x1bc)](_0x242453,0x1),_0x138937=(_0x1410d4[_0x489d94(0x19d)]??(()=>new Date()))()[_0x489d94(0x1d0)]();_0x5a0262[_0x489d94(0x1a8)]=_0x138937;const _0x4b9ae6=writeServiceRegistry(_0x5a0262,_0x1410d4);return{'registryPath':_0x4b9ae6,'entry':_0x1da881,'serviceCount':_0x5a0262[_0x489d94(0x19e)]['length']};}export function listLocalServices(_0x2b2615={}){const _0x348532=a37_0x4a99e8;return readServiceRegistry(_0x2b2615)[_0x348532(0x19e)];}export function getLocalServiceEntry(_0x313baa,_0xff6eb5={}){const _0x582534=a37_0x4a99e8;return readServiceRegistry(_0xff6eb5)[_0x582534(0x19e)][_0x582534(0x18e)](_0x5f41fa=>_0x5f41fa[_0x582534(0x18a)]===_0x313baa['trim']());}export function listLocalServiceTrees(_0x31f4ca={}){const _0x3291cd=a37_0x4a99e8;return readServiceRegistry(_0x31f4ca)[_0x3291cd(0x19e)]['map'](_0x35e2c6=>_0x35e2c6[_0x3291cd(0x1af)]);}export function inspectServiceRegistry(_0x1dc1dd={}){const _0x12c28a=a37_0x4a99e8,_0x3f81ab=getServiceRegistryPath(_0x1dc1dd);if(!existsSync(_0x3f81ab))return emptyServiceRegistryInspection(_0x3f81ab,'missing',![]);try{const _0x44f845=readFileSync(_0x3f81ab,'utf8');if(!_0x44f845['trim']())return emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1cc),!![]);const _0x401a0e=JSON[_0x12c28a(0x193)](_0x44f845);if(_0x401a0e[_0x12c28a(0x1ba)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3f81ab,'invalid',!![]),'schemaVersion':_0x401a0e[_0x12c28a(0x1ba)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x401a0e[_0x12c28a(0x1ba)])};if(!Array[_0x12c28a(0x1a1)](_0x401a0e[_0x12c28a(0x19e)]))return{...emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1d1),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x401a0e[_0x12c28a(0x1a8)],'message':'services\x20must\x20be\x20an\x20array'};const _0x14b651=_0x401a0e[_0x12c28a(0x19e)][_0x12c28a(0x1ab)](summarizeLocalServiceEntry);return{'registryPath':_0x3f81ab,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x401a0e['updatedAt'],'serviceCount':_0x14b651[_0x12c28a(0x1b0)],'commandCount':_0x14b651[_0x12c28a(0x1b2)]((_0x426781,_0x3ea12f)=>_0x426781+_0x3ea12f[_0x12c28a(0x18b)],0x0),'services':_0x14b651};}catch(_0x2533a1){return{...emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1d1),!![]),'message':_0x2533a1 instanceof Error?_0x2533a1[_0x12c28a(0x1a6)]:String(_0x2533a1)};}}export function formatValidationFailure(_0x418154){const _0x5eb4b4=a37_0x4a99e8,_0xa0d45c=_0x418154[_0x5eb4b4(0x1b8)]['map'](_0x112a41=>_0x112a41[_0x5eb4b4(0x19a)]+':\x20'+_0x112a41['message']);return _0x5eb4b4(0x1c4)+_0xa0d45c[_0x5eb4b4(0x1ca)]('\x0a');}function extractLoadedServiceManifests(_0x2b3e0f,_0x4944bb){const _0x1d37c4=a37_0x4a99e8;if(!isServiceRegistryLike(_0x2b3e0f)){const _0x1fdfb9=_0x2b3e0f,_0x380148=validateServiceTreeManifest(_0x1fdfb9);return[{'manifest':_0x1fdfb9,'report':_0x380148,'normalizedManifest':_0x380148['ok']?normalizeServiceTreeManifest(_0x1fdfb9):undefined,'sourceHash':_0x4944bb}];}return _0x2b3e0f[_0x1d37c4(0x19e)]['map']((_0xdd071b,_0x2a4d67)=>{const _0x4cda1c=_0x1d37c4,_0x25e6ff=isObjectRecord(_0xdd071b)?_0xdd071b[_0x4cda1c(0x188)]:undefined,_0x1894f1=validateServiceTreeManifest(_0x25e6ff),_0x45ed6d=isObjectRecord(_0xdd071b)&&typeof _0xdd071b[_0x4cda1c(0x18a)]===_0x4cda1c(0x1d4)?_0xdd071b[_0x4cda1c(0x18a)]:undefined;return{'manifest':_0x25e6ff,'report':_0x1894f1,'normalizedManifest':_0x1894f1['ok']?normalizeServiceTreeManifest(_0x25e6ff):undefined,'sourceHash':sha256(JSON['stringify'](_0x25e6ff,null,0x2)+'\x0a'),'registryIndex':_0x2a4d67,'registryServiceCode':_0x45ed6d};});}function aggregateValidationReports(_0x4a21f9){const _0x3b4123=a37_0x4a99e8,_0x3d00e2=_0x4a21f9['flatMap'](_0x250a2d=>_0x250a2d[_0x3b4123(0x18d)]===undefined?_0x250a2d[_0x3b4123(0x1ae)]['errors']:_0x250a2d[_0x3b4123(0x1ae)]['errors'][_0x3b4123(0x1ab)](_0x51e1f6=>({..._0x51e1f6,'path':prefixRegistryIssuePath(_0x250a2d[_0x3b4123(0x18d)],_0x51e1f6[_0x3b4123(0x19a)])}))),_0x46de74=_0x4a21f9[_0x3b4123(0x197)](_0x415b7e=>_0x415b7e['registryIndex']===undefined?_0x415b7e[_0x3b4123(0x1ae)][_0x3b4123(0x18c)]:_0x415b7e[_0x3b4123(0x1ae)][_0x3b4123(0x18c)][_0x3b4123(0x1ab)](_0x309369=>({..._0x309369,'path':prefixRegistryIssuePath(_0x415b7e[_0x3b4123(0x18d)],_0x309369[_0x3b4123(0x19a)])})));return{'ok':_0x3d00e2[_0x3b4123(0x1b0)]===0x0,'errors':_0x3d00e2,'warnings':_0x46de74};}function prefixRegistryIssuePath(_0x595528,_0x272f3e){const _0x586657=a37_0x4a99e8;if(_0x272f3e==='$')return _0x586657(0x196)+_0x595528+'].manifest';if(_0x272f3e[_0x586657(0x1c9)]('$.'))return _0x586657(0x196)+_0x595528+'].manifest'+_0x272f3e['slice'](0x1);if(_0x272f3e[_0x586657(0x1c9)]('$['))return _0x586657(0x196)+_0x595528+'].manifest'+_0x272f3e['slice'](0x1);return _0x586657(0x196)+_0x595528+_0x586657(0x1d7)+_0x272f3e;}function isServiceRegistryLike(_0x4bcf9d){const _0x46eefd=a37_0x4a99e8;return isObjectRecord(_0x4bcf9d)&&_0x4bcf9d['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x4bcf9d[_0x46eefd(0x19e)]);}function isObjectRecord(_0x3d7a90){return Boolean(_0x3d7a90)&&typeof _0x3d7a90==='object'&&!Array['isArray'](_0x3d7a90);}function emptyServiceRegistryInspection(_0x8253ba,_0x306220,_0x1e7134){return{'registryPath':_0x8253ba,'exists':_0x1e7134,'status':_0x306220,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x509533){const _0xa2cce0=a37_0x4a99e8,_0x19dc92=_0x509533[_0xa2cce0(0x1af)],_0x2eb418=_0x19dc92[_0xa2cce0(0x1c3)][_0xa2cce0(0x1ab)](_0x595741=>({'path':_0x595741[_0xa2cce0(0x1a5)],'description':_0x595741[_0xa2cce0(0x1a3)],'risk':_0x595741['risk'],'targetKind':_0x595741[_0xa2cce0(0x1b6)][_0xa2cce0(0x1d3)],'targetCommand':_0x595741[_0xa2cce0(0x1b6)][_0xa2cce0(0x1c0)]}));return{'serviceCode':_0x509533[_0xa2cce0(0x18a)],'name':_0x19dc92['service']['name'],'description':_0x19dc92[_0xa2cce0(0x19c)][_0xa2cce0(0x1a3)],'version':_0x509533['version'],'importedAt':_0x509533[_0xa2cce0(0x198)],'source':_0x509533[_0xa2cce0(0x1c5)],'commandCount':_0x2eb418[_0xa2cce0(0x1b0)],'commands':_0x2eb418};}function sha256(_0x133ba4){const _0x475191=a37_0x4a99e8;return createHash(_0x475191(0x1a0))[_0x475191(0x1b7)](_0x133ba4)[_0x475191(0x1aa)]('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a38_0x359c60=a38_0x469c;function a38_0x469c(_0x183ee7,_0x330772){_0x183ee7=_0x183ee7-0x17b;const _0x52f344=a38_0x52f3();let _0x469c3d=_0x52f344[_0x183ee7];return _0x469c3d;}(function(_0x4e8b3d,_0x5a1370){const _0x178cc5=a38_0x469c,_0x4a4986=_0x4e8b3d();while(!![]){try{const _0x50b91b=parseInt(_0x178cc5(0x19a))/0x1*(-parseInt(_0x178cc5(0x189))/0x2)+parseInt(_0x178cc5(0x187))/0x3+parseInt(_0x178cc5(0x18c))/0x4+-parseInt(_0x178cc5(0x191))/0x5*(parseInt(_0x178cc5(0x183))/0x6)+parseInt(_0x178cc5(0x19d))/0x7+-parseInt(_0x178cc5(0x18b))/0x8+-parseInt(_0x178cc5(0x186))/0x9;if(_0x50b91b===_0x5a1370)break;else _0x4a4986['push'](_0x4a4986['shift']());}catch(_0x40af9b){_0x4a4986['push'](_0x4a4986['shift']());}}}(a38_0x52f3,0x69263));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';function a38_0x52f3(){const _0x14085e=['type','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','skill','path','str','24yMxUmG','bool','Skill\x20directory\x20already\x20exists:\x20','633600XDqLDr','436218IuZmsW','isSymbolicLink','4406atacef','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','3305616xBFkaK','1524092buzkWz','files','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','content','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','215545NNFZqL','force','target','skillDir','isDirectory','trim','rendered','name','create','71QejeKa','skillName','WRITE','5016991ofCLfL','map','validation','utf8'];a38_0x52f3=function(){return _0x14085e;};return a38_0x52f3();}import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a38_0x359c60(0x180),'command':a38_0x359c60(0x199),'description':a38_0x359c60(0x18a),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x4bbc76){const _0x1f1e60=a38_0x359c60,_0x12c589=buildSkillCreatePlan(_0x4bbc76[_0x1f1e60(0x182)]('name'),_0x4bbc76[_0x1f1e60(0x182)](_0x1f1e60(0x17e)),_0x4bbc76['str'](_0x1f1e60(0x193)));return{'method':_0x1f1e60(0x19c),'url':_0x12c589[_0x1f1e60(0x194)],'body':{'skillName':_0x12c589[_0x1f1e60(0x197)][_0x1f1e60(0x19b)],'type':_0x12c589[_0x1f1e60(0x197)][_0x1f1e60(0x17e)],'selfContained':!![],'files':_0x12c589['rendered'][_0x1f1e60(0x18d)][_0x1f1e60(0x17b)](_0x42b5f1=>_0x42b5f1[_0x1f1e60(0x181)])},'description':_0x1f1e60(0x18e)};},async 'execute'(_0x1399ca){const _0x32559d=a38_0x359c60,_0x1d66f4=buildSkillCreatePlan(_0x1399ca[_0x32559d(0x182)](_0x32559d(0x198)),_0x1399ca['str'](_0x32559d(0x17e)),_0x1399ca[_0x32559d(0x182)](_0x32559d(0x193)));return writeSkillDraft(_0x1d66f4,_0x1399ca[_0x32559d(0x184)](_0x32559d(0x192))),{'ok':!![],'data':{'skillName':_0x1d66f4[_0x32559d(0x197)]['skillName'],'type':_0x1d66f4['rendered'][_0x32559d(0x17e)],'dir':_0x1d66f4[_0x32559d(0x194)],'files':_0x1d66f4['rendered'][_0x32559d(0x18d)][_0x32559d(0x17b)](_0x2cccf2=>_0x2cccf2[_0x32559d(0x181)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x1d66f4['rendered'][_0x32559d(0x19b)]};}};function buildSkillCreatePlan(_0x5245a8,_0x67b014,_0x54a177){const _0x4c202f=a38_0x359c60,_0xc9a25c=renderSkillTemplate({'skillName':_0x5245a8,'type':_0x67b014}),_0x1e595b=resolve(normalizeSkillTarget(_0x54a177));return{'rendered':_0xc9a25c,'targetRoot':_0x1e595b,'skillDir':resolve(_0x1e595b,_0xc9a25c[_0x4c202f(0x19b)])};}function normalizeSkillTarget(_0x83053){const _0x444e32=a38_0x359c60;return(_0x83053||DEFAULT_SKILL_TARGET)[_0x444e32(0x196)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x119300,_0x15874b){const _0x7d6bfa=a38_0x359c60;if(existsSync(_0x119300['skillDir'])){const _0x37a811=lstatSync(_0x119300[_0x7d6bfa(0x194)]);if(!_0x37a811[_0x7d6bfa(0x195)]()||_0x37a811['isSymbolicLink']())throw CliErrors['validation'](_0x7d6bfa(0x17f)+_0x119300['skillDir']);if(!_0x15874b)throw CliErrors[_0x7d6bfa(0x17c)](_0x7d6bfa(0x185)+_0x119300[_0x7d6bfa(0x194)],_0x7d6bfa(0x190));}for(const _0x4688c5 of _0x119300[_0x7d6bfa(0x197)][_0x7d6bfa(0x18d)]){const _0x151263=resolve(_0x119300['skillDir'],_0x4688c5['path']),_0x39d72c=dirname(_0x151263);mkdirSync(_0x39d72c,{'recursive':!![]});if(existsSync(_0x151263)&&lstatSync(_0x151263)[_0x7d6bfa(0x188)]())throw CliErrors[_0x7d6bfa(0x17c)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x151263);writeFileSync(_0x151263,_0x4688c5[_0x7d6bfa(0x18f)],_0x7d6bfa(0x17d));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a39_0x3d6080=a39_0x540c;(function(_0x441334,_0x3ffd41){const _0x315ddd=a39_0x540c,_0x318fc4=_0x441334();while(!![]){try{const _0x3a6a47=-parseInt(_0x315ddd(0x124))/0x1+parseInt(_0x315ddd(0x121))/0x2*(-parseInt(_0x315ddd(0x12e))/0x3)+parseInt(_0x315ddd(0x136))/0x4*(-parseInt(_0x315ddd(0x11b))/0x5)+-parseInt(_0x315ddd(0x138))/0x6+parseInt(_0x315ddd(0x135))/0x7*(parseInt(_0x315ddd(0x11c))/0x8)+-parseInt(_0x315ddd(0x141))/0x9*(parseInt(_0x315ddd(0x13c))/0xa)+-parseInt(_0x315ddd(0x128))/0xb*(-parseInt(_0x315ddd(0x11f))/0xc);if(_0x3a6a47===_0x3ffd41)break;else _0x318fc4['push'](_0x318fc4['shift']());}catch(_0x11f89d){_0x318fc4['push'](_0x318fc4['shift']());}}}(a39_0x43a4,0xd8cdc));import{CliErrors}from'../../../errors.js';function a39_0x540c(_0x13e7c9,_0xc1d25c){_0x13e7c9=_0x13e7c9-0x11b;const _0x43a439=a39_0x43a4();let _0x540c8f=_0x43a439[_0x13e7c9];return _0x540c8f;}function a39_0x43a4(){const _0x500df5=['removed','updated','all','17207410ETrdIJ','push','action','production','filter','skillCode','3658359PKoqOM','created','str','write','length','\x20company\x20Skill(s).','../../../skills/runtime-skill-sync.js','63kiqwva','73468IctAeh','includes','7029216nJXeoQ','map','company','unchanged','15643470WwwSpz','install','skill','reduce','Installed\x20','9ZxZGoR','trim','version','appCode','245HoZIFr','1118288qLLLry','authRequired','scope','48LTuXtY','flatMap','2RceebF','personal','\x20personal\x20and\x20','1771967YctvwM'];a39_0x43a4=function(){return _0x500df5;};return a39_0x43a4();}import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a39_0x3d6080(0x13e),'command':a39_0x3d6080(0x13d),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a39_0x3d6080(0x131),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x37dd1d){return syncRuntimeSkills(_0x37dd1d);}};async function syncRuntimeSkills(_0x1e0f1a){const _0x2d7352=a39_0x3d6080,{downloadRuntimeSkillPackage:_0x23f43c,listRuntimeSkills:_0x138677}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x1db592,materializeRuntimeSkill:_0x152f55,pruneStaleRuntimeSkillCache:_0x4d0578,pruneStaleRuntimeSkillLinks:_0x2b5f3a}=await import(_0x2d7352(0x134)),_0x4ce14e=_0x1e0f1a[_0x2d7352(0x130)]('code'),_0x172879=normalizeSyncScopes(_0x1e0f1a[_0x2d7352(0x130)](_0x2d7352(0x11e))),_0x2a0f2b=_0x1e0f1a['envName']??_0x2d7352(0x12b),_0x2b67b2=_0x1e0f1a['accessKey'];if(!_0x2b67b2)throw CliErrors[_0x2d7352(0x11d)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x580324=await Promise[_0x2d7352(0x127)](_0x172879['map'](_0x419d98=>_0x138677({'appCode':_0x1e0f1a[_0x2d7352(0x144)],'scope':_0x419d98,'code':_0x4ce14e['trim']()||undefined}))),_0x1e26a3=_0x172879['includes']('personal')?_0x580324[_0x2d7352(0x120)]((_0xb4b8f2,_0xa6f17c)=>_0x172879[_0xa6f17c]===_0x2d7352(0x122)?_0xb4b8f2['personal']:[]):[],_0x324871=_0x172879['includes'](_0x2d7352(0x13a))?_0x580324[_0x2d7352(0x120)]((_0x569743,_0x58f2b9)=>_0x172879[_0x58f2b9]===_0x2d7352(0x13a)?_0x569743[_0x2d7352(0x13a)]:[]):[],_0x6cf76d=new Set([..._0x1e26a3[_0x2d7352(0x139)](_0x159045=>_0x159045['skillCode']?.['trim']())[_0x2d7352(0x12c)](_0x22fd0d=>Boolean(_0x22fd0d)),..._0x324871['map'](_0x545b6f=>_0x545b6f[_0x2d7352(0x12d)]?.[_0x2d7352(0x142)]())['filter'](_0x54a4e8=>Boolean(_0x54a4e8))]),_0xdbf9bd=_0x4ce14e[_0x2d7352(0x142)]()?[_0x4ce14e[_0x2d7352(0x142)]()]:undefined,_0x467aea=_0x172879['length']===0x2&&_0x172879['includes'](_0x2d7352(0x122))&&_0x172879[_0x2d7352(0x137)]('company'),_0x419a25=_0x467aea?_0x2b5f3a(_0x1e0f1a[_0x2d7352(0x144)],_0x6cf76d,{},_0xdbf9bd):[],_0x3f1b3c=_0x4d0578({'env':_0x2a0f2b,'accessKey':_0x2b67b2,'appCode':_0x1e0f1a['appCode'],'activeSkillCodes':_0x6cf76d,'pruneSkillCodes':_0xdbf9bd,'scopes':_0x172879}),_0x5c5fbd=[];for(const _0x3d2de3 of _0x1e26a3){_0x5c5fbd[_0x2d7352(0x129)](_0x152f55(_0x3d2de3,_0x2d7352(0x122),{'env':_0x2a0f2b,'accessKey':_0x2b67b2,'appCode':_0x1e0f1a['appCode'],'packageBytes':await downloadSkillPackage(_0x3d2de3,'personal',_0x1e0f1a[_0x2d7352(0x144)],_0x23f43c)}));}for(const _0x272299 of _0x324871){_0x5c5fbd[_0x2d7352(0x129)](_0x152f55(_0x272299,_0x2d7352(0x13a),{'env':_0x2a0f2b,'accessKey':_0x2b67b2,'appCode':_0x1e0f1a[_0x2d7352(0x144)],'packageBytes':await downloadSkillPackage(_0x272299,_0x2d7352(0x13a),_0x1e0f1a[_0x2d7352(0x144)],_0x23f43c)}));}const _0x56a3f9=_0x1db592(_0x5c5fbd,_0x1e0f1a['appCode']),_0xc692a7=countLinkActions(_0x56a3f9);return{'ok':!![],'data':{'appCode':_0x1e0f1a[_0x2d7352(0x144)],'personal':_0x1e26a3['length'],'company':_0x324871[_0x2d7352(0x132)],'materialized':_0x5c5fbd['length'],'links':{'total':_0x56a3f9[_0x2d7352(0x132)],'created':_0xc692a7[_0x2d7352(0x12f)]??0x0,'updated':_0xc692a7[_0x2d7352(0x126)]??0x0,'unchanged':_0xc692a7[_0x2d7352(0x13b)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x419a25[_0x2d7352(0x12c)](_0x19ec64=>_0x19ec64[_0x2d7352(0x12a)]===_0x2d7352(0x125))[_0x2d7352(0x132)],'cacheDirs':_0x3f1b3c[_0x2d7352(0x12c)](_0x4dd348=>_0x4dd348[_0x2d7352(0x12a)]===_0x2d7352(0x125))[_0x2d7352(0x132)],'skipped':[..._0x419a25,..._0x3f1b3c][_0x2d7352(0x12c)](_0x2bda49=>_0x2bda49[_0x2d7352(0x12a)]==='skipped')['length']},'skills':{'personal':_0x1e26a3['map'](summarizeRuntimeSkill),'company':_0x324871[_0x2d7352(0x139)](summarizeRuntimeSkill)}},'message':_0x2d7352(0x140)+_0x1e26a3[_0x2d7352(0x132)]+_0x2d7352(0x123)+_0x324871[_0x2d7352(0x132)]+_0x2d7352(0x133)};}async function downloadSkillPackage(_0x345fd2,_0x3ce280,_0x4f60fd,_0x451b9a){const _0x23e0c4=a39_0x3d6080,_0x272146=_0x345fd2[_0x23e0c4(0x143)]?.['trim']();return _0x272146?_0x451b9a(_0x3ce280,_0x345fd2[_0x23e0c4(0x12d)],_0x4f60fd,_0x272146):_0x451b9a(_0x3ce280,_0x345fd2[_0x23e0c4(0x12d)],_0x4f60fd);}function countLinkActions(_0x454ba8){const _0x168c6e=a39_0x3d6080;return _0x454ba8[_0x168c6e(0x13f)]((_0x52f9fc,_0x8fd33)=>{const _0x148795=_0x168c6e;return _0x52f9fc[_0x8fd33[_0x148795(0x12a)]]=(_0x52f9fc[_0x8fd33['action']]??0x0)+0x1,_0x52f9fc;},{});}
|