@lovrabet/lovrabet-cli 2.0.13 → 2.0.14-beta.10
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 -0
- 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/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 -0
- package/lib/commands/service/index.js +1 -0
- package/lib/commands/service/registry.js +1 -0
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/templates.js +1 -0
- package/lib/commands/skill/validate.js +1 -0
- 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 -0
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -0
- 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.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 +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x5d0212=a27_0x3647;function a27_0x3647(_0x27b843,_0x15814b){_0x27b843=_0x27b843-0x1f4;const _0x2d84cf=a27_0x2d84();let _0x3647c1=_0x2d84cf[_0x27b843];return _0x3647c1;}(function(_0x56c737,_0xc7388){const _0x2c05e2=a27_0x3647,_0x1879df=_0x56c737();while(!![]){try{const _0x59d5eb=parseInt(_0x2c05e2(0x214))/0x1*(-parseInt(_0x2c05e2(0x1fe))/0x2)+-parseInt(_0x2c05e2(0x1f4))/0x3+parseInt(_0x2c05e2(0x1f7))/0x4+-parseInt(_0x2c05e2(0x210))/0x5*(parseInt(_0x2c05e2(0x213))/0x6)+-parseInt(_0x2c05e2(0x20e))/0x7+-parseInt(_0x2c05e2(0x202))/0x8+parseInt(_0x2c05e2(0x208))/0x9;if(_0x59d5eb===_0xc7388)break;else _0x1879df['push'](_0x1879df['shift']());}catch(_0x446392){_0x1879df['push'](_0x1879df['shift']());}}}(a27_0x2d84,0x4615f));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x183145){const _0x5761f1=a27_0x3647;if(_0x183145[_0x5761f1(0x211)]===0x0){console[_0x5761f1(0x20a)]('*\x20No\x20logs\x20found');return;}console[_0x5761f1(0x20a)]('*\x20'+CLI_DISPLAY_NAME+_0x5761f1(0x204)),_0x183145[_0x5761f1(0x205)]((_0x37d06f,_0x146217)=>{const _0x3f43d9=_0x5761f1,_0x1ad3ec=new Date(_0x37d06f[_0x3f43d9(0x1fc)])['toLocaleString']('en-US'),_0x3b9659=_0x37d06f[_0x3f43d9(0x206)]===_0x3f43d9(0x20b)?'√':_0x37d06f['level']===_0x3f43d9(0x20f)?'×':_0x37d06f[_0x3f43d9(0x206)]==='warn'?'!':'i';console[_0x3f43d9(0x20a)](_0x146217+0x1+'.\x20'+_0x3b9659+'\x20['+_0x37d06f[_0x3f43d9(0x1fd)]+']\x20'+_0x37d06f[_0x3f43d9(0x20c)]),console['log'](_0x3f43d9(0x201)+_0x1ad3ec),_0x37d06f[_0x3f43d9(0x1f8)]&&console[_0x3f43d9(0x20a)](_0x3f43d9(0x1ff)+_0x37d06f[_0x3f43d9(0x1f8)]+'ms'),_0x37d06f[_0x3f43d9(0x1f9)]&&Object[_0x3f43d9(0x203)](_0x37d06f[_0x3f43d9(0x1f9)])['length']>0x0&&console[_0x3f43d9(0x20a)](_0x3f43d9(0x1f6)+JSON[_0x3f43d9(0x20d)](_0x37d06f[_0x3f43d9(0x1f9)],null,0x2)),console[_0x3f43d9(0x20a)]('');});}function a27_0x2d84(){const _0x2fbc78=['logs','clear','timestamp','command','369556FcOtjn','\x20\x20\x20Duration:\x20','write','\x20\x20\x20Time:\x20','1666848wUwXqV','keys','\x20logs:\x0a','forEach','level','read','17754210DszvgT','readLogs','log','success','message','stringify','3384780yhrfqZ','error','13490jbKVPd','length','View\x20command\x20history\x20logs','1116hgcFbl','3fSXMjm','215259ipwShC','Clear\x20command\x20history\x20logs','\x20\x20\x20Details:\x20','536768jmDKah','duration','details'];a27_0x2d84=function(){return _0x2fbc78;};return a27_0x2d84();}export const logsDefinitions=[{'service':a27_0x5d0212(0x1fa),'command':'show','description':a27_0x5d0212(0x212),'risk':a27_0x5d0212(0x207),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2e038c){const _0x23d9f8=a27_0x5d0212;return printLogs(logger[_0x23d9f8(0x209)]()),{'ok':!![]};}},{'service':a27_0x5d0212(0x1fa),'command':a27_0x5d0212(0x1fb),'description':a27_0x5d0212(0x1f5),'risk':a27_0x5d0212(0x200),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x106622){const _0x1d56a3=a27_0x5d0212;return logger['clearLogs'](),console[_0x1d56a3(0x20a)]('*\x20Logs\x20cleared'),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a27_0x4c1503=a27_0x2b5c;(function(_0xfc218a,_0xa3ee60){const _0x2930b2=a27_0x2b5c,_0x4ee3b2=_0xfc218a();while(!![]){try{const _0x2295ee=parseInt(_0x2930b2(0x129))/0x1*(-parseInt(_0x2930b2(0x138))/0x2)+parseInt(_0x2930b2(0x109))/0x3+parseInt(_0x2930b2(0x131))/0x4*(parseInt(_0x2930b2(0x143))/0x5)+parseInt(_0x2930b2(0x144))/0x6*(parseInt(_0x2930b2(0x11f))/0x7)+parseInt(_0x2930b2(0x149))/0x8+parseInt(_0x2930b2(0x139))/0x9+-parseInt(_0x2930b2(0x122))/0xa;if(_0x2295ee===_0xa3ee60)break;else _0x4ee3b2['push'](_0x4ee3b2['shift']());}catch(_0x327916){_0x4ee3b2['push'](_0x4ee3b2['shift']());}}}(a27_0x1e8b,0x2758d));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a27_0x1e8b(){const _0x4f5f1a=['File\x20path\x20is\x20required.','num','updateTime','file','scriptType','description','POST','Optional\x20source\x20RuntimeAgent\x20session\x20id','str','params','trim','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20personal\x20BFF\x20','133sHLgQU','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','detail','2712360DcWJzR','exec','body','isArray','sourceSessionId','functionName','isFile','1zQUgmP','config','/update','gmtModified','utf8','map','length','build','171428xUaYgU','flag','string','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','personal-bff','Personal\x20BFF\x20description','bool','635462iAPnRD','480177VSlUOK','/client/runtime-bff/personal/create','source-session-id','name','version','--params\x20must\x20be\x20a\x20JSON\x20object.','appCode','gmtCreate','verbose','File\x20not\x20found:\x20','35roypWQ','23958NySeZO','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','/client/runtime-bff/personal/','list','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','1433648kllQxi','Update\x20a\x20personal\x20BFF\x20by\x20id','Preview:\x20update\x20personal\x20BFF\x20','high-risk-write','425121lPwkxs','keys','scriptContent','Personal\x20BFF\x20script\x20ID','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','read','validation','createUserId','Created\x20personal\x20BFF\x20'];a27_0x1e8b=function(){return _0x4f5f1a;};return a27_0x1e8b();}import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a27_0x2b5c(_0x5ba717,_0x496a28){_0x5ba717=_0x5ba717-0x109;const _0x1e8b0f=a27_0x1e8b();let _0x2b5c8a=_0x1e8b0f[_0x5ba717];return _0x2b5c8a;}import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':a27_0x4c1503(0x133),'description':a27_0x4c1503(0x120)},FUNCTION_NAME_FLAG={'name':a27_0x4c1503(0x13c),'type':'string','required':!![],'description':a27_0x4c1503(0x145)},DESCRIPTION_FLAG={'name':a27_0x4c1503(0x117),'type':'string','description':a27_0x4c1503(0x136)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a27_0x4c1503(0x133),'description':a27_0x4c1503(0x119)};function normalizeFunctionName(_0x5d1adb){const _0x50a954=a27_0x4c1503,_0x45f458=String(_0x5d1adb||'')['trim']();if(!_0x45f458||!FUNCTION_NAME_PATTERN['test'](_0x45f458))throw CliErrors[_0x50a954(0x10f)](_0x50a954(0x134));return _0x45f458;}function readScriptFile(_0x16723c){const _0x35fab4=a27_0x4c1503;if(!_0x16723c)throw CliErrors[_0x35fab4(0x10f)](_0x35fab4(0x112));if(!existsSync(_0x16723c))throw CliErrors[_0x35fab4(0x10f)](_0x35fab4(0x142)+_0x16723c);if(!statSync(_0x16723c)[_0x35fab4(0x128)]())throw CliErrors['validation'](_0x35fab4(0x11d)+_0x16723c);const _0x241f3b=readFileSync(_0x16723c,_0x35fab4(0x12d));if(!_0x241f3b[_0x35fab4(0x11c)]())throw CliErrors[_0x35fab4(0x10f)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x241f3b;}function optionalTrimmed(_0x41f022){const _0x588d21=a27_0x4c1503,_0xefeca3=String(_0x41f022||'')[_0x588d21(0x11c)]();return _0xefeca3||undefined;}function summarizeBff(_0x18c16d){const _0x355330=a27_0x4c1503;return{'id':_0x18c16d['id'],'appCode':_0x18c16d[_0x355330(0x13f)],'functionName':_0x18c16d[_0x355330(0x127)],'description':_0x18c16d['description'],'scriptType':_0x18c16d[_0x355330(0x116)],'version':_0x18c16d[_0x355330(0x13d)],'gmtModified':_0x18c16d[_0x355330(0x12c)],'updateTime':_0x18c16d[_0x355330(0x114)]};}function detailBff(_0x540c46){const _0x3384a8=a27_0x4c1503;return{'id':_0x540c46['id'],'appCode':_0x540c46[_0x3384a8(0x13f)],'functionName':_0x540c46[_0x3384a8(0x127)],'description':_0x540c46['description'],'scriptType':_0x540c46[_0x3384a8(0x116)],'scriptContent':_0x540c46[_0x3384a8(0x10b)]??'','config':_0x540c46[_0x3384a8(0x12a)],'version':_0x540c46[_0x3384a8(0x13d)],'createUserId':_0x540c46[_0x3384a8(0x110)],'gmtCreate':_0x540c46[_0x3384a8(0x140)],'gmtModified':_0x540c46[_0x3384a8(0x12c)],'createTime':_0x540c46['createTime'],'updateTime':_0x540c46['updateTime']};}function buildCreateInput(_0x176fc8){const _0x11a3b8=a27_0x4c1503;return{'functionName':normalizeFunctionName(_0x176fc8[_0x11a3b8(0x11a)]('name')),...optionalTrimmed(_0x176fc8[_0x11a3b8(0x11a)]('description'))?{'description':optionalTrimmed(_0x176fc8['str'](_0x11a3b8(0x117)))}:{},'scriptContent':readScriptFile(_0x176fc8[_0x11a3b8(0x11a)]('file')),...optionalTrimmed(_0x176fc8['str'](_0x11a3b8(0x13b)))?{'sourceSessionId':optionalTrimmed(_0x176fc8[_0x11a3b8(0x11a)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5d37eb){const _0x3f8376=a27_0x4c1503,_0x4f0b6d={};optionalTrimmed(_0x5d37eb[_0x3f8376(0x11a)](_0x3f8376(0x13c)))&&(_0x4f0b6d[_0x3f8376(0x127)]=normalizeFunctionName(_0x5d37eb[_0x3f8376(0x11a)]('name')));_0x5d37eb[_0x3f8376(0x132)]('description')!==undefined&&(_0x4f0b6d[_0x3f8376(0x117)]=_0x5d37eb[_0x3f8376(0x11a)](_0x3f8376(0x117)));optionalTrimmed(_0x5d37eb[_0x3f8376(0x11a)](_0x3f8376(0x115)))&&(_0x4f0b6d[_0x3f8376(0x10b)]=readScriptFile(_0x5d37eb[_0x3f8376(0x11a)](_0x3f8376(0x115))));_0x5d37eb['flag'](_0x3f8376(0x13b))!==undefined&&(_0x4f0b6d[_0x3f8376(0x126)]=_0x5d37eb['str']('source-session-id'));if(Object[_0x3f8376(0x10a)](_0x4f0b6d)[_0x3f8376(0x12f)]===0x0)throw CliErrors['validation'](_0x3f8376(0x10d));return _0x4f0b6d;}function parseExecParams(_0x5cdfc3){const _0x1f72e5=a27_0x4c1503,_0x118367=parseJsonParams(_0x5cdfc3)??{};if(Array[_0x1f72e5(0x125)](_0x118367))throw CliErrors[_0x1f72e5(0x10f)](_0x1f72e5(0x13e));return _0x118367;}const personalBffList={'service':'personal-bff','command':a27_0x4c1503(0x147),'description':a27_0x4c1503(0x148),'risk':a27_0x4c1503(0x10e),'flags':[VERBOSE_FLAG],async 'execute'(_0x222265){const _0x492608=a27_0x4c1503,_0x4718d1=await listPersonalBffs(_0x222265[_0x492608(0x13f)]);return{'ok':!![],'data':{'total':_0x4718d1[_0x492608(0x12f)],'items':_0x222265[_0x492608(0x137)](_0x492608(0x141))?_0x4718d1:_0x4718d1[_0x492608(0x12e)](summarizeBff)}};}},personalBffDetail={'service':a27_0x4c1503(0x135),'command':a27_0x4c1503(0x121),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a27_0x4c1503(0x10e),'flags':[{...ID_FLAG,'description':a27_0x4c1503(0x10c)}],async 'execute'(_0x281bd3){const _0x2cdbed=a27_0x4c1503,_0x234cd7=await getPersonalBff(_0x281bd3[_0x2cdbed(0x113)]('id'),_0x281bd3[_0x2cdbed(0x13f)]);return{'ok':!![],'data':detailBff(_0x234cd7)};}},personalBffCreate={'service':a27_0x4c1503(0x135),'command':'create','description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x92ea3){const _0x313357=a27_0x4c1503,_0x29bd0b=buildCreateInput(_0x92ea3),_0x49a1c1=await createPersonalBff(_0x92ea3[_0x313357(0x13f)],_0x29bd0b);return{'ok':!![],'data':detailBff(_0x49a1c1),'message':_0x313357(0x111)+_0x49a1c1['id']+(_0x49a1c1[_0x313357(0x127)]?'\x20('+_0x49a1c1[_0x313357(0x127)]+')':'')};},async 'dryRun'(_0x203d2f){const _0x5c2c17=a27_0x4c1503,_0x1b59c1=buildCreateInput(_0x203d2f);return dryRun(_0x5c2c17(0x118),_0x5c2c17(0x13a))[_0x5c2c17(0x124)]({'appCode':_0x203d2f[_0x5c2c17(0x13f)],..._0x1b59c1})[_0x5c2c17(0x117)](_0x5c2c17(0x11e)+_0x1b59c1[_0x5c2c17(0x127)])[_0x5c2c17(0x130)]();}},personalBffUpdate={'service':a27_0x4c1503(0x135),'command':'update','description':a27_0x4c1503(0x14a),'risk':'write','flags':[{...ID_FLAG,'description':a27_0x4c1503(0x10c)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5d0f4d){const _0x27fb45=a27_0x4c1503,_0x1d95e1=_0x5d0f4d[_0x27fb45(0x113)]('id'),_0x3f89cb=buildUpdateInput(_0x5d0f4d),_0x8d7b18=await updatePersonalBff(_0x1d95e1,_0x5d0f4d['appCode'],_0x3f89cb);return{'ok':!![],'data':detailBff(_0x8d7b18),'message':'Updated\x20personal\x20BFF\x20'+_0x8d7b18['id']+(_0x8d7b18[_0x27fb45(0x127)]?'\x20('+_0x8d7b18['functionName']+')':'')};},async 'dryRun'(_0x97f2ad){const _0x2ebbe8=a27_0x4c1503,_0x5d2baf=_0x97f2ad['num']('id'),_0x2bd09a=buildUpdateInput(_0x97f2ad);return dryRun(_0x2ebbe8(0x118),_0x2ebbe8(0x146)+_0x5d2baf+_0x2ebbe8(0x12b))['body']({'appCode':_0x97f2ad[_0x2ebbe8(0x13f)],..._0x2bd09a})[_0x2ebbe8(0x117)](_0x2ebbe8(0x14b)+_0x5d2baf)[_0x2ebbe8(0x130)]();}},personalBffExec={'service':'personal-bff','command':a27_0x4c1503(0x123),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':a27_0x4c1503(0x14c),'flags':[{...ID_FLAG,'description':a27_0x4c1503(0x10c)},{...PARAMS_FLAG,'description':'JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution'}],async 'validate'(_0xd44b1){const _0x1ebc6f=a27_0x4c1503;parseExecParams(_0xd44b1[_0x1ebc6f(0x11a)](_0x1ebc6f(0x11b)));},async 'execute'(_0x2a32dd){const _0x352967=a27_0x4c1503,_0x436ef7=_0x2a32dd['num']('id'),_0xa01692=parseExecParams(_0x2a32dd[_0x352967(0x11a)](_0x352967(0x11b))),_0x539444=await executePersonalBff(_0x436ef7,_0x2a32dd[_0x352967(0x13f)],_0xa01692);return{'ok':!![],'data':{'result':_0x539444},'message':'Executed\x20personal\x20BFF\x20'+_0x436ef7};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a28_0x539fa1=a28_0x3510;(function(_0xebb355,_0x9e108e){const _0x11a19b=a28_0x3510,_0x4b8170=_0xebb355();while(!![]){try{const _0xa02dd4=parseInt(_0x11a19b(0x8d))/0x1*(-parseInt(_0x11a19b(0x7d))/0x2)+-parseInt(_0x11a19b(0x9c))/0x3*(-parseInt(_0x11a19b(0xb6))/0x4)+-parseInt(_0x11a19b(0xbd))/0x5*(-parseInt(_0x11a19b(0xa7))/0x6)+parseInt(_0x11a19b(0xac))/0x7*(parseInt(_0x11a19b(0x88))/0x8)+parseInt(_0x11a19b(0x95))/0x9*(-parseInt(_0x11a19b(0xa9))/0xa)+-parseInt(_0x11a19b(0xb3))/0xb+-parseInt(_0x11a19b(0x8f))/0xc;if(_0xa02dd4===_0x9e108e)break;else _0x4b8170['push'](_0x4b8170['shift']());}catch(_0xc5bea1){_0x4b8170['push'](_0x4b8170['shift']());}}}(a28_0x19e8,0x68a60));import{existsSync,readFileSync,statSync}from'node:fs';function a28_0x19e8(){const _0x3f8eff=['keys','length','Preview:\x20update\x20personal\x20BFF\x20','params','trim','config','personal-bff','--params\x20must\x20be\x20a\x20JSON\x20object.','Personal\x20BFF\x20script\x20ID','777368qgkHxD','Update\x20a\x20personal\x20BFF\x20by\x20id','updateTime','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','POST','1AMqtpG','utf8','6557472UexXHb','list','Personal\x20BFF\x20description','string','Show\x20one\x20personal\x20BFF\x20by\x20id','high-risk-write','1721025LIsdiL','isFile','File\x20not\x20found:\x20','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','flag','Executed\x20personal\x20BFF\x20','read','105nvSKeu','Optional\x20source\x20RuntimeAgent\x20session\x20id','body','file','name','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','source-session-id','verbose','scriptContent','createTime','File\x20is\x20not\x20a\x20regular\x20file:\x20','102zOvKXl','num','10ZwFLgK','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','description','35mtsLMy','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','appCode','test','str','bool','gmtModified','1083874CXpzrA','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','exec','47764DgAeYf','build','write','update','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','version','File\x20path\x20is\x20required.','167695mSgGcl','create','validation','/client/runtime-bff/personal/','Updated\x20personal\x20BFF\x20','scriptType','/client/runtime-bff/personal/create','functionName','418196KaDxia','gmtCreate'];a28_0x19e8=function(){return _0x3f8eff;};return a28_0x19e8();}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':a28_0x539fa1(0x9f),'type':a28_0x539fa1(0x92),'description':a28_0x539fa1(0xad)},FUNCTION_NAME_FLAG={'name':a28_0x539fa1(0xa0),'type':'string','required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':'description','type':'string','description':a28_0x539fa1(0x91)},SOURCE_SESSION_FLAG={'name':a28_0x539fa1(0xa2),'type':'string','description':a28_0x539fa1(0x9d)};function normalizeFunctionName(_0x5cb5ce){const _0x4a4fe6=a28_0x539fa1,_0x49e2ef=String(_0x5cb5ce||'')['trim']();if(!_0x49e2ef||!FUNCTION_NAME_PATTERN[_0x4a4fe6(0xaf)](_0x49e2ef))throw CliErrors['validation'](_0x4a4fe6(0x98));return _0x49e2ef;}function readScriptFile(_0x80d10c){const _0x2fa1a4=a28_0x539fa1;if(!_0x80d10c)throw CliErrors[_0x2fa1a4(0x77)](_0x2fa1a4(0xbc));if(!existsSync(_0x80d10c))throw CliErrors[_0x2fa1a4(0x77)](_0x2fa1a4(0x97)+_0x80d10c);if(!statSync(_0x80d10c)[_0x2fa1a4(0x96)]())throw CliErrors['validation'](_0x2fa1a4(0xa6)+_0x80d10c);const _0x35d9dd=readFileSync(_0x80d10c,_0x2fa1a4(0x8e));if(!_0x35d9dd[_0x2fa1a4(0x83)]())throw CliErrors['validation']('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x35d9dd;}function optionalTrimmed(_0x260fc6){const _0x24bb41=a28_0x539fa1,_0x2b0769=String(_0x260fc6||'')[_0x24bb41(0x83)]();return _0x2b0769||undefined;}function summarizeBff(_0xdd0ef6){const _0x28ed6d=a28_0x539fa1;return{'id':_0xdd0ef6['id'],'appCode':_0xdd0ef6[_0x28ed6d(0xae)],'functionName':_0xdd0ef6[_0x28ed6d(0x7c)],'description':_0xdd0ef6[_0x28ed6d(0xab)],'scriptType':_0xdd0ef6[_0x28ed6d(0x7a)],'version':_0xdd0ef6['version'],'gmtModified':_0xdd0ef6['gmtModified'],'updateTime':_0xdd0ef6[_0x28ed6d(0x8a)]};}function detailBff(_0x1a11f0){const _0x13d377=a28_0x539fa1;return{'id':_0x1a11f0['id'],'appCode':_0x1a11f0[_0x13d377(0xae)],'functionName':_0x1a11f0[_0x13d377(0x7c)],'description':_0x1a11f0['description'],'scriptType':_0x1a11f0[_0x13d377(0x7a)],'scriptContent':_0x1a11f0[_0x13d377(0xa4)]??'','config':_0x1a11f0[_0x13d377(0x84)],'version':_0x1a11f0[_0x13d377(0xbb)],'createUserId':_0x1a11f0['createUserId'],'gmtCreate':_0x1a11f0[_0x13d377(0x7e)],'gmtModified':_0x1a11f0[_0x13d377(0xb2)],'createTime':_0x1a11f0[_0x13d377(0xa5)],'updateTime':_0x1a11f0[_0x13d377(0x8a)]};}function buildCreateInput(_0x49e204){const _0x1100ba=a28_0x539fa1;return{'functionName':normalizeFunctionName(_0x49e204['str'](_0x1100ba(0xa0))),...optionalTrimmed(_0x49e204[_0x1100ba(0xb0)]('description'))?{'description':optionalTrimmed(_0x49e204[_0x1100ba(0xb0)](_0x1100ba(0xab)))}:{},'scriptContent':readScriptFile(_0x49e204[_0x1100ba(0xb0)]('file')),...optionalTrimmed(_0x49e204[_0x1100ba(0xb0)](_0x1100ba(0xa2)))?{'sourceSessionId':optionalTrimmed(_0x49e204['str'](_0x1100ba(0xa2)))}:{}};}function a28_0x3510(_0xfeeccb,_0x27e0a8){_0xfeeccb=_0xfeeccb-0x77;const _0x19e852=a28_0x19e8();let _0x35105e=_0x19e852[_0xfeeccb];return _0x35105e;}function buildUpdateInput(_0x4ed5ca){const _0x218489=a28_0x539fa1,_0x341f1e={};optionalTrimmed(_0x4ed5ca['str'](_0x218489(0xa0)))&&(_0x341f1e[_0x218489(0x7c)]=normalizeFunctionName(_0x4ed5ca[_0x218489(0xb0)](_0x218489(0xa0))));_0x4ed5ca[_0x218489(0x99)](_0x218489(0xab))!==undefined&&(_0x341f1e[_0x218489(0xab)]=_0x4ed5ca[_0x218489(0xb0)](_0x218489(0xab)));optionalTrimmed(_0x4ed5ca[_0x218489(0xb0)](_0x218489(0x9f)))&&(_0x341f1e[_0x218489(0xa4)]=readScriptFile(_0x4ed5ca['str'](_0x218489(0x9f))));_0x4ed5ca[_0x218489(0x99)](_0x218489(0xa2))!==undefined&&(_0x341f1e['sourceSessionId']=_0x4ed5ca['str'](_0x218489(0xa2)));if(Object[_0x218489(0x7f)](_0x341f1e)[_0x218489(0x80)]===0x0)throw CliErrors[_0x218489(0x77)](_0x218489(0xba));return _0x341f1e;}function parseExecParams(_0x442ae5){const _0x2f10d4=a28_0x539fa1,_0x21c857=parseJsonParams(_0x442ae5)??{};if(Array['isArray'](_0x21c857))throw CliErrors['validation'](_0x2f10d4(0x86));return _0x21c857;}const personalBffList={'service':a28_0x539fa1(0x85),'command':a28_0x539fa1(0x90),'description':a28_0x539fa1(0xa1),'risk':a28_0x539fa1(0x9b),'flags':[VERBOSE_FLAG],async 'execute'(_0x53461e){const _0x317cf6=a28_0x539fa1,_0x126b45=await listPersonalBffs(_0x53461e[_0x317cf6(0xae)]);return{'ok':!![],'data':{'total':_0x126b45[_0x317cf6(0x80)],'items':_0x53461e[_0x317cf6(0xb1)](_0x317cf6(0xa3))?_0x126b45:_0x126b45['map'](summarizeBff)}};}},personalBffDetail={'service':a28_0x539fa1(0x85),'command':'detail','description':a28_0x539fa1(0x93),'risk':'read','flags':[{...ID_FLAG,'description':a28_0x539fa1(0x87)}],async 'execute'(_0x2c7951){const _0x38115c=a28_0x539fa1,_0x32d67a=await getPersonalBff(_0x2c7951[_0x38115c(0xa8)]('id'),_0x2c7951[_0x38115c(0xae)]);return{'ok':!![],'data':detailBff(_0x32d67a)};}},personalBffCreate={'service':'personal-bff','command':a28_0x539fa1(0xbe),'description':a28_0x539fa1(0xaa),'risk':a28_0x539fa1(0xb8),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4c2f73){const _0x1c8e2c=a28_0x539fa1,_0x5c78c8=buildCreateInput(_0x4c2f73),_0x2b0c84=await createPersonalBff(_0x4c2f73[_0x1c8e2c(0xae)],_0x5c78c8);return{'ok':!![],'data':detailBff(_0x2b0c84),'message':'Created\x20personal\x20BFF\x20'+_0x2b0c84['id']+(_0x2b0c84[_0x1c8e2c(0x7c)]?'\x20('+_0x2b0c84[_0x1c8e2c(0x7c)]+')':'')};},async 'dryRun'(_0x1a12e0){const _0x353ad7=a28_0x539fa1,_0xb2302=buildCreateInput(_0x1a12e0);return dryRun(_0x353ad7(0x8c),_0x353ad7(0x7b))['body']({'appCode':_0x1a12e0[_0x353ad7(0xae)],..._0xb2302})[_0x353ad7(0xab)]('Preview:\x20create\x20personal\x20BFF\x20'+_0xb2302[_0x353ad7(0x7c)])[_0x353ad7(0xb7)]();}},personalBffUpdate={'service':a28_0x539fa1(0x85),'command':a28_0x539fa1(0xb9),'description':a28_0x539fa1(0x89),'risk':a28_0x539fa1(0xb8),'flags':[{...ID_FLAG,'description':a28_0x539fa1(0x87)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2867b1){const _0x141c92=a28_0x539fa1,_0x2ff1c3=_0x2867b1[_0x141c92(0xa8)]('id'),_0x4ba7c8=buildUpdateInput(_0x2867b1),_0x403c56=await updatePersonalBff(_0x2ff1c3,_0x2867b1[_0x141c92(0xae)],_0x4ba7c8);return{'ok':!![],'data':detailBff(_0x403c56),'message':_0x141c92(0x79)+_0x403c56['id']+(_0x403c56['functionName']?'\x20('+_0x403c56[_0x141c92(0x7c)]+')':'')};},async 'dryRun'(_0x37341e){const _0x4d5484=a28_0x539fa1,_0x3c550f=_0x37341e[_0x4d5484(0xa8)]('id'),_0x5d18d5=buildUpdateInput(_0x37341e);return dryRun(_0x4d5484(0x8c),_0x4d5484(0x78)+_0x3c550f+'/update')[_0x4d5484(0x9e)]({'appCode':_0x37341e[_0x4d5484(0xae)],..._0x5d18d5})[_0x4d5484(0xab)](_0x4d5484(0x81)+_0x3c550f)[_0x4d5484(0xb7)]();}},personalBffExec={'service':a28_0x539fa1(0x85),'command':a28_0x539fa1(0xb5),'description':a28_0x539fa1(0xb4),'risk':a28_0x539fa1(0x94),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a28_0x539fa1(0x8b)}],async 'validate'(_0x5edf10){const _0x172741=a28_0x539fa1;parseExecParams(_0x5edf10[_0x172741(0xb0)](_0x172741(0x82)));},async 'execute'(_0x15448d){const _0x3e9279=a28_0x539fa1,_0x43155b=_0x15448d[_0x3e9279(0xa8)]('id'),_0x202b8c=parseExecParams(_0x15448d[_0x3e9279(0xb0)]('params')),_0x523aed=await executePersonalBff(_0x43155b,_0x15448d[_0x3e9279(0xae)],_0x202b8c);return{'ok':!![],'data':{'result':_0x523aed},'message':_0x3e9279(0x9a)+_0x43155b};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a29_0x9d3cd3=a29_0x47f8;(function(_0x268cac,_0x24f914){const _0x653238=a29_0x47f8,_0x4ceee1=_0x268cac();while(!![]){try{const _0x142ee7=parseInt(_0x653238(0x179))/0x1+parseInt(_0x653238(0x17a))/0x2+parseInt(_0x653238(0x181))/0x3*(parseInt(_0x653238(0x16c))/0x4)+-parseInt(_0x653238(0x183))/0x5+-parseInt(_0x653238(0x16d))/0x6*(parseInt(_0x653238(0x190))/0x7)+parseInt(_0x653238(0x16a))/0x8+parseInt(_0x653238(0x174))/0x9*(-parseInt(_0x653238(0x18c))/0xa);if(_0x142ee7===_0x24f914)break;else _0x4ceee1['push'](_0x4ceee1['shift']());}catch(_0x5c562c){_0x4ceee1['push'](_0x4ceee1['shift']());}}}(a29_0x3a7f,0x3ff0f));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/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';function a29_0x47f8(_0x459e9c,_0x238aaf){_0x459e9c=_0x459e9c-0x169;const _0x3a7fd8=a29_0x3a7f();let _0x47f88e=_0x3a7fd8[_0x459e9c];return _0x47f88e;}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(_0x551f28){const _0x47d149=a29_0x47f8;for(const _0x4b0a59 of _0x551f28){definitions['set'](_0x4b0a59['service']+':'+_0x4b0a59['command'],_0x4b0a59);let _0x37e7d5=serviceGroups[_0x47d149(0x180)](_0x4b0a59[_0x47d149(0x189)]);!_0x37e7d5&&(_0x37e7d5=[],serviceGroups[_0x47d149(0x17c)](_0x4b0a59['service'],_0x37e7d5)),_0x37e7d5[_0x47d149(0x17f)](_0x4b0a59);}}function registerService(_0x1fa41c,_0x2b1c79,_0xbead09){const _0x489715=a29_0x47f8;registerDefinitions(_0x2b1c79);const _0x145891=_0x52c549=>_0x52c549===_0x489715(0x185)?'':_0x52c549===_0x489715(0x173)?_0x489715(0x16e):_0x489715(0x170),_0x221304={'service':_0x2b1c79[0x0][_0x489715(0x189)],'label':_0x1fa41c,'commands':_0x2b1c79[_0x489715(0x175)](_0x216473=>({'command':_0x216473['command'],'description':_0x216473[_0x489715(0x169)],'tag':_0x145891(_0x216473['risk'])})),'defaultCommand':_0xbead09?.[_0x489715(0x188)]??(_0xbead09?.['isSingleCommand']?_0x2b1c79[0x0]['command']:undefined),'isSingleCommand':_0xbead09?.['isSingleCommand']};serviceRegistry[_0x489715(0x17f)](_0x221304),serviceByName[_0x489715(0x17c)](_0x221304[_0x489715(0x189)],_0x221304);}function a29_0x3a7f(){const _0x4bdf83=['Diagnostics','\x20\x20[high-risk-write]','Self\x20Update','install','write','1422QyuszX','map','Logs','BFF\x20Scripts','Configuration','108219nBbXIF','401504IJqhrt','from','set','SQL\x20Queries','Schema','push','get','78eQGEqE','has','256665dBMKYP','Knowledge\x20Base','read','values','API\x20Documentation','defaultCommand','service','run','Artifacts','1770GYsisD','Workspace','list','Datasets','21voJiuG','App\x20Management','description','2335776hcALVV','Instant\x20API','19720ukMuhP','775842ONBuWc','\x20\x20[write]'];a29_0x3a7f=function(){return _0x4bdf83;};return a29_0x3a7f();}registerService('Authentication',authDefinitions,{'defaultCommand':'login'}),registerService(a29_0x9d3cd3(0x187),apiDocDefinitions),registerService(a29_0x9d3cd3(0x18f),datasetDefinitions),registerService(a29_0x9d3cd3(0x16b),dataDefinitions),registerService(a29_0x9d3cd3(0x17d),sqlDefinitions),registerService(a29_0x9d3cd3(0x177),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a29_0x9d3cd3(0x18b),artifactDefinitions),registerService(a29_0x9d3cd3(0x184),kbDefinitions),registerService(a29_0x9d3cd3(0x191),appDefinitions,{'defaultCommand':a29_0x9d3cd3(0x18e)}),registerService(a29_0x9d3cd3(0x18d),workspaceDefinitions),registerService(a29_0x9d3cd3(0x178),configDefinitions,{'defaultCommand':'list'}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a29_0x9d3cd3(0x18e)}),registerService('Skills',skillDefinitions,{'defaultCommand':a29_0x9d3cd3(0x172)}),registerService(a29_0x9d3cd3(0x171),[updateDefinition],{'defaultCommand':a29_0x9d3cd3(0x18a),'isSingleCommand':!![]}),registerService(a29_0x9d3cd3(0x16f),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a29_0x9d3cd3(0x17e),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a29_0x9d3cd3(0x176),logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x2aa43b,_0x5b19e0){return definitions['get'](_0x2aa43b+':'+_0x5b19e0);}export function isKnownService(_0x4f260f){const _0x33ab02=a29_0x9d3cd3;return serviceByName[_0x33ab02(0x182)](_0x4f260f);}export function getServiceEntry(_0x5c6597){const _0x1210ab=a29_0x9d3cd3;return serviceByName[_0x1210ab(0x180)](_0x5c6597);}export function getAllDefinitions(){const _0x10658d=a29_0x9d3cd3;return Array[_0x10658d(0x17b)](definitions[_0x10658d(0x186)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a30_0xae02(_0x410292,_0x3abd5f){_0x410292=_0x410292-0xee;const _0x538aa5=a30_0x538a();let _0xae02b6=_0x538aa5[_0x410292];return _0xae02b6;}const a30_0x16c7a8=a30_0xae02;(function(_0x522b69,_0x324f41){const _0x410e61=a30_0xae02,_0x1dcc95=_0x522b69();while(!![]){try{const _0x4b6f6d=parseInt(_0x410e61(0xf4))/0x1+-parseInt(_0x410e61(0xf9))/0x2+-parseInt(_0x410e61(0xee))/0x3*(-parseInt(_0x410e61(0xf8))/0x4)+-parseInt(_0x410e61(0xf0))/0x5+-parseInt(_0x410e61(0xf5))/0x6*(-parseInt(_0x410e61(0xef))/0x7)+parseInt(_0x410e61(0xf7))/0x8+-parseInt(_0x410e61(0xfa))/0x9;if(_0x4b6f6d===_0x324f41)break;else _0x1dcc95['push'](_0x1dcc95['shift']());}catch(_0x131bf2){_0x1dcc95['push'](_0x1dcc95['shift']());}}}(a30_0x538a,0xdab50));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x254a02){const _0x190e0a=await buildSchemaPayload();return{'ok':!![],'data':_0x190e0a};}export const schemaDefinition={'service':a30_0x16c7a8(0xf6),'command':a30_0x16c7a8(0xf1),'description':a30_0x16c7a8(0xf2),'risk':a30_0x16c7a8(0xf3),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a30_0x538a(){const _0x34fff0=['schema','886824SWWnKb','44BnExjU','510710EUfAIp','2068272QBXsAW','213189dfNBxt','1547gElETC','3841720wnRBqL','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','read','77308IMLjJZ','32022HZhOUz'];a30_0x538a=function(){return _0x34fff0;};return a30_0x538a();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a31_0x3523(){const _0x55ebd8=['find','\x20\x20\x20\x20sqlCode:\x20','code','nickname','700944mJaeHx','Service\x20command\x20','string','validation','\x20<command>\x20[flags]','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','employeeId','\x20\x20\x20\x20datatable:\x20','slice','padEnd','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','app','datasetCode','map','join','appCode','userName','\x20\x20\x20\x20datasetCode:\x20','bffCode','Preview\x20dynamic\x20service\x20command:\x20','sql','push','some','9636720UnAvNI','flatMap','number','commands','datatable','boolean','args','username','\x20\x20SERVICE\x20TREE\x20TARGET','filter','appcode','886MsEGFS','read','now','command','target','startsWith','envName','entries','\x20requires\x20target.scriptName.','loginName','appRef','service','\x20->\x20','appBindings','Use\x20`','kind','params','27803610SfbXvG','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','tree','description','flags','\x20\x20\x20\x20scriptName:\x20','11920deDVUq','\x20service\x20detail\x20--service\x20','operator','cliPath','mapTo','context.','1080ifhhKe','dbtableConfig','Cannot\x20resolve\x20datatable\x20\x22','Unsupported\x20service\x20target\x20kind:\x20','rawFlags','40691TgizMi','required','remainingArgs','type','bffId','scriptName','SERVICE_TREE','tenantCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickName','1620esvRoW','source','risk','const','387gGzanC','fromEntries','name','fullPath','tableName','sqlCode','5367843RpTeTq','bff','Run\x20service\x20command\x20','\x20requires\x20target.sqlCode.','\x20completed\x20in\x20','normalizedManifest','\x20\x20MAP\x20TO','length','\x22\x20in\x20service\x20command\x20','enum','\x20\x20['];a31_0x3523=function(){return _0x55ebd8;};return a31_0x3523();}(function(_0xf6880,_0x357b3b){const _0x10417f=a31_0x2ae7,_0x404e61=_0xf6880();while(!![]){try{const _0x2b9a37=-parseInt(_0x10417f(0xa6))/0x1+-parseInt(_0x10417f(0xc8))/0x2*(-parseInt(_0x10417f(0xf8))/0x3)+-parseInt(_0x10417f(0xdf))/0x4*(parseInt(_0x10417f(0xf4))/0x5)+-parseInt(_0x10417f(0xbd))/0x6+-parseInt(_0x10417f(0xea))/0x7*(-parseInt(_0x10417f(0xe5))/0x8)+parseInt(_0x10417f(0x97))/0x9+parseInt(_0x10417f(0xd9))/0xa;if(_0x2b9a37===_0x357b3b)break;else _0x404e61['push'](_0x404e61['shift']());}catch(_0x339208){_0x404e61['push'](_0x404e61['shift']());}}}(a31_0x3523,0xe6fba));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(_0x53a299,_0xd969a2){const _0x4407b7=a31_0x2ae7,_0x4eece4=listLocalServiceTrees();let _0x36d9dc;for(const _0x26e623 of _0x4eece4){const _0x641e17=matchServiceTreeCommand(_0x26e623,_0x53a299);if(!_0x641e17)continue;(!_0x36d9dc||_0x641e17[_0x4407b7(0xcb)][_0x4407b7(0xfb)][_0x4407b7(0x9e)]>_0x36d9dc[_0x4407b7(0xcb)]['fullPath'][_0x4407b7(0x9e)])&&(_0x36d9dc={'tree':_0x26e623,'command':_0x641e17['command'],'remainingArgs':_0x641e17[_0x4407b7(0xec)]});}if(!_0x36d9dc)return undefined;const _0x5cf475={..._0xd969a2};return applyAppBinding(_0x36d9dc[_0x4407b7(0xdb)],_0x36d9dc['command'],_0x5cf475),{'definition':buildDynamicCommandDefinition(_0x36d9dc[_0x4407b7(0xdb)],_0x36d9dc['command']),'args':_0x36d9dc['remainingArgs'],'flags':_0x5cf475,'tree':_0x36d9dc[_0x4407b7(0xdb)],'command':_0x36d9dc[_0x4407b7(0xcb)]};}export function generateDynamicServiceHelp(_0x40c74d){const _0x597f47=a31_0x2ae7,_0x5f16b5=listLocalServiceTrees()[_0x597f47(0xa2)](_0x4ffd32=>_0x4ffd32[_0x597f47(0xd3)][_0x597f47(0xa4)]===_0x40c74d);if(!_0x5f16b5)return undefined;const _0x381b78=[CLI_BIN_NAME+'\x20'+_0x40c74d+_0x597f47(0xaa),'',_0x5f16b5['service'][_0x597f47(0xfa)]||_0x40c74d,_0x5f16b5['service'][_0x597f47(0xdc)]?'\x20\x20'+_0x5f16b5[_0x597f47(0xd3)]['description']:'','','Commands:',..._0x5f16b5[_0x597f47(0xc0)][_0x597f47(0xb3)](_0x1ed921=>{const _0x2154d7=_0x597f47,_0x6d2149=_0x1ed921[_0x2154d7(0xfb)][_0x2154d7(0xae)](0x1)[_0x2154d7(0xb4)]('\x20'),_0x130c9d=_0x1ed921[_0x2154d7(0xf6)]===_0x2154d7(0xc9)?'':'\x20['+_0x1ed921['risk']+']';return'\x20\x20'+_0x6d2149[_0x2154d7(0xaf)](0x18)+'\x20'+(_0x1ed921[_0x2154d7(0xdc)]||'')+_0x130c9d;}),'',_0x597f47(0xd6)+CLI_BIN_NAME+_0x597f47(0xe0)+_0x40c74d+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x381b78[_0x597f47(0xb4)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x2c553a=>{const _0x4a5b61=a31_0x2ae7,_0x554e37=_0x2c553a[_0x4a5b61(0x9c)];return{'service':_0x554e37[_0x4a5b61(0xd3)][_0x4a5b61(0xa4)],'label':_0x554e37[_0x4a5b61(0xd3)]['name']||_0x554e37[_0x4a5b61(0xd3)][_0x4a5b61(0xa4)],'commands':_0x554e37[_0x4a5b61(0xc0)][_0x4a5b61(0xb3)](_0x13d905=>({'command':dynamicCommandName(_0x13d905),'description':_0x13d905['description']||_0x4a5b61(0x99)+_0x13d905[_0x4a5b61(0xe2)],'tag':riskTag(_0x13d905['risk'])}))};});}export function getDynamicServiceEntry(_0x5de6b3){const _0x54dcc4=a31_0x2ae7;return listDynamicServiceEntries()[_0x54dcc4(0xa2)](_0x1fe50f=>_0x1fe50f[_0x54dcc4(0xd3)]===_0x5de6b3);}export function listDynamicServiceDefinitions(_0x7d0ddf){const _0x3278fe=a31_0x2ae7;return listLocalServiceTrees()['filter'](_0xe8176b=>!_0x7d0ddf||_0xe8176b[_0x3278fe(0xd3)]['code']===_0x7d0ddf)[_0x3278fe(0xbe)](_0x18ec26=>_0x18ec26['commands'][_0x3278fe(0xb3)](_0x912e67=>buildDynamicCommandDefinition(_0x18ec26,_0x912e67)));}export function getDynamicServiceDefinitions(_0x148fe2){const _0x4a6cbf=a31_0x2ae7,_0x1cbe9a=listDynamicServiceDefinitions(_0x148fe2);return _0x1cbe9a[_0x4a6cbf(0x9e)]>0x0?_0x1cbe9a:undefined;}export function findDynamicServiceDefinition(_0x27e606,_0xd4af79){const _0x42af70=a31_0x2ae7;return listDynamicServiceDefinitions(_0x27e606)[_0x42af70(0xa2)](_0xf53467=>_0xf53467[_0x42af70(0xcb)]===_0xd4af79);}export function buildDynamicCommandDefinition(_0x259121,_0x4a32b5){const _0xfebf6c=a31_0x2ae7;return{'service':_0x259121[_0xfebf6c(0xd3)][_0xfebf6c(0xa4)],'command':dynamicCommandName(_0x4a32b5),'description':_0x4a32b5[_0xfebf6c(0xdc)]||_0xfebf6c(0x99)+_0x4a32b5[_0xfebf6c(0xe2)],'risk':_0x4a32b5[_0xfebf6c(0xf6)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4a32b5[_0xfebf6c(0xc3)]['map'](_0x258543=>({'name':_0x258543['name'],'description':_0x258543['description']||_0x258543[_0xfebf6c(0xfa)],'required':_0x258543[_0xfebf6c(0xeb)]})),'flags':_0x4a32b5[_0xfebf6c(0xdd)][_0xfebf6c(0xb3)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4a32b5),async 'dryRun'(_0x3090fe){const _0x4addf2=_0xfebf6c,_0x43cdae=await compilePlan(_0x4a32b5,_0x3090fe);return{'method':_0x4addf2(0xf0),'url':_0x4a32b5['cliPath'],'body':{'target':targetPreview(_0x43cdae),'params':_0x43cdae[_0x4addf2(0xd8)]},'description':_0x4addf2(0xb9)+_0x4a32b5[_0x4addf2(0xe2)]};},async 'execute'(_0x33a86e){const _0x10be61=_0xfebf6c,_0x12d781=await compilePlan(_0x4a32b5,_0x33a86e),_0x329fdf=Date[_0x10be61(0xca)](),_0x2aefbc=await executePlan(_0x12d781,_0x4a32b5,_0x33a86e),_0x57b2f0=Date['now']()-_0x329fdf;return{'ok':!![],'data':{'service':_0x259121['service'],'command':_0x4a32b5[_0x10be61(0xe2)],'target':targetPreview(_0x12d781),'result':_0x2aefbc,'elapsed':_0x57b2f0},'message':_0x10be61(0xa7)+_0x4a32b5['cliPath']+_0x10be61(0x9b)+_0x57b2f0+'ms'};}};}function dynamicCommandName(_0x372cf9){const _0x5018c6=a31_0x2ae7;return _0x372cf9[_0x5018c6(0xfb)][_0x5018c6(0xae)](0x1)['join']('\x20');}function riskTag(_0x50abda){const _0x1e1a10=a31_0x2ae7;return _0x50abda===_0x1e1a10(0xc9)?'':_0x1e1a10(0xa1)+_0x50abda+']';}function flagToCommandFlag(_0x4213aa){const _0x132b61=a31_0x2ae7;return{'name':_0x4213aa['cliName'],'type':_0x4213aa[_0x132b61(0xed)]==='json'?_0x132b61(0xa8):_0x4213aa[_0x132b61(0xed)],'description':_0x4213aa['description']||_0x4213aa['name'],'required':_0x4213aa[_0x132b61(0xeb)],'default':isPrimitiveFlagDefault(_0x4213aa['default'])?_0x4213aa['default']:undefined,'enum':_0x4213aa[_0x132b61(0xa0)]};}function a31_0x2ae7(_0x5a9603,_0x47f2ad){_0x5a9603=_0x5a9603-0x97;const _0x352357=a31_0x3523();let _0x2ae711=_0x352357[_0x5a9603];return _0x2ae711;}async function compilePlan(_0x4134c9,_0x8c4e3a){const _0x2a420c=a31_0x2ae7;return compileServiceTreeCommand(_0x4134c9,{'flags':_0x8c4e3a[_0x2a420c(0xe9)],'args':_0x8c4e3a[_0x2a420c(0xc3)],'context':await buildServiceContext(_0x4134c9,_0x8c4e3a)});}async function buildServiceContext(_0x48b11d,_0x53e98b){const _0xcdb77d=a31_0x2ae7,_0x4c80eb={'appCode':_0x53e98b[_0xcdb77d(0xb5)],'env':_0x53e98b['envName'],'envName':_0x53e98b[_0xcdb77d(0xce)]};if(!usesRuntimeContext(_0x48b11d))return _0x4c80eb;const _0x3a38f4=await getLoginUserInfo(),_0x3c258b=pickFirst(_0x3a38f4['userId'],_0x3a38f4['id']);return{..._0x4c80eb,'user':_0x3a38f4,'userId':_0x3c258b,'id':_0x3a38f4['id'],'username':pickFirst(_0x3a38f4[_0xcdb77d(0xc4)],_0x3a38f4[_0xcdb77d(0xb6)],_0x3a38f4[_0xcdb77d(0xd1)]),'userName':_0x3a38f4['userName'],'nickname':pickFirst(_0x3a38f4[_0xcdb77d(0xa5)],_0x3a38f4[_0xcdb77d(0xf3)]),'nickName':_0x3a38f4['nickName'],'tenantCode':_0x3a38f4[_0xcdb77d(0xf1)],'employeeId':_0x3a38f4[_0xcdb77d(0xac)]};}function usesRuntimeContext(_0x9919d){const _0x1d8c50=a31_0x2ae7;return _0x9919d[_0x1d8c50(0xe3)][_0x1d8c50(0xbc)](_0x1706de=>typeof _0x1706de[_0x1d8c50(0xf5)]===_0x1d8c50(0xa8)&&(_0x1706de[_0x1d8c50(0xf5)][_0x1d8c50(0xcd)](_0x1d8c50(0xe4))||_0x1706de[_0x1d8c50(0xf5)][_0x1d8c50(0xcd)]('ctx.')));}function pickFirst(..._0x1e750d){return _0x1e750d['find'](_0x39fda0=>_0x39fda0!==undefined&&_0x39fda0!==null);}async function executePlan(_0x4354a1,_0x231953,_0x3c3dc1){const _0x3ca519=a31_0x2ae7;if(_0x4354a1[_0x3ca519(0xd7)]==='data'){const _0x1ecd9f=await resolveDatasetCode(_0x4354a1,_0x231953,_0x3c3dc1);return executeData(_0x1ecd9f,_0x4354a1['command'],_0x4354a1['params']);}if(_0x4354a1[_0x3ca519(0xd7)]===_0x3ca519(0xba)){if(!_0x4354a1[_0x3ca519(0xfd)])throw CliErrors['validation'](_0x3ca519(0xa7)+_0x231953[_0x3ca519(0xe2)]+_0x3ca519(0x9a));return executeSdkSql(_0x4354a1[_0x3ca519(0xfd)],normalizeScalarParams(_0x4354a1[_0x3ca519(0xd8)]));}if(_0x4354a1[_0x3ca519(0xd7)]===_0x3ca519(0x98)){const _0x545a82=_0x4354a1['scriptName']||_0x4354a1['bffCode']||(_0x4354a1[_0x3ca519(0xee)]==null?'':String(_0x4354a1[_0x3ca519(0xee)]));if(!_0x545a82)throw CliErrors[_0x3ca519(0xa9)](_0x3ca519(0xa7)+_0x231953[_0x3ca519(0xe2)]+_0x3ca519(0xd0));return executeSdkBff(_0x545a82,_0x4354a1['params']);}throw CliErrors[_0x3ca519(0xa9)](_0x3ca519(0xe8)+_0x4354a1['kind']);}async function resolveDatasetCode(_0x18af7d,_0x509cd9,_0x46bd33){const _0x311e38=a31_0x2ae7;if(_0x18af7d['datasetCode'])return _0x18af7d[_0x311e38(0xb2)];if(!_0x18af7d[_0x311e38(0xc1)])throw CliErrors[_0x311e38(0xa9)](_0x311e38(0xa7)+_0x509cd9[_0x311e38(0xe2)]+_0x311e38(0xab));const _0x4df26a=await listDatasets(_0x46bd33[_0x311e38(0xb5)]),_0x2b0fd0=_0x4df26a['find'](_0x40d03c=>_0x40d03c[_0x311e38(0xe6)]?.[_0x311e38(0xfc)]===_0x18af7d[_0x311e38(0xc1)]);if(!_0x2b0fd0?.[_0x311e38(0xa4)])throw CliErrors[_0x311e38(0xa9)](_0x311e38(0xe7)+_0x18af7d[_0x311e38(0xc1)]+_0x311e38(0xda)+_0x46bd33[_0x311e38(0xb5)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x2b0fd0['code'];}function applyAppBinding(_0x17b256,_0x31f067,_0x1ee634){const _0x9bd48d=a31_0x2ae7,_0x500932=_0x31f067[_0x9bd48d(0xcc)][_0x9bd48d(0xd2)];if(!_0x500932)return;const _0x1b2ebd=_0x17b256[_0x9bd48d(0xd5)][_0x500932];if(!_0x1b2ebd)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x500932+_0x9bd48d(0x9f)+_0x31f067[_0x9bd48d(0xe2)]+'.',_0x9bd48d(0xb0));const _0x5d2e01=_0x1b2ebd[_0x9bd48d(0xc7)]||_0x1b2ebd[_0x9bd48d(0xb5)];_0x5d2e01&&!hasText(_0x1ee634[_0x9bd48d(0xc7)])&&(_0x1ee634[_0x9bd48d(0xc7)]=_0x5d2e01),_0x1b2ebd['app']&&!hasText(_0x1ee634[_0x9bd48d(0xb1)])&&!hasText(_0x1ee634['appcode'])&&(_0x1ee634['app']=_0x1b2ebd['app']),_0x1b2ebd['env']&&!hasText(_0x1ee634['env'])&&(_0x1ee634['env']=_0x1b2ebd['env']);}function renderDynamicCommandHelp(_0x5c02f5){const _0xd5bcdc=a31_0x2ae7,_0x2b06d8=[_0xd5bcdc(0xc5),_0xd5bcdc(0xf2)+_0x5c02f5['target'][_0xd5bcdc(0xd7)],'\x20\x20\x20\x20command:\x20'+_0x5c02f5['target'][_0xd5bcdc(0xcb)]];if(_0x5c02f5[_0xd5bcdc(0xcc)]['datasetCode'])_0x2b06d8[_0xd5bcdc(0xbb)](_0xd5bcdc(0xb7)+_0x5c02f5[_0xd5bcdc(0xcc)]['datasetCode']);if(_0x5c02f5[_0xd5bcdc(0xcc)][_0xd5bcdc(0xc1)])_0x2b06d8[_0xd5bcdc(0xbb)](_0xd5bcdc(0xad)+_0x5c02f5[_0xd5bcdc(0xcc)]['datatable']);if(_0x5c02f5[_0xd5bcdc(0xcc)]['sqlCode'])_0x2b06d8[_0xd5bcdc(0xbb)](_0xd5bcdc(0xa3)+_0x5c02f5[_0xd5bcdc(0xcc)][_0xd5bcdc(0xfd)]);if(_0x5c02f5[_0xd5bcdc(0xcc)][_0xd5bcdc(0xef)])_0x2b06d8['push'](_0xd5bcdc(0xde)+_0x5c02f5[_0xd5bcdc(0xcc)][_0xd5bcdc(0xef)]);if(_0x5c02f5['mapTo'][_0xd5bcdc(0x9e)]>0x0){_0x2b06d8[_0xd5bcdc(0xbb)]('',_0xd5bcdc(0x9d));for(const _0x136c16 of _0x5c02f5[_0xd5bcdc(0xe3)]){_0x2b06d8[_0xd5bcdc(0xbb)]('\x20\x20\x20\x20'+(_0x136c16[_0xd5bcdc(0xf5)]||_0xd5bcdc(0xf7))+_0xd5bcdc(0xd4)+_0x136c16[_0xd5bcdc(0xcc)]+(_0x136c16['operator']?'.'+_0x136c16[_0xd5bcdc(0xe1)]:''));}}return _0x2b06d8[_0xd5bcdc(0xb4)]('\x0a');}function targetPreview(_0x4a50cf){const _0x29aa62=a31_0x2ae7;return{'kind':_0x4a50cf[_0x29aa62(0xd7)],'command':_0x4a50cf['command'],'appRef':_0x4a50cf[_0x29aa62(0xd2)],'datasetCode':_0x4a50cf[_0x29aa62(0xb2)],'datatable':_0x4a50cf['datatable'],'sqlCode':_0x4a50cf[_0x29aa62(0xfd)],'bffCode':_0x4a50cf[_0x29aa62(0xb8)],'bffId':_0x4a50cf['bffId'],'scriptName':_0x4a50cf[_0x29aa62(0xef)]};}function normalizeScalarParams(_0x562c44){const _0x346afe=a31_0x2ae7;return Object[_0x346afe(0xf9)](Object[_0x346afe(0xcf)](_0x562c44)[_0x346afe(0xc6)](([,_0x5de61e])=>typeof _0x5de61e===_0x346afe(0xa8)||typeof _0x5de61e===_0x346afe(0xbf)));}function hasText(_0x301eca){const _0x3e1fd6=a31_0x2ae7;return typeof _0x301eca===_0x3e1fd6(0xa8)&&_0x301eca['trim']()[_0x3e1fd6(0x9e)]>0x0;}function isPrimitiveFlagDefault(_0x1acdf7){const _0x48af44=a31_0x2ae7;return _0x1acdf7===undefined||typeof _0x1acdf7===_0x48af44(0xa8)||typeof _0x1acdf7===_0x48af44(0xbf)||typeof _0x1acdf7===_0x48af44(0xc2);}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a32_0x3711(_0x1b618a,_0x5d5d6e){_0x1b618a=_0x1b618a-0x19d;const _0x2d3b6d=a32_0x2d3b();let _0x371110=_0x2d3b6d[_0x1b618a];return _0x371110;}const a32_0x4ca66e=a32_0x3711;(function(_0x3c9df1,_0x187095){const _0x191ac7=a32_0x3711,_0x5bf243=_0x3c9df1();while(!![]){try{const _0x169acc=parseInt(_0x191ac7(0x1c4))/0x1*(parseInt(_0x191ac7(0x1cd))/0x2)+parseInt(_0x191ac7(0x1bd))/0x3+-parseInt(_0x191ac7(0x1da))/0x4*(parseInt(_0x191ac7(0x1ca))/0x5)+parseInt(_0x191ac7(0x19f))/0x6+-parseInt(_0x191ac7(0x19e))/0x7+parseInt(_0x191ac7(0x1a0))/0x8*(parseInt(_0x191ac7(0x1c9))/0x9)+parseInt(_0x191ac7(0x1b3))/0xa*(-parseInt(_0x191ac7(0x1d2))/0xb);if(_0x169acc===_0x187095)break;else _0x5bf243['push'](_0x5bf243['shift']());}catch(_0x358f19){_0x5bf243['push'](_0x5bf243['shift']());}}}(a32_0x2d3b,0x47f46));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a32_0x4ca66e(0x1bc),'type':a32_0x4ca66e(0x1b4),'required':!![],'description':a32_0x4ca66e(0x1b8)},SERVICE_FLAG={'name':a32_0x4ca66e(0x1c5),'type':a32_0x4ca66e(0x1b4),'required':!![],'description':a32_0x4ca66e(0x1ba),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a32_0x4ca66e(0x1a9)}};function summarizeService(_0x49496f){const _0x200ab3=a32_0x4ca66e;return{'serviceCode':_0x49496f[_0x200ab3(0x1c3)],'name':_0x49496f[_0x200ab3(0x1ce)][_0x200ab3(0x1c5)][_0x200ab3(0x1c7)],'version':_0x49496f[_0x200ab3(0x1c2)],'importedAt':_0x49496f[_0x200ab3(0x1b5)],'source':_0x49496f['source'],'commandCount':_0x49496f[_0x200ab3(0x1ce)][_0x200ab3(0x1bf)][_0x200ab3(0x1d4)],'commands':_0x49496f[_0x200ab3(0x1ce)][_0x200ab3(0x1bf)]['map'](_0x446f4c=>({'path':_0x446f4c[_0x200ab3(0x19d)],'description':_0x446f4c[_0x200ab3(0x1b7)],'risk':_0x446f4c['risk'],'target':_0x446f4c[_0x200ab3(0x1cb)],'flags':_0x446f4c['flags'][_0x200ab3(0x1b1)](_0xc22744=>({'name':_0xc22744[_0x200ab3(0x1c7)],'cliName':_0xc22744[_0x200ab3(0x1d3)],'type':_0xc22744[_0x200ab3(0x1a6)],'required':_0xc22744['required']===!![]}))}))};}function a32_0x2d3b(){const _0x143538=['Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','entry','serviceCount','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Exported\x20service\x20','map','replaced','10jtbonl','string','importedAt','validate','description','Service\x20Tree\x20manifest\x20file\x20path','filePath','Local\x20service\x20code,\x20for\x20example\x20crm','errors','file','1594941KgCyka','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','commands','Imported','source','version','serviceCode','5667ufcXrX','service','registryPath','name','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','981dHpAwx','1834295OcXoqZ','target','Updated','38trrwOd','normalizedManifest','Local\x20service\x20not\x20found:\x20','hash','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','1233177eYHsys','cliName','length','warnings','read','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','export','detail','4pvOKYe','remove','cliPath','3074400GflExa','3298860bnLzHd','1744birKti','WRITE','report','risk','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','manifest','type','\x20service\x20','write','lower\x20kebab-case\x20service\x20code','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','str'];a32_0x2d3b=function(){return _0x143538;};return a32_0x2d3b();}export const serviceDefinitions=[{'service':a32_0x4ca66e(0x1c5),'command':a32_0x4ca66e(0x1b6),'description':a32_0x4ca66e(0x1c8),'risk':a32_0x4ca66e(0x1d6),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xc33177){const _0x2671ce=a32_0x4ca66e,_0x223524=loadServiceManifestFromFile(_0xc33177['str']('file'));if(!_0x223524['report']['ok'])return{'ok':![],'data':{'file':_0x223524[_0x2671ce(0x1b9)],'hash':_0x223524[_0x2671ce(0x1d0)],'errors':_0x223524[_0x2671ce(0x1a2)][_0x2671ce(0x1bb)],'warnings':_0x223524[_0x2671ce(0x1a2)][_0x2671ce(0x1d5)]},'message':formatValidationFailure(_0x223524[_0x2671ce(0x1a2)])};return{'ok':!![],'data':{'file':_0x223524[_0x2671ce(0x1b9)],'hash':_0x223524[_0x2671ce(0x1d0)],'service':_0x223524[_0x2671ce(0x1ce)]?.[_0x2671ce(0x1c5)],'version':_0x223524['normalizedManifest']?.[_0x2671ce(0x1c2)],'commandCount':_0x223524[_0x2671ce(0x1ce)]?.['commands'][_0x2671ce(0x1d4)]??0x0,'commands':_0x223524[_0x2671ce(0x1ce)]?.[_0x2671ce(0x1bf)]['map'](_0x77b65b=>({'path':_0x77b65b[_0x2671ce(0x19d)],'risk':_0x77b65b[_0x2671ce(0x1a3)],'target':_0x77b65b[_0x2671ce(0x1cb)]})),'warnings':_0x223524[_0x2671ce(0x1a2)][_0x2671ce(0x1d5)]},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':'service','command':'import','description':a32_0x4ca66e(0x1d1),'risk':a32_0x4ca66e(0x1a8),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2bd402){const _0x3d6076=a32_0x4ca66e,_0x50047b=loadServiceManifestFromFile(_0x2bd402[_0x3d6076(0x1ab)]('file'));return{'method':_0x3d6076(0x1a1),'url':getServiceRegistryPath(),'body':{'file':_0x50047b['filePath'],'hash':_0x50047b['hash'],'ok':_0x50047b[_0x3d6076(0x1a2)]['ok'],'service':_0x50047b[_0x3d6076(0x1ce)]?.[_0x3d6076(0x1c5)],'version':_0x50047b[_0x3d6076(0x1ce)]?.[_0x3d6076(0x1c2)],'errors':_0x50047b['report'][_0x3d6076(0x1bb)],'commandCount':_0x50047b['normalizedManifest']?.[_0x3d6076(0x1bf)][_0x3d6076(0x1d4)]??0x0},'description':_0x3d6076(0x1ac)};},async 'execute'(_0x2f2eea){const _0xe746ee=a32_0x4ca66e,_0x4b8e63=importServiceManifest(_0x2f2eea['str']('file'));return{'ok':!![],'data':{'registryPath':_0x4b8e63[_0xe746ee(0x1c6)],'replaced':_0x4b8e63[_0xe746ee(0x1b2)],'serviceCount':_0x4b8e63[_0xe746ee(0x1ae)],'service':summarizeService(_0x4b8e63[_0xe746ee(0x1ad)])},'message':(_0x4b8e63[_0xe746ee(0x1b2)]?_0xe746ee(0x1cc):_0xe746ee(0x1c0))+_0xe746ee(0x1a7)+_0x4b8e63[_0xe746ee(0x1ad)][_0xe746ee(0x1c3)]+'.'};}},{'service':a32_0x4ca66e(0x1c5),'command':a32_0x4ca66e(0x1d8),'description':a32_0x4ca66e(0x1af),'risk':a32_0x4ca66e(0x1a8),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x239b62){const _0x1fcc9e=a32_0x4ca66e,_0x46b02c=getLocalServiceEntry(_0x239b62[_0x1fcc9e(0x1ab)](_0x1fcc9e(0x1c5)));return{'method':'WRITE','url':_0x239b62[_0x1fcc9e(0x1ab)](_0x1fcc9e(0x1bc)),'body':{'service':_0x239b62[_0x1fcc9e(0x1ab)](_0x1fcc9e(0x1c5)),'found':Boolean(_0x46b02c),'version':_0x46b02c?.[_0x1fcc9e(0x1c2)],'source':_0x46b02c?.[_0x1fcc9e(0x1c1)]},'description':_0x1fcc9e(0x1aa)};},async 'execute'(_0x59a2c5){const _0x328478=a32_0x4ca66e,_0x15bc5e=exportServiceManifest(_0x59a2c5['str'](_0x328478(0x1c5)),_0x59a2c5[_0x328478(0x1ab)](_0x328478(0x1bc)));return{'ok':!![],'data':{'registryPath':_0x15bc5e[_0x328478(0x1c6)],'file':_0x15bc5e[_0x328478(0x1b9)],'service':summarizeService(_0x15bc5e[_0x328478(0x1ad)])},'message':_0x328478(0x1b0)+_0x15bc5e['entry'][_0x328478(0x1c3)]+'.'};}},{'service':'service','command':'list','description':a32_0x4ca66e(0x1d7),'risk':a32_0x4ca66e(0x1d6),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xd931a5=a32_0x4ca66e,_0x48b619=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x48b619[_0xd931a5(0x1d4)],'services':_0x48b619[_0xd931a5(0x1b1)](summarizeService)}};}},{'service':a32_0x4ca66e(0x1c5),'command':a32_0x4ca66e(0x1db),'description':a32_0x4ca66e(0x1a4),'risk':a32_0x4ca66e(0x1a8),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x34deee){const _0x4df68a=a32_0x4ca66e,_0x480a70=getLocalServiceEntry(_0x34deee[_0x4df68a(0x1ab)](_0x4df68a(0x1c5)));return{'method':_0x4df68a(0x1a1),'url':getServiceRegistryPath(),'body':{'service':_0x34deee[_0x4df68a(0x1ab)]('service'),'found':Boolean(_0x480a70),'version':_0x480a70?.['version'],'source':_0x480a70?.['source']},'description':_0x4df68a(0x1be)};},async 'execute'(_0x4d8efc){const _0xa6d8f0=a32_0x4ca66e,_0x1bd202=removeServiceManifest(_0x4d8efc['str'](_0xa6d8f0(0x1c5)));return{'ok':!![],'data':{'registryPath':_0x1bd202[_0xa6d8f0(0x1c6)],'serviceCount':_0x1bd202['serviceCount'],'service':summarizeService(_0x1bd202[_0xa6d8f0(0x1ad)])},'message':'Removed\x20service\x20'+_0x1bd202[_0xa6d8f0(0x1ad)][_0xa6d8f0(0x1c3)]+'.'};}},{'service':a32_0x4ca66e(0x1c5),'command':a32_0x4ca66e(0x1d9),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a32_0x4ca66e(0x1d6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2e45a0){const _0x1eadd9=a32_0x4ca66e,_0x56529e=getLocalServiceEntry(_0x2e45a0['str'](_0x1eadd9(0x1c5)));if(!_0x56529e)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2e45a0[_0x1eadd9(0x1ab)](_0x1eadd9(0x1c5))},'message':_0x1eadd9(0x1cf)+_0x2e45a0[_0x1eadd9(0x1ab)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x56529e),'manifest':_0x56529e[_0x1eadd9(0x1a5)],'normalizedManifest':_0x56529e[_0x1eadd9(0x1ce)]}};}}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0xbae53b,_0x3ab6a9){const _0x483216=a33_0x5500,_0x4733ab=_0xbae53b();while(!![]){try{const _0x4c30b4=-parseInt(_0x483216(0x1c9))/0x1*(-parseInt(_0x483216(0x1be))/0x2)+parseInt(_0x483216(0x1d3))/0x3*(parseInt(_0x483216(0x1a4))/0x4)+-parseInt(_0x483216(0x1ad))/0x5+-parseInt(_0x483216(0x1a3))/0x6+parseInt(_0x483216(0x1de))/0x7*(-parseInt(_0x483216(0x199))/0x8)+-parseInt(_0x483216(0x1ce))/0x9+-parseInt(_0x483216(0x1a9))/0xa*(-parseInt(_0x483216(0x1c2))/0xb);if(_0x4c30b4===_0x3ab6a9)break;else _0x4733ab['push'](_0x4733ab['shift']());}catch(_0x1007e7){_0x4733ab['push'](_0x4733ab['shift']());}}}(a33_0x1c4d,0x46b93));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a33_0x5500(_0x57197c,_0x729753){_0x57197c=_0x57197c-0x198;const _0x1c4d0c=a33_0x1c4d();let _0x550023=_0x1c4d0c[_0x57197c];return _0x550023;}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='service.json';export function getServiceRegistryPath(_0x56a0ad={}){const _0x491f96=a33_0x5500;return resolve(_0x56a0ad[_0x491f96(0x1cf)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x221f37={}){const _0x1e50c5=a33_0x5500,_0x6717fd=getServiceRegistryPath(_0x221f37);if(!existsSync(_0x6717fd))return emptyServiceRegistry();try{const _0x4100e7=readFileSync(_0x6717fd,_0x1e50c5(0x1c5));if(!_0x4100e7['trim']())return emptyServiceRegistry();const _0x117aec=JSON['parse'](_0x4100e7);if(_0x117aec[_0x1e50c5(0x1d0)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x1e50c5(0x1b5)](_0x1e50c5(0x1ac)+String(_0x117aec['schemaVersion']),'Remove\x20or\x20migrate\x20'+_0x6717fd+'.');if(!Array[_0x1e50c5(0x1da)](_0x117aec[_0x1e50c5(0x1cc)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x117aec['updatedAt'],'services':_0x117aec[_0x1e50c5(0x1cc)]};}catch(_0x1c3edb){if(_0x1c3edb instanceof Error&&_0x1c3edb['name']===_0x1e50c5(0x1a1))throw _0x1c3edb;throw CliErrors[_0x1e50c5(0x1b5)](_0x1e50c5(0x19d)+_0x6717fd,_0x1e50c5(0x1bc));}}export function writeServiceRegistry(_0x1da915,_0x484c5a={}){const _0x26e41a=a33_0x5500,_0x51d7fe=getServiceRegistryPath(_0x484c5a),_0x3f5b1d=dirname(_0x51d7fe);!existsSync(_0x3f5b1d)&&mkdirSync(_0x3f5b1d,{'recursive':!![]});const _0x27b8f4=_0x51d7fe+_0x26e41a(0x1a8);try{writeFileSync(_0x27b8f4,JSON['stringify'](_0x1da915,null,0x2)+'\x0a',{'encoding':_0x26e41a(0x1c5),'mode':0x180}),renameSync(_0x27b8f4,_0x51d7fe);}catch(_0x52c398){try{unlinkSync(_0x27b8f4);}catch{}if(_0x52c398?.[_0x26e41a(0x1d1)]===_0x26e41a(0x1dc))throw CliErrors['validation'](_0x26e41a(0x19b)+_0x51d7fe);throw _0x52c398;}return _0x51d7fe;}export function loadServiceManifestFromFile(_0x59ce1d){const _0x109d31=a33_0x5500,_0x462ac9=resolve(_0x59ce1d);if(!existsSync(_0x462ac9))throw CliErrors[_0x109d31(0x1b5)](_0x109d31(0x1d4)+_0x59ce1d);let _0x1faf33;const _0x55e6cd=readFileSync(_0x462ac9,_0x109d31(0x1c5));try{_0x1faf33=JSON[_0x109d31(0x1bd)](_0x55e6cd);}catch{throw CliErrors[_0x109d31(0x1b5)](_0x109d31(0x1b6)+_0x59ce1d,_0x109d31(0x1c8));}const _0x228a74=validateServiceTreeManifest(_0x1faf33);return{'filePath':_0x462ac9,'hash':sha256(_0x55e6cd),'manifest':_0x1faf33,'report':_0x228a74,'normalizedManifest':_0x228a74['ok']?normalizeServiceTreeManifest(_0x1faf33):undefined};}export function importServiceManifest(_0x21b671,_0x3d374d={}){const _0x3da31d=a33_0x5500,_0x258d77=loadServiceManifestFromFile(_0x21b671);if(!_0x258d77[_0x3da31d(0x1b2)]['ok']||!_0x258d77[_0x3da31d(0x1a2)])throw CliErrors[_0x3da31d(0x1b5)](formatValidationFailure(_0x258d77[_0x3da31d(0x1b2)]),_0x3da31d(0x1d2));const _0x27ee5a=readServiceRegistry(_0x3d374d),_0xeafb1e=_0x258d77[_0x3da31d(0x1a2)][_0x3da31d(0x1dd)]['code'],_0x130725=(_0x3d374d[_0x3da31d(0x1b3)]??(()=>new Date()))()[_0x3da31d(0x1b8)](),_0x1d423b={'serviceCode':_0xeafb1e,'version':_0x258d77[_0x3da31d(0x1a2)]['version'],'importedAt':_0x130725,'source':{'type':_0x3da31d(0x1c0),'path':_0x258d77[_0x3da31d(0x1aa)],'hash':_0x258d77[_0x3da31d(0x1ae)]},'manifest':_0x258d77[_0x3da31d(0x19a)],'normalizedManifest':_0x258d77[_0x3da31d(0x1a2)]},_0x3e0d3f=_0x27ee5a[_0x3da31d(0x1cc)][_0x3da31d(0x19c)](_0x1bd025=>_0x1bd025[_0x3da31d(0x1c4)]===_0xeafb1e),_0x235991=_0x3e0d3f>=0x0;_0x235991?_0x27ee5a[_0x3da31d(0x1cc)][_0x3e0d3f]=_0x1d423b:_0x27ee5a[_0x3da31d(0x1cc)][_0x3da31d(0x1cd)](_0x1d423b);_0x27ee5a[_0x3da31d(0x1cc)]['sort']((_0x16d137,_0x4ae487)=>_0x16d137[_0x3da31d(0x1c4)][_0x3da31d(0x1b0)](_0x4ae487['serviceCode'])),_0x27ee5a[_0x3da31d(0x1bf)]=_0x130725;const _0x24883f=writeServiceRegistry(_0x27ee5a,_0x3d374d);return{'registryPath':_0x24883f,'entry':_0x1d423b,'replaced':_0x235991,'serviceCount':_0x27ee5a[_0x3da31d(0x1cc)][_0x3da31d(0x1a0)]};}export function exportServiceManifest(_0x680c7f,_0x254952,_0x35a09f={}){const _0x282455=a33_0x5500,_0x18f219=getServiceRegistryPath(_0x35a09f),_0x36111a=getLocalServiceEntry(_0x680c7f,_0x35a09f);if(!_0x36111a)throw CliErrors[_0x282455(0x1b5)](_0x282455(0x1df)+_0x680c7f,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x5dfd09=resolve(_0x254952),_0x4b30ee=dirname(_0x5dfd09);return!existsSync(_0x4b30ee)&&mkdirSync(_0x4b30ee,{'recursive':!![]}),writeFileSync(_0x5dfd09,JSON[_0x282455(0x1ba)](_0x36111a[_0x282455(0x19a)],null,0x2)+'\x0a',{'encoding':_0x282455(0x1c5),'mode':0x180}),{'registryPath':_0x18f219,'filePath':_0x5dfd09,'entry':_0x36111a};}export function removeServiceManifest(_0x43a660,_0x2fd2da={}){const _0x46a46a=a33_0x5500,_0x370f10=readServiceRegistry(_0x2fd2da),_0x149706=_0x43a660[_0x46a46a(0x1c3)](),_0xd1b882=_0x370f10[_0x46a46a(0x1cc)][_0x46a46a(0x19c)](_0x3e3da3=>_0x3e3da3[_0x46a46a(0x1c4)]===_0x149706);if(_0xd1b882<0x0)throw CliErrors[_0x46a46a(0x1b5)]('Local\x20service\x20not\x20found:\x20'+_0x149706,_0x46a46a(0x1b7));const [_0x378bf7]=_0x370f10[_0x46a46a(0x1cc)][_0x46a46a(0x1a5)](_0xd1b882,0x1),_0x5b95e6=(_0x2fd2da[_0x46a46a(0x1b3)]??(()=>new Date()))()[_0x46a46a(0x1b8)]();_0x370f10[_0x46a46a(0x1bf)]=_0x5b95e6;const _0x2e2874=writeServiceRegistry(_0x370f10,_0x2fd2da);return{'registryPath':_0x2e2874,'entry':_0x378bf7,'serviceCount':_0x370f10[_0x46a46a(0x1cc)][_0x46a46a(0x1a0)]};}export function listLocalServices(_0xa68dc3={}){return readServiceRegistry(_0xa68dc3)['services'];}export function getLocalServiceEntry(_0x4f2ee9,_0x88d235={}){const _0x2bfdcc=a33_0x5500;return readServiceRegistry(_0x88d235)['services'][_0x2bfdcc(0x1b4)](_0x46ea00=>_0x46ea00['serviceCode']===_0x4f2ee9['trim']());}function a33_0x1c4d(){const _0x1c58b1=['644RqUkkq','splice','errors','reduce','.tmp','13430LTflQk','filePath','map','Unsupported\x20service\x20registry\x20schemaVersion:\x20','1481890adeGmx','hash','sha256','localeCompare','message','report','now','find','validation','Invalid\x20service\x20manifest\x20JSON:\x20','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','toISOString','commands','stringify','description','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','parse','182VeXaYU','updatedAt','file','kind','9405uOxfXn','trim','serviceCode','utf8','join','hex','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','4253wsCgiT','importedAt','path','services','push','3384558aaEUrn','homeDir','schemaVersion','code','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','651AvbrQg','Service\x20manifest\x20file\x20not\x20found:\x20','missing','Unsupported\x20schemaVersion:\x20','digest','target','invalid','isArray','version','ENOENT','service','91abbdxj','Local\x20service\x20not\x20found:\x20','name','122072oUyRxE','manifest','Cannot\x20write\x20service\x20registry:\x20','findIndex','Invalid\x20service\x20registry\x20JSON:\x20','update','risk','length','CliError','normalizedManifest','2458410ciYJwK'];a33_0x1c4d=function(){return _0x1c58b1;};return a33_0x1c4d();}export function listLocalServiceTrees(_0x423e5a={}){const _0x293935=a33_0x5500;return readServiceRegistry(_0x423e5a)[_0x293935(0x1cc)][_0x293935(0x1ab)](_0x264513=>_0x264513[_0x293935(0x1a2)]);}export function inspectServiceRegistry(_0x2f2aea={}){const _0x15e0ca=a33_0x5500,_0x3e6225=getServiceRegistryPath(_0x2f2aea);if(!existsSync(_0x3e6225))return emptyServiceRegistryInspection(_0x3e6225,_0x15e0ca(0x1d5),![]);try{const _0x2af9ee=readFileSync(_0x3e6225,_0x15e0ca(0x1c5));if(!_0x2af9ee[_0x15e0ca(0x1c3)]())return emptyServiceRegistryInspection(_0x3e6225,'empty',!![]);const _0x289eaf=JSON[_0x15e0ca(0x1bd)](_0x2af9ee);if(_0x289eaf[_0x15e0ca(0x1d0)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3e6225,'invalid',!![]),'schemaVersion':_0x289eaf[_0x15e0ca(0x1d0)],'message':_0x15e0ca(0x1d6)+String(_0x289eaf['schemaVersion'])};if(!Array[_0x15e0ca(0x1da)](_0x289eaf[_0x15e0ca(0x1cc)]))return{...emptyServiceRegistryInspection(_0x3e6225,_0x15e0ca(0x1d9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x289eaf[_0x15e0ca(0x1bf)],'message':'services\x20must\x20be\x20an\x20array'};const _0x3b243f=_0x289eaf[_0x15e0ca(0x1cc)][_0x15e0ca(0x1ab)](summarizeLocalServiceEntry);return{'registryPath':_0x3e6225,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x289eaf[_0x15e0ca(0x1bf)],'serviceCount':_0x3b243f[_0x15e0ca(0x1a0)],'commandCount':_0x3b243f[_0x15e0ca(0x1a7)]((_0x15b0fa,_0x5a2ddf)=>_0x15b0fa+_0x5a2ddf['commandCount'],0x0),'services':_0x3b243f};}catch(_0x1e02dd){return{...emptyServiceRegistryInspection(_0x3e6225,_0x15e0ca(0x1d9),!![]),'message':_0x1e02dd instanceof Error?_0x1e02dd[_0x15e0ca(0x1b1)]:String(_0x1e02dd)};}}export function formatValidationFailure(_0x149ae3){const _0x9954ac=a33_0x5500,_0x4d3d0f=_0x149ae3[_0x9954ac(0x1a6)][_0x9954ac(0x1ab)](_0x34ac0d=>_0x34ac0d[_0x9954ac(0x1cb)]+':\x20'+_0x34ac0d[_0x9954ac(0x1b1)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x4d3d0f[_0x9954ac(0x1c6)]('\x0a');}function emptyServiceRegistryInspection(_0x1ba117,_0x1b426b,_0x166812){return{'registryPath':_0x1ba117,'exists':_0x166812,'status':_0x1b426b,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x22d49){const _0x3222ce=a33_0x5500,_0x5104ef=_0x22d49[_0x3222ce(0x1a2)],_0x3958c3=_0x5104ef[_0x3222ce(0x1b9)][_0x3222ce(0x1ab)](_0x454368=>({'path':_0x454368['cliPath'],'description':_0x454368[_0x3222ce(0x1bb)],'risk':_0x454368[_0x3222ce(0x19f)],'targetKind':_0x454368[_0x3222ce(0x1d8)][_0x3222ce(0x1c1)],'targetCommand':_0x454368[_0x3222ce(0x1d8)]['command']}));return{'serviceCode':_0x22d49[_0x3222ce(0x1c4)],'name':_0x5104ef[_0x3222ce(0x1dd)][_0x3222ce(0x198)],'description':_0x5104ef['service']['description'],'version':_0x22d49[_0x3222ce(0x1db)],'importedAt':_0x22d49[_0x3222ce(0x1ca)],'source':_0x22d49['source'],'commandCount':_0x3958c3[_0x3222ce(0x1a0)],'commands':_0x3958c3};}function sha256(_0x4abec5){const _0x16d751=a33_0x5500;return createHash(_0x16d751(0x1af))[_0x16d751(0x19e)](_0x4abec5)[_0x16d751(0x1d7)](_0x16d751(0x1c7));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a30_0x171879=a30_0x1eea;(function(_0x5d22e4,_0x528734){const _0x3f908b=a30_0x1eea,_0x397ee1=_0x5d22e4();while(!![]){try{const _0x539172=-parseInt(_0x3f908b(0x191))/0x1+parseInt(_0x3f908b(0x1e0))/0x2+-parseInt(_0x3f908b(0x19d))/0x3*(-parseInt(_0x3f908b(0x1a6))/0x4)+parseInt(_0x3f908b(0x1ab))/0x5+-parseInt(_0x3f908b(0x1c8))/0x6*(parseInt(_0x3f908b(0x1b5))/0x7)+-parseInt(_0x3f908b(0x1b8))/0x8*(parseInt(_0x3f908b(0x1dd))/0x9)+parseInt(_0x3f908b(0x1bc))/0xa;if(_0x539172===_0x528734)break;else _0x397ee1['push'](_0x397ee1['shift']());}catch(_0x53e108){_0x397ee1['push'](_0x397ee1['shift']());}}}(a30_0x1b2a,0x9479c));import{CLI_BIN_NAME,CLI_DISPLAY_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';import{logger}from'../../utils/logger.js';import{basename,dirname}from'node:path';const CODE_FLAG={'name':a30_0x171879(0x1a1),'type':a30_0x171879(0x1d2),'description':a30_0x171879(0x1e5)},SCOPE_FLAG={'name':'scope','type':a30_0x171879(0x1d2),'description':a30_0x171879(0x1ae)},DIR_FLAG={'name':a30_0x171879(0x1ac),'type':'string','required':!![],'description':a30_0x171879(0x1cd)};function a30_0x1eea(_0x27ee24,_0x1a5127){_0x27ee24=_0x27ee24-0x18e;const _0x1b2adf=a30_0x1b2a();let _0x1eea69=_0x1b2adf[_0x27ee24];return _0x1eea69;}function summarizeRuntimeSkill(_0x472c59){const _0xab184c=a30_0x171879;return{'id':_0x472c59['id'],'skillCode':_0x472c59['skillCode'],'skillName':_0x472c59[_0xab184c(0x1e3)],'scope':_0x472c59[_0xab184c(0x1c0)],'version':_0x472c59['version'],'readonly':_0x472c59[_0xab184c(0x1a4)]};}function filterByCode(_0x4e0fdd,_0x35102f){const _0x260e3e=a30_0x171879,_0x2aed09=_0x35102f['trim']();if(!_0x2aed09)return _0x4e0fdd;return _0x4e0fdd[_0x260e3e(0x199)](_0x1d429a=>_0x1d429a[_0x260e3e(0x1c7)]===_0x2aed09);}function a30_0x1b2a(){const _0x5c2588=['validation','5288090KhgOsH','dir','personal','Skill\x20pull\x20scope:\x20user\x20(personal/company)\x20or\x20builtin','isArray','trim','\x20skill\x20installed','join','sort','apiError','3101903GhtbiD','Pull\x20runtime\x20Skills\x20into\x20explicit\x20local\x20agent\x20skill\x20directories','Skipped\x20npx\x20(','2724680SQevjv','get','size','updated','6809770CWTnVV','object','files','zipSize','scope','skill','Install\x20the\x20published\x20','\x20company\x20Skill(s).','appCode','push','map','skillCode','6FzwAQc','zipSha256','find','authRequired','contentHash','Local\x20Skill\x20directory\x20containing\x20SKILL.md','../../skills/runtime-skill-sync.js','accessKey','../../core/api-client.js','path','string','SKILL.md','log','\x20developer\x20skill','created','error','write','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','info','user','reduce','9OFMgPW','Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.','length','264646BJNwsk','builtin','Created\x20personal\x20Skill\x20','skillName','pull','Only\x20pull\x20a\x20specific\x20runtime\x20Skill\x20code','sha256','treeSha256','company','envName','1190533HpZQox','action','some','Pulled\x20','\x20-g\x20-y)...','input','install','unknown','filter','npx\x20skills\x20add\x20failed:\x20','production','skipped','3zXYSGH','skill-install','nonInteractive','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.','code','unchanged','ossPath','readonly','../../skills/npx-skills-add.js','2845940FWTeua','str','inherit','Check\x20network\x20connectivity\x20and\x20try\x20again.'];a30_0x1b2a=function(){return _0x5c2588;};return a30_0x1b2a();}export const skillDefinitions=[{'service':a30_0x171879(0x1c1),'command':a30_0x171879(0x197),'description':a30_0x171879(0x1c2)+CLI_BIN_NAME+a30_0x171879(0x1d5),'risk':a30_0x171879(0x1d8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x168b8d){const _0x5cceac=a30_0x171879;logger['setLogPath'](process['cwd']()),logger[_0x5cceac(0x1da)](_0x5cceac(0x19e),'Installing\x20published\x20'+CLI_DISPLAY_NAME+'\x20skill\x20via\x20npx.');const {LOVRABET_SKILL_SOURCE:_0x284805,LOVRABET_SKIP_NPX_SKILLS_ENV:_0x2f000c,runNpxSkillsAddGlobal:_0x5c4a0e}=await import(_0x5cceac(0x1a5)),_0x421657=_0x168b8d[_0x5cceac(0x19f)]?'pipe':_0x5cceac(0x1a8);console[_0x5cceac(0x1d4)]('Installing\x20official\x20skill\x20via\x20npx\x20(npx\x20skills\x20add\x20'+_0x284805+_0x5cceac(0x195));const _0x4f2df7=_0x5c4a0e(process['cwd'](),_0x284805,{'stdio':_0x421657});if(_0x4f2df7[_0x5cceac(0x19c)])console['log'](_0x5cceac(0x1b7)+_0x2f000c+'=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x4f2df7['ok'])console[_0x5cceac(0x1d4)](CLI_BIN_NAME+_0x5cceac(0x1b1));else throw CliErrors[_0x5cceac(0x1b4)](_0x5cceac(0x19a)+(_0x4f2df7[_0x5cceac(0x1d7)]||_0x5cceac(0x198)),_0x5cceac(0x1a9));}return{'ok':!![]};}},{'service':a30_0x171879(0x1c1),'command':a30_0x171879(0x1e4),'description':a30_0x171879(0x1b6),'risk':a30_0x171879(0x1d8),'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x29ff7e){const _0x491ba8=a30_0x171879,{downloadRuntimeSkillPackage:_0x4ef652,listCompanyRuntimeSkills:_0x584323,listPersonalRuntimeSkills:_0x4bb3ec,listVisibleRuntimeSkills:_0x4e0f4c}=await import(_0x491ba8(0x1d0)),{linkGlobalRuntimeSkills:_0x11c2ca,linkEffectiveRuntimeSkills:_0x4b9d9c,materializeRuntimeSkill:_0x13a30e}=await import(_0x491ba8(0x1ce)),_0x2a5274=_0x29ff7e[_0x491ba8(0x1a7)]('code'),_0xc8f375=normalizePullScope(_0x29ff7e[_0x491ba8(0x1a7)]('scope')),_0x39d101=_0x29ff7e[_0x491ba8(0x190)]??_0x491ba8(0x19b),_0x289adb=_0x29ff7e[_0x491ba8(0x1cf)];if(!_0x289adb)throw CliErrors['authRequired']();if(_0xc8f375===_0x491ba8(0x1e1)){const _0x54bb0d=filterByCode((await _0x4e0f4c(_0x29ff7e['appCode']))[_0x491ba8(0x199)](_0x425244=>_0x425244['scope']===_0x491ba8(0x1e1)),_0x2a5274),_0x3c9d00=[];for(const _0x362b28 of _0x54bb0d){_0x3c9d00[_0x491ba8(0x1c5)](_0x13a30e(_0x362b28,_0x491ba8(0x1e1),{'env':_0x39d101,'accessKey':_0x289adb,'appCode':_0x29ff7e[_0x491ba8(0x1c4)],'packageBytes':await downloadPackageIfNeeded(_0x362b28,_0x491ba8(0x1e1),_0x29ff7e[_0x491ba8(0x1c4)],_0x4ef652)}));}const _0x2696e4=_0x11c2ca(_0x3c9d00),_0x4c1b6b=countLinkActions(_0x2696e4),_0x457392=_0x2696e4[0x0]?.[_0x491ba8(0x1d1)]?dirname(_0x2696e4[0x0][_0x491ba8(0x1d1)]):undefined,_0x260bff=new Map(_0x2696e4[_0x491ba8(0x1c6)](_0x185708=>[basename(_0x185708[_0x491ba8(0x1d1)]),_0x185708]));return{'ok':!![],'data':{'appCode':_0x29ff7e[_0x491ba8(0x1c4)],'scope':_0x491ba8(0x1e1),'builtin':_0x54bb0d['length'],'materialized':_0x3c9d00[_0x491ba8(0x1df)],'globalRoot':_0x457392,'links':{'total':_0x2696e4[_0x491ba8(0x1df)],'created':_0x4c1b6b[_0x491ba8(0x1d6)]??0x0,'updated':_0x4c1b6b[_0x491ba8(0x1bb)]??0x0,'unchanged':_0x4c1b6b[_0x491ba8(0x1a2)]??0x0,'skipped':0x0,'conflicted':0x0},'skills':{'builtin':_0x54bb0d[_0x491ba8(0x1c6)](_0x2a67ad=>{const _0x42f343=_0x491ba8,_0x283735=_0x260bff[_0x42f343(0x1b9)](_0x2a67ad[_0x42f343(0x1c7)]);return{...summarizeRuntimeSkill(_0x2a67ad),'contentHash':_0x283735?.[_0x42f343(0x1cc)]};})}},'message':_0x491ba8(0x194)+_0x54bb0d[_0x491ba8(0x1df)]+'\x20builtin\x20Skill(s).'};}const _0xb8e95d=filterByCode(await _0x4bb3ec(_0x29ff7e[_0x491ba8(0x1c4)]),_0x2a5274),_0xa475b3=filterByCode(await _0x584323(_0x29ff7e[_0x491ba8(0x1c4)]),_0x2a5274),_0x22c9aa=[];for(const _0x3a5fd8 of _0xb8e95d){_0x22c9aa[_0x491ba8(0x1c5)](_0x13a30e(_0x3a5fd8,'personal',{'env':_0x39d101,'accessKey':_0x289adb,'appCode':_0x29ff7e['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x3a5fd8,_0x491ba8(0x1ad),_0x29ff7e[_0x491ba8(0x1c4)],_0x4ef652)}));}for(const _0x29305e of _0xa475b3){_0x22c9aa[_0x491ba8(0x1c5)](_0x13a30e(_0x29305e,_0x491ba8(0x18f),{'env':_0x39d101,'accessKey':_0x289adb,'appCode':_0x29ff7e['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x29305e,_0x491ba8(0x18f),_0x29ff7e[_0x491ba8(0x1c4)],_0x4ef652)}));}const _0xdf0f0c=_0x4b9d9c(_0x22c9aa,_0x29ff7e[_0x491ba8(0x1c4)]),_0x1ef65d=countLinkActions(_0xdf0f0c);return{'ok':!![],'data':{'appCode':_0x29ff7e[_0x491ba8(0x1c4)],'personal':_0xb8e95d['length'],'company':_0xa475b3[_0x491ba8(0x1df)],'materialized':_0x22c9aa[_0x491ba8(0x1df)],'links':{'total':_0xdf0f0c[_0x491ba8(0x1df)],'created':_0x1ef65d[_0x491ba8(0x1d6)]??0x0,'updated':_0x1ef65d['updated']??0x0,'unchanged':_0x1ef65d[_0x491ba8(0x1a2)]??0x0,'skipped':0x0,'conflicted':0x0},'skills':{'personal':_0xb8e95d['map'](summarizeRuntimeSkill),'company':_0xa475b3['map'](summarizeRuntimeSkill)}},'message':'Pulled\x20'+_0xb8e95d['length']+'\x20personal\x20and\x20'+_0xa475b3[_0x491ba8(0x1df)]+_0x491ba8(0x1c3)};}},{'service':a30_0x171879(0x1c1),'command':a30_0x171879(0x1c5),'description':a30_0x171879(0x1d9),'risk':a30_0x171879(0x1d8),'flags':[DIR_FLAG],async 'execute'(_0x5b5ac2){const _0x11b8a1=a30_0x171879,{createPersonalRuntimeSkill:_0x3053bc,downloadRuntimeSkillPackage:_0x5edcc5,listPersonalRuntimeSkills:_0xc96aef,updatePersonalRuntimeSkill:_0x17ce07}=await import(_0x11b8a1(0x1d0)),{verifyRuntimeSkillPackage:_0x3ea9de,readPushDirectory:_0x1e1995,recordPushedRuntimeSkill:_0x53e3af}=await import(_0x11b8a1(0x1ce));if(!_0x5b5ac2[_0x11b8a1(0x1cf)])throw CliErrors[_0x11b8a1(0x1cb)]();const _0x25cdfb=_0x1e1995(_0x5b5ac2['str'](_0x11b8a1(0x1ac)),_0x5b5ac2[_0x11b8a1(0x1c4)]),_0x5bd217=(await _0xc96aef(_0x5b5ac2['appCode']))[_0x11b8a1(0x1ca)](_0x19263c=>_0x19263c[_0x11b8a1(0x1c7)]===_0x25cdfb[_0x11b8a1(0x1c7)]),_0x39a5ec=_0x5bd217?await _0x17ce07(_0x25cdfb[_0x11b8a1(0x1c7)],_0x5b5ac2[_0x11b8a1(0x1c4)],_0x25cdfb[_0x11b8a1(0x196)]):await _0x3053bc(_0x5b5ac2[_0x11b8a1(0x1c4)],_0x25cdfb[_0x11b8a1(0x196)]);assertMultiFilePushPersisted(_0x25cdfb[_0x11b8a1(0x196)][_0x11b8a1(0x1be)],_0x39a5ec);if(isPackageBackedMultiFile(_0x39a5ec['files'])){const _0x1c0fcd=await _0x5edcc5('personal',_0x25cdfb[_0x11b8a1(0x1c7)],_0x5b5ac2[_0x11b8a1(0x1c4)]);_0x3ea9de(_0x39a5ec[_0x11b8a1(0x1be)],_0x1c0fcd);}return _0x53e3af(_0x5b5ac2[_0x11b8a1(0x1a7)](_0x11b8a1(0x1ac)),_0x39a5ec,_0x5b5ac2['appCode']),{'ok':!![],'data':summarizeRuntimeSkill(_0x39a5ec),'message':_0x5bd217?'Updated\x20personal\x20Skill\x20'+_0x25cdfb[_0x11b8a1(0x1c7)]:_0x11b8a1(0x1e2)+_0x25cdfb[_0x11b8a1(0x1c7)]};}}];async function downloadPackageIfNeeded(_0x43f4e8,_0x267efa,_0x3ff77a,_0xb65aed){const _0x45fee5=a30_0x171879;if(!isPackageBackedManifest(_0x43f4e8[_0x45fee5(0x1be)]))return undefined;return _0xb65aed(_0x267efa,_0x43f4e8[_0x45fee5(0x1c7)],_0x3ff77a);}function normalizePullScope(_0x58442f){const _0xadbf06=a30_0x171879,_0x4089dc=_0x58442f[_0xadbf06(0x1b0)]();if(!_0x4089dc)return _0xadbf06(0x1db);if(_0x4089dc==='user'||_0x4089dc===_0xadbf06(0x1e1))return _0x4089dc;throw CliErrors[_0xadbf06(0x1aa)]('Unsupported\x20Skill\x20pull\x20scope:\x20'+_0x58442f);}function countLinkActions(_0x5e921b){const _0x193d0f=a30_0x171879;return _0x5e921b[_0x193d0f(0x1dc)]((_0x257c9d,_0x569a4f)=>{const _0xb1b444=_0x193d0f;return _0x257c9d[_0x569a4f[_0xb1b444(0x192)]]=(_0x257c9d[_0x569a4f[_0xb1b444(0x192)]]??0x0)+0x1,_0x257c9d;},{});}function assertMultiFilePushPersisted(_0x398a8e,_0x16bccc){const _0x39d7cd=a30_0x171879;if(!isMultiFileManifest(_0x398a8e))return;if(!isPackageBackedMultiFile(_0x16bccc[_0x39d7cd(0x1be)]))throw CliErrors[_0x39d7cd(0x1aa)]('Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.');if(_0x398a8e[_0x39d7cd(0x18e)]!==_0x16bccc[_0x39d7cd(0x1be)]['treeSha256']||_0x398a8e[_0x39d7cd(0x1c9)]!==_0x16bccc[_0x39d7cd(0x1be)]['zipSha256']||_0x398a8e['zipSize']!==_0x16bccc['files'][_0x39d7cd(0x1bf)]||!_0x16bccc['files']['ossPath']||manifestFileSignature(_0x398a8e)!==manifestFileSignature(_0x16bccc[_0x39d7cd(0x1be)]))throw CliErrors[_0x39d7cd(0x1aa)](_0x39d7cd(0x1de),_0x39d7cd(0x1a0));}function isPackageBackedManifest(_0x19214a){const _0x2e3ee5=a30_0x171879;return!!_0x19214a&&typeof _0x19214a===_0x2e3ee5(0x1bd)&&!Array['isArray'](_0x19214a)&&typeof _0x19214a[_0x2e3ee5(0x1a3)]===_0x2e3ee5(0x1d2)&&_0x19214a[_0x2e3ee5(0x1a3)]['length']>0x0&&Array['isArray'](_0x19214a[_0x2e3ee5(0x1be)]);}function isPackageBackedMultiFile(_0x4ba53c){return isPackageBackedManifest(_0x4ba53c)&&isMultiFileManifest(_0x4ba53c);}function isMultiFileManifest(_0x1a1602){const _0x4eff21=a30_0x171879;return!!_0x1a1602&&typeof _0x1a1602===_0x4eff21(0x1bd)&&!Array[_0x4eff21(0x1af)](_0x1a1602)&&Array[_0x4eff21(0x1af)](_0x1a1602['files'])&&_0x1a1602['files'][_0x4eff21(0x193)](_0x2bed42=>_0x2bed42[_0x4eff21(0x1d1)]!==_0x4eff21(0x1d3));}function manifestFileSignature(_0x6f5f0c){const _0x4ce509=a30_0x171879;return[..._0x6f5f0c[_0x4ce509(0x1be)]]['map'](_0x49fbc5=>_0x49fbc5['path']+'\x00'+_0x49fbc5[_0x4ce509(0x1e6)]+'\x00'+_0x49fbc5[_0x4ce509(0x1ba)])[_0x4ce509(0x1b3)]()[_0x4ce509(0x1b2)]('\x00');}
|
|
1
|
+
const a34_0x481274=a34_0x4668;(function(_0x18313a,_0x476237){const _0x1a7682=a34_0x4668,_0x553082=_0x18313a();while(!![]){try{const _0x4d4994=-parseInt(_0x1a7682(0x132))/0x1+parseInt(_0x1a7682(0x137))/0x2+parseInt(_0x1a7682(0x154))/0x3*(-parseInt(_0x1a7682(0x149))/0x4)+parseInt(_0x1a7682(0x16b))/0x5+parseInt(_0x1a7682(0x155))/0x6+-parseInt(_0x1a7682(0x14f))/0x7+parseInt(_0x1a7682(0x178))/0x8;if(_0x4d4994===_0x476237)break;else _0x553082['push'](_0x553082['shift']());}catch(_0x1f9ad7){_0x553082['push'](_0x553082['shift']());}}}(a34_0x554c,0xee9c4));import{CLI_BIN_NAME,CLI_DISPLAY_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';import{logger}from'../../utils/logger.js';import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';function a34_0x554c(){const _0x46c241=['linkedPaths','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','Skill\x20validation\x20passed.','Unsupported\x20Skill\x20pull\x20scope:\x20','write','\x20skill\x20installed','1920665npyRiU','skillCode','Skill\x20directory\x20already\x20exists:\x20','strict','boolean','3364476WmNrFQ','effective','warnings','\x20skill\x20via\x20npx.','Install\x20the\x20published\x20','SKILL.md','Skipped\x20npx\x20(','skillName','Installing\x20published\x20','cwd','size','isArray','metadataPath','Listed\x20','Installing\x20official\x20skill\x20via\x20npx\x20(npx\x20skills\x20add\x20','read','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','skillMdPath','40YuwXDr','unknown','local','info','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','version','1659014NuhnKx','appCode','Skill\x20template\x20type','Updated\x20personal\x20Skill\x20','push','480177uSfvxn','4628994CjsRJE','map','created','bool','length','skillDir','ossPath','string','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','company','input','isDirectory','Check\x20network\x20connectivity\x20and\x20try\x20again.','personal','zipSize','str','name','dir','find','skipped','Skill\x20pull\x20scope:\x20user\x20(personal/company)','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','282605mtraTi','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','nonInteractive','readonly','user','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','target','public','files','sha256','scope','authRequired','Unsupported\x20Skill\x20list\x20scope:\x20','17802776UTLSxG','list','validate','\x20local\x20Skill(s).','isSymbolicLink','Local\x20Skill\x20directory\x20containing\x20SKILL.md','updated','\x20remote\x20Skill(s).','validation','removed','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','treeSha256','force','Created\x20local\x20Skill\x20draft\x20','log','../../core/api-client.js','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','\x20company\x20Skill(s).','utf8','filter','../../skills/runtime-skill-sync.js','Refusing\x20to\x20overwrite\x20symlink:\x20','pull','trim','sort','accessKey','errors','=1);\x20assuming\x20skill\x20is\x20already\x20present.','all','install','action','path','Pull\x20runtime\x20Skills\x20into\x20explicit\x20local\x20agent\x20skill\x20directories','type','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','status','inherit','tags','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.','unchanged','npx\x20skills\x20add\x20failed:\x20','rendered','envName','some','Skill\x20list\x20scope:\x20user,\x20personal,\x20company,\x20public,\x20or\x20all','../../skills/npx-skills-add.js','skill','object','treeHash','\x20personal\x20and\x20'];a34_0x554c=function(){return _0x46c241;};return a34_0x554c();}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':'code','type':a34_0x481274(0x15c),'description':a34_0x481274(0x16c)},SCOPE_FLAG={'name':a34_0x481274(0x175),'type':a34_0x481274(0x15c),'description':a34_0x481274(0x169)},LIST_SCOPE_FLAG={'name':'scope','type':a34_0x481274(0x15c),'description':a34_0x481274(0x1a5),'enum':[a34_0x481274(0x16f),a34_0x481274(0x162),a34_0x481274(0x15e),'public',a34_0x481274(0x194)]},LOCAL_FLAG={'name':'local','type':'boolean','description':a34_0x481274(0x12d)},DIR_FLAG={'name':'dir','type':'string','required':!![],'description':a34_0x481274(0x17d)},CREATE_NAME_FLAG={'name':a34_0x481274(0x165),'type':a34_0x481274(0x15c),'required':!![],'description':a34_0x481274(0x15d),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a34_0x481274(0x182)}},TYPE_FLAG={'name':a34_0x481274(0x199),'type':a34_0x481274(0x15c),'description':a34_0x481274(0x151),'default':a34_0x481274(0x130),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a34_0x481274(0x171),'type':'string','description':a34_0x481274(0x19e),'default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':a34_0x481274(0x184),'type':a34_0x481274(0x136),'description':a34_0x481274(0x147)},STRICT_FLAG={'name':'strict','type':a34_0x481274(0x136),'description':a34_0x481274(0x16a)};function summarizeRuntimeSkill(_0x5ba723){const _0x4b568a=a34_0x481274;return{'id':_0x5ba723['id'],'skillCode':_0x5ba723[_0x4b568a(0x133)],'skillName':_0x5ba723[_0x4b568a(0x13e)],'scope':_0x5ba723['scope'],'version':_0x5ba723[_0x4b568a(0x14e)],'readonly':_0x5ba723[_0x4b568a(0x16e)]};}function summarizeLocalRuntimeSkill(_0x2b7769){const _0x393747=a34_0x481274;return{'id':_0x2b7769['id'],'skillCode':_0x2b7769[_0x393747(0x133)],'skillName':_0x2b7769[_0x393747(0x13e)],'scope':_0x2b7769[_0x393747(0x175)],'appCode':_0x2b7769['appCode'],'version':_0x2b7769[_0x393747(0x14e)],'status':_0x2b7769[_0x393747(0x19b)],'readonly':_0x2b7769[_0x393747(0x16e)],'tags':_0x2b7769[_0x393747(0x19d)],'dir':_0x2b7769[_0x393747(0x166)],'cacheDir':_0x2b7769['cacheDir'],'skillMdPath':_0x2b7769[_0x393747(0x148)],'metadataPath':_0x2b7769[_0x393747(0x143)],'linkedPaths':_0x2b7769[_0x393747(0x1ab)],'contentHash':_0x2b7769['contentHash'],'treeHash':_0x2b7769[_0x393747(0x1a9)],'pulledAt':_0x2b7769['pulledAt']};}export const skillDefinitions=[{'service':a34_0x481274(0x1a7),'command':a34_0x481274(0x195),'description':a34_0x481274(0x13b)+CLI_BIN_NAME+'\x20developer\x20skill','risk':a34_0x481274(0x130),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xea0d9c){const _0x2564c2=a34_0x481274;logger['setLogPath'](process['cwd']()),logger[_0x2564c2(0x14c)]('skill-install',_0x2564c2(0x13f)+CLI_DISPLAY_NAME+_0x2564c2(0x13a));const {LOVRABET_SKILL_SOURCE:_0x3322ec,LOVRABET_SKIP_NPX_SKILLS_ENV:_0x2d0f44,runNpxSkillsAddGlobal:_0x1cd677}=await import(_0x2564c2(0x1a6)),_0x29a97e=_0xea0d9c[_0x2564c2(0x16d)]?'pipe':_0x2564c2(0x19c);console['log'](_0x2564c2(0x145)+_0x3322ec+'\x20-g\x20-y)...');const _0x31e383=_0x1cd677(process[_0x2564c2(0x140)](),_0x3322ec,{'stdio':_0x29a97e});if(_0x31e383[_0x2564c2(0x168)])console[_0x2564c2(0x186)](_0x2564c2(0x13d)+_0x2d0f44+_0x2564c2(0x193));else{if(_0x31e383['ok'])console['log'](CLI_BIN_NAME+_0x2564c2(0x131));else throw CliErrors['apiError'](_0x2564c2(0x1a1)+(_0x31e383['error']||_0x2564c2(0x14a)),_0x2564c2(0x161));}return{'ok':!![]};}},{'service':a34_0x481274(0x1a7),'command':'create','description':a34_0x481274(0x188),'risk':a34_0x481274(0x130),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x1e7e55){const _0x24bf31=a34_0x481274,_0x38b0b1=buildSkillCreatePlan(_0x1e7e55[_0x24bf31(0x164)](_0x24bf31(0x165)),_0x1e7e55[_0x24bf31(0x164)](_0x24bf31(0x199)),_0x1e7e55[_0x24bf31(0x164)](_0x24bf31(0x171)));return{'method':'WRITE','url':_0x38b0b1[_0x24bf31(0x15a)],'body':{'skillName':_0x38b0b1['rendered'][_0x24bf31(0x13e)],'type':_0x38b0b1['rendered'][_0x24bf31(0x199)],'selfContained':!![],'files':_0x38b0b1[_0x24bf31(0x1a2)][_0x24bf31(0x173)][_0x24bf31(0x156)](_0x22f87f=>_0x22f87f['path'])},'description':_0x24bf31(0x14d)};},async 'execute'(_0x1f7271){const _0x57f101=a34_0x481274,_0x39bc3e=buildSkillCreatePlan(_0x1f7271['str'](_0x57f101(0x165)),_0x1f7271[_0x57f101(0x164)]('type'),_0x1f7271['str'](_0x57f101(0x171)));return writeSkillDraft(_0x39bc3e,_0x1f7271[_0x57f101(0x158)](_0x57f101(0x184))),{'ok':!![],'data':{'skillName':_0x39bc3e[_0x57f101(0x1a2)][_0x57f101(0x13e)],'type':_0x39bc3e[_0x57f101(0x1a2)][_0x57f101(0x199)],'dir':_0x39bc3e[_0x57f101(0x15a)],'files':_0x39bc3e[_0x57f101(0x1a2)][_0x57f101(0x173)]['map'](_0x422791=>_0x422791[_0x57f101(0x197)])},'message':_0x57f101(0x185)+_0x39bc3e[_0x57f101(0x1a2)][_0x57f101(0x13e)]};}},{'service':a34_0x481274(0x1a7),'command':a34_0x481274(0x17a),'description':a34_0x481274(0x170),'risk':a34_0x481274(0x146),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x1efa92){const _0x4eb47c=a34_0x481274,_0x55419a=_0x1efa92[_0x4eb47c(0x158)](_0x4eb47c(0x135)),_0x40e015=validateSkillDirectory(_0x1efa92[_0x4eb47c(0x164)](_0x4eb47c(0x166)),{'strict':_0x55419a});return throwIfSkillValidationFailed(_0x40e015,_0x55419a),{'ok':!![],'data':{'dir':_0x40e015[_0x4eb47c(0x166)],'type':_0x40e015['type'],'errors':_0x40e015[_0x4eb47c(0x192)],'warnings':_0x40e015[_0x4eb47c(0x139)]},'message':_0x4eb47c(0x12e)};}},{'service':a34_0x481274(0x1a7),'command':a34_0x481274(0x179),'description':a34_0x481274(0x19a),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x3e77a8){const _0x921841=a34_0x481274,_0x50dce0=_0x3e77a8['str']('code'),_0x28a702=normalizeListScope(_0x3e77a8[_0x921841(0x164)]('scope'));if(_0x3e77a8[_0x921841(0x158)]('local')){const _0x63555c=_0x3e77a8[_0x921841(0x191)];if(!_0x63555c)throw CliErrors[_0x921841(0x176)]();const _0x33d770=_0x28a702===_0x921841(0x172)?[]:await((async()=>{const _0x336eea=_0x921841,{listLocalRuntimeSkills:_0x5482c8}=await import(_0x336eea(0x18c));return _0x5482c8({'env':_0x3e77a8['envName']??'production','accessKey':_0x63555c,'appCode':_0x3e77a8[_0x336eea(0x150)],'scopes':listScopeToRuntimeScopes(_0x28a702),'code':_0x50dce0[_0x336eea(0x18f)]()||undefined});})()),_0x37b117=groupLocalRuntimeSkills(_0x33d770);return{'ok':!![],'data':{'appCode':_0x3e77a8[_0x921841(0x150)],'source':_0x921841(0x14b),'scope':_0x28a702,'total':_0x33d770['length'],'personal':_0x37b117[_0x921841(0x162)][_0x921841(0x159)],'company':_0x37b117[_0x921841(0x15e)]['length'],'public':0x0,'items':_0x33d770['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x37b117[_0x921841(0x162)][_0x921841(0x156)](summarizeLocalRuntimeSkill),'company':_0x37b117['company'][_0x921841(0x156)](summarizeLocalRuntimeSkill),'public':[]}},'message':_0x921841(0x144)+_0x33d770[_0x921841(0x159)]+_0x921841(0x17b)};}const {listRuntimeSkills:_0x8a22bc}=await import(_0x921841(0x187)),_0x68d0a6=await _0x8a22bc({'appCode':_0x3e77a8['appCode'],'scope':listScopeToRemoteScope(_0x28a702),'code':_0x50dce0[_0x921841(0x18f)]()||undefined}),_0x8138d0=shouldListScope(_0x28a702,'personal')?_0x68d0a6[_0x921841(0x162)]:[],_0x56559a=shouldListScope(_0x28a702,_0x921841(0x15e))?_0x68d0a6[_0x921841(0x15e)]:[],_0x51e068=shouldListScope(_0x28a702,_0x921841(0x172))?_0x68d0a6[_0x921841(0x172)]:[],_0x49f0a7=_0x28a702===_0x921841(0x16f)?_0x68d0a6[_0x921841(0x138)]:[..._0x8138d0,..._0x56559a,..._0x51e068];return{'ok':!![],'data':{'appCode':_0x3e77a8['appCode'],'source':'remote','scope':_0x28a702,'total':_0x49f0a7[_0x921841(0x159)],'personal':_0x8138d0['length'],'company':_0x56559a[_0x921841(0x159)],'public':_0x51e068['length'],'items':_0x49f0a7[_0x921841(0x156)](summarizeRuntimeSkill),'skills':{'personal':_0x8138d0[_0x921841(0x156)](summarizeRuntimeSkill),'company':_0x56559a[_0x921841(0x156)](summarizeRuntimeSkill),'public':_0x51e068[_0x921841(0x156)](summarizeRuntimeSkill)}},'message':_0x921841(0x144)+_0x49f0a7[_0x921841(0x159)]+_0x921841(0x17f)};}},{'service':a34_0x481274(0x1a7),'command':a34_0x481274(0x18e),'description':a34_0x481274(0x198),'risk':a34_0x481274(0x130),'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0xd594e2){const _0x54bac9=a34_0x481274,{downloadRuntimeSkillPackage:_0x446e2f,listRuntimeSkills:_0x2d1e79}=await import(_0x54bac9(0x187)),{linkEffectiveRuntimeSkills:_0x239be2,materializeRuntimeSkill:_0x146a56,pruneStaleRuntimeSkillCache:_0x40bb31,pruneStaleRuntimeSkillLinks:_0x413ed6}=await import(_0x54bac9(0x18c)),_0x190841=_0xd594e2[_0x54bac9(0x164)]('code'),_0x5402c4=normalizePullScope(_0xd594e2['str'](_0x54bac9(0x175))),_0xc29968=_0xd594e2[_0x54bac9(0x1a3)]??'production',_0xc76e84=_0xd594e2[_0x54bac9(0x191)];if(!_0xc76e84)throw CliErrors[_0x54bac9(0x176)]();const _0x64606c=await _0x2d1e79({'appCode':_0xd594e2['appCode'],'scope':'user','code':_0x190841['trim']()||undefined}),_0x1da247=_0x64606c[_0x54bac9(0x162)],_0x1e8c38=_0x64606c[_0x54bac9(0x15e)],_0xeaa01a=new Set([..._0x1da247[_0x54bac9(0x156)](_0x4066e0=>_0x4066e0[_0x54bac9(0x133)]?.['trim']())['filter'](_0x2d642d=>Boolean(_0x2d642d)),..._0x1e8c38[_0x54bac9(0x156)](_0x442ab9=>_0x442ab9[_0x54bac9(0x133)]?.[_0x54bac9(0x18f)]())[_0x54bac9(0x18b)](_0x30a5b8=>Boolean(_0x30a5b8))]),_0x323d9b=_0x190841['trim']()?[_0x190841[_0x54bac9(0x18f)]()]:undefined,_0x51d52c=_0x413ed6(_0xd594e2[_0x54bac9(0x150)],_0xeaa01a,{},_0x323d9b),_0x159979=_0x40bb31({'env':_0xc29968,'accessKey':_0xc76e84,'appCode':_0xd594e2[_0x54bac9(0x150)],'activeSkillCodes':_0xeaa01a,'pruneSkillCodes':_0x323d9b}),_0x58d5e2=[];for(const _0x248188 of _0x1da247){_0x58d5e2[_0x54bac9(0x153)](_0x146a56(_0x248188,_0x54bac9(0x162),{'env':_0xc29968,'accessKey':_0xc76e84,'appCode':_0xd594e2[_0x54bac9(0x150)],'packageBytes':await downloadPackageIfNeeded(_0x248188,_0x54bac9(0x162),_0xd594e2[_0x54bac9(0x150)],_0x446e2f)}));}for(const _0x32d1ce of _0x1e8c38){_0x58d5e2['push'](_0x146a56(_0x32d1ce,_0x54bac9(0x15e),{'env':_0xc29968,'accessKey':_0xc76e84,'appCode':_0xd594e2['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x32d1ce,'company',_0xd594e2['appCode'],_0x446e2f)}));}const _0x29950b=_0x239be2(_0x58d5e2,_0xd594e2[_0x54bac9(0x150)]),_0x5cab25=countLinkActions(_0x29950b);return{'ok':!![],'data':{'appCode':_0xd594e2[_0x54bac9(0x150)],'personal':_0x1da247[_0x54bac9(0x159)],'company':_0x1e8c38['length'],'materialized':_0x58d5e2[_0x54bac9(0x159)],'links':{'total':_0x29950b['length'],'created':_0x5cab25[_0x54bac9(0x157)]??0x0,'updated':_0x5cab25[_0x54bac9(0x17e)]??0x0,'unchanged':_0x5cab25[_0x54bac9(0x1a0)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x51d52c['filter'](_0x3a03e2=>_0x3a03e2['action']===_0x54bac9(0x181))[_0x54bac9(0x159)],'cacheDirs':_0x159979[_0x54bac9(0x18b)](_0x5b17f5=>_0x5b17f5[_0x54bac9(0x196)]==='removed')[_0x54bac9(0x159)],'skipped':[..._0x51d52c,..._0x159979]['filter'](_0x426c33=>_0x426c33[_0x54bac9(0x196)]===_0x54bac9(0x168))[_0x54bac9(0x159)]},'skills':{'personal':_0x1da247['map'](summarizeRuntimeSkill),'company':_0x1e8c38[_0x54bac9(0x156)](summarizeRuntimeSkill)}},'message':'Pulled\x20'+_0x1da247['length']+_0x54bac9(0x1aa)+_0x1e8c38[_0x54bac9(0x159)]+_0x54bac9(0x189)};}},{'service':'skill','command':a34_0x481274(0x153),'description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','risk':a34_0x481274(0x130),'flags':[DIR_FLAG],async 'execute'(_0x3db355){const _0x2c4bcd=a34_0x481274,{createPersonalRuntimeSkill:_0x3af80d,downloadRuntimeSkillPackage:_0x11d34c,listRuntimeSkills:_0xa6d539,updatePersonalRuntimeSkill:_0x4ecceb}=await import(_0x2c4bcd(0x187)),{verifyRuntimeSkillPackage:_0x117d52,readPushDirectory:_0x3bf67d,recordPushedRuntimeSkill:_0xa6bbdf}=await import(_0x2c4bcd(0x18c));if(!_0x3db355[_0x2c4bcd(0x191)])throw CliErrors[_0x2c4bcd(0x176)]();const _0x6857d=_0x3db355[_0x2c4bcd(0x164)](_0x2c4bcd(0x166)),_0x1fb9b1=validateSkillDirectory(_0x6857d);throwIfSkillValidationFailed(_0x1fb9b1);const _0x1e5c9e=_0x3bf67d(_0x6857d,_0x3db355[_0x2c4bcd(0x150)]),_0xc3355c=(await _0xa6d539({'appCode':_0x3db355[_0x2c4bcd(0x150)],'scope':_0x2c4bcd(0x162)}))['personal'][_0x2c4bcd(0x167)](_0x4ec63e=>_0x4ec63e[_0x2c4bcd(0x133)]===_0x1e5c9e['skillCode']),_0x1a456b=_0xc3355c?await _0x4ecceb(_0x1e5c9e['skillCode'],_0x3db355[_0x2c4bcd(0x150)],_0x1e5c9e[_0x2c4bcd(0x15f)]):await _0x3af80d(_0x3db355['appCode'],_0x1e5c9e[_0x2c4bcd(0x15f)]);assertMultiFilePushPersisted(_0x1e5c9e[_0x2c4bcd(0x15f)][_0x2c4bcd(0x173)],_0x1a456b);if(isPackageBackedMultiFile(_0x1a456b[_0x2c4bcd(0x173)])){const _0x22d495=await _0x11d34c(_0x2c4bcd(0x162),_0x1e5c9e[_0x2c4bcd(0x133)],_0x3db355[_0x2c4bcd(0x150)]);_0x117d52(_0x1a456b['files'],_0x22d495);}return _0xa6bbdf(_0x6857d,_0x1a456b,_0x3db355[_0x2c4bcd(0x150)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x1a456b),'message':_0xc3355c?_0x2c4bcd(0x152)+_0x1e5c9e[_0x2c4bcd(0x133)]:'Created\x20personal\x20Skill\x20'+_0x1e5c9e['skillCode']};}}];function buildSkillCreatePlan(_0x47348b,_0x14ac2e,_0x1f5054){const _0x16d6cc=a34_0x481274,_0x5e1196=renderSkillTemplate({'skillName':_0x47348b,'type':_0x14ac2e}),_0x120f76=resolve(normalizeSkillTarget(_0x1f5054));return{'rendered':_0x5e1196,'targetRoot':_0x120f76,'skillDir':resolve(_0x120f76,_0x5e1196[_0x16d6cc(0x13e)])};}function normalizeSkillTarget(_0xfcdd39){const _0x6e50b0=a34_0x481274;return(_0xfcdd39||DEFAULT_SKILL_TARGET)[_0x6e50b0(0x18f)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x1f81ac,_0x3fedd8){const _0x3950b7=a34_0x481274;if(existsSync(_0x1f81ac[_0x3950b7(0x15a)])){const _0x55f62f=lstatSync(_0x1f81ac[_0x3950b7(0x15a)]);if(!_0x55f62f[_0x3950b7(0x160)]()||_0x55f62f[_0x3950b7(0x17c)]())throw CliErrors[_0x3950b7(0x180)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x1f81ac['skillDir']);if(!_0x3fedd8)throw CliErrors[_0x3950b7(0x180)](_0x3950b7(0x134)+_0x1f81ac[_0x3950b7(0x15a)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x46c9ce of _0x1f81ac[_0x3950b7(0x1a2)][_0x3950b7(0x173)]){const _0x115093=resolve(_0x1f81ac[_0x3950b7(0x15a)],_0x46c9ce['path']),_0x1c9f81=dirname(_0x115093);mkdirSync(_0x1c9f81,{'recursive':!![]});if(existsSync(_0x115093)&&lstatSync(_0x115093)['isSymbolicLink']())throw CliErrors['validation'](_0x3950b7(0x18d)+_0x115093);writeFileSync(_0x115093,_0x46c9ce['content'],_0x3950b7(0x18a));}}async function downloadPackageIfNeeded(_0x3438d0,_0x8e1e56,_0x2136d1,_0xfdddfe){const _0x40904c=a34_0x481274;if(!isPackageBackedManifest(_0x3438d0['files']))return undefined;return _0xfdddfe(_0x8e1e56,_0x3438d0[_0x40904c(0x133)],_0x2136d1);}function normalizePullScope(_0x4fc350){const _0x5e151f=a34_0x481274,_0x5e67dd=_0x4fc350[_0x5e151f(0x18f)]();if(!_0x5e67dd)return _0x5e151f(0x16f);if(_0x5e67dd===_0x5e151f(0x16f))return _0x5e67dd;throw CliErrors[_0x5e151f(0x180)](_0x5e151f(0x12f)+_0x4fc350);}function normalizeListScope(_0x27c2d1){const _0x4c6172=a34_0x481274,_0x367e99=_0x27c2d1[_0x4c6172(0x18f)]();if(!_0x367e99)return _0x4c6172(0x16f);if(_0x367e99===_0x4c6172(0x16f)||_0x367e99===_0x4c6172(0x162)||_0x367e99===_0x4c6172(0x15e)||_0x367e99===_0x4c6172(0x172)||_0x367e99==='all')return _0x367e99;throw CliErrors[_0x4c6172(0x180)](_0x4c6172(0x177)+_0x27c2d1);}function shouldListScope(_0x5b3387,_0x29805b){const _0x4af0d9=a34_0x481274;if(_0x5b3387===_0x4af0d9(0x194))return!![];if(_0x5b3387===_0x4af0d9(0x16f))return _0x29805b==='personal'||_0x29805b===_0x4af0d9(0x15e)||_0x29805b===_0x4af0d9(0x172);return _0x5b3387===_0x29805b;}function listScopeToRuntimeScopes(_0x484443){const _0x50c775=a34_0x481274;if(_0x484443===_0x50c775(0x194))return[_0x50c775(0x162),_0x50c775(0x15e)];if(_0x484443===_0x50c775(0x16f))return[_0x50c775(0x162),_0x50c775(0x15e)];if(_0x484443===_0x50c775(0x172))return[];return[_0x484443===_0x50c775(0x15e)?_0x50c775(0x15e):_0x484443];}function listScopeToRemoteScope(_0x2da40d){return _0x2da40d;}function groupLocalRuntimeSkills(_0x2d8946){const _0x1eabb2=a34_0x481274;return{'personal':_0x2d8946[_0x1eabb2(0x18b)](_0xbb1792=>_0xbb1792[_0x1eabb2(0x175)]==='personal'),'company':_0x2d8946[_0x1eabb2(0x18b)](_0x2c2043=>_0x2c2043[_0x1eabb2(0x175)]===_0x1eabb2(0x15e)),'builtin':_0x2d8946['filter'](_0x3873a9=>_0x3873a9[_0x1eabb2(0x175)]==='builtin')};}function countLinkActions(_0x2788dc){return _0x2788dc['reduce']((_0x438967,_0x2071c8)=>{const _0x376a2a=a34_0x4668;return _0x438967[_0x2071c8[_0x376a2a(0x196)]]=(_0x438967[_0x2071c8[_0x376a2a(0x196)]]??0x0)+0x1,_0x438967;},{});}function assertMultiFilePushPersisted(_0xb8b86e,_0x5d7030){const _0x1090d9=a34_0x481274;if(!isMultiFileManifest(_0xb8b86e))return;if(!isPackageBackedMultiFile(_0x5d7030[_0x1090d9(0x173)]))throw CliErrors['validation']('Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.',_0x1090d9(0x19f));if(_0xb8b86e[_0x1090d9(0x183)]!==_0x5d7030[_0x1090d9(0x173)][_0x1090d9(0x183)]||_0xb8b86e['zipSha256']!==_0x5d7030[_0x1090d9(0x173)]['zipSha256']||_0xb8b86e[_0x1090d9(0x163)]!==_0x5d7030['files'][_0x1090d9(0x163)]||!_0x5d7030['files'][_0x1090d9(0x15b)]||manifestFileSignature(_0xb8b86e)!==manifestFileSignature(_0x5d7030['files']))throw CliErrors['validation']('Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.');}function isPackageBackedManifest(_0x578fff){const _0x9e88c8=a34_0x481274;return!!_0x578fff&&typeof _0x578fff===_0x9e88c8(0x1a8)&&!Array[_0x9e88c8(0x142)](_0x578fff)&&typeof _0x578fff['ossPath']===_0x9e88c8(0x15c)&&_0x578fff['ossPath']['length']>0x0&&Array[_0x9e88c8(0x142)](_0x578fff[_0x9e88c8(0x173)]);}function a34_0x4668(_0x16030e,_0x23c88f){_0x16030e=_0x16030e-0x12d;const _0x554c80=a34_0x554c();let _0x46684a=_0x554c80[_0x16030e];return _0x46684a;}function isPackageBackedMultiFile(_0x5e872e){return isPackageBackedManifest(_0x5e872e)&&isMultiFileManifest(_0x5e872e);}function isMultiFileManifest(_0x76ae8a){const _0x36f2ba=a34_0x481274;return!!_0x76ae8a&&typeof _0x76ae8a==='object'&&!Array[_0x36f2ba(0x142)](_0x76ae8a)&&Array[_0x36f2ba(0x142)](_0x76ae8a[_0x36f2ba(0x173)])&&_0x76ae8a[_0x36f2ba(0x173)][_0x36f2ba(0x1a4)](_0x17bd77=>_0x17bd77[_0x36f2ba(0x197)]!==_0x36f2ba(0x13c));}function manifestFileSignature(_0x35bc14){const _0x1152e5=a34_0x481274;return[..._0x35bc14[_0x1152e5(0x173)]][_0x1152e5(0x156)](_0x192caa=>_0x192caa[_0x1152e5(0x197)]+'\x00'+_0x192caa[_0x1152e5(0x174)]+'\x00'+_0x192caa[_0x1152e5(0x141)])[_0x1152e5(0x190)]()['join']('\x00');}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a35_0x3a7ed4=a35_0x2240;(function(_0x59fe92,_0x2e13ee){const _0x4ae821=a35_0x2240,_0x1cb9bb=_0x59fe92();while(!![]){try{const _0x4cad6f=-parseInt(_0x4ae821(0x1f1))/0x1+parseInt(_0x4ae821(0x1ed))/0x2*(parseInt(_0x4ae821(0x1ef))/0x3)+-parseInt(_0x4ae821(0x1fd))/0x4+-parseInt(_0x4ae821(0x1e8))/0x5+parseInt(_0x4ae821(0x1e6))/0x6+-parseInt(_0x4ae821(0x1ff))/0x7*(-parseInt(_0x4ae821(0x1fb))/0x8)+-parseInt(_0x4ae821(0x1de))/0x9*(-parseInt(_0x4ae821(0x1f0))/0xa);if(_0x4cad6f===_0x2e13ee)break;else _0x1cb9bb['push'](_0x1cb9bb['shift']());}catch(_0x501694){_0x1cb9bb['push'](_0x1cb9bb['shift']());}}}(a35_0x183e,0x1ce08));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a35_0x3a7ed4(0x1f5),a35_0x3a7ed4(0x1e2),a35_0x3a7ed4(0x1db)];export const DEFAULT_SKILL_TARGET=a35_0x3a7ed4(0x1df);function a35_0x2240(_0xbf4028,_0x322aa4){_0xbf4028=_0xbf4028-0x1d5;const _0x183e47=a35_0x183e();let _0x22408c=_0x183e47[_0xbf4028];return _0x22408c;}function a35_0x183e(){const _0xa1bb39=['type','1956yEcBzI','2700uxPoJZ','182972XvRFfT','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','\x0a\x20\x20created:\x20\x22','validation','write','skillName','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、BFF\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a','\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type=','156272lNIdZm','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','841076nUGoNg','toISOString','77PVfvsc','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','references/runtime-contract.md','Invalid\x20Skill\x20name:\x20','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20BFF\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','includes','Unsupported\x20Skill\x20type:\x20','##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a','trainer','SKILL.md','#\x20Output\x20Contract\x0a\x0a','9900vORcaF','.agents/skills','join','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','read','\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0ametadata:\x0a\x20\x20type:\x20','trim','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','877566kCIShg','---\x0aname:\x20','977570hprYcl','Use\x20one\x20of:\x20','test','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20BFF、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','150hcHqPh'];a35_0x183e=function(){return _0xa1bb39;};return a35_0x183e();}export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE=a35_0x3a7ed4(0x202);export const OUTPUT_CONTRACT_FILE='references/output-contract.md';export function validateSkillName(_0x59dcb0){const _0x40ba75=a35_0x3a7ed4,_0x1c7eb8=_0x59dcb0[_0x40ba75(0x1e4)]();if(!SKILL_NAME_PATTERN[_0x40ba75(0x1ea)](_0x1c7eb8))throw CliErrors['validation'](_0x40ba75(0x1d5)+_0x59dcb0+_0x40ba75(0x1f8),_0x40ba75(0x1e1));return _0x1c7eb8;}export function normalizeSkillTemplateType(_0x338e47){const _0x52ca26=a35_0x3a7ed4,_0x2fc718=(_0x338e47||_0x52ca26(0x1f5))[_0x52ca26(0x1e4)]()||_0x52ca26(0x1f5);if(SKILL_TYPES[_0x52ca26(0x1d8)](_0x2fc718))return _0x2fc718;throw CliErrors[_0x52ca26(0x1f4)](_0x52ca26(0x1d9)+_0x338e47,_0x52ca26(0x1e9)+SKILL_TYPES[_0x52ca26(0x1e0)](',\x20')+'.');}export function renderSkillTemplate(_0xe4b0a0){const _0x50d2cd=a35_0x3a7ed4,_0x2deef2=validateSkillName(_0xe4b0a0[_0x50d2cd(0x1f6)]),_0x406b80=normalizeSkillTemplateType(_0xe4b0a0[_0x50d2cd(0x1ee)]),_0x5dcb74=_0xe4b0a0['timestamp']??new Date()[_0x50d2cd(0x1fe)]();return{'skillName':_0x2deef2,'type':_0x406b80,'files':[{'path':_0x50d2cd(0x1dc),'content':renderSkillMd(_0x2deef2,_0x406b80,_0x5dcb74)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x2deef2,_0x406b80)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x2deef2,_0x406b80)}]};}function renderSkillMd(_0x32c876,_0x10be12,_0x2176c6){const _0x440918=a35_0x3a7ed4,_0x39bb8c=typeWorkflow(_0x10be12);return _0x440918(0x1e7)+_0x32c876+_0x440918(0x1e3)+_0x10be12+_0x440918(0x1f3)+_0x2176c6+_0x440918(0x1e5)+_0x32c876+_0x440918(0x1f7)+_0x39bb8c+'\x0a\x0a'+businessStateSection(_0x10be12)+_0x440918(0x1f9);}function renderRuntimeContract(_0x5a91d5,_0x451784){const _0x5a15e5=a35_0x3a7ed4,_0x4877e0=_0x451784===_0x5a15e5(0x1f5)?_0x5a15e5(0x1da):'';return _0x5a15e5(0x1d6)+_0x5a91d5+_0x5a15e5(0x1fa)+_0x451784+_0x5a15e5(0x1d7)+_0x4877e0+'\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a';}function renderOutputContract(_0x1e7fcb,_0x1c69b3){const _0x1c7787=a35_0x3a7ed4,_0x2deae2=_0x1c69b3==='write'?_0x1c7787(0x1eb):_0x1c69b3+_0x1c7787(0x200);return _0x1c7787(0x1dd)+_0x1e7fcb+'\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a'+_0x2deae2+'\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a';}function typeWorkflow(_0x48c238){const _0xf7ec7c=a35_0x3a7ed4;if(_0x48c238===_0xf7ec7c(0x1e2))return _0xf7ec7c(0x1f2);if(_0x48c238===_0xf7ec7c(0x1db))return _0xf7ec7c(0x1fc);return _0xf7ec7c(0x201);}function businessStateSection(_0x4a75e8){const _0x51e17a=a35_0x3a7ed4;if(_0x4a75e8!==_0x51e17a(0x1f5))return'';return _0x51e17a(0x1ec);}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a36_0x3ab5(){const _0x2a4d73=['Fix\x20the\x20required\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.','structure-complete','type','has','Skill\x20validation\x20failed:\x0a','level','utf8','frontmatter-required','Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.','42QQhhle','ruleId','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.','content','length','push','721215CTAmDW','startsWith','errors','metadata.type\x20must\x20be\x20one\x20of\x20write,\x20read,\x20or\x20trainer.','SKILL.md\x20is\x20not\x20a\x20file.','slice','62056MTHJxX','toUpperCase','isFile','metadata','endsWith','trim','624924RbDRvn','215233OqMQGs','split','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','400206nsXAJL','description','file','hasFrontmatter','name','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','error','SKILL.md','449928GGmavL','join','filter','map','Add\x20frontmatter\x20with\x20name,\x20description,\x20and\x20metadata.type.','Missing\x20SKILL.md.','14ZFcdaz','Skill\x20directory\x20not\x20found:\x20','validation','message','section','填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词。','match','\x20Fix:\x20','Frontmatter\x20description\x20is\x20empty.','test','38814AUfWdj','trainer','Frontmatter\x20name\x20is\x20missing.','path','read','write'];a36_0x3ab5=function(){return _0x2a4d73;};return a36_0x3ab5();}const a36_0x571163=a36_0x3406;function a36_0x3406(_0x57cbe5,_0x42dcd3){_0x57cbe5=_0x57cbe5-0x1b7;const _0x3ab5fe=a36_0x3ab5();let _0x340608=_0x3ab5fe[_0x57cbe5];return _0x340608;}(function(_0x29bb6e,_0x9d6b6){const _0x2caf54=a36_0x3406,_0x2d6e19=_0x29bb6e();while(!![]){try{const _0x3d08ee=-parseInt(_0x2caf54(0x1c3))/0x1+-parseInt(_0x2caf54(0x1de))/0x2+parseInt(_0x2caf54(0x1ed))/0x3*(parseInt(_0x2caf54(0x1bc))/0x4)+parseInt(_0x2caf54(0x1f3))/0x5+parseInt(_0x2caf54(0x1c6))/0x6*(-parseInt(_0x2caf54(0x1d4))/0x7)+parseInt(_0x2caf54(0x1ce))/0x8+parseInt(_0x2caf54(0x1c2))/0x9;if(_0x3d08ee===_0x9d6b6)break;else _0x2d6e19['push'](_0x2d6e19['shift']());}catch(_0x40227c){_0x2d6e19['push'](_0x2d6e19['shift']());}}}(a36_0x3ab5,0x1d122));import{existsSync,lstatSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{CliErrors}from'../../errors.js';const SKILL_FILE=a36_0x571163(0x1cd),SUPPORTED_SKILL_TYPES=new Set([a36_0x571163(0x1e3),a36_0x571163(0x1e2),a36_0x571163(0x1df)]);export function validateSkillDirectory(_0x285a76,_0x352aa4={}){const _0x386b13=a36_0x571163,_0x424428=resolve(_0x285a76),_0x4be0e6=[];if(!existsSync(_0x424428)||!lstatSync(_0x424428)['isDirectory']())throw CliErrors[_0x386b13(0x1d6)](_0x386b13(0x1d5)+_0x285a76);const _0x1622ed=loadRequiredSkillFile(_0x424428,_0x4be0e6),_0x336f5d=_0x1622ed?parseFrontmatter(_0x1622ed[_0x386b13(0x1f0)]):{'hasFrontmatter':![]};_0x1622ed&&validateFrontmatter(_0x1622ed[_0x386b13(0x1e1)],_0x336f5d,_0x4be0e6);const _0x5ad332=_0x4be0e6[_0x386b13(0x1d0)](_0x24f753=>_0x24f753[_0x386b13(0x1e9)]===_0x386b13(0x1cc));return{'ok':_0x5ad332[_0x386b13(0x1f1)]===0x0,'dir':_0x424428,'type':_0x336f5d['type'],'errors':_0x5ad332,'warnings':[]};}export function throwIfSkillValidationFailed(_0x3d1334,_0x59b64e=![]){const _0x45917b=a36_0x571163;if(_0x3d1334['ok'])return;const _0x213337=_0x3d1334[_0x45917b(0x1b8)][_0x45917b(0x1d1)](_0x3e0867=>{const _0x4fd534=_0x45917b,_0x400cb0=_0x3e0867['section']?'#'+_0x3e0867[_0x4fd534(0x1d8)]:'';return _0x3e0867[_0x4fd534(0x1e9)][_0x4fd534(0x1bd)]()+'\x20'+_0x3e0867[_0x4fd534(0x1ee)]+'\x20'+_0x3e0867[_0x4fd534(0x1c8)]+_0x400cb0+':\x20'+_0x3e0867[_0x4fd534(0x1d7)]+_0x4fd534(0x1db)+_0x3e0867['suggestion'];});throw CliErrors[_0x45917b(0x1d6)](_0x45917b(0x1e8)+_0x213337[_0x45917b(0x1cf)]('\x0a'),_0x45917b(0x1e4));}function loadRequiredSkillFile(_0x2417d3,_0x1bf9f7){const _0x2b51a0=a36_0x571163,_0x5b2f1f=resolve(_0x2417d3,SKILL_FILE);if(!existsSync(_0x5b2f1f))return _0x1bf9f7[_0x2b51a0(0x1f2)](issue(_0x2b51a0(0x1cc),_0x2b51a0(0x1e5),SKILL_FILE,_0x2b51a0(0x1d3),_0x2b51a0(0x1cb))),undefined;const _0x2043c3=lstatSync(_0x5b2f1f);if(_0x2043c3['isSymbolicLink']())return _0x1bf9f7['push'](issue(_0x2b51a0(0x1cc),_0x2b51a0(0x1e5),SKILL_FILE,'SKILL.md\x20must\x20be\x20a\x20regular\x20file.',_0x2b51a0(0x1ef))),undefined;if(!_0x2043c3[_0x2b51a0(0x1be)]())return _0x1bf9f7[_0x2b51a0(0x1f2)](issue(_0x2b51a0(0x1cc),_0x2b51a0(0x1e5),SKILL_FILE,_0x2b51a0(0x1ba),_0x2b51a0(0x1c5))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x5b2f1f,_0x2b51a0(0x1ea))};}function validateFrontmatter(_0x23b1e4,_0x2e135a,_0x2cff0f){const _0xc52ac6=a36_0x571163;if(!_0x2e135a[_0xc52ac6(0x1c9)]){_0x2cff0f[_0xc52ac6(0x1f2)](issue('error',_0xc52ac6(0x1eb),_0x23b1e4,'SKILL.md\x20must\x20start\x20with\x20frontmatter.',_0xc52ac6(0x1d2)));return;}!_0x2e135a[_0xc52ac6(0x1ca)]?.[_0xc52ac6(0x1c1)]()&&_0x2cff0f[_0xc52ac6(0x1f2)](issue('error',_0xc52ac6(0x1eb),_0x23b1e4,_0xc52ac6(0x1e0),'Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.'));!_0x2e135a[_0xc52ac6(0x1c7)]?.[_0xc52ac6(0x1c1)]()&&_0x2cff0f[_0xc52ac6(0x1f2)](issue('error','description-required',_0x23b1e4,_0xc52ac6(0x1dc),_0xc52ac6(0x1d9)));if(!_0x2e135a[_0xc52ac6(0x1e6)]?.[_0xc52ac6(0x1c1)]())_0x2cff0f[_0xc52ac6(0x1f2)](issue(_0xc52ac6(0x1cc),_0xc52ac6(0x1eb),_0x23b1e4,'metadata.type\x20is\x20missing.',_0xc52ac6(0x1ec)));else!SUPPORTED_SKILL_TYPES[_0xc52ac6(0x1e7)](_0x2e135a[_0xc52ac6(0x1e6)])&&_0x2cff0f[_0xc52ac6(0x1f2)](issue('error',_0xc52ac6(0x1eb),_0x23b1e4,_0xc52ac6(0x1b9),'Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.'));}function parseFrontmatter(_0x15439a){const _0x357322=a36_0x571163,_0x57f054=_0x15439a[_0x357322(0x1da)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x57f054)return{'hasFrontmatter':![]};const _0x3c20e2=_0x57f054[0x1]??'',_0x420e59={'hasFrontmatter':!![]};let _0x2ea179=![];for(const _0x526c77 of _0x3c20e2[_0x357322(0x1c4)](/\r?\n/)){if(/^\s*$/[_0x357322(0x1dd)](_0x526c77))continue;const _0x2623c6=_0x526c77[_0x357322(0x1da)](/^([A-Za-z0-9_-]+):\s*(.*)$/);if(_0x2623c6){const _0xbb46cf=_0x2623c6[0x1],_0x1ef747=cleanScalar(_0x2623c6[0x2]??'');_0x2ea179=_0xbb46cf===_0x357322(0x1bf);if(_0xbb46cf==='name')_0x420e59['name']=_0x1ef747;if(_0xbb46cf===_0x357322(0x1c7))_0x420e59[_0x357322(0x1c7)]=_0x1ef747;continue;}const _0x112a26=_0x526c77[_0x357322(0x1da)](/^\s+type:\s*(.*)$/);_0x2ea179&&_0x112a26&&(_0x420e59[_0x357322(0x1e6)]=cleanScalar(_0x112a26[0x1]??''));}return _0x420e59;}function cleanScalar(_0x5d6fe8){const _0x45055f=a36_0x571163,_0x37f127=_0x5d6fe8[_0x45055f(0x1c1)]();if(_0x37f127[_0x45055f(0x1b7)]('\x22')&&_0x37f127[_0x45055f(0x1c0)]('\x22')||_0x37f127['startsWith']('\x27')&&_0x37f127['endsWith']('\x27'))return _0x37f127[_0x45055f(0x1bb)](0x1,-0x1);return _0x37f127;}function issue(_0x3394de,_0x15c34b,_0x4d762d,_0xe15b75,_0x32282c,_0x5dc0ec){return{'level':_0x3394de,'ruleId':_0x15c34b,'file':_0x4d762d,'section':_0x5dc0ec,'message':_0xe15b75,'suggestion':_0x32282c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a37_0x6582(_0x44834e,_0x16f191){_0x44834e=_0x44834e-0x1c1;const _0x27611f=a37_0x2761();let _0x6582a7=_0x27611f[_0x44834e];return _0x6582a7;}const a37_0x573ffe=a37_0x6582;(function(_0x55c229,_0x5e9ae7){const _0x36629b=a37_0x6582,_0x9f4b43=_0x55c229();while(!![]){try{const _0x5d1fe5=-parseInt(_0x36629b(0x1c1))/0x1*(parseInt(_0x36629b(0x1cb))/0x2)+parseInt(_0x36629b(0x1c4))/0x3*(-parseInt(_0x36629b(0x1d2))/0x4)+parseInt(_0x36629b(0x1ce))/0x5*(-parseInt(_0x36629b(0x1cc))/0x6)+-parseInt(_0x36629b(0x1c6))/0x7+parseInt(_0x36629b(0x1c8))/0x8*(parseInt(_0x36629b(0x1c7))/0x9)+parseInt(_0x36629b(0x1cf))/0xa*(parseInt(_0x36629b(0x1c9))/0xb)+parseInt(_0x36629b(0x1ca))/0xc;if(_0x5d1fe5===_0x5e9ae7)break;else _0x9f4b43['push'](_0x9f4b43['shift']());}catch(_0x433213){_0x9f4b43['push'](_0x9f4b43['shift']());}}}(a37_0x2761,0x3653b));function a37_0x2761(){const _0x48a93b=['appCode','read','36WClPMp','description','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','4zEvjMO','sqlContent','dbId','33489LqxExK','verbose','165648YeeBpT','27BDeuyw','1136176rqxXGl','3223ORWkwD','6444024svzbpw','192008fBkBdy','2208342IWrwPV','bool','5SeMDPG','4630GlWMDc'];a37_0x2761=function(){return _0x48a93b;};return a37_0x2761();}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':'detail','description':a37_0x573ffe(0x1d4),'risk':a37_0x573ffe(0x1d1),'flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x3d01a2){const _0x499c44=a37_0x573ffe,_0x4c8461=await getSqlQueryInfo(_0x3d01a2[_0x499c44(0x1d0)],_0x3d01a2['str']('sqlcode')),_0x2c24f8=_0x3d01a2[_0x499c44(0x1cd)](_0x499c44(0x1c5));if(_0x2c24f8)return{'ok':!![],'data':_0x4c8461};const _0x4bf536=_0x4c8461[_0x499c44(0x1c3)]?await getDbName(_0x3d01a2[_0x499c44(0x1d0)],_0x4c8461[_0x499c44(0x1c3)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x4c8461['sqlCode'],'sqlName':_0x4c8461['sqlName'],'db':_0x4bf536?_0x4bf536+'\x20('+_0x4c8461[_0x499c44(0x1c3)]+')':_0x4c8461[_0x499c44(0x1c3)]??'','description':_0x4c8461[_0x499c44(0x1d3)]??'','sqlContent':_0x4c8461[_0x499c44(0x1c2)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a38_0x3cc1bb=a38_0x1ce0;(function(_0x27b1e6,_0x3f057a){const _0x19aedd=a38_0x1ce0,_0x163746=_0x27b1e6();while(!![]){try{const _0x31a61c=-parseInt(_0x19aedd(0xdd))/0x1*(parseInt(_0x19aedd(0xd4))/0x2)+parseInt(_0x19aedd(0xd3))/0x3*(-parseInt(_0x19aedd(0xca))/0x4)+-parseInt(_0x19aedd(0xcd))/0x5+-parseInt(_0x19aedd(0xd7))/0x6+-parseInt(_0x19aedd(0xd1))/0x7*(parseInt(_0x19aedd(0xde))/0x8)+-parseInt(_0x19aedd(0xd6))/0x9*(-parseInt(_0x19aedd(0xdc))/0xa)+parseInt(_0x19aedd(0xcf))/0xb;if(_0x31a61c===_0x3f057a)break;else _0x163746['push'](_0x163746['shift']());}catch(_0x12dbe2){_0x163746['push'](_0x163746['shift']());}}}(a38_0x3785,0x50b45));function a38_0x1ce0(_0x891e41,_0x57da76){_0x891e41=_0x891e41-0xc7;const _0x3785b7=a38_0x3785();let _0x1ce080=_0x3785b7[_0x891e41];return _0x1ce080;}import{executeSdkSql}from'../../core/sdk-client.js';import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';function a38_0x3785(){const _0x4ab207=['3843PXjieN','\x20row(s)\x20in\x20','217998OTASAy','5726JSUjko','now','4637079PDWXDa','2209320WWADcA','params','exec','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execSuccess','10khMdWb','20kZUYin','1192JfesjN','sqlcode','SQL\x20execution\x20failed','length','execResult','8bYmDor','sql','str','929495bcFBxz','isArray','7192306QqkPWt','Returned\x20'];a38_0x3785=function(){return _0x4ab207;};return a38_0x3785();}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a38_0x3cc1bb(0xcb),'command':a38_0x3cc1bb(0xd9),'description':a38_0x3cc1bb(0xda),'risk':'read','flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x5ca29a){const _0xf76723=a38_0x3cc1bb,_0x1f66ab=parseJsonParams(_0x5ca29a[_0xf76723(0xcc)](_0xf76723(0xd8))),_0x4dd0ae=Date[_0xf76723(0xd5)](),_0x22b319=await executeSdkSql(_0x5ca29a['str'](_0xf76723(0xdf)),_0x1f66ab),_0x26d4aa=Date[_0xf76723(0xd5)]()-_0x4dd0ae,_0x221d70=_0x22b319?.[_0xf76723(0xc9)]??_0x22b319,_0x3944f1=_0x22b319?.[_0xf76723(0xdb)]??!![];if(!_0x3944f1)return{'ok':![],'data':{'error':_0x22b319?.['execError']||'SQL\x20execution\x20failed','elapsed':_0x26d4aa},'message':_0xf76723(0xc7)};const _0x1d467c=Array[_0xf76723(0xce)](_0x221d70)?_0x221d70:[];return{'ok':!![],'data':{'rows':_0x1d467c,'rowCount':_0x1d467c[_0xf76723(0xc8)],'elapsed':_0x26d4aa},'message':_0xf76723(0xd0)+_0x1d467c[_0xf76723(0xc8)]+_0xf76723(0xd2)+_0x26d4aa+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2d3606,_0x2acd44){const _0x1f7903=a39_0x16fd,_0x5c4ef2=_0x2d3606();while(!![]){try{const _0xd3dc20=-parseInt(_0x1f7903(0x13b))/0x1+-parseInt(_0x1f7903(0x139))/0x2+-parseInt(_0x1f7903(0x13d))/0x3+-parseInt(_0x1f7903(0x137))/0x4+parseInt(_0x1f7903(0x138))/0x5+parseInt(_0x1f7903(0x13a))/0x6*(-parseInt(_0x1f7903(0x13c))/0x7)+parseInt(_0x1f7903(0x13e))/0x8;if(_0xd3dc20===_0x2acd44)break;else _0x5c4ef2['push'](_0x5c4ef2['shift']());}catch(_0xa43c32){_0x5c4ef2['push'](_0x5c4ef2['shift']());}}}(a39_0x38a1,0x96689));function a39_0x38a1(){const _0xb4d120=['18395352OEZUmi','3306420FTevSe','4946565eTKRWF','1057536NXwscN','78402IXWOhO','313439XznZZi','217RAWbjv','1796310cwvpBg'];a39_0x38a1=function(){return _0xb4d120;};return a39_0x38a1();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlExec}from'../../commands/sql/exec.js';function a39_0x16fd(_0x2a5342,_0x239194){_0x2a5342=_0x2a5342-0x137;const _0x38a1b4=a39_0x38a1();let _0x16fd40=_0x38a1b4[_0x2a5342];return _0x16fd40;}export const sqlDefinitions=[sqlDetail,sqlExec];
|
package/lib/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a34_0x50cce0=a34_0x17a5;(function(_0x355933,_0x1ed431){const _0x22bc4c=a34_0x17a5,_0x33f06c=_0x355933();while(!![]){try{const _0x243636=-parseInt(_0x22bc4c(0xfd))/0x1+-parseInt(_0x22bc4c(0x10d))/0x2*(parseInt(_0x22bc4c(0xea))/0x3)+-parseInt(_0x22bc4c(0xc9))/0x4+-parseInt(_0x22bc4c(0xfb))/0x5+-parseInt(_0x22bc4c(0xfe))/0x6*(parseInt(_0x22bc4c(0x10f))/0x7)+parseInt(_0x22bc4c(0xc6))/0x8*(-parseInt(_0x22bc4c(0xef))/0x9)+parseInt(_0x22bc4c(0xd3))/0xa*(parseInt(_0x22bc4c(0xf8))/0xb);if(_0x243636===_0x1ed431)break;else _0x33f06c['push'](_0x33f06c['shift']());}catch(_0x2468e7){_0x33f06c['push'](_0x33f06c['shift']());}}}(a34_0x2e7f,0x9fa74));import{spawnSync}from'node:child_process';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,LOVRABET_SKILL_SOURCE,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';import{getCliVersion}from'../utils/version.js';import{LOVRABET_SKIP_NPX_SKILLS_ENV,runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';const updateFlags=[{'name':'latest','type':a34_0x50cce0(0xde),'description':a34_0x50cce0(0xff),'default':![]},{'name':a34_0x50cce0(0xe3),'type':a34_0x50cce0(0xde),'description':a34_0x50cce0(0xbc),'default':![]},{'name':a34_0x50cce0(0xf2),'type':a34_0x50cce0(0xda),'description':a34_0x50cce0(0x104)},{'name':a34_0x50cce0(0xc4),'type':a34_0x50cce0(0xde),'description':a34_0x50cce0(0x101),'default':![]},{'name':a34_0x50cce0(0x108),'type':'boolean','description':a34_0x50cce0(0xce),'default':!![],'hidden':!![]}];function parseSemver(_0xdd21ec){const _0x56db00=a34_0x50cce0,_0x1a3dc5=_0xdd21ec[_0x56db00(0xe9)]()[_0x56db00(0xd7)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x1a3dc5)return null;return{'major':Number(_0x1a3dc5[0x1]),'minor':Number(_0x1a3dc5[0x2]),'patch':Number(_0x1a3dc5[0x3]),'prerelease':_0x1a3dc5[0x4]};}function compareSemver(_0x37ee36,_0x1ea83d){const _0x38a417=a34_0x50cce0,_0x3de522=parseSemver(_0x37ee36),_0x3cd99a=parseSemver(_0x1ea83d);if(!_0x3de522||!_0x3cd99a)throw CliErrors['validation'](_0x38a417(0xd6),_0x38a417(0xc1));for(const _0x13e238 of[_0x38a417(0xe5),_0x38a417(0xd9),_0x38a417(0xcc)]){if(_0x3de522[_0x13e238]<_0x3cd99a[_0x13e238])return-0x1;if(_0x3de522[_0x13e238]>_0x3cd99a[_0x13e238])return 0x1;}if(!_0x3de522[_0x38a417(0xd4)]&&!_0x3cd99a[_0x38a417(0xd4)])return 0x0;if(!_0x3de522[_0x38a417(0xd4)])return 0x1;if(!_0x3cd99a[_0x38a417(0xd4)])return-0x1;if(_0x3de522['prerelease']===_0x3cd99a[_0x38a417(0xd4)])return 0x0;return _0x3de522[_0x38a417(0xd4)]<_0x3cd99a['prerelease']?-0x1:0x1;}function a34_0x2e7f(){const _0x317ef3=['Skipping\x20official\x20skill\x20package\x20(--no-skills).','boolean','\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20','npm','Current\x20version:\x20','latest','beta','update','major','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','map','run','trim','3585jqQHQk','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','Already\x20on\x20requested\x20version\x20(v','Unable\x20to\x20resolve\x20','bool','432441rVFpjB','Update\x20failed:\x20','\x20\x20Run\x20manually:\x20npx\x20skills\x20add\x20','version','\x20->\x20','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','toString','inherit','install','22TcWBPe','\x20version\x20from\x20npm.','=1).','5780175XhYltx','length','1275585BZSAMP','366348ujTkCR','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','validation','Skip\x20official\x20skill\x20package\x20refresh\x20after\x20updating','/dist-tags','source','Install\x20a\x20specific\x20CLI\x20version','Checking\x20npm\x20dist-tags...','Checking\x20official\x20skill\x20package...','log','skills','cwd','timeout','\x20-g\x20-y','\x20\x20Official\x20skill\x20package\x20is\x20up\x20to\x20date.','1238Vkmfip','Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','56RYdJRx','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','unknown','Update\x20','fromEntries','nonInteractive','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','stdout','message','no-skills','join','40RTjSWl','Updated\x20to\x20v','warn','4749528NQWRqH','flag','error','patch','Invalid\x20version:\x20','Refresh\x20official\x20skill\x20package\x20after\x20updating','exit\x20','skipped','\x20\x20Official\x20skill\x20update\x20failed:\x20','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','28706780JpxePw','prerelease','stderr','Version\x20comparison\x20failed.','match','status','minor','string','write','\x20\x20Skipped\x20skill\x20install\x20('];a34_0x2e7f=function(){return _0x317ef3;};return a34_0x2e7f();}function getRequestedVersion(_0x49a8d0){const _0x213aca=a34_0x50cce0,_0x1a0812=_0x49a8d0['str'](_0x213aca(0xf2))[_0x213aca(0xe9)]();if(_0x1a0812)return _0x1a0812;return String(_0x49a8d0['args']?.[0x0]??'')['trim']();}function shouldSkipOfficialSkill(_0x24e13d){const _0x2aa55f=a34_0x50cce0;return _0x24e13d[_0x2aa55f(0xee)](_0x2aa55f(0xc4))||_0x24e13d[_0x2aa55f(0xca)]('skills')===![];}async function validateUpdateFlags(_0x22df53){const _0x524d2b=a34_0x50cce0,_0x1e66ce=getRequestedVersion(_0x22df53),_0xae2093=[_0x22df53[_0x524d2b(0xee)]('latest')?'latest':'',_0x22df53['bool'](_0x524d2b(0xe3))?_0x524d2b(0xe3):'',_0x1e66ce?'version':'']['filter'](Boolean);if(_0xae2093[_0x524d2b(0xfc)]>0x1)throw CliErrors['validation'](_0x524d2b(0xf4),_0x524d2b(0xd2));if(_0x1e66ce&&!parseSemver(_0x1e66ce))throw CliErrors[_0x524d2b(0x100)](_0x524d2b(0xcd)+_0x1e66ce,_0x524d2b(0x10e));}async function fetchNpmDistTags(){const _0x52495d=a34_0x50cce0;try{const _0x57851a=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x52495d(0x102),_0x48ec33=await fetch(_0x57851a,{'signal':AbortSignal[_0x52495d(0x10a)](0x2710)});if(!_0x48ec33['ok'])return null;const _0x48ba9b=await _0x48ec33['json']();if(!_0x48ba9b||typeof _0x48ba9b!=='object')return null;return Object[_0x52495d(0xbf)](Object['entries'](_0x48ba9b)['filter'](([,_0xd13e9a])=>typeof _0xd13e9a===_0x52495d(0xda)&&_0xd13e9a[_0x52495d(0xe9)]())[_0x52495d(0xe7)](([_0x17257a,_0x30f07a])=>[_0x17257a,String(_0x30f07a)[_0x52495d(0xe9)]()]));}catch{return null;}}async function resolveTargetVersion(_0x46c010){const _0x275de7=a34_0x50cce0,_0x3613ca=getRequestedVersion(_0x46c010);if(_0x3613ca)return{'version':_0x3613ca,'source':_0x275de7(0xf2)};const _0x58647a=_0x46c010[_0x275de7(0xee)](_0x275de7(0xe3))?_0x275de7(0xe3):_0x275de7(0xe2),_0x57c5c9=await fetchNpmDistTags(),_0x12979c=_0x57c5c9?.[_0x58647a];if(!_0x12979c)return null;return{'version':_0x12979c,'source':_0x58647a};}function shouldInstallTarget(_0x21992a,_0x9ef0a8){const _0x103791=a34_0x50cce0,_0x44953f=compareSemver(_0x21992a,_0x9ef0a8[_0x103791(0xf2)]);if(_0x9ef0a8[_0x103791(0x103)]==='version')return _0x44953f!==0x0;return _0x44953f<0x0;}function a34_0x17a5(_0x51e6a3,_0x494bc6){_0x51e6a3=_0x51e6a3-0xbc;const _0x2e7f22=a34_0x2e7f();let _0x17a5ce=_0x2e7f22[_0x51e6a3];return _0x17a5ce;}function installCliPackage(_0x2dcd47,_0x143a65){const _0x1a561f=a34_0x50cce0,_0x57e4e7=resolveNpmBin(_0x1a561f(0xe0)),_0x2d2b29=[_0x1a561f(0xf7),'-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x2dcd47];console[_0x1a561f(0x107)]('*\x20'+[_0x57e4e7,..._0x2d2b29][_0x1a561f(0xc5)]('\x20'));const _0x331e99=spawnSync(_0x57e4e7,_0x2d2b29,{'cwd':process[_0x1a561f(0x109)](),'stdio':_0x143a65?'pipe':_0x1a561f(0xf6),'env':process.env,'shell':![]});if(_0x331e99['status']===0x0)return{'ok':!![]};let _0x3f480c=_0x331e99[_0x1a561f(0xcb)]?.[_0x1a561f(0xc3)]||_0x1a561f(0xcf)+(_0x331e99[_0x1a561f(0xd8)]??'unknown');if(_0x143a65){const _0x33ed72=_0x331e99['stderr']?_0x331e99[_0x1a561f(0xd5)][_0x1a561f(0xf5)]()['trim']():'',_0x3e69a0=_0x331e99[_0x1a561f(0xc2)]?_0x331e99['stdout'][_0x1a561f(0xf5)]()['trim']():'';if(_0x33ed72)_0x3f480c=_0x33ed72;else{if(_0x3e69a0)_0x3f480c=_0x3e69a0;}}return{'ok':![],'error':_0x3f480c};}async function installOfficialSkill(_0x5f3dc3){const _0x2c060a=a34_0x50cce0;console[_0x2c060a(0x107)](_0x2c060a(0x106));const _0x1e5b2e=runNpxSkillsAddGlobal(process[_0x2c060a(0x109)](),LOVRABET_SKILL_SOURCE,{'stdio':_0x5f3dc3?'pipe':_0x2c060a(0xf6)});if(_0x1e5b2e[_0x2c060a(0xd0)]){console[_0x2c060a(0x107)](_0x2c060a(0xdc)+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x2c060a(0xfa));return;}if(_0x1e5b2e['ok']){console['log'](_0x2c060a(0x10c));return;}console[_0x2c060a(0xc8)](_0x2c060a(0xd1)+(_0x1e5b2e[_0x2c060a(0xcb)]||'unknown')),console[_0x2c060a(0x107)](_0x2c060a(0xf1)+LOVRABET_SKILL_SOURCE+_0x2c060a(0x10b));}async function execute(_0x3ac2c5){const _0x10a180=a34_0x50cce0;await validateUpdateFlags(_0x3ac2c5);const _0x5e984a=getCliVersion();console[_0x10a180(0x107)](_0x10a180(0xe1)+_0x5e984a),console[_0x10a180(0x107)](_0x10a180(0x105));const _0xdd2543=await resolveTargetVersion(_0x3ac2c5);if(!_0xdd2543){const _0x2366fb=_0x3ac2c5[_0x10a180(0xee)]('beta')?_0x10a180(0xe3):_0x10a180(0xe2),_0x1a5397=_0x10a180(0xed)+_0x2366fb+_0x10a180(0xf9);return console['warn'](_0x1a5397),console[_0x10a180(0x107)](_0x10a180(0xe6)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x2366fb),{'ok':![]};}if(!shouldInstallTarget(_0x5e984a,_0xdd2543)){const _0x353499=_0xdd2543['source']===_0x10a180(0xf2)?_0x10a180(0xec)+_0xdd2543[_0x10a180(0xf2)]+').':'Already\x20up\x20to\x20date\x20(v'+_0xdd2543[_0x10a180(0xf2)]+').';return console[_0x10a180(0x107)](_0x353499),shouldSkipOfficialSkill(_0x3ac2c5)?console['log'](_0x10a180(0xdd)):await installOfficialSkill(_0x3ac2c5[_0x10a180(0xc0)]),{'ok':!![]};}console[_0x10a180(0x107)]('Updating\x20'+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x5e984a+_0x10a180(0xf3)+_0xdd2543[_0x10a180(0xf2)]);const _0x9c69d=installCliPackage(_0xdd2543['version'],_0x3ac2c5[_0x10a180(0xc0)]);if(!_0x9c69d['ok']){const _0x14ffb7=_0x10a180(0xf0)+(_0x9c69d[_0x10a180(0xcb)]||_0x10a180(0xbd));return console['error'](_0x14ffb7),console[_0x10a180(0x107)](_0x10a180(0xdf)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0xdd2543[_0x10a180(0xf2)]),{'ok':![]};}return console[_0x10a180(0x107)](_0x10a180(0xc7)+_0xdd2543[_0x10a180(0xf2)]+'.'),console['log'](_0x10a180(0xeb)),shouldSkipOfficialSkill(_0x3ac2c5)?console['log'](_0x10a180(0xdd)):await installOfficialSkill(_0x3ac2c5[_0x10a180(0xc0)]),{'ok':!![]};}export const updateDefinition={'service':a34_0x50cce0(0xe4),'command':a34_0x50cce0(0xe8),'description':a34_0x50cce0(0xbe)+CLI_BIN_NAME+'\x20CLI\x20from\x20npm','risk':a34_0x50cce0(0xdb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
1
|
+
const a40_0x1f6247=a40_0x1746;(function(_0x166b50,_0x3fcc94){const _0x4660c4=a40_0x1746,_0x3e9a19=_0x166b50();while(!![]){try{const _0x31cb51=parseInt(_0x4660c4(0xc6))/0x1*(parseInt(_0x4660c4(0xe4))/0x2)+parseInt(_0x4660c4(0xc2))/0x3*(parseInt(_0x4660c4(0xc0))/0x4)+-parseInt(_0x4660c4(0xa6))/0x5+-parseInt(_0x4660c4(0xe7))/0x6+parseInt(_0x4660c4(0xc7))/0x7+-parseInt(_0x4660c4(0xe2))/0x8+parseInt(_0x4660c4(0xb4))/0x9;if(_0x31cb51===_0x3fcc94)break;else _0x3e9a19['push'](_0x3e9a19['shift']());}catch(_0x243ab5){_0x3e9a19['push'](_0x3e9a19['shift']());}}}(a40_0x4fe2,0x3ac7e));function a40_0x1746(_0x26aedc,_0x2e5c00){_0x26aedc=_0x26aedc-0xa2;const _0x4fe2da=a40_0x4fe2();let _0x1746ad=_0x4fe2da[_0x26aedc];return _0x1746ad;}import{spawnSync}from'node:child_process';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,LOVRABET_SKILL_SOURCE,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';import{getCliVersion}from'../utils/version.js';import{LOVRABET_SKIP_NPX_SKILLS_ENV,runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';const updateFlags=[{'name':a40_0x1f6247(0xc1),'type':'boolean','description':a40_0x1f6247(0xb7),'default':![]},{'name':'beta','type':a40_0x1f6247(0xcf),'description':'Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','default':![]},{'name':a40_0x1f6247(0xd1),'type':a40_0x1f6247(0xbb),'description':a40_0x1f6247(0xe8)},{'name':a40_0x1f6247(0xdc),'type':a40_0x1f6247(0xcf),'description':a40_0x1f6247(0xce),'default':![]},{'name':a40_0x1f6247(0xd6),'type':'boolean','description':a40_0x1f6247(0xea),'default':!![],'hidden':!![]}];function parseSemver(_0x215d62){const _0x11b640=a40_0x1f6247,_0x36ee60=_0x215d62[_0x11b640(0xde)]()[_0x11b640(0xd8)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x36ee60)return null;return{'major':Number(_0x36ee60[0x1]),'minor':Number(_0x36ee60[0x2]),'patch':Number(_0x36ee60[0x3]),'prerelease':_0x36ee60[0x4]};}function compareSemver(_0x2dcfe2,_0x4c3a40){const _0x88cdf4=a40_0x1f6247,_0x277bdf=parseSemver(_0x2dcfe2),_0xbc140f=parseSemver(_0x4c3a40);if(!_0x277bdf||!_0xbc140f)throw CliErrors[_0x88cdf4(0xda)]('Version\x20comparison\x20failed.','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');for(const _0x2ad785 of['major',_0x88cdf4(0xe9),'patch']){if(_0x277bdf[_0x2ad785]<_0xbc140f[_0x2ad785])return-0x1;if(_0x277bdf[_0x2ad785]>_0xbc140f[_0x2ad785])return 0x1;}if(!_0x277bdf[_0x88cdf4(0xc3)]&&!_0xbc140f[_0x88cdf4(0xc3)])return 0x0;if(!_0x277bdf[_0x88cdf4(0xc3)])return 0x1;if(!_0xbc140f[_0x88cdf4(0xc3)])return-0x1;if(_0x277bdf['prerelease']===_0xbc140f[_0x88cdf4(0xc3)])return 0x0;return _0x277bdf[_0x88cdf4(0xc3)]<_0xbc140f['prerelease']?-0x1:0x1;}function getRequestedVersion(_0x52d045){const _0x35978f=a40_0x1f6247,_0x2e3b1b=_0x52d045['str'](_0x35978f(0xd1))[_0x35978f(0xde)]();if(_0x2e3b1b)return _0x2e3b1b;return String(_0x52d045[_0x35978f(0xbf)]?.[0x0]??'')[_0x35978f(0xde)]();}function shouldSkipOfficialSkill(_0x236a67){const _0x38de6f=a40_0x1f6247;return _0x236a67[_0x38de6f(0xad)]('no-skills')||_0x236a67[_0x38de6f(0xb9)]('skills')===![];}function a40_0x4fe2(){const _0x134f2d=['/-/package/','trim','\x20CLI\x20from\x20npm','length','Checking\x20official\x20skill\x20package...','1609344WtJEqX','Invalid\x20version:\x20','35842bTkDnA','Already\x20on\x20requested\x20version\x20(v','map','1071066dxZPgx','Install\x20a\x20specific\x20CLI\x20version','minor','Refresh\x20official\x20skill\x20package\x20after\x20updating','Updating\x20','Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','fromEntries','Update\x20','skipped','1808955JRsSSS','cwd','\x20\x20Official\x20skill\x20package\x20is\x20up\x20to\x20date.','unknown','\x20\x20Official\x20skill\x20update\x20failed:\x20','\x20-g\x20-y','npm','bool','status','Update\x20failed:\x20','exit\x20','Updated\x20to\x20v','log','stdout','6796134icbSql','stderr','source','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','Checking\x20npm\x20dist-tags...','flag','run','string','update','nonInteractive','error','args','5224EKXdfa','latest','351Mwwkdk','prerelease','=1).','entries','2apyREp','269262nblSVW','warn','\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20','/dist-tags','inherit','toString','pipe','Skip\x20official\x20skill\x20package\x20refresh\x20after\x20updating','boolean','install','version','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','\x20version\x20from\x20npm.','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','write','skills','beta','match','Skipping\x20official\x20skill\x20package\x20(--no-skills).','validation','join','no-skills'];a40_0x4fe2=function(){return _0x134f2d;};return a40_0x4fe2();}async function validateUpdateFlags(_0x2d2499){const _0x1a1c0b=a40_0x1f6247,_0x2f8c3e=getRequestedVersion(_0x2d2499),_0xb02ff2=[_0x2d2499[_0x1a1c0b(0xad)](_0x1a1c0b(0xc1))?_0x1a1c0b(0xc1):'',_0x2d2499[_0x1a1c0b(0xad)](_0x1a1c0b(0xd7))?_0x1a1c0b(0xd7):'',_0x2f8c3e?'version':'']['filter'](Boolean);if(_0xb02ff2[_0x1a1c0b(0xe0)]>0x1)throw CliErrors['validation']('--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.',_0x1a1c0b(0xd2));if(_0x2f8c3e&&!parseSemver(_0x2f8c3e))throw CliErrors['validation'](_0x1a1c0b(0xe3)+_0x2f8c3e,_0x1a1c0b(0xa2));}async function fetchNpmDistTags(){const _0x38c193=a40_0x1f6247;try{const _0x2d5843=NPM_REGISTRY_BASE_URL+_0x38c193(0xdd)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x38c193(0xca),_0x35dce4=await fetch(_0x2d5843,{'signal':AbortSignal['timeout'](0x2710)});if(!_0x35dce4['ok'])return null;const _0x254998=await _0x35dce4['json']();if(!_0x254998||typeof _0x254998!=='object')return null;return Object[_0x38c193(0xa3)](Object[_0x38c193(0xc5)](_0x254998)['filter'](([,_0x10808c])=>typeof _0x10808c===_0x38c193(0xbb)&&_0x10808c[_0x38c193(0xde)]())[_0x38c193(0xe6)](([_0x530e3a,_0x38656f])=>[_0x530e3a,String(_0x38656f)[_0x38c193(0xde)]()]));}catch{return null;}}async function resolveTargetVersion(_0x3ee866){const _0x545319=a40_0x1f6247,_0x33fd65=getRequestedVersion(_0x3ee866);if(_0x33fd65)return{'version':_0x33fd65,'source':_0x545319(0xd1)};const _0x4ea9fc=_0x3ee866['bool'](_0x545319(0xd7))?_0x545319(0xd7):_0x545319(0xc1),_0x1a9f2b=await fetchNpmDistTags(),_0x55eca5=_0x1a9f2b?.[_0x4ea9fc];if(!_0x55eca5)return null;return{'version':_0x55eca5,'source':_0x4ea9fc};}function shouldInstallTarget(_0x481f6f,_0x4ca20a){const _0x2b8ab8=a40_0x1f6247,_0x147223=compareSemver(_0x481f6f,_0x4ca20a[_0x2b8ab8(0xd1)]);if(_0x4ca20a[_0x2b8ab8(0xb6)]==='version')return _0x147223!==0x0;return _0x147223<0x0;}function installCliPackage(_0x284092,_0x30328f){const _0x397bc7=a40_0x1f6247,_0x3e3a35=resolveNpmBin(_0x397bc7(0xac)),_0x125e29=[_0x397bc7(0xd0),'-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x284092];console['log']('*\x20'+[_0x3e3a35,..._0x125e29][_0x397bc7(0xdb)]('\x20'));const _0x4c2d5f=spawnSync(_0x3e3a35,_0x125e29,{'cwd':process['cwd'](),'stdio':_0x30328f?'pipe':_0x397bc7(0xcb),'env':process.env,'shell':![]});if(_0x4c2d5f[_0x397bc7(0xae)]===0x0)return{'ok':!![]};let _0x29a675=_0x4c2d5f[_0x397bc7(0xbe)]?.['message']||_0x397bc7(0xb0)+(_0x4c2d5f['status']??'unknown');if(_0x30328f){const _0x271d67=_0x4c2d5f[_0x397bc7(0xb5)]?_0x4c2d5f[_0x397bc7(0xb5)][_0x397bc7(0xcc)]()[_0x397bc7(0xde)]():'',_0x4e9cd2=_0x4c2d5f['stdout']?_0x4c2d5f[_0x397bc7(0xb3)][_0x397bc7(0xcc)]()[_0x397bc7(0xde)]():'';if(_0x271d67)_0x29a675=_0x271d67;else{if(_0x4e9cd2)_0x29a675=_0x4e9cd2;}}return{'ok':![],'error':_0x29a675};}async function installOfficialSkill(_0x3f6989){const _0x2b71bf=a40_0x1f6247;console['log'](_0x2b71bf(0xe1));const _0x3b2fb0=runNpxSkillsAddGlobal(process[_0x2b71bf(0xa7)](),LOVRABET_SKILL_SOURCE,{'stdio':_0x3f6989?_0x2b71bf(0xcd):_0x2b71bf(0xcb)});if(_0x3b2fb0[_0x2b71bf(0xa5)]){console[_0x2b71bf(0xb2)]('\x20\x20Skipped\x20skill\x20install\x20('+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x2b71bf(0xc4));return;}if(_0x3b2fb0['ok']){console[_0x2b71bf(0xb2)](_0x2b71bf(0xa8));return;}console[_0x2b71bf(0xc8)](_0x2b71bf(0xaa)+(_0x3b2fb0[_0x2b71bf(0xbe)]||_0x2b71bf(0xa9))),console['log']('\x20\x20Run\x20manually:\x20npx\x20skills\x20add\x20'+LOVRABET_SKILL_SOURCE+_0x2b71bf(0xab));}async function execute(_0x4c3a64){const _0x14734f=a40_0x1f6247;await validateUpdateFlags(_0x4c3a64);const _0x4998fd=getCliVersion();console[_0x14734f(0xb2)]('Current\x20version:\x20'+_0x4998fd),console[_0x14734f(0xb2)](_0x14734f(0xb8));const _0x56a54b=await resolveTargetVersion(_0x4c3a64);if(!_0x56a54b){const _0x2addd7=_0x4c3a64['bool'](_0x14734f(0xd7))?_0x14734f(0xd7):_0x14734f(0xc1),_0x515ae2='Unable\x20to\x20resolve\x20'+_0x2addd7+_0x14734f(0xd3);return console[_0x14734f(0xc8)](_0x515ae2),console[_0x14734f(0xb2)](_0x14734f(0xd4)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x2addd7),{'ok':![]};}if(!shouldInstallTarget(_0x4998fd,_0x56a54b)){const _0x131044=_0x56a54b['source']==='version'?_0x14734f(0xe5)+_0x56a54b[_0x14734f(0xd1)]+').':'Already\x20up\x20to\x20date\x20(v'+_0x56a54b['version']+').';return console[_0x14734f(0xb2)](_0x131044),shouldSkipOfficialSkill(_0x4c3a64)?console[_0x14734f(0xb2)](_0x14734f(0xd9)):await installOfficialSkill(_0x4c3a64[_0x14734f(0xbd)]),{'ok':!![]};}console['log'](_0x14734f(0xeb)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x4998fd+'\x20->\x20'+_0x56a54b[_0x14734f(0xd1)]);const _0x31bc1e=installCliPackage(_0x56a54b[_0x14734f(0xd1)],_0x4c3a64[_0x14734f(0xbd)]);if(!_0x31bc1e['ok']){const _0x4c1a30=_0x14734f(0xaf)+(_0x31bc1e[_0x14734f(0xbe)]||_0x14734f(0xa9));return console['error'](_0x4c1a30),console[_0x14734f(0xb2)](_0x14734f(0xc9)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x56a54b['version']),{'ok':![]};}return console[_0x14734f(0xb2)](_0x14734f(0xb1)+_0x56a54b['version']+'.'),console[_0x14734f(0xb2)]('\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.'),shouldSkipOfficialSkill(_0x4c3a64)?console[_0x14734f(0xb2)]('Skipping\x20official\x20skill\x20package\x20(--no-skills).'):await installOfficialSkill(_0x4c3a64['nonInteractive']),{'ok':!![]};}export const updateDefinition={'service':a40_0x1f6247(0xbc),'command':a40_0x1f6247(0xba),'description':a40_0x1f6247(0xa4)+CLI_BIN_NAME+a40_0x1f6247(0xdf),'risk':a40_0x1f6247(0xd5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a41_0xfef85c=a41_0x3750;(function(_0x446b13,_0x4af33e){const _0x237602=a41_0x3750,_0x58dede=_0x446b13();while(!![]){try{const _0x2c5557=parseInt(_0x237602(0xaa))/0x1*(parseInt(_0x237602(0xc8))/0x2)+-parseInt(_0x237602(0xcb))/0x3*(-parseInt(_0x237602(0xa7))/0x4)+-parseInt(_0x237602(0xb2))/0x5*(-parseInt(_0x237602(0x96))/0x6)+parseInt(_0x237602(0x9d))/0x7*(-parseInt(_0x237602(0xb7))/0x8)+parseInt(_0x237602(0xc7))/0x9+parseInt(_0x237602(0xc1))/0xa+-parseInt(_0x237602(0xce))/0xb;if(_0x2c5557===_0x4af33e)break;else _0x58dede['push'](_0x58dede['shift']());}catch(_0x17a133){_0x58dede['push'](_0x58dede['shift']());}}}(a41_0x3761,0x4c60b));import{CLI_BIN_NAME}from'../../constant/cli.js';import{DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';function a41_0x3761(){const _0x4e449e=['workspace','validation','Initialize\x20app\x20context\x20for\x20the\x20current\x20workspace','boolean','40187ukjUGt','write','\x0aDefault\x20app:\x20','\x22\x20not\x20found.','accessKey','App\x20name\x20to\x20bind\x20as\x20the\x20current\x20workspace\x20default','env','isArray','Available\x20apps:\x20','use','208cvsknO','\x0aAccessKey:\x20not\x20written','Resolving\x20--app\x20requires\x20accessKey.\x20Pass\x20--appcode\x20directly,\x20or\x20set\x20accessKey\x20before\x20running\x20','290883XvxqHH','join','appName','defaultApp','workspace\x20','shouldWriteEnv','App\x20\x22','\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20pass\x20--appcode\x20directly.','200ydeidb','Compatibility\x20flag;\x20workspace\x20config\x20updates\x20are\x20non-interactive','App\x20code\x20to\x20bind\x20directly','\x20--app\x20<name>\x20[--env\x20daily]\x20or\x20','includes','856htLLSN','str','Set\x20app\x20context\x20for\x20the\x20current\x20workspace','\x20--appcode\x20<code>\x20[--env\x20daily]','Invalid\x20env\x20\x22','init','filter','\x20workspace\x20','../../core/api-client.js','Target\x20environment','73830xeOcxY','Run\x20`','from','Workspace\x20configured.\x0aConfig\x20file:\x20','\x0aEnv:\x20','../../commands/app/remote-source.js','2922948ntKBds','4pGkkWE','trim','app','1947fpISua','string','items','4202649mVBsQw','appcode','authRequired','object','54228ZIZNiX','map','apps'];a41_0x3761=function(){return _0x4e449e;};return a41_0x3761();}import{RUNTIME_ENV_VALUES}from'../../constant/env.js';import{CliErrors}from'../../errors.js';function a41_0x3750(_0x59a5bd,_0x11a9e3){_0x59a5bd=_0x59a5bd-0x95;const _0x3761af=a41_0x3761();let _0x375047=_0x3761af[_0x59a5bd];return _0x375047;}import{readConfigFile,resolveWriteConfigPath,writeConfigFile}from'../../context.js';import{findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const WORKSPACE_USE_FLAGS=[{'name':a41_0xfef85c(0xca),'type':a41_0xfef85c(0xcc),'description':a41_0xfef85c(0xa2)},{'name':a41_0xfef85c(0xcf),'type':'string','description':a41_0xfef85c(0xb4)},{'name':a41_0xfef85c(0xa3),'type':a41_0xfef85c(0xcc),'description':a41_0xfef85c(0xc0),'enum':[...RUNTIME_ENV_VALUES]},{'name':'yes','type':a41_0xfef85c(0x9c),'description':a41_0xfef85c(0xb3),'default':![]}];async function executeWorkspaceUse(_0x334ef1,_0x3697c4){const _0x3d8a66=a41_0xfef85c,_0x2db4fb=_0x334ef1['str'](_0x3d8a66(0xca))['trim'](),_0x2f9768=_0x334ef1['str'](_0x3d8a66(0xcf))[_0x3d8a66(0xc9)](),_0x2fc74b=_0x334ef1[_0x3d8a66(0xb8)](_0x3d8a66(0xa3))[_0x3d8a66(0xc9)](),_0xa3f5b8=resolveWorkspaceEnv(_0x2fc74b||_0x334ef1['envName']||DEFAULT_CONFIG_VALUES['env']);if(!_0x2db4fb&&!_0x2f9768)throw CliErrors['validation']('Missing\x20workspace\x20app\x20selector.','Usage:\x20'+CLI_BIN_NAME+_0x3d8a66(0xbe)+_0x3697c4+_0x3d8a66(0xb5)+CLI_BIN_NAME+_0x3d8a66(0xbe)+_0x3697c4+_0x3d8a66(0xba));const _0x2ef336=_0x2f9768||await resolveRemoteAppCode({'command':_0x3697c4,'appName':_0x2db4fb,'env':_0xa3f5b8,'accessKey':_0x334ef1[_0x3d8a66(0xa1)]}),_0x1f0a7e=writeWorkspaceConfig({'command':_0x3697c4,'appName':_0x2db4fb,'appcode':_0x2ef336,'env':_0xa3f5b8,'shouldWriteEnv':!!_0x2fc74b,'accessKey':_0x334ef1[_0x3d8a66(0xa1)]});return{'ok':!![],'data':{'configPath':_0x1f0a7e,'app':_0x2db4fb||null,'appcode':_0x2ef336,'env':_0x2fc74b?_0xa3f5b8:null,'accessKeyWritten':![],'command':_0x3d8a66(0xae)+_0x3697c4},'message':buildWorkspaceMessage(_0x1f0a7e,_0x2db4fb,_0x2ef336,_0x2fc74b?_0xa3f5b8:undefined)};}async function resolveRemoteAppCode(_0xd97644){const _0x491323=a41_0xfef85c;if(!_0xd97644[_0x491323(0xa1)])throw CliErrors[_0x491323(0xd0)](_0x491323(0xa9)+CLI_BIN_NAME+_0x491323(0xbe)+_0xd97644['command']+'.');const {setActiveAK:_0x77ae8b}=await import(_0x491323(0xbf)),{getRemoteAppList:_0x4d123e}=await import(_0x491323(0xc6));_0x77ae8b(_0xd97644[_0x491323(0xa1)]);const _0xbc8222=await _0x4d123e({'env':_0xd97644[_0x491323(0xa3)],'accessKey':_0xd97644[_0x491323(0xa1)],'noCache':![]}),_0x41ae91=findAppByName(_0xbc8222[_0x491323(0xcd)],_0xd97644[_0x491323(0xac)]);if(_0x41ae91&&!isRuntimeAccessibleApp(_0x41ae91))throw runtimeInaccessibleAppError(_0x41ae91,'\x22'+_0xd97644[_0x491323(0xac)]+'\x22');const _0x242e4a=_0x41ae91?.['appCode']?.[_0x491323(0xc9)]();if(_0x242e4a)return _0x242e4a;const _0x2fc2c0=_0xbc8222[_0x491323(0xcd)][_0x491323(0x97)](_0x177a3=>_0x177a3[_0x491323(0xac)])[_0x491323(0xbd)](Boolean),_0x37698f=_0x2fc2c0['length']?_0x491323(0xa5)+Array[_0x491323(0xc3)](new Set(_0x2fc2c0))[_0x491323(0xab)](',\x20')+'.':_0x491323(0xc2)+CLI_BIN_NAME+_0x491323(0xb1);throw CliErrors[_0x491323(0x9a)](_0x491323(0xb0)+_0xd97644[_0x491323(0xac)]+_0x491323(0xa0),_0x37698f);}function writeWorkspaceConfig(_0x41aa79){const _0x5ca35b=a41_0xfef85c,_0x345b27=resolveWriteConfigPath('project'),_0x52f2a4=readConfigFile(_0x345b27);_0x41aa79[_0x5ca35b(0xaf)]&&(_0x52f2a4['env']=_0x41aa79[_0x5ca35b(0xa3)]);if(_0x41aa79[_0x5ca35b(0xac)]){const _0x1326ba=isRecord(_0x52f2a4[_0x5ca35b(0x98)])?{..._0x52f2a4[_0x5ca35b(0x98)]}:{},_0x3e04c4=isRecord(_0x1326ba[_0x41aa79['appName']])?_0x1326ba[_0x41aa79['appName']]:{};_0x1326ba[_0x41aa79[_0x5ca35b(0xac)]]={..._0x3e04c4,'appcode':_0x41aa79['appcode']},_0x52f2a4[_0x5ca35b(0x98)]=_0x1326ba,_0x52f2a4[_0x5ca35b(0xad)]=_0x41aa79[_0x5ca35b(0xac)];if(_0x52f2a4[_0x5ca35b(0xca)])delete _0x52f2a4[_0x5ca35b(0xca)];return writeAndReturn(_0x345b27,_0x52f2a4);}_0x52f2a4[_0x5ca35b(0xcf)]=_0x41aa79[_0x5ca35b(0xcf)];if(_0x52f2a4[_0x5ca35b(0xca)])delete _0x52f2a4['app'];return writeAndReturn(_0x345b27,_0x52f2a4);}function writeAndReturn(_0x47f22f,_0x1ab052){return writeConfigFile(_0x47f22f,_0x1ab052),_0x47f22f;}function resolveWorkspaceEnv(_0x402d7c){const _0x1c019a=a41_0xfef85c;if(RUNTIME_ENV_VALUES[_0x1c019a(0xb6)](_0x402d7c))return _0x402d7c;throw CliErrors[_0x1c019a(0x9a)](_0x1c019a(0xbb)+_0x402d7c+'\x22.\x20Allowed:\x20'+RUNTIME_ENV_VALUES[_0x1c019a(0xab)](',\x20'));}function buildWorkspaceMessage(_0x5c6c39,_0x263056,_0x299f0d,_0x5b0042){const _0x23788a=a41_0xfef85c,_0xe0a5ba=_0x263056?_0x263056+'\x20('+_0x299f0d+')':_0x299f0d,_0x454eea=_0x5b0042?_0x23788a(0xc5)+_0x5b0042:'';return _0x23788a(0xc4)+_0x5c6c39+_0x23788a(0x9f)+_0xe0a5ba+_0x454eea+_0x23788a(0xa8);}function isRecord(_0x4ba13c){const _0x2837d6=a41_0xfef85c;return typeof _0x4ba13c===_0x2837d6(0x95)&&_0x4ba13c!==null&&!Array[_0x2837d6(0xa4)](_0x4ba13c);}function makeWorkspaceCommand(_0x35551f){const _0x4fc78d=a41_0xfef85c;return{'service':_0x4fc78d(0x99),'command':_0x35551f,'description':_0x35551f===_0x4fc78d(0xbc)?_0x4fc78d(0x9b):_0x4fc78d(0xb9),'risk':_0x4fc78d(0x9e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':WORKSPACE_USE_FLAGS,async 'execute'(_0x1aaf36){return executeWorkspaceUse(_0x1aaf36,_0x35551f);}};}export const workspaceDefinitions=[makeWorkspaceCommand('init'),makeWorkspaceCommand(a41_0xfef85c(0xa6))];
|