@lovrabet/lovrabet-cli 2.0.14-beta.2 → 2.0.14-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/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/skill/index.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a27_0x549dfc=a27_0x2b85;(function(_0x38792f,_0xe89950){const _0x16e53d=a27_0x2b85,_0x2a8c9b=_0x38792f();while(!![]){try{const _0x31ae57=-parseInt(_0x16e53d(0x17d))/0x1*(-parseInt(_0x16e53d(0x17a))/0x2)+parseInt(_0x16e53d(0x189))/0x3+parseInt(_0x16e53d(0x197))/0x4*(-parseInt(_0x16e53d(0x19b))/0x5)+parseInt(_0x16e53d(0x17e))/0x6+-parseInt(_0x16e53d(0x1a3))/0x7+parseInt(_0x16e53d(0x178))/0x8*(-parseInt(_0x16e53d(0x194))/0x9)+-parseInt(_0x16e53d(0x1ac))/0xa*(-parseInt(_0x16e53d(0x180))/0xb);if(_0x31ae57===_0xe89950)break;else _0x2a8c9b['push'](_0x2a8c9b['shift']());}catch(_0x327648){_0x2a8c9b['push'](_0x2a8c9b['shift']());}}}(a27_0x3126,0xba90c));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a27_0x549dfc(0x191),'type':a27_0x549dfc(0x1af),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a27_0x549dfc(0x1aa),'type':'string','required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a27_0x549dfc(0x187),'type':a27_0x549dfc(0x1af),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a27_0x549dfc(0x182),'type':a27_0x549dfc(0x1af),'description':a27_0x549dfc(0x172)};function normalizeFunctionName(_0xe18317){const _0x55ad1d=a27_0x549dfc,_0x3601eb=String(_0xe18317||'')[_0x55ad1d(0x1a5)]();if(!_0x3601eb||!FUNCTION_NAME_PATTERN[_0x55ad1d(0x1ab)](_0x3601eb))throw CliErrors[_0x55ad1d(0x198)](_0x55ad1d(0x171));return _0x3601eb;}function a27_0x3126(){const _0x14f1b8=['115905XvkMVT','createTime','gmtCreate','scriptContent','personal-bff','appCode','update','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','10208506VDxgvK','/client/runtime-bff/personal/create','trim','Personal\x20BFF\x20script\x20ID','num','isFile','File\x20is\x20not\x20a\x20regular\x20file:\x20','name','test','10KvZkaK','map','read','string','Preview:\x20update\x20personal\x20BFF\x20','createUserId','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Optional\x20source\x20RuntimeAgent\x20session\x20id','functionName','list','write','create','scriptType','244576jWRdxv','--params\x20must\x20be\x20a\x20JSON\x20object.','20ZmnAri','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','utf8','115169RThctE','2349954IPAusm','params','22623931JAGmhE','/client/runtime-bff/personal/','source-session-id','verbose','Executed\x20personal\x20BFF\x20','length','version','description','flag','2465898Adodwf','exec','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','build','Update\x20a\x20personal\x20BFF\x20by\x20id','/update','POST','sourceSessionId','file','updateTime','File\x20not\x20found:\x20','279qmzfbZ','Show\x20one\x20personal\x20BFF\x20by\x20id','str','216TxtUtx','validation','Personal\x20BFF\x20script\x20file\x20is\x20blank.','gmtModified'];a27_0x3126=function(){return _0x14f1b8;};return a27_0x3126();}function readScriptFile(_0x455c4c){const _0xfa592a=a27_0x549dfc;if(!_0x455c4c)throw CliErrors[_0xfa592a(0x198)]('File\x20path\x20is\x20required.');if(!existsSync(_0x455c4c))throw CliErrors[_0xfa592a(0x198)](_0xfa592a(0x193)+_0x455c4c);if(!statSync(_0x455c4c)[_0xfa592a(0x1a8)]())throw CliErrors[_0xfa592a(0x198)](_0xfa592a(0x1a9)+_0x455c4c);const _0x18b20c=readFileSync(_0x455c4c,_0xfa592a(0x17c));if(!_0x18b20c[_0xfa592a(0x1a5)]())throw CliErrors[_0xfa592a(0x198)](_0xfa592a(0x199));return _0x18b20c;}function optionalTrimmed(_0x10c805){const _0x5cbc7a=a27_0x549dfc,_0x389b98=String(_0x10c805||'')[_0x5cbc7a(0x1a5)]();return _0x389b98||undefined;}function summarizeBff(_0x1c6d77){const _0x55f42a=a27_0x549dfc;return{'id':_0x1c6d77['id'],'appCode':_0x1c6d77['appCode'],'functionName':_0x1c6d77['functionName'],'description':_0x1c6d77[_0x55f42a(0x187)],'scriptType':_0x1c6d77[_0x55f42a(0x177)],'version':_0x1c6d77[_0x55f42a(0x186)],'gmtModified':_0x1c6d77[_0x55f42a(0x19a)],'updateTime':_0x1c6d77[_0x55f42a(0x192)]};}function detailBff(_0x5b4c38){const _0x5769b0=a27_0x549dfc;return{'id':_0x5b4c38['id'],'appCode':_0x5b4c38[_0x5769b0(0x1a0)],'functionName':_0x5b4c38[_0x5769b0(0x173)],'description':_0x5b4c38[_0x5769b0(0x187)],'scriptType':_0x5b4c38['scriptType'],'scriptContent':_0x5b4c38[_0x5769b0(0x19e)]??'','config':_0x5b4c38['config'],'version':_0x5b4c38[_0x5769b0(0x186)],'createUserId':_0x5b4c38[_0x5769b0(0x1b1)],'gmtCreate':_0x5b4c38[_0x5769b0(0x19d)],'gmtModified':_0x5b4c38[_0x5769b0(0x19a)],'createTime':_0x5b4c38[_0x5769b0(0x19c)],'updateTime':_0x5b4c38[_0x5769b0(0x192)]};}function buildCreateInput(_0x4cdbca){const _0x3e3f87=a27_0x549dfc;return{'functionName':normalizeFunctionName(_0x4cdbca[_0x3e3f87(0x196)]('name')),...optionalTrimmed(_0x4cdbca[_0x3e3f87(0x196)](_0x3e3f87(0x187)))?{'description':optionalTrimmed(_0x4cdbca[_0x3e3f87(0x196)](_0x3e3f87(0x187)))}:{},'scriptContent':readScriptFile(_0x4cdbca['str']('file')),...optionalTrimmed(_0x4cdbca[_0x3e3f87(0x196)](_0x3e3f87(0x182)))?{'sourceSessionId':optionalTrimmed(_0x4cdbca[_0x3e3f87(0x196)](_0x3e3f87(0x182)))}:{}};}function buildUpdateInput(_0x51d223){const _0x618dff=a27_0x549dfc,_0xf62eeb={};optionalTrimmed(_0x51d223[_0x618dff(0x196)](_0x618dff(0x1aa)))&&(_0xf62eeb[_0x618dff(0x173)]=normalizeFunctionName(_0x51d223[_0x618dff(0x196)](_0x618dff(0x1aa))));_0x51d223[_0x618dff(0x188)]('description')!==undefined&&(_0xf62eeb['description']=_0x51d223['str'](_0x618dff(0x187)));optionalTrimmed(_0x51d223[_0x618dff(0x196)]('file'))&&(_0xf62eeb[_0x618dff(0x19e)]=readScriptFile(_0x51d223['str'](_0x618dff(0x191))));_0x51d223[_0x618dff(0x188)](_0x618dff(0x182))!==undefined&&(_0xf62eeb[_0x618dff(0x190)]=_0x51d223[_0x618dff(0x196)](_0x618dff(0x182)));if(Object['keys'](_0xf62eeb)[_0x618dff(0x185)]===0x0)throw CliErrors[_0x618dff(0x198)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0xf62eeb;}function parseExecParams(_0x4a4f80){const _0x1b38c0=a27_0x549dfc,_0x5e8950=parseJsonParams(_0x4a4f80)??{};if(Array['isArray'](_0x5e8950))throw CliErrors[_0x1b38c0(0x198)](_0x1b38c0(0x179));return _0x5e8950;}function a27_0x2b85(_0x40bf5a,_0x1d3dee){_0x40bf5a=_0x40bf5a-0x171;const _0x312669=a27_0x3126();let _0x2b85d5=_0x312669[_0x40bf5a];return _0x2b85d5;}const personalBffList={'service':'personal-bff','command':a27_0x549dfc(0x174),'description':a27_0x549dfc(0x17b),'risk':a27_0x549dfc(0x1ae),'flags':[VERBOSE_FLAG],async 'execute'(_0x37514c){const _0x85e3ec=a27_0x549dfc,_0x4d15b0=await listPersonalBffs(_0x37514c[_0x85e3ec(0x1a0)]);return{'ok':!![],'data':{'total':_0x4d15b0[_0x85e3ec(0x185)],'items':_0x37514c['bool'](_0x85e3ec(0x183))?_0x4d15b0:_0x4d15b0[_0x85e3ec(0x1ad)](summarizeBff)}};}},personalBffDetail={'service':a27_0x549dfc(0x19f),'command':'detail','description':a27_0x549dfc(0x195),'risk':a27_0x549dfc(0x1ae),'flags':[{...ID_FLAG,'description':a27_0x549dfc(0x1a6)}],async 'execute'(_0x44fa2a){const _0x56428c=a27_0x549dfc,_0x4a66ee=await getPersonalBff(_0x44fa2a[_0x56428c(0x1a7)]('id'),_0x44fa2a[_0x56428c(0x1a0)]);return{'ok':!![],'data':detailBff(_0x4a66ee)};}},personalBffCreate={'service':'personal-bff','command':a27_0x549dfc(0x176),'description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a27_0x549dfc(0x175),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2a33b4){const _0x48282c=a27_0x549dfc,_0x20383e=buildCreateInput(_0x2a33b4),_0x70fd44=await createPersonalBff(_0x2a33b4[_0x48282c(0x1a0)],_0x20383e);return{'ok':!![],'data':detailBff(_0x70fd44),'message':'Created\x20personal\x20BFF\x20'+_0x70fd44['id']+(_0x70fd44[_0x48282c(0x173)]?'\x20('+_0x70fd44[_0x48282c(0x173)]+')':'')};},async 'dryRun'(_0x662614){const _0x5cf98d=a27_0x549dfc,_0x21eabf=buildCreateInput(_0x662614);return dryRun('POST',_0x5cf98d(0x1a4))['body']({'appCode':_0x662614[_0x5cf98d(0x1a0)],..._0x21eabf})[_0x5cf98d(0x187)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x21eabf['functionName'])[_0x5cf98d(0x18c)]();}},personalBffUpdate={'service':'personal-bff','command':a27_0x549dfc(0x1a1),'description':a27_0x549dfc(0x18d),'risk':a27_0x549dfc(0x175),'flags':[{...ID_FLAG,'description':a27_0x549dfc(0x1a6)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x29d061){const _0x370929=a27_0x549dfc,_0x166825=_0x29d061[_0x370929(0x1a7)]('id'),_0x4b658f=buildUpdateInput(_0x29d061),_0x43c0e8=await updatePersonalBff(_0x166825,_0x29d061[_0x370929(0x1a0)],_0x4b658f);return{'ok':!![],'data':detailBff(_0x43c0e8),'message':'Updated\x20personal\x20BFF\x20'+_0x43c0e8['id']+(_0x43c0e8['functionName']?'\x20('+_0x43c0e8[_0x370929(0x173)]+')':'')};},async 'dryRun'(_0x363672){const _0x2b6873=a27_0x549dfc,_0x4b6864=_0x363672['num']('id'),_0x25bdb9=buildUpdateInput(_0x363672);return dryRun(_0x2b6873(0x18f),_0x2b6873(0x181)+_0x4b6864+_0x2b6873(0x18e))['body']({'appCode':_0x363672[_0x2b6873(0x1a0)],..._0x25bdb9})[_0x2b6873(0x187)](_0x2b6873(0x1b0)+_0x4b6864)[_0x2b6873(0x18c)]();}},personalBffExec={'service':a27_0x549dfc(0x19f),'command':a27_0x549dfc(0x18a),'description':a27_0x549dfc(0x18b),'risk':'high-risk-write','flags':[{...ID_FLAG,'description':a27_0x549dfc(0x1a6)},{...PARAMS_FLAG,'description':a27_0x549dfc(0x1a2)}],async 'validate'(_0x1d623b){const _0x584ed2=a27_0x549dfc;parseExecParams(_0x1d623b[_0x584ed2(0x196)](_0x584ed2(0x17f)));},async 'execute'(_0x3dd8cd){const _0x130669=a27_0x549dfc,_0x560bd3=_0x3dd8cd[_0x130669(0x1a7)]('id'),_0x1f30b1=parseExecParams(_0x3dd8cd[_0x130669(0x196)](_0x130669(0x17f))),_0x2af98e=await executePersonalBff(_0x560bd3,_0x3dd8cd[_0x130669(0x1a0)],_0x1f30b1);return{'ok':!![],'data':{'result':_0x2af98e},'message':_0x130669(0x184)+_0x560bd3};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a27_0x3db268=a27_0x38cf;(function(_0x1c5c89,_0x487a02){const _0x5643d0=a27_0x38cf,_0x14a0e5=_0x1c5c89();while(!![]){try{const _0x684a9b=-parseInt(_0x5643d0(0x8b))/0x1*(parseInt(_0x5643d0(0xb6))/0x2)+-parseInt(_0x5643d0(0xa3))/0x3+-parseInt(_0x5643d0(0xa8))/0x4+parseInt(_0x5643d0(0xa5))/0x5*(-parseInt(_0x5643d0(0xba))/0x6)+parseInt(_0x5643d0(0xb1))/0x7+-parseInt(_0x5643d0(0x94))/0x8*(parseInt(_0x5643d0(0xbe))/0x9)+parseInt(_0x5643d0(0xb3))/0xa*(parseInt(_0x5643d0(0x83))/0xb);if(_0x684a9b===_0x487a02)break;else _0x14a0e5['push'](_0x14a0e5['shift']());}catch(_0x144ed9){_0x14a0e5['push'](_0x14a0e5['shift']());}}}(a27_0x41ef,0xc1eab));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a27_0x38cf(_0x45949d,_0x14dfa9){_0x45949d=_0x45949d-0x73;const _0x41ef29=a27_0x41ef();let _0x38cf56=_0x41ef29[_0x45949d];return _0x38cf56;}import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a27_0x3db268(0xb2),'type':'string','description':a27_0x3db268(0x75)},FUNCTION_NAME_FLAG={'name':a27_0x3db268(0x8a),'type':'string','required':!![],'description':a27_0x3db268(0x74)},DESCRIPTION_FLAG={'name':'description','type':a27_0x3db268(0x87),'description':a27_0x3db268(0xbb)},SOURCE_SESSION_FLAG={'name':a27_0x3db268(0x84),'type':'string','description':a27_0x3db268(0xad)};function normalizeFunctionName(_0x43d27f){const _0x30d319=a27_0x3db268,_0x542e5d=String(_0x43d27f||'')[_0x30d319(0x8c)]();if(!_0x542e5d||!FUNCTION_NAME_PATTERN[_0x30d319(0xa7)](_0x542e5d))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x542e5d;}function readScriptFile(_0x453dfc){const _0x1aeb03=a27_0x3db268;if(!_0x453dfc)throw CliErrors[_0x1aeb03(0x91)](_0x1aeb03(0x76));if(!existsSync(_0x453dfc))throw CliErrors[_0x1aeb03(0x91)](_0x1aeb03(0xb8)+_0x453dfc);if(!statSync(_0x453dfc)[_0x1aeb03(0xb7)]())throw CliErrors[_0x1aeb03(0x91)](_0x1aeb03(0x82)+_0x453dfc);const _0x17a719=readFileSync(_0x453dfc,_0x1aeb03(0x95));if(!_0x17a719[_0x1aeb03(0x8c)]())throw CliErrors[_0x1aeb03(0x91)](_0x1aeb03(0x7f));return _0x17a719;}function optionalTrimmed(_0x255597){const _0x4aec59=String(_0x255597||'')['trim']();return _0x4aec59||undefined;}function summarizeBff(_0xc5d41e){const _0x64fb57=a27_0x3db268;return{'id':_0xc5d41e['id'],'appCode':_0xc5d41e[_0x64fb57(0x7e)],'functionName':_0xc5d41e[_0x64fb57(0x8f)],'description':_0xc5d41e[_0x64fb57(0x8e)],'scriptType':_0xc5d41e[_0x64fb57(0x7d)],'version':_0xc5d41e[_0x64fb57(0xb0)],'gmtModified':_0xc5d41e[_0x64fb57(0xa9)],'updateTime':_0xc5d41e[_0x64fb57(0x92)]};}function detailBff(_0x8202be){const _0x39cff0=a27_0x3db268;return{'id':_0x8202be['id'],'appCode':_0x8202be[_0x39cff0(0x7e)],'functionName':_0x8202be[_0x39cff0(0x8f)],'description':_0x8202be[_0x39cff0(0x8e)],'scriptType':_0x8202be[_0x39cff0(0x7d)],'scriptContent':_0x8202be[_0x39cff0(0xa0)]??'','config':_0x8202be[_0x39cff0(0xbd)],'version':_0x8202be['version'],'createUserId':_0x8202be[_0x39cff0(0x78)],'gmtCreate':_0x8202be[_0x39cff0(0xa2)],'gmtModified':_0x8202be['gmtModified'],'createTime':_0x8202be['createTime'],'updateTime':_0x8202be[_0x39cff0(0x92)]};}function buildCreateInput(_0x4c5220){const _0x283e60=a27_0x3db268;return{'functionName':normalizeFunctionName(_0x4c5220[_0x283e60(0x9a)](_0x283e60(0x8a))),...optionalTrimmed(_0x4c5220[_0x283e60(0x9a)](_0x283e60(0x8e)))?{'description':optionalTrimmed(_0x4c5220['str'](_0x283e60(0x8e)))}:{},'scriptContent':readScriptFile(_0x4c5220[_0x283e60(0x9a)]('file')),...optionalTrimmed(_0x4c5220[_0x283e60(0x9a)](_0x283e60(0x84)))?{'sourceSessionId':optionalTrimmed(_0x4c5220[_0x283e60(0x9a)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5b2101){const _0x10517c=a27_0x3db268,_0x5d1fa0={};optionalTrimmed(_0x5b2101[_0x10517c(0x9a)]('name'))&&(_0x5d1fa0['functionName']=normalizeFunctionName(_0x5b2101[_0x10517c(0x9a)](_0x10517c(0x8a))));_0x5b2101[_0x10517c(0xab)](_0x10517c(0x8e))!==undefined&&(_0x5d1fa0[_0x10517c(0x8e)]=_0x5b2101['str'](_0x10517c(0x8e)));optionalTrimmed(_0x5b2101['str'](_0x10517c(0xb2)))&&(_0x5d1fa0[_0x10517c(0xa0)]=readScriptFile(_0x5b2101[_0x10517c(0x9a)]('file')));_0x5b2101[_0x10517c(0xab)](_0x10517c(0x84))!==undefined&&(_0x5d1fa0[_0x10517c(0x81)]=_0x5b2101[_0x10517c(0x9a)](_0x10517c(0x84)));if(Object[_0x10517c(0xaa)](_0x5d1fa0)[_0x10517c(0x73)]===0x0)throw CliErrors['validation'](_0x10517c(0x93));return _0x5d1fa0;}function parseExecParams(_0x576817){const _0x177476=a27_0x3db268,_0x2ad40b=parseJsonParams(_0x576817)??{};if(Array[_0x177476(0xb4)](_0x2ad40b))throw CliErrors['validation'](_0x177476(0x9c));return _0x2ad40b;}const personalBffList={'service':'personal-bff','command':a27_0x3db268(0x96),'description':a27_0x3db268(0xbc),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x2f86b6){const _0x1577c6=a27_0x3db268,_0x20394f=await listPersonalBffs(_0x2f86b6[_0x1577c6(0x7e)]);return{'ok':!![],'data':{'total':_0x20394f[_0x1577c6(0x73)],'items':_0x2f86b6[_0x1577c6(0x7a)](_0x1577c6(0xac))?_0x20394f:_0x20394f[_0x1577c6(0xb5)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a27_0x3db268(0x9b),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a27_0x3db268(0x89),'flags':[{...ID_FLAG,'description':a27_0x3db268(0x86)}],async 'execute'(_0x436081){const _0xf8cdb3=a27_0x3db268,_0x163552=await getPersonalBff(_0x436081[_0xf8cdb3(0xb9)]('id'),_0x436081[_0xf8cdb3(0x7e)]);return{'ok':!![],'data':detailBff(_0x163552)};}},personalBffCreate={'service':a27_0x3db268(0xaf),'command':a27_0x3db268(0x9e),'description':a27_0x3db268(0x7b),'risk':'write','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x43c2e2){const _0x3f8ab4=a27_0x3db268,_0x5947c9=buildCreateInput(_0x43c2e2),_0x5adaf4=await createPersonalBff(_0x43c2e2[_0x3f8ab4(0x7e)],_0x5947c9);return{'ok':!![],'data':detailBff(_0x5adaf4),'message':_0x3f8ab4(0x90)+_0x5adaf4['id']+(_0x5adaf4[_0x3f8ab4(0x8f)]?'\x20('+_0x5adaf4[_0x3f8ab4(0x8f)]+')':'')};},async 'dryRun'(_0x430936){const _0x26bee6=a27_0x3db268,_0x4d29e0=buildCreateInput(_0x430936);return dryRun(_0x26bee6(0x9f),_0x26bee6(0x77))[_0x26bee6(0x7c)]({'appCode':_0x430936[_0x26bee6(0x7e)],..._0x4d29e0})[_0x26bee6(0x8e)](_0x26bee6(0xae)+_0x4d29e0[_0x26bee6(0x8f)])[_0x26bee6(0x97)]();}},personalBffUpdate={'service':a27_0x3db268(0xaf),'command':'update','description':a27_0x3db268(0x85),'risk':a27_0x3db268(0x9d),'flags':[{...ID_FLAG,'description':a27_0x3db268(0x86)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x358503){const _0x18f672=a27_0x3db268,_0x5639f9=_0x358503['num']('id'),_0x3250c8=buildUpdateInput(_0x358503),_0x310968=await updatePersonalBff(_0x5639f9,_0x358503[_0x18f672(0x7e)],_0x3250c8);return{'ok':!![],'data':detailBff(_0x310968),'message':_0x18f672(0xa1)+_0x310968['id']+(_0x310968['functionName']?'\x20('+_0x310968['functionName']+')':'')};},async 'dryRun'(_0x351f31){const _0x13386e=a27_0x3db268,_0x5c46de=_0x351f31[_0x13386e(0xb9)]('id'),_0x5d718d=buildUpdateInput(_0x351f31);return dryRun(_0x13386e(0x9f),_0x13386e(0x79)+_0x5c46de+'/update')[_0x13386e(0x7c)]({'appCode':_0x351f31[_0x13386e(0x7e)],..._0x5d718d})[_0x13386e(0x8e)](_0x13386e(0x98)+_0x5c46de)['build']();}},personalBffExec={'service':'personal-bff','command':a27_0x3db268(0xa6),'description':a27_0x3db268(0xa4),'risk':a27_0x3db268(0x99),'flags':[{...ID_FLAG,'description':a27_0x3db268(0x86)},{...PARAMS_FLAG,'description':a27_0x3db268(0x80)}],async 'validate'(_0x3005ce){const _0xb030a8=a27_0x3db268;parseExecParams(_0x3005ce[_0xb030a8(0x9a)](_0xb030a8(0x88)));},async 'execute'(_0x40b18a){const _0x39f48a=a27_0x3db268,_0x565ce5=_0x40b18a[_0x39f48a(0xb9)]('id'),_0x44e727=parseExecParams(_0x40b18a['str'](_0x39f48a(0x88))),_0x41defc=await executePersonalBff(_0x565ce5,_0x40b18a[_0x39f48a(0x7e)],_0x44e727);return{'ok':!![],'data':{'result':_0x41defc},'message':_0x39f48a(0x8d)+_0x565ce5};}};function a27_0x41ef(){const _0x487ac9=['211080MEjMnh','trim','Executed\x20personal\x20BFF\x20','description','functionName','Created\x20personal\x20BFF\x20','validation','updateTime','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','4328VNkDkp','utf8','list','build','Preview:\x20update\x20personal\x20BFF\x20','high-risk-write','str','detail','--params\x20must\x20be\x20a\x20JSON\x20object.','write','create','POST','scriptContent','Updated\x20personal\x20BFF\x20','gmtCreate','2397387AvDURn','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','330VUoTBg','exec','test','3003780aIcYft','gmtModified','keys','flag','verbose','Optional\x20source\x20RuntimeAgent\x20session\x20id','Preview:\x20create\x20personal\x20BFF\x20','personal-bff','version','10154732cCrxaa','file','40TZHFrr','isArray','map','12etCMrh','isFile','File\x20not\x20found:\x20','num','141852qPgdqW','Personal\x20BFF\x20description','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','config','7839XAzttc','length','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','File\x20path\x20is\x20required.','/client/runtime-bff/personal/create','createUserId','/client/runtime-bff/personal/','bool','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','body','scriptType','appCode','Personal\x20BFF\x20script\x20file\x20is\x20blank.','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','sourceSessionId','File\x20is\x20not\x20a\x20regular\x20file:\x20','11527296onGEfs','source-session-id','Update\x20a\x20personal\x20BFF\x20by\x20id','Personal\x20BFF\x20script\x20ID','string','params','read','name'];a27_0x41ef=function(){return _0x487ac9;};return a27_0x41ef();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x51c43d=a28_0x281b;(function(_0x3a2315,_0x3d37ec){const _0x38fea1=a28_0x281b,_0x4db268=_0x3a2315();while(!![]){try{const _0x5304d4=parseInt(_0x38fea1(0x182))/0x1+-parseInt(_0x38fea1(0x196))/0x2*(-parseInt(_0x38fea1(0x1a1))/0x3)+parseInt(_0x38fea1(0x19b))/0x4*(-parseInt(_0x38fea1(0x194))/0x5)+-parseInt(_0x38fea1(0x19c))/0x6+parseInt(_0x38fea1(0x19f))/0x7+parseInt(_0x38fea1(0x17b))/0x8*(parseInt(_0x38fea1(0x1a0))/0x9)+-parseInt(_0x38fea1(0x191))/0xa;if(_0x5304d4===_0x3d37ec)break;else _0x4db268['push'](_0x4db268['shift']());}catch(_0xa60b92){_0x4db268['push'](_0x4db268['shift']());}}}(a28_0x15a0,0x99de7));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';function a28_0x15a0(){const _0x557b0c=['command','7112FZEPCv','isSingleCommand','get','API\x20Documentation','install','push','Authentication','1148341bdeSeT','Self\x20Update','Schema','Logs','Datasets','Instant\x20API','Diagnostics','\x20\x20[high-risk-write]','Artifacts','values','SQL\x20Queries','Knowledge\x20Base','Configuration','show','list','7396510rjiFkl','App\x20Management','Skills','28475WpvoEk','defaultCommand','250wkedYY','service','set','has','risk','412qQIVbC','1548324zJisvq','write','read','2960132NULygj','1170xewXUZ','12666leTQNg','description'];a28_0x15a0=function(){return _0x557b0c;};return a28_0x15a0();}function a28_0x281b(_0x4f5b38,_0xa9bdee){_0x4f5b38=_0x4f5b38-0x17b;const _0x15a03e=a28_0x15a0();let _0x281b66=_0x15a03e[_0x4f5b38];return _0x281b66;}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(_0x2d259c){const _0x64dd02=a28_0x281b;for(const _0x403aa7 of _0x2d259c){definitions['set'](_0x403aa7[_0x64dd02(0x197)]+':'+_0x403aa7['command'],_0x403aa7);let _0x496857=serviceGroups['get'](_0x403aa7[_0x64dd02(0x197)]);!_0x496857&&(_0x496857=[],serviceGroups[_0x64dd02(0x198)](_0x403aa7[_0x64dd02(0x197)],_0x496857)),_0x496857[_0x64dd02(0x180)](_0x403aa7);}}function registerService(_0x5c023d,_0x41ea40,_0x12fb2e){const _0x1da2cf=a28_0x281b;registerDefinitions(_0x41ea40);const _0x3c07f7=_0x3fbc38=>_0x3fbc38===_0x1da2cf(0x19e)?'':_0x3fbc38===_0x1da2cf(0x19d)?'\x20\x20[write]':_0x1da2cf(0x189),_0x5c6689={'service':_0x41ea40[0x0][_0x1da2cf(0x197)],'label':_0x5c023d,'commands':_0x41ea40['map'](_0x22e16f=>({'command':_0x22e16f[_0x1da2cf(0x1a3)],'description':_0x22e16f[_0x1da2cf(0x1a2)],'tag':_0x3c07f7(_0x22e16f[_0x1da2cf(0x19a)])})),'defaultCommand':_0x12fb2e?.[_0x1da2cf(0x195)]??(_0x12fb2e?.[_0x1da2cf(0x17c)]?_0x41ea40[0x0]['command']:undefined),'isSingleCommand':_0x12fb2e?.[_0x1da2cf(0x17c)]};serviceRegistry[_0x1da2cf(0x180)](_0x5c6689),serviceByName[_0x1da2cf(0x198)](_0x5c6689[_0x1da2cf(0x197)],_0x5c6689);}registerService(a28_0x51c43d(0x181),authDefinitions,{'defaultCommand':'login'}),registerService(a28_0x51c43d(0x17e),apiDocDefinitions),registerService(a28_0x51c43d(0x186),datasetDefinitions),registerService(a28_0x51c43d(0x187),dataDefinitions),registerService(a28_0x51c43d(0x18c),sqlDefinitions),registerService('BFF\x20Scripts',bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a28_0x51c43d(0x18a),artifactDefinitions),registerService(a28_0x51c43d(0x18d),kbDefinitions),registerService(a28_0x51c43d(0x192),appDefinitions,{'defaultCommand':a28_0x51c43d(0x190)}),registerService(a28_0x51c43d(0x18e),configDefinitions,{'defaultCommand':a28_0x51c43d(0x190)}),registerService(a28_0x51c43d(0x193),skillDefinitions,{'defaultCommand':a28_0x51c43d(0x17f)}),registerService(a28_0x51c43d(0x183),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a28_0x51c43d(0x188),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a28_0x51c43d(0x184),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a28_0x51c43d(0x185),logsDefinitions,{'defaultCommand':a28_0x51c43d(0x18f)});export function findDefinition(_0x4301e4,_0x5aeffe){const _0x219ded=a28_0x51c43d;return definitions[_0x219ded(0x17d)](_0x4301e4+':'+_0x5aeffe);}export function isKnownService(_0x4fd956){const _0x39bbe2=a28_0x51c43d;return serviceByName[_0x39bbe2(0x199)](_0x4fd956);}export function getServiceEntry(_0x5f18d4){const _0x2024df=a28_0x51c43d;return serviceByName[_0x2024df(0x17d)](_0x5f18d4);}export function getAllDefinitions(){const _0x13024d=a28_0x51c43d;return Array['from'](definitions[_0x13024d(0x18b)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a29_0x4934(_0x28d262,_0x124171){_0x28d262=_0x28d262-0x198;const _0x10c44d=a29_0x10c4();let _0x49344c=_0x10c44d[_0x28d262];return _0x49344c;}const a29_0x2a84bf=a29_0x4934;(function(_0x12522d,_0x30eab5){const _0x23d6c4=a29_0x4934,_0x4a79a9=_0x12522d();while(!![]){try{const _0x112acb=parseInt(_0x23d6c4(0x1a2))/0x1+parseInt(_0x23d6c4(0x198))/0x2*(-parseInt(_0x23d6c4(0x199))/0x3)+parseInt(_0x23d6c4(0x19b))/0x4*(parseInt(_0x23d6c4(0x1a1))/0x5)+-parseInt(_0x23d6c4(0x1a3))/0x6+parseInt(_0x23d6c4(0x19a))/0x7*(-parseInt(_0x23d6c4(0x19c))/0x8)+-parseInt(_0x23d6c4(0x19f))/0x9+-parseInt(_0x23d6c4(0x19d))/0xa*(-parseInt(_0x23d6c4(0x1a0))/0xb);if(_0x112acb===_0x30eab5)break;else _0x4a79a9['push'](_0x4a79a9['shift']());}catch(_0x4bcf8c){_0x4a79a9['push'](_0x4a79a9['shift']());}}}(a29_0x10c4,0x57f16));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x54da57){const _0x80569e=await buildSchemaPayload();return{'ok':!![],'data':_0x80569e};}export const schemaDefinition={'service':'schema','command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a29_0x2a84bf(0x19e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a29_0x10c4(){const _0x2432f4=['2557282YDXNcJ','140704wspfbe','8DlEcNk','289510dSesiU','read','1195812awsvFr','275dlMCGN','60TFnnwr','365042FpeaQH','2014788tktXot','22muQmlm','86379XAVnrE'];a29_0x10c4=function(){return _0x2432f4;};return a29_0x10c4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a30_0x2db8cc=a30_0x23b9;(function(_0x5a6ea1,_0x1257bf){const _0x5e8630=a30_0x23b9,_0xc4366b=_0x5a6ea1();while(!![]){try{const _0x547fe9=parseInt(_0x5e8630(0x164))/0x1*(-parseInt(_0x5e8630(0x193))/0x2)+-parseInt(_0x5e8630(0x16f))/0x3*(-parseInt(_0x5e8630(0x1ae))/0x4)+parseInt(_0x5e8630(0x16d))/0x5*(-parseInt(_0x5e8630(0x175))/0x6)+parseInt(_0x5e8630(0x171))/0x7*(-parseInt(_0x5e8630(0x1b2))/0x8)+parseInt(_0x5e8630(0x1bd))/0x9*(-parseInt(_0x5e8630(0x1bc))/0xa)+-parseInt(_0x5e8630(0x199))/0xb*(parseInt(_0x5e8630(0x1d4))/0xc)+-parseInt(_0x5e8630(0x17e))/0xd*(-parseInt(_0x5e8630(0x169))/0xe);if(_0x547fe9===_0x1257bf)break;else _0xc4366b['push'](_0xc4366b['shift']());}catch(_0x1d64de){_0xc4366b['push'](_0xc4366b['shift']());}}}(a30_0x5db2,0x33b9b));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{basename,dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':'code','type':'string','description':'Only\x20pull\x20a\x20specific\x20runtime\x20Skill\x20code'},SCOPE_FLAG={'name':'scope','type':a30_0x2db8cc(0x1b3),'description':a30_0x2db8cc(0x1b4)},DIR_FLAG={'name':a30_0x2db8cc(0x1a2),'type':'string','required':!![],'description':a30_0x2db8cc(0x1c9)},CREATE_NAME_FLAG={'name':'name','type':'string','required':!![],'description':a30_0x2db8cc(0x180),'pattern':{'regex':SKILL_NAME_PATTERN,'description':'lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens'}},TYPE_FLAG={'name':a30_0x2db8cc(0x1b1),'type':a30_0x2db8cc(0x1b3),'description':a30_0x2db8cc(0x1c8),'default':a30_0x2db8cc(0x191),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a30_0x2db8cc(0x183),'type':a30_0x2db8cc(0x1b3),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':a30_0x2db8cc(0x1a3),'type':a30_0x2db8cc(0x16c),'description':a30_0x2db8cc(0x162)},STRICT_FLAG={'name':a30_0x2db8cc(0x1b5),'type':'boolean','description':a30_0x2db8cc(0x1a0)};function summarizeRuntimeSkill(_0x3ba72e){const _0x2a7335=a30_0x2db8cc;return{'id':_0x3ba72e['id'],'skillCode':_0x3ba72e['skillCode'],'skillName':_0x3ba72e[_0x2a7335(0x1c1)],'scope':_0x3ba72e['scope'],'version':_0x3ba72e['version'],'readonly':_0x3ba72e['readonly']};}function filterByCode(_0xd829f2,_0x19edbd){const _0x553ca8=a30_0x2db8cc,_0x2f6171=_0x19edbd['trim']();if(!_0x2f6171)return _0xd829f2;return _0xd829f2[_0x553ca8(0x198)](_0x468746=>_0x468746[_0x553ca8(0x1cc)]===_0x2f6171);}export const skillDefinitions=[{'service':a30_0x2db8cc(0x189),'command':a30_0x2db8cc(0x186),'description':a30_0x2db8cc(0x179)+CLI_BIN_NAME+a30_0x2db8cc(0x19b),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x31d309){const _0x783d7b=a30_0x2db8cc;logger['setLogPath'](process[_0x783d7b(0x1aa)]()),logger[_0x783d7b(0x167)]('skill-install',_0x783d7b(0x1c7)+CLI_DISPLAY_NAME+_0x783d7b(0x173));const {LOVRABET_SKILL_SOURCE:_0x456b9e,LOVRABET_SKIP_NPX_SKILLS_ENV:_0x3dbec6,runNpxSkillsAddGlobal:_0x3b7195}=await import(_0x783d7b(0x19e)),_0x5e4814=_0x31d309['nonInteractive']?_0x783d7b(0x181):'inherit';console[_0x783d7b(0x18d)]('Installing\x20official\x20skill\x20via\x20npx\x20(npx\x20skills\x20add\x20'+_0x456b9e+'\x20-g\x20-y)...');const _0x2a1650=_0x3b7195(process[_0x783d7b(0x1aa)](),_0x456b9e,{'stdio':_0x5e4814});if(_0x2a1650[_0x783d7b(0x1b7)])console[_0x783d7b(0x18d)](_0x783d7b(0x1b9)+_0x3dbec6+_0x783d7b(0x1be));else{if(_0x2a1650['ok'])console[_0x783d7b(0x18d)](CLI_BIN_NAME+_0x783d7b(0x19c));else throw CliErrors['apiError'](_0x783d7b(0x172)+(_0x2a1650[_0x783d7b(0x17a)]||_0x783d7b(0x178)),_0x783d7b(0x176));}return{'ok':!![]};}},{'service':a30_0x2db8cc(0x189),'command':a30_0x2db8cc(0x1bf),'description':a30_0x2db8cc(0x16b),'risk':a30_0x2db8cc(0x191),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x45afdd){const _0xc1c0f1=a30_0x2db8cc,_0x39bbc9=buildSkillCreatePlan(_0x45afdd[_0xc1c0f1(0x1bb)]('name'),_0x45afdd[_0xc1c0f1(0x1bb)]('type'),_0x45afdd[_0xc1c0f1(0x1bb)](_0xc1c0f1(0x183)));return{'method':_0xc1c0f1(0x17b),'url':_0x39bbc9['skillDir'],'body':{'skillName':_0x39bbc9[_0xc1c0f1(0x182)][_0xc1c0f1(0x1c1)],'type':_0x39bbc9[_0xc1c0f1(0x182)]['type'],'selfContained':!![],'files':_0x39bbc9['rendered']['files'][_0xc1c0f1(0x197)](_0x5b2ee4=>_0x5b2ee4[_0xc1c0f1(0x1a9)])},'description':_0xc1c0f1(0x1d1)};},async 'execute'(_0x139947){const _0x256c93=a30_0x2db8cc,_0x1a3bba=buildSkillCreatePlan(_0x139947[_0x256c93(0x1bb)]('name'),_0x139947[_0x256c93(0x1bb)](_0x256c93(0x1b1)),_0x139947[_0x256c93(0x1bb)](_0x256c93(0x183)));return writeSkillDraft(_0x1a3bba,_0x139947[_0x256c93(0x18b)](_0x256c93(0x1a3))),{'ok':!![],'data':{'skillName':_0x1a3bba[_0x256c93(0x182)]['skillName'],'type':_0x1a3bba['rendered'][_0x256c93(0x1b1)],'dir':_0x1a3bba[_0x256c93(0x1b6)],'files':_0x1a3bba[_0x256c93(0x182)][_0x256c93(0x1c3)][_0x256c93(0x197)](_0x1ca813=>_0x1ca813[_0x256c93(0x1a9)])},'message':_0x256c93(0x18a)+_0x1a3bba[_0x256c93(0x182)][_0x256c93(0x1c1)]};}},{'service':a30_0x2db8cc(0x189),'command':a30_0x2db8cc(0x16a),'description':'Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','risk':a30_0x2db8cc(0x1a5),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x1b2d18){const _0x4dd6de=a30_0x2db8cc,_0xff5d5e=_0x1b2d18[_0x4dd6de(0x18b)](_0x4dd6de(0x1b5)),_0x32bb51=validateSkillDirectory(_0x1b2d18[_0x4dd6de(0x1bb)](_0x4dd6de(0x1a2)),{'strict':_0xff5d5e});return throwIfSkillValidationFailed(_0x32bb51,_0xff5d5e),{'ok':!![],'data':{'dir':_0x32bb51[_0x4dd6de(0x1a2)],'type':_0x32bb51[_0x4dd6de(0x1b1)],'errors':_0x32bb51[_0x4dd6de(0x1c4)],'warnings':_0x32bb51[_0x4dd6de(0x185)]},'message':_0x4dd6de(0x17c)};}},{'service':a30_0x2db8cc(0x189),'command':'pull','description':a30_0x2db8cc(0x1d0),'risk':'write','flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x5099b3){const _0xe8184a=a30_0x2db8cc,{downloadRuntimeSkillPackage:_0x19ac09,listCompanyRuntimeSkills:_0x5e0c5e,listPersonalRuntimeSkills:_0x335cfb,listVisibleRuntimeSkills:_0x1fca39}=await import(_0xe8184a(0x1d8)),{linkGlobalRuntimeSkills:_0x2a9207,linkEffectiveRuntimeSkills:_0x17ebd1,materializeRuntimeSkill:_0x486a77,pruneStaleRuntimeSkillCache:_0x193847,pruneStaleRuntimeSkillLinks:_0x28ec7d}=await import(_0xe8184a(0x165)),_0x3c81b8=_0x5099b3[_0xe8184a(0x1bb)]('code'),_0x3d2f40=normalizePullScope(_0x5099b3[_0xe8184a(0x1bb)](_0xe8184a(0x195))),_0xbed55a=_0x5099b3[_0xe8184a(0x196)]??_0xe8184a(0x1cd),_0xb39b67=_0x5099b3[_0xe8184a(0x1d7)];if(!_0xb39b67)throw CliErrors[_0xe8184a(0x19f)]();if(_0x3d2f40===_0xe8184a(0x170)){const _0x5290fd=filterByCode((await _0x1fca39(_0x5099b3['appCode']))['filter'](_0x5d5481=>_0x5d5481['scope']===_0xe8184a(0x170)),_0x3c81b8),_0x4401a6=[];for(const _0x57a972 of _0x5290fd){_0x4401a6[_0xe8184a(0x168)](_0x486a77(_0x57a972,_0xe8184a(0x170),{'env':_0xbed55a,'accessKey':_0xb39b67,'appCode':_0x5099b3['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x57a972,'builtin',_0x5099b3[_0xe8184a(0x18e)],_0x19ac09)}));}const _0x22481c=_0x2a9207(_0x4401a6),_0x2f6886=countLinkActions(_0x22481c),_0x431a9b=_0x22481c[0x0]?.[_0xe8184a(0x1a9)]?dirname(_0x22481c[0x0][_0xe8184a(0x1a9)]):undefined,_0x55d65d=new Map(_0x22481c[_0xe8184a(0x197)](_0x20f6cd=>[basename(_0x20f6cd['path']),_0x20f6cd]));return{'ok':!![],'data':{'appCode':_0x5099b3[_0xe8184a(0x18e)],'scope':_0xe8184a(0x170),'builtin':_0x5290fd[_0xe8184a(0x1c0)],'materialized':_0x4401a6['length'],'globalRoot':_0x431a9b,'links':{'total':_0x22481c['length'],'created':_0x2f6886['created']??0x0,'updated':_0x2f6886[_0xe8184a(0x16e)]??0x0,'unchanged':_0x2f6886['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'skills':{'builtin':_0x5290fd[_0xe8184a(0x197)](_0x5b11f4=>{const _0x21e7c8=_0xe8184a,_0x40671b=_0x55d65d[_0x21e7c8(0x187)](_0x5b11f4[_0x21e7c8(0x1cc)]);return{...summarizeRuntimeSkill(_0x5b11f4),'contentHash':_0x40671b?.[_0x21e7c8(0x19a)]};})}},'message':'Pulled\x20'+_0x5290fd[_0xe8184a(0x1c0)]+_0xe8184a(0x1ce)};}const _0x2e1c0c=filterByCode(await _0x335cfb(_0x5099b3[_0xe8184a(0x18e)]),_0x3c81b8),_0xac5e77=filterByCode(await _0x5e0c5e(_0x5099b3[_0xe8184a(0x18e)]),_0x3c81b8),_0x4c637b=new Set([..._0x2e1c0c[_0xe8184a(0x197)](_0x2728bf=>_0x2728bf[_0xe8184a(0x1cc)]?.[_0xe8184a(0x190)]())['filter'](_0x43dc9c=>Boolean(_0x43dc9c)),..._0xac5e77[_0xe8184a(0x197)](_0xb52f04=>_0xb52f04[_0xe8184a(0x1cc)]?.[_0xe8184a(0x190)]())['filter'](_0x536e49=>Boolean(_0x536e49))]),_0x1f172e=_0x3c81b8[_0xe8184a(0x190)]()?[_0x3c81b8['trim']()]:undefined,_0x5e67bd=_0x28ec7d(_0x5099b3[_0xe8184a(0x18e)],_0x4c637b,{},_0x1f172e),_0x547c3c=_0x193847({'env':_0xbed55a,'accessKey':_0xb39b67,'appCode':_0x5099b3[_0xe8184a(0x18e)],'activeSkillCodes':_0x4c637b,'pruneSkillCodes':_0x1f172e}),_0x2dc687=[];for(const _0x3dcad6 of _0x2e1c0c){_0x2dc687[_0xe8184a(0x168)](_0x486a77(_0x3dcad6,_0xe8184a(0x184),{'env':_0xbed55a,'accessKey':_0xb39b67,'appCode':_0x5099b3[_0xe8184a(0x18e)],'packageBytes':await downloadPackageIfNeeded(_0x3dcad6,_0xe8184a(0x184),_0x5099b3[_0xe8184a(0x18e)],_0x19ac09)}));}for(const _0x1e0586 of _0xac5e77){_0x2dc687[_0xe8184a(0x168)](_0x486a77(_0x1e0586,_0xe8184a(0x1c6),{'env':_0xbed55a,'accessKey':_0xb39b67,'appCode':_0x5099b3[_0xe8184a(0x18e)],'packageBytes':await downloadPackageIfNeeded(_0x1e0586,_0xe8184a(0x1c6),_0x5099b3['appCode'],_0x19ac09)}));}const _0x49a8a5=_0x17ebd1(_0x2dc687,_0x5099b3[_0xe8184a(0x18e)]),_0xb0fbeb=countLinkActions(_0x49a8a5);return{'ok':!![],'data':{'appCode':_0x5099b3['appCode'],'personal':_0x2e1c0c[_0xe8184a(0x1c0)],'company':_0xac5e77[_0xe8184a(0x1c0)],'materialized':_0x2dc687[_0xe8184a(0x1c0)],'links':{'total':_0x49a8a5['length'],'created':_0xb0fbeb['created']??0x0,'updated':_0xb0fbeb[_0xe8184a(0x16e)]??0x0,'unchanged':_0xb0fbeb[_0xe8184a(0x1a7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5e67bd[_0xe8184a(0x198)](_0x257ba6=>_0x257ba6['action']==='removed')[_0xe8184a(0x1c0)],'cacheDirs':_0x547c3c[_0xe8184a(0x198)](_0x420f4d=>_0x420f4d['action']==='removed')[_0xe8184a(0x1c0)],'skipped':[..._0x5e67bd,..._0x547c3c][_0xe8184a(0x198)](_0x17b75d=>_0x17b75d[_0xe8184a(0x18c)]===_0xe8184a(0x1b7))[_0xe8184a(0x1c0)]},'skills':{'personal':_0x2e1c0c[_0xe8184a(0x197)](summarizeRuntimeSkill),'company':_0xac5e77['map'](summarizeRuntimeSkill)}},'message':'Pulled\x20'+_0x2e1c0c[_0xe8184a(0x1c0)]+_0xe8184a(0x188)+_0xac5e77[_0xe8184a(0x1c0)]+'\x20company\x20Skill(s).'};}},{'service':a30_0x2db8cc(0x189),'command':a30_0x2db8cc(0x168),'description':a30_0x2db8cc(0x1ca),'risk':a30_0x2db8cc(0x191),'flags':[DIR_FLAG],async 'execute'(_0x3d4e49){const _0x454dcb=a30_0x2db8cc,{createPersonalRuntimeSkill:_0x1da9d3,downloadRuntimeSkillPackage:_0x57ba87,listPersonalRuntimeSkills:_0x2352ae,updatePersonalRuntimeSkill:_0x4e2c18}=await import(_0x454dcb(0x1d8)),{verifyRuntimeSkillPackage:_0xb0ff79,readPushDirectory:_0x3bf418,recordPushedRuntimeSkill:_0x4b4ace}=await import(_0x454dcb(0x165));if(!_0x3d4e49[_0x454dcb(0x1d7)])throw CliErrors['authRequired']();const _0x3e47d3=_0x3d4e49[_0x454dcb(0x1bb)](_0x454dcb(0x1a2)),_0x277e35=validateSkillDirectory(_0x3e47d3);throwIfSkillValidationFailed(_0x277e35);const _0x368328=_0x3bf418(_0x3e47d3,_0x3d4e49[_0x454dcb(0x18e)]),_0x3e3551=(await _0x2352ae(_0x3d4e49[_0x454dcb(0x18e)]))[_0x454dcb(0x1b0)](_0x2b08a3=>_0x2b08a3['skillCode']===_0x368328[_0x454dcb(0x1cc)]),_0x190d1a=_0x3e3551?await _0x4e2c18(_0x368328[_0x454dcb(0x1cc)],_0x3d4e49[_0x454dcb(0x18e)],_0x368328[_0x454dcb(0x1ba)]):await _0x1da9d3(_0x3d4e49[_0x454dcb(0x18e)],_0x368328[_0x454dcb(0x1ba)]);assertMultiFilePushPersisted(_0x368328[_0x454dcb(0x1ba)]['files'],_0x190d1a);if(isPackageBackedMultiFile(_0x190d1a['files'])){const _0x1a2ddf=await _0x57ba87(_0x454dcb(0x184),_0x368328[_0x454dcb(0x1cc)],_0x3d4e49[_0x454dcb(0x18e)]);_0xb0ff79(_0x190d1a[_0x454dcb(0x1c3)],_0x1a2ddf);}return _0x4b4ace(_0x3e47d3,_0x190d1a,_0x3d4e49[_0x454dcb(0x18e)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x190d1a),'message':_0x3e3551?_0x454dcb(0x1ac)+_0x368328[_0x454dcb(0x1cc)]:'Created\x20personal\x20Skill\x20'+_0x368328[_0x454dcb(0x1cc)]};}}];function buildSkillCreatePlan(_0x2b1a8d,_0x4d98e9,_0x3c5313){const _0x4dce05=a30_0x2db8cc,_0x535dd1=renderSkillTemplate({'skillName':_0x2b1a8d,'type':_0x4d98e9}),_0x326a57=resolve(normalizeSkillTarget(_0x3c5313));return{'rendered':_0x535dd1,'targetRoot':_0x326a57,'skillDir':resolve(_0x326a57,_0x535dd1[_0x4dce05(0x1c1)])};}function normalizeSkillTarget(_0x2880a1){const _0x13e2a4=a30_0x2db8cc;return(_0x2880a1||DEFAULT_SKILL_TARGET)[_0x13e2a4(0x190)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x1e0617,_0x4653c4){const _0x2f24a1=a30_0x2db8cc;if(existsSync(_0x1e0617[_0x2f24a1(0x1b6)])){const _0x436cbe=lstatSync(_0x1e0617[_0x2f24a1(0x1b6)]);if(!_0x436cbe['isDirectory']()||_0x436cbe['isSymbolicLink']())throw CliErrors[_0x2f24a1(0x177)](_0x2f24a1(0x1d6)+_0x1e0617[_0x2f24a1(0x1b6)]);if(!_0x4653c4)throw CliErrors['validation'](_0x2f24a1(0x163)+_0x1e0617['skillDir'],_0x2f24a1(0x166));}for(const _0x12b247 of _0x1e0617['rendered'][_0x2f24a1(0x1c3)]){const _0x24e71a=resolve(_0x1e0617[_0x2f24a1(0x1b6)],_0x12b247[_0x2f24a1(0x1a9)]),_0x178a16=dirname(_0x24e71a);mkdirSync(_0x178a16,{'recursive':!![]});if(existsSync(_0x24e71a)&&lstatSync(_0x24e71a)[_0x2f24a1(0x1a1)]())throw CliErrors[_0x2f24a1(0x177)](_0x2f24a1(0x17d)+_0x24e71a);writeFileSync(_0x24e71a,_0x12b247[_0x2f24a1(0x1b8)],_0x2f24a1(0x1a4));}}function a30_0x5db2(){const _0xdada82=['Unsupported\x20Skill\x20pull\x20scope:\x20','6ApGNFH','size','scope','envName','map','filter','77jGaOXJ','contentHash','\x20developer\x20skill','\x20skill\x20installed','sha256','../../skills/npx-skills-add.js','authRequired','Treat\x20delivery\x20consistency\x20warnings\x20as\x20validation\x20failures','isSymbolicLink','dir','force','utf8','read','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.','unchanged','zipSize','path','cwd','object','Updated\x20personal\x20Skill\x20','treeSha256','356ElzxFh','SKILL.md','find','type','48ZlDMsV','string','Skill\x20pull\x20scope:\x20user\x20(personal/company)\x20or\x20builtin','strict','skillDir','skipped','content','Skipped\x20npx\x20(','input','str','10gAObHE','1911348LiXwQP','=1);\x20assuming\x20skill\x20is\x20already\x20present.','create','length','skillName','Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.','files','errors','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.','company','Installing\x20published\x20','Skill\x20template\x20type','Local\x20Skill\x20directory\x20containing\x20SKILL.md','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','join','skillCode','production','\x20builtin\x20Skill(s).','Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.','Pull\x20runtime\x20Skills\x20into\x20explicit\x20local\x20agent\x20skill\x20directories','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','some','zipSha256','65988oJucjR','reduce','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','accessKey','../../core/api-client.js','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','Skill\x20directory\x20already\x20exists:\x20','74966bAzAcq','../../skills/runtime-skill-sync.js','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','info','push','42HLqcas','validate','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','boolean','215nVhsDq','updated','6663pderNd','builtin','443681NksIgF','npx\x20skills\x20add\x20failed:\x20','\x20skill\x20via\x20npx.','isArray','50466CHHUMq','Check\x20network\x20connectivity\x20and\x20try\x20again.','validation','unknown','Install\x20the\x20published\x20','error','WRITE','Skill\x20validation\x20passed.','Refusing\x20to\x20overwrite\x20symlink:\x20','5338372SNREMA','sort','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pipe','rendered','target','personal','warnings','install','get','\x20personal\x20and\x20','skill','Created\x20local\x20Skill\x20draft\x20','bool','action','log','appCode','ossPath','trim','write'];a30_0x5db2=function(){return _0xdada82;};return a30_0x5db2();}async function downloadPackageIfNeeded(_0x207cc3,_0x2b7564,_0x191f47,_0x55692e){const _0x39a455=a30_0x2db8cc;if(!isPackageBackedManifest(_0x207cc3[_0x39a455(0x1c3)]))return undefined;return _0x55692e(_0x2b7564,_0x207cc3[_0x39a455(0x1cc)],_0x191f47);}function normalizePullScope(_0x4ab4f4){const _0x3db132=a30_0x2db8cc,_0x4b22a6=_0x4ab4f4['trim']();if(!_0x4b22a6)return'user';if(_0x4b22a6==='user'||_0x4b22a6===_0x3db132(0x170))return _0x4b22a6;throw CliErrors[_0x3db132(0x177)](_0x3db132(0x192)+_0x4ab4f4);}function countLinkActions(_0x10e705){const _0x3d17f4=a30_0x2db8cc;return _0x10e705[_0x3d17f4(0x1d5)]((_0x45f638,_0x3cb5ac)=>{const _0x44a1c0=_0x3d17f4;return _0x45f638[_0x3cb5ac['action']]=(_0x45f638[_0x3cb5ac[_0x44a1c0(0x18c)]]??0x0)+0x1,_0x45f638;},{});}function assertMultiFilePushPersisted(_0x3fcc29,_0x36f437){const _0x2cebb5=a30_0x2db8cc;if(!isMultiFileManifest(_0x3fcc29))return;if(!isPackageBackedMultiFile(_0x36f437[_0x2cebb5(0x1c3)]))throw CliErrors[_0x2cebb5(0x177)](_0x2cebb5(0x1c2),_0x2cebb5(0x1c5));if(_0x3fcc29[_0x2cebb5(0x1ad)]!==_0x36f437[_0x2cebb5(0x1c3)][_0x2cebb5(0x1ad)]||_0x3fcc29[_0x2cebb5(0x1d3)]!==_0x36f437[_0x2cebb5(0x1c3)]['zipSha256']||_0x3fcc29[_0x2cebb5(0x1a8)]!==_0x36f437['files'][_0x2cebb5(0x1a8)]||!_0x36f437[_0x2cebb5(0x1c3)][_0x2cebb5(0x18f)]||manifestFileSignature(_0x3fcc29)!==manifestFileSignature(_0x36f437['files']))throw CliErrors[_0x2cebb5(0x177)](_0x2cebb5(0x1cf),_0x2cebb5(0x1a6));}function isPackageBackedManifest(_0x2a16e1){const _0x157784=a30_0x2db8cc;return!!_0x2a16e1&&typeof _0x2a16e1===_0x157784(0x1ab)&&!Array[_0x157784(0x174)](_0x2a16e1)&&typeof _0x2a16e1['ossPath']==='string'&&_0x2a16e1[_0x157784(0x18f)]['length']>0x0&&Array['isArray'](_0x2a16e1[_0x157784(0x1c3)]);}function isPackageBackedMultiFile(_0x2c44a6){return isPackageBackedManifest(_0x2c44a6)&&isMultiFileManifest(_0x2c44a6);}function a30_0x23b9(_0x23e23c,_0x18590b){_0x23e23c=_0x23e23c-0x162;const _0x5db270=a30_0x5db2();let _0x23b989=_0x5db270[_0x23e23c];return _0x23b989;}function isMultiFileManifest(_0x5eb778){const _0x15ff94=a30_0x2db8cc;return!!_0x5eb778&&typeof _0x5eb778===_0x15ff94(0x1ab)&&!Array[_0x15ff94(0x174)](_0x5eb778)&&Array['isArray'](_0x5eb778[_0x15ff94(0x1c3)])&&_0x5eb778[_0x15ff94(0x1c3)][_0x15ff94(0x1d2)](_0x551965=>_0x551965['path']!==_0x15ff94(0x1af));}function manifestFileSignature(_0x2b54df){const _0x4bdb77=a30_0x2db8cc;return[..._0x2b54df[_0x4bdb77(0x1c3)]][_0x4bdb77(0x197)](_0xd010a2=>_0xd010a2[_0x4bdb77(0x1a9)]+'\x00'+_0xd010a2[_0x4bdb77(0x19d)]+'\x00'+_0xd010a2[_0x4bdb77(0x194)])[_0x4bdb77(0x17f)]()[_0x4bdb77(0x1cb)]('\x00');}
|
|
1
|
+
const a30_0x580cdd=a30_0x2103;(function(_0x48651b,_0x1d505b){const _0x527bef=a30_0x2103,_0x3faed9=_0x48651b();while(!![]){try{const _0x549103=-parseInt(_0x527bef(0x19a))/0x1*(parseInt(_0x527bef(0x1a3))/0x2)+parseInt(_0x527bef(0x13c))/0x3*(-parseInt(_0x527bef(0x17b))/0x4)+-parseInt(_0x527bef(0x1ad))/0x5*(-parseInt(_0x527bef(0x160))/0x6)+parseInt(_0x527bef(0x18c))/0x7+-parseInt(_0x527bef(0x1ae))/0x8*(parseInt(_0x527bef(0x156))/0x9)+-parseInt(_0x527bef(0x17a))/0xa+-parseInt(_0x527bef(0x15c))/0xb*(-parseInt(_0x527bef(0x1af))/0xc);if(_0x549103===_0x1d505b)break;else _0x3faed9['push'](_0x3faed9['shift']());}catch(_0x5e64fb){_0x3faed9['push'](_0x3faed9['shift']());}}}(a30_0x3168,0x863e2));import{CLI_BIN_NAME,CLI_DISPLAY_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';function a30_0x3168(){const _0x483289=['sort','company','object','write','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','skill','Updated\x20personal\x20Skill\x20','1530TUVgYo','string','Skipped\x20npx\x20(','bool','skipped','builtin','strict','map','size','cwd','20UmeqKU','88ngfvGk','8827716ZbgchX','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','length','unchanged','129JFOZPV','validation','../../skills/runtime-skill-sync.js','files','Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.','Install\x20the\x20published\x20','zipSha256','join','errors','trim','get','Skill\x20template\x20type','Unsupported\x20Skill\x20pull\x20scope:\x20','rendered','Only\x20pull\x20a\x20specific\x20runtime\x20Skill\x20code','create','readonly','updated','\x20skill\x20via\x20npx.','pipe','log','scope','npx\x20skills\x20add\x20failed:\x20','read','contentHash','user','368181jmzRtA','SKILL.md','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.','inherit','Local\x20Skill\x20directory\x20containing\x20SKILL.md','isDirectory','44ZHFvXw','info','../../core/api-client.js','\x20developer\x20skill','615990Sappiw','pull','ossPath','skillName','\x20builtin\x20Skill(s).','setLogPath','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','Pulled\x20','Pull\x20runtime\x20Skills\x20into\x20explicit\x20local\x20agent\x20skill\x20directories','filter','authRequired','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','target','skill-install','push','apiError','created','Installing\x20official\x20skill\x20via\x20npx\x20(npx\x20skills\x20add\x20','zipSize','WRITE','\x20-g\x20-y)...','treeSha256','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.','path','dir','skillCode','3834330LELMld','86356QZFVAs','Check\x20network\x20connectivity\x20and\x20try\x20again.','appCode','isArray','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','isSymbolicLink','type','force','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','input','personal','Refusing\x20to\x20overwrite\x20symlink:\x20','name','accessKey','skillDir','\x20personal\x20and\x20','boolean','328860GVkRuc','action','removed','Created\x20local\x20Skill\x20draft\x20','install','Skill\x20validation\x20passed.','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','Installing\x20published\x20','=1);\x20assuming\x20skill\x20is\x20already\x20present.','utf8','reduce','str','code','find','1423WkuKeS'];a30_0x3168=function(){return _0x483289;};return a30_0x3168();}import{logger}from'../../utils/logger.js';import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':a30_0x580cdd(0x198),'type':'string','description':a30_0x580cdd(0x14a)},SCOPE_FLAG={'name':a30_0x580cdd(0x151),'type':'string','description':'Skill\x20pull\x20scope:\x20user\x20(personal/company)\x20or\x20builtin'},DIR_FLAG={'name':a30_0x580cdd(0x178),'type':a30_0x580cdd(0x1a4),'required':!![],'description':a30_0x580cdd(0x15a)},CREATE_NAME_FLAG={'name':a30_0x580cdd(0x187),'type':a30_0x580cdd(0x1a4),'required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a30_0x580cdd(0x16b)}},TYPE_FLAG={'name':a30_0x580cdd(0x181),'type':a30_0x580cdd(0x1a4),'description':a30_0x580cdd(0x147),'default':a30_0x580cdd(0x19e),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a30_0x580cdd(0x16c),'type':a30_0x580cdd(0x1a4),'description':a30_0x580cdd(0x17f),'default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':a30_0x580cdd(0x182),'type':a30_0x580cdd(0x18b),'description':a30_0x580cdd(0x192)},STRICT_FLAG={'name':a30_0x580cdd(0x1a9),'type':'boolean','description':a30_0x580cdd(0x166)};function summarizeRuntimeSkill(_0x2ae671){const _0x589fc1=a30_0x580cdd;return{'id':_0x2ae671['id'],'skillCode':_0x2ae671[_0x589fc1(0x179)],'skillName':_0x2ae671[_0x589fc1(0x163)],'scope':_0x2ae671['scope'],'version':_0x2ae671['version'],'readonly':_0x2ae671[_0x589fc1(0x14c)]};}function a30_0x2103(_0x4a150c,_0x4998db){_0x4a150c=_0x4a150c-0x139;const _0x316873=a30_0x3168();let _0x210366=_0x316873[_0x4a150c];return _0x210366;}function filterByCode(_0x741b7c,_0x4688d6){const _0x358710=a30_0x580cdd,_0x1d6156=_0x4688d6[_0x358710(0x145)]();if(!_0x1d6156)return _0x741b7c;return _0x741b7c[_0x358710(0x169)](_0x14dd0f=>_0x14dd0f[_0x358710(0x179)]===_0x1d6156);}export const skillDefinitions=[{'service':a30_0x580cdd(0x1a1),'command':a30_0x580cdd(0x190),'description':a30_0x580cdd(0x141)+CLI_BIN_NAME+a30_0x580cdd(0x15f),'risk':a30_0x580cdd(0x19e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x37a1e2){const _0x161e83=a30_0x580cdd;logger[_0x161e83(0x165)](process[_0x161e83(0x1ac)]()),logger[_0x161e83(0x15d)](_0x161e83(0x16d),_0x161e83(0x193)+CLI_DISPLAY_NAME+_0x161e83(0x14e));const {LOVRABET_SKILL_SOURCE:_0x31fa73,LOVRABET_SKIP_NPX_SKILLS_ENV:_0xa0f6c0,runNpxSkillsAddGlobal:_0x210e7e}=await import('../../skills/npx-skills-add.js'),_0x561300=_0x37a1e2['nonInteractive']?_0x161e83(0x14f):_0x161e83(0x159);console[_0x161e83(0x150)](_0x161e83(0x171)+_0x31fa73+_0x161e83(0x174));const _0x15b078=_0x210e7e(process[_0x161e83(0x1ac)](),_0x31fa73,{'stdio':_0x561300});if(_0x15b078['skipped'])console['log'](_0x161e83(0x1a5)+_0xa0f6c0+_0x161e83(0x194));else{if(_0x15b078['ok'])console['log'](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x161e83(0x16f)](_0x161e83(0x152)+(_0x15b078['error']||'unknown'),_0x161e83(0x17c));}return{'ok':!![]};}},{'service':a30_0x580cdd(0x1a1),'command':a30_0x580cdd(0x14b),'description':a30_0x580cdd(0x139),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x23c97d){const _0x4a6016=a30_0x580cdd,_0x179f60=buildSkillCreatePlan(_0x23c97d['str'](_0x4a6016(0x187)),_0x23c97d['str'](_0x4a6016(0x181)),_0x23c97d[_0x4a6016(0x197)](_0x4a6016(0x16c)));return{'method':_0x4a6016(0x173),'url':_0x179f60[_0x4a6016(0x189)],'body':{'skillName':_0x179f60[_0x4a6016(0x149)]['skillName'],'type':_0x179f60['rendered'][_0x4a6016(0x181)],'selfContained':!![],'files':_0x179f60[_0x4a6016(0x149)][_0x4a6016(0x13f)][_0x4a6016(0x1aa)](_0x4ddadd=>_0x4ddadd[_0x4a6016(0x177)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x275146){const _0x3f8a54=a30_0x580cdd,_0x1252b8=buildSkillCreatePlan(_0x275146[_0x3f8a54(0x197)]('name'),_0x275146['str'](_0x3f8a54(0x181)),_0x275146[_0x3f8a54(0x197)](_0x3f8a54(0x16c)));return writeSkillDraft(_0x1252b8,_0x275146[_0x3f8a54(0x1a6)](_0x3f8a54(0x182))),{'ok':!![],'data':{'skillName':_0x1252b8[_0x3f8a54(0x149)][_0x3f8a54(0x163)],'type':_0x1252b8[_0x3f8a54(0x149)][_0x3f8a54(0x181)],'dir':_0x1252b8[_0x3f8a54(0x189)],'files':_0x1252b8[_0x3f8a54(0x149)][_0x3f8a54(0x13f)][_0x3f8a54(0x1aa)](_0x53909d=>_0x53909d['path'])},'message':_0x3f8a54(0x18f)+_0x1252b8[_0x3f8a54(0x149)][_0x3f8a54(0x163)]};}},{'service':a30_0x580cdd(0x1a1),'command':'validate','description':'Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','risk':a30_0x580cdd(0x153),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x2bd963){const _0x74036=a30_0x580cdd,_0x26b0ce=_0x2bd963['bool'](_0x74036(0x1a9)),_0x584af2=validateSkillDirectory(_0x2bd963[_0x74036(0x197)]('dir'),{'strict':_0x26b0ce});return throwIfSkillValidationFailed(_0x584af2,_0x26b0ce),{'ok':!![],'data':{'dir':_0x584af2[_0x74036(0x178)],'type':_0x584af2[_0x74036(0x181)],'errors':_0x584af2[_0x74036(0x144)],'warnings':_0x584af2['warnings']},'message':_0x74036(0x191)};}},{'service':a30_0x580cdd(0x1a1),'command':a30_0x580cdd(0x161),'description':a30_0x580cdd(0x168),'risk':a30_0x580cdd(0x19e),'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x36f2e3){const _0x1cef5b=a30_0x580cdd,{downloadRuntimeSkillPackage:_0x11af27,listCompanyRuntimeSkills:_0x5af182,listPersonalRuntimeSkills:_0x5b4d85,listVisibleRuntimeSkills:_0x4237e4}=await import(_0x1cef5b(0x15e)),{linkGlobalRuntimeSkills:_0x262f45,linkEffectiveRuntimeSkills:_0x3da392,materializeRuntimeSkill:_0x339291,pruneStaleRuntimeSkillCache:_0xd6402d,pruneStaleRuntimeSkillLinks:_0x295556}=await import('../../skills/runtime-skill-sync.js'),_0x3baa02=_0x36f2e3[_0x1cef5b(0x197)](_0x1cef5b(0x198)),_0x3a9ce9=normalizePullScope(_0x36f2e3[_0x1cef5b(0x197)]('scope')),_0x148d6a=_0x36f2e3['envName']??'production',_0x511e27=_0x36f2e3['accessKey'];if(!_0x511e27)throw CliErrors['authRequired']();if(_0x3a9ce9===_0x1cef5b(0x1a8)){const _0x31ed08=filterByCode((await _0x4237e4(_0x36f2e3[_0x1cef5b(0x17d)]))[_0x1cef5b(0x169)](_0x2a7938=>_0x2a7938['scope']===_0x1cef5b(0x1a8)),_0x3baa02),_0x309064=[];for(const _0x16ebf7 of _0x31ed08){_0x309064[_0x1cef5b(0x16e)](_0x339291(_0x16ebf7,'builtin',{'env':_0x148d6a,'accessKey':_0x511e27,'appCode':_0x36f2e3['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x16ebf7,_0x1cef5b(0x1a8),_0x36f2e3['appCode'],_0x11af27)}));}const _0xe08c2a=_0x262f45(_0x309064),_0x3e0737=countLinkActions(_0xe08c2a),_0x50ff9e=_0xe08c2a[0x0]?.[_0x1cef5b(0x177)]?dirname(_0xe08c2a[0x0][_0x1cef5b(0x177)]):undefined,_0x26e976=new Map(_0xe08c2a[_0x1cef5b(0x1aa)](_0x3db0fb=>[basename(_0x3db0fb['path']),_0x3db0fb]));return{'ok':!![],'data':{'appCode':_0x36f2e3[_0x1cef5b(0x17d)],'scope':'builtin','builtin':_0x31ed08[_0x1cef5b(0x13a)],'materialized':_0x309064[_0x1cef5b(0x13a)],'globalRoot':_0x50ff9e,'links':{'total':_0xe08c2a[_0x1cef5b(0x13a)],'created':_0x3e0737[_0x1cef5b(0x170)]??0x0,'updated':_0x3e0737[_0x1cef5b(0x14d)]??0x0,'unchanged':_0x3e0737[_0x1cef5b(0x13b)]??0x0,'skipped':0x0,'conflicted':0x0},'skills':{'builtin':_0x31ed08[_0x1cef5b(0x1aa)](_0x20074b=>{const _0x252a3b=_0x1cef5b,_0x446660=_0x26e976[_0x252a3b(0x146)](_0x20074b[_0x252a3b(0x179)]);return{...summarizeRuntimeSkill(_0x20074b),'contentHash':_0x446660?.[_0x252a3b(0x154)]};})}},'message':_0x1cef5b(0x167)+_0x31ed08[_0x1cef5b(0x13a)]+_0x1cef5b(0x164)};}const _0x2fa3bc=filterByCode(await _0x5b4d85(_0x36f2e3[_0x1cef5b(0x17d)]),_0x3baa02),_0x182f26=filterByCode(await _0x5af182(_0x36f2e3[_0x1cef5b(0x17d)]),_0x3baa02),_0x1a5773=new Set([..._0x2fa3bc[_0x1cef5b(0x1aa)](_0xfc9c93=>_0xfc9c93[_0x1cef5b(0x179)]?.[_0x1cef5b(0x145)]())[_0x1cef5b(0x169)](_0xae037d=>Boolean(_0xae037d)),..._0x182f26['map'](_0x143c58=>_0x143c58[_0x1cef5b(0x179)]?.[_0x1cef5b(0x145)]())[_0x1cef5b(0x169)](_0x4e22bc=>Boolean(_0x4e22bc))]),_0x14c37d=_0x3baa02[_0x1cef5b(0x145)]()?[_0x3baa02[_0x1cef5b(0x145)]()]:undefined,_0x4291d9=_0x295556(_0x36f2e3[_0x1cef5b(0x17d)],_0x1a5773,{},_0x14c37d),_0x18aea2=_0xd6402d({'env':_0x148d6a,'accessKey':_0x511e27,'appCode':_0x36f2e3[_0x1cef5b(0x17d)],'activeSkillCodes':_0x1a5773,'pruneSkillCodes':_0x14c37d}),_0x2b5753=[];for(const _0x4b6031 of _0x2fa3bc){_0x2b5753[_0x1cef5b(0x16e)](_0x339291(_0x4b6031,_0x1cef5b(0x185),{'env':_0x148d6a,'accessKey':_0x511e27,'appCode':_0x36f2e3[_0x1cef5b(0x17d)],'packageBytes':await downloadPackageIfNeeded(_0x4b6031,_0x1cef5b(0x185),_0x36f2e3[_0x1cef5b(0x17d)],_0x11af27)}));}for(const _0x38c428 of _0x182f26){_0x2b5753[_0x1cef5b(0x16e)](_0x339291(_0x38c428,_0x1cef5b(0x19c),{'env':_0x148d6a,'accessKey':_0x511e27,'appCode':_0x36f2e3[_0x1cef5b(0x17d)],'packageBytes':await downloadPackageIfNeeded(_0x38c428,_0x1cef5b(0x19c),_0x36f2e3[_0x1cef5b(0x17d)],_0x11af27)}));}const _0x10fc4d=_0x3da392(_0x2b5753,_0x36f2e3[_0x1cef5b(0x17d)]),_0x5df8e5=countLinkActions(_0x10fc4d);return{'ok':!![],'data':{'appCode':_0x36f2e3['appCode'],'personal':_0x2fa3bc[_0x1cef5b(0x13a)],'company':_0x182f26[_0x1cef5b(0x13a)],'materialized':_0x2b5753[_0x1cef5b(0x13a)],'links':{'total':_0x10fc4d['length'],'created':_0x5df8e5[_0x1cef5b(0x170)]??0x0,'updated':_0x5df8e5[_0x1cef5b(0x14d)]??0x0,'unchanged':_0x5df8e5[_0x1cef5b(0x13b)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x4291d9[_0x1cef5b(0x169)](_0x1ecbdd=>_0x1ecbdd[_0x1cef5b(0x18d)]===_0x1cef5b(0x18e))['length'],'cacheDirs':_0x18aea2[_0x1cef5b(0x169)](_0x4b771a=>_0x4b771a[_0x1cef5b(0x18d)]===_0x1cef5b(0x18e))['length'],'skipped':[..._0x4291d9,..._0x18aea2][_0x1cef5b(0x169)](_0x3ed460=>_0x3ed460[_0x1cef5b(0x18d)]===_0x1cef5b(0x1a7))[_0x1cef5b(0x13a)]},'skills':{'personal':_0x2fa3bc[_0x1cef5b(0x1aa)](summarizeRuntimeSkill),'company':_0x182f26[_0x1cef5b(0x1aa)](summarizeRuntimeSkill)}},'message':_0x1cef5b(0x167)+_0x2fa3bc[_0x1cef5b(0x13a)]+_0x1cef5b(0x18a)+_0x182f26[_0x1cef5b(0x13a)]+'\x20company\x20Skill(s).'};}},{'service':a30_0x580cdd(0x1a1),'command':a30_0x580cdd(0x16e),'description':a30_0x580cdd(0x19f),'risk':a30_0x580cdd(0x19e),'flags':[DIR_FLAG],async 'execute'(_0xf5c531){const _0x2751c9=a30_0x580cdd,{createPersonalRuntimeSkill:_0x5e9d29,downloadRuntimeSkillPackage:_0x449b27,listPersonalRuntimeSkills:_0xa4e5a9,updatePersonalRuntimeSkill:_0x50c669}=await import('../../core/api-client.js'),{verifyRuntimeSkillPackage:_0xa8f411,readPushDirectory:_0x31304c,recordPushedRuntimeSkill:_0xaa6ec7}=await import(_0x2751c9(0x13e));if(!_0xf5c531[_0x2751c9(0x188)])throw CliErrors[_0x2751c9(0x16a)]();const _0x4ebfe3=_0xf5c531[_0x2751c9(0x197)](_0x2751c9(0x178)),_0x1ec6d3=validateSkillDirectory(_0x4ebfe3);throwIfSkillValidationFailed(_0x1ec6d3);const _0x5d6a87=_0x31304c(_0x4ebfe3,_0xf5c531[_0x2751c9(0x17d)]),_0x1791ed=(await _0xa4e5a9(_0xf5c531[_0x2751c9(0x17d)]))[_0x2751c9(0x199)](_0x335a4f=>_0x335a4f[_0x2751c9(0x179)]===_0x5d6a87['skillCode']),_0x368a41=_0x1791ed?await _0x50c669(_0x5d6a87[_0x2751c9(0x179)],_0xf5c531[_0x2751c9(0x17d)],_0x5d6a87[_0x2751c9(0x184)]):await _0x5e9d29(_0xf5c531['appCode'],_0x5d6a87['input']);assertMultiFilePushPersisted(_0x5d6a87[_0x2751c9(0x184)][_0x2751c9(0x13f)],_0x368a41);if(isPackageBackedMultiFile(_0x368a41[_0x2751c9(0x13f)])){const _0x347b74=await _0x449b27(_0x2751c9(0x185),_0x5d6a87[_0x2751c9(0x179)],_0xf5c531['appCode']);_0xa8f411(_0x368a41['files'],_0x347b74);}return _0xaa6ec7(_0x4ebfe3,_0x368a41,_0xf5c531[_0x2751c9(0x17d)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x368a41),'message':_0x1791ed?_0x2751c9(0x1a2)+_0x5d6a87[_0x2751c9(0x179)]:'Created\x20personal\x20Skill\x20'+_0x5d6a87[_0x2751c9(0x179)]};}}];function buildSkillCreatePlan(_0x1d2f2d,_0x209b65,_0x2eb295){const _0x176272=renderSkillTemplate({'skillName':_0x1d2f2d,'type':_0x209b65}),_0x525eb2=resolve(normalizeSkillTarget(_0x2eb295));return{'rendered':_0x176272,'targetRoot':_0x525eb2,'skillDir':resolve(_0x525eb2,_0x176272['skillName'])};}function normalizeSkillTarget(_0x13ee9c){const _0x3c02d7=a30_0x580cdd;return(_0x13ee9c||DEFAULT_SKILL_TARGET)[_0x3c02d7(0x145)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x2b85e8,_0x195a69){const _0xefb881=a30_0x580cdd;if(existsSync(_0x2b85e8[_0xefb881(0x189)])){const _0x4714d6=lstatSync(_0x2b85e8[_0xefb881(0x189)]);if(!_0x4714d6[_0xefb881(0x15b)]()||_0x4714d6['isSymbolicLink']())throw CliErrors['validation'](_0xefb881(0x1a0)+_0x2b85e8[_0xefb881(0x189)]);if(!_0x195a69)throw CliErrors[_0xefb881(0x13d)]('Skill\x20directory\x20already\x20exists:\x20'+_0x2b85e8[_0xefb881(0x189)],_0xefb881(0x183));}for(const _0x56e617 of _0x2b85e8[_0xefb881(0x149)]['files']){const _0x5b730=resolve(_0x2b85e8['skillDir'],_0x56e617[_0xefb881(0x177)]),_0x360f06=dirname(_0x5b730);mkdirSync(_0x360f06,{'recursive':!![]});if(existsSync(_0x5b730)&&lstatSync(_0x5b730)[_0xefb881(0x180)]())throw CliErrors['validation'](_0xefb881(0x186)+_0x5b730);writeFileSync(_0x5b730,_0x56e617['content'],_0xefb881(0x195));}}async function downloadPackageIfNeeded(_0x116866,_0x308205,_0x2dc0e0,_0x702ab0){const _0x3d9ce9=a30_0x580cdd;if(!isPackageBackedManifest(_0x116866['files']))return undefined;return _0x702ab0(_0x308205,_0x116866[_0x3d9ce9(0x179)],_0x2dc0e0);}function normalizePullScope(_0x56928b){const _0x43ca3c=a30_0x580cdd,_0xb00ade=_0x56928b[_0x43ca3c(0x145)]();if(!_0xb00ade)return _0x43ca3c(0x155);if(_0xb00ade==='user'||_0xb00ade===_0x43ca3c(0x1a8))return _0xb00ade;throw CliErrors[_0x43ca3c(0x13d)](_0x43ca3c(0x148)+_0x56928b);}function countLinkActions(_0x100160){const _0x165bbc=a30_0x580cdd;return _0x100160[_0x165bbc(0x196)]((_0x63d335,_0x4815a3)=>{const _0x1b37b9=_0x165bbc;return _0x63d335[_0x4815a3[_0x1b37b9(0x18d)]]=(_0x63d335[_0x4815a3[_0x1b37b9(0x18d)]]??0x0)+0x1,_0x63d335;},{});}function assertMultiFilePushPersisted(_0x4328c8,_0x40e1c8){const _0x13f825=a30_0x580cdd;if(!isMultiFileManifest(_0x4328c8))return;if(!isPackageBackedMultiFile(_0x40e1c8[_0x13f825(0x13f)]))throw CliErrors[_0x13f825(0x13d)]('Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.',_0x13f825(0x158));if(_0x4328c8[_0x13f825(0x175)]!==_0x40e1c8[_0x13f825(0x13f)][_0x13f825(0x175)]||_0x4328c8[_0x13f825(0x142)]!==_0x40e1c8[_0x13f825(0x13f)][_0x13f825(0x142)]||_0x4328c8[_0x13f825(0x172)]!==_0x40e1c8[_0x13f825(0x13f)]['zipSize']||!_0x40e1c8['files'][_0x13f825(0x162)]||manifestFileSignature(_0x4328c8)!==manifestFileSignature(_0x40e1c8[_0x13f825(0x13f)]))throw CliErrors[_0x13f825(0x13d)](_0x13f825(0x140),_0x13f825(0x176));}function isPackageBackedManifest(_0x3ebd47){const _0x486bd1=a30_0x580cdd;return!!_0x3ebd47&&typeof _0x3ebd47===_0x486bd1(0x19d)&&!Array[_0x486bd1(0x17e)](_0x3ebd47)&&typeof _0x3ebd47[_0x486bd1(0x162)]===_0x486bd1(0x1a4)&&_0x3ebd47[_0x486bd1(0x162)]['length']>0x0&&Array['isArray'](_0x3ebd47[_0x486bd1(0x13f)]);}function isPackageBackedMultiFile(_0x1b171a){return isPackageBackedManifest(_0x1b171a)&&isMultiFileManifest(_0x1b171a);}function isMultiFileManifest(_0x166d9e){const _0x556603=a30_0x580cdd;return!!_0x166d9e&&typeof _0x166d9e===_0x556603(0x19d)&&!Array['isArray'](_0x166d9e)&&Array[_0x556603(0x17e)](_0x166d9e['files'])&&_0x166d9e[_0x556603(0x13f)]['some'](_0xa25594=>_0xa25594[_0x556603(0x177)]!==_0x556603(0x157));}function manifestFileSignature(_0x2562fe){const _0x45c09d=a30_0x580cdd;return[..._0x2562fe['files']][_0x45c09d(0x1aa)](_0x487e90=>_0x487e90[_0x45c09d(0x177)]+'\x00'+_0x487e90['sha256']+'\x00'+_0x487e90[_0x45c09d(0x1ab)])[_0x45c09d(0x19b)]()[_0x45c09d(0x143)]('\x00');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x2b6920=a31_0xc62c;function a31_0x85bc(){const _0x10721c=['70045oGWWJH','##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a','references/output-contract.md','\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','skillName','SKILL.md','\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','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不作为状态事实源。】','Invalid\x20Skill\x20name:\x20','write','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','39154PtCIfw','type','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','test','4344VVzXKE','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','includes','90365VESuaG','trim','toISOString','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','61682vvUqni','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','read','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','join','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','150sITsfi','\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','476829qInnJl','11161080WgTXXT','validation','128iLLvpG','trainer','\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=','153zmJeKO','Use\x20one\x20of:\x20','813372ejgque','#\x20Output\x20Contract\x0a\x0a','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','91LTCMTD','---\x0aname:\x20'];a31_0x85bc=function(){return _0x10721c;};return a31_0x85bc();}(function(_0x30d00f,_0xf14a6d){const _0x31dc4d=a31_0xc62c,_0x50f370=_0x30d00f();while(!![]){try{const _0x308b5d=parseInt(_0x31dc4d(0x18c))/0x1+parseInt(_0x31dc4d(0x1ae))/0x2*(parseInt(_0x31dc4d(0x19a))/0x3)+parseInt(_0x31dc4d(0x197))/0x4*(parseInt(_0x31dc4d(0x1a2))/0x5)+parseInt(_0x31dc4d(0x19c))/0x6*(parseInt(_0x31dc4d(0x1a0))/0x7)+parseInt(_0x31dc4d(0x195))/0x8+-parseInt(_0x31dc4d(0x194))/0x9*(parseInt(_0x31dc4d(0x192))/0xa)+-parseInt(_0x31dc4d(0x188))/0xb*(parseInt(_0x31dc4d(0x185))/0xc);if(_0x308b5d===_0xf14a6d)break;else _0x50f370['push'](_0x50f370['shift']());}catch(_0x4e4fa2){_0x50f370['push'](_0x50f370['shift']());}}}(a31_0x85bc,0xdb10d));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a31_0x2b6920(0x1ac),a31_0x2b6920(0x18e),a31_0x2b6920(0x198)];export const DEFAULT_SKILL_TARGET='.agents/skills';export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE='references/runtime-contract.md';export const OUTPUT_CONTRACT_FILE=a31_0x2b6920(0x1a4);export function validateSkillName(_0x6a06b1){const _0x1800f6=a31_0x2b6920,_0x17940c=_0x6a06b1[_0x1800f6(0x189)]();if(!SKILL_NAME_PATTERN[_0x1800f6(0x184)](_0x17940c))throw CliErrors[_0x1800f6(0x196)](_0x1800f6(0x1ab)+_0x6a06b1+_0x1800f6(0x191),_0x1800f6(0x1ad));return _0x17940c;}function a31_0xc62c(_0x8477a,_0x51b851){_0x8477a=_0x8477a-0x183;const _0x85bc97=a31_0x85bc();let _0xc62c44=_0x85bc97[_0x8477a];return _0xc62c44;}export function normalizeSkillTemplateType(_0x3e7705){const _0x5e6872=a31_0x2b6920,_0x2ee888=(_0x3e7705||_0x5e6872(0x1ac))[_0x5e6872(0x189)]()||_0x5e6872(0x1ac);if(SKILL_TYPES[_0x5e6872(0x187)](_0x2ee888))return _0x2ee888;throw CliErrors[_0x5e6872(0x196)]('Unsupported\x20Skill\x20type:\x20'+_0x3e7705,_0x5e6872(0x19b)+SKILL_TYPES[_0x5e6872(0x190)](',\x20')+'.');}export function renderSkillTemplate(_0x4dd534){const _0x822e9b=a31_0x2b6920,_0x18158a=validateSkillName(_0x4dd534[_0x822e9b(0x1a6)]),_0x37dde9=normalizeSkillTemplateType(_0x4dd534[_0x822e9b(0x1af)]),_0x237311=_0x4dd534['timestamp']??new Date()[_0x822e9b(0x18a)]();return{'skillName':_0x18158a,'type':_0x37dde9,'files':[{'path':_0x822e9b(0x1a7),'content':renderSkillMd(_0x18158a,_0x37dde9,_0x237311)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x18158a,_0x37dde9)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x18158a,_0x37dde9)}]};}function renderSkillMd(_0xb62721,_0x12487f,_0x497ad8){const _0x29d17d=a31_0x2b6920,_0x5306e7=typeWorkflow(_0x12487f);return _0x29d17d(0x1a1)+_0xb62721+'\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0ametadata:\x0a\x20\x20type:\x20'+_0x12487f+'\x0a\x20\x20created:\x20\x22'+_0x497ad8+_0x29d17d(0x18d)+_0xb62721+_0x29d17d(0x1a5)+_0x5306e7+'\x0a\x0a'+businessStateSection(_0x12487f)+'\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';}function renderRuntimeContract(_0x49cd22,_0x43c8e7){const _0x8e0b81=a31_0x2b6920,_0x599b77=_0x43c8e7==='write'?_0x8e0b81(0x1a3):'';return _0x8e0b81(0x19e)+_0x49cd22+_0x8e0b81(0x199)+_0x43c8e7+_0x8e0b81(0x1a8)+_0x599b77+'\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(_0x444a3d,_0x3e7815){const _0x4190f1=a31_0x2b6920,_0x41c811=_0x3e7815==='write'?_0x4190f1(0x1a9):_0x3e7815+_0x4190f1(0x183);return _0x4190f1(0x19d)+_0x444a3d+_0x4190f1(0x193)+_0x41c811+_0x4190f1(0x18f);}function typeWorkflow(_0x284bd6){const _0x2f84c6=a31_0x2b6920;if(_0x284bd6==='read')return _0x2f84c6(0x19f);if(_0x284bd6===_0x2f84c6(0x198))return _0x2f84c6(0x18b);return _0x2f84c6(0x186);}function businessStateSection(_0x37d39b){const _0x443662=a31_0x2b6920;if(_0x37d39b!=='write')return'';return _0x443662(0x1aa);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x37aa1e=a32_0x22cd;(function(_0x490e6c,_0x35400e){const _0x549c6c=a32_0x22cd,_0x374d74=_0x490e6c();while(!![]){try{const _0xc9f249=-parseInt(_0x549c6c(0x137))/0x1*(-parseInt(_0x549c6c(0x17f))/0x2)+parseInt(_0x549c6c(0x161))/0x3+parseInt(_0x549c6c(0x18a))/0x4*(-parseInt(_0x549c6c(0x1a2))/0x5)+-parseInt(_0x549c6c(0x169))/0x6+-parseInt(_0x549c6c(0x18f))/0x7*(-parseInt(_0x549c6c(0x189))/0x8)+parseInt(_0x549c6c(0x13e))/0x9*(-parseInt(_0x549c6c(0x199))/0xa)+-parseInt(_0x549c6c(0x158))/0xb*(-parseInt(_0x549c6c(0x1b3))/0xc);if(_0xc9f249===_0x35400e)break;else _0x374d74['push'](_0x374d74['shift']());}catch(_0x32fc63){_0x374d74['push'](_0x374d74['shift']());}}}(a32_0x18c3,0xd29cd));import{existsSync,lstatSync,readFileSync,readdirSync}from'node:fs';import{dirname,extname,isAbsolute,relative,resolve}from'node:path';import{CliErrors}from'../../errors.js';const SKILL_FILE='SKILL.md',CONTRACT_FILE='references/runtime-contract.md',OUTPUT_CONTRACT_FILE='references/output-contract.md',SUPPORTED_SKILL_TYPES=new Set([a32_0x37aa1e(0x1bf),a32_0x37aa1e(0x1a1),a32_0x37aa1e(0x18b)]),REQUIRED_SECTIONS=[a32_0x37aa1e(0x165),a32_0x37aa1e(0x164),'SOP\x20工作流',a32_0x37aa1e(0x172),a32_0x37aa1e(0x190)],OUTPUT_CONTRACT_REQUIRED_FIELDS=[{'token':/\bstatus\b|状态/i,'label':a32_0x37aa1e(0x141)},{'token':/\bsummary\b|摘要/i,'label':a32_0x37aa1e(0x1a3)},{'token':/\berrors?\b|错误/i,'label':a32_0x37aa1e(0x146)},{'token':/\bnextActions?\b|next\s+actions?|后续动作|下一步/i,'label':'nextActions'}],PLACEHOLDER_PATTERN=/【[^】]*】/g,EXTERNAL_PATH_PATTERN=/(^|[\s(["'])((?:\/Users\/|~\/|file:\/\/)[^\s)"']*)/g,MARKDOWN_LINK_PATTERN=/\[[^\]]+\]\(([^)]+)\)/g,SECRET_VALUE_PATTERNS=[/\bsk-[A-Za-z0-9_-]{20,}\b/i,/\b(?:api[-_ ]?key|secret|token|access[-_ ]?key)\s*[:=]\s*["']?(?!<|your\b|你的|paste\b|redacted\b)([A-Za-z0-9_-]{20,})/i,/\bAuthorization\s*:\s*Bearer\s+(?!<|your\b|你的|paste\b|redacted\b)[A-Za-z0-9._-]{16,}/i,/\bCookie\s*:\s*(?!<|your\b|你的|paste\b|redacted\b)[A-Za-z0-9_.-]+=[^;\s]{8,}/i];export function validateSkillDirectory(_0x55f57e,_0x441b3a={}){const _0x3a09fa=a32_0x37aa1e,_0x943894=resolve(_0x55f57e),_0x51aaf9=[];if(!existsSync(_0x943894)||!lstatSync(_0x943894)[_0x3a09fa(0x18d)]())throw CliErrors['validation'](_0x3a09fa(0x15d)+_0x55f57e);const _0x2bf698=loadSkillFiles(_0x943894,_0x51aaf9),_0x4577b8=_0x2bf698[_0x3a09fa(0x1b1)](_0x5ab8a2=>_0x5ab8a2['path']===SKILL_FILE),_0x4d64ec=_0x2bf698['find'](_0x48b098=>_0x48b098[_0x3a09fa(0x176)]===CONTRACT_FILE),_0x585f47=_0x2bf698[_0x3a09fa(0x1b1)](_0xae0fd4=>_0xae0fd4[_0x3a09fa(0x176)]===OUTPUT_CONTRACT_FILE),_0x294df5=_0x4577b8?parseFrontmatter(_0x4577b8[_0x3a09fa(0x160)]):{'hasFrontmatter':![]};!_0x4577b8&&_0x51aaf9[_0x3a09fa(0x1c0)](issue(_0x3a09fa(0x134),_0x3a09fa(0x155),SKILL_FILE,_0x3a09fa(0x1b4),_0x3a09fa(0x14a)));!_0x4d64ec&&_0x51aaf9['push'](issue(_0x3a09fa(0x134),_0x3a09fa(0x155),CONTRACT_FILE,'Missing\x20references/runtime-contract.md.',_0x3a09fa(0x166)));!_0x585f47&&_0x51aaf9[_0x3a09fa(0x1c0)](issue(outputContractIssueLevel(),'output-contract-recommended',OUTPUT_CONTRACT_FILE,_0x3a09fa(0x1a9),'Recommended\x20for\x20all\x20Skill\x20types;\x20run\x20with\x20--strict\x20to\x20enforce\x20a\x20packaged\x20output\x20contract.'));_0x4577b8&&(validateFrontmatter(_0x4577b8['path'],_0x294df5,_0x51aaf9),validateRequiredSections(_0x4577b8[_0x3a09fa(0x160)],_0x51aaf9),validateWriteSafety(_0x4577b8[_0x3a09fa(0x160)],_0x294df5[_0x3a09fa(0x16f)],_0x51aaf9));_0x585f47&&(validateOutputContractReference(_0x4577b8,_0x4d64ec,_0x51aaf9),validateOutputContractRequiredFields(_0x585f47,_0x51aaf9));for(const _0x4e7c79 of _0x2bf698['filter'](_0x53f0bb=>isMarkdownFile(_0x53f0bb[_0x3a09fa(0x176)]))){validatePlaceholders(_0x4e7c79,_0x51aaf9),validateSecretExposure(_0x4e7c79,_0x51aaf9),validateSelfContainedLinks(_0x943894,_0x4e7c79,_0x51aaf9);}_0x441b3a[_0x3a09fa(0x150)]&&_0x4577b8&&validateDeliveryConsistency(_0x4577b8[_0x3a09fa(0x160)],_0x294df5[_0x3a09fa(0x16f)],_0x585f47?.[_0x3a09fa(0x160)],_0x51aaf9);const _0x3d73fa=_0x51aaf9['filter'](_0x151d32=>_0x151d32[_0x3a09fa(0x157)]===_0x3a09fa(0x134)),_0x6057a3=_0x51aaf9[_0x3a09fa(0x154)](_0x11fe9c=>_0x11fe9c[_0x3a09fa(0x157)]===_0x3a09fa(0x187));return{'ok':_0x3d73fa[_0x3a09fa(0x17b)]===0x0&&(!_0x441b3a[_0x3a09fa(0x150)]||_0x6057a3['length']===0x0),'dir':_0x943894,'type':_0x294df5[_0x3a09fa(0x16f)],'errors':_0x3d73fa,'warnings':_0x6057a3};}export function throwIfSkillValidationFailed(_0xf34046,_0x1647b6=![]){const _0x4187d1=a32_0x37aa1e;if(_0xf34046['ok'])return;const _0x3baa54=_0x1647b6?[..._0xf34046[_0x4187d1(0x146)],..._0xf34046['warnings']]:_0xf34046['errors'],_0x400e2b=_0x3baa54[_0x4187d1(0x1ae)](_0x5da09a=>{const _0x32f616=_0x4187d1,_0x55e24b=_0x5da09a['section']?'#'+_0x5da09a[_0x32f616(0x163)]:'';return _0x5da09a['level']['toUpperCase']()+'\x20'+_0x5da09a[_0x32f616(0x183)]+'\x20'+_0x5da09a[_0x32f616(0x19a)]+_0x55e24b+':\x20'+_0x5da09a[_0x32f616(0x143)]+'\x20Fix:\x20'+_0x5da09a[_0x32f616(0x182)];});throw CliErrors[_0x4187d1(0x162)](_0x4187d1(0x1b8)+_0x400e2b[_0x4187d1(0x196)]('\x0a'),_0x4187d1(0x193));}function loadSkillFiles(_0x1a427b,_0x149fcd){const _0x3c19fb=[];function _0x4974e4(_0x4343f8){const _0x35fb30=a32_0x22cd;for(const _0x1b5b40 of readdirSync(_0x4343f8,{'withFileTypes':!![]})[_0x35fb30(0x13b)]((_0x2dea16,_0x176a65)=>_0x2dea16[_0x35fb30(0x1a4)][_0x35fb30(0x153)](_0x176a65[_0x35fb30(0x1a4)]))){const _0x5e8329=resolve(_0x4343f8,_0x1b5b40[_0x35fb30(0x1a4)]);if(_0x1b5b40[_0x35fb30(0x185)]()){_0x149fcd['push'](issue(_0x35fb30(0x134),'structure-complete',toRelative(_0x1a427b,_0x5e8329),'Symlinks\x20are\x20not\x20supported\x20in\x20Skill\x20packages.',_0x35fb30(0x15c)));continue;}if(_0x1b5b40[_0x35fb30(0x18d)]()){_0x4974e4(_0x5e8329);continue;}if(!_0x1b5b40['isFile']())continue;const _0x42641d=toRelative(_0x1a427b,_0x5e8329);_0x3c19fb[_0x35fb30(0x1c0)]({'path':_0x42641d,'absolutePath':_0x5e8329,'content':readFileSync(_0x5e8329,'utf8')});}}return _0x4974e4(_0x1a427b),_0x3c19fb;}function validateFrontmatter(_0x230bf6,_0x5083ef,_0xf4149){const _0x3bba6b=a32_0x37aa1e;if(!_0x5083ef['hasFrontmatter']){_0xf4149[_0x3bba6b(0x1c0)](issue('error',_0x3bba6b(0x1a0),_0x230bf6,_0x3bba6b(0x178),_0x3bba6b(0x19b)));return;}!_0x5083ef[_0x3bba6b(0x1a4)]?.[_0x3bba6b(0x1a5)]()&&_0xf4149[_0x3bba6b(0x1c0)](issue(_0x3bba6b(0x134),_0x3bba6b(0x1a0),_0x230bf6,_0x3bba6b(0x14b),'Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.'));!_0x5083ef[_0x3bba6b(0x1bd)]?.[_0x3bba6b(0x1a5)]()&&_0xf4149[_0x3bba6b(0x1c0)](issue(_0x3bba6b(0x134),'description-required',_0x230bf6,_0x3bba6b(0x14f),_0x3bba6b(0x1b2)));if(!_0x5083ef['type']?.[_0x3bba6b(0x1a5)]())_0xf4149['push'](issue(_0x3bba6b(0x134),_0x3bba6b(0x1a0),_0x230bf6,_0x3bba6b(0x198),_0x3bba6b(0x140)));else!SUPPORTED_SKILL_TYPES[_0x3bba6b(0x13f)](_0x5083ef[_0x3bba6b(0x16f)])&&_0xf4149[_0x3bba6b(0x1c0)](issue(_0x3bba6b(0x134),_0x3bba6b(0x1a0),_0x230bf6,_0x3bba6b(0x14d),_0x3bba6b(0x168)));}function validateRequiredSections(_0x1b9a84,_0x7b4e4a){const _0xf86382=a32_0x37aa1e;for(const _0x41fed9 of REQUIRED_SECTIONS){!hasSection(_0x1b9a84,_0x41fed9)&&_0x7b4e4a[_0xf86382(0x1c0)](issue(_0xf86382(0x134),_0xf86382(0x197),SKILL_FILE,_0xf86382(0x174)+_0x41fed9+'.',_0xf86382(0x180)+_0x41fed9+'\x20section\x20with\x20concrete\x20delivery\x20guidance.',_0x41fed9));}}function validateWriteSafety(_0x3ec4b4,_0x3da516,_0x161c46){const _0x18970e=a32_0x37aa1e;if(_0x3da516!=='write')return;const _0x3f7c30=[{'token':/dry-?run/i,'label':_0x18970e(0x167)},{'token':/用户确认|confirmed|确认后/,'label':_0x18970e(0x1aa)},{'token':/失败恢复|checkpoint|重试|人工接管/,'label':_0x18970e(0x136)}];for(const _0x275ee4 of _0x3f7c30){!_0x275ee4[_0x18970e(0x1be)][_0x18970e(0x135)](_0x3ec4b4)&&_0x161c46['push'](issue(_0x18970e(0x134),_0x18970e(0x152),SKILL_FILE,_0x18970e(0x139)+_0x275ee4[_0x18970e(0x17e)]+'.',_0x18970e(0x19c)));}}function validateOutputContractReference(_0xb4174c,_0x3affe5,_0x1e0842){const _0x58637f=a32_0x37aa1e,_0x10cd7f=[_0xb4174c,_0x3affe5][_0x58637f(0x154)](_0x2b19b4=>!!_0x2b19b4)['some'](_0x5405b8=>/\boutput-contract\.md\b/i['test'](_0x5405b8[_0x58637f(0x160)]));if(_0x10cd7f)return;_0x1e0842['push'](issue(outputContractIssueLevel(),_0x58637f(0x1b7),OUTPUT_CONTRACT_FILE,_0x58637f(0x195),_0x58637f(0x1ab)));}function validateOutputContractRequiredFields(_0x273f57,_0x5a4ca4){const _0x48f5d0=a32_0x37aa1e,_0x965b08=OUTPUT_CONTRACT_REQUIRED_FIELDS[_0x48f5d0(0x154)](_0x4211da=>!_0x4211da[_0x48f5d0(0x1be)][_0x48f5d0(0x135)](_0x273f57[_0x48f5d0(0x160)]))[_0x48f5d0(0x1ae)](_0x1168e3=>_0x1168e3[_0x48f5d0(0x17e)]);if(_0x965b08[_0x48f5d0(0x17b)]===0x0)return;_0x5a4ca4[_0x48f5d0(0x1c0)](issue(outputContractIssueLevel(),_0x48f5d0(0x1b6),_0x273f57['path'],_0x48f5d0(0x151)+_0x965b08[_0x48f5d0(0x196)](',\x20')+'.','Recommended\x20for\x20all\x20Skill\x20types;\x20define\x20status,\x20summary,\x20errors,\x20and\x20nextActions,\x20or\x20use\x20--strict\x20to\x20enforce\x20it.'));}function outputContractIssueLevel(){const _0x4ffd4d=a32_0x37aa1e;return _0x4ffd4d(0x187);}function a32_0x22cd(_0x199348,_0x1fbe21){_0x199348=_0x199348-0x132;const _0x18c37f=a32_0x18c3();let _0x22cda8=_0x18c37f[_0x199348];return _0x22cda8;}function validatePlaceholders(_0x2f411c,_0x1f9794){const _0xa7b3e4=a32_0x37aa1e,_0x1f5741=[..._0x2f411c[_0xa7b3e4(0x160)]['matchAll'](PLACEHOLDER_PATTERN)];_0x1f5741[_0xa7b3e4(0x17b)]>0x0&&_0x1f9794[_0xa7b3e4(0x1c0)](issue(_0xa7b3e4(0x134),'placeholder-filled',_0x2f411c[_0xa7b3e4(0x176)],'Found\x20'+_0x1f5741[_0xa7b3e4(0x17b)]+'\x20unfinished\x20placeholder(s).',_0xa7b3e4(0x18e)));}function validateSelfContainedLinks(_0x369b2d,_0x451e73,_0x4af109){const _0x1f8064=a32_0x37aa1e;for(const _0x135e5a of _0x451e73[_0x1f8064(0x160)][_0x1f8064(0x173)](MARKDOWN_LINK_PATTERN)){const _0x127bb4=(_0x135e5a[0x1]??'')[_0x1f8064(0x1a5)]();if(!_0x127bb4||isWebUrl(_0x127bb4)||_0x127bb4[_0x1f8064(0x1a6)]('#'))continue;const _0x22ef8a=_0x127bb4[_0x1f8064(0x133)]('#',0x1)[0x0]??'';if(!_0x22ef8a)continue;const _0x3b559f=resolve(dirname(_0x451e73[_0x1f8064(0x1af)]),_0x22ef8a);!isPathInside(_0x3b559f,_0x369b2d)&&_0x4af109[_0x1f8064(0x1c0)](issue(_0x1f8064(0x134),_0x1f8064(0x194),_0x451e73[_0x1f8064(0x176)],_0x1f8064(0x144)+_0x127bb4+'.',_0x1f8064(0x16a)));}for(const _0x151aea of _0x451e73[_0x1f8064(0x160)][_0x1f8064(0x173)](EXTERNAL_PATH_PATTERN)){_0x4af109[_0x1f8064(0x1c0)](issue('warning',_0x1f8064(0x194),_0x451e73[_0x1f8064(0x176)],'Plain\x20text\x20local\x20path\x20may\x20be\x20a\x20non-portable\x20runtime\x20dependency:\x20'+(_0x151aea[0x2]??'')[_0x1f8064(0x1a5)]()+'.',_0x1f8064(0x170)));}}function validateDeliveryConsistency(_0x1b5b06,_0x25cec7,_0x124955,_0x2b1373){const _0x9f650d=a32_0x37aa1e;!hasSection(_0x1b5b06,'与现有能力集成')&&_0x2b1373[_0x9f650d(0x1c0)](issue('warning',_0x9f650d(0x15a),SKILL_FILE,_0x9f650d(0x18c),'Add\x20##\x20与现有能力集成\x20and\x20explain\x20packaged\x20runtime\x20entries\x20or\x20manual\x20boundaries.')),validatePlatformCommandFirst(_0x1b5b06,_0x2b1373),validateExternalServiceBoundary(_0x1b5b06,_0x2b1373),validateStateTransitionContract(_0x1b5b06,_0x25cec7,_0x2b1373),validateOrchestratorSmell(_0x1b5b06,_0x2b1373),validateOutputContractSemantics(_0x124955,_0x25cec7,_0x2b1373);}function validateOutputContractSemantics(_0x344055,_0x562b02,_0x27422e){const _0x46bed3=a32_0x37aa1e;if(!_0x344055)return;const _0xd2702d=[{'token':/\bsuccess\b/,'label':_0x46bed3(0x17a)},{'token':/\bno_op\b|no-op|no\s+op/i,'label':_0x46bed3(0x175)},{'token':/\bpartial_success\b|partial\s+success/i,'label':_0x46bed3(0x1bb)},{'token':/\bblocked\b/i,'label':'blocked'},{'token':/\bfailed\b/i,'label':_0x46bed3(0x1ba)},{'token':/\bneeds_manual_check\b|needs\s+manual\s+check/i,'label':_0x46bed3(0x1a7)},{'token':/(?:unknown|partial_success|failed|needs_manual_check)[^。\n]*(?:不能|不得|禁止)[^。\n]*success|不能[^。\n]*(?:包装|标记|报告)[^。\n]*success/i,'label':_0x46bed3(0x17d)}],_0x266632=_0xd2702d[_0x46bed3(0x154)](_0x42f63b=>!_0x42f63b[_0x46bed3(0x1be)][_0x46bed3(0x135)](_0x344055))[_0x46bed3(0x1ae)](_0x342b03=>_0x342b03[_0x46bed3(0x17e)]);if(_0x562b02===_0x46bed3(0x1bf)){const _0x175fac=/dry[_ -]?run[^。\n]*(?:不写入|不得写入|不触发写入|no write)|(?:不写入|不得写入|不触发写入|no write)[^。\n]*dry[_ -]?run/i[_0x46bed3(0x135)](_0x344055),_0x9d12db=/confirmed[^。\n]*(?:读回核对|重新读取|read[-\s]?back)|(?:读回核对|重新读取|read[-\s]?back)[^。\n]*confirmed/i[_0x46bed3(0x135)](_0x344055);if(!_0x175fac)_0x266632[_0x46bed3(0x1c0)](_0x46bed3(0x17c));if(!_0x9d12db)_0x266632[_0x46bed3(0x1c0)](_0x46bed3(0x1bc));}if(_0x266632['length']===0x0)return;_0x27422e[_0x46bed3(0x1c0)](issue(_0x46bed3(0x187),'output-contract-semantics',OUTPUT_CONTRACT_FILE,_0x46bed3(0x1b5)+_0x266632[_0x46bed3(0x196)](',\x20')+'.','Declare\x20success/no_op/partial_success/blocked/failed/needs_manual_check,\x20forbid\x20wrapping\x20unknown\x20or\x20partial\x20results\x20as\x20success,\x20and\x20define\x20dry_run/confirmed\x20read-back\x20behavior\x20for\x20write\x20Skills.',_0x46bed3(0x156)));}function validatePlatformCommandFirst(_0x1fc23c,_0x3d2726){const _0x2b06c6=a32_0x37aa1e,_0x2f1637=/scripts\/|\.py\b|\.mjs\b|\.js\b|python|node(?:js)?/i[_0x2b06c6(0x135)](_0x1fc23c);if(!_0x2f1637)return;const _0xe2aea2=/lovrabet\s+(?:data|sql|bff|personal-bff)\b/i[_0x2b06c6(0x135)](_0x1fc23c),_0x45d3bf=/平台[^。\n]*(?:不覆盖|未覆盖|空白|补位|不足)|文件格式转换|静态校验|展示整理|第三方[^。\n]*(?:适配|薄适配)|thin third-party|file conversion|static check/i[_0x2b06c6(0x135)](_0x1fc23c);(!_0xe2aea2||!_0x45d3bf)&&_0x3d2726[_0x2b06c6(0x1c0)](issue(_0x2b06c6(0x187),_0x2b06c6(0x1b0),SKILL_FILE,_0x2b06c6(0x147),_0x2b06c6(0x186),_0x2b06c6(0x15e)));const _0x25a113=/脚本[^。\n]*(?:写入|状态|状态机|权限|审批|提交|回滚|数据库|核保)|(?:scripts\/|\.py\b|python|node(?:js)?)[^。\n]*(?:写入|状态|状态机|权限|审批|提交|回滚|数据库|核保)/i['test'](_0x1fc23c),_0x1308bd=/脚本[^。\n]*(?:直接|负责)[^。\n]*(?:写入|状态|状态机|权限|审批|提交|回滚|数据库|核保)|(?:直接写入数据库|脚本负责权限判断|脚本负责.*状态)/i[_0x2b06c6(0x135)](_0x1fc23c),_0x37b33f=/状态事实源|业务事实源|lovrabet\s+bff|lovrabet\s+data|平台服务端接口|服务端接口|业务\s*BFF/i[_0x2b06c6(0x135)](_0x1fc23c);if(!_0x25a113||_0x37b33f&&!_0x1308bd)return;_0x3d2726[_0x2b06c6(0x1c0)](issue('warning',_0x2b06c6(0x191),SKILL_FILE,_0x2b06c6(0x181),_0x2b06c6(0x16b),'平台能力优先'));}function validateExternalServiceBoundary(_0x42207b,_0x1e3966){const _0x1bbec9=a32_0x37aa1e,_0x34186e=/第三方|外部服务|外部供应商|供应商|生图|图像生成|OCR|provider|gateway|VectorEngine|AIHubMix|https?:\/\//i[_0x1bbec9(0x135)](_0x42207b);if(!_0x34186e)return;const _0x4ebb39=/API[_ -]?KEY|api[-_ ]?key|OAuth|Cookie|登录态|Authorization|Bearer|token|密钥|凭证|上传[^。\n]*(?:原图|图片|文件|Excel|商品|客户|素材|数据)|敏感/i[_0x1bbec9(0x135)](_0x42207b);if(!_0x4ebb39)return;const _0x1bb972=/(?:Lovrabet\s*)?应用后台[^。\n]*(?:托管|管理|配置)|平台[^。\n]*(?:托管|管理|配置)[^。\n]*(?:凭证|密钥|登录态|API\s*Key|Cookie|OAuth)|(?:凭证|密钥|登录态|API\s*Key|Cookie|OAuth)[^。\n]*(?:Lovrabet\s*)?应用后台[^。\n]*(?:托管|管理|配置)|Skill\s*不(?:读取|分发|保存)[^。\n]*(?:明文凭证|API\s*Key|Cookie|登录态|密钥|凭证)/i[_0x1bbec9(0x135)](_0x42207b);if(_0x1bb972)return;_0x1e3966[_0x1bbec9(0x1c0)](issue(_0x1bbec9(0x187),_0x1bbec9(0x19f),SKILL_FILE,_0x1bbec9(0x188),_0x1bbec9(0x13a),_0x1bbec9(0x171)));}function validateStateTransitionContract(_0x28874f,_0x3c26f8,_0x5ca438){const _0x2a6f24=a32_0x37aa1e;if(_0x3c26f8!==_0x2a6f24(0x1bf))return;const _0x223c73=[{'token':/前置业务状态|适用状态|fromStatus|from\s+status/i,'label':_0x2a6f24(0x19e)},{'token':/目标业务状态|目标状态|toStatus|to\s+status/i,'label':_0x2a6f24(0x1ad)},{'token':/读回核对|重新读取|写入后.*核对|read[-\s]?back/i,'label':'read-back\x20verification'},{'token':/unknown|未知状态|needs_manual_check|人工处理边界/i,'label':_0x2a6f24(0x15b)}],_0x256d1e=_0x223c73[_0x2a6f24(0x154)](_0x60594f=>!_0x60594f[_0x2a6f24(0x1be)][_0x2a6f24(0x135)](_0x28874f))[_0x2a6f24(0x1ae)](_0x13c23f=>_0x13c23f[_0x2a6f24(0x17e)]);if(_0x256d1e['length']===0x0)return;_0x5ca438[_0x2a6f24(0x1c0)](issue(_0x2a6f24(0x187),_0x2a6f24(0x145),SKILL_FILE,_0x2a6f24(0x142)+_0x256d1e['join'](',\x20')+'.',_0x2a6f24(0x13d),_0x2a6f24(0x15f)));}function validateOrchestratorSmell(_0x4aa7ff,_0x2f1215){const _0x276965=a32_0x37aa1e,_0x2af1f4=[{'name':_0x276965(0x1b9),'token':/全链路|完整链路|full[-\s]?chain/i},{'name':'chapter-flow','token':/Chapter\s*\d+|章节切换|CEO\s*章节/i},{'name':_0x276965(0x149),'token':/handoff|交接/i},{'name':'sequential-skill-calls','token':/按顺序调用|依次调用|调用多个[^。\n]*(Skill|技能)|遵循对应阶段\s*Skill/i},{'name':_0x276965(0x184),'token':/(?:[a-z0-9]+-[a-z0-9-]+,\s*){2,}[a-z0-9]+-[a-z0-9-]+/i}][_0x276965(0x154)](_0x2e813c=>_0x2e813c['token']['test'](_0x4aa7ff))['map'](_0x2de6ea=>_0x2de6ea[_0x276965(0x1a4)]);if(_0x2af1f4[_0x276965(0x17b)]<0x2)return;_0x2f1215['push'](issue('warning',_0x276965(0x14e),SKILL_FILE,'Skill\x20appears\x20to\x20orchestrate\x20multiple\x20roles\x20or\x20Skills\x20('+_0x2af1f4[_0x276965(0x196)](',\x20')+').',_0x276965(0x132)));}function validateSecretExposure(_0xef408c,_0x4de49){const _0x1ae6dd=a32_0x37aa1e;if(!SECRET_VALUE_PATTERNS[_0x1ae6dd(0x159)](_0x594ac9=>_0x594ac9['test'](_0xef408c[_0x1ae6dd(0x160)])))return;_0x4de49[_0x1ae6dd(0x1c0)](issue('warning',_0x1ae6dd(0x1a8),_0xef408c[_0x1ae6dd(0x176)],_0x1ae6dd(0x16d),_0x1ae6dd(0x192)));}function parseFrontmatter(_0x5e33ca){const _0x30d67d=a32_0x37aa1e,_0xca93e4=_0x5e33ca[_0x30d67d(0x177)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0xca93e4)return{'hasFrontmatter':![]};const _0x44e659=_0xca93e4[0x1]??'',_0x589788={'hasFrontmatter':!![]};let _0x43b736=![];for(const _0x1a2a87 of _0x44e659[_0x30d67d(0x133)](/\r?\n/)){if(/^\s*$/[_0x30d67d(0x135)](_0x1a2a87))continue;const _0x6e5ada=_0x1a2a87[_0x30d67d(0x177)](/^([A-Za-z0-9_-]+):\s*(.*)$/);if(_0x6e5ada){const _0x488ba8=_0x6e5ada[0x1],_0x4ca7b0=cleanScalar(_0x6e5ada[0x2]??'');_0x43b736=_0x488ba8===_0x30d67d(0x148);if(_0x488ba8===_0x30d67d(0x1a4))_0x589788[_0x30d67d(0x1a4)]=_0x4ca7b0;if(_0x488ba8==='description')_0x589788[_0x30d67d(0x1bd)]=_0x4ca7b0;continue;}const _0x2c79e9=_0x1a2a87[_0x30d67d(0x177)](/^\s+type:\s*(.*)$/);_0x43b736&&_0x2c79e9&&(_0x589788[_0x30d67d(0x16f)]=cleanScalar(_0x2c79e9[0x1]??''));}return _0x589788;}function hasSection(_0x41df87,_0x2eb77f){const _0x35ecda=a32_0x37aa1e,_0x1064d4=_0x2eb77f[_0x35ecda(0x19d)](/[.*+?^${}()|[\]\\]/g,_0x35ecda(0x16c));return new RegExp(_0x35ecda(0x13c)+_0x1064d4+'\x5cs*$','m')[_0x35ecda(0x135)](_0x41df87);}function cleanScalar(_0x85c2da){const _0x20b2a8=a32_0x37aa1e,_0x2d3f5d=_0x85c2da[_0x20b2a8(0x1a5)]();if(_0x2d3f5d[_0x20b2a8(0x1a6)]('\x22')&&_0x2d3f5d[_0x20b2a8(0x179)]('\x22')||_0x2d3f5d[_0x20b2a8(0x1a6)]('\x27')&&_0x2d3f5d['endsWith']('\x27'))return _0x2d3f5d[_0x20b2a8(0x14c)](0x1,-0x1);return _0x2d3f5d;}function issue(_0x30f2a9,_0x2fe893,_0x7df0fe,_0x1ee4ed,_0x250521,_0x27e900){return{'level':_0x30f2a9,'ruleId':_0x2fe893,'file':_0x7df0fe,'section':_0x27e900,'message':_0x1ee4ed,'suggestion':_0x250521};}function toRelative(_0x1cf4bc,_0x12c60d){const _0x4efb87=a32_0x37aa1e;return relative(_0x1cf4bc,_0x12c60d)[_0x4efb87(0x19d)](/\\/g,'/');}function a32_0x18c3(){const _0x75a4e2=['Describe\x20dry-run,\x20explicit\x20confirmation,\x20and\x20failure\x20recovery\x20before\x20any\x20write.','replace','precondition\x20state','external-service-boundary','frontmatter-required','read','10JYqini','summary','name','trim','startsWith','needs_manual_check','secret-exposure','Missing\x20references/output-contract.md.','user\x20confirmation','Recommended\x20for\x20all\x20Skill\x20types;\x20link\x20output-contract.md\x20from\x20SKILL.md\x20or\x20runtime-contract.md,\x20or\x20use\x20--strict\x20to\x20enforce\x20it.','toLowerCase','target\x20state','map','absolutePath','platform-command-first','find','填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词。','4095048WrjMSU','Missing\x20SKILL.md.','Output\x20contract\x20is\x20missing\x20strict\x20delivery\x20semantics:\x20','output-contract-required','output-contract-linked','Skill\x20validation\x20failed:\x0a','full-chain','failed','partial_success','confirmed-read-back','description','token','write','push','Keep\x20Skill\x20scope\x20to\x20one\x20reusable\x20business\x20capability;\x20move\x20full-chain\x20choreography\x20to\x20docs,\x20demo-show\x20scripts,\x20workflow\x20plans,\x20or\x20an\x20external\x20orchestrator.','split','error','test','failure\x20recovery','6076pHwRTL','.md','Write\x20Skill\x20is\x20missing\x20','State\x20that\x20API\x20keys,\x20OAuth,\x20cookies,\x20and\x20login\x20state\x20are\x20configured\x20in\x20the\x20Lovrabet\x20app\x20backend\x20or\x20platform\x20adapter;\x20Skill\x20must\x20only\x20consume\x20the\x20authorized\x20platform\x20capability\x20and\x20treat\x20generated\x20assets\x20as\x20candidates\x20until\x20review.','sort','^##\x5cs+','Add\x20##\x20业务状态流转\x20with\x20precondition\x20state,\x20allowed\x20action,\x20target\x20state,\x20fromStatus\x20->\x20toStatus\x20preview,\x20read-back\x20verification,\x20and\x20unknown\x20/\x20needs_manual_check\x20handling.','5931ArgRtn','has','Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.','status','Write\x20Skill\x20is\x20missing\x20business\x20state\x20transition\x20boundary:\x20','message','Link\x20points\x20outside\x20the\x20Skill\x20package:\x20','state-transition-contract','errors','Local\x20scripts\x20are\x20referenced\x20without\x20explaining\x20why\x20Lovrabet\x20platform\x20commands\x20are\x20not\x20sufficient.','metadata','handoff-state','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','Frontmatter\x20name\x20is\x20missing.','slice','metadata.type\x20must\x20be\x20one\x20of\x20write,\x20read,\x20or\x20trainer.','orchestrator-smell','Frontmatter\x20description\x20is\x20empty.','strict','Output\x20contract\x20is\x20missing\x20required\x20delivery\x20field(s):\x20','write-safety-gate','localeCompare','filter','structure-complete','状态枚举','level','11CjdnQz','some','delivery-consistency','unknown-state\x20handling','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20file\x20inside\x20the\x20Skill\x20directory.','Skill\x20directory\x20not\x20found:\x20','与现有能力集成','业务状态流转','content','3088074NKjktV','validation','section','输入门禁','使用边界','Add\x20a\x20self-contained\x20runtime\x20contract\x20under\x20references/.','dry-run\x20preview','Fix\x20metadata.type\x20before\x20validating\x20delivery\x20risk\x20gates.','2046432vhuoNt','Move\x20required\x20content\x20into\x20references/\x20and\x20link\x20that\x20packaged\x20file.','Move\x20durable\x20business\x20execution\x20to\x20lovrabet\x20bff/data/sql/personal-bff\x20or\x20a\x20platform\x20service;\x20keep\x20packaged\x20scripts\x20as\x20thin\x20adapters\x20for\x20platform\x20gaps\x20only.','\x5c$&','Skill\x20package\x20appears\x20to\x20contain\x20cleartext\x20credentials\x20that\x20should\x20be\x20governed\x20by\x20the\x20platform.','file://','type','Keep\x20examples,\x20cache\x20paths,\x20and\x20install\x20locations\x20as\x20documentation\x20only;\x20package\x20any\x20required\x20runtime\x20instructions\x20under\x20references/.','第三方服务边界','展示规范','matchAll','Missing\x20required\x20section:\x20','no_op','path','match','SKILL.md\x20must\x20start\x20with\x20frontmatter.','endsWith','success','length','dry_run-no-write','do-not-wrap-unknown-as-success','label','86gHHlpd','Add\x20a\x20##\x20','Local\x20scripts\x20appear\x20to\x20own\x20business\x20writes,\x20permissions,\x20approval,\x20rollback,\x20or\x20state\x20transitions.','suggestion','ruleId','many-skill-names','isSymbolicLink','Prefer\x20lovrabet\x20data/sql/bff/personal-bff\x20for\x20business\x20execution;\x20document\x20local\x20scripts\x20only\x20for\x20platform\x20gaps\x20such\x20as\x20file\x20conversion,\x20static\x20checks,\x20or\x20thin\x20third-party\x20adapters.','warning','External\x20service\x20credentials\x20or\x20sensitive\x20uploads\x20are\x20referenced\x20without\x20Lovrabet\x20platform-managed\x20credential\x20boundaries.','24vXdUdS','70372Auxtai','trainer','Missing\x20integration\x20guidance\x20section.','isDirectory','Replace\x20all\x20【...】\x20placeholders\x20with\x20concrete\x20delivery\x20content.','285565TpBiAM','失败恢复','local-script-overreach','开发先行阶段不阻断;强烈建议在\x20Lovrabet\x20应用后台或平台适配器统一管理\x20API\x20Key、Bearer\x20token、Cookie\x20和登录态。','Fix\x20the\x20reported\x20delivery\x20quality\x20issues\x20before\x20running\x20skill\x20push.','self-contained-package','references/output-contract.md\x20exists\x20but\x20is\x20not\x20referenced\x20by\x20SKILL.md\x20or\x20references/runtime-contract.md.','join','required-section','metadata.type\x20is\x20missing.','7820oGYuup','file','Add\x20frontmatter\x20with\x20name,\x20description,\x20and\x20metadata.type.'];a32_0x18c3=function(){return _0x75a4e2;};return a32_0x18c3();}function isMarkdownFile(_0x56c4ef){const _0x421d26=a32_0x37aa1e;return extname(_0x56c4ef)[_0x421d26(0x1ac)]()===_0x421d26(0x138);}function isWebUrl(_0xdc1189){const _0x213023=a32_0x37aa1e;return/^[a-z][a-z0-9+.-]*:\/\//i['test'](_0xdc1189)&&!_0xdc1189['toLowerCase']()[_0x213023(0x1a6)](_0x213023(0x16e));}function isPathInside(_0x4c578e,_0x2ce0e0){const _0x213009=a32_0x37aa1e,_0x54ba74=relative(_0x2ce0e0,_0x4c578e);return _0x54ba74===''||!_0x54ba74[_0x213009(0x1a6)]('..')&&!isAbsolute(_0x54ba74);}
|
|
1
|
+
const a32_0x494184=a32_0x13a8;function a32_0x476c(){const _0x29f8d3=['SKILL.md\x20is\x20not\x20a\x20file.','2jYkZAj','1166150kyQQiG','frontmatter-required','read','slice','toUpperCase','isDirectory','12964azwRzA','isSymbolicLink','metadata.type\x20is\x20missing.','275NUgTyM','path','level','SKILL.md\x20must\x20be\x20a\x20regular\x20file.','filter','join','2799IozJRk','split','file','Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.','endsWith','structure-complete','errors','93180TvLwMa','content','trim','error','has','section','metadata.type\x20must\x20be\x20one\x20of\x20write,\x20read,\x20or\x20trainer.','test','102739DOTRiC','trainer','Skill\x20directory\x20not\x20found:\x20','SKILL.md\x20must\x20start\x20with\x20frontmatter.','88NDBtPT','Frontmatter\x20description\x20is\x20empty.','Fix\x20the\x20required\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.','713913uIITMY','6zHahoW','push','message','isFile','startsWith','\x20Fix:\x20','description','hasFrontmatter','name','55mQhBTw','SKILL.md','match','validation','type','ruleId','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','Missing\x20SKILL.md.','length','utf8','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','metadata','Frontmatter\x20name\x20is\x20missing.','1949532yBevaA','填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词。'];a32_0x476c=function(){return _0x29f8d3;};return a32_0x476c();}(function(_0x1bb5da,_0x6fc95a){const _0x1872a2=a32_0x13a8,_0x2c4130=_0x1bb5da();while(!![]){try{const _0x5074b5=-parseInt(_0x1872a2(0xe9))/0x1+-parseInt(_0x1872a2(0xd2))/0x2*(parseInt(_0x1872a2(0xf8))/0x3)+-parseInt(_0x1872a2(0xd9))/0x4*(parseInt(_0x1872a2(0xdc))/0x5)+-parseInt(_0x1872a2(0xf9))/0x6*(parseInt(_0x1872a2(0xf1))/0x7)+parseInt(_0x1872a2(0xf5))/0x8*(-parseInt(_0x1872a2(0xe2))/0x9)+-parseInt(_0x1872a2(0xd3))/0xa+parseInt(_0x1872a2(0x102))/0xb*(parseInt(_0x1872a2(0xcf))/0xc);if(_0x5074b5===_0x6fc95a)break;else _0x2c4130['push'](_0x2c4130['shift']());}catch(_0x1c1ff0){_0x2c4130['push'](_0x2c4130['shift']());}}}(a32_0x476c,0x290fa));import{existsSync,lstatSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{CliErrors}from'../../errors.js';const SKILL_FILE=a32_0x494184(0x103),SUPPORTED_SKILL_TYPES=new Set(['write',a32_0x494184(0xd5),a32_0x494184(0xf2)]);export function validateSkillDirectory(_0x44b207,_0x5ad551={}){const _0x322808=a32_0x494184,_0x39f687=resolve(_0x44b207),_0x227908=[];if(!existsSync(_0x39f687)||!lstatSync(_0x39f687)[_0x322808(0xd8)]())throw CliErrors[_0x322808(0x105)](_0x322808(0xf3)+_0x44b207);const _0x175a81=loadRequiredSkillFile(_0x39f687,_0x227908),_0x33ff48=_0x175a81?parseFrontmatter(_0x175a81[_0x322808(0xea)]):{'hasFrontmatter':![]};_0x175a81&&validateFrontmatter(_0x175a81[_0x322808(0xdd)],_0x33ff48,_0x227908);const _0x542268=_0x227908[_0x322808(0xe0)](_0x4e1926=>_0x4e1926[_0x322808(0xde)]===_0x322808(0xec));return{'ok':_0x542268[_0x322808(0x10a)]===0x0,'dir':_0x39f687,'type':_0x33ff48[_0x322808(0x106)],'errors':_0x542268,'warnings':[]};}export function throwIfSkillValidationFailed(_0x1e1554,_0x2b5a3e=![]){const _0x4a8d65=a32_0x494184;if(_0x1e1554['ok'])return;const _0x27c111=_0x1e1554[_0x4a8d65(0xe8)]['map'](_0x1d0836=>{const _0x20dee5=_0x4a8d65,_0x416ef6=_0x1d0836[_0x20dee5(0xee)]?'#'+_0x1d0836[_0x20dee5(0xee)]:'';return _0x1d0836[_0x20dee5(0xde)][_0x20dee5(0xd7)]()+'\x20'+_0x1d0836[_0x20dee5(0x107)]+'\x20'+_0x1d0836[_0x20dee5(0xe4)]+_0x416ef6+':\x20'+_0x1d0836[_0x20dee5(0xfb)]+_0x20dee5(0xfe)+_0x1d0836['suggestion'];});throw CliErrors[_0x4a8d65(0x105)]('Skill\x20validation\x20failed:\x0a'+_0x27c111[_0x4a8d65(0xe1)]('\x0a'),_0x4a8d65(0xf7));}function loadRequiredSkillFile(_0x3cbeed,_0x2800a5){const _0x1b742c=a32_0x494184,_0x5f1c77=resolve(_0x3cbeed,SKILL_FILE);if(!existsSync(_0x5f1c77))return _0x2800a5[_0x1b742c(0xfa)](issue('error','structure-complete',SKILL_FILE,_0x1b742c(0x109),_0x1b742c(0x108))),undefined;const _0x2c147a=lstatSync(_0x5f1c77);if(_0x2c147a[_0x1b742c(0xda)]())return _0x2800a5[_0x1b742c(0xfa)](issue(_0x1b742c(0xec),_0x1b742c(0xe7),SKILL_FILE,_0x1b742c(0xdf),_0x1b742c(0x10c))),undefined;if(!_0x2c147a[_0x1b742c(0xfc)]())return _0x2800a5[_0x1b742c(0xfa)](issue(_0x1b742c(0xec),_0x1b742c(0xe7),SKILL_FILE,_0x1b742c(0xd1),_0x1b742c(0x10d))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x5f1c77,_0x1b742c(0x10b))};}function a32_0x13a8(_0x2a8919,_0x53ff63){_0x2a8919=_0x2a8919-0xcf;const _0x476c9b=a32_0x476c();let _0x13a8ef=_0x476c9b[_0x2a8919];return _0x13a8ef;}function validateFrontmatter(_0x302738,_0x54db1b,_0x360ee9){const _0x21462f=a32_0x494184;if(!_0x54db1b[_0x21462f(0x100)]){_0x360ee9[_0x21462f(0xfa)](issue(_0x21462f(0xec),_0x21462f(0xd4),_0x302738,_0x21462f(0xf4),'Add\x20frontmatter\x20with\x20name,\x20description,\x20and\x20metadata.type.'));return;}!_0x54db1b[_0x21462f(0x101)]?.['trim']()&&_0x360ee9[_0x21462f(0xfa)](issue(_0x21462f(0xec),_0x21462f(0xd4),_0x302738,_0x21462f(0x10f),'Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.'));!_0x54db1b[_0x21462f(0xff)]?.[_0x21462f(0xeb)]()&&_0x360ee9[_0x21462f(0xfa)](issue(_0x21462f(0xec),'description-required',_0x302738,_0x21462f(0xf6),_0x21462f(0xd0)));if(!_0x54db1b[_0x21462f(0x106)]?.[_0x21462f(0xeb)]())_0x360ee9[_0x21462f(0xfa)](issue(_0x21462f(0xec),_0x21462f(0xd4),_0x302738,_0x21462f(0xdb),_0x21462f(0xe5)));else!SUPPORTED_SKILL_TYPES[_0x21462f(0xed)](_0x54db1b[_0x21462f(0x106)])&&_0x360ee9[_0x21462f(0xfa)](issue(_0x21462f(0xec),_0x21462f(0xd4),_0x302738,_0x21462f(0xef),'Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.'));}function parseFrontmatter(_0x2075d0){const _0x5d6a3c=a32_0x494184,_0x5e56f3=_0x2075d0['match'](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x5e56f3)return{'hasFrontmatter':![]};const _0x4a8182=_0x5e56f3[0x1]??'',_0x337cd2={'hasFrontmatter':!![]};let _0x58c336=![];for(const _0x52c7df of _0x4a8182[_0x5d6a3c(0xe3)](/\r?\n/)){if(/^\s*$/[_0x5d6a3c(0xf0)](_0x52c7df))continue;const _0x900134=_0x52c7df[_0x5d6a3c(0x104)](/^([A-Za-z0-9_-]+):\s*(.*)$/);if(_0x900134){const _0x21b14a=_0x900134[0x1],_0x55f8ef=cleanScalar(_0x900134[0x2]??'');_0x58c336=_0x21b14a===_0x5d6a3c(0x10e);if(_0x21b14a==='name')_0x337cd2[_0x5d6a3c(0x101)]=_0x55f8ef;if(_0x21b14a===_0x5d6a3c(0xff))_0x337cd2[_0x5d6a3c(0xff)]=_0x55f8ef;continue;}const _0x1b9639=_0x52c7df[_0x5d6a3c(0x104)](/^\s+type:\s*(.*)$/);_0x58c336&&_0x1b9639&&(_0x337cd2['type']=cleanScalar(_0x1b9639[0x1]??''));}return _0x337cd2;}function cleanScalar(_0x3d8528){const _0x2a473d=a32_0x494184,_0x25d80e=_0x3d8528['trim']();if(_0x25d80e['startsWith']('\x22')&&_0x25d80e[_0x2a473d(0xe6)]('\x22')||_0x25d80e[_0x2a473d(0xfd)]('\x27')&&_0x25d80e[_0x2a473d(0xe6)]('\x27'))return _0x25d80e[_0x2a473d(0xd6)](0x1,-0x1);return _0x25d80e;}function issue(_0x3f46d0,_0x49cd96,_0x4b1e88,_0x40be43,_0x3de6cc,_0x2ad8dd){return{'level':_0x3f46d0,'ruleId':_0x49cd96,'file':_0x4b1e88,'section':_0x2ad8dd,'message':_0x40be43,'suggestion':_0x3de6cc};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a33_0x3e98(_0x2af1bc,_0x10ad51){_0x2af1bc=_0x2af1bc-0x196;const _0x322146=a33_0x3221();let _0x3e9872=_0x322146[_0x2af1bc];return _0x3e9872;}const a33_0x543009=a33_0x3e98;(function(_0x5a74bd,_0x355775){const _0x1eae9b=a33_0x3e98,_0x1194c5=_0x5a74bd();while(!![]){try{const _0x57a800=parseInt(_0x1eae9b(0x198))/0x1*(parseInt(_0x1eae9b(0x196))/0x2)+-parseInt(_0x1eae9b(0x1a1))/0x3+parseInt(_0x1eae9b(0x1a6))/0x4+-parseInt(_0x1eae9b(0x19e))/0x5*(parseInt(_0x1eae9b(0x1a0))/0x6)+parseInt(_0x1eae9b(0x1a5))/0x7+-parseInt(_0x1eae9b(0x1a4))/0x8+-parseInt(_0x1eae9b(0x197))/0x9;if(_0x57a800===_0x355775)break;else _0x1194c5['push'](_0x1194c5['shift']());}catch(_0x131093){_0x1194c5['push'](_0x1194c5['shift']());}}}(a33_0x3221,0xd849f));function a33_0x3221(){const _0x697507=['sqlcode','1122176lxRede','12326664Rxprmz','6768896dsEqKX','description','3458BdgTkC','8279577IVVDFT','637nKLbcZ','dbId','appCode','detail','sqlCode','str','2475iNizVh','sql','19176VsaaCF','3079155sEiEsT','sqlContent'];a33_0x3221=function(){return _0x697507;};return a33_0x3221();}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':a33_0x543009(0x19f),'command':a33_0x543009(0x19b),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x55d187){const _0x31a7d5=a33_0x543009,_0x410e6e=await getSqlQueryInfo(_0x55d187[_0x31a7d5(0x19a)],_0x55d187[_0x31a7d5(0x19d)](_0x31a7d5(0x1a3))),_0x25819a=_0x55d187['bool']('verbose');if(_0x25819a)return{'ok':!![],'data':_0x410e6e};const _0x1c8b5f=_0x410e6e[_0x31a7d5(0x199)]?await getDbName(_0x55d187[_0x31a7d5(0x19a)],_0x410e6e['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x410e6e[_0x31a7d5(0x19c)],'sqlName':_0x410e6e['sqlName'],'db':_0x1c8b5f?_0x1c8b5f+'\x20('+_0x410e6e[_0x31a7d5(0x199)]+')':_0x410e6e[_0x31a7d5(0x199)]??'','description':_0x410e6e[_0x31a7d5(0x1a7)]??'','sqlContent':_0x410e6e[_0x31a7d5(0x1a2)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a34_0x422117=a34_0x40f1;function a34_0x40f1(_0x1f6d44,_0x3fb84a){_0x1f6d44=_0x1f6d44-0x67;const _0x394954=a34_0x3949();let _0x40f169=_0x394954[_0x1f6d44];return _0x40f169;}(function(_0x45bddd,_0x19ad66){const _0x264620=a34_0x40f1,_0x560e9a=_0x45bddd();while(!![]){try{const _0x105aee=-parseInt(_0x264620(0x6a))/0x1*(parseInt(_0x264620(0x69))/0x2)+parseInt(_0x264620(0x67))/0x3*(-parseInt(_0x264620(0x6f))/0x4)+-parseInt(_0x264620(0x76))/0x5*(-parseInt(_0x264620(0x7e))/0x6)+parseInt(_0x264620(0x70))/0x7*(-parseInt(_0x264620(0x75))/0x8)+parseInt(_0x264620(0x71))/0x9*(parseInt(_0x264620(0x7c))/0xa)+-parseInt(_0x264620(0x7f))/0xb*(parseInt(_0x264620(0x68))/0xc)+-parseInt(_0x264620(0x6c))/0xd*(-parseInt(_0x264620(0x77))/0xe);if(_0x105aee===_0x19ad66)break;else _0x560e9a['push'](_0x560e9a['shift']());}catch(_0x2d7874){_0x560e9a['push'](_0x560e9a['shift']());}}}(a34_0x3949,0x85290));import{executeSdkSql}from'../../core/sdk-client.js';function a34_0x3949(){const _0x265e4f=['str','3703930RylPsf','length','24oMfPjy','1465310MxUEFN','3UkijCf','12RnqAuF','184uLSZhk','6934nFcFHj','sql','449306PzBtEq','execError','execSuccess','2536084PKEIwt','1160159MpsfPk','9qMytHg','params','exec','isArray','48vBXjJA','1317355BAQyrP','616EgVinK','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','now','SQL\x20execution\x20failed'];a34_0x3949=function(){return _0x265e4f;};return a34_0x3949();}import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a34_0x422117(0x6b),'command':a34_0x422117(0x73),'description':a34_0x422117(0x78),'risk':'read','flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x3bc759){const _0x35af62=a34_0x422117,_0x3ce80d=parseJsonParams(_0x3bc759[_0x35af62(0x7b)](_0x35af62(0x72))),_0x14ac64=Date[_0x35af62(0x79)](),_0x32a978=await executeSdkSql(_0x3bc759[_0x35af62(0x7b)]('sqlcode'),_0x3ce80d),_0x59835b=Date[_0x35af62(0x79)]()-_0x14ac64,_0x3a3742=_0x32a978?.['execResult']??_0x32a978,_0x5a60b0=_0x32a978?.[_0x35af62(0x6e)]??!![];if(!_0x5a60b0)return{'ok':![],'data':{'error':_0x32a978?.[_0x35af62(0x6d)]||_0x35af62(0x7a),'elapsed':_0x59835b},'message':_0x35af62(0x7a)};const _0x18a6f3=Array[_0x35af62(0x74)](_0x3a3742)?_0x3a3742:[];return{'ok':!![],'data':{'rows':_0x18a6f3,'rowCount':_0x18a6f3[_0x35af62(0x7d)],'elapsed':_0x59835b},'message':'Returned\x20'+_0x18a6f3[_0x35af62(0x7d)]+'\x20row(s)\x20in\x20'+_0x59835b+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x522e1c,_0xb4302a){const _0x440133=a35_0x44cb,_0x4d27cb=_0x522e1c();while(!![]){try{const _0x5ecdd4=parseInt(_0x440133(0x101))/0x1*(parseInt(_0x440133(0xfd))/0x2)+-parseInt(_0x440133(0xfa))/0x3*(-parseInt(_0x440133(0xfc))/0x4)+parseInt(_0x440133(0x100))/0x5+parseInt(_0x440133(0xfb))/0x6*(-parseInt(_0x440133(0xff))/0x7)+-parseInt(_0x440133(0xfe))/0x8*(-parseInt(_0x440133(0x103))/0x9)+-parseInt(_0x440133(0xf9))/0xa+parseInt(_0x440133(0xf8))/0xb*(-parseInt(_0x440133(0x102))/0xc);if(_0x5ecdd4===_0xb4302a)break;else _0x4d27cb['push'](_0x4d27cb['shift']());}catch(_0x5c5848){_0x4d27cb['push'](_0x4d27cb['shift']());}}}(a35_0x181f,0x3e605));import{sqlDetail}from'../../commands/sql/detail.js';function a35_0x44cb(_0xa6d5cc,_0x37aa67){_0xa6d5cc=_0xa6d5cc-0xf8;const _0x181f91=a35_0x181f();let _0x44cb0b=_0x181f91[_0xa6d5cc];return _0x44cb0b;}import{sqlExec}from'../../commands/sql/exec.js';export const sqlDefinitions=[sqlDetail,sqlExec];function a35_0x181f(){const _0x146dae=['4zqJLsC','3084xdjufS','1107LSwriK','14333pLtmfs','3105770qBlAEX','3PMzaej','6DfztQY','1561052osxqPG','14648saHVQr','32048fOFABa','2905105NqsdWL','2018295Mpxblk'];a35_0x181f=function(){return _0x146dae;};return a35_0x181f();}
|
package/lib/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a36_0x5b2681=a36_0x1902;(function(_0x151839,_0x12d9fc){const _0x4bcdee=a36_0x1902,_0x4f930a=_0x151839();while(!![]){try{const _0x4c52d3=-parseInt(_0x4bcdee(0x1db))/0x1*(parseInt(_0x4bcdee(0x1c6))/0x2)+parseInt(_0x4bcdee(0x1de))/0x3*(-parseInt(_0x4bcdee(0x1b4))/0x4)+parseInt(_0x4bcdee(0x19e))/0x5*(-parseInt(_0x4bcdee(0x1d5))/0x6)+-parseInt(_0x4bcdee(0x1b1))/0x7+parseInt(_0x4bcdee(0x1a2))/0x8*(-parseInt(_0x4bcdee(0x1d7))/0x9)+parseInt(_0x4bcdee(0x19a))/0xa*(parseInt(_0x4bcdee(0x1e7))/0xb)+parseInt(_0x4bcdee(0x1e5))/0xc*(parseInt(_0x4bcdee(0x1bf))/0xd);if(_0x4c52d3===_0x12d9fc)break;else _0x4f930a['push'](_0x4f930a['shift']());}catch(_0x3d1cf6){_0x4f930a['push'](_0x4f930a['shift']());}}}(a36_0xbd93,0x337de));import{spawnSync}from'node:child_process';function a36_0xbd93(){const _0x12bfb1=['object','patch','match','status','Already\x20up\x20to\x20date\x20(v','filter','Version\x20comparison\x20failed.','install','Refresh\x20official\x20skill\x20package\x20after\x20updating','2282172Ldihtp','Skipping\x20official\x20skill\x20package\x20(--no-skills).','225lOXEwV','prerelease','validation','pipe','1SQUian','Unable\x20to\x20resolve\x20','cwd','73167CZXtmn','join','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','str','\x20\x20Official\x20skill\x20update\x20failed:\x20','minor','\x20\x20Run\x20manually:\x20npx\x20skills\x20add\x20','836508dAMvoi','string','596211Giulkh','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','update','/dist-tags','Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','no-skills','stderr','fromEntries','10wCUtYG','json','\x20\x20Official\x20skill\x20package\x20is\x20up\x20to\x20date.','args','5HVtXTt','stdout','npm','Updating\x20','104392FZkYfH','log','warn','nonInteractive','error','Invalid\x20version:\x20','run','message','skipped','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','entries','map','version','Already\x20on\x20requested\x20version\x20(v','Update\x20','2727389wRMocZ','unknown','trim','24cMRQcU','Updated\x20to\x20v','Checking\x20npm\x20dist-tags...','toString','Install\x20a\x20specific\x20CLI\x20version','source','Update\x20failed:\x20','Skip\x20official\x20skill\x20package\x20refresh\x20after\x20updating','bool','beta','inherit','325VkJvkl','Current\x20version:\x20','=1).','latest','\x20version\x20from\x20npm.','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','length','686936zfTScx','boolean','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','write','skills','\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20'];a36_0xbd93=function(){return _0x12bfb1;};return a36_0xbd93();}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':a36_0x5b2681(0x1c2),'type':a36_0x5b2681(0x1c7),'description':a36_0x5b2681(0x1c8),'default':![]},{'name':a36_0x5b2681(0x1bd),'type':a36_0x5b2681(0x1c7),'description':a36_0x5b2681(0x1e8),'default':![]},{'name':'version','type':a36_0x5b2681(0x1e6),'description':a36_0x5b2681(0x1b8)},{'name':'no-skills','type':'boolean','description':a36_0x5b2681(0x1bb),'default':![]},{'name':a36_0x5b2681(0x1ca),'type':'boolean','description':a36_0x5b2681(0x1d4),'default':!![],'hidden':!![]}];function parseSemver(_0x10639){const _0x45d103=a36_0x5b2681,_0x51c04a=_0x10639['trim']()[_0x45d103(0x1ce)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x51c04a)return null;return{'major':Number(_0x51c04a[0x1]),'minor':Number(_0x51c04a[0x2]),'patch':Number(_0x51c04a[0x3]),'prerelease':_0x51c04a[0x4]};}function compareSemver(_0x51ea40,_0x195691){const _0x395a0d=a36_0x5b2681,_0x59e208=parseSemver(_0x51ea40),_0x5de386=parseSemver(_0x195691);if(!_0x59e208||!_0x5de386)throw CliErrors[_0x395a0d(0x1d9)](_0x395a0d(0x1d2),_0x395a0d(0x1e0));for(const _0xee9fe of['major',_0x395a0d(0x1e3),_0x395a0d(0x1cd)]){if(_0x59e208[_0xee9fe]<_0x5de386[_0xee9fe])return-0x1;if(_0x59e208[_0xee9fe]>_0x5de386[_0xee9fe])return 0x1;}if(!_0x59e208[_0x395a0d(0x1d8)]&&!_0x5de386['prerelease'])return 0x0;if(!_0x59e208[_0x395a0d(0x1d8)])return 0x1;if(!_0x5de386[_0x395a0d(0x1d8)])return-0x1;if(_0x59e208[_0x395a0d(0x1d8)]===_0x5de386['prerelease'])return 0x0;return _0x59e208['prerelease']<_0x5de386['prerelease']?-0x1:0x1;}function getRequestedVersion(_0x1bc97c){const _0x351904=a36_0x5b2681,_0x497509=_0x1bc97c[_0x351904(0x1e1)]('version')[_0x351904(0x1b3)]();if(_0x497509)return _0x497509;return String(_0x1bc97c[_0x351904(0x19d)]?.[0x0]??'')[_0x351904(0x1b3)]();}function a36_0x1902(_0x5a6c0e,_0x150151){_0x5a6c0e=_0x5a6c0e-0x195;const _0xbd9370=a36_0xbd93();let _0x19029d=_0xbd9370[_0x5a6c0e];return _0x19029d;}function shouldSkipOfficialSkill(_0x4bf26d){const _0xc3f804=a36_0x5b2681;return _0x4bf26d['bool'](_0xc3f804(0x197))||_0x4bf26d['flag'](_0xc3f804(0x1ca))===![];}async function validateUpdateFlags(_0x28e39d){const _0xf515ba=a36_0x5b2681,_0x17185c=getRequestedVersion(_0x28e39d),_0x278ae0=[_0x28e39d['bool']('latest')?_0xf515ba(0x1c2):'',_0x28e39d[_0xf515ba(0x1bc)](_0xf515ba(0x1bd))?_0xf515ba(0x1bd):'',_0x17185c?'version':''][_0xf515ba(0x1d1)](Boolean);if(_0x278ae0[_0xf515ba(0x1c5)]>0x1)throw CliErrors[_0xf515ba(0x1d9)]('--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.');if(_0x17185c&&!parseSemver(_0x17185c))throw CliErrors[_0xf515ba(0x1d9)](_0xf515ba(0x1a7)+_0x17185c,_0xf515ba(0x196));}async function fetchNpmDistTags(){const _0x41991f=a36_0x5b2681;try{const _0x3b0e47=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x41991f(0x195),_0x96355b=await fetch(_0x3b0e47,{'signal':AbortSignal['timeout'](0x2710)});if(!_0x96355b['ok'])return null;const _0x440b72=await _0x96355b[_0x41991f(0x19b)]();if(!_0x440b72||typeof _0x440b72!==_0x41991f(0x1cc))return null;return Object[_0x41991f(0x199)](Object[_0x41991f(0x1ac)](_0x440b72)['filter'](([,_0x4096a0])=>typeof _0x4096a0===_0x41991f(0x1e6)&&_0x4096a0[_0x41991f(0x1b3)]())[_0x41991f(0x1ad)](([_0x13e778,_0x1e9737])=>[_0x13e778,String(_0x1e9737)[_0x41991f(0x1b3)]()]));}catch{return null;}}async function resolveTargetVersion(_0x306c36){const _0x341c19=a36_0x5b2681,_0x1d3bf5=getRequestedVersion(_0x306c36);if(_0x1d3bf5)return{'version':_0x1d3bf5,'source':'version'};const _0x4ab339=_0x306c36['bool'](_0x341c19(0x1bd))?_0x341c19(0x1bd):_0x341c19(0x1c2),_0x324c42=await fetchNpmDistTags(),_0x56b62f=_0x324c42?.[_0x4ab339];if(!_0x56b62f)return null;return{'version':_0x56b62f,'source':_0x4ab339};}function shouldInstallTarget(_0x434b24,_0x5e1233){const _0x3f8633=a36_0x5b2681,_0x42d250=compareSemver(_0x434b24,_0x5e1233[_0x3f8633(0x1ae)]);if(_0x5e1233[_0x3f8633(0x1b9)]===_0x3f8633(0x1ae))return _0x42d250!==0x0;return _0x42d250<0x0;}function installCliPackage(_0x9d15e7,_0x2d8a6b){const _0x42ab92=a36_0x5b2681,_0x4ef42e=resolveNpmBin(_0x42ab92(0x1a0)),_0x2a8126=[_0x42ab92(0x1d3),'-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x9d15e7];console['log']('*\x20'+[_0x4ef42e,..._0x2a8126][_0x42ab92(0x1df)]('\x20'));const _0x50adb7=spawnSync(_0x4ef42e,_0x2a8126,{'cwd':process[_0x42ab92(0x1dd)](),'stdio':_0x2d8a6b?_0x42ab92(0x1da):'inherit','env':process.env,'shell':![]});if(_0x50adb7['status']===0x0)return{'ok':!![]};let _0x5f16bf=_0x50adb7[_0x42ab92(0x1a6)]?.[_0x42ab92(0x1a9)]||'exit\x20'+(_0x50adb7[_0x42ab92(0x1cf)]??_0x42ab92(0x1b2));if(_0x2d8a6b){const _0x390265=_0x50adb7[_0x42ab92(0x198)]?_0x50adb7['stderr'][_0x42ab92(0x1b7)]()[_0x42ab92(0x1b3)]():'',_0x4efee0=_0x50adb7[_0x42ab92(0x19f)]?_0x50adb7[_0x42ab92(0x19f)]['toString']()[_0x42ab92(0x1b3)]():'';if(_0x390265)_0x5f16bf=_0x390265;else{if(_0x4efee0)_0x5f16bf=_0x4efee0;}}return{'ok':![],'error':_0x5f16bf};}async function installOfficialSkill(_0xb02d53){const _0x1fc9b6=a36_0x5b2681;console[_0x1fc9b6(0x1a3)]('Checking\x20official\x20skill\x20package...');const _0x3361a2=runNpxSkillsAddGlobal(process[_0x1fc9b6(0x1dd)](),LOVRABET_SKILL_SOURCE,{'stdio':_0xb02d53?'pipe':_0x1fc9b6(0x1be)});if(_0x3361a2[_0x1fc9b6(0x1aa)]){console['log']('\x20\x20Skipped\x20skill\x20install\x20('+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x1fc9b6(0x1c1));return;}if(_0x3361a2['ok']){console[_0x1fc9b6(0x1a3)](_0x1fc9b6(0x19c));return;}console[_0x1fc9b6(0x1a4)](_0x1fc9b6(0x1e2)+(_0x3361a2['error']||_0x1fc9b6(0x1b2))),console[_0x1fc9b6(0x1a3)](_0x1fc9b6(0x1e4)+LOVRABET_SKILL_SOURCE+'\x20-g\x20-y');}async function execute(_0x4f3cd5){const _0x2283de=a36_0x5b2681;await validateUpdateFlags(_0x4f3cd5);const _0x5a81a1=getCliVersion();console[_0x2283de(0x1a3)](_0x2283de(0x1c0)+_0x5a81a1),console[_0x2283de(0x1a3)](_0x2283de(0x1b6));const _0x187d6e=await resolveTargetVersion(_0x4f3cd5);if(!_0x187d6e){const _0xbe1b8d=_0x4f3cd5['bool'](_0x2283de(0x1bd))?_0x2283de(0x1bd):_0x2283de(0x1c2),_0x525585=_0x2283de(0x1dc)+_0xbe1b8d+_0x2283de(0x1c3);return console[_0x2283de(0x1a4)](_0x525585),console['log'](_0x2283de(0x1ab)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0xbe1b8d),{'ok':![]};}if(!shouldInstallTarget(_0x5a81a1,_0x187d6e)){const _0x604ae3=_0x187d6e[_0x2283de(0x1b9)]===_0x2283de(0x1ae)?_0x2283de(0x1af)+_0x187d6e[_0x2283de(0x1ae)]+').':_0x2283de(0x1d0)+_0x187d6e[_0x2283de(0x1ae)]+').';return console[_0x2283de(0x1a3)](_0x604ae3),shouldSkipOfficialSkill(_0x4f3cd5)?console['log']('Skipping\x20official\x20skill\x20package\x20(--no-skills).'):await installOfficialSkill(_0x4f3cd5['nonInteractive']),{'ok':!![]};}console[_0x2283de(0x1a3)](_0x2283de(0x1a1)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x5a81a1+'\x20->\x20'+_0x187d6e['version']);const _0x15fc73=installCliPackage(_0x187d6e[_0x2283de(0x1ae)],_0x4f3cd5[_0x2283de(0x1a5)]);if(!_0x15fc73['ok']){const _0x40b39f=_0x2283de(0x1ba)+(_0x15fc73['error']||_0x2283de(0x1b2));return console[_0x2283de(0x1a6)](_0x40b39f),console[_0x2283de(0x1a3)](_0x2283de(0x1cb)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x187d6e['version']),{'ok':![]};}return console['log'](_0x2283de(0x1b5)+_0x187d6e[_0x2283de(0x1ae)]+'.'),console[_0x2283de(0x1a3)](_0x2283de(0x1c4)),shouldSkipOfficialSkill(_0x4f3cd5)?console[_0x2283de(0x1a3)](_0x2283de(0x1d6)):await installOfficialSkill(_0x4f3cd5[_0x2283de(0x1a5)]),{'ok':!![]};}export const updateDefinition={'service':a36_0x5b2681(0x1e9),'command':a36_0x5b2681(0x1a8),'description':a36_0x5b2681(0x1b0)+CLI_BIN_NAME+'\x20CLI\x20from\x20npm','risk':a36_0x5b2681(0x1c9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
1
|
+
const a36_0x3b8716=a36_0x5c83;(function(_0x5eeb55,_0x3446b3){const _0x31b647=a36_0x5c83,_0x26ef27=_0x5eeb55();while(!![]){try{const _0x49e2f2=-parseInt(_0x31b647(0x17b))/0x1*(parseInt(_0x31b647(0x184))/0x2)+parseInt(_0x31b647(0x16e))/0x3*(parseInt(_0x31b647(0x135))/0x4)+parseInt(_0x31b647(0x172))/0x5*(-parseInt(_0x31b647(0x168))/0x6)+-parseInt(_0x31b647(0x13c))/0x7+-parseInt(_0x31b647(0x153))/0x8+parseInt(_0x31b647(0x17e))/0x9*(parseInt(_0x31b647(0x15c))/0xa)+-parseInt(_0x31b647(0x162))/0xb*(-parseInt(_0x31b647(0x165))/0xc);if(_0x49e2f2===_0x3446b3)break;else _0x26ef27['push'](_0x26ef27['shift']());}catch(_0x5c28f2){_0x26ef27['push'](_0x26ef27['shift']());}}}(a36_0x3bb2,0xdcc53));import{spawnSync}from'node:child_process';import{CliErrors}from'../errors.js';function a36_0x3bb2(){const _0x5cc475=['skipped','\x20-g\x20-y','\x20\x20Official\x20skill\x20update\x20failed:\x20','4DYYMpp','string','log','3879189PekrBk','cwd','latest','stderr','Update\x20','version','563574jxeRDP','4uJUZeW','json','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','boolean','no-skills','str','warn','4799844MgpbBO','source','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','fromEntries','run','Current\x20version:\x20','Updating\x20','message','status','length','map','Checking\x20npm\x20dist-tags...','update','object','prerelease','timeout','exit\x20','nonInteractive','unknown','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','Unable\x20to\x20resolve\x20','Skipping\x20official\x20skill\x20package\x20(--no-skills).','9228416xxbdjA','Already\x20on\x20requested\x20version\x20(v','Skip\x20official\x20skill\x20package\x20refresh\x20after\x20updating','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','\x20\x20Official\x20skill\x20package\x20is\x20up\x20to\x20date.','validation','join','trim','10XEXGhn','Version\x20comparison\x20failed.','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','error','\x20version\x20from\x20npm.','pipe','29623zxaIeo','skills','write','10488dpQeVb','minor','beta','4584whzRGO','=1).','entries','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','stdout','flag','5311524DISpvK','toString','/dist-tags','Updated\x20to\x20v','4480lHQAUE','bool','inherit','\x20\x20Run\x20manually:\x20npx\x20skills\x20add\x20','\x20->\x20','Refresh\x20official\x20skill\x20package\x20after\x20updating'];a36_0x3bb2=function(){return _0x5cc475;};return a36_0x3bb2();}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':a36_0x3b8716(0x180),'type':a36_0x3b8716(0x138),'description':a36_0x3b8716(0x150),'default':![]},{'name':'beta','type':'boolean','description':a36_0x3b8716(0x137),'default':![]},{'name':a36_0x3b8716(0x183),'type':a36_0x3b8716(0x17c),'description':'Install\x20a\x20specific\x20CLI\x20version'},{'name':a36_0x3b8716(0x139),'type':a36_0x3b8716(0x138),'description':a36_0x3b8716(0x155),'default':![]},{'name':a36_0x3b8716(0x163),'type':a36_0x3b8716(0x138),'description':a36_0x3b8716(0x177),'default':!![],'hidden':!![]}];function a36_0x5c83(_0x7f5857,_0x18d41a){_0x7f5857=_0x7f5857-0x135;const _0x3bb2de=a36_0x3bb2();let _0x5c833d=_0x3bb2de[_0x7f5857];return _0x5c833d;}function parseSemver(_0x1a9c9a){const _0x434447=_0x1a9c9a['trim']()['match'](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x434447)return null;return{'major':Number(_0x434447[0x1]),'minor':Number(_0x434447[0x2]),'patch':Number(_0x434447[0x3]),'prerelease':_0x434447[0x4]};}function compareSemver(_0x285ddf,_0x48d4ab){const _0x1e97ce=a36_0x3b8716,_0x41ff65=parseSemver(_0x285ddf),_0xdc5fdb=parseSemver(_0x48d4ab);if(!_0x41ff65||!_0xdc5fdb)throw CliErrors[_0x1e97ce(0x159)](_0x1e97ce(0x15d),_0x1e97ce(0x14f));for(const _0x4218e0 of['major',_0x1e97ce(0x166),'patch']){if(_0x41ff65[_0x4218e0]<_0xdc5fdb[_0x4218e0])return-0x1;if(_0x41ff65[_0x4218e0]>_0xdc5fdb[_0x4218e0])return 0x1;}if(!_0x41ff65[_0x1e97ce(0x14a)]&&!_0xdc5fdb[_0x1e97ce(0x14a)])return 0x0;if(!_0x41ff65['prerelease'])return 0x1;if(!_0xdc5fdb[_0x1e97ce(0x14a)])return-0x1;if(_0x41ff65[_0x1e97ce(0x14a)]===_0xdc5fdb[_0x1e97ce(0x14a)])return 0x0;return _0x41ff65[_0x1e97ce(0x14a)]<_0xdc5fdb[_0x1e97ce(0x14a)]?-0x1:0x1;}function getRequestedVersion(_0x594c2d){const _0x4c58ca=a36_0x3b8716,_0x2ee021=_0x594c2d[_0x4c58ca(0x13a)](_0x4c58ca(0x183))[_0x4c58ca(0x15b)]();if(_0x2ee021)return _0x2ee021;return String(_0x594c2d['args']?.[0x0]??'')['trim']();}function shouldSkipOfficialSkill(_0xc8ef63){const _0x1c2c29=a36_0x3b8716;return _0xc8ef63[_0x1c2c29(0x173)](_0x1c2c29(0x139))||_0xc8ef63[_0x1c2c29(0x16d)](_0x1c2c29(0x163))===![];}async function validateUpdateFlags(_0x3364a9){const _0x197ee6=a36_0x3b8716,_0x192f88=getRequestedVersion(_0x3364a9),_0x20d63e=[_0x3364a9[_0x197ee6(0x173)](_0x197ee6(0x180))?_0x197ee6(0x180):'',_0x3364a9[_0x197ee6(0x173)](_0x197ee6(0x167))?_0x197ee6(0x167):'',_0x192f88?_0x197ee6(0x183):'']['filter'](Boolean);if(_0x20d63e[_0x197ee6(0x145)]>0x1)throw CliErrors[_0x197ee6(0x159)](_0x197ee6(0x13e),_0x197ee6(0x16b));if(_0x192f88&&!parseSemver(_0x192f88))throw CliErrors['validation']('Invalid\x20version:\x20'+_0x192f88,_0x197ee6(0x157));}async function fetchNpmDistTags(){const _0x347ffe=a36_0x3b8716;try{const _0x9a3420=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x347ffe(0x170),_0x535c09=await fetch(_0x9a3420,{'signal':AbortSignal[_0x347ffe(0x14b)](0x2710)});if(!_0x535c09['ok'])return null;const _0x1de0bc=await _0x535c09[_0x347ffe(0x136)]();if(!_0x1de0bc||typeof _0x1de0bc!==_0x347ffe(0x149))return null;return Object[_0x347ffe(0x13f)](Object[_0x347ffe(0x16a)](_0x1de0bc)['filter'](([,_0x18c76f])=>typeof _0x18c76f===_0x347ffe(0x17c)&&_0x18c76f[_0x347ffe(0x15b)]())[_0x347ffe(0x146)](([_0x412144,_0x21d0c5])=>[_0x412144,String(_0x21d0c5)[_0x347ffe(0x15b)]()]));}catch{return null;}}async function resolveTargetVersion(_0x1a2a33){const _0x34e819=a36_0x3b8716,_0x50acbe=getRequestedVersion(_0x1a2a33);if(_0x50acbe)return{'version':_0x50acbe,'source':'version'};const _0x2fa164=_0x1a2a33['bool']('beta')?'beta':_0x34e819(0x180),_0x5d44bd=await fetchNpmDistTags(),_0x10d11d=_0x5d44bd?.[_0x2fa164];if(!_0x10d11d)return null;return{'version':_0x10d11d,'source':_0x2fa164};}function shouldInstallTarget(_0x8ecaa0,_0x414821){const _0x1282f1=a36_0x3b8716,_0x4937dd=compareSemver(_0x8ecaa0,_0x414821['version']);if(_0x414821[_0x1282f1(0x13d)]==='version')return _0x4937dd!==0x0;return _0x4937dd<0x0;}function installCliPackage(_0x4cf92f,_0x1896b0){const _0x746967=a36_0x3b8716,_0x1ea305=resolveNpmBin('npm'),_0x3b82a7=['install','-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x4cf92f];console[_0x746967(0x17d)]('*\x20'+[_0x1ea305,..._0x3b82a7][_0x746967(0x15a)]('\x20'));const _0x483b6a=spawnSync(_0x1ea305,_0x3b82a7,{'cwd':process['cwd'](),'stdio':_0x1896b0?_0x746967(0x161):_0x746967(0x174),'env':process.env,'shell':![]});if(_0x483b6a[_0x746967(0x144)]===0x0)return{'ok':!![]};let _0x489662=_0x483b6a['error']?.[_0x746967(0x143)]||_0x746967(0x14c)+(_0x483b6a['status']??_0x746967(0x14e));if(_0x1896b0){const _0x3d4e03=_0x483b6a[_0x746967(0x181)]?_0x483b6a[_0x746967(0x181)][_0x746967(0x16f)]()[_0x746967(0x15b)]():'',_0x2d01a6=_0x483b6a[_0x746967(0x16c)]?_0x483b6a[_0x746967(0x16c)][_0x746967(0x16f)]()['trim']():'';if(_0x3d4e03)_0x489662=_0x3d4e03;else{if(_0x2d01a6)_0x489662=_0x2d01a6;}}return{'ok':![],'error':_0x489662};}async function installOfficialSkill(_0x4abc07){const _0x4d3946=a36_0x3b8716;console[_0x4d3946(0x17d)]('Checking\x20official\x20skill\x20package...');const _0xdcf1cc=runNpxSkillsAddGlobal(process[_0x4d3946(0x17f)](),LOVRABET_SKILL_SOURCE,{'stdio':_0x4abc07?_0x4d3946(0x161):'inherit'});if(_0xdcf1cc[_0x4d3946(0x178)]){console[_0x4d3946(0x17d)]('\x20\x20Skipped\x20skill\x20install\x20('+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x4d3946(0x169));return;}if(_0xdcf1cc['ok']){console['log'](_0x4d3946(0x158));return;}console[_0x4d3946(0x13b)](_0x4d3946(0x17a)+(_0xdcf1cc[_0x4d3946(0x15f)]||_0x4d3946(0x14e))),console['log'](_0x4d3946(0x175)+LOVRABET_SKILL_SOURCE+_0x4d3946(0x179));}async function execute(_0x2897b7){const _0x1710ea=a36_0x3b8716;await validateUpdateFlags(_0x2897b7);const _0x3cc554=getCliVersion();console[_0x1710ea(0x17d)](_0x1710ea(0x141)+_0x3cc554),console[_0x1710ea(0x17d)](_0x1710ea(0x147));const _0x8c44e3=await resolveTargetVersion(_0x2897b7);if(!_0x8c44e3){const _0x4ea691=_0x2897b7[_0x1710ea(0x173)](_0x1710ea(0x167))?_0x1710ea(0x167):_0x1710ea(0x180),_0x3a154f=_0x1710ea(0x151)+_0x4ea691+_0x1710ea(0x160);return console['warn'](_0x3a154f),console['log'](_0x1710ea(0x156)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x4ea691),{'ok':![]};}if(!shouldInstallTarget(_0x3cc554,_0x8c44e3)){const _0x20a5c4=_0x8c44e3[_0x1710ea(0x13d)]==='version'?_0x1710ea(0x154)+_0x8c44e3['version']+').':'Already\x20up\x20to\x20date\x20(v'+_0x8c44e3[_0x1710ea(0x183)]+').';return console['log'](_0x20a5c4),shouldSkipOfficialSkill(_0x2897b7)?console[_0x1710ea(0x17d)](_0x1710ea(0x152)):await installOfficialSkill(_0x2897b7['nonInteractive']),{'ok':!![]};}console[_0x1710ea(0x17d)](_0x1710ea(0x142)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x3cc554+_0x1710ea(0x176)+_0x8c44e3['version']);const _0x2878be=installCliPackage(_0x8c44e3[_0x1710ea(0x183)],_0x2897b7[_0x1710ea(0x14d)]);if(!_0x2878be['ok']){const _0x246c4b='Update\x20failed:\x20'+(_0x2878be[_0x1710ea(0x15f)]||_0x1710ea(0x14e));return console[_0x1710ea(0x15f)](_0x246c4b),console[_0x1710ea(0x17d)]('\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20'+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x8c44e3[_0x1710ea(0x183)]),{'ok':![]};}return console[_0x1710ea(0x17d)](_0x1710ea(0x171)+_0x8c44e3[_0x1710ea(0x183)]+'.'),console[_0x1710ea(0x17d)](_0x1710ea(0x15e)),shouldSkipOfficialSkill(_0x2897b7)?console['log'](_0x1710ea(0x152)):await installOfficialSkill(_0x2897b7[_0x1710ea(0x14d)]),{'ok':!![]};}export const updateDefinition={'service':a36_0x3b8716(0x148),'command':a36_0x3b8716(0x140),'description':a36_0x3b8716(0x182)+CLI_BIN_NAME+'\x20CLI\x20from\x20npm','risk':a36_0x3b8716(0x164),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
package/lib/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x42f137=a37_0x1494;(function(_0x357173,_0xc841ad){const _0x1ea49c=a37_0x1494,_0x27dd5d=_0x357173();while(!![]){try{const _0x1ef23f=-parseInt(_0x1ea49c(0xcb))/0x1*(parseInt(_0x1ea49c(0xd0))/0x2)+-parseInt(_0x1ea49c(0xd9))/0x3*(-parseInt(_0x1ea49c(0xc5))/0x4)+-parseInt(_0x1ea49c(0xcd))/0x5+parseInt(_0x1ea49c(0xc2))/0x6+parseInt(_0x1ea49c(0xc9))/0x7*(parseInt(_0x1ea49c(0xce))/0x8)+parseInt(_0x1ea49c(0xd4))/0x9+-parseInt(_0x1ea49c(0xd3))/0xa*(-parseInt(_0x1ea49c(0xd2))/0xb);if(_0x1ef23f===_0xc841ad)break;else _0x27dd5d['push'](_0x27dd5d['shift']());}catch(_0x1f7301){_0x27dd5d['push'](_0x27dd5d['shift']());}}}(a37_0x31b0,0x577b1));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';function a37_0x1494(_0x33c871,_0x627bc2){_0x33c871=_0x33c871-0xbe;const _0x31b00f=a37_0x31b0();let _0x149409=_0x31b00f[_0x33c871];return _0x149409;}import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{OUTPUT_FORMAT_VALUES}from'../constant/output.js';export const CONFIG_FIELD_SCHEMAS={'env':{'description':a37_0x42f137(0xdd),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':RUNTIME_ENV_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a37_0x42f137(0xcc)],'importable':!![]},'format':{'description':a37_0x42f137(0xc7),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':OUTPUT_FORMAT_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES['format'],'importable':!![]},'pageSize':{'description':'Default\x20page\x20size','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'apiDomain':{'description':a37_0x42f137(0xdb),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'userDomain':{'description':a37_0x42f137(0xdc),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'runtimeDomain':{'description':a37_0x42f137(0xd8),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'accessKey':{'description':a37_0x42f137(0xd7),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'riskLevel':{'description':'Risk\x20level','topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a37_0x42f137(0xc3)],'importable':!![]},'locale':{'description':a37_0x42f137(0xbe),'topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a37_0x42f137(0xc0)],'importable':!![],'legacyCompatOnly':!![]}};export const TOP_LEVEL_CONFIG_KEYS=new Set(Object[a37_0x42f137(0xcf)](CONFIG_FIELD_SCHEMAS)[a37_0x42f137(0xc8)](([,_0x401e78])=>_0x401e78['cliSettableTopLevel'])['map'](([_0x4d1d4e])=>_0x4d1d4e));export const CONFIG_ENUM_VALUES=Object[a37_0x42f137(0xca)](Object[a37_0x42f137(0xcf)](CONFIG_FIELD_SCHEMAS)[a37_0x42f137(0xc8)](([,_0x8591b1])=>_0x8591b1[a37_0x42f137(0xbf)])['map'](([_0x4ddc29,_0x3919fb])=>[_0x4ddc29,[..._0x3919fb[a37_0x42f137(0xbf)]||[]]]));export const IMPORTABLE_RUNTIME_CONFIG_KEYS=Object[a37_0x42f137(0xcf)](CONFIG_FIELD_SCHEMAS)[a37_0x42f137(0xc8)](([,_0x51309e])=>_0x51309e[a37_0x42f137(0xde)])[a37_0x42f137(0xda)](([_0x3a01ff])=>_0x3a01ff);export function getConfigFieldSchema(_0x427ee9){return CONFIG_FIELD_SCHEMAS[_0x427ee9];}function a37_0x31b0(){const _0x215300=['Target\x20environment','importable','Locale','enumValues','locale','defaultValue','4038798xHWHUk','riskLevel','Config\x20key.\x20Top-level:\x20','8crvcjn',';\x20local\x20alias:\x20apps.<alias>.appcode','Default\x20output\x20format','filter','264593aXlSia','fromEntries','55182pXfpMV','env','2329050fEGcZC','8IHoBfL','entries','14htUoiY','has','11EjJdZL','1934830TTdCrd','373914ExgQMf','legacyCompatOnly','join','Access\x20key\x20(client-ak\x20auth)','Override\x20runtime\x20domain','396666DHVmiB','map','Override\x20API\x20domain','Override\x20user\x20domain'];a37_0x31b0=function(){return _0x215300;};return a37_0x31b0();}export function getConfigEnumValues(_0x4b3050){const _0xeba005=a37_0x42f137;return getConfigFieldSchema(_0x4b3050)?.[_0xeba005(0xbf)];}export function getConfigDefaultValue(_0x1eff39){const _0x4a54e8=a37_0x42f137;return getConfigFieldSchema(_0x1eff39)?.[_0x4a54e8(0xc1)];}export function isTopLevelConfigKey(_0x1a2de9){const _0x2a3788=a37_0x42f137;return TOP_LEVEL_CONFIG_KEYS[_0x2a3788(0xd1)](_0x1a2de9);}export function isLegacyCompatConfigKey(_0x3b063e){const _0x5a2311=a37_0x42f137;return getConfigFieldSchema(_0x3b063e)?.[_0x5a2311(0xd5)]===!![];}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function formatConfigKeyList(_0x248a0c){const _0x52e2ab=a37_0x42f137;return[..._0x248a0c][_0x52e2ab(0xd6)](',\x20');}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0xdf5bc0=a37_0x42f137;return _0xdf5bc0(0xc4)+getTopLevelConfigKeySummary()+_0xdf5bc0(0xc6);}export function buildAppProfileListFields(_0x511b8b){return{'env':_0x511b8b,'hasAccessKey':![],'format':null,'pageSize':null,'riskLevel':null,'locale':null};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a38_0x3d0d6d=a38_0x42fa;function a38_0x42fa(_0x5451be,_0x1ed235){_0x5451be=_0x5451be-0xb4;const _0x15b6a5=a38_0x15b6();let _0x42fa7c=_0x15b6a5[_0x5451be];return _0x42fa7c;}(function(_0x5329dd,_0x3a974a){const _0x4a6d66=a38_0x42fa,_0x16d5a8=_0x5329dd();while(!![]){try{const _0x320792=-parseInt(_0x4a6d66(0xb8))/0x1+parseInt(_0x4a6d66(0xb6))/0x2+-parseInt(_0x4a6d66(0xb5))/0x3+parseInt(_0x4a6d66(0xb9))/0x4+-parseInt(_0x4a6d66(0xba))/0x5+-parseInt(_0x4a6d66(0xbc))/0x6*(parseInt(_0x4a6d66(0xb4))/0x7)+parseInt(_0x4a6d66(0xbb))/0x8;if(_0x320792===_0x3a974a)break;else _0x16d5a8['push'](_0x16d5a8['shift']());}catch(_0x49445d){_0x16d5a8['push'](_0x16d5a8['shift']());}}}(a38_0x15b6,0x8c9ea));export const AUTH_MODE={'ClientAk':a38_0x3d0d6d(0xb7)};export function isAuthMode(_0x1699b6){return _0x1699b6===AUTH_MODE['ClientAk'];}function a38_0x15b6(){const _0x277326=['973045pcUyOx','7401256SiZcln','2520ljvaDL','3542RNzMZO','2555349kLXAyW','1799854MwWGJE','client-ak','501797zBLhVi','2046412BDnmyC'];a38_0x15b6=function(){return _0x277326;};return a38_0x15b6();}
|