@lovrabet/lovrabet-cli 2.1.7 → 2.1.8-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -0
- 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 -0
- 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 -0
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -0
- package/lib/commands/skill/push-flow-helpers.js +1 -0
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/commands/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0x586342=a29_0x3373;(function(_0x52dbec,_0x5bdf7d){const _0x1c9203=a29_0x3373,_0xc784f1=_0x52dbec();while(!![]){try{const _0x1085f6=-parseInt(_0x1c9203(0xc2))/0x1*(-parseInt(_0x1c9203(0xbd))/0x2)+parseInt(_0x1c9203(0xac))/0x3+parseInt(_0x1c9203(0xe3))/0x4+-parseInt(_0x1c9203(0xc8))/0x5*(-parseInt(_0x1c9203(0xb2))/0x6)+parseInt(_0x1c9203(0xd5))/0x7*(parseInt(_0x1c9203(0xd9))/0x8)+parseInt(_0x1c9203(0xc5))/0x9+-parseInt(_0x1c9203(0xf2))/0xa*(parseInt(_0x1c9203(0xc9))/0xb);if(_0x1085f6===_0x5bdf7d)break;else _0xc784f1['push'](_0xc784f1['shift']());}catch(_0x4b1655){_0xc784f1['push'](_0xc784f1['shift']());}}}(a29_0x33de,0x9c289));import{existsSync,readFileSync}from'node:fs';import{resolve,isAbsolute}from'node:path';import{createInterface}from'node:readline';import{CliErrors}from'../errors.js';import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{IMPORTABLE_RUNTIME_CONFIG_KEYS}from'../config/schema.js';import{resolveWriteConfigPath,readConfigFile,writeConfigFile,isNonInteractiveMode}from'../context.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{PRODUCT_CONFIG}from'../constant/product.js';export const initCreateFlagDefs=[{'name':'appcode','type':'string','description':a29_0x586342(0xc3)},{'name':'env','type':a29_0x586342(0xce),'description':a29_0x586342(0xba)+DEFAULT_CONFIG_VALUES[a29_0x586342(0xc1)]+')','enum':[...RUNTIME_ENV_VALUES]},{'name':'global','type':a29_0x586342(0xc7),'description':a29_0x586342(0xe1)+PRODUCT_CONFIG[a29_0x586342(0xb3)]+')\x20instead\x20of\x20project','default':![]},{'name':a29_0x586342(0xed),'type':a29_0x586342(0xc7),'description':'Skip\x20confirmation\x20when\x20overwriting','default':![]}];export const initImportFlagDefs=[{'name':a29_0x586342(0xb0),'type':'string','description':a29_0x586342(0xee),'required':!![]},{'name':a29_0x586342(0xd4),'type':a29_0x586342(0xce),'description':a29_0x586342(0xcb)},{'name':a29_0x586342(0xc1),'type':a29_0x586342(0xce),'description':a29_0x586342(0xb1),'enum':[...RUNTIME_ENV_VALUES]},{'name':a29_0x586342(0xbf),'type':'boolean','description':a29_0x586342(0xe1)+PRODUCT_CONFIG[a29_0x586342(0xb3)]+a29_0x586342(0xcc),'default':![]},{'name':a29_0x586342(0xed),'type':a29_0x586342(0xc7),'description':a29_0x586342(0xa8),'default':![]}];export async function runInit(_0x16671a){const _0x4481bd=a29_0x586342,_0x254ffa=isNonInteractiveMode(_0x16671a),_0x4dbac6=_0x16671a[_0x4481bd(0xbf)]?_0x4481bd(0xbf):_0x4481bd(0xda),_0x572049=resolveWriteConfigPath(_0x4dbac6);try{_0x254ffa?await runNonInteractive(_0x16671a,_0x572049):await runInteractive(_0x16671a,_0x572049);}catch(_0x1a150f){if(_0x1a150f instanceof AbortPrompt)throw CliErrors['cancelled']();throw _0x1a150f;}}function a29_0x3373(_0x4c5da0,_0x16c0fa){_0x4c5da0=_0x4c5da0-0xa6;const _0x33de90=a29_0x33de();let _0x33731a=_0x33de90[_0x4c5da0];return _0x33731a;}export async function runInitImport(_0x2396ac){const _0x448bd6=a29_0x586342,_0x45a1f6=_0x2396ac[_0x448bd6(0xbf)]?'global':_0x448bd6(0xda),_0x5e2902=resolveWriteConfigPath(_0x45a1f6);await runFromImport(_0x2396ac,_0x5e2902);}const RUNTIME_IRRELEVANT_KEYS=new Set([a29_0x586342(0xe5)]);async function runFromImport(_0x1caa86,_0x388b5f){const _0x371158=a29_0x586342,_0x430077=resolveFilePath(_0x1caa86[_0x371158(0xb0)]);if(!existsSync(_0x430077))throw CliErrors['validation'](_0x371158(0xb6)+_0x430077);const _0x3bfd44=readSourceFile(_0x430077),_0x359339=convertToRuntimeConfig(_0x3bfd44);_0x1caa86['appcode']&&(_0x359339[_0x371158(0xd4)]=String(_0x1caa86[_0x371158(0xd4)]));_0x1caa86[_0x371158(0xc1)]&&(_0x359339['env']=resolveInitEnv(_0x1caa86));if(!_0x359339[_0x371158(0xd4)])throw CliErrors[_0x371158(0xd3)](_0x371158(0xd7),_0x371158(0xad));await writeInitConfig(_0x388b5f,_0x359339,_0x1caa86),console[_0x371158(0xdb)](_0x371158(0xea)+_0x430077),console[_0x371158(0xdb)](_0x371158(0xe8)+_0x388b5f),console[_0x371158(0xdb)](_0x371158(0xa7)+_0x359339[_0x371158(0xd4)]);if(_0x359339['defaultApp'])console[_0x371158(0xdb)](_0x371158(0xe4)+_0x359339[_0x371158(0xb9)]);}function convertToRuntimeConfig(_0x4afe84){const _0x5eb5af=a29_0x586342;if(_0x4afe84[_0x5eb5af(0xb4)]&&typeof _0x4afe84['apps']===_0x5eb5af(0xd8))throw CliErrors[_0x5eb5af(0xd3)](_0x5eb5af(0xb5),_0x5eb5af(0xd2));const _0x55aab5={};for(const _0x13c2b3 of IMPORTABLE_RUNTIME_CONFIG_KEYS){_0x4afe84[_0x13c2b3]!==undefined&&(_0x55aab5[_0x13c2b3]=_0x4afe84[_0x13c2b3]);}return!_0x55aab5[_0x5eb5af(0xb8)]&&(_0x55aab5[_0x5eb5af(0xb8)]=DEFAULT_CONFIG_VALUES['riskLevel']),_0x55aab5;}async function runNonInteractive(_0x1d8223,_0x37ce0f){const _0x15ddd4=a29_0x586342,_0x1abb39=_0x1d8223[_0x15ddd4(0xd4)];if(!_0x1abb39)throw CliErrors[_0x15ddd4(0xa9)](_0x15ddd4(0xd4),_0x15ddd4(0xc6)+CLI_BIN_NAME+_0x15ddd4(0xe2));const _0x59c787=resolveInitEnv(_0x1d8223);await writeInitConfig(_0x37ce0f,{'appcode':_0x1abb39,'env':_0x59c787},_0x1d8223),console[_0x15ddd4(0xdb)](_0x15ddd4(0xaf)+_0x37ce0f),console[_0x15ddd4(0xdb)](_0x15ddd4(0xa7)+_0x1abb39),console[_0x15ddd4(0xdb)](_0x15ddd4(0xa6)+_0x59c787);}async function runInteractive(_0x52f255,_0x29a63d){const _0x18d2aa=a29_0x586342,_0x48875f=loadExisting(_0x29a63d),_0x1f60e9=typeof _0x48875f?.[_0x18d2aa(0xd4)]==='string'?_0x48875f[_0x18d2aa(0xd4)]:'',_0x147900=resolveInitEnv(_0x52f255);console['log'](CLI_BIN_NAME+_0x18d2aa(0xd6)+PRODUCT_CONFIG[_0x18d2aa(0xb3)]+'\x0a');if(existsSync(_0x29a63d)&&!_0x52f255[_0x18d2aa(0xed)]){const _0xcc97b=await promptYesNo(_0x18d2aa(0xc4)+_0x29a63d+_0x18d2aa(0xc0),![]);if(!_0xcc97b){console[_0x18d2aa(0xdb)](_0x18d2aa(0xf1));return;}}const _0x338df8=typeof _0x52f255['appcode']===_0x18d2aa(0xce)?_0x52f255[_0x18d2aa(0xd4)]['trim']():'';let _0x2d4a1d=_0x338df8;!_0x2d4a1d&&(_0x2d4a1d=await promptInput(_0x18d2aa(0xd0),_0x1f60e9));if(!_0x2d4a1d[_0x18d2aa(0xef)]())throw CliErrors[_0x18d2aa(0xd3)](_0x18d2aa(0xcf));await writeInitConfig(_0x29a63d,{'appcode':_0x2d4a1d[_0x18d2aa(0xef)](),'env':_0x147900},_0x52f255),console[_0x18d2aa(0xdb)](_0x18d2aa(0xcd)+_0x29a63d),console['log'](_0x18d2aa(0xa7)+_0x2d4a1d[_0x18d2aa(0xef)]()),console['log'](_0x18d2aa(0xa6)+_0x147900);}async function writeInitConfig(_0xac8735,_0x4f821c,_0x144752){const _0x3c3df4=a29_0x586342;let _0x337695={};existsSync(_0xac8735)&&!_0x144752[_0x3c3df4(0xed)]&&(_0x337695=readConfigFile(_0xac8735));for(const [_0x141c9d,_0x364909]of Object[_0x3c3df4(0xca)](_0x4f821c)){_0x364909!==undefined&&(_0x337695[_0x141c9d]=_0x364909);}if(_0x337695['app'])delete _0x337695[_0x3c3df4(0xae)];writeConfigFile(_0xac8735,_0x337695);}class AbortPrompt extends Error{constructor(){const _0x4f5c69=a29_0x586342;super(_0x4f5c69(0xdd)),this['name']=_0x4f5c69(0xaa);}}function createSafeRl(){const _0x648358=a29_0x586342,_0x32eaab=createInterface({'input':process['stdin'],'output':process[_0x648358(0xbb)]});let _0x2d7d31;const _0x22cc85=new Promise((_0x55b5ea,_0x1da19a)=>{const _0x5f285d=_0x648358;_0x2d7d31=()=>{const _0x5562ae=a29_0x3373;_0x2d7d31&&(_0x32eaab['removeListener']('SIGINT',_0x2d7d31),_0x2d7d31=undefined);try{_0x32eaab[_0x5562ae(0xe6)]();}catch{}_0x1da19a(new AbortPrompt());},_0x32eaab['once'](_0x5f285d(0xe0),_0x2d7d31);}),_0xf20d17=()=>{const _0x379927=_0x648358;_0x2d7d31&&(_0x32eaab[_0x379927(0xeb)]('SIGINT',_0x2d7d31),_0x2d7d31=undefined);try{_0x32eaab['close']();}catch{}};return{'rl':_0x32eaab,'abortPromise':_0x22cc85,'disposeSuccess':_0xf20d17};}async function promptInput(_0x4c8c34,_0x98e86a){const _0x509bc5=a29_0x586342,{rl:_0x2ed0b0,abortPromise:_0x2cdc67,disposeSuccess:_0xab582}=createSafeRl(),_0xc4aa64=new Promise(_0x36bfba=>{const _0x884b09=a29_0x3373,_0x51bad6=_0x98e86a?'\x20\x20'+_0x4c8c34+'\x20('+_0x98e86a+_0x884b09(0xb7):'\x20\x20'+_0x4c8c34+':\x20';_0x2ed0b0[_0x884b09(0xf0)](_0x51bad6,_0x2b43dd=>{_0xab582(),_0x36bfba(_0x2b43dd['trim']()||_0x98e86a);});});return Promise[_0x509bc5(0xd1)]([_0xc4aa64,_0x2cdc67]);}async function promptYesNo(_0x4f5320,_0x3547c8){const {rl:_0x379068,abortPromise:_0x503993,disposeSuccess:_0x4952f4}=createSafeRl(),_0x1480b9=new Promise(_0x21f0a6=>{const _0x1bbe64=a29_0x3373,_0x14c931=_0x3547c8?_0x1bbe64(0xbe):_0x1bbe64(0xe7);_0x379068[_0x1bbe64(0xf0)]('\x20\x20'+_0x4f5320+'\x20'+_0x14c931+':\x20',_0xeb39b2=>{const _0x44a057=_0x1bbe64;_0x4952f4();const _0x4016d9=_0xeb39b2[_0x44a057(0xef)]()['toLowerCase']();if(_0x4016d9==='y'||_0x4016d9===_0x44a057(0xed))_0x21f0a6(!![]);else{if(_0x4016d9==='n'||_0x4016d9==='no')_0x21f0a6(![]);else _0x21f0a6(_0x3547c8);}});});return Promise['race']([_0x1480b9,_0x503993]);}function loadExisting(_0x21accd){if(!existsSync(_0x21accd))return null;return readConfigFile(_0x21accd);}function resolveFilePath(_0xbb3c19){const _0x2fdecc=a29_0x586342;return isAbsolute(_0xbb3c19)?_0xbb3c19:resolve(process[_0x2fdecc(0xe9)](),_0xbb3c19);}function readSourceFile(_0x3e8a84){const _0x2e5b68=a29_0x586342;try{const _0x5ac282=readFileSync(_0x3e8a84,{'encoding':_0x2e5b68(0xec)});return JSON[_0x2e5b68(0xde)](_0x5ac282);}catch(_0x431560){throw CliErrors[_0x2e5b68(0xd3)]('Failed\x20to\x20parse\x20source\x20file:\x20'+_0x431560[_0x2e5b68(0xbc)]);}}function a29_0x33de(){const _0x464676=['\x22.\x20Allowed:\x20','User\x20aborted\x20prompt','parse','includes','SIGINT','Write\x20to\x20global\x20(~/','\x20app\x20init\x20--appcode\x20<code>\x20[--env\x20daily]\x20[--global]','3142784UbjYni','\x20\x20default:\x20','apiDir','close','[y/N]','\x20\x20config:\x20\x20','cwd','Imported\x20from\x20','removeListener','utf8','yes','Import\x20from\x20a\x20.rabetbase.json\x20file\x20path','trim','question','Aborted.','42583570KVoEAI','\x20\x20env:\x20\x20\x20\x20\x20','\x20\x20appcode:\x20','Skip\x20confirmation\x20when\x20overwriting','flagMissing','AbortPrompt','join','2160564kATidK','Provide\x20--appcode\x20<code>\x20or\x20use\x20an\x20upgraded\x20.rabetbase.json\x20with\x20top-level\x20appcode.\x20Legacy\x20files\x20must\x20be\x20upgraded\x20first\x20with\x20`rabetbase\x20project\x20upgrade`.','app','Initialized\x20','file','Override\x20imported\x20default\x20env','30WRUsfS','newConfigFileName','apps','Legacy\x20/\x20multi-app\x20.rabetbase.json\x20is\x20no\x20longer\x20supported\x20for\x20import.','Source\x20file\x20not\x20found:\x20','):\x20','riskLevel','defaultApp','Target\x20environment\x20(default\x20','stdout','message','2tDXdcN','[Y/n]','global','\x20already\x20exists.\x20Overwrite?','env','871153GGpoHS','App\x20code\x20for\x20the\x20project','File\x20','5626521CeBgHy','Usage:\x20','boolean','793005BFeauD','11PYGqtn','entries','Override\x20imported\x20default\x20appcode',')\x20instead\x20of\x20project','\x0aInitialized\x20','string','App\x20code\x20cannot\x20be\x20empty.','App\x20code','race','Run\x20`rabetbase\x20project\x20upgrade`\x20first,\x20then\x20retry\x20`lovrabet\x20app\x20import`.','validation','appcode','7719397UCtikH','\x20init\x20—\x20Create\x20','Source\x20file\x20does\x20not\x20contain\x20an\x20importable\x20appcode.','object','8FPpUsS','project','log'];a29_0x33de=function(){return _0x464676;};return a29_0x33de();}function resolveInitEnv(_0x2a1341){const _0x5ddab3=a29_0x586342,_0xb8749c=_0x2a1341[_0x5ddab3(0xc1)];if(_0xb8749c===undefined||_0xb8749c==='')return DEFAULT_CONFIG_VALUES[_0x5ddab3(0xc1)];if(!RUNTIME_ENV_VALUES[_0x5ddab3(0xdf)](_0xb8749c))throw CliErrors[_0x5ddab3(0xd3)]('Invalid\x20env\x20\x22'+_0xb8749c+_0x5ddab3(0xdc)+RUNTIME_ENV_VALUES[_0x5ddab3(0xab)](',\x20'));return _0xb8749c;}
|
|
1
|
+
function a31_0x27b7(){const _0x2a8713=['string','\x20\x20env:\x20\x20\x20\x20\x20','Usage:\x20','Provide\x20--appcode\x20<code>\x20or\x20use\x20an\x20upgraded\x20.rabetbase.json\x20with\x20top-level\x20appcode.\x20Legacy\x20files\x20must\x20be\x20upgraded\x20first\x20with\x20`rabetbase\x20project\x20upgrade`.','message','question','Initialized\x20','[y/N]','riskLevel','4JyWjZG','yes','validation','615339yXKpjW','[Y/n]','log','appcode','1043441dDLrLb','\x20init\x20—\x20Create\x20','SIGINT','\x20app\x20init\x20--appcode\x20<code>\x20[--env\x20daily]\x20[--global]','1501089QdRBCK','global','stdin','App\x20code\x20cannot\x20be\x20empty.','117XvDXLS','):\x20','apiDir','removeListener','Skip\x20confirmation\x20when\x20overwriting','5254689uUmJET','App\x20code','app','209320OhUIaC','791712DRzkbX','\x20already\x20exists.\x20Overwrite?','Override\x20imported\x20default\x20appcode','newConfigFileName','defaultApp','4kNmKxc','16lstNiE','Write\x20to\x20global\x20(~/','\x20\x20appcode:\x20','User\x20aborted\x20prompt','apps','\x20\x20config:\x20\x20','App\x20code\x20for\x20the\x20project','\x20\x20default:\x20','\x22.\x20Allowed:\x20','entries','1881708xWgaJD','File\x20','close','50vfofHH','boolean',')\x20instead\x20of\x20project','race','Aborted.','Legacy\x20/\x20multi-app\x20.rabetbase.json\x20is\x20no\x20longer\x20supported\x20for\x20import.','Run\x20`rabetbase\x20project\x20upgrade`\x20first,\x20then\x20retry\x20`lovrabet\x20app\x20import`.','AbortPrompt','Source\x20file\x20not\x20found:\x20','trim','parse','utf8','Invalid\x20env\x20\x22','once','Failed\x20to\x20parse\x20source\x20file:\x20','\x0aInitialized\x20','join','env','Target\x20environment\x20(default\x20','Import\x20from\x20a\x20.rabetbase.json\x20file\x20path','5cCkpJN'];a31_0x27b7=function(){return _0x2a8713;};return a31_0x27b7();}const a31_0x1e6d44=a31_0x3d9c;(function(_0x19e672,_0x6bd5e5){const _0x5d5aa4=a31_0x3d9c,_0x40a37e=_0x19e672();while(!![]){try{const _0x28e3fd=-parseInt(_0x5d5aa4(0x10e))/0x1*(-parseInt(_0x5d5aa4(0xf7))/0x2)+parseInt(_0x5d5aa4(0x102))/0x3*(-parseInt(_0x5d5aa4(0x114))/0x4)+parseInt(_0x5d5aa4(0xed))/0x5*(parseInt(_0x5d5aa4(0x11f))/0x6)+-parseInt(_0x5d5aa4(0xfe))/0x7*(parseInt(_0x5d5aa4(0x115))/0x8)+parseInt(_0x5d5aa4(0xfa))/0x9*(parseInt(_0x5d5aa4(0x122))/0xa)+-parseInt(_0x5d5aa4(0x10b))/0xb+parseInt(_0x5d5aa4(0x10f))/0xc*(parseInt(_0x5d5aa4(0x106))/0xd);if(_0x28e3fd===_0x6bd5e5)break;else _0x40a37e['push'](_0x40a37e['shift']());}catch(_0x2d5090){_0x40a37e['push'](_0x40a37e['shift']());}}}(a31_0x27b7,0x5fa1d));import{existsSync,readFileSync}from'node:fs';import{resolve,isAbsolute}from'node:path';import{createInterface}from'node:readline';import{CliErrors}from'../errors.js';import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{IMPORTABLE_RUNTIME_CONFIG_KEYS}from'../config/schema.js';import{resolveWriteConfigPath,readConfigFile,writeConfigFile,isNonInteractiveMode}from'../context.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{PRODUCT_CONFIG}from'../constant/product.js';export const initCreateFlagDefs=[{'name':a31_0x1e6d44(0xfd),'type':a31_0x1e6d44(0xee),'description':a31_0x1e6d44(0x11b)},{'name':a31_0x1e6d44(0xea),'type':'string','description':a31_0x1e6d44(0xeb)+DEFAULT_CONFIG_VALUES[a31_0x1e6d44(0xea)]+')','enum':[...RUNTIME_ENV_VALUES]},{'name':a31_0x1e6d44(0x103),'type':'boolean','description':'Write\x20to\x20global\x20(~/'+PRODUCT_CONFIG[a31_0x1e6d44(0x112)]+a31_0x1e6d44(0x124),'default':![]},{'name':a31_0x1e6d44(0xf8),'type':a31_0x1e6d44(0x123),'description':a31_0x1e6d44(0x10a),'default':![]}];export const initImportFlagDefs=[{'name':'file','type':a31_0x1e6d44(0xee),'description':a31_0x1e6d44(0xec),'required':!![]},{'name':'appcode','type':a31_0x1e6d44(0xee),'description':a31_0x1e6d44(0x111)},{'name':'env','type':a31_0x1e6d44(0xee),'description':'Override\x20imported\x20default\x20env','enum':[...RUNTIME_ENV_VALUES]},{'name':a31_0x1e6d44(0x103),'type':a31_0x1e6d44(0x123),'description':a31_0x1e6d44(0x116)+PRODUCT_CONFIG[a31_0x1e6d44(0x112)]+')\x20instead\x20of\x20project','default':![]},{'name':a31_0x1e6d44(0xf8),'type':a31_0x1e6d44(0x123),'description':a31_0x1e6d44(0x10a),'default':![]}];export async function runInit(_0x23d762){const _0x44ce18=a31_0x1e6d44,_0x13805b=isNonInteractiveMode(_0x23d762),_0x2cf825=_0x23d762[_0x44ce18(0x103)]?_0x44ce18(0x103):'project',_0x4315ac=resolveWriteConfigPath(_0x2cf825);try{_0x13805b?await runNonInteractive(_0x23d762,_0x4315ac):await runInteractive(_0x23d762,_0x4315ac);}catch(_0x5bc710){if(_0x5bc710 instanceof AbortPrompt)throw CliErrors['cancelled']();throw _0x5bc710;}}export async function runInitImport(_0xb285b5){const _0x3cb60f=a31_0x1e6d44,_0x3680eb=_0xb285b5[_0x3cb60f(0x103)]?_0x3cb60f(0x103):'project',_0x373c1c=resolveWriteConfigPath(_0x3680eb);await runFromImport(_0xb285b5,_0x373c1c);}const RUNTIME_IRRELEVANT_KEYS=new Set([a31_0x1e6d44(0x108)]);async function runFromImport(_0x47cf29,_0x537023){const _0x308d68=a31_0x1e6d44,_0x331ded=resolveFilePath(_0x47cf29['file']);if(!existsSync(_0x331ded))throw CliErrors[_0x308d68(0xf9)](_0x308d68(0xe1)+_0x331ded);const _0x372e87=readSourceFile(_0x331ded),_0x365957=convertToRuntimeConfig(_0x372e87);_0x47cf29[_0x308d68(0xfd)]&&(_0x365957[_0x308d68(0xfd)]=String(_0x47cf29[_0x308d68(0xfd)]));_0x47cf29[_0x308d68(0xea)]&&(_0x365957[_0x308d68(0xea)]=resolveInitEnv(_0x47cf29));if(!_0x365957[_0x308d68(0xfd)])throw CliErrors['validation']('Source\x20file\x20does\x20not\x20contain\x20an\x20importable\x20appcode.',_0x308d68(0xf1));await writeInitConfig(_0x537023,_0x365957,_0x47cf29),console[_0x308d68(0xfc)]('Imported\x20from\x20'+_0x331ded),console['log'](_0x308d68(0x11a)+_0x537023),console[_0x308d68(0xfc)](_0x308d68(0x117)+_0x365957['appcode']);if(_0x365957[_0x308d68(0x113)])console['log'](_0x308d68(0x11c)+_0x365957['defaultApp']);}function convertToRuntimeConfig(_0x10fe1a){const _0x59ceaf=a31_0x1e6d44;if(_0x10fe1a[_0x59ceaf(0x119)]&&typeof _0x10fe1a[_0x59ceaf(0x119)]==='object')throw CliErrors[_0x59ceaf(0xf9)](_0x59ceaf(0x127),_0x59ceaf(0x128));const _0x34e9d5={};for(const _0x5f7b52 of IMPORTABLE_RUNTIME_CONFIG_KEYS){_0x10fe1a[_0x5f7b52]!==undefined&&(_0x34e9d5[_0x5f7b52]=_0x10fe1a[_0x5f7b52]);}return!_0x34e9d5['riskLevel']&&(_0x34e9d5[_0x59ceaf(0xf6)]=DEFAULT_CONFIG_VALUES['riskLevel']),_0x34e9d5;}async function runNonInteractive(_0x19fdbb,_0x1f4eec){const _0x131899=a31_0x1e6d44,_0x4b8022=_0x19fdbb['appcode'];if(!_0x4b8022)throw CliErrors['flagMissing'](_0x131899(0xfd),_0x131899(0xf0)+CLI_BIN_NAME+_0x131899(0x101));const _0x433dc8=resolveInitEnv(_0x19fdbb);await writeInitConfig(_0x1f4eec,{'appcode':_0x4b8022,'env':_0x433dc8},_0x19fdbb),console[_0x131899(0xfc)](_0x131899(0xf4)+_0x1f4eec),console[_0x131899(0xfc)]('\x20\x20appcode:\x20'+_0x4b8022),console['log'](_0x131899(0xef)+_0x433dc8);}function a31_0x3d9c(_0x3d49ce,_0x2b9e43){_0x3d49ce=_0x3d49ce-0xe0;const _0x27b7d2=a31_0x27b7();let _0x3d9c02=_0x27b7d2[_0x3d49ce];return _0x3d9c02;}async function runInteractive(_0x584c43,_0x56d49f){const _0x539ee4=a31_0x1e6d44,_0x53d688=loadExisting(_0x56d49f),_0x3b7a9c=typeof _0x53d688?.[_0x539ee4(0xfd)]==='string'?_0x53d688[_0x539ee4(0xfd)]:'',_0x18d203=resolveInitEnv(_0x584c43);console[_0x539ee4(0xfc)](CLI_BIN_NAME+_0x539ee4(0xff)+PRODUCT_CONFIG[_0x539ee4(0x112)]+'\x0a');if(existsSync(_0x56d49f)&&!_0x584c43['yes']){const _0x3586d5=await promptYesNo(_0x539ee4(0x120)+_0x56d49f+_0x539ee4(0x110),![]);if(!_0x3586d5){console[_0x539ee4(0xfc)](_0x539ee4(0x126));return;}}const _0x49b4fe=typeof _0x584c43['appcode']==='string'?_0x584c43[_0x539ee4(0xfd)]['trim']():'';let _0x10f2e8=_0x49b4fe;!_0x10f2e8&&(_0x10f2e8=await promptInput(_0x539ee4(0x10c),_0x3b7a9c));if(!_0x10f2e8['trim']())throw CliErrors[_0x539ee4(0xf9)](_0x539ee4(0x105));await writeInitConfig(_0x56d49f,{'appcode':_0x10f2e8[_0x539ee4(0xe2)](),'env':_0x18d203},_0x584c43),console[_0x539ee4(0xfc)](_0x539ee4(0xe8)+_0x56d49f),console[_0x539ee4(0xfc)](_0x539ee4(0x117)+_0x10f2e8[_0x539ee4(0xe2)]()),console[_0x539ee4(0xfc)](_0x539ee4(0xef)+_0x18d203);}async function writeInitConfig(_0x5320ef,_0x46992b,_0x295164){const _0x23f647=a31_0x1e6d44;let _0x5dbdee={};existsSync(_0x5320ef)&&!_0x295164['yes']&&(_0x5dbdee=readConfigFile(_0x5320ef));for(const [_0x3d96a2,_0x2b97eb]of Object[_0x23f647(0x11e)](_0x46992b)){_0x2b97eb!==undefined&&(_0x5dbdee[_0x3d96a2]=_0x2b97eb);}if(_0x5dbdee[_0x23f647(0x10d)])delete _0x5dbdee['app'];writeConfigFile(_0x5320ef,_0x5dbdee);}class AbortPrompt extends Error{constructor(){const _0x1adc18=a31_0x1e6d44;super(_0x1adc18(0x118)),this['name']=_0x1adc18(0xe0);}}function createSafeRl(){const _0x3d58bc=a31_0x1e6d44,_0x30b36=createInterface({'input':process[_0x3d58bc(0x104)],'output':process['stdout']});let _0x160bf1;const _0x513b35=new Promise((_0x2e285c,_0x5214d9)=>{const _0x5e37a0=_0x3d58bc;_0x160bf1=()=>{const _0x53a712=a31_0x3d9c;_0x160bf1&&(_0x30b36[_0x53a712(0x109)]('SIGINT',_0x160bf1),_0x160bf1=undefined);try{_0x30b36['close']();}catch{}_0x5214d9(new AbortPrompt());},_0x30b36[_0x5e37a0(0xe6)](_0x5e37a0(0x100),_0x160bf1);}),_0x30479d=()=>{const _0x23e802=_0x3d58bc;_0x160bf1&&(_0x30b36[_0x23e802(0x109)](_0x23e802(0x100),_0x160bf1),_0x160bf1=undefined);try{_0x30b36[_0x23e802(0x121)]();}catch{}};return{'rl':_0x30b36,'abortPromise':_0x513b35,'disposeSuccess':_0x30479d};}async function promptInput(_0x1c3822,_0x4c96e6){const {rl:_0x364e84,abortPromise:_0x51bce9,disposeSuccess:_0x286e9a}=createSafeRl(),_0x48f6ed=new Promise(_0x594069=>{const _0x1cfe13=a31_0x3d9c,_0x2b8320=_0x4c96e6?'\x20\x20'+_0x1c3822+'\x20('+_0x4c96e6+_0x1cfe13(0x107):'\x20\x20'+_0x1c3822+':\x20';_0x364e84[_0x1cfe13(0xf3)](_0x2b8320,_0x39eae1=>{const _0x9d58a=_0x1cfe13;_0x286e9a(),_0x594069(_0x39eae1[_0x9d58a(0xe2)]()||_0x4c96e6);});});return Promise['race']([_0x48f6ed,_0x51bce9]);}async function promptYesNo(_0x3f600d,_0x381695){const _0x2243d4=a31_0x1e6d44,{rl:_0xb8bb88,abortPromise:_0x13f6fc,disposeSuccess:_0x4d7d33}=createSafeRl(),_0x4a4757=new Promise(_0xc5a8eb=>{const _0x499828=a31_0x3d9c,_0x54d932=_0x381695?_0x499828(0xfb):_0x499828(0xf5);_0xb8bb88[_0x499828(0xf3)]('\x20\x20'+_0x3f600d+'\x20'+_0x54d932+':\x20',_0x238cb1=>{const _0x7bcf3b=_0x499828;_0x4d7d33();const _0x553d30=_0x238cb1[_0x7bcf3b(0xe2)]()['toLowerCase']();if(_0x553d30==='y'||_0x553d30===_0x7bcf3b(0xf8))_0xc5a8eb(!![]);else{if(_0x553d30==='n'||_0x553d30==='no')_0xc5a8eb(![]);else _0xc5a8eb(_0x381695);}});});return Promise[_0x2243d4(0x125)]([_0x4a4757,_0x13f6fc]);}function loadExisting(_0x437c2b){if(!existsSync(_0x437c2b))return null;return readConfigFile(_0x437c2b);}function resolveFilePath(_0x47383c){return isAbsolute(_0x47383c)?_0x47383c:resolve(process['cwd'](),_0x47383c);}function readSourceFile(_0x38d5a4){const _0x208582=a31_0x1e6d44;try{const _0x378ada=readFileSync(_0x38d5a4,{'encoding':_0x208582(0xe4)});return JSON[_0x208582(0xe3)](_0x378ada);}catch(_0x396361){throw CliErrors[_0x208582(0xf9)](_0x208582(0xe7)+_0x396361[_0x208582(0xf2)]);}}function resolveInitEnv(_0x41b7e5){const _0x46e4d5=a31_0x1e6d44,_0x59730c=_0x41b7e5[_0x46e4d5(0xea)];if(_0x59730c===undefined||_0x59730c==='')return DEFAULT_CONFIG_VALUES[_0x46e4d5(0xea)];if(!RUNTIME_ENV_VALUES['includes'](_0x59730c))throw CliErrors['validation'](_0x46e4d5(0xe5)+_0x59730c+_0x46e4d5(0x11d)+RUNTIME_ENV_VALUES[_0x46e4d5(0xe9)](',\x20'));return _0x59730c;}
|
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a32_0x1bbf3d=a32_0xc8e9;(function(_0x28ced9,_0x2b90a2){const _0x16e1d7=a32_0xc8e9,_0x14d644=_0x28ced9();while(!![]){try{const _0x24ca65=-parseInt(_0x16e1d7(0x18a))/0x1+-parseInt(_0x16e1d7(0x183))/0x2+-parseInt(_0x16e1d7(0x1ae))/0x3+parseInt(_0x16e1d7(0x1a7))/0x4+parseInt(_0x16e1d7(0x180))/0x5*(-parseInt(_0x16e1d7(0x192))/0x6)+parseInt(_0x16e1d7(0x1b6))/0x7+parseInt(_0x16e1d7(0x1a9))/0x8;if(_0x24ca65===_0x2b90a2)break;else _0x14d644['push'](_0x14d644['shift']());}catch(_0x46bd17){_0x14d644['push'](_0x14d644['shift']());}}}(a32_0x2bc8,0x7d77e));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const TITLE_FLAG={'name':a32_0x1bbf3d(0x17e),'type':a32_0x1bbf3d(0x185),'required':!![],'description':a32_0x1bbf3d(0x1a6)},FILE_FLAG={'name':a32_0x1bbf3d(0x1b1),'type':a32_0x1bbf3d(0x185),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file'},QUERY_FLAG={'name':'query','type':a32_0x1bbf3d(0x185),'required':!![],'description':a32_0x1bbf3d(0x1ad)},TOPK_FLAG={'name':a32_0x1bbf3d(0x191),'type':'number','description':a32_0x1bbf3d(0x1a5)};function a32_0xc8e9(_0x42846b,_0x38c874){_0x42846b=_0x42846b-0x17d;const _0x2bc8d2=a32_0x2bc8();let _0xc8e993=_0x2bc8d2[_0x42846b];return _0xc8e993;}function readKnowledgeFile(_0x51dab1){const _0x1f26b6=a32_0x1bbf3d;if(!_0x51dab1)throw CliErrors[_0x1f26b6(0x1a8)](_0x1f26b6(0x1a4));if(!existsSync(_0x51dab1))throw CliErrors[_0x1f26b6(0x1a8)](_0x1f26b6(0x1b2)+_0x51dab1);if(!statSync(_0x51dab1)[_0x1f26b6(0x1ac)]())throw CliErrors[_0x1f26b6(0x1a8)](_0x1f26b6(0x196)+_0x51dab1);return readFileSync(_0x51dab1,'utf8');}function summarizePersonalItem(_0x151835){const _0x23e17b=a32_0x1bbf3d;return{'id':_0x151835['id'],'title':_0x151835[_0x23e17b(0x17e)],'version':_0x151835[_0x23e17b(0x198)],'ragStatus':_0x151835[_0x23e17b(0x1aa)],'ragErrorMessage':_0x151835[_0x23e17b(0x189)],'updateTime':_0x151835[_0x23e17b(0x199)]};}function detailPersonalItem(_0x2e4226){const _0x3e89a0=a32_0x1bbf3d;return{'id':_0x2e4226['id'],'appCode':_0x2e4226['appCode'],'scope':_0x2e4226[_0x3e89a0(0x1b5)],'userId':_0x2e4226[_0x3e89a0(0x19d)],'title':_0x2e4226['title'],'content':_0x2e4226[_0x3e89a0(0x18b)]??'','version':_0x2e4226['version'],'ragStatus':_0x2e4226[_0x3e89a0(0x1aa)],'ragErrorMessage':_0x2e4226['ragErrorMessage'],'createTime':_0x2e4226[_0x3e89a0(0x1af)],'updateTime':_0x2e4226[_0x3e89a0(0x199)]};}function summarizeSearchHit(_0x407ddd){const _0x54ceed=a32_0x1bbf3d;return{'scope':_0x407ddd[_0x54ceed(0x1b5)],'docId':_0x407ddd[_0x54ceed(0x197)],'score':_0x407ddd[_0x54ceed(0x1ab)],'weightedScore':_0x407ddd[_0x54ceed(0x1ba)],'content':_0x407ddd[_0x54ceed(0x18b)],'metadata':_0x407ddd[_0x54ceed(0x17d)]};}function readTopK(_0x4a2743){const _0x202677=a32_0x1bbf3d,_0x560a06=_0x4a2743['flag'](_0x202677(0x191));if(_0x560a06===undefined||_0x560a06===null||_0x560a06==='')return undefined;const _0x5abc52=_0x4a2743['num'](_0x202677(0x191));if(!Number['isFinite'](_0x5abc52)||_0x5abc52<0x1)throw CliErrors[_0x202677(0x1a8)](_0x202677(0x184));return _0x5abc52;}function a32_0x2bc8(){const _0x102b6d=['title','search','15LmFARD','/client/knowledge-base/personal/','list','897162dYKbgA','--topk\x20must\x20be\x20a\x20positive\x20number.','string','appCode','build','Created\x20KB\x20entry\x20','ragErrorMessage','695750NfopPc','content','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','description','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','POST','topk','818874EmtfLP','length','str','write','File\x20is\x20not\x20a\x20regular\x20file:\x20','docId','version','updateTime','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','bool','create','userId','body','Personal\x20knowledge-base\x20entry\x20ID','read','verbose','/client/knowledge-base/personal/create','map','File\x20path\x20is\x20required.','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','Personal\x20knowledge-base\x20entry\x20title','2200956mMGMbL','validation','17618512hUdaRh','ragStatus','score','isFile','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','2141304nRMzCv','createTime','Override\x20the\x20existing\x20entry\x20title','file','File\x20not\x20found:\x20','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','update','scope','202307PWelGt','/update','query','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','weightedScore','num','trim','metadata'];a32_0x2bc8=function(){return _0x102b6d;};return a32_0x2bc8();}const kbList={'service':'kb','command':a32_0x1bbf3d(0x182),'description':a32_0x1bbf3d(0x19a),'risk':a32_0x1bbf3d(0x1a0),'flags':[VERBOSE_FLAG],async 'execute'(_0x2e29a2){const _0x3e0b9e=a32_0x1bbf3d,_0x2b4503=await listPersonalKnowledgeBaseItems(_0x2e29a2['appCode']);if(_0x2e29a2[_0x3e0b9e(0x19b)](_0x3e0b9e(0x1a1)))return{'ok':!![],'data':{'total':_0x2b4503[_0x3e0b9e(0x193)],'items':_0x2b4503}};return{'ok':!![],'data':{'total':_0x2b4503[_0x3e0b9e(0x193)],'items':_0x2b4503[_0x3e0b9e(0x1a3)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':'detail','description':a32_0x1bbf3d(0x1b3),'risk':'read','flags':[{...ID_FLAG,'description':a32_0x1bbf3d(0x19f)}],async 'execute'(_0xfe6eec){const _0x1273d0=a32_0x1bbf3d,_0x27f16c=await getPersonalKnowledgeBaseItem(_0xfe6eec[_0x1273d0(0x1bb)]('id'),_0xfe6eec['appCode']);return{'ok':!![],'data':detailPersonalItem(_0x27f16c)};}},kbCreate={'service':'kb','command':a32_0x1bbf3d(0x19c),'description':a32_0x1bbf3d(0x18d),'risk':a32_0x1bbf3d(0x195),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x58dd0d){const _0x280fb9=a32_0x1bbf3d,_0x429d3f=_0x58dd0d[_0x280fb9(0x194)](_0x280fb9(0x17e)),_0x4ddc0f=readKnowledgeFile(_0x58dd0d['str']('file')),_0x2621ad=await createPersonalKnowledgeBaseItem(_0x58dd0d[_0x280fb9(0x186)],{'title':_0x429d3f,'content':_0x4ddc0f});return{'ok':!![],'data':summarizePersonalItem(_0x2621ad),'message':_0x280fb9(0x188)+_0x2621ad['id']+'\x20('+_0x2621ad[_0x280fb9(0x17e)]+')'};},async 'dryRun'(_0x21ab72){const _0x3433e9=a32_0x1bbf3d,_0x1e45e3=_0x21ab72[_0x3433e9(0x194)](_0x3433e9(0x17e)),_0xaa5c23=readKnowledgeFile(_0x21ab72[_0x3433e9(0x194)]('file'));return dryRun(_0x3433e9(0x190),_0x3433e9(0x1a2))[_0x3433e9(0x19e)]({'appCode':_0x21ab72['appCode'],'title':_0x1e45e3,'content':_0xaa5c23})[_0x3433e9(0x18e)](_0x3433e9(0x18f)+_0x1e45e3+'\x22')['build']();}},kbUpdate={'service':'kb','command':a32_0x1bbf3d(0x1b4),'description':a32_0x1bbf3d(0x18c),'risk':'write','flags':[{...ID_FLAG,'description':a32_0x1bbf3d(0x19f)},{...TITLE_FLAG,'required':![],'description':a32_0x1bbf3d(0x1b0)},FILE_FLAG],async 'execute'(_0x4c2295){const _0x20a319=a32_0x1bbf3d,_0x3a44d8=_0x4c2295[_0x20a319(0x1bb)]('id'),_0x177dc1=readKnowledgeFile(_0x4c2295[_0x20a319(0x194)](_0x20a319(0x1b1))),_0x28c00f=_0x4c2295[_0x20a319(0x194)](_0x20a319(0x17e))||(await getPersonalKnowledgeBaseItem(_0x3a44d8,_0x4c2295[_0x20a319(0x186)]))[_0x20a319(0x17e)],_0x1a9361=await updatePersonalKnowledgeBaseItem(_0x3a44d8,_0x4c2295[_0x20a319(0x186)],{'title':_0x28c00f,'content':_0x177dc1});return{'ok':!![],'data':summarizePersonalItem(_0x1a9361),'message':'Updated\x20KB\x20entry\x20'+_0x1a9361['id']+'\x20('+_0x1a9361[_0x20a319(0x17e)]+')'};},async 'dryRun'(_0x3b3c4b){const _0x59e8f8=a32_0x1bbf3d,_0xbe60a5=_0x3b3c4b[_0x59e8f8(0x1bb)]('id'),_0x2212de=readKnowledgeFile(_0x3b3c4b[_0x59e8f8(0x194)](_0x59e8f8(0x1b1))),_0x18cf68=_0x3b3c4b[_0x59e8f8(0x194)](_0x59e8f8(0x17e))||(await getPersonalKnowledgeBaseItem(_0xbe60a5,_0x3b3c4b[_0x59e8f8(0x186)]))[_0x59e8f8(0x17e)];return dryRun(_0x59e8f8(0x190),_0x59e8f8(0x181)+_0xbe60a5+_0x59e8f8(0x1b7))[_0x59e8f8(0x19e)]({'appCode':_0x3b3c4b['appCode'],'title':_0x18cf68,'content':_0x2212de})[_0x59e8f8(0x18e)](_0x59e8f8(0x1b9)+_0xbe60a5)[_0x59e8f8(0x187)]();}},kbSearch={'service':'kb','command':a32_0x1bbf3d(0x17f),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':'read','flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x39a4d9){const _0x30b6de=a32_0x1bbf3d;if(!_0x39a4d9['str']('query')[_0x30b6de(0x1bc)]())throw CliErrors[_0x30b6de(0x1a8)]('Search\x20query\x20is\x20required.');readTopK(_0x39a4d9);},async 'execute'(_0x8303ad){const _0x1cab67=a32_0x1bbf3d,_0x3ca177=_0x8303ad['str'](_0x1cab67(0x1b8))[_0x1cab67(0x1bc)](),_0x2402ab=readTopK(_0x8303ad),_0x16e820=await searchKnowledgeBase(_0x8303ad[_0x1cab67(0x186)],{'query':_0x3ca177,'topK':_0x2402ab});return{'ok':!![],'data':{'total':_0x16e820[_0x1cab67(0x193)],'hits':_0x16e820['map'](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a33_0x59129b=a33_0x3ccc;(function(_0x513a00,_0x8688cb){const _0x2d57c9=a33_0x3ccc,_0x4c0b0c=_0x513a00();while(!![]){try{const _0x3c8145=-parseInt(_0x2d57c9(0xb2))/0x1+parseInt(_0x2d57c9(0x9f))/0x2+-parseInt(_0x2d57c9(0xa6))/0x3*(-parseInt(_0x2d57c9(0xa0))/0x4)+parseInt(_0x2d57c9(0xbb))/0x5+parseInt(_0x2d57c9(0xbe))/0x6+parseInt(_0x2d57c9(0xa7))/0x7*(parseInt(_0x2d57c9(0xb7))/0x8)+parseInt(_0x2d57c9(0xbf))/0x9*(-parseInt(_0x2d57c9(0xad))/0xa);if(_0x3c8145===_0x8688cb)break;else _0x4c0b0c['push'](_0x4c0b0c['shift']());}catch(_0x45f3ef){_0x4c0b0c['push'](_0x4c0b0c['shift']());}}}(a33_0x5b1e,0x85a9b));function a33_0x3ccc(_0xbba8a4,_0x4e1a10){_0xbba8a4=_0xbba8a4-0x9d;const _0x5b1e4b=a33_0x5b1e();let _0x3ccc2d=_0x5b1e4b[_0xbba8a4];return _0x3ccc2d;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a33_0x5b1e(){const _0xbb3cf9=['warn','\x20logs:\x0a','616446ahXJiF','\x20\x20\x20Time:\x20','clearLogs','error','en-US','3462008phvJux','toLocaleString','length','Clear\x20command\x20history\x20logs','1392525JhruPh','details','command','4885566zEsFAV','10521UjILJA','clear','read','443166DWeZIH','88ThOUax','stringify','\x20\x20\x20Details:\x20','message','level','show','52308XpLryU','7InAuhs','*\x20Logs\x20cleared','*\x20No\x20logs\x20found','success','View\x20command\x20history\x20logs','log','8270MMLiMp','logs','duration'];a33_0x5b1e=function(){return _0xbb3cf9;};return a33_0x5b1e();}function printLogs(_0x581212){const _0x3bab61=a33_0x3ccc;if(_0x581212[_0x3bab61(0xb9)]===0x0){console[_0x3bab61(0xac)](_0x3bab61(0xa9));return;}console[_0x3bab61(0xac)]('*\x20'+CLI_DISPLAY_NAME+_0x3bab61(0xb1)),_0x581212['forEach']((_0x140d5e,_0x3b7a14)=>{const _0x557fb6=_0x3bab61,_0x195b6f=new Date(_0x140d5e['timestamp'])[_0x557fb6(0xb8)](_0x557fb6(0xb6)),_0x4341c1=_0x140d5e[_0x557fb6(0xa4)]===_0x557fb6(0xaa)?'√':_0x140d5e[_0x557fb6(0xa4)]===_0x557fb6(0xb5)?'×':_0x140d5e[_0x557fb6(0xa4)]===_0x557fb6(0xb0)?'!':'i';console[_0x557fb6(0xac)](_0x3b7a14+0x1+'.\x20'+_0x4341c1+'\x20['+_0x140d5e[_0x557fb6(0xbd)]+']\x20'+_0x140d5e[_0x557fb6(0xa3)]),console[_0x557fb6(0xac)](_0x557fb6(0xb3)+_0x195b6f),_0x140d5e[_0x557fb6(0xaf)]&&console[_0x557fb6(0xac)]('\x20\x20\x20Duration:\x20'+_0x140d5e['duration']+'ms'),_0x140d5e[_0x557fb6(0xbc)]&&Object['keys'](_0x140d5e[_0x557fb6(0xbc)])[_0x557fb6(0xb9)]>0x0&&console[_0x557fb6(0xac)](_0x557fb6(0xa2)+JSON[_0x557fb6(0xa1)](_0x140d5e[_0x557fb6(0xbc)],null,0x2)),console[_0x557fb6(0xac)]('');});}export const logsDefinitions=[{'service':'logs','command':a33_0x59129b(0xa5),'description':a33_0x59129b(0xab),'risk':a33_0x59129b(0x9e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4d4284){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a33_0x59129b(0xae),'command':a33_0x59129b(0x9d),'description':a33_0x59129b(0xba),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x46f21f){const _0x509134=a33_0x59129b;return logger[_0x509134(0xb4)](),console[_0x509134(0xac)](_0x509134(0xa8)),{'ok':!![]};}}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a34_0x1ad4bc=a34_0x421d;(function(_0xc0cba8,_0x382d04){const _0x18d3a1=a34_0x421d,_0x3e6bda=_0xc0cba8();while(!![]){try{const _0x664134=-parseInt(_0x18d3a1(0x194))/0x1*(parseInt(_0x18d3a1(0x198))/0x2)+-parseInt(_0x18d3a1(0x197))/0x3+-parseInt(_0x18d3a1(0x193))/0x4+parseInt(_0x18d3a1(0x188))/0x5+parseInt(_0x18d3a1(0x19f))/0x6*(parseInt(_0x18d3a1(0x1a0))/0x7)+-parseInt(_0x18d3a1(0x196))/0x8+-parseInt(_0x18d3a1(0x1a9))/0x9*(-parseInt(_0x18d3a1(0x19e))/0xa);if(_0x664134===_0x382d04)break;else _0x3e6bda['push'](_0x3e6bda['shift']());}catch(_0x2afc39){_0x3e6bda['push'](_0x3e6bda['shift']());}}}(a34_0xe80c,0x535be));import{requireRuntimeUploadFile}from'../../commands/common/local-file.js';import{queryRuntimeFileUrl,recognizeRuntimeOcr,uploadRuntimeFile}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SUPPORTED_SCENES=[a34_0x1ad4bc(0x19c),a34_0x1ad4bc(0x1aa),'form','idCard'],SCENE_TO_LEGACY_TYPE={'invoice':a34_0x1ad4bc(0x1ac),'general':a34_0x1ad4bc(0x1b4),'form':a34_0x1ad4bc(0x1a2),'idCard':a34_0x1ad4bc(0x18b)},SCENE_FLAG={'name':'scene','type':a34_0x1ad4bc(0x187),'required':!![],'enum':[...SUPPORTED_SCENES],'description':'OCR\x20scene:\x20invoice,\x20general,\x20form,\x20or\x20idCard'},IMAGE_FILE_FLAG={'name':'image-file','type':a34_0x1ad4bc(0x187),'description':a34_0x1ad4bc(0x19b)},IMAGE_URL_FLAG={'name':a34_0x1ad4bc(0x18a),'type':a34_0x1ad4bc(0x187),'description':'Publicly\x20accessible\x20image\x20or\x20file\x20URL'};function normalizeScene(_0x1e271f){const _0x258b7d=a34_0x1ad4bc,_0x4ac4a3=_0x1e271f[_0x258b7d(0x1a4)]()[_0x258b7d(0x18c)]();if(_0x4ac4a3===_0x258b7d(0x1a5))return _0x258b7d(0x182);if(_0x4ac4a3===_0x258b7d(0x19c)||_0x4ac4a3===_0x258b7d(0x1aa)||_0x4ac4a3===_0x258b7d(0x1b0))return _0x4ac4a3;throw CliErrors[_0x258b7d(0x1b3)](_0x258b7d(0x1b6)+_0x1e271f+_0x258b7d(0x181)+SUPPORTED_SCENES['join'](',\x20'));}function a34_0x421d(_0x952d3e,_0xca6714){_0x952d3e=_0x952d3e-0x181;const _0xe80cbf=a34_0xe80c();let _0x421db2=_0xe80cbf[_0x952d3e];return _0x421db2;}function a34_0xe80c(){const _0x38184e=['image-file','/client/uploadFile','POST','form','filePath','imageUrl','validation','General','ocr','Unsupported\x20OCR\x20scene:\x20','.\x20Supported\x20scenes:\x20','idCard','fileName','path','body','\x20OCR','string','1429750GxEKMB','length','image-url','IdCard','toLowerCase','/client/queryFileUrl','File\x20URL\x20response\x20missing\x20fileUrl.','write','Choose\x20exactly\x20one\x20OCR\x20input:\x20--image-file\x20or\x20--image-url.','description','imageFile','56176NtfvvT','7qxNVNQ','fileUrl','1859072ycXtov','1217142ckAOTD','166002NGnGoh','apiError','appCode','Local\x20image\x20or\x20PDF\x20file;\x20current\x20backend\x20uses\x20upload\x20->\x20query-url\x20->\x20OCR','invoice','scene','130MvNZDr','60LXakMy','155127jgetRF','<fileUrl\x20returned\x20by\x20/client/queryFileUrl>','Table','count','trim','idcard','Recognize\x20text\x20from\x20a\x20URL\x20or\x20local\x20file\x20using\x20the\x20runtime\x20OCR\x20service','str','\x20OCR\x20from\x20URL','738711JcxqtS','general','recognize','Invoice'];a34_0xe80c=function(){return _0x38184e;};return a34_0xe80c();}function selectedInputs(_0x5caf14){const _0x1622b3=a34_0x1ad4bc,_0x94f1ef=_0x5caf14['str'](_0x1622b3(0x1ad))[_0x1622b3(0x1a4)](),_0x4ee9ee=_0x5caf14[_0x1622b3(0x1a7)]('image-url')[_0x1622b3(0x1a4)]();return{'imageFile':_0x94f1ef,'imageUrl':_0x4ee9ee,'count':[_0x94f1ef,_0x4ee9ee]['filter'](Boolean)[_0x1622b3(0x189)]};}function validateInputSelection(_0x4388da){const _0x8f8ea8=a34_0x1ad4bc,_0xec45ea=selectedInputs(_0x4388da);if(_0xec45ea[_0x8f8ea8(0x1a3)]!==0x1)throw CliErrors['validation'](_0x8f8ea8(0x190));return _0xec45ea;}function withScene(_0x227557,_0x3410c3,_0x1b14f0){const _0x14596c=a34_0x1ad4bc;return{..._0x227557,'scene':_0x3410c3,..._0x1b14f0?{'sourceFile':{'fileName':_0x1b14f0[_0x14596c(0x183)],'filePath':_0x1b14f0[_0x14596c(0x1b1)]}}:{}};}const ocrRecognize={'service':a34_0x1ad4bc(0x1b5),'command':a34_0x1ad4bc(0x1ab),'description':a34_0x1ad4bc(0x1a6),'risk':a34_0x1ad4bc(0x18f),'flags':[SCENE_FLAG,IMAGE_FILE_FLAG,IMAGE_URL_FLAG],async 'dryRun'(_0x4a7413){const _0x3508dc=a34_0x1ad4bc,_0x4731a1=normalizeScene(_0x4a7413[_0x3508dc(0x1a7)](_0x3508dc(0x19d))),_0x4a1ecf=SCENE_TO_LEGACY_TYPE[_0x4731a1],_0x1ca9e0=validateInputSelection(_0x4a7413);if(_0x1ca9e0[_0x3508dc(0x1b2)])return dryRun(_0x3508dc(0x1af),'/client/ocr')['body']({'appCode':_0x4a7413['appCode'],'url':_0x1ca9e0[_0x3508dc(0x1b2)],'type':_0x4a1ecf})[_0x3508dc(0x191)]('Preview:\x20recognize\x20'+_0x4731a1+_0x3508dc(0x1a8))['build']();const _0x4cb1e1=requireRuntimeUploadFile(_0x1ca9e0[_0x3508dc(0x192)],_0x3508dc(0x1ad));return dryRun(_0x3508dc(0x1af),_0x3508dc(0x1ae))[_0x3508dc(0x185)]({'steps':[{'method':'POST','url':_0x3508dc(0x1ae),'body':{'appCode':_0x4a7413[_0x3508dc(0x19a)],'multipart':{'file':_0x4cb1e1}}},{'method':_0x3508dc(0x1af),'url':_0x3508dc(0x18d),'body':{'filePath':'<filePath\x20returned\x20by\x20/client/uploadFile>','downloadFlag':![]}},{'method':'POST','url':'/client/ocr','body':{'appCode':_0x4a7413['appCode'],'url':_0x3508dc(0x1a1),'type':_0x4a1ecf}}]})[_0x3508dc(0x191)]('Preview:\x20upload\x20local\x20file,\x20query\x20temporary\x20URL,\x20then\x20recognize\x20'+_0x4731a1+_0x3508dc(0x186))['build']();},async 'execute'(_0x24a626){const _0x1d3276=a34_0x1ad4bc,_0x206aea=normalizeScene(_0x24a626['str'](_0x1d3276(0x19d))),_0x14a056=SCENE_TO_LEGACY_TYPE[_0x206aea],_0x2d392d=validateInputSelection(_0x24a626);if(_0x2d392d[_0x1d3276(0x1b2)]){const _0x486e3e=await recognizeRuntimeOcr(_0x24a626[_0x1d3276(0x19a)],{'url':_0x2d392d[_0x1d3276(0x1b2)],'type':_0x14a056});return{'ok':!![],'data':withScene(_0x486e3e,_0x206aea)};}const _0x2a782e=requireRuntimeUploadFile(_0x2d392d[_0x1d3276(0x192)],'image-file'),_0xccb8e4=await uploadRuntimeFile(_0x24a626[_0x1d3276(0x19a)],_0x2a782e[_0x1d3276(0x184)]);if(!_0xccb8e4[_0x1d3276(0x1b1)])throw CliErrors[_0x1d3276(0x199)]('File\x20upload\x20response\x20missing\x20filePath.');const _0x4bec6d=await queryRuntimeFileUrl(_0xccb8e4[_0x1d3276(0x1b1)],{'download':![]});if(!_0x4bec6d[_0x1d3276(0x195)])throw CliErrors[_0x1d3276(0x199)](_0x1d3276(0x18e));const _0xbf12de=await recognizeRuntimeOcr(_0x24a626[_0x1d3276(0x19a)],{'url':_0x4bec6d[_0x1d3276(0x195)],'type':_0x14a056});return{'ok':!![],'data':withScene(_0xbf12de,_0x206aea,_0xccb8e4)};}};export const ocrDefinitions=[ocrRecognize];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x2167bf=a32_0x4943;(function(_0x155b56,_0x44b364){const _0x169268=a32_0x4943,_0x232288=_0x155b56();while(!![]){try{const _0x203f8f=parseInt(_0x169268(0xbc))/0x1+parseInt(_0x169268(0xcd))/0x2*(parseInt(_0x169268(0xa0))/0x3)+-parseInt(_0x169268(0xa5))/0x4+parseInt(_0x169268(0xc6))/0x5*(parseInt(_0x169268(0xae))/0x6)+parseInt(_0x169268(0xb7))/0x7+parseInt(_0x169268(0x9a))/0x8*(-parseInt(_0x169268(0xb3))/0x9)+-parseInt(_0x169268(0xd5))/0xa*(parseInt(_0x169268(0xcf))/0xb);if(_0x203f8f===_0x44b364)break;else _0x232288['push'](_0x232288['shift']());}catch(_0x52299a){_0x232288['push'](_0x232288['shift']());}}}(a32_0x3adf,0x2cef3));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':a32_0x2167bf(0x97),'description':a32_0x2167bf(0xb9)},FUNCTION_NAME_FLAG={'name':a32_0x2167bf(0xb8),'type':a32_0x2167bf(0x97),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a32_0x2167bf(0xd2),'type':a32_0x2167bf(0x97),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a32_0x2167bf(0xb5),'type':a32_0x2167bf(0x97),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x4e1639){const _0x187569=a32_0x2167bf,_0x1c70c6=String(_0x4e1639||'')[_0x187569(0xa9)]();if(!_0x1c70c6||!FUNCTION_NAME_PATTERN['test'](_0x1c70c6))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x1c70c6;}function readScriptFile(_0x562e39){const _0x23406f=a32_0x2167bf;if(!_0x562e39)throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xbe));if(!existsSync(_0x562e39))throw CliErrors[_0x23406f(0x9b)]('File\x20not\x20found:\x20'+_0x562e39);if(!statSync(_0x562e39)[_0x23406f(0xc5)]())throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xc4)+_0x562e39);const _0x2393ef=readFileSync(_0x562e39,_0x23406f(0xc1));if(!_0x2393ef[_0x23406f(0xa9)]())throw CliErrors[_0x23406f(0x9b)](_0x23406f(0xc8));return _0x2393ef;}function optionalTrimmed(_0x42ecbf){const _0x437dec=a32_0x2167bf,_0x474157=String(_0x42ecbf||'')[_0x437dec(0xa9)]();return _0x474157||undefined;}function summarizeBff(_0x522e1e){const _0x5752ce=a32_0x2167bf;return{'id':_0x522e1e['id'],'appCode':_0x522e1e['appCode'],'functionName':_0x522e1e['functionName'],'description':_0x522e1e[_0x5752ce(0xd2)],'scriptType':_0x522e1e[_0x5752ce(0xc0)],'version':_0x522e1e['version'],'gmtModified':_0x522e1e[_0x5752ce(0xb6)],'updateTime':_0x522e1e[_0x5752ce(0x99)]};}function a32_0x3adf(){const _0x481c61=['num','230tawnyz','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','map','high-risk-write','string','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','updateTime','72HnbaLV','validation','build','flag','--params\x20must\x20be\x20a\x20JSON\x20object.','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','21399QpQJMf','/update','verbose','file','POST','107396FuhSpv','createUserId','str','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','trim','personal-bff','Preview:\x20update\x20personal\x20BFF\x20','Show\x20one\x20personal\x20BFF\x20by\x20id','create','42HHJIft','detail','list','length','functionName','52560eMFzep','config','source-session-id','gmtModified','318122gEMtwO','name','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','createTime','write','361981hNgZAY','Updated\x20personal\x20BFF\x20','File\x20path\x20is\x20required.','read','scriptType','utf8','appCode','/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','isFile','187895qTkVVX','/client/runtime-bff/personal/create','Personal\x20BFF\x20script\x20file\x20is\x20blank.','body','isArray','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','Update\x20a\x20personal\x20BFF\x20by\x20id','38oihYNV','exec','259479cAfAtO','params','keys','description','Executed\x20personal\x20BFF\x20'];a32_0x3adf=function(){return _0x481c61;};return a32_0x3adf();}function detailBff(_0x169963){const _0x2c8d7f=a32_0x2167bf;return{'id':_0x169963['id'],'appCode':_0x169963[_0x2c8d7f(0xc2)],'functionName':_0x169963[_0x2c8d7f(0xb2)],'description':_0x169963[_0x2c8d7f(0xd2)],'scriptType':_0x169963[_0x2c8d7f(0xc0)],'scriptContent':_0x169963['scriptContent']??'','config':_0x169963[_0x2c8d7f(0xb4)],'version':_0x169963['version'],'createUserId':_0x169963[_0x2c8d7f(0xa6)],'gmtCreate':_0x169963['gmtCreate'],'gmtModified':_0x169963['gmtModified'],'createTime':_0x169963[_0x2c8d7f(0xba)],'updateTime':_0x169963[_0x2c8d7f(0x99)]};}function buildCreateInput(_0x502875){const _0xa616f3=a32_0x2167bf;return{'functionName':normalizeFunctionName(_0x502875['str'](_0xa616f3(0xb8))),...optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xd2)))?{'description':optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xd2)))}:{},'scriptContent':readScriptFile(_0x502875['str'](_0xa616f3(0xa3))),...optionalTrimmed(_0x502875[_0xa616f3(0xa7)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x502875[_0xa616f3(0xa7)](_0xa616f3(0xb5)))}:{}};}function buildUpdateInput(_0x280904){const _0x4eb939=a32_0x2167bf,_0x594758={};optionalTrimmed(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb8)))&&(_0x594758['functionName']=normalizeFunctionName(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb8))));_0x280904[_0x4eb939(0x9d)](_0x4eb939(0xd2))!==undefined&&(_0x594758[_0x4eb939(0xd2)]=_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xd2)));optionalTrimmed(_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xa3)))&&(_0x594758['scriptContent']=readScriptFile(_0x280904[_0x4eb939(0xa7)]('file')));_0x280904[_0x4eb939(0x9d)](_0x4eb939(0xb5))!==undefined&&(_0x594758['sourceSessionId']=_0x280904[_0x4eb939(0xa7)](_0x4eb939(0xb5)));if(Object[_0x4eb939(0xd1)](_0x594758)[_0x4eb939(0xb1)]===0x0)throw CliErrors['validation'](_0x4eb939(0x98));return _0x594758;}function parseExecParams(_0x33bfce){const _0x837c1f=a32_0x2167bf,_0x169b7a=parseJsonParams(_0x33bfce)??{};if(Array[_0x837c1f(0xca)](_0x169b7a))throw CliErrors['validation'](_0x837c1f(0x9e));return _0x169b7a;}const personalBffList={'service':a32_0x2167bf(0xaa),'command':a32_0x2167bf(0xb0),'description':a32_0x2167bf(0xcb),'risk':a32_0x2167bf(0xbf),'flags':[VERBOSE_FLAG],async 'execute'(_0x1a30b4){const _0x2416d4=a32_0x2167bf,_0x18f675=await listPersonalBffs(_0x1a30b4[_0x2416d4(0xc2)]);return{'ok':!![],'data':{'total':_0x18f675[_0x2416d4(0xb1)],'items':_0x1a30b4['bool'](_0x2416d4(0xa2))?_0x18f675:_0x18f675[_0x2416d4(0xd8)](summarizeBff)}};}},personalBffDetail={'service':a32_0x2167bf(0xaa),'command':a32_0x2167bf(0xaf),'description':a32_0x2167bf(0xac),'risk':a32_0x2167bf(0xbf),'flags':[{...ID_FLAG,'description':a32_0x2167bf(0xd6)}],async 'execute'(_0x3d97b6){const _0xe7f50b=a32_0x2167bf,_0xfb4c61=await getPersonalBff(_0x3d97b6[_0xe7f50b(0xd4)]('id'),_0x3d97b6[_0xe7f50b(0xc2)]);return{'ok':!![],'data':detailBff(_0xfb4c61)};}},personalBffCreate={'service':'personal-bff','command':a32_0x2167bf(0xad),'description':a32_0x2167bf(0xa8),'risk':a32_0x2167bf(0xbb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x6a107d){const _0x188bd5=a32_0x2167bf,_0x2cc923=buildCreateInput(_0x6a107d),_0x1b7ca9=await createPersonalBff(_0x6a107d[_0x188bd5(0xc2)],_0x2cc923);return{'ok':!![],'data':detailBff(_0x1b7ca9),'message':'Created\x20personal\x20BFF\x20'+_0x1b7ca9['id']+(_0x1b7ca9['functionName']?'\x20('+_0x1b7ca9['functionName']+')':'')};},async 'dryRun'(_0x150e35){const _0xd104ec=a32_0x2167bf,_0x82966d=buildCreateInput(_0x150e35);return dryRun(_0xd104ec(0xa4),_0xd104ec(0xc7))[_0xd104ec(0xc9)]({'appCode':_0x150e35[_0xd104ec(0xc2)],..._0x82966d})['description']('Preview:\x20create\x20personal\x20BFF\x20'+_0x82966d[_0xd104ec(0xb2)])[_0xd104ec(0x9c)]();}},personalBffUpdate={'service':a32_0x2167bf(0xaa),'command':'update','description':a32_0x2167bf(0xcc),'risk':a32_0x2167bf(0xbb),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x419007){const _0x1f15a7=a32_0x2167bf,_0x3fe414=_0x419007['num']('id'),_0x389fb8=buildUpdateInput(_0x419007),_0x4198ac=await updatePersonalBff(_0x3fe414,_0x419007[_0x1f15a7(0xc2)],_0x389fb8);return{'ok':!![],'data':detailBff(_0x4198ac),'message':_0x1f15a7(0xbd)+_0x4198ac['id']+(_0x4198ac['functionName']?'\x20('+_0x4198ac[_0x1f15a7(0xb2)]+')':'')};},async 'dryRun'(_0x299061){const _0x28e63c=a32_0x2167bf,_0x2dc759=_0x299061['num']('id'),_0x349903=buildUpdateInput(_0x299061);return dryRun(_0x28e63c(0xa4),_0x28e63c(0xc3)+_0x2dc759+_0x28e63c(0xa1))['body']({'appCode':_0x299061[_0x28e63c(0xc2)],..._0x349903})[_0x28e63c(0xd2)](_0x28e63c(0xab)+_0x2dc759)[_0x28e63c(0x9c)]();}},personalBffExec={'service':'personal-bff','command':a32_0x2167bf(0xce),'description':a32_0x2167bf(0x9f),'risk':a32_0x2167bf(0x96),'flags':[{...ID_FLAG,'description':a32_0x2167bf(0xd6)},{...PARAMS_FLAG,'description':a32_0x2167bf(0xd7)}],async 'validate'(_0x18a8d9){const _0x3bf9f=a32_0x2167bf;parseExecParams(_0x18a8d9[_0x3bf9f(0xa7)](_0x3bf9f(0xd0)));},async 'execute'(_0x4f226e){const _0x385d5d=a32_0x2167bf,_0x3c4675=_0x4f226e[_0x385d5d(0xd4)]('id'),_0x57a816=parseExecParams(_0x4f226e[_0x385d5d(0xa7)](_0x385d5d(0xd0))),_0x522875=await executePersonalBff(_0x3c4675,_0x4f226e[_0x385d5d(0xc2)],_0x57a816);return{'ok':!![],'data':{'result':_0x522875},'message':_0x385d5d(0xd3)+_0x3c4675};}};function a32_0x4943(_0x530e77,_0x5e4343){_0x530e77=_0x530e77-0x96;const _0x3adf21=a32_0x3adf();let _0x494352=_0x3adf21[_0x530e77];return _0x494352;}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a35_0xb2d8a8=a35_0x1795;(function(_0x5865f2,_0x29d690){const _0x38c61c=a35_0x1795,_0x4908e6=_0x5865f2();while(!![]){try{const _0x29613a=parseInt(_0x38c61c(0xe8))/0x1+-parseInt(_0x38c61c(0xf6))/0x2+parseInt(_0x38c61c(0x12a))/0x3+-parseInt(_0x38c61c(0xff))/0x4*(parseInt(_0x38c61c(0xed))/0x5)+-parseInt(_0x38c61c(0xf5))/0x6+parseInt(_0x38c61c(0x125))/0x7*(-parseInt(_0x38c61c(0x112))/0x8)+-parseInt(_0x38c61c(0x11e))/0x9;if(_0x29613a===_0x29d690)break;else _0x4908e6['push'](_0x4908e6['shift']());}catch(_0x59dd0f){_0x4908e6['push'](_0x4908e6['shift']());}}}(a35_0x4ee7,0x4a5f0));import{existsSync,readFileSync,statSync}from'node:fs';function a35_0x1795(_0x12b814,_0x549d74){_0x12b814=_0x12b814-0xe5;const _0x4ee7a4=a35_0x4ee7();let _0x17956f=_0x4ee7a4[_0x12b814];return _0x17956f;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a35_0x4ee7(){const _0x521732=['scriptType','isFile','read','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','str','detail','file','592542MUfTwu','Created\x20personal\x20BFF\x20','File\x20is\x20not\x20a\x20regular\x20file:\x20','File\x20not\x20found:\x20','Update\x20a\x20personal\x20BFF\x20by\x20id','sourceSessionId','name','44898BXyMoi','Updated\x20personal\x20BFF\x20','POST','verbose','/client/runtime-bff/personal/create','1820520XYfjeY','length','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','functionName','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','577765wEkRmJ','test','map','Optional\x20source\x20RuntimeAgent\x20session\x20id','keys','5yVJvME','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','gmtCreate','trim','File\x20path\x20is\x20required.','Personal\x20BFF\x20description','Executed\x20personal\x20BFF\x20','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','1715796nPCrCR','212482OXKOyn','source-session-id','update','/update','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Personal\x20BFF\x20script\x20ID','string','personal-bff','config','1636432QtOHCV','write','createUserId','isArray','utf8','num','create','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','params','body','appCode','version','scriptContent','high-risk-write','validation','Preview:\x20create\x20personal\x20BFF\x20','--params\x20must\x20be\x20a\x20JSON\x20object.','build','createTime','16gTtHWw','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','exec','gmtModified','description'];a35_0x4ee7=function(){return _0x521732;};return a35_0x4ee7();}import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a35_0xb2d8a8(0x11d),'type':a35_0xb2d8a8(0xfc),'description':a35_0xb2d8a8(0xfa)},FUNCTION_NAME_FLAG={'name':a35_0xb2d8a8(0x124),'type':a35_0xb2d8a8(0xfc),'required':!![],'description':a35_0xb2d8a8(0x11a)},DESCRIPTION_FLAG={'name':a35_0xb2d8a8(0x116),'type':a35_0xb2d8a8(0xfc),'description':a35_0xb2d8a8(0xf2)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':'string','description':a35_0xb2d8a8(0xeb)};function normalizeFunctionName(_0x136612){const _0x5c563b=a35_0xb2d8a8,_0x5a43d8=String(_0x136612||'')[_0x5c563b(0xf0)]();if(!_0x5a43d8||!FUNCTION_NAME_PATTERN[_0x5c563b(0xe9)](_0x5a43d8))throw CliErrors['validation'](_0x5c563b(0x106));return _0x5a43d8;}function readScriptFile(_0x3c919a){const _0x4b68b2=a35_0xb2d8a8;if(!_0x3c919a)throw CliErrors['validation'](_0x4b68b2(0xf1));if(!existsSync(_0x3c919a))throw CliErrors[_0x4b68b2(0x10d)](_0x4b68b2(0x121)+_0x3c919a);if(!statSync(_0x3c919a)[_0x4b68b2(0x118)]())throw CliErrors[_0x4b68b2(0x10d)](_0x4b68b2(0x120)+_0x3c919a);const _0x10f9dc=readFileSync(_0x3c919a,_0x4b68b2(0x103));if(!_0x10f9dc[_0x4b68b2(0xf0)]())throw CliErrors['validation']('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x10f9dc;}function optionalTrimmed(_0x46ea46){const _0x5b6a20=a35_0xb2d8a8,_0x56e886=String(_0x46ea46||'')[_0x5b6a20(0xf0)]();return _0x56e886||undefined;}function summarizeBff(_0x15d158){const _0x4806a7=a35_0xb2d8a8;return{'id':_0x15d158['id'],'appCode':_0x15d158[_0x4806a7(0x109)],'functionName':_0x15d158[_0x4806a7(0xe6)],'description':_0x15d158['description'],'scriptType':_0x15d158[_0x4806a7(0x117)],'version':_0x15d158[_0x4806a7(0x10a)],'gmtModified':_0x15d158[_0x4806a7(0x115)],'updateTime':_0x15d158['updateTime']};}function detailBff(_0x102fa3){const _0x1ff552=a35_0xb2d8a8;return{'id':_0x102fa3['id'],'appCode':_0x102fa3[_0x1ff552(0x109)],'functionName':_0x102fa3[_0x1ff552(0xe6)],'description':_0x102fa3[_0x1ff552(0x116)],'scriptType':_0x102fa3['scriptType'],'scriptContent':_0x102fa3[_0x1ff552(0x10b)]??'','config':_0x102fa3[_0x1ff552(0xfe)],'version':_0x102fa3[_0x1ff552(0x10a)],'createUserId':_0x102fa3[_0x1ff552(0x101)],'gmtCreate':_0x102fa3[_0x1ff552(0xef)],'gmtModified':_0x102fa3[_0x1ff552(0x115)],'createTime':_0x102fa3[_0x1ff552(0x111)],'updateTime':_0x102fa3['updateTime']};}function buildCreateInput(_0x522ff7){const _0x3609e1=a35_0xb2d8a8;return{'functionName':normalizeFunctionName(_0x522ff7[_0x3609e1(0x11b)](_0x3609e1(0x124))),...optionalTrimmed(_0x522ff7[_0x3609e1(0x11b)]('description'))?{'description':optionalTrimmed(_0x522ff7[_0x3609e1(0x11b)]('description'))}:{},'scriptContent':readScriptFile(_0x522ff7[_0x3609e1(0x11b)](_0x3609e1(0x11d))),...optionalTrimmed(_0x522ff7['str'](_0x3609e1(0xf7)))?{'sourceSessionId':optionalTrimmed(_0x522ff7[_0x3609e1(0x11b)](_0x3609e1(0xf7)))}:{}};}function buildUpdateInput(_0x2463c0){const _0x34da03=a35_0xb2d8a8,_0x345294={};optionalTrimmed(_0x2463c0[_0x34da03(0x11b)](_0x34da03(0x124)))&&(_0x345294[_0x34da03(0xe6)]=normalizeFunctionName(_0x2463c0[_0x34da03(0x11b)](_0x34da03(0x124))));_0x2463c0['flag'](_0x34da03(0x116))!==undefined&&(_0x345294[_0x34da03(0x116)]=_0x2463c0['str'](_0x34da03(0x116)));optionalTrimmed(_0x2463c0[_0x34da03(0x11b)](_0x34da03(0x11d)))&&(_0x345294['scriptContent']=readScriptFile(_0x2463c0[_0x34da03(0x11b)](_0x34da03(0x11d))));_0x2463c0['flag'](_0x34da03(0xf7))!==undefined&&(_0x345294[_0x34da03(0x123)]=_0x2463c0[_0x34da03(0x11b)]('source-session-id'));if(Object[_0x34da03(0xec)](_0x345294)[_0x34da03(0x12b)]===0x0)throw CliErrors[_0x34da03(0x10d)](_0x34da03(0x113));return _0x345294;}function parseExecParams(_0x574612){const _0x14cfc4=a35_0xb2d8a8,_0xa3759c=parseJsonParams(_0x574612)??{};if(Array[_0x14cfc4(0x102)](_0xa3759c))throw CliErrors[_0x14cfc4(0x10d)](_0x14cfc4(0x10f));return _0xa3759c;}const personalBffList={'service':a35_0xb2d8a8(0xfd),'command':'list','description':a35_0xb2d8a8(0xf4),'risk':a35_0xb2d8a8(0x119),'flags':[VERBOSE_FLAG],async 'execute'(_0x4dd88c){const _0x422019=a35_0xb2d8a8,_0x5c6b29=await listPersonalBffs(_0x4dd88c[_0x422019(0x109)]);return{'ok':!![],'data':{'total':_0x5c6b29[_0x422019(0x12b)],'items':_0x4dd88c['bool'](_0x422019(0x128))?_0x5c6b29:_0x5c6b29[_0x422019(0xea)](summarizeBff)}};}},personalBffDetail={'service':a35_0xb2d8a8(0xfd),'command':a35_0xb2d8a8(0x11c),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':'read','flags':[{...ID_FLAG,'description':a35_0xb2d8a8(0xfb)}],async 'execute'(_0x52c02e){const _0x1b4bec=a35_0xb2d8a8,_0x2c8696=await getPersonalBff(_0x52c02e[_0x1b4bec(0x104)]('id'),_0x52c02e[_0x1b4bec(0x109)]);return{'ok':!![],'data':detailBff(_0x2c8696)};}},personalBffCreate={'service':'personal-bff','command':a35_0xb2d8a8(0x105),'description':a35_0xb2d8a8(0xe5),'risk':a35_0xb2d8a8(0x100),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x23c45c){const _0x4cd822=a35_0xb2d8a8,_0x323a15=buildCreateInput(_0x23c45c),_0x2fa97e=await createPersonalBff(_0x23c45c[_0x4cd822(0x109)],_0x323a15);return{'ok':!![],'data':detailBff(_0x2fa97e),'message':_0x4cd822(0x11f)+_0x2fa97e['id']+(_0x2fa97e['functionName']?'\x20('+_0x2fa97e[_0x4cd822(0xe6)]+')':'')};},async 'dryRun'(_0xfaa9e7){const _0x955e29=a35_0xb2d8a8,_0x14530e=buildCreateInput(_0xfaa9e7);return dryRun(_0x955e29(0x127),_0x955e29(0x129))['body']({'appCode':_0xfaa9e7['appCode'],..._0x14530e})[_0x955e29(0x116)](_0x955e29(0x10e)+_0x14530e[_0x955e29(0xe6)])[_0x955e29(0x110)]();}},personalBffUpdate={'service':a35_0xb2d8a8(0xfd),'command':a35_0xb2d8a8(0xf8),'description':a35_0xb2d8a8(0x122),'risk':a35_0xb2d8a8(0x100),'flags':[{...ID_FLAG,'description':a35_0xb2d8a8(0xfb)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x58a59d){const _0x5c59ba=a35_0xb2d8a8,_0x392bff=_0x58a59d[_0x5c59ba(0x104)]('id'),_0x460e95=buildUpdateInput(_0x58a59d),_0x3f64c0=await updatePersonalBff(_0x392bff,_0x58a59d[_0x5c59ba(0x109)],_0x460e95);return{'ok':!![],'data':detailBff(_0x3f64c0),'message':_0x5c59ba(0x126)+_0x3f64c0['id']+(_0x3f64c0[_0x5c59ba(0xe6)]?'\x20('+_0x3f64c0[_0x5c59ba(0xe6)]+')':'')};},async 'dryRun'(_0x1755b4){const _0x45e4f9=a35_0xb2d8a8,_0x3f26c5=_0x1755b4['num']('id'),_0x182e36=buildUpdateInput(_0x1755b4);return dryRun(_0x45e4f9(0x127),'/client/runtime-bff/personal/'+_0x3f26c5+_0x45e4f9(0xf9))[_0x45e4f9(0x108)]({'appCode':_0x1755b4[_0x45e4f9(0x109)],..._0x182e36})[_0x45e4f9(0x116)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x3f26c5)[_0x45e4f9(0x110)]();}},personalBffExec={'service':a35_0xb2d8a8(0xfd),'command':a35_0xb2d8a8(0x114),'description':a35_0xb2d8a8(0xee),'risk':a35_0xb2d8a8(0x10c),'flags':[{...ID_FLAG,'description':a35_0xb2d8a8(0xfb)},{...PARAMS_FLAG,'description':a35_0xb2d8a8(0xe7)}],async 'validate'(_0x461a19){const _0x4a5586=a35_0xb2d8a8;parseExecParams(_0x461a19[_0x4a5586(0x11b)](_0x4a5586(0x107)));},async 'execute'(_0x2e26bc){const _0x4e132b=a35_0xb2d8a8,_0x59388b=_0x2e26bc[_0x4e132b(0x104)]('id'),_0xc734f1=parseExecParams(_0x2e26bc['str'](_0x4e132b(0x107))),_0x4687eb=await executePersonalBff(_0x59388b,_0x2e26bc[_0x4e132b(0x109)],_0xc734f1);return{'ok':!![],'data':{'result':_0x4687eb},'message':_0x4e132b(0xf3)+_0x59388b};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x41b879=a36_0x1147;(function(_0x36ea6c,_0x5c6bb1){const _0x55714b=a36_0x1147,_0x15f652=_0x36ea6c();while(!![]){try{const _0x5176a8=parseInt(_0x55714b(0x16f))/0x1*(parseInt(_0x55714b(0x150))/0x2)+parseInt(_0x55714b(0x15f))/0x3+parseInt(_0x55714b(0x16a))/0x4*(parseInt(_0x55714b(0x161))/0x5)+parseInt(_0x55714b(0x158))/0x6*(parseInt(_0x55714b(0x169))/0x7)+parseInt(_0x55714b(0x17a))/0x8+parseInt(_0x55714b(0x172))/0x9*(parseInt(_0x55714b(0x152))/0xa)+-parseInt(_0x55714b(0x175))/0xb;if(_0x5176a8===_0x5c6bb1)break;else _0x15f652['push'](_0x15f652['shift']());}catch(_0x455e7d){_0x15f652['push'](_0x15f652['shift']());}}}(a36_0x133d,0xe63e9));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';function a36_0x133d(){const _0x88c90b=['OCR','Personal\x20BFF','set','1874611TzkQJW','Skills','Datasets','1112139uWsKNT','risk','install','73371463aUhYbm','API\x20Documentation','show','list','File','11447648wXXWQh','Knowledge\x20Base','App\x20Management','Diagnostics','map','Schema','has','2WEvJgc','BFF\x20Scripts','150yEzXZu','run','\x20\x20[write]','Workspace','Self\x20Update','get','62550JGEAry','Logs','Authentication','CLI\x20Built-in\x20Skill','login','Artifacts','command','2060670cxnZbK','service','617070lNPsyf','Service\x20Tree','SQL\x20Queries','Configuration','read','\x20\x20[high-risk-write]','isSingleCommand','defaultCommand','938ncFzCd','12MnxVti','Runtime\x20App\x20Config'];a36_0x133d=function(){return _0x88c90b;};return a36_0x133d();}import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';function a36_0x1147(_0xba090,_0x34f848){_0xba090=_0xba090-0x150;const _0x133dfa=a36_0x133d();let _0x114778=_0x133dfa[_0xba090];return _0x114778;}import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x31cc30){const _0x1735ef=a36_0x1147;for(const _0x572c3a of _0x31cc30){definitions[_0x1735ef(0x16e)](_0x572c3a[_0x1735ef(0x160)]+':'+_0x572c3a[_0x1735ef(0x15e)],_0x572c3a);let _0x169978=serviceGroups[_0x1735ef(0x157)](_0x572c3a[_0x1735ef(0x160)]);!_0x169978&&(_0x169978=[],serviceGroups[_0x1735ef(0x16e)](_0x572c3a[_0x1735ef(0x160)],_0x169978)),_0x169978['push'](_0x572c3a);}}function registerService(_0x503440,_0x476545,_0x4074b2){const _0x314229=a36_0x1147;registerDefinitions(_0x476545);const _0x231626=_0x4bad75=>_0x4bad75===_0x314229(0x165)?'':_0x4bad75==='write'?_0x314229(0x154):_0x314229(0x166),_0x42a6c4={'service':_0x476545[0x0][_0x314229(0x160)],'label':_0x503440,'commands':_0x476545[_0x314229(0x17e)](_0x562940=>({'command':_0x562940['command'],'description':_0x562940['description'],'tag':_0x231626(_0x562940[_0x314229(0x173)])})),'defaultCommand':_0x4074b2?.[_0x314229(0x168)]??(_0x4074b2?.[_0x314229(0x167)]?_0x476545[0x0][_0x314229(0x15e)]:undefined),'isSingleCommand':_0x4074b2?.[_0x314229(0x167)]};serviceRegistry['push'](_0x42a6c4),serviceByName[_0x314229(0x16e)](_0x42a6c4[_0x314229(0x160)],_0x42a6c4);}registerService(a36_0x41b879(0x15a),authDefinitions,{'defaultCommand':a36_0x41b879(0x15c)}),registerService(a36_0x41b879(0x17c),appDefinitions,{'defaultCommand':a36_0x41b879(0x178)}),registerService(a36_0x41b879(0x155),workspaceDefinitions),registerService(a36_0x41b879(0x16b),appConfigDefinitions),registerService(a36_0x41b879(0x164),configDefinitions,{'defaultCommand':a36_0x41b879(0x178)}),registerService(a36_0x41b879(0x176),apiDocDefinitions),registerService(a36_0x41b879(0x171),datasetDefinitions),registerService('Instant\x20API',dataDefinitions),registerService(a36_0x41b879(0x163),sqlDefinitions),registerService(a36_0x41b879(0x151),bffDefinitions),registerService(a36_0x41b879(0x16d),personalBffDefinitions),registerService(a36_0x41b879(0x15d),artifactDefinitions),registerService(a36_0x41b879(0x179),fileDefinitions),registerService(a36_0x41b879(0x16c),ocrDefinitions),registerService(a36_0x41b879(0x17b),kbDefinitions),registerService(a36_0x41b879(0x162),serviceDefinitions,{'defaultCommand':a36_0x41b879(0x178)}),registerService(a36_0x41b879(0x170),skillDefinitions,{'defaultCommand':a36_0x41b879(0x174)}),registerService(a36_0x41b879(0x15b),cliSkillDefinitions,{'defaultCommand':a36_0x41b879(0x174)}),registerService(a36_0x41b879(0x156),[updateDefinition],{'defaultCommand':a36_0x41b879(0x153),'isSingleCommand':!![]}),registerService(a36_0x41b879(0x17d),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a36_0x41b879(0x17f),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a36_0x41b879(0x159),logsDefinitions,{'defaultCommand':a36_0x41b879(0x177)});export function findDefinition(_0x2b06e5,_0x378f23){const _0x2bcd31=a36_0x41b879;return definitions[_0x2bcd31(0x157)](_0x2b06e5+':'+_0x378f23);}export function isKnownService(_0x1926f6){const _0x2b8d5b=a36_0x41b879;return serviceByName[_0x2b8d5b(0x180)](_0x1926f6);}export function getServiceEntry(_0x1f7f26){return serviceByName['get'](_0x1f7f26);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x6e2a0e=a37_0x144e;function a37_0x31dc(){const _0x242490=['1167933ziGBLC','3873930iwpBpK','14065QHspTg','3982608UMVRet','28951254BUvgqP','schema','112POtJpb','433088fCRfRc','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1636uEbRVO','read','1972648yGmtmR'];a37_0x31dc=function(){return _0x242490;};return a37_0x31dc();}(function(_0x1edaa7,_0x12d62f){const _0x4d9300=a37_0x144e,_0x594fa6=_0x1edaa7();while(!![]){try{const _0x53dc3d=parseInt(_0x4d9300(0x156))/0x1+-parseInt(_0x4d9300(0x155))/0x2+-parseInt(_0x4d9300(0x157))/0x3+-parseInt(_0x4d9300(0x153))/0x4*(parseInt(_0x4d9300(0x158))/0x5)+parseInt(_0x4d9300(0x14d))/0x6+parseInt(_0x4d9300(0x150))/0x7*(-parseInt(_0x4d9300(0x151))/0x8)+parseInt(_0x4d9300(0x14e))/0x9;if(_0x53dc3d===_0x12d62f)break;else _0x594fa6['push'](_0x594fa6['shift']());}catch(_0x201205){_0x594fa6['push'](_0x594fa6['shift']());}}}(a37_0x31dc,0xb8204));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x248a8e){const _0x2571a9=await buildSchemaPayload();return{'ok':!![],'data':_0x2571a9};}function a37_0x144e(_0x1d788f,_0xb4fd49){_0x1d788f=_0x1d788f-0x14d;const _0x31dcae=a37_0x31dc();let _0x144e22=_0x31dcae[_0x1d788f];return _0x144e22;}export const schemaDefinition={'service':a37_0x6e2a0e(0x14f),'command':'export','description':a37_0x6e2a0e(0x152),'risk':a37_0x6e2a0e(0x154),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1f5b4a,_0x47c04d){const _0x174e07=a35_0x3f69,_0x20fa08=_0x1f5b4a();while(!![]){try{const _0x52ce36=-parseInt(_0x174e07(0x19a))/0x1+parseInt(_0x174e07(0x1f5))/0x2*(-parseInt(_0x174e07(0x1da))/0x3)+-parseInt(_0x174e07(0x1f1))/0x4+parseInt(_0x174e07(0x1e9))/0x5+-parseInt(_0x174e07(0x1c2))/0x6+parseInt(_0x174e07(0x19b))/0x7*(-parseInt(_0x174e07(0x1f4))/0x8)+parseInt(_0x174e07(0x1d4))/0x9*(parseInt(_0x174e07(0x1a8))/0xa);if(_0x52ce36===_0x47c04d)break;else _0x20fa08['push'](_0x20fa08['shift']());}catch(_0x124d7f){_0x20fa08['push'](_0x20fa08['shift']());}}}(a35_0x37fa,0xd5d8b));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a35_0x37fa(){const _0x41eab2=['slice','params','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20\x20\x20datasetCode:\x20','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20->\x20','657545lhRdfX','username','service','name','\x20\x20\x20\x20command:\x20','Use\x20`','\x20completed\x20in\x20','loginName','4746884wwHumR','userName','commands','16GrDxog','1672244qJywEx','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','required','type','tree','normalizedManifest','startsWith','rawFlags','fullPath','source','code','dbtableConfig','now','341868LRbrRi','5157558JIFySO','find','map','description','boolean','\x20\x20\x20\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','Preview\x20dynamic\x20service\x20command:\x20','appCode','string','Service\x20command\x20','padEnd','cliPath','57418870wyFASI','const','filter','sqlCode','\x20requires\x20target.sqlCode.','employeeId','appBindings','args','bffCode','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','tenantCode','data','enum','command','datatable','entries','\x22\x20in\x20service\x20command\x20','\x20requires\x20target.scriptName.','tableName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickname','push','scriptName','context.','risk','some','1938360nLCyYW','SERVICE_TREE','\x20\x20\x20\x20scriptName:\x20','env','length','kind','validation','\x20\x20\x20\x20datatable:\x20','flatMap','json','join','number','\x20\x20\x20\x20sqlCode:\x20','envName','app','Run\x20service\x20command\x20','trim','Commands:','9oIxLoH','flags','target','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','read','appcode','6uEQXlw','\x20service\x20detail\x20--service\x20','sql','\x20\x20MAP\x20TO','bffId','datasetCode','nickName','default'];a35_0x37fa=function(){return _0x41eab2;};return a35_0x37fa();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2f6592,_0x3eeaf9){const _0x60461b=a35_0x3f69,_0x398ca2=listLocalServiceTrees();let _0x2ffe14;for(const _0x155bf9 of _0x398ca2){const _0x2904ce=matchServiceTreeCommand(_0x155bf9,_0x2f6592);if(!_0x2904ce)continue;(!_0x2ffe14||_0x2904ce[_0x60461b(0x1b5)][_0x60461b(0x1fd)]['length']>_0x2ffe14[_0x60461b(0x1b5)][_0x60461b(0x1fd)]['length'])&&(_0x2ffe14={'tree':_0x155bf9,'command':_0x2904ce[_0x60461b(0x1b5)],'remainingArgs':_0x2904ce['remainingArgs']});}if(!_0x2ffe14)return undefined;const _0x935fde={..._0x3eeaf9};return applyAppBinding(_0x2ffe14[_0x60461b(0x1f9)],_0x2ffe14[_0x60461b(0x1b5)],_0x935fde),{'definition':buildDynamicCommandDefinition(_0x2ffe14[_0x60461b(0x1f9)],_0x2ffe14[_0x60461b(0x1b5)]),'args':_0x2ffe14['remainingArgs'],'flags':_0x935fde,'tree':_0x2ffe14['tree'],'command':_0x2ffe14[_0x60461b(0x1b5)]};}export function generateDynamicServiceHelp(_0x4b70db){const _0x30b4e9=a35_0x3f69,_0xcf008b=listLocalServiceTrees()['find'](_0x175c6b=>_0x175c6b[_0x30b4e9(0x1eb)][_0x30b4e9(0x197)]===_0x4b70db);if(!_0xcf008b)return undefined;const _0x47e5cf=[CLI_BIN_NAME+'\x20'+_0x4b70db+'\x20<command>\x20[flags]','',_0xcf008b['service'][_0x30b4e9(0x1ec)]||_0x4b70db,_0xcf008b['service'][_0x30b4e9(0x19e)]?'\x20\x20'+_0xcf008b[_0x30b4e9(0x1eb)]['description']:'','',_0x30b4e9(0x1d3),..._0xcf008b[_0x30b4e9(0x1f3)][_0x30b4e9(0x19d)](_0x4adde0=>{const _0x5e2f43=_0x30b4e9,_0x28e332=_0x4adde0[_0x5e2f43(0x1fd)][_0x5e2f43(0x1e2)](0x1)[_0x5e2f43(0x1cc)]('\x20'),_0x13b3fd=_0x4adde0[_0x5e2f43(0x1c0)]==='read'?'':'\x20['+_0x4adde0[_0x5e2f43(0x1c0)]+']';return'\x20\x20'+_0x28e332[_0x5e2f43(0x1a6)](0x18)+'\x20'+(_0x4adde0[_0x5e2f43(0x19e)]||'')+_0x13b3fd;}),'',_0x30b4e9(0x1ee)+CLI_BIN_NAME+_0x30b4e9(0x1db)+_0x4b70db+_0x30b4e9(0x1e4)][_0x30b4e9(0x1aa)](Boolean);return _0x47e5cf[_0x30b4e9(0x1cc)]('\x0a');}export function listDynamicServiceEntries(){const _0x1b6aa7=a35_0x3f69;return listLocalServices()[_0x1b6aa7(0x19d)](_0x28a0c2=>{const _0x5a1219=_0x1b6aa7,_0x3fe8cc=_0x28a0c2[_0x5a1219(0x1fa)];return{'service':_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x197)],'label':_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x1ec)]||_0x3fe8cc[_0x5a1219(0x1eb)][_0x5a1219(0x197)],'commands':_0x3fe8cc[_0x5a1219(0x1f3)][_0x5a1219(0x19d)](_0x2a14e3=>({'command':dynamicCommandName(_0x2a14e3),'description':_0x2a14e3[_0x5a1219(0x19e)]||_0x5a1219(0x1d1)+_0x2a14e3[_0x5a1219(0x1a7)],'tag':riskTag(_0x2a14e3[_0x5a1219(0x1c0)])}))};});}export function getDynamicServiceEntry(_0xa7708c){const _0xc2c6d6=a35_0x3f69;return listDynamicServiceEntries()[_0xc2c6d6(0x19c)](_0x235cb6=>_0x235cb6[_0xc2c6d6(0x1eb)]===_0xa7708c);}export function listDynamicServiceDefinitions(_0x4610b7){const _0x1f4b1b=a35_0x3f69;return listLocalServiceTrees()[_0x1f4b1b(0x1aa)](_0x37a0a2=>!_0x4610b7||_0x37a0a2[_0x1f4b1b(0x1eb)][_0x1f4b1b(0x197)]===_0x4610b7)[_0x1f4b1b(0x1ca)](_0x1fcd64=>_0x1fcd64['commands'][_0x1f4b1b(0x19d)](_0x48e3bb=>buildDynamicCommandDefinition(_0x1fcd64,_0x48e3bb)));}export function getDynamicServiceDefinitions(_0x2362d1){const _0x3673f0=a35_0x3f69,_0xe82710=listDynamicServiceDefinitions(_0x2362d1);return _0xe82710[_0x3673f0(0x1c6)]>0x0?_0xe82710:undefined;}export function findDynamicServiceDefinition(_0x4dfdad,_0x187482){const _0x4f8ae4=a35_0x3f69;return listDynamicServiceDefinitions(_0x4dfdad)['find'](_0x26c1cb=>_0x26c1cb[_0x4f8ae4(0x1b5)]===_0x187482);}export function buildDynamicCommandDefinition(_0x1ee3a0,_0xe2cd63){const _0xc6809=a35_0x3f69;return{'service':_0x1ee3a0[_0xc6809(0x1eb)]['code'],'command':dynamicCommandName(_0xe2cd63),'description':_0xe2cd63[_0xc6809(0x19e)]||_0xc6809(0x1d1)+_0xe2cd63[_0xc6809(0x1a7)],'risk':_0xe2cd63['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xe2cd63[_0xc6809(0x1af)][_0xc6809(0x19d)](_0x1fd087=>({'name':_0x1fd087[_0xc6809(0x1ec)],'description':_0x1fd087[_0xc6809(0x19e)]||_0x1fd087['name'],'required':_0x1fd087[_0xc6809(0x1f7)]})),'flags':_0xe2cd63[_0xc6809(0x1d5)][_0xc6809(0x19d)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xe2cd63),async 'dryRun'(_0x48f357){const _0x6b1517=_0xc6809,_0xa21afe=await compilePlan(_0xe2cd63,_0x48f357);return{'method':_0x6b1517(0x1c3),'url':_0xe2cd63[_0x6b1517(0x1a7)],'body':{'target':targetPreview(_0xa21afe),'params':_0xa21afe['params']},'description':_0x6b1517(0x1a2)+_0xe2cd63['cliPath']};},async 'execute'(_0x3cfdc4){const _0x14a69b=_0xc6809,_0x1836e4=await compilePlan(_0xe2cd63,_0x3cfdc4),_0x4f5371=Date[_0x14a69b(0x199)](),_0x46bf0c=await executePlan(_0x1836e4,_0xe2cd63,_0x3cfdc4),_0x456760=Date[_0x14a69b(0x199)]()-_0x4f5371;return{'ok':!![],'data':{'service':_0x1ee3a0[_0x14a69b(0x1eb)],'command':_0xe2cd63[_0x14a69b(0x1a7)],'target':targetPreview(_0x1836e4),'result':_0x46bf0c,'elapsed':_0x456760},'message':_0x14a69b(0x1a5)+_0xe2cd63['cliPath']+_0x14a69b(0x1ef)+_0x456760+'ms'};}};}function dynamicCommandName(_0x1857e4){const _0x19cc5a=a35_0x3f69;return _0x1857e4[_0x19cc5a(0x1fd)][_0x19cc5a(0x1e2)](0x1)['join']('\x20');}function riskTag(_0x1cb92e){const _0x481fcb=a35_0x3f69;return _0x1cb92e===_0x481fcb(0x1d8)?'':'\x20\x20['+_0x1cb92e+']';}function flagToCommandFlag(_0x204fe4){const _0x505cd2=a35_0x3f69;return{'name':_0x204fe4['cliName'],'type':_0x204fe4[_0x505cd2(0x1f8)]===_0x505cd2(0x1cb)?_0x505cd2(0x1a4):_0x204fe4[_0x505cd2(0x1f8)],'description':_0x204fe4['description']||_0x204fe4[_0x505cd2(0x1ec)],'required':_0x204fe4[_0x505cd2(0x1f7)],'default':isPrimitiveFlagDefault(_0x204fe4[_0x505cd2(0x1e1)])?_0x204fe4['default']:undefined,'enum':_0x204fe4[_0x505cd2(0x1b4)]};}async function compilePlan(_0xf38c,_0x4dd8a5){const _0x703434=a35_0x3f69;return compileServiceTreeCommand(_0xf38c,{'flags':_0x4dd8a5[_0x703434(0x1fc)],'args':_0x4dd8a5[_0x703434(0x1af)],'context':await buildServiceContext(_0xf38c,_0x4dd8a5)});}async function buildServiceContext(_0x2ea679,_0x40f2fe){const _0x4bc64a=a35_0x3f69,_0x40592a={'appCode':_0x40f2fe['appCode'],'env':_0x40f2fe[_0x4bc64a(0x1cf)],'envName':_0x40f2fe['envName']};if(!usesRuntimeContext(_0x2ea679))return _0x40592a;const _0x5b5f91=await getLoginUserInfo(),_0x164c48=pickFirst(_0x5b5f91['userId'],_0x5b5f91['id']);return{..._0x40592a,'user':_0x5b5f91,'userId':_0x164c48,'id':_0x5b5f91['id'],'username':pickFirst(_0x5b5f91[_0x4bc64a(0x1ea)],_0x5b5f91[_0x4bc64a(0x1f2)],_0x5b5f91[_0x4bc64a(0x1f0)]),'userName':_0x5b5f91[_0x4bc64a(0x1f2)],'nickname':pickFirst(_0x5b5f91[_0x4bc64a(0x1bc)],_0x5b5f91[_0x4bc64a(0x1e0)]),'nickName':_0x5b5f91[_0x4bc64a(0x1e0)],'tenantCode':_0x5b5f91[_0x4bc64a(0x1b2)],'employeeId':_0x5b5f91[_0x4bc64a(0x1ad)]};}function usesRuntimeContext(_0x2c2243){const _0xe487fe=a35_0x3f69;return _0x2c2243['mapTo'][_0xe487fe(0x1c1)](_0x34f5ad=>typeof _0x34f5ad[_0xe487fe(0x196)]===_0xe487fe(0x1a4)&&(_0x34f5ad['source'][_0xe487fe(0x1fb)](_0xe487fe(0x1bf))||_0x34f5ad[_0xe487fe(0x196)]['startsWith']('ctx.')));}function pickFirst(..._0x4cfac2){const _0x1a1190=a35_0x3f69;return _0x4cfac2[_0x1a1190(0x19c)](_0x4f5a9c=>_0x4f5a9c!==undefined&&_0x4f5a9c!==null);}async function executePlan(_0x1b31f4,_0x24fe90,_0x4bf4a6){const _0x5ba6d5=a35_0x3f69;if(_0x1b31f4[_0x5ba6d5(0x1c7)]===_0x5ba6d5(0x1b3)){const _0x3f7ea1=await resolveDatasetCode(_0x1b31f4,_0x24fe90,_0x4bf4a6);return executeData(_0x3f7ea1,_0x1b31f4['command'],_0x1b31f4[_0x5ba6d5(0x1e3)]);}if(_0x1b31f4[_0x5ba6d5(0x1c7)]===_0x5ba6d5(0x1dc)){if(!_0x1b31f4[_0x5ba6d5(0x1ab)])throw CliErrors['validation']('Service\x20command\x20'+_0x24fe90['cliPath']+_0x5ba6d5(0x1ac));return executeSdkSql(_0x1b31f4[_0x5ba6d5(0x1ab)],normalizeScalarParams(_0x1b31f4['params']));}if(_0x1b31f4['kind']==='bff'){const _0x1cfb61=_0x1b31f4[_0x5ba6d5(0x1be)]||_0x1b31f4['bffCode']||(_0x1b31f4[_0x5ba6d5(0x1de)]==null?'':String(_0x1b31f4[_0x5ba6d5(0x1de)]));if(!_0x1cfb61)throw CliErrors[_0x5ba6d5(0x1c8)](_0x5ba6d5(0x1a5)+_0x24fe90[_0x5ba6d5(0x1a7)]+_0x5ba6d5(0x1b9));return executeSdkBff(_0x1cfb61,_0x1b31f4[_0x5ba6d5(0x1e3)]);}throw CliErrors[_0x5ba6d5(0x1c8)](_0x5ba6d5(0x1e6)+_0x1b31f4[_0x5ba6d5(0x1c7)]);}async function resolveDatasetCode(_0x2b520,_0x44d4f4,_0x55e1e6){const _0x30b973=a35_0x3f69;if(_0x2b520[_0x30b973(0x1df)])return _0x2b520[_0x30b973(0x1df)];if(!_0x2b520['datatable'])throw CliErrors[_0x30b973(0x1c8)](_0x30b973(0x1a5)+_0x44d4f4[_0x30b973(0x1a7)]+_0x30b973(0x1a1));const _0x576414=await listDatasets(_0x55e1e6[_0x30b973(0x1a3)]),_0x3d3631=_0x576414[_0x30b973(0x19c)](_0x10519b=>_0x10519b[_0x30b973(0x198)]?.[_0x30b973(0x1ba)]===_0x2b520['datatable']);if(!_0x3d3631?.[_0x30b973(0x197)])throw CliErrors[_0x30b973(0x1c8)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x2b520[_0x30b973(0x1b6)]+_0x30b973(0x1b1)+_0x55e1e6[_0x30b973(0x1a3)]+'.',_0x30b973(0x1f6));return _0x3d3631[_0x30b973(0x197)];}function applyAppBinding(_0x5c95b5,_0x289274,_0x436f5f){const _0x3ad88d=a35_0x3f69,_0x5b6536=_0x289274[_0x3ad88d(0x1d6)]['appRef'];if(!_0x5b6536)return;const _0x1f5f94=_0x5c95b5[_0x3ad88d(0x1ae)][_0x5b6536];if(!_0x1f5f94)throw CliErrors[_0x3ad88d(0x1c8)]('Unknown\x20appRef\x20\x22'+_0x5b6536+_0x3ad88d(0x1b8)+_0x289274[_0x3ad88d(0x1a7)]+'.',_0x3ad88d(0x1d7));const _0x3f94ac=_0x1f5f94[_0x3ad88d(0x1d9)]||_0x1f5f94[_0x3ad88d(0x1a3)];_0x3f94ac&&!hasText(_0x436f5f[_0x3ad88d(0x1d9)])&&(_0x436f5f[_0x3ad88d(0x1d9)]=_0x3f94ac),_0x1f5f94[_0x3ad88d(0x1d0)]&&!hasText(_0x436f5f['app'])&&!hasText(_0x436f5f['appcode'])&&(_0x436f5f['app']=_0x1f5f94[_0x3ad88d(0x1d0)]),_0x1f5f94[_0x3ad88d(0x1c5)]&&!hasText(_0x436f5f[_0x3ad88d(0x1c5)])&&(_0x436f5f[_0x3ad88d(0x1c5)]=_0x1f5f94[_0x3ad88d(0x1c5)]);}function renderDynamicCommandHelp(_0x1ffce6){const _0x1f0bd1=a35_0x3f69,_0xa9aa89=[_0x1f0bd1(0x1e7),_0x1f0bd1(0x1bb)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1c7)],_0x1f0bd1(0x1ed)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1b5)]];if(_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1df)])_0xa9aa89['push'](_0x1f0bd1(0x1e5)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1df)]);if(_0x1ffce6['target'][_0x1f0bd1(0x1b6)])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1c9)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1b6)]);if(_0x1ffce6['target']['sqlCode'])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1ce)+_0x1ffce6[_0x1f0bd1(0x1d6)]['sqlCode']);if(_0x1ffce6[_0x1f0bd1(0x1d6)]['scriptName'])_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1c4)+_0x1ffce6[_0x1f0bd1(0x1d6)][_0x1f0bd1(0x1be)]);if(_0x1ffce6['mapTo'][_0x1f0bd1(0x1c6)]>0x0){_0xa9aa89['push']('',_0x1f0bd1(0x1dd));for(const _0x47ac8b of _0x1ffce6['mapTo']){_0xa9aa89[_0x1f0bd1(0x1bd)](_0x1f0bd1(0x1a0)+(_0x47ac8b[_0x1f0bd1(0x196)]||_0x1f0bd1(0x1a9))+_0x1f0bd1(0x1e8)+_0x47ac8b[_0x1f0bd1(0x1d6)]+(_0x47ac8b['operator']?'.'+_0x47ac8b['operator']:''));}}return _0xa9aa89[_0x1f0bd1(0x1cc)]('\x0a');}function a35_0x3f69(_0x1c1366,_0x24e5c1){_0x1c1366=_0x1c1366-0x196;const _0x37fa3d=a35_0x37fa();let _0x3f69d8=_0x37fa3d[_0x1c1366];return _0x3f69d8;}function targetPreview(_0x372102){const _0x257e14=a35_0x3f69;return{'kind':_0x372102[_0x257e14(0x1c7)],'command':_0x372102['command'],'appRef':_0x372102['appRef'],'datasetCode':_0x372102[_0x257e14(0x1df)],'datatable':_0x372102[_0x257e14(0x1b6)],'sqlCode':_0x372102[_0x257e14(0x1ab)],'bffCode':_0x372102[_0x257e14(0x1b0)],'bffId':_0x372102[_0x257e14(0x1de)],'scriptName':_0x372102[_0x257e14(0x1be)]};}function normalizeScalarParams(_0x2db192){const _0x320236=a35_0x3f69;return Object['fromEntries'](Object[_0x320236(0x1b7)](_0x2db192)['filter'](([,_0x3a5050])=>typeof _0x3a5050==='string'||typeof _0x3a5050==='number'));}function hasText(_0x8b3840){const _0x3f93ff=a35_0x3f69;return typeof _0x8b3840===_0x3f93ff(0x1a4)&&_0x8b3840[_0x3f93ff(0x1d2)]()[_0x3f93ff(0x1c6)]>0x0;}function isPrimitiveFlagDefault(_0x3bb6c8){const _0x392663=a35_0x3f69;return _0x3bb6c8===undefined||typeof _0x3bb6c8===_0x392663(0x1a4)||typeof _0x3bb6c8===_0x392663(0x1cd)||typeof _0x3bb6c8===_0x392663(0x19f);}
|
|
1
|
+
(function(_0x310dfa,_0x2cb788){const _0x5c8fa1=a38_0x3784,_0x2e3638=_0x310dfa();while(!![]){try{const _0x488911=-parseInt(_0x5c8fa1(0x220))/0x1*(-parseInt(_0x5c8fa1(0x1ea))/0x2)+-parseInt(_0x5c8fa1(0x208))/0x3*(-parseInt(_0x5c8fa1(0x1f0))/0x4)+parseInt(_0x5c8fa1(0x23e))/0x5+-parseInt(_0x5c8fa1(0x216))/0x6+-parseInt(_0x5c8fa1(0x1f1))/0x7*(parseInt(_0x5c8fa1(0x1eb))/0x8)+parseInt(_0x5c8fa1(0x1f4))/0x9*(-parseInt(_0x5c8fa1(0x234))/0xa)+parseInt(_0x5c8fa1(0x22c))/0xb;if(_0x488911===_0x2cb788)break;else _0x2e3638['push'](_0x2e3638['shift']());}catch(_0x42ac87){_0x2e3638['push'](_0x2e3638['shift']());}}}(a38_0x4cee,0x4499c));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';function a38_0x4cee(){const _0x4f1fa5=['tableName','envName','\x22\x20in\x20service\x20command\x20','`\x20to\x20inspect\x20the\x20manifest.','args','631520oVjphB','datasetCode','command','username','datatable','Run\x20service\x20command\x20','\x20\x20SERVICE\x20TREE\x20TARGET','padEnd','appcode','Commands:','params','\x20\x20MAP\x20TO','Use\x20`','\x20\x20\x20\x20sqlCode:\x20','source','appRef','service','target','sqlCode','tenantCode','697770llATlJ','365536hxENoi','\x20\x20\x20\x20','entries','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','required','37264JMLcBB','84ffiMlk','kind','number','984060lGPSwP','fromEntries','description','cliName','find','userName','now','Service\x20command\x20','risk','Cannot\x20resolve\x20datatable\x20\x22','\x20\x20[','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.scriptName.','map','filter','nickName','\x20\x20\x20\x20datatable:\x20','\x20\x20\x20\x20command:\x20','dbtableConfig','startsWith','111kyxCXq','\x20\x20\x20\x20scriptName:\x20','flatMap','code','appCode','read','join','bffId','data','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20\x20\x20\x20datasetCode:\x20','tree','context.','\x20service\x20detail\x20--service\x20','1253634uFcWJp','scriptName','rawFlags','string','mapTo','normalizedManifest','env','employeeId','flags','ctx.','1tfbsHr','bff','nickname','remainingArgs','slice','bffCode','enum','validation','name','boolean','app','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','7212810llIUXD','push','sql','commands','Unsupported\x20service\x20target\x20kind:\x20','SERVICE_TREE','\x20requires\x20target.sqlCode.','length','40yWkqgD','operator','cliPath','fullPath','Preview\x20dynamic\x20service\x20command:\x20'];a38_0x4cee=function(){return _0x4f1fa5;};return a38_0x4cee();}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x3d7350,_0x1e7f78){const _0x293073=a38_0x3784,_0x32d2af=listLocalServiceTrees();let _0xf6ef89;for(const _0x1848bb of _0x32d2af){const _0x4eef47=matchServiceTreeCommand(_0x1848bb,_0x3d7350);if(!_0x4eef47)continue;(!_0xf6ef89||_0x4eef47[_0x293073(0x240)]['fullPath']['length']>_0xf6ef89[_0x293073(0x240)][_0x293073(0x237)][_0x293073(0x233)])&&(_0xf6ef89={'tree':_0x1848bb,'command':_0x4eef47[_0x293073(0x240)],'remainingArgs':_0x4eef47['remainingArgs']});}if(!_0xf6ef89)return undefined;const _0x51de00={..._0x1e7f78};return applyAppBinding(_0xf6ef89[_0x293073(0x213)],_0xf6ef89['command'],_0x51de00),{'definition':buildDynamicCommandDefinition(_0xf6ef89[_0x293073(0x213)],_0xf6ef89[_0x293073(0x240)]),'args':_0xf6ef89[_0x293073(0x223)],'flags':_0x51de00,'tree':_0xf6ef89['tree'],'command':_0xf6ef89[_0x293073(0x240)]};}export function generateDynamicServiceHelp(_0x1bd4ad){const _0x579414=a38_0x3784,_0x17b878=listLocalServiceTrees()[_0x579414(0x1f8)](_0x4b61f0=>_0x4b61f0['service'][_0x579414(0x20b)]===_0x1bd4ad);if(!_0x17b878)return undefined;const _0x2239ba=[CLI_BIN_NAME+'\x20'+_0x1bd4ad+'\x20<command>\x20[flags]','',_0x17b878[_0x579414(0x1e6)][_0x579414(0x228)]||_0x1bd4ad,_0x17b878[_0x579414(0x1e6)]['description']?'\x20\x20'+_0x17b878[_0x579414(0x1e6)]['description']:'','',_0x579414(0x247),..._0x17b878[_0x579414(0x22f)][_0x579414(0x201)](_0x3d6a75=>{const _0x5580ac=_0x579414,_0xab384c=_0x3d6a75[_0x5580ac(0x237)]['slice'](0x1)[_0x5580ac(0x20e)]('\x20'),_0x2f887d=_0x3d6a75[_0x5580ac(0x1fc)]===_0x5580ac(0x20d)?'':'\x20['+_0x3d6a75[_0x5580ac(0x1fc)]+']';return'\x20\x20'+_0xab384c[_0x5580ac(0x245)](0x18)+'\x20'+(_0x3d6a75[_0x5580ac(0x1f6)]||'')+_0x2f887d;}),'',_0x579414(0x1e2)+CLI_BIN_NAME+_0x579414(0x215)+_0x1bd4ad+_0x579414(0x23c)][_0x579414(0x202)](Boolean);return _0x2239ba[_0x579414(0x20e)]('\x0a');}export function listDynamicServiceEntries(){const _0x2ba160=a38_0x3784;return listLocalServices()[_0x2ba160(0x201)](_0x9b0821=>{const _0x2748e9=_0x2ba160,_0x49e715=_0x9b0821[_0x2748e9(0x21b)];return{'service':_0x49e715[_0x2748e9(0x1e6)][_0x2748e9(0x20b)],'label':_0x49e715[_0x2748e9(0x1e6)][_0x2748e9(0x228)]||_0x49e715[_0x2748e9(0x1e6)][_0x2748e9(0x20b)],'commands':_0x49e715[_0x2748e9(0x22f)][_0x2748e9(0x201)](_0x317e31=>({'command':dynamicCommandName(_0x317e31),'description':_0x317e31[_0x2748e9(0x1f6)]||_0x2748e9(0x243)+_0x317e31['cliPath'],'tag':riskTag(_0x317e31['risk'])}))};});}export function getDynamicServiceEntry(_0x58ab9a){const _0x26f8db=a38_0x3784;return listDynamicServiceEntries()[_0x26f8db(0x1f8)](_0x5ea988=>_0x5ea988[_0x26f8db(0x1e6)]===_0x58ab9a);}export function listDynamicServiceDefinitions(_0x30e3c8){const _0x179140=a38_0x3784;return listLocalServiceTrees()[_0x179140(0x202)](_0xdb3036=>!_0x30e3c8||_0xdb3036[_0x179140(0x1e6)]['code']===_0x30e3c8)[_0x179140(0x20a)](_0x2a7a51=>_0x2a7a51[_0x179140(0x22f)]['map'](_0x33d2e3=>buildDynamicCommandDefinition(_0x2a7a51,_0x33d2e3)));}export function getDynamicServiceDefinitions(_0x4191fd){const _0x15d935=a38_0x3784,_0x5605a9=listDynamicServiceDefinitions(_0x4191fd);return _0x5605a9[_0x15d935(0x233)]>0x0?_0x5605a9:undefined;}export function findDynamicServiceDefinition(_0x37cf8b,_0x477d1f){const _0x2095e7=a38_0x3784;return listDynamicServiceDefinitions(_0x37cf8b)[_0x2095e7(0x1f8)](_0x117fe7=>_0x117fe7['command']===_0x477d1f);}export function buildDynamicCommandDefinition(_0x232587,_0x447c6e){const _0x11c77a=a38_0x3784;return{'service':_0x232587[_0x11c77a(0x1e6)][_0x11c77a(0x20b)],'command':dynamicCommandName(_0x447c6e),'description':_0x447c6e[_0x11c77a(0x1f6)]||'Run\x20service\x20command\x20'+_0x447c6e[_0x11c77a(0x236)],'risk':_0x447c6e[_0x11c77a(0x1fc)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x447c6e[_0x11c77a(0x23d)][_0x11c77a(0x201)](_0x4eab26=>({'name':_0x4eab26['name'],'description':_0x4eab26['description']||_0x4eab26[_0x11c77a(0x228)],'required':_0x4eab26[_0x11c77a(0x1ef)]})),'flags':_0x447c6e[_0x11c77a(0x21e)][_0x11c77a(0x201)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x447c6e),async 'dryRun'(_0x48d1c9){const _0x19be7f=_0x11c77a,_0x3ff380=await compilePlan(_0x447c6e,_0x48d1c9);return{'method':_0x19be7f(0x231),'url':_0x447c6e['cliPath'],'body':{'target':targetPreview(_0x3ff380),'params':_0x3ff380[_0x19be7f(0x248)]},'description':_0x19be7f(0x238)+_0x447c6e[_0x19be7f(0x236)]};},async 'execute'(_0x362a35){const _0x5ae135=_0x11c77a,_0xf078e5=await compilePlan(_0x447c6e,_0x362a35),_0x272c92=Date[_0x5ae135(0x1fa)](),_0x4cc948=await executePlan(_0xf078e5,_0x447c6e,_0x362a35),_0x1ced60=Date['now']()-_0x272c92;return{'ok':!![],'data':{'service':_0x232587[_0x5ae135(0x1e6)],'command':_0x447c6e[_0x5ae135(0x236)],'target':targetPreview(_0xf078e5),'result':_0x4cc948,'elapsed':_0x1ced60},'message':_0x5ae135(0x1fb)+_0x447c6e[_0x5ae135(0x236)]+'\x20completed\x20in\x20'+_0x1ced60+'ms'};}};}function dynamicCommandName(_0x3c3eca){const _0x31fe74=a38_0x3784;return _0x3c3eca[_0x31fe74(0x237)][_0x31fe74(0x224)](0x1)[_0x31fe74(0x20e)]('\x20');}function riskTag(_0x3d4f84){const _0x2575f4=a38_0x3784;return _0x3d4f84===_0x2575f4(0x20d)?'':_0x2575f4(0x1fe)+_0x3d4f84+']';}function flagToCommandFlag(_0x17a97b){const _0xa6af9=a38_0x3784;return{'name':_0x17a97b[_0xa6af9(0x1f7)],'type':_0x17a97b['type']==='json'?'string':_0x17a97b['type'],'description':_0x17a97b['description']||_0x17a97b[_0xa6af9(0x228)],'required':_0x17a97b[_0xa6af9(0x1ef)],'default':isPrimitiveFlagDefault(_0x17a97b['default'])?_0x17a97b['default']:undefined,'enum':_0x17a97b[_0xa6af9(0x226)]};}async function compilePlan(_0x3c7510,_0x19fd00){const _0x1264d6=a38_0x3784;return compileServiceTreeCommand(_0x3c7510,{'flags':_0x19fd00[_0x1264d6(0x218)],'args':_0x19fd00[_0x1264d6(0x23d)],'context':await buildServiceContext(_0x3c7510,_0x19fd00)});}async function buildServiceContext(_0x3b7ebe,_0x3fd5d7){const _0x48e5a0=a38_0x3784,_0x33e131={'appCode':_0x3fd5d7[_0x48e5a0(0x20c)],'env':_0x3fd5d7['envName'],'envName':_0x3fd5d7[_0x48e5a0(0x23a)]};if(!usesRuntimeContext(_0x3b7ebe))return _0x33e131;const _0x1bd239=await getLoginUserInfo(),_0x49d8bb=pickFirst(_0x1bd239['userId'],_0x1bd239['id']);return{..._0x33e131,'user':_0x1bd239,'userId':_0x49d8bb,'id':_0x1bd239['id'],'username':pickFirst(_0x1bd239[_0x48e5a0(0x241)],_0x1bd239[_0x48e5a0(0x1f9)],_0x1bd239['loginName']),'userName':_0x1bd239[_0x48e5a0(0x1f9)],'nickname':pickFirst(_0x1bd239[_0x48e5a0(0x222)],_0x1bd239[_0x48e5a0(0x203)]),'nickName':_0x1bd239['nickName'],'tenantCode':_0x1bd239[_0x48e5a0(0x1e9)],'employeeId':_0x1bd239[_0x48e5a0(0x21d)]};}function usesRuntimeContext(_0x3a01bf){const _0x5af3c7=a38_0x3784;return _0x3a01bf[_0x5af3c7(0x21a)]['some'](_0xc7b791=>typeof _0xc7b791['source']===_0x5af3c7(0x219)&&(_0xc7b791[_0x5af3c7(0x1e4)][_0x5af3c7(0x207)](_0x5af3c7(0x214))||_0xc7b791[_0x5af3c7(0x1e4)]['startsWith'](_0x5af3c7(0x21f))));}function pickFirst(..._0x4a35a9){const _0x23a5fe=a38_0x3784;return _0x4a35a9[_0x23a5fe(0x1f8)](_0x2486a6=>_0x2486a6!==undefined&&_0x2486a6!==null);}async function executePlan(_0x314c28,_0x2b9e4d,_0x82a45a){const _0x846a2e=a38_0x3784;if(_0x314c28['kind']===_0x846a2e(0x210)){const _0x636b33=await resolveDatasetCode(_0x314c28,_0x2b9e4d,_0x82a45a);return executeData(_0x636b33,_0x314c28[_0x846a2e(0x240)],_0x314c28[_0x846a2e(0x248)]);}if(_0x314c28[_0x846a2e(0x1f2)]===_0x846a2e(0x22e)){if(!_0x314c28[_0x846a2e(0x1e8)])throw CliErrors['validation'](_0x846a2e(0x1fb)+_0x2b9e4d['cliPath']+_0x846a2e(0x232));return executeSdkSql(_0x314c28[_0x846a2e(0x1e8)],normalizeScalarParams(_0x314c28[_0x846a2e(0x248)]));}if(_0x314c28['kind']===_0x846a2e(0x221)){const _0x546bb6=_0x314c28[_0x846a2e(0x217)]||_0x314c28[_0x846a2e(0x225)]||(_0x314c28[_0x846a2e(0x20f)]==null?'':String(_0x314c28[_0x846a2e(0x20f)]));if(!_0x546bb6)throw CliErrors[_0x846a2e(0x227)]('Service\x20command\x20'+_0x2b9e4d['cliPath']+_0x846a2e(0x200));return executeSdkBff(_0x546bb6,_0x314c28[_0x846a2e(0x248)]);}throw CliErrors['validation'](_0x846a2e(0x230)+_0x314c28[_0x846a2e(0x1f2)]);}async function resolveDatasetCode(_0x42e491,_0x22b694,_0x307667){const _0x3eb4bf=a38_0x3784;if(_0x42e491[_0x3eb4bf(0x23f)])return _0x42e491[_0x3eb4bf(0x23f)];if(!_0x42e491[_0x3eb4bf(0x242)])throw CliErrors[_0x3eb4bf(0x227)](_0x3eb4bf(0x1fb)+_0x22b694[_0x3eb4bf(0x236)]+_0x3eb4bf(0x1ee));const _0x178c64=await listDatasets(_0x307667[_0x3eb4bf(0x20c)]),_0x2d1140=_0x178c64['find'](_0x35359c=>_0x35359c[_0x3eb4bf(0x206)]?.[_0x3eb4bf(0x239)]===_0x42e491[_0x3eb4bf(0x242)]);if(!_0x2d1140?.[_0x3eb4bf(0x20b)])throw CliErrors[_0x3eb4bf(0x227)](_0x3eb4bf(0x1fd)+_0x42e491[_0x3eb4bf(0x242)]+_0x3eb4bf(0x1ff)+_0x307667[_0x3eb4bf(0x20c)]+'.',_0x3eb4bf(0x22b));return _0x2d1140[_0x3eb4bf(0x20b)];}function applyAppBinding(_0x2e4ee9,_0x30cef4,_0x3db759){const _0x433f30=a38_0x3784,_0x437a34=_0x30cef4[_0x433f30(0x1e7)]['appRef'];if(!_0x437a34)return;const _0x1287a1=_0x2e4ee9['appBindings'][_0x437a34];if(!_0x1287a1)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x437a34+_0x433f30(0x23b)+_0x30cef4[_0x433f30(0x236)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x5a2e1c=_0x1287a1[_0x433f30(0x246)]||_0x1287a1[_0x433f30(0x20c)];_0x5a2e1c&&!hasText(_0x3db759[_0x433f30(0x246)])&&(_0x3db759['appcode']=_0x5a2e1c),_0x1287a1['app']&&!hasText(_0x3db759['app'])&&!hasText(_0x3db759[_0x433f30(0x246)])&&(_0x3db759[_0x433f30(0x22a)]=_0x1287a1[_0x433f30(0x22a)]),_0x1287a1[_0x433f30(0x21c)]&&!hasText(_0x3db759[_0x433f30(0x21c)])&&(_0x3db759[_0x433f30(0x21c)]=_0x1287a1['env']);}function a38_0x3784(_0x8ad1bc,_0x31247e){_0x8ad1bc=_0x8ad1bc-0x1e2;const _0x4ceec0=a38_0x4cee();let _0x378422=_0x4ceec0[_0x8ad1bc];return _0x378422;}function renderDynamicCommandHelp(_0x6a8069){const _0x4d7c53=a38_0x3784,_0x33a3fb=[_0x4d7c53(0x244),_0x4d7c53(0x211)+_0x6a8069[_0x4d7c53(0x1e7)][_0x4d7c53(0x1f2)],_0x4d7c53(0x205)+_0x6a8069['target'][_0x4d7c53(0x240)]];if(_0x6a8069[_0x4d7c53(0x1e7)][_0x4d7c53(0x23f)])_0x33a3fb[_0x4d7c53(0x22d)](_0x4d7c53(0x212)+_0x6a8069[_0x4d7c53(0x1e7)]['datasetCode']);if(_0x6a8069[_0x4d7c53(0x1e7)]['datatable'])_0x33a3fb[_0x4d7c53(0x22d)](_0x4d7c53(0x204)+_0x6a8069[_0x4d7c53(0x1e7)][_0x4d7c53(0x242)]);if(_0x6a8069['target']['sqlCode'])_0x33a3fb['push'](_0x4d7c53(0x1e3)+_0x6a8069[_0x4d7c53(0x1e7)]['sqlCode']);if(_0x6a8069[_0x4d7c53(0x1e7)]['scriptName'])_0x33a3fb[_0x4d7c53(0x22d)](_0x4d7c53(0x209)+_0x6a8069['target'][_0x4d7c53(0x217)]);if(_0x6a8069['mapTo']['length']>0x0){_0x33a3fb[_0x4d7c53(0x22d)]('',_0x4d7c53(0x249));for(const _0x2d784c of _0x6a8069[_0x4d7c53(0x21a)]){_0x33a3fb[_0x4d7c53(0x22d)](_0x4d7c53(0x1ec)+(_0x2d784c[_0x4d7c53(0x1e4)]||'const')+'\x20->\x20'+_0x2d784c[_0x4d7c53(0x1e7)]+(_0x2d784c[_0x4d7c53(0x235)]?'.'+_0x2d784c[_0x4d7c53(0x235)]:''));}}return _0x33a3fb[_0x4d7c53(0x20e)]('\x0a');}function targetPreview(_0x1ca042){const _0x2b06f0=a38_0x3784;return{'kind':_0x1ca042['kind'],'command':_0x1ca042[_0x2b06f0(0x240)],'appRef':_0x1ca042[_0x2b06f0(0x1e5)],'datasetCode':_0x1ca042['datasetCode'],'datatable':_0x1ca042[_0x2b06f0(0x242)],'sqlCode':_0x1ca042[_0x2b06f0(0x1e8)],'bffCode':_0x1ca042[_0x2b06f0(0x225)],'bffId':_0x1ca042[_0x2b06f0(0x20f)],'scriptName':_0x1ca042[_0x2b06f0(0x217)]};}function normalizeScalarParams(_0x3fd02a){const _0xd60d8=a38_0x3784;return Object[_0xd60d8(0x1f5)](Object[_0xd60d8(0x1ed)](_0x3fd02a)[_0xd60d8(0x202)](([,_0x53a3c5])=>typeof _0x53a3c5==='string'||typeof _0x53a3c5===_0xd60d8(0x1f3)));}function hasText(_0x1439aa){const _0xfca380=a38_0x3784;return typeof _0x1439aa===_0xfca380(0x219)&&_0x1439aa['trim']()[_0xfca380(0x233)]>0x0;}function isPrimitiveFlagDefault(_0x3aab09){const _0x1345b6=a38_0x3784;return _0x3aab09===undefined||typeof _0x3aab09===_0x1345b6(0x219)||typeof _0x3aab09===_0x1345b6(0x1f3)||typeof _0x3aab09===_0x1345b6(0x229);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a36_0x4cb6(){const _0x5a0218=['96fVrZAy','Removed\x20service\x20','552489QmIZwo','file','map','Service\x20Tree\x20manifest\x20file\x20path','target','risk','report','Local\x20service\x20code,\x20for\x20example\x20crm','3675764ZhZDOi','commands','write','manifests','importedAt','696385aMMUZm','errors','hash','str','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','description','service','length','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','string','\x20service(s).','serviceCount','list','Imported\x20','source','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','validate','filePath','cliPath','name','normalizedManifest','registryPath','631895ZIztBx','updated','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','warnings','kind','read','39102453majYhU','lower\x20kebab-case\x20service\x20code','\x20service\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','entries','imported','5583435DxOAtt','entry','Service\x20registry\x20validation\x20passed.','version','72pVXsdD','2739978BEbqMU','flags','registryIndex','Imported','manifest','WRITE','remove','cliName','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode'];a36_0x4cb6=function(){return _0x5a0218;};return a36_0x4cb6();}const a36_0x11589c=a36_0x4a51;(function(_0x4d7833,_0x3dd216){const _0x401ed0=a36_0x4a51,_0x3511bc=_0x4d7833();while(!![]){try{const _0xda0185=parseInt(_0x401ed0(0x1af))/0x1+parseInt(_0x401ed0(0x1c2))/0x2+-parseInt(_0x401ed0(0x1bd))/0x3+-parseInt(_0x401ed0(0x1d7))/0x4+parseInt(_0x401ed0(0x1dc))/0x5*(-parseInt(_0x401ed0(0x1c1))/0x6)+parseInt(_0x401ed0(0x1cf))/0x7*(-parseInt(_0x401ed0(0x1cd))/0x8)+parseInt(_0x401ed0(0x1b5))/0x9;if(_0xda0185===_0x3dd216)break;else _0x3511bc['push'](_0x3511bc['shift']());}catch(_0x59c2f6){_0x3511bc['push'](_0x3511bc['shift']());}}}(a36_0x4cb6,0xe7763));function a36_0x4a51(_0x2195c7,_0x10a95d){_0x2195c7=_0x2195c7-0x1a9;const _0x4cb67b=a36_0x4cb6();let _0x4a513a=_0x4cb67b[_0x2195c7];return _0x4a513a;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a36_0x11589c(0x1d0),'type':a36_0x11589c(0x1e5),'required':!![],'description':a36_0x11589c(0x1d2)},SERVICE_FLAG={'name':a36_0x11589c(0x1e2),'type':a36_0x11589c(0x1e5),'required':!![],'description':a36_0x11589c(0x1d6),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a36_0x11589c(0x1b6)}};function summarizeService(_0x3bc082){const _0x5c2ef7=a36_0x11589c;return{'serviceCode':_0x3bc082[_0x5c2ef7(0x1cc)],'name':_0x3bc082['normalizedManifest']['service'][_0x5c2ef7(0x1ac)],'version':_0x3bc082['version'],'importedAt':_0x3bc082[_0x5c2ef7(0x1db)],'source':_0x3bc082[_0x5c2ef7(0x1ea)],'commandCount':_0x3bc082[_0x5c2ef7(0x1ad)][_0x5c2ef7(0x1d8)][_0x5c2ef7(0x1e3)],'commands':_0x3bc082[_0x5c2ef7(0x1ad)][_0x5c2ef7(0x1d8)][_0x5c2ef7(0x1d1)](_0x16615f=>({'path':_0x16615f['cliPath'],'description':_0x16615f[_0x5c2ef7(0x1e1)],'risk':_0x16615f[_0x5c2ef7(0x1d4)],'target':_0x16615f[_0x5c2ef7(0x1d3)],'flags':_0x16615f[_0x5c2ef7(0x1c3)][_0x5c2ef7(0x1d1)](_0x1dad5f=>({'name':_0x1dad5f[_0x5c2ef7(0x1ac)],'cliName':_0x1dad5f[_0x5c2ef7(0x1c9)],'type':_0x1dad5f['type'],'required':_0x1dad5f['required']===!![]}))}))};}function summarizeLoadedManifest(_0x23fa6c){const _0x28702d=a36_0x11589c;return{'service':_0x23fa6c[_0x28702d(0x1ad)]?.[_0x28702d(0x1e2)],'version':_0x23fa6c['normalizedManifest']?.['version'],'commandCount':_0x23fa6c[_0x28702d(0x1ad)]?.[_0x28702d(0x1d8)]['length']??0x0,'commands':_0x23fa6c[_0x28702d(0x1ad)]?.['commands'][_0x28702d(0x1d1)](_0x23c325=>({'path':_0x23c325[_0x28702d(0x1ab)],'risk':_0x23c325[_0x28702d(0x1d4)],'target':_0x23c325[_0x28702d(0x1d3)]}))??[],'registryIndex':_0x23fa6c[_0x28702d(0x1c4)],'registryServiceCode':_0x23fa6c['registryServiceCode'],'errors':_0x23fa6c['report'][_0x28702d(0x1dd)],'warnings':_0x23fa6c[_0x28702d(0x1d5)][_0x28702d(0x1b2)]};}export const serviceDefinitions=[{'service':'service','command':a36_0x11589c(0x1a9),'description':a36_0x11589c(0x1b1),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x244d74){const _0x4a4f15=a36_0x11589c,_0x485505=loadServiceManifestFromFile(_0x244d74['str'](_0x4a4f15(0x1d0)));if(!_0x485505[_0x4a4f15(0x1d5)]['ok'])return{'ok':![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505[_0x4a4f15(0x1b3)],'serviceCount':_0x485505['manifests'][_0x4a4f15(0x1e3)],'services':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1d1)](summarizeLoadedManifest),'errors':_0x485505['report'][_0x4a4f15(0x1dd)],'warnings':_0x485505['report']['warnings']},'message':formatValidationFailure(_0x485505[_0x4a4f15(0x1d5)])};if(_0x485505[_0x4a4f15(0x1b3)]==='registry'||_0x485505['manifests'][_0x4a4f15(0x1e3)]!==0x1)return{'ok':!![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505['kind'],'serviceCount':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1e3)],'commandCount':_0x485505['manifests']['reduce']((_0x82358d,_0x1ce68d)=>_0x82358d+(_0x1ce68d['normalizedManifest']?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1e3)]??0x0),0x0),'services':_0x485505[_0x4a4f15(0x1da)][_0x4a4f15(0x1d1)](summarizeLoadedManifest),'warnings':_0x485505[_0x4a4f15(0x1d5)][_0x4a4f15(0x1b2)]},'message':_0x4a4f15(0x1bf)};return{'ok':!![],'data':{'file':_0x485505[_0x4a4f15(0x1aa)],'hash':_0x485505[_0x4a4f15(0x1de)],'kind':_0x485505['kind'],'service':_0x485505[_0x4a4f15(0x1ad)]?.[_0x4a4f15(0x1e2)],'version':_0x485505[_0x4a4f15(0x1ad)]?.['version'],'commandCount':_0x485505[_0x4a4f15(0x1ad)]?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1e3)]??0x0,'commands':_0x485505['normalizedManifest']?.[_0x4a4f15(0x1d8)][_0x4a4f15(0x1d1)](_0x2d5d72=>({'path':_0x2d5d72[_0x4a4f15(0x1ab)],'risk':_0x2d5d72['risk'],'target':_0x2d5d72[_0x4a4f15(0x1d3)]})),'warnings':_0x485505[_0x4a4f15(0x1d5)][_0x4a4f15(0x1b2)]},'message':_0x4a4f15(0x1ba)};}},{'service':a36_0x11589c(0x1e2),'command':'import','description':a36_0x11589c(0x1ca),'risk':a36_0x11589c(0x1d9),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1d2094){const _0x2a6f91=a36_0x11589c,_0xc9586c=loadServiceManifestFromFile(_0x1d2094[_0x2a6f91(0x1df)](_0x2a6f91(0x1d0)));return{'method':_0x2a6f91(0x1c7),'url':getServiceRegistryPath(),'body':{'file':_0xc9586c[_0x2a6f91(0x1aa)],'hash':_0xc9586c[_0x2a6f91(0x1de)],'kind':_0xc9586c[_0x2a6f91(0x1b3)],'ok':_0xc9586c['report']['ok'],'service':_0xc9586c['normalizedManifest']?.['service'],'version':_0xc9586c[_0x2a6f91(0x1ad)]?.[_0x2a6f91(0x1c0)],'serviceCount':_0xc9586c[_0x2a6f91(0x1da)][_0x2a6f91(0x1e3)],'services':_0xc9586c[_0x2a6f91(0x1da)][_0x2a6f91(0x1d1)](_0x28e5c6=>({'service':_0x28e5c6['normalizedManifest']?.['service'],'version':_0x28e5c6['normalizedManifest']?.['version'],'commandCount':_0x28e5c6['normalizedManifest']?.[_0x2a6f91(0x1d8)]['length']??0x0,'errors':_0x28e5c6[_0x2a6f91(0x1d5)]['errors']})),'errors':_0xc9586c[_0x2a6f91(0x1d5)]['errors'],'commandCount':_0xc9586c['normalizedManifest']?.['commands'][_0x2a6f91(0x1e3)]??0x0},'description':_0x2a6f91(0x1b9)};},async 'execute'(_0x13aacb){const _0x41f977=a36_0x11589c,_0x1637e4=importServiceManifest(_0x13aacb['str'](_0x41f977(0x1d0)));if(_0x1637e4['entries'][_0x41f977(0x1e3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1637e4[_0x41f977(0x1ae)],'imported':_0x1637e4['imported'],'updated':_0x1637e4[_0x41f977(0x1b0)],'serviceCount':_0x1637e4[_0x41f977(0x1e7)],'services':_0x1637e4[_0x41f977(0x1bb)]['map'](summarizeService)},'message':_0x41f977(0x1e9)+_0x1637e4[_0x41f977(0x1bc)]+'\x20service(s),\x20updated\x20'+_0x1637e4['updated']+_0x41f977(0x1e6)};return{'ok':!![],'data':{'registryPath':_0x1637e4[_0x41f977(0x1ae)],'replaced':_0x1637e4['replaced'],'imported':_0x1637e4[_0x41f977(0x1bc)],'updated':_0x1637e4[_0x41f977(0x1b0)],'serviceCount':_0x1637e4['serviceCount'],'service':summarizeService(_0x1637e4[_0x41f977(0x1be)])},'message':(_0x1637e4['replaced']?'Updated':_0x41f977(0x1c5))+_0x41f977(0x1b7)+_0x1637e4[_0x41f977(0x1be)][_0x41f977(0x1cc)]+'.'};}},{'service':a36_0x11589c(0x1e2),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5bb2a3){const _0x12eae9=a36_0x11589c,_0x356960=getLocalServiceEntry(_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1e2)));return{'method':_0x12eae9(0x1c7),'url':_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1d0)),'body':{'service':_0x5bb2a3[_0x12eae9(0x1df)](_0x12eae9(0x1e2)),'found':Boolean(_0x356960),'version':_0x356960?.[_0x12eae9(0x1c0)],'source':_0x356960?.[_0x12eae9(0x1ea)]},'description':_0x12eae9(0x1eb)};},async 'execute'(_0x56e7d0){const _0x309c6c=a36_0x11589c,_0x39db9e=exportServiceManifest(_0x56e7d0[_0x309c6c(0x1df)](_0x309c6c(0x1e2)),_0x56e7d0[_0x309c6c(0x1df)](_0x309c6c(0x1d0)));return{'ok':!![],'data':{'registryPath':_0x39db9e[_0x309c6c(0x1ae)],'file':_0x39db9e[_0x309c6c(0x1aa)],'service':summarizeService(_0x39db9e[_0x309c6c(0x1be)])},'message':'Exported\x20service\x20'+_0x39db9e[_0x309c6c(0x1be)]['serviceCode']+'.'};}},{'service':a36_0x11589c(0x1e2),'command':a36_0x11589c(0x1e8),'description':a36_0x11589c(0x1cb),'risk':a36_0x11589c(0x1b4),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x379401=a36_0x11589c,_0x46ace4=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x46ace4[_0x379401(0x1e3)],'services':_0x46ace4[_0x379401(0x1d1)](summarizeService)}};}},{'service':a36_0x11589c(0x1e2),'command':a36_0x11589c(0x1c8),'description':a36_0x11589c(0x1e0),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0xd4c6b4){const _0x4b38f5=a36_0x11589c,_0x5c662e=getLocalServiceEntry(_0xd4c6b4[_0x4b38f5(0x1df)](_0x4b38f5(0x1e2)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0xd4c6b4[_0x4b38f5(0x1df)](_0x4b38f5(0x1e2)),'found':Boolean(_0x5c662e),'version':_0x5c662e?.[_0x4b38f5(0x1c0)],'source':_0x5c662e?.[_0x4b38f5(0x1ea)]},'description':_0x4b38f5(0x1e4)};},async 'execute'(_0x11fee4){const _0x69e565=a36_0x11589c,_0x5b7ffa=removeServiceManifest(_0x11fee4[_0x69e565(0x1df)]('service'));return{'ok':!![],'data':{'registryPath':_0x5b7ffa[_0x69e565(0x1ae)],'serviceCount':_0x5b7ffa[_0x69e565(0x1e7)],'service':summarizeService(_0x5b7ffa[_0x69e565(0x1be)])},'message':_0x69e565(0x1ce)+_0x5b7ffa[_0x69e565(0x1be)][_0x69e565(0x1cc)]+'.'};}},{'service':a36_0x11589c(0x1e2),'command':'detail','description':a36_0x11589c(0x1b8),'risk':a36_0x11589c(0x1b4),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x52ec84){const _0x4c4d38=a36_0x11589c,_0x235e61=getLocalServiceEntry(_0x52ec84['str'](_0x4c4d38(0x1e2)));if(!_0x235e61)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x52ec84[_0x4c4d38(0x1df)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x52ec84[_0x4c4d38(0x1df)](_0x4c4d38(0x1e2))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x235e61),'manifest':_0x235e61[_0x4c4d38(0x1c6)],'normalizedManifest':_0x235e61[_0x4c4d38(0x1ad)]}};}}];
|
|
1
|
+
const a39_0x1f7ebe=a39_0x44b3;function a39_0x44b3(_0xf07269,_0x4cf949){_0xf07269=_0xf07269-0x157;const _0x1b3b0d=a39_0x1b3b();let _0x44b3aa=_0x1b3b0d[_0xf07269];return _0x44b3aa;}(function(_0x146a50,_0x42207c){const _0x2237d2=a39_0x44b3,_0x57c2de=_0x146a50();while(!![]){try{const _0x49e60b=parseInt(_0x2237d2(0x19d))/0x1*(parseInt(_0x2237d2(0x19c))/0x2)+parseInt(_0x2237d2(0x17a))/0x3*(parseInt(_0x2237d2(0x18c))/0x4)+parseInt(_0x2237d2(0x172))/0x5+parseInt(_0x2237d2(0x171))/0x6+parseInt(_0x2237d2(0x168))/0x7+parseInt(_0x2237d2(0x165))/0x8*(-parseInt(_0x2237d2(0x181))/0x9)+parseInt(_0x2237d2(0x163))/0xa*(-parseInt(_0x2237d2(0x166))/0xb);if(_0x49e60b===_0x42207c)break;else _0x57c2de['push'](_0x57c2de['shift']());}catch(_0x39ffcf){_0x57c2de['push'](_0x57c2de['shift']());}}}(a39_0x1b3b,0xcfc0e));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a39_0x1f7ebe(0x182),'type':a39_0x1f7ebe(0x16c),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a39_0x1f7ebe(0x194),'type':a39_0x1f7ebe(0x16c),'required':!![],'description':a39_0x1f7ebe(0x173),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a39_0x1f7ebe(0x19b)}};function summarizeService(_0x3337cf){const _0x1a4981=a39_0x1f7ebe;return{'serviceCode':_0x3337cf['serviceCode'],'name':_0x3337cf[_0x1a4981(0x16d)][_0x1a4981(0x194)]['name'],'version':_0x3337cf[_0x1a4981(0x18b)],'importedAt':_0x3337cf[_0x1a4981(0x1a2)],'source':_0x3337cf['source'],'commandCount':_0x3337cf['normalizedManifest']['commands'][_0x1a4981(0x167)],'commands':_0x3337cf[_0x1a4981(0x16d)][_0x1a4981(0x195)][_0x1a4981(0x158)](_0x5204e3=>({'path':_0x5204e3['cliPath'],'description':_0x5204e3[_0x1a4981(0x17e)],'risk':_0x5204e3['risk'],'target':_0x5204e3[_0x1a4981(0x159)],'flags':_0x5204e3[_0x1a4981(0x185)][_0x1a4981(0x158)](_0x432343=>({'name':_0x432343[_0x1a4981(0x183)],'cliName':_0x432343[_0x1a4981(0x16b)],'type':_0x432343[_0x1a4981(0x17d)],'required':_0x432343[_0x1a4981(0x1a3)]===!![]}))}))};}function a39_0x1b3b(){const _0x3d4f57=['Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Removed\x20service\x20','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','lower\x20kebab-case\x20service\x20code','271274AzFgDO','6HIAxgo','replaced','manifests','source','registryServiceCode','importedAt','required','registryPath','map','target','Imported\x20','reduce','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Service\x20registry\x20validation\x20passed.','warnings','manifest','kind','risk','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','20UCMedN','Local\x20service\x20not\x20found:\x20','26840DzBlYX','20959048IlOcOT','length','8452192SSojLn','\x20service\x20','str','cliName','string','normalizedManifest','read','registry','write','5803032WnRBBS','419860NvDxAs','Local\x20service\x20code,\x20for\x20example\x20crm','Updated','entries','serviceCount','\x20service(s),\x20updated\x20','remove','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','48537yjgJlS','serviceCode','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','type','description','list','detail','207vBjRpw','file','name','report','flags','import','cliPath','entry','validate','filePath','version','412ipJvLD','hash','updated','Service\x20manifest\x20validation\x20passed.','export','Imported','WRITE','errors','service','commands','Exported\x20service\x20','imported'];a39_0x1b3b=function(){return _0x3d4f57;};return a39_0x1b3b();}function summarizeLoadedManifest(_0x439573){const _0x4fb459=a39_0x1f7ebe;return{'service':_0x439573[_0x4fb459(0x16d)]?.[_0x4fb459(0x194)],'version':_0x439573[_0x4fb459(0x16d)]?.[_0x4fb459(0x18b)],'commandCount':_0x439573[_0x4fb459(0x16d)]?.[_0x4fb459(0x195)][_0x4fb459(0x167)]??0x0,'commands':_0x439573[_0x4fb459(0x16d)]?.[_0x4fb459(0x195)][_0x4fb459(0x158)](_0x3878d5=>({'path':_0x3878d5[_0x4fb459(0x187)],'risk':_0x3878d5[_0x4fb459(0x161)],'target':_0x3878d5[_0x4fb459(0x159)]}))??[],'registryIndex':_0x439573['registryIndex'],'registryServiceCode':_0x439573[_0x4fb459(0x1a1)],'errors':_0x439573[_0x4fb459(0x184)][_0x4fb459(0x193)],'warnings':_0x439573['report'][_0x4fb459(0x15e)]};}export const serviceDefinitions=[{'service':a39_0x1f7ebe(0x194),'command':a39_0x1f7ebe(0x189),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a39_0x1f7ebe(0x16e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xed199e){const _0x1f2dfa=a39_0x1f7ebe,_0x36ecf8=loadServiceManifestFromFile(_0xed199e[_0x1f2dfa(0x16a)]('file'));if(!_0x36ecf8['report']['ok'])return{'ok':![],'data':{'file':_0x36ecf8[_0x1f2dfa(0x18a)],'hash':_0x36ecf8[_0x1f2dfa(0x18d)],'kind':_0x36ecf8['kind'],'serviceCount':_0x36ecf8[_0x1f2dfa(0x19f)][_0x1f2dfa(0x167)],'services':_0x36ecf8['manifests'][_0x1f2dfa(0x158)](summarizeLoadedManifest),'errors':_0x36ecf8['report'][_0x1f2dfa(0x193)],'warnings':_0x36ecf8[_0x1f2dfa(0x184)][_0x1f2dfa(0x15e)]},'message':formatValidationFailure(_0x36ecf8[_0x1f2dfa(0x184)])};if(_0x36ecf8['kind']===_0x1f2dfa(0x16f)||_0x36ecf8[_0x1f2dfa(0x19f)][_0x1f2dfa(0x167)]!==0x1)return{'ok':!![],'data':{'file':_0x36ecf8[_0x1f2dfa(0x18a)],'hash':_0x36ecf8[_0x1f2dfa(0x18d)],'kind':_0x36ecf8['kind'],'serviceCount':_0x36ecf8[_0x1f2dfa(0x19f)]['length'],'commandCount':_0x36ecf8[_0x1f2dfa(0x19f)][_0x1f2dfa(0x15b)]((_0x1bc656,_0x5dd32f)=>_0x1bc656+(_0x5dd32f[_0x1f2dfa(0x16d)]?.['commands']['length']??0x0),0x0),'services':_0x36ecf8[_0x1f2dfa(0x19f)][_0x1f2dfa(0x158)](summarizeLoadedManifest),'warnings':_0x36ecf8['report'][_0x1f2dfa(0x15e)]},'message':_0x1f2dfa(0x15d)};return{'ok':!![],'data':{'file':_0x36ecf8['filePath'],'hash':_0x36ecf8['hash'],'kind':_0x36ecf8[_0x1f2dfa(0x160)],'service':_0x36ecf8['normalizedManifest']?.[_0x1f2dfa(0x194)],'version':_0x36ecf8[_0x1f2dfa(0x16d)]?.[_0x1f2dfa(0x18b)],'commandCount':_0x36ecf8[_0x1f2dfa(0x16d)]?.[_0x1f2dfa(0x195)][_0x1f2dfa(0x167)]??0x0,'commands':_0x36ecf8[_0x1f2dfa(0x16d)]?.[_0x1f2dfa(0x195)][_0x1f2dfa(0x158)](_0x2bbcef=>({'path':_0x2bbcef[_0x1f2dfa(0x187)],'risk':_0x2bbcef['risk'],'target':_0x2bbcef['target']})),'warnings':_0x36ecf8[_0x1f2dfa(0x184)][_0x1f2dfa(0x15e)]},'message':_0x1f2dfa(0x18f)};}},{'service':'service','command':a39_0x1f7ebe(0x186),'description':a39_0x1f7ebe(0x198),'risk':a39_0x1f7ebe(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1d31f4){const _0xb81047=a39_0x1f7ebe,_0x37d5df=loadServiceManifestFromFile(_0x1d31f4['str']('file'));return{'method':_0xb81047(0x192),'url':getServiceRegistryPath(),'body':{'file':_0x37d5df['filePath'],'hash':_0x37d5df[_0xb81047(0x18d)],'kind':_0x37d5df[_0xb81047(0x160)],'ok':_0x37d5df[_0xb81047(0x184)]['ok'],'service':_0x37d5df[_0xb81047(0x16d)]?.[_0xb81047(0x194)],'version':_0x37d5df[_0xb81047(0x16d)]?.[_0xb81047(0x18b)],'serviceCount':_0x37d5df[_0xb81047(0x19f)][_0xb81047(0x167)],'services':_0x37d5df['manifests']['map'](_0x251020=>({'service':_0x251020[_0xb81047(0x16d)]?.[_0xb81047(0x194)],'version':_0x251020[_0xb81047(0x16d)]?.[_0xb81047(0x18b)],'commandCount':_0x251020[_0xb81047(0x16d)]?.[_0xb81047(0x195)][_0xb81047(0x167)]??0x0,'errors':_0x251020['report'][_0xb81047(0x193)]})),'errors':_0x37d5df[_0xb81047(0x184)][_0xb81047(0x193)],'commandCount':_0x37d5df[_0xb81047(0x16d)]?.[_0xb81047(0x195)][_0xb81047(0x167)]??0x0},'description':_0xb81047(0x17c)};},async 'execute'(_0x18d5b4){const _0x124181=a39_0x1f7ebe,_0x4584fd=importServiceManifest(_0x18d5b4[_0x124181(0x16a)](_0x124181(0x182)));if(_0x4584fd[_0x124181(0x175)][_0x124181(0x167)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4584fd['registryPath'],'imported':_0x4584fd['imported'],'updated':_0x4584fd[_0x124181(0x18e)],'serviceCount':_0x4584fd['serviceCount'],'services':_0x4584fd[_0x124181(0x175)][_0x124181(0x158)](summarizeService)},'message':_0x124181(0x15a)+_0x4584fd['imported']+_0x124181(0x177)+_0x4584fd['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x4584fd[_0x124181(0x157)],'replaced':_0x4584fd[_0x124181(0x19e)],'imported':_0x4584fd[_0x124181(0x197)],'updated':_0x4584fd[_0x124181(0x18e)],'serviceCount':_0x4584fd[_0x124181(0x176)],'service':summarizeService(_0x4584fd[_0x124181(0x188)])},'message':(_0x4584fd[_0x124181(0x19e)]?_0x124181(0x174):_0x124181(0x191))+_0x124181(0x169)+_0x4584fd[_0x124181(0x188)][_0x124181(0x17b)]+'.'};}},{'service':'service','command':a39_0x1f7ebe(0x190),'description':a39_0x1f7ebe(0x179),'risk':a39_0x1f7ebe(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x3226f1){const _0x35b4d0=a39_0x1f7ebe,_0x1ee81f=getLocalServiceEntry(_0x3226f1[_0x35b4d0(0x16a)](_0x35b4d0(0x194)));return{'method':_0x35b4d0(0x192),'url':_0x3226f1[_0x35b4d0(0x16a)]('file'),'body':{'service':_0x3226f1[_0x35b4d0(0x16a)](_0x35b4d0(0x194)),'found':Boolean(_0x1ee81f),'version':_0x1ee81f?.[_0x35b4d0(0x18b)],'source':_0x1ee81f?.[_0x35b4d0(0x1a0)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x3fd3b3){const _0x5795cd=a39_0x1f7ebe,_0x3f55eb=exportServiceManifest(_0x3fd3b3[_0x5795cd(0x16a)](_0x5795cd(0x194)),_0x3fd3b3[_0x5795cd(0x16a)](_0x5795cd(0x182)));return{'ok':!![],'data':{'registryPath':_0x3f55eb[_0x5795cd(0x157)],'file':_0x3f55eb[_0x5795cd(0x18a)],'service':summarizeService(_0x3f55eb[_0x5795cd(0x188)])},'message':_0x5795cd(0x196)+_0x3f55eb[_0x5795cd(0x188)][_0x5795cd(0x17b)]+'.'};}},{'service':a39_0x1f7ebe(0x194),'command':a39_0x1f7ebe(0x17f),'description':a39_0x1f7ebe(0x162),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4ef303=a39_0x1f7ebe,_0x3e2e3f=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3e2e3f[_0x4ef303(0x167)],'services':_0x3e2e3f['map'](summarizeService)}};}},{'service':'service','command':a39_0x1f7ebe(0x178),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a39_0x1f7ebe(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0xed5b5a){const _0x308c37=a39_0x1f7ebe,_0x251adc=getLocalServiceEntry(_0xed5b5a[_0x308c37(0x16a)](_0x308c37(0x194)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0xed5b5a[_0x308c37(0x16a)](_0x308c37(0x194)),'found':Boolean(_0x251adc),'version':_0x251adc?.[_0x308c37(0x18b)],'source':_0x251adc?.['source']},'description':_0x308c37(0x19a)};},async 'execute'(_0x22131f){const _0x2cc98e=a39_0x1f7ebe,_0x2b1957=removeServiceManifest(_0x22131f[_0x2cc98e(0x16a)](_0x2cc98e(0x194)));return{'ok':!![],'data':{'registryPath':_0x2b1957[_0x2cc98e(0x157)],'serviceCount':_0x2b1957[_0x2cc98e(0x176)],'service':summarizeService(_0x2b1957[_0x2cc98e(0x188)])},'message':_0x2cc98e(0x199)+_0x2b1957[_0x2cc98e(0x188)]['serviceCode']+'.'};}},{'service':a39_0x1f7ebe(0x194),'command':a39_0x1f7ebe(0x180),'description':a39_0x1f7ebe(0x15c),'risk':a39_0x1f7ebe(0x16e),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3f710c){const _0x4bedab=a39_0x1f7ebe,_0x3db08a=getLocalServiceEntry(_0x3f710c['str'](_0x4bedab(0x194)));if(!_0x3db08a)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3f710c['str']('service')},'message':_0x4bedab(0x164)+_0x3f710c[_0x4bedab(0x16a)](_0x4bedab(0x194))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3db08a),'manifest':_0x3db08a[_0x4bedab(0x15f)],'normalizedManifest':_0x3db08a['normalizedManifest']}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x4a99e8=a37_0x28ad;(function(_0x577f53,_0x2afc7f){const _0x9bd59=a37_0x28ad,_0x345193=_0x577f53();while(!![]){try{const _0xe145e7=parseInt(_0x9bd59(0x19b))/0x1*(-parseInt(_0x9bd59(0x195))/0x2)+parseInt(_0x9bd59(0x1a7))/0x3*(-parseInt(_0x9bd59(0x191))/0x4)+parseInt(_0x9bd59(0x194))/0x5*(-parseInt(_0x9bd59(0x1ce))/0x6)+-parseInt(_0x9bd59(0x18f))/0x7+-parseInt(_0x9bd59(0x199))/0x8*(parseInt(_0x9bd59(0x1d8))/0x9)+-parseInt(_0x9bd59(0x1c1))/0xa*(-parseInt(_0x9bd59(0x1cf))/0xb)+parseInt(_0x9bd59(0x1b5))/0xc*(parseInt(_0x9bd59(0x1c7))/0xd);if(_0xe145e7===_0x2afc7f)break;else _0x345193['push'](_0x345193['shift']());}catch(_0x14f4eb){_0x345193['push'](_0x345193['shift']());}}}(a37_0x35ad,0x7f6b1));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a37_0x35ad(){const _0x4a40f3=['service','now','services','sort','sha256','isArray','file','description','Service\x20manifest\x20file\x20not\x20found:\x20','cliPath','message','495408OObNQf','updatedAt','Local\x20service\x20not\x20found:\x20','digest','map','homeDirName','utf8','report','normalizedManifest','length','stringify','reduce','version','CliError','144ykVcXT','target','update','errors','code','schemaVersion','sourceHash','splice','Cannot\x20write\x20service\x20registry:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','.tmp','command','3106930XLSYms','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','commands','Service\x20manifest\x20validation\x20failed:\x0a','source','push','1580683MSvmBC','Invalid\x20service\x20manifest\x20JSON:\x20','startsWith','join','manifests','empty','service.json','2525280KzgsFf','33TRkUFd','toISOString','invalid','filePath','kind','string','Remove\x20or\x20migrate\x20','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest.','360xSFpRy','validation','Invalid\x20service\x20registry\x20JSON:\x20','manifest','findIndex','serviceCode','commandCount','warnings','registryIndex','find','4675419TUNGnZ','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','8Rvmdnk','trim','parse','5GbWrgf','2YDjsza','$.services[','flatMap','importedAt','82616fJeOHv','path','37117SnjfPW'];a37_0x35ad=function(){return _0x4a40f3;};return a37_0x35ad();}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a37_0x28ad(_0x58edb8,_0x2be1c2){_0x58edb8=_0x58edb8-0x186;const _0x35adfc=a37_0x35ad();let _0x28adf6=_0x35adfc[_0x58edb8];return _0x28adf6;}export const SERVICE_REGISTRY_FILE_NAME=a37_0x4a99e8(0x1cd);export function getServiceRegistryPath(_0x82be90={}){const _0x14cd27=a37_0x4a99e8;return resolve(_0x82be90['homeDir']??homedir(),PRODUCT_CONFIG[_0x14cd27(0x1ac)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x1246d1={}){const _0x3826fc=a37_0x4a99e8,_0xe0b0fe=getServiceRegistryPath(_0x1246d1);if(!existsSync(_0xe0b0fe))return emptyServiceRegistry();try{const _0x45a0c6=readFileSync(_0xe0b0fe,'utf8');if(!_0x45a0c6[_0x3826fc(0x192)]())return emptyServiceRegistry();const _0x464220=JSON[_0x3826fc(0x193)](_0x45a0c6);if(_0x464220[_0x3826fc(0x1ba)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation']('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x464220[_0x3826fc(0x1ba)]),_0x3826fc(0x1d5)+_0xe0b0fe+'.');if(!Array[_0x3826fc(0x1a1)](_0x464220[_0x3826fc(0x19e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x464220[_0x3826fc(0x1a8)],'services':_0x464220['services']};}catch(_0xc35ded){if(_0xc35ded instanceof Error&&_0xc35ded['name']===_0x3826fc(0x1b4))throw _0xc35ded;throw CliErrors[_0x3826fc(0x186)](_0x3826fc(0x187)+_0xe0b0fe,_0x3826fc(0x1c2));}}export function writeServiceRegistry(_0x41d860,_0x4635ca={}){const _0x39eaa6=a37_0x4a99e8,_0x570b76=getServiceRegistryPath(_0x4635ca),_0x3606d3=dirname(_0x570b76);!existsSync(_0x3606d3)&&mkdirSync(_0x3606d3,{'recursive':!![]});const _0x478a73=_0x570b76+_0x39eaa6(0x1bf);try{writeFileSync(_0x478a73,JSON[_0x39eaa6(0x1b1)](_0x41d860,null,0x2)+'\x0a',{'encoding':_0x39eaa6(0x1ad),'mode':0x180}),renameSync(_0x478a73,_0x570b76);}catch(_0x3b00db){try{unlinkSync(_0x478a73);}catch{}if(_0x3b00db?.[_0x39eaa6(0x1b9)]==='ENOENT')throw CliErrors[_0x39eaa6(0x186)](_0x39eaa6(0x1bd)+_0x570b76);throw _0x3b00db;}return _0x570b76;}export function loadServiceManifestFromFile(_0x31b257){const _0x499811=a37_0x4a99e8,_0x1fff8c=resolve(_0x31b257);if(!existsSync(_0x1fff8c))throw CliErrors[_0x499811(0x186)](_0x499811(0x1a4)+_0x31b257);let _0x5a09ee;const _0x2574d3=readFileSync(_0x1fff8c,'utf8');try{_0x5a09ee=JSON[_0x499811(0x193)](_0x2574d3);}catch{throw CliErrors['validation'](_0x499811(0x1c8)+_0x31b257,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x5b3b57=sha256(_0x2574d3),_0x410ddf=extractLoadedServiceManifests(_0x5a09ee,_0x5b3b57),_0x85c44d=aggregateValidationReports(_0x410ddf),_0xf7613a=_0x410ddf[0x0];return{'filePath':_0x1fff8c,'hash':_0x5b3b57,'kind':isServiceRegistryLike(_0x5a09ee)?'registry':_0x499811(0x188),'manifest':_0xf7613a?.[_0x499811(0x188)]??_0x5a09ee,'report':_0x85c44d,'normalizedManifest':_0x410ddf[_0x499811(0x1b0)]===0x1?_0xf7613a?.[_0x499811(0x1af)]:undefined,'manifests':_0x410ddf};}export function importServiceManifest(_0x3c7add,_0x1483f9={}){const _0x551de6=a37_0x4a99e8,_0x91da0b=loadServiceManifestFromFile(_0x3c7add);if(!_0x91da0b['report']['ok'])throw CliErrors[_0x551de6(0x186)](formatValidationFailure(_0x91da0b[_0x551de6(0x1ae)]),_0x551de6(0x1be));if(_0x91da0b[_0x551de6(0x1cb)][_0x551de6(0x1b0)]===0x0)throw CliErrors[_0x551de6(0x186)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x551de6(0x190));const _0x153f39=readServiceRegistry(_0x1483f9),_0x22399f=(_0x1483f9[_0x551de6(0x19d)]??(()=>new Date()))()['toISOString'](),_0x52a5ba=[];let _0x1f1cf1=0x0,_0x372278=0x0;for(const _0xa954b0 of _0x91da0b['manifests']){if(!_0xa954b0['normalizedManifest'])continue;const _0x2dd138=_0xa954b0[_0x551de6(0x1af)][_0x551de6(0x19c)]['code'],_0x425cc8={'serviceCode':_0x2dd138,'version':_0xa954b0[_0x551de6(0x1af)][_0x551de6(0x1b3)],'importedAt':_0x22399f,'source':{'type':_0x551de6(0x1a2),'path':_0x91da0b[_0x551de6(0x1d2)],'hash':_0xa954b0[_0x551de6(0x1bb)]},'manifest':_0xa954b0[_0x551de6(0x188)],'normalizedManifest':_0xa954b0[_0x551de6(0x1af)]},_0x369a8f=_0x153f39[_0x551de6(0x19e)][_0x551de6(0x189)](_0x43fe92=>_0x43fe92[_0x551de6(0x18a)]===_0x2dd138);_0x369a8f>=0x0?(_0x153f39[_0x551de6(0x19e)][_0x369a8f]=_0x425cc8,_0x372278++):(_0x153f39[_0x551de6(0x19e)][_0x551de6(0x1c6)](_0x425cc8),_0x1f1cf1++),_0x52a5ba['push'](_0x425cc8);}_0x153f39[_0x551de6(0x19e)][_0x551de6(0x19f)]((_0x105d52,_0xdd765d)=>_0x105d52['serviceCode']['localeCompare'](_0xdd765d['serviceCode'])),_0x153f39['updatedAt']=_0x22399f;const _0x1b69ee=writeServiceRegistry(_0x153f39,_0x1483f9);return{'registryPath':_0x1b69ee,'entry':_0x52a5ba[0x0],'replaced':_0x52a5ba[_0x551de6(0x1b0)]===0x1?_0x372278===0x1:_0x372278>0x0,'entries':_0x52a5ba,'imported':_0x1f1cf1,'updated':_0x372278,'serviceCount':_0x153f39[_0x551de6(0x19e)][_0x551de6(0x1b0)]};}export function exportServiceManifest(_0x166332,_0x2b28ca,_0x36241f={}){const _0x795b6b=a37_0x4a99e8,_0x3e1ae6=getServiceRegistryPath(_0x36241f),_0x4add59=getLocalServiceEntry(_0x166332,_0x36241f);if(!_0x4add59)throw CliErrors['validation'](_0x795b6b(0x1a9)+_0x166332,_0x795b6b(0x1d6));const _0x2baf77=resolve(_0x2b28ca),_0x324182=dirname(_0x2baf77);return!existsSync(_0x324182)&&mkdirSync(_0x324182,{'recursive':!![]}),writeFileSync(_0x2baf77,JSON[_0x795b6b(0x1b1)](_0x4add59[_0x795b6b(0x188)],null,0x2)+'\x0a',{'encoding':_0x795b6b(0x1ad),'mode':0x180}),{'registryPath':_0x3e1ae6,'filePath':_0x2baf77,'entry':_0x4add59};}export function removeServiceManifest(_0x1b3142,_0x1410d4={}){const _0x489d94=a37_0x4a99e8,_0x5a0262=readServiceRegistry(_0x1410d4),_0xfb94e5=_0x1b3142['trim'](),_0x242453=_0x5a0262[_0x489d94(0x19e)][_0x489d94(0x189)](_0x1bf5db=>_0x1bf5db[_0x489d94(0x18a)]===_0xfb94e5);if(_0x242453<0x0)throw CliErrors[_0x489d94(0x186)]('Local\x20service\x20not\x20found:\x20'+_0xfb94e5,_0x489d94(0x1d6));const [_0x1da881]=_0x5a0262['services'][_0x489d94(0x1bc)](_0x242453,0x1),_0x138937=(_0x1410d4[_0x489d94(0x19d)]??(()=>new Date()))()[_0x489d94(0x1d0)]();_0x5a0262[_0x489d94(0x1a8)]=_0x138937;const _0x4b9ae6=writeServiceRegistry(_0x5a0262,_0x1410d4);return{'registryPath':_0x4b9ae6,'entry':_0x1da881,'serviceCount':_0x5a0262[_0x489d94(0x19e)]['length']};}export function listLocalServices(_0x2b2615={}){const _0x348532=a37_0x4a99e8;return readServiceRegistry(_0x2b2615)[_0x348532(0x19e)];}export function getLocalServiceEntry(_0x313baa,_0xff6eb5={}){const _0x582534=a37_0x4a99e8;return readServiceRegistry(_0xff6eb5)[_0x582534(0x19e)][_0x582534(0x18e)](_0x5f41fa=>_0x5f41fa[_0x582534(0x18a)]===_0x313baa['trim']());}export function listLocalServiceTrees(_0x31f4ca={}){const _0x3291cd=a37_0x4a99e8;return readServiceRegistry(_0x31f4ca)[_0x3291cd(0x19e)]['map'](_0x35e2c6=>_0x35e2c6[_0x3291cd(0x1af)]);}export function inspectServiceRegistry(_0x1dc1dd={}){const _0x12c28a=a37_0x4a99e8,_0x3f81ab=getServiceRegistryPath(_0x1dc1dd);if(!existsSync(_0x3f81ab))return emptyServiceRegistryInspection(_0x3f81ab,'missing',![]);try{const _0x44f845=readFileSync(_0x3f81ab,'utf8');if(!_0x44f845['trim']())return emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1cc),!![]);const _0x401a0e=JSON[_0x12c28a(0x193)](_0x44f845);if(_0x401a0e[_0x12c28a(0x1ba)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3f81ab,'invalid',!![]),'schemaVersion':_0x401a0e[_0x12c28a(0x1ba)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x401a0e[_0x12c28a(0x1ba)])};if(!Array[_0x12c28a(0x1a1)](_0x401a0e[_0x12c28a(0x19e)]))return{...emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1d1),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x401a0e[_0x12c28a(0x1a8)],'message':'services\x20must\x20be\x20an\x20array'};const _0x14b651=_0x401a0e[_0x12c28a(0x19e)][_0x12c28a(0x1ab)](summarizeLocalServiceEntry);return{'registryPath':_0x3f81ab,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x401a0e['updatedAt'],'serviceCount':_0x14b651[_0x12c28a(0x1b0)],'commandCount':_0x14b651[_0x12c28a(0x1b2)]((_0x426781,_0x3ea12f)=>_0x426781+_0x3ea12f[_0x12c28a(0x18b)],0x0),'services':_0x14b651};}catch(_0x2533a1){return{...emptyServiceRegistryInspection(_0x3f81ab,_0x12c28a(0x1d1),!![]),'message':_0x2533a1 instanceof Error?_0x2533a1[_0x12c28a(0x1a6)]:String(_0x2533a1)};}}export function formatValidationFailure(_0x418154){const _0x5eb4b4=a37_0x4a99e8,_0xa0d45c=_0x418154[_0x5eb4b4(0x1b8)]['map'](_0x112a41=>_0x112a41[_0x5eb4b4(0x19a)]+':\x20'+_0x112a41['message']);return _0x5eb4b4(0x1c4)+_0xa0d45c[_0x5eb4b4(0x1ca)]('\x0a');}function extractLoadedServiceManifests(_0x2b3e0f,_0x4944bb){const _0x1d37c4=a37_0x4a99e8;if(!isServiceRegistryLike(_0x2b3e0f)){const _0x1fdfb9=_0x2b3e0f,_0x380148=validateServiceTreeManifest(_0x1fdfb9);return[{'manifest':_0x1fdfb9,'report':_0x380148,'normalizedManifest':_0x380148['ok']?normalizeServiceTreeManifest(_0x1fdfb9):undefined,'sourceHash':_0x4944bb}];}return _0x2b3e0f[_0x1d37c4(0x19e)]['map']((_0xdd071b,_0x2a4d67)=>{const _0x4cda1c=_0x1d37c4,_0x25e6ff=isObjectRecord(_0xdd071b)?_0xdd071b[_0x4cda1c(0x188)]:undefined,_0x1894f1=validateServiceTreeManifest(_0x25e6ff),_0x45ed6d=isObjectRecord(_0xdd071b)&&typeof _0xdd071b[_0x4cda1c(0x18a)]===_0x4cda1c(0x1d4)?_0xdd071b[_0x4cda1c(0x18a)]:undefined;return{'manifest':_0x25e6ff,'report':_0x1894f1,'normalizedManifest':_0x1894f1['ok']?normalizeServiceTreeManifest(_0x25e6ff):undefined,'sourceHash':sha256(JSON['stringify'](_0x25e6ff,null,0x2)+'\x0a'),'registryIndex':_0x2a4d67,'registryServiceCode':_0x45ed6d};});}function aggregateValidationReports(_0x4a21f9){const _0x3b4123=a37_0x4a99e8,_0x3d00e2=_0x4a21f9['flatMap'](_0x250a2d=>_0x250a2d[_0x3b4123(0x18d)]===undefined?_0x250a2d[_0x3b4123(0x1ae)]['errors']:_0x250a2d[_0x3b4123(0x1ae)]['errors'][_0x3b4123(0x1ab)](_0x51e1f6=>({..._0x51e1f6,'path':prefixRegistryIssuePath(_0x250a2d[_0x3b4123(0x18d)],_0x51e1f6[_0x3b4123(0x19a)])}))),_0x46de74=_0x4a21f9[_0x3b4123(0x197)](_0x415b7e=>_0x415b7e['registryIndex']===undefined?_0x415b7e[_0x3b4123(0x1ae)][_0x3b4123(0x18c)]:_0x415b7e[_0x3b4123(0x1ae)][_0x3b4123(0x18c)][_0x3b4123(0x1ab)](_0x309369=>({..._0x309369,'path':prefixRegistryIssuePath(_0x415b7e[_0x3b4123(0x18d)],_0x309369[_0x3b4123(0x19a)])})));return{'ok':_0x3d00e2[_0x3b4123(0x1b0)]===0x0,'errors':_0x3d00e2,'warnings':_0x46de74};}function prefixRegistryIssuePath(_0x595528,_0x272f3e){const _0x586657=a37_0x4a99e8;if(_0x272f3e==='$')return _0x586657(0x196)+_0x595528+'].manifest';if(_0x272f3e[_0x586657(0x1c9)]('$.'))return _0x586657(0x196)+_0x595528+'].manifest'+_0x272f3e['slice'](0x1);if(_0x272f3e[_0x586657(0x1c9)]('$['))return _0x586657(0x196)+_0x595528+'].manifest'+_0x272f3e['slice'](0x1);return _0x586657(0x196)+_0x595528+_0x586657(0x1d7)+_0x272f3e;}function isServiceRegistryLike(_0x4bcf9d){const _0x46eefd=a37_0x4a99e8;return isObjectRecord(_0x4bcf9d)&&_0x4bcf9d['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x4bcf9d[_0x46eefd(0x19e)]);}function isObjectRecord(_0x3d7a90){return Boolean(_0x3d7a90)&&typeof _0x3d7a90==='object'&&!Array['isArray'](_0x3d7a90);}function emptyServiceRegistryInspection(_0x8253ba,_0x306220,_0x1e7134){return{'registryPath':_0x8253ba,'exists':_0x1e7134,'status':_0x306220,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x509533){const _0xa2cce0=a37_0x4a99e8,_0x19dc92=_0x509533[_0xa2cce0(0x1af)],_0x2eb418=_0x19dc92[_0xa2cce0(0x1c3)][_0xa2cce0(0x1ab)](_0x595741=>({'path':_0x595741[_0xa2cce0(0x1a5)],'description':_0x595741[_0xa2cce0(0x1a3)],'risk':_0x595741['risk'],'targetKind':_0x595741[_0xa2cce0(0x1b6)][_0xa2cce0(0x1d3)],'targetCommand':_0x595741[_0xa2cce0(0x1b6)][_0xa2cce0(0x1c0)]}));return{'serviceCode':_0x509533[_0xa2cce0(0x18a)],'name':_0x19dc92['service']['name'],'description':_0x19dc92[_0xa2cce0(0x19c)][_0xa2cce0(0x1a3)],'version':_0x509533['version'],'importedAt':_0x509533[_0xa2cce0(0x198)],'source':_0x509533[_0xa2cce0(0x1c5)],'commandCount':_0x2eb418[_0xa2cce0(0x1b0)],'commands':_0x2eb418};}function sha256(_0x133ba4){const _0x475191=a37_0x4a99e8;return createHash(_0x475191(0x1a0))[_0x475191(0x1b7)](_0x133ba4)[_0x475191(0x1aa)]('hex');}
|
|
1
|
+
(function(_0xcd6f0a,_0x37e204){const _0x3b6cf9=a40_0x3ac9,_0x5091cf=_0xcd6f0a();while(!![]){try{const _0x5079a5=parseInt(_0x3b6cf9(0x1c3))/0x1+parseInt(_0x3b6cf9(0x201))/0x2*(-parseInt(_0x3b6cf9(0x1c5))/0x3)+parseInt(_0x3b6cf9(0x205))/0x4*(-parseInt(_0x3b6cf9(0x1f0))/0x5)+-parseInt(_0x3b6cf9(0x1fa))/0x6*(-parseInt(_0x3b6cf9(0x1f6))/0x7)+parseInt(_0x3b6cf9(0x1fb))/0x8*(-parseInt(_0x3b6cf9(0x1de))/0x9)+-parseInt(_0x3b6cf9(0x1e6))/0xa+parseInt(_0x3b6cf9(0x1f9))/0xb*(parseInt(_0x3b6cf9(0x1be))/0xc);if(_0x5079a5===_0x37e204)break;else _0x5091cf['push'](_0x5091cf['shift']());}catch(_0x5ddb7f){_0x5091cf['push'](_0x5091cf['shift']());}}}(a40_0x4789,0x401ed));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;function a40_0x3ac9(_0x1e8750,_0x4daab4){_0x1e8750=_0x1e8750-0x1b8;const _0x4789d3=a40_0x4789();let _0x3ac9e4=_0x4789d3[_0x1e8750];return _0x3ac9e4;}export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x1270b5={}){const _0x238da7=a40_0x3ac9;return resolve(_0x1270b5[_0x238da7(0x203)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3490b1={}){const _0x15c36c=a40_0x3ac9,_0x581b8c=getServiceRegistryPath(_0x3490b1);if(!existsSync(_0x581b8c))return emptyServiceRegistry();try{const _0x1da074=readFileSync(_0x581b8c,'utf8');if(!_0x1da074[_0x15c36c(0x1df)]())return emptyServiceRegistry();const _0x3ba762=JSON['parse'](_0x1da074);if(_0x3ba762[_0x15c36c(0x1ee)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x15c36c(0x1f4)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x3ba762[_0x15c36c(0x1ee)]),_0x15c36c(0x1da)+_0x581b8c+'.');if(!Array['isArray'](_0x3ba762[_0x15c36c(0x1d9)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ba762[_0x15c36c(0x1ca)],'services':_0x3ba762['services']};}catch(_0x1312ad){if(_0x1312ad instanceof Error&&_0x1312ad[_0x15c36c(0x1bd)]===_0x15c36c(0x202))throw _0x1312ad;throw CliErrors[_0x15c36c(0x1f4)](_0x15c36c(0x1d4)+_0x581b8c,_0x15c36c(0x1ea));}}export function writeServiceRegistry(_0x26f636,_0x2dae12={}){const _0x871c8d=a40_0x3ac9,_0x56d81f=getServiceRegistryPath(_0x2dae12),_0x5b1600=dirname(_0x56d81f);!existsSync(_0x5b1600)&&mkdirSync(_0x5b1600,{'recursive':!![]});const _0x5a9f43=_0x56d81f+'.tmp';try{writeFileSync(_0x5a9f43,JSON[_0x871c8d(0x1c4)](_0x26f636,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x5a9f43,_0x56d81f);}catch(_0x395b08){try{unlinkSync(_0x5a9f43);}catch{}if(_0x395b08?.['code']===_0x871c8d(0x1bc))throw CliErrors[_0x871c8d(0x1f4)](_0x871c8d(0x1cc)+_0x56d81f);throw _0x395b08;}return _0x56d81f;}export function loadServiceManifestFromFile(_0x51a363){const _0x436cd3=a40_0x3ac9,_0x226237=resolve(_0x51a363);if(!existsSync(_0x226237))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x51a363);let _0xc21b7;const _0x548e07=readFileSync(_0x226237,'utf8');try{_0xc21b7=JSON[_0x436cd3(0x1fe)](_0x548e07);}catch{throw CliErrors[_0x436cd3(0x1f4)](_0x436cd3(0x1d6)+_0x51a363,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x4a2ceb=sha256(_0x548e07),_0x580a15=extractLoadedServiceManifests(_0xc21b7,_0x4a2ceb),_0x3f78d1=aggregateValidationReports(_0x580a15),_0x597da3=_0x580a15[0x0];return{'filePath':_0x226237,'hash':_0x4a2ceb,'kind':isServiceRegistryLike(_0xc21b7)?'registry':_0x436cd3(0x1fd),'manifest':_0x597da3?.[_0x436cd3(0x1fd)]??_0xc21b7,'report':_0x3f78d1,'normalizedManifest':_0x580a15[_0x436cd3(0x1f3)]===0x1?_0x597da3?.[_0x436cd3(0x1c1)]:undefined,'manifests':_0x580a15};}export function importServiceManifest(_0x4d3590,_0x193cd8={}){const _0x4fdde0=a40_0x3ac9,_0x22722f=loadServiceManifestFromFile(_0x4d3590);if(!_0x22722f[_0x4fdde0(0x1bb)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x22722f[_0x4fdde0(0x1bb)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x22722f['manifests'][_0x4fdde0(0x1f3)]===0x0)throw CliErrors[_0x4fdde0(0x1f4)](_0x4fdde0(0x1cd),_0x4fdde0(0x1cf));const _0x108348=readServiceRegistry(_0x193cd8),_0x2090b7=(_0x193cd8['now']??(()=>new Date()))()[_0x4fdde0(0x1cb)](),_0x5ad709=[];let _0x106e8d=0x0,_0xf63c8=0x0;for(const _0x12c461 of _0x22722f[_0x4fdde0(0x1bf)]){if(!_0x12c461[_0x4fdde0(0x1c1)])continue;const _0xfec296=_0x12c461[_0x4fdde0(0x1c1)]['service'][_0x4fdde0(0x1c2)],_0x34e4c2={'serviceCode':_0xfec296,'version':_0x12c461[_0x4fdde0(0x1c1)]['version'],'importedAt':_0x2090b7,'source':{'type':'file','path':_0x22722f[_0x4fdde0(0x1dc)],'hash':_0x12c461[_0x4fdde0(0x1f5)]},'manifest':_0x12c461[_0x4fdde0(0x1fd)],'normalizedManifest':_0x12c461[_0x4fdde0(0x1c1)]},_0x1714ab=_0x108348['services']['findIndex'](_0xe5404e=>_0xe5404e[_0x4fdde0(0x1f7)]===_0xfec296);_0x1714ab>=0x0?(_0x108348[_0x4fdde0(0x1d9)][_0x1714ab]=_0x34e4c2,_0xf63c8++):(_0x108348[_0x4fdde0(0x1d9)][_0x4fdde0(0x1d8)](_0x34e4c2),_0x106e8d++),_0x5ad709['push'](_0x34e4c2);}_0x108348[_0x4fdde0(0x1d9)][_0x4fdde0(0x1ba)]((_0x201dad,_0x49a6fd)=>_0x201dad['serviceCode'][_0x4fdde0(0x1eb)](_0x49a6fd[_0x4fdde0(0x1f7)])),_0x108348['updatedAt']=_0x2090b7;const _0x45d8ad=writeServiceRegistry(_0x108348,_0x193cd8);return{'registryPath':_0x45d8ad,'entry':_0x5ad709[0x0],'replaced':_0x5ad709[_0x4fdde0(0x1f3)]===0x1?_0xf63c8===0x1:_0xf63c8>0x0,'entries':_0x5ad709,'imported':_0x106e8d,'updated':_0xf63c8,'serviceCount':_0x108348[_0x4fdde0(0x1d9)][_0x4fdde0(0x1f3)]};}export function exportServiceManifest(_0x545717,_0xd5cf33,_0x286678={}){const _0x21d6bf=a40_0x3ac9,_0x1a84fa=getServiceRegistryPath(_0x286678),_0x320211=getLocalServiceEntry(_0x545717,_0x286678);if(!_0x320211)throw CliErrors['validation'](_0x21d6bf(0x1ef)+_0x545717,_0x21d6bf(0x1d2));const _0x3c96f6=resolve(_0xd5cf33),_0x2dd422=dirname(_0x3c96f6);return!existsSync(_0x2dd422)&&mkdirSync(_0x2dd422,{'recursive':!![]}),writeFileSync(_0x3c96f6,JSON[_0x21d6bf(0x1c4)](_0x320211[_0x21d6bf(0x1fd)],null,0x2)+'\x0a',{'encoding':_0x21d6bf(0x1e8),'mode':0x180}),{'registryPath':_0x1a84fa,'filePath':_0x3c96f6,'entry':_0x320211};}export function removeServiceManifest(_0x178325,_0x209aba={}){const _0x4c7b19=a40_0x3ac9,_0x51914f=readServiceRegistry(_0x209aba),_0x4b3fad=_0x178325[_0x4c7b19(0x1df)](),_0x5e9db2=_0x51914f[_0x4c7b19(0x1d9)][_0x4c7b19(0x1c6)](_0x295555=>_0x295555['serviceCode']===_0x4b3fad);if(_0x5e9db2<0x0)throw CliErrors[_0x4c7b19(0x1f4)]('Local\x20service\x20not\x20found:\x20'+_0x4b3fad,_0x4c7b19(0x1d2));const [_0xf4b248]=_0x51914f[_0x4c7b19(0x1d9)][_0x4c7b19(0x1d5)](_0x5e9db2,0x1),_0x1f3440=(_0x209aba[_0x4c7b19(0x1f8)]??(()=>new Date()))()[_0x4c7b19(0x1cb)]();_0x51914f[_0x4c7b19(0x1ca)]=_0x1f3440;const _0x2981b9=writeServiceRegistry(_0x51914f,_0x209aba);return{'registryPath':_0x2981b9,'entry':_0xf4b248,'serviceCount':_0x51914f[_0x4c7b19(0x1d9)]['length']};}export function listLocalServices(_0x436e73={}){const _0x20b44b=a40_0x3ac9;return readServiceRegistry(_0x436e73)[_0x20b44b(0x1d9)];}function a40_0x4789(){const _0x50a9d3=['CliError','homeDir','version','664XNgRpO','flatMap','errors','service','Service\x20manifest\x20validation\x20failed:\x0a','sort','report','ENOENT','name','84dwRfWi','manifests','map','normalizedManifest','code','470835TxneXz','stringify','39updSOf','findIndex','isArray','commandCount','cliPath','updatedAt','toISOString','Cannot\x20write\x20service\x20registry:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','source','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','message','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sha256','Invalid\x20service\x20registry\x20JSON:\x20','splice','Invalid\x20service\x20manifest\x20JSON:\x20','target','push','services','Remove\x20or\x20migrate\x20','update','filePath','invalid','4018185zsmAMJ','trim','$.services[','find','command','path','string','description','928770vuSxyk','].manifest','utf8','services\x20must\x20be\x20an\x20array','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','localeCompare','warnings','kind','schemaVersion','Local\x20service\x20not\x20found:\x20','9965DXJaVk','risk','missing','length','validation','sourceHash','38038lnQDsc','serviceCode','now','1130613Bwzjtw','492xljHvo','8bnwdCS','startsWith','manifest','parse','hex','join','77398zfrYzX'];a40_0x4789=function(){return _0x50a9d3;};return a40_0x4789();}export function getLocalServiceEntry(_0x1489d4,_0x1d2b00={}){const _0x3edd8f=a40_0x3ac9;return readServiceRegistry(_0x1d2b00)[_0x3edd8f(0x1d9)][_0x3edd8f(0x1e1)](_0x228572=>_0x228572[_0x3edd8f(0x1f7)]===_0x1489d4['trim']());}export function listLocalServiceTrees(_0x27b99d={}){const _0x42599f=a40_0x3ac9;return readServiceRegistry(_0x27b99d)[_0x42599f(0x1d9)][_0x42599f(0x1c0)](_0x5b40b2=>_0x5b40b2[_0x42599f(0x1c1)]);}export function inspectServiceRegistry(_0x38d4c6={}){const _0x418de1=a40_0x3ac9,_0x2f55af=getServiceRegistryPath(_0x38d4c6);if(!existsSync(_0x2f55af))return emptyServiceRegistryInspection(_0x2f55af,_0x418de1(0x1f2),![]);try{const _0x19c47f=readFileSync(_0x2f55af,'utf8');if(!_0x19c47f[_0x418de1(0x1df)]())return emptyServiceRegistryInspection(_0x2f55af,'empty',!![]);const _0x4b9794=JSON[_0x418de1(0x1fe)](_0x19c47f);if(_0x4b9794[_0x418de1(0x1ee)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2f55af,'invalid',!![]),'schemaVersion':_0x4b9794['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x4b9794[_0x418de1(0x1ee)])};if(!Array['isArray'](_0x4b9794[_0x418de1(0x1d9)]))return{...emptyServiceRegistryInspection(_0x2f55af,_0x418de1(0x1dd),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4b9794['updatedAt'],'message':_0x418de1(0x1e9)};const _0x284290=_0x4b9794[_0x418de1(0x1d9)][_0x418de1(0x1c0)](summarizeLocalServiceEntry);return{'registryPath':_0x2f55af,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4b9794['updatedAt'],'serviceCount':_0x284290[_0x418de1(0x1f3)],'commandCount':_0x284290['reduce']((_0x1d7346,_0x3c52f1)=>_0x1d7346+_0x3c52f1[_0x418de1(0x1c8)],0x0),'services':_0x284290};}catch(_0x4f4014){return{...emptyServiceRegistryInspection(_0x2f55af,_0x418de1(0x1dd),!![]),'message':_0x4f4014 instanceof Error?_0x4f4014[_0x418de1(0x1d1)]:String(_0x4f4014)};}}export function formatValidationFailure(_0x36efc7){const _0x596322=a40_0x3ac9,_0x471f08=_0x36efc7[_0x596322(0x207)][_0x596322(0x1c0)](_0x565187=>_0x565187[_0x596322(0x1e3)]+':\x20'+_0x565187[_0x596322(0x1d1)]);return _0x596322(0x1b9)+_0x471f08[_0x596322(0x200)]('\x0a');}function extractLoadedServiceManifests(_0x2d900c,_0x11c5d0){const _0x34c74f=a40_0x3ac9;if(!isServiceRegistryLike(_0x2d900c)){const _0x58d251=_0x2d900c,_0x235b59=validateServiceTreeManifest(_0x58d251);return[{'manifest':_0x58d251,'report':_0x235b59,'normalizedManifest':_0x235b59['ok']?normalizeServiceTreeManifest(_0x58d251):undefined,'sourceHash':_0x11c5d0}];}return _0x2d900c[_0x34c74f(0x1d9)][_0x34c74f(0x1c0)]((_0x51dd19,_0x5c8564)=>{const _0x4c1b66=_0x34c74f,_0x3b47f5=isObjectRecord(_0x51dd19)?_0x51dd19['manifest']:undefined,_0x457caf=validateServiceTreeManifest(_0x3b47f5),_0x14d64d=isObjectRecord(_0x51dd19)&&typeof _0x51dd19[_0x4c1b66(0x1f7)]===_0x4c1b66(0x1e4)?_0x51dd19['serviceCode']:undefined;return{'manifest':_0x3b47f5,'report':_0x457caf,'normalizedManifest':_0x457caf['ok']?normalizeServiceTreeManifest(_0x3b47f5):undefined,'sourceHash':sha256(JSON[_0x4c1b66(0x1c4)](_0x3b47f5,null,0x2)+'\x0a'),'registryIndex':_0x5c8564,'registryServiceCode':_0x14d64d};});}function aggregateValidationReports(_0x29ce13){const _0x56e840=a40_0x3ac9,_0x2ad81c=_0x29ce13[_0x56e840(0x206)](_0xe399d2=>_0xe399d2[_0x56e840(0x1d0)]===undefined?_0xe399d2[_0x56e840(0x1bb)][_0x56e840(0x207)]:_0xe399d2[_0x56e840(0x1bb)][_0x56e840(0x207)]['map'](_0xaef70d=>({..._0xaef70d,'path':prefixRegistryIssuePath(_0xe399d2[_0x56e840(0x1d0)],_0xaef70d[_0x56e840(0x1e3)])}))),_0x50de36=_0x29ce13['flatMap'](_0x48a924=>_0x48a924[_0x56e840(0x1d0)]===undefined?_0x48a924[_0x56e840(0x1bb)]['warnings']:_0x48a924[_0x56e840(0x1bb)][_0x56e840(0x1ec)][_0x56e840(0x1c0)](_0xf5789e=>({..._0xf5789e,'path':prefixRegistryIssuePath(_0x48a924[_0x56e840(0x1d0)],_0xf5789e[_0x56e840(0x1e3)])})));return{'ok':_0x2ad81c['length']===0x0,'errors':_0x2ad81c,'warnings':_0x50de36};}function prefixRegistryIssuePath(_0x3dd705,_0x421b23){const _0x225cdc=a40_0x3ac9;if(_0x421b23==='$')return'$.services['+_0x3dd705+'].manifest';if(_0x421b23['startsWith']('$.'))return _0x225cdc(0x1e0)+_0x3dd705+_0x225cdc(0x1e7)+_0x421b23['slice'](0x1);if(_0x421b23[_0x225cdc(0x1fc)]('$['))return _0x225cdc(0x1e0)+_0x3dd705+'].manifest'+_0x421b23['slice'](0x1);return _0x225cdc(0x1e0)+_0x3dd705+'].manifest.'+_0x421b23;}function isServiceRegistryLike(_0x3c1a34){const _0xa9383f=a40_0x3ac9;return isObjectRecord(_0x3c1a34)&&_0x3c1a34[_0xa9383f(0x1ee)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x3c1a34['services']);}function isObjectRecord(_0x37fc36){const _0x46f50e=a40_0x3ac9;return Boolean(_0x37fc36)&&typeof _0x37fc36==='object'&&!Array[_0x46f50e(0x1c7)](_0x37fc36);}function emptyServiceRegistryInspection(_0x51600b,_0x3c2c6c,_0xf5a07e){return{'registryPath':_0x51600b,'exists':_0xf5a07e,'status':_0x3c2c6c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x43e3f1){const _0x566985=a40_0x3ac9,_0x3a4b2b=_0x43e3f1[_0x566985(0x1c1)],_0xd5da69=_0x3a4b2b['commands'][_0x566985(0x1c0)](_0x311856=>({'path':_0x311856[_0x566985(0x1c9)],'description':_0x311856[_0x566985(0x1e5)],'risk':_0x311856[_0x566985(0x1f1)],'targetKind':_0x311856[_0x566985(0x1d7)][_0x566985(0x1ed)],'targetCommand':_0x311856[_0x566985(0x1d7)][_0x566985(0x1e2)]}));return{'serviceCode':_0x43e3f1[_0x566985(0x1f7)],'name':_0x3a4b2b[_0x566985(0x1b8)]['name'],'description':_0x3a4b2b['service']['description'],'version':_0x43e3f1[_0x566985(0x204)],'importedAt':_0x43e3f1['importedAt'],'source':_0x43e3f1[_0x566985(0x1ce)],'commandCount':_0xd5da69[_0x566985(0x1f3)],'commands':_0xd5da69};}function sha256(_0x492624){const _0x33cc84=a40_0x3ac9;return createHash(_0x33cc84(0x1d3))[_0x33cc84(0x1db)](_0x492624)['digest'](_0x33cc84(0x1ff));}
|