@lovrabet/lovrabet-cli 2.1.18-beta.2 → 2.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/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.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/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.d.ts +7 -14
- 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(_0x226a34,_0x4ae622){const _0x2c993b=a39_0x394c,_0x40baef=_0x226a34();while(!![]){try{const _0x4dc8c3=-parseInt(_0x2c993b(0x201))/0x1*(-parseInt(_0x2c993b(0x1ef))/0x2)+parseInt(_0x2c993b(0x1de))/0x3*(-parseInt(_0x2c993b(0x20a))/0x4)+parseInt(_0x2c993b(0x220))/0x5+parseInt(_0x2c993b(0x222))/0x6+parseInt(_0x2c993b(0x21c))/0x7+-parseInt(_0x2c993b(0x22c))/0x8+parseInt(_0x2c993b(0x1fd))/0x9*(-parseInt(_0x2c993b(0x1d1))/0xa);if(_0x4dc8c3===_0x4ae622)break;else _0x40baef['push'](_0x40baef['shift']());}catch(_0xee2dfe){_0x40baef['push'](_0x40baef['shift']());}}}(a39_0x2e63,0x5ac81));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x31f3f7,_0x58ac6a){const _0x28cae9=a39_0x394c,_0xba398b=listLocalServiceTrees();let _0x57cca7;for(const _0x32f2c5 of _0xba398b){const _0x34c76d=matchServiceTreeCommand(_0x32f2c5,_0x31f3f7);if(!_0x34c76d)continue;(!_0x57cca7||_0x34c76d[_0x28cae9(0x215)][_0x28cae9(0x1fc)][_0x28cae9(0x21d)]>_0x57cca7[_0x28cae9(0x215)][_0x28cae9(0x1fc)][_0x28cae9(0x21d)])&&(_0x57cca7={'tree':_0x32f2c5,'command':_0x34c76d[_0x28cae9(0x215)],'remainingArgs':_0x34c76d[_0x28cae9(0x1e9)]});}if(!_0x57cca7)return undefined;const _0x382aa8={..._0x58ac6a};return applyAppBinding(_0x57cca7['tree'],_0x57cca7[_0x28cae9(0x215)],_0x382aa8),{'definition':buildDynamicCommandDefinition(_0x57cca7[_0x28cae9(0x1dc)],_0x57cca7[_0x28cae9(0x215)]),'args':_0x57cca7['remainingArgs'],'flags':_0x382aa8,'tree':_0x57cca7[_0x28cae9(0x1dc)],'command':_0x57cca7[_0x28cae9(0x215)]};}export function generateDynamicServiceHelp(_0x3aa24b){const _0x3bbe84=a39_0x394c,_0x1093bd=listLocalServiceTrees()[_0x3bbe84(0x1c4)](_0x1f3da8=>_0x1f3da8[_0x3bbe84(0x228)][_0x3bbe84(0x1f8)]===_0x3aa24b);if(!_0x1093bd)return undefined;const _0x5a141f=[CLI_BIN_NAME+'\x20'+_0x3aa24b+_0x3bbe84(0x1d4),'',_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1fa)]||_0x3aa24b,_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1ce)]?'\x20\x20'+_0x1093bd[_0x3bbe84(0x228)][_0x3bbe84(0x1ce)]:'','',_0x3bbe84(0x205),..._0x1093bd[_0x3bbe84(0x1e2)]['map'](_0x4e7fa0=>{const _0x25d8cc=_0x3bbe84,_0x4fa579=_0x4e7fa0[_0x25d8cc(0x1fc)][_0x25d8cc(0x1c3)](0x1)[_0x25d8cc(0x1e5)]('\x20'),_0x423d5e=_0x4e7fa0['risk']===_0x25d8cc(0x22d)?'':'\x20['+_0x4e7fa0[_0x25d8cc(0x1f7)]+']';return'\x20\x20'+_0x4fa579[_0x25d8cc(0x1fb)](0x18)+'\x20'+(_0x4e7fa0[_0x25d8cc(0x1ce)]||'')+_0x423d5e;}),'',_0x3bbe84(0x1e6)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x3aa24b+_0x3bbe84(0x1ec)]['filter'](Boolean);return _0x5a141f[_0x3bbe84(0x1e5)]('\x0a');}export function listDynamicServiceEntries(){const _0x1104b9=a39_0x394c;return listLocalServices()[_0x1104b9(0x1d6)](_0x575919=>{const _0x109fb5=_0x1104b9,_0x7c717f=_0x575919[_0x109fb5(0x221)];return{'service':_0x7c717f[_0x109fb5(0x228)][_0x109fb5(0x1f8)],'label':_0x7c717f['service'][_0x109fb5(0x1fa)]||_0x7c717f[_0x109fb5(0x228)][_0x109fb5(0x1f8)],'commands':_0x7c717f[_0x109fb5(0x1e2)][_0x109fb5(0x1d6)](_0x535a5e=>({'command':dynamicCommandName(_0x535a5e),'description':_0x535a5e[_0x109fb5(0x1ce)]||_0x109fb5(0x21f)+_0x535a5e[_0x109fb5(0x20b)],'tag':riskTag(_0x535a5e[_0x109fb5(0x1f7)])}))};});}export function getDynamicServiceEntry(_0x248157){const _0x2c93e8=a39_0x394c;return listDynamicServiceEntries()[_0x2c93e8(0x1c4)](_0x2000a2=>_0x2000a2['service']===_0x248157);}export function listDynamicServiceDefinitions(_0x15bae0){const _0x158fdd=a39_0x394c;return listLocalServiceTrees()['filter'](_0x2ece64=>!_0x15bae0||_0x2ece64[_0x158fdd(0x228)][_0x158fdd(0x1f8)]===_0x15bae0)[_0x158fdd(0x1f0)](_0x677afd=>_0x677afd[_0x158fdd(0x1e2)][_0x158fdd(0x1d6)](_0x222f17=>buildDynamicCommandDefinition(_0x677afd,_0x222f17)));}export function getDynamicServiceDefinitions(_0x16215f){const _0x1b1665=listDynamicServiceDefinitions(_0x16215f);return _0x1b1665['length']>0x0?_0x1b1665:undefined;}export function findDynamicServiceDefinition(_0x9448b6,_0x2ed4da){const _0x20b49f=a39_0x394c;return listDynamicServiceDefinitions(_0x9448b6)[_0x20b49f(0x1c4)](_0x202017=>_0x202017['command']===_0x2ed4da);}export function buildDynamicCommandDefinition(_0x5e535c,_0x8658f3){const _0x4b5a6f=a39_0x394c;return{'service':_0x5e535c[_0x4b5a6f(0x228)][_0x4b5a6f(0x1f8)],'command':dynamicCommandName(_0x8658f3),'description':_0x8658f3['description']||_0x4b5a6f(0x21f)+_0x8658f3[_0x4b5a6f(0x20b)],'risk':_0x8658f3[_0x4b5a6f(0x1f7)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x8658f3[_0x4b5a6f(0x1d0)][_0x4b5a6f(0x1d6)](_0x14f85c=>({'name':_0x14f85c[_0x4b5a6f(0x1fa)],'description':_0x14f85c['description']||_0x14f85c[_0x4b5a6f(0x1fa)],'required':_0x14f85c[_0x4b5a6f(0x212)]})),'flags':_0x8658f3['flags'][_0x4b5a6f(0x1d6)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x8658f3),async 'dryRun'(_0xf742a1){const _0x34981b=_0x4b5a6f,_0x3fdf77=await compilePlan(_0x8658f3,_0xf742a1);return{'method':_0x34981b(0x1ca),'url':_0x8658f3[_0x34981b(0x20b)],'body':{'target':targetPreview(_0x3fdf77),'params':_0x3fdf77[_0x34981b(0x1c9)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x8658f3[_0x34981b(0x20b)]};},async 'execute'(_0x85c409){const _0x39309c=_0x4b5a6f,_0x34627d=await compilePlan(_0x8658f3,_0x85c409),_0x13a50e=Date[_0x39309c(0x208)](),_0x1ee543=await executePlan(_0x34627d,_0x8658f3,_0x85c409),_0x2a8002=Date[_0x39309c(0x208)]()-_0x13a50e;return{'ok':!![],'data':{'service':_0x5e535c['service'],'command':_0x8658f3['cliPath'],'target':targetPreview(_0x34627d),'result':_0x1ee543,'elapsed':_0x2a8002},'message':_0x39309c(0x1cc)+_0x8658f3['cliPath']+_0x39309c(0x216)+_0x2a8002+'ms'};}};}function dynamicCommandName(_0x567e06){const _0x1e4543=a39_0x394c;return _0x567e06[_0x1e4543(0x1fc)][_0x1e4543(0x1c3)](0x1)[_0x1e4543(0x1e5)]('\x20');}function riskTag(_0x1ca161){const _0x13d682=a39_0x394c;return _0x1ca161===_0x13d682(0x22d)?'':_0x13d682(0x1c8)+_0x1ca161+']';}function flagToCommandFlag(_0x2430ed){const _0x276f99=a39_0x394c;return{'name':_0x2430ed[_0x276f99(0x219)],'type':_0x2430ed[_0x276f99(0x20c)]===_0x276f99(0x1fe)?_0x276f99(0x209):_0x2430ed[_0x276f99(0x20c)],'description':_0x2430ed[_0x276f99(0x1ce)]||_0x2430ed['name'],'required':_0x2430ed[_0x276f99(0x212)],'default':isPrimitiveFlagDefault(_0x2430ed['default'])?_0x2430ed[_0x276f99(0x21b)]:undefined,'enum':_0x2430ed[_0x276f99(0x211)]};}async function compilePlan(_0x1d6295,_0x3cc89a){const _0x38dbc1=a39_0x394c;return compileServiceTreeCommand(_0x1d6295,{'flags':_0x3cc89a[_0x38dbc1(0x229)],'args':_0x3cc89a[_0x38dbc1(0x1d0)],'context':await buildServiceContext(_0x1d6295,_0x3cc89a)});}async function buildServiceContext(_0x44b65d,_0x2f2027){const _0x30a2f9=a39_0x394c,_0x124393={'appCode':_0x2f2027['appCode'],'env':_0x2f2027[_0x30a2f9(0x1f2)],'envName':_0x2f2027['envName']};if(!usesRuntimeContext(_0x44b65d))return _0x124393;const _0xf34707=await getLoginUserInfo(),_0x352f2e=pickFirst(_0xf34707[_0x30a2f9(0x1d7)],_0xf34707['id']);return{..._0x124393,'user':_0xf34707,'userId':_0x352f2e,'id':_0xf34707['id'],'username':pickFirst(_0xf34707[_0x30a2f9(0x204)],_0xf34707[_0x30a2f9(0x1df)],_0xf34707['loginName']),'userName':_0xf34707[_0x30a2f9(0x1df)],'nickname':pickFirst(_0xf34707['nickname'],_0xf34707[_0x30a2f9(0x206)]),'nickName':_0xf34707[_0x30a2f9(0x206)],'tenantCode':_0xf34707[_0x30a2f9(0x1ff)],'employeeId':_0xf34707[_0x30a2f9(0x22a)]};}function usesRuntimeContext(_0x1ca1ae){const _0x2e3e27=a39_0x394c;return _0x1ca1ae[_0x2e3e27(0x1d2)][_0x2e3e27(0x1e7)](_0x231019=>typeof _0x231019[_0x2e3e27(0x1f3)]==='string'&&(_0x231019[_0x2e3e27(0x1f3)][_0x2e3e27(0x1eb)](_0x2e3e27(0x224))||_0x231019[_0x2e3e27(0x1f3)][_0x2e3e27(0x1eb)](_0x2e3e27(0x20e))));}function pickFirst(..._0x1dc730){const _0x444db7=a39_0x394c;return _0x1dc730[_0x444db7(0x1c4)](_0x415ad5=>_0x415ad5!==undefined&&_0x415ad5!==null);}function a39_0x2e63(){const _0x455c3e=['fromEntries','tree','appcode','3MPMPVD','userName','push','validation','commands','\x20\x20\x20\x20functionName:\x20','Unsupported\x20service\x20target\x20kind:\x20','join','Use\x20`','some','env','remainingArgs','dbtableConfig','startsWith','`\x20to\x20inspect\x20the\x20manifest.','appRef','\x20->\x20','251046pWBSOG','flatMap','target','envName','source','kind','sqlCode','appBindings','risk','code','Cannot\x20resolve\x20datatable\x20\x22','name','padEnd','fullPath','135fJtMPJ','json','tenantCode','\x20\x20SERVICE\x20TREE\x20TARGET','3LRYdiV','bffCode','boolean','username','Commands:','nickName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','now','string','2448092hmAsbC','cliPath','type','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','ctx.','\x20\x20\x20\x20datatable:\x20','\x22\x20in\x20service\x20command\x20','enum','required','filter','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','command','\x20completed\x20in\x20','number','scriptName','cliName','operator','default','2784040xEzZEL','length','datatable','Run\x20service\x20command\x20','3479120sKEtPH','normalizedManifest','4255146zsjEfs','trim','context.','\x20\x20\x20\x20','appCode','datasetCode','service','rawFlags','employeeId','tableName','4174440jBFMUV','read','slice','find','const','app','entries','\x20\x20[','params','SERVICE_TREE','\x20\x20\x20\x20command:\x20','Service\x20command\x20','data','description','\x20\x20\x20\x20datasetCode:\x20','args','449090QslveL','mapTo','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20<command>\x20[flags]','bffId','map','userId','\x20requires\x20target.functionName.','\x20\x20\x20\x20sqlCode:\x20','\x20requires\x20target.sqlCode.'];a39_0x2e63=function(){return _0x455c3e;};return a39_0x2e63();}function a39_0x394c(_0x232ffe,_0x506a9b){_0x232ffe=_0x232ffe-0x1c3;const _0x2e635b=a39_0x2e63();let _0x394c13=_0x2e635b[_0x232ffe];return _0x394c13;}async function executePlan(_0x4b25c0,_0x543d44,_0x3dfcd8){const _0x67b482=a39_0x394c;if(_0x4b25c0[_0x67b482(0x1f4)]===_0x67b482(0x1cd)){const _0x4c4ebd=await resolveDatasetCode(_0x4b25c0,_0x543d44,_0x3dfcd8);return executeData(_0x4c4ebd,_0x4b25c0[_0x67b482(0x215)],_0x4b25c0[_0x67b482(0x1c9)]);}if(_0x4b25c0[_0x67b482(0x1f4)]==='sql'){if(!_0x4b25c0[_0x67b482(0x1f5)])throw CliErrors['validation'](_0x67b482(0x1cc)+_0x543d44['cliPath']+_0x67b482(0x1da));return executeSdkSql(_0x4b25c0['sqlCode'],normalizeScalarParams(_0x4b25c0['params']));}if(_0x4b25c0[_0x67b482(0x1f4)]==='bff'){const _0x93964b=_0x4b25c0[_0x67b482(0x218)]||_0x4b25c0[_0x67b482(0x202)]||(_0x4b25c0['bffId']==null?'':String(_0x4b25c0[_0x67b482(0x1d5)]));if(!_0x93964b)throw CliErrors[_0x67b482(0x1e1)]('Service\x20command\x20'+_0x543d44[_0x67b482(0x20b)]+_0x67b482(0x1d8));return executeSdkBff(_0x93964b,_0x4b25c0[_0x67b482(0x1c9)]);}throw CliErrors[_0x67b482(0x1e1)](_0x67b482(0x1e4)+_0x4b25c0[_0x67b482(0x1f4)]);}async function resolveDatasetCode(_0x5804b4,_0x1e8baf,_0xbd66e0){const _0x3574da=a39_0x394c;if(_0x5804b4[_0x3574da(0x227)])return _0x5804b4[_0x3574da(0x227)];if(!_0x5804b4['datatable'])throw CliErrors[_0x3574da(0x1e1)](_0x3574da(0x1cc)+_0x1e8baf['cliPath']+_0x3574da(0x20d));const _0x4690eb=await listDatasets(_0xbd66e0['appCode']),_0x30a07f=_0x4690eb[_0x3574da(0x1c4)](_0x31982a=>_0x31982a[_0x3574da(0x1ea)]?.[_0x3574da(0x22b)]===_0x5804b4['datatable']);if(!_0x30a07f?.[_0x3574da(0x1f8)])throw CliErrors[_0x3574da(0x1e1)](_0x3574da(0x1f9)+_0x5804b4[_0x3574da(0x21e)]+_0x3574da(0x214)+_0xbd66e0[_0x3574da(0x226)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x30a07f[_0x3574da(0x1f8)];}function applyAppBinding(_0x12a220,_0x336270,_0x33ade2){const _0x17b9ed=a39_0x394c,_0x165dd1=_0x336270['target'][_0x17b9ed(0x1ed)];if(!_0x165dd1)return;const _0x1bb899=_0x12a220[_0x17b9ed(0x1f6)][_0x165dd1];if(!_0x1bb899)throw CliErrors[_0x17b9ed(0x1e1)]('Unknown\x20appRef\x20\x22'+_0x165dd1+_0x17b9ed(0x210)+_0x336270[_0x17b9ed(0x20b)]+'.',_0x17b9ed(0x207));const _0x1699af=_0x1bb899['appcode']||_0x1bb899[_0x17b9ed(0x226)];_0x1699af&&!hasText(_0x33ade2[_0x17b9ed(0x1dd)])&&(_0x33ade2[_0x17b9ed(0x1dd)]=_0x1699af),_0x1bb899['app']&&!hasText(_0x33ade2[_0x17b9ed(0x1c6)])&&!hasText(_0x33ade2[_0x17b9ed(0x1dd)])&&(_0x33ade2[_0x17b9ed(0x1c6)]=_0x1bb899[_0x17b9ed(0x1c6)]),_0x1bb899[_0x17b9ed(0x1e8)]&&!hasText(_0x33ade2[_0x17b9ed(0x1e8)])&&(_0x33ade2['env']=_0x1bb899['env']);}function renderDynamicCommandHelp(_0xb622c9){const _0x5607dc=a39_0x394c,_0x1eeabe=[_0x5607dc(0x200),_0x5607dc(0x1d3)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x1f4)],_0x5607dc(0x1cb)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x215)]];if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x227)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1cf)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x227)]);if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x21e)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x20f)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x21e)]);if(_0xb622c9[_0x5607dc(0x1f1)]['sqlCode'])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1d9)+_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x1f5)]);if(_0xb622c9[_0x5607dc(0x1f1)][_0x5607dc(0x218)])_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x1e3)+_0xb622c9[_0x5607dc(0x1f1)]['scriptName']);if(_0xb622c9[_0x5607dc(0x1d2)][_0x5607dc(0x21d)]>0x0){_0x1eeabe[_0x5607dc(0x1e0)]('','\x20\x20MAP\x20TO');for(const _0x4463b1 of _0xb622c9[_0x5607dc(0x1d2)]){_0x1eeabe[_0x5607dc(0x1e0)](_0x5607dc(0x225)+(_0x4463b1['source']||_0x5607dc(0x1c5))+_0x5607dc(0x1ee)+_0x4463b1[_0x5607dc(0x1f1)]+(_0x4463b1[_0x5607dc(0x21a)]?'.'+_0x4463b1[_0x5607dc(0x21a)]:''));}}return _0x1eeabe[_0x5607dc(0x1e5)]('\x0a');}function targetPreview(_0x567932){const _0x5436e8=a39_0x394c;return{'kind':_0x567932[_0x5436e8(0x1f4)],'command':_0x567932[_0x5436e8(0x215)],'appRef':_0x567932[_0x5436e8(0x1ed)],'datasetCode':_0x567932['datasetCode'],'datatable':_0x567932[_0x5436e8(0x21e)],'sqlCode':_0x567932[_0x5436e8(0x1f5)],'bffCode':_0x567932[_0x5436e8(0x202)],'bffId':_0x567932[_0x5436e8(0x1d5)],'functionName':_0x567932[_0x5436e8(0x218)]};}function normalizeScalarParams(_0x2b352c){const _0x5ce3df=a39_0x394c;return Object[_0x5ce3df(0x1db)](Object[_0x5ce3df(0x1c7)](_0x2b352c)[_0x5ce3df(0x213)](([,_0x18c04b])=>typeof _0x18c04b===_0x5ce3df(0x209)||typeof _0x18c04b===_0x5ce3df(0x217)));}function hasText(_0x4f8f31){const _0xa137c7=a39_0x394c;return typeof _0x4f8f31===_0xa137c7(0x209)&&_0x4f8f31[_0xa137c7(0x223)]()[_0xa137c7(0x21d)]>0x0;}function isPrimitiveFlagDefault(_0x53a435){const _0x40c144=a39_0x394c;return _0x53a435===undefined||typeof _0x53a435===_0x40c144(0x209)||typeof _0x53a435==='number'||typeof _0x53a435===_0x40c144(0x203);}
|
|
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 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a40_0x433b(){const _0x481b78=['1331348zLWHIQ','6276416JVUQSR','actions','5BZHvvC','.target','hasOwnProperty','4978338WqGioo','bff','kind','7318881RKPTXA','isArray','trim','10490380tTbyjg','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','9iHJhIv','action','object','resources','commands','functionName','functionName\x20must\x20be\x20a\x20non-empty\x20string.','$.resources','bff.exec','1092138pRdBxR','string','entries','6434995EsPVWC','target','fromEntries','.scriptName','forEach','call','error','map','scriptName','1HsvVHW','$.commands['];a40_0x433b=function(){return _0x481b78;};return a40_0x433b();}(function(_0x41129e,_0x2597a2){const _0x1aac37=a40_0x5b58,_0x2848d6=_0x41129e();while(!![]){try{const _0x11cbb2=-parseInt(_0x1aac37(0x15a))/0x1*(-parseInt(_0x1aac37(0x14e))/0x2)+-parseInt(_0x1aac37(0x16a))/0x3*(parseInt(_0x1aac37(0x15c))/0x4)+-parseInt(_0x1aac37(0x15f))/0x5*(parseInt(_0x1aac37(0x162))/0x6)+parseInt(_0x1aac37(0x151))/0x7+parseInt(_0x1aac37(0x15d))/0x8+-parseInt(_0x1aac37(0x165))/0x9+parseInt(_0x1aac37(0x168))/0xa;if(_0x11cbb2===_0x2597a2)break;else _0x2848d6['push'](_0x2848d6['shift']());}catch(_0x4be4ae){_0x2848d6['push'](_0x2848d6['shift']());}}}(a40_0x433b,0xa085d));export function adaptServiceTreeManifestForLegacyFramework(_0x216d7e){const _0x3a73d4=a40_0x5b58,_0x12679b=cloneJsonValue(_0x216d7e),_0x5549f9=[];if(!isObjectRecord(_0x12679b))return{'manifest':_0x12679b,'errors':_0x5549f9};return Array[_0x3a73d4(0x166)](_0x12679b[_0x3a73d4(0x16e)])&&_0x12679b[_0x3a73d4(0x16e)][_0x3a73d4(0x155)]((_0x1df5e2,_0x2fa919)=>{const _0x54587b=_0x3a73d4;if(!isObjectRecord(_0x1df5e2))return;adaptBffTarget(_0x1df5e2[_0x54587b(0x152)],_0x54587b(0x15b)+_0x2fa919+'].target',_0x5549f9);}),adaptResources(_0x12679b[_0x3a73d4(0x16d)],_0x3a73d4(0x171),_0x5549f9),{'manifest':_0x12679b,'errors':_0x5549f9};}export function toPublicServiceTreeTarget(_0x486343){const _0x50316f=a40_0x5b58,{scriptName:_0x431b3b,..._0x4bd6ef}=_0x486343;return typeof _0x431b3b===_0x50316f(0x14f)&&_0x431b3b['trim']()&&(_0x4bd6ef[_0x50316f(0x16f)]=_0x431b3b),_0x4bd6ef;}export function toPublicNormalizedServiceTree(_0x4d7cdb){const _0x1bebb2=a40_0x5b58;return{..._0x4d7cdb,'commands':_0x4d7cdb[_0x1bebb2(0x16e)][_0x1bebb2(0x158)](_0xab85de=>({..._0xab85de,'target':toPublicServiceTreeTarget(_0xab85de[_0x1bebb2(0x152)])}))};}function adaptResources(_0x12129f,_0x417de9,_0xd813b4){const _0x35389b=a40_0x5b58;if(!isObjectRecord(_0x12129f))return;for(const [_0x1ba174,_0xf0c1fd]of Object[_0x35389b(0x150)](_0x12129f)){if(!isObjectRecord(_0xf0c1fd))continue;const _0x55640d=_0x417de9+'.'+_0x1ba174;if(isObjectRecord(_0xf0c1fd[_0x35389b(0x15e)]))for(const [_0x547f9f,_0x315dfc]of Object[_0x35389b(0x150)](_0xf0c1fd['actions'])){if(!isObjectRecord(_0x315dfc))continue;const _0x27ed0e=_0x55640d+'.actions.'+_0x547f9f,_0x4fb346=isObjectRecord(_0x315dfc[_0x35389b(0x152)])&&_0x315dfc['target']['kind']===_0x35389b(0x163);adaptBffTarget(_0x315dfc[_0x35389b(0x152)],_0x27ed0e+_0x35389b(0x160),_0xd813b4),(_0x4fb346||isBffAction(_0x315dfc))&&adaptFunctionNameField(_0x315dfc,_0x27ed0e,_0xd813b4);}adaptResources(_0xf0c1fd['resources'],_0x55640d+'.resources',_0xd813b4);}}function adaptBffTarget(_0x8db452,_0x2ab1c5,_0x43405e){const _0x240203=a40_0x5b58;if(!isObjectRecord(_0x8db452)||_0x8db452[_0x240203(0x164)]!=='bff')return;adaptFunctionNameField(_0x8db452,_0x2ab1c5,_0x43405e);}function adaptFunctionNameField(_0x27f6da,_0x17b23f,_0x3900fe){const _0x1c2145=a40_0x5b58;Object['prototype'][_0x1c2145(0x161)][_0x1c2145(0x156)](_0x27f6da,_0x1c2145(0x159))&&_0x3900fe['push']({'level':_0x1c2145(0x157),'path':_0x17b23f+_0x1c2145(0x154),'message':_0x1c2145(0x169)});if(Object['prototype'][_0x1c2145(0x161)][_0x1c2145(0x156)](_0x27f6da,_0x1c2145(0x16f))){if(typeof _0x27f6da[_0x1c2145(0x16f)]!==_0x1c2145(0x14f)||!_0x27f6da[_0x1c2145(0x16f)][_0x1c2145(0x167)]()){_0x3900fe['push']({'level':_0x1c2145(0x157),'path':_0x17b23f+'.functionName','message':_0x1c2145(0x170)}),delete _0x27f6da[_0x1c2145(0x16f)];return;}_0x27f6da[_0x1c2145(0x159)]=_0x27f6da[_0x1c2145(0x16f)],delete _0x27f6da[_0x1c2145(0x16f)];}}function a40_0x5b58(_0x1c1b93,_0x5aff27){_0x1c1b93=_0x1c1b93-0x14d;const _0x433b7a=a40_0x433b();let _0x5b588d=_0x433b7a[_0x1c1b93];return _0x5b588d;}function isBffAction(_0x1ad0db){const _0x3e1f2c=a40_0x5b58;return _0x1ad0db[_0x3e1f2c(0x164)]==='bff'||_0x1ad0db[_0x3e1f2c(0x16b)]===_0x3e1f2c(0x14d)||_0x1ad0db[_0x3e1f2c(0x152)]===_0x3e1f2c(0x14d);}function cloneJsonValue(_0xa6bc1e){const _0x50cfbb=a40_0x5b58;if(Array[_0x50cfbb(0x166)](_0xa6bc1e))return _0xa6bc1e['map'](_0x3e43ec=>cloneJsonValue(_0x3e43ec));if(isObjectRecord(_0xa6bc1e))return Object[_0x50cfbb(0x153)](Object['entries'](_0xa6bc1e)['map'](([_0x527558,_0x42b65d])=>[_0x527558,cloneJsonValue(_0x42b65d)]));return _0xa6bc1e;}function isObjectRecord(_0x561bb1){const _0x254a39=a40_0x5b58;return Boolean(_0x561bb1)&&typeof _0x561bb1===_0x254a39(0x16c)&&!Array[_0x254a39(0x166)](_0x561bb1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a41_0x340f95=a41_0x89ed;(function(_0x4297ef,_0x1573ae){const _0x39ec4e=a41_0x89ed,_0x223bac=_0x4297ef();while(!![]){try{const _0x3f6aaa=-parseInt(_0x39ec4e(0x1c7))/0x1+parseInt(_0x39ec4e(0x1c4))/0x2+parseInt(_0x39ec4e(0x1e2))/0x3*(-parseInt(_0x39ec4e(0x1d9))/0x4)+parseInt(_0x39ec4e(0x1be))/0x5+parseInt(_0x39ec4e(0x1a9))/0x6*(-parseInt(_0x39ec4e(0x1e1))/0x7)+parseInt(_0x39ec4e(0x1d5))/0x8*(-parseInt(_0x39ec4e(0x1df))/0x9)+parseInt(_0x39ec4e(0x1b4))/0xa;if(_0x3f6aaa===_0x1573ae)break;else _0x223bac['push'](_0x223bac['shift']());}catch(_0x3b6d17){_0x223bac['push'](_0x223bac['shift']());}}}(a41_0x1f7a,0x780d3));function a41_0x1f7a(){const _0x4b6f8e=['Local\x20service\x20not\x20found:\x20','Service\x20Tree\x20manifest\x20file\x20path','length','manifests','import','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','detail','required','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','5014792LGpIex','reduce','normalizedManifest','flags','188264CKnZRa','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','list','entry','Local\x20service\x20code,\x20for\x20example\x20crm','\x20service\x20','9evgnOT','hash','1347773DXlzYy','9hjRPXm','file','manifest','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','write','WRITE','report','registryPath','Removed\x20service\x20','string','commands','risk','entries','registryServiceCode','6TBeXcs','cliPath','errors','name','str','Imported\x20','imported','serviceCode','source','registryIndex','service','3361590yHURGb','Service\x20manifest\x20validation\x20passed.','warnings','map','version','validate','serviceCount','read','type','Service\x20registry\x20validation\x20passed.','2689365EybWHc','target','export','\x20service(s),\x20updated\x20','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','filePath','1157642bIRkZy','replaced','updated','536mrgURL','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','kind','\x20service(s).','cliName'];a41_0x1f7a=function(){return _0x4b6f8e;};return a41_0x1f7a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a41_0x340f95(0x1e3),'type':a41_0x340f95(0x1a4),'required':!![],'description':a41_0x340f95(0x1cd)},SERVICE_FLAG={'name':a41_0x340f95(0x1b3),'type':a41_0x340f95(0x1a4),'required':!![],'description':a41_0x340f95(0x1dd),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function a41_0x89ed(_0x472df1,_0x514fac){_0x472df1=_0x472df1-0x1a3;const _0x1f7a3f=a41_0x1f7a();let _0x89ed18=_0x1f7a3f[_0x472df1];return _0x89ed18;}function summarizeService(_0x47f5c3){const _0x50c9f8=a41_0x340f95;return{'serviceCode':_0x47f5c3[_0x50c9f8(0x1b0)],'name':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1b3)][_0x50c9f8(0x1ac)],'version':_0x47f5c3[_0x50c9f8(0x1b8)],'importedAt':_0x47f5c3['importedAt'],'source':_0x47f5c3['source'],'commandCount':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1a5)]['length'],'commands':_0x47f5c3[_0x50c9f8(0x1d7)][_0x50c9f8(0x1a5)]['map'](_0x4e5230=>({'path':_0x4e5230[_0x50c9f8(0x1aa)],'description':_0x4e5230['description'],'risk':_0x4e5230[_0x50c9f8(0x1a6)],'target':toPublicServiceTreeTarget(_0x4e5230[_0x50c9f8(0x1bf)]),'flags':_0x4e5230[_0x50c9f8(0x1d8)][_0x50c9f8(0x1b7)](_0x59c04e=>({'name':_0x59c04e['name'],'cliName':_0x59c04e[_0x50c9f8(0x1cb)],'type':_0x59c04e[_0x50c9f8(0x1bc)],'required':_0x59c04e[_0x50c9f8(0x1d3)]===!![]}))}))};}function summarizeLoadedManifest(_0x1eed6e){const _0x48e76f=a41_0x340f95;return{'service':_0x1eed6e['normalizedManifest']?.['service'],'version':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1b8)],'commandCount':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1a5)][_0x48e76f(0x1ce)]??0x0,'commands':_0x1eed6e[_0x48e76f(0x1d7)]?.[_0x48e76f(0x1a5)][_0x48e76f(0x1b7)](_0x39b921=>({'path':_0x39b921[_0x48e76f(0x1aa)],'risk':_0x39b921[_0x48e76f(0x1a6)],'target':toPublicServiceTreeTarget(_0x39b921[_0x48e76f(0x1bf)])}))??[],'registryIndex':_0x1eed6e[_0x48e76f(0x1b2)],'registryServiceCode':_0x1eed6e[_0x48e76f(0x1a8)],'errors':_0x1eed6e[_0x48e76f(0x1e8)][_0x48e76f(0x1ab)],'warnings':_0x1eed6e[_0x48e76f(0x1e8)][_0x48e76f(0x1b6)]};}export const serviceDefinitions=[{'service':'service','command':a41_0x340f95(0x1b9),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a41_0x340f95(0x1bb),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3460ab){const _0x8c65e4=a41_0x340f95,_0x4903f1=loadServiceManifestFromFile(_0x3460ab[_0x8c65e4(0x1ad)](_0x8c65e4(0x1e3)));if(!_0x4903f1['report']['ok'])return{'ok':![],'data':{'file':_0x4903f1['filePath'],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1['kind'],'serviceCount':_0x4903f1[_0x8c65e4(0x1cf)]['length'],'services':_0x4903f1['manifests']['map'](summarizeLoadedManifest),'errors':_0x4903f1[_0x8c65e4(0x1e8)]['errors'],'warnings':_0x4903f1[_0x8c65e4(0x1e8)][_0x8c65e4(0x1b6)]},'message':formatValidationFailure(_0x4903f1['report'])};if(_0x4903f1['kind']==='registry'||_0x4903f1[_0x8c65e4(0x1cf)][_0x8c65e4(0x1ce)]!==0x1)return{'ok':!![],'data':{'file':_0x4903f1['filePath'],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1[_0x8c65e4(0x1c9)],'serviceCount':_0x4903f1['manifests'][_0x8c65e4(0x1ce)],'commandCount':_0x4903f1['manifests'][_0x8c65e4(0x1d6)]((_0x57cadf,_0x25fcbe)=>_0x57cadf+(_0x25fcbe[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)][_0x8c65e4(0x1ce)]??0x0),0x0),'services':_0x4903f1[_0x8c65e4(0x1cf)][_0x8c65e4(0x1b7)](summarizeLoadedManifest),'warnings':_0x4903f1[_0x8c65e4(0x1e8)]['warnings']},'message':_0x8c65e4(0x1bd)};return{'ok':!![],'data':{'file':_0x4903f1[_0x8c65e4(0x1c3)],'hash':_0x4903f1[_0x8c65e4(0x1e0)],'kind':_0x4903f1[_0x8c65e4(0x1c9)],'service':_0x4903f1[_0x8c65e4(0x1d7)]?.['service'],'version':_0x4903f1['normalizedManifest']?.['version'],'commandCount':_0x4903f1[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)][_0x8c65e4(0x1ce)]??0x0,'commands':_0x4903f1[_0x8c65e4(0x1d7)]?.[_0x8c65e4(0x1a5)]['map'](_0x5a38d1=>({'path':_0x5a38d1[_0x8c65e4(0x1aa)],'risk':_0x5a38d1[_0x8c65e4(0x1a6)],'target':toPublicServiceTreeTarget(_0x5a38d1[_0x8c65e4(0x1bf)])})),'warnings':_0x4903f1[_0x8c65e4(0x1e8)][_0x8c65e4(0x1b6)]},'message':_0x8c65e4(0x1b5)};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1d0),'description':a41_0x340f95(0x1da),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3d7bcb){const _0x48fef8=a41_0x340f95,_0x4448e9=loadServiceManifestFromFile(_0x3d7bcb[_0x48fef8(0x1ad)](_0x48fef8(0x1e3)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x4448e9[_0x48fef8(0x1c3)],'hash':_0x4448e9[_0x48fef8(0x1e0)],'kind':_0x4448e9[_0x48fef8(0x1c9)],'ok':_0x4448e9[_0x48fef8(0x1e8)]['ok'],'service':_0x4448e9[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1b3)],'version':_0x4448e9['normalizedManifest']?.['version'],'serviceCount':_0x4448e9[_0x48fef8(0x1cf)]['length'],'services':_0x4448e9[_0x48fef8(0x1cf)][_0x48fef8(0x1b7)](_0x169baf=>({'service':_0x169baf[_0x48fef8(0x1d7)]?.['service'],'version':_0x169baf[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1b8)],'commandCount':_0x169baf[_0x48fef8(0x1d7)]?.[_0x48fef8(0x1a5)][_0x48fef8(0x1ce)]??0x0,'errors':_0x169baf[_0x48fef8(0x1e8)][_0x48fef8(0x1ab)]})),'errors':_0x4448e9[_0x48fef8(0x1e8)]['errors'],'commandCount':_0x4448e9['normalizedManifest']?.['commands'][_0x48fef8(0x1ce)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x1e6175){const _0x43a6d9=a41_0x340f95,_0x66fa95=importServiceManifest(_0x1e6175[_0x43a6d9(0x1ad)](_0x43a6d9(0x1e3)));if(_0x66fa95[_0x43a6d9(0x1a7)][_0x43a6d9(0x1ce)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x66fa95[_0x43a6d9(0x1e9)],'imported':_0x66fa95[_0x43a6d9(0x1af)],'updated':_0x66fa95[_0x43a6d9(0x1c6)],'serviceCount':_0x66fa95['serviceCount'],'services':_0x66fa95['entries'][_0x43a6d9(0x1b7)](summarizeService)},'message':_0x43a6d9(0x1ae)+_0x66fa95[_0x43a6d9(0x1af)]+_0x43a6d9(0x1c1)+_0x66fa95[_0x43a6d9(0x1c6)]+_0x43a6d9(0x1ca)};return{'ok':!![],'data':{'registryPath':_0x66fa95[_0x43a6d9(0x1e9)],'replaced':_0x66fa95[_0x43a6d9(0x1c5)],'imported':_0x66fa95[_0x43a6d9(0x1af)],'updated':_0x66fa95[_0x43a6d9(0x1c6)],'serviceCount':_0x66fa95[_0x43a6d9(0x1ba)],'service':summarizeService(_0x66fa95[_0x43a6d9(0x1dc)])},'message':(_0x66fa95['replaced']?'Updated':'Imported')+_0x43a6d9(0x1de)+_0x66fa95[_0x43a6d9(0x1dc)][_0x43a6d9(0x1b0)]+'.'};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1c0),'description':a41_0x340f95(0x1e5),'risk':a41_0x340f95(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x21638c){const _0xac7fcd=a41_0x340f95,_0x3587fc=getLocalServiceEntry(_0x21638c[_0xac7fcd(0x1ad)](_0xac7fcd(0x1b3)));return{'method':_0xac7fcd(0x1e7),'url':_0x21638c['str'](_0xac7fcd(0x1e3)),'body':{'service':_0x21638c[_0xac7fcd(0x1ad)]('service'),'found':Boolean(_0x3587fc),'version':_0x3587fc?.[_0xac7fcd(0x1b8)],'source':_0x3587fc?.[_0xac7fcd(0x1b1)]},'description':_0xac7fcd(0x1d4)};},async 'execute'(_0x1cc301){const _0x2a773a=a41_0x340f95,_0x44a8eb=exportServiceManifest(_0x1cc301['str'](_0x2a773a(0x1b3)),_0x1cc301[_0x2a773a(0x1ad)]('file'));return{'ok':!![],'data':{'registryPath':_0x44a8eb[_0x2a773a(0x1e9)],'file':_0x44a8eb['filePath'],'service':summarizeService(_0x44a8eb[_0x2a773a(0x1dc)])},'message':'Exported\x20service\x20'+_0x44a8eb['entry'][_0x2a773a(0x1b0)]+'.'};}},{'service':'service','command':a41_0x340f95(0x1db),'description':a41_0x340f95(0x1d1),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xd58511=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0xd58511['length'],'services':_0xd58511['map'](summarizeService)}};}},{'service':a41_0x340f95(0x1b3),'command':'remove','description':a41_0x340f95(0x1c2),'risk':a41_0x340f95(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x430504){const _0x137143=a41_0x340f95,_0x1eb68f=getLocalServiceEntry(_0x430504[_0x137143(0x1ad)](_0x137143(0x1b3)));return{'method':_0x137143(0x1e7),'url':getServiceRegistryPath(),'body':{'service':_0x430504['str'](_0x137143(0x1b3)),'found':Boolean(_0x1eb68f),'version':_0x1eb68f?.[_0x137143(0x1b8)],'source':_0x1eb68f?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x350130){const _0x2d02dc=a41_0x340f95,_0x5a6b3f=removeServiceManifest(_0x350130['str'](_0x2d02dc(0x1b3)));return{'ok':!![],'data':{'registryPath':_0x5a6b3f[_0x2d02dc(0x1e9)],'serviceCount':_0x5a6b3f[_0x2d02dc(0x1ba)],'service':summarizeService(_0x5a6b3f[_0x2d02dc(0x1dc)])},'message':_0x2d02dc(0x1a3)+_0x5a6b3f[_0x2d02dc(0x1dc)][_0x2d02dc(0x1b0)]+'.'};}},{'service':a41_0x340f95(0x1b3),'command':a41_0x340f95(0x1d2),'description':a41_0x340f95(0x1c8),'risk':a41_0x340f95(0x1bb),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x205944){const _0x28b595=a41_0x340f95,_0x32706c=getLocalServiceEntry(_0x205944[_0x28b595(0x1ad)]('service'));if(!_0x32706c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x205944[_0x28b595(0x1ad)](_0x28b595(0x1b3))},'message':_0x28b595(0x1cc)+_0x205944[_0x28b595(0x1ad)](_0x28b595(0x1b3))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x32706c),'manifest':_0x32706c[_0x28b595(0x1e4)],'normalizedManifest':toPublicNormalizedServiceTree(_0x32706c['normalizedManifest'])}};}}];
|
|
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 +1 @@
|
|
|
1
|
-
(function(_0x4f182a,_0xd4fccb){const _0x181ace=a42_0x2c60,_0x3a863d=_0x4f182a();while(!![]){try{const _0x94692=parseInt(_0x181ace(0x1c5))/0x1+parseInt(_0x181ace(0x1fd))/0x2*(-parseInt(_0x181ace(0x1e7))/0x3)+-parseInt(_0x181ace(0x1f6))/0x4+-parseInt(_0x181ace(0x1d9))/0x5*(-parseInt(_0x181ace(0x1e4))/0x6)+parseInt(_0x181ace(0x1d1))/0x7+-parseInt(_0x181ace(0x1cd))/0x8+parseInt(_0x181ace(0x1de))/0x9;if(_0x94692===_0xd4fccb)break;else _0x3a863d['push'](_0x3a863d['shift']());}catch(_0x39537){_0x3a863d['push'](_0x3a863d['shift']());}}}(a42_0xee3d,0x34f7a));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';function a42_0x2c60(_0x3583b2,_0x3402f0){_0x3583b2=_0x3583b2-0x1bd;const _0xee3d8f=a42_0xee3d();let _0x2c60e3=_0xee3d8f[_0x3583b2];return _0x2c60e3;}export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a42_0xee3d(){const _0x4cbbc7=['Invalid\x20service\x20manifest\x20JSON:\x20','utf8','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','missing','$.services[','join','1253664qfUXWZ','manifests','schemaVersion','filePath','2768073Eijlqv','map','warnings','object','manifest','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Invalid\x20service\x20registry\x20JSON:\x20','trim','459605ToUtQI','].manifest','validation','commandCount','updatedAt','1770921mTWzig','path','hex','digest','sort','update','12zZkRZt','errors','startsWith','3GaYywQ','serviceCode','CliError','now','Local\x20service\x20not\x20found:\x20','name','source','Cannot\x20write\x20service\x20registry:\x20','findIndex','code','services\x20must\x20be\x20an\x20array','services','.tmp','service','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','1589264DKJAbM','slice','parse','stringify','splice','message','homeDirName','670756oOhnDA','length','isArray','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','target','version','registryIndex','ENOENT','invalid','string','report','sha256','push','homeDir','find','sourceHash','commands','normalizedManifest','command','330306UVSJMp'];a42_0xee3d=function(){return _0x4cbbc7;};return a42_0xee3d();}export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x3a5832={}){const _0x1845e0=a42_0x2c60;return resolve(_0x3a5832[_0x1845e0(0x1bf)]??homedir(),PRODUCT_CONFIG[_0x1845e0(0x1fc)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x4b5d64={}){const _0x5dc79c=a42_0x2c60,_0x28614d=getServiceRegistryPath(_0x4b5d64);if(!existsSync(_0x28614d))return emptyServiceRegistry();try{const _0x468f05=readFileSync(_0x28614d,_0x5dc79c(0x1c7));if(!_0x468f05[_0x5dc79c(0x1d8)]())return emptyServiceRegistry();const _0x7afbc9=JSON['parse'](_0x468f05);if(_0x7afbc9[_0x5dc79c(0x1cf)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5dc79c(0x1db)](_0x5dc79c(0x1d6)+String(_0x7afbc9[_0x5dc79c(0x1cf)]),'Remove\x20or\x20migrate\x20'+_0x28614d+'.');if(!Array[_0x5dc79c(0x1ff)](_0x7afbc9[_0x5dc79c(0x1f2)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x7afbc9[_0x5dc79c(0x1dd)],'services':_0x7afbc9[_0x5dc79c(0x1f2)]};}catch(_0x3b6d87){if(_0x3b6d87 instanceof Error&&_0x3b6d87['name']===_0x5dc79c(0x1e9))throw _0x3b6d87;throw CliErrors['validation'](_0x5dc79c(0x1d7)+_0x28614d,_0x5dc79c(0x201));}}export function writeServiceRegistry(_0x3c4995,_0x2cc3e9={}){const _0x2f5683=a42_0x2c60,_0x6410a8=getServiceRegistryPath(_0x2cc3e9),_0x3a7015=dirname(_0x6410a8);!existsSync(_0x3a7015)&&mkdirSync(_0x3a7015,{'recursive':!![]});const _0x31f64d=_0x6410a8+_0x2f5683(0x1f3);try{writeFileSync(_0x31f64d,JSON[_0x2f5683(0x1f9)](_0x3c4995,null,0x2)+'\x0a',{'encoding':_0x2f5683(0x1c7),'mode':0x180}),renameSync(_0x31f64d,_0x6410a8);}catch(_0x3b636e){try{unlinkSync(_0x31f64d);}catch{}if(_0x3b636e?.[_0x2f5683(0x1f0)]===_0x2f5683(0x205))throw CliErrors['validation'](_0x2f5683(0x1ee)+_0x6410a8);throw _0x3b636e;}return _0x6410a8;}export function loadServiceManifestFromFile(_0x367002){const _0x316ba1=a42_0x2c60,_0x43378e=resolve(_0x367002);if(!existsSync(_0x43378e))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x367002);let _0x4d504b;const _0x5d66c8=readFileSync(_0x43378e,'utf8');try{_0x4d504b=JSON[_0x316ba1(0x1f8)](_0x5d66c8);}catch{throw CliErrors[_0x316ba1(0x1db)](_0x316ba1(0x1c6)+_0x367002,_0x316ba1(0x200));}const _0x52db55=sha256(_0x5d66c8),_0x5ea301=extractLoadedServiceManifests(_0x4d504b,_0x52db55),_0x11fba1=aggregateValidationReports(_0x5ea301),_0x48c2ef=_0x5ea301[0x0];return{'filePath':_0x43378e,'hash':_0x52db55,'kind':isServiceRegistryLike(_0x4d504b)?'registry':_0x316ba1(0x1d5),'manifest':_0x48c2ef?.['manifest']??_0x4d504b,'report':_0x11fba1,'normalizedManifest':_0x5ea301['length']===0x1?_0x48c2ef?.[_0x316ba1(0x1c3)]:undefined,'manifests':_0x5ea301};}export function importServiceManifest(_0x1dc23f,_0xe6e995={}){const _0x2f591d=a42_0x2c60,_0x5e27bf=loadServiceManifestFromFile(_0x1dc23f);if(!_0x5e27bf[_0x2f591d(0x208)]['ok'])throw CliErrors[_0x2f591d(0x1db)](formatValidationFailure(_0x5e27bf[_0x2f591d(0x208)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x5e27bf[_0x2f591d(0x1ce)]['length']===0x0)throw CliErrors[_0x2f591d(0x1db)](_0x2f591d(0x1c9),_0x2f591d(0x1f5));const _0x2c0d4e=readServiceRegistry(_0xe6e995),_0x5d9e3c=(_0xe6e995['now']??(()=>new Date()))()['toISOString'](),_0x3d5893=[];let _0x16f798=0x0,_0x32d4ea=0x0;for(const _0x5b724b of _0x5e27bf[_0x2f591d(0x1ce)]){if(!_0x5b724b['normalizedManifest'])continue;const _0x171e44=_0x5b724b[_0x2f591d(0x1c3)][_0x2f591d(0x1f4)][_0x2f591d(0x1f0)],_0xa03b04={'serviceCode':_0x171e44,'version':_0x5b724b[_0x2f591d(0x1c3)][_0x2f591d(0x203)],'importedAt':_0x5d9e3c,'source':{'type':'file','path':_0x5e27bf[_0x2f591d(0x1d0)],'hash':_0x5b724b[_0x2f591d(0x1c1)]},'manifest':_0x5b724b[_0x2f591d(0x1d5)],'normalizedManifest':_0x5b724b[_0x2f591d(0x1c3)]},_0x5b884d=_0x2c0d4e[_0x2f591d(0x1f2)]['findIndex'](_0x427785=>_0x427785[_0x2f591d(0x1e8)]===_0x171e44);_0x5b884d>=0x0?(_0x2c0d4e[_0x2f591d(0x1f2)][_0x5b884d]=_0xa03b04,_0x32d4ea++):(_0x2c0d4e[_0x2f591d(0x1f2)]['push'](_0xa03b04),_0x16f798++),_0x3d5893[_0x2f591d(0x1be)](_0xa03b04);}_0x2c0d4e[_0x2f591d(0x1f2)][_0x2f591d(0x1e2)]((_0x191dc7,_0x234831)=>_0x191dc7[_0x2f591d(0x1e8)]['localeCompare'](_0x234831[_0x2f591d(0x1e8)])),_0x2c0d4e[_0x2f591d(0x1dd)]=_0x5d9e3c;const _0x4f7849=writeServiceRegistry(_0x2c0d4e,_0xe6e995);return{'registryPath':_0x4f7849,'entry':_0x3d5893[0x0],'replaced':_0x3d5893[_0x2f591d(0x1fe)]===0x1?_0x32d4ea===0x1:_0x32d4ea>0x0,'entries':_0x3d5893,'imported':_0x16f798,'updated':_0x32d4ea,'serviceCount':_0x2c0d4e[_0x2f591d(0x1f2)][_0x2f591d(0x1fe)]};}export function exportServiceManifest(_0x41d4e4,_0x36b84c,_0x5d77cd={}){const _0x304260=a42_0x2c60,_0x538231=getServiceRegistryPath(_0x5d77cd),_0x2912ca=getLocalServiceEntry(_0x41d4e4,_0x5d77cd);if(!_0x2912ca)throw CliErrors['validation'](_0x304260(0x1eb)+_0x41d4e4,_0x304260(0x1c8));const _0x17a613=resolve(_0x36b84c),_0xbe939d=dirname(_0x17a613);return!existsSync(_0xbe939d)&&mkdirSync(_0xbe939d,{'recursive':!![]}),writeFileSync(_0x17a613,JSON[_0x304260(0x1f9)](_0x2912ca['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x538231,'filePath':_0x17a613,'entry':_0x2912ca};}export function removeServiceManifest(_0x3465e6,_0x359b82={}){const _0x57a9a1=a42_0x2c60,_0x50bd71=readServiceRegistry(_0x359b82),_0x470b9f=_0x3465e6[_0x57a9a1(0x1d8)](),_0x2826eb=_0x50bd71[_0x57a9a1(0x1f2)][_0x57a9a1(0x1ef)](_0x43a2d0=>_0x43a2d0[_0x57a9a1(0x1e8)]===_0x470b9f);if(_0x2826eb<0x0)throw CliErrors[_0x57a9a1(0x1db)](_0x57a9a1(0x1eb)+_0x470b9f,_0x57a9a1(0x1c8));const [_0xa248c6]=_0x50bd71['services'][_0x57a9a1(0x1fa)](_0x2826eb,0x1),_0xb6934=(_0x359b82[_0x57a9a1(0x1ea)]??(()=>new Date()))()['toISOString']();_0x50bd71['updatedAt']=_0xb6934;const _0x20383e=writeServiceRegistry(_0x50bd71,_0x359b82);return{'registryPath':_0x20383e,'entry':_0xa248c6,'serviceCount':_0x50bd71[_0x57a9a1(0x1f2)][_0x57a9a1(0x1fe)]};}export function listLocalServices(_0x3bf593={}){return readServiceRegistry(_0x3bf593)['services'];}export function getLocalServiceEntry(_0x128e2e,_0x4da0a7={}){const _0x571408=a42_0x2c60;return readServiceRegistry(_0x4da0a7)[_0x571408(0x1f2)][_0x571408(0x1c0)](_0x2d97bf=>_0x2d97bf[_0x571408(0x1e8)]===_0x128e2e['trim']());}export function listLocalServiceTrees(_0x3b4367={}){const _0x92fc9a=a42_0x2c60;return readServiceRegistry(_0x3b4367)[_0x92fc9a(0x1f2)][_0x92fc9a(0x1d2)](_0x1b6cdd=>_0x1b6cdd[_0x92fc9a(0x1c3)]);}export function inspectServiceRegistry(_0x4c40b5={}){const _0x2cbd3b=a42_0x2c60,_0x19dfdb=getServiceRegistryPath(_0x4c40b5);if(!existsSync(_0x19dfdb))return emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x1ca),![]);try{const _0x3afa6f=readFileSync(_0x19dfdb,_0x2cbd3b(0x1c7));if(!_0x3afa6f[_0x2cbd3b(0x1d8)]())return emptyServiceRegistryInspection(_0x19dfdb,'empty',!![]);const _0x73446a=JSON['parse'](_0x3afa6f);if(_0x73446a['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x206),!![]),'schemaVersion':_0x73446a[_0x2cbd3b(0x1cf)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x73446a[_0x2cbd3b(0x1cf)])};if(!Array['isArray'](_0x73446a['services']))return{...emptyServiceRegistryInspection(_0x19dfdb,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x73446a[_0x2cbd3b(0x1dd)],'message':_0x2cbd3b(0x1f1)};const _0x927cda=_0x73446a[_0x2cbd3b(0x1f2)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x19dfdb,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x73446a[_0x2cbd3b(0x1dd)],'serviceCount':_0x927cda[_0x2cbd3b(0x1fe)],'commandCount':_0x927cda['reduce']((_0x1c56d5,_0x42e6b0)=>_0x1c56d5+_0x42e6b0[_0x2cbd3b(0x1dc)],0x0),'services':_0x927cda};}catch(_0x220c58){return{...emptyServiceRegistryInspection(_0x19dfdb,_0x2cbd3b(0x206),!![]),'message':_0x220c58 instanceof Error?_0x220c58[_0x2cbd3b(0x1fb)]:String(_0x220c58)};}}export function formatValidationFailure(_0x526247){const _0x32d482=a42_0x2c60,_0x577df7=_0x526247[_0x32d482(0x1e5)][_0x32d482(0x1d2)](_0x2d0fd4=>_0x2d0fd4[_0x32d482(0x1df)]+':\x20'+_0x2d0fd4['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x577df7[_0x32d482(0x1cc)]('\x0a');}function extractLoadedServiceManifests(_0x121320,_0x263dad){const _0x25a350=a42_0x2c60;if(!isServiceRegistryLike(_0x121320)){const _0x6d882d=_0x121320,{manifest:_0x9d983e,errors:_0x46c7f8}=adaptServiceTreeManifestForLegacyFramework(_0x6d882d),_0x334cdc=validateServiceTreeManifest(_0x9d983e),_0x4df0d8=mergeValidationErrors(_0x334cdc,_0x46c7f8);return[{'manifest':_0x6d882d,'report':_0x4df0d8,'normalizedManifest':_0x4df0d8['ok']?normalizeServiceTreeManifest(_0x9d983e):undefined,'sourceHash':_0x263dad}];}return _0x121320[_0x25a350(0x1f2)][_0x25a350(0x1d2)]((_0x25bfd4,_0x373fb0)=>{const _0x1b6b6e=_0x25a350,_0x2b50f3=isObjectRecord(_0x25bfd4)?_0x25bfd4[_0x1b6b6e(0x1d5)]:undefined,{manifest:_0x23eb74,errors:_0x435eb4}=adaptServiceTreeManifestForLegacyFramework(_0x2b50f3),_0x202adc=validateServiceTreeManifest(_0x23eb74),_0x37fb62=mergeValidationErrors(_0x202adc,_0x435eb4),_0xf88d85=isObjectRecord(_0x25bfd4)&&typeof _0x25bfd4[_0x1b6b6e(0x1e8)]===_0x1b6b6e(0x207)?_0x25bfd4[_0x1b6b6e(0x1e8)]:undefined;return{'manifest':_0x2b50f3,'report':_0x37fb62,'normalizedManifest':_0x37fb62['ok']?normalizeServiceTreeManifest(_0x23eb74):undefined,'sourceHash':sha256(JSON['stringify'](_0x2b50f3,null,0x2)+'\x0a'),'registryIndex':_0x373fb0,'registryServiceCode':_0xf88d85};});}function mergeValidationErrors(_0x3e5615,_0xe12dd7){const _0x5bd784=a42_0x2c60,_0x24206e=_0x3e5615[_0x5bd784(0x1e5)]['map'](_0x2ae10d=>_0x2ae10d[_0x5bd784(0x1fb)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x2ae10d,'message':'bff\x20target\x20requires\x20functionName.'}:_0x2ae10d),_0x1cd8cb=[..._0xe12dd7,..._0x24206e];return{'ok':_0x1cd8cb['length']===0x0,'errors':_0x1cd8cb,'warnings':_0x3e5615[_0x5bd784(0x1d3)]};}function aggregateValidationReports(_0x3cdb51){const _0xc42f75=a42_0x2c60,_0x3f5ebd=_0x3cdb51['flatMap'](_0x110214=>_0x110214[_0xc42f75(0x204)]===undefined?_0x110214[_0xc42f75(0x208)][_0xc42f75(0x1e5)]:_0x110214[_0xc42f75(0x208)][_0xc42f75(0x1e5)]['map'](_0x4e9791=>({..._0x4e9791,'path':prefixRegistryIssuePath(_0x110214[_0xc42f75(0x204)],_0x4e9791['path'])}))),_0x4377de=_0x3cdb51['flatMap'](_0x18810c=>_0x18810c[_0xc42f75(0x204)]===undefined?_0x18810c[_0xc42f75(0x208)][_0xc42f75(0x1d3)]:_0x18810c[_0xc42f75(0x208)][_0xc42f75(0x1d3)][_0xc42f75(0x1d2)](_0x203035=>({..._0x203035,'path':prefixRegistryIssuePath(_0x18810c['registryIndex'],_0x203035['path'])})));return{'ok':_0x3f5ebd[_0xc42f75(0x1fe)]===0x0,'errors':_0x3f5ebd,'warnings':_0x4377de};}function prefixRegistryIssuePath(_0x2f5ca0,_0x421baf){const _0x821bd6=a42_0x2c60;if(_0x421baf==='$')return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest';if(_0x421baf['startsWith']('$.'))return _0x821bd6(0x1cb)+_0x2f5ca0+_0x821bd6(0x1da)+_0x421baf['slice'](0x1);if(_0x421baf[_0x821bd6(0x1e6)]('$['))return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest'+_0x421baf[_0x821bd6(0x1f7)](0x1);return _0x821bd6(0x1cb)+_0x2f5ca0+'].manifest.'+_0x421baf;}function isServiceRegistryLike(_0x8558aa){const _0x5265e3=a42_0x2c60;return isObjectRecord(_0x8558aa)&&_0x8558aa[_0x5265e3(0x1cf)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x8558aa[_0x5265e3(0x1f2)]);}function isObjectRecord(_0x239f06){const _0x2eea5f=a42_0x2c60;return Boolean(_0x239f06)&&typeof _0x239f06===_0x2eea5f(0x1d4)&&!Array[_0x2eea5f(0x1ff)](_0x239f06);}function emptyServiceRegistryInspection(_0x374bac,_0x32675d,_0x4ea5bc){return{'registryPath':_0x374bac,'exists':_0x4ea5bc,'status':_0x32675d,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x3d656a){const _0x4b5756=a42_0x2c60,_0x5a4bab=_0x3d656a['normalizedManifest'],_0xc84c1e=_0x5a4bab[_0x4b5756(0x1c2)][_0x4b5756(0x1d2)](_0x416e7a=>({'path':_0x416e7a['cliPath'],'description':_0x416e7a['description'],'risk':_0x416e7a['risk'],'targetKind':_0x416e7a[_0x4b5756(0x202)]['kind'],'targetCommand':_0x416e7a['target'][_0x4b5756(0x1c4)]}));return{'serviceCode':_0x3d656a[_0x4b5756(0x1e8)],'name':_0x5a4bab[_0x4b5756(0x1f4)][_0x4b5756(0x1ec)],'description':_0x5a4bab['service']['description'],'version':_0x3d656a[_0x4b5756(0x203)],'importedAt':_0x3d656a['importedAt'],'source':_0x3d656a[_0x4b5756(0x1ed)],'commandCount':_0xc84c1e[_0x4b5756(0x1fe)],'commands':_0xc84c1e};}function sha256(_0x40263d){const _0x36e666=a42_0x2c60;return createHash(_0x36e666(0x1bd))[_0x36e666(0x1e3)](_0x40263d)[_0x36e666(0x1e1)](_0x36e666(0x1e0));}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x47bdbd=a43_0x28cc;(function(_0x10ca27,_0x1d4946){const _0x10fcdb=a43_0x28cc,_0x4ea95d=_0x10ca27();while(!![]){try{const _0x34c73e=parseInt(_0x10fcdb(0x1ad))/0x1+parseInt(_0x10fcdb(0x1a6))/0x2+-parseInt(_0x10fcdb(0x1ba))/0x3+-parseInt(_0x10fcdb(0x1ab))/0x4*(-parseInt(_0x10fcdb(0x1b3))/0x5)+-parseInt(_0x10fcdb(0x1a8))/0x6*(-parseInt(_0x10fcdb(0x1b1))/0x7)+parseInt(_0x10fcdb(0x19b))/0x8+-parseInt(_0x10fcdb(0x1b9))/0x9;if(_0x34c73e===_0x1d4946)break;else _0x4ea95d['push'](_0x4ea95d['shift']());}catch(_0x160525){_0x4ea95d['push'](_0x4ea95d['shift']());}}}(a43_0x24cb,0x54a07));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x47bdbd(0x1b0),'command':a43_0x47bdbd(0x1b7),'description':a43_0x47bdbd(0x19f),'risk':a43_0x47bdbd(0x19e),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3a6213){const _0x259833=a43_0x47bdbd,_0xb830e1=buildSkillCreatePlan(_0x3a6213[_0x259833(0x1af)](_0x259833(0x1b2)),_0x3a6213['str']('type'),_0x3a6213[_0x259833(0x1af)](_0x259833(0x1a7)));return{'method':_0x259833(0x198),'url':_0xb830e1[_0x259833(0x19d)],'body':{'skillName':_0xb830e1[_0x259833(0x1b5)][_0x259833(0x1b4)],'type':_0xb830e1[_0x259833(0x1b5)][_0x259833(0x1ac)],'selfContained':!![],'files':_0xb830e1[_0x259833(0x1b5)][_0x259833(0x1bc)][_0x259833(0x1a3)](_0x171969=>_0x171969[_0x259833(0x1a0)])},'description':_0x259833(0x19a)};},async 'execute'(_0x2923b2){const _0xadf392=a43_0x47bdbd,_0x2cbdfe=buildSkillCreatePlan(_0x2923b2[_0xadf392(0x1af)](_0xadf392(0x1b2)),_0x2923b2[_0xadf392(0x1af)](_0xadf392(0x1ac)),_0x2923b2[_0xadf392(0x1af)]('target'));return writeSkillDraft(_0x2cbdfe,_0x2923b2[_0xadf392(0x199)]('force')),{'ok':!![],'data':{'skillName':_0x2cbdfe[_0xadf392(0x1b5)][_0xadf392(0x1b4)],'type':_0x2cbdfe['rendered']['type'],'dir':_0x2cbdfe[_0xadf392(0x19d)],'files':_0x2cbdfe[_0xadf392(0x1b5)][_0xadf392(0x1bc)][_0xadf392(0x1a3)](_0x5ebd07=>_0x5ebd07[_0xadf392(0x1a0)])},'message':_0xadf392(0x1b6)+_0x2cbdfe[_0xadf392(0x1b5)][_0xadf392(0x1b4)]};}};function a43_0x28cc(_0x2f7bac,_0x32f21){_0x2f7bac=_0x2f7bac-0x198;const _0x24cb1b=a43_0x24cb();let _0x28cc92=_0x24cb1b[_0x2f7bac];return _0x28cc92;}function buildSkillCreatePlan(_0x47e65a,_0x492dc1,_0x4a9e35){const _0x430235=a43_0x47bdbd,_0x42b585=_0x492dc1['trim'](),_0x777819=renderSkillTemplate({'skillName':_0x47e65a,'type':_0x42b585});!_0x42b585&&writeCliSideChannelLine(_0x430235(0x1b8));const _0x5bf424=resolve(normalizeSkillTarget(_0x4a9e35));return{'rendered':_0x777819,'targetRoot':_0x5bf424,'skillDir':resolve(_0x5bf424,_0x777819[_0x430235(0x1b4)])};}function normalizeSkillTarget(_0x33142d){const _0x1a2fd9=a43_0x47bdbd;return(_0x33142d||DEFAULT_SKILL_TARGET)[_0x1a2fd9(0x1a4)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x2562db,_0x1df3e0){const _0x1158c8=a43_0x47bdbd;if(existsSync(_0x2562db[_0x1158c8(0x19d)])){const _0x5ee1d1=lstatSync(_0x2562db[_0x1158c8(0x19d)]);if(!_0x5ee1d1[_0x1158c8(0x1aa)]()||_0x5ee1d1[_0x1158c8(0x1a1)]())throw CliErrors[_0x1158c8(0x1a5)](_0x1158c8(0x19c)+_0x2562db[_0x1158c8(0x19d)]);if(!_0x1df3e0)throw CliErrors[_0x1158c8(0x1a5)](_0x1158c8(0x1bb)+_0x2562db[_0x1158c8(0x19d)],_0x1158c8(0x1ae));}for(const _0x50d950 of _0x2562db[_0x1158c8(0x1b5)][_0x1158c8(0x1bc)]){const _0x375bbb=resolve(_0x2562db[_0x1158c8(0x19d)],_0x50d950['path']),_0x516b96=dirname(_0x375bbb);mkdirSync(_0x516b96,{'recursive':!![]});if(existsSync(_0x375bbb)&&lstatSync(_0x375bbb)[_0x1158c8(0x1a1)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x375bbb);writeFileSync(_0x375bbb,_0x50d950[_0x1158c8(0x1a2)],_0x1158c8(0x1a9));}}function a43_0x24cb(){const _0x3582b1=['Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','skillDir','write','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','path','isSymbolicLink','content','map','trim','validation','130558kDCGVw','target','48BTyTgu','utf8','isDirectory','346732BFcWtA','type','284383JzvNtu','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','str','skill','208719zqwLyA','name','5snHYzS','skillName','rendered','Created\x20local\x20Skill\x20draft\x20','create','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','5013639sybPpz','622182nEbpse','Skill\x20directory\x20already\x20exists:\x20','files','WRITE','bool','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','3489720rQnuHr'];a43_0x24cb=function(){return _0x3582b1;};return a43_0x24cb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x19badc=a44_0x3a35;function a44_0x22ee(){const _0x4d7205=['9569Xlnwma','Installed\x20','filter','\x20company\x20Skill(s).','43242AAFQfv','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','29400260eDmSwN','skipped','230236AVvRBd','action','scope','authRequired','removed','59DhnDgM','install','../../../skills/runtime-skill-sync.js','bool','map','95gqaZZh','push','write','length','includes','skillCode','accessKey','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','code','trim','10397358GMPZVK','appCode','skill','flatMap','4808zVllmT','4362942HyCFTE','personal','updated','production','2347980sAwLHf','envName','str','company','unchanged','created','reduce'];a44_0x22ee=function(){return _0x4d7205;};return a44_0x22ee();}(function(_0x4d223d,_0x1e609d){const _0xf929e6=a44_0x3a35,_0x5b7906=_0x4d223d();while(!![]){try{const _0x1d3492=-parseInt(_0xf929e6(0x19d))/0x1*(-parseInt(_0xf929e6(0x1c0))/0x2)+parseInt(_0xf929e6(0x1b1))/0x3+-parseInt(_0xf929e6(0x1c4))/0x4*(-parseInt(_0xf929e6(0x1a2))/0x5)+-parseInt(_0xf929e6(0x1b5))/0x6+-parseInt(_0xf929e6(0x1bc))/0x7*(parseInt(_0xf929e6(0x1b0))/0x8)+parseInt(_0xf929e6(0x1ac))/0x9+-parseInt(_0xf929e6(0x1c2))/0xa;if(_0x1d3492===_0x1e609d)break;else _0x5b7906['push'](_0x5b7906['shift']());}catch(_0x221572){_0x5b7906['push'](_0x5b7906['shift']());}}}(a44_0x22ee,0xc9a39));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a44_0x3a35(_0x3dd0b7,_0x3cf9af){_0x3dd0b7=_0x3dd0b7-0x19a;const _0x22eee6=a44_0x22ee();let _0x3a35a0=_0x22eee6[_0x3dd0b7];return _0x3a35a0;}export const installCommand={'service':a44_0x19badc(0x1ae),'command':a44_0x19badc(0x19e),'description':a44_0x19badc(0x1c1),'risk':a44_0x19badc(0x1a4),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG],async 'execute'(_0x5d6498){return syncRuntimeSkills(_0x5d6498);}};async function syncRuntimeSkills(_0x404daf){const _0x249cc6=a44_0x19badc,{downloadRuntimeSkillPackage:_0x19b44c,listRuntimeSkills:_0x5cfeb7}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x1b4597,materializeRuntimeSkill:_0x5b01a5,pruneStaleRuntimeSkillCache:_0xc7c413,pruneStaleRuntimeSkillLinks:_0xebfe2f}=await import(_0x249cc6(0x19f)),_0x1ef321=_0x404daf[_0x249cc6(0x1b7)](_0x249cc6(0x1aa)),_0x50de14=normalizeSyncScopes(_0x404daf['str'](_0x249cc6(0x19a))),_0x3caaa6=_0x404daf[_0x249cc6(0x1b6)]??_0x249cc6(0x1b4),_0x241ca7=_0x404daf[_0x249cc6(0x1a8)],_0xa78b0=_0x404daf[_0x249cc6(0x1a0)]('force');if(!_0x241ca7)throw CliErrors[_0x249cc6(0x19b)](_0x249cc6(0x1a9));const _0x1f3113=await Promise['all'](_0x50de14[_0x249cc6(0x1a1)](_0x53221e=>_0x5cfeb7({'appCode':_0x404daf['appCode'],'scope':_0x53221e,'code':_0x1ef321[_0x249cc6(0x1ab)]()||undefined}))),_0x5dff3c=_0x50de14['includes'](_0x249cc6(0x1b2))?_0x1f3113[_0x249cc6(0x1af)]((_0x9de86d,_0x5d7a79)=>_0x50de14[_0x5d7a79]===_0x249cc6(0x1b2)?_0x9de86d[_0x249cc6(0x1b2)]:[]):[],_0x42281c=_0x50de14[_0x249cc6(0x1a6)](_0x249cc6(0x1b8))?_0x1f3113[_0x249cc6(0x1af)]((_0xec964d,_0x7f7228)=>_0x50de14[_0x7f7228]===_0x249cc6(0x1b8)?_0xec964d[_0x249cc6(0x1b8)]:[]):[],_0x4a52f1=new Set([..._0x5dff3c[_0x249cc6(0x1a1)](_0x4dade5=>_0x4dade5[_0x249cc6(0x1a7)]?.['trim']())[_0x249cc6(0x1be)](_0x4ee8c5=>Boolean(_0x4ee8c5)),..._0x42281c[_0x249cc6(0x1a1)](_0x3ebde4=>_0x3ebde4['skillCode']?.[_0x249cc6(0x1ab)]())['filter'](_0xbf5848=>Boolean(_0xbf5848))]),_0x47bcb4=_0x1ef321[_0x249cc6(0x1ab)]()?[_0x1ef321[_0x249cc6(0x1ab)]()]:undefined,_0x7481eb=_0x50de14[_0x249cc6(0x1a5)]===0x2&&_0x50de14[_0x249cc6(0x1a6)](_0x249cc6(0x1b2))&&_0x50de14[_0x249cc6(0x1a6)](_0x249cc6(0x1b8)),_0x50ff3d=_0x7481eb?_0xebfe2f(_0x404daf[_0x249cc6(0x1ad)],_0x4a52f1,{},_0x47bcb4):[],_0x3a902f=_0xc7c413({'env':_0x3caaa6,'accessKey':_0x241ca7,'appCode':_0x404daf[_0x249cc6(0x1ad)],'activeSkillCodes':_0x4a52f1,'pruneSkillCodes':_0x47bcb4,'scopes':_0x50de14}),_0x562a19=[];for(const _0x3444b0 of _0x5dff3c){_0x562a19[_0x249cc6(0x1a3)](_0x5b01a5(_0x3444b0,_0x249cc6(0x1b2),{'env':_0x3caaa6,'accessKey':_0x241ca7,'appCode':_0x404daf[_0x249cc6(0x1ad)],'force':_0xa78b0,'packageBytes':await downloadSkillPackage(_0x3444b0,'personal',_0x404daf[_0x249cc6(0x1ad)],_0x19b44c)}));}for(const _0x53341e of _0x42281c){_0x562a19[_0x249cc6(0x1a3)](_0x5b01a5(_0x53341e,_0x249cc6(0x1b8),{'env':_0x3caaa6,'accessKey':_0x241ca7,'appCode':_0x404daf[_0x249cc6(0x1ad)],'force':_0xa78b0,'packageBytes':await downloadSkillPackage(_0x53341e,'company',_0x404daf['appCode'],_0x19b44c)}));}const _0x35b90d=_0x1b4597(_0x562a19,_0x404daf[_0x249cc6(0x1ad)]),_0x4bd634=countLinkActions(_0x35b90d);return{'ok':!![],'data':{'appCode':_0x404daf[_0x249cc6(0x1ad)],'personal':_0x5dff3c['length'],'company':_0x42281c[_0x249cc6(0x1a5)],'materialized':_0x562a19[_0x249cc6(0x1a5)],'links':{'total':_0x35b90d[_0x249cc6(0x1a5)],'created':_0x4bd634[_0x249cc6(0x1ba)]??0x0,'updated':_0x4bd634[_0x249cc6(0x1b3)]??0x0,'unchanged':_0x4bd634[_0x249cc6(0x1b9)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x50ff3d[_0x249cc6(0x1be)](_0x23050d=>_0x23050d['action']===_0x249cc6(0x19c))['length'],'cacheDirs':_0x3a902f[_0x249cc6(0x1be)](_0x1da77b=>_0x1da77b[_0x249cc6(0x1c5)]==='removed')[_0x249cc6(0x1a5)],'skipped':[..._0x50ff3d,..._0x3a902f]['filter'](_0x3bb5f2=>_0x3bb5f2[_0x249cc6(0x1c5)]===_0x249cc6(0x1c3))[_0x249cc6(0x1a5)]},'skills':{'personal':_0x5dff3c[_0x249cc6(0x1a1)](summarizeRuntimeSkill),'company':_0x42281c['map'](summarizeRuntimeSkill)}},'message':_0x249cc6(0x1bd)+_0x5dff3c['length']+'\x20personal\x20and\x20'+_0x42281c['length']+_0x249cc6(0x1bf)};}async function downloadSkillPackage(_0x2933b1,_0xbf42b,_0xe25013,_0x4ec412){const _0xe874d5=a44_0x19badc,_0xb41eef=_0x2933b1['version']?.[_0xe874d5(0x1ab)]();return _0xb41eef?_0x4ec412(_0xbf42b,_0x2933b1[_0xe874d5(0x1a7)],_0xe25013,_0xb41eef):_0x4ec412(_0xbf42b,_0x2933b1['skillCode'],_0xe25013);}function countLinkActions(_0x1fe447){const _0x20b813=a44_0x19badc;return _0x1fe447[_0x20b813(0x1bb)]((_0x35c4d8,_0x1144d6)=>{const _0x4dc9f7=_0x20b813;return _0x35c4d8[_0x1144d6[_0x4dc9f7(0x1c5)]]=(_0x35c4d8[_0x1144d6[_0x4dc9f7(0x1c5)]]??0x0)+0x1,_0x35c4d8;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a45_0x4f85(_0x45d8c2,_0x54d0bd){_0x45d8c2=_0x45d8c2-0xb9;const _0x589f08=a45_0x589f();let _0x4f8536=_0x589f08[_0x45d8c2];return _0x4f8536;}const a45_0x4ec8bf=a45_0x4f85;(function(_0x52ccdf,_0x1a4108){const _0x11365c=a45_0x4f85,_0x3022e8=_0x52ccdf();while(!![]){try{const _0x992f71=parseInt(_0x11365c(0xc6))/0x1*(-parseInt(_0x11365c(0xbb))/0x2)+-parseInt(_0x11365c(0xd1))/0x3+-parseInt(_0x11365c(0xbd))/0x4*(parseInt(_0x11365c(0xbc))/0x5)+parseInt(_0x11365c(0xc0))/0x6*(-parseInt(_0x11365c(0xcd))/0x7)+-parseInt(_0x11365c(0xd8))/0x8*(-parseInt(_0x11365c(0xd6))/0x9)+-parseInt(_0x11365c(0xcc))/0xa*(-parseInt(_0x11365c(0xd3))/0xb)+parseInt(_0x11365c(0xbf))/0xc;if(_0x992f71===_0x1a4108)break;else _0x3022e8['push'](_0x3022e8['shift']());}catch(_0x2a422d){_0x3022e8['push'](_0x3022e8['shift']());}}}(a45_0x589f,0x29f3d));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a45_0x589f(){const _0x3156b4=['str','2007945HXHuMX','../../../core/api-client.js','8zlDOcN','envName','scope','appCode','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','builtin','206078EStxTj','465sVpMLi','6608YqsMaA','length','8809608ZbpdJx','113514xjyZej','bool','map','local','personal','Listed\x20','1ABSiHx','list','code','filter','company','\x20local\x20Skill(s).','546270sufLEi','119euGqxG','production','read','skill','785193DasqQj','../../../skills/runtime-skill-sync.js','11VnNNlv','accessKey'];a45_0x589f=function(){return _0x3156b4;};return a45_0x589f();}export const listCommand={'service':a45_0x4ec8bf(0xd0),'command':a45_0x4ec8bf(0xc7),'description':a45_0x4ec8bf(0xb9),'risk':a45_0x4ec8bf(0xcf),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x4ed5cb){const _0x468fa3=a45_0x4ec8bf,_0xc3bcf1=_0x4ed5cb['str'](_0x468fa3(0xc8)),_0x109647=normalizeListScope(_0x4ed5cb[_0x468fa3(0xd5)]('scope'));if(_0x4ed5cb[_0x468fa3(0xc1)](_0x468fa3(0xc3))){const _0x357aa7=_0x4ed5cb[_0x468fa3(0xd4)];if(!_0x357aa7)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x5b411b}=await import(_0x468fa3(0xd2)),_0x4e372b=_0x5b411b({'env':_0x4ed5cb[_0x468fa3(0xd9)]??_0x468fa3(0xce),'accessKey':_0x357aa7,'appCode':_0x4ed5cb[_0x468fa3(0xdb)],'scopes':listScopeToRuntimeScopes(_0x109647),'code':_0xc3bcf1['trim']()||undefined}),_0x2b32b2=groupLocalRuntimeSkills(_0x4e372b);return{'ok':!![],'data':{'appCode':_0x4ed5cb['appCode'],'source':_0x468fa3(0xc3),'scope':_0x109647,'total':_0x4e372b['length'],'personal':_0x2b32b2[_0x468fa3(0xc4)]['length'],'company':_0x2b32b2['company'][_0x468fa3(0xbe)],'items':_0x4e372b['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x2b32b2[_0x468fa3(0xc4)][_0x468fa3(0xc2)](summarizeLocalRuntimeSkill),'company':_0x2b32b2[_0x468fa3(0xca)][_0x468fa3(0xc2)](summarizeLocalRuntimeSkill)}},'message':_0x468fa3(0xc5)+_0x4e372b[_0x468fa3(0xbe)]+_0x468fa3(0xcb)};}const {listRuntimeSkills:_0x3b8395}=await import(_0x468fa3(0xd7)),_0x2f8c15=await _0x3b8395({'appCode':_0x4ed5cb[_0x468fa3(0xdb)],'scope':listScopeToRemoteScope(_0x109647),'code':_0xc3bcf1['trim']()||undefined}),_0x3fbd38=shouldListScope(_0x109647,'personal')?_0x2f8c15['personal']??[]:[],_0x5b4bdd=shouldListScope(_0x109647,_0x468fa3(0xca))?_0x2f8c15[_0x468fa3(0xca)]??[]:[],_0x517d28=[..._0x3fbd38,..._0x5b4bdd];return{'ok':!![],'data':{'appCode':_0x4ed5cb[_0x468fa3(0xdb)],'source':'remote','scope':_0x109647,'total':_0x517d28['length'],'personal':_0x3fbd38[_0x468fa3(0xbe)],'company':_0x5b4bdd[_0x468fa3(0xbe)],'items':_0x517d28[_0x468fa3(0xc2)](summarizeRuntimeSkill),'skills':{'personal':_0x3fbd38[_0x468fa3(0xc2)](summarizeRuntimeSkill),'company':_0x5b4bdd[_0x468fa3(0xc2)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x517d28[_0x468fa3(0xbe)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x500f53){const _0x5264e7=a45_0x4ec8bf;return{'personal':_0x500f53['filter'](_0xa75c74=>_0xa75c74[_0x5264e7(0xda)]===_0x5264e7(0xc4)),'company':_0x500f53[_0x5264e7(0xc9)](_0xa6c31a=>_0xa6c31a['scope']===_0x5264e7(0xca)),'builtin':_0x500f53[_0x5264e7(0xc9)](_0x49f5d5=>_0x49f5d5[_0x5264e7(0xda)]===_0x5264e7(0xba))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a46_0x486a(_0x551f4e,_0x338f43){_0x551f4e=_0x551f4e-0x1be;const _0x83891b=a46_0x8389();let _0x486a10=_0x83891b[_0x551f4e];return _0x486a10;}const a46_0x20b47f=a46_0x486a;function a46_0x8389(){const _0xba6006=['push','305336RfVQiP','3521ZDHOJW','73416iupMne','1889895IUYXDs','23212vxKoMQ','1124415CMZeTl','7912rvULZW','write','skill','54BOUCSg','880400BKuYFG'];a46_0x8389=function(){return _0xba6006;};return a46_0x8389();}(function(_0x223e64,_0x1c36ae){const _0x54819d=a46_0x486a,_0x27758b=_0x223e64();while(!![]){try{const _0x9d8714=-parseInt(_0x54819d(0x1c9))/0x1+parseInt(_0x54819d(0x1c1))/0x2*(-parseInt(_0x54819d(0x1c6))/0x3)+-parseInt(_0x54819d(0x1c7))/0x4+parseInt(_0x54819d(0x1c0))/0x5+parseInt(_0x54819d(0x1bf))/0x6+parseInt(_0x54819d(0x1be))/0x7*(parseInt(_0x54819d(0x1c3))/0x8)+parseInt(_0x54819d(0x1c2))/0x9;if(_0x9d8714===_0x1c36ae)break;else _0x27758b['push'](_0x27758b['shift']());}catch(_0x48c3bf){_0x27758b['push'](_0x27758b['shift']());}}}(a46_0x8389,0x43f01));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a46_0x20b47f(0x1c5),'command':a46_0x20b47f(0x1c8),'description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','risk':a46_0x20b47f(0x1c4),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x3c6c26=a47_0x3a01;function a47_0x7d8d(){const _0x4d0050=['2148672KztoRT','346546oiPPrt','dir','935604CKXpEU','read','80248oGxnuY','12lgYSJq','type','2yhsTch','skill','16973540VBtyZE','685210aPhSAq','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','validate','warnings','4324491uhKVdO','errors','328qvZFyD'];a47_0x7d8d=function(){return _0x4d0050;};return a47_0x7d8d();}(function(_0x3a9c18,_0xbca99c){const _0x3b3a7e=a47_0x3a01,_0x1d994a=_0x3a9c18();while(!![]){try{const _0x3e8e55=parseInt(_0x3b3a7e(0xce))/0x1*(-parseInt(_0x3b3a7e(0xd9))/0x2)+-parseInt(_0x3b3a7e(0xdb))/0x3+-parseInt(_0x3b3a7e(0xcc))/0x4*(parseInt(_0x3b3a7e(0xd1))/0x5)+-parseInt(_0x3b3a7e(0xd8))/0x6+-parseInt(_0x3b3a7e(0xcb))/0x7*(-parseInt(_0x3b3a7e(0xd7))/0x8)+-parseInt(_0x3b3a7e(0xd5))/0x9+parseInt(_0x3b3a7e(0xd0))/0xa;if(_0x3e8e55===_0xbca99c)break;else _0x1d994a['push'](_0x1d994a['shift']());}catch(_0x4145d5){_0x1d994a['push'](_0x1d994a['shift']());}}}(a47_0x7d8d,0x3f49b));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x3a01(_0x359b63,_0x2f54c4){_0x359b63=_0x359b63-0xca;const _0x7d8d91=a47_0x7d8d();let _0x3a0190=_0x7d8d91[_0x359b63];return _0x3a0190;}export const validateCommand={'service':a47_0x3c6c26(0xcf),'command':a47_0x3c6c26(0xd3),'description':a47_0x3c6c26(0xd2),'risk':a47_0x3c6c26(0xca),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x332a8f){const _0x2bc166=a47_0x3c6c26,_0x50f2ae=_0x332a8f['bool']('strict'),_0x264ded=validateSkillDirectory(_0x332a8f['str'](_0x2bc166(0xda)),{'strict':_0x50f2ae});return throwIfSkillValidationFailed(_0x264ded,_0x50f2ae),{'ok':!![],'data':{'dir':_0x264ded[_0x2bc166(0xda)],'type':_0x264ded[_0x2bc166(0xcd)],'errors':_0x264ded[_0x2bc166(0xd6)],'warnings':_0x264ded[_0x2bc166(0xd4)]},'message':'Skill\x20validation\x20passed.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x5af2a3=a48_0x3ef0;(function(_0x2f3cf8,_0x2aed40){const _0x1d2e70=a48_0x3ef0,_0x1e587b=_0x2f3cf8();while(!![]){try{const _0x1416df=parseInt(_0x1d2e70(0x187))/0x1*(parseInt(_0x1d2e70(0x181))/0x2)+-parseInt(_0x1d2e70(0x188))/0x3+-parseInt(_0x1d2e70(0x180))/0x4+-parseInt(_0x1d2e70(0x17d))/0x5*(parseInt(_0x1d2e70(0x178))/0x6)+-parseInt(_0x1d2e70(0x170))/0x7+parseInt(_0x1d2e70(0x16c))/0x8*(parseInt(_0x1d2e70(0x168))/0x9)+parseInt(_0x1d2e70(0x17a))/0xa*(parseInt(_0x1d2e70(0x17b))/0xb);if(_0x1416df===_0x2aed40)break;else _0x1e587b['push'](_0x1e587b['shift']());}catch(_0x382491){_0x1e587b['push'](_0x1e587b['shift']());}}}(a48_0x2a60,0xc363d));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x5af2a3(0x172),'type':a48_0x5af2a3(0x16e),'description':a48_0x5af2a3(0x167)};export const SCOPE_FLAG={'name':a48_0x5af2a3(0x176),'type':a48_0x5af2a3(0x16e),'description':a48_0x5af2a3(0x169),'enum':[a48_0x5af2a3(0x177),a48_0x5af2a3(0x186),a48_0x5af2a3(0x179)]};export const PUSH_SCOPE_FLAG={'name':a48_0x5af2a3(0x176),'type':a48_0x5af2a3(0x16e),'description':'Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','default':a48_0x5af2a3(0x186),'enum':[a48_0x5af2a3(0x186),a48_0x5af2a3(0x179)]};export const LIST_SCOPE_FLAG={'name':'scope','type':a48_0x5af2a3(0x16e),'description':'Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','enum':[a48_0x5af2a3(0x177),'personal',a48_0x5af2a3(0x179)]};export const LOCAL_FLAG={'name':a48_0x5af2a3(0x185),'type':a48_0x5af2a3(0x17f),'description':a48_0x5af2a3(0x17e)};export const DIR_FLAG={'name':a48_0x5af2a3(0x16b),'type':a48_0x5af2a3(0x16e),'required':!![],'description':a48_0x5af2a3(0x174)};export const CREATE_NAME_FLAG={'name':a48_0x5af2a3(0x183),'type':a48_0x5af2a3(0x16e),'required':!![],'description':a48_0x5af2a3(0x182),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x5af2a3(0x16a)}};export const TYPE_FLAG={'name':a48_0x5af2a3(0x16f),'type':'string','description':'Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','enum':[...SKILL_TYPES]};function a48_0x3ef0(_0x374c77,_0x2eed4f){_0x374c77=_0x374c77-0x167;const _0x2a6058=a48_0x2a60();let _0x3ef0cc=_0x2a6058[_0x374c77];return _0x3ef0cc;}export const TARGET_FLAG={'name':a48_0x5af2a3(0x175),'type':'string','description':a48_0x5af2a3(0x17c),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':'force','type':a48_0x5af2a3(0x17f),'description':a48_0x5af2a3(0x173)};export const CONFIRM_WARNINGS_FLAG={'name':'confirm-warnings','type':'boolean','description':a48_0x5af2a3(0x16d)};export const STRICT_FLAG={'name':a48_0x5af2a3(0x184),'type':a48_0x5af2a3(0x17f),'description':a48_0x5af2a3(0x171)};function a48_0x2a60(){const _0x561b56=['string','type','7590016nbbIUd','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','code','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','Local\x20Skill\x20directory\x20containing\x20SKILL.md','target','scope','all','8713506zNiZJJ','company','29515810TMeWuG','11NMSQzC','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','5fktyAh','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','boolean','5807400ugavqt','326nJeKeQ','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','name','strict','local','personal','9271lQraax','872883MOwCOc','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','5552217ALfcek','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','dir','8EVTRQL','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings'];a48_0x2a60=function(){return _0x561b56;};return a48_0x2a60();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b2591,_0x16fd92){const _0xa804cf=a49_0x4fb8,_0x5061c5=_0x4b2591();while(!![]){try{const _0x3bd4de=parseInt(_0xa804cf(0x17a))/0x1*(parseInt(_0xa804cf(0x177))/0x2)+parseInt(_0xa804cf(0x173))/0x3*(-parseInt(_0xa804cf(0x179))/0x4)+parseInt(_0xa804cf(0x175))/0x5+-parseInt(_0xa804cf(0x176))/0x6+-parseInt(_0xa804cf(0x174))/0x7+-parseInt(_0xa804cf(0x17b))/0x8*(-parseInt(_0xa804cf(0x172))/0x9)+-parseInt(_0xa804cf(0x178))/0xa*(-parseInt(_0xa804cf(0x17c))/0xb);if(_0x3bd4de===_0x16fd92)break;else _0x5061c5['push'](_0x5061c5['shift']());}catch(_0xdd6f65){_0x5061c5['push'](_0x5061c5['shift']());}}}(a49_0x5879,0x7da27));function a49_0x4fb8(_0x160446,_0x4f6bc7){_0x160446=_0x160446-0x172;const _0x587967=a49_0x5879();let _0x4fb8fd=_0x587967[_0x160446];return _0x4fb8fd;}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';function a49_0x5879(){const _0x59fda8=['1153161UtVEUP','3sLYqhp','6346732ZsYUUa','2059615kbmUNZ','3222114oLwQOk','20yQUhPC','2396530vCngdI','296320Kxduua','53371yHAQgT','8bYcJCr','44gqeDpY'];a49_0x5879=function(){return _0x59fda8;};return a49_0x5879();}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_0x2bc1(){var _0x2756c3=['363996vHcaTZ','5119236BBgphc','2732988vRXYlG','1340lxQQTu','object','10MVfDPl','2457056jcxDVC','6037esmvbW','string','SKILL.md','10fYZpMK','5142726TdRhOO','isArray','some','ossPath','files','173024YYYmnF','length'];a50_0x2bc1=function(){return _0x2756c3;};return a50_0x2bc1();}function a50_0x28ec(_0x104189,_0x45749a){_0x104189=_0x104189-0x73;var _0x2bc109=a50_0x2bc1();var _0x28ecf6=_0x2bc109[_0x104189];return _0x28ecf6;}(function(_0x20120d,_0x5e16fe){var _0x44921e=a50_0x28ec,_0x4a1cbf=_0x20120d();while(!![]){try{var _0x45f3ce=-parseInt(_0x44921e(0x7e))/0x1*(parseInt(_0x44921e(0x81))/0x2)+-parseInt(_0x44921e(0x78))/0x3+-parseInt(_0x44921e(0x79))/0x4+-parseInt(_0x44921e(0x7c))/0x5*(parseInt(_0x44921e(0x82))/0x6)+-parseInt(_0x44921e(0x7d))/0x7+parseInt(_0x44921e(0x75))/0x8+parseInt(_0x44921e(0x77))/0x9*(parseInt(_0x44921e(0x7a))/0xa);if(_0x45f3ce===_0x5e16fe)break;else _0x4a1cbf['push'](_0x4a1cbf['shift']());}catch(_0x1b69ae){_0x4a1cbf['push'](_0x4a1cbf['shift']());}}}(a50_0x2bc1,0xe967e));export function isPackageBackedManifest(_0x9312fa){var _0x126796=a50_0x28ec;return!!_0x9312fa&&typeof _0x9312fa==='object'&&!Array[_0x126796(0x83)](_0x9312fa)&&typeof _0x9312fa['ossPath']===_0x126796(0x7f)&&_0x9312fa[_0x126796(0x73)][_0x126796(0x76)]>0x0&&Array[_0x126796(0x83)](_0x9312fa[_0x126796(0x74)]);}export function isMultiFileManifest(_0x4d4612){var _0xa52837=a50_0x28ec;return!!_0x4d4612&&typeof _0x4d4612===_0xa52837(0x7b)&&!Array[_0xa52837(0x83)](_0x4d4612)&&Array[_0xa52837(0x83)](_0x4d4612[_0xa52837(0x74)])&&_0x4d4612[_0xa52837(0x74)][_0xa52837(0x84)](_0x595dc8=>_0x595dc8['path']!==_0xa52837(0x80));}
|