@lovrabet/lovrabet-cli 2.1.18 → 2.1.19-beta.1
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/README.md +7 -0
- 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/artifact/index.js +1 -1
- package/lib/commands/auth/device.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/common/local-file.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/file/index.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/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.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.d.ts +1 -0
- 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-execute.js +1 -1
- package/lib/commands/skill/push-flow-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/rate-limit.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 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.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/install-target.d.ts +9 -0
- package/lib/skills/runtime-skill-sync/install-target.js +1 -0
- package/lib/skills/runtime-skill-sync/links.d.ts +5 -4
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.d.ts +2 -2
- 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/types.d.ts +17 -0
- 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.d.ts +2 -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/lossless-json.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
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x22cf63,_0x2bbc6c){const _0x3b00e1=a39_0x3f19,_0x3ca861=_0x22cf63();while(!![]){try{const _0x39bc23=parseInt(_0x3b00e1(0x16d))/0x1*(parseInt(_0x3b00e1(0x158))/0x2)+parseInt(_0x3b00e1(0x154))/0x3*(parseInt(_0x3b00e1(0x12c))/0x4)+parseInt(_0x3b00e1(0x140))/0x5+parseInt(_0x3b00e1(0x14b))/0x6+parseInt(_0x3b00e1(0x139))/0x7+-parseInt(_0x3b00e1(0x15a))/0x8+parseInt(_0x3b00e1(0x16c))/0x9*(-parseInt(_0x3b00e1(0x149))/0xa);if(_0x39bc23===_0x2bbc6c)break;else _0x3ca861['push'](_0x3ca861['shift']());}catch(_0x55a099){_0x3ca861['push'](_0x3ca861['shift']());}}}(a39_0x4cce,0x82e72));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a39_0x3f19(_0x4ace20,_0x1a392c){_0x4ace20=_0x4ace20-0x127;const _0x4cce7d=a39_0x4cce();let _0x3f1960=_0x4cce7d[_0x4ace20];return _0x3f1960;}import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4da111,_0xc929a8){const _0x9c1ee=a39_0x3f19,_0x11c1d4=listLocalServiceTrees();let _0x183cc0;for(const _0x3f1fdd of _0x11c1d4){const _0x136ee3=matchServiceTreeCommand(_0x3f1fdd,_0x4da111);if(!_0x136ee3)continue;(!_0x183cc0||_0x136ee3['command']['fullPath'][_0x9c1ee(0x143)]>_0x183cc0[_0x9c1ee(0x169)][_0x9c1ee(0x141)][_0x9c1ee(0x143)])&&(_0x183cc0={'tree':_0x3f1fdd,'command':_0x136ee3[_0x9c1ee(0x169)],'remainingArgs':_0x136ee3[_0x9c1ee(0x164)]});}if(!_0x183cc0)return undefined;const _0x232573={..._0xc929a8};return applyAppBinding(_0x183cc0[_0x9c1ee(0x132)],_0x183cc0[_0x9c1ee(0x169)],_0x232573),{'definition':buildDynamicCommandDefinition(_0x183cc0[_0x9c1ee(0x132)],_0x183cc0['command']),'args':_0x183cc0[_0x9c1ee(0x164)],'flags':_0x232573,'tree':_0x183cc0[_0x9c1ee(0x132)],'command':_0x183cc0[_0x9c1ee(0x169)]};}export function generateDynamicServiceHelp(_0x846794){const _0x3bd243=a39_0x3f19,_0xd5ad30=listLocalServiceTrees()[_0x3bd243(0x129)](_0x5f00e3=>_0x5f00e3[_0x3bd243(0x144)][_0x3bd243(0x16a)]===_0x846794);if(!_0xd5ad30)return undefined;const _0x34b738=[CLI_BIN_NAME+'\x20'+_0x846794+_0x3bd243(0x13f),'',_0xd5ad30[_0x3bd243(0x144)][_0x3bd243(0x189)]||_0x846794,_0xd5ad30[_0x3bd243(0x144)][_0x3bd243(0x14f)]?'\x20\x20'+_0xd5ad30['service']['description']:'','',_0x3bd243(0x182),..._0xd5ad30[_0x3bd243(0x162)][_0x3bd243(0x171)](_0x7f4d12=>{const _0x373be5=_0x3bd243,_0x51fe0e=_0x7f4d12[_0x373be5(0x141)][_0x373be5(0x134)](0x1)[_0x373be5(0x15f)]('\x20'),_0x4c51fa=_0x7f4d12[_0x373be5(0x17b)]===_0x373be5(0x170)?'':'\x20['+_0x7f4d12[_0x373be5(0x17b)]+']';return'\x20\x20'+_0x51fe0e['padEnd'](0x18)+'\x20'+(_0x7f4d12['description']||'')+_0x4c51fa;}),'',_0x3bd243(0x160)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x846794+_0x3bd243(0x136)][_0x3bd243(0x12f)](Boolean);return _0x34b738[_0x3bd243(0x15f)]('\x0a');}export function listDynamicServiceEntries(){const _0x47f4dc=a39_0x3f19;return listLocalServices()[_0x47f4dc(0x171)](_0x385687=>{const _0x5b5ec4=_0x47f4dc,_0x49cc26=_0x385687[_0x5b5ec4(0x188)];return{'service':_0x49cc26[_0x5b5ec4(0x144)][_0x5b5ec4(0x16a)],'label':_0x49cc26[_0x5b5ec4(0x144)][_0x5b5ec4(0x189)]||_0x49cc26['service'][_0x5b5ec4(0x16a)],'commands':_0x49cc26[_0x5b5ec4(0x162)][_0x5b5ec4(0x171)](_0x12cbcd=>({'command':dynamicCommandName(_0x12cbcd),'description':_0x12cbcd['description']||_0x5b5ec4(0x185)+_0x12cbcd[_0x5b5ec4(0x176)],'tag':riskTag(_0x12cbcd[_0x5b5ec4(0x17b)])}))};});}export function getDynamicServiceEntry(_0x2100c5){const _0xf5ebd3=a39_0x3f19;return listDynamicServiceEntries()[_0xf5ebd3(0x129)](_0x1240a5=>_0x1240a5[_0xf5ebd3(0x144)]===_0x2100c5);}export function listDynamicServiceDefinitions(_0x3b0785){const _0x557b5a=a39_0x3f19;return listLocalServiceTrees()['filter'](_0x4df0ac=>!_0x3b0785||_0x4df0ac[_0x557b5a(0x144)][_0x557b5a(0x16a)]===_0x3b0785)[_0x557b5a(0x137)](_0x11d97c=>_0x11d97c['commands'][_0x557b5a(0x171)](_0x1c4fb8=>buildDynamicCommandDefinition(_0x11d97c,_0x1c4fb8)));}export function getDynamicServiceDefinitions(_0x50cce3){const _0x46e2cd=a39_0x3f19,_0x3610fb=listDynamicServiceDefinitions(_0x50cce3);return _0x3610fb[_0x46e2cd(0x143)]>0x0?_0x3610fb:undefined;}export function findDynamicServiceDefinition(_0x3631f5,_0x18ceef){const _0x16e475=a39_0x3f19;return listDynamicServiceDefinitions(_0x3631f5)[_0x16e475(0x129)](_0x4b9c88=>_0x4b9c88['command']===_0x18ceef);}export function buildDynamicCommandDefinition(_0x25efe5,_0x55b220){const _0x5d682f=a39_0x3f19;return{'service':_0x25efe5['service'][_0x5d682f(0x16a)],'command':dynamicCommandName(_0x55b220),'description':_0x55b220['description']||_0x5d682f(0x185)+_0x55b220[_0x5d682f(0x176)],'risk':_0x55b220[_0x5d682f(0x17b)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x55b220[_0x5d682f(0x163)]['map'](_0x2c7045=>({'name':_0x2c7045[_0x5d682f(0x189)],'description':_0x2c7045[_0x5d682f(0x14f)]||_0x2c7045['name'],'required':_0x2c7045['required']})),'flags':_0x55b220['flags'][_0x5d682f(0x171)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x55b220),async 'dryRun'(_0x2935d2){const _0x211529=_0x5d682f,_0x9c6385=await compilePlan(_0x55b220,_0x2935d2);return{'method':_0x211529(0x18a),'url':_0x55b220[_0x211529(0x176)],'body':{'target':targetPreview(_0x9c6385),'params':_0x9c6385[_0x211529(0x127)]},'description':_0x211529(0x166)+_0x55b220[_0x211529(0x176)]};},async 'execute'(_0x40e873){const _0xb84182=_0x5d682f,_0x5ade4d=await compilePlan(_0x55b220,_0x40e873),_0x37c762=Date['now'](),_0x2e62f4=await executePlan(_0x5ade4d,_0x55b220,_0x40e873),_0x22e898=Date[_0xb84182(0x142)]()-_0x37c762;return{'ok':!![],'data':{'service':_0x25efe5[_0xb84182(0x144)],'command':_0x55b220['cliPath'],'target':targetPreview(_0x5ade4d),'result':_0x2e62f4,'elapsed':_0x22e898},'message':'Service\x20command\x20'+_0x55b220[_0xb84182(0x176)]+_0xb84182(0x147)+_0x22e898+'ms'};}};}function dynamicCommandName(_0x2d3ee2){const _0x270a7c=a39_0x3f19;return _0x2d3ee2[_0x270a7c(0x141)][_0x270a7c(0x134)](0x1)[_0x270a7c(0x15f)]('\x20');}function riskTag(_0x245c47){const _0x36003f=a39_0x3f19;return _0x245c47===_0x36003f(0x170)?'':_0x36003f(0x159)+_0x245c47+']';}function flagToCommandFlag(_0x29bb41){const _0x310151=a39_0x3f19;return{'name':_0x29bb41['cliName'],'type':_0x29bb41[_0x310151(0x148)]===_0x310151(0x15d)?_0x310151(0x179):_0x29bb41[_0x310151(0x148)],'description':_0x29bb41[_0x310151(0x14f)]||_0x29bb41[_0x310151(0x189)],'required':_0x29bb41['required'],'default':isPrimitiveFlagDefault(_0x29bb41['default'])?_0x29bb41[_0x310151(0x181)]:undefined,'enum':_0x29bb41['enum']};}async function compilePlan(_0x1a7f66,_0x2ccdd9){const _0x21b5d0=a39_0x3f19;return compileServiceTreeCommand(_0x1a7f66,{'flags':_0x2ccdd9[_0x21b5d0(0x156)],'args':_0x2ccdd9[_0x21b5d0(0x163)],'context':await buildServiceContext(_0x1a7f66,_0x2ccdd9)});}async function buildServiceContext(_0x32e88c,_0x4d7521){const _0x7257a6=a39_0x3f19,_0x5af297={'appCode':_0x4d7521[_0x7257a6(0x151)],'env':_0x4d7521[_0x7257a6(0x16b)],'envName':_0x4d7521[_0x7257a6(0x16b)]};if(!usesRuntimeContext(_0x32e88c))return _0x5af297;const _0xaea72c=await getLoginUserInfo(),_0x13c751=pickFirst(_0xaea72c[_0x7257a6(0x175)],_0xaea72c['id']);return{..._0x5af297,'user':_0xaea72c,'userId':_0x13c751,'id':_0xaea72c['id'],'username':pickFirst(_0xaea72c[_0x7257a6(0x135)],_0xaea72c[_0x7257a6(0x183)],_0xaea72c[_0x7257a6(0x17a)]),'userName':_0xaea72c[_0x7257a6(0x183)],'nickname':pickFirst(_0xaea72c[_0x7257a6(0x12e)],_0xaea72c[_0x7257a6(0x14c)]),'nickName':_0xaea72c[_0x7257a6(0x14c)],'tenantCode':_0xaea72c['tenantCode'],'employeeId':_0xaea72c[_0x7257a6(0x18b)]};}function usesRuntimeContext(_0xc5b924){const _0x35b552=a39_0x3f19;return _0xc5b924[_0x35b552(0x130)][_0x35b552(0x18c)](_0xc92f8a=>typeof _0xc92f8a[_0x35b552(0x153)]===_0x35b552(0x179)&&(_0xc92f8a[_0x35b552(0x153)]['startsWith'](_0x35b552(0x14a))||_0xc92f8a[_0x35b552(0x153)][_0x35b552(0x14e)](_0x35b552(0x157))));}function pickFirst(..._0x49389a){const _0x52afcc=a39_0x3f19;return _0x49389a[_0x52afcc(0x129)](_0x1e409b=>_0x1e409b!==undefined&&_0x1e409b!==null);}function a39_0x4cce(){const _0xc47606=['json','const','join','Use\x20`','\x20\x20\x20\x20functionName:\x20','commands','args','remainingArgs','\x20\x20\x20\x20datatable:\x20','Preview\x20dynamic\x20service\x20command:\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.functionName.','command','code','envName','2412513JliDHU','49149ieASIa','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','push','read','map','dbtableConfig','Unsupported\x20service\x20target\x20kind:\x20','\x22\x20in\x20service\x20command\x20','userId','cliPath','appRef','bffCode','string','loginName','risk','\x20->\x20','\x20\x20MAP\x20TO','app','appcode','boolean','default','Commands:','userName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','Run\x20service\x20command\x20','env','bffId','normalizedManifest','name','SERVICE_TREE','employeeId','some','\x20\x20\x20\x20sqlCode:\x20','params','\x20\x20\x20\x20command:\x20','find','datatable','Unknown\x20appRef\x20\x22','308sMDdeX','Cannot\x20resolve\x20datatable\x20\x22','nickname','filter','mapTo','validation','tree','entries','slice','username','`\x20to\x20inspect\x20the\x20manifest.','flatMap','scriptName','196847AwTgXU','operator','sql','sqlCode','target','number','\x20<command>\x20[flags]','3924545aUjzLA','fullPath','now','length','service','Service\x20command\x20','kind','\x20completed\x20in\x20','type','90ZkDrDS','context.','5089242byoIzB','nickName','\x20\x20\x20\x20','startsWith','description','data','appCode','appBindings','source','34107FgFgJB','\x20\x20\x20\x20datasetCode:\x20','rawFlags','ctx.','22JoAHvQ','\x20\x20[','1028784aDOvhV','datasetCode','fromEntries'];a39_0x4cce=function(){return _0xc47606;};return a39_0x4cce();}async function executePlan(_0x282b3f,_0x143d4d,_0x28beda){const _0x98540f=a39_0x3f19;if(_0x282b3f['kind']===_0x98540f(0x150)){const _0x3ddd38=await resolveDatasetCode(_0x282b3f,_0x143d4d,_0x28beda);return executeData(_0x3ddd38,_0x282b3f[_0x98540f(0x169)],_0x282b3f[_0x98540f(0x127)]);}if(_0x282b3f['kind']===_0x98540f(0x13b)){if(!_0x282b3f[_0x98540f(0x13c)])throw CliErrors['validation'](_0x98540f(0x145)+_0x143d4d[_0x98540f(0x176)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x282b3f[_0x98540f(0x13c)],normalizeScalarParams(_0x282b3f[_0x98540f(0x127)]));}if(_0x282b3f['kind']==='bff'){const _0x20e5a=_0x282b3f[_0x98540f(0x138)]||_0x282b3f[_0x98540f(0x178)]||(_0x282b3f[_0x98540f(0x187)]==null?'':String(_0x282b3f[_0x98540f(0x187)]));if(!_0x20e5a)throw CliErrors['validation'](_0x98540f(0x145)+_0x143d4d[_0x98540f(0x176)]+_0x98540f(0x168));return executeSdkBff(_0x20e5a,_0x282b3f[_0x98540f(0x127)]);}throw CliErrors[_0x98540f(0x131)](_0x98540f(0x173)+_0x282b3f['kind']);}async function resolveDatasetCode(_0x41db7a,_0x4a278d,_0x517c74){const _0x214536=a39_0x3f19;if(_0x41db7a[_0x214536(0x15b)])return _0x41db7a['datasetCode'];if(!_0x41db7a['datatable'])throw CliErrors[_0x214536(0x131)](_0x214536(0x145)+_0x4a278d[_0x214536(0x176)]+_0x214536(0x16e));const _0x1c3f85=await listDatasets(_0x517c74[_0x214536(0x151)]),_0x53410a=_0x1c3f85[_0x214536(0x129)](_0x14cfe8=>_0x14cfe8[_0x214536(0x172)]?.['tableName']===_0x41db7a[_0x214536(0x12a)]);if(!_0x53410a?.[_0x214536(0x16a)])throw CliErrors[_0x214536(0x131)](_0x214536(0x12d)+_0x41db7a[_0x214536(0x12a)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x517c74['appCode']+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x53410a['code'];}function applyAppBinding(_0x2a7755,_0x26a6a0,_0x2c329f){const _0x3903d6=a39_0x3f19,_0x2faa1f=_0x26a6a0['target'][_0x3903d6(0x177)];if(!_0x2faa1f)return;const _0x544257=_0x2a7755[_0x3903d6(0x152)][_0x2faa1f];if(!_0x544257)throw CliErrors['validation'](_0x3903d6(0x12b)+_0x2faa1f+_0x3903d6(0x174)+_0x26a6a0['cliPath']+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x498615=_0x544257[_0x3903d6(0x17f)]||_0x544257[_0x3903d6(0x151)];_0x498615&&!hasText(_0x2c329f[_0x3903d6(0x17f)])&&(_0x2c329f[_0x3903d6(0x17f)]=_0x498615),_0x544257[_0x3903d6(0x17e)]&&!hasText(_0x2c329f[_0x3903d6(0x17e)])&&!hasText(_0x2c329f[_0x3903d6(0x17f)])&&(_0x2c329f[_0x3903d6(0x17e)]=_0x544257[_0x3903d6(0x17e)]),_0x544257[_0x3903d6(0x186)]&&!hasText(_0x2c329f['env'])&&(_0x2c329f[_0x3903d6(0x186)]=_0x544257[_0x3903d6(0x186)]);}function renderDynamicCommandHelp(_0x4ac8f1){const _0x4c21c7=a39_0x3f19,_0x3314c6=[_0x4c21c7(0x167),_0x4c21c7(0x184)+_0x4ac8f1[_0x4c21c7(0x13d)][_0x4c21c7(0x146)],_0x4c21c7(0x128)+_0x4ac8f1['target'][_0x4c21c7(0x169)]];if(_0x4ac8f1[_0x4c21c7(0x13d)]['datasetCode'])_0x3314c6[_0x4c21c7(0x16f)](_0x4c21c7(0x155)+_0x4ac8f1[_0x4c21c7(0x13d)][_0x4c21c7(0x15b)]);if(_0x4ac8f1[_0x4c21c7(0x13d)]['datatable'])_0x3314c6['push'](_0x4c21c7(0x165)+_0x4ac8f1['target'][_0x4c21c7(0x12a)]);if(_0x4ac8f1[_0x4c21c7(0x13d)][_0x4c21c7(0x13c)])_0x3314c6[_0x4c21c7(0x16f)](_0x4c21c7(0x18d)+_0x4ac8f1['target'][_0x4c21c7(0x13c)]);if(_0x4ac8f1['target'][_0x4c21c7(0x138)])_0x3314c6[_0x4c21c7(0x16f)](_0x4c21c7(0x161)+_0x4ac8f1[_0x4c21c7(0x13d)]['scriptName']);if(_0x4ac8f1['mapTo'][_0x4c21c7(0x143)]>0x0){_0x3314c6['push']('',_0x4c21c7(0x17d));for(const _0x3dba74 of _0x4ac8f1['mapTo']){_0x3314c6[_0x4c21c7(0x16f)](_0x4c21c7(0x14d)+(_0x3dba74[_0x4c21c7(0x153)]||_0x4c21c7(0x15e))+_0x4c21c7(0x17c)+_0x3dba74[_0x4c21c7(0x13d)]+(_0x3dba74[_0x4c21c7(0x13a)]?'.'+_0x3dba74[_0x4c21c7(0x13a)]:''));}}return _0x3314c6['join']('\x0a');}function targetPreview(_0x357de7){const _0x2d57c9=a39_0x3f19;return{'kind':_0x357de7[_0x2d57c9(0x146)],'command':_0x357de7[_0x2d57c9(0x169)],'appRef':_0x357de7['appRef'],'datasetCode':_0x357de7['datasetCode'],'datatable':_0x357de7[_0x2d57c9(0x12a)],'sqlCode':_0x357de7['sqlCode'],'bffCode':_0x357de7[_0x2d57c9(0x178)],'bffId':_0x357de7[_0x2d57c9(0x187)],'functionName':_0x357de7[_0x2d57c9(0x138)]};}function normalizeScalarParams(_0x1f7bcc){const _0x59c21a=a39_0x3f19;return Object[_0x59c21a(0x15c)](Object[_0x59c21a(0x133)](_0x1f7bcc)[_0x59c21a(0x12f)](([,_0x599a9c])=>typeof _0x599a9c===_0x59c21a(0x179)||typeof _0x599a9c===_0x59c21a(0x13e)));}function hasText(_0x30920e){const _0xfc426e=a39_0x3f19;return typeof _0x30920e==='string'&&_0x30920e['trim']()[_0xfc426e(0x143)]>0x0;}function isPrimitiveFlagDefault(_0x275736){const _0x28f8d2=a39_0x3f19;return _0x275736===undefined||typeof _0x275736===_0x28f8d2(0x179)||typeof _0x275736==='number'||typeof _0x275736===_0x28f8d2(0x180);}
|
|
1
|
+
(function(_0xec3430,_0x191e7a){const _0x105b18=a39_0x15cf,_0x2d536b=_0xec3430();while(!![]){try{const _0x27f28f=parseInt(_0x105b18(0x166))/0x1*(-parseInt(_0x105b18(0x19e))/0x2)+parseInt(_0x105b18(0x19b))/0x3*(parseInt(_0x105b18(0x16b))/0x4)+-parseInt(_0x105b18(0x1b3))/0x5+parseInt(_0x105b18(0x163))/0x6*(-parseInt(_0x105b18(0x176))/0x7)+-parseInt(_0x105b18(0x1a1))/0x8+parseInt(_0x105b18(0x1b4))/0x9+parseInt(_0x105b18(0x1a4))/0xa*(parseInt(_0x105b18(0x1b5))/0xb);if(_0x27f28f===_0x191e7a)break;else _0x2d536b['push'](_0x2d536b['shift']());}catch(_0x3f53ca){_0x2d536b['push'](_0x2d536b['shift']());}}}(a39_0x7408,0x19637));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 a39_0x7408(){const _0x1bf9ba=['\x20\x20MAP\x20TO','\x20\x20[','now','mapTo','nickName','appCode','name','49PgswGp','env','string','risk','\x20\x20SERVICE\x20TREE\x20TARGET','boolean','ctx.','default','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','appBindings','tableName','userName','Service\x20command\x20','\x20\x20\x20\x20datatable:\x20','push','read','datasetCode','code','number','app','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','filter','commands','service','flags','type','join','entries','\x20\x20\x20\x20datasetCode:\x20','data','context.','\x20<command>\x20[flags]','Run\x20service\x20command\x20','fullPath','some','scriptName','Use\x20`','3Euotcn','source','dbtableConfig','41878amLXgi','sql','username','28648ZNxwsO','\x20completed\x20in\x20','description','1070PDKfvW','\x20->\x20','map','command','kind','appcode','json','fromEntries','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20requires\x20target.sqlCode.','trim','SERVICE_TREE','\x20\x20\x20\x20sqlCode:\x20','bffId','Unsupported\x20service\x20target\x20kind:\x20','115135fWFLql','1349865MRzowx','8558MkmnSl','Cannot\x20resolve\x20datatable\x20\x22','datatable','params','validation','sqlCode','args','appRef','Preview\x20dynamic\x20service\x20command:\x20','cliPath','remainingArgs','bff','\x22\x20in\x20service\x20command\x20','target','\x20service\x20detail\x20--service\x20','startsWith','required','cliName','86382SHpyjw','length','nickname','9ywLbqL','Unknown\x20appRef\x20\x22','slice','envName','tree','746392arGaGU','bffCode','find','padEnd'];a39_0x7408=function(){return _0x1bf9ba;};return a39_0x7408();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x499304,_0x4ab9f5){const _0x1c8b86=a39_0x15cf,_0x227788=listLocalServiceTrees();let _0x1e097a;for(const _0x2d3362 of _0x227788){const _0x3b13f5=matchServiceTreeCommand(_0x2d3362,_0x499304);if(!_0x3b13f5)continue;(!_0x1e097a||_0x3b13f5['command'][_0x1c8b86(0x197)][_0x1c8b86(0x164)]>_0x1e097a[_0x1c8b86(0x1a7)][_0x1c8b86(0x197)]['length'])&&(_0x1e097a={'tree':_0x2d3362,'command':_0x3b13f5[_0x1c8b86(0x1a7)],'remainingArgs':_0x3b13f5['remainingArgs']});}if(!_0x1e097a)return undefined;const _0x2edf3e={..._0x4ab9f5};return applyAppBinding(_0x1e097a[_0x1c8b86(0x16a)],_0x1e097a[_0x1c8b86(0x1a7)],_0x2edf3e),{'definition':buildDynamicCommandDefinition(_0x1e097a[_0x1c8b86(0x16a)],_0x1e097a[_0x1c8b86(0x1a7)]),'args':_0x1e097a[_0x1c8b86(0x1bf)],'flags':_0x2edf3e,'tree':_0x1e097a[_0x1c8b86(0x16a)],'command':_0x1e097a[_0x1c8b86(0x1a7)]};}export function generateDynamicServiceHelp(_0xa0c76e){const _0x43d81b=a39_0x15cf,_0xe63dc8=listLocalServiceTrees()[_0x43d81b(0x16d)](_0x9d8d6b=>_0x9d8d6b['service'][_0x43d81b(0x187)]===_0xa0c76e);if(!_0xe63dc8)return undefined;const _0x36c286=[CLI_BIN_NAME+'\x20'+_0xa0c76e+_0x43d81b(0x195),'',_0xe63dc8[_0x43d81b(0x18d)][_0x43d81b(0x175)]||_0xa0c76e,_0xe63dc8['service'][_0x43d81b(0x1a3)]?'\x20\x20'+_0xe63dc8[_0x43d81b(0x18d)][_0x43d81b(0x1a3)]:'','','Commands:',..._0xe63dc8[_0x43d81b(0x18c)][_0x43d81b(0x1a6)](_0x56ec63=>{const _0x106cca=_0x43d81b,_0x71f05b=_0x56ec63[_0x106cca(0x197)][_0x106cca(0x168)](0x1)['join']('\x20'),_0x432a25=_0x56ec63[_0x106cca(0x179)]===_0x106cca(0x185)?'':'\x20['+_0x56ec63[_0x106cca(0x179)]+']';return'\x20\x20'+_0x71f05b[_0x106cca(0x16e)](0x18)+'\x20'+(_0x56ec63[_0x106cca(0x1a3)]||'')+_0x432a25;}),'',_0x43d81b(0x19a)+CLI_BIN_NAME+_0x43d81b(0x15f)+_0xa0c76e+'`\x20to\x20inspect\x20the\x20manifest.'][_0x43d81b(0x18b)](Boolean);return _0x36c286['join']('\x0a');}export function listDynamicServiceEntries(){const _0x240e19=a39_0x15cf;return listLocalServices()[_0x240e19(0x1a6)](_0x2a982b=>{const _0x13bf60=_0x240e19,_0x5dc70e=_0x2a982b['normalizedManifest'];return{'service':_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x187)],'label':_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x175)]||_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x187)],'commands':_0x5dc70e[_0x13bf60(0x18c)][_0x13bf60(0x1a6)](_0x2374f3=>({'command':dynamicCommandName(_0x2374f3),'description':_0x2374f3[_0x13bf60(0x1a3)]||'Run\x20service\x20command\x20'+_0x2374f3[_0x13bf60(0x1be)],'tag':riskTag(_0x2374f3[_0x13bf60(0x179)])}))};});}export function getDynamicServiceEntry(_0x44fcd6){const _0x32827c=a39_0x15cf;return listDynamicServiceEntries()[_0x32827c(0x16d)](_0x11e760=>_0x11e760[_0x32827c(0x18d)]===_0x44fcd6);}export function listDynamicServiceDefinitions(_0x4f773e){const _0x548a39=a39_0x15cf;return listLocalServiceTrees()[_0x548a39(0x18b)](_0x34f905=>!_0x4f773e||_0x34f905[_0x548a39(0x18d)]['code']===_0x4f773e)['flatMap'](_0x275d9c=>_0x275d9c[_0x548a39(0x18c)][_0x548a39(0x1a6)](_0x3af24c=>buildDynamicCommandDefinition(_0x275d9c,_0x3af24c)));}export function getDynamicServiceDefinitions(_0x33989c){const _0x31d459=a39_0x15cf,_0x3f4b6b=listDynamicServiceDefinitions(_0x33989c);return _0x3f4b6b[_0x31d459(0x164)]>0x0?_0x3f4b6b:undefined;}export function findDynamicServiceDefinition(_0x36a7d4,_0x20bc9a){const _0x3b8af5=a39_0x15cf;return listDynamicServiceDefinitions(_0x36a7d4)[_0x3b8af5(0x16d)](_0x297443=>_0x297443[_0x3b8af5(0x1a7)]===_0x20bc9a);}export function buildDynamicCommandDefinition(_0x419efb,_0x593c87){const _0x18dd8b=a39_0x15cf;return{'service':_0x419efb[_0x18dd8b(0x18d)][_0x18dd8b(0x187)],'command':dynamicCommandName(_0x593c87),'description':_0x593c87['description']||_0x18dd8b(0x196)+_0x593c87[_0x18dd8b(0x1be)],'risk':_0x593c87['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x593c87['args']['map'](_0x351b84=>({'name':_0x351b84[_0x18dd8b(0x175)],'description':_0x351b84[_0x18dd8b(0x1a3)]||_0x351b84['name'],'required':_0x351b84[_0x18dd8b(0x161)]})),'flags':_0x593c87[_0x18dd8b(0x18e)][_0x18dd8b(0x1a6)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x593c87),async 'dryRun'(_0x28e201){const _0x2ac948=_0x18dd8b,_0x4d2232=await compilePlan(_0x593c87,_0x28e201);return{'method':_0x2ac948(0x1af),'url':_0x593c87[_0x2ac948(0x1be)],'body':{'target':targetPreview(_0x4d2232),'params':_0x4d2232['params']},'description':_0x2ac948(0x1bd)+_0x593c87[_0x2ac948(0x1be)]};},async 'execute'(_0x4d1f76){const _0x1a05f4=_0x18dd8b,_0x597384=await compilePlan(_0x593c87,_0x4d1f76),_0x158ffe=Date[_0x1a05f4(0x171)](),_0x5a8722=await executePlan(_0x597384,_0x593c87,_0x4d1f76),_0x2b7dc7=Date[_0x1a05f4(0x171)]()-_0x158ffe;return{'ok':!![],'data':{'service':_0x419efb[_0x1a05f4(0x18d)],'command':_0x593c87[_0x1a05f4(0x1be)],'target':targetPreview(_0x597384),'result':_0x5a8722,'elapsed':_0x2b7dc7},'message':_0x1a05f4(0x182)+_0x593c87[_0x1a05f4(0x1be)]+_0x1a05f4(0x1a2)+_0x2b7dc7+'ms'};}};}function dynamicCommandName(_0x4caef1){const _0x497e1d=a39_0x15cf;return _0x4caef1[_0x497e1d(0x197)][_0x497e1d(0x168)](0x1)['join']('\x20');}function riskTag(_0x1f2f15){const _0x4b6c4b=a39_0x15cf;return _0x1f2f15===_0x4b6c4b(0x185)?'':_0x4b6c4b(0x170)+_0x1f2f15+']';}function flagToCommandFlag(_0x4f1bc9){const _0x435fc2=a39_0x15cf;return{'name':_0x4f1bc9[_0x435fc2(0x162)],'type':_0x4f1bc9[_0x435fc2(0x18f)]===_0x435fc2(0x1aa)?'string':_0x4f1bc9[_0x435fc2(0x18f)],'description':_0x4f1bc9[_0x435fc2(0x1a3)]||_0x4f1bc9['name'],'required':_0x4f1bc9[_0x435fc2(0x161)],'default':isPrimitiveFlagDefault(_0x4f1bc9[_0x435fc2(0x17d)])?_0x4f1bc9[_0x435fc2(0x17d)]:undefined,'enum':_0x4f1bc9['enum']};}async function compilePlan(_0x1a47cb,_0x49747b){const _0x1d5e1c=a39_0x15cf;return compileServiceTreeCommand(_0x1a47cb,{'flags':_0x49747b['rawFlags'],'args':_0x49747b[_0x1d5e1c(0x1bb)],'context':await buildServiceContext(_0x1a47cb,_0x49747b)});}async function buildServiceContext(_0x43435a,_0x2a3c82){const _0x1e48cb=a39_0x15cf,_0x3843e0={'appCode':_0x2a3c82[_0x1e48cb(0x174)],'env':_0x2a3c82[_0x1e48cb(0x169)],'envName':_0x2a3c82[_0x1e48cb(0x169)]};if(!usesRuntimeContext(_0x43435a))return _0x3843e0;const _0x3eb8cf=await getLoginUserInfo(),_0x3b99f8=pickFirst(_0x3eb8cf['userId'],_0x3eb8cf['id']);return{..._0x3843e0,'user':_0x3eb8cf,'userId':_0x3b99f8,'id':_0x3eb8cf['id'],'username':pickFirst(_0x3eb8cf[_0x1e48cb(0x1a0)],_0x3eb8cf[_0x1e48cb(0x181)],_0x3eb8cf['loginName']),'userName':_0x3eb8cf[_0x1e48cb(0x181)],'nickname':pickFirst(_0x3eb8cf[_0x1e48cb(0x165)],_0x3eb8cf[_0x1e48cb(0x173)]),'nickName':_0x3eb8cf[_0x1e48cb(0x173)],'tenantCode':_0x3eb8cf['tenantCode'],'employeeId':_0x3eb8cf['employeeId']};}function a39_0x15cf(_0x225d9d,_0x204732){_0x225d9d=_0x225d9d-0x15c;const _0x74081b=a39_0x7408();let _0x15cf48=_0x74081b[_0x225d9d];return _0x15cf48;}function usesRuntimeContext(_0x5d647c){const _0x463d0c=a39_0x15cf;return _0x5d647c['mapTo'][_0x463d0c(0x198)](_0x5be734=>typeof _0x5be734[_0x463d0c(0x19c)]==='string'&&(_0x5be734['source'][_0x463d0c(0x160)](_0x463d0c(0x194))||_0x5be734[_0x463d0c(0x19c)][_0x463d0c(0x160)](_0x463d0c(0x17c))));}function pickFirst(..._0x3eb822){return _0x3eb822['find'](_0x2774d4=>_0x2774d4!==undefined&&_0x2774d4!==null);}async function executePlan(_0x518ffe,_0x1422e7,_0x899e1c){const _0x2f1c8a=a39_0x15cf;if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x193)){const _0x37726a=await resolveDatasetCode(_0x518ffe,_0x1422e7,_0x899e1c);return executeData(_0x37726a,_0x518ffe[_0x2f1c8a(0x1a7)],_0x518ffe['params']);}if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x19f)){if(!_0x518ffe['sqlCode'])throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x182)+_0x1422e7[_0x2f1c8a(0x1be)]+_0x2f1c8a(0x1ad));return executeSdkSql(_0x518ffe['sqlCode'],normalizeScalarParams(_0x518ffe[_0x2f1c8a(0x1b8)]));}if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x15c)){const _0x3e6654=_0x518ffe['scriptName']||_0x518ffe[_0x2f1c8a(0x16c)]||(_0x518ffe[_0x2f1c8a(0x1b1)]==null?'':String(_0x518ffe[_0x2f1c8a(0x1b1)]));if(!_0x3e6654)throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x182)+_0x1422e7[_0x2f1c8a(0x1be)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x3e6654,_0x518ffe['params']);}throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x1b2)+_0x518ffe[_0x2f1c8a(0x1a8)]);}async function resolveDatasetCode(_0x2753e5,_0x472098,_0x52dcee){const _0x5da22d=a39_0x15cf;if(_0x2753e5[_0x5da22d(0x186)])return _0x2753e5[_0x5da22d(0x186)];if(!_0x2753e5[_0x5da22d(0x1b7)])throw CliErrors[_0x5da22d(0x1b9)](_0x5da22d(0x182)+_0x472098[_0x5da22d(0x1be)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x27203d=await listDatasets(_0x52dcee[_0x5da22d(0x174)]),_0x26e8a7=_0x27203d[_0x5da22d(0x16d)](_0x1bdf5f=>_0x1bdf5f[_0x5da22d(0x19d)]?.[_0x5da22d(0x180)]===_0x2753e5[_0x5da22d(0x1b7)]);if(!_0x26e8a7?.[_0x5da22d(0x187)])throw CliErrors['validation'](_0x5da22d(0x1b6)+_0x2753e5[_0x5da22d(0x1b7)]+_0x5da22d(0x17e)+_0x52dcee[_0x5da22d(0x174)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x26e8a7[_0x5da22d(0x187)];}function applyAppBinding(_0x2d990a,_0x34d103,_0x2eb2ef){const _0x3d2db2=a39_0x15cf,_0x1da8ae=_0x34d103[_0x3d2db2(0x15e)][_0x3d2db2(0x1bc)];if(!_0x1da8ae)return;const _0x5e391f=_0x2d990a[_0x3d2db2(0x17f)][_0x1da8ae];if(!_0x5e391f)throw CliErrors[_0x3d2db2(0x1b9)](_0x3d2db2(0x167)+_0x1da8ae+_0x3d2db2(0x15d)+_0x34d103[_0x3d2db2(0x1be)]+'.',_0x3d2db2(0x18a));const _0x401e65=_0x5e391f[_0x3d2db2(0x1a9)]||_0x5e391f['appCode'];_0x401e65&&!hasText(_0x2eb2ef[_0x3d2db2(0x1a9)])&&(_0x2eb2ef[_0x3d2db2(0x1a9)]=_0x401e65),_0x5e391f['app']&&!hasText(_0x2eb2ef[_0x3d2db2(0x189)])&&!hasText(_0x2eb2ef[_0x3d2db2(0x1a9)])&&(_0x2eb2ef[_0x3d2db2(0x189)]=_0x5e391f['app']),_0x5e391f[_0x3d2db2(0x177)]&&!hasText(_0x2eb2ef['env'])&&(_0x2eb2ef[_0x3d2db2(0x177)]=_0x5e391f[_0x3d2db2(0x177)]);}function renderDynamicCommandHelp(_0x2ca435){const _0x5ab506=a39_0x15cf,_0x352040=[_0x5ab506(0x17a),_0x5ab506(0x1ac)+_0x2ca435[_0x5ab506(0x15e)]['kind'],'\x20\x20\x20\x20command:\x20'+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1a7)]];if(_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x186)])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x192)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x186)]);if(_0x2ca435[_0x5ab506(0x15e)]['datatable'])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x183)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1b7)]);if(_0x2ca435['target'][_0x5ab506(0x1ba)])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x1b0)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1ba)]);if(_0x2ca435['target']['scriptName'])_0x352040[_0x5ab506(0x184)]('\x20\x20\x20\x20functionName:\x20'+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x199)]);if(_0x2ca435[_0x5ab506(0x172)][_0x5ab506(0x164)]>0x0){_0x352040[_0x5ab506(0x184)]('',_0x5ab506(0x16f));for(const _0x15ef78 of _0x2ca435[_0x5ab506(0x172)]){_0x352040[_0x5ab506(0x184)]('\x20\x20\x20\x20'+(_0x15ef78[_0x5ab506(0x19c)]||'const')+_0x5ab506(0x1a5)+_0x15ef78[_0x5ab506(0x15e)]+(_0x15ef78['operator']?'.'+_0x15ef78['operator']:''));}}return _0x352040[_0x5ab506(0x190)]('\x0a');}function targetPreview(_0x5089ac){const _0x369dcc=a39_0x15cf;return{'kind':_0x5089ac['kind'],'command':_0x5089ac[_0x369dcc(0x1a7)],'appRef':_0x5089ac[_0x369dcc(0x1bc)],'datasetCode':_0x5089ac[_0x369dcc(0x186)],'datatable':_0x5089ac['datatable'],'sqlCode':_0x5089ac[_0x369dcc(0x1ba)],'bffCode':_0x5089ac['bffCode'],'bffId':_0x5089ac[_0x369dcc(0x1b1)],'functionName':_0x5089ac[_0x369dcc(0x199)]};}function normalizeScalarParams(_0x546e12){const _0xa9a736=a39_0x15cf;return Object[_0xa9a736(0x1ab)](Object[_0xa9a736(0x191)](_0x546e12)['filter'](([,_0x19ba8e])=>typeof _0x19ba8e===_0xa9a736(0x178)||typeof _0x19ba8e===_0xa9a736(0x188)));}function hasText(_0x5436c5){const _0x853005=a39_0x15cf;return typeof _0x5436c5===_0x853005(0x178)&&_0x5436c5[_0x853005(0x1ae)]()[_0x853005(0x164)]>0x0;}function isPrimitiveFlagDefault(_0x8a9f60){const _0x303347=a39_0x15cf;return _0x8a9f60===undefined||typeof _0x8a9f60===_0x303347(0x178)||typeof _0x8a9f60===_0x303347(0x188)||typeof _0x8a9f60===_0x303347(0x17b);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x43a47e,_0xf63837){const _0x15558d=a40_0x9ae8,_0x7bbabe=_0x43a47e();while(!![]){try{const _0x11295a=parseInt(_0x15558d(0xb6))/0x1*(-parseInt(_0x15558d(0xbc))/0x2)+-parseInt(_0x15558d(0xa6))/0x3+-parseInt(_0x15558d(0xaf))/0x4+parseInt(_0x15558d(0x99))/0x5+-parseInt(_0x15558d(0x98))/0x6*(-parseInt(_0x15558d(0xa1))/0x7)+-parseInt(_0x15558d(0xad))/0x8+parseInt(_0x15558d(0x9c))/0x9;if(_0x11295a===_0xf63837)break;else _0x7bbabe['push'](_0x7bbabe['shift']());}catch(_0x3a38a0){_0x7bbabe['push'](_0x7bbabe['shift']());}}}(a40_0x1f62,0x4fb3e));export function adaptServiceTreeManifestForLegacyFramework(_0x91e1bb){const _0x506c24=a40_0x9ae8,_0x22c9fc=cloneJsonValue(_0x91e1bb),_0x1c34f7=[];if(!isObjectRecord(_0x22c9fc))return{'manifest':_0x22c9fc,'errors':_0x1c34f7};return Array[_0x506c24(0xa0)](_0x22c9fc[_0x506c24(0xb7)])&&_0x22c9fc[_0x506c24(0xb7)][_0x506c24(0xac)]((_0x3177ab,_0x21902a)=>{const _0x3e136a=_0x506c24;if(!isObjectRecord(_0x3177ab))return;adaptBffTarget(_0x3177ab[_0x3e136a(0xae)],_0x3e136a(0xa2)+_0x21902a+_0x3e136a(0xa9),_0x1c34f7);}),adaptResources(_0x22c9fc[_0x506c24(0xa4)],_0x506c24(0x9e),_0x1c34f7),{'manifest':_0x22c9fc,'errors':_0x1c34f7};}export function toPublicServiceTreeTarget(_0x10a901){const _0x3517fd=a40_0x9ae8,{scriptName:_0x1e443e,..._0x158393}=_0x10a901;return typeof _0x1e443e===_0x3517fd(0xa7)&&_0x1e443e['trim']()&&(_0x158393[_0x3517fd(0xb1)]=_0x1e443e),_0x158393;}export function toPublicNormalizedServiceTree(_0x12f4ff){const _0x2216f4=a40_0x9ae8;return{..._0x12f4ff,'commands':_0x12f4ff[_0x2216f4(0xb7)][_0x2216f4(0xbb)](_0x20e07d=>({..._0x20e07d,'target':toPublicServiceTreeTarget(_0x20e07d['target'])}))};}function adaptResources(_0x5d4181,_0xd1c704,_0x15ba63){const _0x283865=a40_0x9ae8;if(!isObjectRecord(_0x5d4181))return;for(const [_0x34d88a,_0x3ba82f]of Object['entries'](_0x5d4181)){if(!isObjectRecord(_0x3ba82f))continue;const _0xba8dc1=_0xd1c704+'.'+_0x34d88a;if(isObjectRecord(_0x3ba82f[_0x283865(0xb2)]))for(const [_0x46459f,_0x5c87cf]of Object[_0x283865(0xba)](_0x3ba82f[_0x283865(0xb2)])){if(!isObjectRecord(_0x5c87cf))continue;const _0xf93c33=_0xba8dc1+'.actions.'+_0x46459f,_0x3f755a=isObjectRecord(_0x5c87cf[_0x283865(0xae)])&&_0x5c87cf[_0x283865(0xae)]['kind']==='bff';adaptBffTarget(_0x5c87cf[_0x283865(0xae)],_0xf93c33+_0x283865(0xb8),_0x15ba63),(_0x3f755a||isBffAction(_0x5c87cf))&&adaptFunctionNameField(_0x5c87cf,_0xf93c33,_0x15ba63);}adaptResources(_0x3ba82f['resources'],_0xba8dc1+_0x283865(0xab),_0x15ba63);}}function adaptBffTarget(_0x398817,_0x1a94d8,_0x21e01f){const _0x147f68=a40_0x9ae8;if(!isObjectRecord(_0x398817)||_0x398817[_0x147f68(0xb4)]!==_0x147f68(0xaa))return;adaptFunctionNameField(_0x398817,_0x1a94d8,_0x21e01f);}function a40_0x9ae8(_0x4e5e9c,_0x24ba3c){_0x4e5e9c=_0x4e5e9c-0x98;const _0x1f6282=a40_0x1f62();let _0x9ae87c=_0x1f6282[_0x4e5e9c];return _0x9ae87c;}function adaptFunctionNameField(_0xa968e,_0x6c8219,_0x1dc2ff){const _0x4a9abc=a40_0x9ae8;Object[_0x4a9abc(0xb9)][_0x4a9abc(0x9f)][_0x4a9abc(0xb0)](_0xa968e,'scriptName')&&_0x1dc2ff['push']({'level':'error','path':_0x6c8219+_0x4a9abc(0xa8),'message':_0x4a9abc(0xb3)});if(Object[_0x4a9abc(0xb9)][_0x4a9abc(0x9f)][_0x4a9abc(0xb0)](_0xa968e,_0x4a9abc(0xb1))){if(typeof _0xa968e['functionName']!==_0x4a9abc(0xa7)||!_0xa968e[_0x4a9abc(0xb1)][_0x4a9abc(0xa5)]()){_0x1dc2ff[_0x4a9abc(0x9a)]({'level':_0x4a9abc(0xbd),'path':_0x6c8219+_0x4a9abc(0xb5),'message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0xa968e[_0x4a9abc(0xb1)];return;}_0xa968e[_0x4a9abc(0x9d)]=_0xa968e[_0x4a9abc(0xb1)],delete _0xa968e[_0x4a9abc(0xb1)];}}function isBffAction(_0x411c63){const _0x330510=a40_0x9ae8;return _0x411c63[_0x330510(0xb4)]===_0x330510(0xaa)||_0x411c63['action']===_0x330510(0xa3)||_0x411c63[_0x330510(0xae)]==='bff.exec';}function a40_0x1f62(){const _0x16dfb8=['forEach','1972624pOIuJR','target','2236440gMtuyv','call','functionName','actions','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','kind','.functionName','37174xQFpFZ','commands','.target','prototype','entries','map','6aAYuae','error','108GNzjZj','1696145UCpVMQ','push','object','7673589ECeueA','scriptName','$.resources','hasOwnProperty','isArray','60557qpIVvV','$.commands[','bff.exec','resources','trim','311688qILsJE','string','.scriptName','].target','bff','.resources'];a40_0x1f62=function(){return _0x16dfb8;};return a40_0x1f62();}function cloneJsonValue(_0x5b93bf){const _0x386106=a40_0x9ae8;if(Array['isArray'](_0x5b93bf))return _0x5b93bf[_0x386106(0xbb)](_0x474482=>cloneJsonValue(_0x474482));if(isObjectRecord(_0x5b93bf))return Object['fromEntries'](Object[_0x386106(0xba)](_0x5b93bf)['map'](([_0x18113f,_0x4f04e1])=>[_0x18113f,cloneJsonValue(_0x4f04e1)]));return _0x5b93bf;}function isObjectRecord(_0x399377){const _0x450c20=a40_0x9ae8;return Boolean(_0x399377)&&typeof _0x399377===_0x450c20(0x9b)&&!Array[_0x450c20(0xa0)](_0x399377);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a41_0x4a46(_0x30cf29,_0x331d40){_0x30cf29=_0x30cf29-0x86;const _0x563dcd=a41_0x563d();let _0x4a467f=_0x563dcd[_0x30cf29];return _0x4a467f;}const a41_0x2df7af=a41_0x4a46;(function(_0x2c5f0b,_0x35d7e8){const _0x4a1015=a41_0x4a46,_0x78e86d=_0x2c5f0b();while(!![]){try{const _0x30b54f=parseInt(_0x4a1015(0x87))/0x1+parseInt(_0x4a1015(0xb9))/0x2+-parseInt(_0x4a1015(0xb8))/0x3+parseInt(_0x4a1015(0xc9))/0x4*(parseInt(_0x4a1015(0x89))/0x5)+-parseInt(_0x4a1015(0xa3))/0x6*(parseInt(_0x4a1015(0x96))/0x7)+parseInt(_0x4a1015(0xb7))/0x8+-parseInt(_0x4a1015(0x99))/0x9;if(_0x30b54f===_0x35d7e8)break;else _0x78e86d['push'](_0x78e86d['shift']());}catch(_0x2722fb){_0x78e86d['push'](_0x78e86d['shift']());}}}(a41_0x563d,0x87c01));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':'file','type':a41_0x2df7af(0xad),'required':!![],'description':a41_0x2df7af(0x9a)},SERVICE_FLAG={'name':a41_0x2df7af(0xc6),'type':'string','required':!![],'description':a41_0x2df7af(0xc1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0x2df7af(0x8b)}};function summarizeService(_0x26a169){const _0x43e78b=a41_0x2df7af;return{'serviceCode':_0x26a169[_0x43e78b(0x9c)],'name':_0x26a169['normalizedManifest'][_0x43e78b(0xc6)][_0x43e78b(0xa4)],'version':_0x26a169[_0x43e78b(0xc5)],'importedAt':_0x26a169[_0x43e78b(0xbb)],'source':_0x26a169[_0x43e78b(0x9f)],'commandCount':_0x26a169['normalizedManifest'][_0x43e78b(0x8e)]['length'],'commands':_0x26a169[_0x43e78b(0xc3)]['commands']['map'](_0x7e7473=>({'path':_0x7e7473[_0x43e78b(0x8a)],'description':_0x7e7473[_0x43e78b(0xc2)],'risk':_0x7e7473[_0x43e78b(0xc8)],'target':toPublicServiceTreeTarget(_0x7e7473[_0x43e78b(0xc0)]),'flags':_0x7e7473[_0x43e78b(0x92)][_0x43e78b(0xaf)](_0x15e31f=>({'name':_0x15e31f[_0x43e78b(0xa4)],'cliName':_0x15e31f[_0x43e78b(0xa6)],'type':_0x15e31f[_0x43e78b(0xae)],'required':_0x15e31f['required']===!![]}))}))};}function summarizeLoadedManifest(_0x4aec77){const _0x24e740=a41_0x2df7af;return{'service':_0x4aec77[_0x24e740(0xc3)]?.[_0x24e740(0xc6)],'version':_0x4aec77[_0x24e740(0xc3)]?.[_0x24e740(0xc5)],'commandCount':_0x4aec77[_0x24e740(0xc3)]?.[_0x24e740(0x8e)][_0x24e740(0xc7)]??0x0,'commands':_0x4aec77[_0x24e740(0xc3)]?.[_0x24e740(0x8e)][_0x24e740(0xaf)](_0x1a87bc=>({'path':_0x1a87bc[_0x24e740(0x8a)],'risk':_0x1a87bc[_0x24e740(0xc8)],'target':toPublicServiceTreeTarget(_0x1a87bc[_0x24e740(0xc0)])}))??[],'registryIndex':_0x4aec77['registryIndex'],'registryServiceCode':_0x4aec77['registryServiceCode'],'errors':_0x4aec77[_0x24e740(0xa8)]['errors'],'warnings':_0x4aec77['report'][_0x24e740(0xb4)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a41_0x2df7af(0x95),'risk':a41_0x2df7af(0xbf),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3306d9){const _0x463289=a41_0x2df7af,_0x194cbe=loadServiceManifestFromFile(_0x3306d9['str'](_0x463289(0x9d)));if(!_0x194cbe['report']['ok'])return{'ok':![],'data':{'file':_0x194cbe['filePath'],'hash':_0x194cbe[_0x463289(0xa0)],'kind':_0x194cbe[_0x463289(0x86)],'serviceCount':_0x194cbe[_0x463289(0x8f)][_0x463289(0xc7)],'services':_0x194cbe[_0x463289(0x8f)]['map'](summarizeLoadedManifest),'errors':_0x194cbe[_0x463289(0xa8)]['errors'],'warnings':_0x194cbe[_0x463289(0xa8)][_0x463289(0xb4)]},'message':formatValidationFailure(_0x194cbe[_0x463289(0xa8)])};if(_0x194cbe[_0x463289(0x86)]===_0x463289(0xb5)||_0x194cbe[_0x463289(0x8f)][_0x463289(0xc7)]!==0x1)return{'ok':!![],'data':{'file':_0x194cbe[_0x463289(0x93)],'hash':_0x194cbe['hash'],'kind':_0x194cbe[_0x463289(0x86)],'serviceCount':_0x194cbe['manifests'][_0x463289(0xc7)],'commandCount':_0x194cbe[_0x463289(0x8f)][_0x463289(0xac)]((_0x437c15,_0x3c843b)=>_0x437c15+(_0x3c843b['normalizedManifest']?.[_0x463289(0x8e)][_0x463289(0xc7)]??0x0),0x0),'services':_0x194cbe[_0x463289(0x8f)]['map'](summarizeLoadedManifest),'warnings':_0x194cbe[_0x463289(0xa8)][_0x463289(0xb4)]},'message':_0x463289(0x97)};return{'ok':!![],'data':{'file':_0x194cbe[_0x463289(0x93)],'hash':_0x194cbe[_0x463289(0xa0)],'kind':_0x194cbe[_0x463289(0x86)],'service':_0x194cbe[_0x463289(0xc3)]?.[_0x463289(0xc6)],'version':_0x194cbe[_0x463289(0xc3)]?.[_0x463289(0xc5)],'commandCount':_0x194cbe[_0x463289(0xc3)]?.[_0x463289(0x8e)]['length']??0x0,'commands':_0x194cbe[_0x463289(0xc3)]?.['commands'][_0x463289(0xaf)](_0x2e8851=>({'path':_0x2e8851[_0x463289(0x8a)],'risk':_0x2e8851[_0x463289(0xc8)],'target':toPublicServiceTreeTarget(_0x2e8851[_0x463289(0xc0)])})),'warnings':_0x194cbe['report'][_0x463289(0xb4)]},'message':_0x463289(0xb6)};}},{'service':'service','command':a41_0x2df7af(0x91),'description':a41_0x2df7af(0x8d),'risk':a41_0x2df7af(0xc4),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x14696f){const _0xaebd99=a41_0x2df7af,_0x5b5127=loadServiceManifestFromFile(_0x14696f[_0xaebd99(0x9e)](_0xaebd99(0x9d)));return{'method':_0xaebd99(0x8c),'url':getServiceRegistryPath(),'body':{'file':_0x5b5127[_0xaebd99(0x93)],'hash':_0x5b5127['hash'],'kind':_0x5b5127[_0xaebd99(0x86)],'ok':_0x5b5127[_0xaebd99(0xa8)]['ok'],'service':_0x5b5127[_0xaebd99(0xc3)]?.[_0xaebd99(0xc6)],'version':_0x5b5127['normalizedManifest']?.[_0xaebd99(0xc5)],'serviceCount':_0x5b5127['manifests']['length'],'services':_0x5b5127['manifests'][_0xaebd99(0xaf)](_0x52b16b=>({'service':_0x52b16b[_0xaebd99(0xc3)]?.[_0xaebd99(0xc6)],'version':_0x52b16b[_0xaebd99(0xc3)]?.[_0xaebd99(0xc5)],'commandCount':_0x52b16b[_0xaebd99(0xc3)]?.[_0xaebd99(0x8e)][_0xaebd99(0xc7)]??0x0,'errors':_0x52b16b['report'][_0xaebd99(0xba)]})),'errors':_0x5b5127[_0xaebd99(0xa8)][_0xaebd99(0xba)],'commandCount':_0x5b5127[_0xaebd99(0xc3)]?.['commands'][_0xaebd99(0xc7)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0xf6ecc){const _0x4dc07f=a41_0x2df7af,_0x3f4c0d=importServiceManifest(_0xf6ecc[_0x4dc07f(0x9e)](_0x4dc07f(0x9d)));if(_0x3f4c0d['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x3f4c0d[_0x4dc07f(0xca)],'imported':_0x3f4c0d[_0x4dc07f(0x98)],'updated':_0x3f4c0d['updated'],'serviceCount':_0x3f4c0d[_0x4dc07f(0xbd)],'services':_0x3f4c0d['entries'][_0x4dc07f(0xaf)](summarizeService)},'message':_0x4dc07f(0x9b)+_0x3f4c0d[_0x4dc07f(0x98)]+_0x4dc07f(0xa7)+_0x3f4c0d['updated']+_0x4dc07f(0xbc)};return{'ok':!![],'data':{'registryPath':_0x3f4c0d['registryPath'],'replaced':_0x3f4c0d[_0x4dc07f(0xa9)],'imported':_0x3f4c0d['imported'],'updated':_0x3f4c0d[_0x4dc07f(0x88)],'serviceCount':_0x3f4c0d[_0x4dc07f(0xbd)],'service':summarizeService(_0x3f4c0d[_0x4dc07f(0xb3)])},'message':(_0x3f4c0d[_0x4dc07f(0xa9)]?_0x4dc07f(0xbe):_0x4dc07f(0xa1))+'\x20service\x20'+_0x3f4c0d['entry'][_0x4dc07f(0x9c)]+'.'};}},{'service':'service','command':a41_0x2df7af(0xb1),'description':a41_0x2df7af(0xa5),'risk':a41_0x2df7af(0xc4),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x2dde9b){const _0x570c41=a41_0x2df7af,_0x2d3a61=getLocalServiceEntry(_0x2dde9b[_0x570c41(0x9e)](_0x570c41(0xc6)));return{'method':_0x570c41(0x8c),'url':_0x2dde9b[_0x570c41(0x9e)](_0x570c41(0x9d)),'body':{'service':_0x2dde9b[_0x570c41(0x9e)](_0x570c41(0xc6)),'found':Boolean(_0x2d3a61),'version':_0x2d3a61?.['version'],'source':_0x2d3a61?.[_0x570c41(0x9f)]},'description':_0x570c41(0xaa)};},async 'execute'(_0x2c88a8){const _0x26bdf0=a41_0x2df7af,_0x2d6688=exportServiceManifest(_0x2c88a8[_0x26bdf0(0x9e)]('service'),_0x2c88a8[_0x26bdf0(0x9e)](_0x26bdf0(0x9d)));return{'ok':!![],'data':{'registryPath':_0x2d6688[_0x26bdf0(0xca)],'file':_0x2d6688['filePath'],'service':summarizeService(_0x2d6688[_0x26bdf0(0xb3)])},'message':_0x26bdf0(0x90)+_0x2d6688[_0x26bdf0(0xb3)][_0x26bdf0(0x9c)]+'.'};}},{'service':a41_0x2df7af(0xc6),'command':a41_0x2df7af(0xa2),'description':a41_0x2df7af(0xb2),'risk':a41_0x2df7af(0xbf),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x48fab2=a41_0x2df7af,_0x3771ec=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3771ec[_0x48fab2(0xc7)],'services':_0x3771ec[_0x48fab2(0xaf)](summarizeService)}};}},{'service':a41_0x2df7af(0xc6),'command':a41_0x2df7af(0xb0),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a41_0x2df7af(0xc4),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2fefff){const _0x306d3a=a41_0x2df7af,_0x5667d1=getLocalServiceEntry(_0x2fefff[_0x306d3a(0x9e)](_0x306d3a(0xc6)));return{'method':_0x306d3a(0x8c),'url':getServiceRegistryPath(),'body':{'service':_0x2fefff[_0x306d3a(0x9e)](_0x306d3a(0xc6)),'found':Boolean(_0x5667d1),'version':_0x5667d1?.[_0x306d3a(0xc5)],'source':_0x5667d1?.[_0x306d3a(0x9f)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x552580){const _0x598bb6=a41_0x2df7af,_0x515397=removeServiceManifest(_0x552580[_0x598bb6(0x9e)](_0x598bb6(0xc6)));return{'ok':!![],'data':{'registryPath':_0x515397[_0x598bb6(0xca)],'serviceCount':_0x515397[_0x598bb6(0xbd)],'service':summarizeService(_0x515397[_0x598bb6(0xb3)])},'message':'Removed\x20service\x20'+_0x515397[_0x598bb6(0xb3)][_0x598bb6(0x9c)]+'.'};}},{'service':'service','command':a41_0x2df7af(0xab),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a41_0x2df7af(0xbf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x25e69a){const _0xcd3ddc=a41_0x2df7af,_0x32bf9e=getLocalServiceEntry(_0x25e69a[_0xcd3ddc(0x9e)](_0xcd3ddc(0xc6)));if(!_0x32bf9e)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x25e69a[_0xcd3ddc(0x9e)](_0xcd3ddc(0xc6))},'message':_0xcd3ddc(0x94)+_0x25e69a[_0xcd3ddc(0x9e)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x32bf9e),'manifest':_0x32bf9e['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x32bf9e[_0xcd3ddc(0xc3)])}};}}];function a41_0x563d(){const _0xa7e9a3=['124158EkDdzG','678716kMgVwy','errors','importedAt','\x20service(s).','serviceCount','Updated','read','target','Local\x20service\x20code,\x20for\x20example\x20crm','description','normalizedManifest','write','version','service','length','risk','88IsFtVd','registryPath','kind','1101952qTVZIX','updated','45905HqEWvZ','cliPath','lower\x20kebab-case\x20service\x20code','WRITE','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','commands','manifests','Exported\x20service\x20','import','flags','filePath','Local\x20service\x20not\x20found:\x20','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','427BjESvl','Service\x20registry\x20validation\x20passed.','imported','6623496Tlqekt','Service\x20Tree\x20manifest\x20file\x20path','Imported\x20','serviceCode','file','str','source','hash','Imported','list','104556npWkRe','name','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','cliName','\x20service(s),\x20updated\x20','report','replaced','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','detail','reduce','string','type','map','remove','export','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','entry','warnings','registry','Service\x20manifest\x20validation\x20passed.','6024456PzoBbC'];a41_0x563d=function(){return _0xa7e9a3;};return a41_0x563d();}
|
|
1
|
+
const a41_0x4db873=a41_0x5ae3;function a41_0x46ae(){const _0x5f9155=['type','5LqxIFL','risk','registryServiceCode','replaced','entries','flags','name','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','26056hzholl','Local\x20service\x20code,\x20for\x20example\x20crm','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Local\x20service\x20not\x20found:\x20','cliPath','lower\x20kebab-case\x20service\x20code','reduce','Service\x20registry\x20validation\x20passed.','8650565RoeNde','Updated','write','3725880XIMtcR','str','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','detail','read','target','warnings','registryPath','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','3319305WliVlW','manifests','report','Service\x20Tree\x20manifest\x20file\x20path','Imported','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','33510fKjXoC','import','Exported\x20service\x20','string','entry','export','registryIndex','imported','registry','Service\x20manifest\x20validation\x20passed.','82foDYjS','WRITE','importedAt','list','serviceCount','commands','source','length','165762pkwMwv','manifest','serviceCode','service','6633mfSkYC','\x20service(s),\x20updated\x20','file','validate','\x20service(s).','\x20service\x20','4486336yzTosw','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','description','hash','version','errors','map','updated','filePath','normalizedManifest','kind'];a41_0x46ae=function(){return _0x5f9155;};return a41_0x46ae();}function a41_0x5ae3(_0x29bb58,_0x453b0f){_0x29bb58=_0x29bb58-0x1b3;const _0x46aec8=a41_0x46ae();let _0x5ae30b=_0x46aec8[_0x29bb58];return _0x5ae30b;}(function(_0x4de16f,_0x15593c){const _0x18ae28=a41_0x5ae3,_0x3d2ad8=_0x4de16f();while(!![]){try{const _0x31ac23=-parseInt(_0x18ae28(0x1ba))/0x1*(parseInt(_0x18ae28(0x1e0))/0x2)+-parseInt(_0x18ae28(0x1f4))/0x3+parseInt(_0x18ae28(0x1cc))/0x4+parseInt(_0x18ae28(0x1d8))/0x5*(-parseInt(_0x18ae28(0x1c2))/0x6)+-parseInt(_0x18ae28(0x1e8))/0x7+parseInt(_0x18ae28(0x1eb))/0x8+-parseInt(_0x18ae28(0x1c6))/0x9*(-parseInt(_0x18ae28(0x1fa))/0xa);if(_0x31ac23===_0x15593c)break;else _0x3d2ad8['push'](_0x3d2ad8['shift']());}catch(_0x5b6e1d){_0x3d2ad8['push'](_0x3d2ad8['shift']());}}}(a41_0x46ae,0x97165));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a41_0x4db873(0x1c8),'type':a41_0x4db873(0x1b3),'required':!![],'description':a41_0x4db873(0x1f7)},SERVICE_FLAG={'name':a41_0x4db873(0x1c5),'type':a41_0x4db873(0x1b3),'required':!![],'description':a41_0x4db873(0x1e1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0x4db873(0x1e5)}};function summarizeService(_0x47ea0c){const _0x8f3019=a41_0x4db873;return{'serviceCode':_0x47ea0c[_0x8f3019(0x1c4)],'name':_0x47ea0c[_0x8f3019(0x1d5)]['service'][_0x8f3019(0x1de)],'version':_0x47ea0c[_0x8f3019(0x1d0)],'importedAt':_0x47ea0c[_0x8f3019(0x1bc)],'source':_0x47ea0c[_0x8f3019(0x1c0)],'commandCount':_0x47ea0c[_0x8f3019(0x1d5)][_0x8f3019(0x1bf)][_0x8f3019(0x1c1)],'commands':_0x47ea0c[_0x8f3019(0x1d5)]['commands'][_0x8f3019(0x1d2)](_0x6df1fa=>({'path':_0x6df1fa[_0x8f3019(0x1e4)],'description':_0x6df1fa[_0x8f3019(0x1ce)],'risk':_0x6df1fa[_0x8f3019(0x1d9)],'target':toPublicServiceTreeTarget(_0x6df1fa[_0x8f3019(0x1f0)]),'flags':_0x6df1fa[_0x8f3019(0x1dd)][_0x8f3019(0x1d2)](_0x36421e=>({'name':_0x36421e[_0x8f3019(0x1de)],'cliName':_0x36421e['cliName'],'type':_0x36421e[_0x8f3019(0x1d7)],'required':_0x36421e['required']===!![]}))}))};}function summarizeLoadedManifest(_0x372092){const _0x2ad32c=a41_0x4db873;return{'service':_0x372092[_0x2ad32c(0x1d5)]?.['service'],'version':_0x372092[_0x2ad32c(0x1d5)]?.[_0x2ad32c(0x1d0)],'commandCount':_0x372092['normalizedManifest']?.[_0x2ad32c(0x1bf)]['length']??0x0,'commands':_0x372092['normalizedManifest']?.[_0x2ad32c(0x1bf)][_0x2ad32c(0x1d2)](_0x3dbfc0=>({'path':_0x3dbfc0['cliPath'],'risk':_0x3dbfc0[_0x2ad32c(0x1d9)],'target':toPublicServiceTreeTarget(_0x3dbfc0[_0x2ad32c(0x1f0)])}))??[],'registryIndex':_0x372092[_0x2ad32c(0x1b6)],'registryServiceCode':_0x372092[_0x2ad32c(0x1da)],'errors':_0x372092['report']['errors'],'warnings':_0x372092[_0x2ad32c(0x1f6)][_0x2ad32c(0x1f1)]};}export const serviceDefinitions=[{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1c9),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a41_0x4db873(0x1ef),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3438c1){const _0x12842a=a41_0x4db873,_0x249db9=loadServiceManifestFromFile(_0x3438c1[_0x12842a(0x1ec)](_0x12842a(0x1c8)));if(!_0x249db9[_0x12842a(0x1f6)]['ok'])return{'ok':![],'data':{'file':_0x249db9[_0x12842a(0x1d4)],'hash':_0x249db9[_0x12842a(0x1cf)],'kind':_0x249db9[_0x12842a(0x1d6)],'serviceCount':_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)],'services':_0x249db9[_0x12842a(0x1f5)]['map'](summarizeLoadedManifest),'errors':_0x249db9[_0x12842a(0x1f6)]['errors'],'warnings':_0x249db9['report'][_0x12842a(0x1f1)]},'message':formatValidationFailure(_0x249db9[_0x12842a(0x1f6)])};if(_0x249db9[_0x12842a(0x1d6)]===_0x12842a(0x1b8)||_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)]!==0x1)return{'ok':!![],'data':{'file':_0x249db9['filePath'],'hash':_0x249db9['hash'],'kind':_0x249db9[_0x12842a(0x1d6)],'serviceCount':_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)],'commandCount':_0x249db9['manifests'][_0x12842a(0x1e6)]((_0x58dcc7,_0x43d3c6)=>_0x58dcc7+(_0x43d3c6[_0x12842a(0x1d5)]?.[_0x12842a(0x1bf)]['length']??0x0),0x0),'services':_0x249db9['manifests']['map'](summarizeLoadedManifest),'warnings':_0x249db9['report'][_0x12842a(0x1f1)]},'message':_0x12842a(0x1e7)};return{'ok':!![],'data':{'file':_0x249db9[_0x12842a(0x1d4)],'hash':_0x249db9[_0x12842a(0x1cf)],'kind':_0x249db9[_0x12842a(0x1d6)],'service':_0x249db9['normalizedManifest']?.[_0x12842a(0x1c5)],'version':_0x249db9[_0x12842a(0x1d5)]?.[_0x12842a(0x1d0)],'commandCount':_0x249db9['normalizedManifest']?.[_0x12842a(0x1bf)][_0x12842a(0x1c1)]??0x0,'commands':_0x249db9[_0x12842a(0x1d5)]?.[_0x12842a(0x1bf)][_0x12842a(0x1d2)](_0xee5a6e=>({'path':_0xee5a6e[_0x12842a(0x1e4)],'risk':_0xee5a6e[_0x12842a(0x1d9)],'target':toPublicServiceTreeTarget(_0xee5a6e[_0x12842a(0x1f0)])})),'warnings':_0x249db9[_0x12842a(0x1f6)][_0x12842a(0x1f1)]},'message':_0x12842a(0x1b9)};}},{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1fb),'description':a41_0x4db873(0x1ed),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2ff3c9){const _0xe4bf95=a41_0x4db873,_0x406533=loadServiceManifestFromFile(_0x2ff3c9[_0xe4bf95(0x1ec)](_0xe4bf95(0x1c8)));return{'method':_0xe4bf95(0x1bb),'url':getServiceRegistryPath(),'body':{'file':_0x406533[_0xe4bf95(0x1d4)],'hash':_0x406533[_0xe4bf95(0x1cf)],'kind':_0x406533[_0xe4bf95(0x1d6)],'ok':_0x406533[_0xe4bf95(0x1f6)]['ok'],'service':_0x406533[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1c5)],'version':_0x406533[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1d0)],'serviceCount':_0x406533['manifests'][_0xe4bf95(0x1c1)],'services':_0x406533['manifests'][_0xe4bf95(0x1d2)](_0x27cc02=>({'service':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1c5)],'version':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1d0)],'commandCount':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1bf)][_0xe4bf95(0x1c1)]??0x0,'errors':_0x27cc02[_0xe4bf95(0x1f6)][_0xe4bf95(0x1d1)]})),'errors':_0x406533[_0xe4bf95(0x1f6)][_0xe4bf95(0x1d1)],'commandCount':_0x406533['normalizedManifest']?.['commands'][_0xe4bf95(0x1c1)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x545b48){const _0x1ef4f2=a41_0x4db873,_0x1e9194=importServiceManifest(_0x545b48['str'](_0x1ef4f2(0x1c8)));if(_0x1e9194[_0x1ef4f2(0x1dc)][_0x1ef4f2(0x1c1)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1e9194[_0x1ef4f2(0x1f2)],'imported':_0x1e9194[_0x1ef4f2(0x1b7)],'updated':_0x1e9194['updated'],'serviceCount':_0x1e9194[_0x1ef4f2(0x1be)],'services':_0x1e9194[_0x1ef4f2(0x1dc)][_0x1ef4f2(0x1d2)](summarizeService)},'message':'Imported\x20'+_0x1e9194[_0x1ef4f2(0x1b7)]+_0x1ef4f2(0x1c7)+_0x1e9194[_0x1ef4f2(0x1d3)]+_0x1ef4f2(0x1ca)};return{'ok':!![],'data':{'registryPath':_0x1e9194[_0x1ef4f2(0x1f2)],'replaced':_0x1e9194[_0x1ef4f2(0x1db)],'imported':_0x1e9194[_0x1ef4f2(0x1b7)],'updated':_0x1e9194[_0x1ef4f2(0x1d3)],'serviceCount':_0x1e9194[_0x1ef4f2(0x1be)],'service':summarizeService(_0x1e9194[_0x1ef4f2(0x1b4)])},'message':(_0x1e9194[_0x1ef4f2(0x1db)]?_0x1ef4f2(0x1e9):_0x1ef4f2(0x1f8))+_0x1ef4f2(0x1cb)+_0x1e9194['entry'][_0x1ef4f2(0x1c4)]+'.'};}},{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1b5),'description':a41_0x4db873(0x1e2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x391ba6){const _0x4ca500=a41_0x4db873,_0x5c7f7b=getLocalServiceEntry(_0x391ba6[_0x4ca500(0x1ec)](_0x4ca500(0x1c5)));return{'method':_0x4ca500(0x1bb),'url':_0x391ba6['str'](_0x4ca500(0x1c8)),'body':{'service':_0x391ba6[_0x4ca500(0x1ec)](_0x4ca500(0x1c5)),'found':Boolean(_0x5c7f7b),'version':_0x5c7f7b?.[_0x4ca500(0x1d0)],'source':_0x5c7f7b?.[_0x4ca500(0x1c0)]},'description':_0x4ca500(0x1f9)};},async 'execute'(_0x2243a1){const _0x9f5031=a41_0x4db873,_0xe19dea=exportServiceManifest(_0x2243a1[_0x9f5031(0x1ec)](_0x9f5031(0x1c5)),_0x2243a1[_0x9f5031(0x1ec)]('file'));return{'ok':!![],'data':{'registryPath':_0xe19dea['registryPath'],'file':_0xe19dea[_0x9f5031(0x1d4)],'service':summarizeService(_0xe19dea['entry'])},'message':_0x9f5031(0x1fc)+_0xe19dea[_0x9f5031(0x1b4)][_0x9f5031(0x1c4)]+'.'};}},{'service':'service','command':a41_0x4db873(0x1bd),'description':a41_0x4db873(0x1df),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x252c88=a41_0x4db873,_0x2b5939=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2b5939[_0x252c88(0x1c1)],'services':_0x2b5939[_0x252c88(0x1d2)](summarizeService)}};}},{'service':a41_0x4db873(0x1c5),'command':'remove','description':a41_0x4db873(0x1cd),'risk':a41_0x4db873(0x1ea),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x52a74b){const _0x2b785f=a41_0x4db873,_0x35059a=getLocalServiceEntry(_0x52a74b[_0x2b785f(0x1ec)](_0x2b785f(0x1c5)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x52a74b[_0x2b785f(0x1ec)](_0x2b785f(0x1c5)),'found':Boolean(_0x35059a),'version':_0x35059a?.[_0x2b785f(0x1d0)],'source':_0x35059a?.[_0x2b785f(0x1c0)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x50f220){const _0x87256e=a41_0x4db873,_0x4a4447=removeServiceManifest(_0x50f220[_0x87256e(0x1ec)](_0x87256e(0x1c5)));return{'ok':!![],'data':{'registryPath':_0x4a4447[_0x87256e(0x1f2)],'serviceCount':_0x4a4447[_0x87256e(0x1be)],'service':summarizeService(_0x4a4447['entry'])},'message':'Removed\x20service\x20'+_0x4a4447[_0x87256e(0x1b4)]['serviceCode']+'.'};}},{'service':'service','command':a41_0x4db873(0x1ee),'description':a41_0x4db873(0x1f3),'risk':a41_0x4db873(0x1ef),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2eba09){const _0x1288dd=a41_0x4db873,_0x32d9ee=getLocalServiceEntry(_0x2eba09[_0x1288dd(0x1ec)]('service'));if(!_0x32d9ee)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2eba09[_0x1288dd(0x1ec)](_0x1288dd(0x1c5))},'message':_0x1288dd(0x1e3)+_0x2eba09[_0x1288dd(0x1ec)](_0x1288dd(0x1c5))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x32d9ee),'manifest':_0x32d9ee[_0x1288dd(0x1c3)],'normalizedManifest':toPublicNormalizedServiceTree(_0x32d9ee[_0x1288dd(0x1d5)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a42_0x275055=a42_0x294f;(function(_0xdfeef3,_0xdd42f7){const _0x293321=a42_0x294f,_0x3362fe=_0xdfeef3();while(!![]){try{const _0x40ad04=-parseInt(_0x293321(0x131))/0x1*(-parseInt(_0x293321(0x132))/0x2)+-parseInt(_0x293321(0x114))/0x3*(-parseInt(_0x293321(0x10f))/0x4)+parseInt(_0x293321(0x14c))/0x5*(parseInt(_0x293321(0x12a))/0x6)+-parseInt(_0x293321(0x142))/0x7*(parseInt(_0x293321(0x115))/0x8)+parseInt(_0x293321(0x11a))/0x9+parseInt(_0x293321(0x145))/0xa*(parseInt(_0x293321(0x110))/0xb)+-parseInt(_0x293321(0x159))/0xc;if(_0x40ad04===_0xdd42f7)break;else _0x3362fe['push'](_0x3362fe['shift']());}catch(_0x4b38aa){_0x3362fe['push'](_0x3362fe['shift']());}}}(a42_0x3c1c,0x961f4));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';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x275055(0x113);function a42_0x294f(_0x5bb6f4,_0x1bfd65){_0x5bb6f4=_0x5bb6f4-0x10a;const _0x3c1cc3=a42_0x3c1c();let _0x294f93=_0x3c1cc3[_0x5bb6f4];return _0x294f93;}export function getServiceRegistryPath(_0x5a66b4={}){const _0x5a9ae6=a42_0x275055;return resolve(_0x5a66b4[_0x5a9ae6(0x129)]??homedir(),PRODUCT_CONFIG[_0x5a9ae6(0x121)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x353d4b={}){const _0x40b81a=a42_0x275055,_0x12b6da=getServiceRegistryPath(_0x353d4b);if(!existsSync(_0x12b6da))return emptyServiceRegistry();try{const _0xbdb2b0=readFileSync(_0x12b6da,'utf8');if(!_0xbdb2b0[_0x40b81a(0x10d)]())return emptyServiceRegistry();const _0x1fb063=JSON[_0x40b81a(0x117)](_0xbdb2b0);if(_0x1fb063[_0x40b81a(0x119)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x40b81a(0x12c)+String(_0x1fb063[_0x40b81a(0x119)]),_0x40b81a(0x116)+_0x12b6da+'.');if(!Array[_0x40b81a(0x12f)](_0x1fb063[_0x40b81a(0x127)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1fb063[_0x40b81a(0x14d)],'services':_0x1fb063[_0x40b81a(0x127)]};}catch(_0x20573a){if(_0x20573a instanceof Error&&_0x20573a[_0x40b81a(0x137)]===_0x40b81a(0x156))throw _0x20573a;throw CliErrors[_0x40b81a(0x134)](_0x40b81a(0x112)+_0x12b6da,_0x40b81a(0x11d));}}export function writeServiceRegistry(_0xd46547,_0x49722a={}){const _0x2d8939=a42_0x275055,_0x130f7d=getServiceRegistryPath(_0x49722a),_0x2d845c=dirname(_0x130f7d);!existsSync(_0x2d845c)&&mkdirSync(_0x2d845c,{'recursive':!![]});const _0x29085e=_0x130f7d+_0x2d8939(0x15e);try{writeFileSync(_0x29085e,JSON[_0x2d8939(0x160)](_0xd46547,null,0x2)+'\x0a',{'encoding':_0x2d8939(0x14a),'mode':0x180}),renameSync(_0x29085e,_0x130f7d);}catch(_0x3710b2){try{unlinkSync(_0x29085e);}catch{}if(_0x3710b2?.[_0x2d8939(0x111)]==='ENOENT')throw CliErrors[_0x2d8939(0x134)](_0x2d8939(0x14b)+_0x130f7d);throw _0x3710b2;}return _0x130f7d;}export function loadServiceManifestFromFile(_0x367910){const _0x235825=a42_0x275055,_0x3053bb=resolve(_0x367910);if(!existsSync(_0x3053bb))throw CliErrors[_0x235825(0x134)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x367910);let _0x30dc03;const _0x425ce9=readFileSync(_0x3053bb,_0x235825(0x14a));try{_0x30dc03=JSON[_0x235825(0x117)](_0x425ce9);}catch{throw CliErrors['validation'](_0x235825(0x150)+_0x367910,_0x235825(0x155));}const _0x3c743d=sha256(_0x425ce9),_0x10f461=extractLoadedServiceManifests(_0x30dc03,_0x3c743d),_0x1f49e5=aggregateValidationReports(_0x10f461),_0x4152c0=_0x10f461[0x0];return{'filePath':_0x3053bb,'hash':_0x3c743d,'kind':isServiceRegistryLike(_0x30dc03)?_0x235825(0x13c):_0x235825(0x15a),'manifest':_0x4152c0?.['manifest']??_0x30dc03,'report':_0x1f49e5,'normalizedManifest':_0x10f461[_0x235825(0x123)]===0x1?_0x4152c0?.[_0x235825(0x126)]:undefined,'manifests':_0x10f461};}export function importServiceManifest(_0x4c7c06,_0x4979d2={}){const _0x68d7d2=a42_0x275055,_0x264339=loadServiceManifestFromFile(_0x4c7c06);if(!_0x264339[_0x68d7d2(0x144)]['ok'])throw CliErrors[_0x68d7d2(0x134)](formatValidationFailure(_0x264339[_0x68d7d2(0x144)]),_0x68d7d2(0x124));if(_0x264339[_0x68d7d2(0x153)][_0x68d7d2(0x123)]===0x0)throw CliErrors[_0x68d7d2(0x134)](_0x68d7d2(0x10e),_0x68d7d2(0x13f));const _0x3511c4=readServiceRegistry(_0x4979d2),_0x54fc41=(_0x4979d2[_0x68d7d2(0x138)]??(()=>new Date()))()[_0x68d7d2(0x15d)](),_0x26b4cc=[];let _0x369f69=0x0,_0x5a8e89=0x0;for(const _0x55e4ef of _0x264339['manifests']){if(!_0x55e4ef['normalizedManifest'])continue;const _0x5d6cc8=_0x55e4ef[_0x68d7d2(0x126)][_0x68d7d2(0x10c)][_0x68d7d2(0x111)],_0x186ac2={'serviceCode':_0x5d6cc8,'version':_0x55e4ef['normalizedManifest'][_0x68d7d2(0x154)],'importedAt':_0x54fc41,'source':{'type':'file','path':_0x264339['filePath'],'hash':_0x55e4ef[_0x68d7d2(0x13a)]},'manifest':_0x55e4ef[_0x68d7d2(0x15a)],'normalizedManifest':_0x55e4ef['normalizedManifest']},_0x37de9c=_0x3511c4[_0x68d7d2(0x127)][_0x68d7d2(0x13d)](_0x1f1b36=>_0x1f1b36[_0x68d7d2(0x157)]===_0x5d6cc8);_0x37de9c>=0x0?(_0x3511c4[_0x68d7d2(0x127)][_0x37de9c]=_0x186ac2,_0x5a8e89++):(_0x3511c4[_0x68d7d2(0x127)][_0x68d7d2(0x118)](_0x186ac2),_0x369f69++),_0x26b4cc[_0x68d7d2(0x118)](_0x186ac2);}_0x3511c4[_0x68d7d2(0x127)][_0x68d7d2(0x14e)]((_0x3cf1b0,_0x3eabdd)=>_0x3cf1b0['serviceCode'][_0x68d7d2(0x12b)](_0x3eabdd[_0x68d7d2(0x157)])),_0x3511c4[_0x68d7d2(0x14d)]=_0x54fc41;const _0x25892a=writeServiceRegistry(_0x3511c4,_0x4979d2);return{'registryPath':_0x25892a,'entry':_0x26b4cc[0x0],'replaced':_0x26b4cc[_0x68d7d2(0x123)]===0x1?_0x5a8e89===0x1:_0x5a8e89>0x0,'entries':_0x26b4cc,'imported':_0x369f69,'updated':_0x5a8e89,'serviceCount':_0x3511c4[_0x68d7d2(0x127)][_0x68d7d2(0x123)]};}export function exportServiceManifest(_0x5eeae2,_0x53a96a,_0x25f165={}){const _0x24873c=a42_0x275055,_0xc28f76=getServiceRegistryPath(_0x25f165),_0x20e29f=getLocalServiceEntry(_0x5eeae2,_0x25f165);if(!_0x20e29f)throw CliErrors[_0x24873c(0x134)](_0x24873c(0x13e)+_0x5eeae2,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x3d783c=resolve(_0x53a96a),_0x30067f=dirname(_0x3d783c);return!existsSync(_0x30067f)&&mkdirSync(_0x30067f,{'recursive':!![]}),writeFileSync(_0x3d783c,JSON['stringify'](_0x20e29f['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0xc28f76,'filePath':_0x3d783c,'entry':_0x20e29f};}export function removeServiceManifest(_0x28998c,_0x442bb6={}){const _0x433614=a42_0x275055,_0x43c5ea=readServiceRegistry(_0x442bb6),_0x67e0f6=_0x28998c[_0x433614(0x10d)](),_0x49a0b2=_0x43c5ea[_0x433614(0x127)]['findIndex'](_0x40a33b=>_0x40a33b[_0x433614(0x157)]===_0x67e0f6);if(_0x49a0b2<0x0)throw CliErrors[_0x433614(0x134)](_0x433614(0x13e)+_0x67e0f6,_0x433614(0x125));const [_0x405dc8]=_0x43c5ea['services'][_0x433614(0x11e)](_0x49a0b2,0x1),_0x2331de=(_0x442bb6[_0x433614(0x138)]??(()=>new Date()))()[_0x433614(0x15d)]();_0x43c5ea['updatedAt']=_0x2331de;const _0x1bc0f0=writeServiceRegistry(_0x43c5ea,_0x442bb6);return{'registryPath':_0x1bc0f0,'entry':_0x405dc8,'serviceCount':_0x43c5ea[_0x433614(0x127)][_0x433614(0x123)]};}export function listLocalServices(_0x31f90c={}){return readServiceRegistry(_0x31f90c)['services'];}export function getLocalServiceEntry(_0xc01b53,_0x4253f3={}){const _0x3072ff=a42_0x275055;return readServiceRegistry(_0x4253f3)['services'][_0x3072ff(0x10a)](_0x5ac65b=>_0x5ac65b[_0x3072ff(0x157)]===_0xc01b53[_0x3072ff(0x10d)]());}export function listLocalServiceTrees(_0x348ec7={}){const _0x3f4dc3=a42_0x275055;return readServiceRegistry(_0x348ec7)[_0x3f4dc3(0x127)][_0x3f4dc3(0x15b)](_0x162593=>_0x162593[_0x3f4dc3(0x126)]);}export function inspectServiceRegistry(_0x30286a={}){const _0x26b1f6=a42_0x275055,_0x39eda5=getServiceRegistryPath(_0x30286a);if(!existsSync(_0x39eda5))return emptyServiceRegistryInspection(_0x39eda5,_0x26b1f6(0x162),![]);try{const _0x159262=readFileSync(_0x39eda5,_0x26b1f6(0x14a));if(!_0x159262[_0x26b1f6(0x10d)]())return emptyServiceRegistryInspection(_0x39eda5,'empty',!![]);const _0x53c0c2=JSON[_0x26b1f6(0x117)](_0x159262);if(_0x53c0c2[_0x26b1f6(0x119)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x39eda5,_0x26b1f6(0x141),!![]),'schemaVersion':_0x53c0c2[_0x26b1f6(0x119)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x53c0c2[_0x26b1f6(0x119)])};if(!Array[_0x26b1f6(0x12f)](_0x53c0c2[_0x26b1f6(0x127)]))return{...emptyServiceRegistryInspection(_0x39eda5,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x53c0c2['updatedAt'],'message':_0x26b1f6(0x15f)};const _0x4e38ff=_0x53c0c2[_0x26b1f6(0x127)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x39eda5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x53c0c2[_0x26b1f6(0x14d)],'serviceCount':_0x4e38ff[_0x26b1f6(0x123)],'commandCount':_0x4e38ff['reduce']((_0x38243a,_0x4062f4)=>_0x38243a+_0x4062f4[_0x26b1f6(0x149)],0x0),'services':_0x4e38ff};}catch(_0x2db286){return{...emptyServiceRegistryInspection(_0x39eda5,_0x26b1f6(0x141),!![]),'message':_0x2db286 instanceof Error?_0x2db286['message']:String(_0x2db286)};}}export function formatValidationFailure(_0x1089f3){const _0x413405=a42_0x275055,_0x5886b7=_0x1089f3[_0x413405(0x158)][_0x413405(0x15b)](_0x1142e9=>_0x1142e9[_0x413405(0x146)]+':\x20'+_0x1142e9[_0x413405(0x12d)]);return _0x413405(0x147)+_0x5886b7[_0x413405(0x133)]('\x0a');}function extractLoadedServiceManifests(_0xcedb4c,_0x33be10){const _0x5f465b=a42_0x275055;if(!isServiceRegistryLike(_0xcedb4c)){const _0x2617fa=_0xcedb4c,{manifest:_0x3a6cfa,errors:_0x55c9f2}=adaptServiceTreeManifestForLegacyFramework(_0x2617fa),_0x19ed23=validateServiceTreeManifest(_0x3a6cfa),_0x3b9592=mergeValidationErrors(_0x19ed23,_0x55c9f2);return[{'manifest':_0x2617fa,'report':_0x3b9592,'normalizedManifest':_0x3b9592['ok']?normalizeServiceTreeManifest(_0x3a6cfa):undefined,'sourceHash':_0x33be10}];}return _0xcedb4c['services'][_0x5f465b(0x15b)]((_0xe847e7,_0x2cbc3b)=>{const _0x27522c=_0x5f465b,_0x17dcb7=isObjectRecord(_0xe847e7)?_0xe847e7[_0x27522c(0x15a)]:undefined,{manifest:_0x46dea3,errors:_0x22de61}=adaptServiceTreeManifestForLegacyFramework(_0x17dcb7),_0x345111=validateServiceTreeManifest(_0x46dea3),_0x54f670=mergeValidationErrors(_0x345111,_0x22de61),_0x1057ad=isObjectRecord(_0xe847e7)&&typeof _0xe847e7[_0x27522c(0x157)]==='string'?_0xe847e7['serviceCode']:undefined;return{'manifest':_0x17dcb7,'report':_0x54f670,'normalizedManifest':_0x54f670['ok']?normalizeServiceTreeManifest(_0x46dea3):undefined,'sourceHash':sha256(JSON[_0x27522c(0x160)](_0x17dcb7,null,0x2)+'\x0a'),'registryIndex':_0x2cbc3b,'registryServiceCode':_0x1057ad};});}function mergeValidationErrors(_0x39bba1,_0x469974){const _0x1ba8fe=a42_0x275055,_0x5db055=_0x39bba1[_0x1ba8fe(0x158)][_0x1ba8fe(0x15b)](_0x48da2f=>_0x48da2f[_0x1ba8fe(0x12d)]===_0x1ba8fe(0x151)?{..._0x48da2f,'message':_0x1ba8fe(0x10b)}:_0x48da2f),_0x28e5f0=[..._0x469974,..._0x5db055];return{'ok':_0x28e5f0['length']===0x0,'errors':_0x28e5f0,'warnings':_0x39bba1[_0x1ba8fe(0x11b)]};}function aggregateValidationReports(_0x15ac55){const _0x6e4e04=a42_0x275055,_0x5bb326=_0x15ac55[_0x6e4e04(0x130)](_0x555d32=>_0x555d32[_0x6e4e04(0x12e)]===undefined?_0x555d32['report'][_0x6e4e04(0x158)]:_0x555d32[_0x6e4e04(0x144)][_0x6e4e04(0x158)][_0x6e4e04(0x15b)](_0xe5e0ed=>({..._0xe5e0ed,'path':prefixRegistryIssuePath(_0x555d32[_0x6e4e04(0x12e)],_0xe5e0ed[_0x6e4e04(0x146)])}))),_0x3b0531=_0x15ac55[_0x6e4e04(0x130)](_0x1a5f4d=>_0x1a5f4d['registryIndex']===undefined?_0x1a5f4d[_0x6e4e04(0x144)][_0x6e4e04(0x11b)]:_0x1a5f4d['report'][_0x6e4e04(0x11b)][_0x6e4e04(0x15b)](_0x3d93bd=>({..._0x3d93bd,'path':prefixRegistryIssuePath(_0x1a5f4d[_0x6e4e04(0x12e)],_0x3d93bd[_0x6e4e04(0x146)])})));return{'ok':_0x5bb326['length']===0x0,'errors':_0x5bb326,'warnings':_0x3b0531};}function prefixRegistryIssuePath(_0x43fa53,_0xa41b68){const _0x56e00d=a42_0x275055;if(_0xa41b68==='$')return _0x56e00d(0x136)+_0x43fa53+_0x56e00d(0x13b);if(_0xa41b68['startsWith']('$.'))return _0x56e00d(0x136)+_0x43fa53+_0x56e00d(0x13b)+_0xa41b68[_0x56e00d(0x143)](0x1);if(_0xa41b68[_0x56e00d(0x128)]('$['))return _0x56e00d(0x136)+_0x43fa53+'].manifest'+_0xa41b68[_0x56e00d(0x143)](0x1);return _0x56e00d(0x136)+_0x43fa53+_0x56e00d(0x122)+_0xa41b68;}function isServiceRegistryLike(_0x5a7e37){const _0x39ed51=a42_0x275055;return isObjectRecord(_0x5a7e37)&&_0x5a7e37[_0x39ed51(0x119)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x39ed51(0x12f)](_0x5a7e37[_0x39ed51(0x127)]);}function isObjectRecord(_0x532953){const _0x31bbbb=a42_0x275055;return Boolean(_0x532953)&&typeof _0x532953==='object'&&!Array[_0x31bbbb(0x12f)](_0x532953);}function emptyServiceRegistryInspection(_0x53563a,_0x52f0f1,_0x4042bc){return{'registryPath':_0x53563a,'exists':_0x4042bc,'status':_0x52f0f1,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x3b89be){const _0x4d1618=a42_0x275055,_0x9e37ac=_0x3b89be[_0x4d1618(0x126)],_0x30e709=_0x9e37ac[_0x4d1618(0x135)][_0x4d1618(0x15b)](_0x414202=>({'path':_0x414202[_0x4d1618(0x140)],'description':_0x414202[_0x4d1618(0x120)],'risk':_0x414202[_0x4d1618(0x152)],'targetKind':_0x414202[_0x4d1618(0x15c)][_0x4d1618(0x161)],'targetCommand':_0x414202[_0x4d1618(0x15c)]['command']}));return{'serviceCode':_0x3b89be[_0x4d1618(0x157)],'name':_0x9e37ac[_0x4d1618(0x10c)][_0x4d1618(0x137)],'description':_0x9e37ac['service'][_0x4d1618(0x120)],'version':_0x3b89be['version'],'importedAt':_0x3b89be[_0x4d1618(0x11f)],'source':_0x3b89be[_0x4d1618(0x11c)],'commandCount':_0x30e709[_0x4d1618(0x123)],'commands':_0x30e709};}function sha256(_0x1b24ac){const _0x30902e=a42_0x275055;return createHash('sha256')[_0x30902e(0x14f)](_0x1b24ac)[_0x30902e(0x148)](_0x30902e(0x139));}function a42_0x3c1c(){const _0x97b101=['errors','14090844cgNxcG','manifest','map','target','toISOString','.tmp','services\x20must\x20be\x20an\x20array','stringify','kind','missing','find','bff\x20target\x20requires\x20functionName.','service','trim','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','50276CfvYlQ','11GQFcIE','code','Invalid\x20service\x20registry\x20JSON:\x20','service.json','87riBnat','4626968kIJgpZ','Remove\x20or\x20migrate\x20','parse','push','schemaVersion','7784685SQrWxG','warnings','source','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','splice','importedAt','description','homeDirName','].manifest.','length','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','normalizedManifest','services','startsWith','homeDir','276zfUcli','localeCompare','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','registryIndex','isArray','flatMap','8eSlYtx','53642vSxCSk','join','validation','commands','$.services[','name','now','hex','sourceHash','].manifest','registry','findIndex','Local\x20service\x20not\x20found:\x20','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','cliPath','invalid','14SkYTQZ','slice','report','6536510OOGbHr','path','Service\x20manifest\x20validation\x20failed:\x0a','digest','commandCount','utf8','Cannot\x20write\x20service\x20registry:\x20','92195sQTuwW','updatedAt','sort','update','Invalid\x20service\x20manifest\x20JSON:\x20','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','risk','manifests','version','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','CliError','serviceCode'];a42_0x3c1c=function(){return _0x97b101;};return a42_0x3c1c();}
|
|
1
|
+
const a42_0x5a7e90=a42_0x2dc4;(function(_0x58d83e,_0xa60bdf){const _0x333e61=a42_0x2dc4,_0x21a7e0=_0x58d83e();while(!![]){try{const _0x47768d=parseInt(_0x333e61(0x22d))/0x1*(-parseInt(_0x333e61(0x22f))/0x2)+parseInt(_0x333e61(0x209))/0x3*(parseInt(_0x333e61(0x20a))/0x4)+-parseInt(_0x333e61(0x228))/0x5+parseInt(_0x333e61(0x1ee))/0x6+-parseInt(_0x333e61(0x21a))/0x7+-parseInt(_0x333e61(0x214))/0x8*(parseInt(_0x333e61(0x1f1))/0x9)+parseInt(_0x333e61(0x20e))/0xa*(parseInt(_0x333e61(0x200))/0xb);if(_0x47768d===_0xa60bdf)break;else _0x21a7e0['push'](_0x21a7e0['shift']());}catch(_0x27586c){_0x21a7e0['push'](_0x21a7e0['shift']());}}}(a42_0x138e,0x27f4d));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';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x5a7e90(0x21b);function a42_0x2dc4(_0x545726,_0x434066){_0x545726=_0x545726-0x1ec;const _0x138eab=a42_0x138e();let _0x2dc453=_0x138eab[_0x545726];return _0x2dc453;}export function getServiceRegistryPath(_0x3fb7f6={}){const _0x1c0dfb=a42_0x5a7e90;return resolve(_0x3fb7f6[_0x1c0dfb(0x1ed)]??homedir(),PRODUCT_CONFIG[_0x1c0dfb(0x1f0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x39645b={}){const _0x2999dd=a42_0x5a7e90,_0x407d15=getServiceRegistryPath(_0x39645b);if(!existsSync(_0x407d15))return emptyServiceRegistry();try{const _0x48a4cd=readFileSync(_0x407d15,_0x2999dd(0x203));if(!_0x48a4cd[_0x2999dd(0x215)]())return emptyServiceRegistry();const _0x12c63a=JSON[_0x2999dd(0x1f2)](_0x48a4cd);if(_0x12c63a[_0x2999dd(0x20c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2999dd(0x225)](_0x2999dd(0x221)+String(_0x12c63a[_0x2999dd(0x20c)]),'Remove\x20or\x20migrate\x20'+_0x407d15+'.');if(!Array[_0x2999dd(0x22b)](_0x12c63a[_0x2999dd(0x22e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x12c63a[_0x2999dd(0x224)],'services':_0x12c63a[_0x2999dd(0x22e)]};}catch(_0x410431){if(_0x410431 instanceof Error&&_0x410431[_0x2999dd(0x204)]===_0x2999dd(0x23b))throw _0x410431;throw CliErrors[_0x2999dd(0x225)](_0x2999dd(0x1f8)+_0x407d15,_0x2999dd(0x233));}}export function writeServiceRegistry(_0x4648c7,_0x22d100={}){const _0x55b99e=a42_0x5a7e90,_0x494928=getServiceRegistryPath(_0x22d100),_0x2c3b7d=dirname(_0x494928);!existsSync(_0x2c3b7d)&&mkdirSync(_0x2c3b7d,{'recursive':!![]});const _0x393d4a=_0x494928+_0x55b99e(0x230);try{writeFileSync(_0x393d4a,JSON['stringify'](_0x4648c7,null,0x2)+'\x0a',{'encoding':_0x55b99e(0x203),'mode':0x180}),renameSync(_0x393d4a,_0x494928);}catch(_0x2354c3){try{unlinkSync(_0x393d4a);}catch{}if(_0x2354c3?.['code']==='ENOENT')throw CliErrors[_0x55b99e(0x225)](_0x55b99e(0x238)+_0x494928);throw _0x2354c3;}return _0x494928;}export function loadServiceManifestFromFile(_0x1fc7fd){const _0x57235b=a42_0x5a7e90,_0x1eb1f6=resolve(_0x1fc7fd);if(!existsSync(_0x1eb1f6))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x1fc7fd);let _0x38f74b;const _0x413018=readFileSync(_0x1eb1f6,_0x57235b(0x203));try{_0x38f74b=JSON[_0x57235b(0x1f2)](_0x413018);}catch{throw CliErrors[_0x57235b(0x225)](_0x57235b(0x222)+_0x1fc7fd,_0x57235b(0x217));}const _0x5da06a=sha256(_0x413018),_0x595651=extractLoadedServiceManifests(_0x38f74b,_0x5da06a),_0x4b5396=aggregateValidationReports(_0x595651),_0x2dd5ff=_0x595651[0x0];return{'filePath':_0x1eb1f6,'hash':_0x5da06a,'kind':isServiceRegistryLike(_0x38f74b)?_0x57235b(0x1f9):_0x57235b(0x1fc),'manifest':_0x2dd5ff?.['manifest']??_0x38f74b,'report':_0x4b5396,'normalizedManifest':_0x595651[_0x57235b(0x1ff)]===0x1?_0x2dd5ff?.['normalizedManifest']:undefined,'manifests':_0x595651};}export function importServiceManifest(_0x444716,_0x37ec90={}){const _0x449a5c=a42_0x5a7e90,_0x2d0829=loadServiceManifestFromFile(_0x444716);if(!_0x2d0829[_0x449a5c(0x1fd)]['ok'])throw CliErrors[_0x449a5c(0x225)](formatValidationFailure(_0x2d0829[_0x449a5c(0x1fd)]),_0x449a5c(0x1f5));if(_0x2d0829[_0x449a5c(0x20b)][_0x449a5c(0x1ff)]===0x0)throw CliErrors[_0x449a5c(0x225)](_0x449a5c(0x1fa),_0x449a5c(0x216));const _0x2ee116=readServiceRegistry(_0x37ec90),_0x595c38=(_0x37ec90[_0x449a5c(0x20d)]??(()=>new Date()))()[_0x449a5c(0x227)](),_0x3784d4=[];let _0x43a092=0x0,_0x375a42=0x0;for(const _0x3058b2 of _0x2d0829[_0x449a5c(0x20b)]){if(!_0x3058b2[_0x449a5c(0x211)])continue;const _0x3c176e=_0x3058b2[_0x449a5c(0x211)][_0x449a5c(0x239)]['code'],_0x26947e={'serviceCode':_0x3c176e,'version':_0x3058b2[_0x449a5c(0x211)]['version'],'importedAt':_0x595c38,'source':{'type':_0x449a5c(0x20f),'path':_0x2d0829[_0x449a5c(0x1f7)],'hash':_0x3058b2[_0x449a5c(0x21f)]},'manifest':_0x3058b2[_0x449a5c(0x1fc)],'normalizedManifest':_0x3058b2[_0x449a5c(0x211)]},_0x535fc6=_0x2ee116['services'][_0x449a5c(0x207)](_0xdc2cc3=>_0xdc2cc3[_0x449a5c(0x206)]===_0x3c176e);_0x535fc6>=0x0?(_0x2ee116[_0x449a5c(0x22e)][_0x535fc6]=_0x26947e,_0x375a42++):(_0x2ee116[_0x449a5c(0x22e)]['push'](_0x26947e),_0x43a092++),_0x3784d4['push'](_0x26947e);}_0x2ee116[_0x449a5c(0x22e)][_0x449a5c(0x235)]((_0x5f07ee,_0x38dd55)=>_0x5f07ee['serviceCode'][_0x449a5c(0x1ec)](_0x38dd55['serviceCode'])),_0x2ee116[_0x449a5c(0x224)]=_0x595c38;const _0x576c00=writeServiceRegistry(_0x2ee116,_0x37ec90);return{'registryPath':_0x576c00,'entry':_0x3784d4[0x0],'replaced':_0x3784d4[_0x449a5c(0x1ff)]===0x1?_0x375a42===0x1:_0x375a42>0x0,'entries':_0x3784d4,'imported':_0x43a092,'updated':_0x375a42,'serviceCount':_0x2ee116[_0x449a5c(0x22e)][_0x449a5c(0x1ff)]};}export function exportServiceManifest(_0x384cbd,_0x475f6a,_0x1e09b6={}){const _0x45989d=a42_0x5a7e90,_0x361a0f=getServiceRegistryPath(_0x1e09b6),_0x3cd263=getLocalServiceEntry(_0x384cbd,_0x1e09b6);if(!_0x3cd263)throw CliErrors['validation'](_0x45989d(0x1f4)+_0x384cbd,_0x45989d(0x231));const _0x584048=resolve(_0x475f6a),_0x40e226=dirname(_0x584048);return!existsSync(_0x40e226)&&mkdirSync(_0x40e226,{'recursive':!![]}),writeFileSync(_0x584048,JSON[_0x45989d(0x23a)](_0x3cd263['manifest'],null,0x2)+'\x0a',{'encoding':_0x45989d(0x203),'mode':0x180}),{'registryPath':_0x361a0f,'filePath':_0x584048,'entry':_0x3cd263};}export function removeServiceManifest(_0x18a2f2,_0xbf92e6={}){const _0x7038ad=a42_0x5a7e90,_0x4d5f61=readServiceRegistry(_0xbf92e6),_0x24d919=_0x18a2f2[_0x7038ad(0x215)](),_0x1c5837=_0x4d5f61[_0x7038ad(0x22e)][_0x7038ad(0x207)](_0x52448d=>_0x52448d['serviceCode']===_0x24d919);if(_0x1c5837<0x0)throw CliErrors[_0x7038ad(0x225)](_0x7038ad(0x1f4)+_0x24d919,_0x7038ad(0x231));const [_0x363b5c]=_0x4d5f61['services']['splice'](_0x1c5837,0x1),_0x2c20b4=(_0xbf92e6[_0x7038ad(0x20d)]??(()=>new Date()))()[_0x7038ad(0x227)]();_0x4d5f61[_0x7038ad(0x224)]=_0x2c20b4;const _0x1c3a32=writeServiceRegistry(_0x4d5f61,_0xbf92e6);return{'registryPath':_0x1c3a32,'entry':_0x363b5c,'serviceCount':_0x4d5f61['services'][_0x7038ad(0x1ff)]};}function a42_0x138e(){const _0x3b1c4=['homeDirName','189YDLVJj','parse','message','Local\x20service\x20not\x20found:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','invalid','filePath','Invalid\x20service\x20registry\x20JSON:\x20','registry','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','join','manifest','report','digest','length','3619418MPnrSr','].manifest','slice','utf8','name','commands','serviceCode','findIndex','command','33921KMeZqC','112uCwmyE','manifests','schemaVersion','now','20KkBUUQ','file','flatMap','normalizedManifest','reduce','map','110176VmAnVH','trim','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','startsWith','$.services[','1117298EHwbVR','service.json','errors','risk','commandCount','sourceHash','Unsupported\x20schemaVersion:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Invalid\x20service\x20manifest\x20JSON:\x20','description','updatedAt','validation','update','toISOString','646585nRnDDj','warnings','target','isArray','].manifest.','89bnlFPm','services','6742mKcpWy','.tmp','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','path','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','sha256','sort','hex','object','Cannot\x20write\x20service\x20registry:\x20','service','stringify','CliError','source','localeCompare','homeDir','402906iVqvyq','registryIndex'];a42_0x138e=function(){return _0x3b1c4;};return a42_0x138e();}export function listLocalServices(_0x11c8e8={}){const _0x44d1a1=a42_0x5a7e90;return readServiceRegistry(_0x11c8e8)[_0x44d1a1(0x22e)];}export function getLocalServiceEntry(_0x3c757c,_0x310d1e={}){const _0x41f5ef=a42_0x5a7e90;return readServiceRegistry(_0x310d1e)[_0x41f5ef(0x22e)]['find'](_0x57b480=>_0x57b480[_0x41f5ef(0x206)]===_0x3c757c[_0x41f5ef(0x215)]());}export function listLocalServiceTrees(_0x27237c={}){const _0x15ef5c=a42_0x5a7e90;return readServiceRegistry(_0x27237c)[_0x15ef5c(0x22e)][_0x15ef5c(0x213)](_0x461552=>_0x461552[_0x15ef5c(0x211)]);}export function inspectServiceRegistry(_0x5c04b5={}){const _0xb12b2b=a42_0x5a7e90,_0x4c3e68=getServiceRegistryPath(_0x5c04b5);if(!existsSync(_0x4c3e68))return emptyServiceRegistryInspection(_0x4c3e68,'missing',![]);try{const _0x358669=readFileSync(_0x4c3e68,_0xb12b2b(0x203));if(!_0x358669[_0xb12b2b(0x215)]())return emptyServiceRegistryInspection(_0x4c3e68,'empty',!![]);const _0x4333e2=JSON[_0xb12b2b(0x1f2)](_0x358669);if(_0x4333e2[_0xb12b2b(0x20c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4c3e68,_0xb12b2b(0x1f6),!![]),'schemaVersion':_0x4333e2[_0xb12b2b(0x20c)],'message':_0xb12b2b(0x220)+String(_0x4333e2['schemaVersion'])};if(!Array[_0xb12b2b(0x22b)](_0x4333e2[_0xb12b2b(0x22e)]))return{...emptyServiceRegistryInspection(_0x4c3e68,_0xb12b2b(0x1f6),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4333e2[_0xb12b2b(0x224)],'message':'services\x20must\x20be\x20an\x20array'};const _0x2bc900=_0x4333e2[_0xb12b2b(0x22e)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x4c3e68,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4333e2[_0xb12b2b(0x224)],'serviceCount':_0x2bc900[_0xb12b2b(0x1ff)],'commandCount':_0x2bc900[_0xb12b2b(0x212)]((_0x39137f,_0x2f464c)=>_0x39137f+_0x2f464c[_0xb12b2b(0x21e)],0x0),'services':_0x2bc900};}catch(_0x3e7f3f){return{...emptyServiceRegistryInspection(_0x4c3e68,'invalid',!![]),'message':_0x3e7f3f instanceof Error?_0x3e7f3f[_0xb12b2b(0x1f3)]:String(_0x3e7f3f)};}}export function formatValidationFailure(_0x5800a8){const _0x57ce66=a42_0x5a7e90,_0x21803a=_0x5800a8[_0x57ce66(0x21c)][_0x57ce66(0x213)](_0x56804c=>_0x56804c[_0x57ce66(0x232)]+':\x20'+_0x56804c[_0x57ce66(0x1f3)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x21803a[_0x57ce66(0x1fb)]('\x0a');}function extractLoadedServiceManifests(_0x40c5c7,_0x4f6dae){const _0x48fca7=a42_0x5a7e90;if(!isServiceRegistryLike(_0x40c5c7)){const _0xf7f013=_0x40c5c7,{manifest:_0x5e2dc5,errors:_0x44a223}=adaptServiceTreeManifestForLegacyFramework(_0xf7f013),_0x5b3ba0=validateServiceTreeManifest(_0x5e2dc5),_0x4efdb5=mergeValidationErrors(_0x5b3ba0,_0x44a223);return[{'manifest':_0xf7f013,'report':_0x4efdb5,'normalizedManifest':_0x4efdb5['ok']?normalizeServiceTreeManifest(_0x5e2dc5):undefined,'sourceHash':_0x4f6dae}];}return _0x40c5c7['services'][_0x48fca7(0x213)]((_0x121940,_0x31620f)=>{const _0x23f837=_0x48fca7,_0x1b3e0c=isObjectRecord(_0x121940)?_0x121940['manifest']:undefined,{manifest:_0x5943d6,errors:_0x4b21d2}=adaptServiceTreeManifestForLegacyFramework(_0x1b3e0c),_0xa07419=validateServiceTreeManifest(_0x5943d6),_0x1078f3=mergeValidationErrors(_0xa07419,_0x4b21d2),_0xfd5f17=isObjectRecord(_0x121940)&&typeof _0x121940[_0x23f837(0x206)]==='string'?_0x121940[_0x23f837(0x206)]:undefined;return{'manifest':_0x1b3e0c,'report':_0x1078f3,'normalizedManifest':_0x1078f3['ok']?normalizeServiceTreeManifest(_0x5943d6):undefined,'sourceHash':sha256(JSON[_0x23f837(0x23a)](_0x1b3e0c,null,0x2)+'\x0a'),'registryIndex':_0x31620f,'registryServiceCode':_0xfd5f17};});}function mergeValidationErrors(_0x1741b5,_0x1a4e15){const _0x2f8b33=a42_0x5a7e90,_0x3aab65=_0x1741b5[_0x2f8b33(0x21c)][_0x2f8b33(0x213)](_0xe15f4a=>_0xe15f4a['message']==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0xe15f4a,'message':'bff\x20target\x20requires\x20functionName.'}:_0xe15f4a),_0x4f2488=[..._0x1a4e15,..._0x3aab65];return{'ok':_0x4f2488[_0x2f8b33(0x1ff)]===0x0,'errors':_0x4f2488,'warnings':_0x1741b5[_0x2f8b33(0x229)]};}function aggregateValidationReports(_0x1fcf76){const _0x1dda09=a42_0x5a7e90,_0x3778d5=_0x1fcf76[_0x1dda09(0x210)](_0x14077f=>_0x14077f[_0x1dda09(0x1ef)]===undefined?_0x14077f[_0x1dda09(0x1fd)][_0x1dda09(0x21c)]:_0x14077f[_0x1dda09(0x1fd)][_0x1dda09(0x21c)][_0x1dda09(0x213)](_0x35b2a1=>({..._0x35b2a1,'path':prefixRegistryIssuePath(_0x14077f[_0x1dda09(0x1ef)],_0x35b2a1[_0x1dda09(0x232)])}))),_0x2785b4=_0x1fcf76[_0x1dda09(0x210)](_0x1e0327=>_0x1e0327[_0x1dda09(0x1ef)]===undefined?_0x1e0327[_0x1dda09(0x1fd)][_0x1dda09(0x229)]:_0x1e0327[_0x1dda09(0x1fd)]['warnings'][_0x1dda09(0x213)](_0x2613ea=>({..._0x2613ea,'path':prefixRegistryIssuePath(_0x1e0327[_0x1dda09(0x1ef)],_0x2613ea[_0x1dda09(0x232)])})));return{'ok':_0x3778d5[_0x1dda09(0x1ff)]===0x0,'errors':_0x3778d5,'warnings':_0x2785b4};}function prefixRegistryIssuePath(_0x4c1751,_0x3d48ee){const _0x1f984f=a42_0x5a7e90;if(_0x3d48ee==='$')return'$.services['+_0x4c1751+_0x1f984f(0x201);if(_0x3d48ee['startsWith']('$.'))return _0x1f984f(0x219)+_0x4c1751+_0x1f984f(0x201)+_0x3d48ee[_0x1f984f(0x202)](0x1);if(_0x3d48ee[_0x1f984f(0x218)]('$['))return _0x1f984f(0x219)+_0x4c1751+_0x1f984f(0x201)+_0x3d48ee['slice'](0x1);return'$.services['+_0x4c1751+_0x1f984f(0x22c)+_0x3d48ee;}function isServiceRegistryLike(_0x1481de){const _0x34cb47=a42_0x5a7e90;return isObjectRecord(_0x1481de)&&_0x1481de[_0x34cb47(0x20c)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x34cb47(0x22b)](_0x1481de['services']);}function isObjectRecord(_0x290aef){const _0x491fdd=a42_0x5a7e90;return Boolean(_0x290aef)&&typeof _0x290aef===_0x491fdd(0x237)&&!Array['isArray'](_0x290aef);}function emptyServiceRegistryInspection(_0x3e96cc,_0x78e200,_0x12edf6){return{'registryPath':_0x3e96cc,'exists':_0x12edf6,'status':_0x78e200,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x619d9c){const _0x20f29e=a42_0x5a7e90,_0x4c116d=_0x619d9c[_0x20f29e(0x211)],_0x14696a=_0x4c116d[_0x20f29e(0x205)][_0x20f29e(0x213)](_0x49e2aa=>({'path':_0x49e2aa['cliPath'],'description':_0x49e2aa[_0x20f29e(0x223)],'risk':_0x49e2aa[_0x20f29e(0x21d)],'targetKind':_0x49e2aa[_0x20f29e(0x22a)]['kind'],'targetCommand':_0x49e2aa[_0x20f29e(0x22a)][_0x20f29e(0x208)]}));return{'serviceCode':_0x619d9c[_0x20f29e(0x206)],'name':_0x4c116d[_0x20f29e(0x239)]['name'],'description':_0x4c116d['service'][_0x20f29e(0x223)],'version':_0x619d9c['version'],'importedAt':_0x619d9c['importedAt'],'source':_0x619d9c[_0x20f29e(0x23c)],'commandCount':_0x14696a[_0x20f29e(0x1ff)],'commands':_0x14696a};}function sha256(_0x572ecb){const _0x46183c=a42_0x5a7e90;return createHash(_0x46183c(0x234))[_0x46183c(0x226)](_0x572ecb)[_0x46183c(0x1fe)](_0x46183c(0x236));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x5456a3=a43_0x1c5a;(function(_0x1af43e,_0x159dcf){const _0x182e4a=a43_0x1c5a,_0x474858=_0x1af43e();while(!![]){try{const _0x5226e7=-parseInt(_0x182e4a(0xe5))/0x1*(parseInt(_0x182e4a(0xd4))/0x2)+parseInt(_0x182e4a(0xd6))/0x3+parseInt(_0x182e4a(0xdc))/0x4*(-parseInt(_0x182e4a(0xd7))/0x5)+parseInt(_0x182e4a(0xe2))/0x6+parseInt(_0x182e4a(0xd8))/0x7+parseInt(_0x182e4a(0xde))/0x8*(-parseInt(_0x182e4a(0xd2))/0x9)+-parseInt(_0x182e4a(0xca))/0xa;if(_0x5226e7===_0x159dcf)break;else _0x474858['push'](_0x474858['shift']());}catch(_0xddff0f){_0x474858['push'](_0x474858['shift']());}}}(a43_0x4fef,0x94807));function a43_0x1c5a(_0x4f464f,_0x39c641){_0x4f464f=_0x4f464f-0xca;const _0x4fef27=a43_0x4fef();let _0x1c5a2b=_0x4fef27[_0x4f464f];return _0x1c5a2b;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x5456a3(0xe1),'command':'create','description':a43_0x5456a3(0xd9),'risk':a43_0x5456a3(0xe8),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x254c6e){const _0x661b33=a43_0x5456a3,_0x44ba01=buildSkillCreatePlan(_0x254c6e[_0x661b33(0xe6)]('name'),_0x254c6e[_0x661b33(0xe6)](_0x661b33(0xd5)),_0x254c6e[_0x661b33(0xe6)](_0x661b33(0xcf)));return{'method':_0x661b33(0xe9),'url':_0x44ba01[_0x661b33(0xdb)],'body':{'skillName':_0x44ba01['rendered']['skillName'],'type':_0x44ba01[_0x661b33(0xe7)][_0x661b33(0xd5)],'selfContained':!![],'files':_0x44ba01[_0x661b33(0xe7)][_0x661b33(0xe3)]['map'](_0x325ae6=>_0x325ae6['path'])},'description':_0x661b33(0xdf)};},async 'execute'(_0x426b7d){const _0x342a9a=a43_0x5456a3,_0x27e2f3=buildSkillCreatePlan(_0x426b7d['str']('name'),_0x426b7d[_0x342a9a(0xe6)]('type'),_0x426b7d[_0x342a9a(0xe6)](_0x342a9a(0xcf)));return writeSkillDraft(_0x27e2f3,_0x426b7d[_0x342a9a(0xe4)](_0x342a9a(0xcb))),{'ok':!![],'data':{'skillName':_0x27e2f3[_0x342a9a(0xe7)]['skillName'],'type':_0x27e2f3[_0x342a9a(0xe7)][_0x342a9a(0xd5)],'dir':_0x27e2f3[_0x342a9a(0xdb)],'files':_0x27e2f3['rendered'][_0x342a9a(0xe3)]['map'](_0x335320=>_0x335320[_0x342a9a(0xd1)])},'message':_0x342a9a(0xcd)+_0x27e2f3[_0x342a9a(0xe7)]['skillName']};}};function a43_0x4fef(){const _0x10df69=['trim','path','35919cUhIRd','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','2szpupM','type','1991283eydVCD','885895eRTcPr','7824383hSpPut','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','isSymbolicLink','skillDir','4oFknQN','validation','1336eNRblB','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isDirectory','skill','6622740EuEUNC','files','bool','1190429kRdFvm','str','rendered','write','WRITE','2429520zpnTAI','force','skillName','Created\x20local\x20Skill\x20draft\x20','content','target'];a43_0x4fef=function(){return _0x10df69;};return a43_0x4fef();}function buildSkillCreatePlan(_0x1df975,_0x322a40,_0x209517){const _0x3345fe=a43_0x5456a3,_0x2e5676=_0x322a40[_0x3345fe(0xd0)](),_0x42f2de=renderSkillTemplate({'skillName':_0x1df975,'type':_0x2e5676});!_0x2e5676&&writeCliSideChannelLine('Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.');const _0x47724f=resolve(normalizeSkillTarget(_0x209517));return{'rendered':_0x42f2de,'targetRoot':_0x47724f,'skillDir':resolve(_0x47724f,_0x42f2de[_0x3345fe(0xcc)])};}function normalizeSkillTarget(_0x4dcec3){return(_0x4dcec3||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x4a5c84,_0x1cbc4f){const _0x402b7f=a43_0x5456a3;if(existsSync(_0x4a5c84['skillDir'])){const _0xe59586=lstatSync(_0x4a5c84[_0x402b7f(0xdb)]);if(!_0xe59586[_0x402b7f(0xe0)]()||_0xe59586[_0x402b7f(0xda)]())throw CliErrors[_0x402b7f(0xdd)](_0x402b7f(0xd3)+_0x4a5c84[_0x402b7f(0xdb)]);if(!_0x1cbc4f)throw CliErrors[_0x402b7f(0xdd)]('Skill\x20directory\x20already\x20exists:\x20'+_0x4a5c84[_0x402b7f(0xdb)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x1e2b99 of _0x4a5c84['rendered'][_0x402b7f(0xe3)]){const _0x420056=resolve(_0x4a5c84['skillDir'],_0x1e2b99[_0x402b7f(0xd1)]),_0x240c74=dirname(_0x420056);mkdirSync(_0x240c74,{'recursive':!![]});if(existsSync(_0x420056)&&lstatSync(_0x420056)[_0x402b7f(0xda)]())throw CliErrors[_0x402b7f(0xdd)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x420056);writeFileSync(_0x420056,_0x1e2b99[_0x402b7f(0xce)],'utf8');}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x436a38=a44_0x3fc0;(function(_0x44d100,_0xb31a8b){const _0x3faafe=a44_0x3fc0,_0xa43a5d=_0x44d100();while(!![]){try{const _0x51a080=parseInt(_0x3faafe(0x84))/0x1*(-parseInt(_0x3faafe(0x8b))/0x2)+-parseInt(_0x3faafe(0x95))/0x3*(parseInt(_0x3faafe(0x8c))/0x4)+parseInt(_0x3faafe(0x96))/0x5+parseInt(_0x3faafe(0x85))/0x6+-parseInt(_0x3faafe(0x92))/0x7*(parseInt(_0x3faafe(0x78))/0x8)+-parseInt(_0x3faafe(0x73))/0x9+parseInt(_0x3faafe(0x6f))/0xa*(parseInt(_0x3faafe(0x74))/0xb);if(_0x51a080===_0xb31a8b)break;else _0xa43a5d['push'](_0xa43a5d['shift']());}catch(_0xc8ce39){_0xa43a5d['push'](_0xa43a5d['shift']());}}}(a44_0x41f7,0xadb94));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a44_0x436a38(0x8f),'command':a44_0x436a38(0x6c),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a44_0x436a38(0x7f),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x2ff357){return syncRuntimeSkills(_0x2ff357);}};function a44_0x3fc0(_0x8be62f,_0x5bc05d){_0x8be62f=_0x8be62f-0x6c;const _0x41f776=a44_0x41f7();let _0x3fc021=_0x41f776[_0x8be62f];return _0x3fc021;}async function syncRuntimeSkills(_0x43ef6d){const _0x3387ed=a44_0x436a38,{downloadRuntimeSkillPackage:_0x536055,listRuntimeSkills:_0x905ffe}=await import(_0x3387ed(0x8e)),{linkEffectiveRuntimeSkills:_0x2e41de,materializeRuntimeSkill:_0x595325,pruneStaleRuntimeSkillCache:_0x4d5356,pruneStaleRuntimeSkillLinks:_0x18f524,resolveRuntimeSkillInstallTarget:_0xeb1c1c}=await import(_0x3387ed(0x75)),_0xecf2f2=_0x43ef6d[_0x3387ed(0x7b)]('code'),_0x49a807=normalizeSyncScopes(_0x43ef6d['str']('scope')),_0x3e0cf5=_0x43ef6d['envName']??_0x3387ed(0x86),_0x2bc954=_0x43ef6d[_0x3387ed(0x76)],_0x5c5f77=_0x43ef6d[_0x3387ed(0x6e)](_0x3387ed(0x88));if(!_0x2bc954)throw CliErrors['authRequired']('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x3769ac=_0xeb1c1c(_0x43ef6d[_0x3387ed(0x70)],_0x43ef6d['bool'](_0x3387ed(0x72))?_0x3387ed(0x72):'global'),_0x5b6971=_0xeb1c1c(_0x43ef6d[_0x3387ed(0x70)],_0x3769ac[_0x3387ed(0x90)]===_0x3387ed(0x72)?_0x3387ed(0x8a):_0x3387ed(0x72)),_0x4b1eb5=await Promise[_0x3387ed(0x7d)](_0x49a807[_0x3387ed(0x80)](_0x4dd266=>_0x905ffe({'appCode':_0x43ef6d[_0x3387ed(0x70)],'scope':_0x4dd266,'code':_0xecf2f2[_0x3387ed(0x97)]()||undefined}))),_0x59ebde=_0x49a807[_0x3387ed(0x87)](_0x3387ed(0x82))?_0x4b1eb5[_0x3387ed(0x89)]((_0x483b81,_0x488471)=>_0x49a807[_0x488471]==='personal'?_0x483b81[_0x3387ed(0x82)]:[]):[],_0x1dda66=_0x49a807[_0x3387ed(0x87)](_0x3387ed(0x93))?_0x4b1eb5[_0x3387ed(0x89)]((_0x532baa,_0x56a505)=>_0x49a807[_0x56a505]===_0x3387ed(0x93)?_0x532baa[_0x3387ed(0x93)]:[]):[],_0x2387ee=new Set([..._0x59ebde[_0x3387ed(0x80)](_0x2ad499=>_0x2ad499[_0x3387ed(0x8d)]?.[_0x3387ed(0x97)]())[_0x3387ed(0x91)](_0x1d7340=>Boolean(_0x1d7340)),..._0x1dda66[_0x3387ed(0x80)](_0x28f2e1=>_0x28f2e1['skillCode']?.['trim']())[_0x3387ed(0x91)](_0xaab406=>Boolean(_0xaab406))]),_0x2d3b51=_0xecf2f2[_0x3387ed(0x97)]()?[_0xecf2f2['trim']()]:undefined,_0x136242=_0x49a807[_0x3387ed(0x79)]===0x2&&_0x49a807[_0x3387ed(0x87)]('personal')&&_0x49a807[_0x3387ed(0x87)]('company'),_0xd7dcea=_0x136242?_0x18f524(_0x3769ac,_0x2387ee,_0x2d3b51):[],_0x40108f=_0x4d5356({'env':_0x3e0cf5,'accessKey':_0x2bc954,'appCode':_0x43ef6d['appCode'],'activeSkillCodes':_0x2387ee,'pruneSkillCodes':_0x2d3b51,'scopes':_0x49a807,'protectedLinkRoots':_0x5b6971[_0x3387ed(0x71)]}),_0x42e901=[];for(const _0x2352a8 of _0x59ebde){_0x42e901[_0x3387ed(0x7e)](_0x595325(_0x2352a8,_0x3387ed(0x82),{'env':_0x3e0cf5,'accessKey':_0x2bc954,'appCode':_0x43ef6d[_0x3387ed(0x70)],'force':_0x5c5f77,'packageBytes':await downloadSkillPackage(_0x2352a8,'personal',_0x43ef6d['appCode'],_0x536055)}));}for(const _0x1757c2 of _0x1dda66){_0x42e901[_0x3387ed(0x7e)](_0x595325(_0x1757c2,_0x3387ed(0x93),{'env':_0x3e0cf5,'accessKey':_0x2bc954,'appCode':_0x43ef6d[_0x3387ed(0x70)],'force':_0x5c5f77,'packageBytes':await downloadSkillPackage(_0x1757c2,_0x3387ed(0x93),_0x43ef6d[_0x3387ed(0x70)],_0x536055)}));}const _0x441f91=_0x2e41de(_0x42e901,_0x3769ac),_0x4451b3=countLinkActions(_0x441f91);return{'ok':!![],'data':{'appCode':_0x43ef6d[_0x3387ed(0x70)],..._0x3769ac[_0x3387ed(0x90)]===_0x3387ed(0x72)?{'installTarget':{'scope':_0x3769ac[_0x3387ed(0x90)],'skillRoots':[..._0x3769ac[_0x3387ed(0x71)]]}}:{},'personal':_0x59ebde[_0x3387ed(0x79)],'company':_0x1dda66['length'],'materialized':_0x42e901[_0x3387ed(0x79)],'links':{'total':_0x441f91[_0x3387ed(0x79)],'created':_0x4451b3[_0x3387ed(0x6d)]??0x0,'updated':_0x4451b3[_0x3387ed(0x94)]??0x0,'unchanged':_0x4451b3[_0x3387ed(0x83)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xd7dcea[_0x3387ed(0x91)](_0x184fe4=>_0x184fe4[_0x3387ed(0x98)]===_0x3387ed(0x77))[_0x3387ed(0x79)],'cacheDirs':_0x40108f['filter'](_0x49dd15=>_0x49dd15['action']===_0x3387ed(0x77))[_0x3387ed(0x79)],'skipped':[..._0xd7dcea,..._0x40108f][_0x3387ed(0x91)](_0x270b56=>_0x270b56[_0x3387ed(0x98)]===_0x3387ed(0x7c))[_0x3387ed(0x79)]},'skills':{'personal':_0x59ebde[_0x3387ed(0x80)](summarizeRuntimeSkill),'company':_0x1dda66[_0x3387ed(0x80)](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x59ebde[_0x3387ed(0x79)]+_0x3387ed(0x81)+_0x1dda66[_0x3387ed(0x79)]+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x279753,_0x4a819a,_0x23f42a,_0x5d6db1){const _0x138199=a44_0x436a38,_0x1f8a19=_0x279753[_0x138199(0x7a)]?.['trim']();return _0x1f8a19?_0x5d6db1(_0x4a819a,_0x279753[_0x138199(0x8d)],_0x23f42a,_0x1f8a19):_0x5d6db1(_0x4a819a,_0x279753[_0x138199(0x8d)],_0x23f42a);}function a44_0x41f7(){const _0x1f13ce=['6339230wYdqlh','trim','action','install','created','bool','5350gYexdT','appCode','skillRoots','project','2635281AXXKLh','28633BgkJvs','../../../skills/runtime-skill-sync.js','accessKey','removed','7797816ayelCu','length','version','str','skipped','all','push','write','map','\x20personal\x20and\x20','personal','unchanged','1271317BqQkLJ','7946760HjBuMb','production','includes','force','flatMap','global','2iimKEX','8dGXKht','skillCode','../../../core/api-client.js','skill','scope','filter','7GFSIFp','company','updated','1101729ruboQi'];a44_0x41f7=function(){return _0x1f13ce;};return a44_0x41f7();}function countLinkActions(_0x2bb88f){return _0x2bb88f['reduce']((_0x27ed27,_0x2a7509)=>{const _0x3fc11e=a44_0x3fc0;return _0x27ed27[_0x2a7509[_0x3fc11e(0x98)]]=(_0x27ed27[_0x2a7509[_0x3fc11e(0x98)]]??0x0)+0x1,_0x27ed27;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a45_0x39ae6c=a45_0x23f3;(function(_0x5a3022,_0x17e566){const _0x4c83f8=a45_0x23f3,_0x5d4810=_0x5a3022();while(!![]){try{const _0x54c476=-parseInt(_0x4c83f8(0x19e))/0x1*(parseInt(_0x4c83f8(0x192))/0x2)+parseInt(_0x4c83f8(0x188))/0x3+parseInt(_0x4c83f8(0x19f))/0x4+-parseInt(_0x4c83f8(0x195))/0x5+-parseInt(_0x4c83f8(0x19d))/0x6+parseInt(_0x4c83f8(0x18c))/0x7+-parseInt(_0x4c83f8(0x19a))/0x8;if(_0x54c476===_0x17e566)break;else _0x5d4810['push'](_0x5d4810['shift']());}catch(_0x3b6fdb){_0x5d4810['push'](_0x5d4810['shift']());}}}(a45_0x8d79,0x69b5f));import{CliErrors}from'../../../errors.js';function a45_0x23f3(_0x2d8b7f,_0x2e2e17){_0x2d8b7f=_0x2d8b7f-0x188;const _0x8d79d0=a45_0x8d79();let _0x23f3dc=_0x8d79d0[_0x2d8b7f];return _0x23f3dc;}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a45_0x8d79(){const _0x42828c=['remote','map','company','1515507ecVaRn','global','accessKey','filter','1638441dMTPwy','production','bool','read','personal','scope','6qTQRwI','Listed\x20','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','776110PfomvY','trim','appCode','length','str','774952DwDStU','project','code','627180oQUpVe','63682xwheEt','965704RtZHOX'];a45_0x8d79=function(){return _0x42828c;};return a45_0x8d79();}export const listCommand={'service':'skill','command':'list','description':a45_0x39ae6c(0x194),'risk':a45_0x39ae6c(0x18f),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x277d7a){const _0x5e2b19=a45_0x39ae6c,_0x1fadb9=_0x277d7a[_0x5e2b19(0x199)](_0x5e2b19(0x19c)),_0x13abe9=normalizeListScope(_0x277d7a[_0x5e2b19(0x199)](_0x5e2b19(0x191)));if(_0x277d7a[_0x5e2b19(0x18e)]('local')){const _0xb00011=_0x277d7a[_0x5e2b19(0x18a)];if(!_0xb00011)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x55db0a,resolveRuntimeSkillInstallTarget:_0x348058}=await import('../../../skills/runtime-skill-sync.js'),_0x3ce94b=_0x348058(_0x277d7a['appCode'],_0x277d7a[_0x5e2b19(0x18e)](_0x5e2b19(0x19b))?_0x5e2b19(0x19b):_0x5e2b19(0x189)),_0x2006ff=_0x55db0a({'env':_0x277d7a['envName']??_0x5e2b19(0x18d),'accessKey':_0xb00011,'appCode':_0x277d7a[_0x5e2b19(0x197)],'scopes':listScopeToRuntimeScopes(_0x13abe9),'code':_0x1fadb9[_0x5e2b19(0x196)]()||undefined},_0x3ce94b),_0x56601a=groupLocalRuntimeSkills(_0x2006ff);return{'ok':!![],'data':{'appCode':_0x277d7a[_0x5e2b19(0x197)],'source':'local',..._0x3ce94b['scope']==='project'?{'installScope':_0x3ce94b[_0x5e2b19(0x191)]}:{},'scope':_0x13abe9,'total':_0x2006ff[_0x5e2b19(0x198)],'personal':_0x56601a[_0x5e2b19(0x190)][_0x5e2b19(0x198)],'company':_0x56601a['company']['length'],'items':_0x2006ff[_0x5e2b19(0x1a1)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x56601a[_0x5e2b19(0x190)][_0x5e2b19(0x1a1)](summarizeLocalRuntimeSkill),'company':_0x56601a['company'][_0x5e2b19(0x1a1)](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x2006ff['length']+'\x20local\x20Skill(s).'};}const {listRuntimeSkills:_0x169bc2}=await import('../../../core/api-client.js'),_0x24b359=await _0x169bc2({'appCode':_0x277d7a[_0x5e2b19(0x197)],'scope':listScopeToRemoteScope(_0x13abe9),'code':_0x1fadb9[_0x5e2b19(0x196)]()||undefined}),_0x1fabca=shouldListScope(_0x13abe9,_0x5e2b19(0x190))?_0x24b359[_0x5e2b19(0x190)]??[]:[],_0x5aef90=shouldListScope(_0x13abe9,_0x5e2b19(0x1a2))?_0x24b359[_0x5e2b19(0x1a2)]??[]:[],_0x3274f8=[..._0x1fabca,..._0x5aef90];return{'ok':!![],'data':{'appCode':_0x277d7a['appCode'],'source':_0x5e2b19(0x1a0),'scope':_0x13abe9,'total':_0x3274f8[_0x5e2b19(0x198)],'personal':_0x1fabca['length'],'company':_0x5aef90['length'],'items':_0x3274f8['map'](summarizeRuntimeSkill),'skills':{'personal':_0x1fabca[_0x5e2b19(0x1a1)](summarizeRuntimeSkill),'company':_0x5aef90[_0x5e2b19(0x1a1)](summarizeRuntimeSkill)}},'message':_0x5e2b19(0x193)+_0x3274f8[_0x5e2b19(0x198)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x20d891){const _0x5c07da=a45_0x39ae6c;return{'personal':_0x20d891[_0x5c07da(0x18b)](_0x9312e9=>_0x9312e9[_0x5c07da(0x191)]===_0x5c07da(0x190)),'company':_0x20d891[_0x5c07da(0x18b)](_0x2972f7=>_0x2972f7[_0x5c07da(0x191)]===_0x5c07da(0x1a2)),'builtin':_0x20d891[_0x5c07da(0x18b)](_0x4670f0=>_0x4670f0[_0x5c07da(0x191)]==='builtin')};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a46_0xbea811=a46_0x256e;function a46_0x4c30(){const _0x2146c8=['1586890srYjZa','383252KOnsBT','push','837743BCrRSN','3182680yEszPf','258568avJwda','549594ZrSMHq','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','skill','15cOkCSf','18ULoZqN','790310XvChRA','133xnHimT','write'];a46_0x4c30=function(){return _0x2146c8;};return a46_0x4c30();}function a46_0x256e(_0x5df06a,_0x2b54b5){_0x5df06a=_0x5df06a-0x16b;const _0x4c305a=a46_0x4c30();let _0x256e5b=_0x4c305a[_0x5df06a];return _0x256e5b;}(function(_0x385503,_0x3d476e){const _0x3f326b=a46_0x256e,_0x57eb79=_0x385503();while(!![]){try{const _0x2f32c7=parseInt(_0x3f326b(0x176))/0x1+-parseInt(_0x3f326b(0x173))/0x2+parseInt(_0x3f326b(0x16e))/0x3*(parseInt(_0x3f326b(0x174))/0x4)+-parseInt(_0x3f326b(0x177))/0x5+parseInt(_0x3f326b(0x16b))/0x6+parseInt(_0x3f326b(0x171))/0x7*(parseInt(_0x3f326b(0x178))/0x8)+parseInt(_0x3f326b(0x16f))/0x9*(-parseInt(_0x3f326b(0x170))/0xa);if(_0x2f32c7===_0x3d476e)break;else _0x57eb79['push'](_0x57eb79['shift']());}catch(_0xd882af){_0x57eb79['push'](_0x57eb79['shift']());}}}(a46_0x4c30,0x6a11f));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a46_0xbea811(0x16d),'command':a46_0xbea811(0x175),'description':a46_0xbea811(0x16c),'risk':a46_0xbea811(0x172),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x4fa032=a47_0x4290;(function(_0x2d18cb,_0x2a9a3c){const _0x36fbb6=a47_0x4290,_0x4c143c=_0x2d18cb();while(!![]){try{const _0xaa06f1=parseInt(_0x36fbb6(0x17a))/0x1+-parseInt(_0x36fbb6(0x169))/0x2+parseInt(_0x36fbb6(0x16a))/0x3+parseInt(_0x36fbb6(0x173))/0x4*(parseInt(_0x36fbb6(0x16e))/0x5)+parseInt(_0x36fbb6(0x170))/0x6+parseInt(_0x36fbb6(0x16f))/0x7+-parseInt(_0x36fbb6(0x16b))/0x8;if(_0xaa06f1===_0x2a9a3c)break;else _0x4c143c['push'](_0x4c143c['shift']());}catch(_0x50368b){_0x4c143c['push'](_0x4c143c['shift']());}}}(a47_0x4464,0xef911));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x4290(_0x30d647,_0x336251){_0x30d647=_0x30d647-0x169;const _0x4464f6=a47_0x4464();let _0x42909c=_0x4464f6[_0x30d647];return _0x42909c;}function a47_0x4464(){const _0x445d23=['errors','dir','5245BWtqBu','3374812oPJwec','1802742dGPOsN','skill','type','3044QFDpYZ','read','Skill\x20validation\x20passed.','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','validate','warnings','bool','1351817hCQQiE','str','2871928tcJmov','1511103mGGXOJ','8153208LcgQoz'];a47_0x4464=function(){return _0x445d23;};return a47_0x4464();}export const validateCommand={'service':a47_0x4fa032(0x171),'command':a47_0x4fa032(0x177),'description':a47_0x4fa032(0x176),'risk':a47_0x4fa032(0x174),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x169e72){const _0x40ecf8=a47_0x4fa032,_0x3756ef=_0x169e72[_0x40ecf8(0x179)]('strict'),_0x87f512=validateSkillDirectory(_0x169e72[_0x40ecf8(0x17b)](_0x40ecf8(0x16d)),{'strict':_0x3756ef});return throwIfSkillValidationFailed(_0x87f512,_0x3756ef),{'ok':!![],'data':{'dir':_0x87f512[_0x40ecf8(0x16d)],'type':_0x87f512[_0x40ecf8(0x172)],'errors':_0x87f512[_0x40ecf8(0x16c)],'warnings':_0x87f512[_0x40ecf8(0x178)]},'message':_0x40ecf8(0x175)};}};
|
|
@@ -9,5 +9,6 @@ export declare const CREATE_NAME_FLAG: FlagDef;
|
|
|
9
9
|
export declare const TYPE_FLAG: FlagDef;
|
|
10
10
|
export declare const TARGET_FLAG: FlagDef;
|
|
11
11
|
export declare const FORCE_FLAG: FlagDef;
|
|
12
|
+
export declare const PROJECT_TARGET_FLAG: FlagDef;
|
|
12
13
|
export declare const CONFIRM_WARNINGS_FLAG: FlagDef;
|
|
13
14
|
export declare const STRICT_FLAG: FlagDef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x1b5d71=a48_0x5ad1;(function(_0x23f183,_0x5d7ea8){const _0x58923c=a48_0x5ad1,_0x5d1ab1=_0x23f183();while(!![]){try{const _0x4d98d5=parseInt(_0x58923c(0x192))/0x1+parseInt(_0x58923c(0x17b))/0x2*(parseInt(_0x58923c(0x193))/0x3)+-parseInt(_0x58923c(0x189))/0x4+parseInt(_0x58923c(0x19b))/0x5+parseInt(_0x58923c(0x19c))/0x6*(parseInt(_0x58923c(0x195))/0x7)+parseInt(_0x58923c(0x17c))/0x8*(parseInt(_0x58923c(0x187))/0x9)+-parseInt(_0x58923c(0x199))/0xa*(parseInt(_0x58923c(0x184))/0xb);if(_0x4d98d5===_0x5d7ea8)break;else _0x5d1ab1['push'](_0x5d1ab1['shift']());}catch(_0x369ad7){_0x5d1ab1['push'](_0x5d1ab1['shift']());}}}(a48_0xde20,0x61a6f));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x1b5d71(0x197),'type':'string','description':a48_0x1b5d71(0x17e)};export const SCOPE_FLAG={'name':a48_0x1b5d71(0x18c),'type':'string','description':'Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','enum':[a48_0x1b5d71(0x186),a48_0x1b5d71(0x18a),a48_0x1b5d71(0x17f)]};export const PUSH_SCOPE_FLAG={'name':a48_0x1b5d71(0x18c),'type':a48_0x1b5d71(0x190),'description':'Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','default':'personal','enum':[a48_0x1b5d71(0x18a),a48_0x1b5d71(0x17f)]};export const LIST_SCOPE_FLAG={'name':a48_0x1b5d71(0x18c),'type':'string','description':'Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','enum':[a48_0x1b5d71(0x186),a48_0x1b5d71(0x18a),a48_0x1b5d71(0x17f)]};export const LOCAL_FLAG={'name':a48_0x1b5d71(0x183),'type':a48_0x1b5d71(0x194),'description':a48_0x1b5d71(0x191)};export const DIR_FLAG={'name':a48_0x1b5d71(0x196),'type':a48_0x1b5d71(0x190),'required':!![],'description':a48_0x1b5d71(0x18b)};export const CREATE_NAME_FLAG={'name':a48_0x1b5d71(0x180),'type':'string','required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x1b5d71(0x17d)}};function a48_0x5ad1(_0x2f0d30,_0x37ebbb){_0x2f0d30=_0x2f0d30-0x17a;const _0xde20e6=a48_0xde20();let _0x5ad156=_0xde20e6[_0x2f0d30];return _0x5ad156;}export const TYPE_FLAG={'name':a48_0x1b5d71(0x198),'type':a48_0x1b5d71(0x190),'description':a48_0x1b5d71(0x18f),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x1b5d71(0x182),'type':a48_0x1b5d71(0x190),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x1b5d71(0x17a),'type':a48_0x1b5d71(0x194),'description':a48_0x1b5d71(0x185)};function a48_0xde20(){const _0x221732=['string','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','155518gCKtpp','453741UipnUX','boolean','7WrHDKw','dir','code','type','2275470hBuwET','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','240325oGXSwX','1574058HWXGQv','force','6YkQZln','8040CrvOxr','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','company','name','confirm-warnings','target','local','33QgdwAf','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','all','3177NXTvJm','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','767232eBGJkk','personal','Local\x20Skill\x20directory\x20containing\x20SKILL.md','scope','project','strict','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)'];a48_0xde20=function(){return _0x221732;};return a48_0xde20();}export const PROJECT_TARGET_FLAG={'name':a48_0x1b5d71(0x18d),'type':a48_0x1b5d71(0x194),'description':a48_0x1b5d71(0x188)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x1b5d71(0x181),'type':'boolean','description':'Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings'};export const STRICT_FLAG={'name':a48_0x1b5d71(0x18e),'type':a48_0x1b5d71(0x194),'description':a48_0x1b5d71(0x19a)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x251be8,_0x3161fd){const _0x1f1c13=a49_0x2be1,_0x49d7d9=_0x251be8();while(!![]){try{const _0x2d2eeb=parseInt(_0x1f1c13(0x6c))/0x1+-parseInt(_0x1f1c13(0x6f))/0x2*(parseInt(_0x1f1c13(0x6e))/0x3)+-parseInt(_0x1f1c13(0x6d))/0x4+-parseInt(_0x1f1c13(0x67))/0x5*(parseInt(_0x1f1c13(0x6b))/0x6)+-parseInt(_0x1f1c13(0x64))/0x7*(parseInt(_0x1f1c13(0x69))/0x8)+parseInt(_0x1f1c13(0x6a))/0x9*(parseInt(_0x1f1c13(0x66))/0xa)+-parseInt(_0x1f1c13(0x65))/0xb*(-parseInt(_0x1f1c13(0x68))/0xc);if(_0x2d2eeb===_0x3161fd)break;else _0x49d7d9['push'](_0x49d7d9['shift']());}catch(_0x5a699b){_0x49d7d9['push'](_0x49d7d9['shift']());}}}(a49_0x48f0,0x8d23c));import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';function a49_0x48f0(){const _0x3ce8f8=['30pxfrhS','529630jSxfVm','18890100fkXsno','51848WNfFNZ','394803xiklNP','36wIDDdJ','809269bKhlmO','550920kfrBzb','87627hUnrSj','14DdiqpF','1036OhvFmz','11mBogcK'];a49_0x48f0=function(){return _0x3ce8f8;};return a49_0x48f0();}function a49_0x2be1(_0x136be9,_0x48d619){_0x136be9=_0x136be9-0x64;const _0x48f0da=a49_0x48f0();let _0x2be108=_0x48f0da[_0x136be9];return _0x2be108;}import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x314ea0,_0x5f5439){var _0x1a568f=a50_0x4242,_0x164ca6=_0x314ea0();while(!![]){try{var _0x406c75=parseInt(_0x1a568f(0xd6))/0x1*(parseInt(_0x1a568f(0xca))/0x2)+-parseInt(_0x1a568f(0xc7))/0x3+-parseInt(_0x1a568f(0xd1))/0x4*(-parseInt(_0x1a568f(0xd0))/0x5)+parseInt(_0x1a568f(0xcd))/0x6*(parseInt(_0x1a568f(0xc5))/0x7)+-parseInt(_0x1a568f(0xcc))/0x8+-parseInt(_0x1a568f(0xd3))/0x9*(-parseInt(_0x1a568f(0xce))/0xa)+-parseInt(_0x1a568f(0xd4))/0xb;if(_0x406c75===_0x5f5439)break;else _0x164ca6['push'](_0x164ca6['shift']());}catch(_0x11b182){_0x164ca6['push'](_0x164ca6['shift']());}}}(a50_0x470a,0x37655));export function isPackageBackedManifest(_0x57c6b0){var _0x2d7811=a50_0x4242;return!!_0x57c6b0&&typeof _0x57c6b0===_0x2d7811(0xcb)&&!Array[_0x2d7811(0xd5)](_0x57c6b0)&&typeof _0x57c6b0['ossPath']===_0x2d7811(0xc6)&&_0x57c6b0[_0x2d7811(0xcf)][_0x2d7811(0xd2)]>0x0&&Array[_0x2d7811(0xd5)](_0x57c6b0['files']);}export function isMultiFileManifest(_0x57a95f){var _0x1d04a3=a50_0x4242;return!!_0x57a95f&&typeof _0x57a95f==='object'&&!Array['isArray'](_0x57a95f)&&Array[_0x1d04a3(0xd5)](_0x57a95f[_0x1d04a3(0xc9)])&&_0x57a95f[_0x1d04a3(0xc9)]['some'](_0x197c69=>_0x197c69['path']!==_0x1d04a3(0xc8));}function a50_0x4242(_0x44de7c,_0x4944e9){_0x44de7c=_0x44de7c-0xc5;var _0x470a5d=a50_0x470a();var _0x424284=_0x470a5d[_0x44de7c];return _0x424284;}function a50_0x470a(){var _0x1fbc7d=['212922UbVhtD','2683560VCvApX','isArray','1930ZrfTFe','20594xTcgYe','string','542481YVQMSJ','SKILL.md','files','326GTLhAg','object','2515048kwyGBQ','372bnrhgZ','30ZfkKBD','ossPath','1990505VPUCpR','4PFntZS','length'];a50_0x470a=function(){return _0x1fbc7d;};return a50_0x470a();}
|