@lovrabet/lovrabet-cli 2.1.18 → 2.1.19
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(_0x45adab,_0x2b5115){const _0x18e583=a39_0x5b2b,_0x579e4d=_0x45adab();while(!![]){try{const _0x50a6fd=parseInt(_0x18e583(0xe0))/0x1*(parseInt(_0x18e583(0x112))/0x2)+-parseInt(_0x18e583(0xd4))/0x3+parseInt(_0x18e583(0xfd))/0x4*(parseInt(_0x18e583(0xe5))/0x5)+parseInt(_0x18e583(0xd0))/0x6+-parseInt(_0x18e583(0xd6))/0x7+-parseInt(_0x18e583(0xed))/0x8+-parseInt(_0x18e583(0xc3))/0x9;if(_0x50a6fd===_0x2b5115)break;else _0x579e4d['push'](_0x579e4d['shift']());}catch(_0x3e0cab){_0x579e4d['push'](_0x579e4d['shift']());}}}(a39_0x29f6,0x5da8a));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a39_0x29f6(){const _0x232c33=['now','kind','slice','cliName','code','Commands:','userId','datasetCode','service','source','nickName','type','const','length','rawFlags','1836999WuYfMv','mapTo','appBindings','appCode','data','operator','number','\x20requires\x20target.sqlCode.','required','tableName','Use\x20`','args','name','3167886kMqMaT','push','filter','\x20\x20\x20\x20command:\x20','387801ggMNjY','join','713433INhPry','sql','appcode','default','risk','tenantCode','string','some','remainingArgs','employeeId','754rzteXI','envName','Service\x20command\x20','json','read','25ZDAQdA','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','loginName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','username','validation','Cannot\x20resolve\x20datatable\x20\x22','context.','3155272OJfIcr','scriptName','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','startsWith','env','\x20\x20\x20\x20datatable:\x20','commands','find','\x20\x20\x20\x20datasetCode:\x20','Preview\x20dynamic\x20service\x20command:\x20','appRef','bffId','params','\x20requires\x20target.functionName.','entries','bff','162836iZxVzB','fromEntries','padEnd','target','app','flatMap','tree','cliPath','map','sqlCode','bffCode','\x20<command>\x20[flags]','fullPath','trim','enum','normalizedManifest','userName','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','description','datatable','\x20completed\x20in\x20','1278wRVYNs','\x20\x20\x20\x20functionName:\x20','command'];a39_0x29f6=function(){return _0x232c33;};return a39_0x29f6();}import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';function a39_0x5b2b(_0xd7a85f,_0x308da4){_0xd7a85f=_0xd7a85f-0xbd;const _0x29f6e4=a39_0x29f6();let _0x5b2b60=_0x29f6e4[_0xd7a85f];return _0x5b2b60;}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x118185,_0x2bca22){const _0x54ca1c=a39_0x5b2b,_0x55022f=listLocalServiceTrees();let _0x1c2bd1;for(const _0x623cac of _0x55022f){const _0x466700=matchServiceTreeCommand(_0x623cac,_0x118185);if(!_0x466700)continue;(!_0x1c2bd1||_0x466700[_0x54ca1c(0x114)][_0x54ca1c(0x109)][_0x54ca1c(0xc1)]>_0x1c2bd1[_0x54ca1c(0x114)][_0x54ca1c(0x109)]['length'])&&(_0x1c2bd1={'tree':_0x623cac,'command':_0x466700[_0x54ca1c(0x114)],'remainingArgs':_0x466700['remainingArgs']});}if(!_0x1c2bd1)return undefined;const _0x422986={..._0x2bca22};return applyAppBinding(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1['command'],_0x422986),{'definition':buildDynamicCommandDefinition(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1[_0x54ca1c(0x114)]),'args':_0x1c2bd1[_0x54ca1c(0xde)],'flags':_0x422986,'tree':_0x1c2bd1[_0x54ca1c(0x103)],'command':_0x1c2bd1[_0x54ca1c(0x114)]};}export function generateDynamicServiceHelp(_0x39e742){const _0x5c81d5=a39_0x5b2b,_0x3800e3=listLocalServiceTrees()[_0x5c81d5(0xf4)](_0x3f5dba=>_0x3f5dba[_0x5c81d5(0x11d)][_0x5c81d5(0x119)]===_0x39e742);if(!_0x3800e3)return undefined;const _0x90f2f9=[CLI_BIN_NAME+'\x20'+_0x39e742+_0x5c81d5(0x108),'',_0x3800e3['service'][_0x5c81d5(0xcf)]||_0x39e742,_0x3800e3[_0x5c81d5(0x11d)]['description']?'\x20\x20'+_0x3800e3['service'][_0x5c81d5(0x10f)]:'','',_0x5c81d5(0x11a),..._0x3800e3[_0x5c81d5(0xf3)][_0x5c81d5(0x105)](_0x5a1eac=>{const _0x3ea294=_0x5c81d5,_0xf48a5a=_0x5a1eac[_0x3ea294(0x109)][_0x3ea294(0x117)](0x1)[_0x3ea294(0xd5)]('\x20'),_0x1f9d08=_0x5a1eac['risk']===_0x3ea294(0xe4)?'':'\x20['+_0x5a1eac[_0x3ea294(0xda)]+']';return'\x20\x20'+_0xf48a5a[_0x3ea294(0xff)](0x18)+'\x20'+(_0x5a1eac['description']||'')+_0x1f9d08;}),'',_0x5c81d5(0xcd)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x39e742+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x90f2f9[_0x5c81d5(0xd5)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x5af2ae=>{const _0x2315a9=a39_0x5b2b,_0x4f4e77=_0x5af2ae[_0x2315a9(0x10c)];return{'service':_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'label':_0x4f4e77['service'][_0x2315a9(0xcf)]||_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'commands':_0x4f4e77['commands'][_0x2315a9(0x105)](_0x1e91bb=>({'command':dynamicCommandName(_0x1e91bb),'description':_0x1e91bb['description']||'Run\x20service\x20command\x20'+_0x1e91bb[_0x2315a9(0x104)],'tag':riskTag(_0x1e91bb[_0x2315a9(0xda)])}))};});}export function getDynamicServiceEntry(_0x31f8ce){const _0x52b04a=a39_0x5b2b;return listDynamicServiceEntries()['find'](_0x1b2768=>_0x1b2768[_0x52b04a(0x11d)]===_0x31f8ce);}export function listDynamicServiceDefinitions(_0x570bf2){const _0x2357d6=a39_0x5b2b;return listLocalServiceTrees()[_0x2357d6(0xd2)](_0x1bd5ad=>!_0x570bf2||_0x1bd5ad['service']['code']===_0x570bf2)[_0x2357d6(0x102)](_0x3ac89b=>_0x3ac89b['commands'][_0x2357d6(0x105)](_0x58ae07=>buildDynamicCommandDefinition(_0x3ac89b,_0x58ae07)));}export function getDynamicServiceDefinitions(_0x49476e){const _0x2049dd=a39_0x5b2b,_0x26a557=listDynamicServiceDefinitions(_0x49476e);return _0x26a557[_0x2049dd(0xc1)]>0x0?_0x26a557:undefined;}export function findDynamicServiceDefinition(_0x2097f2,_0x203b7f){const _0x2e017b=a39_0x5b2b;return listDynamicServiceDefinitions(_0x2097f2)[_0x2e017b(0xf4)](_0x257014=>_0x257014[_0x2e017b(0x114)]===_0x203b7f);}export function buildDynamicCommandDefinition(_0x3d3894,_0x26608b){const _0x1cb403=a39_0x5b2b;return{'service':_0x3d3894[_0x1cb403(0x11d)][_0x1cb403(0x119)],'command':dynamicCommandName(_0x26608b),'description':_0x26608b[_0x1cb403(0x10f)]||'Run\x20service\x20command\x20'+_0x26608b[_0x1cb403(0x104)],'risk':_0x26608b['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x26608b[_0x1cb403(0xce)][_0x1cb403(0x105)](_0x508b8f=>({'name':_0x508b8f[_0x1cb403(0xcf)],'description':_0x508b8f['description']||_0x508b8f[_0x1cb403(0xcf)],'required':_0x508b8f[_0x1cb403(0xcb)]})),'flags':_0x26608b['flags'][_0x1cb403(0x105)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x26608b),async 'dryRun'(_0x2d9a13){const _0x1e550f=_0x1cb403,_0x1e656c=await compilePlan(_0x26608b,_0x2d9a13);return{'method':'SERVICE_TREE','url':_0x26608b[_0x1e550f(0x104)],'body':{'target':targetPreview(_0x1e656c),'params':_0x1e656c[_0x1e550f(0xf9)]},'description':_0x1e550f(0xf6)+_0x26608b[_0x1e550f(0x104)]};},async 'execute'(_0x366176){const _0x4396f6=_0x1cb403,_0x3131c5=await compilePlan(_0x26608b,_0x366176),_0x5bb8a8=Date[_0x4396f6(0x115)](),_0x35d8e0=await executePlan(_0x3131c5,_0x26608b,_0x366176),_0x275e83=Date[_0x4396f6(0x115)]()-_0x5bb8a8;return{'ok':!![],'data':{'service':_0x3d3894['service'],'command':_0x26608b[_0x4396f6(0x104)],'target':targetPreview(_0x3131c5),'result':_0x35d8e0,'elapsed':_0x275e83},'message':_0x4396f6(0xe2)+_0x26608b[_0x4396f6(0x104)]+_0x4396f6(0x111)+_0x275e83+'ms'};}};}function dynamicCommandName(_0x49ce9e){const _0x2654bb=a39_0x5b2b;return _0x49ce9e[_0x2654bb(0x109)][_0x2654bb(0x117)](0x1)[_0x2654bb(0xd5)]('\x20');}function riskTag(_0x58a482){const _0x334eed=a39_0x5b2b;return _0x58a482===_0x334eed(0xe4)?'':'\x20\x20['+_0x58a482+']';}function flagToCommandFlag(_0x32df96){const _0x197400=a39_0x5b2b;return{'name':_0x32df96[_0x197400(0x118)],'type':_0x32df96[_0x197400(0xbf)]===_0x197400(0xe3)?_0x197400(0xdc):_0x32df96[_0x197400(0xbf)],'description':_0x32df96['description']||_0x32df96['name'],'required':_0x32df96[_0x197400(0xcb)],'default':isPrimitiveFlagDefault(_0x32df96['default'])?_0x32df96[_0x197400(0xd9)]:undefined,'enum':_0x32df96[_0x197400(0x10b)]};}async function compilePlan(_0x446d2d,_0x2b9c65){const _0x473715=a39_0x5b2b;return compileServiceTreeCommand(_0x446d2d,{'flags':_0x2b9c65[_0x473715(0xc2)],'args':_0x2b9c65[_0x473715(0xce)],'context':await buildServiceContext(_0x446d2d,_0x2b9c65)});}async function buildServiceContext(_0x37fcd6,_0xba3949){const _0x4f4f7c=a39_0x5b2b,_0x5f0231={'appCode':_0xba3949['appCode'],'env':_0xba3949[_0x4f4f7c(0xe1)],'envName':_0xba3949[_0x4f4f7c(0xe1)]};if(!usesRuntimeContext(_0x37fcd6))return _0x5f0231;const _0x30842c=await getLoginUserInfo(),_0x1f5725=pickFirst(_0x30842c[_0x4f4f7c(0x11b)],_0x30842c['id']);return{..._0x5f0231,'user':_0x30842c,'userId':_0x1f5725,'id':_0x30842c['id'],'username':pickFirst(_0x30842c[_0x4f4f7c(0xe9)],_0x30842c[_0x4f4f7c(0x10d)],_0x30842c[_0x4f4f7c(0xe7)]),'userName':_0x30842c[_0x4f4f7c(0x10d)],'nickname':pickFirst(_0x30842c['nickname'],_0x30842c[_0x4f4f7c(0xbe)]),'nickName':_0x30842c[_0x4f4f7c(0xbe)],'tenantCode':_0x30842c[_0x4f4f7c(0xdb)],'employeeId':_0x30842c[_0x4f4f7c(0xdf)]};}function usesRuntimeContext(_0x109721){const _0x3075f7=a39_0x5b2b;return _0x109721[_0x3075f7(0xc4)][_0x3075f7(0xdd)](_0x561041=>typeof _0x561041[_0x3075f7(0xbd)]===_0x3075f7(0xdc)&&(_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)](_0x3075f7(0xec))||_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)]('ctx.')));}function pickFirst(..._0x1cf167){const _0x7a0034=a39_0x5b2b;return _0x1cf167[_0x7a0034(0xf4)](_0x49cfa9=>_0x49cfa9!==undefined&&_0x49cfa9!==null);}async function executePlan(_0x582fc8,_0x16c023,_0x865e01){const _0x414e4d=a39_0x5b2b;if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xc7)){const _0x32be78=await resolveDatasetCode(_0x582fc8,_0x16c023,_0x865e01);return executeData(_0x32be78,_0x582fc8['command'],_0x582fc8['params']);}if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xd7)){if(!_0x582fc8[_0x414e4d(0x106)])throw CliErrors[_0x414e4d(0xea)]('Service\x20command\x20'+_0x16c023[_0x414e4d(0x104)]+_0x414e4d(0xca));return executeSdkSql(_0x582fc8[_0x414e4d(0x106)],normalizeScalarParams(_0x582fc8[_0x414e4d(0xf9)]));}if(_0x582fc8['kind']===_0x414e4d(0xfc)){const _0x457a54=_0x582fc8['scriptName']||_0x582fc8[_0x414e4d(0x107)]||(_0x582fc8['bffId']==null?'':String(_0x582fc8[_0x414e4d(0xf8)]));if(!_0x457a54)throw CliErrors[_0x414e4d(0xea)](_0x414e4d(0xe2)+_0x16c023['cliPath']+_0x414e4d(0xfa));return executeSdkBff(_0x457a54,_0x582fc8[_0x414e4d(0xf9)]);}throw CliErrors[_0x414e4d(0xea)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x582fc8[_0x414e4d(0x116)]);}async function resolveDatasetCode(_0x598dee,_0x553bb0,_0x41d3dc){const _0x4d4615=a39_0x5b2b;if(_0x598dee['datasetCode'])return _0x598dee[_0x4d4615(0x11c)];if(!_0x598dee[_0x4d4615(0x110)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xe2)+_0x553bb0['cliPath']+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x4d794b=await listDatasets(_0x41d3dc[_0x4d4615(0xc6)]),_0x21fff2=_0x4d794b[_0x4d4615(0xf4)](_0xa618d7=>_0xa618d7['dbtableConfig']?.[_0x4d4615(0xcc)]===_0x598dee[_0x4d4615(0x110)]);if(!_0x21fff2?.[_0x4d4615(0x119)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xeb)+_0x598dee['datatable']+_0x4d4615(0x10e)+_0x41d3dc['appCode']+'.',_0x4d4615(0xef));return _0x21fff2[_0x4d4615(0x119)];}function applyAppBinding(_0x46e67c,_0x1b4ac9,_0x4f28d9){const _0x111595=a39_0x5b2b,_0x426c2d=_0x1b4ac9[_0x111595(0x100)][_0x111595(0xf7)];if(!_0x426c2d)return;const _0x550dbf=_0x46e67c[_0x111595(0xc5)][_0x426c2d];if(!_0x550dbf)throw CliErrors[_0x111595(0xea)]('Unknown\x20appRef\x20\x22'+_0x426c2d+'\x22\x20in\x20service\x20command\x20'+_0x1b4ac9['cliPath']+'.',_0x111595(0xe6));const _0x8df33f=_0x550dbf[_0x111595(0xd8)]||_0x550dbf['appCode'];_0x8df33f&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9[_0x111595(0xd8)]=_0x8df33f),_0x550dbf['app']&&!hasText(_0x4f28d9[_0x111595(0x101)])&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9['app']=_0x550dbf[_0x111595(0x101)]),_0x550dbf[_0x111595(0xf1)]&&!hasText(_0x4f28d9['env'])&&(_0x4f28d9[_0x111595(0xf1)]=_0x550dbf[_0x111595(0xf1)]);}function renderDynamicCommandHelp(_0x2b65c4){const _0x4d25db=a39_0x5b2b,_0x15b11e=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x4d25db(0xe8)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x116)],_0x4d25db(0xd3)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x114)]];if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)])_0x15b11e['push'](_0x4d25db(0xf5)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x110)])_0x15b11e[_0x4d25db(0xd1)](_0x4d25db(0xf2)+_0x2b65c4[_0x4d25db(0x100)]['datatable']);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)])_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20sqlCode:\x20'+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0xee)])_0x15b11e['push'](_0x4d25db(0x113)+_0x2b65c4[_0x4d25db(0x100)]['scriptName']);if(_0x2b65c4[_0x4d25db(0xc4)]['length']>0x0){_0x15b11e[_0x4d25db(0xd1)]('','\x20\x20MAP\x20TO');for(const _0x40af6a of _0x2b65c4[_0x4d25db(0xc4)]){_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20'+(_0x40af6a[_0x4d25db(0xbd)]||_0x4d25db(0xc0))+'\x20->\x20'+_0x40af6a[_0x4d25db(0x100)]+(_0x40af6a[_0x4d25db(0xc8)]?'.'+_0x40af6a[_0x4d25db(0xc8)]:''));}}return _0x15b11e['join']('\x0a');}function targetPreview(_0x26b4e0){const _0xdea33=a39_0x5b2b;return{'kind':_0x26b4e0[_0xdea33(0x116)],'command':_0x26b4e0[_0xdea33(0x114)],'appRef':_0x26b4e0[_0xdea33(0xf7)],'datasetCode':_0x26b4e0[_0xdea33(0x11c)],'datatable':_0x26b4e0['datatable'],'sqlCode':_0x26b4e0[_0xdea33(0x106)],'bffCode':_0x26b4e0['bffCode'],'bffId':_0x26b4e0['bffId'],'functionName':_0x26b4e0['scriptName']};}function normalizeScalarParams(_0x87dc36){const _0x20080c=a39_0x5b2b;return Object[_0x20080c(0xfe)](Object[_0x20080c(0xfb)](_0x87dc36)[_0x20080c(0xd2)](([,_0x4378e9])=>typeof _0x4378e9===_0x20080c(0xdc)||typeof _0x4378e9==='number'));}function hasText(_0x1a6970){const _0x4d22dd=a39_0x5b2b;return typeof _0x1a6970===_0x4d22dd(0xdc)&&_0x1a6970[_0x4d22dd(0x10a)]()[_0x4d22dd(0xc1)]>0x0;}function isPrimitiveFlagDefault(_0x1c9361){const _0x4f3620=a39_0x5b2b;return _0x1c9361===undefined||typeof _0x1c9361==='string'||typeof _0x1c9361===_0x4f3620(0xc9)||typeof _0x1c9361==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xfc4f68,_0x43beb0){const _0x2eea36=a40_0x2dd0,_0x140099=_0xfc4f68();while(!![]){try{const _0x165ea9=-parseInt(_0x2eea36(0x90))/0x1+parseInt(_0x2eea36(0x8d))/0x2+parseInt(_0x2eea36(0xaf))/0x3+-parseInt(_0x2eea36(0xa1))/0x4+-parseInt(_0x2eea36(0xb0))/0x5*(parseInt(_0x2eea36(0xae))/0x6)+parseInt(_0x2eea36(0xa5))/0x7*(-parseInt(_0x2eea36(0xb3))/0x8)+parseInt(_0x2eea36(0xa4))/0x9;if(_0x165ea9===_0x43beb0)break;else _0x140099['push'](_0x140099['shift']());}catch(_0x44d1ce){_0x140099['push'](_0x140099['shift']());}}}(a40_0x5463,0xe93ae));export function adaptServiceTreeManifestForLegacyFramework(_0x420d19){const _0xba4efd=a40_0x2dd0,_0x4a0c79=cloneJsonValue(_0x420d19),_0x1533f0=[];if(!isObjectRecord(_0x4a0c79))return{'manifest':_0x4a0c79,'errors':_0x1533f0};return Array['isArray'](_0x4a0c79['commands'])&&_0x4a0c79[_0xba4efd(0xb1)][_0xba4efd(0x94)]((_0x3119f6,_0x418a02)=>{const _0x5d103f=_0xba4efd;if(!isObjectRecord(_0x3119f6))return;adaptBffTarget(_0x3119f6[_0x5d103f(0x96)],'$.commands['+_0x418a02+'].target',_0x1533f0);}),adaptResources(_0x4a0c79[_0xba4efd(0xa7)],_0xba4efd(0xa6),_0x1533f0),{'manifest':_0x4a0c79,'errors':_0x1533f0};}export function toPublicServiceTreeTarget(_0x29abed){const _0xf0598a=a40_0x2dd0,{scriptName:_0x4f92de,..._0x1a79cf}=_0x29abed;return typeof _0x4f92de===_0xf0598a(0x95)&&_0x4f92de[_0xf0598a(0x93)]()&&(_0x1a79cf[_0xf0598a(0x9f)]=_0x4f92de),_0x1a79cf;}export function toPublicNormalizedServiceTree(_0x36b3c8){const _0x525437=a40_0x2dd0;return{..._0x36b3c8,'commands':_0x36b3c8[_0x525437(0xb1)]['map'](_0x2c1912=>({..._0x2c1912,'target':toPublicServiceTreeTarget(_0x2c1912['target'])}))};}function adaptResources(_0x470d0d,_0x56e237,_0x31e607){const _0x2ebba0=a40_0x2dd0;if(!isObjectRecord(_0x470d0d))return;for(const [_0x4a5604,_0x161fed]of Object[_0x2ebba0(0x9b)](_0x470d0d)){if(!isObjectRecord(_0x161fed))continue;const _0x5c0dae=_0x56e237+'.'+_0x4a5604;if(isObjectRecord(_0x161fed[_0x2ebba0(0x8e)]))for(const [_0x66418a,_0x117c3e]of Object[_0x2ebba0(0x9b)](_0x161fed[_0x2ebba0(0x8e)])){if(!isObjectRecord(_0x117c3e))continue;const _0x2aa961=_0x5c0dae+_0x2ebba0(0xaa)+_0x66418a,_0x423800=isObjectRecord(_0x117c3e[_0x2ebba0(0x96)])&&_0x117c3e['target'][_0x2ebba0(0x8f)]===_0x2ebba0(0xac);adaptBffTarget(_0x117c3e[_0x2ebba0(0x96)],_0x2aa961+_0x2ebba0(0xa0),_0x31e607),(_0x423800||isBffAction(_0x117c3e))&&adaptFunctionNameField(_0x117c3e,_0x2aa961,_0x31e607);}adaptResources(_0x161fed[_0x2ebba0(0xa7)],_0x5c0dae+_0x2ebba0(0xa9),_0x31e607);}}function adaptBffTarget(_0x73b8b,_0x9adc96,_0x1942c5){const _0x56d2f9=a40_0x2dd0;if(!isObjectRecord(_0x73b8b)||_0x73b8b[_0x56d2f9(0x8f)]!==_0x56d2f9(0xac))return;adaptFunctionNameField(_0x73b8b,_0x9adc96,_0x1942c5);}function a40_0x5463(){const _0x3b1621=['trim','forEach','string','target','isArray','object','push','action','entries','bff.exec','hasOwnProperty','prototype','functionName','.target','5470564HdyWoh','error','functionName\x20must\x20be\x20a\x20non-empty\x20string.','30808764tOKTbi','6684839cCUAVV','$.resources','resources','scriptName','.resources','.actions.','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','bff','map','54xvpkVr','2078058ROnptK','252505ayZwYc','commands','call','16SnWxsV','2457196sEWkHF','actions','kind','657066yDNLIV','.functionName','.scriptName'];a40_0x5463=function(){return _0x3b1621;};return a40_0x5463();}function adaptFunctionNameField(_0x12207a,_0x493f17,_0x432802){const _0x10e8b2=a40_0x2dd0;Object[_0x10e8b2(0x9e)][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0xa8))&&_0x432802['push']({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x92),'message':_0x10e8b2(0xab)});if(Object['prototype'][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0x9f))){if(typeof _0x12207a[_0x10e8b2(0x9f)]!=='string'||!_0x12207a[_0x10e8b2(0x9f)][_0x10e8b2(0x93)]()){_0x432802[_0x10e8b2(0x99)]({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x91),'message':_0x10e8b2(0xa3)}),delete _0x12207a[_0x10e8b2(0x9f)];return;}_0x12207a[_0x10e8b2(0xa8)]=_0x12207a[_0x10e8b2(0x9f)],delete _0x12207a[_0x10e8b2(0x9f)];}}function isBffAction(_0x2078e1){const _0x533464=a40_0x2dd0;return _0x2078e1['kind']===_0x533464(0xac)||_0x2078e1[_0x533464(0x9a)]===_0x533464(0x9c)||_0x2078e1[_0x533464(0x96)]===_0x533464(0x9c);}function a40_0x2dd0(_0x2d3050,_0xe6cc34){_0x2d3050=_0x2d3050-0x8d;const _0x5463de=a40_0x5463();let _0x2dd0a3=_0x5463de[_0x2d3050];return _0x2dd0a3;}function cloneJsonValue(_0x59471e){const _0x20004e=a40_0x2dd0;if(Array[_0x20004e(0x97)](_0x59471e))return _0x59471e[_0x20004e(0xad)](_0x5f2028=>cloneJsonValue(_0x5f2028));if(isObjectRecord(_0x59471e))return Object['fromEntries'](Object[_0x20004e(0x9b)](_0x59471e)[_0x20004e(0xad)](([_0x5ed7c9,_0x4b9667])=>[_0x5ed7c9,cloneJsonValue(_0x4b9667)]));return _0x59471e;}function isObjectRecord(_0x12fe51){const _0x2a9962=a40_0x2dd0;return Boolean(_0x12fe51)&&typeof _0x12fe51===_0x2a9962(0x98)&&!Array[_0x2a9962(0x97)](_0x12fe51);}
|
|
@@ -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_0x43ce98=a41_0xdc36;(function(_0x1fb346,_0x1f692b){const _0x43751e=a41_0xdc36,_0x4bd74b=_0x1fb346();while(!![]){try{const _0x3f6704=-parseInt(_0x43751e(0xf6))/0x1+parseInt(_0x43751e(0xe1))/0x2+parseInt(_0x43751e(0xef))/0x3+parseInt(_0x43751e(0x107))/0x4+-parseInt(_0x43751e(0xe6))/0x5*(-parseInt(_0x43751e(0x115))/0x6)+parseInt(_0x43751e(0xf1))/0x7+parseInt(_0x43751e(0xed))/0x8*(-parseInt(_0x43751e(0xdf))/0x9);if(_0x3f6704===_0x1f692b)break;else _0x4bd74b['push'](_0x4bd74b['shift']());}catch(_0x3179ae){_0x4bd74b['push'](_0x4bd74b['shift']());}}}(a41_0x190c,0x681ad));function a41_0xdc36(_0x4f8496,_0x2cfe1c){_0x4f8496=_0x4f8496-0xdd;const _0x190cfe=a41_0x190c();let _0xdc36a5=_0x190cfe[_0x4f8496];return _0xdc36a5;}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':'string','required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':'service','type':'string','required':!![],'description':a41_0x43ce98(0x11c),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x16a0aa){const _0x3b7f40=a41_0x43ce98;return{'serviceCode':_0x16a0aa[_0x3b7f40(0xe8)],'name':_0x16a0aa[_0x3b7f40(0x116)]['service'][_0x3b7f40(0xe2)],'version':_0x16a0aa[_0x3b7f40(0xfc)],'importedAt':_0x16a0aa[_0x3b7f40(0x11a)],'source':_0x16a0aa[_0x3b7f40(0xf8)],'commandCount':_0x16a0aa[_0x3b7f40(0x116)][_0x3b7f40(0x100)][_0x3b7f40(0xf0)],'commands':_0x16a0aa['normalizedManifest'][_0x3b7f40(0x100)][_0x3b7f40(0x102)](_0x2cd56d=>({'path':_0x2cd56d[_0x3b7f40(0x108)],'description':_0x2cd56d['description'],'risk':_0x2cd56d[_0x3b7f40(0x105)],'target':toPublicServiceTreeTarget(_0x2cd56d['target']),'flags':_0x2cd56d[_0x3b7f40(0x11f)][_0x3b7f40(0x102)](_0xd68cb=>({'name':_0xd68cb['name'],'cliName':_0xd68cb[_0x3b7f40(0x119)],'type':_0xd68cb['type'],'required':_0xd68cb[_0x3b7f40(0xf3)]===!![]}))}))};}function summarizeLoadedManifest(_0x8f3804){const _0x2053e1=a41_0x43ce98;return{'service':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x101)],'version':_0x8f3804['normalizedManifest']?.[_0x2053e1(0xfc)],'commandCount':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x100)]['length']??0x0,'commands':_0x8f3804['normalizedManifest']?.['commands']['map'](_0x29c986=>({'path':_0x29c986[_0x2053e1(0x108)],'risk':_0x29c986[_0x2053e1(0x105)],'target':toPublicServiceTreeTarget(_0x29c986[_0x2053e1(0xdd)])}))??[],'registryIndex':_0x8f3804[_0x2053e1(0x110)],'registryServiceCode':_0x8f3804[_0x2053e1(0x11b)],'errors':_0x8f3804[_0x2053e1(0xde)][_0x2053e1(0xff)],'warnings':_0x8f3804[_0x2053e1(0xde)]['warnings']};}function a41_0x190c(){const _0x22d268=['serviceCode','entry','Imported','file','Updated','8ibyZVH','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','2332449uVdmxA','length','2334325KqbciU','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','required','filePath','imported','390317VBnjaP','\x20service(s).','source','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','WRITE','Imported\x20','version','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','str','errors','commands','service','map','registry','read','risk','write','223248BjPqdd','cliPath','validate','replaced','Exported\x20service\x20','Removed\x20service\x20','warnings','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','serviceCount','registryIndex','manifests','remove','updated','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','697134vyjGDg','normalizedManifest','kind','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','cliName','importedAt','registryServiceCode','Local\x20service\x20code,\x20for\x20example\x20crm','export','registryPath','flags','import','list','target','report','10622097XFXgiI','hash','963252mIIwmg','name','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service\x20','Service\x20manifest\x20validation\x20passed.','15TmifYP','entries'];a41_0x190c=function(){return _0x22d268;};return a41_0x190c();}export const serviceDefinitions=[{'service':'service','command':a41_0x43ce98(0x109),'description':a41_0x43ce98(0xf2),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x214561){const _0x41f7f0=a41_0x43ce98,_0x4411a0=loadServiceManifestFromFile(_0x214561[_0x41f7f0(0xfe)](_0x41f7f0(0xeb)));if(!_0x4411a0[_0x41f7f0(0xde)]['ok'])return{'ok':![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)],'services':_0x4411a0['manifests'][_0x41f7f0(0x102)](summarizeLoadedManifest),'errors':_0x4411a0['report'][_0x41f7f0(0xff)],'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':formatValidationFailure(_0x4411a0[_0x41f7f0(0xde)])};if(_0x4411a0['kind']===_0x41f7f0(0x103)||_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)]!==0x1)return{'ok':!![],'data':{'file':_0x4411a0['filePath'],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)]['length'],'commandCount':_0x4411a0[_0x41f7f0(0x111)]['reduce']((_0x29d933,_0x57d10e)=>_0x29d933+(_0x57d10e['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0),0x0),'services':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0x102)](summarizeLoadedManifest),'warnings':_0x4411a0['report'][_0x41f7f0(0x10d)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0[_0x41f7f0(0x117)],'service':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x101)],'version':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0xfc)],'commandCount':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0,'commands':_0x4411a0[_0x41f7f0(0x116)]?.[_0x41f7f0(0x100)][_0x41f7f0(0x102)](_0x5ea385=>({'path':_0x5ea385[_0x41f7f0(0x108)],'risk':_0x5ea385[_0x41f7f0(0x105)],'target':toPublicServiceTreeTarget(_0x5ea385[_0x41f7f0(0xdd)])})),'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':_0x41f7f0(0xe5)};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x120),'description':a41_0x43ce98(0xee),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3e034f){const _0x2d2d0b=a41_0x43ce98,_0x4ee0b9=loadServiceManifestFromFile(_0x3e034f[_0x2d2d0b(0xfe)](_0x2d2d0b(0xeb)));return{'method':_0x2d2d0b(0xfa),'url':getServiceRegistryPath(),'body':{'file':_0x4ee0b9[_0x2d2d0b(0xf4)],'hash':_0x4ee0b9[_0x2d2d0b(0xe0)],'kind':_0x4ee0b9[_0x2d2d0b(0x117)],'ok':_0x4ee0b9[_0x2d2d0b(0xde)]['ok'],'service':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'serviceCount':_0x4ee0b9[_0x2d2d0b(0x111)]['length'],'services':_0x4ee0b9[_0x2d2d0b(0x111)][_0x2d2d0b(0x102)](_0x205a71=>({'service':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'commandCount':_0x205a71[_0x2d2d0b(0x116)]?.['commands']['length']??0x0,'errors':_0x205a71[_0x2d2d0b(0xde)]['errors']})),'errors':_0x4ee0b9[_0x2d2d0b(0xde)][_0x2d2d0b(0xff)],'commandCount':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x100)][_0x2d2d0b(0xf0)]??0x0},'description':_0x2d2d0b(0x118)};},async 'execute'(_0x4e9112){const _0x29808d=a41_0x43ce98,_0x2c92c9=importServiceManifest(_0x4e9112['str'](_0x29808d(0xeb)));if(_0x2c92c9['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9[_0x29808d(0x113)],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'services':_0x2c92c9[_0x29808d(0xe7)][_0x29808d(0x102)](summarizeService)},'message':_0x29808d(0xfb)+_0x2c92c9['imported']+'\x20service(s),\x20updated\x20'+_0x2c92c9['updated']+_0x29808d(0xf7)};return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'replaced':_0x2c92c9[_0x29808d(0x10a)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9['updated'],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'service':summarizeService(_0x2c92c9['entry'])},'message':(_0x2c92c9[_0x29808d(0x10a)]?_0x29808d(0xec):_0x29808d(0xea))+_0x29808d(0xe4)+_0x2c92c9[_0x29808d(0xe9)][_0x29808d(0xe8)]+'.'};}},{'service':'service','command':a41_0x43ce98(0x11d),'description':a41_0x43ce98(0x10e),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x94bee8){const _0x28f17b=a41_0x43ce98,_0x3a1c13=getLocalServiceEntry(_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0x101)));return{'method':_0x28f17b(0xfa),'url':_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0xeb)),'body':{'service':_0x94bee8['str'](_0x28f17b(0x101)),'found':Boolean(_0x3a1c13),'version':_0x3a1c13?.[_0x28f17b(0xfc)],'source':_0x3a1c13?.[_0x28f17b(0xf8)]},'description':_0x28f17b(0x114)};},async 'execute'(_0x4206fc){const _0x33d7bf=a41_0x43ce98,_0xa40573=exportServiceManifest(_0x4206fc['str'](_0x33d7bf(0x101)),_0x4206fc[_0x33d7bf(0xfe)](_0x33d7bf(0xeb)));return{'ok':!![],'data':{'registryPath':_0xa40573['registryPath'],'file':_0xa40573[_0x33d7bf(0xf4)],'service':summarizeService(_0xa40573['entry'])},'message':_0x33d7bf(0x10b)+_0xa40573[_0x33d7bf(0xe9)][_0x33d7bf(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x121),'description':a41_0x43ce98(0xe3),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xaa377b=a41_0x43ce98,_0x40bc55=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x40bc55[_0xaa377b(0xf0)],'services':_0x40bc55['map'](summarizeService)}};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x112),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5310ba){const _0xb98353=a41_0x43ce98,_0x58e019=getLocalServiceEntry(_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)));return{'method':_0xb98353(0xfa),'url':getServiceRegistryPath(),'body':{'service':_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)),'found':Boolean(_0x58e019),'version':_0x58e019?.[_0xb98353(0xfc)],'source':_0x58e019?.['source']},'description':_0xb98353(0xf9)};},async 'execute'(_0xc09e0f){const _0x442ce5=a41_0x43ce98,_0x4bcb14=removeServiceManifest(_0xc09e0f[_0x442ce5(0xfe)](_0x442ce5(0x101)));return{'ok':!![],'data':{'registryPath':_0x4bcb14['registryPath'],'serviceCount':_0x4bcb14[_0x442ce5(0x10f)],'service':summarizeService(_0x4bcb14[_0x442ce5(0xe9)])},'message':_0x442ce5(0x10c)+_0x4bcb14[_0x442ce5(0xe9)][_0x442ce5(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':'detail','description':a41_0x43ce98(0xfd),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3cd889){const _0x44a73b=a41_0x43ce98,_0x1d9660=getLocalServiceEntry(_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101)));if(!_0x1d9660)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3cd889[_0x44a73b(0xfe)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1d9660),'manifest':_0x1d9660['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x1d9660[_0x44a73b(0x116)])}};}}];
|
|
@@ -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_0x57cbc2=a42_0x54c1;(function(_0x4aa54d,_0x1ed5b5){const _0x4bf0de=a42_0x54c1,_0x2c7cd7=_0x4aa54d();while(!![]){try{const _0x18e89e=parseInt(_0x4bf0de(0xc7))/0x1+-parseInt(_0x4bf0de(0xf6))/0x2*(-parseInt(_0x4bf0de(0xf7))/0x3)+-parseInt(_0x4bf0de(0xf3))/0x4+-parseInt(_0x4bf0de(0x107))/0x5*(parseInt(_0x4bf0de(0xdb))/0x6)+-parseInt(_0x4bf0de(0xff))/0x7+-parseInt(_0x4bf0de(0x114))/0x8+parseInt(_0x4bf0de(0xc5))/0x9;if(_0x18e89e===_0x1ed5b5)break;else _0x2c7cd7['push'](_0x2c7cd7['shift']());}catch(_0x385256){_0x2c7cd7['push'](_0x2c7cd7['shift']());}}}(a42_0x2742,0x3b82d));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_0x57cbc2(0xc9);export function getServiceRegistryPath(_0x4c04c3={}){const _0x5493e4=a42_0x57cbc2;return resolve(_0x4c04c3[_0x5493e4(0x118)]??homedir(),PRODUCT_CONFIG[_0x5493e4(0xfb)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x173c02={}){const _0x1b0878=a42_0x57cbc2,_0xd2d2ce=getServiceRegistryPath(_0x173c02);if(!existsSync(_0xd2d2ce))return emptyServiceRegistry();try{const _0x47ab61=readFileSync(_0xd2d2ce,_0x1b0878(0xc4));if(!_0x47ab61['trim']())return emptyServiceRegistry();const _0x4e95e2=JSON['parse'](_0x47ab61);if(_0x4e95e2[_0x1b0878(0xf8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x1b0878(0xcf)+String(_0x4e95e2[_0x1b0878(0xf8)]),_0x1b0878(0xc8)+_0xd2d2ce+'.');if(!Array['isArray'](_0x4e95e2['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e95e2[_0x1b0878(0x10f)],'services':_0x4e95e2[_0x1b0878(0x116)]};}catch(_0x26e9be){if(_0x26e9be instanceof Error&&_0x26e9be[_0x1b0878(0xd3)]===_0x1b0878(0x10a))throw _0x26e9be;throw CliErrors[_0x1b0878(0x10c)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0xd2d2ce,_0x1b0878(0xec));}}export function writeServiceRegistry(_0x19f539,_0x3b35ee={}){const _0xfa9ff4=a42_0x57cbc2,_0x1176a2=getServiceRegistryPath(_0x3b35ee),_0x5b92bd=dirname(_0x1176a2);!existsSync(_0x5b92bd)&&mkdirSync(_0x5b92bd,{'recursive':!![]});const _0x1cf8f9=_0x1176a2+_0xfa9ff4(0xfd);try{writeFileSync(_0x1cf8f9,JSON[_0xfa9ff4(0xd6)](_0x19f539,null,0x2)+'\x0a',{'encoding':_0xfa9ff4(0xc4),'mode':0x180}),renameSync(_0x1cf8f9,_0x1176a2);}catch(_0x41ff1e){try{unlinkSync(_0x1cf8f9);}catch{}if(_0x41ff1e?.[_0xfa9ff4(0x108)]===_0xfa9ff4(0xdc))throw CliErrors[_0xfa9ff4(0x10c)](_0xfa9ff4(0xed)+_0x1176a2);throw _0x41ff1e;}return _0x1176a2;}export function loadServiceManifestFromFile(_0xd0c4c){const _0x408bed=a42_0x57cbc2,_0x574fac=resolve(_0xd0c4c);if(!existsSync(_0x574fac))throw CliErrors['validation'](_0x408bed(0x109)+_0xd0c4c);let _0x30b98f;const _0x1ff348=readFileSync(_0x574fac,_0x408bed(0xc4));try{_0x30b98f=JSON[_0x408bed(0xfa)](_0x1ff348);}catch{throw CliErrors[_0x408bed(0x10c)](_0x408bed(0x111)+_0xd0c4c,_0x408bed(0xd9));}const _0xbb9f06=sha256(_0x1ff348),_0x2db092=extractLoadedServiceManifests(_0x30b98f,_0xbb9f06),_0x5a5096=aggregateValidationReports(_0x2db092),_0xeb224e=_0x2db092[0x0];return{'filePath':_0x574fac,'hash':_0xbb9f06,'kind':isServiceRegistryLike(_0x30b98f)?'registry':_0x408bed(0xca),'manifest':_0xeb224e?.['manifest']??_0x30b98f,'report':_0x5a5096,'normalizedManifest':_0x2db092[_0x408bed(0x101)]===0x1?_0xeb224e?.['normalizedManifest']:undefined,'manifests':_0x2db092};}function a42_0x2742(){const _0x9668f=['isArray','updatedAt','map','Invalid\x20service\x20manifest\x20JSON:\x20','].manifest.','push','2184312YGPOvc','command','services','source','homeDir','cliPath','utf8','7081965gZVmlD','path','205250dJVzfZ','Remove\x20or\x20migrate\x20','service.json','manifest','kind','empty','update','serviceCode','Unsupported\x20service\x20registry\x20schemaVersion:\x20','sha256','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','missing','name','sort','normalizedManifest','stringify','$.services[','toISOString','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','now','2670gAdjKN','ENOENT','warnings','localeCompare','slice','report','trim','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','reduce','risk','version','findIndex','description','manifests','splice','startsWith','hex','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Cannot\x20write\x20service\x20registry:\x20','registryIndex','file','target','importedAt','message','1520332LxuzAZ','commandCount','string','79278ccNjLz','3RGwCiP','schemaVersion','service','parse','homeDirName','bff\x20target\x20requires\x20functionName.','.tmp','flatMap','355530DPafQd','].manifest','length','find','filePath','errors','commands','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','945CAwLmy','code','Service\x20manifest\x20file\x20not\x20found:\x20','CliError','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','validation','invalid'];a42_0x2742=function(){return _0x9668f;};return a42_0x2742();}export function importServiceManifest(_0x550270,_0x11957b={}){const _0x39dbc9=a42_0x57cbc2,_0x5995d6=loadServiceManifestFromFile(_0x550270);if(!_0x5995d6[_0x39dbc9(0xe0)]['ok'])throw CliErrors[_0x39dbc9(0x10c)](formatValidationFailure(_0x5995d6[_0x39dbc9(0xe0)]),_0x39dbc9(0x10b));if(_0x5995d6[_0x39dbc9(0xe8)][_0x39dbc9(0x101)]===0x0)throw CliErrors[_0x39dbc9(0x10c)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x39dbc9(0x106));const _0x122192=readServiceRegistry(_0x11957b),_0x3e0926=(_0x11957b[_0x39dbc9(0xda)]??(()=>new Date()))()[_0x39dbc9(0xd8)](),_0x527a1e=[];let _0x5f3d97=0x0,_0x3d7a82=0x0;for(const _0x24b8cc of _0x5995d6[_0x39dbc9(0xe8)]){if(!_0x24b8cc[_0x39dbc9(0xd5)])continue;const _0x4f0aa5=_0x24b8cc[_0x39dbc9(0xd5)]['service']['code'],_0x2135f1={'serviceCode':_0x4f0aa5,'version':_0x24b8cc[_0x39dbc9(0xd5)][_0x39dbc9(0xe5)],'importedAt':_0x3e0926,'source':{'type':_0x39dbc9(0xef),'path':_0x5995d6[_0x39dbc9(0x103)],'hash':_0x24b8cc['sourceHash']},'manifest':_0x24b8cc['manifest'],'normalizedManifest':_0x24b8cc[_0x39dbc9(0xd5)]},_0x1fbbca=_0x122192[_0x39dbc9(0x116)]['findIndex'](_0x4a6f92=>_0x4a6f92['serviceCode']===_0x4f0aa5);_0x1fbbca>=0x0?(_0x122192[_0x39dbc9(0x116)][_0x1fbbca]=_0x2135f1,_0x3d7a82++):(_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x113)](_0x2135f1),_0x5f3d97++),_0x527a1e[_0x39dbc9(0x113)](_0x2135f1);}_0x122192['services'][_0x39dbc9(0xd4)]((_0x2713bd,_0x46bc39)=>_0x2713bd[_0x39dbc9(0xce)][_0x39dbc9(0xde)](_0x46bc39['serviceCode'])),_0x122192['updatedAt']=_0x3e0926;const _0x5ea604=writeServiceRegistry(_0x122192,_0x11957b);return{'registryPath':_0x5ea604,'entry':_0x527a1e[0x0],'replaced':_0x527a1e[_0x39dbc9(0x101)]===0x1?_0x3d7a82===0x1:_0x3d7a82>0x0,'entries':_0x527a1e,'imported':_0x5f3d97,'updated':_0x3d7a82,'serviceCount':_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x101)]};}export function exportServiceManifest(_0x52273d,_0xf406b7,_0x2ad2c4={}){const _0x56eda6=a42_0x57cbc2,_0x1713f2=getServiceRegistryPath(_0x2ad2c4),_0x24d72f=getLocalServiceEntry(_0x52273d,_0x2ad2c4);if(!_0x24d72f)throw CliErrors[_0x56eda6(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x52273d,_0x56eda6(0xd1));const _0x49d721=resolve(_0xf406b7),_0xba7212=dirname(_0x49d721);return!existsSync(_0xba7212)&&mkdirSync(_0xba7212,{'recursive':!![]}),writeFileSync(_0x49d721,JSON[_0x56eda6(0xd6)](_0x24d72f[_0x56eda6(0xca)],null,0x2)+'\x0a',{'encoding':_0x56eda6(0xc4),'mode':0x180}),{'registryPath':_0x1713f2,'filePath':_0x49d721,'entry':_0x24d72f};}export function removeServiceManifest(_0x22eac0,_0x54f596={}){const _0x3b30c9=a42_0x57cbc2,_0x2b8699=readServiceRegistry(_0x54f596),_0x1dd989=_0x22eac0['trim'](),_0x1955af=_0x2b8699['services'][_0x3b30c9(0xe6)](_0x2dc0c6=>_0x2dc0c6[_0x3b30c9(0xce)]===_0x1dd989);if(_0x1955af<0x0)throw CliErrors[_0x3b30c9(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x1dd989,_0x3b30c9(0xd1));const [_0x1136b9]=_0x2b8699[_0x3b30c9(0x116)][_0x3b30c9(0xe9)](_0x1955af,0x1),_0x5b749d=(_0x54f596['now']??(()=>new Date()))()[_0x3b30c9(0xd8)]();_0x2b8699[_0x3b30c9(0x10f)]=_0x5b749d;const _0x31c502=writeServiceRegistry(_0x2b8699,_0x54f596);return{'registryPath':_0x31c502,'entry':_0x1136b9,'serviceCount':_0x2b8699['services']['length']};}export function listLocalServices(_0x105b17={}){const _0x41ede0=a42_0x57cbc2;return readServiceRegistry(_0x105b17)[_0x41ede0(0x116)];}export function getLocalServiceEntry(_0x550945,_0x391ef0={}){const _0x39276e=a42_0x57cbc2;return readServiceRegistry(_0x391ef0)[_0x39276e(0x116)][_0x39276e(0x102)](_0x1785df=>_0x1785df[_0x39276e(0xce)]===_0x550945['trim']());}export function listLocalServiceTrees(_0xd59110={}){const _0x5b81ff=a42_0x57cbc2;return readServiceRegistry(_0xd59110)[_0x5b81ff(0x116)][_0x5b81ff(0x110)](_0x1e0a09=>_0x1e0a09[_0x5b81ff(0xd5)]);}export function inspectServiceRegistry(_0x70fe45={}){const _0x215969=a42_0x57cbc2,_0xe22093=getServiceRegistryPath(_0x70fe45);if(!existsSync(_0xe22093))return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xd2),![]);try{const _0x5d0f10=readFileSync(_0xe22093,_0x215969(0xc4));if(!_0x5d0f10[_0x215969(0xe1)]())return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xcc),!![]);const _0x312fc6=JSON['parse'](_0x5d0f10);if(_0x312fc6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':_0x312fc6[_0x215969(0xf8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x312fc6[_0x215969(0xf8)])};if(!Array['isArray'](_0x312fc6[_0x215969(0x116)]))return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'message':'services\x20must\x20be\x20an\x20array'};const _0x118be7=_0x312fc6['services'][_0x215969(0x110)](summarizeLocalServiceEntry);return{'registryPath':_0xe22093,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'serviceCount':_0x118be7[_0x215969(0x101)],'commandCount':_0x118be7[_0x215969(0xe3)]((_0x17b6b7,_0x43af08)=>_0x17b6b7+_0x43af08[_0x215969(0xf4)],0x0),'services':_0x118be7};}catch(_0x3cde17){return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'message':_0x3cde17 instanceof Error?_0x3cde17[_0x215969(0xf2)]:String(_0x3cde17)};}}export function formatValidationFailure(_0xd1f718){const _0x37986d=a42_0x57cbc2,_0x58ab58=_0xd1f718['errors'][_0x37986d(0x110)](_0x3d4996=>_0x3d4996[_0x37986d(0xc6)]+':\x20'+_0x3d4996[_0x37986d(0xf2)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x58ab58['join']('\x0a');}function extractLoadedServiceManifests(_0x237add,_0x19dde2){const _0x47ff13=a42_0x57cbc2;if(!isServiceRegistryLike(_0x237add)){const _0x3f985a=_0x237add,{manifest:_0xd912ae,errors:_0x5f5bfb}=adaptServiceTreeManifestForLegacyFramework(_0x3f985a),_0x24dbc4=validateServiceTreeManifest(_0xd912ae),_0x3db242=mergeValidationErrors(_0x24dbc4,_0x5f5bfb);return[{'manifest':_0x3f985a,'report':_0x3db242,'normalizedManifest':_0x3db242['ok']?normalizeServiceTreeManifest(_0xd912ae):undefined,'sourceHash':_0x19dde2}];}return _0x237add['services'][_0x47ff13(0x110)]((_0x3885d1,_0x5e9b12)=>{const _0x423472=_0x47ff13,_0x429648=isObjectRecord(_0x3885d1)?_0x3885d1[_0x423472(0xca)]:undefined,{manifest:_0x2428d3,errors:_0x1543ea}=adaptServiceTreeManifestForLegacyFramework(_0x429648),_0x561c8c=validateServiceTreeManifest(_0x2428d3),_0x20c28b=mergeValidationErrors(_0x561c8c,_0x1543ea),_0x13acbd=isObjectRecord(_0x3885d1)&&typeof _0x3885d1[_0x423472(0xce)]===_0x423472(0xf5)?_0x3885d1[_0x423472(0xce)]:undefined;return{'manifest':_0x429648,'report':_0x20c28b,'normalizedManifest':_0x20c28b['ok']?normalizeServiceTreeManifest(_0x2428d3):undefined,'sourceHash':sha256(JSON[_0x423472(0xd6)](_0x429648,null,0x2)+'\x0a'),'registryIndex':_0x5e9b12,'registryServiceCode':_0x13acbd};});}function a42_0x54c1(_0x389ff9,_0xc887f5){_0x389ff9=_0x389ff9-0xc4;const _0x2742b9=a42_0x2742();let _0x54c1d3=_0x2742b9[_0x389ff9];return _0x54c1d3;}function mergeValidationErrors(_0x2ecfea,_0x3b23c6){const _0x798509=a42_0x57cbc2,_0x37a783=_0x2ecfea[_0x798509(0x104)][_0x798509(0x110)](_0x254de9=>_0x254de9['message']===_0x798509(0xe2)?{..._0x254de9,'message':_0x798509(0xfc)}:_0x254de9),_0x5f1256=[..._0x3b23c6,..._0x37a783];return{'ok':_0x5f1256[_0x798509(0x101)]===0x0,'errors':_0x5f1256,'warnings':_0x2ecfea['warnings']};}function aggregateValidationReports(_0x3fa597){const _0x2362ad=a42_0x57cbc2,_0x2c13bc=_0x3fa597[_0x2362ad(0xfe)](_0x2dfbae=>_0x2dfbae[_0x2362ad(0xee)]===undefined?_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)]:_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)][_0x2362ad(0x110)](_0xad74c4=>({..._0xad74c4,'path':prefixRegistryIssuePath(_0x2dfbae[_0x2362ad(0xee)],_0xad74c4[_0x2362ad(0xc6)])}))),_0x331c40=_0x3fa597[_0x2362ad(0xfe)](_0x3b6a93=>_0x3b6a93['registryIndex']===undefined?_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)]:_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)][_0x2362ad(0x110)](_0x58815e=>({..._0x58815e,'path':prefixRegistryIssuePath(_0x3b6a93[_0x2362ad(0xee)],_0x58815e[_0x2362ad(0xc6)])})));return{'ok':_0x2c13bc[_0x2362ad(0x101)]===0x0,'errors':_0x2c13bc,'warnings':_0x331c40};}function prefixRegistryIssuePath(_0x230b77,_0x4e90a4){const _0x160aa6=a42_0x57cbc2;if(_0x4e90a4==='$')return'$.services['+_0x230b77+_0x160aa6(0x100);if(_0x4e90a4['startsWith']('$.'))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);if(_0x4e90a4[_0x160aa6(0xea)]('$['))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x112)+_0x4e90a4;}function isServiceRegistryLike(_0x135606){const _0x2c45ec=a42_0x57cbc2;return isObjectRecord(_0x135606)&&_0x135606[_0x2c45ec(0xf8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x2c45ec(0x10e)](_0x135606[_0x2c45ec(0x116)]);}function isObjectRecord(_0x2f32b9){const _0x3eb752=a42_0x57cbc2;return Boolean(_0x2f32b9)&&typeof _0x2f32b9==='object'&&!Array[_0x3eb752(0x10e)](_0x2f32b9);}function emptyServiceRegistryInspection(_0x2cb9f8,_0x27f54e,_0x400ec2){return{'registryPath':_0x2cb9f8,'exists':_0x400ec2,'status':_0x27f54e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x48dbf4){const _0x4bb85e=a42_0x57cbc2,_0x1438e3=_0x48dbf4[_0x4bb85e(0xd5)],_0x5cb301=_0x1438e3[_0x4bb85e(0x105)][_0x4bb85e(0x110)](_0x22ecf5=>({'path':_0x22ecf5[_0x4bb85e(0x119)],'description':_0x22ecf5[_0x4bb85e(0xe7)],'risk':_0x22ecf5[_0x4bb85e(0xe4)],'targetKind':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0xcb)],'targetCommand':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0x115)]}));return{'serviceCode':_0x48dbf4['serviceCode'],'name':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xd3)],'description':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xe7)],'version':_0x48dbf4[_0x4bb85e(0xe5)],'importedAt':_0x48dbf4[_0x4bb85e(0xf1)],'source':_0x48dbf4[_0x4bb85e(0x117)],'commandCount':_0x5cb301[_0x4bb85e(0x101)],'commands':_0x5cb301};}function sha256(_0x12b8f9){const _0xffb08f=a42_0x57cbc2;return createHash(_0xffb08f(0xd0))[_0xffb08f(0xcd)](_0x12b8f9)['digest'](_0xffb08f(0xeb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x4a7af3=a43_0x513f;(function(_0x4fc7a3,_0x5a54aa){const _0x2a82f0=a43_0x513f,_0x330a0a=_0x4fc7a3();while(!![]){try{const _0x2c789a=parseInt(_0x2a82f0(0x164))/0x1+-parseInt(_0x2a82f0(0x143))/0x2*(parseInt(_0x2a82f0(0x151))/0x3)+parseInt(_0x2a82f0(0x14e))/0x4+-parseInt(_0x2a82f0(0x14d))/0x5*(-parseInt(_0x2a82f0(0x146))/0x6)+-parseInt(_0x2a82f0(0x15b))/0x7*(parseInt(_0x2a82f0(0x15e))/0x8)+-parseInt(_0x2a82f0(0x144))/0x9*(-parseInt(_0x2a82f0(0x161))/0xa)+-parseInt(_0x2a82f0(0x14a))/0xb*(-parseInt(_0x2a82f0(0x15c))/0xc);if(_0x2c789a===_0x5a54aa)break;else _0x330a0a['push'](_0x330a0a['shift']());}catch(_0x34df77){_0x330a0a['push'](_0x330a0a['shift']());}}}(a43_0x3094,0x4e08d));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';function a43_0x3094(){const _0x5782db=['isDirectory','utf8','name','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillName','type','56ntdIgd','12nsIVVS','bool','423184ZtTMDx','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','250340BdCdzS','map','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','170881zURmAc','rendered','force','Created\x20local\x20Skill\x20draft\x20','18718SBabZQ','72yVEDiA','validation','12alQSQm','str','content','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1331902oofyaR','target','files','472155UOlXZn','1182764PdtPHm','write','isSymbolicLink','75QUreYr','Refusing\x20to\x20overwrite\x20symlink:\x20','trim','path'];a43_0x3094=function(){return _0x5782db;};return a43_0x3094();}import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a43_0x513f(_0x558dd6,_0x42d759){_0x558dd6=_0x558dd6-0x143;const _0x309400=a43_0x3094();let _0x513fa6=_0x309400[_0x558dd6];return _0x513fa6;}export const createCommand={'service':'skill','command':'create','description':a43_0x4a7af3(0x149),'risk':a43_0x4a7af3(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x535886){const _0x269a11=a43_0x4a7af3,_0x17d1c8=buildSkillCreatePlan(_0x535886[_0x269a11(0x147)](_0x269a11(0x157)),_0x535886[_0x269a11(0x147)](_0x269a11(0x15a)),_0x535886[_0x269a11(0x147)](_0x269a11(0x14b)));return{'method':'WRITE','url':_0x17d1c8[_0x269a11(0x160)],'body':{'skillName':_0x17d1c8[_0x269a11(0x165)][_0x269a11(0x159)],'type':_0x17d1c8['rendered']['type'],'selfContained':!![],'files':_0x17d1c8[_0x269a11(0x165)]['files'][_0x269a11(0x162)](_0x4333b9=>_0x4333b9[_0x269a11(0x154)])},'description':_0x269a11(0x15f)};},async 'execute'(_0x10ee0f){const _0x5b6dc1=a43_0x4a7af3,_0x42663d=buildSkillCreatePlan(_0x10ee0f['str'](_0x5b6dc1(0x157)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x15a)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x14b)));return writeSkillDraft(_0x42663d,_0x10ee0f[_0x5b6dc1(0x15d)](_0x5b6dc1(0x166))),{'ok':!![],'data':{'skillName':_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)],'type':_0x42663d[_0x5b6dc1(0x165)]['type'],'dir':_0x42663d[_0x5b6dc1(0x160)],'files':_0x42663d['rendered'][_0x5b6dc1(0x14c)]['map'](_0x5b9715=>_0x5b9715[_0x5b6dc1(0x154)])},'message':_0x5b6dc1(0x167)+_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)]};}};function buildSkillCreatePlan(_0x33317b,_0x25e551,_0x4dc51b){const _0x113fd4=a43_0x4a7af3,_0x595a47=_0x25e551['trim'](),_0x50895c=renderSkillTemplate({'skillName':_0x33317b,'type':_0x595a47});!_0x595a47&&writeCliSideChannelLine(_0x113fd4(0x163));const _0x148e05=resolve(normalizeSkillTarget(_0x4dc51b));return{'rendered':_0x50895c,'targetRoot':_0x148e05,'skillDir':resolve(_0x148e05,_0x50895c[_0x113fd4(0x159)])};}function normalizeSkillTarget(_0x3b88c8){const _0x4f20bb=a43_0x4a7af3;return(_0x3b88c8||DEFAULT_SKILL_TARGET)[_0x4f20bb(0x153)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x3ca204,_0x4bce09){const _0x29c0a0=a43_0x4a7af3;if(existsSync(_0x3ca204[_0x29c0a0(0x160)])){const _0x44ee32=lstatSync(_0x3ca204['skillDir']);if(!_0x44ee32[_0x29c0a0(0x155)]()||_0x44ee32[_0x29c0a0(0x150)]())throw CliErrors[_0x29c0a0(0x145)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x3ca204['skillDir']);if(!_0x4bce09)throw CliErrors[_0x29c0a0(0x145)]('Skill\x20directory\x20already\x20exists:\x20'+_0x3ca204[_0x29c0a0(0x160)],_0x29c0a0(0x158));}for(const _0xb893fa of _0x3ca204['rendered'][_0x29c0a0(0x14c)]){const _0x34c0e3=resolve(_0x3ca204[_0x29c0a0(0x160)],_0xb893fa[_0x29c0a0(0x154)]),_0xcb6e5b=dirname(_0x34c0e3);mkdirSync(_0xcb6e5b,{'recursive':!![]});if(existsSync(_0x34c0e3)&&lstatSync(_0x34c0e3)['isSymbolicLink']())throw CliErrors[_0x29c0a0(0x145)](_0x29c0a0(0x152)+_0x34c0e3);writeFileSync(_0x34c0e3,_0xb893fa[_0x29c0a0(0x148)],_0x29c0a0(0x156));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x256df0=a44_0x37e0;(function(_0x459c8c,_0xd2313e){const _0x539288=a44_0x37e0,_0x5920b1=_0x459c8c();while(!![]){try{const _0x3115d1=-parseInt(_0x539288(0xc2))/0x1*(parseInt(_0x539288(0xdc))/0x2)+-parseInt(_0x539288(0xdf))/0x3+-parseInt(_0x539288(0xdd))/0x4+parseInt(_0x539288(0xd4))/0x5*(parseInt(_0x539288(0xc9))/0x6)+-parseInt(_0x539288(0xe7))/0x7+parseInt(_0x539288(0xd9))/0x8+parseInt(_0x539288(0xd8))/0x9;if(_0x3115d1===_0xd2313e)break;else _0x5920b1['push'](_0x5920b1['shift']());}catch(_0x56b1ef){_0x5920b1['push'](_0x5920b1['shift']());}}}(a44_0x2d90,0xc0d7a));import{CliErrors}from'../../../errors.js';function a44_0x2d90(){const _0x48c0e7=['removed','flatMap','Installed\x20','344100xrwNIu','version','all','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../skills/runtime-skill-sync.js','appCode','updated','trim','filter','../../../core/api-client.js','accessKey','30FDFlXK','skipped','created','write','12937599yVNoCK','10468760pMdvGU','\x20personal\x20and\x20','envName','32NSlKYM','2488112lmhslq','skillCode','2964750VwBYIF','map','personal','force','project','length','bool','skillRoots','2012066IiuckG','str','push','reduce','authRequired','unchanged','action','scope','includes','25163OXwzEe','install','company','global'];a44_0x2d90=function(){return _0x48c0e7;};return a44_0x2d90();}import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a44_0x37e0(_0x1e000f,_0x138227){_0x1e000f=_0x1e000f-0xbc;const _0x2d9022=a44_0x2d90();let _0x37e079=_0x2d9022[_0x1e000f];return _0x37e079;}export const installCommand={'service':'skill','command':a44_0x256df0(0xc3),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a44_0x256df0(0xd7),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x337cdf){return syncRuntimeSkills(_0x337cdf);}};async function syncRuntimeSkills(_0x4fc56f){const _0x1410af=a44_0x256df0,{downloadRuntimeSkillPackage:_0x59a8b5,listRuntimeSkills:_0x32e0ab}=await import(_0x1410af(0xd2)),{linkEffectiveRuntimeSkills:_0x7af270,materializeRuntimeSkill:_0x3b9131,pruneStaleRuntimeSkillCache:_0x51ba60,pruneStaleRuntimeSkillLinks:_0x2eb3bb,resolveRuntimeSkillInstallTarget:_0x53f6be}=await import(_0x1410af(0xcd)),_0x3bbaa3=_0x4fc56f[_0x1410af(0xe8)]('code'),_0x5b2a12=normalizeSyncScopes(_0x4fc56f[_0x1410af(0xe8)](_0x1410af(0xc0))),_0x3653e=_0x4fc56f[_0x1410af(0xdb)]??'production',_0x5bf3cc=_0x4fc56f[_0x1410af(0xd3)],_0x52d0fa=_0x4fc56f[_0x1410af(0xe5)](_0x1410af(0xe2));if(!_0x5bf3cc)throw CliErrors[_0x1410af(0xbd)](_0x1410af(0xcc));const _0xa59123=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0x4fc56f['bool']('project')?_0x1410af(0xe3):'global'),_0xb9b18e=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0xa59123['scope']===_0x1410af(0xe3)?_0x1410af(0xc5):_0x1410af(0xe3)),_0x75fe49=await Promise[_0x1410af(0xcb)](_0x5b2a12[_0x1410af(0xe0)](_0x52c13a=>_0x32e0ab({'appCode':_0x4fc56f['appCode'],'scope':_0x52c13a,'code':_0x3bbaa3['trim']()||undefined}))),_0x1009e0=_0x5b2a12['includes'](_0x1410af(0xe1))?_0x75fe49[_0x1410af(0xc7)]((_0x6ed801,_0x201852)=>_0x5b2a12[_0x201852]===_0x1410af(0xe1)?_0x6ed801[_0x1410af(0xe1)]:[]):[],_0x9d2b87=_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4))?_0x75fe49[_0x1410af(0xc7)]((_0x2b9933,_0x444a54)=>_0x5b2a12[_0x444a54]===_0x1410af(0xc4)?_0x2b9933[_0x1410af(0xc4)]:[]):[],_0x591746=new Set([..._0x1009e0[_0x1410af(0xe0)](_0x345e75=>_0x345e75[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())['filter'](_0x31e452=>Boolean(_0x31e452)),..._0x9d2b87[_0x1410af(0xe0)](_0x115d97=>_0x115d97[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())[_0x1410af(0xd1)](_0x5198a2=>Boolean(_0x5198a2))]),_0x5aa20e=_0x3bbaa3['trim']()?[_0x3bbaa3[_0x1410af(0xd0)]()]:undefined,_0x22adda=_0x5b2a12[_0x1410af(0xe4)]===0x2&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xe1))&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4)),_0x1ad4a0=_0x22adda?_0x2eb3bb(_0xa59123,_0x591746,_0x5aa20e):[],_0x421e95=_0x51ba60({'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'activeSkillCodes':_0x591746,'pruneSkillCodes':_0x5aa20e,'scopes':_0x5b2a12,'protectedLinkRoots':_0xb9b18e['skillRoots']}),_0xe56e18=[];for(const _0x34f225 of _0x1009e0){_0xe56e18['push'](_0x3b9131(_0x34f225,_0x1410af(0xe1),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x34f225,_0x1410af(0xe1),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}for(const _0x1f5495 of _0x9d2b87){_0xe56e18[_0x1410af(0xe9)](_0x3b9131(_0x1f5495,_0x1410af(0xc4),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x1f5495,_0x1410af(0xc4),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}const _0x41cd74=_0x7af270(_0xe56e18,_0xa59123),_0x375c11=countLinkActions(_0x41cd74);return{'ok':!![],'data':{'appCode':_0x4fc56f[_0x1410af(0xce)],..._0xa59123[_0x1410af(0xc0)]===_0x1410af(0xe3)?{'installTarget':{'scope':_0xa59123[_0x1410af(0xc0)],'skillRoots':[..._0xa59123[_0x1410af(0xe6)]]}}:{},'personal':_0x1009e0['length'],'company':_0x9d2b87[_0x1410af(0xe4)],'materialized':_0xe56e18['length'],'links':{'total':_0x41cd74[_0x1410af(0xe4)],'created':_0x375c11[_0x1410af(0xd6)]??0x0,'updated':_0x375c11[_0x1410af(0xcf)]??0x0,'unchanged':_0x375c11[_0x1410af(0xbe)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1ad4a0[_0x1410af(0xd1)](_0x2f4c20=>_0x2f4c20[_0x1410af(0xbf)]===_0x1410af(0xc6))[_0x1410af(0xe4)],'cacheDirs':_0x421e95[_0x1410af(0xd1)](_0x3b29d4=>_0x3b29d4['action']===_0x1410af(0xc6))[_0x1410af(0xe4)],'skipped':[..._0x1ad4a0,..._0x421e95][_0x1410af(0xd1)](_0xb026d=>_0xb026d[_0x1410af(0xbf)]===_0x1410af(0xd5))[_0x1410af(0xe4)]},'skills':{'personal':_0x1009e0[_0x1410af(0xe0)](summarizeRuntimeSkill),'company':_0x9d2b87[_0x1410af(0xe0)](summarizeRuntimeSkill)}},'message':_0x1410af(0xc8)+_0x1009e0[_0x1410af(0xe4)]+_0x1410af(0xda)+_0x9d2b87['length']+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x43eabd,_0x4ae89d,_0x4b2e93,_0xb28958){const _0x5d46d6=a44_0x256df0,_0x4a4852=_0x43eabd[_0x5d46d6(0xca)]?.[_0x5d46d6(0xd0)]();return _0x4a4852?_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93,_0x4a4852):_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93);}function countLinkActions(_0x1c6bba){const _0x218682=a44_0x256df0;return _0x1c6bba[_0x218682(0xbc)]((_0x15fd6a,_0x1a9cff)=>{const _0x4a03dc=_0x218682;return _0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]=(_0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]??0x0)+0x1,_0x15fd6a;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a45_0x5a3c(){const _0x545962=['appCode','accessKey','personal','42308dnYAQp','1462263iWXJNw','6590583zxVgQn','../../../core/api-client.js','10nQlrDE','\x20remote\x20Skill(s).','authRequired','9892560wGaXZC','../../../skills/runtime-skill-sync.js','builtin','length','local','project','filter','list','global','code','1096852ftMssW','company','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','1928689cClXtk','read','trim','production','\x20local\x20Skill(s).','178054oAmaFL','remote','map','scope','str','786MqHWmu','skill','bool'];a45_0x5a3c=function(){return _0x545962;};return a45_0x5a3c();}const a45_0x231a59=a45_0x424b;(function(_0x234961,_0x530198){const _0x2ad434=a45_0x424b,_0x54e051=_0x234961();while(!![]){try{const _0x4be737=-parseInt(_0x2ad434(0x1d6))/0x1+parseInt(_0x2ad434(0x1db))/0x2+-parseInt(_0x2ad434(0x1e7))/0x3+parseInt(_0x2ad434(0x1d3))/0x4*(parseInt(_0x2ad434(0x1ea))/0x5)+parseInt(_0x2ad434(0x1e0))/0x6*(parseInt(_0x2ad434(0x1e6))/0x7)+parseInt(_0x2ad434(0x1c9))/0x8+parseInt(_0x2ad434(0x1e8))/0x9;if(_0x4be737===_0x530198)break;else _0x54e051['push'](_0x54e051['shift']());}catch(_0xdbe8e6){_0x54e051['push'](_0x54e051['shift']());}}}(a45_0x5a3c,0xefbcc));import{CliErrors}from'../../../errors.js';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_0x424b(_0x104bc6,_0x532fd4){_0x104bc6=_0x104bc6-0x1c9;const _0x5a3c75=a45_0x5a3c();let _0x424b02=_0x5a3c75[_0x104bc6];return _0x424b02;}export const listCommand={'service':a45_0x231a59(0x1e1),'command':a45_0x231a59(0x1d0),'description':a45_0x231a59(0x1d5),'risk':a45_0x231a59(0x1d7),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x132228){const _0x2bba2a=a45_0x231a59,_0x4430f3=_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1d2)),_0x476317=normalizeListScope(_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1de)));if(_0x132228['bool'](_0x2bba2a(0x1cd))){const _0x27eaf6=_0x132228[_0x2bba2a(0x1e4)];if(!_0x27eaf6)throw CliErrors[_0x2bba2a(0x1ec)]();const {listLocalRuntimeSkills:_0x27cfff,resolveRuntimeSkillInstallTarget:_0x5c2bd6}=await import(_0x2bba2a(0x1ca)),_0x51a267=_0x5c2bd6(_0x132228[_0x2bba2a(0x1e3)],_0x132228[_0x2bba2a(0x1e2)](_0x2bba2a(0x1ce))?_0x2bba2a(0x1ce):_0x2bba2a(0x1d1)),_0x105cab=_0x27cfff({'env':_0x132228['envName']??_0x2bba2a(0x1d9),'accessKey':_0x27eaf6,'appCode':_0x132228[_0x2bba2a(0x1e3)],'scopes':listScopeToRuntimeScopes(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined},_0x51a267),_0x410819=groupLocalRuntimeSkills(_0x105cab);return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1cd),..._0x51a267[_0x2bba2a(0x1de)]===_0x2bba2a(0x1ce)?{'installScope':_0x51a267[_0x2bba2a(0x1de)]}:{},'scope':_0x476317,'total':_0x105cab[_0x2bba2a(0x1cc)],'personal':_0x410819[_0x2bba2a(0x1e5)][_0x2bba2a(0x1cc)],'company':_0x410819[_0x2bba2a(0x1d4)][_0x2bba2a(0x1cc)],'items':_0x105cab['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x410819['personal'][_0x2bba2a(0x1dd)](summarizeLocalRuntimeSkill),'company':_0x410819['company']['map'](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x105cab[_0x2bba2a(0x1cc)]+_0x2bba2a(0x1da)};}const {listRuntimeSkills:_0x5300bf}=await import(_0x2bba2a(0x1e9)),_0x1e7d7c=await _0x5300bf({'appCode':_0x132228[_0x2bba2a(0x1e3)],'scope':listScopeToRemoteScope(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined}),_0x501343=shouldListScope(_0x476317,_0x2bba2a(0x1e5))?_0x1e7d7c[_0x2bba2a(0x1e5)]??[]:[],_0xb9a9a9=shouldListScope(_0x476317,'company')?_0x1e7d7c[_0x2bba2a(0x1d4)]??[]:[],_0x3b8bac=[..._0x501343,..._0xb9a9a9];return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1dc),'scope':_0x476317,'total':_0x3b8bac['length'],'personal':_0x501343[_0x2bba2a(0x1cc)],'company':_0xb9a9a9['length'],'items':_0x3b8bac['map'](summarizeRuntimeSkill),'skills':{'personal':_0x501343[_0x2bba2a(0x1dd)](summarizeRuntimeSkill),'company':_0xb9a9a9[_0x2bba2a(0x1dd)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x3b8bac['length']+_0x2bba2a(0x1eb)};}};function groupLocalRuntimeSkills(_0x437284){const _0x4adf87=a45_0x231a59;return{'personal':_0x437284[_0x4adf87(0x1cf)](_0x1f9816=>_0x1f9816[_0x4adf87(0x1de)]===_0x4adf87(0x1e5)),'company':_0x437284[_0x4adf87(0x1cf)](_0x2138b4=>_0x2138b4[_0x4adf87(0x1de)]==='company'),'builtin':_0x437284[_0x4adf87(0x1cf)](_0x2a90cd=>_0x2a90cd[_0x4adf87(0x1de)]===_0x4adf87(0x1cb))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a46_0x5f2d7a=a46_0x404a;(function(_0xde9a50,_0x458dfe){const _0x55453f=a46_0x404a,_0x5002a9=_0xde9a50();while(!![]){try{const _0x4c2e4f=-parseInt(_0x55453f(0x72))/0x1*(-parseInt(_0x55453f(0x6d))/0x2)+parseInt(_0x55453f(0x79))/0x3+parseInt(_0x55453f(0x6f))/0x4*(-parseInt(_0x55453f(0x71))/0x5)+-parseInt(_0x55453f(0x74))/0x6*(-parseInt(_0x55453f(0x70))/0x7)+-parseInt(_0x55453f(0x76))/0x8+parseInt(_0x55453f(0x6c))/0x9+parseInt(_0x55453f(0x6e))/0xa*(-parseInt(_0x55453f(0x73))/0xb);if(_0x4c2e4f===_0x458dfe)break;else _0x5002a9['push'](_0x5002a9['shift']());}catch(_0x5b7889){_0x5002a9['push'](_0x5002a9['shift']());}}}(a46_0x37d3,0x3912a));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';function a46_0x404a(_0x211ed7,_0x2e2825){_0x211ed7=_0x211ed7-0x6c;const _0x37d3ea=a46_0x37d3();let _0x404ad2=_0x37d3ea[_0x211ed7];return _0x404ad2;}export const pushCommand={'service':a46_0x5f2d7a(0x75),'command':a46_0x5f2d7a(0x77),'description':a46_0x5f2d7a(0x78),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};function a46_0x37d3(){const _0xcd8fca=['push','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','958125Bmkqxt','1595547dhNelc','30AbYfJy','20qXUJAe','832uLYrdU','608342jpWhqF','6845TaaTOB','8653SBQlal','53944cmbisy','24wbWcVy','skill','3565976kULnfS'];a46_0x37d3=function(){return _0xcd8fca;};return a46_0x37d3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x27aa7=a47_0x6e29;(function(_0x4725c4,_0x267445){const _0x471411=a47_0x6e29,_0x4fe828=_0x4725c4();while(!![]){try{const _0x31d5e1=parseInt(_0x471411(0xbd))/0x1+-parseInt(_0x471411(0xb3))/0x2*(-parseInt(_0x471411(0xbb))/0x3)+parseInt(_0x471411(0xc1))/0x4*(parseInt(_0x471411(0xb9))/0x5)+parseInt(_0x471411(0xc2))/0x6*(-parseInt(_0x471411(0xae))/0x7)+-parseInt(_0x471411(0xac))/0x8+parseInt(_0x471411(0xbc))/0x9*(parseInt(_0x471411(0xc0))/0xa)+-parseInt(_0x471411(0xb0))/0xb*(parseInt(_0x471411(0xba))/0xc);if(_0x31d5e1===_0x267445)break;else _0x4fe828['push'](_0x4fe828['shift']());}catch(_0x301eb5){_0x4fe828['push'](_0x4fe828['shift']());}}}(a47_0x4931,0x87ae7));function a47_0x6e29(_0xb3ef54,_0x6eeeeb){_0xb3ef54=_0xb3ef54-0xab;const _0x493176=a47_0x4931();let _0x6e29a4=_0x493176[_0xb3ef54];return _0x6e29a4;}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x4931(){const _0x824719=['1332238QNUYqb','errors','validate','warnings','dir','str','5gPAJOw','4666488XLoVVy','3DfJPYR','99PGrvnM','772907dUZgGt','type','skill','245930ZApkLk','2346964BCwurS','126KNahOk','read','3838296kArLrw','bool','290626SUtWhv','Skill\x20validation\x20passed.','11ddjIWy','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','strict'];a47_0x4931=function(){return _0x824719;};return a47_0x4931();}export const validateCommand={'service':a47_0x27aa7(0xbf),'command':a47_0x27aa7(0xb5),'description':a47_0x27aa7(0xb1),'risk':a47_0x27aa7(0xab),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x43b8f2){const _0x5ecdaa=a47_0x27aa7,_0x1566aa=_0x43b8f2[_0x5ecdaa(0xad)](_0x5ecdaa(0xb2)),_0x1adf42=validateSkillDirectory(_0x43b8f2[_0x5ecdaa(0xb8)](_0x5ecdaa(0xb7)),{'strict':_0x1566aa});return throwIfSkillValidationFailed(_0x1adf42,_0x1566aa),{'ok':!![],'data':{'dir':_0x1adf42['dir'],'type':_0x1adf42[_0x5ecdaa(0xbe)],'errors':_0x1adf42[_0x5ecdaa(0xb4)],'warnings':_0x1adf42[_0x5ecdaa(0xb6)]},'message':_0x5ecdaa(0xaf)};}};
|
|
@@ -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_0x4303dc=a48_0x46b6;(function(_0x1c2cc2,_0x4b52a4){const _0x36be7d=a48_0x46b6,_0x4bab29=_0x1c2cc2();while(!![]){try{const _0xc3a064=parseInt(_0x36be7d(0x1c8))/0x1+parseInt(_0x36be7d(0x1d3))/0x2*(parseInt(_0x36be7d(0x1d7))/0x3)+-parseInt(_0x36be7d(0x1d1))/0x4*(-parseInt(_0x36be7d(0x1d9))/0x5)+-parseInt(_0x36be7d(0x1bf))/0x6*(-parseInt(_0x36be7d(0x1ca))/0x7)+parseInt(_0x36be7d(0x1cf))/0x8*(-parseInt(_0x36be7d(0x1db))/0x9)+-parseInt(_0x36be7d(0x1c4))/0xa*(-parseInt(_0x36be7d(0x1dc))/0xb)+-parseInt(_0x36be7d(0x1c0))/0xc;if(_0xc3a064===_0x4b52a4)break;else _0x4bab29['push'](_0x4bab29['shift']());}catch(_0x535159){_0x4bab29['push'](_0x4bab29['shift']());}}}(a48_0x5dde,0x3ab8b));function a48_0x5dde(){const _0x2b9b13=['all','local','29980UUrXPH','code','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','name','203281vgWVbk','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','42mSgBAJ','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','company','scope','96uBspGM','boolean','1601832HrpXvb','personal','124lGljej','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','project','type','6483sfbQfZ','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','5wMsDBq','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','323487lkZybN','1562nKrXHL','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','Local\x20Skill\x20directory\x20containing\x20SKILL.md','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','target','confirm-warnings','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','string','strict','force','301326WsDXKf','9515088qMLtlO','dir'];a48_0x5dde=function(){return _0x2b9b13;};return a48_0x5dde();}import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x4303dc(0x1c5),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1e3)};function a48_0x46b6(_0x5f46e4,_0x536920){_0x5f46e4=_0x5f46e4-0x1be;const _0x5ddefc=a48_0x5dde();let _0x46b66b=_0x5ddefc[_0x5f46e4];return _0x46b66b;}export const SCOPE_FLAG={'name':'scope','type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cb),'enum':[a48_0x4303dc(0x1c2),a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const PUSH_SCOPE_FLAG={'name':'scope','type':'string','description':a48_0x4303dc(0x1d8),'default':a48_0x4303dc(0x1d2),'enum':[a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const LIST_SCOPE_FLAG={'name':a48_0x4303dc(0x1ce),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1c6),'enum':[a48_0x4303dc(0x1c2),'personal',a48_0x4303dc(0x1cd)]};export const LOCAL_FLAG={'name':a48_0x4303dc(0x1c3),'type':a48_0x4303dc(0x1d0),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':a48_0x4303dc(0x1c1),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1de)};export const CREATE_NAME_FLAG={'name':a48_0x4303dc(0x1c7),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1d4),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x4303dc(0x1c9)}};export const TYPE_FLAG={'name':a48_0x4303dc(0x1d6),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cc),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x4303dc(0x1e1),'type':a48_0x4303dc(0x1e4),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x4303dc(0x1be),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1df)};export const PROJECT_TARGET_FLAG={'name':a48_0x4303dc(0x1d5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1da)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x4303dc(0x1e2),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1e0)};export const STRICT_FLAG={'name':a48_0x4303dc(0x1e5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1dd)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a49_0x4b4e(_0x235acc,_0x3ca73e){_0x235acc=_0x235acc-0x111;const _0x5f15ae=a49_0x5f15();let _0x4b4ef8=_0x5f15ae[_0x235acc];return _0x4b4ef8;}(function(_0x3d46b8,_0x40a9ad){const _0x3b835c=a49_0x4b4e,_0x37eb5f=_0x3d46b8();while(!![]){try{const _0x5e8605=-parseInt(_0x3b835c(0x111))/0x1+-parseInt(_0x3b835c(0x113))/0x2*(-parseInt(_0x3b835c(0x112))/0x3)+parseInt(_0x3b835c(0x116))/0x4*(-parseInt(_0x3b835c(0x114))/0x5)+-parseInt(_0x3b835c(0x11a))/0x6+parseInt(_0x3b835c(0x117))/0x7*(-parseInt(_0x3b835c(0x115))/0x8)+-parseInt(_0x3b835c(0x118))/0x9*(-parseInt(_0x3b835c(0x11b))/0xa)+parseInt(_0x3b835c(0x119))/0xb;if(_0x5e8605===_0x40a9ad)break;else _0x37eb5f['push'](_0x37eb5f['shift']());}catch(_0x2d93c6){_0x37eb5f['push'](_0x37eb5f['shift']());}}}(a49_0x5f15,0xc126b));import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';function a49_0x5f15(){const _0x558ff7=['9ValKun','42606168cHjtPV','8415528lFIQaL','15236510QTCvdN','1235395ZUfGRi','555yKgRtf','7022KoTZGm','5LggtMw','9668432mZxqhx','5635160fciIXZ','7bxnOgx'];a49_0x5f15=function(){return _0x558ff7;};return a49_0x5f15();}import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a50_0x5c34(_0x1059e7,_0x277c6e){_0x1059e7=_0x1059e7-0x1d2;var _0x58d00b=a50_0x58d0();var _0x5c3448=_0x58d00b[_0x1059e7];return _0x5c3448;}(function(_0x4e332c,_0x2d581f){var _0x2e2f69=a50_0x5c34,_0x59670a=_0x4e332c();while(!![]){try{var _0x19642e=-parseInt(_0x2e2f69(0x1dc))/0x1+parseInt(_0x2e2f69(0x1e0))/0x2*(parseInt(_0x2e2f69(0x1d4))/0x3)+-parseInt(_0x2e2f69(0x1dd))/0x4+parseInt(_0x2e2f69(0x1d7))/0x5*(parseInt(_0x2e2f69(0x1de))/0x6)+parseInt(_0x2e2f69(0x1e4))/0x7+parseInt(_0x2e2f69(0x1d6))/0x8+parseInt(_0x2e2f69(0x1d2))/0x9*(parseInt(_0x2e2f69(0x1d8))/0xa);if(_0x19642e===_0x2d581f)break;else _0x59670a['push'](_0x59670a['shift']());}catch(_0x2a71fc){_0x59670a['push'](_0x59670a['shift']());}}}(a50_0x58d0,0xc0a12));function a50_0x58d0(){var _0x4a5218=['length','4pHyXRw','some','string','ossPath','75159FoUvhC','612TMmlEY','isArray','147312lzuZWi','object','11411448rcaOJs','55uZCkEk','136960UmwXfc','path','SKILL.md','files','1311965FhUNzf','5340592HSretc','528774zJssbo'];a50_0x58d0=function(){return _0x4a5218;};return a50_0x58d0();}export function isPackageBackedManifest(_0xf04f1c){var _0x31c781=a50_0x5c34;return!!_0xf04f1c&&typeof _0xf04f1c===_0x31c781(0x1d5)&&!Array[_0x31c781(0x1d3)](_0xf04f1c)&&typeof _0xf04f1c[_0x31c781(0x1e3)]===_0x31c781(0x1e2)&&_0xf04f1c[_0x31c781(0x1e3)][_0x31c781(0x1df)]>0x0&&Array[_0x31c781(0x1d3)](_0xf04f1c[_0x31c781(0x1db)]);}export function isMultiFileManifest(_0x544297){var _0x5932e1=a50_0x5c34;return!!_0x544297&&typeof _0x544297===_0x5932e1(0x1d5)&&!Array[_0x5932e1(0x1d3)](_0x544297)&&Array[_0x5932e1(0x1d3)](_0x544297[_0x5932e1(0x1db)])&&_0x544297[_0x5932e1(0x1db)][_0x5932e1(0x1e1)](_0x5ae5cb=>_0x5ae5cb[_0x5932e1(0x1d9)]!==_0x5932e1(0x1da));}
|