@lovrabet/lovrabet-cli 2.1.7 → 2.1.8-beta.2
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
|
+
const a31_0x1142f5=a31_0x3cfe;(function(_0x533623,_0x2201c1){const _0xe3b47c=a31_0x3cfe,_0x27843e=_0x533623();while(!![]){try{const _0x2e48b1=-parseInt(_0xe3b47c(0x1d1))/0x1+-parseInt(_0xe3b47c(0x19e))/0x2*(-parseInt(_0xe3b47c(0x195))/0x3)+parseInt(_0xe3b47c(0x1bc))/0x4*(parseInt(_0xe3b47c(0x18b))/0x5)+parseInt(_0xe3b47c(0x1b3))/0x6+parseInt(_0xe3b47c(0x1c0))/0x7*(-parseInt(_0xe3b47c(0x1c9))/0x8)+-parseInt(_0xe3b47c(0x1cc))/0x9*(-parseInt(_0xe3b47c(0x1c3))/0xa)+-parseInt(_0xe3b47c(0x1a3))/0xb*(-parseInt(_0xe3b47c(0x1a6))/0xc);if(_0x2e48b1===_0x2201c1)break;else _0x27843e['push'](_0x27843e['shift']());}catch(_0x35aba3){_0x27843e['push'](_0x27843e['shift']());}}}(a31_0x5394,0xda0ba));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_0x1142f5(0x1b2),'type':a31_0x1142f5(0x1b5),'description':a31_0x1142f5(0x197)},{'name':a31_0x1142f5(0x1a5),'type':a31_0x1142f5(0x1b5),'description':'Target\x20environment\x20(default\x20'+DEFAULT_CONFIG_VALUES[a31_0x1142f5(0x1a5)]+')','enum':[...RUNTIME_ENV_VALUES]},{'name':a31_0x1142f5(0x1d2),'type':'boolean','description':a31_0x1142f5(0x1bf)+PRODUCT_CONFIG['newConfigFileName']+a31_0x1142f5(0x1c4),'default':![]},{'name':a31_0x1142f5(0x1cb),'type':a31_0x1142f5(0x1b0),'description':a31_0x1142f5(0x1bd),'default':![]}];export const initImportFlagDefs=[{'name':'file','type':a31_0x1142f5(0x1b5),'description':a31_0x1142f5(0x19d),'required':!![]},{'name':'appcode','type':a31_0x1142f5(0x1b5),'description':a31_0x1142f5(0x191)},{'name':a31_0x1142f5(0x1a5),'type':a31_0x1142f5(0x1b5),'description':'Override\x20imported\x20default\x20env','enum':[...RUNTIME_ENV_VALUES]},{'name':a31_0x1142f5(0x1d2),'type':'boolean','description':a31_0x1142f5(0x1bf)+PRODUCT_CONFIG[a31_0x1142f5(0x1b7)]+a31_0x1142f5(0x1c4),'default':![]},{'name':a31_0x1142f5(0x1cb),'type':'boolean','description':a31_0x1142f5(0x1bd),'default':![]}];export async function runInit(_0x370fbd){const _0x231dd6=a31_0x1142f5,_0xfc50ed=isNonInteractiveMode(_0x370fbd),_0x438f41=_0x370fbd[_0x231dd6(0x1d2)]?_0x231dd6(0x1d2):_0x231dd6(0x1a9),_0x1a4972=resolveWriteConfigPath(_0x438f41);try{_0xfc50ed?await runNonInteractive(_0x370fbd,_0x1a4972):await runInteractive(_0x370fbd,_0x1a4972);}catch(_0xd68c){if(_0xd68c instanceof AbortPrompt)throw CliErrors[_0x231dd6(0x1ae)]();throw _0xd68c;}}function a31_0x3cfe(_0x3681b6,_0x2c916c){_0x3681b6=_0x3681b6-0x18b;const _0x539426=a31_0x5394();let _0x3cfe77=_0x539426[_0x3681b6];return _0x3cfe77;}export async function runInitImport(_0x4da698){const _0xbc8f09=a31_0x1142f5,_0x5d4892=_0x4da698[_0xbc8f09(0x1d2)]?_0xbc8f09(0x1d2):_0xbc8f09(0x1a9),_0x492fef=resolveWriteConfigPath(_0x5d4892);await runFromImport(_0x4da698,_0x492fef);}const RUNTIME_IRRELEVANT_KEYS=new Set(['apiDir']);async function runFromImport(_0x57f07b,_0x2b8f74){const _0x5ca36a=a31_0x1142f5,_0x11195b=resolveFilePath(_0x57f07b['file']);if(!existsSync(_0x11195b))throw CliErrors[_0x5ca36a(0x193)]('Source\x20file\x20not\x20found:\x20'+_0x11195b);const _0x17eaad=readSourceFile(_0x11195b),_0x5112f1=convertToRuntimeConfig(_0x17eaad);_0x57f07b[_0x5ca36a(0x1b2)]&&(_0x5112f1[_0x5ca36a(0x1b2)]=String(_0x57f07b[_0x5ca36a(0x1b2)]));_0x57f07b[_0x5ca36a(0x1a5)]&&(_0x5112f1[_0x5ca36a(0x1a5)]=resolveInitEnv(_0x57f07b));if(!_0x5112f1[_0x5ca36a(0x1b2)])throw CliErrors[_0x5ca36a(0x193)](_0x5ca36a(0x1aa),_0x5ca36a(0x192));await writeInitConfig(_0x2b8f74,_0x5112f1,_0x57f07b),console['log'](_0x5ca36a(0x1af)+_0x11195b),console[_0x5ca36a(0x1c1)](_0x5ca36a(0x18c)+_0x2b8f74),console[_0x5ca36a(0x1c1)](_0x5ca36a(0x19f)+_0x5112f1['appcode']);if(_0x5112f1[_0x5ca36a(0x1b4)])console[_0x5ca36a(0x1c1)](_0x5ca36a(0x1ba)+_0x5112f1[_0x5ca36a(0x1b4)]);}function a31_0x5394(){const _0x270919=['stdout','[y/N]','project','Source\x20file\x20does\x20not\x20contain\x20an\x20importable\x20appcode.','cwd','toLowerCase','message','cancelled','Imported\x20from\x20','boolean','App\x20code\x20cannot\x20be\x20empty.','appcode','9843054Qvsixb','defaultApp','string','\x20init\x20—\x20Create\x20','newConfigFileName','\x20app\x20init\x20--appcode\x20<code>\x20[--env\x20daily]\x20[--global]','Invalid\x20env\x20\x22','\x20\x20default:\x20','[Y/n]','1666292SmDcqo','Skip\x20confirmation\x20when\x20overwriting','AbortPrompt','Write\x20to\x20global\x20(~/','1911JoIWqm','log','Run\x20`rabetbase\x20project\x20upgrade`\x20first,\x20then\x20retry\x20`lovrabet\x20app\x20import`.','240EeYzlf',')\x20instead\x20of\x20project','utf8','Failed\x20to\x20parse\x20source\x20file:\x20','entries','once','13960hiqSUo','removeListener','yes','23337Jkgqbj','riskLevel','close','stdin','\x20\x20env:\x20\x20\x20\x20\x20','1459024cEEUXj','global','10xcjewE','\x20\x20config:\x20\x20','\x0aInitialized\x20','race','Aborted.','trim','Override\x20imported\x20default\x20appcode','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`.','validation','app','237bosxTM','includes','App\x20code\x20for\x20the\x20project','question','apps','object','Initialized\x20','SIGINT','Import\x20from\x20a\x20.rabetbase.json\x20file\x20path','822WGMqaI','\x20\x20appcode:\x20','):\x20','name','User\x20aborted\x20prompt','11odKTWu','App\x20code','env','3122004EnsMzP'];a31_0x5394=function(){return _0x270919;};return a31_0x5394();}function convertToRuntimeConfig(_0x55039b){const _0x3a8b1c=a31_0x1142f5;if(_0x55039b[_0x3a8b1c(0x199)]&&typeof _0x55039b['apps']===_0x3a8b1c(0x19a))throw CliErrors[_0x3a8b1c(0x193)]('Legacy\x20/\x20multi-app\x20.rabetbase.json\x20is\x20no\x20longer\x20supported\x20for\x20import.',_0x3a8b1c(0x1c2));const _0x5256c8={};for(const _0x4e616c of IMPORTABLE_RUNTIME_CONFIG_KEYS){_0x55039b[_0x4e616c]!==undefined&&(_0x5256c8[_0x4e616c]=_0x55039b[_0x4e616c]);}return!_0x5256c8['riskLevel']&&(_0x5256c8[_0x3a8b1c(0x1cd)]=DEFAULT_CONFIG_VALUES['riskLevel']),_0x5256c8;}async function runNonInteractive(_0x4d3387,_0x1a4287){const _0x2e65a1=a31_0x1142f5,_0x1d549f=_0x4d3387[_0x2e65a1(0x1b2)];if(!_0x1d549f)throw CliErrors['flagMissing'](_0x2e65a1(0x1b2),'Usage:\x20'+CLI_BIN_NAME+_0x2e65a1(0x1b8));const _0x2755a6=resolveInitEnv(_0x4d3387);await writeInitConfig(_0x1a4287,{'appcode':_0x1d549f,'env':_0x2755a6},_0x4d3387),console[_0x2e65a1(0x1c1)](_0x2e65a1(0x19b)+_0x1a4287),console['log']('\x20\x20appcode:\x20'+_0x1d549f),console[_0x2e65a1(0x1c1)](_0x2e65a1(0x1d0)+_0x2755a6);}async function runInteractive(_0x257983,_0x5c9846){const _0x3f96bf=a31_0x1142f5,_0x1b525d=loadExisting(_0x5c9846),_0x26f57e=typeof _0x1b525d?.[_0x3f96bf(0x1b2)]===_0x3f96bf(0x1b5)?_0x1b525d['appcode']:'',_0x36f797=resolveInitEnv(_0x257983);console[_0x3f96bf(0x1c1)](CLI_BIN_NAME+_0x3f96bf(0x1b6)+PRODUCT_CONFIG[_0x3f96bf(0x1b7)]+'\x0a');if(existsSync(_0x5c9846)&&!_0x257983['yes']){const _0x1276e7=await promptYesNo('File\x20'+_0x5c9846+'\x20already\x20exists.\x20Overwrite?',![]);if(!_0x1276e7){console['log'](_0x3f96bf(0x18f));return;}}const _0x104251=typeof _0x257983[_0x3f96bf(0x1b2)]===_0x3f96bf(0x1b5)?_0x257983[_0x3f96bf(0x1b2)][_0x3f96bf(0x190)]():'';let _0x30cc24=_0x104251;!_0x30cc24&&(_0x30cc24=await promptInput(_0x3f96bf(0x1a4),_0x26f57e));if(!_0x30cc24[_0x3f96bf(0x190)]())throw CliErrors[_0x3f96bf(0x193)](_0x3f96bf(0x1b1));await writeInitConfig(_0x5c9846,{'appcode':_0x30cc24[_0x3f96bf(0x190)](),'env':_0x36f797},_0x257983),console[_0x3f96bf(0x1c1)](_0x3f96bf(0x18d)+_0x5c9846),console[_0x3f96bf(0x1c1)]('\x20\x20appcode:\x20'+_0x30cc24['trim']()),console[_0x3f96bf(0x1c1)](_0x3f96bf(0x1d0)+_0x36f797);}async function writeInitConfig(_0x5a9c61,_0x3d8b8d,_0x3714aa){const _0x51fb9e=a31_0x1142f5;let _0xbad8df={};existsSync(_0x5a9c61)&&!_0x3714aa['yes']&&(_0xbad8df=readConfigFile(_0x5a9c61));for(const [_0x266c77,_0x22643f]of Object[_0x51fb9e(0x1c7)](_0x3d8b8d)){_0x22643f!==undefined&&(_0xbad8df[_0x266c77]=_0x22643f);}if(_0xbad8df[_0x51fb9e(0x194)])delete _0xbad8df[_0x51fb9e(0x194)];writeConfigFile(_0x5a9c61,_0xbad8df);}class AbortPrompt extends Error{constructor(){const _0xfbb5b6=a31_0x1142f5;super(_0xfbb5b6(0x1a2)),this[_0xfbb5b6(0x1a1)]=_0xfbb5b6(0x1be);}}function createSafeRl(){const _0x223cec=a31_0x1142f5,_0x28dcf5=createInterface({'input':process[_0x223cec(0x1cf)],'output':process[_0x223cec(0x1a7)]});let _0xed93c9;const _0x4eaab6=new Promise((_0x21230e,_0x5ef0db)=>{const _0x3e08d1=_0x223cec;_0xed93c9=()=>{const _0x283b4f=a31_0x3cfe;_0xed93c9&&(_0x28dcf5[_0x283b4f(0x1ca)](_0x283b4f(0x19c),_0xed93c9),_0xed93c9=undefined);try{_0x28dcf5['close']();}catch{}_0x5ef0db(new AbortPrompt());},_0x28dcf5[_0x3e08d1(0x1c8)]('SIGINT',_0xed93c9);}),_0x255486=()=>{const _0x30abce=_0x223cec;_0xed93c9&&(_0x28dcf5[_0x30abce(0x1ca)](_0x30abce(0x19c),_0xed93c9),_0xed93c9=undefined);try{_0x28dcf5[_0x30abce(0x1ce)]();}catch{}};return{'rl':_0x28dcf5,'abortPromise':_0x4eaab6,'disposeSuccess':_0x255486};}async function promptInput(_0x256be3,_0x1d0b39){const {rl:_0x36218c,abortPromise:_0x41f220,disposeSuccess:_0x5b16ba}=createSafeRl(),_0xa29be4=new Promise(_0x1af367=>{const _0x52edc1=a31_0x3cfe,_0x2e64ee=_0x1d0b39?'\x20\x20'+_0x256be3+'\x20('+_0x1d0b39+_0x52edc1(0x1a0):'\x20\x20'+_0x256be3+':\x20';_0x36218c[_0x52edc1(0x198)](_0x2e64ee,_0x1610b6=>{const _0x22b422=_0x52edc1;_0x5b16ba(),_0x1af367(_0x1610b6[_0x22b422(0x190)]()||_0x1d0b39);});});return Promise['race']([_0xa29be4,_0x41f220]);}async function promptYesNo(_0x1f59bb,_0x29c948){const _0x4aec73=a31_0x1142f5,{rl:_0x51c4b3,abortPromise:_0x1584f9,disposeSuccess:_0x145c90}=createSafeRl(),_0x59cf86=new Promise(_0x59ebab=>{const _0x2622db=a31_0x3cfe,_0x40a9b8=_0x29c948?_0x2622db(0x1bb):_0x2622db(0x1a8);_0x51c4b3[_0x2622db(0x198)]('\x20\x20'+_0x1f59bb+'\x20'+_0x40a9b8+':\x20',_0x33f46d=>{const _0x1a1124=_0x2622db;_0x145c90();const _0x36b301=_0x33f46d[_0x1a1124(0x190)]()[_0x1a1124(0x1ac)]();if(_0x36b301==='y'||_0x36b301===_0x1a1124(0x1cb))_0x59ebab(!![]);else{if(_0x36b301==='n'||_0x36b301==='no')_0x59ebab(![]);else _0x59ebab(_0x29c948);}});});return Promise[_0x4aec73(0x18e)]([_0x59cf86,_0x1584f9]);}function loadExisting(_0x1ada15){if(!existsSync(_0x1ada15))return null;return readConfigFile(_0x1ada15);}function resolveFilePath(_0x333174){const _0x4b7604=a31_0x1142f5;return isAbsolute(_0x333174)?_0x333174:resolve(process[_0x4b7604(0x1ab)](),_0x333174);}function readSourceFile(_0x3a39b5){const _0x222b90=a31_0x1142f5;try{const _0x538553=readFileSync(_0x3a39b5,{'encoding':_0x222b90(0x1c5)});return JSON['parse'](_0x538553);}catch(_0x1ee26b){throw CliErrors['validation'](_0x222b90(0x1c6)+_0x1ee26b[_0x222b90(0x1ad)]);}}function resolveInitEnv(_0x5a8465){const _0x809807=a31_0x1142f5,_0x503e85=_0x5a8465[_0x809807(0x1a5)];if(_0x503e85===undefined||_0x503e85==='')return DEFAULT_CONFIG_VALUES[_0x809807(0x1a5)];if(!RUNTIME_ENV_VALUES[_0x809807(0x196)](_0x503e85))throw CliErrors[_0x809807(0x193)](_0x809807(0x1b9)+_0x503e85+'\x22.\x20Allowed:\x20'+RUNTIME_ENV_VALUES['join'](',\x20'));return _0x503e85;}
|
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a32_0x503b1c=a32_0x3eb7;function a32_0x3eb7(_0x2fc870,_0x4f6f49){_0x2fc870=_0x2fc870-0x1b7;const _0x7e671f=a32_0x7e67();let _0x3eb773=_0x7e671f[_0x2fc870];return _0x3eb773;}(function(_0x2f16bf,_0x626c43){const _0x60e687=a32_0x3eb7,_0x42acb9=_0x2f16bf();while(!![]){try{const _0x2d7d0d=parseInt(_0x60e687(0x1d0))/0x1*(-parseInt(_0x60e687(0x1e4))/0x2)+parseInt(_0x60e687(0x1e7))/0x3+parseInt(_0x60e687(0x1de))/0x4+-parseInt(_0x60e687(0x1cc))/0x5*(parseInt(_0x60e687(0x1dd))/0x6)+parseInt(_0x60e687(0x1cb))/0x7*(-parseInt(_0x60e687(0x1e3))/0x8)+parseInt(_0x60e687(0x1c2))/0x9+parseInt(_0x60e687(0x1f5))/0xa*(-parseInt(_0x60e687(0x1ca))/0xb);if(_0x2d7d0d===_0x626c43)break;else _0x42acb9['push'](_0x42acb9['shift']());}catch(_0x36476a){_0x42acb9['push'](_0x42acb9['shift']());}}}(a32_0x7e67,0x6623e));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';function a32_0x7e67(){const _0x219137=['topk','trim','Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','ragErrorMessage','score','90XbowVO','number','create','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','read','flag','write','/update','query','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','description','file','map','POST','bool','6703875zoECIE','title','isFinite','Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','length','utf8','updateTime','Personal\x20knowledge-base\x20entry\x20title','352561FMMIWd','77854McuEJr','266810bAsOrK','Personal\x20knowledge-base\x20entry\x20ID','appCode','metadata','19xNnaQc','scope','body','detail','update','--topk\x20must\x20be\x20a\x20positive\x20number.','Updated\x20KB\x20entry\x20','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','str','userId','num','Created\x20KB\x20entry\x20','Override\x20the\x20existing\x20entry\x20title','66pHBrlG','3255412sMSfXt','verbose','Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge','ragStatus','content','448tzAKnP','31090wDKYGc','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','list','1959798eTIMMq','validation','version','createTime','weightedScore','build','List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','/client/knowledge-base/personal/','string'];a32_0x7e67=function(){return _0x219137;};return a32_0x7e67();}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':'title','type':a32_0x503b1c(0x1ef),'required':!![],'description':a32_0x503b1c(0x1c9)},FILE_FLAG={'name':a32_0x503b1c(0x1be),'type':'string','required':!![],'description':a32_0x503b1c(0x1f8)},QUERY_FLAG={'name':'query','type':a32_0x503b1c(0x1ef),'required':!![],'description':a32_0x503b1c(0x1e0)},TOPK_FLAG={'name':a32_0x503b1c(0x1f0),'type':a32_0x503b1c(0x1f6),'description':a32_0x503b1c(0x1bc)};function readKnowledgeFile(_0x17ec87){const _0x4b0dfb=a32_0x503b1c;if(!_0x17ec87)throw CliErrors[_0x4b0dfb(0x1e8)]('File\x20path\x20is\x20required.');if(!existsSync(_0x17ec87))throw CliErrors[_0x4b0dfb(0x1e8)]('File\x20not\x20found:\x20'+_0x17ec87);if(!statSync(_0x17ec87)['isFile']())throw CliErrors[_0x4b0dfb(0x1e8)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x17ec87);return readFileSync(_0x17ec87,_0x4b0dfb(0x1c7));}function summarizePersonalItem(_0x227d0a){const _0x1b614b=a32_0x503b1c;return{'id':_0x227d0a['id'],'title':_0x227d0a['title'],'version':_0x227d0a[_0x1b614b(0x1e9)],'ragStatus':_0x227d0a[_0x1b614b(0x1e1)],'ragErrorMessage':_0x227d0a[_0x1b614b(0x1f3)],'updateTime':_0x227d0a[_0x1b614b(0x1c8)]};}function detailPersonalItem(_0x1daf41){const _0x284ba9=a32_0x503b1c;return{'id':_0x1daf41['id'],'appCode':_0x1daf41[_0x284ba9(0x1ce)],'scope':_0x1daf41[_0x284ba9(0x1d1)],'userId':_0x1daf41[_0x284ba9(0x1d9)],'title':_0x1daf41[_0x284ba9(0x1c3)],'content':_0x1daf41[_0x284ba9(0x1e2)]??'','version':_0x1daf41[_0x284ba9(0x1e9)],'ragStatus':_0x1daf41[_0x284ba9(0x1e1)],'ragErrorMessage':_0x1daf41[_0x284ba9(0x1f3)],'createTime':_0x1daf41[_0x284ba9(0x1ea)],'updateTime':_0x1daf41['updateTime']};}function summarizeSearchHit(_0x3c21df){const _0x282e9c=a32_0x503b1c;return{'scope':_0x3c21df[_0x282e9c(0x1d1)],'docId':_0x3c21df['docId'],'score':_0x3c21df[_0x282e9c(0x1f4)],'weightedScore':_0x3c21df[_0x282e9c(0x1eb)],'content':_0x3c21df['content'],'metadata':_0x3c21df[_0x282e9c(0x1cf)]};}function readTopK(_0x2a4ef7){const _0x34601d=a32_0x503b1c,_0x34d17f=_0x2a4ef7[_0x34601d(0x1b7)]('topk');if(_0x34d17f===undefined||_0x34d17f===null||_0x34d17f==='')return undefined;const _0x415054=_0x2a4ef7[_0x34601d(0x1da)](_0x34601d(0x1f0));if(!Number[_0x34601d(0x1c4)](_0x415054)||_0x415054<0x1)throw CliErrors[_0x34601d(0x1e8)](_0x34601d(0x1d5));return _0x415054;}const kbList={'service':'kb','command':a32_0x503b1c(0x1e6),'description':a32_0x503b1c(0x1ed),'risk':a32_0x503b1c(0x1f9),'flags':[VERBOSE_FLAG],async 'execute'(_0x5b0aa5){const _0xbf9917=a32_0x503b1c,_0x411df1=await listPersonalKnowledgeBaseItems(_0x5b0aa5[_0xbf9917(0x1ce)]);if(_0x5b0aa5[_0xbf9917(0x1c1)](_0xbf9917(0x1df)))return{'ok':!![],'data':{'total':_0x411df1['length'],'items':_0x411df1}};return{'ok':!![],'data':{'total':_0x411df1[_0xbf9917(0x1c6)],'items':_0x411df1[_0xbf9917(0x1bf)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a32_0x503b1c(0x1d3),'description':a32_0x503b1c(0x1f2),'risk':a32_0x503b1c(0x1f9),'flags':[{...ID_FLAG,'description':a32_0x503b1c(0x1cd)}],async 'execute'(_0x30ad83){const _0x5b2ff7=a32_0x503b1c,_0x1e99a7=await getPersonalKnowledgeBaseItem(_0x30ad83[_0x5b2ff7(0x1da)]('id'),_0x30ad83[_0x5b2ff7(0x1ce)]);return{'ok':!![],'data':detailPersonalItem(_0x1e99a7)};}},kbCreate={'service':'kb','command':a32_0x503b1c(0x1f7),'description':'Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','risk':a32_0x503b1c(0x1b8),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x498ef6){const _0x36ce20=a32_0x503b1c,_0x40dcaf=_0x498ef6[_0x36ce20(0x1d8)](_0x36ce20(0x1c3)),_0x15df66=readKnowledgeFile(_0x498ef6['str'](_0x36ce20(0x1be))),_0x1aa9a9=await createPersonalKnowledgeBaseItem(_0x498ef6[_0x36ce20(0x1ce)],{'title':_0x40dcaf,'content':_0x15df66});return{'ok':!![],'data':summarizePersonalItem(_0x1aa9a9),'message':_0x36ce20(0x1db)+_0x1aa9a9['id']+'\x20('+_0x1aa9a9[_0x36ce20(0x1c3)]+')'};},async 'dryRun'(_0x265b2e){const _0x3477b2=a32_0x503b1c,_0x55e188=_0x265b2e[_0x3477b2(0x1d8)](_0x3477b2(0x1c3)),_0x5b29a0=readKnowledgeFile(_0x265b2e[_0x3477b2(0x1d8)](_0x3477b2(0x1be)));return dryRun('POST','/client/knowledge-base/personal/create')['body']({'appCode':_0x265b2e[_0x3477b2(0x1ce)],'title':_0x55e188,'content':_0x5b29a0})['description'](_0x3477b2(0x1e5)+_0x55e188+'\x22')[_0x3477b2(0x1ec)]();}},kbUpdate={'service':'kb','command':a32_0x503b1c(0x1d4),'description':a32_0x503b1c(0x1bb),'risk':a32_0x503b1c(0x1b8),'flags':[{...ID_FLAG,'description':a32_0x503b1c(0x1cd)},{...TITLE_FLAG,'required':![],'description':a32_0x503b1c(0x1dc)},FILE_FLAG],async 'execute'(_0x106dfa){const _0x4f0402=a32_0x503b1c,_0x5f3cdc=_0x106dfa[_0x4f0402(0x1da)]('id'),_0x1b9efb=readKnowledgeFile(_0x106dfa[_0x4f0402(0x1d8)](_0x4f0402(0x1be))),_0x43f8ab=_0x106dfa[_0x4f0402(0x1d8)](_0x4f0402(0x1c3))||(await getPersonalKnowledgeBaseItem(_0x5f3cdc,_0x106dfa[_0x4f0402(0x1ce)]))[_0x4f0402(0x1c3)],_0x2121da=await updatePersonalKnowledgeBaseItem(_0x5f3cdc,_0x106dfa[_0x4f0402(0x1ce)],{'title':_0x43f8ab,'content':_0x1b9efb});return{'ok':!![],'data':summarizePersonalItem(_0x2121da),'message':_0x4f0402(0x1d6)+_0x2121da['id']+'\x20('+_0x2121da[_0x4f0402(0x1c3)]+')'};},async 'dryRun'(_0x426160){const _0x48d1bd=a32_0x503b1c,_0x5a0de0=_0x426160['num']('id'),_0x2be223=readKnowledgeFile(_0x426160[_0x48d1bd(0x1d8)](_0x48d1bd(0x1be))),_0xbf925a=_0x426160['str'](_0x48d1bd(0x1c3))||(await getPersonalKnowledgeBaseItem(_0x5a0de0,_0x426160[_0x48d1bd(0x1ce)]))[_0x48d1bd(0x1c3)];return dryRun(_0x48d1bd(0x1c0),_0x48d1bd(0x1ee)+_0x5a0de0+_0x48d1bd(0x1b9))[_0x48d1bd(0x1d2)]({'appCode':_0x426160['appCode'],'title':_0xbf925a,'content':_0x2be223})[_0x48d1bd(0x1bd)](_0x48d1bd(0x1d7)+_0x5a0de0)[_0x48d1bd(0x1ec)]();}},kbSearch={'service':'kb','command':'search','description':a32_0x503b1c(0x1c5),'risk':a32_0x503b1c(0x1f9),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3f0509){const _0x3bd39a=a32_0x503b1c;if(!_0x3f0509[_0x3bd39a(0x1d8)](_0x3bd39a(0x1ba))['trim']())throw CliErrors[_0x3bd39a(0x1e8)]('Search\x20query\x20is\x20required.');readTopK(_0x3f0509);},async 'execute'(_0x538bce){const _0x1a44fb=a32_0x503b1c,_0x1853cf=_0x538bce[_0x1a44fb(0x1d8)](_0x1a44fb(0x1ba))[_0x1a44fb(0x1f1)](),_0x541270=readTopK(_0x538bce),_0x1cac34=await searchKnowledgeBase(_0x538bce[_0x1a44fb(0x1ce)],{'query':_0x1853cf,'topK':_0x541270});return{'ok':!![],'data':{'total':_0x1cac34[_0x1a44fb(0x1c6)],'hits':_0x1cac34[_0x1a44fb(0x1bf)](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a33_0x2774a4=a33_0x6e60;(function(_0xb70f3,_0x18758b){const _0x5bb055=a33_0x6e60,_0x5bddea=_0xb70f3();while(!![]){try{const _0x13cd0e=-parseInt(_0x5bb055(0xfa))/0x1+parseInt(_0x5bb055(0xe7))/0x2*(parseInt(_0x5bb055(0xf7))/0x3)+parseInt(_0x5bb055(0xe2))/0x4+-parseInt(_0x5bb055(0xf1))/0x5+parseInt(_0x5bb055(0x101))/0x6+-parseInt(_0x5bb055(0xfd))/0x7+-parseInt(_0x5bb055(0xe1))/0x8*(-parseInt(_0x5bb055(0xe0))/0x9);if(_0x13cd0e===_0x18758b)break;else _0x5bddea['push'](_0x5bddea['shift']());}catch(_0x4b39f4){_0x5bddea['push'](_0x5bddea['shift']());}}}(a33_0x562a,0xa1773));import{logger}from'../../utils/logger.js';function a33_0x562a(){const _0x47fe9a=['timestamp','write','warn','log','duration','12cMgjqt','message','*\x20Logs\x20cleared','880848TtKePm','View\x20command\x20history\x20logs','clearLogs','5280289gzjWtP','stringify','forEach','clear','2468874pGYihY','9YILzXl','10806304CGaeWX','2998600CnOLgD','length','Clear\x20command\x20history\x20logs','en-US','command','457972lHajse','toLocaleString','details','success','level','\x20\x20\x20Details:\x20','\x20\x20\x20Time:\x20','logs','read','show','5656615mnoADG'];a33_0x562a=function(){return _0x47fe9a;};return a33_0x562a();}import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a33_0x6e60(_0x462ce4,_0x2a753a){_0x462ce4=_0x462ce4-0xe0;const _0x562ab8=a33_0x562a();let _0x6e6084=_0x562ab8[_0x462ce4];return _0x6e6084;}function printLogs(_0x470f65){const _0x183bcd=a33_0x6e60;if(_0x470f65['length']===0x0){console[_0x183bcd(0xf5)]('*\x20No\x20logs\x20found');return;}console[_0x183bcd(0xf5)]('*\x20'+CLI_DISPLAY_NAME+'\x20logs:\x0a'),_0x470f65[_0x183bcd(0xff)]((_0x3215b7,_0x235bdd)=>{const _0x2c0438=_0x183bcd,_0x5d9602=new Date(_0x3215b7[_0x2c0438(0xf2)])[_0x2c0438(0xe8)](_0x2c0438(0xe5)),_0x297dcf=_0x3215b7[_0x2c0438(0xeb)]===_0x2c0438(0xea)?'√':_0x3215b7[_0x2c0438(0xeb)]==='error'?'×':_0x3215b7[_0x2c0438(0xeb)]===_0x2c0438(0xf4)?'!':'i';console[_0x2c0438(0xf5)](_0x235bdd+0x1+'.\x20'+_0x297dcf+'\x20['+_0x3215b7[_0x2c0438(0xe6)]+']\x20'+_0x3215b7[_0x2c0438(0xf8)]),console[_0x2c0438(0xf5)](_0x2c0438(0xed)+_0x5d9602),_0x3215b7['duration']&&console[_0x2c0438(0xf5)]('\x20\x20\x20Duration:\x20'+_0x3215b7[_0x2c0438(0xf6)]+'ms'),_0x3215b7[_0x2c0438(0xe9)]&&Object['keys'](_0x3215b7['details'])[_0x2c0438(0xe3)]>0x0&&console[_0x2c0438(0xf5)](_0x2c0438(0xec)+JSON[_0x2c0438(0xfe)](_0x3215b7[_0x2c0438(0xe9)],null,0x2)),console[_0x2c0438(0xf5)]('');});}export const logsDefinitions=[{'service':a33_0x2774a4(0xee),'command':a33_0x2774a4(0xf0),'description':a33_0x2774a4(0xfb),'risk':a33_0x2774a4(0xef),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x16de71){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a33_0x2774a4(0xee),'command':a33_0x2774a4(0x100),'description':a33_0x2774a4(0xe4),'risk':a33_0x2774a4(0xf3),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x476602){const _0xebbe09=a33_0x2774a4;return logger[_0xebbe09(0xfc)](),console[_0xebbe09(0xf5)](_0xebbe09(0xf9)),{'ok':!![]};}}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a34_0x2af6ed=a34_0x1a56;(function(_0x5c3ef7,_0x10f216){const _0x215b84=a34_0x1a56,_0xd565e2=_0x5c3ef7();while(!![]){try{const _0x10b083=parseInt(_0x215b84(0x136))/0x1*(parseInt(_0x215b84(0x13d))/0x2)+-parseInt(_0x215b84(0x11f))/0x3*(parseInt(_0x215b84(0x123))/0x4)+-parseInt(_0x215b84(0x127))/0x5+-parseInt(_0x215b84(0x11d))/0x6*(parseInt(_0x215b84(0x13f))/0x7)+-parseInt(_0x215b84(0x128))/0x8+parseInt(_0x215b84(0x11a))/0x9*(parseInt(_0x215b84(0x13c))/0xa)+parseInt(_0x215b84(0x137))/0xb;if(_0x10b083===_0x10f216)break;else _0xd565e2['push'](_0xd565e2['shift']());}catch(_0x29b932){_0xd565e2['push'](_0xd565e2['shift']());}}}(a34_0x97cf,0x5a97e));import{requireRuntimeUploadFile}from'../../commands/common/local-file.js';import{queryRuntimeFileUrl,recognizeRuntimeOcr,uploadRuntimeFile}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a34_0x97cf(){const _0x27e3ac=['image-url','imageUrl','171LTTHKr','File\x20URL\x20response\x20missing\x20fileUrl.','File\x20upload\x20response\x20missing\x20filePath.','1398uvWCph','idcard','20892BzEiRe','/client/queryFileUrl','OCR\x20scene:\x20invoice,\x20general,\x20form,\x20or\x20idCard','description','124oGPgTu','build','/client/ocr','str','773955xvHpWC','1437568CAGWgb','\x20OCR\x20from\x20URL','body','length','scene','Unsupported\x20OCR\x20scene:\x20','filePath','path','<fileUrl\x20returned\x20by\x20/client/queryFileUrl>','IdCard','POST','imageFile','fileName','fileUrl','1Dfqhch','8620953SPzZJn','appCode','count','idCard','string','72190HNBvCM','459658IhVJgd','recognize','6888uNWxLW','join','image-file','\x20OCR','write','general','apiError','Publicly\x20accessible\x20image\x20or\x20file\x20URL','Table','trim','/client/uploadFile','validation','invoice','Local\x20image\x20or\x20PDF\x20file;\x20current\x20backend\x20uses\x20upload\x20->\x20query-url\x20->\x20OCR','Choose\x20exactly\x20one\x20OCR\x20input:\x20--image-file\x20or\x20--image-url.','Invoice'];a34_0x97cf=function(){return _0x27e3ac;};return a34_0x97cf();}import{dryRun}from'../../framework/dryrun.js';function a34_0x1a56(_0xad4e97,_0x503723){_0xad4e97=_0xad4e97-0x10e;const _0x97cff0=a34_0x97cf();let _0x1a568d=_0x97cff0[_0xad4e97];return _0x1a568d;}const SUPPORTED_SCENES=[a34_0x2af6ed(0x114),'general','form',a34_0x2af6ed(0x13a)],SCENE_TO_LEGACY_TYPE={'invoice':a34_0x2af6ed(0x117),'general':'General','form':a34_0x2af6ed(0x110),'idCard':a34_0x2af6ed(0x131)},SCENE_FLAG={'name':a34_0x2af6ed(0x12c),'type':a34_0x2af6ed(0x13b),'required':!![],'enum':[...SUPPORTED_SCENES],'description':a34_0x2af6ed(0x121)},IMAGE_FILE_FLAG={'name':a34_0x2af6ed(0x141),'type':a34_0x2af6ed(0x13b),'description':a34_0x2af6ed(0x115)},IMAGE_URL_FLAG={'name':a34_0x2af6ed(0x118),'type':a34_0x2af6ed(0x13b),'description':a34_0x2af6ed(0x10f)};function normalizeScene(_0x5d889a){const _0x12ea81=a34_0x2af6ed,_0x4890bf=_0x5d889a[_0x12ea81(0x111)]()['toLowerCase']();if(_0x4890bf===_0x12ea81(0x11e))return _0x12ea81(0x13a);if(_0x4890bf==='invoice'||_0x4890bf===_0x12ea81(0x144)||_0x4890bf==='form')return _0x4890bf;throw CliErrors[_0x12ea81(0x113)](_0x12ea81(0x12d)+_0x5d889a+'.\x20Supported\x20scenes:\x20'+SUPPORTED_SCENES[_0x12ea81(0x140)](',\x20'));}function selectedInputs(_0x110882){const _0x12eda4=a34_0x2af6ed,_0x108e7f=_0x110882[_0x12eda4(0x126)](_0x12eda4(0x141))[_0x12eda4(0x111)](),_0x1c09da=_0x110882['str'](_0x12eda4(0x118))[_0x12eda4(0x111)]();return{'imageFile':_0x108e7f,'imageUrl':_0x1c09da,'count':[_0x108e7f,_0x1c09da]['filter'](Boolean)[_0x12eda4(0x12b)]};}function validateInputSelection(_0x1a7c01){const _0x1f0119=a34_0x2af6ed,_0x1af2b0=selectedInputs(_0x1a7c01);if(_0x1af2b0[_0x1f0119(0x139)]!==0x1)throw CliErrors['validation'](_0x1f0119(0x116));return _0x1af2b0;}function withScene(_0x5834cc,_0x4fd017,_0x5bf459){const _0x188f44=a34_0x2af6ed;return{..._0x5834cc,'scene':_0x4fd017,..._0x5bf459?{'sourceFile':{'fileName':_0x5bf459[_0x188f44(0x134)],'filePath':_0x5bf459[_0x188f44(0x12e)]}}:{}};}const ocrRecognize={'service':'ocr','command':a34_0x2af6ed(0x13e),'description':'Recognize\x20text\x20from\x20a\x20URL\x20or\x20local\x20file\x20using\x20the\x20runtime\x20OCR\x20service','risk':a34_0x2af6ed(0x143),'flags':[SCENE_FLAG,IMAGE_FILE_FLAG,IMAGE_URL_FLAG],async 'dryRun'(_0x40075c){const _0x5352ad=a34_0x2af6ed,_0x36a395=normalizeScene(_0x40075c[_0x5352ad(0x126)]('scene')),_0x482072=SCENE_TO_LEGACY_TYPE[_0x36a395],_0x35c0fd=validateInputSelection(_0x40075c);if(_0x35c0fd['imageUrl'])return dryRun('POST',_0x5352ad(0x125))[_0x5352ad(0x12a)]({'appCode':_0x40075c[_0x5352ad(0x138)],'url':_0x35c0fd[_0x5352ad(0x119)],'type':_0x482072})[_0x5352ad(0x122)]('Preview:\x20recognize\x20'+_0x36a395+_0x5352ad(0x129))[_0x5352ad(0x124)]();const _0x4a0f68=requireRuntimeUploadFile(_0x35c0fd[_0x5352ad(0x133)],_0x5352ad(0x141));return dryRun('POST',_0x5352ad(0x112))[_0x5352ad(0x12a)]({'steps':[{'method':_0x5352ad(0x132),'url':_0x5352ad(0x112),'body':{'appCode':_0x40075c[_0x5352ad(0x138)],'multipart':{'file':_0x4a0f68}}},{'method':_0x5352ad(0x132),'url':_0x5352ad(0x120),'body':{'filePath':'<filePath\x20returned\x20by\x20/client/uploadFile>','downloadFlag':![]}},{'method':_0x5352ad(0x132),'url':_0x5352ad(0x125),'body':{'appCode':_0x40075c['appCode'],'url':_0x5352ad(0x130),'type':_0x482072}}]})[_0x5352ad(0x122)]('Preview:\x20upload\x20local\x20file,\x20query\x20temporary\x20URL,\x20then\x20recognize\x20'+_0x36a395+_0x5352ad(0x142))[_0x5352ad(0x124)]();},async 'execute'(_0x3d08d3){const _0x228e76=a34_0x2af6ed,_0x4e245e=normalizeScene(_0x3d08d3[_0x228e76(0x126)](_0x228e76(0x12c))),_0x5ee5b1=SCENE_TO_LEGACY_TYPE[_0x4e245e],_0x436bf3=validateInputSelection(_0x3d08d3);if(_0x436bf3[_0x228e76(0x119)]){const _0x47428b=await recognizeRuntimeOcr(_0x3d08d3[_0x228e76(0x138)],{'url':_0x436bf3[_0x228e76(0x119)],'type':_0x5ee5b1});return{'ok':!![],'data':withScene(_0x47428b,_0x4e245e)};}const _0x44a619=requireRuntimeUploadFile(_0x436bf3['imageFile'],_0x228e76(0x141)),_0x176635=await uploadRuntimeFile(_0x3d08d3[_0x228e76(0x138)],_0x44a619[_0x228e76(0x12f)]);if(!_0x176635['filePath'])throw CliErrors[_0x228e76(0x10e)](_0x228e76(0x11c));const _0x41be3e=await queryRuntimeFileUrl(_0x176635[_0x228e76(0x12e)],{'download':![]});if(!_0x41be3e[_0x228e76(0x135)])throw CliErrors[_0x228e76(0x10e)](_0x228e76(0x11b));const _0x5cca7a=await recognizeRuntimeOcr(_0x3d08d3[_0x228e76(0x138)],{'url':_0x41be3e[_0x228e76(0x135)],'type':_0x5ee5b1});return{'ok':!![],'data':withScene(_0x5cca7a,_0x4e245e,_0x176635)};}};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_0x38df6b=a35_0x3507;(function(_0x1351e1,_0x205342){const _0x455fa4=a35_0x3507,_0x5000b1=_0x1351e1();while(!![]){try{const _0x4881fd=-parseInt(_0x455fa4(0x1aa))/0x1+parseInt(_0x455fa4(0x1a5))/0x2+-parseInt(_0x455fa4(0x19c))/0x3+-parseInt(_0x455fa4(0x18e))/0x4*(-parseInt(_0x455fa4(0x190))/0x5)+parseInt(_0x455fa4(0x1b7))/0x6+-parseInt(_0x455fa4(0x1b6))/0x7+parseInt(_0x455fa4(0x199))/0x8;if(_0x4881fd===_0x205342)break;else _0x5000b1['push'](_0x5000b1['shift']());}catch(_0x4cfaba){_0x5000b1['push'](_0x5000b1['shift']());}}}(a35_0x24b0,0x775ad));import{existsSync,readFileSync,statSync}from'node:fs';function a35_0x24b0(){const _0x623e81=['File\x20not\x20found:\x20','validation','POST','isFile','Personal\x20BFF\x20script\x20ID','write','length','isArray','File\x20is\x20not\x20a\x20regular\x20file:\x20','6516363zXbISk','5156364wrGVLT','Preview:\x20update\x20personal\x20BFF\x20','description','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Updated\x20personal\x20BFF\x20','Personal\x20BFF\x20description','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','functionName','test','scriptType','create','body','build','appCode','createTime','sourceSessionId','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','file','num','bool','config','/update','scriptContent','196524OpBaRs','flag','40KWkjJt','createUserId','keys','Show\x20one\x20personal\x20BFF\x20by\x20id','version','read','update','personal-bff','params','6853832xpHVFq','string','map','1052298xebLMW','utf8','source-session-id','name','gmtModified','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','updateTime','Executed\x20personal\x20BFF\x20','Update\x20a\x20personal\x20BFF\x20by\x20id','219108fYzyyI','--params\x20must\x20be\x20a\x20JSON\x20object.','str','trim','Preview:\x20create\x20personal\x20BFF\x20','448173bMSKoI','File\x20path\x20is\x20required.','Optional\x20source\x20RuntimeAgent\x20session\x20id'];a35_0x24b0=function(){return _0x623e81;};return a35_0x24b0();}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':a35_0x38df6b(0x1c9),'type':a35_0x38df6b(0x19a),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a35_0x38df6b(0x19f),'type':'string','required':!![],'description':a35_0x38df6b(0x1bb)},DESCRIPTION_FLAG={'name':a35_0x38df6b(0x1b9),'type':a35_0x38df6b(0x19a),'description':a35_0x38df6b(0x1bd)},SOURCE_SESSION_FLAG={'name':a35_0x38df6b(0x19e),'type':'string','description':a35_0x38df6b(0x1ac)};function normalizeFunctionName(_0x4e4873){const _0x4be84c=a35_0x38df6b,_0x55a50b=String(_0x4e4873||'')['trim']();if(!_0x55a50b||!FUNCTION_NAME_PATTERN[_0x4be84c(0x1c0)](_0x55a50b))throw CliErrors['validation'](_0x4be84c(0x1a1));return _0x55a50b;}function readScriptFile(_0x3de2ff){const _0x5a4399=a35_0x38df6b;if(!_0x3de2ff)throw CliErrors[_0x5a4399(0x1ae)](_0x5a4399(0x1ab));if(!existsSync(_0x3de2ff))throw CliErrors[_0x5a4399(0x1ae)](_0x5a4399(0x1ad)+_0x3de2ff);if(!statSync(_0x3de2ff)[_0x5a4399(0x1b0)]())throw CliErrors['validation'](_0x5a4399(0x1b5)+_0x3de2ff);const _0x16fc2f=readFileSync(_0x3de2ff,_0x5a4399(0x19d));if(!_0x16fc2f['trim']())throw CliErrors[_0x5a4399(0x1ae)](_0x5a4399(0x1ba));return _0x16fc2f;}function optionalTrimmed(_0xe38b07){const _0x9ecf3=a35_0x38df6b,_0x2a7bf3=String(_0xe38b07||'')[_0x9ecf3(0x1a8)]();return _0x2a7bf3||undefined;}function summarizeBff(_0x26f031){const _0x43ce88=a35_0x38df6b;return{'id':_0x26f031['id'],'appCode':_0x26f031[_0x43ce88(0x1c5)],'functionName':_0x26f031[_0x43ce88(0x1bf)],'description':_0x26f031[_0x43ce88(0x1b9)],'scriptType':_0x26f031[_0x43ce88(0x1c1)],'version':_0x26f031[_0x43ce88(0x194)],'gmtModified':_0x26f031[_0x43ce88(0x1a0)],'updateTime':_0x26f031['updateTime']};}function detailBff(_0x4ab51d){const _0x58de7d=a35_0x38df6b;return{'id':_0x4ab51d['id'],'appCode':_0x4ab51d[_0x58de7d(0x1c5)],'functionName':_0x4ab51d[_0x58de7d(0x1bf)],'description':_0x4ab51d['description'],'scriptType':_0x4ab51d['scriptType'],'scriptContent':_0x4ab51d[_0x58de7d(0x1ce)]??'','config':_0x4ab51d[_0x58de7d(0x1cc)],'version':_0x4ab51d[_0x58de7d(0x194)],'createUserId':_0x4ab51d[_0x58de7d(0x191)],'gmtCreate':_0x4ab51d['gmtCreate'],'gmtModified':_0x4ab51d[_0x58de7d(0x1a0)],'createTime':_0x4ab51d[_0x58de7d(0x1c6)],'updateTime':_0x4ab51d[_0x58de7d(0x1a2)]};}function buildCreateInput(_0x4bd7b4){const _0x42a953=a35_0x38df6b;return{'functionName':normalizeFunctionName(_0x4bd7b4[_0x42a953(0x1a7)]('name')),...optionalTrimmed(_0x4bd7b4[_0x42a953(0x1a7)]('description'))?{'description':optionalTrimmed(_0x4bd7b4[_0x42a953(0x1a7)]('description'))}:{},'scriptContent':readScriptFile(_0x4bd7b4[_0x42a953(0x1a7)]('file')),...optionalTrimmed(_0x4bd7b4[_0x42a953(0x1a7)](_0x42a953(0x19e)))?{'sourceSessionId':optionalTrimmed(_0x4bd7b4[_0x42a953(0x1a7)](_0x42a953(0x19e)))}:{}};}function buildUpdateInput(_0x245c41){const _0x202b00=a35_0x38df6b,_0x20ac3f={};optionalTrimmed(_0x245c41[_0x202b00(0x1a7)](_0x202b00(0x19f)))&&(_0x20ac3f[_0x202b00(0x1bf)]=normalizeFunctionName(_0x245c41[_0x202b00(0x1a7)](_0x202b00(0x19f))));_0x245c41[_0x202b00(0x18f)](_0x202b00(0x1b9))!==undefined&&(_0x20ac3f['description']=_0x245c41[_0x202b00(0x1a7)](_0x202b00(0x1b9)));optionalTrimmed(_0x245c41[_0x202b00(0x1a7)]('file'))&&(_0x20ac3f[_0x202b00(0x1ce)]=readScriptFile(_0x245c41[_0x202b00(0x1a7)](_0x202b00(0x1c9))));_0x245c41[_0x202b00(0x18f)](_0x202b00(0x19e))!==undefined&&(_0x20ac3f[_0x202b00(0x1c7)]=_0x245c41[_0x202b00(0x1a7)](_0x202b00(0x19e)));if(Object[_0x202b00(0x192)](_0x20ac3f)[_0x202b00(0x1b3)]===0x0)throw CliErrors['validation']('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x20ac3f;}function a35_0x3507(_0x53aacb,_0x46ebaa){_0x53aacb=_0x53aacb-0x18e;const _0x24b08c=a35_0x24b0();let _0x35079f=_0x24b08c[_0x53aacb];return _0x35079f;}function parseExecParams(_0x568876){const _0x1c489c=a35_0x38df6b,_0x274f61=parseJsonParams(_0x568876)??{};if(Array[_0x1c489c(0x1b4)](_0x274f61))throw CliErrors[_0x1c489c(0x1ae)](_0x1c489c(0x1a6));return _0x274f61;}const personalBffList={'service':a35_0x38df6b(0x197),'command':'list','description':'List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','risk':a35_0x38df6b(0x195),'flags':[VERBOSE_FLAG],async 'execute'(_0x45b9f9){const _0x59500c=a35_0x38df6b,_0x5b0537=await listPersonalBffs(_0x45b9f9['appCode']);return{'ok':!![],'data':{'total':_0x5b0537[_0x59500c(0x1b3)],'items':_0x45b9f9[_0x59500c(0x1cb)]('verbose')?_0x5b0537:_0x5b0537[_0x59500c(0x19b)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':'detail','description':a35_0x38df6b(0x193),'risk':a35_0x38df6b(0x195),'flags':[{...ID_FLAG,'description':a35_0x38df6b(0x1b1)}],async 'execute'(_0x3fda54){const _0x3eaa6f=a35_0x38df6b,_0x3155d2=await getPersonalBff(_0x3fda54['num']('id'),_0x3fda54[_0x3eaa6f(0x1c5)]);return{'ok':!![],'data':detailBff(_0x3155d2)};}},personalBffCreate={'service':a35_0x38df6b(0x197),'command':a35_0x38df6b(0x1c2),'description':a35_0x38df6b(0x1be),'risk':a35_0x38df6b(0x1b2),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2d1733){const _0x1faea7=a35_0x38df6b,_0x3a68e6=buildCreateInput(_0x2d1733),_0x4fc83c=await createPersonalBff(_0x2d1733[_0x1faea7(0x1c5)],_0x3a68e6);return{'ok':!![],'data':detailBff(_0x4fc83c),'message':'Created\x20personal\x20BFF\x20'+_0x4fc83c['id']+(_0x4fc83c[_0x1faea7(0x1bf)]?'\x20('+_0x4fc83c[_0x1faea7(0x1bf)]+')':'')};},async 'dryRun'(_0x3fd280){const _0x20621f=a35_0x38df6b,_0x45407d=buildCreateInput(_0x3fd280);return dryRun(_0x20621f(0x1af),'/client/runtime-bff/personal/create')[_0x20621f(0x1c3)]({'appCode':_0x3fd280[_0x20621f(0x1c5)],..._0x45407d})[_0x20621f(0x1b9)](_0x20621f(0x1a9)+_0x45407d[_0x20621f(0x1bf)])['build']();}},personalBffUpdate={'service':a35_0x38df6b(0x197),'command':a35_0x38df6b(0x196),'description':a35_0x38df6b(0x1a4),'risk':a35_0x38df6b(0x1b2),'flags':[{...ID_FLAG,'description':a35_0x38df6b(0x1b1)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x46dc90){const _0x41a7a0=a35_0x38df6b,_0x2e282c=_0x46dc90[_0x41a7a0(0x1ca)]('id'),_0x1d7d54=buildUpdateInput(_0x46dc90),_0x3f39d2=await updatePersonalBff(_0x2e282c,_0x46dc90[_0x41a7a0(0x1c5)],_0x1d7d54);return{'ok':!![],'data':detailBff(_0x3f39d2),'message':_0x41a7a0(0x1bc)+_0x3f39d2['id']+(_0x3f39d2[_0x41a7a0(0x1bf)]?'\x20('+_0x3f39d2[_0x41a7a0(0x1bf)]+')':'')};},async 'dryRun'(_0x2b7a2b){const _0x881fdf=a35_0x38df6b,_0x1012ed=_0x2b7a2b[_0x881fdf(0x1ca)]('id'),_0x3006c4=buildUpdateInput(_0x2b7a2b);return dryRun(_0x881fdf(0x1af),'/client/runtime-bff/personal/'+_0x1012ed+_0x881fdf(0x1cd))[_0x881fdf(0x1c3)]({'appCode':_0x2b7a2b['appCode'],..._0x3006c4})[_0x881fdf(0x1b9)](_0x881fdf(0x1b8)+_0x1012ed)[_0x881fdf(0x1c4)]();}},personalBffExec={'service':'personal-bff','command':'exec','description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':'high-risk-write','flags':[{...ID_FLAG,'description':a35_0x38df6b(0x1b1)},{...PARAMS_FLAG,'description':a35_0x38df6b(0x1c8)}],async 'validate'(_0x31c02a){const _0xe65015=a35_0x38df6b;parseExecParams(_0x31c02a[_0xe65015(0x1a7)](_0xe65015(0x198)));},async 'execute'(_0x102e8a){const _0x21175e=a35_0x38df6b,_0x2cdbb4=_0x102e8a[_0x21175e(0x1ca)]('id'),_0x5cb4d2=parseExecParams(_0x102e8a['str'](_0x21175e(0x198))),_0xed5f4e=await executePersonalBff(_0x2cdbb4,_0x102e8a[_0x21175e(0x1c5)],_0x5cb4d2);return{'ok':!![],'data':{'result':_0xed5f4e},'message':_0x21175e(0x1a3)+_0x2cdbb4};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x45f9fb=a36_0x131b;(function(_0x442c3f,_0x1a79c5){const _0x55b0d8=a36_0x131b,_0x4fc012=_0x442c3f();while(!![]){try{const _0x14dc3c=parseInt(_0x55b0d8(0xc6))/0x1*(parseInt(_0x55b0d8(0xc9))/0x2)+parseInt(_0x55b0d8(0xb2))/0x3+parseInt(_0x55b0d8(0xc7))/0x4*(parseInt(_0x55b0d8(0xcc))/0x5)+-parseInt(_0x55b0d8(0xb0))/0x6+parseInt(_0x55b0d8(0xcd))/0x7*(-parseInt(_0x55b0d8(0xb7))/0x8)+-parseInt(_0x55b0d8(0xc2))/0x9+parseInt(_0x55b0d8(0xbf))/0xa;if(_0x14dc3c===_0x1a79c5)break;else _0x4fc012['push'](_0x4fc012['shift']());}catch(_0x2239c4){_0x4fc012['push'](_0x4fc012['shift']());}}}(a36_0xb3f0,0x76adc));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';function a36_0x131b(_0x4b0f65,_0x4b5bb5){_0x4b0f65=_0x4b0f65-0xab;const _0xb3f05f=a36_0xb3f0();let _0x131b54=_0xb3f05f[_0x4b0f65];return _0x131b54;}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';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';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(_0x216b33){const _0x422e11=a36_0x131b;for(const _0x4bb716 of _0x216b33){definitions[_0x422e11(0xc8)](_0x4bb716[_0x422e11(0xc4)]+':'+_0x4bb716['command'],_0x4bb716);let _0x1efc5c=serviceGroups[_0x422e11(0xbd)](_0x4bb716[_0x422e11(0xc4)]);!_0x1efc5c&&(_0x1efc5c=[],serviceGroups[_0x422e11(0xc8)](_0x4bb716[_0x422e11(0xc4)],_0x1efc5c)),_0x1efc5c[_0x422e11(0xb6)](_0x4bb716);}}function registerService(_0xc2fb3,_0x37931c,_0x38d4f8){const _0x2f03e0=a36_0x131b;registerDefinitions(_0x37931c);const _0x17747e=_0x418c46=>_0x418c46===_0x2f03e0(0xd4)?'':_0x418c46==='write'?_0x2f03e0(0xd5):'\x20\x20[high-risk-write]',_0x40b6ec={'service':_0x37931c[0x0]['service'],'label':_0xc2fb3,'commands':_0x37931c[_0x2f03e0(0xc1)](_0x55c6c2=>({'command':_0x55c6c2[_0x2f03e0(0xce)],'description':_0x55c6c2['description'],'tag':_0x17747e(_0x55c6c2[_0x2f03e0(0xc0)])})),'defaultCommand':_0x38d4f8?.['defaultCommand']??(_0x38d4f8?.[_0x2f03e0(0xbb)]?_0x37931c[0x0][_0x2f03e0(0xce)]:undefined),'isSingleCommand':_0x38d4f8?.[_0x2f03e0(0xbb)]};serviceRegistry['push'](_0x40b6ec),serviceByName['set'](_0x40b6ec[_0x2f03e0(0xc4)],_0x40b6ec);}registerService(a36_0x45f9fb(0xad),authDefinitions,{'defaultCommand':a36_0x45f9fb(0xae)}),registerService('App\x20Management',appDefinitions,{'defaultCommand':'list'}),registerService(a36_0x45f9fb(0xb3),workspaceDefinitions),registerService('Runtime\x20App\x20Config',appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':a36_0x45f9fb(0xb4)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a36_0x45f9fb(0xca),datasetDefinitions),registerService(a36_0x45f9fb(0xc5),dataDefinitions),registerService(a36_0x45f9fb(0xd1),sqlDefinitions),registerService(a36_0x45f9fb(0xba),bffDefinitions),registerService(a36_0x45f9fb(0xd3),personalBffDefinitions),registerService(a36_0x45f9fb(0xb5),artifactDefinitions),registerService(a36_0x45f9fb(0xb8),fileDefinitions),registerService(a36_0x45f9fb(0xbe),ocrDefinitions),registerService(a36_0x45f9fb(0xc3),kbDefinitions),registerService(a36_0x45f9fb(0xbc),serviceDefinitions,{'defaultCommand':a36_0x45f9fb(0xb4)}),registerService(a36_0x45f9fb(0xaf),skillDefinitions,{'defaultCommand':a36_0x45f9fb(0xab)}),registerService(a36_0x45f9fb(0xb9),cliSkillDefinitions,{'defaultCommand':'install'}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a36_0x45f9fb(0xb1),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a36_0x45f9fb(0xac),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a36_0x45f9fb(0xcb)});function a36_0xb3f0(){const _0x4841bb=['login','Skills','4832466GQNdkk','run','2300916ZshQbl','Workspace','list','Artifacts','push','8cyfACw','File','CLI\x20Built-in\x20Skill','BFF\x20Scripts','isSingleCommand','Service\x20Tree','get','OCR','1161950JdQMtB','risk','map','292464eplztp','Knowledge\x20Base','service','Instant\x20API','1GQwAQZ','854300KcIghX','set','1172040jjdNEh','Datasets','show','5ZrOzpu','2511229gDbRov','command','values','from','SQL\x20Queries','has','Personal\x20BFF','read','\x20\x20[write]','install','Schema','Authentication'];a36_0xb3f0=function(){return _0x4841bb;};return a36_0xb3f0();}export function findDefinition(_0x4e32bb,_0x446826){return definitions['get'](_0x4e32bb+':'+_0x446826);}export function isKnownService(_0x2083e7){const _0x182092=a36_0x45f9fb;return serviceByName[_0x182092(0xd2)](_0x2083e7);}export function getServiceEntry(_0x279f1d){const _0x5b3ce9=a36_0x45f9fb;return serviceByName[_0x5b3ce9(0xbd)](_0x279f1d);}export function getAllDefinitions(){const _0x500870=a36_0x45f9fb;return Array[_0x500870(0xd0)](definitions[_0x500870(0xcf)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x5437c0=a37_0x43c3;(function(_0x1c68dc,_0x377232){const _0x551de8=a37_0x43c3,_0xba6de6=_0x1c68dc();while(!![]){try{const _0x1f7af0=parseInt(_0x551de8(0x1cc))/0x1*(-parseInt(_0x551de8(0x1ce))/0x2)+parseInt(_0x551de8(0x1cb))/0x3+parseInt(_0x551de8(0x1d1))/0x4+parseInt(_0x551de8(0x1cf))/0x5*(parseInt(_0x551de8(0x1c9))/0x6)+parseInt(_0x551de8(0x1ca))/0x7+-parseInt(_0x551de8(0x1c7))/0x8+-parseInt(_0x551de8(0x1cd))/0x9*(parseInt(_0x551de8(0x1d0))/0xa);if(_0x1f7af0===_0x377232)break;else _0xba6de6['push'](_0xba6de6['shift']());}catch(_0x1fe55f){_0xba6de6['push'](_0xba6de6['shift']());}}}(a37_0x20c1,0x2cbc3));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x513e5f){const _0x40fe30=await buildSchemaPayload();return{'ok':!![],'data':_0x40fe30};}export const schemaDefinition={'service':'schema','command':'export','description':a37_0x5437c0(0x1c6),'risk':a37_0x5437c0(0x1c8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a37_0x43c3(_0x1be1ec,_0x2466fd){_0x1be1ec=_0x1be1ec-0x1c6;const _0x20c135=a37_0x20c1();let _0x43c343=_0x20c135[_0x1be1ec];return _0x43c343;}function a37_0x20c1(){const _0x2bfe15=['2subqcB','108099VeYeGL','118858MdoXpS','50ErzcAQ','570eTeCNQ','1296456mUPvuO','Export\x20machine-readable\x20command\x20schema\x20(JSON)','224392JaMEfs','read','39156hqjmun','1955828HujyYf','1037973ySGYrn'];a37_0x20c1=function(){return _0x2bfe15;};return a37_0x20c1();}
|
|
@@ -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(_0x4708ae,_0x3a4362){const _0x191034=a38_0x3cba,_0x48eaf7=_0x4708ae();while(!![]){try{const _0x1a279f=parseInt(_0x191034(0x1a9))/0x1+-parseInt(_0x191034(0x199))/0x2*(parseInt(_0x191034(0x177))/0x3)+-parseInt(_0x191034(0x189))/0x4*(-parseInt(_0x191034(0x18c))/0x5)+-parseInt(_0x191034(0x195))/0x6+parseInt(_0x191034(0x182))/0x7*(parseInt(_0x191034(0x1bc))/0x8)+parseInt(_0x191034(0x1a1))/0x9*(parseInt(_0x191034(0x1b7))/0xa)+-parseInt(_0x191034(0x1bf))/0xb*(parseInt(_0x191034(0x19d))/0xc);if(_0x1a279f===_0x3a4362)break;else _0x48eaf7['push'](_0x48eaf7['shift']());}catch(_0x785409){_0x48eaf7['push'](_0x48eaf7['shift']());}}}(a38_0x52be,0xb6a85));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x51e521,_0x579907){const _0x590648=a38_0x3cba,_0x2c4bd5=listLocalServiceTrees();let _0x2de00b;for(const _0x459372 of _0x2c4bd5){const _0x28a47b=matchServiceTreeCommand(_0x459372,_0x51e521);if(!_0x28a47b)continue;(!_0x2de00b||_0x28a47b[_0x590648(0x1c8)]['fullPath'][_0x590648(0x17e)]>_0x2de00b['command'][_0x590648(0x1cc)][_0x590648(0x17e)])&&(_0x2de00b={'tree':_0x459372,'command':_0x28a47b[_0x590648(0x1c8)],'remainingArgs':_0x28a47b[_0x590648(0x1a3)]});}if(!_0x2de00b)return undefined;const _0x24be13={..._0x579907};return applyAppBinding(_0x2de00b['tree'],_0x2de00b[_0x590648(0x1c8)],_0x24be13),{'definition':buildDynamicCommandDefinition(_0x2de00b[_0x590648(0x1ae)],_0x2de00b[_0x590648(0x1c8)]),'args':_0x2de00b[_0x590648(0x1a3)],'flags':_0x24be13,'tree':_0x2de00b[_0x590648(0x1ae)],'command':_0x2de00b['command']};}export function generateDynamicServiceHelp(_0x121cbb){const _0x137dca=a38_0x3cba,_0x11d0ec=listLocalServiceTrees()[_0x137dca(0x18d)](_0x2b40b4=>_0x2b40b4[_0x137dca(0x1dd)][_0x137dca(0x179)]===_0x121cbb);if(!_0x11d0ec)return undefined;const _0x34175b=[CLI_BIN_NAME+'\x20'+_0x121cbb+_0x137dca(0x19a),'',_0x11d0ec[_0x137dca(0x1dd)][_0x137dca(0x1b1)]||_0x121cbb,_0x11d0ec[_0x137dca(0x1dd)]['description']?'\x20\x20'+_0x11d0ec[_0x137dca(0x1dd)][_0x137dca(0x1ad)]:'','',_0x137dca(0x1ba),..._0x11d0ec[_0x137dca(0x19e)][_0x137dca(0x197)](_0x167825=>{const _0x39d0b6=_0x137dca,_0x13577a=_0x167825[_0x39d0b6(0x1cc)]['slice'](0x1)[_0x39d0b6(0x1cf)]('\x20'),_0x5bbb14=_0x167825[_0x39d0b6(0x19b)]===_0x39d0b6(0x17b)?'':'\x20['+_0x167825[_0x39d0b6(0x19b)]+']';return'\x20\x20'+_0x13577a[_0x39d0b6(0x1c3)](0x18)+'\x20'+(_0x167825[_0x39d0b6(0x1ad)]||'')+_0x5bbb14;}),'',_0x137dca(0x1d7)+CLI_BIN_NAME+_0x137dca(0x1a5)+_0x121cbb+_0x137dca(0x1c7)][_0x137dca(0x1d9)](Boolean);return _0x34175b['join']('\x0a');}function a38_0x52be(){const _0x5a7580=['userName','8110nokKph','\x20\x20\x20\x20','nickname','Commands:','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','24cevENb','tableName','\x20\x20\x20\x20sqlCode:\x20','23815PlwBrj','envName','bffId','\x20\x20\x20\x20datasetCode:\x20','padEnd','bff','trim','\x20completed\x20in\x20','`\x20to\x20inspect\x20the\x20manifest.','command','context.','loginName','tenantCode','fullPath','username','\x20\x20\x20\x20command:\x20','join','bffCode','\x20->\x20','args','normalizedManifest','push','entries','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','Use\x20`','cliPath','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','target','datatable','service','6972KEKzJf','number','code','Service\x20command\x20','read','now','flatMap','length','Run\x20service\x20command\x20','app','validation','3068667YSduks','SERVICE_TREE','ctx.','mapTo','employeeId','slice','appcode','2472608LUplZQ','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','operator','5NFZbgX','find','Cannot\x20resolve\x20datatable\x20\x22','source','type','appBindings','\x20\x20SERVICE\x20TREE\x20TARGET','Unsupported\x20service\x20target\x20kind:\x20','startsWith','5937702ThMWaJ','params','map','nickName','166eCwLwb','\x20<command>\x20[flags]','risk','boolean','5136EwSPPQ','commands','\x20requires\x20target.scriptName.','kind','7803RqLPpn','datasetCode','remainingArgs','appCode','\x20service\x20detail\x20--service\x20','\x20\x20MAP\x20TO','data','string','220862MlGjev','dbtableConfig','enum','env','description','tree','Preview\x20dynamic\x20service\x20command:\x20','sqlCode','name','scriptName','some','\x20requires\x20target.sqlCode.','userId'];a38_0x52be=function(){return _0x5a7580;};return a38_0x52be();}export function listDynamicServiceEntries(){const _0xf64055=a38_0x3cba;return listLocalServices()[_0xf64055(0x197)](_0x58fc90=>{const _0xbc5000=_0xf64055,_0x40253d=_0x58fc90[_0xbc5000(0x1d3)];return{'service':_0x40253d['service']['code'],'label':_0x40253d[_0xbc5000(0x1dd)][_0xbc5000(0x1b1)]||_0x40253d['service'][_0xbc5000(0x179)],'commands':_0x40253d[_0xbc5000(0x19e)][_0xbc5000(0x197)](_0xecb7d8=>({'command':dynamicCommandName(_0xecb7d8),'description':_0xecb7d8['description']||_0xbc5000(0x17f)+_0xecb7d8[_0xbc5000(0x1d8)],'tag':riskTag(_0xecb7d8[_0xbc5000(0x19b)])}))};});}export function getDynamicServiceEntry(_0x12852f){const _0x211674=a38_0x3cba;return listDynamicServiceEntries()[_0x211674(0x18d)](_0x511703=>_0x511703[_0x211674(0x1dd)]===_0x12852f);}export function listDynamicServiceDefinitions(_0x3402cc){const _0x964198=a38_0x3cba;return listLocalServiceTrees()['filter'](_0x24f771=>!_0x3402cc||_0x24f771[_0x964198(0x1dd)][_0x964198(0x179)]===_0x3402cc)[_0x964198(0x17d)](_0x3f2864=>_0x3f2864['commands'][_0x964198(0x197)](_0x3f543c=>buildDynamicCommandDefinition(_0x3f2864,_0x3f543c)));}export function getDynamicServiceDefinitions(_0x5b0123){const _0x311b36=a38_0x3cba,_0xab8d90=listDynamicServiceDefinitions(_0x5b0123);return _0xab8d90[_0x311b36(0x17e)]>0x0?_0xab8d90:undefined;}export function findDynamicServiceDefinition(_0x2a9604,_0x305beb){const _0x5ba9ed=a38_0x3cba;return listDynamicServiceDefinitions(_0x2a9604)[_0x5ba9ed(0x18d)](_0x4adcea=>_0x4adcea[_0x5ba9ed(0x1c8)]===_0x305beb);}export function buildDynamicCommandDefinition(_0x35474d,_0x4d6dba){const _0xa28773=a38_0x3cba;return{'service':_0x35474d['service'][_0xa28773(0x179)],'command':dynamicCommandName(_0x4d6dba),'description':_0x4d6dba[_0xa28773(0x1ad)]||_0xa28773(0x17f)+_0x4d6dba[_0xa28773(0x1d8)],'risk':_0x4d6dba[_0xa28773(0x19b)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4d6dba[_0xa28773(0x1d2)][_0xa28773(0x197)](_0xaebafc=>({'name':_0xaebafc[_0xa28773(0x1b1)],'description':_0xaebafc['description']||_0xaebafc[_0xa28773(0x1b1)],'required':_0xaebafc['required']})),'flags':_0x4d6dba['flags'][_0xa28773(0x197)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4d6dba),async 'dryRun'(_0x4e8baa){const _0x3f88df=_0xa28773,_0x1be72e=await compilePlan(_0x4d6dba,_0x4e8baa);return{'method':_0x3f88df(0x183),'url':_0x4d6dba['cliPath'],'body':{'target':targetPreview(_0x1be72e),'params':_0x1be72e['params']},'description':_0x3f88df(0x1af)+_0x4d6dba[_0x3f88df(0x1d8)]};},async 'execute'(_0x2877fe){const _0x3e2f86=_0xa28773,_0x5f376e=await compilePlan(_0x4d6dba,_0x2877fe),_0x275877=Date[_0x3e2f86(0x17c)](),_0x3c1a60=await executePlan(_0x5f376e,_0x4d6dba,_0x2877fe),_0x3820fe=Date[_0x3e2f86(0x17c)]()-_0x275877;return{'ok':!![],'data':{'service':_0x35474d[_0x3e2f86(0x1dd)],'command':_0x4d6dba[_0x3e2f86(0x1d8)],'target':targetPreview(_0x5f376e),'result':_0x3c1a60,'elapsed':_0x3820fe},'message':_0x3e2f86(0x17a)+_0x4d6dba[_0x3e2f86(0x1d8)]+_0x3e2f86(0x1c6)+_0x3820fe+'ms'};}};}function dynamicCommandName(_0x33fdac){const _0x335c91=a38_0x3cba;return _0x33fdac['fullPath'][_0x335c91(0x187)](0x1)[_0x335c91(0x1cf)]('\x20');}function riskTag(_0x3de8b7){return _0x3de8b7==='read'?'':'\x20\x20['+_0x3de8b7+']';}function flagToCommandFlag(_0x569ce4){const _0x2ab584=a38_0x3cba;return{'name':_0x569ce4['cliName'],'type':_0x569ce4[_0x2ab584(0x190)]==='json'?_0x2ab584(0x1a8):_0x569ce4[_0x2ab584(0x190)],'description':_0x569ce4[_0x2ab584(0x1ad)]||_0x569ce4['name'],'required':_0x569ce4['required'],'default':isPrimitiveFlagDefault(_0x569ce4['default'])?_0x569ce4['default']:undefined,'enum':_0x569ce4[_0x2ab584(0x1ab)]};}async function compilePlan(_0x5ca48e,_0x291b16){const _0x1b7579=a38_0x3cba;return compileServiceTreeCommand(_0x5ca48e,{'flags':_0x291b16['rawFlags'],'args':_0x291b16[_0x1b7579(0x1d2)],'context':await buildServiceContext(_0x5ca48e,_0x291b16)});}async function buildServiceContext(_0x3e764b,_0xe9abd8){const _0x4a379b=a38_0x3cba,_0xbd20b3={'appCode':_0xe9abd8[_0x4a379b(0x1a4)],'env':_0xe9abd8['envName'],'envName':_0xe9abd8[_0x4a379b(0x1c0)]};if(!usesRuntimeContext(_0x3e764b))return _0xbd20b3;const _0x805d42=await getLoginUserInfo(),_0x3fa279=pickFirst(_0x805d42[_0x4a379b(0x1b5)],_0x805d42['id']);return{..._0xbd20b3,'user':_0x805d42,'userId':_0x3fa279,'id':_0x805d42['id'],'username':pickFirst(_0x805d42[_0x4a379b(0x1cd)],_0x805d42[_0x4a379b(0x1b6)],_0x805d42[_0x4a379b(0x1ca)]),'userName':_0x805d42[_0x4a379b(0x1b6)],'nickname':pickFirst(_0x805d42[_0x4a379b(0x1b9)],_0x805d42[_0x4a379b(0x198)]),'nickName':_0x805d42[_0x4a379b(0x198)],'tenantCode':_0x805d42[_0x4a379b(0x1cb)],'employeeId':_0x805d42[_0x4a379b(0x186)]};}function usesRuntimeContext(_0x55f6e9){const _0x4d8007=a38_0x3cba;return _0x55f6e9['mapTo'][_0x4d8007(0x1b3)](_0xdf6a4d=>typeof _0xdf6a4d[_0x4d8007(0x18f)]===_0x4d8007(0x1a8)&&(_0xdf6a4d[_0x4d8007(0x18f)]['startsWith'](_0x4d8007(0x1c9))||_0xdf6a4d['source'][_0x4d8007(0x194)](_0x4d8007(0x184))));}function pickFirst(..._0x3447d5){return _0x3447d5['find'](_0x189033=>_0x189033!==undefined&&_0x189033!==null);}async function executePlan(_0x45a4db,_0x428e9b,_0x3ae45c){const _0x20359f=a38_0x3cba;if(_0x45a4db[_0x20359f(0x1a0)]===_0x20359f(0x1a7)){const _0x2d90da=await resolveDatasetCode(_0x45a4db,_0x428e9b,_0x3ae45c);return executeData(_0x2d90da,_0x45a4db[_0x20359f(0x1c8)],_0x45a4db['params']);}if(_0x45a4db[_0x20359f(0x1a0)]==='sql'){if(!_0x45a4db['sqlCode'])throw CliErrors[_0x20359f(0x181)]('Service\x20command\x20'+_0x428e9b[_0x20359f(0x1d8)]+_0x20359f(0x1b4));return executeSdkSql(_0x45a4db['sqlCode'],normalizeScalarParams(_0x45a4db[_0x20359f(0x196)]));}if(_0x45a4db[_0x20359f(0x1a0)]===_0x20359f(0x1c4)){const _0x28a895=_0x45a4db[_0x20359f(0x1b2)]||_0x45a4db['bffCode']||(_0x45a4db[_0x20359f(0x1c1)]==null?'':String(_0x45a4db['bffId']));if(!_0x28a895)throw CliErrors[_0x20359f(0x181)](_0x20359f(0x17a)+_0x428e9b[_0x20359f(0x1d8)]+_0x20359f(0x19f));return executeSdkBff(_0x28a895,_0x45a4db[_0x20359f(0x196)]);}throw CliErrors[_0x20359f(0x181)](_0x20359f(0x193)+_0x45a4db[_0x20359f(0x1a0)]);}async function resolveDatasetCode(_0x395540,_0x32e1d9,_0x53ea76){const _0x2a637f=a38_0x3cba;if(_0x395540[_0x2a637f(0x1a2)])return _0x395540[_0x2a637f(0x1a2)];if(!_0x395540[_0x2a637f(0x1dc)])throw CliErrors[_0x2a637f(0x181)](_0x2a637f(0x17a)+_0x32e1d9[_0x2a637f(0x1d8)]+_0x2a637f(0x1d6));const _0x2d0371=await listDatasets(_0x53ea76['appCode']),_0x433b24=_0x2d0371[_0x2a637f(0x18d)](_0x1c76d2=>_0x1c76d2[_0x2a637f(0x1aa)]?.[_0x2a637f(0x1bd)]===_0x395540[_0x2a637f(0x1dc)]);if(!_0x433b24?.['code'])throw CliErrors[_0x2a637f(0x181)](_0x2a637f(0x18e)+_0x395540['datatable']+_0x2a637f(0x18a)+_0x53ea76[_0x2a637f(0x1a4)]+'.',_0x2a637f(0x1da));return _0x433b24['code'];}function a38_0x3cba(_0x24300a,_0x14c0bf){_0x24300a=_0x24300a-0x177;const _0x52be6d=a38_0x52be();let _0x3cba45=_0x52be6d[_0x24300a];return _0x3cba45;}function applyAppBinding(_0xa837b7,_0x5dd15e,_0x129767){const _0x3b6cca=a38_0x3cba,_0x5a51df=_0x5dd15e[_0x3b6cca(0x1db)]['appRef'];if(!_0x5a51df)return;const _0x51b564=_0xa837b7[_0x3b6cca(0x191)][_0x5a51df];if(!_0x51b564)throw CliErrors[_0x3b6cca(0x181)]('Unknown\x20appRef\x20\x22'+_0x5a51df+'\x22\x20in\x20service\x20command\x20'+_0x5dd15e[_0x3b6cca(0x1d8)]+'.',_0x3b6cca(0x1bb));const _0x10d69c=_0x51b564[_0x3b6cca(0x188)]||_0x51b564[_0x3b6cca(0x1a4)];_0x10d69c&&!hasText(_0x129767[_0x3b6cca(0x188)])&&(_0x129767[_0x3b6cca(0x188)]=_0x10d69c),_0x51b564[_0x3b6cca(0x180)]&&!hasText(_0x129767[_0x3b6cca(0x180)])&&!hasText(_0x129767[_0x3b6cca(0x188)])&&(_0x129767['app']=_0x51b564['app']),_0x51b564[_0x3b6cca(0x1ac)]&&!hasText(_0x129767[_0x3b6cca(0x1ac)])&&(_0x129767[_0x3b6cca(0x1ac)]=_0x51b564[_0x3b6cca(0x1ac)]);}function renderDynamicCommandHelp(_0x41e7ab){const _0xa0607f=a38_0x3cba,_0x11e2c7=[_0xa0607f(0x192),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1a0)],_0xa0607f(0x1ce)+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1c8)]];if(_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1a2)])_0x11e2c7[_0xa0607f(0x1d4)](_0xa0607f(0x1c2)+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1a2)]);if(_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1dc)])_0x11e2c7['push']('\x20\x20\x20\x20datatable:\x20'+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1dc)]);if(_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1b0)])_0x11e2c7[_0xa0607f(0x1d4)](_0xa0607f(0x1be)+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1b0)]);if(_0x41e7ab[_0xa0607f(0x1db)]['scriptName'])_0x11e2c7[_0xa0607f(0x1d4)]('\x20\x20\x20\x20scriptName:\x20'+_0x41e7ab[_0xa0607f(0x1db)][_0xa0607f(0x1b2)]);if(_0x41e7ab[_0xa0607f(0x185)][_0xa0607f(0x17e)]>0x0){_0x11e2c7[_0xa0607f(0x1d4)]('',_0xa0607f(0x1a6));for(const _0x3a2fc2 of _0x41e7ab[_0xa0607f(0x185)]){_0x11e2c7[_0xa0607f(0x1d4)](_0xa0607f(0x1b8)+(_0x3a2fc2[_0xa0607f(0x18f)]||'const')+_0xa0607f(0x1d1)+_0x3a2fc2[_0xa0607f(0x1db)]+(_0x3a2fc2[_0xa0607f(0x18b)]?'.'+_0x3a2fc2[_0xa0607f(0x18b)]:''));}}return _0x11e2c7['join']('\x0a');}function targetPreview(_0x20184e){const _0x340389=a38_0x3cba;return{'kind':_0x20184e['kind'],'command':_0x20184e[_0x340389(0x1c8)],'appRef':_0x20184e['appRef'],'datasetCode':_0x20184e['datasetCode'],'datatable':_0x20184e['datatable'],'sqlCode':_0x20184e['sqlCode'],'bffCode':_0x20184e[_0x340389(0x1d0)],'bffId':_0x20184e[_0x340389(0x1c1)],'scriptName':_0x20184e['scriptName']};}function normalizeScalarParams(_0x277739){const _0x1428bc=a38_0x3cba;return Object['fromEntries'](Object[_0x1428bc(0x1d5)](_0x277739)[_0x1428bc(0x1d9)](([,_0xb14bd2])=>typeof _0xb14bd2===_0x1428bc(0x1a8)||typeof _0xb14bd2===_0x1428bc(0x178)));}function hasText(_0x3cdf1b){const _0x366559=a38_0x3cba;return typeof _0x3cdf1b===_0x366559(0x1a8)&&_0x3cdf1b[_0x366559(0x1c5)]()[_0x366559(0x17e)]>0x0;}function isPrimitiveFlagDefault(_0xdc8a6f){const _0x2e5bd8=a38_0x3cba;return _0xdc8a6f===undefined||typeof _0xdc8a6f===_0x2e5bd8(0x1a8)||typeof _0xdc8a6f==='number'||typeof _0xdc8a6f===_0x2e5bd8(0x19c);}
|
|
@@ -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_0x12b746=a39_0x1127;(function(_0x58f4ad,_0x2357e7){const _0x13f675=a39_0x1127,_0x987e54=_0x58f4ad();while(!![]){try{const _0x541d78=parseInt(_0x13f675(0x186))/0x1+-parseInt(_0x13f675(0x196))/0x2*(-parseInt(_0x13f675(0x177))/0x3)+-parseInt(_0x13f675(0x15f))/0x4+-parseInt(_0x13f675(0x192))/0x5+parseInt(_0x13f675(0x172))/0x6*(-parseInt(_0x13f675(0x18e))/0x7)+-parseInt(_0x13f675(0x159))/0x8*(-parseInt(_0x13f675(0x16e))/0x9)+-parseInt(_0x13f675(0x156))/0xa*(-parseInt(_0x13f675(0x187))/0xb);if(_0x541d78===_0x2357e7)break;else _0x987e54['push'](_0x987e54['shift']());}catch(_0x353968){_0x987e54['push'](_0x987e54['shift']());}}}(a39_0x5370,0x2fded));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a39_0x1127(_0x1b38d5,_0x584f29){_0x1b38d5=_0x1b38d5-0x155;const _0x5370eb=a39_0x5370();let _0x1127ad=_0x5370eb[_0x1b38d5];return _0x1127ad;}function a39_0x5370(){const _0xb1053b=['6jdqXJb','source','updated','hash','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','3uSjVNa','serviceCount','kind','Imported','cliPath','errors','entry','description','service','entries','filePath','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','normalizedManifest','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','23185sqelJF','209TsbCHX','version','import','Imported\x20','\x20service\x20','lower\x20kebab-case\x20service\x20code','WRITE','2159591gMBkbV','write','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','name','448260ZeSUcj','remove','imported','serviceCode','366398fhOaYu','warnings','str','file','Service\x20manifest\x20validation\x20passed.','Removed\x20service\x20','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','218630PPARiE','commands','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','912twcMSZ','type','risk','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','target','importedAt','1451708KaKkvZ','report','reduce','manifest','registryPath','\x20service(s).','registryIndex','Local\x20service\x20not\x20found:\x20','list','\x20service(s),\x20updated\x20','flags','map','read','Local\x20service\x20code,\x20for\x20example\x20crm','length','26478rUTvhl','manifests','replaced','string'];a39_0x5370=function(){return _0xb1053b;};return a39_0x5370();}const FILE_FLAG={'name':a39_0x12b746(0x199),'type':a39_0x12b746(0x171),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a39_0x12b746(0x17f),'type':'string','required':!![],'description':a39_0x12b746(0x16c),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a39_0x12b746(0x18c)}};function summarizeService(_0x213e4b){const _0x5cc68a=a39_0x12b746;return{'serviceCode':_0x213e4b[_0x5cc68a(0x195)],'name':_0x213e4b[_0x5cc68a(0x184)][_0x5cc68a(0x17f)][_0x5cc68a(0x191)],'version':_0x213e4b[_0x5cc68a(0x188)],'importedAt':_0x213e4b[_0x5cc68a(0x15e)],'source':_0x213e4b[_0x5cc68a(0x173)],'commandCount':_0x213e4b[_0x5cc68a(0x184)][_0x5cc68a(0x157)][_0x5cc68a(0x16d)],'commands':_0x213e4b[_0x5cc68a(0x184)][_0x5cc68a(0x157)][_0x5cc68a(0x16a)](_0x179768=>({'path':_0x179768['cliPath'],'description':_0x179768[_0x5cc68a(0x17e)],'risk':_0x179768[_0x5cc68a(0x15b)],'target':_0x179768[_0x5cc68a(0x15d)],'flags':_0x179768[_0x5cc68a(0x169)][_0x5cc68a(0x16a)](_0x183a71=>({'name':_0x183a71[_0x5cc68a(0x191)],'cliName':_0x183a71['cliName'],'type':_0x183a71[_0x5cc68a(0x15a)],'required':_0x183a71['required']===!![]}))}))};}function summarizeLoadedManifest(_0x1f4bd6){const _0x615b34=a39_0x12b746;return{'service':_0x1f4bd6['normalizedManifest']?.[_0x615b34(0x17f)],'version':_0x1f4bd6[_0x615b34(0x184)]?.['version'],'commandCount':_0x1f4bd6[_0x615b34(0x184)]?.[_0x615b34(0x157)][_0x615b34(0x16d)]??0x0,'commands':_0x1f4bd6[_0x615b34(0x184)]?.[_0x615b34(0x157)]['map'](_0x5116b0=>({'path':_0x5116b0[_0x615b34(0x17b)],'risk':_0x5116b0[_0x615b34(0x15b)],'target':_0x5116b0[_0x615b34(0x15d)]}))??[],'registryIndex':_0x1f4bd6[_0x615b34(0x165)],'registryServiceCode':_0x1f4bd6['registryServiceCode'],'errors':_0x1f4bd6['report']['errors'],'warnings':_0x1f4bd6[_0x615b34(0x160)][_0x615b34(0x197)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a39_0x12b746(0x182),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2dec83){const _0x39e129=a39_0x12b746,_0x30ab87=loadServiceManifestFromFile(_0x2dec83[_0x39e129(0x198)](_0x39e129(0x199)));if(!_0x30ab87[_0x39e129(0x160)]['ok'])return{'ok':![],'data':{'file':_0x30ab87[_0x39e129(0x181)],'hash':_0x30ab87[_0x39e129(0x175)],'kind':_0x30ab87['kind'],'serviceCount':_0x30ab87[_0x39e129(0x16f)][_0x39e129(0x16d)],'services':_0x30ab87[_0x39e129(0x16f)][_0x39e129(0x16a)](summarizeLoadedManifest),'errors':_0x30ab87[_0x39e129(0x160)][_0x39e129(0x17c)],'warnings':_0x30ab87[_0x39e129(0x160)][_0x39e129(0x197)]},'message':formatValidationFailure(_0x30ab87[_0x39e129(0x160)])};if(_0x30ab87[_0x39e129(0x179)]==='registry'||_0x30ab87[_0x39e129(0x16f)][_0x39e129(0x16d)]!==0x1)return{'ok':!![],'data':{'file':_0x30ab87[_0x39e129(0x181)],'hash':_0x30ab87[_0x39e129(0x175)],'kind':_0x30ab87[_0x39e129(0x179)],'serviceCount':_0x30ab87[_0x39e129(0x16f)][_0x39e129(0x16d)],'commandCount':_0x30ab87['manifests'][_0x39e129(0x161)]((_0x2b49cf,_0x2d8139)=>_0x2b49cf+(_0x2d8139[_0x39e129(0x184)]?.[_0x39e129(0x157)]['length']??0x0),0x0),'services':_0x30ab87['manifests']['map'](summarizeLoadedManifest),'warnings':_0x30ab87['report'][_0x39e129(0x197)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x30ab87[_0x39e129(0x181)],'hash':_0x30ab87['hash'],'kind':_0x30ab87['kind'],'service':_0x30ab87[_0x39e129(0x184)]?.[_0x39e129(0x17f)],'version':_0x30ab87[_0x39e129(0x184)]?.[_0x39e129(0x188)],'commandCount':_0x30ab87[_0x39e129(0x184)]?.[_0x39e129(0x157)][_0x39e129(0x16d)]??0x0,'commands':_0x30ab87[_0x39e129(0x184)]?.['commands'][_0x39e129(0x16a)](_0x387a20=>({'path':_0x387a20['cliPath'],'risk':_0x387a20[_0x39e129(0x15b)],'target':_0x387a20[_0x39e129(0x15d)]})),'warnings':_0x30ab87[_0x39e129(0x160)][_0x39e129(0x197)]},'message':_0x39e129(0x19a)};}},{'service':a39_0x12b746(0x17f),'command':a39_0x12b746(0x189),'description':a39_0x12b746(0x183),'risk':a39_0x12b746(0x18f),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x41968a){const _0x1f4bdf=a39_0x12b746,_0x8ffd7f=loadServiceManifestFromFile(_0x41968a[_0x1f4bdf(0x198)](_0x1f4bdf(0x199)));return{'method':_0x1f4bdf(0x18d),'url':getServiceRegistryPath(),'body':{'file':_0x8ffd7f[_0x1f4bdf(0x181)],'hash':_0x8ffd7f[_0x1f4bdf(0x175)],'kind':_0x8ffd7f['kind'],'ok':_0x8ffd7f[_0x1f4bdf(0x160)]['ok'],'service':_0x8ffd7f[_0x1f4bdf(0x184)]?.['service'],'version':_0x8ffd7f[_0x1f4bdf(0x184)]?.[_0x1f4bdf(0x188)],'serviceCount':_0x8ffd7f[_0x1f4bdf(0x16f)]['length'],'services':_0x8ffd7f[_0x1f4bdf(0x16f)][_0x1f4bdf(0x16a)](_0x8dd377=>({'service':_0x8dd377['normalizedManifest']?.['service'],'version':_0x8dd377['normalizedManifest']?.[_0x1f4bdf(0x188)],'commandCount':_0x8dd377['normalizedManifest']?.[_0x1f4bdf(0x157)][_0x1f4bdf(0x16d)]??0x0,'errors':_0x8dd377[_0x1f4bdf(0x160)]['errors']})),'errors':_0x8ffd7f[_0x1f4bdf(0x160)][_0x1f4bdf(0x17c)],'commandCount':_0x8ffd7f[_0x1f4bdf(0x184)]?.[_0x1f4bdf(0x157)][_0x1f4bdf(0x16d)]??0x0},'description':_0x1f4bdf(0x190)};},async 'execute'(_0x5b25fa){const _0x108dd2=a39_0x12b746,_0x4305a1=importServiceManifest(_0x5b25fa[_0x108dd2(0x198)]('file'));if(_0x4305a1['entries'][_0x108dd2(0x16d)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4305a1[_0x108dd2(0x163)],'imported':_0x4305a1[_0x108dd2(0x194)],'updated':_0x4305a1[_0x108dd2(0x174)],'serviceCount':_0x4305a1[_0x108dd2(0x178)],'services':_0x4305a1[_0x108dd2(0x180)][_0x108dd2(0x16a)](summarizeService)},'message':_0x108dd2(0x18a)+_0x4305a1['imported']+_0x108dd2(0x168)+_0x4305a1[_0x108dd2(0x174)]+_0x108dd2(0x164)};return{'ok':!![],'data':{'registryPath':_0x4305a1[_0x108dd2(0x163)],'replaced':_0x4305a1[_0x108dd2(0x170)],'imported':_0x4305a1[_0x108dd2(0x194)],'updated':_0x4305a1[_0x108dd2(0x174)],'serviceCount':_0x4305a1[_0x108dd2(0x178)],'service':summarizeService(_0x4305a1[_0x108dd2(0x17d)])},'message':(_0x4305a1[_0x108dd2(0x170)]?'Updated':_0x108dd2(0x17a))+_0x108dd2(0x18b)+_0x4305a1[_0x108dd2(0x17d)]['serviceCode']+'.'};}},{'service':a39_0x12b746(0x17f),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a39_0x12b746(0x18f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0xd6baec){const _0x551262=a39_0x12b746,_0x35a5a2=getLocalServiceEntry(_0xd6baec[_0x551262(0x198)](_0x551262(0x17f)));return{'method':_0x551262(0x18d),'url':_0xd6baec[_0x551262(0x198)](_0x551262(0x199)),'body':{'service':_0xd6baec[_0x551262(0x198)](_0x551262(0x17f)),'found':Boolean(_0x35a5a2),'version':_0x35a5a2?.[_0x551262(0x188)],'source':_0x35a5a2?.[_0x551262(0x173)]},'description':_0x551262(0x185)};},async 'execute'(_0x9031ce){const _0x4b3abe=a39_0x12b746,_0x1a21a6=exportServiceManifest(_0x9031ce[_0x4b3abe(0x198)]('service'),_0x9031ce['str'](_0x4b3abe(0x199)));return{'ok':!![],'data':{'registryPath':_0x1a21a6['registryPath'],'file':_0x1a21a6[_0x4b3abe(0x181)],'service':summarizeService(_0x1a21a6[_0x4b3abe(0x17d)])},'message':'Exported\x20service\x20'+_0x1a21a6[_0x4b3abe(0x17d)][_0x4b3abe(0x195)]+'.'};}},{'service':a39_0x12b746(0x17f),'command':a39_0x12b746(0x167),'description':a39_0x12b746(0x176),'risk':a39_0x12b746(0x16b),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x3fc62a=a39_0x12b746,_0x25a956=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x25a956[_0x3fc62a(0x16d)],'services':_0x25a956[_0x3fc62a(0x16a)](summarizeService)}};}},{'service':a39_0x12b746(0x17f),'command':a39_0x12b746(0x193),'description':a39_0x12b746(0x155),'risk':a39_0x12b746(0x18f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1418fe){const _0x422187=a39_0x12b746,_0x4f889d=getLocalServiceEntry(_0x1418fe['str'](_0x422187(0x17f)));return{'method':_0x422187(0x18d),'url':getServiceRegistryPath(),'body':{'service':_0x1418fe['str'](_0x422187(0x17f)),'found':Boolean(_0x4f889d),'version':_0x4f889d?.[_0x422187(0x188)],'source':_0x4f889d?.[_0x422187(0x173)]},'description':_0x422187(0x158)};},async 'execute'(_0x2d6218){const _0x475eb6=a39_0x12b746,_0x50b281=removeServiceManifest(_0x2d6218[_0x475eb6(0x198)](_0x475eb6(0x17f)));return{'ok':!![],'data':{'registryPath':_0x50b281[_0x475eb6(0x163)],'serviceCount':_0x50b281['serviceCount'],'service':summarizeService(_0x50b281[_0x475eb6(0x17d)])},'message':_0x475eb6(0x19b)+_0x50b281[_0x475eb6(0x17d)]['serviceCode']+'.'};}},{'service':a39_0x12b746(0x17f),'command':'detail','description':a39_0x12b746(0x15c),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x54ccc3){const _0x26ad33=a39_0x12b746,_0x282b2b=getLocalServiceEntry(_0x54ccc3[_0x26ad33(0x198)](_0x26ad33(0x17f)));if(!_0x282b2b)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x54ccc3[_0x26ad33(0x198)]('service')},'message':_0x26ad33(0x166)+_0x54ccc3[_0x26ad33(0x198)](_0x26ad33(0x17f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x282b2b),'manifest':_0x282b2b[_0x26ad33(0x162)],'normalizedManifest':_0x282b2b[_0x26ad33(0x184)]}};}}];
|
|
@@ -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
|
+
const a40_0x429bf4=a40_0x23f9;(function(_0x1d59e3,_0x51eedb){const _0xba4d8a=a40_0x23f9,_0x20a989=_0x1d59e3();while(!![]){try{const _0x29c8be=parseInt(_0xba4d8a(0x151))/0x1*(parseInt(_0xba4d8a(0x17c))/0x2)+-parseInt(_0xba4d8a(0x178))/0x3+-parseInt(_0xba4d8a(0x17d))/0x4+-parseInt(_0xba4d8a(0x191))/0x5+parseInt(_0xba4d8a(0x16a))/0x6*(parseInt(_0xba4d8a(0x167))/0x7)+parseInt(_0xba4d8a(0x152))/0x8+-parseInt(_0xba4d8a(0x183))/0x9;if(_0x29c8be===_0x51eedb)break;else _0x20a989['push'](_0x20a989['shift']());}catch(_0x1550c1){_0x20a989['push'](_0x20a989['shift']());}}}(a40_0x2a71,0x2351a));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';function a40_0x23f9(_0x4430b4,_0x396047){_0x4430b4=_0x4430b4-0x14a;const _0x2a7189=a40_0x2a71();let _0x23f9cf=_0x2a7189[_0x4430b4];return _0x23f9cf;}import{dirname,resolve}from'node:path';function a40_0x2a71(){const _0x44caa2=['warnings','string','description','slice','cliPath','ENOENT','update','serviceCode','map','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','utf8','splice','validation','13541fpctJF','1825904YDaYcL','toISOString','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','normalizedManifest','source','$.services[','localeCompare','isArray','risk','parse','service.json','errors','now','registryIndex','importedAt','Local\x20service\x20not\x20found:\x20','sha256','invalid','].manifest','stringify','303793VbETEg','CliError','hex','18UCbSAD','name','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Invalid\x20service\x20registry\x20JSON:\x20','empty','.tmp','message','sourceHash','updatedAt','schemaVersion','manifest','reduce','flatMap','filePath','371838zmzIcm','find','push','length','20tTSwku','568676LNxHnb','registry','services\x20must\x20be\x20an\x20array','trim','join','Invalid\x20service\x20manifest\x20JSON:\x20','369657PtBXoX','Cannot\x20write\x20service\x20registry:\x20','sort','target','Service\x20manifest\x20file\x20not\x20found:\x20','object','command','path','service','startsWith','commands','homeDir','version','services','209955lYBwwu','manifests','commandCount','kind','findIndex','report'];a40_0x2a71=function(){return _0x44caa2;};return a40_0x2a71();}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;export const SERVICE_REGISTRY_FILE_NAME=a40_0x429bf4(0x15d);export function getServiceRegistryPath(_0xe5d804={}){const _0x53af49=a40_0x429bf4;return resolve(_0xe5d804[_0x53af49(0x18e)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3b4500={}){const _0x5c5c23=a40_0x429bf4,_0x14686a=getServiceRegistryPath(_0x3b4500);if(!existsSync(_0x14686a))return emptyServiceRegistry();try{const _0x456fc5=readFileSync(_0x14686a,_0x5c5c23(0x14e));if(!_0x456fc5['trim']())return emptyServiceRegistry();const _0x44762a=JSON['parse'](_0x456fc5);if(_0x44762a[_0x5c5c23(0x173)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5c5c23(0x150)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x44762a[_0x5c5c23(0x173)]),_0x5c5c23(0x14d)+_0x14686a+'.');if(!Array[_0x5c5c23(0x15a)](_0x44762a['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x44762a[_0x5c5c23(0x172)],'services':_0x44762a[_0x5c5c23(0x190)]};}catch(_0x1c1e17){if(_0x1c1e17 instanceof Error&&_0x1c1e17[_0x5c5c23(0x16b)]===_0x5c5c23(0x168))throw _0x1c1e17;throw CliErrors[_0x5c5c23(0x150)](_0x5c5c23(0x16d)+_0x14686a,_0x5c5c23(0x154));}}export function writeServiceRegistry(_0x49912d,_0x5f3e2f={}){const _0x57f515=a40_0x429bf4,_0x57e997=getServiceRegistryPath(_0x5f3e2f),_0x4243f9=dirname(_0x57e997);!existsSync(_0x4243f9)&&mkdirSync(_0x4243f9,{'recursive':!![]});const _0x3f3a8b=_0x57e997+_0x57f515(0x16f);try{writeFileSync(_0x3f3a8b,JSON[_0x57f515(0x166)](_0x49912d,null,0x2)+'\x0a',{'encoding':_0x57f515(0x14e),'mode':0x180}),renameSync(_0x3f3a8b,_0x57e997);}catch(_0xd747c3){try{unlinkSync(_0x3f3a8b);}catch{}if(_0xd747c3?.['code']===_0x57f515(0x19c))throw CliErrors[_0x57f515(0x150)](_0x57f515(0x184)+_0x57e997);throw _0xd747c3;}return _0x57e997;}export function loadServiceManifestFromFile(_0x4981a9){const _0xa9454a=a40_0x429bf4,_0x1f4e7c=resolve(_0x4981a9);if(!existsSync(_0x1f4e7c))throw CliErrors[_0xa9454a(0x150)](_0xa9454a(0x187)+_0x4981a9);let _0x19a7b7;const _0x94330f=readFileSync(_0x1f4e7c,_0xa9454a(0x14e));try{_0x19a7b7=JSON[_0xa9454a(0x15c)](_0x94330f);}catch{throw CliErrors[_0xa9454a(0x150)](_0xa9454a(0x182)+_0x4981a9,_0xa9454a(0x155));}const _0x1b9461=sha256(_0x94330f),_0x2998f5=extractLoadedServiceManifests(_0x19a7b7,_0x1b9461),_0x275529=aggregateValidationReports(_0x2998f5),_0x48fd98=_0x2998f5[0x0];return{'filePath':_0x1f4e7c,'hash':_0x1b9461,'kind':isServiceRegistryLike(_0x19a7b7)?_0xa9454a(0x17e):_0xa9454a(0x174),'manifest':_0x48fd98?.[_0xa9454a(0x174)]??_0x19a7b7,'report':_0x275529,'normalizedManifest':_0x2998f5[_0xa9454a(0x17b)]===0x1?_0x48fd98?.[_0xa9454a(0x156)]:undefined,'manifests':_0x2998f5};}export function importServiceManifest(_0x57cc38,_0x4b100c={}){const _0x551974=a40_0x429bf4,_0x898907=loadServiceManifestFromFile(_0x57cc38);if(!_0x898907[_0x551974(0x196)]['ok'])throw CliErrors[_0x551974(0x150)](formatValidationFailure(_0x898907[_0x551974(0x196)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x898907[_0x551974(0x192)][_0x551974(0x17b)]===0x0)throw CliErrors['validation'](_0x551974(0x16c),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x30c129=readServiceRegistry(_0x4b100c),_0x546b0f=(_0x4b100c['now']??(()=>new Date()))()[_0x551974(0x153)](),_0xeba832=[];let _0x4b937d=0x0,_0x207cf1=0x0;for(const _0x3827b7 of _0x898907['manifests']){if(!_0x3827b7[_0x551974(0x156)])continue;const _0xe070f4=_0x3827b7['normalizedManifest'][_0x551974(0x18b)]['code'],_0x60403c={'serviceCode':_0xe070f4,'version':_0x3827b7[_0x551974(0x156)][_0x551974(0x18f)],'importedAt':_0x546b0f,'source':{'type':'file','path':_0x898907[_0x551974(0x177)],'hash':_0x3827b7[_0x551974(0x171)]},'manifest':_0x3827b7[_0x551974(0x174)],'normalizedManifest':_0x3827b7[_0x551974(0x156)]},_0xe656d1=_0x30c129[_0x551974(0x190)][_0x551974(0x195)](_0x158548=>_0x158548['serviceCode']===_0xe070f4);_0xe656d1>=0x0?(_0x30c129[_0x551974(0x190)][_0xe656d1]=_0x60403c,_0x207cf1++):(_0x30c129[_0x551974(0x190)]['push'](_0x60403c),_0x4b937d++),_0xeba832[_0x551974(0x17a)](_0x60403c);}_0x30c129[_0x551974(0x190)][_0x551974(0x185)]((_0x454b64,_0x322dd9)=>_0x454b64[_0x551974(0x14a)][_0x551974(0x159)](_0x322dd9[_0x551974(0x14a)])),_0x30c129[_0x551974(0x172)]=_0x546b0f;const _0x5d4759=writeServiceRegistry(_0x30c129,_0x4b100c);return{'registryPath':_0x5d4759,'entry':_0xeba832[0x0],'replaced':_0xeba832[_0x551974(0x17b)]===0x1?_0x207cf1===0x1:_0x207cf1>0x0,'entries':_0xeba832,'imported':_0x4b937d,'updated':_0x207cf1,'serviceCount':_0x30c129[_0x551974(0x190)]['length']};}export function exportServiceManifest(_0x1a0937,_0x489d65,_0x23c9c0={}){const _0x5d0c94=a40_0x429bf4,_0xc24e8c=getServiceRegistryPath(_0x23c9c0),_0x368248=getLocalServiceEntry(_0x1a0937,_0x23c9c0);if(!_0x368248)throw CliErrors[_0x5d0c94(0x150)](_0x5d0c94(0x162)+_0x1a0937,_0x5d0c94(0x14c));const _0x170ad0=resolve(_0x489d65),_0x132753=dirname(_0x170ad0);return!existsSync(_0x132753)&&mkdirSync(_0x132753,{'recursive':!![]}),writeFileSync(_0x170ad0,JSON[_0x5d0c94(0x166)](_0x368248[_0x5d0c94(0x174)],null,0x2)+'\x0a',{'encoding':_0x5d0c94(0x14e),'mode':0x180}),{'registryPath':_0xc24e8c,'filePath':_0x170ad0,'entry':_0x368248};}export function removeServiceManifest(_0x203159,_0xd66e55={}){const _0x2335ae=a40_0x429bf4,_0x5a9d34=readServiceRegistry(_0xd66e55),_0x41f406=_0x203159[_0x2335ae(0x180)](),_0x185afe=_0x5a9d34[_0x2335ae(0x190)][_0x2335ae(0x195)](_0xdb1a66=>_0xdb1a66[_0x2335ae(0x14a)]===_0x41f406);if(_0x185afe<0x0)throw CliErrors['validation'](_0x2335ae(0x162)+_0x41f406,_0x2335ae(0x14c));const [_0x24e0f6]=_0x5a9d34[_0x2335ae(0x190)][_0x2335ae(0x14f)](_0x185afe,0x1),_0x47ebdd=(_0xd66e55[_0x2335ae(0x15f)]??(()=>new Date()))()[_0x2335ae(0x153)]();_0x5a9d34['updatedAt']=_0x47ebdd;const _0x3136e4=writeServiceRegistry(_0x5a9d34,_0xd66e55);return{'registryPath':_0x3136e4,'entry':_0x24e0f6,'serviceCount':_0x5a9d34['services'][_0x2335ae(0x17b)]};}export function listLocalServices(_0x546242={}){const _0x5ed2ad=a40_0x429bf4;return readServiceRegistry(_0x546242)[_0x5ed2ad(0x190)];}export function getLocalServiceEntry(_0x973861,_0x39d5ad={}){const _0x5461f5=a40_0x429bf4;return readServiceRegistry(_0x39d5ad)[_0x5461f5(0x190)][_0x5461f5(0x179)](_0x3eac2a=>_0x3eac2a[_0x5461f5(0x14a)]===_0x973861['trim']());}export function listLocalServiceTrees(_0x4553e={}){const _0xc89b34=a40_0x429bf4;return readServiceRegistry(_0x4553e)['services'][_0xc89b34(0x14b)](_0xbafcb6=>_0xbafcb6[_0xc89b34(0x156)]);}export function inspectServiceRegistry(_0x563311={}){const _0x4aa78c=a40_0x429bf4,_0x31a1be=getServiceRegistryPath(_0x563311);if(!existsSync(_0x31a1be))return emptyServiceRegistryInspection(_0x31a1be,'missing',![]);try{const _0x3206ea=readFileSync(_0x31a1be,_0x4aa78c(0x14e));if(!_0x3206ea[_0x4aa78c(0x180)]())return emptyServiceRegistryInspection(_0x31a1be,_0x4aa78c(0x16e),!![]);const _0x393b4e=JSON[_0x4aa78c(0x15c)](_0x3206ea);if(_0x393b4e[_0x4aa78c(0x173)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x31a1be,_0x4aa78c(0x164),!![]),'schemaVersion':_0x393b4e[_0x4aa78c(0x173)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x393b4e['schemaVersion'])};if(!Array[_0x4aa78c(0x15a)](_0x393b4e[_0x4aa78c(0x190)]))return{...emptyServiceRegistryInspection(_0x31a1be,_0x4aa78c(0x164),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x393b4e['updatedAt'],'message':_0x4aa78c(0x17f)};const _0x43dc9c=_0x393b4e[_0x4aa78c(0x190)][_0x4aa78c(0x14b)](summarizeLocalServiceEntry);return{'registryPath':_0x31a1be,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x393b4e[_0x4aa78c(0x172)],'serviceCount':_0x43dc9c['length'],'commandCount':_0x43dc9c[_0x4aa78c(0x175)]((_0x401c54,_0x2af51f)=>_0x401c54+_0x2af51f[_0x4aa78c(0x193)],0x0),'services':_0x43dc9c};}catch(_0x2ba81e){return{...emptyServiceRegistryInspection(_0x31a1be,_0x4aa78c(0x164),!![]),'message':_0x2ba81e instanceof Error?_0x2ba81e[_0x4aa78c(0x170)]:String(_0x2ba81e)};}}export function formatValidationFailure(_0x164e19){const _0x2db630=a40_0x429bf4,_0x3df705=_0x164e19[_0x2db630(0x15e)][_0x2db630(0x14b)](_0x977ecb=>_0x977ecb['path']+':\x20'+_0x977ecb[_0x2db630(0x170)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x3df705[_0x2db630(0x181)]('\x0a');}function extractLoadedServiceManifests(_0x22c28f,_0x4bce89){const _0xd9439a=a40_0x429bf4;if(!isServiceRegistryLike(_0x22c28f)){const _0x161910=_0x22c28f,_0x2dbd26=validateServiceTreeManifest(_0x161910);return[{'manifest':_0x161910,'report':_0x2dbd26,'normalizedManifest':_0x2dbd26['ok']?normalizeServiceTreeManifest(_0x161910):undefined,'sourceHash':_0x4bce89}];}return _0x22c28f[_0xd9439a(0x190)][_0xd9439a(0x14b)]((_0x5ea5cd,_0x6f9593)=>{const _0x4cc296=_0xd9439a,_0x2d8c10=isObjectRecord(_0x5ea5cd)?_0x5ea5cd['manifest']:undefined,_0x4ee4d7=validateServiceTreeManifest(_0x2d8c10),_0x25be52=isObjectRecord(_0x5ea5cd)&&typeof _0x5ea5cd[_0x4cc296(0x14a)]===_0x4cc296(0x198)?_0x5ea5cd[_0x4cc296(0x14a)]:undefined;return{'manifest':_0x2d8c10,'report':_0x4ee4d7,'normalizedManifest':_0x4ee4d7['ok']?normalizeServiceTreeManifest(_0x2d8c10):undefined,'sourceHash':sha256(JSON['stringify'](_0x2d8c10,null,0x2)+'\x0a'),'registryIndex':_0x6f9593,'registryServiceCode':_0x25be52};});}function aggregateValidationReports(_0x30e170){const _0x52f364=a40_0x429bf4,_0x17a71b=_0x30e170[_0x52f364(0x176)](_0x271a41=>_0x271a41['registryIndex']===undefined?_0x271a41[_0x52f364(0x196)][_0x52f364(0x15e)]:_0x271a41[_0x52f364(0x196)][_0x52f364(0x15e)]['map'](_0x5e20f2=>({..._0x5e20f2,'path':prefixRegistryIssuePath(_0x271a41['registryIndex'],_0x5e20f2[_0x52f364(0x18a)])}))),_0x35611d=_0x30e170['flatMap'](_0x5948cb=>_0x5948cb[_0x52f364(0x160)]===undefined?_0x5948cb[_0x52f364(0x196)][_0x52f364(0x197)]:_0x5948cb[_0x52f364(0x196)][_0x52f364(0x197)][_0x52f364(0x14b)](_0x57403b=>({..._0x57403b,'path':prefixRegistryIssuePath(_0x5948cb['registryIndex'],_0x57403b['path'])})));return{'ok':_0x17a71b[_0x52f364(0x17b)]===0x0,'errors':_0x17a71b,'warnings':_0x35611d};}function prefixRegistryIssuePath(_0x5456e9,_0x3e6e4a){const _0x382e61=a40_0x429bf4;if(_0x3e6e4a==='$')return _0x382e61(0x158)+_0x5456e9+_0x382e61(0x165);if(_0x3e6e4a[_0x382e61(0x18c)]('$.'))return _0x382e61(0x158)+_0x5456e9+_0x382e61(0x165)+_0x3e6e4a[_0x382e61(0x19a)](0x1);if(_0x3e6e4a[_0x382e61(0x18c)]('$['))return _0x382e61(0x158)+_0x5456e9+'].manifest'+_0x3e6e4a[_0x382e61(0x19a)](0x1);return _0x382e61(0x158)+_0x5456e9+'].manifest.'+_0x3e6e4a;}function isServiceRegistryLike(_0x3ba4e1){const _0x2e9c2f=a40_0x429bf4;return isObjectRecord(_0x3ba4e1)&&_0x3ba4e1[_0x2e9c2f(0x173)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x2e9c2f(0x15a)](_0x3ba4e1['services']);}function isObjectRecord(_0x1cb85f){const _0x12e4c7=a40_0x429bf4;return Boolean(_0x1cb85f)&&typeof _0x1cb85f===_0x12e4c7(0x188)&&!Array[_0x12e4c7(0x15a)](_0x1cb85f);}function emptyServiceRegistryInspection(_0x5988c9,_0xf529fc,_0x2d61c5){return{'registryPath':_0x5988c9,'exists':_0x2d61c5,'status':_0xf529fc,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x19520a){const _0x14897a=a40_0x429bf4,_0x94fbbb=_0x19520a['normalizedManifest'],_0x481455=_0x94fbbb[_0x14897a(0x18d)]['map'](_0x25f3b6=>({'path':_0x25f3b6[_0x14897a(0x19b)],'description':_0x25f3b6[_0x14897a(0x199)],'risk':_0x25f3b6[_0x14897a(0x15b)],'targetKind':_0x25f3b6[_0x14897a(0x186)][_0x14897a(0x194)],'targetCommand':_0x25f3b6[_0x14897a(0x186)][_0x14897a(0x189)]}));return{'serviceCode':_0x19520a[_0x14897a(0x14a)],'name':_0x94fbbb[_0x14897a(0x18b)][_0x14897a(0x16b)],'description':_0x94fbbb[_0x14897a(0x18b)][_0x14897a(0x199)],'version':_0x19520a[_0x14897a(0x18f)],'importedAt':_0x19520a[_0x14897a(0x161)],'source':_0x19520a[_0x14897a(0x157)],'commandCount':_0x481455[_0x14897a(0x17b)],'commands':_0x481455};}function sha256(_0x40b4f1){const _0x532707=a40_0x429bf4;return createHash(_0x532707(0x163))[_0x532707(0x19d)](_0x40b4f1)['digest'](_0x532707(0x169));}
|