@lovrabet/lovrabet-cli 2.1.22-beta.2 → 2.1.22-beta.3
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/diagram.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/diagram.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/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.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.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(_0x50fbcc,_0x26f8ef){const _0x5e474d=a39_0x137e,_0x2c1455=_0x50fbcc();while(!![]){try{const _0x186b9c=parseInt(_0x5e474d(0xe4))/0x1*(parseInt(_0x5e474d(0xcb))/0x2)+parseInt(_0x5e474d(0xc6))/0x3*(parseInt(_0x5e474d(0xbb))/0x4)+parseInt(_0x5e474d(0xca))/0x5*(parseInt(_0x5e474d(0xe9))/0x6)+-parseInt(_0x5e474d(0x105))/0x7*(parseInt(_0x5e474d(0x118))/0x8)+parseInt(_0x5e474d(0xb8))/0x9*(parseInt(_0x5e474d(0xd1))/0xa)+parseInt(_0x5e474d(0xe7))/0xb+-parseInt(_0x5e474d(0xee))/0xc*(parseInt(_0x5e474d(0x10d))/0xd);if(_0x186b9c===_0x26f8ef)break;else _0x2c1455['push'](_0x2c1455['shift']());}catch(_0x178444){_0x2c1455['push'](_0x2c1455['shift']());}}}(a39_0x43fb,0x8bf09));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(_0x34a4ac,_0x2c1b0d){const _0x17562a=a39_0x137e,_0x4c0aa1=listLocalServiceTrees();let _0x1640c0;for(const _0x33ee61 of _0x4c0aa1){const _0x32706d=matchServiceTreeCommand(_0x33ee61,_0x34a4ac);if(!_0x32706d)continue;(!_0x1640c0||_0x32706d[_0x17562a(0x109)]['fullPath'][_0x17562a(0xdf)]>_0x1640c0[_0x17562a(0x109)][_0x17562a(0xff)][_0x17562a(0xdf)])&&(_0x1640c0={'tree':_0x33ee61,'command':_0x32706d[_0x17562a(0x109)],'remainingArgs':_0x32706d[_0x17562a(0xc3)]});}if(!_0x1640c0)return undefined;const _0x1ceb7c={..._0x2c1b0d};return applyAppBinding(_0x1640c0[_0x17562a(0xe3)],_0x1640c0[_0x17562a(0x109)],_0x1ceb7c),{'definition':buildDynamicCommandDefinition(_0x1640c0[_0x17562a(0xe3)],_0x1640c0[_0x17562a(0x109)]),'args':_0x1640c0['remainingArgs'],'flags':_0x1ceb7c,'tree':_0x1640c0['tree'],'command':_0x1640c0[_0x17562a(0x109)]};}export function generateDynamicServiceHelp(_0x1bccaa){const _0x10e0d2=a39_0x137e,_0x2da328=listLocalServiceTrees()[_0x10e0d2(0xfa)](_0x493431=>_0x493431[_0x10e0d2(0xb9)]['code']===_0x1bccaa);if(!_0x2da328)return undefined;const _0x32a55c=[CLI_BIN_NAME+'\x20'+_0x1bccaa+_0x10e0d2(0xf7),'',_0x2da328[_0x10e0d2(0xb9)][_0x10e0d2(0xda)]||_0x1bccaa,_0x2da328[_0x10e0d2(0xb9)][_0x10e0d2(0x111)]?'\x20\x20'+_0x2da328[_0x10e0d2(0xb9)][_0x10e0d2(0x111)]:'','',_0x10e0d2(0xc2),..._0x2da328['commands'][_0x10e0d2(0xd8)](_0x3dc94f=>{const _0x1cf615=_0x10e0d2,_0x2b730d=_0x3dc94f[_0x1cf615(0xff)][_0x1cf615(0x115)](0x1)[_0x1cf615(0xc9)]('\x20'),_0x5bf004=_0x3dc94f['risk']===_0x1cf615(0xfc)?'':'\x20['+_0x3dc94f[_0x1cf615(0x114)]+']';return'\x20\x20'+_0x2b730d[_0x1cf615(0xf2)](0x18)+'\x20'+(_0x3dc94f[_0x1cf615(0x111)]||'')+_0x5bf004;}),'','Use\x20`'+CLI_BIN_NAME+_0x10e0d2(0x104)+_0x1bccaa+_0x10e0d2(0xc4)][_0x10e0d2(0xf1)](Boolean);return _0x32a55c['join']('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x4a9a8d=>{const _0x548b21=a39_0x137e,_0x1abedf=_0x4a9a8d[_0x548b21(0xfd)];return{'service':_0x1abedf['service'][_0x548b21(0xd0)],'label':_0x1abedf['service'][_0x548b21(0xda)]||_0x1abedf['service'][_0x548b21(0xd0)],'commands':_0x1abedf['commands'][_0x548b21(0xd8)](_0x45683d=>({'command':dynamicCommandName(_0x45683d),'description':_0x45683d[_0x548b21(0x111)]||'Run\x20service\x20command\x20'+_0x45683d[_0x548b21(0xf3)],'tag':riskTag(_0x45683d[_0x548b21(0x114)])}))};});}export function getDynamicServiceEntry(_0x41ff92){const _0x2ea695=a39_0x137e;return listDynamicServiceEntries()[_0x2ea695(0xfa)](_0x5192bc=>_0x5192bc['service']===_0x41ff92);}export function listDynamicServiceDefinitions(_0x4dd55b){const _0x17709f=a39_0x137e;return listLocalServiceTrees()[_0x17709f(0xf1)](_0x229d9e=>!_0x4dd55b||_0x229d9e['service'][_0x17709f(0xd0)]===_0x4dd55b)[_0x17709f(0xea)](_0x1357de=>_0x1357de[_0x17709f(0x10a)][_0x17709f(0xd8)](_0x46dd2a=>buildDynamicCommandDefinition(_0x1357de,_0x46dd2a)));}export function getDynamicServiceDefinitions(_0x5b144d){const _0x5012a7=a39_0x137e,_0x5c6a59=listDynamicServiceDefinitions(_0x5b144d);return _0x5c6a59[_0x5012a7(0xdf)]>0x0?_0x5c6a59:undefined;}export function findDynamicServiceDefinition(_0x13b504,_0x27732d){const _0x51a3e1=a39_0x137e;return listDynamicServiceDefinitions(_0x13b504)[_0x51a3e1(0xfa)](_0x48665f=>_0x48665f[_0x51a3e1(0x109)]===_0x27732d);}function a39_0x137e(_0x279414,_0x2102bc){_0x279414=_0x279414-0xb8;const _0x43fbf4=a39_0x43fb();let _0x137e8c=_0x43fbf4[_0x279414];return _0x137e8c;}export function buildDynamicCommandDefinition(_0x4f30c5,_0x21eb5d){const _0x54e693=a39_0x137e;return{'service':_0x4f30c5[_0x54e693(0xb9)]['code'],'command':dynamicCommandName(_0x21eb5d),'description':_0x21eb5d[_0x54e693(0x111)]||_0x54e693(0xcf)+_0x21eb5d['cliPath'],'risk':_0x21eb5d[_0x54e693(0x114)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x21eb5d['args'][_0x54e693(0xd8)](_0x485833=>({'name':_0x485833[_0x54e693(0xda)],'description':_0x485833[_0x54e693(0x111)]||_0x485833[_0x54e693(0xda)],'required':_0x485833[_0x54e693(0xcd)]})),'flags':_0x21eb5d[_0x54e693(0xe8)][_0x54e693(0xd8)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x21eb5d),async 'dryRun'(_0x4d0aa5){const _0x4b0b6a=_0x54e693,_0xc9f272=await compilePlan(_0x21eb5d,_0x4d0aa5);return{'method':_0x4b0b6a(0xbf),'url':_0x21eb5d[_0x4b0b6a(0xf3)],'body':{'target':targetPreview(_0xc9f272),'params':_0xc9f272[_0x4b0b6a(0x119)]},'description':_0x4b0b6a(0xce)+_0x21eb5d[_0x4b0b6a(0xf3)]};},async 'execute'(_0x3e8460){const _0x6fc6bc=_0x54e693,_0x48c9c7=await compilePlan(_0x21eb5d,_0x3e8460),_0x1eeeb5=Date[_0x6fc6bc(0x102)](),_0x2645a5=await executePlan(_0x48c9c7,_0x21eb5d,_0x3e8460),_0x46f9a6=Date[_0x6fc6bc(0x102)]()-_0x1eeeb5;return{'ok':!![],'data':{'service':_0x4f30c5[_0x6fc6bc(0xb9)],'command':_0x21eb5d[_0x6fc6bc(0xf3)],'target':targetPreview(_0x48c9c7),'result':_0x2645a5,'elapsed':_0x46f9a6},'message':_0x6fc6bc(0xc0)+_0x21eb5d[_0x6fc6bc(0xf3)]+_0x6fc6bc(0xd2)+_0x46f9a6+'ms'};}};}function dynamicCommandName(_0x41775b){const _0x57224d=a39_0x137e;return _0x41775b['fullPath'][_0x57224d(0x115)](0x1)[_0x57224d(0xc9)]('\x20');}function riskTag(_0xf04fc3){const _0x3186f6=a39_0x137e;return _0xf04fc3===_0x3186f6(0xfc)?'':'\x20\x20['+_0xf04fc3+']';}function flagToCommandFlag(_0x448ab5){const _0x51de12=a39_0x137e;return{'name':_0x448ab5['cliName'],'type':_0x448ab5[_0x51de12(0xdc)]===_0x51de12(0x112)?'string':_0x448ab5[_0x51de12(0xdc)],'description':_0x448ab5['description']||_0x448ab5[_0x51de12(0xda)],'required':_0x448ab5[_0x51de12(0xcd)],'default':isPrimitiveFlagDefault(_0x448ab5['default'])?_0x448ab5[_0x51de12(0xf9)]:undefined,'enum':_0x448ab5['enum']};}async function compilePlan(_0x1cc4b5,_0x40afff){const _0x1c5052=a39_0x137e;return compileServiceTreeCommand(_0x1cc4b5,{'flags':_0x40afff[_0x1c5052(0xf5)],'args':_0x40afff['args'],'context':await buildServiceContext(_0x1cc4b5,_0x40afff)});}async function buildServiceContext(_0x3dc27,_0x20d5a2){const _0x1f5190=a39_0x137e,_0x46960e={'appCode':_0x20d5a2['appCode'],'env':_0x20d5a2[_0x1f5190(0x103)],'envName':_0x20d5a2['envName']};if(!usesRuntimeContext(_0x3dc27))return _0x46960e;const _0x2025b6=await getLoginUserInfo(),_0xfff729=pickFirst(_0x2025b6[_0x1f5190(0x107)],_0x2025b6['id']);return{..._0x46960e,'user':_0x2025b6,'userId':_0xfff729,'id':_0x2025b6['id'],'username':pickFirst(_0x2025b6[_0x1f5190(0x106)],_0x2025b6[_0x1f5190(0xfe)],_0x2025b6[_0x1f5190(0x117)]),'userName':_0x2025b6[_0x1f5190(0xfe)],'nickname':pickFirst(_0x2025b6[_0x1f5190(0xc5)],_0x2025b6[_0x1f5190(0xf4)]),'nickName':_0x2025b6[_0x1f5190(0xf4)],'tenantCode':_0x2025b6[_0x1f5190(0x10f)],'employeeId':_0x2025b6[_0x1f5190(0xf6)]};}function usesRuntimeContext(_0x1e17dc){const _0x287121=a39_0x137e;return _0x1e17dc['mapTo'][_0x287121(0x11a)](_0x57815d=>typeof _0x57815d['source']===_0x287121(0xc7)&&(_0x57815d[_0x287121(0xba)][_0x287121(0xde)](_0x287121(0x101))||_0x57815d[_0x287121(0xba)]['startsWith'](_0x287121(0x11c))));}function pickFirst(..._0x3b5e05){const _0x504ba2=a39_0x137e;return _0x3b5e05[_0x504ba2(0xfa)](_0x456176=>_0x456176!==undefined&&_0x456176!==null);}async function executePlan(_0x1aefab,_0x8bc0af,_0x250db2){const _0xc7f6cb=a39_0x137e;if(_0x1aefab[_0xc7f6cb(0xdb)]==='data'){const _0x599e48=await resolveDatasetCode(_0x1aefab,_0x8bc0af,_0x250db2);return executeData(_0x599e48,_0x1aefab['command'],_0x1aefab[_0xc7f6cb(0x119)]);}if(_0x1aefab['kind']===_0xc7f6cb(0xe5)){if(!_0x1aefab[_0xc7f6cb(0x10e)])throw CliErrors[_0xc7f6cb(0xbc)](_0xc7f6cb(0xc0)+_0x8bc0af['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x1aefab[_0xc7f6cb(0x10e)],normalizeScalarParams(_0x1aefab[_0xc7f6cb(0x119)]));}if(_0x1aefab[_0xc7f6cb(0xdb)]===_0xc7f6cb(0xd3)){const _0x25a332=_0x1aefab['scriptName']||_0x1aefab['bffCode']||(_0x1aefab[_0xc7f6cb(0xfb)]==null?'':String(_0x1aefab[_0xc7f6cb(0xfb)]));if(!_0x25a332)throw CliErrors[_0xc7f6cb(0xbc)]('Service\x20command\x20'+_0x8bc0af[_0xc7f6cb(0xf3)]+_0xc7f6cb(0xef));return executeSdkBff(_0x25a332,_0x1aefab[_0xc7f6cb(0x119)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x1aefab[_0xc7f6cb(0xdb)]);}async function resolveDatasetCode(_0x3bbd67,_0x1ca1cc,_0x25ce66){const _0x54ac77=a39_0x137e;if(_0x3bbd67['datasetCode'])return _0x3bbd67[_0x54ac77(0x10c)];if(!_0x3bbd67[_0x54ac77(0x113)])throw CliErrors[_0x54ac77(0xbc)](_0x54ac77(0xc0)+_0x1ca1cc[_0x54ac77(0xf3)]+_0x54ac77(0x10b));const _0x221bf9=await listDatasets(_0x25ce66[_0x54ac77(0xe0)]),_0xe2a758=_0x221bf9['find'](_0x535416=>_0x535416[_0x54ac77(0xbe)]?.[_0x54ac77(0xec)]===_0x3bbd67[_0x54ac77(0x113)]);if(!_0xe2a758?.[_0x54ac77(0xd0)])throw CliErrors[_0x54ac77(0xbc)](_0x54ac77(0x108)+_0x3bbd67[_0x54ac77(0x113)]+_0x54ac77(0xd5)+_0x25ce66[_0x54ac77(0xe0)]+'.',_0x54ac77(0x110));return _0xe2a758['code'];}function a39_0x43fb(){const _0x2244c0=['find','bffId','read','normalizedManifest','userName','fullPath','\x20\x20\x20\x20command:\x20','context.','now','envName','\x20service\x20detail\x20--service\x20','28WuXNXY','username','userId','Cannot\x20resolve\x20datatable\x20\x22','command','commands','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','datasetCode','39blZGhq','sqlCode','tenantCode','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','description','json','datatable','risk','slice','\x20\x20\x20\x20functionName:\x20','loginName','1683584pOJpBn','params','some','\x20\x20\x20\x20','ctx.','4635693KjZvDJ','service','source','8jYLmKf','validation','\x22\x20in\x20service\x20command\x20','dbtableConfig','SERVICE_TREE','Service\x20command\x20','trim','Commands:','remainingArgs','`\x20to\x20inspect\x20the\x20manifest.','nickname','501726EAPxgV','string','app','join','5mIhgDw','225122vNsuZE','env','required','Preview\x20dynamic\x20service\x20command:\x20','Run\x20service\x20command\x20','code','10FaSJoC','\x20completed\x20in\x20','bff','appcode','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20->\x20','target','map','\x20\x20\x20\x20datatable:\x20','name','kind','type','number','startsWith','length','appCode','appRef','scriptName','tree','3krAqTg','sql','mapTo','4332163wXaoMY','flags','6199614wXDKGZ','flatMap','push','tableName','appBindings','4797444ekHzXE','\x20requires\x20target.functionName.','Unknown\x20appRef\x20\x22','filter','padEnd','cliPath','nickName','rawFlags','employeeId','\x20<command>\x20[flags]','\x20\x20\x20\x20sqlCode:\x20','default'];a39_0x43fb=function(){return _0x2244c0;};return a39_0x43fb();}function applyAppBinding(_0x3045b3,_0x5b7c42,_0x109ef7){const _0x3c747a=a39_0x137e,_0x3f6f33=_0x5b7c42[_0x3c747a(0xd7)]['appRef'];if(!_0x3f6f33)return;const _0x298f91=_0x3045b3[_0x3c747a(0xed)][_0x3f6f33];if(!_0x298f91)throw CliErrors['validation'](_0x3c747a(0xf0)+_0x3f6f33+_0x3c747a(0xbd)+_0x5b7c42['cliPath']+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x19de95=_0x298f91[_0x3c747a(0xd4)]||_0x298f91[_0x3c747a(0xe0)];_0x19de95&&!hasText(_0x109ef7[_0x3c747a(0xd4)])&&(_0x109ef7[_0x3c747a(0xd4)]=_0x19de95),_0x298f91['app']&&!hasText(_0x109ef7[_0x3c747a(0xc8)])&&!hasText(_0x109ef7[_0x3c747a(0xd4)])&&(_0x109ef7['app']=_0x298f91[_0x3c747a(0xc8)]),_0x298f91[_0x3c747a(0xcc)]&&!hasText(_0x109ef7['env'])&&(_0x109ef7[_0x3c747a(0xcc)]=_0x298f91[_0x3c747a(0xcc)]);}function renderDynamicCommandHelp(_0xd23a73){const _0x34e458=a39_0x137e,_0x355f02=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0xd23a73[_0x34e458(0xd7)]['kind'],_0x34e458(0x100)+_0xd23a73['target'][_0x34e458(0x109)]];if(_0xd23a73['target']['datasetCode'])_0x355f02[_0x34e458(0xeb)]('\x20\x20\x20\x20datasetCode:\x20'+_0xd23a73[_0x34e458(0xd7)][_0x34e458(0x10c)]);if(_0xd23a73[_0x34e458(0xd7)][_0x34e458(0x113)])_0x355f02[_0x34e458(0xeb)](_0x34e458(0xd9)+_0xd23a73[_0x34e458(0xd7)]['datatable']);if(_0xd23a73[_0x34e458(0xd7)]['sqlCode'])_0x355f02[_0x34e458(0xeb)](_0x34e458(0xf8)+_0xd23a73[_0x34e458(0xd7)][_0x34e458(0x10e)]);if(_0xd23a73['target'][_0x34e458(0xe2)])_0x355f02[_0x34e458(0xeb)](_0x34e458(0x116)+_0xd23a73[_0x34e458(0xd7)][_0x34e458(0xe2)]);if(_0xd23a73['mapTo'][_0x34e458(0xdf)]>0x0){_0x355f02[_0x34e458(0xeb)]('','\x20\x20MAP\x20TO');for(const _0x362176 of _0xd23a73[_0x34e458(0xe6)]){_0x355f02[_0x34e458(0xeb)](_0x34e458(0x11b)+(_0x362176['source']||'const')+_0x34e458(0xd6)+_0x362176['target']+(_0x362176['operator']?'.'+_0x362176['operator']:''));}}return _0x355f02[_0x34e458(0xc9)]('\x0a');}function targetPreview(_0x9e4bc1){const _0x419cf0=a39_0x137e;return{'kind':_0x9e4bc1[_0x419cf0(0xdb)],'command':_0x9e4bc1['command'],'appRef':_0x9e4bc1[_0x419cf0(0xe1)],'datasetCode':_0x9e4bc1[_0x419cf0(0x10c)],'datatable':_0x9e4bc1[_0x419cf0(0x113)],'sqlCode':_0x9e4bc1[_0x419cf0(0x10e)],'bffCode':_0x9e4bc1['bffCode'],'bffId':_0x9e4bc1[_0x419cf0(0xfb)],'functionName':_0x9e4bc1[_0x419cf0(0xe2)]};}function normalizeScalarParams(_0x28dd42){const _0x3d6a76=a39_0x137e;return Object['fromEntries'](Object['entries'](_0x28dd42)['filter'](([,_0x2b35d3])=>typeof _0x2b35d3===_0x3d6a76(0xc7)||typeof _0x2b35d3==='number'));}function hasText(_0x171314){const _0x36b795=a39_0x137e;return typeof _0x171314===_0x36b795(0xc7)&&_0x171314[_0x36b795(0xc1)]()[_0x36b795(0xdf)]>0x0;}function isPrimitiveFlagDefault(_0x107cec){const _0x57a680=a39_0x137e;return _0x107cec===undefined||typeof _0x107cec===_0x57a680(0xc7)||typeof _0x107cec===_0x57a680(0xdd)||typeof _0x107cec==='boolean';}
|
|
1
|
+
(function(_0x23f921,_0x3ceeb6){const _0x3c5b75=a39_0x5e7b,_0x3b0f54=_0x23f921();while(!![]){try{const _0x233f80=parseInt(_0x3c5b75(0x11c))/0x1+-parseInt(_0x3c5b75(0xff))/0x2+parseInt(_0x3c5b75(0x10a))/0x3+parseInt(_0x3c5b75(0x13c))/0x4*(parseInt(_0x3c5b75(0x112))/0x5)+parseInt(_0x3c5b75(0x126))/0x6*(-parseInt(_0x3c5b75(0xfb))/0x7)+parseInt(_0x3c5b75(0x13e))/0x8*(-parseInt(_0x3c5b75(0x118))/0x9)+-parseInt(_0x3c5b75(0x144))/0xa;if(_0x233f80===_0x3ceeb6)break;else _0x3b0f54['push'](_0x3b0f54['shift']());}catch(_0x20b5ba){_0x3b0f54['push'](_0x3b0f54['shift']());}}}(a39_0x16c3,0x1dcbe));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(_0x1222a8,_0x377b94){const _0x246241=a39_0x5e7b,_0x56bfd0=listLocalServiceTrees();let _0x1a9307;for(const _0x17ecff of _0x56bfd0){const _0x8f08ae=matchServiceTreeCommand(_0x17ecff,_0x1222a8);if(!_0x8f08ae)continue;(!_0x1a9307||_0x8f08ae[_0x246241(0x10c)]['fullPath'][_0x246241(0x13a)]>_0x1a9307[_0x246241(0x10c)][_0x246241(0x12f)][_0x246241(0x13a)])&&(_0x1a9307={'tree':_0x17ecff,'command':_0x8f08ae[_0x246241(0x10c)],'remainingArgs':_0x8f08ae[_0x246241(0x111)]});}if(!_0x1a9307)return undefined;const _0x4d7c33={..._0x377b94};return applyAppBinding(_0x1a9307['tree'],_0x1a9307[_0x246241(0x10c)],_0x4d7c33),{'definition':buildDynamicCommandDefinition(_0x1a9307['tree'],_0x1a9307[_0x246241(0x10c)]),'args':_0x1a9307['remainingArgs'],'flags':_0x4d7c33,'tree':_0x1a9307['tree'],'command':_0x1a9307[_0x246241(0x10c)]};}export function generateDynamicServiceHelp(_0x4d3827){const _0x33dfac=a39_0x5e7b,_0x2bae56=listLocalServiceTrees()[_0x33dfac(0x135)](_0xd5a616=>_0xd5a616[_0x33dfac(0xf4)][_0x33dfac(0x107)]===_0x4d3827);if(!_0x2bae56)return undefined;const _0x4b0540=[CLI_BIN_NAME+'\x20'+_0x4d3827+'\x20<command>\x20[flags]','',_0x2bae56[_0x33dfac(0xf4)][_0x33dfac(0xe9)]||_0x4d3827,_0x2bae56[_0x33dfac(0xf4)][_0x33dfac(0x122)]?'\x20\x20'+_0x2bae56['service'][_0x33dfac(0x122)]:'','',_0x33dfac(0x123),..._0x2bae56[_0x33dfac(0x140)][_0x33dfac(0xf9)](_0x10d464=>{const _0x557974=_0x33dfac,_0x14fd99=_0x10d464[_0x557974(0x12f)][_0x557974(0xee)](0x1)['join']('\x20'),_0x4e5abd=_0x10d464[_0x557974(0xf1)]===_0x557974(0x121)?'':'\x20['+_0x10d464[_0x557974(0xf1)]+']';return'\x20\x20'+_0x14fd99[_0x557974(0x124)](0x18)+'\x20'+(_0x10d464[_0x557974(0x122)]||'')+_0x4e5abd;}),'',_0x33dfac(0xfe)+CLI_BIN_NAME+_0x33dfac(0x12d)+_0x4d3827+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x4b0540[_0x33dfac(0x102)]('\x0a');}export function listDynamicServiceEntries(){const _0xa03f6f=a39_0x5e7b;return listLocalServices()[_0xa03f6f(0xf9)](_0x5854db=>{const _0x207b69=_0xa03f6f,_0x2ff154=_0x5854db[_0x207b69(0xfa)];return{'service':_0x2ff154[_0x207b69(0xf4)][_0x207b69(0x107)],'label':_0x2ff154[_0x207b69(0xf4)]['name']||_0x2ff154[_0x207b69(0xf4)][_0x207b69(0x107)],'commands':_0x2ff154[_0x207b69(0x140)][_0x207b69(0xf9)](_0xd3c20=>({'command':dynamicCommandName(_0xd3c20),'description':_0xd3c20[_0x207b69(0x122)]||'Run\x20service\x20command\x20'+_0xd3c20['cliPath'],'tag':riskTag(_0xd3c20[_0x207b69(0xf1)])}))};});}export function getDynamicServiceEntry(_0x1d88fe){const _0x268e37=a39_0x5e7b;return listDynamicServiceEntries()['find'](_0x4584e7=>_0x4584e7[_0x268e37(0xf4)]===_0x1d88fe);}function a39_0x5e7b(_0x12b32a,_0x3b2fba){_0x12b32a=_0x12b32a-0xe2;const _0x16c328=a39_0x16c3();let _0x5e7be4=_0x16c328[_0x12b32a];return _0x5e7be4;}export function listDynamicServiceDefinitions(_0x204651){const _0x4d6b29=a39_0x5e7b;return listLocalServiceTrees()[_0x4d6b29(0x110)](_0xdda0bd=>!_0x204651||_0xdda0bd[_0x4d6b29(0xf4)][_0x4d6b29(0x107)]===_0x204651)[_0x4d6b29(0xfd)](_0x2427b1=>_0x2427b1[_0x4d6b29(0x140)][_0x4d6b29(0xf9)](_0x1f3ae6=>buildDynamicCommandDefinition(_0x2427b1,_0x1f3ae6)));}export function getDynamicServiceDefinitions(_0x391b43){const _0x3553d4=listDynamicServiceDefinitions(_0x391b43);return _0x3553d4['length']>0x0?_0x3553d4:undefined;}export function findDynamicServiceDefinition(_0x1ad813,_0x5e781d){const _0x27df23=a39_0x5e7b;return listDynamicServiceDefinitions(_0x1ad813)['find'](_0xbc24ca=>_0xbc24ca[_0x27df23(0x10c)]===_0x5e781d);}export function buildDynamicCommandDefinition(_0x2e416e,_0x2815e0){const _0x353469=a39_0x5e7b;return{'service':_0x2e416e[_0x353469(0xf4)][_0x353469(0x107)],'command':dynamicCommandName(_0x2815e0),'description':_0x2815e0[_0x353469(0x122)]||_0x353469(0x145)+_0x2815e0[_0x353469(0x138)],'risk':_0x2815e0[_0x353469(0xf1)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2815e0[_0x353469(0xf8)][_0x353469(0xf9)](_0x28df82=>({'name':_0x28df82[_0x353469(0xe9)],'description':_0x28df82[_0x353469(0x122)]||_0x28df82[_0x353469(0xe9)],'required':_0x28df82[_0x353469(0xec)]})),'flags':_0x2815e0['flags'][_0x353469(0xf9)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2815e0),async 'dryRun'(_0x18048e){const _0x5b4871=_0x353469,_0x467431=await compilePlan(_0x2815e0,_0x18048e);return{'method':'SERVICE_TREE','url':_0x2815e0[_0x5b4871(0x138)],'body':{'target':targetPreview(_0x467431),'params':_0x467431['params']},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x2815e0['cliPath']};},async 'execute'(_0x111bc8){const _0x89f07a=_0x353469,_0x49d0b=await compilePlan(_0x2815e0,_0x111bc8),_0x1bd126=Date[_0x89f07a(0x11b)](),_0x352091=await executePlan(_0x49d0b,_0x2815e0,_0x111bc8),_0x41aa66=Date['now']()-_0x1bd126;return{'ok':!![],'data':{'service':_0x2e416e[_0x89f07a(0xf4)],'command':_0x2815e0['cliPath'],'target':targetPreview(_0x49d0b),'result':_0x352091,'elapsed':_0x41aa66},'message':'Service\x20command\x20'+_0x2815e0['cliPath']+_0x89f07a(0x139)+_0x41aa66+'ms'};}};}function dynamicCommandName(_0x4b554a){const _0x5be49=a39_0x5e7b;return _0x4b554a['fullPath'][_0x5be49(0xee)](0x1)[_0x5be49(0x102)]('\x20');}function riskTag(_0x1843d6){const _0x3e0005=a39_0x5e7b;return _0x1843d6===_0x3e0005(0x121)?'':'\x20\x20['+_0x1843d6+']';}function flagToCommandFlag(_0x521d6b){const _0x149cac=a39_0x5e7b;return{'name':_0x521d6b[_0x149cac(0x128)],'type':_0x521d6b['type']===_0x149cac(0x101)?_0x149cac(0x103):_0x521d6b[_0x149cac(0x136)],'description':_0x521d6b[_0x149cac(0x122)]||_0x521d6b[_0x149cac(0xe9)],'required':_0x521d6b[_0x149cac(0xec)],'default':isPrimitiveFlagDefault(_0x521d6b[_0x149cac(0x141)])?_0x521d6b[_0x149cac(0x141)]:undefined,'enum':_0x521d6b[_0x149cac(0xe5)]};}async function compilePlan(_0x34fae6,_0xfa6570){const _0x295a20=a39_0x5e7b;return compileServiceTreeCommand(_0x34fae6,{'flags':_0xfa6570[_0x295a20(0xf3)],'args':_0xfa6570[_0x295a20(0xf8)],'context':await buildServiceContext(_0x34fae6,_0xfa6570)});}async function buildServiceContext(_0x3f6757,_0x215a4e){const _0x57c7ce=a39_0x5e7b,_0x4d85b8={'appCode':_0x215a4e[_0x57c7ce(0x10e)],'env':_0x215a4e[_0x57c7ce(0x109)],'envName':_0x215a4e[_0x57c7ce(0x109)]};if(!usesRuntimeContext(_0x3f6757))return _0x4d85b8;const _0x23d178=await getLoginUserInfo(),_0x5160d4=pickFirst(_0x23d178[_0x57c7ce(0x12e)],_0x23d178['id']);return{..._0x4d85b8,'user':_0x23d178,'userId':_0x5160d4,'id':_0x23d178['id'],'username':pickFirst(_0x23d178['username'],_0x23d178[_0x57c7ce(0xfc)],_0x23d178[_0x57c7ce(0x131)]),'userName':_0x23d178[_0x57c7ce(0xfc)],'nickname':pickFirst(_0x23d178[_0x57c7ce(0xe3)],_0x23d178[_0x57c7ce(0x117)]),'nickName':_0x23d178[_0x57c7ce(0x117)],'tenantCode':_0x23d178[_0x57c7ce(0xf5)],'employeeId':_0x23d178[_0x57c7ce(0x12c)]};}function usesRuntimeContext(_0x32e407){const _0x3aedae=a39_0x5e7b;return _0x32e407[_0x3aedae(0x13d)][_0x3aedae(0xe7)](_0x2d95fd=>typeof _0x2d95fd[_0x3aedae(0x120)]==='string'&&(_0x2d95fd[_0x3aedae(0x120)]['startsWith']('context.')||_0x2d95fd[_0x3aedae(0x120)][_0x3aedae(0x13f)]('ctx.')));}function pickFirst(..._0x21cc77){const _0x4a91f4=a39_0x5e7b;return _0x21cc77[_0x4a91f4(0x135)](_0xeda17b=>_0xeda17b!==undefined&&_0xeda17b!==null);}async function executePlan(_0x408f21,_0x2fdd79,_0xcd6977){const _0x1576a4=a39_0x5e7b;if(_0x408f21[_0x1576a4(0x10d)]===_0x1576a4(0x125)){const _0x1a8d71=await resolveDatasetCode(_0x408f21,_0x2fdd79,_0xcd6977);return executeData(_0x1a8d71,_0x408f21[_0x1576a4(0x10c)],_0x408f21[_0x1576a4(0xea)]);}if(_0x408f21[_0x1576a4(0x10d)]===_0x1576a4(0x13b)){if(!_0x408f21[_0x1576a4(0x11a)])throw CliErrors['validation']('Service\x20command\x20'+_0x2fdd79[_0x1576a4(0x138)]+_0x1576a4(0x130));return executeSdkSql(_0x408f21[_0x1576a4(0x11a)],normalizeScalarParams(_0x408f21[_0x1576a4(0xea)]));}if(_0x408f21[_0x1576a4(0x10d)]===_0x1576a4(0x133)){const _0x52ea17=_0x408f21[_0x1576a4(0x129)]||_0x408f21['bffCode']||(_0x408f21[_0x1576a4(0x143)]==null?'':String(_0x408f21[_0x1576a4(0x143)]));if(!_0x52ea17)throw CliErrors[_0x1576a4(0x12a)](_0x1576a4(0xf0)+_0x2fdd79[_0x1576a4(0x138)]+_0x1576a4(0x115));return executeSdkBff(_0x52ea17,_0x408f21['params']);}throw CliErrors[_0x1576a4(0x12a)](_0x1576a4(0x137)+_0x408f21[_0x1576a4(0x10d)]);}async function resolveDatasetCode(_0x1aff47,_0x2ac063,_0x72a486){const _0x38f261=a39_0x5e7b;if(_0x1aff47[_0x38f261(0x127)])return _0x1aff47[_0x38f261(0x127)];if(!_0x1aff47[_0x38f261(0xe4)])throw CliErrors[_0x38f261(0x12a)]('Service\x20command\x20'+_0x2ac063['cliPath']+_0x38f261(0xf7));const _0x35aa6f=await listDatasets(_0x72a486['appCode']),_0x3a9f2e=_0x35aa6f[_0x38f261(0x135)](_0x5c03e6=>_0x5c03e6['dbtableConfig']?.[_0x38f261(0x134)]===_0x1aff47[_0x38f261(0xe4)]);if(!_0x3a9f2e?.[_0x38f261(0x107)])throw CliErrors[_0x38f261(0x12a)](_0x38f261(0x105)+_0x1aff47[_0x38f261(0xe4)]+_0x38f261(0x11d)+_0x72a486[_0x38f261(0x10e)]+'.',_0x38f261(0xef));return _0x3a9f2e['code'];}function applyAppBinding(_0x37f130,_0x591ed5,_0x1b06a4){const _0x1473ea=a39_0x5e7b,_0x5a887c=_0x591ed5[_0x1473ea(0x11f)]['appRef'];if(!_0x5a887c)return;const _0x4c504b=_0x37f130[_0x1473ea(0xf6)][_0x5a887c];if(!_0x4c504b)throw CliErrors[_0x1473ea(0x12a)](_0x1473ea(0xf2)+_0x5a887c+'\x22\x20in\x20service\x20command\x20'+_0x591ed5[_0x1473ea(0x138)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x46d83b=_0x4c504b[_0x1473ea(0x10f)]||_0x4c504b[_0x1473ea(0x10e)];_0x46d83b&&!hasText(_0x1b06a4[_0x1473ea(0x10f)])&&(_0x1b06a4[_0x1473ea(0x10f)]=_0x46d83b),_0x4c504b['app']&&!hasText(_0x1b06a4[_0x1473ea(0x142)])&&!hasText(_0x1b06a4[_0x1473ea(0x10f)])&&(_0x1b06a4[_0x1473ea(0x142)]=_0x4c504b[_0x1473ea(0x142)]),_0x4c504b[_0x1473ea(0x113)]&&!hasText(_0x1b06a4['env'])&&(_0x1b06a4[_0x1473ea(0x113)]=_0x4c504b[_0x1473ea(0x113)]);}function a39_0x16c3(){const _0x2d46b4=['appcode','filter','remainingArgs','1164725CpqDGq','env','const','\x20requires\x20target.functionName.','trim','nickName','747yKgKJS','number','sqlCode','now','14209KwuXiL','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','operator','target','source','read','description','Commands:','padEnd','data','264PLwqmh','datasetCode','cliName','scriptName','validation','entries','employeeId','\x20service\x20detail\x20--service\x20','userId','fullPath','\x20requires\x20target.sqlCode.','loginName','\x20\x20\x20\x20datasetCode:\x20','bff','tableName','find','type','Unsupported\x20service\x20target\x20kind:\x20','cliPath','\x20completed\x20in\x20','length','sql','4tbXRNu','mapTo','6232CKyZeO','startsWith','commands','default','app','bffId','61190TyyTUR','Run\x20service\x20command\x20','appRef','nickname','datatable','enum','\x20->\x20','some','\x20\x20\x20\x20kind:\x20\x20\x20\x20','name','params','bffCode','required','\x20\x20\x20\x20functionName:\x20','slice','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','Service\x20command\x20','risk','Unknown\x20appRef\x20\x22','rawFlags','service','tenantCode','appBindings','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','args','map','normalizedManifest','8099ZCYlRg','userName','flatMap','Use\x20`','117504iJtfiV','push','json','join','string','boolean','Cannot\x20resolve\x20datatable\x20\x22','\x20\x20\x20\x20command:\x20','code','\x20\x20\x20\x20sqlCode:\x20','envName','165984gxIeyQ','fromEntries','command','kind','appCode'];a39_0x16c3=function(){return _0x2d46b4;};return a39_0x16c3();}function renderDynamicCommandHelp(_0xba121d){const _0x303d63=a39_0x5e7b,_0x149ad2=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x303d63(0xe8)+_0xba121d[_0x303d63(0x11f)][_0x303d63(0x10d)],_0x303d63(0x106)+_0xba121d[_0x303d63(0x11f)][_0x303d63(0x10c)]];if(_0xba121d['target'][_0x303d63(0x127)])_0x149ad2[_0x303d63(0x100)](_0x303d63(0x132)+_0xba121d[_0x303d63(0x11f)][_0x303d63(0x127)]);if(_0xba121d[_0x303d63(0x11f)]['datatable'])_0x149ad2['push']('\x20\x20\x20\x20datatable:\x20'+_0xba121d[_0x303d63(0x11f)][_0x303d63(0xe4)]);if(_0xba121d[_0x303d63(0x11f)][_0x303d63(0x11a)])_0x149ad2[_0x303d63(0x100)](_0x303d63(0x108)+_0xba121d['target'][_0x303d63(0x11a)]);if(_0xba121d[_0x303d63(0x11f)][_0x303d63(0x129)])_0x149ad2[_0x303d63(0x100)](_0x303d63(0xed)+_0xba121d['target'][_0x303d63(0x129)]);if(_0xba121d['mapTo'][_0x303d63(0x13a)]>0x0){_0x149ad2[_0x303d63(0x100)]('','\x20\x20MAP\x20TO');for(const _0x1bd382 of _0xba121d[_0x303d63(0x13d)]){_0x149ad2['push']('\x20\x20\x20\x20'+(_0x1bd382[_0x303d63(0x120)]||_0x303d63(0x114))+_0x303d63(0xe6)+_0x1bd382['target']+(_0x1bd382[_0x303d63(0x11e)]?'.'+_0x1bd382[_0x303d63(0x11e)]:''));}}return _0x149ad2[_0x303d63(0x102)]('\x0a');}function targetPreview(_0x313242){const _0x118589=a39_0x5e7b;return{'kind':_0x313242['kind'],'command':_0x313242[_0x118589(0x10c)],'appRef':_0x313242[_0x118589(0xe2)],'datasetCode':_0x313242['datasetCode'],'datatable':_0x313242['datatable'],'sqlCode':_0x313242[_0x118589(0x11a)],'bffCode':_0x313242[_0x118589(0xeb)],'bffId':_0x313242[_0x118589(0x143)],'functionName':_0x313242[_0x118589(0x129)]};}function normalizeScalarParams(_0x1bb7d8){const _0x510183=a39_0x5e7b;return Object[_0x510183(0x10b)](Object[_0x510183(0x12b)](_0x1bb7d8)[_0x510183(0x110)](([,_0x15591c])=>typeof _0x15591c===_0x510183(0x103)||typeof _0x15591c===_0x510183(0x119)));}function hasText(_0x13c78a){const _0x51b69d=a39_0x5e7b;return typeof _0x13c78a==='string'&&_0x13c78a[_0x51b69d(0x116)]()[_0x51b69d(0x13a)]>0x0;}function isPrimitiveFlagDefault(_0x17a29d){const _0x2a3605=a39_0x5e7b;return _0x17a29d===undefined||typeof _0x17a29d===_0x2a3605(0x103)||typeof _0x17a29d==='number'||typeof _0x17a29d===_0x2a3605(0x104);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a40_0x3a7a(){const _0x1f6c4e=['kind','.resources','35aWIRtC','1139370xCpyrg','map','object','6452hVySXR','scriptName','134864RlEmEQ','.target','commands','functionName','isArray','175062qUbilS','trim','bff.exec','9ihAdYH','resources','$.commands[','string','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','actions','.scriptName','49dLfiRW','174mWQIRg','fromEntries','897072qjhQCA','error','target','call','48873DRPgnE','entries','push','hasOwnProperty','].target','prototype','$.resources','588ZrljFl','functionName\x20must\x20be\x20a\x20non-empty\x20string.','116431TJRfMs'];a40_0x3a7a=function(){return _0x1f6c4e;};return a40_0x3a7a();}(function(_0x472a5c,_0x533147){const _0x30b0cf=a40_0x3e85,_0x4cb3a5=_0x472a5c();while(!![]){try{const _0x29b9b7=parseInt(_0x30b0cf(0x137))/0x1+parseInt(_0x30b0cf(0x13e))/0x2*(-parseInt(_0x30b0cf(0x150))/0x3)+parseInt(_0x30b0cf(0x152))/0x4+parseInt(_0x30b0cf(0x13a))/0x5*(parseInt(_0x30b0cf(0x145))/0x6)+-parseInt(_0x30b0cf(0x14f))/0x7*(parseInt(_0x30b0cf(0x140))/0x8)+-parseInt(_0x30b0cf(0x148))/0x9*(-parseInt(_0x30b0cf(0x13b))/0xa)+parseInt(_0x30b0cf(0x156))/0xb*(-parseInt(_0x30b0cf(0x15d))/0xc);if(_0x29b9b7===_0x533147)break;else _0x4cb3a5['push'](_0x4cb3a5['shift']());}catch(_0x3511da){_0x4cb3a5['push'](_0x4cb3a5['shift']());}}}(a40_0x3a7a,0x21376));export function adaptServiceTreeManifestForLegacyFramework(_0x1ac641){const _0x55d5a4=a40_0x3e85,_0x26c124=cloneJsonValue(_0x1ac641),_0x1fa1c8=[];if(!isObjectRecord(_0x26c124))return{'manifest':_0x26c124,'errors':_0x1fa1c8};return Array[_0x55d5a4(0x144)](_0x26c124[_0x55d5a4(0x142)])&&_0x26c124[_0x55d5a4(0x142)]['forEach']((_0x2c8f81,_0x5ee933)=>{const _0x8de709=_0x55d5a4;if(!isObjectRecord(_0x2c8f81))return;adaptBffTarget(_0x2c8f81[_0x8de709(0x154)],_0x8de709(0x14a)+_0x5ee933+_0x8de709(0x15a),_0x1fa1c8);}),adaptResources(_0x26c124[_0x55d5a4(0x149)],_0x55d5a4(0x15c),_0x1fa1c8),{'manifest':_0x26c124,'errors':_0x1fa1c8};}export function toPublicServiceTreeTarget(_0x261e21){const _0x22adbb=a40_0x3e85,{scriptName:_0x5d9d53,..._0x42afcc}=_0x261e21;return typeof _0x5d9d53===_0x22adbb(0x14b)&&_0x5d9d53[_0x22adbb(0x146)]()&&(_0x42afcc[_0x22adbb(0x143)]=_0x5d9d53),_0x42afcc;}function a40_0x3e85(_0x35c39f,_0x265f46){_0x35c39f=_0x35c39f-0x137;const _0x3a7aea=a40_0x3a7a();let _0x3e85b6=_0x3a7aea[_0x35c39f];return _0x3e85b6;}export function toPublicNormalizedServiceTree(_0x414848){const _0x3a7269=a40_0x3e85;return{..._0x414848,'commands':_0x414848[_0x3a7269(0x142)][_0x3a7269(0x13c)](_0x2c6753=>({..._0x2c6753,'target':toPublicServiceTreeTarget(_0x2c6753['target'])}))};}function adaptResources(_0x48b504,_0x30e669,_0x46ca09){const _0x1770cf=a40_0x3e85;if(!isObjectRecord(_0x48b504))return;for(const [_0x1221c7,_0x2e8dcb]of Object[_0x1770cf(0x157)](_0x48b504)){if(!isObjectRecord(_0x2e8dcb))continue;const _0x4938f0=_0x30e669+'.'+_0x1221c7;if(isObjectRecord(_0x2e8dcb[_0x1770cf(0x14d)]))for(const [_0x515da6,_0x41a11c]of Object[_0x1770cf(0x157)](_0x2e8dcb[_0x1770cf(0x14d)])){if(!isObjectRecord(_0x41a11c))continue;const _0xe2451a=_0x4938f0+'.actions.'+_0x515da6,_0x12e02a=isObjectRecord(_0x41a11c[_0x1770cf(0x154)])&&_0x41a11c[_0x1770cf(0x154)][_0x1770cf(0x138)]==='bff';adaptBffTarget(_0x41a11c[_0x1770cf(0x154)],_0xe2451a+_0x1770cf(0x141),_0x46ca09),(_0x12e02a||isBffAction(_0x41a11c))&&adaptFunctionNameField(_0x41a11c,_0xe2451a,_0x46ca09);}adaptResources(_0x2e8dcb[_0x1770cf(0x149)],_0x4938f0+_0x1770cf(0x139),_0x46ca09);}}function adaptBffTarget(_0x31138e,_0x12a0e8,_0x479187){if(!isObjectRecord(_0x31138e)||_0x31138e['kind']!=='bff')return;adaptFunctionNameField(_0x31138e,_0x12a0e8,_0x479187);}function adaptFunctionNameField(_0x44d26d,_0x47c06e,_0xbf5465){const _0x164ba9=a40_0x3e85;Object['prototype'][_0x164ba9(0x159)][_0x164ba9(0x155)](_0x44d26d,'scriptName')&&_0xbf5465['push']({'level':_0x164ba9(0x153),'path':_0x47c06e+_0x164ba9(0x14e),'message':_0x164ba9(0x14c)});if(Object[_0x164ba9(0x15b)][_0x164ba9(0x159)]['call'](_0x44d26d,_0x164ba9(0x143))){if(typeof _0x44d26d['functionName']!==_0x164ba9(0x14b)||!_0x44d26d['functionName'][_0x164ba9(0x146)]()){_0xbf5465[_0x164ba9(0x158)]({'level':'error','path':_0x47c06e+'.functionName','message':_0x164ba9(0x15e)}),delete _0x44d26d[_0x164ba9(0x143)];return;}_0x44d26d[_0x164ba9(0x13f)]=_0x44d26d[_0x164ba9(0x143)],delete _0x44d26d[_0x164ba9(0x143)];}}function isBffAction(_0x15b8c0){const _0x106fcc=a40_0x3e85;return _0x15b8c0[_0x106fcc(0x138)]==='bff'||_0x15b8c0['action']===_0x106fcc(0x147)||_0x15b8c0[_0x106fcc(0x154)]===_0x106fcc(0x147);}function cloneJsonValue(_0x44f248){const _0x30a24f=a40_0x3e85;if(Array[_0x30a24f(0x144)](_0x44f248))return _0x44f248[_0x30a24f(0x13c)](_0x5ec77c=>cloneJsonValue(_0x5ec77c));if(isObjectRecord(_0x44f248))return Object[_0x30a24f(0x151)](Object[_0x30a24f(0x157)](_0x44f248)[_0x30a24f(0x13c)](([_0x1d2bd1,_0x442127])=>[_0x1d2bd1,cloneJsonValue(_0x442127)]));return _0x44f248;}function isObjectRecord(_0x4817eb){const _0xc5e7c5=a40_0x3e85;return Boolean(_0x4817eb)&&typeof _0x4817eb===_0xc5e7c5(0x13d)&&!Array[_0xc5e7c5(0x144)](_0x4817eb);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a41_0x2f13ef=a41_0x31ee;(function(_0x4f3e2e,_0x52e239){const _0x3a4c94=a41_0x31ee,_0x69f690=_0x4f3e2e();while(!![]){try{const _0x59e360=-parseInt(_0x3a4c94(0x112))/0x1*(parseInt(_0x3a4c94(0x103))/0x2)+parseInt(_0x3a4c94(0x105))/0x3+parseInt(_0x3a4c94(0xdb))/0x4+-parseInt(_0x3a4c94(0xfa))/0x5+-parseInt(_0x3a4c94(0x111))/0x6+-parseInt(_0x3a4c94(0x109))/0x7+parseInt(_0x3a4c94(0xfb))/0x8*(parseInt(_0x3a4c94(0xeb))/0x9);if(_0x59e360===_0x52e239)break;else _0x69f690['push'](_0x69f690['shift']());}catch(_0x565ff0){_0x69f690['push'](_0x69f690['shift']());}}}(a41_0x1f19,0x5c56a));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a41_0x1f19(){const _0x33a7c8=['Updated','length','Local\x20service\x20code,\x20for\x20example\x20crm','WRITE','string','type','name','1505336GekfxP','registryPath','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','remove','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service(s).','risk','manifests','map','updated','source','registry','registryIndex','registryServiceCode','validate','import','999PLouXK','cliName','description','Service\x20manifest\x20validation\x20passed.','read','report','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','reduce','normalizedManifest','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Service\x20Tree\x20manifest\x20file\x20path','detail','entry','commands','imported','2262530ZMxiDI','132576UEsxni','\x20service\x20','importedAt','Removed\x20service\x20','Service\x20registry\x20validation\x20passed.','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','\x20service(s),\x20updated\x20','service','2494SIIGcm','version','1039575VAbQlK','serviceCount','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','errors','3878959CPTFss','kind','required','filePath','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','entries','str','target','4348974robGDa','363XyMjGJ','write','warnings','cliPath','hash','serviceCode','file'];a41_0x1f19=function(){return _0x33a7c8;};return a41_0x1f19();}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';function a41_0x31ee(_0x3ae360,_0x3d3c88){_0x3ae360=_0x3ae360-0xda;const _0x1f19a0=a41_0x1f19();let _0x31ee3e=_0x1f19a0[_0x3ae360];return _0x31ee3e;}const FILE_FLAG={'name':a41_0x2f13ef(0x118),'type':a41_0x2f13ef(0x11d),'required':!![],'description':a41_0x2f13ef(0xf5)},SERVICE_FLAG={'name':'service','type':a41_0x2f13ef(0x11d),'required':!![],'description':a41_0x2f13ef(0x11b),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x1b61e3){const _0x4dd66a=a41_0x2f13ef;return{'serviceCode':_0x1b61e3[_0x4dd66a(0x117)],'name':_0x1b61e3[_0x4dd66a(0xf3)][_0x4dd66a(0x102)][_0x4dd66a(0xda)],'version':_0x1b61e3[_0x4dd66a(0x104)],'importedAt':_0x1b61e3[_0x4dd66a(0xfd)],'source':_0x1b61e3[_0x4dd66a(0xe5)],'commandCount':_0x1b61e3[_0x4dd66a(0xf3)]['commands'][_0x4dd66a(0x11a)],'commands':_0x1b61e3[_0x4dd66a(0xf3)][_0x4dd66a(0xf8)][_0x4dd66a(0xe3)](_0x4ff78a=>({'path':_0x4ff78a[_0x4dd66a(0x115)],'description':_0x4ff78a[_0x4dd66a(0xed)],'risk':_0x4ff78a[_0x4dd66a(0xe1)],'target':toPublicServiceTreeTarget(_0x4ff78a['target']),'flags':_0x4ff78a['flags'][_0x4dd66a(0xe3)](_0x3a66d0=>({'name':_0x3a66d0['name'],'cliName':_0x3a66d0[_0x4dd66a(0xec)],'type':_0x3a66d0[_0x4dd66a(0x11e)],'required':_0x3a66d0[_0x4dd66a(0x10b)]===!![]}))}))};}function summarizeLoadedManifest(_0x349236){const _0x1bb998=a41_0x2f13ef;return{'service':_0x349236[_0x1bb998(0xf3)]?.[_0x1bb998(0x102)],'version':_0x349236[_0x1bb998(0xf3)]?.[_0x1bb998(0x104)],'commandCount':_0x349236[_0x1bb998(0xf3)]?.[_0x1bb998(0xf8)][_0x1bb998(0x11a)]??0x0,'commands':_0x349236[_0x1bb998(0xf3)]?.[_0x1bb998(0xf8)][_0x1bb998(0xe3)](_0x1236c3=>({'path':_0x1236c3[_0x1bb998(0x115)],'risk':_0x1236c3[_0x1bb998(0xe1)],'target':toPublicServiceTreeTarget(_0x1236c3[_0x1bb998(0x110)])}))??[],'registryIndex':_0x349236[_0x1bb998(0xe7)],'registryServiceCode':_0x349236[_0x1bb998(0xe8)],'errors':_0x349236[_0x1bb998(0xf0)][_0x1bb998(0x108)],'warnings':_0x349236[_0x1bb998(0xf0)][_0x1bb998(0x114)]};}export const serviceDefinitions=[{'service':a41_0x2f13ef(0x102),'command':a41_0x2f13ef(0xe9),'description':a41_0x2f13ef(0xf4),'risk':a41_0x2f13ef(0xef),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x473211){const _0x533808=a41_0x2f13ef,_0x48dc20=loadServiceManifestFromFile(_0x473211[_0x533808(0x10f)](_0x533808(0x118)));if(!_0x48dc20['report']['ok'])return{'ok':![],'data':{'file':_0x48dc20[_0x533808(0x10c)],'hash':_0x48dc20[_0x533808(0x116)],'kind':_0x48dc20[_0x533808(0x10a)],'serviceCount':_0x48dc20[_0x533808(0xe2)][_0x533808(0x11a)],'services':_0x48dc20[_0x533808(0xe2)][_0x533808(0xe3)](summarizeLoadedManifest),'errors':_0x48dc20[_0x533808(0xf0)][_0x533808(0x108)],'warnings':_0x48dc20[_0x533808(0xf0)][_0x533808(0x114)]},'message':formatValidationFailure(_0x48dc20[_0x533808(0xf0)])};if(_0x48dc20[_0x533808(0x10a)]===_0x533808(0xe6)||_0x48dc20[_0x533808(0xe2)][_0x533808(0x11a)]!==0x1)return{'ok':!![],'data':{'file':_0x48dc20[_0x533808(0x10c)],'hash':_0x48dc20[_0x533808(0x116)],'kind':_0x48dc20[_0x533808(0x10a)],'serviceCount':_0x48dc20[_0x533808(0xe2)][_0x533808(0x11a)],'commandCount':_0x48dc20[_0x533808(0xe2)][_0x533808(0xf2)]((_0x23ec1b,_0x2603b8)=>_0x23ec1b+(_0x2603b8[_0x533808(0xf3)]?.[_0x533808(0xf8)][_0x533808(0x11a)]??0x0),0x0),'services':_0x48dc20[_0x533808(0xe2)][_0x533808(0xe3)](summarizeLoadedManifest),'warnings':_0x48dc20[_0x533808(0xf0)][_0x533808(0x114)]},'message':_0x533808(0xff)};return{'ok':!![],'data':{'file':_0x48dc20[_0x533808(0x10c)],'hash':_0x48dc20[_0x533808(0x116)],'kind':_0x48dc20[_0x533808(0x10a)],'service':_0x48dc20[_0x533808(0xf3)]?.[_0x533808(0x102)],'version':_0x48dc20[_0x533808(0xf3)]?.[_0x533808(0x104)],'commandCount':_0x48dc20[_0x533808(0xf3)]?.[_0x533808(0xf8)][_0x533808(0x11a)]??0x0,'commands':_0x48dc20[_0x533808(0xf3)]?.[_0x533808(0xf8)]['map'](_0x4c40ae=>({'path':_0x4c40ae[_0x533808(0x115)],'risk':_0x4c40ae[_0x533808(0xe1)],'target':toPublicServiceTreeTarget(_0x4c40ae['target'])})),'warnings':_0x48dc20[_0x533808(0xf0)][_0x533808(0x114)]},'message':_0x533808(0xee)};}},{'service':a41_0x2f13ef(0x102),'command':a41_0x2f13ef(0xea),'description':a41_0x2f13ef(0x107),'risk':a41_0x2f13ef(0x113),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x380a4d){const _0x27a4b8=a41_0x2f13ef,_0x4cd0d0=loadServiceManifestFromFile(_0x380a4d[_0x27a4b8(0x10f)]('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x4cd0d0['filePath'],'hash':_0x4cd0d0[_0x27a4b8(0x116)],'kind':_0x4cd0d0['kind'],'ok':_0x4cd0d0[_0x27a4b8(0xf0)]['ok'],'service':_0x4cd0d0[_0x27a4b8(0xf3)]?.[_0x27a4b8(0x102)],'version':_0x4cd0d0[_0x27a4b8(0xf3)]?.['version'],'serviceCount':_0x4cd0d0['manifests'][_0x27a4b8(0x11a)],'services':_0x4cd0d0[_0x27a4b8(0xe2)]['map'](_0x193242=>({'service':_0x193242[_0x27a4b8(0xf3)]?.[_0x27a4b8(0x102)],'version':_0x193242[_0x27a4b8(0xf3)]?.[_0x27a4b8(0x104)],'commandCount':_0x193242['normalizedManifest']?.['commands'][_0x27a4b8(0x11a)]??0x0,'errors':_0x193242[_0x27a4b8(0xf0)][_0x27a4b8(0x108)]})),'errors':_0x4cd0d0[_0x27a4b8(0xf0)][_0x27a4b8(0x108)],'commandCount':_0x4cd0d0[_0x27a4b8(0xf3)]?.[_0x27a4b8(0xf8)][_0x27a4b8(0x11a)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x1f66b3){const _0x2c204e=a41_0x2f13ef,_0x3916ac=importServiceManifest(_0x1f66b3[_0x2c204e(0x10f)](_0x2c204e(0x118)));if(_0x3916ac[_0x2c204e(0x10e)][_0x2c204e(0x11a)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x3916ac[_0x2c204e(0xdc)],'imported':_0x3916ac[_0x2c204e(0xf9)],'updated':_0x3916ac['updated'],'serviceCount':_0x3916ac[_0x2c204e(0x106)],'services':_0x3916ac[_0x2c204e(0x10e)][_0x2c204e(0xe3)](summarizeService)},'message':'Imported\x20'+_0x3916ac[_0x2c204e(0xf9)]+_0x2c204e(0x101)+_0x3916ac[_0x2c204e(0xe4)]+_0x2c204e(0xe0)};return{'ok':!![],'data':{'registryPath':_0x3916ac[_0x2c204e(0xdc)],'replaced':_0x3916ac['replaced'],'imported':_0x3916ac[_0x2c204e(0xf9)],'updated':_0x3916ac['updated'],'serviceCount':_0x3916ac[_0x2c204e(0x106)],'service':summarizeService(_0x3916ac[_0x2c204e(0xf7)])},'message':(_0x3916ac['replaced']?_0x2c204e(0x119):'Imported')+_0x2c204e(0xfc)+_0x3916ac['entry'][_0x2c204e(0x117)]+'.'};}},{'service':a41_0x2f13ef(0x102),'command':'export','description':a41_0x2f13ef(0x100),'risk':a41_0x2f13ef(0x113),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0xd2590d){const _0x192143=a41_0x2f13ef,_0x29c001=getLocalServiceEntry(_0xd2590d[_0x192143(0x10f)](_0x192143(0x102)));return{'method':_0x192143(0x11c),'url':_0xd2590d[_0x192143(0x10f)]('file'),'body':{'service':_0xd2590d[_0x192143(0x10f)]('service'),'found':Boolean(_0x29c001),'version':_0x29c001?.['version'],'source':_0x29c001?.[_0x192143(0xe5)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x1a8f31){const _0x4e45a7=a41_0x2f13ef,_0x191a5b=exportServiceManifest(_0x1a8f31[_0x4e45a7(0x10f)](_0x4e45a7(0x102)),_0x1a8f31[_0x4e45a7(0x10f)](_0x4e45a7(0x118)));return{'ok':!![],'data':{'registryPath':_0x191a5b['registryPath'],'file':_0x191a5b['filePath'],'service':summarizeService(_0x191a5b[_0x4e45a7(0xf7)])},'message':'Exported\x20service\x20'+_0x191a5b[_0x4e45a7(0xf7)][_0x4e45a7(0x117)]+'.'};}},{'service':a41_0x2f13ef(0x102),'command':'list','description':a41_0x2f13ef(0xdf),'risk':a41_0x2f13ef(0xef),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x30f303=a41_0x2f13ef,_0x55adef=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x55adef[_0x30f303(0x11a)],'services':_0x55adef[_0x30f303(0xe3)](summarizeService)}};}},{'service':'service','command':a41_0x2f13ef(0xde),'description':a41_0x2f13ef(0xdd),'risk':a41_0x2f13ef(0x113),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x859ec0){const _0x41107c=a41_0x2f13ef,_0x24793b=getLocalServiceEntry(_0x859ec0['str'](_0x41107c(0x102)));return{'method':_0x41107c(0x11c),'url':getServiceRegistryPath(),'body':{'service':_0x859ec0['str'](_0x41107c(0x102)),'found':Boolean(_0x24793b),'version':_0x24793b?.[_0x41107c(0x104)],'source':_0x24793b?.['source']},'description':_0x41107c(0xf1)};},async 'execute'(_0x3e4c76){const _0x5e80c6=a41_0x2f13ef,_0x1a5856=removeServiceManifest(_0x3e4c76[_0x5e80c6(0x10f)]('service'));return{'ok':!![],'data':{'registryPath':_0x1a5856[_0x5e80c6(0xdc)],'serviceCount':_0x1a5856[_0x5e80c6(0x106)],'service':summarizeService(_0x1a5856[_0x5e80c6(0xf7)])},'message':_0x5e80c6(0xfe)+_0x1a5856['entry'][_0x5e80c6(0x117)]+'.'};}},{'service':a41_0x2f13ef(0x102),'command':a41_0x2f13ef(0xf6),'description':a41_0x2f13ef(0x10d),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x477b7b){const _0x139ea5=a41_0x2f13ef,_0x223e2c=getLocalServiceEntry(_0x477b7b[_0x139ea5(0x10f)](_0x139ea5(0x102)));if(!_0x223e2c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x477b7b['str']('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x477b7b[_0x139ea5(0x10f)](_0x139ea5(0x102))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x223e2c),'manifest':_0x223e2c['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x223e2c[_0x139ea5(0xf3)])}};}}];
|
|
1
|
+
const a41_0x458638=a41_0x24a6;function a41_0x24a6(_0x44fb78,_0x43084d){_0x44fb78=_0x44fb78-0x81;const _0x8b0cd3=a41_0x8b0c();let _0x24a686=_0x8b0cd3[_0x44fb78];return _0x24a686;}(function(_0x4ab1db,_0x3d7799){const _0x4a9a3a=a41_0x24a6,_0x41b24e=_0x4ab1db();while(!![]){try{const _0x54e6fe=parseInt(_0x4a9a3a(0xc6))/0x1*(-parseInt(_0x4a9a3a(0xc1))/0x2)+parseInt(_0x4a9a3a(0xa8))/0x3*(-parseInt(_0x4a9a3a(0x9d))/0x4)+parseInt(_0x4a9a3a(0xb4))/0x5+parseInt(_0x4a9a3a(0x87))/0x6*(-parseInt(_0x4a9a3a(0x98))/0x7)+-parseInt(_0x4a9a3a(0xac))/0x8*(-parseInt(_0x4a9a3a(0xc5))/0x9)+parseInt(_0x4a9a3a(0x85))/0xa+-parseInt(_0x4a9a3a(0xa6))/0xb*(-parseInt(_0x4a9a3a(0xb5))/0xc);if(_0x54e6fe===_0x3d7799)break;else _0x41b24e['push'](_0x41b24e['shift']());}catch(_0x502be0){_0x41b24e['push'](_0x41b24e['shift']());}}}(a41_0x8b0c,0x20ed8));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';function a41_0x8b0c(){const _0x2a48c0=['1291296LMtqwK','registry','Local\x20service\x20not\x20found:\x20','WRITE','Imported','lower\x20kebab-case\x20service\x20code','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','updated','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','warnings','entry','kind','40zpQygV','serviceCode','read','service','36QwePFP','11513MWReSB','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','serviceCount','cliPath','manifests','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','1584160fQiIFN','Exported\x20service\x20','42mdfCRw','importedAt','registryServiceCode','commands','\x20service\x20','\x20service(s).','filePath','Updated','Service\x20Tree\x20manifest\x20file\x20path','str','reduce','length','string','name','Service\x20registry\x20validation\x20passed.','registryPath','Imported\x20','180929YTRxUA','file','list','registryIndex','replaced','12RIrFvh','normalizedManifest','write','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','imported','errors','Service\x20manifest\x20validation\x20passed.','target','flags','55aBoyey','map','268689NxScxM','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','remove','hash','209896WzIKKO','risk','validate','report','detail','entries','source','version','66730CCqjIu'];a41_0x8b0c=function(){return _0x2a48c0;};return a41_0x8b0c();}const FILE_FLAG={'name':a41_0x458638(0x99),'type':a41_0x458638(0x93),'required':!![],'description':a41_0x458638(0x8f)},SERVICE_FLAG={'name':a41_0x458638(0xc4),'type':'string','required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0x458638(0xba)}};function summarizeService(_0x13a3fa){const _0x4c2302=a41_0x458638;return{'serviceCode':_0x13a3fa['serviceCode'],'name':_0x13a3fa[_0x4c2302(0x9e)][_0x4c2302(0xc4)][_0x4c2302(0x94)],'version':_0x13a3fa[_0x4c2302(0xb3)],'importedAt':_0x13a3fa[_0x4c2302(0x88)],'source':_0x13a3fa[_0x4c2302(0xb2)],'commandCount':_0x13a3fa['normalizedManifest'][_0x4c2302(0x8a)][_0x4c2302(0x92)],'commands':_0x13a3fa[_0x4c2302(0x9e)]['commands'][_0x4c2302(0xa7)](_0x341be1=>({'path':_0x341be1['cliPath'],'description':_0x341be1['description'],'risk':_0x341be1[_0x4c2302(0xad)],'target':toPublicServiceTreeTarget(_0x341be1[_0x4c2302(0xa4)]),'flags':_0x341be1[_0x4c2302(0xa5)][_0x4c2302(0xa7)](_0x560b36=>({'name':_0x560b36[_0x4c2302(0x94)],'cliName':_0x560b36['cliName'],'type':_0x560b36['type'],'required':_0x560b36['required']===!![]}))}))};}function summarizeLoadedManifest(_0x3fafeb){const _0x17321d=a41_0x458638;return{'service':_0x3fafeb[_0x17321d(0x9e)]?.[_0x17321d(0xc4)],'version':_0x3fafeb[_0x17321d(0x9e)]?.['version'],'commandCount':_0x3fafeb[_0x17321d(0x9e)]?.[_0x17321d(0x8a)]['length']??0x0,'commands':_0x3fafeb[_0x17321d(0x9e)]?.[_0x17321d(0x8a)][_0x17321d(0xa7)](_0x1925a4=>({'path':_0x1925a4['cliPath'],'risk':_0x1925a4[_0x17321d(0xad)],'target':toPublicServiceTreeTarget(_0x1925a4['target'])}))??[],'registryIndex':_0x3fafeb[_0x17321d(0x9b)],'registryServiceCode':_0x3fafeb[_0x17321d(0x89)],'errors':_0x3fafeb[_0x17321d(0xaf)][_0x17321d(0xa2)],'warnings':_0x3fafeb[_0x17321d(0xaf)][_0x17321d(0xbe)]};}export const serviceDefinitions=[{'service':'service','command':a41_0x458638(0xae),'description':a41_0x458638(0xbb),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x439d15){const _0x3cfcf0=a41_0x458638,_0x484125=loadServiceManifestFromFile(_0x439d15[_0x3cfcf0(0x90)]('file'));if(!_0x484125[_0x3cfcf0(0xaf)]['ok'])return{'ok':![],'data':{'file':_0x484125[_0x3cfcf0(0x8d)],'hash':_0x484125['hash'],'kind':_0x484125[_0x3cfcf0(0xc0)],'serviceCount':_0x484125[_0x3cfcf0(0x83)]['length'],'services':_0x484125['manifests']['map'](summarizeLoadedManifest),'errors':_0x484125[_0x3cfcf0(0xaf)]['errors'],'warnings':_0x484125[_0x3cfcf0(0xaf)][_0x3cfcf0(0xbe)]},'message':formatValidationFailure(_0x484125[_0x3cfcf0(0xaf)])};if(_0x484125[_0x3cfcf0(0xc0)]===_0x3cfcf0(0xb6)||_0x484125[_0x3cfcf0(0x83)][_0x3cfcf0(0x92)]!==0x1)return{'ok':!![],'data':{'file':_0x484125[_0x3cfcf0(0x8d)],'hash':_0x484125[_0x3cfcf0(0xab)],'kind':_0x484125[_0x3cfcf0(0xc0)],'serviceCount':_0x484125['manifests'][_0x3cfcf0(0x92)],'commandCount':_0x484125[_0x3cfcf0(0x83)][_0x3cfcf0(0x91)]((_0x5ab2ca,_0x486de8)=>_0x5ab2ca+(_0x486de8['normalizedManifest']?.[_0x3cfcf0(0x8a)][_0x3cfcf0(0x92)]??0x0),0x0),'services':_0x484125['manifests'][_0x3cfcf0(0xa7)](summarizeLoadedManifest),'warnings':_0x484125[_0x3cfcf0(0xaf)][_0x3cfcf0(0xbe)]},'message':_0x3cfcf0(0x95)};return{'ok':!![],'data':{'file':_0x484125['filePath'],'hash':_0x484125[_0x3cfcf0(0xab)],'kind':_0x484125[_0x3cfcf0(0xc0)],'service':_0x484125[_0x3cfcf0(0x9e)]?.[_0x3cfcf0(0xc4)],'version':_0x484125[_0x3cfcf0(0x9e)]?.[_0x3cfcf0(0xb3)],'commandCount':_0x484125[_0x3cfcf0(0x9e)]?.[_0x3cfcf0(0x8a)][_0x3cfcf0(0x92)]??0x0,'commands':_0x484125['normalizedManifest']?.[_0x3cfcf0(0x8a)]['map'](_0x2e3e7d=>({'path':_0x2e3e7d[_0x3cfcf0(0x82)],'risk':_0x2e3e7d[_0x3cfcf0(0xad)],'target':toPublicServiceTreeTarget(_0x2e3e7d[_0x3cfcf0(0xa4)])})),'warnings':_0x484125[_0x3cfcf0(0xaf)][_0x3cfcf0(0xbe)]},'message':_0x3cfcf0(0xa3)};}},{'service':a41_0x458638(0xc4),'command':'import','description':a41_0x458638(0xc7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x197422){const _0x382526=a41_0x458638,_0x19ff8b=loadServiceManifestFromFile(_0x197422['str'](_0x382526(0x99)));return{'method':_0x382526(0xb8),'url':getServiceRegistryPath(),'body':{'file':_0x19ff8b[_0x382526(0x8d)],'hash':_0x19ff8b['hash'],'kind':_0x19ff8b['kind'],'ok':_0x19ff8b[_0x382526(0xaf)]['ok'],'service':_0x19ff8b['normalizedManifest']?.[_0x382526(0xc4)],'version':_0x19ff8b[_0x382526(0x9e)]?.['version'],'serviceCount':_0x19ff8b[_0x382526(0x83)][_0x382526(0x92)],'services':_0x19ff8b[_0x382526(0x83)]['map'](_0x29a540=>({'service':_0x29a540[_0x382526(0x9e)]?.['service'],'version':_0x29a540['normalizedManifest']?.[_0x382526(0xb3)],'commandCount':_0x29a540['normalizedManifest']?.[_0x382526(0x8a)][_0x382526(0x92)]??0x0,'errors':_0x29a540['report'][_0x382526(0xa2)]})),'errors':_0x19ff8b[_0x382526(0xaf)][_0x382526(0xa2)],'commandCount':_0x19ff8b['normalizedManifest']?.[_0x382526(0x8a)]['length']??0x0},'description':_0x382526(0xbd)};},async 'execute'(_0x53a902){const _0x1e0153=a41_0x458638,_0x4fd2b3=importServiceManifest(_0x53a902[_0x1e0153(0x90)](_0x1e0153(0x99)));if(_0x4fd2b3['entries'][_0x1e0153(0x92)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4fd2b3['registryPath'],'imported':_0x4fd2b3[_0x1e0153(0xa1)],'updated':_0x4fd2b3[_0x1e0153(0xbc)],'serviceCount':_0x4fd2b3[_0x1e0153(0x81)],'services':_0x4fd2b3[_0x1e0153(0xb1)][_0x1e0153(0xa7)](summarizeService)},'message':_0x1e0153(0x97)+_0x4fd2b3['imported']+'\x20service(s),\x20updated\x20'+_0x4fd2b3[_0x1e0153(0xbc)]+_0x1e0153(0x8c)};return{'ok':!![],'data':{'registryPath':_0x4fd2b3[_0x1e0153(0x96)],'replaced':_0x4fd2b3[_0x1e0153(0x9c)],'imported':_0x4fd2b3['imported'],'updated':_0x4fd2b3[_0x1e0153(0xbc)],'serviceCount':_0x4fd2b3[_0x1e0153(0x81)],'service':summarizeService(_0x4fd2b3[_0x1e0153(0xbf)])},'message':(_0x4fd2b3[_0x1e0153(0x9c)]?_0x1e0153(0x8e):_0x1e0153(0xb9))+_0x1e0153(0x8b)+_0x4fd2b3[_0x1e0153(0xbf)][_0x1e0153(0xc2)]+'.'};}},{'service':a41_0x458638(0xc4),'command':'export','description':a41_0x458638(0x84),'risk':a41_0x458638(0x9f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x370bba){const _0x27a347=a41_0x458638,_0x29fbfe=getLocalServiceEntry(_0x370bba[_0x27a347(0x90)](_0x27a347(0xc4)));return{'method':'WRITE','url':_0x370bba[_0x27a347(0x90)](_0x27a347(0x99)),'body':{'service':_0x370bba[_0x27a347(0x90)]('service'),'found':Boolean(_0x29fbfe),'version':_0x29fbfe?.['version'],'source':_0x29fbfe?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x119f1a){const _0x157a43=a41_0x458638,_0xa61288=exportServiceManifest(_0x119f1a[_0x157a43(0x90)](_0x157a43(0xc4)),_0x119f1a[_0x157a43(0x90)]('file'));return{'ok':!![],'data':{'registryPath':_0xa61288[_0x157a43(0x96)],'file':_0xa61288[_0x157a43(0x8d)],'service':summarizeService(_0xa61288[_0x157a43(0xbf)])},'message':_0x157a43(0x86)+_0xa61288['entry'][_0x157a43(0xc2)]+'.'};}},{'service':a41_0x458638(0xc4),'command':a41_0x458638(0x9a),'description':a41_0x458638(0xa0),'risk':a41_0x458638(0xc3),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x3d152e=a41_0x458638,_0x24f359=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x24f359[_0x3d152e(0x92)],'services':_0x24f359[_0x3d152e(0xa7)](summarizeService)}};}},{'service':'service','command':a41_0x458638(0xaa),'description':a41_0x458638(0xa9),'risk':a41_0x458638(0x9f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1e06d9){const _0x110139=a41_0x458638,_0x20c98a=getLocalServiceEntry(_0x1e06d9[_0x110139(0x90)](_0x110139(0xc4)));return{'method':_0x110139(0xb8),'url':getServiceRegistryPath(),'body':{'service':_0x1e06d9[_0x110139(0x90)](_0x110139(0xc4)),'found':Boolean(_0x20c98a),'version':_0x20c98a?.[_0x110139(0xb3)],'source':_0x20c98a?.[_0x110139(0xb2)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x5ba387){const _0x3f59d5=a41_0x458638,_0x20fce0=removeServiceManifest(_0x5ba387['str'](_0x3f59d5(0xc4)));return{'ok':!![],'data':{'registryPath':_0x20fce0[_0x3f59d5(0x96)],'serviceCount':_0x20fce0[_0x3f59d5(0x81)],'service':summarizeService(_0x20fce0[_0x3f59d5(0xbf)])},'message':'Removed\x20service\x20'+_0x20fce0[_0x3f59d5(0xbf)][_0x3f59d5(0xc2)]+'.'};}},{'service':a41_0x458638(0xc4),'command':a41_0x458638(0xb0),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a41_0x458638(0xc3),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x529d5d){const _0x39f175=a41_0x458638,_0x5ecb91=getLocalServiceEntry(_0x529d5d['str'](_0x39f175(0xc4)));if(!_0x5ecb91)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x529d5d[_0x39f175(0x90)](_0x39f175(0xc4))},'message':_0x39f175(0xb7)+_0x529d5d['str'](_0x39f175(0xc4))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x5ecb91),'manifest':_0x5ecb91['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x5ecb91['normalizedManifest'])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a42_0x14f98a=a42_0x115a;(function(_0x1676c1,_0x2ada09){const _0x3e0c95=a42_0x115a,_0x10bff7=_0x1676c1();while(!![]){try{const _0x2444b7=-parseInt(_0x3e0c95(0xe5))/0x1*(-parseInt(_0x3e0c95(0xb2))/0x2)+-parseInt(_0x3e0c95(0xe4))/0x3+-parseInt(_0x3e0c95(0xf0))/0x4+parseInt(_0x3e0c95(0xc4))/0x5+-parseInt(_0x3e0c95(0xb5))/0x6+parseInt(_0x3e0c95(0xdb))/0x7+parseInt(_0x3e0c95(0xbd))/0x8*(parseInt(_0x3e0c95(0xe7))/0x9);if(_0x2444b7===_0x2ada09)break;else _0x10bff7['push'](_0x10bff7['shift']());}catch(_0x4dbaf7){_0x10bff7['push'](_0x10bff7['shift']());}}}(a42_0x38d7,0xc92fe));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_0x14f98a(0xd7);export function getServiceRegistryPath(_0x4ffc2f={}){const _0x59ca84=a42_0x14f98a;return resolve(_0x4ffc2f[_0x59ca84(0xca)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3dc6b0={}){const _0x195e2d=a42_0x14f98a,_0x16e7d6=getServiceRegistryPath(_0x3dc6b0);if(!existsSync(_0x16e7d6))return emptyServiceRegistry();try{const _0x578693=readFileSync(_0x16e7d6,'utf8');if(!_0x578693[_0x195e2d(0xda)]())return emptyServiceRegistry();const _0x325e40=JSON['parse'](_0x578693);if(_0x325e40[_0x195e2d(0xf6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x195e2d(0xd0)+String(_0x325e40[_0x195e2d(0xf6)]),'Remove\x20or\x20migrate\x20'+_0x16e7d6+'.');if(!Array[_0x195e2d(0xc9)](_0x325e40['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x325e40[_0x195e2d(0xba)],'services':_0x325e40[_0x195e2d(0xd6)]};}catch(_0x455a81){if(_0x455a81 instanceof Error&&_0x455a81[_0x195e2d(0xf7)]==='CliError')throw _0x455a81;throw CliErrors['validation'](_0x195e2d(0xf1)+_0x16e7d6,_0x195e2d(0xde));}}export function writeServiceRegistry(_0x22ca30,_0x2b6c78={}){const _0x13557e=a42_0x14f98a,_0x5dd5ba=getServiceRegistryPath(_0x2b6c78),_0x33cb8d=dirname(_0x5dd5ba);!existsSync(_0x33cb8d)&&mkdirSync(_0x33cb8d,{'recursive':!![]});const _0x4e72e4=_0x5dd5ba+_0x13557e(0xd9);try{writeFileSync(_0x4e72e4,JSON[_0x13557e(0xbb)](_0x22ca30,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x4e72e4,_0x5dd5ba);}catch(_0x9f7dfd){try{unlinkSync(_0x4e72e4);}catch{}if(_0x9f7dfd?.[_0x13557e(0xb1)]==='ENOENT')throw CliErrors['validation'](_0x13557e(0xc2)+_0x5dd5ba);throw _0x9f7dfd;}return _0x5dd5ba;}export function loadServiceManifestFromFile(_0x18bfab){const _0x1ab3ab=a42_0x14f98a,_0x1eaa42=resolve(_0x18bfab);if(!existsSync(_0x1eaa42))throw CliErrors[_0x1ab3ab(0xdf)](_0x1ab3ab(0xef)+_0x18bfab);let _0x5b2eb2;const _0x17e619=readFileSync(_0x1eaa42,_0x1ab3ab(0xe0));try{_0x5b2eb2=JSON[_0x1ab3ab(0xec)](_0x17e619);}catch{throw CliErrors[_0x1ab3ab(0xdf)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x18bfab,_0x1ab3ab(0xeb));}const _0x64eb13=sha256(_0x17e619),_0x5e8799=extractLoadedServiceManifests(_0x5b2eb2,_0x64eb13),_0x39f3a6=aggregateValidationReports(_0x5e8799),_0x3c6a6b=_0x5e8799[0x0];return{'filePath':_0x1eaa42,'hash':_0x64eb13,'kind':isServiceRegistryLike(_0x5b2eb2)?'registry':_0x1ab3ab(0xb4),'manifest':_0x3c6a6b?.[_0x1ab3ab(0xb4)]??_0x5b2eb2,'report':_0x39f3a6,'normalizedManifest':_0x5e8799[_0x1ab3ab(0xcc)]===0x1?_0x3c6a6b?.[_0x1ab3ab(0xce)]:undefined,'manifests':_0x5e8799};}export function importServiceManifest(_0x49fc9a,_0x1c6203={}){const _0x5821fd=a42_0x14f98a,_0x21ae4f=loadServiceManifestFromFile(_0x49fc9a);if(!_0x21ae4f[_0x5821fd(0xac)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x21ae4f[_0x5821fd(0xac)]),_0x5821fd(0xd1));if(_0x21ae4f[_0x5821fd(0xb8)][_0x5821fd(0xcc)]===0x0)throw CliErrors['validation'](_0x5821fd(0xcf),_0x5821fd(0xc7));const _0x3a89ee=readServiceRegistry(_0x1c6203),_0x331cdd=(_0x1c6203[_0x5821fd(0xf5)]??(()=>new Date()))()['toISOString'](),_0x167b5f=[];let _0x4feed9=0x0,_0x3f8868=0x0;for(const _0x499738 of _0x21ae4f['manifests']){if(!_0x499738['normalizedManifest'])continue;const _0x249795=_0x499738[_0x5821fd(0xce)][_0x5821fd(0xe3)]['code'],_0x2aa873={'serviceCode':_0x249795,'version':_0x499738[_0x5821fd(0xce)]['version'],'importedAt':_0x331cdd,'source':{'type':_0x5821fd(0xe1),'path':_0x21ae4f['filePath'],'hash':_0x499738[_0x5821fd(0xb3)]},'manifest':_0x499738[_0x5821fd(0xb4)],'normalizedManifest':_0x499738['normalizedManifest']},_0x1d632c=_0x3a89ee['services'][_0x5821fd(0xea)](_0x23fdbf=>_0x23fdbf['serviceCode']===_0x249795);_0x1d632c>=0x0?(_0x3a89ee[_0x5821fd(0xd6)][_0x1d632c]=_0x2aa873,_0x3f8868++):(_0x3a89ee[_0x5821fd(0xd6)][_0x5821fd(0xb9)](_0x2aa873),_0x4feed9++),_0x167b5f[_0x5821fd(0xb9)](_0x2aa873);}_0x3a89ee[_0x5821fd(0xd6)]['sort']((_0x6a02a,_0x288d10)=>_0x6a02a['serviceCode']['localeCompare'](_0x288d10['serviceCode'])),_0x3a89ee[_0x5821fd(0xba)]=_0x331cdd;const _0x2c126a=writeServiceRegistry(_0x3a89ee,_0x1c6203);return{'registryPath':_0x2c126a,'entry':_0x167b5f[0x0],'replaced':_0x167b5f['length']===0x1?_0x3f8868===0x1:_0x3f8868>0x0,'entries':_0x167b5f,'imported':_0x4feed9,'updated':_0x3f8868,'serviceCount':_0x3a89ee['services'][_0x5821fd(0xcc)]};}export function exportServiceManifest(_0x562ab8,_0x5261ac,_0x57eca7={}){const _0x37cf5c=a42_0x14f98a,_0x4f7906=getServiceRegistryPath(_0x57eca7),_0x4f96ac=getLocalServiceEntry(_0x562ab8,_0x57eca7);if(!_0x4f96ac)throw CliErrors['validation'](_0x37cf5c(0xf3)+_0x562ab8,_0x37cf5c(0xb7));const _0x383106=resolve(_0x5261ac),_0x5d04e8=dirname(_0x383106);return!existsSync(_0x5d04e8)&&mkdirSync(_0x5d04e8,{'recursive':!![]}),writeFileSync(_0x383106,JSON['stringify'](_0x4f96ac[_0x37cf5c(0xb4)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x4f7906,'filePath':_0x383106,'entry':_0x4f96ac};}export function removeServiceManifest(_0x25ffa9,_0x24254c={}){const _0x21301f=a42_0x14f98a,_0x224d52=readServiceRegistry(_0x24254c),_0x166b9f=_0x25ffa9[_0x21301f(0xda)](),_0x5e718c=_0x224d52['services'][_0x21301f(0xea)](_0x4e9924=>_0x4e9924['serviceCode']===_0x166b9f);if(_0x5e718c<0x0)throw CliErrors[_0x21301f(0xdf)](_0x21301f(0xf3)+_0x166b9f,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x3bd59c]=_0x224d52[_0x21301f(0xd6)]['splice'](_0x5e718c,0x1),_0x2f6a78=(_0x24254c['now']??(()=>new Date()))()['toISOString']();_0x224d52[_0x21301f(0xba)]=_0x2f6a78;const _0x51419d=writeServiceRegistry(_0x224d52,_0x24254c);return{'registryPath':_0x51419d,'entry':_0x3bd59c,'serviceCount':_0x224d52[_0x21301f(0xd6)][_0x21301f(0xcc)]};}export function listLocalServices(_0x4aa523={}){const _0x56ebb5=a42_0x14f98a;return readServiceRegistry(_0x4aa523)[_0x56ebb5(0xd6)];}export function getLocalServiceEntry(_0x4758d7,_0x4fe42e={}){const _0x33028c=a42_0x14f98a;return readServiceRegistry(_0x4fe42e)[_0x33028c(0xd6)]['find'](_0x1e7b0c=>_0x1e7b0c[_0x33028c(0xed)]===_0x4758d7[_0x33028c(0xda)]());}export function listLocalServiceTrees(_0x1888d1={}){const _0x5313c1=a42_0x14f98a;return readServiceRegistry(_0x1888d1)['services'][_0x5313c1(0xe6)](_0x1f3d04=>_0x1f3d04[_0x5313c1(0xce)]);}export function inspectServiceRegistry(_0x4be558={}){const _0x3ad03e=a42_0x14f98a,_0x4ecaf3=getServiceRegistryPath(_0x4be558);if(!existsSync(_0x4ecaf3))return emptyServiceRegistryInspection(_0x4ecaf3,_0x3ad03e(0xc5),![]);try{const _0x19252d=readFileSync(_0x4ecaf3,_0x3ad03e(0xe0));if(!_0x19252d[_0x3ad03e(0xda)]())return emptyServiceRegistryInspection(_0x4ecaf3,_0x3ad03e(0xdc),!![]);const _0x3387bc=JSON[_0x3ad03e(0xec)](_0x19252d);if(_0x3387bc[_0x3ad03e(0xf6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4ecaf3,'invalid',!![]),'schemaVersion':_0x3387bc['schemaVersion'],'message':_0x3ad03e(0xc1)+String(_0x3387bc['schemaVersion'])};if(!Array[_0x3ad03e(0xc9)](_0x3387bc[_0x3ad03e(0xd6)]))return{...emptyServiceRegistryInspection(_0x4ecaf3,_0x3ad03e(0xc0),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3387bc['updatedAt'],'message':'services\x20must\x20be\x20an\x20array'};const _0x1aa647=_0x3387bc[_0x3ad03e(0xd6)][_0x3ad03e(0xe6)](summarizeLocalServiceEntry);return{'registryPath':_0x4ecaf3,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3387bc[_0x3ad03e(0xba)],'serviceCount':_0x1aa647[_0x3ad03e(0xcc)],'commandCount':_0x1aa647[_0x3ad03e(0xd2)]((_0xa30e2f,_0x2d250e)=>_0xa30e2f+_0x2d250e[_0x3ad03e(0xb0)],0x0),'services':_0x1aa647};}catch(_0x83e87b){return{...emptyServiceRegistryInspection(_0x4ecaf3,_0x3ad03e(0xc0),!![]),'message':_0x83e87b instanceof Error?_0x83e87b['message']:String(_0x83e87b)};}}export function formatValidationFailure(_0x9b77d0){const _0x3a8f68=a42_0x14f98a,_0x60433c=_0x9b77d0[_0x3a8f68(0xe8)]['map'](_0x2698d0=>_0x2698d0[_0x3a8f68(0xe9)]+':\x20'+_0x2698d0[_0x3a8f68(0xb6)]);return _0x3a8f68(0xf4)+_0x60433c[_0x3a8f68(0xd4)]('\x0a');}function extractLoadedServiceManifests(_0x1c0d00,_0xef4567){const _0x4d9302=a42_0x14f98a;if(!isServiceRegistryLike(_0x1c0d00)){const _0x3cf306=_0x1c0d00,{manifest:_0x277899,errors:_0x516b4f}=adaptServiceTreeManifestForLegacyFramework(_0x3cf306),_0x185fcd=validateServiceTreeManifest(_0x277899),_0x33983e=mergeValidationErrors(_0x185fcd,_0x516b4f);return[{'manifest':_0x3cf306,'report':_0x33983e,'normalizedManifest':_0x33983e['ok']?normalizeServiceTreeManifest(_0x277899):undefined,'sourceHash':_0xef4567}];}return _0x1c0d00['services'][_0x4d9302(0xe6)]((_0x418b2e,_0xe3a6bf)=>{const _0x9b310b=_0x4d9302,_0x1a6560=isObjectRecord(_0x418b2e)?_0x418b2e[_0x9b310b(0xb4)]:undefined,{manifest:_0x2b7e62,errors:_0x5b713b}=adaptServiceTreeManifestForLegacyFramework(_0x1a6560),_0x41227c=validateServiceTreeManifest(_0x2b7e62),_0x55815f=mergeValidationErrors(_0x41227c,_0x5b713b),_0x3baf00=isObjectRecord(_0x418b2e)&&typeof _0x418b2e['serviceCode']===_0x9b310b(0xee)?_0x418b2e['serviceCode']:undefined;return{'manifest':_0x1a6560,'report':_0x55815f,'normalizedManifest':_0x55815f['ok']?normalizeServiceTreeManifest(_0x2b7e62):undefined,'sourceHash':sha256(JSON[_0x9b310b(0xbb)](_0x1a6560,null,0x2)+'\x0a'),'registryIndex':_0xe3a6bf,'registryServiceCode':_0x3baf00};});}function mergeValidationErrors(_0x95ff19,_0x2492e5){const _0x289038=a42_0x14f98a,_0x3f3f8e=_0x95ff19[_0x289038(0xe8)]['map'](_0x72cb52=>_0x72cb52[_0x289038(0xb6)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x72cb52,'message':_0x289038(0xcb)}:_0x72cb52),_0x1f51b1=[..._0x2492e5,..._0x3f3f8e];return{'ok':_0x1f51b1['length']===0x0,'errors':_0x1f51b1,'warnings':_0x95ff19[_0x289038(0xaf)]};}function a42_0x115a(_0x4e4187,_0x3bec70){_0x4e4187=_0x4e4187-0xac;const _0x38d765=a42_0x38d7();let _0x115a8c=_0x38d765[_0x4e4187];return _0x115a8c;}function aggregateValidationReports(_0x2569f0){const _0x1d7e5f=a42_0x14f98a,_0x376358=_0x2569f0['flatMap'](_0xe2e7dd=>_0xe2e7dd[_0x1d7e5f(0xc8)]===undefined?_0xe2e7dd[_0x1d7e5f(0xac)]['errors']:_0xe2e7dd['report']['errors']['map'](_0x3b91fd=>({..._0x3b91fd,'path':prefixRegistryIssuePath(_0xe2e7dd[_0x1d7e5f(0xc8)],_0x3b91fd[_0x1d7e5f(0xe9)])}))),_0x38cea0=_0x2569f0['flatMap'](_0x43e36d=>_0x43e36d[_0x1d7e5f(0xc8)]===undefined?_0x43e36d['report'][_0x1d7e5f(0xaf)]:_0x43e36d[_0x1d7e5f(0xac)][_0x1d7e5f(0xaf)][_0x1d7e5f(0xe6)](_0x1c6584=>({..._0x1c6584,'path':prefixRegistryIssuePath(_0x43e36d['registryIndex'],_0x1c6584[_0x1d7e5f(0xe9)])})));return{'ok':_0x376358['length']===0x0,'errors':_0x376358,'warnings':_0x38cea0};}function prefixRegistryIssuePath(_0xb771b2,_0x5021ff){const _0xb438de=a42_0x14f98a;if(_0x5021ff==='$')return _0xb438de(0xd5)+_0xb771b2+_0xb438de(0xad);if(_0x5021ff['startsWith']('$.'))return _0xb438de(0xd5)+_0xb771b2+'].manifest'+_0x5021ff[_0xb438de(0xc3)](0x1);if(_0x5021ff[_0xb438de(0xf2)]('$['))return _0xb438de(0xd5)+_0xb771b2+_0xb438de(0xad)+_0x5021ff[_0xb438de(0xc3)](0x1);return _0xb438de(0xd5)+_0xb771b2+_0xb438de(0xe2)+_0x5021ff;}function isServiceRegistryLike(_0x1232b6){const _0x31938a=a42_0x14f98a;return isObjectRecord(_0x1232b6)&&_0x1232b6[_0x31938a(0xf6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x31938a(0xc9)](_0x1232b6['services']);}function a42_0x38d7(){const _0x16da23=['.tmp','trim','4105192PlumQe','empty','target','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','validation','utf8','file','].manifest.','service','3939819vJwkZW','2824ZoVCtU','map','9051102OvQthY','errors','path','findIndex','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','parse','serviceCode','string','Service\x20manifest\x20file\x20not\x20found:\x20','2060796kujPly','Invalid\x20service\x20registry\x20JSON:\x20','startsWith','Local\x20service\x20not\x20found:\x20','Service\x20manifest\x20validation\x20failed:\x0a','now','schemaVersion','name','report','].manifest','source','warnings','commandCount','code','912Eogshc','sourceHash','manifest','1501218SYdoUd','message','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','manifests','push','updatedAt','stringify','risk','8EwEpdo','sha256','object','invalid','Unsupported\x20schemaVersion:\x20','Cannot\x20write\x20service\x20registry:\x20','slice','114295ycbVHf','missing','command','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','isArray','homeDir','bff\x20target\x20requires\x20functionName.','length','version','normalizedManifest','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','reduce','importedAt','join','$.services[','services','service.json','cliPath'];a42_0x38d7=function(){return _0x16da23;};return a42_0x38d7();}function isObjectRecord(_0x37b7d3){const _0x456471=a42_0x14f98a;return Boolean(_0x37b7d3)&&typeof _0x37b7d3===_0x456471(0xbf)&&!Array[_0x456471(0xc9)](_0x37b7d3);}function emptyServiceRegistryInspection(_0x733e13,_0x1eb9dc,_0x1045d2){return{'registryPath':_0x733e13,'exists':_0x1045d2,'status':_0x1eb9dc,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x10ad44){const _0x4263ec=a42_0x14f98a,_0x39b3d3=_0x10ad44['normalizedManifest'],_0x12de14=_0x39b3d3['commands'][_0x4263ec(0xe6)](_0x24e4b2=>({'path':_0x24e4b2[_0x4263ec(0xd8)],'description':_0x24e4b2['description'],'risk':_0x24e4b2[_0x4263ec(0xbc)],'targetKind':_0x24e4b2[_0x4263ec(0xdd)]['kind'],'targetCommand':_0x24e4b2[_0x4263ec(0xdd)][_0x4263ec(0xc6)]}));return{'serviceCode':_0x10ad44[_0x4263ec(0xed)],'name':_0x39b3d3[_0x4263ec(0xe3)][_0x4263ec(0xf7)],'description':_0x39b3d3['service']['description'],'version':_0x10ad44[_0x4263ec(0xcd)],'importedAt':_0x10ad44[_0x4263ec(0xd3)],'source':_0x10ad44[_0x4263ec(0xae)],'commandCount':_0x12de14[_0x4263ec(0xcc)],'commands':_0x12de14};}function sha256(_0x17101b){const _0x4cbbd5=a42_0x14f98a;return createHash(_0x4cbbd5(0xbe))['update'](_0x17101b)['digest']('hex');}
|
|
1
|
+
const a42_0x3a0777=a42_0x5294;(function(_0x36c4cf,_0x1ad8d7){const _0x39ea41=a42_0x5294,_0x54da23=_0x36c4cf();while(!![]){try{const _0x52471f=-parseInt(_0x39ea41(0x15d))/0x1*(-parseInt(_0x39ea41(0x12b))/0x2)+-parseInt(_0x39ea41(0x110))/0x3+parseInt(_0x39ea41(0x14e))/0x4*(parseInt(_0x39ea41(0x148))/0x5)+-parseInt(_0x39ea41(0x125))/0x6*(parseInt(_0x39ea41(0x112))/0x7)+parseInt(_0x39ea41(0x127))/0x8+parseInt(_0x39ea41(0x13d))/0x9+parseInt(_0x39ea41(0x164))/0xa;if(_0x52471f===_0x1ad8d7)break;else _0x54da23['push'](_0x54da23['shift']());}catch(_0x2252a0){_0x54da23['push'](_0x54da23['shift']());}}}(a42_0x37bb,0x3cadd));import{createHash}from'node:crypto';function a42_0x5294(_0xf0c99b,_0x2f6957){_0xf0c99b=_0xf0c99b-0x10e;const _0x37bbe0=a42_0x37bb();let _0x5294a3=_0x37bbe0[_0xf0c99b];return _0x5294a3;}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_0x3a0777(0x144);export function getServiceRegistryPath(_0x6c5ef0={}){const _0x8ecc5a=a42_0x3a0777;return resolve(_0x6c5ef0[_0x8ecc5a(0x145)]??homedir(),PRODUCT_CONFIG[_0x8ecc5a(0x136)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x2c3813={}){const _0x6ac654=a42_0x3a0777,_0x3f21f2=getServiceRegistryPath(_0x2c3813);if(!existsSync(_0x3f21f2))return emptyServiceRegistry();try{const _0x2adc60=readFileSync(_0x3f21f2,_0x6ac654(0x160));if(!_0x2adc60[_0x6ac654(0x165)]())return emptyServiceRegistry();const _0x559d5d=JSON[_0x6ac654(0x123)](_0x2adc60);if(_0x559d5d[_0x6ac654(0x15c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x6ac654(0x151)](_0x6ac654(0x117)+String(_0x559d5d[_0x6ac654(0x15c)]),_0x6ac654(0x132)+_0x3f21f2+'.');if(!Array[_0x6ac654(0x15b)](_0x559d5d[_0x6ac654(0x10f)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x559d5d['updatedAt'],'services':_0x559d5d[_0x6ac654(0x10f)]};}catch(_0x3fe361){if(_0x3fe361 instanceof Error&&_0x3fe361[_0x6ac654(0x13a)]===_0x6ac654(0x11f))throw _0x3fe361;throw CliErrors['validation'](_0x6ac654(0x12f)+_0x3f21f2,_0x6ac654(0x139));}}export function writeServiceRegistry(_0x4a6ab1,_0x4aef09={}){const _0x2ea5b3=a42_0x3a0777,_0x12a460=getServiceRegistryPath(_0x4aef09),_0x4e4159=dirname(_0x12a460);!existsSync(_0x4e4159)&&mkdirSync(_0x4e4159,{'recursive':!![]});const _0x31c86d=_0x12a460+'.tmp';try{writeFileSync(_0x31c86d,JSON[_0x2ea5b3(0x13f)](_0x4a6ab1,null,0x2)+'\x0a',{'encoding':_0x2ea5b3(0x160),'mode':0x180}),renameSync(_0x31c86d,_0x12a460);}catch(_0x3c0077){try{unlinkSync(_0x31c86d);}catch{}if(_0x3c0077?.[_0x2ea5b3(0x118)]===_0x2ea5b3(0x11a))throw CliErrors['validation'](_0x2ea5b3(0x131)+_0x12a460);throw _0x3c0077;}return _0x12a460;}export function loadServiceManifestFromFile(_0x5e9c48){const _0x1f381c=a42_0x3a0777,_0x24fcfc=resolve(_0x5e9c48);if(!existsSync(_0x24fcfc))throw CliErrors['validation'](_0x1f381c(0x121)+_0x5e9c48);let _0x1b1203;const _0x1cd417=readFileSync(_0x24fcfc,'utf8');try{_0x1b1203=JSON[_0x1f381c(0x123)](_0x1cd417);}catch{throw CliErrors[_0x1f381c(0x151)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x5e9c48,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x9d2142=sha256(_0x1cd417),_0x4eb1d5=extractLoadedServiceManifests(_0x1b1203,_0x9d2142),_0x2a1509=aggregateValidationReports(_0x4eb1d5),_0x20ebf4=_0x4eb1d5[0x0];return{'filePath':_0x24fcfc,'hash':_0x9d2142,'kind':isServiceRegistryLike(_0x1b1203)?_0x1f381c(0x149):_0x1f381c(0x154),'manifest':_0x20ebf4?.[_0x1f381c(0x154)]??_0x1b1203,'report':_0x2a1509,'normalizedManifest':_0x4eb1d5[_0x1f381c(0x14c)]===0x1?_0x20ebf4?.['normalizedManifest']:undefined,'manifests':_0x4eb1d5};}export function importServiceManifest(_0x14278f,_0x2cb005={}){const _0x4cb8a5=a42_0x3a0777,_0x149b82=loadServiceManifestFromFile(_0x14278f);if(!_0x149b82['report']['ok'])throw CliErrors[_0x4cb8a5(0x151)](formatValidationFailure(_0x149b82[_0x4cb8a5(0x13c)]),_0x4cb8a5(0x14a));if(_0x149b82[_0x4cb8a5(0x12d)][_0x4cb8a5(0x14c)]===0x0)throw CliErrors[_0x4cb8a5(0x151)](_0x4cb8a5(0x119),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x1846db=readServiceRegistry(_0x2cb005),_0x1b8a9f=(_0x2cb005[_0x4cb8a5(0x12c)]??(()=>new Date()))()[_0x4cb8a5(0x158)](),_0x56fc44=[];let _0x4d2df8=0x0,_0x1b0055=0x0;for(const _0x349a8b of _0x149b82['manifests']){if(!_0x349a8b[_0x4cb8a5(0x13b)])continue;const _0x13a553=_0x349a8b['normalizedManifest']['service']['code'],_0x3078e1={'serviceCode':_0x13a553,'version':_0x349a8b[_0x4cb8a5(0x13b)]['version'],'importedAt':_0x1b8a9f,'source':{'type':_0x4cb8a5(0x14d),'path':_0x149b82[_0x4cb8a5(0x11b)],'hash':_0x349a8b[_0x4cb8a5(0x155)]},'manifest':_0x349a8b[_0x4cb8a5(0x154)],'normalizedManifest':_0x349a8b[_0x4cb8a5(0x13b)]},_0x30eeae=_0x1846db[_0x4cb8a5(0x10f)]['findIndex'](_0x1478d9=>_0x1478d9[_0x4cb8a5(0x141)]===_0x13a553);_0x30eeae>=0x0?(_0x1846db[_0x4cb8a5(0x10f)][_0x30eeae]=_0x3078e1,_0x1b0055++):(_0x1846db[_0x4cb8a5(0x10f)][_0x4cb8a5(0x130)](_0x3078e1),_0x4d2df8++),_0x56fc44[_0x4cb8a5(0x130)](_0x3078e1);}_0x1846db['services'][_0x4cb8a5(0x12e)]((_0x21d56f,_0x5ccf44)=>_0x21d56f['serviceCode'][_0x4cb8a5(0x152)](_0x5ccf44[_0x4cb8a5(0x141)])),_0x1846db[_0x4cb8a5(0x163)]=_0x1b8a9f;const _0x3c0b74=writeServiceRegistry(_0x1846db,_0x2cb005);return{'registryPath':_0x3c0b74,'entry':_0x56fc44[0x0],'replaced':_0x56fc44['length']===0x1?_0x1b0055===0x1:_0x1b0055>0x0,'entries':_0x56fc44,'imported':_0x4d2df8,'updated':_0x1b0055,'serviceCount':_0x1846db[_0x4cb8a5(0x10f)][_0x4cb8a5(0x14c)]};}export function exportServiceManifest(_0x4f96e8,_0x3ba794,_0x38b59f={}){const _0x135456=a42_0x3a0777,_0x3428af=getServiceRegistryPath(_0x38b59f),_0xe53e99=getLocalServiceEntry(_0x4f96e8,_0x38b59f);if(!_0xe53e99)throw CliErrors[_0x135456(0x151)]('Local\x20service\x20not\x20found:\x20'+_0x4f96e8,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x3f4e41=resolve(_0x3ba794),_0x1ffac6=dirname(_0x3f4e41);return!existsSync(_0x1ffac6)&&mkdirSync(_0x1ffac6,{'recursive':!![]}),writeFileSync(_0x3f4e41,JSON[_0x135456(0x13f)](_0xe53e99[_0x135456(0x154)],null,0x2)+'\x0a',{'encoding':_0x135456(0x160),'mode':0x180}),{'registryPath':_0x3428af,'filePath':_0x3f4e41,'entry':_0xe53e99};}export function removeServiceManifest(_0x2e4e70,_0x3c7820={}){const _0x23ac61=a42_0x3a0777,_0x1bfce0=readServiceRegistry(_0x3c7820),_0x18af99=_0x2e4e70[_0x23ac61(0x165)](),_0x44ef5d=_0x1bfce0['services'][_0x23ac61(0x113)](_0x21008a=>_0x21008a[_0x23ac61(0x141)]===_0x18af99);if(_0x44ef5d<0x0)throw CliErrors[_0x23ac61(0x151)](_0x23ac61(0x124)+_0x18af99,_0x23ac61(0x115));const [_0x46657b]=_0x1bfce0[_0x23ac61(0x10f)][_0x23ac61(0x162)](_0x44ef5d,0x1),_0x12c2ae=(_0x3c7820[_0x23ac61(0x12c)]??(()=>new Date()))()[_0x23ac61(0x158)]();_0x1bfce0[_0x23ac61(0x163)]=_0x12c2ae;const _0x363190=writeServiceRegistry(_0x1bfce0,_0x3c7820);return{'registryPath':_0x363190,'entry':_0x46657b,'serviceCount':_0x1bfce0[_0x23ac61(0x10f)][_0x23ac61(0x14c)]};}export function listLocalServices(_0x14c6a5={}){const _0xb966ba=a42_0x3a0777;return readServiceRegistry(_0x14c6a5)[_0xb966ba(0x10f)];}export function getLocalServiceEntry(_0x26c424,_0x105ad5={}){const _0x4d34f4=a42_0x3a0777;return readServiceRegistry(_0x105ad5)[_0x4d34f4(0x10f)]['find'](_0x2c3288=>_0x2c3288[_0x4d34f4(0x141)]===_0x26c424[_0x4d34f4(0x165)]());}export function listLocalServiceTrees(_0x2b843f={}){const _0x4d216e=a42_0x3a0777;return readServiceRegistry(_0x2b843f)['services']['map'](_0x5e9384=>_0x5e9384[_0x4d216e(0x13b)]);}export function inspectServiceRegistry(_0x359d3a={}){const _0x4e9d6e=a42_0x3a0777,_0x226258=getServiceRegistryPath(_0x359d3a);if(!existsSync(_0x226258))return emptyServiceRegistryInspection(_0x226258,_0x4e9d6e(0x138),![]);try{const _0x43e864=readFileSync(_0x226258,_0x4e9d6e(0x160));if(!_0x43e864[_0x4e9d6e(0x165)]())return emptyServiceRegistryInspection(_0x226258,_0x4e9d6e(0x122),!![]);const _0x21a61c=JSON[_0x4e9d6e(0x123)](_0x43e864);if(_0x21a61c['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x226258,_0x4e9d6e(0x137),!![]),'schemaVersion':_0x21a61c[_0x4e9d6e(0x15c)],'message':_0x4e9d6e(0x166)+String(_0x21a61c[_0x4e9d6e(0x15c)])};if(!Array['isArray'](_0x21a61c[_0x4e9d6e(0x10f)]))return{...emptyServiceRegistryInspection(_0x226258,_0x4e9d6e(0x137),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x21a61c[_0x4e9d6e(0x163)],'message':_0x4e9d6e(0x150)};const _0x4d8a5c=_0x21a61c[_0x4e9d6e(0x10f)][_0x4e9d6e(0x15a)](summarizeLocalServiceEntry);return{'registryPath':_0x226258,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x21a61c['updatedAt'],'serviceCount':_0x4d8a5c[_0x4e9d6e(0x14c)],'commandCount':_0x4d8a5c[_0x4e9d6e(0x126)]((_0x36511e,_0x219fc5)=>_0x36511e+_0x219fc5['commandCount'],0x0),'services':_0x4d8a5c};}catch(_0xb2a942){return{...emptyServiceRegistryInspection(_0x226258,_0x4e9d6e(0x137),!![]),'message':_0xb2a942 instanceof Error?_0xb2a942[_0x4e9d6e(0x146)]:String(_0xb2a942)};}}export function formatValidationFailure(_0x3dd5cd){const _0xfd20c3=a42_0x3a0777,_0x22cba9=_0x3dd5cd[_0xfd20c3(0x12a)]['map'](_0x2b8006=>_0x2b8006[_0xfd20c3(0x142)]+':\x20'+_0x2b8006['message']);return _0xfd20c3(0x116)+_0x22cba9['join']('\x0a');}function extractLoadedServiceManifests(_0x197fa3,_0x143ae8){const _0x3c8f19=a42_0x3a0777;if(!isServiceRegistryLike(_0x197fa3)){const _0x387b8f=_0x197fa3,{manifest:_0x165d51,errors:_0x3c629f}=adaptServiceTreeManifestForLegacyFramework(_0x387b8f),_0x35d850=validateServiceTreeManifest(_0x165d51),_0x1c0030=mergeValidationErrors(_0x35d850,_0x3c629f);return[{'manifest':_0x387b8f,'report':_0x1c0030,'normalizedManifest':_0x1c0030['ok']?normalizeServiceTreeManifest(_0x165d51):undefined,'sourceHash':_0x143ae8}];}return _0x197fa3['services'][_0x3c8f19(0x15a)]((_0x4f7e08,_0x599106)=>{const _0x1b325e=_0x3c8f19,_0x4eb310=isObjectRecord(_0x4f7e08)?_0x4f7e08[_0x1b325e(0x154)]:undefined,{manifest:_0x1aa656,errors:_0x57c615}=adaptServiceTreeManifestForLegacyFramework(_0x4eb310),_0x1adb1e=validateServiceTreeManifest(_0x1aa656),_0xe59827=mergeValidationErrors(_0x1adb1e,_0x57c615),_0x4e8dc3=isObjectRecord(_0x4f7e08)&&typeof _0x4f7e08[_0x1b325e(0x141)]===_0x1b325e(0x13e)?_0x4f7e08['serviceCode']:undefined;return{'manifest':_0x4eb310,'report':_0xe59827,'normalizedManifest':_0xe59827['ok']?normalizeServiceTreeManifest(_0x1aa656):undefined,'sourceHash':sha256(JSON[_0x1b325e(0x13f)](_0x4eb310,null,0x2)+'\x0a'),'registryIndex':_0x599106,'registryServiceCode':_0x4e8dc3};});}function mergeValidationErrors(_0xa8f485,_0x5b7a65){const _0x15461d=a42_0x3a0777,_0x244576=_0xa8f485[_0x15461d(0x12a)][_0x15461d(0x15a)](_0x67713f=>_0x67713f[_0x15461d(0x146)]===_0x15461d(0x114)?{..._0x67713f,'message':_0x15461d(0x15e)}:_0x67713f),_0xebd1e6=[..._0x5b7a65,..._0x244576];return{'ok':_0xebd1e6[_0x15461d(0x14c)]===0x0,'errors':_0xebd1e6,'warnings':_0xa8f485[_0x15461d(0x157)]};}function aggregateValidationReports(_0x3c1008){const _0x43bae8=a42_0x3a0777,_0x49efd0=_0x3c1008['flatMap'](_0x375aae=>_0x375aae[_0x43bae8(0x129)]===undefined?_0x375aae[_0x43bae8(0x13c)][_0x43bae8(0x12a)]:_0x375aae['report'][_0x43bae8(0x12a)][_0x43bae8(0x15a)](_0x5093ee=>({..._0x5093ee,'path':prefixRegistryIssuePath(_0x375aae[_0x43bae8(0x129)],_0x5093ee[_0x43bae8(0x142)])}))),_0x2740f7=_0x3c1008[_0x43bae8(0x159)](_0x12e369=>_0x12e369[_0x43bae8(0x129)]===undefined?_0x12e369[_0x43bae8(0x13c)][_0x43bae8(0x157)]:_0x12e369[_0x43bae8(0x13c)][_0x43bae8(0x157)]['map'](_0x183b97=>({..._0x183b97,'path':prefixRegistryIssuePath(_0x12e369[_0x43bae8(0x129)],_0x183b97[_0x43bae8(0x142)])})));return{'ok':_0x49efd0['length']===0x0,'errors':_0x49efd0,'warnings':_0x2740f7};}function a42_0x37bb(){const _0x3a02cd=['Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','].manifest.','length','file','964WXfZtR','target','services\x20must\x20be\x20an\x20array','validation','localeCompare','digest','manifest','sourceHash','service','warnings','toISOString','flatMap','map','isArray','schemaVersion','1iRoCmW','bff\x20target\x20requires\x20functionName.','commands','utf8','source','splice','updatedAt','2270390ZAftoD','trim','Unsupported\x20schemaVersion:\x20','cliPath','services','791214QMttso','importedAt','203LWWlTy','findIndex','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Service\x20manifest\x20validation\x20failed:\x0a','Unsupported\x20service\x20registry\x20schemaVersion:\x20','code','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','ENOENT','filePath','description','$.services[','command','CliError','kind','Service\x20manifest\x20file\x20not\x20found:\x20','empty','parse','Local\x20service\x20not\x20found:\x20','95334nIduLs','reduce','3702720NNpkQF','sha256','registryIndex','errors','237862FBmJNp','now','manifests','sort','Invalid\x20service\x20registry\x20JSON:\x20','push','Cannot\x20write\x20service\x20registry:\x20','Remove\x20or\x20migrate\x20','].manifest','update','startsWith','homeDirName','invalid','missing','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','name','normalizedManifest','report','838395jnNDiK','string','stringify','risk','serviceCode','path','object','service.json','homeDir','message','slice','1475MhSttS','registry'];a42_0x37bb=function(){return _0x3a02cd;};return a42_0x37bb();}function prefixRegistryIssuePath(_0x561410,_0x243f11){const _0x3b56b3=a42_0x3a0777;if(_0x243f11==='$')return _0x3b56b3(0x11d)+_0x561410+'].manifest';if(_0x243f11[_0x3b56b3(0x135)]('$.'))return'$.services['+_0x561410+_0x3b56b3(0x133)+_0x243f11['slice'](0x1);if(_0x243f11[_0x3b56b3(0x135)]('$['))return _0x3b56b3(0x11d)+_0x561410+_0x3b56b3(0x133)+_0x243f11[_0x3b56b3(0x147)](0x1);return'$.services['+_0x561410+_0x3b56b3(0x14b)+_0x243f11;}function isServiceRegistryLike(_0x39ea62){const _0x11a9bf=a42_0x3a0777;return isObjectRecord(_0x39ea62)&&_0x39ea62[_0x11a9bf(0x15c)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x39ea62[_0x11a9bf(0x10f)]);}function isObjectRecord(_0x5c607b){const _0x572c66=a42_0x3a0777;return Boolean(_0x5c607b)&&typeof _0x5c607b===_0x572c66(0x143)&&!Array[_0x572c66(0x15b)](_0x5c607b);}function emptyServiceRegistryInspection(_0x2bbad0,_0x3b7c87,_0x33fb6a){return{'registryPath':_0x2bbad0,'exists':_0x33fb6a,'status':_0x3b7c87,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2068df){const _0x236a1a=a42_0x3a0777,_0xf2fd2c=_0x2068df['normalizedManifest'],_0x4b1225=_0xf2fd2c[_0x236a1a(0x15f)]['map'](_0x32ca67=>({'path':_0x32ca67[_0x236a1a(0x10e)],'description':_0x32ca67[_0x236a1a(0x11c)],'risk':_0x32ca67[_0x236a1a(0x140)],'targetKind':_0x32ca67[_0x236a1a(0x14f)][_0x236a1a(0x120)],'targetCommand':_0x32ca67[_0x236a1a(0x14f)][_0x236a1a(0x11e)]}));return{'serviceCode':_0x2068df[_0x236a1a(0x141)],'name':_0xf2fd2c[_0x236a1a(0x156)][_0x236a1a(0x13a)],'description':_0xf2fd2c['service'][_0x236a1a(0x11c)],'version':_0x2068df['version'],'importedAt':_0x2068df[_0x236a1a(0x111)],'source':_0x2068df[_0x236a1a(0x161)],'commandCount':_0x4b1225[_0x236a1a(0x14c)],'commands':_0x4b1225};}function sha256(_0x43a246){const _0xe6a8bb=a42_0x3a0777;return createHash(_0xe6a8bb(0x128))[_0xe6a8bb(0x134)](_0x43a246)[_0xe6a8bb(0x153)]('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x1ceb5b=a43_0x55b4;(function(_0x13b0eb,_0x2c6691){const _0x2f0797=a43_0x55b4,_0x1c7f76=_0x13b0eb();while(!![]){try{const _0x34fb40=-parseInt(_0x2f0797(0x112))/0x1*(-parseInt(_0x2f0797(0x10f))/0x2)+-parseInt(_0x2f0797(0x100))/0x3*(-parseInt(_0x2f0797(0x107))/0x4)+-parseInt(_0x2f0797(0xfe))/0x5*(parseInt(_0x2f0797(0x110))/0x6)+-parseInt(_0x2f0797(0x103))/0x7+parseInt(_0x2f0797(0x10b))/0x8*(parseInt(_0x2f0797(0xfc))/0x9)+parseInt(_0x2f0797(0x10e))/0xa*(-parseInt(_0x2f0797(0x115))/0xb)+parseInt(_0x2f0797(0xf7))/0xc*(parseInt(_0x2f0797(0xf4))/0xd);if(_0x34fb40===_0x2c6691)break;else _0x1c7f76['push'](_0x1c7f76['shift']());}catch(_0x274488){_0x1c7f76['push'](_0x1c7f76['shift']());}}}(a43_0x109f,0x9aa47));function a43_0x109f(){const _0x1771ec=['isSymbolicLink','rendered','files','type','Refusing\x20to\x20overwrite\x20symlink:\x20','546kXWksV','isDirectory','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','123108YMKpki','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillDir','target','content','4599ybTTqy','write','19555cSWslL','trim','3LfjYKb','skillName','name','1644503ZsYWAK','WRITE','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','map','2160724oyFgAe','skill','force','create','13744sZVtZq','Created\x20local\x20Skill\x20draft\x20','validation','5950PObsaL','309486VslnNT','1092RcTkMb','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','3zHPpsY','path','str','13552MwWsMW','Skill\x20directory\x20already\x20exists:\x20','utf8'];a43_0x109f=function(){return _0x1771ec;};return a43_0x109f();}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';function a43_0x55b4(_0x4d83f3,_0x2af450){_0x4d83f3=_0x4d83f3-0xef;const _0x109f74=a43_0x109f();let _0x55b44f=_0x109f74[_0x4d83f3];return _0x55b44f;}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_0x1ceb5b(0x108),'command':a43_0x1ceb5b(0x10a),'description':a43_0x1ceb5b(0x111),'risk':a43_0x1ceb5b(0xfd),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x560ba1){const _0x3863a8=a43_0x1ceb5b,_0x5bab1a=buildSkillCreatePlan(_0x560ba1[_0x3863a8(0x114)](_0x3863a8(0x102)),_0x560ba1[_0x3863a8(0x114)](_0x3863a8(0xf2)),_0x560ba1[_0x3863a8(0x114)](_0x3863a8(0xfa)));return{'method':_0x3863a8(0x104),'url':_0x5bab1a[_0x3863a8(0xf9)],'body':{'skillName':_0x5bab1a[_0x3863a8(0xf0)]['skillName'],'type':_0x5bab1a[_0x3863a8(0xf0)]['type'],'selfContained':!![],'files':_0x5bab1a[_0x3863a8(0xf0)][_0x3863a8(0xf1)][_0x3863a8(0x106)](_0x2a7d9c=>_0x2a7d9c[_0x3863a8(0x113)])},'description':_0x3863a8(0x105)};},async 'execute'(_0x5dec22){const _0xe3d49=a43_0x1ceb5b,_0x4a0441=buildSkillCreatePlan(_0x5dec22['str'](_0xe3d49(0x102)),_0x5dec22['str'](_0xe3d49(0xf2)),_0x5dec22['str']('target'));return writeSkillDraft(_0x4a0441,_0x5dec22['bool'](_0xe3d49(0x109))),{'ok':!![],'data':{'skillName':_0x4a0441[_0xe3d49(0xf0)][_0xe3d49(0x101)],'type':_0x4a0441[_0xe3d49(0xf0)][_0xe3d49(0xf2)],'dir':_0x4a0441[_0xe3d49(0xf9)],'files':_0x4a0441['rendered']['files'][_0xe3d49(0x106)](_0x2364c2=>_0x2364c2[_0xe3d49(0x113)])},'message':_0xe3d49(0x10c)+_0x4a0441[_0xe3d49(0xf0)]['skillName']};}};function buildSkillCreatePlan(_0x238588,_0x49dc92,_0x5aee52){const _0x3af1c4=a43_0x1ceb5b,_0x2a5aad=_0x49dc92['trim'](),_0x1792f0=renderSkillTemplate({'skillName':_0x238588,'type':_0x2a5aad});!_0x2a5aad&&writeCliSideChannelLine(_0x3af1c4(0xf6));const _0x3ea70b=resolve(normalizeSkillTarget(_0x5aee52));return{'rendered':_0x1792f0,'targetRoot':_0x3ea70b,'skillDir':resolve(_0x3ea70b,_0x1792f0[_0x3af1c4(0x101)])};}function normalizeSkillTarget(_0x50fac1){const _0x21f594=a43_0x1ceb5b;return(_0x50fac1||DEFAULT_SKILL_TARGET)[_0x21f594(0xff)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x4ff319,_0x30f129){const _0x53a567=a43_0x1ceb5b;if(existsSync(_0x4ff319[_0x53a567(0xf9)])){const _0x20f48c=lstatSync(_0x4ff319[_0x53a567(0xf9)]);if(!_0x20f48c[_0x53a567(0xf5)]()||_0x20f48c[_0x53a567(0xef)]())throw CliErrors[_0x53a567(0x10d)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x4ff319[_0x53a567(0xf9)]);if(!_0x30f129)throw CliErrors[_0x53a567(0x10d)](_0x53a567(0x116)+_0x4ff319['skillDir'],_0x53a567(0xf8));}for(const _0x523f65 of _0x4ff319['rendered'][_0x53a567(0xf1)]){const _0x1be132=resolve(_0x4ff319[_0x53a567(0xf9)],_0x523f65[_0x53a567(0x113)]),_0x3b67c3=dirname(_0x1be132);mkdirSync(_0x3b67c3,{'recursive':!![]});if(existsSync(_0x1be132)&&lstatSync(_0x1be132)[_0x53a567(0xef)]())throw CliErrors[_0x53a567(0x10d)](_0x53a567(0xf3)+_0x1be132);writeFileSync(_0x1be132,_0x523f65[_0x53a567(0xfb)],_0x53a567(0x117));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x27c896=a44_0x281f;(function(_0x4e3abe,_0x13706c){const _0x2d3aa2=a44_0x281f,_0x14268e=_0x4e3abe();while(!![]){try{const _0x407e00=-parseInt(_0x2d3aa2(0x1a4))/0x1+parseInt(_0x2d3aa2(0x1b4))/0x2*(parseInt(_0x2d3aa2(0x1a6))/0x3)+-parseInt(_0x2d3aa2(0x1a1))/0x4+-parseInt(_0x2d3aa2(0x1c3))/0x5*(-parseInt(_0x2d3aa2(0x1b5))/0x6)+parseInt(_0x2d3aa2(0x1a3))/0x7+-parseInt(_0x2d3aa2(0x1ab))/0x8*(-parseInt(_0x2d3aa2(0x1b2))/0x9)+-parseInt(_0x2d3aa2(0x1bd))/0xa;if(_0x407e00===_0x13706c)break;else _0x14268e['push'](_0x14268e['shift']());}catch(_0x20f2cc){_0x14268e['push'](_0x14268e['shift']());}}}(a44_0x313b,0xacd4d));function a44_0x313b(){const _0x450ac6=['expected-diagram-revision','personal','3058832cQFjiA',';\x20first\x20write\x20expects\x20revision\x20','skillCode','trim','appCode','version','Found\x20Skill\x20diagram\x20for\x20','18yTzhWM','isInteger','6eneIWw','6rYDRFP','test','read','str','\x20is\x20unchanged.','Skill\x20diagram\x20validation\x20passed\x20for\x20','source-fingerprint','unchanged','20499540wjnXpU','created','write','skill','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','Created','5185445ZEgVvN','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','Skill\x20diagram\x20for\x20','expectedDiagramRevision','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version',';\x20next\x20write\x20expects\x20revision\x20','validation','company','diagram-file','\x20Skill\x20diagram\x20for\x20','839884gJcoOm','action','8023386agNutd','542332UnqHbb','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','562179Kjundf','diagram-push','scope'];a44_0x313b=function(){return _0x450ac6;};return a44_0x313b();}import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x1608e6){const _0x39f39c=a44_0x281f,_0x536f14=_0x1608e6[_0x39f39c(0x1b8)]('skill-code')[_0x39f39c(0x1ae)](),_0x24728b=_0x1608e6[_0x39f39c(0x1b8)](_0x39f39c(0x1b0))[_0x39f39c(0x1ae)](),_0x3b692b=_0x1608e6[_0x39f39c(0x1b8)](_0x39f39c(0x1a8));if(!_0x536f14||!_0x24728b||_0x3b692b!==_0x39f39c(0x1aa)&&_0x3b692b!==_0x39f39c(0x19e))throw CliErrors[_0x39f39c(0x19d)](_0x39f39c(0x1c4));return{'skillCode':_0x536f14,'version':_0x24728b,'scope':_0x3b692b};}function a44_0x281f(_0x1a5988,_0x2fd7c1){_0x1a5988=_0x1a5988-0x198;const _0x313bc8=a44_0x313b();let _0x281f22=_0x313bc8[_0x1a5988];return _0x281f22;}async function readDiagramWriteInput(_0x2379cb){const _0x2e75d5=a44_0x281f,_0x521563=_0x2379cb['num'](_0x2e75d5(0x1a9)),_0x56e525=_0x2379cb[_0x2e75d5(0x1b8)](_0x2e75d5(0x1bb))[_0x2e75d5(0x1ae)]();if(!Number[_0x2e75d5(0x1b3)](_0x521563)||_0x521563<0x0)throw CliErrors['validation'](_0x2e75d5(0x1c1));if(!/^sha256:[0-9a-f]{64}$/[_0x2e75d5(0x1b6)](_0x56e525))throw CliErrors['validation'](_0x2e75d5(0x19a));return{'expectedDiagramRevision':_0x521563,'sourceFingerprint':_0x56e525,'diagram':await readRequiredSkillDiagram(_0x2379cb[_0x2e75d5(0x1b8)](_0x2e75d5(0x19f)))};}export const diagramValidateCommand={'service':a44_0x27c896(0x1c0),'command':'diagram-validate','description':'Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','risk':a44_0x27c896(0x1b7),'flags':WRITE_FLAGS,async 'execute'(_0x31b12e){const _0x38490b=a44_0x27c896,_0x20bb68=readDiagramTarget(_0x31b12e),_0x1ff292=await validateRuntimeSkillVersionDiagram(_0x31b12e[_0x38490b(0x1af)],_0x20bb68[_0x38490b(0x1ad)],_0x20bb68[_0x38490b(0x1b0)],_0x20bb68[_0x38490b(0x1a8)],await readDiagramWriteInput(_0x31b12e));return{'ok':!![],'data':_0x1ff292,'message':_0x38490b(0x1ba)+_0x20bb68['skillCode']+'@'+_0x20bb68[_0x38490b(0x1b0)]+'.'};}};export const diagramPushCommand={'service':a44_0x27c896(0x1c0),'command':a44_0x27c896(0x1a7),'description':'Create\x20or\x20replace\x20the\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','risk':a44_0x27c896(0x1bf),'flags':WRITE_FLAGS,async 'execute'(_0x2a8cfb){const _0x11703b=a44_0x27c896,_0x267ff0=readDiagramTarget(_0x2a8cfb),_0x3b646f=await putRuntimeSkillVersionDiagram(_0x2a8cfb[_0x11703b(0x1af)],_0x267ff0[_0x11703b(0x1ad)],_0x267ff0['version'],_0x267ff0[_0x11703b(0x1a8)],await readDiagramWriteInput(_0x2a8cfb));return{'ok':!![],'data':_0x3b646f,'message':_0x3b646f[_0x11703b(0x1a2)]===_0x11703b(0x1bc)?_0x11703b(0x198)+_0x267ff0[_0x11703b(0x1ad)]+'@'+_0x267ff0[_0x11703b(0x1b0)]+_0x11703b(0x1b9):(_0x3b646f[_0x11703b(0x1a2)]===_0x11703b(0x1be)?_0x11703b(0x1c2):'Updated')+_0x11703b(0x1a0)+_0x267ff0['skillCode']+'@'+_0x267ff0[_0x11703b(0x1b0)]+'.'};}};export const diagramShowCommand={'service':a44_0x27c896(0x1c0),'command':'diagram-show','description':a44_0x27c896(0x19b),'risk':a44_0x27c896(0x1b7),'flags':TARGET_FLAGS,async 'execute'(_0x4a4962){const _0x551401=a44_0x27c896,_0x5ae860=readDiagramTarget(_0x4a4962),_0x39c2a1=await getRuntimeSkillVersionDiagram(_0x4a4962['appCode'],_0x5ae860[_0x551401(0x1ad)],_0x5ae860[_0x551401(0x1b0)],_0x5ae860['scope']);return{'ok':!![],'data':_0x39c2a1,'message':_0x39c2a1['found']?_0x551401(0x1b1)+_0x5ae860[_0x551401(0x1ad)]+'@'+_0x5ae860['version']+_0x551401(0x19c)+_0x39c2a1[_0x551401(0x199)]+'.':_0x551401(0x1a5)+_0x5ae860[_0x551401(0x1ad)]+'@'+_0x5ae860['version']+_0x551401(0x1ac)+_0x39c2a1['expectedDiagramRevision']+'.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a45_0xa7008e=a45_0x3134;function a45_0x4d91(){const _0x5cf18b=['flatMap','created','1671096tPnKxe','trim','company','code','action','install','40545swPzov','length','authRequired','removed','152990wzCfce','skill','bool','filter','reduce','includes','envName','appCode','unchanged','895179BYyWtz','Installed\x20','project','5763760TAexaF','488WfBHNA','skillRoots','207mCssrr','str','372mYfILt','write','force','../../../core/api-client.js','43584dlEQLB','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','updated','scope','map','skillCode','accessKey','push','production','all','2669TLOTnM','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','personal'];a45_0x4d91=function(){return _0x5cf18b;};return a45_0x4d91();}(function(_0x196ef0,_0x5dc3a7){const _0x1af5cf=a45_0x3134,_0x31e1fd=_0x196ef0();while(!![]){try{const _0x547706=parseInt(_0x1af5cf(0x19f))/0x1*(-parseInt(_0x1af5cf(0x18d))/0x2)+-parseInt(_0x1af5cf(0x189))/0x3+parseInt(_0x1af5cf(0x191))/0x4*(parseInt(_0x1af5cf(0x17c))/0x5)+parseInt(_0x1af5cf(0x195))/0x6+parseInt(_0x1af5cf(0x176))/0x7+parseInt(_0x1af5cf(0x18c))/0x8+-parseInt(_0x1af5cf(0x18f))/0x9*(parseInt(_0x1af5cf(0x180))/0xa);if(_0x547706===_0x5dc3a7)break;else _0x31e1fd['push'](_0x31e1fd['shift']());}catch(_0x515e75){_0x31e1fd['push'](_0x31e1fd['shift']());}}}(a45_0x4d91,0x66515));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a45_0x3134(_0x2fed21,_0x273397){_0x2fed21=_0x2fed21-0x176;const _0x4d91ef=a45_0x4d91();let _0x313412=_0x4d91ef[_0x2fed21];return _0x313412;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a45_0xa7008e(0x181),'command':a45_0xa7008e(0x17b),'description':a45_0xa7008e(0x1a0),'risk':a45_0xa7008e(0x192),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x7fd094){return syncRuntimeSkills(_0x7fd094);}};async function syncRuntimeSkills(_0x447835){const _0x4f4a41=a45_0xa7008e,{downloadRuntimeSkillPackage:_0x256a56,listRuntimeSkills:_0x26d4ab}=await import(_0x4f4a41(0x194)),{linkEffectiveRuntimeSkills:_0x35136a,materializeRuntimeSkill:_0x3bc883,pruneStaleRuntimeSkillCache:_0x4ff679,pruneStaleRuntimeSkillLinks:_0x44ea6e,resolveRuntimeSkillInstallTarget:_0x553b08}=await import('../../../skills/runtime-skill-sync.js'),_0x17c436=_0x447835[_0x4f4a41(0x190)](_0x4f4a41(0x179)),_0x2a283e=normalizeSyncScopes(_0x447835[_0x4f4a41(0x190)]('scope')),_0x101f5e=_0x447835[_0x4f4a41(0x186)]??_0x4f4a41(0x19d),_0xf9f538=_0x447835[_0x4f4a41(0x19b)],_0x8b36e7=_0x447835[_0x4f4a41(0x182)](_0x4f4a41(0x193));if(!_0xf9f538)throw CliErrors[_0x4f4a41(0x17e)](_0x4f4a41(0x196));const _0xcd005c=_0x553b08(_0x447835[_0x4f4a41(0x187)],_0x447835[_0x4f4a41(0x182)](_0x4f4a41(0x18b))?'project':'global'),_0x37d31f=_0x553b08(_0x447835[_0x4f4a41(0x187)],_0xcd005c[_0x4f4a41(0x198)]===_0x4f4a41(0x18b)?'global':_0x4f4a41(0x18b)),_0x29d29c=await Promise[_0x4f4a41(0x19e)](_0x2a283e[_0x4f4a41(0x199)](_0xa624e5=>_0x26d4ab({'appCode':_0x447835[_0x4f4a41(0x187)],'scope':_0xa624e5,'code':_0x17c436[_0x4f4a41(0x177)]()||undefined}))),_0x8e6131=_0x2a283e[_0x4f4a41(0x185)](_0x4f4a41(0x1a1))?_0x29d29c[_0x4f4a41(0x1a2)]((_0x214aed,_0x9c3dbe)=>_0x2a283e[_0x9c3dbe]===_0x4f4a41(0x1a1)?_0x214aed[_0x4f4a41(0x1a1)]:[]):[],_0x4217fb=_0x2a283e['includes'](_0x4f4a41(0x178))?_0x29d29c[_0x4f4a41(0x1a2)]((_0x1db573,_0x18660c)=>_0x2a283e[_0x18660c]==='company'?_0x1db573[_0x4f4a41(0x178)]:[]):[],_0x5cafa2=new Set([..._0x8e6131['map'](_0x485909=>_0x485909['skillCode']?.[_0x4f4a41(0x177)]())['filter'](_0x5d2b70=>Boolean(_0x5d2b70)),..._0x4217fb[_0x4f4a41(0x199)](_0x431605=>_0x431605[_0x4f4a41(0x19a)]?.[_0x4f4a41(0x177)]())[_0x4f4a41(0x183)](_0x4fcd79=>Boolean(_0x4fcd79))]),_0x3aed37=_0x17c436['trim']()?[_0x17c436[_0x4f4a41(0x177)]()]:undefined,_0x459f2c=_0x2a283e['length']===0x2&&_0x2a283e[_0x4f4a41(0x185)]('personal')&&_0x2a283e[_0x4f4a41(0x185)](_0x4f4a41(0x178)),_0xb98632=_0x459f2c?_0x44ea6e(_0xcd005c,_0x5cafa2,_0x3aed37):[],_0x2165d5=_0x4ff679({'env':_0x101f5e,'accessKey':_0xf9f538,'appCode':_0x447835[_0x4f4a41(0x187)],'activeSkillCodes':_0x5cafa2,'pruneSkillCodes':_0x3aed37,'scopes':_0x2a283e,'protectedLinkRoots':_0x37d31f['skillRoots']}),_0x37ce62=[];for(const _0x3de0e2 of _0x8e6131){_0x37ce62[_0x4f4a41(0x19c)](_0x3bc883(_0x3de0e2,_0x4f4a41(0x1a1),{'env':_0x101f5e,'accessKey':_0xf9f538,'appCode':_0x447835[_0x4f4a41(0x187)],'force':_0x8b36e7,'packageBytes':await downloadSkillPackage(_0x3de0e2,'personal',_0x447835[_0x4f4a41(0x187)],_0x256a56)}));}for(const _0x49ae24 of _0x4217fb){_0x37ce62[_0x4f4a41(0x19c)](_0x3bc883(_0x49ae24,_0x4f4a41(0x178),{'env':_0x101f5e,'accessKey':_0xf9f538,'appCode':_0x447835[_0x4f4a41(0x187)],'force':_0x8b36e7,'packageBytes':await downloadSkillPackage(_0x49ae24,'company',_0x447835['appCode'],_0x256a56)}));}const _0x2a8927=_0x35136a(_0x37ce62,_0xcd005c),_0x2a72d1=countLinkActions(_0x2a8927);return{'ok':!![],'data':{'appCode':_0x447835[_0x4f4a41(0x187)],..._0xcd005c[_0x4f4a41(0x198)]===_0x4f4a41(0x18b)?{'installTarget':{'scope':_0xcd005c[_0x4f4a41(0x198)],'skillRoots':[..._0xcd005c[_0x4f4a41(0x18e)]]}}:{},'personal':_0x8e6131['length'],'company':_0x4217fb[_0x4f4a41(0x17d)],'materialized':_0x37ce62[_0x4f4a41(0x17d)],'links':{'total':_0x2a8927[_0x4f4a41(0x17d)],'created':_0x2a72d1[_0x4f4a41(0x1a3)]??0x0,'updated':_0x2a72d1[_0x4f4a41(0x197)]??0x0,'unchanged':_0x2a72d1[_0x4f4a41(0x188)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xb98632['filter'](_0x130d4d=>_0x130d4d[_0x4f4a41(0x17a)]==='removed')['length'],'cacheDirs':_0x2165d5[_0x4f4a41(0x183)](_0x535bb3=>_0x535bb3[_0x4f4a41(0x17a)]===_0x4f4a41(0x17f))[_0x4f4a41(0x17d)],'skipped':[..._0xb98632,..._0x2165d5][_0x4f4a41(0x183)](_0x1d94c3=>_0x1d94c3[_0x4f4a41(0x17a)]==='skipped')['length']},'skills':{'personal':_0x8e6131[_0x4f4a41(0x199)](summarizeRuntimeSkill),'company':_0x4217fb[_0x4f4a41(0x199)](summarizeRuntimeSkill)}},'message':_0x4f4a41(0x18a)+_0x8e6131['length']+'\x20personal\x20and\x20'+_0x4217fb['length']+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x448380,_0x464279,_0x554bc8,_0x18914a){const _0x319b12=a45_0xa7008e,_0x29cce0=_0x448380['version']?.['trim']();return _0x29cce0?_0x18914a(_0x464279,_0x448380[_0x319b12(0x19a)],_0x554bc8,_0x29cce0):_0x18914a(_0x464279,_0x448380[_0x319b12(0x19a)],_0x554bc8);}function countLinkActions(_0x56478c){const _0x42228e=a45_0xa7008e;return _0x56478c[_0x42228e(0x184)]((_0x56763c,_0x14ecc5)=>{const _0x4d4d2a=_0x42228e;return _0x56763c[_0x14ecc5[_0x4d4d2a(0x17a)]]=(_0x56763c[_0x14ecc5[_0x4d4d2a(0x17a)]]??0x0)+0x1,_0x56763c;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a46_0x57d318=a46_0x4f1c;(function(_0x4a9cf4,_0x4af25e){const _0x68f5f7=a46_0x4f1c,_0x26199b=_0x4a9cf4();while(!![]){try{const _0x460a4f=-parseInt(_0x68f5f7(0x9c))/0x1*(-parseInt(_0x68f5f7(0xa0))/0x2)+-parseInt(_0x68f5f7(0x91))/0x3+parseInt(_0x68f5f7(0x9e))/0x4*(parseInt(_0x68f5f7(0x86))/0x5)+parseInt(_0x68f5f7(0x97))/0x6+parseInt(_0x68f5f7(0x90))/0x7*(parseInt(_0x68f5f7(0xa3))/0x8)+-parseInt(_0x68f5f7(0xa4))/0x9+parseInt(_0x68f5f7(0x98))/0xa*(parseInt(_0x68f5f7(0x88))/0xb);if(_0x460a4f===_0x4af25e)break;else _0x26199b['push'](_0x26199b['shift']());}catch(_0x525af4){_0x26199b['push'](_0x26199b['shift']());}}}(a46_0x3b1f,0x59a02));import{CliErrors}from'../../../errors.js';function a46_0x4f1c(_0x5d7e41,_0x199e45){_0x5d7e41=_0x5d7e41-0x85;const _0x3b1f09=a46_0x3b1f();let _0x4f1c4b=_0x3b1f09[_0x5d7e41];return _0x4f1c4b;}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':a46_0x57d318(0xa5),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a46_0x57d318(0x95),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x9b6a7e){const _0x5b3880=a46_0x57d318,_0x580e8e=_0x9b6a7e[_0x5b3880(0x9d)](_0x5b3880(0x8f)),_0x4253de=normalizeListScope(_0x9b6a7e[_0x5b3880(0x9d)](_0x5b3880(0xa6)));if(_0x9b6a7e[_0x5b3880(0x8d)](_0x5b3880(0x85))){const _0x194905=_0x9b6a7e[_0x5b3880(0x9a)];if(!_0x194905)throw CliErrors[_0x5b3880(0x8c)]();const {listLocalRuntimeSkills:_0x946d01,resolveRuntimeSkillInstallTarget:_0x4f64e3}=await import(_0x5b3880(0xa1)),_0x397303=_0x4f64e3(_0x9b6a7e[_0x5b3880(0x8a)],_0x9b6a7e[_0x5b3880(0x8d)](_0x5b3880(0x94))?_0x5b3880(0x94):_0x5b3880(0x9f)),_0x3f3174=_0x946d01({'env':_0x9b6a7e['envName']??'production','accessKey':_0x194905,'appCode':_0x9b6a7e[_0x5b3880(0x8a)],'scopes':listScopeToRuntimeScopes(_0x4253de),'code':_0x580e8e[_0x5b3880(0x9b)]()||undefined},_0x397303),_0x220e2c=groupLocalRuntimeSkills(_0x3f3174);return{'ok':!![],'data':{'appCode':_0x9b6a7e[_0x5b3880(0x8a)],'source':_0x5b3880(0x85),..._0x397303['scope']===_0x5b3880(0x94)?{'installScope':_0x397303['scope']}:{},'scope':_0x4253de,'total':_0x3f3174[_0x5b3880(0xa2)],'personal':_0x220e2c[_0x5b3880(0x87)][_0x5b3880(0xa2)],'company':_0x220e2c[_0x5b3880(0x89)]['length'],'items':_0x3f3174['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x220e2c[_0x5b3880(0x87)]['map'](summarizeLocalRuntimeSkill),'company':_0x220e2c[_0x5b3880(0x89)][_0x5b3880(0x92)](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x3f3174[_0x5b3880(0xa2)]+_0x5b3880(0x8b)};}const {listRuntimeSkills:_0x4bb8c0}=await import(_0x5b3880(0x93)),_0x4d7a00=await _0x4bb8c0({'appCode':_0x9b6a7e[_0x5b3880(0x8a)],'scope':listScopeToRemoteScope(_0x4253de),'code':_0x580e8e[_0x5b3880(0x9b)]()||undefined}),_0x1e6d03=shouldListScope(_0x4253de,_0x5b3880(0x87))?_0x4d7a00[_0x5b3880(0x87)]??[]:[],_0x231210=shouldListScope(_0x4253de,_0x5b3880(0x89))?_0x4d7a00[_0x5b3880(0x89)]??[]:[],_0x451201=[..._0x1e6d03,..._0x231210];return{'ok':!![],'data':{'appCode':_0x9b6a7e[_0x5b3880(0x8a)],'source':'remote','scope':_0x4253de,'total':_0x451201[_0x5b3880(0xa2)],'personal':_0x1e6d03[_0x5b3880(0xa2)],'company':_0x231210['length'],'items':_0x451201[_0x5b3880(0x92)](summarizeRuntimeSkill),'skills':{'personal':_0x1e6d03['map'](summarizeRuntimeSkill),'company':_0x231210[_0x5b3880(0x92)](summarizeRuntimeSkill)}},'message':_0x5b3880(0x8e)+_0x451201[_0x5b3880(0xa2)]+'\x20remote\x20Skill(s).'};}};function a46_0x3b1f(){const _0x14136c=['1180JbEYdh','personal','33yPcvic','company','appCode','\x20local\x20Skill(s).','authRequired','bool','Listed\x20','code','7fwydnc','2133108NnMUqR','map','../../../core/api-client.js','project','read','filter','2022120ePmyrx','199900qnhaci','builtin','accessKey','trim','3032URbnhS','str','2224bKyROr','global','30bJRXxF','../../../skills/runtime-skill-sync.js','length','5812832WyUdQL','1999332FyGCFQ','list','scope','local'];a46_0x3b1f=function(){return _0x14136c;};return a46_0x3b1f();}function groupLocalRuntimeSkills(_0x28ce44){const _0x1264d2=a46_0x57d318;return{'personal':_0x28ce44['filter'](_0x4b6794=>_0x4b6794[_0x1264d2(0xa6)]===_0x1264d2(0x87)),'company':_0x28ce44[_0x1264d2(0x96)](_0x31b071=>_0x31b071[_0x1264d2(0xa6)]===_0x1264d2(0x89)),'builtin':_0x28ce44[_0x1264d2(0x96)](_0x52b0d8=>_0x52b0d8[_0x1264d2(0xa6)]===_0x1264d2(0x99))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a47_0x2de9(){const _0x3e2557=['4419744sdCCGK','skill','2457543WayMLz','7980gCQTEm','push','175944krHRIq','write','202456bDicRr','458SwhWWA','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','6882722niSMwX','55NcGTEW','133ooQzSW','1619UxGsco','9081gdYsRH'];a47_0x2de9=function(){return _0x3e2557;};return a47_0x2de9();}const a47_0xf08771=a47_0x6e82;function a47_0x6e82(_0x4c5e79,_0x242f81){_0x4c5e79=_0x4c5e79-0x1b6;const _0x2de9d5=a47_0x2de9();let _0x6e82ab=_0x2de9d5[_0x4c5e79];return _0x6e82ab;}(function(_0x5585b6,_0x5e8e3c){const _0x12b225=a47_0x6e82,_0x305442=_0x5585b6();while(!![]){try{const _0xfd61d2=-parseInt(_0x12b225(0x1be))/0x1*(parseInt(_0x12b225(0x1b9))/0x2)+-parseInt(_0x12b225(0x1c2))/0x3+-parseInt(_0x12b225(0x1b8))/0x4*(-parseInt(_0x12b225(0x1bc))/0x5)+-parseInt(_0x12b225(0x1c0))/0x6+-parseInt(_0x12b225(0x1bd))/0x7*(-parseInt(_0x12b225(0x1b6))/0x8)+parseInt(_0x12b225(0x1bf))/0x9*(parseInt(_0x12b225(0x1c3))/0xa)+parseInt(_0x12b225(0x1bb))/0xb;if(_0xfd61d2===_0x5e8e3c)break;else _0x305442['push'](_0x305442['shift']());}catch(_0x4da9ed){_0x305442['push'](_0x305442['shift']());}}}(a47_0x2de9,0x74ee5));import{CONFIRM_WARNINGS_FLAG,DIAGRAM_FILE_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a47_0xf08771(0x1c1),'command':a47_0xf08771(0x1c4),'description':a47_0xf08771(0x1ba),'risk':a47_0xf08771(0x1b7),'flags':[DIR_FLAG,DIAGRAM_FILE_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x527175=a48_0x5540;(function(_0x4ff3bb,_0x40dd92){const _0x9d1d82=a48_0x5540,_0x722021=_0x4ff3bb();while(!![]){try{const _0xed1c13=parseInt(_0x9d1d82(0x196))/0x1*(parseInt(_0x9d1d82(0x197))/0x2)+parseInt(_0x9d1d82(0x19c))/0x3*(parseInt(_0x9d1d82(0x195))/0x4)+parseInt(_0x9d1d82(0x190))/0x5+-parseInt(_0x9d1d82(0x193))/0x6+-parseInt(_0x9d1d82(0x194))/0x7*(parseInt(_0x9d1d82(0x1a4))/0x8)+-parseInt(_0x9d1d82(0x19d))/0x9*(parseInt(_0x9d1d82(0x191))/0xa)+-parseInt(_0x9d1d82(0x1a2))/0xb*(-parseInt(_0x9d1d82(0x1a0))/0xc);if(_0xed1c13===_0x40dd92)break;else _0x722021['push'](_0x722021['shift']());}catch(_0x7c51c0){_0x722021['push'](_0x722021['shift']());}}}(a48_0x4b84,0x761ec));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a48_0x527175(0x199),'command':a48_0x527175(0x198),'description':a48_0x527175(0x19b),'risk':a48_0x527175(0x192),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0xe2bfc4){const _0x34256c=a48_0x527175,_0x44c641=_0xe2bfc4['bool'](_0x34256c(0x19e)),_0x1b5299=validateSkillDirectory(_0xe2bfc4[_0x34256c(0x1a3)](_0x34256c(0x19a)),{'strict':_0x44c641});return throwIfSkillValidationFailed(_0x1b5299,_0x44c641),{'ok':!![],'data':{'dir':_0x1b5299['dir'],'type':_0x1b5299['type'],'errors':_0x1b5299[_0x34256c(0x1a5)],'warnings':_0x1b5299[_0x34256c(0x1a1)]},'message':_0x34256c(0x19f)};}};function a48_0x5540(_0x337200,_0x471f88){_0x337200=_0x337200-0x190;const _0x4b847c=a48_0x4b84();let _0x5540ca=_0x4b847c[_0x337200];return _0x5540ca;}function a48_0x4b84(){const _0x5a76a9=['dir','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','405vqoEkZ','17604lxeqQR','strict','Skill\x20validation\x20passed.','4572780Nxgjpl','warnings','22HvyxoZ','str','8eeIhRc','errors','897890aHNgdq','820gRfCRf','read','5437632atfDqW','68677kDccMO','16740boJlxp','1uHzAQx','107224jexwFj','validate','skill'];a48_0x4b84=function(){return _0x5a76a9;};return a48_0x4b84();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2b914b,_0x47962e){const _0x3ff635=a49_0x3a54,_0x406ed8=_0x2b914b();while(!![]){try{const _0x2fad69=parseInt(_0x3ff635(0x122))/0x1*(-parseInt(_0x3ff635(0x120))/0x2)+parseInt(_0x3ff635(0x128))/0x3+-parseInt(_0x3ff635(0x126))/0x4+-parseInt(_0x3ff635(0x11e))/0x5*(parseInt(_0x3ff635(0x125))/0x6)+parseInt(_0x3ff635(0x131))/0x7*(parseInt(_0x3ff635(0x12c))/0x8)+parseInt(_0x3ff635(0x129))/0x9*(parseInt(_0x3ff635(0x11f))/0xa)+-parseInt(_0x3ff635(0x12a))/0xb*(-parseInt(_0x3ff635(0x124))/0xc);if(_0x2fad69===_0x47962e)break;else _0x406ed8['push'](_0x406ed8['shift']());}catch(_0x4b6830){_0x406ed8['push'](_0x406ed8['shift']());}}}(a49_0x5c7e,0x6193e));import{existsSync,readFileSync,statSync}from'node:fs';function a49_0x3a54(_0x4270cb,_0xf17418){_0x4270cb=_0x4270cb-0x11e;const _0x5c7e7e=a49_0x5c7e();let _0x3a546b=_0x5c7e7e[_0x4270cb];return _0x3a546b;}import{resolve}from'node:path';import{JSDOM}from'jsdom';import{CliErrors}from'../../errors.js';function a49_0x5c7e(){const _0x1a478d=['414180guruQG','2691528sReUcB','mermaid','813867IZIsdU','9btVtjf','530277khUAXm','isFile','38096YrxeQm','validation','default','parse','Generate\x20a\x20Mermaid\x20flowchart\x20and\x20pass\x20--diagram-file\x20<path>,\x20or\x20use\x20--diagram-file\x20-\x20for\x20standard\x20input.','1057kZTlNd','utf8','Mermaid\x20flowchart\x20file\x20not\x20found:\x20','document','window','replace','Unable\x20to\x20read\x20Mermaid\x20flowchart\x20from\x20standard\x20input.','15DJIZfz','7038310GzUGEk','2NFGvWG','--diagram-file\x20is\x20required\x20when\x20publishing\x20a\x20Skill\x20version.','462739MYiJPu','defineProperties','12qDJgzw'];a49_0x5c7e=function(){return _0x1a478d;};return a49_0x5c7e();}let mermaidApiPromise;export async function readRequiredSkillDiagram(_0x42f879){const _0x4bc35d=a49_0x3a54,_0x32f8ac=_0x42f879['trim']();if(!_0x32f8ac)throw CliErrors[_0x4bc35d(0x12d)](_0x4bc35d(0x121),_0x4bc35d(0x130));let _0x268b94;if(_0x32f8ac==='-')try{_0x268b94=readFileSync(0x0,_0x4bc35d(0x132));}catch{throw CliErrors['validation'](_0x4bc35d(0x137));}else{const _0x2a3747=resolve(_0x32f8ac);if(!existsSync(_0x2a3747))throw CliErrors[_0x4bc35d(0x12d)](_0x4bc35d(0x133)+_0x2a3747);if(!statSync(_0x2a3747)[_0x4bc35d(0x12b)]())throw CliErrors['validation']('Mermaid\x20flowchart\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2a3747);_0x268b94=readFileSync(_0x2a3747,_0x4bc35d(0x132));}return{'schemaVersion':0x1,'mermaid':await validateAndCanonicalizeMermaid(_0x268b94)};}export async function validateAndCanonicalizeMermaid(_0x79587e){const _0x5af65b=a49_0x3a54,_0x2340af=_0x79587e[_0x5af65b(0x136)](/\r\n/g,'\x0a')[_0x5af65b(0x136)](/\r/g,'\x0a')[_0x5af65b(0x136)](/\n+$/,'')+'\x0a';try{const _0x2f6156=await loadMermaidApi();await _0x2f6156[_0x5af65b(0x12f)](_0x2340af);}catch{throw diagramValidationError();}return _0x2340af;}function loadMermaidApi(){return mermaidApiPromise??=((async()=>{const _0x1268e4=a49_0x3a54;if(!(_0x1268e4(0x135)in globalThis)||!(_0x1268e4(0x134)in globalThis)){const _0x445266=new JSDOM('');Object[_0x1268e4(0x123)](globalThis,{'window':{'configurable':!![],'value':_0x445266['window']},'document':{'configurable':!![],'value':_0x445266[_0x1268e4(0x135)]['document']}});}return(await import(_0x1268e4(0x127)))[_0x1268e4(0x12e)];})()),mermaidApiPromise;}function diagramValidationError(){const _0x5baba5=a49_0x3a54;return CliErrors[_0x5baba5(0x12d)]('Mermaid\x20syntax\x20validation\x20failed.','Fix\x20the\x20Mermaid\x20syntax\x20reported\x20by\x20your\x20editor\x20or\x20preview\x20tool,\x20then\x20retry\x20with\x20the\x20same\x20file.');}
|