@lovrabet/lovrabet-cli 2.1.3-beta.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/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/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/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- 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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x17af08=a28_0x4c87;(function(_0x20f2b6,_0x4b1c4b){const _0x4a5f8e=a28_0x4c87,_0x3d3c86=_0x20f2b6();while(!![]){try{const _0x10dae2=-parseInt(_0x4a5f8e(0xa3))/0x1+-parseInt(_0x4a5f8e(0xa6))/0x2*(-parseInt(_0x4a5f8e(0xaf))/0x3)+-parseInt(_0x4a5f8e(0xa8))/0x4+parseInt(_0x4a5f8e(0xb0))/0x5*(parseInt(_0x4a5f8e(0xb2))/0x6)+-parseInt(_0x4a5f8e(0xc2))/0x7+-parseInt(_0x4a5f8e(0xbd))/0x8*(parseInt(_0x4a5f8e(0xac))/0x9)+parseInt(_0x4a5f8e(0xb1))/0xa;if(_0x10dae2===_0x4b1c4b)break;else _0x3d3c86['push'](_0x3d3c86['shift']());}catch(_0x1f4c27){_0x3d3c86['push'](_0x3d3c86['shift']());}}}(a28_0x5c89,0xe4b81));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x4c87(_0x568f36,_0x5cc636){_0x568f36=_0x568f36-0xa3;const _0x5c896d=a28_0x5c89();let _0x4c87ea=_0x5c896d[_0x568f36];return _0x4c87ea;}function printLogs(_0x13436b){const _0x21b8f1=a28_0x4c87;if(_0x13436b['length']===0x0){console[_0x21b8f1(0xa7)](_0x21b8f1(0xbc));return;}console[_0x21b8f1(0xa7)]('*\x20'+CLI_DISPLAY_NAME+_0x21b8f1(0xae)),_0x13436b['forEach']((_0x46a117,_0x40a3fe)=>{const _0x5f4c8b=_0x21b8f1,_0x56779d=new Date(_0x46a117[_0x5f4c8b(0xb6)])[_0x5f4c8b(0xba)](_0x5f4c8b(0xb5)),_0x23b02b=_0x46a117[_0x5f4c8b(0xa9)]===_0x5f4c8b(0xb4)?'√':_0x46a117[_0x5f4c8b(0xa9)]===_0x5f4c8b(0xc4)?'×':_0x46a117['level']===_0x5f4c8b(0xb7)?'!':'i';console[_0x5f4c8b(0xa7)](_0x40a3fe+0x1+'.\x20'+_0x23b02b+'\x20['+_0x46a117[_0x5f4c8b(0xa5)]+']\x20'+_0x46a117[_0x5f4c8b(0xaa)]),console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xc3)+_0x56779d),_0x46a117[_0x5f4c8b(0xb8)]&&console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xc0)+_0x46a117[_0x5f4c8b(0xb8)]+'ms'),_0x46a117['details']&&Object[_0x5f4c8b(0xbf)](_0x46a117[_0x5f4c8b(0xab)])['length']>0x0&&console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xa4)+JSON[_0x5f4c8b(0xb9)](_0x46a117[_0x5f4c8b(0xab)],null,0x2)),console['log']('');});}function a28_0x5c89(){const _0x4c0c2a=['\x20logs:\x0a','9trCNKr','305pHiXZj','44141420qqpEPA','102192yCXzAC','View\x20command\x20history\x20logs','success','en-US','timestamp','warn','duration','stringify','toLocaleString','logs','*\x20No\x20logs\x20found','24KyMrtd','clearLogs','keys','\x20\x20\x20Duration:\x20','write','12886272uNFezB','\x20\x20\x20Time:\x20','error','Clear\x20command\x20history\x20logs','1389428cYoWbE','\x20\x20\x20Details:\x20','command','690158iWWCvX','log','6387140LEVjMs','level','message','details','2173167VMccYZ','readLogs'];a28_0x5c89=function(){return _0x4c0c2a;};return a28_0x5c89();}export const logsDefinitions=[{'service':a28_0x17af08(0xbb),'command':'show','description':a28_0x17af08(0xb3),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3e9e85){const _0x4f95c3=a28_0x17af08;return printLogs(logger[_0x4f95c3(0xad)]()),{'ok':!![]};}},{'service':a28_0x17af08(0xbb),'command':'clear','description':a28_0x17af08(0xc5),'risk':a28_0x17af08(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1a38f9){const _0x46c693=a28_0x17af08;return logger[_0x46c693(0xbe)](),console['log']('*\x20Logs\x20cleared'),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0x20676e=a29_0x61b3;(function(_0x1900d5,_0x5f20c9){const _0x133442=a29_0x61b3,_0x500100=_0x1900d5();while(!![]){try{const _0x551589=-parseInt(_0x133442(0x1f4))/0x1+parseInt(_0x133442(0x1c0))/0x2+parseInt(_0x133442(0x1fc))/0x3*(-parseInt(_0x133442(0x1f8))/0x4)+-parseInt(_0x133442(0x1f1))/0x5+-parseInt(_0x133442(0x1d2))/0x6+-parseInt(_0x133442(0x1c9))/0x7+parseInt(_0x133442(0x1ec))/0x8;if(_0x551589===_0x5f20c9)break;else _0x500100['push'](_0x500100['shift']());}catch(_0x32adf9){_0x500100['push'](_0x500100['shift']());}}}(a29_0x2d6a,0xcf482));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x61b3(_0x1eeccb,_0x1ea5d0){_0x1eeccb=_0x1eeccb-0x1b8;const _0x2d6a3e=a29_0x2d6a();let _0x61b3b6=_0x2d6a3e[_0x1eeccb];return _0x61b3b6;}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';function a29_0x2d6a(){const _0x48d29d=['update','validation','file','list','appCode','POST','trim','Update\x20a\x20personal\x20BFF\x20by\x20id','string','name','description','Preview:\x20update\x20personal\x20BFF\x20','File\x20not\x20found:\x20','scriptContent','Executed\x20personal\x20BFF\x20','/client/runtime-bff/personal/create','--params\x20must\x20be\x20a\x20JSON\x20object.','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','File\x20is\x20not\x20a\x20regular\x20file:\x20','flag','createTime','17288272xuOkKV','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','detail','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','4143530tDZraQ','Show\x20one\x20personal\x20BFF\x20by\x20id','length','209000fvZYRy','verbose','Created\x20personal\x20BFF\x20','/update','6096AkzuVd','version','build','scriptType','174hINwnA','Preview:\x20create\x20personal\x20BFF\x20','sourceSessionId','Optional\x20source\x20RuntimeAgent\x20session\x20id','config','read','source-session-id','personal-bff','gmtModified','Personal\x20BFF\x20script\x20ID','createUserId','3376684mxMtMG','str','write','utf8','num','keys','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','test','functionName','4238073hhGEqI','isFile','high-risk-write','gmtCreate','create','params','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Personal\x20BFF\x20script\x20file\x20is\x20blank.','7612878azVLbM','isArray','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','body','Personal\x20BFF\x20description'];a29_0x2d6a=function(){return _0x48d29d;};return a29_0x2d6a();}const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x20676e(0x1d9),'type':a29_0x20676e(0x1df),'description':a29_0x20676e(0x1d0)},FUNCTION_NAME_FLAG={'name':'name','type':'string','required':!![],'description':a29_0x20676e(0x1d4)},DESCRIPTION_FLAG={'name':'description','type':a29_0x20676e(0x1df),'description':a29_0x20676e(0x1d6)},SOURCE_SESSION_FLAG={'name':a29_0x20676e(0x1bb),'type':a29_0x20676e(0x1df),'description':a29_0x20676e(0x1b8)};function normalizeFunctionName(_0xce4757){const _0x3a0ec6=a29_0x20676e,_0x4dc1e4=String(_0xce4757||'')[_0x3a0ec6(0x1dd)]();if(!_0x4dc1e4||!FUNCTION_NAME_PATTERN[_0x3a0ec6(0x1c7)](_0x4dc1e4))throw CliErrors[_0x3a0ec6(0x1d8)](_0x3a0ec6(0x1ef));return _0x4dc1e4;}function readScriptFile(_0x64d7ee){const _0x405d42=a29_0x20676e;if(!_0x64d7ee)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x64d7ee))throw CliErrors[_0x405d42(0x1d8)](_0x405d42(0x1e3)+_0x64d7ee);if(!statSync(_0x64d7ee)[_0x405d42(0x1ca)]())throw CliErrors[_0x405d42(0x1d8)](_0x405d42(0x1e9)+_0x64d7ee);const _0x417a8a=readFileSync(_0x64d7ee,_0x405d42(0x1c3));if(!_0x417a8a['trim']())throw CliErrors['validation'](_0x405d42(0x1d1));return _0x417a8a;}function optionalTrimmed(_0x5bc2cc){const _0x4d3bef=a29_0x20676e,_0x2008de=String(_0x5bc2cc||'')[_0x4d3bef(0x1dd)]();return _0x2008de||undefined;}function summarizeBff(_0x5b5336){const _0x2db53b=a29_0x20676e;return{'id':_0x5b5336['id'],'appCode':_0x5b5336[_0x2db53b(0x1db)],'functionName':_0x5b5336[_0x2db53b(0x1c8)],'description':_0x5b5336[_0x2db53b(0x1e1)],'scriptType':_0x5b5336['scriptType'],'version':_0x5b5336[_0x2db53b(0x1f9)],'gmtModified':_0x5b5336[_0x2db53b(0x1bd)],'updateTime':_0x5b5336['updateTime']};}function detailBff(_0x205336){const _0x3c1210=a29_0x20676e;return{'id':_0x205336['id'],'appCode':_0x205336[_0x3c1210(0x1db)],'functionName':_0x205336['functionName'],'description':_0x205336['description'],'scriptType':_0x205336[_0x3c1210(0x1fb)],'scriptContent':_0x205336[_0x3c1210(0x1e4)]??'','config':_0x205336[_0x3c1210(0x1b9)],'version':_0x205336[_0x3c1210(0x1f9)],'createUserId':_0x205336[_0x3c1210(0x1bf)],'gmtCreate':_0x205336[_0x3c1210(0x1cc)],'gmtModified':_0x205336['gmtModified'],'createTime':_0x205336[_0x3c1210(0x1eb)],'updateTime':_0x205336['updateTime']};}function buildCreateInput(_0x6446d0){const _0x1f73f9=a29_0x20676e;return{'functionName':normalizeFunctionName(_0x6446d0[_0x1f73f9(0x1c1)]('name')),...optionalTrimmed(_0x6446d0['str'](_0x1f73f9(0x1e1)))?{'description':optionalTrimmed(_0x6446d0[_0x1f73f9(0x1c1)](_0x1f73f9(0x1e1)))}:{},'scriptContent':readScriptFile(_0x6446d0[_0x1f73f9(0x1c1)]('file')),...optionalTrimmed(_0x6446d0['str']('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x6446d0[_0x1f73f9(0x1c1)]('source-session-id'))}:{}};}function buildUpdateInput(_0x3af851){const _0x5bde95=a29_0x20676e,_0x5590a8={};optionalTrimmed(_0x3af851['str'](_0x5bde95(0x1e0)))&&(_0x5590a8[_0x5bde95(0x1c8)]=normalizeFunctionName(_0x3af851[_0x5bde95(0x1c1)](_0x5bde95(0x1e0))));_0x3af851[_0x5bde95(0x1ea)](_0x5bde95(0x1e1))!==undefined&&(_0x5590a8[_0x5bde95(0x1e1)]=_0x3af851[_0x5bde95(0x1c1)](_0x5bde95(0x1e1)));optionalTrimmed(_0x3af851[_0x5bde95(0x1c1)]('file'))&&(_0x5590a8[_0x5bde95(0x1e4)]=readScriptFile(_0x3af851[_0x5bde95(0x1c1)]('file')));_0x3af851[_0x5bde95(0x1ea)](_0x5bde95(0x1bb))!==undefined&&(_0x5590a8[_0x5bde95(0x1fe)]=_0x3af851[_0x5bde95(0x1c1)](_0x5bde95(0x1bb)));if(Object[_0x5bde95(0x1c5)](_0x5590a8)[_0x5bde95(0x1f3)]===0x0)throw CliErrors[_0x5bde95(0x1d8)](_0x5bde95(0x1e8));return _0x5590a8;}function parseExecParams(_0x4d92f2){const _0x5bdad6=a29_0x20676e,_0x138391=parseJsonParams(_0x4d92f2)??{};if(Array[_0x5bdad6(0x1d3)](_0x138391))throw CliErrors[_0x5bdad6(0x1d8)](_0x5bdad6(0x1e7));return _0x138391;}const personalBffList={'service':'personal-bff','command':a29_0x20676e(0x1da),'description':a29_0x20676e(0x1c6),'risk':a29_0x20676e(0x1ba),'flags':[VERBOSE_FLAG],async 'execute'(_0xd1a639){const _0x37cace=a29_0x20676e,_0x45d823=await listPersonalBffs(_0xd1a639[_0x37cace(0x1db)]);return{'ok':!![],'data':{'total':_0x45d823['length'],'items':_0xd1a639['bool'](_0x37cace(0x1f5))?_0x45d823:_0x45d823['map'](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0x20676e(0x1ee),'description':a29_0x20676e(0x1f2),'risk':a29_0x20676e(0x1ba),'flags':[{...ID_FLAG,'description':a29_0x20676e(0x1be)}],async 'execute'(_0x661e3c){const _0x34b532=await getPersonalBff(_0x661e3c['num']('id'),_0x661e3c['appCode']);return{'ok':!![],'data':detailBff(_0x34b532)};}},personalBffCreate={'service':a29_0x20676e(0x1bc),'command':a29_0x20676e(0x1cd),'description':a29_0x20676e(0x1cf),'risk':a29_0x20676e(0x1c2),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x547b88){const _0x12f8fd=a29_0x20676e,_0x2a9168=buildCreateInput(_0x547b88),_0x5ea556=await createPersonalBff(_0x547b88[_0x12f8fd(0x1db)],_0x2a9168);return{'ok':!![],'data':detailBff(_0x5ea556),'message':_0x12f8fd(0x1f6)+_0x5ea556['id']+(_0x5ea556['functionName']?'\x20('+_0x5ea556[_0x12f8fd(0x1c8)]+')':'')};},async 'dryRun'(_0x481638){const _0x3b6499=a29_0x20676e,_0x2855b8=buildCreateInput(_0x481638);return dryRun(_0x3b6499(0x1dc),_0x3b6499(0x1e6))['body']({'appCode':_0x481638[_0x3b6499(0x1db)],..._0x2855b8})[_0x3b6499(0x1e1)](_0x3b6499(0x1fd)+_0x2855b8[_0x3b6499(0x1c8)])['build']();}},personalBffUpdate={'service':a29_0x20676e(0x1bc),'command':a29_0x20676e(0x1d7),'description':a29_0x20676e(0x1de),'risk':a29_0x20676e(0x1c2),'flags':[{...ID_FLAG,'description':a29_0x20676e(0x1be)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5de401){const _0x51ed36=a29_0x20676e,_0x3e906e=_0x5de401[_0x51ed36(0x1c4)]('id'),_0x53b7f0=buildUpdateInput(_0x5de401),_0x122a8a=await updatePersonalBff(_0x3e906e,_0x5de401[_0x51ed36(0x1db)],_0x53b7f0);return{'ok':!![],'data':detailBff(_0x122a8a),'message':'Updated\x20personal\x20BFF\x20'+_0x122a8a['id']+(_0x122a8a[_0x51ed36(0x1c8)]?'\x20('+_0x122a8a[_0x51ed36(0x1c8)]+')':'')};},async 'dryRun'(_0x546744){const _0x411284=a29_0x20676e,_0x536f2b=_0x546744[_0x411284(0x1c4)]('id'),_0x362bb7=buildUpdateInput(_0x546744);return dryRun(_0x411284(0x1dc),'/client/runtime-bff/personal/'+_0x536f2b+_0x411284(0x1f7))[_0x411284(0x1d5)]({'appCode':_0x546744['appCode'],..._0x362bb7})[_0x411284(0x1e1)](_0x411284(0x1e2)+_0x536f2b)[_0x411284(0x1fa)]();}},personalBffExec={'service':a29_0x20676e(0x1bc),'command':'exec','description':a29_0x20676e(0x1f0),'risk':a29_0x20676e(0x1cb),'flags':[{...ID_FLAG,'description':a29_0x20676e(0x1be)},{...PARAMS_FLAG,'description':a29_0x20676e(0x1ed)}],async 'validate'(_0x2e3573){const _0x3e1b19=a29_0x20676e;parseExecParams(_0x2e3573[_0x3e1b19(0x1c1)](_0x3e1b19(0x1ce)));},async 'execute'(_0x48a6c5){const _0x481e74=a29_0x20676e,_0x57acd2=_0x48a6c5['num']('id'),_0x2f89a8=parseExecParams(_0x48a6c5[_0x481e74(0x1c1)](_0x481e74(0x1ce))),_0xca86aa=await executePersonalBff(_0x57acd2,_0x48a6c5[_0x481e74(0x1db)],_0x2f89a8);return{'ok':!![],'data':{'result':_0xca86aa},'message':_0x481e74(0x1e5)+_0x57acd2};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a29_0xaa7b58=a29_0xb807;(function(_0x30599a,_0x571529){const _0x25990b=a29_0xb807,_0x28f272=_0x30599a();while(!![]){try{const _0x1c71ed=-parseInt(_0x25990b(0x195))/0x1*(-parseInt(_0x25990b(0x1b2))/0x2)+parseInt(_0x25990b(0x1c7))/0x3*(parseInt(_0x25990b(0x1b5))/0x4)+parseInt(_0x25990b(0x1d0))/0x5*(parseInt(_0x25990b(0x1c9))/0x6)+parseInt(_0x25990b(0x1c8))/0x7+parseInt(_0x25990b(0x1c0))/0x8*(-parseInt(_0x25990b(0x1af))/0x9)+-parseInt(_0x25990b(0x1c3))/0xa+-parseInt(_0x25990b(0x1ad))/0xb*(parseInt(_0x25990b(0x1a4))/0xc);if(_0x1c71ed===_0x571529)break;else _0x28f272['push'](_0x28f272['shift']());}catch(_0x1b4487){_0x28f272['push'](_0x28f272['shift']());}}}(a29_0x4f1e,0x7f1c8));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':a29_0xaa7b58(0x1a9),'type':a29_0xaa7b58(0x1a7),'description':a29_0xaa7b58(0x192)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0xaa7b58(0x1a7),'required':!![],'description':a29_0xaa7b58(0x1c4)},DESCRIPTION_FLAG={'name':a29_0xaa7b58(0x191),'type':a29_0xaa7b58(0x1a7),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0xaa7b58(0x1b0),'type':'string','description':a29_0xaa7b58(0x1b7)};function normalizeFunctionName(_0x4bed62){const _0x47305b=a29_0xaa7b58,_0x4c4829=String(_0x4bed62||'')[_0x47305b(0x19a)]();if(!_0x4c4829||!FUNCTION_NAME_PATTERN[_0x47305b(0x1b3)](_0x4c4829))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x4c4829;}function a29_0x4f1e(){const _0xd33ccc=['4357jOzTvo','createUserId','bool','personal-bff','gmtCreate','trim','functionName','write','validation','Personal\x20BFF\x20script\x20ID','createTime','POST','File\x20is\x20not\x20a\x20regular\x20file:\x20','body','flag','12zJAOzd','Updated\x20personal\x20BFF\x20','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','string','num','file','Update\x20a\x20personal\x20BFF\x20by\x20id','File\x20path\x20is\x20required.','detail','5702356DewfIj','isArray','3779262HjoXdh','source-session-id','Show\x20one\x20personal\x20BFF\x20by\x20id','378vkYslJ','test','config','296084XoCPBt','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Optional\x20source\x20RuntimeAgent\x20session\x20id','length','/update','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','scriptType','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptContent','read','updateTime','8LPCQlP','isFile','name','8521360yaDWpn','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','update','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','42xeWZUs','1278284uVnLLS','3366eUmZKX','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','version','high-risk-write','str','utf8','Preview:\x20update\x20personal\x20BFF\x20','2395VIftlN','Preview:\x20create\x20personal\x20BFF\x20','appCode','list','build','File\x20not\x20found:\x20','description','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','gmtModified','map'];a29_0x4f1e=function(){return _0xd33ccc;};return a29_0x4f1e();}function readScriptFile(_0x5e08ec){const _0x23c3f0=a29_0xaa7b58;if(!_0x5e08ec)throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1ab));if(!existsSync(_0x5e08ec))throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x190)+_0x5e08ec);if(!statSync(_0x5e08ec)[_0x23c3f0(0x1c1)]())throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1a1)+_0x5e08ec);const _0x5a0965=readFileSync(_0x5e08ec,_0x23c3f0(0x1ce));if(!_0x5a0965[_0x23c3f0(0x19a)]())throw CliErrors['validation'](_0x23c3f0(0x1b6));return _0x5a0965;}function optionalTrimmed(_0x15580d){const _0x947a73=String(_0x15580d||'')['trim']();return _0x947a73||undefined;}function summarizeBff(_0xa40f77){const _0xf89077=a29_0xaa7b58;return{'id':_0xa40f77['id'],'appCode':_0xa40f77[_0xf89077(0x1d2)],'functionName':_0xa40f77[_0xf89077(0x19b)],'description':_0xa40f77['description'],'scriptType':_0xa40f77['scriptType'],'version':_0xa40f77[_0xf89077(0x1cb)],'gmtModified':_0xa40f77[_0xf89077(0x193)],'updateTime':_0xa40f77[_0xf89077(0x1bf)]};}function detailBff(_0xfb5207){const _0x4f5dee=a29_0xaa7b58;return{'id':_0xfb5207['id'],'appCode':_0xfb5207[_0x4f5dee(0x1d2)],'functionName':_0xfb5207['functionName'],'description':_0xfb5207[_0x4f5dee(0x191)],'scriptType':_0xfb5207[_0x4f5dee(0x1bb)],'scriptContent':_0xfb5207[_0x4f5dee(0x1bd)]??'','config':_0xfb5207[_0x4f5dee(0x1b4)],'version':_0xfb5207[_0x4f5dee(0x1cb)],'createUserId':_0xfb5207[_0x4f5dee(0x196)],'gmtCreate':_0xfb5207[_0x4f5dee(0x199)],'gmtModified':_0xfb5207['gmtModified'],'createTime':_0xfb5207[_0x4f5dee(0x19f)],'updateTime':_0xfb5207[_0x4f5dee(0x1bf)]};}function a29_0xb807(_0xb4a7b8,_0x2b1cb2){_0xb4a7b8=_0xb4a7b8-0x18e;const _0x4f1ee0=a29_0x4f1e();let _0xb8079=_0x4f1ee0[_0xb4a7b8];return _0xb8079;}function buildCreateInput(_0x2d3283){const _0x2a58e8=a29_0xaa7b58;return{'functionName':normalizeFunctionName(_0x2d3283[_0x2a58e8(0x1cd)]('name')),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))?{'description':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))}:{},'scriptContent':readScriptFile(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1a9))),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))?{'sourceSessionId':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))}:{}};}function buildUpdateInput(_0x42caa4){const _0x23de11=a29_0xaa7b58,_0xf1228f={};optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2)))&&(_0xf1228f[_0x23de11(0x19b)]=normalizeFunctionName(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x191))!==undefined&&(_0xf1228f[_0x23de11(0x191)]=_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x191)));optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1a9)))&&(_0xf1228f[_0x23de11(0x1bd)]=readScriptFile(_0x42caa4['str'](_0x23de11(0x1a9))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x1b0))!==undefined&&(_0xf1228f['sourceSessionId']=_0x42caa4['str']('source-session-id'));if(Object['keys'](_0xf1228f)[_0x23de11(0x1b8)]===0x0)throw CliErrors['validation'](_0x23de11(0x1a6));return _0xf1228f;}function parseExecParams(_0x3f775d){const _0x3e3afc=a29_0xaa7b58,_0x2fcf88=parseJsonParams(_0x3f775d)??{};if(Array[_0x3e3afc(0x1ae)](_0x2fcf88))throw CliErrors[_0x3e3afc(0x19d)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x2fcf88;}const personalBffList={'service':'personal-bff','command':a29_0xaa7b58(0x18e),'description':a29_0xaa7b58(0x1ba),'risk':a29_0xaa7b58(0x1be),'flags':[VERBOSE_FLAG],async 'execute'(_0x485e15){const _0x19d0e0=a29_0xaa7b58,_0x2015b1=await listPersonalBffs(_0x485e15[_0x19d0e0(0x1d2)]);return{'ok':!![],'data':{'total':_0x2015b1[_0x19d0e0(0x1b8)],'items':_0x485e15[_0x19d0e0(0x197)]('verbose')?_0x2015b1:_0x2015b1[_0x19d0e0(0x194)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xaa7b58(0x1ac),'description':a29_0xaa7b58(0x1b1),'risk':a29_0xaa7b58(0x1be),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)}],async 'execute'(_0x1744d1){const _0x33d30c=a29_0xaa7b58,_0x4e6da0=await getPersonalBff(_0x1744d1[_0x33d30c(0x1a8)]('id'),_0x1744d1[_0x33d30c(0x1d2)]);return{'ok':!![],'data':detailBff(_0x4e6da0)};}},personalBffCreate={'service':a29_0xaa7b58(0x198),'command':'create','description':a29_0xaa7b58(0x1ca),'risk':a29_0xaa7b58(0x19c),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3fe109){const _0x223130=a29_0xaa7b58,_0x53a160=buildCreateInput(_0x3fe109),_0x5d2aa1=await createPersonalBff(_0x3fe109[_0x223130(0x1d2)],_0x53a160);return{'ok':!![],'data':detailBff(_0x5d2aa1),'message':'Created\x20personal\x20BFF\x20'+_0x5d2aa1['id']+(_0x5d2aa1[_0x223130(0x19b)]?'\x20('+_0x5d2aa1[_0x223130(0x19b)]+')':'')};},async 'dryRun'(_0x488204){const _0x1d4866=a29_0xaa7b58,_0x490302=buildCreateInput(_0x488204);return dryRun('POST','/client/runtime-bff/personal/create')[_0x1d4866(0x1a2)]({'appCode':_0x488204[_0x1d4866(0x1d2)],..._0x490302})[_0x1d4866(0x191)](_0x1d4866(0x1d1)+_0x490302['functionName'])['build']();}},personalBffUpdate={'service':a29_0xaa7b58(0x198),'command':a29_0xaa7b58(0x1c5),'description':a29_0xaa7b58(0x1aa),'risk':a29_0xaa7b58(0x19c),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x35a5fb){const _0x3682e2=a29_0xaa7b58,_0x3fdc4f=_0x35a5fb['num']('id'),_0x3a9100=buildUpdateInput(_0x35a5fb),_0x4d579f=await updatePersonalBff(_0x3fdc4f,_0x35a5fb[_0x3682e2(0x1d2)],_0x3a9100);return{'ok':!![],'data':detailBff(_0x4d579f),'message':_0x3682e2(0x1a5)+_0x4d579f['id']+(_0x4d579f['functionName']?'\x20('+_0x4d579f['functionName']+')':'')};},async 'dryRun'(_0x2e4e89){const _0x56a865=a29_0xaa7b58,_0x46d53b=_0x2e4e89[_0x56a865(0x1a8)]('id'),_0x402f14=buildUpdateInput(_0x2e4e89);return dryRun(_0x56a865(0x1a0),'/client/runtime-bff/personal/'+_0x46d53b+_0x56a865(0x1b9))[_0x56a865(0x1a2)]({'appCode':_0x2e4e89[_0x56a865(0x1d2)],..._0x402f14})['description'](_0x56a865(0x1cf)+_0x46d53b)[_0x56a865(0x18f)]();}},personalBffExec={'service':a29_0xaa7b58(0x198),'command':'exec','description':a29_0xaa7b58(0x1bc),'risk':a29_0xaa7b58(0x1cc),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)},{...PARAMS_FLAG,'description':a29_0xaa7b58(0x1c6)}],async 'validate'(_0x2882b8){const _0x1c359e=a29_0xaa7b58;parseExecParams(_0x2882b8[_0x1c359e(0x1cd)]('params'));},async 'execute'(_0x1d94d9){const _0x523564=a29_0xaa7b58,_0x29f537=_0x1d94d9['num']('id'),_0x2491f0=parseExecParams(_0x1d94d9[_0x523564(0x1cd)]('params')),_0x24787c=await executePersonalBff(_0x29f537,_0x1d94d9['appCode'],_0x2491f0);return{'ok':!![],'data':{'result':_0x24787c},'message':'Executed\x20personal\x20BFF\x20'+_0x29f537};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x18a716=a30_0x3d62;(function(_0x8e5906,_0x354bfa){const _0x3f7629=a30_0x3d62,_0x47bae7=_0x8e5906();while(!![]){try{const _0x5a8886=-parseInt(_0x3f7629(0x168))/0x1+-parseInt(_0x3f7629(0x178))/0x2+-parseInt(_0x3f7629(0x167))/0x3*(parseInt(_0x3f7629(0x17a))/0x4)+-parseInt(_0x3f7629(0x177))/0x5*(parseInt(_0x3f7629(0x15e))/0x6)+-parseInt(_0x3f7629(0x153))/0x7+-parseInt(_0x3f7629(0x171))/0x8*(parseInt(_0x3f7629(0x16e))/0x9)+-parseInt(_0x3f7629(0x156))/0xa*(-parseInt(_0x3f7629(0x179))/0xb);if(_0x5a8886===_0x354bfa)break;else _0x47bae7['push'](_0x47bae7['shift']());}catch(_0x269fef){_0x47bae7['push'](_0x47bae7['shift']());}}}(a30_0x1d24,0x18784));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';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';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x208064){const _0xf27d27=a30_0x3d62;for(const _0x3cbcad of _0x208064){definitions['set'](_0x3cbcad['service']+':'+_0x3cbcad[_0xf27d27(0x16f)],_0x3cbcad);let _0x21d24b=serviceGroups['get'](_0x3cbcad[_0xf27d27(0x160)]);!_0x21d24b&&(_0x21d24b=[],serviceGroups[_0xf27d27(0x172)](_0x3cbcad[_0xf27d27(0x160)],_0x21d24b)),_0x21d24b[_0xf27d27(0x17b)](_0x3cbcad);}}function registerService(_0x287e94,_0xdf8689,_0x1e43b0){const _0x3e3207=a30_0x3d62;registerDefinitions(_0xdf8689);const _0x197262=_0x5bd18d=>_0x5bd18d===_0x3e3207(0x154)?'':_0x5bd18d===_0x3e3207(0x165)?'\x20\x20[write]':_0x3e3207(0x173),_0x5edc35={'service':_0xdf8689[0x0]['service'],'label':_0x287e94,'commands':_0xdf8689[_0x3e3207(0x17d)](_0x3df41b=>({'command':_0x3df41b[_0x3e3207(0x16f)],'description':_0x3df41b[_0x3e3207(0x166)],'tag':_0x197262(_0x3df41b[_0x3e3207(0x174)])})),'defaultCommand':_0x1e43b0?.[_0x3e3207(0x157)]??(_0x1e43b0?.[_0x3e3207(0x164)]?_0xdf8689[0x0]['command']:undefined),'isSingleCommand':_0x1e43b0?.['isSingleCommand']};serviceRegistry['push'](_0x5edc35),serviceByName[_0x3e3207(0x172)](_0x5edc35[_0x3e3207(0x160)],_0x5edc35);}registerService(a30_0x18a716(0x163),authDefinitions,{'defaultCommand':a30_0x18a716(0x175)}),registerService(a30_0x18a716(0x17f),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x18a716(0x176),dataDefinitions),registerService(a30_0x18a716(0x169),sqlDefinitions),registerService(a30_0x18a716(0x15b),bffDefinitions),registerService(a30_0x18a716(0x170),personalBffDefinitions),registerService(a30_0x18a716(0x16c),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x18a716(0x16b),appDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x161),workspaceDefinitions),registerService(a30_0x18a716(0x155),configDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x15c),serviceDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x158),skillDefinitions,{'defaultCommand':a30_0x18a716(0x16a)}),registerService(a30_0x18a716(0x159),cliSkillDefinitions,{'defaultCommand':a30_0x18a716(0x16a)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0x18a716(0x162),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x18a716(0x17e),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x18a716(0x15f),logsDefinitions,{'defaultCommand':a30_0x18a716(0x180)});export function findDefinition(_0x221363,_0x58b15d){const _0x4c3672=a30_0x18a716;return definitions[_0x4c3672(0x16d)](_0x221363+':'+_0x58b15d);}export function isKnownService(_0x4fc5f5){return serviceByName['has'](_0x4fc5f5);}function a30_0x3d62(_0x25d87f,_0x578903){_0x25d87f=_0x25d87f-0x153;const _0x1d2450=a30_0x1d24();let _0x3d6251=_0x1d2450[_0x25d87f];return _0x3d6251;}function a30_0x1d24(){const _0x1acac8=['8mOKZme','set','\x20\x20[high-risk-write]','risk','login','Instant\x20API','2125qyVnQW','357216xEJgTR','3533596wvlKGE','12huDrfR','push','values','map','Schema','API\x20Documentation','show','467481CdYAQW','read','Configuration','20rttQkF','defaultCommand','Skills','CLI\x20Built-in\x20Skill','list','BFF\x20Scripts','Service\x20Tree','from','540NBlVvz','Logs','service','Workspace','Diagnostics','Authentication','isSingleCommand','write','description','34401JsWzEm','139155oumjiO','SQL\x20Queries','install','App\x20Management','Artifacts','get','765423sBOniR','command','Personal\x20BFF'];a30_0x1d24=function(){return _0x1acac8;};return a30_0x1d24();}export function getServiceEntry(_0x14cf29){return serviceByName['get'](_0x14cf29);}export function getAllDefinitions(){const _0x112752=a30_0x18a716;return Array[_0x112752(0x15d)](definitions[_0x112752(0x17c)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0xf91b27=a31_0x3da5;function a31_0x3da5(_0x5ac7c7,_0x2b7f3f){_0x5ac7c7=_0x5ac7c7-0xff;const _0x153258=a31_0x1532();let _0x3da5f8=_0x153258[_0x5ac7c7];return _0x3da5f8;}(function(_0x973182,_0x236e01){const _0x5ed6fe=a31_0x3da5,_0x12b63a=_0x973182();while(!![]){try{const _0x58e109=parseInt(_0x5ed6fe(0x103))/0x1+-parseInt(_0x5ed6fe(0x10b))/0x2*(parseInt(_0x5ed6fe(0x108))/0x3)+-parseInt(_0x5ed6fe(0x101))/0x4*(-parseInt(_0x5ed6fe(0x106))/0x5)+parseInt(_0x5ed6fe(0x100))/0x6*(parseInt(_0x5ed6fe(0x102))/0x7)+parseInt(_0x5ed6fe(0x105))/0x8+-parseInt(_0x5ed6fe(0x107))/0x9+-parseInt(_0x5ed6fe(0x109))/0xa;if(_0x58e109===_0x236e01)break;else _0x12b63a['push'](_0x12b63a['shift']());}catch(_0x15838c){_0x12b63a['push'](_0x12b63a['shift']());}}}(a31_0x1532,0x19ff4));function a31_0x1532(){const _0xce6f8f=['199780PrOfqC','Export\x20machine-readable\x20command\x20schema\x20(JSON)','402400oLctRS','13565gjsORT','1385973feprMu','568314pdRAuy','1239020gbZzAE','schema','2OMNgmU','export','12auocGl','172tfRHyj','724787kmmIkg'];a31_0x1532=function(){return _0xce6f8f;};return a31_0x1532();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1b475d){const _0x53f690=await buildSchemaPayload();return{'ok':!![],'data':_0x53f690};}export const schemaDefinition={'service':a31_0xf91b27(0x10a),'command':a31_0xf91b27(0xff),'description':a31_0xf91b27(0x104),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1ebd9b,_0x30e9bb){const _0xaa4716=a32_0xe333,_0x198dc5=_0x1ebd9b();while(!![]){try{const _0x30b791=parseInt(_0xaa4716(0x12c))/0x1+-parseInt(_0xaa4716(0x125))/0x2*(parseInt(_0xaa4716(0x105))/0x3)+-parseInt(_0xaa4716(0x101))/0x4+parseInt(_0xaa4716(0x110))/0x5*(-parseInt(_0xaa4716(0x12b))/0x6)+-parseInt(_0xaa4716(0x149))/0x7*(-parseInt(_0xaa4716(0x11c))/0x8)+parseInt(_0xaa4716(0x136))/0x9+parseInt(_0xaa4716(0x146))/0xa*(parseInt(_0xaa4716(0x109))/0xb);if(_0x30b791===_0x30e9bb)break;else _0x198dc5['push'](_0x198dc5['shift']());}catch(_0x5eef36){_0x198dc5['push'](_0x198dc5['shift']());}}}(a32_0x5a85,0x55d3f));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(_0x40472d,_0x1195c1){const _0x317762=a32_0xe333,_0x3bf879=listLocalServiceTrees();let _0x494856;for(const _0x22c56e of _0x3bf879){const _0x358060=matchServiceTreeCommand(_0x22c56e,_0x40472d);if(!_0x358060)continue;(!_0x494856||_0x358060['command']['fullPath'][_0x317762(0x10b)]>_0x494856[_0x317762(0x14f)][_0x317762(0x118)][_0x317762(0x10b)])&&(_0x494856={'tree':_0x22c56e,'command':_0x358060[_0x317762(0x14f)],'remainingArgs':_0x358060[_0x317762(0xfd)]});}if(!_0x494856)return undefined;const _0x7d0c0f={..._0x1195c1};return applyAppBinding(_0x494856[_0x317762(0x15b)],_0x494856[_0x317762(0x14f)],_0x7d0c0f),{'definition':buildDynamicCommandDefinition(_0x494856[_0x317762(0x15b)],_0x494856['command']),'args':_0x494856['remainingArgs'],'flags':_0x7d0c0f,'tree':_0x494856[_0x317762(0x15b)],'command':_0x494856[_0x317762(0x14f)]};}export function generateDynamicServiceHelp(_0x3af823){const _0x35d898=a32_0xe333,_0x2a3991=listLocalServiceTrees()['find'](_0x4501c3=>_0x4501c3[_0x35d898(0xfb)]['code']===_0x3af823);if(!_0x2a3991)return undefined;const _0x20fa74=[CLI_BIN_NAME+'\x20'+_0x3af823+_0x35d898(0xfc),'',_0x2a3991[_0x35d898(0xfb)][_0x35d898(0x12d)]||_0x3af823,_0x2a3991[_0x35d898(0xfb)]['description']?'\x20\x20'+_0x2a3991[_0x35d898(0xfb)][_0x35d898(0x139)]:'','',_0x35d898(0x15a),..._0x2a3991[_0x35d898(0x117)]['map'](_0x1c4f70=>{const _0x523ec9=_0x35d898,_0x593625=_0x1c4f70['fullPath'][_0x523ec9(0x11d)](0x1)[_0x523ec9(0x12e)]('\x20'),_0x539f2d=_0x1c4f70[_0x523ec9(0x10e)]===_0x523ec9(0x144)?'':'\x20['+_0x1c4f70[_0x523ec9(0x10e)]+']';return'\x20\x20'+_0x593625[_0x523ec9(0x10d)](0x18)+'\x20'+(_0x1c4f70[_0x523ec9(0x139)]||'')+_0x539f2d;}),'',_0x35d898(0x14a)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x3af823+'`\x20to\x20inspect\x20the\x20manifest.'][_0x35d898(0x12f)](Boolean);return _0x20fa74[_0x35d898(0x12e)]('\x0a');}export function listDynamicServiceEntries(){const _0x1f8cb3=a32_0xe333;return listLocalServices()[_0x1f8cb3(0x11f)](_0xa60930=>{const _0x2149a6=_0x1f8cb3,_0x5081dc=_0xa60930[_0x2149a6(0x130)];return{'service':_0x5081dc[_0x2149a6(0xfb)]['code'],'label':_0x5081dc[_0x2149a6(0xfb)]['name']||_0x5081dc[_0x2149a6(0xfb)]['code'],'commands':_0x5081dc[_0x2149a6(0x117)]['map'](_0x21f517=>({'command':dynamicCommandName(_0x21f517),'description':_0x21f517[_0x2149a6(0x139)]||_0x2149a6(0x142)+_0x21f517[_0x2149a6(0x13a)],'tag':riskTag(_0x21f517[_0x2149a6(0x10e)])}))};});}export function getDynamicServiceEntry(_0x515a56){const _0x5475f4=a32_0xe333;return listDynamicServiceEntries()[_0x5475f4(0x141)](_0x21864a=>_0x21864a[_0x5475f4(0xfb)]===_0x515a56);}export function listDynamicServiceDefinitions(_0x34842b){const _0x20a045=a32_0xe333;return listLocalServiceTrees()['filter'](_0x40989f=>!_0x34842b||_0x40989f[_0x20a045(0xfb)][_0x20a045(0x143)]===_0x34842b)[_0x20a045(0xfe)](_0x22a3c4=>_0x22a3c4[_0x20a045(0x117)][_0x20a045(0x11f)](_0x219fdd=>buildDynamicCommandDefinition(_0x22a3c4,_0x219fdd)));}export function getDynamicServiceDefinitions(_0x914226){const _0x3350ac=a32_0xe333,_0x3b1fe8=listDynamicServiceDefinitions(_0x914226);return _0x3b1fe8[_0x3350ac(0x10b)]>0x0?_0x3b1fe8:undefined;}export function findDynamicServiceDefinition(_0x89479b,_0x17f397){const _0x35b479=a32_0xe333;return listDynamicServiceDefinitions(_0x89479b)[_0x35b479(0x141)](_0x25b70a=>_0x25b70a['command']===_0x17f397);}export function buildDynamicCommandDefinition(_0x3a5027,_0x59ae24){const _0x2ede06=a32_0xe333;return{'service':_0x3a5027[_0x2ede06(0xfb)][_0x2ede06(0x143)],'command':dynamicCommandName(_0x59ae24),'description':_0x59ae24[_0x2ede06(0x139)]||_0x2ede06(0x142)+_0x59ae24[_0x2ede06(0x13a)],'risk':_0x59ae24['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x59ae24['args'][_0x2ede06(0x11f)](_0x192786=>({'name':_0x192786[_0x2ede06(0x12d)],'description':_0x192786[_0x2ede06(0x139)]||_0x192786[_0x2ede06(0x12d)],'required':_0x192786[_0x2ede06(0x14e)]})),'flags':_0x59ae24[_0x2ede06(0x140)][_0x2ede06(0x11f)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x59ae24),async 'dryRun'(_0xba44f2){const _0x40b553=_0x2ede06,_0x358bf2=await compilePlan(_0x59ae24,_0xba44f2);return{'method':_0x40b553(0x14d),'url':_0x59ae24[_0x40b553(0x13a)],'body':{'target':targetPreview(_0x358bf2),'params':_0x358bf2[_0x40b553(0x124)]},'description':_0x40b553(0x103)+_0x59ae24[_0x40b553(0x13a)]};},async 'execute'(_0x317d2a){const _0x4b121c=_0x2ede06,_0x49a699=await compilePlan(_0x59ae24,_0x317d2a),_0x1224fe=Date[_0x4b121c(0x145)](),_0xe8104f=await executePlan(_0x49a699,_0x59ae24,_0x317d2a),_0x9d1077=Date[_0x4b121c(0x145)]()-_0x1224fe;return{'ok':!![],'data':{'service':_0x3a5027[_0x4b121c(0xfb)],'command':_0x59ae24['cliPath'],'target':targetPreview(_0x49a699),'result':_0xe8104f,'elapsed':_0x9d1077},'message':_0x4b121c(0x13d)+_0x59ae24[_0x4b121c(0x13a)]+_0x4b121c(0x13e)+_0x9d1077+'ms'};}};}function dynamicCommandName(_0x263f73){const _0x4594e5=a32_0xe333;return _0x263f73[_0x4594e5(0x118)][_0x4594e5(0x11d)](0x1)[_0x4594e5(0x12e)]('\x20');}function riskTag(_0x5d49fe){const _0x5adb12=a32_0xe333;return _0x5d49fe===_0x5adb12(0x144)?'':_0x5adb12(0x129)+_0x5d49fe+']';}function flagToCommandFlag(_0x1635e4){const _0x3d4a38=a32_0xe333;return{'name':_0x1635e4[_0x3d4a38(0x14c)],'type':_0x1635e4['type']==='json'?_0x3d4a38(0x121):_0x1635e4['type'],'description':_0x1635e4[_0x3d4a38(0x139)]||_0x1635e4[_0x3d4a38(0x12d)],'required':_0x1635e4[_0x3d4a38(0x14e)],'default':isPrimitiveFlagDefault(_0x1635e4[_0x3d4a38(0x113)])?_0x1635e4[_0x3d4a38(0x113)]:undefined,'enum':_0x1635e4[_0x3d4a38(0x12a)]};}async function compilePlan(_0x57df6e,_0x36d661){const _0x1b28dc=a32_0xe333;return compileServiceTreeCommand(_0x57df6e,{'flags':_0x36d661[_0x1b28dc(0x147)],'args':_0x36d661[_0x1b28dc(0x15c)],'context':await buildServiceContext(_0x57df6e,_0x36d661)});}async function buildServiceContext(_0x48a253,_0x228a31){const _0x5d32ef=a32_0xe333,_0x2fa96b={'appCode':_0x228a31['appCode'],'env':_0x228a31['envName'],'envName':_0x228a31[_0x5d32ef(0x10c)]};if(!usesRuntimeContext(_0x48a253))return _0x2fa96b;const _0x4d67bf=await getLoginUserInfo(),_0x505ac3=pickFirst(_0x4d67bf['userId'],_0x4d67bf['id']);return{..._0x2fa96b,'user':_0x4d67bf,'userId':_0x505ac3,'id':_0x4d67bf['id'],'username':pickFirst(_0x4d67bf['username'],_0x4d67bf[_0x5d32ef(0x154)],_0x4d67bf[_0x5d32ef(0x126)]),'userName':_0x4d67bf[_0x5d32ef(0x154)],'nickname':pickFirst(_0x4d67bf['nickname'],_0x4d67bf[_0x5d32ef(0x150)]),'nickName':_0x4d67bf['nickName'],'tenantCode':_0x4d67bf['tenantCode'],'employeeId':_0x4d67bf[_0x5d32ef(0x157)]};}function usesRuntimeContext(_0x184124){const _0x456ef8=a32_0xe333;return _0x184124[_0x456ef8(0x155)][_0x456ef8(0x158)](_0x3a81b6=>typeof _0x3a81b6['source']===_0x456ef8(0x121)&&(_0x3a81b6[_0x456ef8(0x127)][_0x456ef8(0x119)]('context.')||_0x3a81b6[_0x456ef8(0x127)][_0x456ef8(0x119)](_0x456ef8(0x159))));}function a32_0x5a85(){const _0x3d3e31=['1050ikZHgd','Use\x20`','const','cliName','SERVICE_TREE','required','command','nickName','\x20requires\x20target.scriptName.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','validation','userName','mapTo','number','employeeId','some','ctx.','Commands:','tree','args','service','\x20<command>\x20[flags]','remainingArgs','flatMap','appRef','\x20\x20SERVICE\x20TREE\x20TARGET','2604544BVWDve','Cannot\x20resolve\x20datatable\x20\x22','Preview\x20dynamic\x20service\x20command:\x20','bff','15YsaEoY','push','\x20\x20MAP\x20TO','\x20\x20\x20\x20','11COsKpg','\x20\x20\x20\x20sqlCode:\x20','length','envName','padEnd','risk','datasetCode','3287225URQQmZ','target','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','default','tableName','Unknown\x20appRef\x20\x22','boolean','commands','fullPath','startsWith','sqlCode','trim','12272kwQyld','slice','scriptName','map','appCode','string','fromEntries','sql','params','5834CGWxWo','loginName','source','app','\x20\x20[','enum','6iKXmeU','460916DFqcxr','name','join','filter','normalizedManifest','appBindings','env','bffId','\x20\x20\x20\x20command:\x20','data','5710662QFnJkx','entries','appcode','description','cliPath','datatable','Unsupported\x20service\x20target\x20kind:\x20','Service\x20command\x20','\x20completed\x20in\x20','kind','flags','find','Run\x20service\x20command\x20','code','read','now','3491830gOcrWx','rawFlags','bffCode'];a32_0x5a85=function(){return _0x3d3e31;};return a32_0x5a85();}function pickFirst(..._0x58ba2f){return _0x58ba2f['find'](_0x589818=>_0x589818!==undefined&&_0x589818!==null);}async function executePlan(_0x2503bb,_0x4583ee,_0xb5297f){const _0x6b99a=a32_0xe333;if(_0x2503bb[_0x6b99a(0x13f)]===_0x6b99a(0x135)){const _0x468c6f=await resolveDatasetCode(_0x2503bb,_0x4583ee,_0xb5297f);return executeData(_0x468c6f,_0x2503bb[_0x6b99a(0x14f)],_0x2503bb[_0x6b99a(0x124)]);}if(_0x2503bb['kind']===_0x6b99a(0x123)){if(!_0x2503bb['sqlCode'])throw CliErrors[_0x6b99a(0x153)](_0x6b99a(0x13d)+_0x4583ee[_0x6b99a(0x13a)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x2503bb['sqlCode'],normalizeScalarParams(_0x2503bb[_0x6b99a(0x124)]));}if(_0x2503bb['kind']===_0x6b99a(0x104)){const _0x5a7369=_0x2503bb[_0x6b99a(0x11e)]||_0x2503bb['bffCode']||(_0x2503bb[_0x6b99a(0x133)]==null?'':String(_0x2503bb['bffId']));if(!_0x5a7369)throw CliErrors[_0x6b99a(0x153)](_0x6b99a(0x13d)+_0x4583ee[_0x6b99a(0x13a)]+_0x6b99a(0x151));return executeSdkBff(_0x5a7369,_0x2503bb['params']);}throw CliErrors[_0x6b99a(0x153)](_0x6b99a(0x13c)+_0x2503bb[_0x6b99a(0x13f)]);}async function resolveDatasetCode(_0x416dc3,_0x2c114f,_0x327899){const _0x4a787d=a32_0xe333;if(_0x416dc3[_0x4a787d(0x10f)])return _0x416dc3[_0x4a787d(0x10f)];if(!_0x416dc3[_0x4a787d(0x13b)])throw CliErrors[_0x4a787d(0x153)](_0x4a787d(0x13d)+_0x2c114f[_0x4a787d(0x13a)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x14bc92=await listDatasets(_0x327899[_0x4a787d(0x120)]),_0x3ce463=_0x14bc92['find'](_0x117180=>_0x117180['dbtableConfig']?.[_0x4a787d(0x114)]===_0x416dc3[_0x4a787d(0x13b)]);if(!_0x3ce463?.[_0x4a787d(0x143)])throw CliErrors['validation'](_0x4a787d(0x102)+_0x416dc3[_0x4a787d(0x13b)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x327899[_0x4a787d(0x120)]+'.',_0x4a787d(0x112));return _0x3ce463['code'];}function applyAppBinding(_0x2d25ca,_0x282e87,_0x34559e){const _0x3bbe8f=a32_0xe333,_0x70e308=_0x282e87[_0x3bbe8f(0x111)][_0x3bbe8f(0xff)];if(!_0x70e308)return;const _0x5a2e10=_0x2d25ca[_0x3bbe8f(0x131)][_0x70e308];if(!_0x5a2e10)throw CliErrors[_0x3bbe8f(0x153)](_0x3bbe8f(0x115)+_0x70e308+'\x22\x20in\x20service\x20command\x20'+_0x282e87[_0x3bbe8f(0x13a)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x2a7b40=_0x5a2e10['appcode']||_0x5a2e10[_0x3bbe8f(0x120)];_0x2a7b40&&!hasText(_0x34559e[_0x3bbe8f(0x138)])&&(_0x34559e[_0x3bbe8f(0x138)]=_0x2a7b40),_0x5a2e10[_0x3bbe8f(0x128)]&&!hasText(_0x34559e[_0x3bbe8f(0x128)])&&!hasText(_0x34559e[_0x3bbe8f(0x138)])&&(_0x34559e[_0x3bbe8f(0x128)]=_0x5a2e10['app']),_0x5a2e10[_0x3bbe8f(0x132)]&&!hasText(_0x34559e['env'])&&(_0x34559e[_0x3bbe8f(0x132)]=_0x5a2e10[_0x3bbe8f(0x132)]);}function renderDynamicCommandHelp(_0x340275){const _0x23aff4=a32_0xe333,_0x16f5ca=[_0x23aff4(0x100),_0x23aff4(0x152)+_0x340275[_0x23aff4(0x111)][_0x23aff4(0x13f)],_0x23aff4(0x134)+_0x340275[_0x23aff4(0x111)][_0x23aff4(0x14f)]];if(_0x340275[_0x23aff4(0x111)][_0x23aff4(0x10f)])_0x16f5ca['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x340275[_0x23aff4(0x111)][_0x23aff4(0x10f)]);if(_0x340275[_0x23aff4(0x111)][_0x23aff4(0x13b)])_0x16f5ca[_0x23aff4(0x106)]('\x20\x20\x20\x20datatable:\x20'+_0x340275[_0x23aff4(0x111)][_0x23aff4(0x13b)]);if(_0x340275[_0x23aff4(0x111)]['sqlCode'])_0x16f5ca[_0x23aff4(0x106)](_0x23aff4(0x10a)+_0x340275[_0x23aff4(0x111)][_0x23aff4(0x11a)]);if(_0x340275[_0x23aff4(0x111)][_0x23aff4(0x11e)])_0x16f5ca[_0x23aff4(0x106)]('\x20\x20\x20\x20scriptName:\x20'+_0x340275[_0x23aff4(0x111)]['scriptName']);if(_0x340275[_0x23aff4(0x155)]['length']>0x0){_0x16f5ca['push']('',_0x23aff4(0x107));for(const _0x212669 of _0x340275[_0x23aff4(0x155)]){_0x16f5ca[_0x23aff4(0x106)](_0x23aff4(0x108)+(_0x212669['source']||_0x23aff4(0x14b))+'\x20->\x20'+_0x212669[_0x23aff4(0x111)]+(_0x212669['operator']?'.'+_0x212669['operator']:''));}}return _0x16f5ca[_0x23aff4(0x12e)]('\x0a');}function targetPreview(_0x41f24c){const _0x150534=a32_0xe333;return{'kind':_0x41f24c[_0x150534(0x13f)],'command':_0x41f24c[_0x150534(0x14f)],'appRef':_0x41f24c[_0x150534(0xff)],'datasetCode':_0x41f24c[_0x150534(0x10f)],'datatable':_0x41f24c[_0x150534(0x13b)],'sqlCode':_0x41f24c[_0x150534(0x11a)],'bffCode':_0x41f24c[_0x150534(0x148)],'bffId':_0x41f24c['bffId'],'scriptName':_0x41f24c[_0x150534(0x11e)]};}function a32_0xe333(_0x2b2e89,_0x358e8c){_0x2b2e89=_0x2b2e89-0xfb;const _0x5a859c=a32_0x5a85();let _0xe3335b=_0x5a859c[_0x2b2e89];return _0xe3335b;}function normalizeScalarParams(_0x158085){const _0xc5eb58=a32_0xe333;return Object[_0xc5eb58(0x122)](Object[_0xc5eb58(0x137)](_0x158085)[_0xc5eb58(0x12f)](([,_0x1e9063])=>typeof _0x1e9063==='string'||typeof _0x1e9063===_0xc5eb58(0x156)));}function hasText(_0x291937){const _0x458057=a32_0xe333;return typeof _0x291937==='string'&&_0x291937[_0x458057(0x11b)]()[_0x458057(0x10b)]>0x0;}function isPrimitiveFlagDefault(_0x29b379){const _0x51974b=a32_0xe333;return _0x29b379===undefined||typeof _0x29b379===_0x51974b(0x121)||typeof _0x29b379==='number'||typeof _0x29b379===_0x51974b(0x116);}
|
|
1
|
+
(function(_0x5df7f1,_0x6d69e7){const _0x4a245a=a32_0x41da,_0x59a8d7=_0x5df7f1();while(!![]){try{const _0x5eacfe=-parseInt(_0x4a245a(0x14d))/0x1+parseInt(_0x4a245a(0x167))/0x2*(parseInt(_0x4a245a(0x151))/0x3)+parseInt(_0x4a245a(0x139))/0x4*(-parseInt(_0x4a245a(0x15f))/0x5)+parseInt(_0x4a245a(0x13c))/0x6+parseInt(_0x4a245a(0x150))/0x7+parseInt(_0x4a245a(0x144))/0x8*(parseInt(_0x4a245a(0x148))/0x9)+parseInt(_0x4a245a(0x13b))/0xa;if(_0x5eacfe===_0x6d69e7)break;else _0x59a8d7['push'](_0x59a8d7['shift']());}catch(_0x4e9b93){_0x59a8d7['push'](_0x59a8d7['shift']());}}}(a32_0x4f10,0xa768c));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';function a32_0x4f10(){const _0x4b2393=['description','sql','now','app','5369932FOtmnd','sqlCode','9616300XnTcKk','2602182CVuJXB','target','fromEntries','datasetCode','scriptName','service','name','source','8KqvYDN','tree','normalizedManifest','join','1912509TrdCkm','cliName','\x20<command>\x20[flags]','find','appCode','1269613IjjLRq','required','params','4407816VhFlHK','12gXDKIQ','kind','json','string','\x20\x20\x20\x20command:\x20','\x20service\x20detail\x20--service\x20','userName','number','data','flags','appcode','entries','bffCode','startsWith','5WCjPWI','\x20\x20\x20\x20sqlCode:\x20','padEnd','datatable','flatMap','\x20requires\x20target.sqlCode.','Use\x20`','risk','530144flNKcs','tenantCode','Run\x20service\x20command\x20','args','tableName','command','appBindings','\x20requires\x20target.scriptName.','default','context.','\x20\x20MAP\x20TO','code','const','loginName','\x20\x20\x20\x20','SERVICE_TREE','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20completed\x20in\x20','bffId','commands','slice','username','rawFlags','Unknown\x20appRef\x20\x22','mapTo','fullPath','Service\x20command\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','cliPath','push','bff','remainingArgs','trim','ctx.','envName','operator','map','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20[','nickname','type','appRef','validation','env','\x22\x20in\x20service\x20command\x20','length','some','Cannot\x20resolve\x20datatable\x20\x22','employeeId'];a32_0x4f10=function(){return _0x4b2393;};return a32_0x4f10();}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f47b3,_0x2a28cb){const _0x1daccb=a32_0x41da,_0x50828d=listLocalServiceTrees();let _0x29b749;for(const _0x29c975 of _0x50828d){const _0x378572=matchServiceTreeCommand(_0x29c975,_0x4f47b3);if(!_0x378572)continue;(!_0x29b749||_0x378572[_0x1daccb(0x16c)]['fullPath'][_0x1daccb(0x196)]>_0x29b749[_0x1daccb(0x16c)][_0x1daccb(0x180)][_0x1daccb(0x196)])&&(_0x29b749={'tree':_0x29c975,'command':_0x378572[_0x1daccb(0x16c)],'remainingArgs':_0x378572[_0x1daccb(0x187)]});}if(!_0x29b749)return undefined;const _0x3cf737={..._0x2a28cb};return applyAppBinding(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)],_0x3cf737),{'definition':buildDynamicCommandDefinition(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)]),'args':_0x29b749['remainingArgs'],'flags':_0x3cf737,'tree':_0x29b749[_0x1daccb(0x145)],'command':_0x29b749[_0x1daccb(0x16c)]};}export function generateDynamicServiceHelp(_0x225c42){const _0xc9121c=a32_0x41da,_0x1e1ca4=listLocalServiceTrees()[_0xc9121c(0x14b)](_0x343ac0=>_0x343ac0[_0xc9121c(0x141)][_0xc9121c(0x172)]===_0x225c42);if(!_0x1e1ca4)return undefined;const _0x49ba67=[CLI_BIN_NAME+'\x20'+_0x225c42+_0xc9121c(0x14a),'',_0x1e1ca4['service'][_0xc9121c(0x142)]||_0x225c42,_0x1e1ca4['service']['description']?'\x20\x20'+_0x1e1ca4[_0xc9121c(0x141)][_0xc9121c(0x135)]:'','','Commands:',..._0x1e1ca4[_0xc9121c(0x17a)][_0xc9121c(0x18c)](_0x4a2479=>{const _0x3f4c88=_0xc9121c,_0x477e64=_0x4a2479[_0x3f4c88(0x180)][_0x3f4c88(0x17b)](0x1)[_0x3f4c88(0x147)]('\x20'),_0x48e6d8=_0x4a2479[_0x3f4c88(0x166)]==='read'?'':'\x20['+_0x4a2479[_0x3f4c88(0x166)]+']';return'\x20\x20'+_0x477e64[_0x3f4c88(0x161)](0x18)+'\x20'+(_0x4a2479['description']||'')+_0x48e6d8;}),'',_0xc9121c(0x165)+CLI_BIN_NAME+_0xc9121c(0x156)+_0x225c42+'`\x20to\x20inspect\x20the\x20manifest.'][_0xc9121c(0x18d)](Boolean);return _0x49ba67[_0xc9121c(0x147)]('\x0a');}export function listDynamicServiceEntries(){const _0x35fdf6=a32_0x41da;return listLocalServices()[_0x35fdf6(0x18c)](_0x5b2bc2=>{const _0xae617f=_0x35fdf6,_0x2ded60=_0x5b2bc2[_0xae617f(0x146)];return{'service':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'label':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x142)]||_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'commands':_0x2ded60[_0xae617f(0x17a)]['map'](_0x490563=>({'command':dynamicCommandName(_0x490563),'description':_0x490563[_0xae617f(0x135)]||_0xae617f(0x169)+_0x490563[_0xae617f(0x184)],'tag':riskTag(_0x490563[_0xae617f(0x166)])}))};});}export function getDynamicServiceEntry(_0x420056){const _0x56dcf3=a32_0x41da;return listDynamicServiceEntries()['find'](_0x1da6a4=>_0x1da6a4[_0x56dcf3(0x141)]===_0x420056);}export function listDynamicServiceDefinitions(_0x93e1ad){const _0x1fe908=a32_0x41da;return listLocalServiceTrees()['filter'](_0x170a28=>!_0x93e1ad||_0x170a28[_0x1fe908(0x141)]['code']===_0x93e1ad)[_0x1fe908(0x163)](_0x105846=>_0x105846[_0x1fe908(0x17a)][_0x1fe908(0x18c)](_0x3476a7=>buildDynamicCommandDefinition(_0x105846,_0x3476a7)));}export function getDynamicServiceDefinitions(_0x516404){const _0x20e790=a32_0x41da,_0x3884ed=listDynamicServiceDefinitions(_0x516404);return _0x3884ed[_0x20e790(0x196)]>0x0?_0x3884ed:undefined;}export function findDynamicServiceDefinition(_0x3eaff4,_0xedf5c3){const _0x360a3f=a32_0x41da;return listDynamicServiceDefinitions(_0x3eaff4)[_0x360a3f(0x14b)](_0x5aa327=>_0x5aa327[_0x360a3f(0x16c)]===_0xedf5c3);}export function buildDynamicCommandDefinition(_0x2e5579,_0xe39fba){const _0x4f67ff=a32_0x41da;return{'service':_0x2e5579[_0x4f67ff(0x141)]['code'],'command':dynamicCommandName(_0xe39fba),'description':_0xe39fba[_0x4f67ff(0x135)]||_0x4f67ff(0x169)+_0xe39fba[_0x4f67ff(0x184)],'risk':_0xe39fba[_0x4f67ff(0x166)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xe39fba[_0x4f67ff(0x16a)][_0x4f67ff(0x18c)](_0x305d1a=>({'name':_0x305d1a[_0x4f67ff(0x142)],'description':_0x305d1a[_0x4f67ff(0x135)]||_0x305d1a[_0x4f67ff(0x142)],'required':_0x305d1a[_0x4f67ff(0x14e)]})),'flags':_0xe39fba[_0x4f67ff(0x15a)][_0x4f67ff(0x18c)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xe39fba),async 'dryRun'(_0x438cd9){const _0x1a3ed4=_0x4f67ff,_0x4e51ae=await compilePlan(_0xe39fba,_0x438cd9);return{'method':_0x1a3ed4(0x176),'url':_0xe39fba['cliPath'],'body':{'target':targetPreview(_0x4e51ae),'params':_0x4e51ae[_0x1a3ed4(0x14f)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0xe39fba[_0x1a3ed4(0x184)]};},async 'execute'(_0x48ec45){const _0x5720d8=_0x4f67ff,_0x3177d7=await compilePlan(_0xe39fba,_0x48ec45),_0x28bc18=Date[_0x5720d8(0x137)](),_0x389d49=await executePlan(_0x3177d7,_0xe39fba,_0x48ec45),_0x311cc0=Date[_0x5720d8(0x137)]()-_0x28bc18;return{'ok':!![],'data':{'service':_0x2e5579[_0x5720d8(0x141)],'command':_0xe39fba[_0x5720d8(0x184)],'target':targetPreview(_0x3177d7),'result':_0x389d49,'elapsed':_0x311cc0},'message':_0x5720d8(0x181)+_0xe39fba[_0x5720d8(0x184)]+_0x5720d8(0x178)+_0x311cc0+'ms'};}};}function dynamicCommandName(_0x26ff3b){const _0x4617e7=a32_0x41da;return _0x26ff3b['fullPath'][_0x4617e7(0x17b)](0x1)[_0x4617e7(0x147)]('\x20');}function riskTag(_0x409ddc){const _0x54eb43=a32_0x41da;return _0x409ddc==='read'?'':_0x54eb43(0x18f)+_0x409ddc+']';}function flagToCommandFlag(_0x56b2c8){const _0x2e54b5=a32_0x41da;return{'name':_0x56b2c8[_0x2e54b5(0x149)],'type':_0x56b2c8[_0x2e54b5(0x191)]===_0x2e54b5(0x153)?_0x2e54b5(0x154):_0x56b2c8[_0x2e54b5(0x191)],'description':_0x56b2c8[_0x2e54b5(0x135)]||_0x56b2c8['name'],'required':_0x56b2c8[_0x2e54b5(0x14e)],'default':isPrimitiveFlagDefault(_0x56b2c8[_0x2e54b5(0x16f)])?_0x56b2c8[_0x2e54b5(0x16f)]:undefined,'enum':_0x56b2c8['enum']};}async function compilePlan(_0x5b0041,_0x5f3ea7){const _0x158b4b=a32_0x41da;return compileServiceTreeCommand(_0x5b0041,{'flags':_0x5f3ea7[_0x158b4b(0x17d)],'args':_0x5f3ea7[_0x158b4b(0x16a)],'context':await buildServiceContext(_0x5b0041,_0x5f3ea7)});}async function buildServiceContext(_0x1ad2f0,_0x19a3a6){const _0x1bd87a=a32_0x41da,_0x3510a6={'appCode':_0x19a3a6[_0x1bd87a(0x14c)],'env':_0x19a3a6[_0x1bd87a(0x18a)],'envName':_0x19a3a6[_0x1bd87a(0x18a)]};if(!usesRuntimeContext(_0x1ad2f0))return _0x3510a6;const _0x1716c8=await getLoginUserInfo(),_0x3d10c8=pickFirst(_0x1716c8['userId'],_0x1716c8['id']);return{..._0x3510a6,'user':_0x1716c8,'userId':_0x3d10c8,'id':_0x1716c8['id'],'username':pickFirst(_0x1716c8[_0x1bd87a(0x17c)],_0x1716c8[_0x1bd87a(0x157)],_0x1716c8[_0x1bd87a(0x174)]),'userName':_0x1716c8[_0x1bd87a(0x157)],'nickname':pickFirst(_0x1716c8[_0x1bd87a(0x190)],_0x1716c8['nickName']),'nickName':_0x1716c8['nickName'],'tenantCode':_0x1716c8[_0x1bd87a(0x168)],'employeeId':_0x1716c8[_0x1bd87a(0x134)]};}function usesRuntimeContext(_0x3f0e51){const _0x45e0a5=a32_0x41da;return _0x3f0e51[_0x45e0a5(0x17f)][_0x45e0a5(0x132)](_0x6c0bda=>typeof _0x6c0bda['source']===_0x45e0a5(0x154)&&(_0x6c0bda['source'][_0x45e0a5(0x15e)](_0x45e0a5(0x170))||_0x6c0bda[_0x45e0a5(0x143)][_0x45e0a5(0x15e)](_0x45e0a5(0x189))));}function pickFirst(..._0x4b3f6d){const _0x140380=a32_0x41da;return _0x4b3f6d[_0x140380(0x14b)](_0x1b2fb0=>_0x1b2fb0!==undefined&&_0x1b2fb0!==null);}async function executePlan(_0x45cc15,_0x54519a,_0x14d192){const _0x4c317e=a32_0x41da;if(_0x45cc15['kind']===_0x4c317e(0x159)){const _0x37f411=await resolveDatasetCode(_0x45cc15,_0x54519a,_0x14d192);return executeData(_0x37f411,_0x45cc15['command'],_0x45cc15[_0x4c317e(0x14f)]);}if(_0x45cc15['kind']===_0x4c317e(0x136)){if(!_0x45cc15[_0x4c317e(0x13a)])throw CliErrors[_0x4c317e(0x193)]('Service\x20command\x20'+_0x54519a['cliPath']+_0x4c317e(0x164));return executeSdkSql(_0x45cc15[_0x4c317e(0x13a)],normalizeScalarParams(_0x45cc15[_0x4c317e(0x14f)]));}if(_0x45cc15[_0x4c317e(0x152)]===_0x4c317e(0x186)){const _0x5d9900=_0x45cc15[_0x4c317e(0x140)]||_0x45cc15[_0x4c317e(0x15d)]||(_0x45cc15[_0x4c317e(0x179)]==null?'':String(_0x45cc15[_0x4c317e(0x179)]));if(!_0x5d9900)throw CliErrors[_0x4c317e(0x193)](_0x4c317e(0x181)+_0x54519a[_0x4c317e(0x184)]+_0x4c317e(0x16e));return executeSdkBff(_0x5d9900,_0x45cc15[_0x4c317e(0x14f)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x45cc15[_0x4c317e(0x152)]);}async function resolveDatasetCode(_0x30904a,_0xef4d4a,_0x45bec7){const _0x5aa35b=a32_0x41da;if(_0x30904a[_0x5aa35b(0x13f)])return _0x30904a[_0x5aa35b(0x13f)];if(!_0x30904a[_0x5aa35b(0x162)])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x181)+_0xef4d4a[_0x5aa35b(0x184)]+_0x5aa35b(0x183));const _0x3419d9=await listDatasets(_0x45bec7[_0x5aa35b(0x14c)]),_0x2aa257=_0x3419d9[_0x5aa35b(0x14b)](_0x27b72a=>_0x27b72a['dbtableConfig']?.[_0x5aa35b(0x16b)]===_0x30904a[_0x5aa35b(0x162)]);if(!_0x2aa257?.['code'])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x133)+_0x30904a['datatable']+_0x5aa35b(0x177)+_0x45bec7[_0x5aa35b(0x14c)]+'.',_0x5aa35b(0x18e));return _0x2aa257[_0x5aa35b(0x172)];}function applyAppBinding(_0x514a7c,_0x30801d,_0x58f283){const _0x5f5908=a32_0x41da,_0x1c676a=_0x30801d[_0x5f5908(0x13d)][_0x5f5908(0x192)];if(!_0x1c676a)return;const _0x40965d=_0x514a7c[_0x5f5908(0x16d)][_0x1c676a];if(!_0x40965d)throw CliErrors[_0x5f5908(0x193)](_0x5f5908(0x17e)+_0x1c676a+_0x5f5908(0x195)+_0x30801d['cliPath']+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x59db86=_0x40965d[_0x5f5908(0x15b)]||_0x40965d[_0x5f5908(0x14c)];_0x59db86&&!hasText(_0x58f283[_0x5f5908(0x15b)])&&(_0x58f283[_0x5f5908(0x15b)]=_0x59db86),_0x40965d[_0x5f5908(0x138)]&&!hasText(_0x58f283[_0x5f5908(0x138)])&&!hasText(_0x58f283['appcode'])&&(_0x58f283['app']=_0x40965d[_0x5f5908(0x138)]),_0x40965d[_0x5f5908(0x194)]&&!hasText(_0x58f283[_0x5f5908(0x194)])&&(_0x58f283[_0x5f5908(0x194)]=_0x40965d[_0x5f5908(0x194)]);}function renderDynamicCommandHelp(_0x2d390d){const _0x316db7=a32_0x41da,_0x5dbb1e=[_0x316db7(0x182),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x152)],_0x316db7(0x155)+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x16c)]];if(_0x2d390d['target'][_0x316db7(0x13f)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datasetCode:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13f)]);if(_0x2d390d['target']['datatable'])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datatable:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x162)]);if(_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13a)])_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x160)+_0x2d390d['target'][_0x316db7(0x13a)]);if(_0x2d390d['target'][_0x316db7(0x140)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20scriptName:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x140)]);if(_0x2d390d[_0x316db7(0x17f)][_0x316db7(0x196)]>0x0){_0x5dbb1e[_0x316db7(0x185)]('',_0x316db7(0x171));for(const _0x304330 of _0x2d390d['mapTo']){_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x175)+(_0x304330[_0x316db7(0x143)]||_0x316db7(0x173))+'\x20->\x20'+_0x304330['target']+(_0x304330[_0x316db7(0x18b)]?'.'+_0x304330[_0x316db7(0x18b)]:''));}}return _0x5dbb1e[_0x316db7(0x147)]('\x0a');}function targetPreview(_0x267909){const _0x47acb0=a32_0x41da;return{'kind':_0x267909[_0x47acb0(0x152)],'command':_0x267909[_0x47acb0(0x16c)],'appRef':_0x267909[_0x47acb0(0x192)],'datasetCode':_0x267909['datasetCode'],'datatable':_0x267909[_0x47acb0(0x162)],'sqlCode':_0x267909['sqlCode'],'bffCode':_0x267909[_0x47acb0(0x15d)],'bffId':_0x267909[_0x47acb0(0x179)],'scriptName':_0x267909[_0x47acb0(0x140)]};}function normalizeScalarParams(_0x156010){const _0x13b11c=a32_0x41da;return Object[_0x13b11c(0x13e)](Object[_0x13b11c(0x15c)](_0x156010)[_0x13b11c(0x18d)](([,_0x50cda6])=>typeof _0x50cda6===_0x13b11c(0x154)||typeof _0x50cda6===_0x13b11c(0x158)));}function a32_0x41da(_0x3bf4c8,_0x24be38){_0x3bf4c8=_0x3bf4c8-0x132;const _0x4f10f9=a32_0x4f10();let _0x41dac2=_0x4f10f9[_0x3bf4c8];return _0x41dac2;}function hasText(_0x2e062b){const _0x1826d4=a32_0x41da;return typeof _0x2e062b==='string'&&_0x2e062b[_0x1826d4(0x188)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x5ae79d){const _0xd508f8=a32_0x41da;return _0x5ae79d===undefined||typeof _0x5ae79d===_0xd508f8(0x154)||typeof _0x5ae79d===_0xd508f8(0x158)||typeof _0x5ae79d==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a33_0x493f65=a33_0x4d5d;(function(_0x48cf0b,_0x721f7b){const _0x103ba6=a33_0x4d5d,_0x561c9c=_0x48cf0b();while(!![]){try{const _0x3d197d=-parseInt(_0x103ba6(0x1e2))/0x1+parseInt(_0x103ba6(0x1d5))/0x2+-parseInt(_0x103ba6(0x1d4))/0x3+-parseInt(_0x103ba6(0x1ac))/0x4+parseInt(_0x103ba6(0x1b2))/0x5+parseInt(_0x103ba6(0x1c1))/0x6+parseInt(_0x103ba6(0x1d2))/0x7;if(_0x3d197d===_0x721f7b)break;else _0x561c9c['push'](_0x561c9c['shift']());}catch(_0x56d43d){_0x561c9c['push'](_0x561c9c['shift']());}}}(a33_0x3a1c,0xe178f));function a33_0x4d5d(_0x223857,_0x55b454){_0x223857=_0x223857-0x1a2;const _0x3a1c48=a33_0x3a1c();let _0x4d5d34=_0x3a1c48[_0x223857];return _0x4d5d34;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':'string','required':!![],'description':a33_0x493f65(0x1e1)},SERVICE_FLAG={'name':a33_0x493f65(0x1df),'type':a33_0x493f65(0x1e7),'required':!![],'description':a33_0x493f65(0x1e8),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x31f15e){const _0x2e8ae7=a33_0x493f65;return{'serviceCode':_0x31f15e[_0x2e8ae7(0x1b8)],'name':_0x31f15e[_0x2e8ae7(0x1a5)][_0x2e8ae7(0x1df)][_0x2e8ae7(0x1a2)],'version':_0x31f15e[_0x2e8ae7(0x1d8)],'importedAt':_0x31f15e[_0x2e8ae7(0x1c0)],'source':_0x31f15e[_0x2e8ae7(0x1a7)],'commandCount':_0x31f15e[_0x2e8ae7(0x1a5)][_0x2e8ae7(0x1cf)][_0x2e8ae7(0x1bf)],'commands':_0x31f15e[_0x2e8ae7(0x1a5)]['commands'][_0x2e8ae7(0x1e3)](_0x1dc8a9=>({'path':_0x1dc8a9[_0x2e8ae7(0x1cc)],'description':_0x1dc8a9[_0x2e8ae7(0x1af)],'risk':_0x1dc8a9[_0x2e8ae7(0x1bc)],'target':_0x1dc8a9['target'],'flags':_0x1dc8a9[_0x2e8ae7(0x1db)][_0x2e8ae7(0x1e3)](_0x9971e=>({'name':_0x9971e[_0x2e8ae7(0x1a2)],'cliName':_0x9971e[_0x2e8ae7(0x1ab)],'type':_0x9971e[_0x2e8ae7(0x1c5)],'required':_0x9971e[_0x2e8ae7(0x1ca)]===!![]}))}))};}function a33_0x3a1c(){const _0x2ae7f2=['reduce','WRITE','registryServiceCode','serviceCode','list','file','detail','risk','hash','entries','length','importedAt','1142040NdWrgB','Service\x20registry\x20validation\x20passed.','registry','\x20service(s).','type','serviceCount','registryIndex','target','errors','required','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','cliPath','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','Removed\x20service\x20','commands','report','\x20service(s),\x20updated\x20','3014865pdebMg','imported','2060712BAnDZb','3067964dzDYNl','replaced','write','version','manifest','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','flags','validate','\x20service\x20','registryPath','service','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Service\x20Tree\x20manifest\x20file\x20path','1396110sptIYj','map','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Exported\x20service\x20','filePath','string','Local\x20service\x20code,\x20for\x20example\x20crm','name','manifests','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','normalizedManifest','str','source','export','warnings','updated','cliName','50484CDVVLX','read','Local\x20service\x20not\x20found:\x20','description','kind','Service\x20manifest\x20validation\x20passed.','4320765vkmlQR','Imported\x20','entry'];a33_0x3a1c=function(){return _0x2ae7f2;};return a33_0x3a1c();}function summarizeLoadedManifest(_0x109e4c){const _0x5c8e08=a33_0x493f65;return{'service':_0x109e4c[_0x5c8e08(0x1a5)]?.[_0x5c8e08(0x1df)],'version':_0x109e4c[_0x5c8e08(0x1a5)]?.[_0x5c8e08(0x1d8)],'commandCount':_0x109e4c['normalizedManifest']?.[_0x5c8e08(0x1cf)][_0x5c8e08(0x1bf)]??0x0,'commands':_0x109e4c[_0x5c8e08(0x1a5)]?.[_0x5c8e08(0x1cf)][_0x5c8e08(0x1e3)](_0x5937f3=>({'path':_0x5937f3[_0x5c8e08(0x1cc)],'risk':_0x5937f3['risk'],'target':_0x5937f3['target']}))??[],'registryIndex':_0x109e4c[_0x5c8e08(0x1c7)],'registryServiceCode':_0x109e4c[_0x5c8e08(0x1b7)],'errors':_0x109e4c[_0x5c8e08(0x1d0)]['errors'],'warnings':_0x109e4c['report'][_0x5c8e08(0x1a9)]};}export const serviceDefinitions=[{'service':a33_0x493f65(0x1df),'command':a33_0x493f65(0x1dc),'description':a33_0x493f65(0x1e0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3b93ed){const _0x2014df=a33_0x493f65,_0x17b956=loadServiceManifestFromFile(_0x3b93ed[_0x2014df(0x1a6)](_0x2014df(0x1ba)));if(!_0x17b956[_0x2014df(0x1d0)]['ok'])return{'ok':![],'data':{'file':_0x17b956[_0x2014df(0x1e6)],'hash':_0x17b956[_0x2014df(0x1bd)],'kind':_0x17b956[_0x2014df(0x1b0)],'serviceCount':_0x17b956[_0x2014df(0x1a3)][_0x2014df(0x1bf)],'services':_0x17b956[_0x2014df(0x1a3)][_0x2014df(0x1e3)](summarizeLoadedManifest),'errors':_0x17b956[_0x2014df(0x1d0)]['errors'],'warnings':_0x17b956['report'][_0x2014df(0x1a9)]},'message':formatValidationFailure(_0x17b956['report'])};if(_0x17b956['kind']===_0x2014df(0x1c3)||_0x17b956[_0x2014df(0x1a3)][_0x2014df(0x1bf)]!==0x1)return{'ok':!![],'data':{'file':_0x17b956[_0x2014df(0x1e6)],'hash':_0x17b956[_0x2014df(0x1bd)],'kind':_0x17b956[_0x2014df(0x1b0)],'serviceCount':_0x17b956['manifests'][_0x2014df(0x1bf)],'commandCount':_0x17b956[_0x2014df(0x1a3)][_0x2014df(0x1b5)]((_0x39f2f8,_0x502aeb)=>_0x39f2f8+(_0x502aeb[_0x2014df(0x1a5)]?.['commands'][_0x2014df(0x1bf)]??0x0),0x0),'services':_0x17b956['manifests'][_0x2014df(0x1e3)](summarizeLoadedManifest),'warnings':_0x17b956[_0x2014df(0x1d0)][_0x2014df(0x1a9)]},'message':_0x2014df(0x1c2)};return{'ok':!![],'data':{'file':_0x17b956[_0x2014df(0x1e6)],'hash':_0x17b956[_0x2014df(0x1bd)],'kind':_0x17b956['kind'],'service':_0x17b956['normalizedManifest']?.[_0x2014df(0x1df)],'version':_0x17b956[_0x2014df(0x1a5)]?.['version'],'commandCount':_0x17b956[_0x2014df(0x1a5)]?.[_0x2014df(0x1cf)][_0x2014df(0x1bf)]??0x0,'commands':_0x17b956[_0x2014df(0x1a5)]?.[_0x2014df(0x1cf)]['map'](_0x32db52=>({'path':_0x32db52[_0x2014df(0x1cc)],'risk':_0x32db52['risk'],'target':_0x32db52[_0x2014df(0x1c8)]})),'warnings':_0x17b956['report'][_0x2014df(0x1a9)]},'message':_0x2014df(0x1b1)};}},{'service':a33_0x493f65(0x1df),'command':'import','description':a33_0x493f65(0x1a4),'risk':a33_0x493f65(0x1d7),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2012b2){const _0x5ec382=a33_0x493f65,_0x564a01=loadServiceManifestFromFile(_0x2012b2['str'](_0x5ec382(0x1ba)));return{'method':_0x5ec382(0x1b6),'url':getServiceRegistryPath(),'body':{'file':_0x564a01[_0x5ec382(0x1e6)],'hash':_0x564a01[_0x5ec382(0x1bd)],'kind':_0x564a01['kind'],'ok':_0x564a01['report']['ok'],'service':_0x564a01[_0x5ec382(0x1a5)]?.[_0x5ec382(0x1df)],'version':_0x564a01['normalizedManifest']?.['version'],'serviceCount':_0x564a01[_0x5ec382(0x1a3)][_0x5ec382(0x1bf)],'services':_0x564a01[_0x5ec382(0x1a3)]['map'](_0x1f7ae1=>({'service':_0x1f7ae1[_0x5ec382(0x1a5)]?.[_0x5ec382(0x1df)],'version':_0x1f7ae1[_0x5ec382(0x1a5)]?.[_0x5ec382(0x1d8)],'commandCount':_0x1f7ae1[_0x5ec382(0x1a5)]?.['commands']['length']??0x0,'errors':_0x1f7ae1[_0x5ec382(0x1d0)][_0x5ec382(0x1c9)]})),'errors':_0x564a01['report'][_0x5ec382(0x1c9)],'commandCount':_0x564a01[_0x5ec382(0x1a5)]?.[_0x5ec382(0x1cf)][_0x5ec382(0x1bf)]??0x0},'description':_0x5ec382(0x1da)};},async 'execute'(_0x48d0cd){const _0x16e3da=a33_0x493f65,_0x1bc8d3=importServiceManifest(_0x48d0cd['str']('file'));if(_0x1bc8d3[_0x16e3da(0x1be)][_0x16e3da(0x1bf)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1bc8d3['registryPath'],'imported':_0x1bc8d3[_0x16e3da(0x1d3)],'updated':_0x1bc8d3[_0x16e3da(0x1aa)],'serviceCount':_0x1bc8d3[_0x16e3da(0x1c6)],'services':_0x1bc8d3[_0x16e3da(0x1be)]['map'](summarizeService)},'message':_0x16e3da(0x1b3)+_0x1bc8d3[_0x16e3da(0x1d3)]+_0x16e3da(0x1d1)+_0x1bc8d3[_0x16e3da(0x1aa)]+_0x16e3da(0x1c4)};return{'ok':!![],'data':{'registryPath':_0x1bc8d3[_0x16e3da(0x1de)],'replaced':_0x1bc8d3[_0x16e3da(0x1d6)],'imported':_0x1bc8d3[_0x16e3da(0x1d3)],'updated':_0x1bc8d3['updated'],'serviceCount':_0x1bc8d3[_0x16e3da(0x1c6)],'service':summarizeService(_0x1bc8d3['entry'])},'message':(_0x1bc8d3['replaced']?'Updated':'Imported')+_0x16e3da(0x1dd)+_0x1bc8d3['entry']['serviceCode']+'.'};}},{'service':a33_0x493f65(0x1df),'command':a33_0x493f65(0x1a8),'description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x493f65(0x1d7),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x3771db){const _0x346d82=a33_0x493f65,_0x1f852f=getLocalServiceEntry(_0x3771db['str'](_0x346d82(0x1df)));return{'method':_0x346d82(0x1b6),'url':_0x3771db['str'](_0x346d82(0x1ba)),'body':{'service':_0x3771db[_0x346d82(0x1a6)](_0x346d82(0x1df)),'found':Boolean(_0x1f852f),'version':_0x1f852f?.[_0x346d82(0x1d8)],'source':_0x1f852f?.[_0x346d82(0x1a7)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x58ab56){const _0x144673=a33_0x493f65,_0x37ce44=exportServiceManifest(_0x58ab56[_0x144673(0x1a6)](_0x144673(0x1df)),_0x58ab56[_0x144673(0x1a6)](_0x144673(0x1ba)));return{'ok':!![],'data':{'registryPath':_0x37ce44[_0x144673(0x1de)],'file':_0x37ce44[_0x144673(0x1e6)],'service':summarizeService(_0x37ce44[_0x144673(0x1b4)])},'message':_0x144673(0x1e5)+_0x37ce44[_0x144673(0x1b4)][_0x144673(0x1b8)]+'.'};}},{'service':a33_0x493f65(0x1df),'command':a33_0x493f65(0x1b9),'description':a33_0x493f65(0x1cd),'risk':a33_0x493f65(0x1ad),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xbad866=a33_0x493f65,_0x1f5168=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1f5168['length'],'services':_0x1f5168[_0xbad866(0x1e3)](summarizeService)}};}},{'service':'service','command':'remove','description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x493f65(0x1d7),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0xf74579){const _0x431519=a33_0x493f65,_0x44eb22=getLocalServiceEntry(_0xf74579[_0x431519(0x1a6)]('service'));return{'method':_0x431519(0x1b6),'url':getServiceRegistryPath(),'body':{'service':_0xf74579[_0x431519(0x1a6)](_0x431519(0x1df)),'found':Boolean(_0x44eb22),'version':_0x44eb22?.[_0x431519(0x1d8)],'source':_0x44eb22?.['source']},'description':_0x431519(0x1cb)};},async 'execute'(_0x359a64){const _0x5d1d7a=a33_0x493f65,_0x955fc3=removeServiceManifest(_0x359a64[_0x5d1d7a(0x1a6)](_0x5d1d7a(0x1df)));return{'ok':!![],'data':{'registryPath':_0x955fc3[_0x5d1d7a(0x1de)],'serviceCount':_0x955fc3['serviceCount'],'service':summarizeService(_0x955fc3[_0x5d1d7a(0x1b4)])},'message':_0x5d1d7a(0x1ce)+_0x955fc3[_0x5d1d7a(0x1b4)]['serviceCode']+'.'};}},{'service':a33_0x493f65(0x1df),'command':a33_0x493f65(0x1bb),'description':a33_0x493f65(0x1e4),'risk':a33_0x493f65(0x1ad),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x59a906){const _0x119144=a33_0x493f65,_0x463f9f=getLocalServiceEntry(_0x59a906[_0x119144(0x1a6)](_0x119144(0x1df)));if(!_0x463f9f)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x59a906[_0x119144(0x1a6)](_0x119144(0x1df))},'message':_0x119144(0x1ae)+_0x59a906[_0x119144(0x1a6)](_0x119144(0x1df))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x463f9f),'manifest':_0x463f9f[_0x119144(0x1d9)],'normalizedManifest':_0x463f9f['normalizedManifest']}};}}];
|
|
1
|
+
function a33_0x1f70(){const _0x2e3550=['import','imported','version','8015892tyujjQ','175384fNoQsC','1762578KrtmyF','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','filePath','reduce','entry','warnings','52685440WpZSZX','read','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','string','registryPath','serviceCode','kind','Local\x20service\x20code,\x20for\x20example\x20crm','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','manifests','source','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','3987QASmdH','updated','write','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','commands','name','Local\x20service\x20not\x20found:\x20','Imported','str','Exported\x20service\x20','registryServiceCode','importedAt','file','registryIndex','Removed\x20service\x20','65JNowTw','export','service','normalizedManifest','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service(s).','hash','description','list','lower\x20kebab-case\x20service\x20code','length','required','flags','7456Udrwow','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','3386061lvUKtR','Service\x20Tree\x20manifest\x20file\x20path','map','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','type','detail','cliName','errors','risk','Service\x20manifest\x20validation\x20passed.','7qDescJ','Updated','entries','registry','1289219eVRnJU','target','report','cliPath','WRITE','\x20service\x20'];a33_0x1f70=function(){return _0x2e3550;};return a33_0x1f70();}const a33_0x438299=a33_0x578c;(function(_0x497025,_0x73d592){const _0x5a28c5=a33_0x578c,_0x3568d4=_0x497025();while(!![]){try{const _0x47dfb8=-parseInt(_0x5a28c5(0x10a))/0x1+-parseInt(_0x5a28c5(0xc9))/0x2+-parseInt(_0x5a28c5(0xfc))/0x3+-parseInt(_0x5a28c5(0xc8))/0x4*(-parseInt(_0x5a28c5(0xec))/0x5)+-parseInt(_0x5a28c5(0xc7))/0x6*(parseInt(_0x5a28c5(0x106))/0x7)+-parseInt(_0x5a28c5(0xfa))/0x8*(parseInt(_0x5a28c5(0xdc))/0x9)+parseInt(_0x5a28c5(0xd0))/0xa;if(_0x47dfb8===_0x73d592)break;else _0x3568d4['push'](_0x3568d4['shift']());}catch(_0xc4b7dd){_0x3568d4['push'](_0x3568d4['shift']());}}}(a33_0x1f70,0xc0fd9));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x438299(0xe9),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xfd)},SERVICE_FLAG={'name':a33_0x438299(0xee),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xd7),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x438299(0xf6)}};function summarizeService(_0x17a4c4){const _0xdc1eae=a33_0x438299;return{'serviceCode':_0x17a4c4[_0xdc1eae(0xd5)],'name':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xee)][_0xdc1eae(0xe2)],'version':_0x17a4c4[_0xdc1eae(0xc6)],'importedAt':_0x17a4c4[_0xdc1eae(0xe8)],'source':_0x17a4c4[_0xdc1eae(0xda)],'commandCount':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xe1)][_0xdc1eae(0xf7)],'commands':_0x17a4c4['normalizedManifest'][_0xdc1eae(0xe1)][_0xdc1eae(0xfe)](_0x16b37a=>({'path':_0x16b37a[_0xdc1eae(0x10d)],'description':_0x16b37a[_0xdc1eae(0xf4)],'risk':_0x16b37a[_0xdc1eae(0x104)],'target':_0x16b37a[_0xdc1eae(0x10b)],'flags':_0x16b37a[_0xdc1eae(0xf9)][_0xdc1eae(0xfe)](_0x2fd21c=>({'name':_0x2fd21c[_0xdc1eae(0xe2)],'cliName':_0x2fd21c[_0xdc1eae(0x102)],'type':_0x2fd21c[_0xdc1eae(0x100)],'required':_0x2fd21c[_0xdc1eae(0xf8)]===!![]}))}))};}function a33_0x578c(_0x50208d,_0xf327af){_0x50208d=_0x50208d-0xc5;const _0x1f7058=a33_0x1f70();let _0x578c89=_0x1f7058[_0x50208d];return _0x578c89;}function summarizeLoadedManifest(_0x46b9f9){const _0xe69684=a33_0x438299;return{'service':_0x46b9f9[_0xe69684(0xef)]?.['service'],'version':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xc6)],'commandCount':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xe1)][_0xe69684(0xf7)]??0x0,'commands':_0x46b9f9['normalizedManifest']?.['commands'][_0xe69684(0xfe)](_0x2198e7=>({'path':_0x2198e7[_0xe69684(0x10d)],'risk':_0x2198e7[_0xe69684(0x104)],'target':_0x2198e7[_0xe69684(0x10b)]}))??[],'registryIndex':_0x46b9f9[_0xe69684(0xea)],'registryServiceCode':_0x46b9f9[_0xe69684(0xe7)],'errors':_0x46b9f9['report'][_0xe69684(0x103)],'warnings':_0x46b9f9[_0xe69684(0x10c)][_0xe69684(0xcf)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a33_0x438299(0xfb),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x15dc68){const _0x30179a=a33_0x438299,_0xd19422=loadServiceManifestFromFile(_0x15dc68[_0x30179a(0xe5)]('file'));if(!_0xd19422[_0x30179a(0x10c)]['ok'])return{'ok':![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422['kind'],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'services':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xfe)](summarizeLoadedManifest),'errors':_0xd19422[_0x30179a(0x10c)][_0x30179a(0x103)],'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':formatValidationFailure(_0xd19422['report'])};if(_0xd19422[_0x30179a(0xd6)]===_0x30179a(0x109)||_0xd19422[_0x30179a(0xd9)][_0x30179a(0xf7)]!==0x1)return{'ok':!![],'data':{'file':_0xd19422['filePath'],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'commandCount':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xcd)]((_0x1602e5,_0x2ef4aa)=>_0x1602e5+(_0x2ef4aa[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0),0x0),'services':_0xd19422['manifests'][_0x30179a(0xfe)](summarizeLoadedManifest),'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'service':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xee)],'version':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xc6)],'commandCount':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0,'commands':_0xd19422[_0x30179a(0xef)]?.['commands'][_0x30179a(0xfe)](_0xb0f5f8=>({'path':_0xb0f5f8[_0x30179a(0x10d)],'risk':_0xb0f5f8['risk'],'target':_0xb0f5f8[_0x30179a(0x10b)]})),'warnings':_0xd19422['report']['warnings']},'message':_0x30179a(0x105)};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x110),'description':a33_0x438299(0xf0),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x26d468){const _0x490bfd=a33_0x438299,_0x2d3d6c=loadServiceManifestFromFile(_0x26d468['str']('file'));return{'method':_0x490bfd(0x10e),'url':getServiceRegistryPath(),'body':{'file':_0x2d3d6c['filePath'],'hash':_0x2d3d6c['hash'],'kind':_0x2d3d6c[_0x490bfd(0xd6)],'ok':_0x2d3d6c[_0x490bfd(0x10c)]['ok'],'service':_0x2d3d6c['normalizedManifest']?.['service'],'version':_0x2d3d6c[_0x490bfd(0xef)]?.[_0x490bfd(0xc6)],'serviceCount':_0x2d3d6c['manifests'][_0x490bfd(0xf7)],'services':_0x2d3d6c[_0x490bfd(0xd9)][_0x490bfd(0xfe)](_0x2fafd8=>({'service':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xee)],'version':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xc6)],'commandCount':_0x2fafd8[_0x490bfd(0xef)]?.['commands'][_0x490bfd(0xf7)]??0x0,'errors':_0x2fafd8[_0x490bfd(0x10c)][_0x490bfd(0x103)]})),'errors':_0x2d3d6c[_0x490bfd(0x10c)]['errors'],'commandCount':_0x2d3d6c[_0x490bfd(0xef)]?.['commands']['length']??0x0},'description':_0x490bfd(0xd8)};},async 'execute'(_0x3bf1f7){const _0x5dccfe=a33_0x438299,_0x1fde7d=importServiceManifest(_0x3bf1f7[_0x5dccfe(0xe5)]('file'));if(_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xf7)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fde7d['registryPath'],'imported':_0x1fde7d[_0x5dccfe(0xc5)],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'services':_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xfe)](summarizeService)},'message':_0x5dccfe(0xca)+_0x1fde7d[_0x5dccfe(0xc5)]+_0x5dccfe(0xdf)+_0x1fde7d[_0x5dccfe(0xdd)]+_0x5dccfe(0xf2)};return{'ok':!![],'data':{'registryPath':_0x1fde7d[_0x5dccfe(0xd4)],'replaced':_0x1fde7d['replaced'],'imported':_0x1fde7d['imported'],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'service':summarizeService(_0x1fde7d[_0x5dccfe(0xce)])},'message':(_0x1fde7d['replaced']?_0x5dccfe(0x107):_0x5dccfe(0xe4))+_0x5dccfe(0x10f)+_0x1fde7d['entry'][_0x5dccfe(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xed),'description':a33_0x438299(0xdb),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x14950b){const _0x55be14=a33_0x438299,_0x492e41=getLocalServiceEntry(_0x14950b[_0x55be14(0xe5)]('service'));return{'method':'WRITE','url':_0x14950b[_0x55be14(0xe5)](_0x55be14(0xe9)),'body':{'service':_0x14950b['str'](_0x55be14(0xee)),'found':Boolean(_0x492e41),'version':_0x492e41?.['version'],'source':_0x492e41?.['source']},'description':_0x55be14(0xcb)};},async 'execute'(_0x1f69c9){const _0x5b5e6c=a33_0x438299,_0xb9ccc4=exportServiceManifest(_0x1f69c9[_0x5b5e6c(0xe5)](_0x5b5e6c(0xee)),_0x1f69c9['str']('file'));return{'ok':!![],'data':{'registryPath':_0xb9ccc4[_0x5b5e6c(0xd4)],'file':_0xb9ccc4[_0x5b5e6c(0xcc)],'service':summarizeService(_0xb9ccc4['entry'])},'message':_0x5b5e6c(0xe6)+_0xb9ccc4['entry'][_0x5b5e6c(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xf5),'description':a33_0x438299(0xf1),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4431a3=a33_0x438299,_0x382f12=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x382f12[_0x4431a3(0xf7)],'services':_0x382f12['map'](summarizeService)}};}},{'service':'service','command':'remove','description':a33_0x438299(0xd2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x315024){const _0x4636fc=a33_0x438299,_0x491b2f=getLocalServiceEntry(_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)));return{'method':_0x4636fc(0x10e),'url':getServiceRegistryPath(),'body':{'service':_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)),'found':Boolean(_0x491b2f),'version':_0x491b2f?.['version'],'source':_0x491b2f?.[_0x4636fc(0xda)]},'description':_0x4636fc(0xff)};},async 'execute'(_0xd44d08){const _0x516cd2=a33_0x438299,_0x1e3ce9=removeServiceManifest(_0xd44d08[_0x516cd2(0xe5)]('service'));return{'ok':!![],'data':{'registryPath':_0x1e3ce9[_0x516cd2(0xd4)],'serviceCount':_0x1e3ce9['serviceCount'],'service':summarizeService(_0x1e3ce9[_0x516cd2(0xce)])},'message':_0x516cd2(0xeb)+_0x1e3ce9[_0x516cd2(0xce)][_0x516cd2(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x101),'description':a33_0x438299(0xe0),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4aee0a){const _0x10c1bf=a33_0x438299,_0x3a4017=getLocalServiceEntry(_0x4aee0a['str'](_0x10c1bf(0xee)));if(!_0x3a4017)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4aee0a[_0x10c1bf(0xe5)](_0x10c1bf(0xee))},'message':_0x10c1bf(0xe3)+_0x4aee0a[_0x10c1bf(0xe5)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3a4017),'manifest':_0x3a4017['manifest'],'normalizedManifest':_0x3a4017['normalizedManifest']}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a34_0xdad5c1=a34_0x2622;(function(_0x5cd91f,_0x2b7742){const _0x95d2a7=a34_0x2622,_0x15022a=_0x5cd91f();while(!![]){try{const _0x1fee3a=parseInt(_0x95d2a7(0x18b))/0x1+parseInt(_0x95d2a7(0x1af))/0x2*(-parseInt(_0x95d2a7(0x194))/0x3)+-parseInt(_0x95d2a7(0x1aa))/0x4*(-parseInt(_0x95d2a7(0x1c2))/0x5)+parseInt(_0x95d2a7(0x1ad))/0x6+parseInt(_0x95d2a7(0x17e))/0x7*(-parseInt(_0x95d2a7(0x1c0))/0x8)+parseInt(_0x95d2a7(0x1ae))/0x9*(parseInt(_0x95d2a7(0x17b))/0xa)+-parseInt(_0x95d2a7(0x1bd))/0xb;if(_0x1fee3a===_0x2b7742)break;else _0x15022a['push'](_0x15022a['shift']());}catch(_0x3434c6){_0x15022a['push'](_0x15022a['shift']());}}}(a34_0x251b,0xa7015));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';function a34_0x2622(_0x3b16cb,_0x763b35){_0x3b16cb=_0x3b16cb-0x17b;const _0x251b0b=a34_0x251b();let _0x26220e=_0x251b0b[_0x3b16cb];return _0x26220e;}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=a34_0xdad5c1(0x18e);export function getServiceRegistryPath(_0x54d3d7={}){const _0xda7a79=a34_0xdad5c1;return resolve(_0x54d3d7[_0xda7a79(0x19c)]??homedir(),PRODUCT_CONFIG[_0xda7a79(0x1ac)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x345059={}){const _0x5efad9=a34_0xdad5c1,_0x15a614=getServiceRegistryPath(_0x345059);if(!existsSync(_0x15a614))return emptyServiceRegistry();try{const _0x24835d=readFileSync(_0x15a614,_0x5efad9(0x193));if(!_0x24835d[_0x5efad9(0x1b7)]())return emptyServiceRegistry();const _0x4e9362=JSON[_0x5efad9(0x192)](_0x24835d);if(_0x4e9362[_0x5efad9(0x17d)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5efad9(0x1c7)](_0x5efad9(0x184)+String(_0x4e9362[_0x5efad9(0x17d)]),_0x5efad9(0x19a)+_0x15a614+'.');if(!Array['isArray'](_0x4e9362[_0x5efad9(0x1a6)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e9362[_0x5efad9(0x1ba)],'services':_0x4e9362[_0x5efad9(0x1a6)]};}catch(_0x36fcbf){if(_0x36fcbf instanceof Error&&_0x36fcbf[_0x5efad9(0x19d)]===_0x5efad9(0x1b1))throw _0x36fcbf;throw CliErrors['validation'](_0x5efad9(0x186)+_0x15a614,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x2e0d74,_0x23ad86={}){const _0x3d2a90=a34_0xdad5c1,_0x44368d=getServiceRegistryPath(_0x23ad86),_0x57a629=dirname(_0x44368d);!existsSync(_0x57a629)&&mkdirSync(_0x57a629,{'recursive':!![]});const _0xd39d74=_0x44368d+'.tmp';try{writeFileSync(_0xd39d74,JSON[_0x3d2a90(0x18c)](_0x2e0d74,null,0x2)+'\x0a',{'encoding':_0x3d2a90(0x193),'mode':0x180}),renameSync(_0xd39d74,_0x44368d);}catch(_0x52d847){try{unlinkSync(_0xd39d74);}catch{}if(_0x52d847?.[_0x3d2a90(0x19f)]===_0x3d2a90(0x1a5))throw CliErrors[_0x3d2a90(0x1c7)]('Cannot\x20write\x20service\x20registry:\x20'+_0x44368d);throw _0x52d847;}return _0x44368d;}function a34_0x251b(){const _0x5914eb=['parse','utf8','28383nnvbwh','slice','toISOString','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','].manifest','empty','Remove\x20or\x20migrate\x20','push','homeDir','name','splice','code','file','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','registryIndex','serviceCode','Service\x20manifest\x20validation\x20failed:\x0a','ENOENT','services','missing','errors','sha256','4526612aogxAI','length','homeDirName','733254BCPHIX','738BquZxx','260qPqYiS','isArray','CliError','cliPath','$.services[','kind','manifest','startsWith','trim','path','manifests','updatedAt','update','service','3705416FXJpcu','string','source','916664HEEZqB','warnings','5gVAGre','normalizedManifest','version','commands','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','validation','150300AdfyVM','services\x20must\x20be\x20an\x20array','schemaVersion','63NGuolT','report','flatMap','filePath','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','map','Unsupported\x20service\x20registry\x20schemaVersion:\x20','message','Invalid\x20service\x20registry\x20JSON:\x20','now','find','target','description','795764BVUDIb','stringify','importedAt','service.json','invalid','reduce','findIndex'];a34_0x251b=function(){return _0x5914eb;};return a34_0x251b();}export function loadServiceManifestFromFile(_0x3b039b){const _0x5d185c=a34_0xdad5c1,_0x4e5912=resolve(_0x3b039b);if(!existsSync(_0x4e5912))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x3b039b);let _0x2b1555;const _0x164207=readFileSync(_0x4e5912,'utf8');try{_0x2b1555=JSON[_0x5d185c(0x192)](_0x164207);}catch{throw CliErrors[_0x5d185c(0x1c7)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x3b039b,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x1e4578=sha256(_0x164207),_0x43b9a1=extractLoadedServiceManifests(_0x2b1555,_0x1e4578),_0x17f763=aggregateValidationReports(_0x43b9a1),_0x471a75=_0x43b9a1[0x0];return{'filePath':_0x4e5912,'hash':_0x1e4578,'kind':isServiceRegistryLike(_0x2b1555)?'registry':_0x5d185c(0x1b5),'manifest':_0x471a75?.[_0x5d185c(0x1b5)]??_0x2b1555,'report':_0x17f763,'normalizedManifest':_0x43b9a1[_0x5d185c(0x1ab)]===0x1?_0x471a75?.[_0x5d185c(0x1c3)]:undefined,'manifests':_0x43b9a1};}export function importServiceManifest(_0x140241,_0x3d8586={}){const _0x3ec765=a34_0xdad5c1,_0x1cdabd=loadServiceManifestFromFile(_0x140241);if(!_0x1cdabd['report']['ok'])throw CliErrors[_0x3ec765(0x1c7)](formatValidationFailure(_0x1cdabd[_0x3ec765(0x17f)]),_0x3ec765(0x182));if(_0x1cdabd[_0x3ec765(0x1b9)][_0x3ec765(0x1ab)]===0x0)throw CliErrors[_0x3ec765(0x1c7)](_0x3ec765(0x1a1),_0x3ec765(0x197));const _0x396916=readServiceRegistry(_0x3d8586),_0x8fa99a=(_0x3d8586[_0x3ec765(0x187)]??(()=>new Date()))()['toISOString'](),_0xf8cdeb=[];let _0x2f4989=0x0,_0x4da3e9=0x0;for(const _0x53b0c0 of _0x1cdabd[_0x3ec765(0x1b9)]){if(!_0x53b0c0[_0x3ec765(0x1c3)])continue;const _0x413898=_0x53b0c0[_0x3ec765(0x1c3)]['service'][_0x3ec765(0x19f)],_0x47fff0={'serviceCode':_0x413898,'version':_0x53b0c0[_0x3ec765(0x1c3)][_0x3ec765(0x1c4)],'importedAt':_0x8fa99a,'source':{'type':_0x3ec765(0x1a0),'path':_0x1cdabd[_0x3ec765(0x181)],'hash':_0x53b0c0['sourceHash']},'manifest':_0x53b0c0[_0x3ec765(0x1b5)],'normalizedManifest':_0x53b0c0[_0x3ec765(0x1c3)]},_0x3d529e=_0x396916['services'][_0x3ec765(0x191)](_0xd9a897=>_0xd9a897[_0x3ec765(0x1a3)]===_0x413898);_0x3d529e>=0x0?(_0x396916[_0x3ec765(0x1a6)][_0x3d529e]=_0x47fff0,_0x4da3e9++):(_0x396916[_0x3ec765(0x1a6)]['push'](_0x47fff0),_0x2f4989++),_0xf8cdeb[_0x3ec765(0x19b)](_0x47fff0);}_0x396916[_0x3ec765(0x1a6)]['sort']((_0x2cb14e,_0x564703)=>_0x2cb14e[_0x3ec765(0x1a3)]['localeCompare'](_0x564703[_0x3ec765(0x1a3)])),_0x396916[_0x3ec765(0x1ba)]=_0x8fa99a;const _0x582940=writeServiceRegistry(_0x396916,_0x3d8586);return{'registryPath':_0x582940,'entry':_0xf8cdeb[0x0],'replaced':_0xf8cdeb[_0x3ec765(0x1ab)]===0x1?_0x4da3e9===0x1:_0x4da3e9>0x0,'entries':_0xf8cdeb,'imported':_0x2f4989,'updated':_0x4da3e9,'serviceCount':_0x396916['services']['length']};}export function exportServiceManifest(_0x57418f,_0x2ee172,_0x329a75={}){const _0x42ff70=a34_0xdad5c1,_0x1a2596=getServiceRegistryPath(_0x329a75),_0x1d21b8=getLocalServiceEntry(_0x57418f,_0x329a75);if(!_0x1d21b8)throw CliErrors['validation']('Local\x20service\x20not\x20found:\x20'+_0x57418f,_0x42ff70(0x1c6));const _0x3351dc=resolve(_0x2ee172),_0x19888c=dirname(_0x3351dc);return!existsSync(_0x19888c)&&mkdirSync(_0x19888c,{'recursive':!![]}),writeFileSync(_0x3351dc,JSON[_0x42ff70(0x18c)](_0x1d21b8[_0x42ff70(0x1b5)],null,0x2)+'\x0a',{'encoding':_0x42ff70(0x193),'mode':0x180}),{'registryPath':_0x1a2596,'filePath':_0x3351dc,'entry':_0x1d21b8};}export function removeServiceManifest(_0x331c63,_0x44e4e5={}){const _0x5fd1a2=a34_0xdad5c1,_0x5bffce=readServiceRegistry(_0x44e4e5),_0x39b93d=_0x331c63[_0x5fd1a2(0x1b7)](),_0x15ca0a=_0x5bffce[_0x5fd1a2(0x1a6)][_0x5fd1a2(0x191)](_0x38f125=>_0x38f125['serviceCode']===_0x39b93d);if(_0x15ca0a<0x0)throw CliErrors[_0x5fd1a2(0x1c7)]('Local\x20service\x20not\x20found:\x20'+_0x39b93d,_0x5fd1a2(0x1c6));const [_0x4e5f3a]=_0x5bffce['services'][_0x5fd1a2(0x19e)](_0x15ca0a,0x1),_0x5eb3bb=(_0x44e4e5[_0x5fd1a2(0x187)]??(()=>new Date()))()[_0x5fd1a2(0x196)]();_0x5bffce[_0x5fd1a2(0x1ba)]=_0x5eb3bb;const _0x3c82db=writeServiceRegistry(_0x5bffce,_0x44e4e5);return{'registryPath':_0x3c82db,'entry':_0x4e5f3a,'serviceCount':_0x5bffce[_0x5fd1a2(0x1a6)]['length']};}export function listLocalServices(_0x240124={}){const _0xa1911f=a34_0xdad5c1;return readServiceRegistry(_0x240124)[_0xa1911f(0x1a6)];}export function getLocalServiceEntry(_0xb840f3,_0x217e41={}){const _0x9a23c6=a34_0xdad5c1;return readServiceRegistry(_0x217e41)[_0x9a23c6(0x1a6)][_0x9a23c6(0x188)](_0x31e4e0=>_0x31e4e0[_0x9a23c6(0x1a3)]===_0xb840f3[_0x9a23c6(0x1b7)]());}export function listLocalServiceTrees(_0x28519b={}){const _0x43a727=a34_0xdad5c1;return readServiceRegistry(_0x28519b)[_0x43a727(0x1a6)][_0x43a727(0x183)](_0x3305d6=>_0x3305d6[_0x43a727(0x1c3)]);}export function inspectServiceRegistry(_0x599b79={}){const _0x1d5400=a34_0xdad5c1,_0x56aee9=getServiceRegistryPath(_0x599b79);if(!existsSync(_0x56aee9))return emptyServiceRegistryInspection(_0x56aee9,_0x1d5400(0x1a7),![]);try{const _0x236c0e=readFileSync(_0x56aee9,'utf8');if(!_0x236c0e[_0x1d5400(0x1b7)]())return emptyServiceRegistryInspection(_0x56aee9,_0x1d5400(0x199),!![]);const _0x139cd7=JSON['parse'](_0x236c0e);if(_0x139cd7[_0x1d5400(0x17d)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x56aee9,_0x1d5400(0x18f),!![]),'schemaVersion':_0x139cd7[_0x1d5400(0x17d)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x139cd7['schemaVersion'])};if(!Array[_0x1d5400(0x1b0)](_0x139cd7[_0x1d5400(0x1a6)]))return{...emptyServiceRegistryInspection(_0x56aee9,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x139cd7[_0x1d5400(0x1ba)],'message':_0x1d5400(0x17c)};const _0x400b63=_0x139cd7[_0x1d5400(0x1a6)][_0x1d5400(0x183)](summarizeLocalServiceEntry);return{'registryPath':_0x56aee9,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x139cd7[_0x1d5400(0x1ba)],'serviceCount':_0x400b63['length'],'commandCount':_0x400b63[_0x1d5400(0x190)]((_0x1ba107,_0x201dab)=>_0x1ba107+_0x201dab['commandCount'],0x0),'services':_0x400b63};}catch(_0x3764c5){return{...emptyServiceRegistryInspection(_0x56aee9,'invalid',!![]),'message':_0x3764c5 instanceof Error?_0x3764c5[_0x1d5400(0x185)]:String(_0x3764c5)};}}export function formatValidationFailure(_0x46611f){const _0x4c7919=a34_0xdad5c1,_0x28aba7=_0x46611f[_0x4c7919(0x1a8)][_0x4c7919(0x183)](_0x5430ba=>_0x5430ba[_0x4c7919(0x1b8)]+':\x20'+_0x5430ba[_0x4c7919(0x185)]);return _0x4c7919(0x1a4)+_0x28aba7['join']('\x0a');}function extractLoadedServiceManifests(_0x307e46,_0x4515a8){const _0x2ddb93=a34_0xdad5c1;if(!isServiceRegistryLike(_0x307e46)){const _0x509af4=_0x307e46,_0x1dc41f=validateServiceTreeManifest(_0x509af4);return[{'manifest':_0x509af4,'report':_0x1dc41f,'normalizedManifest':_0x1dc41f['ok']?normalizeServiceTreeManifest(_0x509af4):undefined,'sourceHash':_0x4515a8}];}return _0x307e46['services'][_0x2ddb93(0x183)]((_0x139a75,_0x58beaa)=>{const _0x35bdf0=_0x2ddb93,_0x490b5d=isObjectRecord(_0x139a75)?_0x139a75[_0x35bdf0(0x1b5)]:undefined,_0x87146e=validateServiceTreeManifest(_0x490b5d),_0x1d4838=isObjectRecord(_0x139a75)&&typeof _0x139a75['serviceCode']===_0x35bdf0(0x1be)?_0x139a75[_0x35bdf0(0x1a3)]:undefined;return{'manifest':_0x490b5d,'report':_0x87146e,'normalizedManifest':_0x87146e['ok']?normalizeServiceTreeManifest(_0x490b5d):undefined,'sourceHash':sha256(JSON[_0x35bdf0(0x18c)](_0x490b5d,null,0x2)+'\x0a'),'registryIndex':_0x58beaa,'registryServiceCode':_0x1d4838};});}function aggregateValidationReports(_0x4f65a8){const _0x360b4f=a34_0xdad5c1,_0x228426=_0x4f65a8['flatMap'](_0x187eec=>_0x187eec[_0x360b4f(0x1a2)]===undefined?_0x187eec[_0x360b4f(0x17f)]['errors']:_0x187eec[_0x360b4f(0x17f)][_0x360b4f(0x1a8)][_0x360b4f(0x183)](_0x4ff729=>({..._0x4ff729,'path':prefixRegistryIssuePath(_0x187eec[_0x360b4f(0x1a2)],_0x4ff729[_0x360b4f(0x1b8)])}))),_0x22b09a=_0x4f65a8[_0x360b4f(0x180)](_0x450b45=>_0x450b45[_0x360b4f(0x1a2)]===undefined?_0x450b45[_0x360b4f(0x17f)][_0x360b4f(0x1c1)]:_0x450b45[_0x360b4f(0x17f)][_0x360b4f(0x1c1)][_0x360b4f(0x183)](_0x79c6c1=>({..._0x79c6c1,'path':prefixRegistryIssuePath(_0x450b45[_0x360b4f(0x1a2)],_0x79c6c1['path'])})));return{'ok':_0x228426['length']===0x0,'errors':_0x228426,'warnings':_0x22b09a};}function prefixRegistryIssuePath(_0x40e03d,_0x377f4a){const _0x29251c=a34_0xdad5c1;if(_0x377f4a==='$')return'$.services['+_0x40e03d+_0x29251c(0x198);if(_0x377f4a[_0x29251c(0x1b6)]('$.'))return _0x29251c(0x1b3)+_0x40e03d+_0x29251c(0x198)+_0x377f4a[_0x29251c(0x195)](0x1);if(_0x377f4a[_0x29251c(0x1b6)]('$['))return _0x29251c(0x1b3)+_0x40e03d+_0x29251c(0x198)+_0x377f4a[_0x29251c(0x195)](0x1);return'$.services['+_0x40e03d+'].manifest.'+_0x377f4a;}function isServiceRegistryLike(_0x470f3c){const _0xd7df0b=a34_0xdad5c1;return isObjectRecord(_0x470f3c)&&_0x470f3c['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x470f3c[_0xd7df0b(0x1a6)]);}function isObjectRecord(_0x13513a){return Boolean(_0x13513a)&&typeof _0x13513a==='object'&&!Array['isArray'](_0x13513a);}function emptyServiceRegistryInspection(_0xa55044,_0x3a0913,_0x4b92eb){return{'registryPath':_0xa55044,'exists':_0x4b92eb,'status':_0x3a0913,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2e9ec4){const _0x5dcc34=a34_0xdad5c1,_0x1d9188=_0x2e9ec4[_0x5dcc34(0x1c3)],_0xd83794=_0x1d9188[_0x5dcc34(0x1c5)][_0x5dcc34(0x183)](_0x166d5d=>({'path':_0x166d5d[_0x5dcc34(0x1b2)],'description':_0x166d5d[_0x5dcc34(0x18a)],'risk':_0x166d5d['risk'],'targetKind':_0x166d5d[_0x5dcc34(0x189)][_0x5dcc34(0x1b4)],'targetCommand':_0x166d5d['target']['command']}));return{'serviceCode':_0x2e9ec4[_0x5dcc34(0x1a3)],'name':_0x1d9188[_0x5dcc34(0x1bc)][_0x5dcc34(0x19d)],'description':_0x1d9188[_0x5dcc34(0x1bc)]['description'],'version':_0x2e9ec4['version'],'importedAt':_0x2e9ec4[_0x5dcc34(0x18d)],'source':_0x2e9ec4[_0x5dcc34(0x1bf)],'commandCount':_0xd83794[_0x5dcc34(0x1ab)],'commands':_0xd83794};}function sha256(_0x215a8b){const _0x11e6ee=a34_0xdad5c1;return createHash(_0x11e6ee(0x1a9))[_0x11e6ee(0x1bb)](_0x215a8b)['digest']('hex');}
|
|
1
|
+
const a34_0x560471=a34_0x490f;(function(_0x3b2344,_0x4e411c){const _0x5c7db6=a34_0x490f,_0x264987=_0x3b2344();while(!![]){try{const _0x582791=-parseInt(_0x5c7db6(0x1d1))/0x1*(parseInt(_0x5c7db6(0x1ae))/0x2)+-parseInt(_0x5c7db6(0x1e3))/0x3*(parseInt(_0x5c7db6(0x1b5))/0x4)+-parseInt(_0x5c7db6(0x1b8))/0x5*(parseInt(_0x5c7db6(0x1b6))/0x6)+-parseInt(_0x5c7db6(0x1ee))/0x7*(parseInt(_0x5c7db6(0x1ef))/0x8)+parseInt(_0x5c7db6(0x1dc))/0x9*(-parseInt(_0x5c7db6(0x1ce))/0xa)+parseInt(_0x5c7db6(0x1cd))/0xb+parseInt(_0x5c7db6(0x1b7))/0xc;if(_0x582791===_0x4e411c)break;else _0x264987['push'](_0x264987['shift']());}catch(_0x355329){_0x264987['push'](_0x264987['shift']());}}}(a34_0x4d5d,0x54f92));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x4d5d(){const _0x3e7566=['length','target','invalid','manifest','sort','risk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','1113ucZGbk','23656QEzFHX','path','stringify','message','startsWith','Invalid\x20service\x20manifest\x20JSON:\x20','map','].manifest','service','code','toISOString','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','localeCompare','serviceCode','ENOENT','file','Service\x20manifest\x20validation\x20failed:\x0a','Invalid\x20service\x20registry\x20JSON:\x20','homeDirName','importedAt','update','services\x20must\x20be\x20an\x20array','kind','object','Unsupported\x20service\x20registry\x20schemaVersion:\x20','empty','registryIndex','15284XTzcpb','cliPath','Service\x20manifest\x20file\x20not\x20found:\x20','$.services[','manifests','push','join','599300crQniF','2348328ToTQry','18533748ZuLZmU','5uGmHfr','trim','CliError','command','schemaVersion','Cannot\x20write\x20service\x20registry:\x20','sourceHash','slice','now','findIndex','utf8','normalizedManifest','homeDir','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','find','report','splice','errors','hex','validation','Remove\x20or\x20migrate\x20','1879405zTpSLz','425780RYOKfp','Local\x20service\x20not\x20found:\x20','warnings','2ktqeZd','flatMap','registry','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest.','.tmp','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','name','service.json','72lNwzjb','reduce','commandCount','services','filePath','missing','parse','3hNHmVO','version','updatedAt','description'];a34_0x4d5d=function(){return _0x3e7566;};return a34_0x4d5d();}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;export const SERVICE_REGISTRY_FILE_NAME=a34_0x560471(0x1db);export function getServiceRegistryPath(_0x493843={}){const _0x12a588=a34_0x560471;return resolve(_0x493843[_0x12a588(0x1c4)]??homedir(),PRODUCT_CONFIG[_0x12a588(0x1a5)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x234bd0={}){const _0x2535fe=a34_0x560471,_0x1394e7=getServiceRegistryPath(_0x234bd0);if(!existsSync(_0x1394e7))return emptyServiceRegistry();try{const _0x3467fe=readFileSync(_0x1394e7,_0x2535fe(0x1c2));if(!_0x3467fe['trim']())return emptyServiceRegistry();const _0x38e7e3=JSON[_0x2535fe(0x1e2)](_0x3467fe);if(_0x38e7e3[_0x2535fe(0x1bc)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1ab)+String(_0x38e7e3[_0x2535fe(0x1bc)]),_0x2535fe(0x1cc)+_0x1394e7+'.');if(!Array[_0x2535fe(0x1d7)](_0x38e7e3[_0x2535fe(0x1df)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38e7e3['updatedAt'],'services':_0x38e7e3['services']};}catch(_0x16211f){if(_0x16211f instanceof Error&&_0x16211f[_0x2535fe(0x1da)]===_0x2535fe(0x1ba))throw _0x16211f;throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1a4)+_0x1394e7,_0x2535fe(0x1d8));}}export function writeServiceRegistry(_0x19c3af,_0x1aa2b6={}){const _0x11ee2b=a34_0x560471,_0x4e3015=getServiceRegistryPath(_0x1aa2b6),_0x2215d8=dirname(_0x4e3015);!existsSync(_0x2215d8)&&mkdirSync(_0x2215d8,{'recursive':!![]});const _0x40837c=_0x4e3015+_0x11ee2b(0x1d6);try{writeFileSync(_0x40837c,JSON['stringify'](_0x19c3af,null,0x2)+'\x0a',{'encoding':_0x11ee2b(0x1c2),'mode':0x180}),renameSync(_0x40837c,_0x4e3015);}catch(_0x192a0c){try{unlinkSync(_0x40837c);}catch{}if(_0x192a0c?.['code']===_0x11ee2b(0x1a1))throw CliErrors[_0x11ee2b(0x1cb)](_0x11ee2b(0x1bd)+_0x4e3015);throw _0x192a0c;}return _0x4e3015;}export function loadServiceManifestFromFile(_0x31641e){const _0x5397fb=a34_0x560471,_0x277296=resolve(_0x31641e);if(!existsSync(_0x277296))throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x1b0)+_0x31641e);let _0x2fe0fc;const _0x52d4fe=readFileSync(_0x277296,_0x5397fb(0x1c2));try{_0x2fe0fc=JSON['parse'](_0x52d4fe);}catch{throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x198)+_0x31641e,_0x5397fb(0x1d9));}const _0x34c28e=sha256(_0x52d4fe),_0x103218=extractLoadedServiceManifests(_0x2fe0fc,_0x34c28e),_0x4132c4=aggregateValidationReports(_0x103218),_0x1f9b79=_0x103218[0x0];return{'filePath':_0x277296,'hash':_0x34c28e,'kind':isServiceRegistryLike(_0x2fe0fc)?_0x5397fb(0x1d3):_0x5397fb(0x1ea),'manifest':_0x1f9b79?.[_0x5397fb(0x1ea)]??_0x2fe0fc,'report':_0x4132c4,'normalizedManifest':_0x103218[_0x5397fb(0x1e7)]===0x1?_0x1f9b79?.[_0x5397fb(0x1c3)]:undefined,'manifests':_0x103218};}export function importServiceManifest(_0x351bf1,_0x388d27={}){const _0x12718e=a34_0x560471,_0x204d0c=loadServiceManifestFromFile(_0x351bf1);if(!_0x204d0c[_0x12718e(0x1c7)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x204d0c[_0x12718e(0x1c7)]),_0x12718e(0x1c5));if(_0x204d0c[_0x12718e(0x1b2)]['length']===0x0)throw CliErrors[_0x12718e(0x1cb)](_0x12718e(0x19e),_0x12718e(0x1ed));const _0x5a6b00=readServiceRegistry(_0x388d27),_0x58e7c9=(_0x388d27[_0x12718e(0x1c0)]??(()=>new Date()))()['toISOString'](),_0x11f9f2=[];let _0x4a4f0a=0x0,_0x14ab57=0x0;for(const _0x5d0a38 of _0x204d0c[_0x12718e(0x1b2)]){if(!_0x5d0a38[_0x12718e(0x1c3)])continue;const _0x2a3da5=_0x5d0a38[_0x12718e(0x1c3)][_0x12718e(0x19b)][_0x12718e(0x19c)],_0x4755ea={'serviceCode':_0x2a3da5,'version':_0x5d0a38[_0x12718e(0x1c3)]['version'],'importedAt':_0x58e7c9,'source':{'type':_0x12718e(0x1a2),'path':_0x204d0c[_0x12718e(0x1e0)],'hash':_0x5d0a38[_0x12718e(0x1be)]},'manifest':_0x5d0a38[_0x12718e(0x1ea)],'normalizedManifest':_0x5d0a38[_0x12718e(0x1c3)]},_0x41d0ce=_0x5a6b00['services'][_0x12718e(0x1c1)](_0x1b442b=>_0x1b442b[_0x12718e(0x1a0)]===_0x2a3da5);_0x41d0ce>=0x0?(_0x5a6b00[_0x12718e(0x1df)][_0x41d0ce]=_0x4755ea,_0x14ab57++):(_0x5a6b00['services'][_0x12718e(0x1b3)](_0x4755ea),_0x4a4f0a++),_0x11f9f2[_0x12718e(0x1b3)](_0x4755ea);}_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1eb)]((_0x531853,_0x34b03c)=>_0x531853[_0x12718e(0x1a0)][_0x12718e(0x19f)](_0x34b03c[_0x12718e(0x1a0)])),_0x5a6b00[_0x12718e(0x1e5)]=_0x58e7c9;const _0x15899a=writeServiceRegistry(_0x5a6b00,_0x388d27);return{'registryPath':_0x15899a,'entry':_0x11f9f2[0x0],'replaced':_0x11f9f2[_0x12718e(0x1e7)]===0x1?_0x14ab57===0x1:_0x14ab57>0x0,'entries':_0x11f9f2,'imported':_0x4a4f0a,'updated':_0x14ab57,'serviceCount':_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1e7)]};}export function exportServiceManifest(_0x1e078d,_0x521f95,_0x3ef334={}){const _0x2f6cff=a34_0x560471,_0xe29139=getServiceRegistryPath(_0x3ef334),_0x3c66af=getLocalServiceEntry(_0x1e078d,_0x3ef334);if(!_0x3c66af)throw CliErrors[_0x2f6cff(0x1cb)]('Local\x20service\x20not\x20found:\x20'+_0x1e078d,_0x2f6cff(0x1d4));const _0x14b70f=resolve(_0x521f95),_0x14ab3b=dirname(_0x14b70f);return!existsSync(_0x14ab3b)&&mkdirSync(_0x14ab3b,{'recursive':!![]}),writeFileSync(_0x14b70f,JSON[_0x2f6cff(0x1f1)](_0x3c66af[_0x2f6cff(0x1ea)],null,0x2)+'\x0a',{'encoding':_0x2f6cff(0x1c2),'mode':0x180}),{'registryPath':_0xe29139,'filePath':_0x14b70f,'entry':_0x3c66af};}export function removeServiceManifest(_0x1d94c7,_0x3d1394={}){const _0x46058e=a34_0x560471,_0x38a662=readServiceRegistry(_0x3d1394),_0x47ad7a=_0x1d94c7['trim'](),_0x34ca4a=_0x38a662['services'][_0x46058e(0x1c1)](_0x3f7ff5=>_0x3f7ff5[_0x46058e(0x1a0)]===_0x47ad7a);if(_0x34ca4a<0x0)throw CliErrors[_0x46058e(0x1cb)](_0x46058e(0x1cf)+_0x47ad7a,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4d3efe]=_0x38a662[_0x46058e(0x1df)][_0x46058e(0x1c8)](_0x34ca4a,0x1),_0x166ac4=(_0x3d1394['now']??(()=>new Date()))()[_0x46058e(0x19d)]();_0x38a662['updatedAt']=_0x166ac4;const _0x1937f7=writeServiceRegistry(_0x38a662,_0x3d1394);return{'registryPath':_0x1937f7,'entry':_0x4d3efe,'serviceCount':_0x38a662[_0x46058e(0x1df)]['length']};}export function listLocalServices(_0x50f44b={}){const _0x528950=a34_0x560471;return readServiceRegistry(_0x50f44b)[_0x528950(0x1df)];}export function getLocalServiceEntry(_0xac3f28,_0x2d504d={}){const _0x57db26=a34_0x560471;return readServiceRegistry(_0x2d504d)[_0x57db26(0x1df)][_0x57db26(0x1c6)](_0x4a4d27=>_0x4a4d27['serviceCode']===_0xac3f28[_0x57db26(0x1b9)]());}export function listLocalServiceTrees(_0x4666bb={}){const _0x4ba113=a34_0x560471;return readServiceRegistry(_0x4666bb)[_0x4ba113(0x1df)][_0x4ba113(0x199)](_0x386918=>_0x386918['normalizedManifest']);}export function inspectServiceRegistry(_0xc38b30={}){const _0x4c107a=a34_0x560471,_0x15a3ec=getServiceRegistryPath(_0xc38b30);if(!existsSync(_0x15a3ec))return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e1),![]);try{const _0x57071d=readFileSync(_0x15a3ec,'utf8');if(!_0x57071d[_0x4c107a(0x1b9)]())return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1ac),!![]);const _0x55e75f=JSON['parse'](_0x57071d);if(_0x55e75f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x15a3ec,'invalid',!![]),'schemaVersion':_0x55e75f[_0x4c107a(0x1bc)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x55e75f[_0x4c107a(0x1bc)])};if(!Array['isArray'](_0x55e75f[_0x4c107a(0x1df)]))return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f[_0x4c107a(0x1e5)],'message':_0x4c107a(0x1a8)};const _0x8c661a=_0x55e75f[_0x4c107a(0x1df)][_0x4c107a(0x199)](summarizeLocalServiceEntry);return{'registryPath':_0x15a3ec,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f['updatedAt'],'serviceCount':_0x8c661a[_0x4c107a(0x1e7)],'commandCount':_0x8c661a[_0x4c107a(0x1dd)]((_0x4f4f55,_0x1d7e0c)=>_0x4f4f55+_0x1d7e0c[_0x4c107a(0x1de)],0x0),'services':_0x8c661a};}catch(_0x71e913){return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'message':_0x71e913 instanceof Error?_0x71e913['message']:String(_0x71e913)};}}export function formatValidationFailure(_0x22b364){const _0x2f3194=a34_0x560471,_0x2ab019=_0x22b364[_0x2f3194(0x1c9)]['map'](_0x215f6e=>_0x215f6e[_0x2f3194(0x1f0)]+':\x20'+_0x215f6e[_0x2f3194(0x1f2)]);return _0x2f3194(0x1a3)+_0x2ab019[_0x2f3194(0x1b4)]('\x0a');}function extractLoadedServiceManifests(_0x2c9728,_0x49d301){const _0x2e6734=a34_0x560471;if(!isServiceRegistryLike(_0x2c9728)){const _0x4df407=_0x2c9728,_0x4e0ef8=validateServiceTreeManifest(_0x4df407);return[{'manifest':_0x4df407,'report':_0x4e0ef8,'normalizedManifest':_0x4e0ef8['ok']?normalizeServiceTreeManifest(_0x4df407):undefined,'sourceHash':_0x49d301}];}return _0x2c9728[_0x2e6734(0x1df)][_0x2e6734(0x199)]((_0x30ae3b,_0x181b7d)=>{const _0x1b918a=_0x2e6734,_0x19bf11=isObjectRecord(_0x30ae3b)?_0x30ae3b[_0x1b918a(0x1ea)]:undefined,_0x41f972=validateServiceTreeManifest(_0x19bf11),_0x2c91e1=isObjectRecord(_0x30ae3b)&&typeof _0x30ae3b[_0x1b918a(0x1a0)]==='string'?_0x30ae3b['serviceCode']:undefined;return{'manifest':_0x19bf11,'report':_0x41f972,'normalizedManifest':_0x41f972['ok']?normalizeServiceTreeManifest(_0x19bf11):undefined,'sourceHash':sha256(JSON[_0x1b918a(0x1f1)](_0x19bf11,null,0x2)+'\x0a'),'registryIndex':_0x181b7d,'registryServiceCode':_0x2c91e1};});}function aggregateValidationReports(_0xd263b5){const _0x39ff94=a34_0x560471,_0x5a0ec6=_0xd263b5[_0x39ff94(0x1d2)](_0x33f4d5=>_0x33f4d5[_0x39ff94(0x1ad)]===undefined?_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)]:_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)][_0x39ff94(0x199)](_0x16c0ab=>({..._0x16c0ab,'path':prefixRegistryIssuePath(_0x33f4d5[_0x39ff94(0x1ad)],_0x16c0ab[_0x39ff94(0x1f0)])}))),_0x1ccdac=_0xd263b5[_0x39ff94(0x1d2)](_0x357f10=>_0x357f10[_0x39ff94(0x1ad)]===undefined?_0x357f10[_0x39ff94(0x1c7)][_0x39ff94(0x1d0)]:_0x357f10[_0x39ff94(0x1c7)]['warnings'][_0x39ff94(0x199)](_0x17610f=>({..._0x17610f,'path':prefixRegistryIssuePath(_0x357f10[_0x39ff94(0x1ad)],_0x17610f['path'])})));return{'ok':_0x5a0ec6[_0x39ff94(0x1e7)]===0x0,'errors':_0x5a0ec6,'warnings':_0x1ccdac};}function prefixRegistryIssuePath(_0x51ad6a,_0x1996f8){const _0x2f4deb=a34_0x560471;if(_0x1996f8==='$')return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a);if(_0x1996f8[_0x2f4deb(0x197)]('$.'))return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a)+_0x1996f8[_0x2f4deb(0x1bf)](0x1);if(_0x1996f8[_0x2f4deb(0x197)]('$['))return _0x2f4deb(0x1b1)+_0x51ad6a+'].manifest'+_0x1996f8[_0x2f4deb(0x1bf)](0x1);return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x1d5)+_0x1996f8;}function isServiceRegistryLike(_0x482f53){const _0x1a66ac=a34_0x560471;return isObjectRecord(_0x482f53)&&_0x482f53[_0x1a66ac(0x1bc)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x1a66ac(0x1d7)](_0x482f53['services']);}function isObjectRecord(_0x4f577b){const _0x115154=a34_0x560471;return Boolean(_0x4f577b)&&typeof _0x4f577b===_0x115154(0x1aa)&&!Array[_0x115154(0x1d7)](_0x4f577b);}function a34_0x490f(_0x5c2425,_0x2c7b80){_0x5c2425=_0x5c2425-0x197;const _0x4d5d16=a34_0x4d5d();let _0x490f42=_0x4d5d16[_0x5c2425];return _0x490f42;}function emptyServiceRegistryInspection(_0x240467,_0x4a3447,_0x51426f){return{'registryPath':_0x240467,'exists':_0x51426f,'status':_0x4a3447,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2729f0){const _0x3bcd08=a34_0x560471,_0x420157=_0x2729f0[_0x3bcd08(0x1c3)],_0x2465af=_0x420157['commands'][_0x3bcd08(0x199)](_0xfdc1fd=>({'path':_0xfdc1fd[_0x3bcd08(0x1af)],'description':_0xfdc1fd[_0x3bcd08(0x1e6)],'risk':_0xfdc1fd[_0x3bcd08(0x1ec)],'targetKind':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1a9)],'targetCommand':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1bb)]}));return{'serviceCode':_0x2729f0[_0x3bcd08(0x1a0)],'name':_0x420157[_0x3bcd08(0x19b)][_0x3bcd08(0x1da)],'description':_0x420157['service']['description'],'version':_0x2729f0[_0x3bcd08(0x1e4)],'importedAt':_0x2729f0[_0x3bcd08(0x1a6)],'source':_0x2729f0['source'],'commandCount':_0x2465af['length'],'commands':_0x2465af};}function sha256(_0x3395c5){const _0x15b7e0=a34_0x560471;return createHash('sha256')[_0x15b7e0(0x1a7)](_0x3395c5)['digest'](_0x15b7e0(0x1ca));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0x41e096=a35_0x2fa0;(function(_0x532e1d,_0x4c2fe3){const _0x58c920=a35_0x2fa0,_0x53a17a=_0x532e1d();while(!![]){try{const _0x4b058=parseInt(_0x58c920(0xa2))/0x1+-parseInt(_0x58c920(0xa8))/0x2+-parseInt(_0x58c920(0x97))/0x3+-parseInt(_0x58c920(0x99))/0x4*(parseInt(_0x58c920(0xa7))/0x5)+parseInt(_0x58c920(0x9a))/0x6+parseInt(_0x58c920(0xa0))/0x7+parseInt(_0x58c920(0x90))/0x8;if(_0x4b058===_0x4c2fe3)break;else _0x53a17a['push'](_0x53a17a['shift']());}catch(_0x2b9544){_0x53a17a['push'](_0x53a17a['shift']());}}}(a35_0x1276,0x87502));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a35_0x2fa0(_0x338a1,_0x4de116){_0x338a1=_0x338a1-0x90;const _0x127629=a35_0x1276();let _0x2fa048=_0x127629[_0x338a1];return _0x2fa048;}function a35_0x1276(){const _0x3fdbb3=['613860kPWDNv','create','force','13712088MfYnLE','path','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isSymbolicLink','rendered','type','name','3311646oIDkuG','WRITE','420nadbmn','1502616rlmWnP','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','str','utf8','validation','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','5753748sMJSjY','files','139288rVNnHf','skillDir','target','skillName','skill','45745STpnkx'];a35_0x1276=function(){return _0x3fdbb3;};return a35_0x1276();}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x41e096(0xa6),'command':a35_0x41e096(0xa9),'description':a35_0x41e096(0x9f),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0xea2e54){const _0x46070b=a35_0x41e096,_0x53ed60=buildSkillCreatePlan(_0xea2e54[_0x46070b(0x9c)](_0x46070b(0x96)),_0xea2e54[_0x46070b(0x9c)]('type'),_0xea2e54[_0x46070b(0x9c)](_0x46070b(0xa4)));return{'method':_0x46070b(0x98),'url':_0x53ed60[_0x46070b(0xa3)],'body':{'skillName':_0x53ed60[_0x46070b(0x94)][_0x46070b(0xa5)],'type':_0x53ed60[_0x46070b(0x94)][_0x46070b(0x95)],'selfContained':!![],'files':_0x53ed60[_0x46070b(0x94)][_0x46070b(0xa1)]['map'](_0x2e7c1e=>_0x2e7c1e[_0x46070b(0x91)])},'description':_0x46070b(0x92)};},async 'execute'(_0x1e782c){const _0xa6b5d4=a35_0x41e096,_0x169a71=buildSkillCreatePlan(_0x1e782c[_0xa6b5d4(0x9c)](_0xa6b5d4(0x96)),_0x1e782c['str']('type'),_0x1e782c['str'](_0xa6b5d4(0xa4)));return writeSkillDraft(_0x169a71,_0x1e782c['bool'](_0xa6b5d4(0xaa))),{'ok':!![],'data':{'skillName':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa5)],'type':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0x95)],'dir':_0x169a71[_0xa6b5d4(0xa3)],'files':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa1)]['map'](_0x30140a=>_0x30140a[_0xa6b5d4(0x91)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa5)]};}};function buildSkillCreatePlan(_0x336515,_0x443e54,_0x90551e){const _0xa29f73=renderSkillTemplate({'skillName':_0x336515,'type':_0x443e54}),_0x102005=resolve(normalizeSkillTarget(_0x90551e));return{'rendered':_0xa29f73,'targetRoot':_0x102005,'skillDir':resolve(_0x102005,_0xa29f73['skillName'])};}function normalizeSkillTarget(_0x267942){return(_0x267942||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x3324af,_0x18a7eb){const _0x5d7df0=a35_0x41e096;if(existsSync(_0x3324af[_0x5d7df0(0xa3)])){const _0x10dee5=lstatSync(_0x3324af[_0x5d7df0(0xa3)]);if(!_0x10dee5['isDirectory']()||_0x10dee5[_0x5d7df0(0x93)]())throw CliErrors['validation'](_0x5d7df0(0x9b)+_0x3324af[_0x5d7df0(0xa3)]);if(!_0x18a7eb)throw CliErrors[_0x5d7df0(0x9e)]('Skill\x20directory\x20already\x20exists:\x20'+_0x3324af[_0x5d7df0(0xa3)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x5066f5 of _0x3324af[_0x5d7df0(0x94)][_0x5d7df0(0xa1)]){const _0x5ded27=resolve(_0x3324af['skillDir'],_0x5066f5['path']),_0x2365dc=dirname(_0x5ded27);mkdirSync(_0x2365dc,{'recursive':!![]});if(existsSync(_0x5ded27)&&lstatSync(_0x5ded27)[_0x5d7df0(0x93)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x5ded27);writeFileSync(_0x5ded27,_0x5066f5['content'],_0x5d7df0(0x9d));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x225132=a36_0x5415;(function(_0x2cf861,_0x3175e2){const _0x3e7b91=a36_0x5415,_0x44a3b3=_0x2cf861();while(!![]){try{const _0x23ec9b=-parseInt(_0x3e7b91(0x162))/0x1*(parseInt(_0x3e7b91(0x166))/0x2)+parseInt(_0x3e7b91(0x14f))/0x3*(parseInt(_0x3e7b91(0x168))/0x4)+parseInt(_0x3e7b91(0x174))/0x5*(-parseInt(_0x3e7b91(0x14c))/0x6)+-parseInt(_0x3e7b91(0x15c))/0x7*(parseInt(_0x3e7b91(0x15a))/0x8)+parseInt(_0x3e7b91(0x167))/0x9+-parseInt(_0x3e7b91(0x164))/0xa*(parseInt(_0x3e7b91(0x15d))/0xb)+-parseInt(_0x3e7b91(0x16a))/0xc*(-parseInt(_0x3e7b91(0x15f))/0xd);if(_0x23ec9b===_0x3175e2)break;else _0x44a3b3['push'](_0x44a3b3['shift']());}catch(_0x1ab846){_0x44a3b3['push'](_0x44a3b3['shift']());}}}(a36_0x2b5b,0xe8712));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x225132(0x16d),'command':a36_0x225132(0x156),'description':a36_0x225132(0x16c),'risk':a36_0x225132(0x172),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x5b1e18){return syncRuntimeSkills(_0x5b1e18);}};async function syncRuntimeSkills(_0x1727ca){const _0x851db6=a36_0x225132,{downloadRuntimeSkillPackage:_0x58eb71,listRuntimeSkills:_0x3a403f}=await import(_0x851db6(0x161)),{linkEffectiveRuntimeSkills:_0x200724,materializeRuntimeSkill:_0x24adba,pruneStaleRuntimeSkillCache:_0x71a200,pruneStaleRuntimeSkillLinks:_0xb4d4ca}=await import(_0x851db6(0x158)),_0x40b390=_0x1727ca['str'](_0x851db6(0x171)),_0x4c3618=normalizeSyncScopes(_0x1727ca[_0x851db6(0x151)]('scope')),_0xeb71da=_0x1727ca[_0x851db6(0x154)]??_0x851db6(0x159),_0x58303c=_0x1727ca[_0x851db6(0x15b)];if(!_0x58303c)throw CliErrors[_0x851db6(0x14d)](_0x851db6(0x173));const _0x59c735=await Promise['all'](_0x4c3618[_0x851db6(0x14e)](_0x4776d1=>_0x3a403f({'appCode':_0x1727ca[_0x851db6(0x152)],'scope':_0x4776d1,'code':_0x40b390[_0x851db6(0x16e)]()||undefined}))),_0x32e674=_0x4c3618[_0x851db6(0x15e)](_0x851db6(0x150))?_0x59c735[_0x851db6(0x169)]((_0x5f74ef,_0x4c2e0f)=>_0x4c3618[_0x4c2e0f]===_0x851db6(0x150)?_0x5f74ef['personal']:[]):[],_0x758c39=_0x4c3618['includes'](_0x851db6(0x170))?_0x59c735[_0x851db6(0x169)]((_0x56ea38,_0x3683cd)=>_0x4c3618[_0x3683cd]===_0x851db6(0x170)?_0x56ea38['company']:[]):[],_0x15c7d3=new Set([..._0x32e674['map'](_0xd912d2=>_0xd912d2[_0x851db6(0x157)]?.['trim']())[_0x851db6(0x165)](_0xb5e9b=>Boolean(_0xb5e9b)),..._0x758c39[_0x851db6(0x14e)](_0x301ca1=>_0x301ca1[_0x851db6(0x157)]?.['trim']())[_0x851db6(0x165)](_0x108fe1=>Boolean(_0x108fe1))]),_0x23b7bb=_0x40b390[_0x851db6(0x16e)]()?[_0x40b390[_0x851db6(0x16e)]()]:undefined,_0x1e173c=_0x4c3618[_0x851db6(0x16f)]===0x2&&_0x4c3618['includes'](_0x851db6(0x150))&&_0x4c3618['includes']('company'),_0x3a90cd=_0x1e173c?_0xb4d4ca(_0x1727ca[_0x851db6(0x152)],_0x15c7d3,{},_0x23b7bb):[],_0x194cbf=_0x71a200({'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca['appCode'],'activeSkillCodes':_0x15c7d3,'pruneSkillCodes':_0x23b7bb,'scopes':_0x4c3618}),_0x2e8016=[];for(const _0x25f9d4 of _0x32e674){_0x2e8016[_0x851db6(0x148)](_0x24adba(_0x25f9d4,_0x851db6(0x150),{'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca[_0x851db6(0x152)],'packageBytes':await downloadSkillPackage(_0x25f9d4,_0x851db6(0x150),_0x1727ca['appCode'],_0x58eb71)}));}for(const _0x452674 of _0x758c39){_0x2e8016['push'](_0x24adba(_0x452674,_0x851db6(0x170),{'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca[_0x851db6(0x152)],'packageBytes':await downloadSkillPackage(_0x452674,'company',_0x1727ca[_0x851db6(0x152)],_0x58eb71)}));}const _0x37901e=_0x200724(_0x2e8016,_0x1727ca['appCode']),_0x5624c1=countLinkActions(_0x37901e);return{'ok':!![],'data':{'appCode':_0x1727ca[_0x851db6(0x152)],'personal':_0x32e674['length'],'company':_0x758c39['length'],'materialized':_0x2e8016[_0x851db6(0x16f)],'links':{'total':_0x37901e[_0x851db6(0x16f)],'created':_0x5624c1[_0x851db6(0x153)]??0x0,'updated':_0x5624c1[_0x851db6(0x14b)]??0x0,'unchanged':_0x5624c1['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x3a90cd[_0x851db6(0x165)](_0x3a5968=>_0x3a5968['action']===_0x851db6(0x16b))['length'],'cacheDirs':_0x194cbf[_0x851db6(0x165)](_0x4584df=>_0x4584df[_0x851db6(0x160)]==='removed')[_0x851db6(0x16f)],'skipped':[..._0x3a90cd,..._0x194cbf][_0x851db6(0x165)](_0x4a3e44=>_0x4a3e44[_0x851db6(0x160)]===_0x851db6(0x163))[_0x851db6(0x16f)]},'skills':{'personal':_0x32e674['map'](summarizeRuntimeSkill),'company':_0x758c39[_0x851db6(0x14e)](summarizeRuntimeSkill)}},'message':_0x851db6(0x155)+_0x32e674[_0x851db6(0x16f)]+'\x20personal\x20and\x20'+_0x758c39[_0x851db6(0x16f)]+_0x851db6(0x14a)};}function a36_0x5415(_0x378582,_0x32a337){_0x378582=_0x378582-0x148;const _0x2b5b55=a36_0x2b5b();let _0x5415df=_0x2b5b55[_0x378582];return _0x5415df;}function a36_0x2b5b(){const _0x106f00=['3139aDapBY','skipped','10NNTAMr','filter','842uhWerw','13190157AtwZug','20EcFdsi','flatMap','108bMfnIN','removed','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','skill','trim','length','company','code','write','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','115435HtDvxA','push','reduce','\x20company\x20Skill(s).','updated','186ZXUTlJ','authRequired','map','378627MKTMAK','personal','str','appCode','created','envName','Installed\x20','install','skillCode','../../../skills/runtime-skill-sync.js','production','1768KckIHi','accessKey','43673FzKQEK','16739932OnzsfC','includes','5479227nWKOjk','action','../../../core/api-client.js'];a36_0x2b5b=function(){return _0x106f00;};return a36_0x2b5b();}async function downloadSkillPackage(_0xcc8ac9,_0x1a05ba,_0x4cb008,_0x195c8c){const _0xbd06ab=a36_0x225132,_0x2ca992=_0xcc8ac9['version']?.[_0xbd06ab(0x16e)]();return _0x2ca992?_0x195c8c(_0x1a05ba,_0xcc8ac9[_0xbd06ab(0x157)],_0x4cb008,_0x2ca992):_0x195c8c(_0x1a05ba,_0xcc8ac9['skillCode'],_0x4cb008);}function countLinkActions(_0x30727c){const _0x1260c9=a36_0x225132;return _0x30727c[_0x1260c9(0x149)]((_0xe7624f,_0x4f2703)=>{const _0xaccd23=_0x1260c9;return _0xe7624f[_0x4f2703['action']]=(_0xe7624f[_0x4f2703[_0xaccd23(0x160)]]??0x0)+0x1,_0xe7624f;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x3d5e1a=a37_0x4330;(function(_0x391c08,_0xfebda3){const _0xb2266f=a37_0x4330,_0x1fced3=_0x391c08();while(!![]){try{const _0x479f48=-parseInt(_0xb2266f(0x16b))/0x1*(parseInt(_0xb2266f(0x164))/0x2)+-parseInt(_0xb2266f(0x166))/0x3*(parseInt(_0xb2266f(0x165))/0x4)+parseInt(_0xb2266f(0x167))/0x5+parseInt(_0xb2266f(0x160))/0x6+parseInt(_0xb2266f(0x157))/0x7+-parseInt(_0xb2266f(0x14d))/0x8+parseInt(_0xb2266f(0x16a))/0x9*(parseInt(_0xb2266f(0x151))/0xa);if(_0x479f48===_0xfebda3)break;else _0x1fced3['push'](_0x1fced3['shift']());}catch(_0x37054f){_0x1fced3['push'](_0x1fced3['shift']());}}}(a37_0x1577,0x880bf));import{CliErrors}from'../../../errors.js';function a37_0x4330(_0x507101,_0x1ff64d){_0x507101=_0x507101-0x14c;const _0x1577f9=a37_0x1577();let _0x4330e3=_0x1577f9[_0x507101];return _0x4330e3;}function a37_0x1577(){const _0x1fffc8=['4jdmPUg','1057974MUxYXC','604080eKQDxl','company','scope','9oDnheG','7317pGElvo','../../../skills/runtime-skill-sync.js','4754080uCRRJj','map','accessKey','length','8560610LhRPtx','authRequired','\x20local\x20Skill(s).','code','local','str','5357989iBRxiI','trim','list','Listed\x20','appCode','production','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','personal','remote','3268680pDojQJ','filter','skill','bool','214MZswzJ'];a37_0x1577=function(){return _0x1fffc8;};return a37_0x1577();}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a37_0x3d5e1a(0x162),'command':a37_0x3d5e1a(0x159),'description':a37_0x3d5e1a(0x15d),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x598d48){const _0x1f05ad=a37_0x3d5e1a,_0x311337=_0x598d48[_0x1f05ad(0x156)](_0x1f05ad(0x154)),_0x4c566a=normalizeListScope(_0x598d48[_0x1f05ad(0x156)](_0x1f05ad(0x169)));if(_0x598d48[_0x1f05ad(0x163)]('local')){const _0x59ad91=_0x598d48[_0x1f05ad(0x14f)];if(!_0x59ad91)throw CliErrors[_0x1f05ad(0x152)]();const {listLocalRuntimeSkills:_0x12ee8d}=await import(_0x1f05ad(0x14c)),_0x2b0a23=_0x12ee8d({'env':_0x598d48['envName']??_0x1f05ad(0x15c),'accessKey':_0x59ad91,'appCode':_0x598d48['appCode'],'scopes':listScopeToRuntimeScopes(_0x4c566a),'code':_0x311337[_0x1f05ad(0x158)]()||undefined}),_0x38aacb=groupLocalRuntimeSkills(_0x2b0a23);return{'ok':!![],'data':{'appCode':_0x598d48[_0x1f05ad(0x15b)],'source':_0x1f05ad(0x155),'scope':_0x4c566a,'total':_0x2b0a23[_0x1f05ad(0x150)],'personal':_0x38aacb[_0x1f05ad(0x15e)][_0x1f05ad(0x150)],'company':_0x38aacb[_0x1f05ad(0x168)]['length'],'items':_0x2b0a23[_0x1f05ad(0x14e)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x38aacb[_0x1f05ad(0x15e)][_0x1f05ad(0x14e)](summarizeLocalRuntimeSkill),'company':_0x38aacb[_0x1f05ad(0x168)]['map'](summarizeLocalRuntimeSkill)}},'message':_0x1f05ad(0x15a)+_0x2b0a23[_0x1f05ad(0x150)]+_0x1f05ad(0x153)};}const {listRuntimeSkills:_0x41b08e}=await import('../../../core/api-client.js'),_0x204081=await _0x41b08e({'appCode':_0x598d48[_0x1f05ad(0x15b)],'scope':listScopeToRemoteScope(_0x4c566a),'code':_0x311337['trim']()||undefined}),_0xb02f18=shouldListScope(_0x4c566a,_0x1f05ad(0x15e))?_0x204081[_0x1f05ad(0x15e)]??[]:[],_0x5d70e4=shouldListScope(_0x4c566a,_0x1f05ad(0x168))?_0x204081[_0x1f05ad(0x168)]??[]:[],_0x575882=[..._0xb02f18,..._0x5d70e4];return{'ok':!![],'data':{'appCode':_0x598d48[_0x1f05ad(0x15b)],'source':_0x1f05ad(0x15f),'scope':_0x4c566a,'total':_0x575882[_0x1f05ad(0x150)],'personal':_0xb02f18['length'],'company':_0x5d70e4['length'],'items':_0x575882['map'](summarizeRuntimeSkill),'skills':{'personal':_0xb02f18[_0x1f05ad(0x14e)](summarizeRuntimeSkill),'company':_0x5d70e4[_0x1f05ad(0x14e)](summarizeRuntimeSkill)}},'message':_0x1f05ad(0x15a)+_0x575882[_0x1f05ad(0x150)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x48cfc8){const _0x5f06bc=a37_0x3d5e1a;return{'personal':_0x48cfc8[_0x5f06bc(0x161)](_0x3e10e0=>_0x3e10e0[_0x5f06bc(0x169)]===_0x5f06bc(0x15e)),'company':_0x48cfc8[_0x5f06bc(0x161)](_0x124eec=>_0x124eec[_0x5f06bc(0x169)]===_0x5f06bc(0x168)),'builtin':_0x48cfc8[_0x5f06bc(0x161)](_0x8ec132=>_0x8ec132['scope']==='builtin')};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a38_0xfe74(_0x3198bc,_0x5c903a){_0x3198bc=_0x3198bc-0x9d;const _0x1c9122=a38_0x1c91();let _0xfe74e9=_0x1c9122[_0x3198bc];return _0xfe74e9;}function a38_0x1c91(){const _0x455193=['878165YMORBP','accessKey','../../../core/api-client.js','personal','6844716ZKrVKA','files','93969NPJzes','2193432VUfHac','input','306iLAHoH','dir','write','Created\x20personal\x20Skill\x20','525688aavEks','push','3070sXLKwn','4624520zbqNIz','skill','appCode','authRequired','find','49dAMoMu','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','6jWzKwR','Updated\x20personal\x20Skill\x20','skillCode'];a38_0x1c91=function(){return _0x455193;};return a38_0x1c91();}const a38_0x2ce5a2=a38_0xfe74;(function(_0x389d5a,_0x225c0b){const _0x4fe1e2=a38_0xfe74,_0x49d6bb=_0x389d5a();while(!![]){try{const _0x5344b0=parseInt(_0x4fe1e2(0xad))/0x1*(parseInt(_0x4fe1e2(0xb3))/0x2)+-parseInt(_0x4fe1e2(0xaa))/0x3+parseInt(_0x4fe1e2(0xab))/0x4+parseInt(_0x4fe1e2(0xa4))/0x5*(parseInt(_0x4fe1e2(0xa1))/0x6)+-parseInt(_0x4fe1e2(0x9f))/0x7*(-parseInt(_0x4fe1e2(0xb1))/0x8)+-parseInt(_0x4fe1e2(0xa8))/0x9+-parseInt(_0x4fe1e2(0xb4))/0xa;if(_0x5344b0===_0x225c0b)break;else _0x49d6bb['push'](_0x49d6bb['shift']());}catch(_0x3782fa){_0x49d6bb['push'](_0x49d6bb['shift']());}}}(a38_0x1c91,0x61813));import{CliErrors}from'../../../errors.js';import{DIR_FLAG}from'../flags.js';import{isMultiFileManifest,isPackageBackedManifest}from'../manifest-helpers.js';import{summarizeRuntimeSkill}from'../summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const pushCommand={'service':a38_0x2ce5a2(0xb5),'command':a38_0x2ce5a2(0xb2),'description':a38_0x2ce5a2(0xa0),'risk':a38_0x2ce5a2(0xaf),'flags':[DIR_FLAG],async 'execute'(_0x490928){const _0x58b4e2=a38_0x2ce5a2,{createPersonalRuntimeSkill:_0x2fca1a,downloadRuntimeSkillPackage:_0x556b6a,listRuntimeSkills:_0x536fce,updatePersonalRuntimeSkill:_0x17a978}=await import(_0x58b4e2(0xa6)),{verifyRuntimeSkillPackage:_0x2e38ae,verifyRuntimeSkillBundle:_0x15888b,readPushDirectory:_0x33d804,recordPushedRuntimeSkill:_0x55af69}=await import('../../../skills/runtime-skill-sync.js');if(!_0x490928[_0x58b4e2(0xa5)])throw CliErrors[_0x58b4e2(0x9d)]();const _0x3f9848=_0x490928['str'](_0x58b4e2(0xae)),_0x198de7=validateSkillDirectory(_0x3f9848);throwIfSkillValidationFailed(_0x198de7);const _0x2035e3=_0x198de7[_0x58b4e2(0xae)],_0x2ba5e8=_0x33d804(_0x2035e3,_0x490928[_0x58b4e2(0xb6)]),_0x52e1f7=(await _0x536fce({'appCode':_0x490928[_0x58b4e2(0xb6)],'scope':'personal'}))[_0x58b4e2(0xa7)][_0x58b4e2(0x9e)](_0x4a0d75=>_0x4a0d75[_0x58b4e2(0xa3)]===_0x2ba5e8['skillCode']),_0x3b2015=_0x52e1f7?await _0x17a978(_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)],_0x2ba5e8[_0x58b4e2(0xac)]):await _0x2fca1a(_0x490928[_0x58b4e2(0xb6)],_0x2ba5e8['input']);let _0x23b81a=_0x3b2015;if(isMultiFileManifest(_0x2ba5e8[_0x58b4e2(0xac)]['files'])){const _0x238e30=await _0x556b6a(_0x58b4e2(0xa7),_0x3b2015[_0x58b4e2(0xa3)]||_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)]);_0x15888b(_0x2ba5e8[_0x58b4e2(0xac)][_0x58b4e2(0xa9)],_0x238e30),_0x23b81a={..._0x3b2015,'files':_0x2ba5e8['input'][_0x58b4e2(0xa9)]};}else{if(isPackageBackedManifest(_0x3b2015['files'])){const _0x1d1cc3=await _0x556b6a('personal',_0x3b2015['skillCode']||_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)]);_0x2e38ae(_0x3b2015['files'],_0x1d1cc3);}}return _0x55af69(_0x2035e3,_0x23b81a,_0x490928[_0x58b4e2(0xb6)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x3b2015),'message':_0x52e1f7?_0x58b4e2(0xa2)+_0x2ba5e8['skillCode']:_0x58b4e2(0xb0)+_0x2ba5e8['skillCode']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a39_0x25f8(_0x2023db,_0x2ab85c){_0x2023db=_0x2023db-0x90;const _0x1862a4=a39_0x1862();let _0x25f848=_0x1862a4[_0x2023db];return _0x25f848;}const a39_0x4a2a6f=a39_0x25f8;function a39_0x1862(){const _0x5604bd=['Skill\x20validation\x20passed.','32fSwGTQ','4555005nXGNVY','strict','skill','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','type','4873092XeqSmp','8652xHkSSl','warnings','1869206ULGOHS','str','dir','291987JbHvry','read','380YxCCSm','1026693oTicBL','764gFaHLa','bool','357bDVWyK'];a39_0x1862=function(){return _0x5604bd;};return a39_0x1862();}(function(_0x3a30a7,_0x438af0){const _0x4866c5=a39_0x25f8,_0x36d5a8=_0x3a30a7();while(!![]){try{const _0x142d67=parseInt(_0x4866c5(0xa1))/0x1+-parseInt(_0x4866c5(0x9b))/0x2+-parseInt(_0x4866c5(0x99))/0x3*(parseInt(_0x4866c5(0xa2))/0x4)+-parseInt(_0x4866c5(0x93))/0x5+parseInt(_0x4866c5(0x98))/0x6+parseInt(_0x4866c5(0x90))/0x7*(parseInt(_0x4866c5(0x92))/0x8)+parseInt(_0x4866c5(0x9e))/0x9*(parseInt(_0x4866c5(0xa0))/0xa);if(_0x142d67===_0x438af0)break;else _0x36d5a8['push'](_0x36d5a8['shift']());}catch(_0x2f07e5){_0x36d5a8['push'](_0x36d5a8['shift']());}}}(a39_0x1862,0xa4e89));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a39_0x4a2a6f(0x95),'command':'validate','description':a39_0x4a2a6f(0x96),'risk':a39_0x4a2a6f(0x9f),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x14c85f){const _0x1d8b84=a39_0x4a2a6f,_0x293d49=_0x14c85f[_0x1d8b84(0xa3)](_0x1d8b84(0x94)),_0x1d8280=validateSkillDirectory(_0x14c85f[_0x1d8b84(0x9c)](_0x1d8b84(0x9d)),{'strict':_0x293d49});return throwIfSkillValidationFailed(_0x1d8280,_0x293d49),{'ok':!![],'data':{'dir':_0x1d8280[_0x1d8b84(0x9d)],'type':_0x1d8280[_0x1d8b84(0x97)],'errors':_0x1d8280['errors'],'warnings':_0x1d8280[_0x1d8b84(0x9a)]},'message':_0x1d8b84(0x91)};}};
|