@lovrabet/lovrabet-cli 2.1.0-beta.2 → 2.1.0-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/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/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/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync.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 a35_0x346f54=a35_0x5c54;(function(_0x28f004,_0x3a335a){const _0x156dab=a35_0x5c54,_0x3f170e=_0x28f004();while(!![]){try{const _0x340d89=-parseInt(_0x156dab(0x227))/0x1*(parseInt(_0x156dab(0x253))/0x2)+parseInt(_0x156dab(0x1e7))/0x3*(parseInt(_0x156dab(0x221))/0x4)+-parseInt(_0x156dab(0x1eb))/0x5+parseInt(_0x156dab(0x205))/0x6+-parseInt(_0x156dab(0x22b))/0x7*(parseInt(_0x156dab(0x207))/0x8)+parseInt(_0x156dab(0x25a))/0x9+parseInt(_0x156dab(0x210))/0xa;if(_0x340d89===_0x3a335a)break;else _0x3f170e['push'](_0x3f170e['shift']());}catch(_0x64fab8){_0x3f170e['push'](_0x3f170e['shift']());}}}(a35_0x4e64,0x956aa));import{CliErrors}from'../../errors.js';import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':a35_0x346f54(0x24f),'type':a35_0x346f54(0x226),'description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'},SCOPE_FLAG={'name':a35_0x346f54(0x254),'type':a35_0x346f54(0x226),'description':a35_0x346f54(0x244)},LIST_SCOPE_FLAG={'name':a35_0x346f54(0x254),'type':'string','description':a35_0x346f54(0x20c),'enum':[a35_0x346f54(0x24a),a35_0x346f54(0x22f),a35_0x346f54(0x219),a35_0x346f54(0x21b),a35_0x346f54(0x24e)]},LOCAL_FLAG={'name':a35_0x346f54(0x239),'type':a35_0x346f54(0x1fe),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'},DIR_FLAG={'name':'dir','type':a35_0x346f54(0x226),'required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'},CREATE_NAME_FLAG={'name':a35_0x346f54(0x235),'type':a35_0x346f54(0x226),'required':!![],'description':a35_0x346f54(0x250),'pattern':{'regex':SKILL_NAME_PATTERN,'description':'lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens'}},TYPE_FLAG={'name':a35_0x346f54(0x1f8),'type':a35_0x346f54(0x226),'description':a35_0x346f54(0x245),'default':a35_0x346f54(0x1ea),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a35_0x346f54(0x1f0),'type':a35_0x346f54(0x226),'description':a35_0x346f54(0x255),'default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':a35_0x346f54(0x20b),'type':'boolean','description':a35_0x346f54(0x22a)},STRICT_FLAG={'name':a35_0x346f54(0x1f1),'type':'boolean','description':a35_0x346f54(0x237)};function summarizeRuntimeSkill(_0x3e0ddd){const _0x5ac912=a35_0x346f54;return{'id':_0x3e0ddd['id'],'skillCode':_0x3e0ddd[_0x5ac912(0x218)],'skillName':_0x3e0ddd[_0x5ac912(0x21a)],'scope':_0x3e0ddd['scope'],'version':_0x3e0ddd[_0x5ac912(0x25c)],'readonly':_0x3e0ddd[_0x5ac912(0x23c)]};}function summarizeLocalRuntimeSkill(_0x1f8265){const _0x399553=a35_0x346f54;return{'id':_0x1f8265['id'],'skillCode':_0x1f8265[_0x399553(0x218)],'skillName':_0x1f8265[_0x399553(0x21a)],'scope':_0x1f8265['scope'],'appCode':_0x1f8265[_0x399553(0x206)],'version':_0x1f8265[_0x399553(0x25c)],'status':_0x1f8265[_0x399553(0x1f6)],'readonly':_0x1f8265['readonly'],'tags':_0x1f8265[_0x399553(0x257)],'dir':_0x1f8265['dir'],'cacheDir':_0x1f8265['cacheDir'],'skillMdPath':_0x1f8265['skillMdPath'],'metadataPath':_0x1f8265[_0x399553(0x1ff)],'linkedPaths':_0x1f8265[_0x399553(0x21c)],'contentHash':_0x1f8265[_0x399553(0x228)],'treeHash':_0x1f8265[_0x399553(0x25e)],'pulledAt':_0x1f8265[_0x399553(0x20f)]};}export const skillDefinitions=[{'service':a35_0x346f54(0x214),'command':a35_0x346f54(0x238),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a35_0x346f54(0x1ea),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x590435){return syncRuntimeSkills(_0x590435,{'installToAgent':!![]});}},{'service':a35_0x346f54(0x214),'command':a35_0x346f54(0x248),'description':a35_0x346f54(0x25b),'risk':a35_0x346f54(0x1ea),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x12d3d5){const _0x38b1b7=a35_0x346f54,_0x44b025=buildSkillCreatePlan(_0x12d3d5['str'](_0x38b1b7(0x235)),_0x12d3d5['str'](_0x38b1b7(0x1f8)),_0x12d3d5[_0x38b1b7(0x1ed)](_0x38b1b7(0x1f0)));return{'method':_0x38b1b7(0x1e8),'url':_0x44b025[_0x38b1b7(0x247)],'body':{'skillName':_0x44b025['rendered']['skillName'],'type':_0x44b025[_0x38b1b7(0x1fd)]['type'],'selfContained':!![],'files':_0x44b025[_0x38b1b7(0x1fd)][_0x38b1b7(0x212)][_0x38b1b7(0x1fc)](_0x1e28e2=>_0x1e28e2[_0x38b1b7(0x225)])},'description':_0x38b1b7(0x246)};},async 'execute'(_0x397087){const _0x3ebf89=a35_0x346f54,_0x4286fd=buildSkillCreatePlan(_0x397087[_0x3ebf89(0x1ed)](_0x3ebf89(0x235)),_0x397087[_0x3ebf89(0x1ed)]('type'),_0x397087[_0x3ebf89(0x1ed)](_0x3ebf89(0x1f0)));return writeSkillDraft(_0x4286fd,_0x397087[_0x3ebf89(0x23e)]('force')),{'ok':!![],'data':{'skillName':_0x4286fd['rendered']['skillName'],'type':_0x4286fd[_0x3ebf89(0x1fd)][_0x3ebf89(0x1f8)],'dir':_0x4286fd[_0x3ebf89(0x247)],'files':_0x4286fd['rendered'][_0x3ebf89(0x212)][_0x3ebf89(0x1fc)](_0x1c1200=>_0x1c1200['path'])},'message':_0x3ebf89(0x203)+_0x4286fd[_0x3ebf89(0x1fd)][_0x3ebf89(0x21a)]};}},{'service':a35_0x346f54(0x214),'command':a35_0x346f54(0x209),'description':a35_0x346f54(0x1ec),'risk':a35_0x346f54(0x213),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0xecef2f){const _0x57e5e5=a35_0x346f54,_0x3d6511=_0xecef2f['bool'](_0x57e5e5(0x1f1)),_0x34f3f1=validateSkillDirectory(_0xecef2f[_0x57e5e5(0x1ed)](_0x57e5e5(0x220)),{'strict':_0x3d6511});return throwIfSkillValidationFailed(_0x34f3f1,_0x3d6511),{'ok':!![],'data':{'dir':_0x34f3f1['dir'],'type':_0x34f3f1[_0x57e5e5(0x1f8)],'errors':_0x34f3f1[_0x57e5e5(0x204)],'warnings':_0x34f3f1[_0x57e5e5(0x24d)]},'message':_0x57e5e5(0x1ef)};}},{'service':a35_0x346f54(0x214),'command':a35_0x346f54(0x1f2),'description':a35_0x346f54(0x249),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x98fc63){const _0x115883=a35_0x346f54,_0x39dad5=_0x98fc63[_0x115883(0x1ed)](_0x115883(0x24f)),_0x203f74=normalizeListScope(_0x98fc63[_0x115883(0x1ed)]('scope'));if(_0x98fc63[_0x115883(0x23e)](_0x115883(0x239))){const _0x56dec0=_0x98fc63['accessKey'];if(!_0x56dec0)throw CliErrors['authRequired']();const _0x19b219=_0x203f74===_0x115883(0x21b)?[]:await((async()=>{const _0x203fff=_0x115883,{listLocalRuntimeSkills:_0x534d4e}=await import('../../skills/runtime-skill-sync.js');return _0x534d4e({'env':_0x98fc63[_0x203fff(0x217)]??_0x203fff(0x230),'accessKey':_0x56dec0,'appCode':_0x98fc63[_0x203fff(0x206)],'scopes':listScopeToRuntimeScopes(_0x203f74),'code':_0x39dad5['trim']()||undefined});})()),_0xd6ed45=groupLocalRuntimeSkills(_0x19b219);return{'ok':!![],'data':{'appCode':_0x98fc63['appCode'],'source':_0x115883(0x239),'scope':_0x203f74,'total':_0x19b219[_0x115883(0x200)],'personal':_0xd6ed45[_0x115883(0x22f)][_0x115883(0x200)],'company':_0xd6ed45[_0x115883(0x219)][_0x115883(0x200)],'public':0x0,'items':_0x19b219[_0x115883(0x1fc)](summarizeLocalRuntimeSkill),'skills':{'personal':_0xd6ed45[_0x115883(0x22f)]['map'](summarizeLocalRuntimeSkill),'company':_0xd6ed45[_0x115883(0x219)][_0x115883(0x1fc)](summarizeLocalRuntimeSkill),'public':[]}},'message':_0x115883(0x20e)+_0x19b219[_0x115883(0x200)]+_0x115883(0x234)};}const {listRuntimeSkills:_0xa1dd61}=await import(_0x115883(0x1f5)),_0x49e6f3=await _0xa1dd61({'appCode':_0x98fc63[_0x115883(0x206)],'scope':listScopeToRemoteScope(_0x203f74),'code':_0x39dad5[_0x115883(0x22d)]()||undefined}),_0x5a2eb8=shouldListScope(_0x203f74,_0x115883(0x22f))?_0x49e6f3[_0x115883(0x22f)]:[],_0x533eb0=shouldListScope(_0x203f74,_0x115883(0x219))?_0x49e6f3[_0x115883(0x219)]:[],_0xd835f9=shouldListScope(_0x203f74,_0x115883(0x21b))?_0x49e6f3[_0x115883(0x21b)]:[],_0x38b579=_0x203f74===_0x115883(0x24a)?_0x49e6f3['effective']:[..._0x5a2eb8,..._0x533eb0,..._0xd835f9];return{'ok':!![],'data':{'appCode':_0x98fc63['appCode'],'source':_0x115883(0x20d),'scope':_0x203f74,'total':_0x38b579[_0x115883(0x200)],'personal':_0x5a2eb8[_0x115883(0x200)],'company':_0x533eb0[_0x115883(0x200)],'public':_0xd835f9[_0x115883(0x200)],'items':_0x38b579[_0x115883(0x1fc)](summarizeRuntimeSkill),'skills':{'personal':_0x5a2eb8['map'](summarizeRuntimeSkill),'company':_0x533eb0[_0x115883(0x1fc)](summarizeRuntimeSkill),'public':_0xd835f9[_0x115883(0x1fc)](summarizeRuntimeSkill)}},'message':_0x115883(0x20e)+_0x38b579['length']+'\x20remote\x20Skill(s).'};}},{'service':a35_0x346f54(0x214),'command':'pull','description':a35_0x346f54(0x1f9),'risk':a35_0x346f54(0x1ea),'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x2963ee){return syncRuntimeSkills(_0x2963ee,{'installToAgent':![]});}},{'service':a35_0x346f54(0x214),'command':a35_0x346f54(0x23d),'description':a35_0x346f54(0x251),'risk':a35_0x346f54(0x1ea),'flags':[DIR_FLAG],async 'execute'(_0xea1553){const _0x2b7c2b=a35_0x346f54,{createPersonalRuntimeSkill:_0x198c46,downloadRuntimeSkillPackage:_0x51b8c4,listRuntimeSkills:_0x56e06d,updatePersonalRuntimeSkill:_0x29571e}=await import(_0x2b7c2b(0x1f5)),{verifyRuntimeSkillPackage:_0x166b04,readPushDirectory:_0x5e23d2,recordPushedRuntimeSkill:_0x5025c4}=await import(_0x2b7c2b(0x242));if(!_0xea1553[_0x2b7c2b(0x1e6)])throw CliErrors['authRequired']();const _0x2c4493=_0xea1553[_0x2b7c2b(0x1ed)](_0x2b7c2b(0x220)),_0x4fb6d1=validateSkillDirectory(_0x2c4493);throwIfSkillValidationFailed(_0x4fb6d1);const _0x3055dc=_0x5e23d2(_0x2c4493,_0xea1553[_0x2b7c2b(0x206)]),_0x253240=(await _0x56e06d({'appCode':_0xea1553[_0x2b7c2b(0x206)],'scope':'personal'}))[_0x2b7c2b(0x22f)][_0x2b7c2b(0x259)](_0x11ae0c=>_0x11ae0c[_0x2b7c2b(0x218)]===_0x3055dc[_0x2b7c2b(0x218)]),_0x2e52b3=_0x253240?await _0x29571e(_0x3055dc['skillCode'],_0xea1553[_0x2b7c2b(0x206)],_0x3055dc[_0x2b7c2b(0x1f3)]):await _0x198c46(_0xea1553[_0x2b7c2b(0x206)],_0x3055dc[_0x2b7c2b(0x1f3)]);assertMultiFilePushPersisted(_0x3055dc[_0x2b7c2b(0x1f3)][_0x2b7c2b(0x212)],_0x2e52b3);if(isPackageBackedMultiFile(_0x2e52b3[_0x2b7c2b(0x212)])){const _0x19d10f=await _0x51b8c4('personal',_0x3055dc[_0x2b7c2b(0x218)],_0xea1553[_0x2b7c2b(0x206)]);_0x166b04(_0x2e52b3['files'],_0x19d10f);}return _0x5025c4(_0x2c4493,_0x2e52b3,_0xea1553[_0x2b7c2b(0x206)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x2e52b3),'message':_0x253240?_0x2b7c2b(0x23f)+_0x3055dc[_0x2b7c2b(0x218)]:_0x2b7c2b(0x24b)+_0x3055dc[_0x2b7c2b(0x218)]};}}];async function syncRuntimeSkills(_0x47acd2,_0x517223){const _0x29566a=a35_0x346f54,{downloadRuntimeSkillPackage:_0x533515,listRuntimeSkills:_0x474390}=await import(_0x29566a(0x1f5)),{linkEffectiveRuntimeSkills:_0x5e9915,materializeRuntimeSkill:_0x287a95,pruneStaleRuntimeSkillCache:_0x705f92,pruneStaleRuntimeSkillLinks:_0x24aacc}=await import(_0x29566a(0x242)),_0x528ee2=_0x47acd2['str'](_0x29566a(0x24f));normalizePullScope(_0x47acd2[_0x29566a(0x1ed)](_0x29566a(0x254)));const _0x5917d4=_0x47acd2[_0x29566a(0x217)]??_0x29566a(0x230),_0x54e1cf=_0x47acd2[_0x29566a(0x1e6)];if(!_0x54e1cf){if(_0x517223['installToAgent'])throw CliErrors[_0x29566a(0x243)](_0x29566a(0x1f4));throw CliErrors[_0x29566a(0x243)]();}const _0x39c0ec=await _0x474390({'appCode':_0x47acd2[_0x29566a(0x206)],'scope':_0x29566a(0x24a),'code':_0x528ee2[_0x29566a(0x22d)]()||undefined}),_0x146add=_0x39c0ec[_0x29566a(0x22f)],_0x218f11=_0x39c0ec[_0x29566a(0x219)],_0x337b31=new Set([..._0x146add[_0x29566a(0x1fc)](_0x26fd40=>_0x26fd40[_0x29566a(0x218)]?.[_0x29566a(0x22d)]())['filter'](_0x4fc9b2=>Boolean(_0x4fc9b2)),..._0x218f11['map'](_0xbbec45=>_0xbbec45[_0x29566a(0x218)]?.[_0x29566a(0x22d)]())[_0x29566a(0x1fb)](_0x7467db=>Boolean(_0x7467db))]),_0x47dd26=_0x528ee2['trim']()?[_0x528ee2[_0x29566a(0x22d)]()]:undefined,_0xc9d812=_0x517223[_0x29566a(0x224)]?_0x24aacc(_0x47acd2[_0x29566a(0x206)],_0x337b31,{},_0x47dd26):[],_0x41fd4b=_0x705f92({'env':_0x5917d4,'accessKey':_0x54e1cf,'appCode':_0x47acd2[_0x29566a(0x206)],'activeSkillCodes':_0x337b31,'pruneSkillCodes':_0x47dd26}),_0x3d951b=[];for(const _0x3013c3 of _0x146add){_0x3d951b['push'](_0x287a95(_0x3013c3,'personal',{'env':_0x5917d4,'accessKey':_0x54e1cf,'appCode':_0x47acd2['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x3013c3,_0x29566a(0x22f),_0x47acd2[_0x29566a(0x206)],_0x533515)}));}for(const _0x319680 of _0x218f11){_0x3d951b[_0x29566a(0x23d)](_0x287a95(_0x319680,_0x29566a(0x219),{'env':_0x5917d4,'accessKey':_0x54e1cf,'appCode':_0x47acd2[_0x29566a(0x206)],'packageBytes':await downloadPackageIfNeeded(_0x319680,'company',_0x47acd2['appCode'],_0x533515)}));}const _0x397241=_0x517223[_0x29566a(0x224)]?_0x5e9915(_0x3d951b,_0x47acd2[_0x29566a(0x206)]):[],_0x32fa46=countLinkActions(_0x397241);return{'ok':!![],'data':{'appCode':_0x47acd2[_0x29566a(0x206)],'personal':_0x146add['length'],'company':_0x218f11[_0x29566a(0x200)],'materialized':_0x3d951b['length'],'links':{'total':_0x397241[_0x29566a(0x200)],'created':_0x32fa46[_0x29566a(0x1fa)]??0x0,'updated':_0x32fa46[_0x29566a(0x22e)]??0x0,'unchanged':_0x32fa46['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xc9d812[_0x29566a(0x1fb)](_0x951f=>_0x951f[_0x29566a(0x216)]===_0x29566a(0x22c))[_0x29566a(0x200)],'cacheDirs':_0x41fd4b['filter'](_0x9d3573=>_0x9d3573[_0x29566a(0x216)]===_0x29566a(0x22c))[_0x29566a(0x200)],'skipped':[..._0xc9d812,..._0x41fd4b][_0x29566a(0x1fb)](_0x2b8aaa=>_0x2b8aaa[_0x29566a(0x216)]===_0x29566a(0x208))[_0x29566a(0x200)]},'skills':{'personal':_0x146add[_0x29566a(0x1fc)](summarizeRuntimeSkill),'company':_0x218f11[_0x29566a(0x1fc)](summarizeRuntimeSkill)}},'message':_0x517223[_0x29566a(0x224)]?_0x29566a(0x21e)+_0x146add[_0x29566a(0x200)]+_0x29566a(0x233)+_0x218f11[_0x29566a(0x200)]+_0x29566a(0x23b):_0x29566a(0x211)+_0x146add[_0x29566a(0x200)]+'\x20personal\x20and\x20'+_0x218f11[_0x29566a(0x200)]+_0x29566a(0x23b)};}function buildSkillCreatePlan(_0x2ab9c4,_0x99eb89,_0x52d309){const _0x55fa16=renderSkillTemplate({'skillName':_0x2ab9c4,'type':_0x99eb89}),_0x1f6d61=resolve(normalizeSkillTarget(_0x52d309));return{'rendered':_0x55fa16,'targetRoot':_0x1f6d61,'skillDir':resolve(_0x1f6d61,_0x55fa16['skillName'])};}function normalizeSkillTarget(_0x4d196f){const _0x4ec763=a35_0x346f54;return(_0x4d196f||DEFAULT_SKILL_TARGET)[_0x4ec763(0x22d)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x9218bc,_0x5b9be9){const _0x551187=a35_0x346f54;if(existsSync(_0x9218bc[_0x551187(0x247)])){const _0x3a4836=lstatSync(_0x9218bc[_0x551187(0x247)]);if(!_0x3a4836['isDirectory']()||_0x3a4836[_0x551187(0x1e9)]())throw CliErrors[_0x551187(0x240)](_0x551187(0x1ee)+_0x9218bc[_0x551187(0x247)]);if(!_0x5b9be9)throw CliErrors[_0x551187(0x240)](_0x551187(0x258)+_0x9218bc['skillDir'],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x31af4c of _0x9218bc[_0x551187(0x1fd)][_0x551187(0x212)]){const _0x40ef8d=resolve(_0x9218bc[_0x551187(0x247)],_0x31af4c['path']),_0x518bf9=dirname(_0x40ef8d);mkdirSync(_0x518bf9,{'recursive':!![]});if(existsSync(_0x40ef8d)&&lstatSync(_0x40ef8d)[_0x551187(0x1e9)]())throw CliErrors[_0x551187(0x240)](_0x551187(0x229)+_0x40ef8d);writeFileSync(_0x40ef8d,_0x31af4c[_0x551187(0x201)],_0x551187(0x215));}}async function downloadPackageIfNeeded(_0xad2972,_0x400b65,_0x298638,_0x4ba971){const _0x5049e0=a35_0x346f54;if(!isPackageBackedManifest(_0xad2972[_0x5049e0(0x212)]))return undefined;return _0x4ba971(_0x400b65,_0xad2972[_0x5049e0(0x218)],_0x298638);}function normalizePullScope(_0x3e1ced){const _0x30ca0a=a35_0x346f54,_0x16e341=_0x3e1ced[_0x30ca0a(0x22d)]();if(!_0x16e341)return _0x30ca0a(0x24a);if(_0x16e341===_0x30ca0a(0x24a))return _0x16e341;throw CliErrors[_0x30ca0a(0x240)](_0x30ca0a(0x241)+_0x3e1ced);}function normalizeListScope(_0x326a1f){const _0x48f474=a35_0x346f54,_0x57c4b1=_0x326a1f[_0x48f474(0x22d)]();if(!_0x57c4b1)return _0x48f474(0x24a);if(_0x57c4b1===_0x48f474(0x24a)||_0x57c4b1===_0x48f474(0x22f)||_0x57c4b1===_0x48f474(0x219)||_0x57c4b1===_0x48f474(0x21b)||_0x57c4b1===_0x48f474(0x24e))return _0x57c4b1;throw CliErrors['validation']('Unsupported\x20Skill\x20list\x20scope:\x20'+_0x326a1f);}function shouldListScope(_0x563bf1,_0x5bf742){const _0x3bbc56=a35_0x346f54;if(_0x563bf1==='all')return!![];if(_0x563bf1===_0x3bbc56(0x24a))return _0x5bf742===_0x3bbc56(0x22f)||_0x5bf742===_0x3bbc56(0x219)||_0x5bf742===_0x3bbc56(0x21b);return _0x563bf1===_0x5bf742;}function listScopeToRuntimeScopes(_0x4b6ade){const _0x49477c=a35_0x346f54;if(_0x4b6ade===_0x49477c(0x24e))return['personal','company'];if(_0x4b6ade==='user')return[_0x49477c(0x22f),_0x49477c(0x219)];if(_0x4b6ade==='public')return[];return[_0x4b6ade===_0x49477c(0x219)?_0x49477c(0x219):_0x4b6ade];}function a35_0x5c54(_0x1ab503,_0x48b3a8){_0x1ab503=_0x1ab503-0x1e6;const _0x4e64c8=a35_0x4e64();let _0x5c5472=_0x4e64c8[_0x1ab503];return _0x5c5472;}function listScopeToRemoteScope(_0x36ff28){return _0x36ff28;}function groupLocalRuntimeSkills(_0x247cc6){const _0x5ad806=a35_0x346f54;return{'personal':_0x247cc6['filter'](_0x367b44=>_0x367b44['scope']===_0x5ad806(0x22f)),'company':_0x247cc6[_0x5ad806(0x1fb)](_0x5ac080=>_0x5ac080[_0x5ad806(0x254)]===_0x5ad806(0x219)),'builtin':_0x247cc6[_0x5ad806(0x1fb)](_0x3e7e5d=>_0x3e7e5d[_0x5ad806(0x254)]==='builtin')};}function countLinkActions(_0x140f57){const _0x40fc82=a35_0x346f54;return _0x140f57[_0x40fc82(0x223)]((_0x2601c3,_0x152de8)=>{const _0x1617db=_0x40fc82;return _0x2601c3[_0x152de8[_0x1617db(0x216)]]=(_0x2601c3[_0x152de8[_0x1617db(0x216)]]??0x0)+0x1,_0x2601c3;},{});}function assertMultiFilePushPersisted(_0x1ce8eb,_0x487ce2){const _0x96a889=a35_0x346f54;if(!isMultiFileManifest(_0x1ce8eb))return;if(!isPackageBackedMultiFile(_0x487ce2[_0x96a889(0x212)]))throw CliErrors[_0x96a889(0x240)](_0x96a889(0x25d),_0x96a889(0x21f));if(_0x1ce8eb[_0x96a889(0x236)]!==_0x487ce2[_0x96a889(0x212)][_0x96a889(0x236)]||_0x1ce8eb[_0x96a889(0x252)]!==_0x487ce2['files'][_0x96a889(0x252)]||_0x1ce8eb[_0x96a889(0x21d)]!==_0x487ce2[_0x96a889(0x212)][_0x96a889(0x21d)]||!_0x487ce2[_0x96a889(0x212)]['ossPath']||manifestFileSignature(_0x1ce8eb)!==manifestFileSignature(_0x487ce2[_0x96a889(0x212)]))throw CliErrors['validation'](_0x96a889(0x202),_0x96a889(0x222));}function isPackageBackedManifest(_0x1d255d){const _0x288e2a=a35_0x346f54;return!!_0x1d255d&&typeof _0x1d255d==='object'&&!Array[_0x288e2a(0x23a)](_0x1d255d)&&typeof _0x1d255d[_0x288e2a(0x256)]==='string'&&_0x1d255d['ossPath'][_0x288e2a(0x200)]>0x0&&Array[_0x288e2a(0x23a)](_0x1d255d[_0x288e2a(0x212)]);}function isPackageBackedMultiFile(_0x4eba99){return isPackageBackedManifest(_0x4eba99)&&isMultiFileManifest(_0x4eba99);}function isMultiFileManifest(_0x3b9017){const _0x11cd81=a35_0x346f54;return!!_0x3b9017&&typeof _0x3b9017===_0x11cd81(0x20a)&&!Array[_0x11cd81(0x23a)](_0x3b9017)&&Array[_0x11cd81(0x23a)](_0x3b9017[_0x11cd81(0x212)])&&_0x3b9017[_0x11cd81(0x212)][_0x11cd81(0x232)](_0x3bde13=>_0x3bde13[_0x11cd81(0x225)]!==_0x11cd81(0x24c));}function a35_0x4e64(){const _0x86d371=['../../core/api-client.js','status','size','type','Pull\x20runtime\x20Skills\x20into\x20the\x20local\x20development\x20cache','created','filter','map','rendered','boolean','metadataPath','length','content','Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.','Created\x20local\x20Skill\x20draft\x20','errors','1695372yHIbyN','appCode','3832216mqsDZm','skipped','validate','object','force','Skill\x20list\x20scope:\x20user,\x20personal,\x20company,\x20public,\x20or\x20all','remote','Listed\x20','pulledAt','6262700ksuFai','Pulled\x20','files','read','skill','utf8','action','envName','skillCode','company','skillName','public','linkedPaths','zipSize','Installed\x20','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.','dir','20cEUtxb','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.','reduce','installToAgent','path','string','76ZevuSF','contentHash','Refusing\x20to\x20overwrite\x20symlink:\x20','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','14jXuzzn','removed','trim','updated','personal','production','join','some','\x20personal\x20and\x20','\x20local\x20Skill(s).','name','treeSha256','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','install','local','isArray','\x20company\x20Skill(s).','readonly','push','bool','Updated\x20personal\x20Skill\x20','validation','Unsupported\x20Skill\x20pull\x20scope:\x20','../../skills/runtime-skill-sync.js','authRequired','Skill\x20pull\x20scope:\x20user\x20(personal/company)','Skill\x20template\x20type','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','create','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','user','Created\x20personal\x20Skill\x20','SKILL.md','warnings','all','code','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','zipSha256','1588gokKkL','scope','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','ossPath','tags','Skill\x20directory\x20already\x20exists:\x20','find','8167122EAumFC','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','version','Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.','treeHash','accessKey','403431eZagdc','WRITE','isSymbolicLink','write','4291335OGhXSJ','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','str','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','Skill\x20validation\x20passed.','target','strict','list','input','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.'];a35_0x4e64=function(){return _0x86d371;};return a35_0x4e64();}function manifestFileSignature(_0x3f81a3){const _0x4de745=a35_0x346f54;return[..._0x3f81a3[_0x4de745(0x212)]][_0x4de745(0x1fc)](_0x8cb66d=>_0x8cb66d[_0x4de745(0x225)]+'\x00'+_0x8cb66d['sha256']+'\x00'+_0x8cb66d[_0x4de745(0x1f7)])['sort']()[_0x4de745(0x231)]('\x00');}
|
|
1
|
+
const a35_0x1de9bf=a35_0x2f8f;(function(_0x9cdde8,_0x54e64f){const _0x4c8079=a35_0x2f8f,_0x3707a7=_0x9cdde8();while(!![]){try{const _0x1f5287=parseInt(_0x4c8079(0xe2))/0x1*(-parseInt(_0x4c8079(0xf7))/0x2)+parseInt(_0x4c8079(0xda))/0x3*(parseInt(_0x4c8079(0xea))/0x4)+parseInt(_0x4c8079(0xdb))/0x5*(parseInt(_0x4c8079(0xa8))/0x6)+-parseInt(_0x4c8079(0xb0))/0x7+parseInt(_0x4c8079(0xd0))/0x8+parseInt(_0x4c8079(0x114))/0x9*(-parseInt(_0x4c8079(0x103))/0xa)+parseInt(_0x4c8079(0x118))/0xb;if(_0x1f5287===_0x54e64f)break;else _0x3707a7['push'](_0x3707a7['shift']());}catch(_0x1b14ae){_0x3707a7['push'](_0x3707a7['shift']());}}}(a35_0x717f,0x6a4c2));import{CliErrors}from'../../errors.js';function a35_0x2f8f(_0x4139d3,_0x3abc7b){_0x4139d3=_0x4139d3-0x9d;const _0x717fe7=a35_0x717f();let _0x2f8f30=_0x717fe7[_0x4139d3];return _0x2f8f30;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';function a35_0x717f(){const _0x3ed452=['\x20personal\x20and\x20','length','map','Pull\x20runtime\x20Skills\x20into\x20the\x20local\x20development\x20cache','string','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','strict','errors','action','content','Listed\x20','Skill\x20validation\x20passed.','dir','Installed\x20','../../skills/runtime-skill-sync.js','5369728UwyGzz','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','sort','force','Upgrade\x20the\x20runtime\x20service\x20before\x20pushing\x20multi-file\x20Skill\x20directories.','pull','created','filter','zipSize','zipSha256','192nYhvTx','298060IqaKYc','list','Updated\x20personal\x20Skill\x20','Backend\x20did\x20not\x20persist\x20the\x20multi-file\x20Skill\x20manifest.','WRITE','validate','company','5835xZPhFA','unchanged','updated','Local\x20Skill\x20directory\x20containing\x20SKILL.md','name','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','52040YHkoEf','cacheDir','warnings','code','reduce','find','isDirectory','Skill\x20list\x20scope:\x20user,\x20personal,\x20company,\x20public,\x20or\x20all','Pulled\x20','files','rendered','\x20remote\x20Skill(s).','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','76lOqPaN','installToAgent','validation','readonly','object','isSymbolicLink','remote','treeSha256','public','bool','Created\x20local\x20Skill\x20draft\x20','user','30390lyRHFS','SKILL.md','skill','personal','production','boolean','path','../../core/api-client.js','some','sha256','input','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','skillDir','removed','create','authRequired','Check\x20the\x20runtime\x20service\x20Skill\x20file\x20manifest\x20storage\x20before\x20pulling\x20this\x20Skill.','1071mvdxxD','\x20local\x20Skill(s).','envName','linkedPaths','92444MrHGyC','utf8','Skill\x20pull\x20scope:\x20user\x20(personal/company)','effective','skillCode','treeHash','str','version','trim','target','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','skillName','18yyYuPV','push','ossPath','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','tags','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','Skill\x20directory\x20already\x20exists:\x20','all','4706317vhKtRk','join','type','scope','contentHash','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','write','isArray','local','install','read','\x20company\x20Skill(s).','appCode','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','accessKey','skipped','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'];a35_0x717f=function(){return _0x3ed452;};return a35_0x717f();}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':a35_0x1de9bf(0xed),'type':a35_0x1de9bf(0xc5),'description':a35_0x1de9bf(0xe9)},SCOPE_FLAG={'name':a35_0x1de9bf(0xb3),'type':a35_0x1de9bf(0xc5),'description':a35_0x1de9bf(0x9e)},LIST_SCOPE_FLAG={'name':a35_0x1de9bf(0xb3),'type':'string','description':a35_0x1de9bf(0xf1),'enum':[a35_0x1de9bf(0x102),a35_0x1de9bf(0x106),'company',a35_0x1de9bf(0xff),'all']},LOCAL_FLAG={'name':a35_0x1de9bf(0xb8),'type':a35_0x1de9bf(0x108),'description':a35_0x1de9bf(0xd1)},DIR_FLAG={'name':a35_0x1de9bf(0xcd),'type':a35_0x1de9bf(0xc5),'required':!![],'description':a35_0x1de9bf(0xe5)},CREATE_NAME_FLAG={'name':'name','type':a35_0x1de9bf(0xc5),'required':!![],'description':a35_0x1de9bf(0xe7),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a35_0x1de9bf(0xa6)}},TYPE_FLAG={'name':a35_0x1de9bf(0xb2),'type':a35_0x1de9bf(0xc5),'description':'Skill\x20template\x20type','default':'write','enum':[...SKILL_TYPES]},TARGET_FLAG={'name':a35_0x1de9bf(0xa5),'type':'string','description':a35_0x1de9bf(0x10e),'default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':'force','type':a35_0x1de9bf(0x108),'description':'Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists'},STRICT_FLAG={'name':a35_0x1de9bf(0xc7),'type':'boolean','description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};function summarizeRuntimeSkill(_0x44b3e7){const _0x4924b5=a35_0x1de9bf;return{'id':_0x44b3e7['id'],'skillCode':_0x44b3e7[_0x4924b5(0xa0)],'skillName':_0x44b3e7['skillName'],'scope':_0x44b3e7[_0x4924b5(0xb3)],'version':_0x44b3e7[_0x4924b5(0xa3)],'readonly':_0x44b3e7[_0x4924b5(0xfa)]};}function summarizeLocalRuntimeSkill(_0x5a0778){const _0x9a2311=a35_0x1de9bf;return{'id':_0x5a0778['id'],'skillCode':_0x5a0778[_0x9a2311(0xa0)],'skillName':_0x5a0778[_0x9a2311(0xa7)],'scope':_0x5a0778[_0x9a2311(0xb3)],'appCode':_0x5a0778[_0x9a2311(0xbc)],'version':_0x5a0778[_0x9a2311(0xa3)],'status':_0x5a0778['status'],'readonly':_0x5a0778[_0x9a2311(0xfa)],'tags':_0x5a0778[_0x9a2311(0xac)],'dir':_0x5a0778[_0x9a2311(0xcd)],'cacheDir':_0x5a0778[_0x9a2311(0xeb)],'skillMdPath':_0x5a0778['skillMdPath'],'metadataPath':_0x5a0778['metadataPath'],'linkedPaths':_0x5a0778[_0x9a2311(0x117)],'contentHash':_0x5a0778[_0x9a2311(0xb4)],'treeHash':_0x5a0778[_0x9a2311(0xa1)],'pulledAt':_0x5a0778['pulledAt']};}export const skillDefinitions=[{'service':a35_0x1de9bf(0x105),'command':a35_0x1de9bf(0xb9),'description':a35_0x1de9bf(0xab),'risk':a35_0x1de9bf(0xb6),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x36fbba){return syncRuntimeSkills(_0x36fbba,{'installToAgent':!![]});}},{'service':a35_0x1de9bf(0x105),'command':a35_0x1de9bf(0x111),'description':a35_0x1de9bf(0xbd),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0xff0b60){const _0x2995fd=a35_0x1de9bf,_0x547a95=buildSkillCreatePlan(_0xff0b60[_0x2995fd(0xa2)](_0x2995fd(0xe6)),_0xff0b60[_0x2995fd(0xa2)](_0x2995fd(0xb2)),_0xff0b60[_0x2995fd(0xa2)](_0x2995fd(0xa5)));return{'method':_0x2995fd(0xdf),'url':_0x547a95['skillDir'],'body':{'skillName':_0x547a95[_0x2995fd(0xf4)][_0x2995fd(0xa7)],'type':_0x547a95[_0x2995fd(0xf4)][_0x2995fd(0xb2)],'selfContained':!![],'files':_0x547a95['rendered'][_0x2995fd(0xf3)][_0x2995fd(0xc3)](_0x10d08d=>_0x10d08d['path'])},'description':_0x2995fd(0xad)};},async 'execute'(_0x5f4dce){const _0x3b376e=a35_0x1de9bf,_0x16fe30=buildSkillCreatePlan(_0x5f4dce['str'](_0x3b376e(0xe6)),_0x5f4dce[_0x3b376e(0xa2)](_0x3b376e(0xb2)),_0x5f4dce[_0x3b376e(0xa2)](_0x3b376e(0xa5)));return writeSkillDraft(_0x16fe30,_0x5f4dce['bool'](_0x3b376e(0xd3))),{'ok':!![],'data':{'skillName':_0x16fe30[_0x3b376e(0xf4)][_0x3b376e(0xa7)],'type':_0x16fe30['rendered'][_0x3b376e(0xb2)],'dir':_0x16fe30['skillDir'],'files':_0x16fe30[_0x3b376e(0xf4)][_0x3b376e(0xf3)][_0x3b376e(0xc3)](_0x11d777=>_0x11d777[_0x3b376e(0x109)])},'message':_0x3b376e(0x101)+_0x16fe30[_0x3b376e(0xf4)][_0x3b376e(0xa7)]};}},{'service':'skill','command':a35_0x1de9bf(0xe0),'description':a35_0x1de9bf(0xb5),'risk':a35_0x1de9bf(0xba),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x4ccc3a){const _0x1b4c3d=a35_0x1de9bf,_0x1b1df4=_0x4ccc3a[_0x1b4c3d(0x100)](_0x1b4c3d(0xc7)),_0x40e6ed=validateSkillDirectory(_0x4ccc3a[_0x1b4c3d(0xa2)](_0x1b4c3d(0xcd)),{'strict':_0x1b1df4});return throwIfSkillValidationFailed(_0x40e6ed,_0x1b1df4),{'ok':!![],'data':{'dir':_0x40e6ed['dir'],'type':_0x40e6ed[_0x1b4c3d(0xb2)],'errors':_0x40e6ed[_0x1b4c3d(0xc8)],'warnings':_0x40e6ed[_0x1b4c3d(0xec)]},'message':_0x1b4c3d(0xcc)};}},{'service':a35_0x1de9bf(0x105),'command':a35_0x1de9bf(0xdc),'description':a35_0x1de9bf(0xf6),'risk':a35_0x1de9bf(0xba),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x103f46){const _0x45c489=a35_0x1de9bf,_0x2c7109=_0x103f46[_0x45c489(0xa2)](_0x45c489(0xed)),_0x430c8c=normalizeListScope(_0x103f46['str']('scope'));if(_0x103f46[_0x45c489(0x100)](_0x45c489(0xb8))){const _0x3e70eb=_0x103f46[_0x45c489(0xbe)];if(!_0x3e70eb)throw CliErrors[_0x45c489(0x112)]();const _0x1b165b=_0x430c8c===_0x45c489(0xff)?[]:await((async()=>{const _0x32020f=_0x45c489,{listLocalRuntimeSkills:_0x3b236a}=await import('../../skills/runtime-skill-sync.js');return _0x3b236a({'env':_0x103f46[_0x32020f(0x116)]??'production','accessKey':_0x3e70eb,'appCode':_0x103f46['appCode'],'scopes':listScopeToRuntimeScopes(_0x430c8c),'code':_0x2c7109['trim']()||undefined});})()),_0x12d382=groupLocalRuntimeSkills(_0x1b165b);return{'ok':!![],'data':{'appCode':_0x103f46[_0x45c489(0xbc)],'source':_0x45c489(0xb8),'scope':_0x430c8c,'total':_0x1b165b[_0x45c489(0xc2)],'personal':_0x12d382['personal'][_0x45c489(0xc2)],'company':_0x12d382[_0x45c489(0xe1)][_0x45c489(0xc2)],'public':0x0,'items':_0x1b165b[_0x45c489(0xc3)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x12d382['personal']['map'](summarizeLocalRuntimeSkill),'company':_0x12d382[_0x45c489(0xe1)][_0x45c489(0xc3)](summarizeLocalRuntimeSkill),'public':[]}},'message':_0x45c489(0xcb)+_0x1b165b[_0x45c489(0xc2)]+_0x45c489(0x115)};}const {listRuntimeSkills:_0xaa92a9}=await import(_0x45c489(0x10a)),_0x21523b=await _0xaa92a9({'appCode':_0x103f46[_0x45c489(0xbc)],'scope':listScopeToRemoteScope(_0x430c8c),'code':_0x2c7109[_0x45c489(0xa4)]()||undefined}),_0x34a3ce=shouldListScope(_0x430c8c,_0x45c489(0x106))?_0x21523b[_0x45c489(0x106)]:[],_0x4aac07=shouldListScope(_0x430c8c,_0x45c489(0xe1))?_0x21523b[_0x45c489(0xe1)]:[],_0x2739f6=shouldListScope(_0x430c8c,_0x45c489(0xff))?_0x21523b['public']:[],_0xa325dd=_0x430c8c===_0x45c489(0x102)?_0x21523b[_0x45c489(0x9f)]:[..._0x34a3ce,..._0x4aac07,..._0x2739f6];return{'ok':!![],'data':{'appCode':_0x103f46[_0x45c489(0xbc)],'source':_0x45c489(0xfd),'scope':_0x430c8c,'total':_0xa325dd[_0x45c489(0xc2)],'personal':_0x34a3ce[_0x45c489(0xc2)],'company':_0x4aac07[_0x45c489(0xc2)],'public':_0x2739f6[_0x45c489(0xc2)],'items':_0xa325dd['map'](summarizeRuntimeSkill),'skills':{'personal':_0x34a3ce['map'](summarizeRuntimeSkill),'company':_0x4aac07[_0x45c489(0xc3)](summarizeRuntimeSkill),'public':_0x2739f6[_0x45c489(0xc3)](summarizeRuntimeSkill)}},'message':_0x45c489(0xcb)+_0xa325dd[_0x45c489(0xc2)]+_0x45c489(0xf5)};}},{'service':a35_0x1de9bf(0x105),'command':a35_0x1de9bf(0xd5),'description':a35_0x1de9bf(0xc4),'risk':a35_0x1de9bf(0xb6),'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x2496b0){return syncRuntimeSkills(_0x2496b0,{'installToAgent':![]});}},{'service':a35_0x1de9bf(0x105),'command':a35_0x1de9bf(0xa9),'description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','risk':'write','flags':[DIR_FLAG],async 'execute'(_0x2093eb){const _0x504f1b=a35_0x1de9bf,{createPersonalRuntimeSkill:_0xa46dd4,downloadRuntimeSkillPackage:_0x457b51,listRuntimeSkills:_0xc59d74,updatePersonalRuntimeSkill:_0x13913d}=await import(_0x504f1b(0x10a)),{verifyRuntimeSkillPackage:_0x3c89d7,readPushDirectory:_0x53989b,recordPushedRuntimeSkill:_0x66eccd}=await import(_0x504f1b(0xcf));if(!_0x2093eb['accessKey'])throw CliErrors[_0x504f1b(0x112)]();const _0x215e4d=_0x2093eb[_0x504f1b(0xa2)](_0x504f1b(0xcd)),_0x59af75=validateSkillDirectory(_0x215e4d);throwIfSkillValidationFailed(_0x59af75);const _0x3c2932=_0x53989b(_0x215e4d,_0x2093eb['appCode']),_0x4a5095=(await _0xc59d74({'appCode':_0x2093eb[_0x504f1b(0xbc)],'scope':'personal'}))[_0x504f1b(0x106)][_0x504f1b(0xef)](_0x27fc11=>_0x27fc11[_0x504f1b(0xa0)]===_0x3c2932[_0x504f1b(0xa0)]),_0x1362bb=_0x4a5095?await _0x13913d(_0x3c2932['skillCode'],_0x2093eb[_0x504f1b(0xbc)],_0x3c2932[_0x504f1b(0x10d)]):await _0xa46dd4(_0x2093eb[_0x504f1b(0xbc)],_0x3c2932[_0x504f1b(0x10d)]);assertMultiFilePushPersisted(_0x3c2932[_0x504f1b(0x10d)]['files'],_0x1362bb);if(isPackageBackedMultiFile(_0x1362bb['files'])){const _0x304f99=await _0x457b51(_0x504f1b(0x106),_0x3c2932[_0x504f1b(0xa0)],_0x2093eb[_0x504f1b(0xbc)]);_0x3c89d7(_0x1362bb['files'],_0x304f99);}return _0x66eccd(_0x215e4d,_0x1362bb,_0x2093eb[_0x504f1b(0xbc)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x1362bb),'message':_0x4a5095?_0x504f1b(0xdd)+_0x3c2932['skillCode']:'Created\x20personal\x20Skill\x20'+_0x3c2932['skillCode']};}}];async function syncRuntimeSkills(_0x28a4b0,_0x529265){const _0x246668=a35_0x1de9bf,{downloadRuntimeSkillPackage:_0x223340,listRuntimeSkills:_0x1d009b}=await import(_0x246668(0x10a)),{linkEffectiveRuntimeSkills:_0x2543c5,materializeRuntimeSkill:_0x80a792,pruneStaleRuntimeSkillCache:_0x2283fa,pruneStaleRuntimeSkillLinks:_0x255912}=await import(_0x246668(0xcf)),_0x2f4939=_0x28a4b0[_0x246668(0xa2)](_0x246668(0xed));normalizePullScope(_0x28a4b0['str'](_0x246668(0xb3)));const _0x125db4=_0x28a4b0[_0x246668(0x116)]??_0x246668(0x107),_0x43998c=_0x28a4b0[_0x246668(0xbe)];if(!_0x43998c){if(_0x529265[_0x246668(0xf8)])throw CliErrors['authRequired'](_0x246668(0xe8));throw CliErrors[_0x246668(0x112)]();}const _0x3d3f21=await _0x1d009b({'appCode':_0x28a4b0[_0x246668(0xbc)],'scope':_0x246668(0x102),'code':_0x2f4939[_0x246668(0xa4)]()||undefined}),_0x4eda00=_0x3d3f21['personal'],_0x50e286=_0x3d3f21['company'],_0x10f157=new Set([..._0x4eda00[_0x246668(0xc3)](_0xa43d4b=>_0xa43d4b[_0x246668(0xa0)]?.[_0x246668(0xa4)]())[_0x246668(0xd7)](_0x5c30f7=>Boolean(_0x5c30f7)),..._0x50e286[_0x246668(0xc3)](_0x144ee3=>_0x144ee3[_0x246668(0xa0)]?.['trim']())[_0x246668(0xd7)](_0x34736c=>Boolean(_0x34736c))]),_0x539813=_0x2f4939[_0x246668(0xa4)]()?[_0x2f4939[_0x246668(0xa4)]()]:undefined,_0xb5ce67=_0x529265[_0x246668(0xf8)]?_0x255912(_0x28a4b0['appCode'],_0x10f157,{},_0x539813):[],_0x324e7f=_0x2283fa({'env':_0x125db4,'accessKey':_0x43998c,'appCode':_0x28a4b0['appCode'],'activeSkillCodes':_0x10f157,'pruneSkillCodes':_0x539813}),_0xb7635b=[];for(const _0x4a1cc7 of _0x4eda00){_0xb7635b['push'](_0x80a792(_0x4a1cc7,_0x246668(0x106),{'env':_0x125db4,'accessKey':_0x43998c,'appCode':_0x28a4b0[_0x246668(0xbc)],'packageBytes':await downloadPackageIfNeeded(_0x4a1cc7,_0x246668(0x106),_0x28a4b0[_0x246668(0xbc)],_0x223340)}));}for(const _0x75f2f5 of _0x50e286){_0xb7635b[_0x246668(0xa9)](_0x80a792(_0x75f2f5,_0x246668(0xe1),{'env':_0x125db4,'accessKey':_0x43998c,'appCode':_0x28a4b0[_0x246668(0xbc)],'packageBytes':await downloadPackageIfNeeded(_0x75f2f5,_0x246668(0xe1),_0x28a4b0[_0x246668(0xbc)],_0x223340)}));}const _0x206405=_0x529265[_0x246668(0xf8)]?_0x2543c5(_0xb7635b,_0x28a4b0[_0x246668(0xbc)]):[],_0x4c10cc=countLinkActions(_0x206405);return{'ok':!![],'data':{'appCode':_0x28a4b0[_0x246668(0xbc)],'personal':_0x4eda00['length'],'company':_0x50e286[_0x246668(0xc2)],'materialized':_0xb7635b[_0x246668(0xc2)],'links':{'total':_0x206405[_0x246668(0xc2)],'created':_0x4c10cc[_0x246668(0xd6)]??0x0,'updated':_0x4c10cc[_0x246668(0xe4)]??0x0,'unchanged':_0x4c10cc[_0x246668(0xe3)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xb5ce67['filter'](_0x1869c3=>_0x1869c3['action']===_0x246668(0x110))[_0x246668(0xc2)],'cacheDirs':_0x324e7f[_0x246668(0xd7)](_0x1d6e3e=>_0x1d6e3e['action']===_0x246668(0x110))[_0x246668(0xc2)],'skipped':[..._0xb5ce67,..._0x324e7f][_0x246668(0xd7)](_0x3e9312=>_0x3e9312['action']===_0x246668(0xbf))['length']},'skills':{'personal':_0x4eda00[_0x246668(0xc3)](summarizeRuntimeSkill),'company':_0x50e286[_0x246668(0xc3)](summarizeRuntimeSkill)}},'message':_0x529265[_0x246668(0xf8)]?_0x246668(0xce)+_0x4eda00['length']+_0x246668(0xc1)+_0x50e286[_0x246668(0xc2)]+_0x246668(0xbb):_0x246668(0xf2)+_0x4eda00['length']+_0x246668(0xc1)+_0x50e286[_0x246668(0xc2)]+'\x20company\x20Skill(s).'};}function buildSkillCreatePlan(_0x279882,_0x42e279,_0x3c1758){const _0x1e6562=a35_0x1de9bf,_0xcbd423=renderSkillTemplate({'skillName':_0x279882,'type':_0x42e279}),_0x5c3073=resolve(normalizeSkillTarget(_0x3c1758));return{'rendered':_0xcbd423,'targetRoot':_0x5c3073,'skillDir':resolve(_0x5c3073,_0xcbd423[_0x1e6562(0xa7)])};}function normalizeSkillTarget(_0x2d6762){const _0x3cf89b=a35_0x1de9bf;return(_0x2d6762||DEFAULT_SKILL_TARGET)[_0x3cf89b(0xa4)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0xa4cf88,_0x4623f8){const _0x3f3557=a35_0x1de9bf;if(existsSync(_0xa4cf88[_0x3f3557(0x10f)])){const _0x53fd0d=lstatSync(_0xa4cf88[_0x3f3557(0x10f)]);if(!_0x53fd0d[_0x3f3557(0xf0)]()||_0x53fd0d[_0x3f3557(0xfc)]())throw CliErrors[_0x3f3557(0xf9)](_0x3f3557(0xc0)+_0xa4cf88[_0x3f3557(0x10f)]);if(!_0x4623f8)throw CliErrors['validation'](_0x3f3557(0xae)+_0xa4cf88[_0x3f3557(0x10f)],_0x3f3557(0xc6));}for(const _0x2d494d of _0xa4cf88['rendered'][_0x3f3557(0xf3)]){const _0x300c02=resolve(_0xa4cf88['skillDir'],_0x2d494d[_0x3f3557(0x109)]),_0x2b188d=dirname(_0x300c02);mkdirSync(_0x2b188d,{'recursive':!![]});if(existsSync(_0x300c02)&&lstatSync(_0x300c02)[_0x3f3557(0xfc)]())throw CliErrors[_0x3f3557(0xf9)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x300c02);writeFileSync(_0x300c02,_0x2d494d[_0x3f3557(0xca)],_0x3f3557(0x9d));}}async function downloadPackageIfNeeded(_0x14882c,_0x3e8787,_0x568cc0,_0x172a9e){const _0x3f3b40=a35_0x1de9bf;if(!isPackageBackedManifest(_0x14882c[_0x3f3b40(0xf3)]))return undefined;return _0x172a9e(_0x3e8787,_0x14882c['skillCode'],_0x568cc0);}function normalizePullScope(_0x1485ef){const _0x1b5202=a35_0x1de9bf,_0x5b57d1=_0x1485ef['trim']();if(!_0x5b57d1)return _0x1b5202(0x102);if(_0x5b57d1===_0x1b5202(0x102))return _0x5b57d1;throw CliErrors[_0x1b5202(0xf9)]('Unsupported\x20Skill\x20pull\x20scope:\x20'+_0x1485ef);}function normalizeListScope(_0x2e6d73){const _0x3bb04c=a35_0x1de9bf,_0x1b9de8=_0x2e6d73[_0x3bb04c(0xa4)]();if(!_0x1b9de8)return _0x3bb04c(0x102);if(_0x1b9de8===_0x3bb04c(0x102)||_0x1b9de8===_0x3bb04c(0x106)||_0x1b9de8===_0x3bb04c(0xe1)||_0x1b9de8==='public'||_0x1b9de8==='all')return _0x1b9de8;throw CliErrors[_0x3bb04c(0xf9)]('Unsupported\x20Skill\x20list\x20scope:\x20'+_0x2e6d73);}function shouldListScope(_0x3a3bf0,_0x1aa16c){const _0x3a9368=a35_0x1de9bf;if(_0x3a3bf0===_0x3a9368(0xaf))return!![];if(_0x3a3bf0===_0x3a9368(0x102))return _0x1aa16c===_0x3a9368(0x106)||_0x1aa16c==='company'||_0x1aa16c===_0x3a9368(0xff);return _0x3a3bf0===_0x1aa16c;}function listScopeToRuntimeScopes(_0x3affd6){const _0x18b7d7=a35_0x1de9bf;if(_0x3affd6===_0x18b7d7(0xaf))return[_0x18b7d7(0x106),_0x18b7d7(0xe1)];if(_0x3affd6===_0x18b7d7(0x102))return[_0x18b7d7(0x106),'company'];if(_0x3affd6==='public')return[];return[_0x3affd6===_0x18b7d7(0xe1)?_0x18b7d7(0xe1):_0x3affd6];}function listScopeToRemoteScope(_0x21da92){return _0x21da92;}function groupLocalRuntimeSkills(_0x2a4db9){const _0x27a1a3=a35_0x1de9bf;return{'personal':_0x2a4db9[_0x27a1a3(0xd7)](_0x554d33=>_0x554d33[_0x27a1a3(0xb3)]===_0x27a1a3(0x106)),'company':_0x2a4db9[_0x27a1a3(0xd7)](_0x3ee9a8=>_0x3ee9a8['scope']===_0x27a1a3(0xe1)),'builtin':_0x2a4db9[_0x27a1a3(0xd7)](_0x41497a=>_0x41497a[_0x27a1a3(0xb3)]==='builtin')};}function countLinkActions(_0x1f8420){const _0x4c212c=a35_0x1de9bf;return _0x1f8420[_0x4c212c(0xee)]((_0x5f2b3e,_0x5cf1d3)=>{const _0x1d641c=_0x4c212c;return _0x5f2b3e[_0x5cf1d3[_0x1d641c(0xc9)]]=(_0x5f2b3e[_0x5cf1d3[_0x1d641c(0xc9)]]??0x0)+0x1,_0x5f2b3e;},{});}function assertMultiFilePushPersisted(_0x21b6e3,_0x335f61){const _0x1c31bc=a35_0x1de9bf;if(!isMultiFileManifest(_0x21b6e3))return;if(!isPackageBackedMultiFile(_0x335f61[_0x1c31bc(0xf3)]))throw CliErrors[_0x1c31bc(0xf9)](_0x1c31bc(0xde),_0x1c31bc(0xd4));if(_0x21b6e3['treeSha256']!==_0x335f61[_0x1c31bc(0xf3)][_0x1c31bc(0xfe)]||_0x21b6e3[_0x1c31bc(0xd9)]!==_0x335f61[_0x1c31bc(0xf3)][_0x1c31bc(0xd9)]||_0x21b6e3[_0x1c31bc(0xd8)]!==_0x335f61[_0x1c31bc(0xf3)][_0x1c31bc(0xd8)]||!_0x335f61[_0x1c31bc(0xf3)][_0x1c31bc(0xaa)]||manifestFileSignature(_0x21b6e3)!==manifestFileSignature(_0x335f61[_0x1c31bc(0xf3)]))throw CliErrors['validation']('Backend\x20returned\x20a\x20different\x20multi-file\x20Skill\x20manifest\x20after\x20push.',_0x1c31bc(0x113));}function isPackageBackedManifest(_0x4cbae9){const _0x1e04cd=a35_0x1de9bf;return!!_0x4cbae9&&typeof _0x4cbae9===_0x1e04cd(0xfb)&&!Array[_0x1e04cd(0xb7)](_0x4cbae9)&&typeof _0x4cbae9[_0x1e04cd(0xaa)]===_0x1e04cd(0xc5)&&_0x4cbae9[_0x1e04cd(0xaa)][_0x1e04cd(0xc2)]>0x0&&Array[_0x1e04cd(0xb7)](_0x4cbae9[_0x1e04cd(0xf3)]);}function isPackageBackedMultiFile(_0x8c4933){return isPackageBackedManifest(_0x8c4933)&&isMultiFileManifest(_0x8c4933);}function isMultiFileManifest(_0x473823){const _0x3b9114=a35_0x1de9bf;return!!_0x473823&&typeof _0x473823===_0x3b9114(0xfb)&&!Array['isArray'](_0x473823)&&Array['isArray'](_0x473823[_0x3b9114(0xf3)])&&_0x473823[_0x3b9114(0xf3)][_0x3b9114(0x10b)](_0x5009cd=>_0x5009cd['path']!==_0x3b9114(0x104));}function manifestFileSignature(_0x2b6714){const _0x3ceb86=a35_0x1de9bf;return[..._0x2b6714['files']][_0x3ceb86(0xc3)](_0x2e1843=>_0x2e1843[_0x3ceb86(0x109)]+'\x00'+_0x2e1843[_0x3ceb86(0x10c)]+'\x00'+_0x2e1843['size'])[_0x3ceb86(0xd2)]()[_0x3ceb86(0xb1)]('\x00');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a36_0x5bd6(_0x338438,_0x449324){_0x338438=_0x338438-0xd9;const _0x26880c=a36_0x2688();let _0x5bd63a=_0x26880c[_0x338438];return _0x5bd63a;}function a36_0x2688(){const _0x3c57a4=['\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','toISOString','type','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','\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','.agents/skills','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20BFF、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','references/output-contract.md','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','6320zLemfM','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','672777kVtlYN','read','429116nZJbvX','\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','trim','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','skillName','1139742osYUCk','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。','\x0a\x20\x20created:\x20\x22','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','\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','7290tQVRoV','Unsupported\x20Skill\x20type:\x20','---\x0aname:\x20','##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a','4ZVmzpW','trainer','includes','write','join','SKILL.md','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','validation','33065dLAdwb','\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','280767ktVPaK','timestamp','\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0ametadata:\x0a\x20\x20type:\x20','2511425sUoIQP','test','#\x20Output\x20Contract\x0a\x0a','Use\x20one\x20of:\x20'];a36_0x2688=function(){return _0x3c57a4;};return a36_0x2688();}const a36_0x168b1b=a36_0x5bd6;(function(_0x1bdcce,_0x217daf){const _0x2655a2=a36_0x5bd6,_0x2f4cbf=_0x1bdcce();while(!![]){try{const _0x244a4a=parseInt(_0x2655a2(0xf3))/0x1+parseInt(_0x2655a2(0xdb))/0x2+-parseInt(_0x2655a2(0xd9))/0x3*(parseInt(_0x2655a2(0xe9))/0x4)+parseInt(_0x2655a2(0xf1))/0x5+parseInt(_0x2655a2(0xe0))/0x6+parseInt(_0x2655a2(0xf6))/0x7+-parseInt(_0x2655a2(0x103))/0x8*(parseInt(_0x2655a2(0xe5))/0x9);if(_0x244a4a===_0x217daf)break;else _0x2f4cbf['push'](_0x2f4cbf['shift']());}catch(_0x94d8d6){_0x2f4cbf['push'](_0x2f4cbf['shift']());}}}(a36_0x2688,0x2d88f));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a36_0x168b1b(0xec),a36_0x168b1b(0xda),a36_0x168b1b(0xea)];export const DEFAULT_SKILL_TARGET=a36_0x168b1b(0xff);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=a36_0x168b1b(0x101);export function validateSkillName(_0xebd45a){const _0x336341=a36_0x168b1b,_0x69a17c=_0xebd45a[_0x336341(0xdd)]();if(!SKILL_NAME_PATTERN[_0x336341(0xf7)](_0x69a17c))throw CliErrors[_0x336341(0xf0)]('Invalid\x20Skill\x20name:\x20'+_0xebd45a+_0x336341(0x102),_0x336341(0xfd));return _0x69a17c;}export function normalizeSkillTemplateType(_0x5f1dd9){const _0x25d520=a36_0x168b1b,_0x3b1786=(_0x5f1dd9||_0x25d520(0xec))[_0x25d520(0xdd)]()||_0x25d520(0xec);if(SKILL_TYPES[_0x25d520(0xeb)](_0x3b1786))return _0x3b1786;throw CliErrors[_0x25d520(0xf0)](_0x25d520(0xe6)+_0x5f1dd9,_0x25d520(0xf9)+SKILL_TYPES[_0x25d520(0xed)](',\x20')+'.');}export function renderSkillTemplate(_0x201974){const _0x230882=a36_0x168b1b,_0x3d57bf=validateSkillName(_0x201974[_0x230882(0xdf)]),_0x3c8749=normalizeSkillTemplateType(_0x201974[_0x230882(0xfc)]),_0x242780=_0x201974[_0x230882(0xf4)]??new Date()[_0x230882(0xfb)]();return{'skillName':_0x3d57bf,'type':_0x3c8749,'files':[{'path':_0x230882(0xee),'content':renderSkillMd(_0x3d57bf,_0x3c8749,_0x242780)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x3d57bf,_0x3c8749)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x3d57bf,_0x3c8749)}]};}function renderSkillMd(_0x5a154a,_0xc65d16,_0x157512){const _0x46c48c=a36_0x168b1b,_0x333162=typeWorkflow(_0xc65d16);return _0x46c48c(0xe7)+_0x5a154a+_0x46c48c(0xf5)+_0xc65d16+_0x46c48c(0xe2)+_0x157512+_0x46c48c(0x104)+_0x5a154a+_0x46c48c(0xfa)+_0x333162+'\x0a\x0a'+businessStateSection(_0xc65d16)+_0x46c48c(0xe4);}function renderRuntimeContract(_0x2d1fb0,_0x47152f){const _0x38b5d2=a36_0x168b1b,_0x37aa75=_0x47152f===_0x38b5d2(0xec)?_0x38b5d2(0xe8):'';return'#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。'+_0x2d1fb0+'\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='+_0x47152f+_0x38b5d2(0xf2)+_0x37aa75+_0x38b5d2(0xdc);}function renderOutputContract(_0x420c9f,_0x201863){const _0x4aefd3=a36_0x168b1b,_0x34ee06=_0x201863===_0x4aefd3(0xec)?_0x4aefd3(0xe1):_0x201863+_0x4aefd3(0xe3);return _0x4aefd3(0xf8)+_0x420c9f+_0x4aefd3(0xfe)+_0x34ee06+'\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a';}function typeWorkflow(_0x25a951){const _0x29abfc=a36_0x168b1b;if(_0x25a951===_0x29abfc(0xda))return _0x29abfc(0xef);if(_0x25a951===_0x29abfc(0xea))return _0x29abfc(0xde);return'1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】';}function businessStateSection(_0x4757b3){const _0x162de7=a36_0x168b1b;if(_0x4757b3!==_0x162de7(0xec))return'';return _0x162de7(0x100);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x390c5e=a37_0x26d0;(function(_0x241f0b,_0xd83b15){const _0x908453=a37_0x26d0,_0x277d86=_0x241f0b();while(!![]){try{const _0x1b124c=parseInt(_0x908453(0x135))/0x1+-parseInt(_0x908453(0x127))/0x2*(parseInt(_0x908453(0x125))/0x3)+-parseInt(_0x908453(0x12d))/0x4*(-parseInt(_0x908453(0x115))/0x5)+-parseInt(_0x908453(0x129))/0x6+parseInt(_0x908453(0x12a))/0x7*(-parseInt(_0x908453(0xf8))/0x8)+parseInt(_0x908453(0xfb))/0x9+parseInt(_0x908453(0xf7))/0xa;if(_0x1b124c===_0xd83b15)break;else _0x277d86['push'](_0x277d86['shift']());}catch(_0x13a66b){_0x277d86['push'](_0x277d86['shift']());}}}(a37_0x1a0b,0xae773));import{existsSync,lstatSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{CliErrors}from'../../errors.js';const SKILL_FILE=a37_0x390c5e(0x120),SUPPORTED_SKILL_TYPES=new Set([a37_0x390c5e(0x11a),a37_0x390c5e(0xfc),a37_0x390c5e(0x113)]);export function validateSkillDirectory(_0x49d3e2,_0x4b6198={}){const _0x12d1cb=a37_0x390c5e,_0x22ff50=resolve(_0x49d3e2),_0x16d75f=[];if(!existsSync(_0x22ff50)||!lstatSync(_0x22ff50)['isDirectory']())throw CliErrors[_0x12d1cb(0xfe)](_0x12d1cb(0x11c)+_0x49d3e2);const _0x3996e4=loadRequiredSkillFile(_0x22ff50,_0x16d75f),_0x2bffb0=_0x3996e4?parseFrontmatter(_0x3996e4[_0x12d1cb(0x100)]):{'hasFrontmatter':![]};_0x3996e4&&validateFrontmatter(_0x3996e4[_0x12d1cb(0x12e)],_0x2bffb0,_0x16d75f);const _0x40a6f7=_0x16d75f[_0x12d1cb(0x111)](_0x570a64=>_0x570a64[_0x12d1cb(0x109)]===_0x12d1cb(0x12f));return{'ok':_0x40a6f7[_0x12d1cb(0x104)]===0x0,'dir':_0x22ff50,'type':_0x2bffb0[_0x12d1cb(0x133)],'errors':_0x40a6f7,'warnings':[]};}export function throwIfSkillValidationFailed(_0x39c381,_0x593df0=![]){const _0x544f0a=a37_0x390c5e;if(_0x39c381['ok'])return;const _0x123376=_0x39c381[_0x544f0a(0x103)][_0x544f0a(0x106)](_0x52a53e=>{const _0xe1598b=_0x544f0a,_0x2faf5a=_0x52a53e[_0xe1598b(0x10e)]?'#'+_0x52a53e[_0xe1598b(0x10e)]:'';return _0x52a53e[_0xe1598b(0x109)][_0xe1598b(0x116)]()+'\x20'+_0x52a53e[_0xe1598b(0x110)]+'\x20'+_0x52a53e[_0xe1598b(0x118)]+_0x2faf5a+':\x20'+_0x52a53e[_0xe1598b(0x101)]+_0xe1598b(0x122)+_0x52a53e[_0xe1598b(0x131)];});throw CliErrors['validation'](_0x544f0a(0x11e)+_0x123376[_0x544f0a(0x114)]('\x0a'),'Fix\x20the\x20required\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.');}function loadRequiredSkillFile(_0x5f153a,_0x5d44c3){const _0x3c1b66=a37_0x390c5e,_0x481007=resolve(_0x5f153a,SKILL_FILE);if(!existsSync(_0x481007))return _0x5d44c3[_0x3c1b66(0xfa)](issue(_0x3c1b66(0x12f),_0x3c1b66(0x112),SKILL_FILE,_0x3c1b66(0xfd),_0x3c1b66(0x10a))),undefined;const _0x156277=lstatSync(_0x481007);if(_0x156277[_0x3c1b66(0x105)]())return _0x5d44c3[_0x3c1b66(0xfa)](issue('error',_0x3c1b66(0x112),SKILL_FILE,'SKILL.md\x20must\x20be\x20a\x20regular\x20file.',_0x3c1b66(0x130))),undefined;if(!_0x156277['isFile']())return _0x5d44c3[_0x3c1b66(0xfa)](issue(_0x3c1b66(0x12f),_0x3c1b66(0x112),SKILL_FILE,_0x3c1b66(0x10b),_0x3c1b66(0x11f))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x481007,_0x3c1b66(0x132))};}function validateFrontmatter(_0x4b9ecc,_0x362e37,_0x3326dc){const _0x4f4752=a37_0x390c5e;if(!_0x362e37[_0x4f4752(0x12b)]){_0x3326dc['push'](issue(_0x4f4752(0x12f),_0x4f4752(0xff),_0x4b9ecc,_0x4f4752(0x12c),_0x4f4752(0x10d)));return;}!_0x362e37[_0x4f4752(0x134)]?.[_0x4f4752(0xf9)]()&&_0x3326dc[_0x4f4752(0xfa)](issue(_0x4f4752(0x12f),_0x4f4752(0xff),_0x4b9ecc,_0x4f4752(0x102),_0x4f4752(0x107)));!_0x362e37['description']?.[_0x4f4752(0xf9)]()&&_0x3326dc['push'](issue(_0x4f4752(0x12f),_0x4f4752(0x108),_0x4b9ecc,_0x4f4752(0xf6),'填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词。'));if(!_0x362e37[_0x4f4752(0x133)]?.[_0x4f4752(0xf9)]())_0x3326dc[_0x4f4752(0xfa)](issue('error','frontmatter-required',_0x4b9ecc,_0x4f4752(0x128),_0x4f4752(0x10c)));else!SUPPORTED_SKILL_TYPES[_0x4f4752(0x10f)](_0x362e37[_0x4f4752(0x133)])&&_0x3326dc[_0x4f4752(0xfa)](issue(_0x4f4752(0x12f),_0x4f4752(0xff),_0x4b9ecc,_0x4f4752(0x119),_0x4f4752(0x10c)));}function parseFrontmatter(_0x5091a1){const _0x15cc5d=a37_0x390c5e,_0x1d94ac=_0x5091a1[_0x15cc5d(0x123)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x1d94ac)return{'hasFrontmatter':![]};const _0x113b15=_0x1d94ac[0x1]??'',_0x289bef={'hasFrontmatter':!![]};let _0x4e4ce3=![];for(const _0x3f07d5 of _0x113b15[_0x15cc5d(0x124)](/\r?\n/)){if(/^\s*$/[_0x15cc5d(0x121)](_0x3f07d5))continue;const _0x53bb82=_0x3f07d5[_0x15cc5d(0x123)](/^([A-Za-z0-9_-]+):\s*(.*)$/);if(_0x53bb82){const _0x49f6fa=_0x53bb82[0x1],_0x206018=cleanScalar(_0x53bb82[0x2]??'');_0x4e4ce3=_0x49f6fa===_0x15cc5d(0x126);if(_0x49f6fa==='name')_0x289bef['name']=_0x206018;if(_0x49f6fa===_0x15cc5d(0x11b))_0x289bef[_0x15cc5d(0x11b)]=_0x206018;continue;}const _0x4427b2=_0x3f07d5[_0x15cc5d(0x123)](/^\s+type:\s*(.*)$/);_0x4e4ce3&&_0x4427b2&&(_0x289bef[_0x15cc5d(0x133)]=cleanScalar(_0x4427b2[0x1]??''));}return _0x289bef;}function cleanScalar(_0xc2f86b){const _0x42dc36=a37_0x390c5e,_0x7c4117=_0xc2f86b['trim']();if(_0x7c4117[_0x42dc36(0x117)]('\x22')&&_0x7c4117[_0x42dc36(0x11d)]('\x22')||_0x7c4117[_0x42dc36(0x117)]('\x27')&&_0x7c4117[_0x42dc36(0x11d)]('\x27'))return _0x7c4117['slice'](0x1,-0x1);return _0x7c4117;}function a37_0x1a0b(){const _0x5dcf1b=['match','split','3wBghYn','metadata','449094ocMinf','metadata.type\x20is\x20missing.','5100126OcIzAL','119QRjvaV','hasFrontmatter','SKILL.md\x20must\x20start\x20with\x20frontmatter.','8gbBTPT','path','error','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.','suggestion','utf8','type','name','683434kDocfB','Frontmatter\x20description\x20is\x20empty.','13775800JCujgq','452920iCDSsL','trim','push','6014898TnZjQT','read','Missing\x20SKILL.md.','validation','frontmatter-required','content','message','Frontmatter\x20name\x20is\x20missing.','errors','length','isSymbolicLink','map','Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.','description-required','level','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','SKILL.md\x20is\x20not\x20a\x20file.','Set\x20metadata.type\x20to\x20write,\x20read,\x20or\x20trainer.','Add\x20frontmatter\x20with\x20name,\x20description,\x20and\x20metadata.type.','section','has','ruleId','filter','structure-complete','trainer','join','55745XjiEAX','toUpperCase','startsWith','file','metadata.type\x20must\x20be\x20one\x20of\x20write,\x20read,\x20or\x20trainer.','write','description','Skill\x20directory\x20not\x20found:\x20','endsWith','Skill\x20validation\x20failed:\x0a','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','SKILL.md','test','\x20Fix:\x20'];a37_0x1a0b=function(){return _0x5dcf1b;};return a37_0x1a0b();}function a37_0x26d0(_0x14d3b4,_0x35a69a){_0x14d3b4=_0x14d3b4-0xf6;const _0x1a0b17=a37_0x1a0b();let _0x26d0bc=_0x1a0b17[_0x14d3b4];return _0x26d0bc;}function issue(_0x57b50a,_0x896f8b,_0xaa8eff,_0x4d6fb9,_0x5e627f,_0x5c4feb){return{'level':_0x57b50a,'ruleId':_0x896f8b,'file':_0xaa8eff,'section':_0x5c4feb,'message':_0x4d6fb9,'suggestion':_0x5e627f};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a38_0x231771=a38_0x25cc;(function(_0xbd3cad,_0x458563){const _0x32d667=a38_0x25cc,_0xea75db=_0xbd3cad();while(!![]){try{const _0x105e4d=parseInt(_0x32d667(0x1d4))/0x1*(-parseInt(_0x32d667(0x1e4))/0x2)+parseInt(_0x32d667(0x1d3))/0x3*(-parseInt(_0x32d667(0x1d2))/0x4)+-parseInt(_0x32d667(0x1d7))/0x5*(-parseInt(_0x32d667(0x1d9))/0x6)+-parseInt(_0x32d667(0x1d8))/0x7+parseInt(_0x32d667(0x1d6))/0x8*(parseInt(_0x32d667(0x1e2))/0x9)+-parseInt(_0x32d667(0x1d5))/0xa+parseInt(_0x32d667(0x1e5))/0xb;if(_0x105e4d===_0x458563)break;else _0xea75db['push'](_0xea75db['shift']());}catch(_0x508a74){_0xea75db['push'](_0xea75db['shift']());}}}(a38_0x4d76,0x89ca3));function a38_0x4d76(){const _0x237297=['bool','sqlName','63ldWVjJ','description','628374DnuKsq','7739545cYjiDM','sqlCode','dbId','44KxHtwf','81405JjBzbi','1NfKZZx','10717420CUpzSJ','570136IfWWur','5YeUaEb','362551ArZkWY','6588780KIWfBb','detail','read','sqlcode','sqlContent','str','appCode'];a38_0x4d76=function(){return _0x237297;};return a38_0x4d76();}function a38_0x25cc(_0x130639,_0x4311e0){_0x130639=_0x130639-0x1d0;const _0x4d7629=a38_0x4d76();let _0x25cc2b=_0x4d7629[_0x130639];return _0x25cc2b;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a38_0x231771(0x1da),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a38_0x231771(0x1db),'flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x37d7b9){const _0x5d2e3f=a38_0x231771,_0x234b96=await getSqlQueryInfo(_0x37d7b9[_0x5d2e3f(0x1df)],_0x37d7b9[_0x5d2e3f(0x1de)](_0x5d2e3f(0x1dc))),_0x4389ab=_0x37d7b9[_0x5d2e3f(0x1e0)]('verbose');if(_0x4389ab)return{'ok':!![],'data':_0x234b96};const _0x22d8bc=_0x234b96[_0x5d2e3f(0x1d1)]?await getDbName(_0x37d7b9['appCode'],_0x234b96[_0x5d2e3f(0x1d1)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x234b96[_0x5d2e3f(0x1d0)],'sqlName':_0x234b96[_0x5d2e3f(0x1e1)],'db':_0x22d8bc?_0x22d8bc+'\x20('+_0x234b96['dbId']+')':_0x234b96[_0x5d2e3f(0x1d1)]??'','description':_0x234b96[_0x5d2e3f(0x1e3)]??'','sqlContent':_0x234b96[_0x5d2e3f(0x1dd)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a39_0x208c15=a39_0x2b40;(function(_0x4afbf9,_0x5cf22e){const _0x5be635=a39_0x2b40,_0x291472=_0x4afbf9();while(!![]){try{const _0x48fb6b=parseInt(_0x5be635(0x19d))/0x1*(parseInt(_0x5be635(0x1a2))/0x2)+parseInt(_0x5be635(0x19e))/0x3+-parseInt(_0x5be635(0x1a1))/0x4+parseInt(_0x5be635(0x1b0))/0x5*(parseInt(_0x5be635(0x1ac))/0x6)+-parseInt(_0x5be635(0x1b2))/0x7+parseInt(_0x5be635(0x1a3))/0x8+parseInt(_0x5be635(0x1a6))/0x9*(-parseInt(_0x5be635(0x1ab))/0xa);if(_0x48fb6b===_0x5cf22e)break;else _0x291472['push'](_0x291472['shift']());}catch(_0x1998d6){_0x291472['push'](_0x291472['shift']());}}}(a39_0x2ffa,0xd3dc1));function a39_0x2b40(_0x587990,_0x361986){_0x587990=_0x587990-0x19d;const _0x2ffa6a=a39_0x2ffa();let _0x2b40cd=_0x2ffa6a[_0x587990];return _0x2b40cd;}import{executeSdkSql}from'../../core/sdk-client.js';import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a39_0x208c15(0x1b3),'command':a39_0x208c15(0x1a8),'description':a39_0x208c15(0x1a9),'risk':a39_0x208c15(0x1af),'flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x5c1c47){const _0xdac3d5=a39_0x208c15,_0x59c68b=parseJsonParams(_0x5c1c47[_0xdac3d5(0x1aa)](_0xdac3d5(0x19f))),_0x37c6d8=Date['now'](),_0x27c135=await executeSdkSql(_0x5c1c47[_0xdac3d5(0x1aa)](_0xdac3d5(0x1a5)),_0x59c68b),_0xec6400=Date[_0xdac3d5(0x1a0)]()-_0x37c6d8,_0x1651a4=_0x27c135?.[_0xdac3d5(0x1ad)]??_0x27c135,_0xe1daad=_0x27c135?.['execSuccess']??!![];if(!_0xe1daad)return{'ok':![],'data':{'error':_0x27c135?.[_0xdac3d5(0x1ae)]||'SQL\x20execution\x20failed','elapsed':_0xec6400},'message':'SQL\x20execution\x20failed'};const _0x3af9a7=Array[_0xdac3d5(0x1b1)](_0x1651a4)?_0x1651a4:[];return{'ok':!![],'data':{'rows':_0x3af9a7,'rowCount':_0x3af9a7[_0xdac3d5(0x1a4)],'elapsed':_0xec6400},'message':_0xdac3d5(0x1a7)+_0x3af9a7[_0xdac3d5(0x1a4)]+'\x20row(s)\x20in\x20'+_0xec6400+'ms'};}};function a39_0x2ffa(){const _0x4a2ce6=['str','16690020RhKeLM','6zapMBd','execResult','execError','read','8480380eHfiSp','isArray','5039440KVCcdY','sql','19286OIFDeQ','4059984xnhasb','params','now','6466136XSGtdU','130QePOHS','4561912xfzAFK','length','sqlcode','9BPwzdk','Returned\x20','exec','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode'];a39_0x2ffa=function(){return _0x4a2ce6;};return a39_0x2ffa();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5353da,_0x29cbcf){const _0x44324a=a40_0x2fcf,_0xf3690b=_0x5353da();while(!![]){try{const _0xdc7054=parseInt(_0x44324a(0xb5))/0x1+-parseInt(_0x44324a(0xb7))/0x2+parseInt(_0x44324a(0xb3))/0x3*(-parseInt(_0x44324a(0xb4))/0x4)+parseInt(_0x44324a(0xb9))/0x5+-parseInt(_0x44324a(0xb1))/0x6+-parseInt(_0x44324a(0xb8))/0x7*(-parseInt(_0x44324a(0xba))/0x8)+parseInt(_0x44324a(0xb2))/0x9*(parseInt(_0x44324a(0xb6))/0xa);if(_0xdc7054===_0x29cbcf)break;else _0xf3690b['push'](_0xf3690b['shift']());}catch(_0x405c61){_0xf3690b['push'](_0xf3690b['shift']());}}}(a40_0x25c7,0xc85b7));function a40_0x2fcf(_0x544726,_0xe25940){_0x544726=_0x544726-0xb1;const _0x25c77d=a40_0x25c7();let _0x2fcfda=_0x25c77d[_0x544726];return _0x2fcfda;}function a40_0x25c7(){const _0x1f07dc=['265032Yaqwqs','21drLtAa','402300XSYqHt','24756hgwzqB','280wtmYHU','2306064mIfomQ','42fUNiCp','7264055NDgmyF','1294000OXksGX','3569346BoYAbd'];a40_0x25c7=function(){return _0x1f07dc;};return a40_0x25c7();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlExec}from'../../commands/sql/exec.js';export const sqlDefinitions=[sqlDetail,sqlExec];
|
package/lib/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a41_0x5befc2=a41_0x30a9;(function(_0x4989b5,_0x2b14c2){const _0x514494=a41_0x30a9,_0x46886b=_0x4989b5();while(!![]){try{const _0x522c6c=-parseInt(_0x514494(0x1e7))/0x1+-parseInt(_0x514494(0x215))/0x2*(parseInt(_0x514494(0x211))/0x3)+-parseInt(_0x514494(0x20f))/0x4+-parseInt(_0x514494(0x1ef))/0x5+parseInt(_0x514494(0x1fb))/0x6+parseInt(_0x514494(0x20a))/0x7+-parseInt(_0x514494(0x229))/0x8*(-parseInt(_0x514494(0x1fa))/0x9);if(_0x522c6c===_0x2b14c2)break;else _0x46886b['push'](_0x46886b['shift']());}catch(_0xc6dfde){_0x46886b['push'](_0x46886b['shift']());}}}(a41_0x44ff,0xa4637));import{spawnSync}from'node:child_process';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,LOVRABET_SKILL_SOURCE,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';import{getCliVersion}from'../utils/version.js';import{LOVRABET_SKIP_NPX_SKILLS_ENV,runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';const updateFlags=[{'name':a41_0x5befc2(0x20e),'type':'boolean','description':a41_0x5befc2(0x1fd),'default':![]},{'name':a41_0x5befc2(0x1e8),'type':'boolean','description':'Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','default':![]},{'name':a41_0x5befc2(0x1fc),'type':a41_0x5befc2(0x1ec),'description':a41_0x5befc2(0x1df)},{'name':a41_0x5befc2(0x208),'type':a41_0x5befc2(0x1f3),'description':a41_0x5befc2(0x1ea),'default':![]},{'name':a41_0x5befc2(0x219),'type':a41_0x5befc2(0x1f3),'description':a41_0x5befc2(0x1e3),'default':!![],'hidden':!![]}];function a41_0x44ff(){const _0x377498=['352686uVMgXm','beta','Update\x20failed:\x20','Skip\x20CLI\x20Built-in\x20Skill\x20refresh\x20after\x20updating','npm','string','Unable\x20to\x20resolve\x20','filter','1073290oeHJbs','args','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','unknown','boolean','\x20\x20CLI\x20Built-in\x20Skill\x20update\x20failed:\x20','Updated\x20to\x20v','Already\x20on\x20requested\x20version\x20(v','map','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','error','15430734alyVsL','4132506VunLzP','version','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','Updating\x20','\x20->\x20','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','fromEntries','\x20\x20Run\x20manually:\x20lovrabet\x20cli-skill\x20install','object','warn','\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20','Skipping\x20CLI\x20Built-in\x20Skill\x20refresh\x20(--no-skills).','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','no-skills','Current\x20version:\x20','1589721WgxxSC','bool','Invalid\x20version:\x20','trim','latest','5054380VOHvuv','\x20\x20CLI\x20Built-in\x20Skill\x20is\x20up\x20to\x20date.','22254rBIJLc','cwd','stdout','Version\x20comparison\x20failed.','34mlgWoD','\x20CLI\x20from\x20npm','Already\x20up\x20to\x20date\x20(v','stderr','skills','prerelease','flag','write','validation','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','inherit','source','run','install','/dist-tags','Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','update','minor','nonInteractive','=1).','8yLmoBF','\x20\x20Skipped\x20CLI\x20Built-in\x20Skill\x20install\x20(','major','str','Install\x20a\x20specific\x20CLI\x20version','Update\x20','join','status','Refresh\x20CLI\x20Built-in\x20Skill\x20after\x20updating','Checking\x20CLI\x20Built-in\x20Skill...','log','pipe'];a41_0x44ff=function(){return _0x377498;};return a41_0x44ff();}function parseSemver(_0x2fce04){const _0x408474=a41_0x5befc2,_0x5c68be=_0x2fce04[_0x408474(0x20d)]()['match'](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x5c68be)return null;return{'major':Number(_0x5c68be[0x1]),'minor':Number(_0x5c68be[0x2]),'patch':Number(_0x5c68be[0x3]),'prerelease':_0x5c68be[0x4]};}function compareSemver(_0x27ad5b,_0x2df2e1){const _0x425a51=a41_0x5befc2,_0x10bc28=parseSemver(_0x27ad5b),_0x36e62e=parseSemver(_0x2df2e1);if(!_0x10bc28||!_0x36e62e)throw CliErrors['validation'](_0x425a51(0x214),_0x425a51(0x207));for(const _0x22c668 of[_0x425a51(0x22b),_0x425a51(0x226),'patch']){if(_0x10bc28[_0x22c668]<_0x36e62e[_0x22c668])return-0x1;if(_0x10bc28[_0x22c668]>_0x36e62e[_0x22c668])return 0x1;}if(!_0x10bc28[_0x425a51(0x21a)]&&!_0x36e62e[_0x425a51(0x21a)])return 0x0;if(!_0x10bc28['prerelease'])return 0x1;if(!_0x36e62e[_0x425a51(0x21a)])return-0x1;if(_0x10bc28['prerelease']===_0x36e62e[_0x425a51(0x21a)])return 0x0;return _0x10bc28['prerelease']<_0x36e62e[_0x425a51(0x21a)]?-0x1:0x1;}function getRequestedVersion(_0x49cacb){const _0x2ed03d=a41_0x5befc2,_0x5d964f=_0x49cacb[_0x2ed03d(0x1de)](_0x2ed03d(0x1fc))[_0x2ed03d(0x20d)]();if(_0x5d964f)return _0x5d964f;return String(_0x49cacb[_0x2ed03d(0x1f0)]?.[0x0]??'')['trim']();}function shouldSkipCliBuiltInSkill(_0x214f00){const _0x5a1e95=a41_0x5befc2;return _0x214f00[_0x5a1e95(0x20b)](_0x5a1e95(0x208))||_0x214f00[_0x5a1e95(0x21b)](_0x5a1e95(0x219))===![];}async function validateUpdateFlags(_0x217acd){const _0x42042b=a41_0x5befc2,_0x1ff362=getRequestedVersion(_0x217acd),_0x37240f=[_0x217acd[_0x42042b(0x20b)]('latest')?'latest':'',_0x217acd[_0x42042b(0x20b)](_0x42042b(0x1e8))?_0x42042b(0x1e8):'',_0x1ff362?'version':''][_0x42042b(0x1ee)](Boolean);if(_0x37240f['length']>0x1)throw CliErrors[_0x42042b(0x21d)](_0x42042b(0x21e),_0x42042b(0x1f1));if(_0x1ff362&&!parseSemver(_0x1ff362))throw CliErrors[_0x42042b(0x21d)](_0x42042b(0x20c)+_0x1ff362,_0x42042b(0x224));}function a41_0x30a9(_0x4fed59,_0x131226){_0x4fed59=_0x4fed59-0x1de;const _0x44ffb5=a41_0x44ff();let _0x30a9c8=_0x44ffb5[_0x4fed59];return _0x30a9c8;}async function fetchNpmDistTags(){const _0x414e35=a41_0x5befc2;try{const _0x210efa=NPM_REGISTRY_BASE_URL+'/-/package/'+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x414e35(0x223),_0x9f514c=await fetch(_0x210efa,{'signal':AbortSignal['timeout'](0x2710)});if(!_0x9f514c['ok'])return null;const _0xa26f1d=await _0x9f514c['json']();if(!_0xa26f1d||typeof _0xa26f1d!==_0x414e35(0x203))return null;return Object[_0x414e35(0x201)](Object['entries'](_0xa26f1d)[_0x414e35(0x1ee)](([,_0x529be7])=>typeof _0x529be7===_0x414e35(0x1ec)&&_0x529be7[_0x414e35(0x20d)]())[_0x414e35(0x1f7)](([_0x40be76,_0x539bcb])=>[_0x40be76,String(_0x539bcb)[_0x414e35(0x20d)]()]));}catch{return null;}}async function resolveTargetVersion(_0x18879e){const _0x1b0aaf=a41_0x5befc2,_0x12cdbf=getRequestedVersion(_0x18879e);if(_0x12cdbf)return{'version':_0x12cdbf,'source':_0x1b0aaf(0x1fc)};const _0x338890=_0x18879e[_0x1b0aaf(0x20b)](_0x1b0aaf(0x1e8))?_0x1b0aaf(0x1e8):'latest',_0xd8f65f=await fetchNpmDistTags(),_0x1fcd35=_0xd8f65f?.[_0x338890];if(!_0x1fcd35)return null;return{'version':_0x1fcd35,'source':_0x338890};}function shouldInstallTarget(_0xe61cc7,_0x2a218f){const _0x53407f=a41_0x5befc2,_0x5efdcd=compareSemver(_0xe61cc7,_0x2a218f[_0x53407f(0x1fc)]);if(_0x2a218f[_0x53407f(0x220)]===_0x53407f(0x1fc))return _0x5efdcd!==0x0;return _0x5efdcd<0x0;}function installCliPackage(_0x542b4f,_0x1f35df){const _0x4a4a08=a41_0x5befc2,_0x47bab4=resolveNpmBin(_0x4a4a08(0x1eb)),_0x5ecdaa=[_0x4a4a08(0x222),'-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x542b4f];console['log']('*\x20'+[_0x47bab4,..._0x5ecdaa][_0x4a4a08(0x1e1)]('\x20'));const _0x2ecfab=spawnSync(_0x47bab4,_0x5ecdaa,{'cwd':process[_0x4a4a08(0x212)](),'stdio':_0x1f35df?_0x4a4a08(0x1e6):'inherit','env':process.env,'shell':![]});if(_0x2ecfab['status']===0x0)return{'ok':!![]};let _0xa512db=_0x2ecfab[_0x4a4a08(0x1f9)]?.['message']||'exit\x20'+(_0x2ecfab[_0x4a4a08(0x1e2)]??_0x4a4a08(0x1f2));if(_0x1f35df){const _0x4966de=_0x2ecfab[_0x4a4a08(0x218)]?_0x2ecfab[_0x4a4a08(0x218)]['toString']()[_0x4a4a08(0x20d)]():'',_0x486a9a=_0x2ecfab[_0x4a4a08(0x213)]?_0x2ecfab[_0x4a4a08(0x213)]['toString']()['trim']():'';if(_0x4966de)_0xa512db=_0x4966de;else{if(_0x486a9a)_0xa512db=_0x486a9a;}}return{'ok':![],'error':_0xa512db};}async function installCliBuiltInSkill(_0x56baa9){const _0x475a67=a41_0x5befc2;console[_0x475a67(0x1e5)](_0x475a67(0x1e4));const _0x10eb90=runNpxSkillsAddGlobal(process['cwd'](),LOVRABET_SKILL_SOURCE,{'stdio':_0x56baa9?_0x475a67(0x1e6):_0x475a67(0x21f)});if(_0x10eb90['skipped']){console[_0x475a67(0x1e5)](_0x475a67(0x22a)+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x475a67(0x228));return;}if(_0x10eb90['ok']){console[_0x475a67(0x1e5)](_0x475a67(0x210));return;}console[_0x475a67(0x204)](_0x475a67(0x1f4)+(_0x10eb90[_0x475a67(0x1f9)]||'unknown')),console['log'](_0x475a67(0x202));}async function execute(_0x4ef587){const _0xb80cb2=a41_0x5befc2;await validateUpdateFlags(_0x4ef587);const _0x281476=getCliVersion();console[_0xb80cb2(0x1e5)](_0xb80cb2(0x209)+_0x281476),console[_0xb80cb2(0x1e5)]('Checking\x20npm\x20dist-tags...');const _0x134526=await resolveTargetVersion(_0x4ef587);if(!_0x134526){const _0x5603be=_0x4ef587[_0xb80cb2(0x20b)](_0xb80cb2(0x1e8))?_0xb80cb2(0x1e8):'latest',_0x508691=_0xb80cb2(0x1ed)+_0x5603be+'\x20version\x20from\x20npm.';return console[_0xb80cb2(0x204)](_0x508691),console['log'](_0xb80cb2(0x1f8)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x5603be),{'ok':![]};}if(!shouldInstallTarget(_0x281476,_0x134526)){const _0x4a61d0=_0x134526[_0xb80cb2(0x220)]===_0xb80cb2(0x1fc)?_0xb80cb2(0x1f6)+_0x134526[_0xb80cb2(0x1fc)]+').':_0xb80cb2(0x217)+_0x134526[_0xb80cb2(0x1fc)]+').';return console[_0xb80cb2(0x1e5)](_0x4a61d0),shouldSkipCliBuiltInSkill(_0x4ef587)?console[_0xb80cb2(0x1e5)](_0xb80cb2(0x206)):await installCliBuiltInSkill(_0x4ef587[_0xb80cb2(0x227)]),{'ok':!![]};}console[_0xb80cb2(0x1e5)](_0xb80cb2(0x1fe)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x281476+_0xb80cb2(0x1ff)+_0x134526['version']);const _0xecbdd8=installCliPackage(_0x134526[_0xb80cb2(0x1fc)],_0x4ef587[_0xb80cb2(0x227)]);if(!_0xecbdd8['ok']){const _0x548017=_0xb80cb2(0x1e9)+(_0xecbdd8['error']||_0xb80cb2(0x1f2));return console[_0xb80cb2(0x1f9)](_0x548017),console[_0xb80cb2(0x1e5)](_0xb80cb2(0x205)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x134526[_0xb80cb2(0x1fc)]),{'ok':![]};}return console[_0xb80cb2(0x1e5)](_0xb80cb2(0x1f5)+_0x134526['version']+'.'),console[_0xb80cb2(0x1e5)](_0xb80cb2(0x200)),shouldSkipCliBuiltInSkill(_0x4ef587)?console['log']('Skipping\x20CLI\x20Built-in\x20Skill\x20refresh\x20(--no-skills).'):await installCliBuiltInSkill(_0x4ef587[_0xb80cb2(0x227)]),{'ok':!![]};}export const updateDefinition={'service':a41_0x5befc2(0x225),'command':a41_0x5befc2(0x221),'description':a41_0x5befc2(0x1e0)+CLI_BIN_NAME+a41_0x5befc2(0x216),'risk':a41_0x5befc2(0x21c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
1
|
+
const a41_0xfcd5b0=a41_0x26fa;(function(_0x3f0fbf,_0x1effc9){const _0x1211df=a41_0x26fa,_0x3ffb55=_0x3f0fbf();while(!![]){try{const _0x4b276b=-parseInt(_0x1211df(0x1d6))/0x1*(parseInt(_0x1211df(0x1d9))/0x2)+-parseInt(_0x1211df(0x1bd))/0x3*(-parseInt(_0x1211df(0x1df))/0x4)+-parseInt(_0x1211df(0x19b))/0x5+parseInt(_0x1211df(0x1ac))/0x6*(-parseInt(_0x1211df(0x1a2))/0x7)+-parseInt(_0x1211df(0x1c6))/0x8+parseInt(_0x1211df(0x1a4))/0x9+parseInt(_0x1211df(0x1a1))/0xa;if(_0x4b276b===_0x1effc9)break;else _0x3ffb55['push'](_0x3ffb55['shift']());}catch(_0x39c589){_0x3ffb55['push'](_0x3ffb55['shift']());}}}(a41_0x2c3f,0x8fb8b));import{spawnSync}from'node:child_process';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,LOVRABET_SKILL_SOURCE,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';function a41_0x2c3f(){const _0x1268b5=['Updated\x20to\x20v','=1).','inherit','match','message','source','Update\x20','18JXHWzV','no-skills','write','entries','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','exit\x20','run','Update\x20failed:\x20','bool','3397704fvrKti','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','Checking\x20CLI\x20Built-in\x20Skill...','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','length','nonInteractive','stdout','skills','Current\x20version:\x20','json','Version\x20comparison\x20failed.','boolean','/-/package/','Use\x20full\x20semver\x20versions\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','prerelease','25263lMGHoG','flag','Install\x20a\x20specific\x20CLI\x20version','22TlFnbb','unknown','join','pipe','version','Updating\x20','61428rxsTEL','npm','install','\x20\x20CLI\x20Built-in\x20Skill\x20is\x20up\x20to\x20date.','fromEntries','Skipping\x20CLI\x20Built-in\x20Skill\x20refresh\x20(--no-skills).','beta','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','stderr','592335MmhYWM','validation','\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20','latest','string','map','18276410jmYAVa','511NRVndX','trim','2304972ScMEyN','timeout','toString','filter','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','args','\x20CLI\x20from\x20npm','status','62970zpnOZe','Already\x20up\x20to\x20date\x20(v','error','\x20->\x20','log','warn','patch','\x20\x20Run\x20manually:\x20lovrabet\x20cli-skill\x20install','cwd','major'];a41_0x2c3f=function(){return _0x1268b5;};return a41_0x2c3f();}import{getCliVersion}from'../utils/version.js';import{LOVRABET_SKIP_NPX_SKILLS_ENV,runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';const updateFlags=[{'name':a41_0xfcd5b0(0x19e),'type':'boolean','description':a41_0xfcd5b0(0x1c1),'default':![]},{'name':a41_0xfcd5b0(0x198),'type':a41_0xfcd5b0(0x1d1),'description':a41_0xfcd5b0(0x1c7),'default':![]},{'name':a41_0xfcd5b0(0x1dd),'type':a41_0xfcd5b0(0x19f),'description':a41_0xfcd5b0(0x1d8)},{'name':a41_0xfcd5b0(0x1be),'type':a41_0xfcd5b0(0x1d1),'description':'Skip\x20CLI\x20Built-in\x20Skill\x20refresh\x20after\x20updating','default':![]},{'name':a41_0xfcd5b0(0x1cd),'type':a41_0xfcd5b0(0x1d1),'description':'Refresh\x20CLI\x20Built-in\x20Skill\x20after\x20updating','default':!![],'hidden':!![]}];function parseSemver(_0x173088){const _0x546ccd=a41_0xfcd5b0,_0x22dbcd=_0x173088[_0x546ccd(0x1a3)]()[_0x546ccd(0x1b9)](/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!_0x22dbcd)return null;return{'major':Number(_0x22dbcd[0x1]),'minor':Number(_0x22dbcd[0x2]),'patch':Number(_0x22dbcd[0x3]),'prerelease':_0x22dbcd[0x4]};}function compareSemver(_0x2511af,_0x3a5f38){const _0x30a505=a41_0xfcd5b0,_0x367c8c=parseSemver(_0x2511af),_0x51d117=parseSemver(_0x3a5f38);if(!_0x367c8c||!_0x51d117)throw CliErrors[_0x30a505(0x19c)](_0x30a505(0x1d0),_0x30a505(0x1d3));for(const _0x3a477c of[_0x30a505(0x1b5),'minor',_0x30a505(0x1b2)]){if(_0x367c8c[_0x3a477c]<_0x51d117[_0x3a477c])return-0x1;if(_0x367c8c[_0x3a477c]>_0x51d117[_0x3a477c])return 0x1;}if(!_0x367c8c[_0x30a505(0x1d5)]&&!_0x51d117[_0x30a505(0x1d5)])return 0x0;if(!_0x367c8c[_0x30a505(0x1d5)])return 0x1;if(!_0x51d117[_0x30a505(0x1d5)])return-0x1;if(_0x367c8c[_0x30a505(0x1d5)]===_0x51d117[_0x30a505(0x1d5)])return 0x0;return _0x367c8c['prerelease']<_0x51d117[_0x30a505(0x1d5)]?-0x1:0x1;}function getRequestedVersion(_0x42257e){const _0x53402e=a41_0xfcd5b0,_0x116ba7=_0x42257e['str']('version')[_0x53402e(0x1a3)]();if(_0x116ba7)return _0x116ba7;return String(_0x42257e[_0x53402e(0x1a9)]?.[0x0]??'')[_0x53402e(0x1a3)]();}function shouldSkipCliBuiltInSkill(_0x3429f7){const _0x18fe37=a41_0xfcd5b0;return _0x3429f7[_0x18fe37(0x1c5)](_0x18fe37(0x1be))||_0x3429f7[_0x18fe37(0x1d7)]('skills')===![];}function a41_0x26fa(_0x18c5fd,_0x183cb5){_0x18c5fd=_0x18c5fd-0x193;const _0x2c3f94=a41_0x2c3f();let _0x26fa1e=_0x2c3f94[_0x18c5fd];return _0x26fa1e;}async function validateUpdateFlags(_0x2730f3){const _0x7e7bab=a41_0xfcd5b0,_0x1b994d=getRequestedVersion(_0x2730f3),_0x289990=[_0x2730f3['bool']('latest')?_0x7e7bab(0x19e):'',_0x2730f3[_0x7e7bab(0x1c5)](_0x7e7bab(0x198))?'beta':'',_0x1b994d?_0x7e7bab(0x1dd):''][_0x7e7bab(0x1a7)](Boolean);if(_0x289990[_0x7e7bab(0x1ca)]>0x1)throw CliErrors[_0x7e7bab(0x19c)](_0x7e7bab(0x1c9),_0x7e7bab(0x1a8));if(_0x1b994d&&!parseSemver(_0x1b994d))throw CliErrors[_0x7e7bab(0x19c)]('Invalid\x20version:\x20'+_0x1b994d,'Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');}async function fetchNpmDistTags(){const _0x531b82=a41_0xfcd5b0;try{const _0x14df89=NPM_REGISTRY_BASE_URL+_0x531b82(0x1d2)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+'/dist-tags',_0x1814ab=await fetch(_0x14df89,{'signal':AbortSignal[_0x531b82(0x1a5)](0x2710)});if(!_0x1814ab['ok'])return null;const _0x27f9e7=await _0x1814ab[_0x531b82(0x1cf)]();if(!_0x27f9e7||typeof _0x27f9e7!=='object')return null;return Object[_0x531b82(0x196)](Object[_0x531b82(0x1c0)](_0x27f9e7)[_0x531b82(0x1a7)](([,_0x177b6e])=>typeof _0x177b6e===_0x531b82(0x19f)&&_0x177b6e[_0x531b82(0x1a3)]())[_0x531b82(0x1a0)](([_0x596f96,_0x37c567])=>[_0x596f96,String(_0x37c567)[_0x531b82(0x1a3)]()]));}catch{return null;}}async function resolveTargetVersion(_0x3962b8){const _0x3cf510=a41_0xfcd5b0,_0x2c1c6f=getRequestedVersion(_0x3962b8);if(_0x2c1c6f)return{'version':_0x2c1c6f,'source':_0x3cf510(0x1dd)};const _0x2043dd=_0x3962b8[_0x3cf510(0x1c5)](_0x3cf510(0x198))?'beta':_0x3cf510(0x19e),_0xdee7d6=await fetchNpmDistTags(),_0x146bd2=_0xdee7d6?.[_0x2043dd];if(!_0x146bd2)return null;return{'version':_0x146bd2,'source':_0x2043dd};}function shouldInstallTarget(_0x50bbee,_0x22f47f){const _0xf728f6=a41_0xfcd5b0,_0xabb901=compareSemver(_0x50bbee,_0x22f47f[_0xf728f6(0x1dd)]);if(_0x22f47f[_0xf728f6(0x1bb)]===_0xf728f6(0x1dd))return _0xabb901!==0x0;return _0xabb901<0x0;}function installCliPackage(_0x3a5d10,_0x412e12){const _0xc7d63f=a41_0xfcd5b0,_0x1df63f=resolveNpmBin(_0xc7d63f(0x193)),_0x5540e8=[_0xc7d63f(0x194),'-g',LOVRABET_NPM_PACKAGE_NAME+'@'+_0x3a5d10];console['log']('*\x20'+[_0x1df63f,..._0x5540e8][_0xc7d63f(0x1db)]('\x20'));const _0x491438=spawnSync(_0x1df63f,_0x5540e8,{'cwd':process[_0xc7d63f(0x1b4)](),'stdio':_0x412e12?'pipe':_0xc7d63f(0x1b8),'env':process.env,'shell':![]});if(_0x491438[_0xc7d63f(0x1ab)]===0x0)return{'ok':!![]};let _0x2cd00e=_0x491438['error']?.[_0xc7d63f(0x1ba)]||_0xc7d63f(0x1c2)+(_0x491438[_0xc7d63f(0x1ab)]??_0xc7d63f(0x1da));if(_0x412e12){const _0x2d20e1=_0x491438['stderr']?_0x491438[_0xc7d63f(0x19a)][_0xc7d63f(0x1a6)]()[_0xc7d63f(0x1a3)]():'',_0x23a844=_0x491438[_0xc7d63f(0x1cc)]?_0x491438['stdout'][_0xc7d63f(0x1a6)]()[_0xc7d63f(0x1a3)]():'';if(_0x2d20e1)_0x2cd00e=_0x2d20e1;else{if(_0x23a844)_0x2cd00e=_0x23a844;}}return{'ok':![],'error':_0x2cd00e};}async function installCliBuiltInSkill(_0x4a7738){const _0x62e615=a41_0xfcd5b0;console['log'](_0x62e615(0x1c8));const _0x5c86c2=runNpxSkillsAddGlobal(process[_0x62e615(0x1b4)](),LOVRABET_SKILL_SOURCE,{'stdio':_0x4a7738?_0x62e615(0x1dc):'inherit'});if(_0x5c86c2['skipped']){console['log']('\x20\x20Skipped\x20CLI\x20Built-in\x20Skill\x20install\x20('+LOVRABET_SKIP_NPX_SKILLS_ENV+_0x62e615(0x1b7));return;}if(_0x5c86c2['ok']){console[_0x62e615(0x1b0)](_0x62e615(0x195));return;}console[_0x62e615(0x1b1)]('\x20\x20CLI\x20Built-in\x20Skill\x20update\x20failed:\x20'+(_0x5c86c2['error']||'unknown')),console['log'](_0x62e615(0x1b3));}async function execute(_0x3c30ae){const _0x521f14=a41_0xfcd5b0;await validateUpdateFlags(_0x3c30ae);const _0x45b2bd=getCliVersion();console['log'](_0x521f14(0x1ce)+_0x45b2bd),console[_0x521f14(0x1b0)]('Checking\x20npm\x20dist-tags...');const _0x32970d=await resolveTargetVersion(_0x3c30ae);if(!_0x32970d){const _0x97c745=_0x3c30ae['bool'](_0x521f14(0x198))?'beta':_0x521f14(0x19e),_0x3c2384='Unable\x20to\x20resolve\x20'+_0x97c745+'\x20version\x20from\x20npm.';return console[_0x521f14(0x1b1)](_0x3c2384),console[_0x521f14(0x1b0)](_0x521f14(0x1d4)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x97c745),{'ok':![]};}if(!shouldInstallTarget(_0x45b2bd,_0x32970d)){const _0x535030=_0x32970d[_0x521f14(0x1bb)]==='version'?'Already\x20on\x20requested\x20version\x20(v'+_0x32970d[_0x521f14(0x1dd)]+').':_0x521f14(0x1ad)+_0x32970d[_0x521f14(0x1dd)]+').';return console[_0x521f14(0x1b0)](_0x535030),shouldSkipCliBuiltInSkill(_0x3c30ae)?console['log'](_0x521f14(0x197)):await installCliBuiltInSkill(_0x3c30ae['nonInteractive']),{'ok':!![]};}console[_0x521f14(0x1b0)](_0x521f14(0x1de)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x45b2bd+_0x521f14(0x1af)+_0x32970d[_0x521f14(0x1dd)]);const _0x43a615=installCliPackage(_0x32970d[_0x521f14(0x1dd)],_0x3c30ae[_0x521f14(0x1cb)]);if(!_0x43a615['ok']){const _0x2259fe=_0x521f14(0x1c4)+(_0x43a615[_0x521f14(0x1ae)]||_0x521f14(0x1da));return console[_0x521f14(0x1ae)](_0x2259fe),console['log'](_0x521f14(0x19d)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x32970d[_0x521f14(0x1dd)]),{'ok':![]};}return console[_0x521f14(0x1b0)](_0x521f14(0x1b6)+_0x32970d['version']+'.'),console['log'](_0x521f14(0x199)),shouldSkipCliBuiltInSkill(_0x3c30ae)?console[_0x521f14(0x1b0)](_0x521f14(0x197)):await installCliBuiltInSkill(_0x3c30ae['nonInteractive']),{'ok':!![]};}export const updateDefinition={'service':'update','command':a41_0xfcd5b0(0x1c3),'description':a41_0xfcd5b0(0x1bc)+CLI_BIN_NAME+a41_0xfcd5b0(0x1aa),'risk':a41_0xfcd5b0(0x1bf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a42_0xaea43b=a42_0x3618;(function(_0x4b2ca6,_0x18ccfc){const _0x339583=a42_0x3618,_0x498c07=_0x4b2ca6();while(!![]){try{const _0x22dbd1=-parseInt(_0x339583(0x10a))/0x1*(-parseInt(_0x339583(0xe2))/0x2)+parseInt(_0x339583(0x102))/0x3+-parseInt(_0x339583(0xe0))/0x4*(parseInt(_0x339583(0xf3))/0x5)+parseInt(_0x339583(0xe5))/0x6*(-parseInt(_0x339583(0xe7))/0x7)+parseInt(_0x339583(0xed))/0x8+parseInt(_0x339583(0xfa))/0x9+-parseInt(_0x339583(0xfc))/0xa*(-parseInt(_0x339583(0x103))/0xb);if(_0x22dbd1===_0x18ccfc)break;else _0x498c07['push'](_0x498c07['shift']());}catch(_0x311d6e){_0x498c07['push'](_0x498c07['shift']());}}}(a42_0x554c,0xc6a19));import{CLI_BIN_NAME}from'../../constant/cli.js';import{DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../../constant/env.js';import{CliErrors}from'../../errors.js';function a42_0x554c(){const _0x37bb2a=['\x0aDefault\x20app:\x20','from','yes','Available\x20apps:\x20','str','filter','app','map','4Pphoit','\x20--app\x20<name>\x20[--env\x20daily]\x20or\x20','1092722ezsFSc','envName','use','43248zZuadB','env','203qQYOjs','\x22.\x20Allowed:\x20','apps','\x20workspace\x20','validation','\x20--appcode\x20<code>\x20[--env\x20daily]','744824PIYedR','init','Initialize\x20app\x20context\x20for\x20the\x20current\x20workspace','shouldWriteEnv','boolean','length','1477835UHMtTh','\x0aEnv:\x20','workspace\x20','isArray','workspace','App\x20code\x20to\x20bind\x20directly','project','220212hjXUTS','authRequired','1241870eeNHxC','string','appName','App\x20name\x20to\x20bind\x20as\x20the\x20current\x20workspace\x20default','trim','\x0aAccessKey:\x20not\x20written','845097cpEekH','33zdIwnq','Workspace\x20configured.\x0aConfig\x20file:\x20','items','Target\x20environment','../../commands/app/remote-source.js','App\x20\x22','command','1jHUhuL','\x22\x20not\x20found.','appcode','../../core/api-client.js','Compatibility\x20flag;\x20workspace\x20config\x20updates\x20are\x20non-interactive','Run\x20`','defaultApp','accessKey'];a42_0x554c=function(){return _0x37bb2a;};return a42_0x554c();}import{readConfigFile,resolveWriteConfigPath,writeConfigFile}from'../../context.js';import{findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';function a42_0x3618(_0x4127e4,_0x4a00e0){_0x4127e4=_0x4127e4-0xdf;const _0x554ccf=a42_0x554c();let _0x36180e=_0x554ccf[_0x4127e4];return _0x36180e;}const WORKSPACE_USE_FLAGS=[{'name':a42_0xaea43b(0x118),'type':a42_0xaea43b(0xfd),'description':a42_0xaea43b(0xff)},{'name':a42_0xaea43b(0x10c),'type':a42_0xaea43b(0xfd),'description':a42_0xaea43b(0xf8)},{'name':'env','type':a42_0xaea43b(0xfd),'description':a42_0xaea43b(0x106),'enum':[...RUNTIME_ENV_VALUES]},{'name':a42_0xaea43b(0x114),'type':a42_0xaea43b(0xf1),'description':a42_0xaea43b(0x10e),'default':![]}];async function executeWorkspaceUse(_0x251477,_0x4353b9){const _0x5eadb0=a42_0xaea43b,_0x3a3d83=_0x251477['str']('app')[_0x5eadb0(0x100)](),_0x65f62b=_0x251477[_0x5eadb0(0x116)](_0x5eadb0(0x10c))['trim'](),_0x37b65f=_0x251477['str'](_0x5eadb0(0xe6))[_0x5eadb0(0x100)](),_0xed9ccd=resolveWorkspaceEnv(_0x37b65f||_0x251477[_0x5eadb0(0xe3)]||DEFAULT_CONFIG_VALUES[_0x5eadb0(0xe6)]);if(!_0x3a3d83&&!_0x65f62b)throw CliErrors[_0x5eadb0(0xeb)]('Missing\x20workspace\x20app\x20selector.','Usage:\x20'+CLI_BIN_NAME+'\x20workspace\x20'+_0x4353b9+_0x5eadb0(0xe1)+CLI_BIN_NAME+'\x20workspace\x20'+_0x4353b9+_0x5eadb0(0xec));const _0x5c478d=_0x65f62b||await resolveRemoteAppCode({'command':_0x4353b9,'appName':_0x3a3d83,'env':_0xed9ccd,'accessKey':_0x251477[_0x5eadb0(0x111)]}),_0x2dc805=writeWorkspaceConfig({'command':_0x4353b9,'appName':_0x3a3d83,'appcode':_0x5c478d,'env':_0xed9ccd,'shouldWriteEnv':!!_0x37b65f,'accessKey':_0x251477[_0x5eadb0(0x111)]});return{'ok':!![],'data':{'configPath':_0x2dc805,'app':_0x3a3d83||null,'appcode':_0x5c478d,'env':_0x37b65f?_0xed9ccd:null,'accessKeyWritten':![],'command':_0x5eadb0(0xf5)+_0x4353b9},'message':buildWorkspaceMessage(_0x2dc805,_0x3a3d83,_0x5c478d,_0x37b65f?_0xed9ccd:undefined)};}async function resolveRemoteAppCode(_0x4add9e){const _0x5e7834=a42_0xaea43b;if(!_0x4add9e[_0x5e7834(0x111)])throw CliErrors[_0x5e7834(0xfb)]('Resolving\x20--app\x20requires\x20accessKey.\x20Pass\x20--appcode\x20directly,\x20or\x20set\x20accessKey\x20before\x20running\x20'+CLI_BIN_NAME+_0x5e7834(0xea)+_0x4add9e[_0x5e7834(0x109)]+'.');const {setActiveAK:_0xdccd14}=await import(_0x5e7834(0x10d)),{getRemoteAppList:_0x200ec0}=await import(_0x5e7834(0x107));_0xdccd14(_0x4add9e[_0x5e7834(0x111)]);const _0x1e1a3a=await _0x200ec0({'env':_0x4add9e['env'],'accessKey':_0x4add9e[_0x5e7834(0x111)],'noCache':![]}),_0x4453ea=findAppByName(_0x1e1a3a[_0x5e7834(0x105)],_0x4add9e[_0x5e7834(0xfe)]);if(_0x4453ea&&!isRuntimeAccessibleApp(_0x4453ea))throw runtimeInaccessibleAppError(_0x4453ea,'\x22'+_0x4add9e[_0x5e7834(0xfe)]+'\x22');const _0x1d64b9=_0x4453ea?.['appCode']?.[_0x5e7834(0x100)]();if(_0x1d64b9)return _0x1d64b9;const _0x4937b0=_0x1e1a3a['items'][_0x5e7834(0xdf)](_0x58fe2c=>_0x58fe2c[_0x5e7834(0xfe)])[_0x5e7834(0x117)](Boolean),_0x47c949=_0x4937b0[_0x5e7834(0xf2)]?_0x5e7834(0x115)+Array[_0x5e7834(0x113)](new Set(_0x4937b0))['join'](',\x20')+'.':_0x5e7834(0x10f)+CLI_BIN_NAME+'\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20pass\x20--appcode\x20directly.';throw CliErrors['validation'](_0x5e7834(0x108)+_0x4add9e[_0x5e7834(0xfe)]+_0x5e7834(0x10b),_0x47c949);}function writeWorkspaceConfig(_0x2192c4){const _0x98783=a42_0xaea43b,_0x4edb4a=resolveWriteConfigPath(_0x98783(0xf9)),_0x25f38e=readConfigFile(_0x4edb4a);_0x2192c4[_0x98783(0xf0)]&&(_0x25f38e['env']=_0x2192c4[_0x98783(0xe6)]);if(_0x2192c4[_0x98783(0xfe)]){const _0x4df458=isRecord(_0x25f38e[_0x98783(0xe9)])?{..._0x25f38e['apps']}:{},_0x516c89=isRecord(_0x4df458[_0x2192c4[_0x98783(0xfe)]])?_0x4df458[_0x2192c4[_0x98783(0xfe)]]:{};_0x4df458[_0x2192c4[_0x98783(0xfe)]]={..._0x516c89,'appcode':_0x2192c4[_0x98783(0x10c)]},_0x25f38e[_0x98783(0xe9)]=_0x4df458,_0x25f38e[_0x98783(0x110)]=_0x2192c4['appName'];if(_0x25f38e['app'])delete _0x25f38e['app'];return writeAndReturn(_0x4edb4a,_0x25f38e);}_0x25f38e[_0x98783(0x10c)]=_0x2192c4['appcode'];if(_0x25f38e[_0x98783(0x118)])delete _0x25f38e['app'];return writeAndReturn(_0x4edb4a,_0x25f38e);}function writeAndReturn(_0x3a6d78,_0x203801){return writeConfigFile(_0x3a6d78,_0x203801),_0x3a6d78;}function resolveWorkspaceEnv(_0x31aad8){const _0x36a0c1=a42_0xaea43b;if(RUNTIME_ENV_VALUES['includes'](_0x31aad8))return _0x31aad8;throw CliErrors[_0x36a0c1(0xeb)]('Invalid\x20env\x20\x22'+_0x31aad8+_0x36a0c1(0xe8)+RUNTIME_ENV_VALUES['join'](',\x20'));}function buildWorkspaceMessage(_0x5b7089,_0x3622a9,_0x43b407,_0xeccb5d){const _0x105c12=a42_0xaea43b,_0x4cf207=_0x3622a9?_0x3622a9+'\x20('+_0x43b407+')':_0x43b407,_0x37d755=_0xeccb5d?_0x105c12(0xf4)+_0xeccb5d:'';return _0x105c12(0x104)+_0x5b7089+_0x105c12(0x112)+_0x4cf207+_0x37d755+_0x105c12(0x101);}function isRecord(_0x3f4312){const _0x14e3cd=a42_0xaea43b;return typeof _0x3f4312==='object'&&_0x3f4312!==null&&!Array[_0x14e3cd(0xf6)](_0x3f4312);}function makeWorkspaceCommand(_0xf9a289){const _0x505c84=a42_0xaea43b;return{'service':_0x505c84(0xf7),'command':_0xf9a289,'description':_0xf9a289===_0x505c84(0xee)?_0x505c84(0xef):'Set\x20app\x20context\x20for\x20the\x20current\x20workspace','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':WORKSPACE_USE_FLAGS,async 'execute'(_0x5a79c3){return executeWorkspaceUse(_0x5a79c3,_0xf9a289);}};}export const workspaceDefinitions=[makeWorkspaceCommand(a42_0xaea43b(0xee)),makeWorkspaceCommand(a42_0xaea43b(0xe4))];
|
package/lib/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x51c85a=a43_0x1550;(function(_0x18d2e0,_0x30e103){const _0x80248=a43_0x1550,_0x470446=_0x18d2e0();while(!![]){try{const _0x33df87=-parseInt(_0x80248(0x13e))/0x1+-parseInt(_0x80248(0x14a))/0x2*(-parseInt(_0x80248(0x147))/0x3)+parseInt(_0x80248(0x132))/0x4*(parseInt(_0x80248(0x14e))/0x5)+parseInt(_0x80248(0x13c))/0x6*(parseInt(_0x80248(0x133))/0x7)+-parseInt(_0x80248(0x151))/0x8+parseInt(_0x80248(0x14b))/0x9*(-parseInt(_0x80248(0x14d))/0xa)+-parseInt(_0x80248(0x131))/0xb*(parseInt(_0x80248(0x13f))/0xc);if(_0x33df87===_0x30e103)break;else _0x470446['push'](_0x470446['shift']());}catch(_0x4d96d1){_0x470446['push'](_0x470446['shift']());}}}(a43_0x4fed,0xcddbd));function a43_0x1550(_0x294976,_0x1def53){_0x294976=_0x294976-0x131;const _0x4fedb0=a43_0x4fed();let _0x1550f1=_0x4fedb0[_0x294976];return _0x1550f1;}import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{OUTPUT_FORMAT_VALUES}from'../constant/output.js';export const CONFIG_FIELD_SCHEMAS={'env':{'description':a43_0x51c85a(0x146),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':RUNTIME_ENV_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a43_0x51c85a(0x143)],'importable':!![]},'format':{'description':'Default\x20output\x20format','topLevel':!![],'cliSettableTopLevel':!![],'enumValues':OUTPUT_FORMAT_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a43_0x51c85a(0x14c)],'importable':!![]},'pageSize':{'description':a43_0x51c85a(0x135),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'apiDomain':{'description':'Override\x20API\x20domain','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'userDomain':{'description':a43_0x51c85a(0x139),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'runtimeDomain':{'description':a43_0x51c85a(0x144),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'skillHubDomain':{'description':a43_0x51c85a(0x150),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'accessKey':{'description':a43_0x51c85a(0x134),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'riskLevel':{'description':a43_0x51c85a(0x142),'topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a43_0x51c85a(0x140)],'importable':!![]},'locale':{'description':'Locale','topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a43_0x51c85a(0x13d)],'importable':!![],'legacyCompatOnly':!![]}};export const TOP_LEVEL_CONFIG_KEYS=new Set(Object[a43_0x51c85a(0x149)](CONFIG_FIELD_SCHEMAS)[a43_0x51c85a(0x152)](([,_0x58e7d3])=>_0x58e7d3['cliSettableTopLevel'])['map'](([_0xb60fbb])=>_0xb60fbb));export const CONFIG_ENUM_VALUES=Object[a43_0x51c85a(0x141)](Object['entries'](CONFIG_FIELD_SCHEMAS)[a43_0x51c85a(0x152)](([,_0x1d9bdf])=>_0x1d9bdf[a43_0x51c85a(0x137)])[a43_0x51c85a(0x136)](([_0x5cddbc,_0x48f443])=>[_0x5cddbc,[..._0x48f443['enumValues']||[]]]));export const IMPORTABLE_RUNTIME_CONFIG_KEYS=Object[a43_0x51c85a(0x149)](CONFIG_FIELD_SCHEMAS)[a43_0x51c85a(0x152)](([,_0x5e7b42])=>_0x5e7b42[a43_0x51c85a(0x13b)])[a43_0x51c85a(0x136)](([_0x182054])=>_0x182054);export function getConfigFieldSchema(_0x1e3762){return CONFIG_FIELD_SCHEMAS[_0x1e3762];}export function getConfigEnumValues(_0x37bbcd){const _0x12a75d=a43_0x51c85a;return getConfigFieldSchema(_0x37bbcd)?.[_0x12a75d(0x137)];}export function getConfigDefaultValue(_0x37debe){const _0x2849fa=a43_0x51c85a;return getConfigFieldSchema(_0x37debe)?.[_0x2849fa(0x148)];}function a43_0x4fed(){const _0x26fcae=['Target\x20environment','138927mxdgOk','defaultValue','entries','38vMGjZq','27iAkLbD','format','311170cofiIu','31985sPmIDN','has','Override\x20SkillHub\x20domain','10251544gbecno','filter','1068221PFGIHu','944tmGCJZ','8246SYBfdV','Access\x20key\x20(client-ak\x20auth)','Default\x20page\x20size','map','enumValues','legacyCompatOnly','Override\x20user\x20domain',';\x20local\x20alias:\x20apps.<alias>.appcode','importable','2082ZlrAYt','locale','289005rMffVq','36uFakKZ','riskLevel','fromEntries','Risk\x20level','env','Override\x20runtime\x20domain','Config\x20key.\x20Top-level:\x20'];a43_0x4fed=function(){return _0x26fcae;};return a43_0x4fed();}export function isTopLevelConfigKey(_0x23a82f){const _0xe70088=a43_0x51c85a;return TOP_LEVEL_CONFIG_KEYS[_0xe70088(0x14f)](_0x23a82f);}export function isLegacyCompatConfigKey(_0x256fea){const _0x3cd5fe=a43_0x51c85a;return getConfigFieldSchema(_0x256fea)?.[_0x3cd5fe(0x138)]===!![];}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function formatConfigKeyList(_0x3e262d){return[..._0x3e262d]['join'](',\x20');}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x46e0ee=a43_0x51c85a;return _0x46e0ee(0x145)+getTopLevelConfigKeySummary()+_0x46e0ee(0x13a);}export function buildAppProfileListFields(_0x107798){return{'env':_0x107798,'hasAccessKey':![],'format':null,'pageSize':null,'riskLevel':null,'locale':null};}
|
package/lib/constant/app.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a44_0x528b34=a44_0x5aa2;(function(_0x41e600,_0x5b16ab){const _0x3c6302=a44_0x5aa2,_0x3c5026=_0x41e600();while(!![]){try{const _0x2ba44b=-parseInt(_0x3c6302(0x8e))/0x1*(parseInt(_0x3c6302(0x92))/0x2)+-parseInt(_0x3c6302(0x9a))/0x3*(parseInt(_0x3c6302(0x93))/0x4)+parseInt(_0x3c6302(0x90))/0x5*(parseInt(_0x3c6302(0x94))/0x6)+-parseInt(_0x3c6302(0x8d))/0x7+parseInt(_0x3c6302(0x99))/0x8*(parseInt(_0x3c6302(0x95))/0x9)+-parseInt(_0x3c6302(0x8f))/0xa*(parseInt(_0x3c6302(0x97))/0xb)+parseInt(_0x3c6302(0x91))/0xc;if(_0x2ba44b===_0x5b16ab)break;else _0x3c5026['push'](_0x3c5026['shift']());}catch(_0xe3f8dd){_0x3c5026['push'](_0x3c5026['shift']());}}}(a44_0x1042,0xe97c5));function a44_0x5aa2(_0x36baf7,_0x12a48a){_0x36baf7=_0x36baf7-0x8d;const _0x104220=a44_0x1042();let _0x5aa2fb=_0x104220[_0x36baf7];return _0x5aa2fb;}function a44_0x1042(){const _0x4836d0=['550brFnTc','52939800CQdiUy','18066FSaPff','2300656YQcRbW','82338anrTxA','703440vRlvDu','Published','3280145XCSAUD','PUBLISHED','8EBLydN','9qBUVSm','11016628htoaOZ','94LHioZR','30WtYvDi'];a44_0x1042=function(){return _0x4836d0;};return a44_0x1042();}export const APP_PUBLISH_STATUS={'Published':a44_0x528b34(0x98),'Unpublished':'UNPUBLISH'};export const RUNTIME_ACCESSIBLE_APP_STATUS=APP_PUBLISH_STATUS[a44_0x528b34(0x96)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a45_0x1de738=a45_0x2b97;function a45_0x2b97(_0x5f9296,_0x5830db){_0x5f9296=_0x5f9296-0x7c;const _0x8be69f=a45_0x8be6();let _0x2b973f=_0x8be69f[_0x5f9296];return _0x2b973f;}(function(_0x13e71a,_0x2d39b8){const _0x48f29b=a45_0x2b97,_0x41d492=_0x13e71a();while(!![]){try{const _0x577154=-parseInt(_0x48f29b(0x7c))/0x1*(-parseInt(_0x48f29b(0x83))/0x2)+-parseInt(_0x48f29b(0x82))/0x3*(-parseInt(_0x48f29b(0x84))/0x4)+parseInt(_0x48f29b(0x7d))/0x5+-parseInt(_0x48f29b(0x86))/0x6*(-parseInt(_0x48f29b(0x7f))/0x7)+parseInt(_0x48f29b(0x87))/0x8+parseInt(_0x48f29b(0x80))/0x9+-parseInt(_0x48f29b(0x7e))/0xa;if(_0x577154===_0x2d39b8)break;else _0x41d492['push'](_0x41d492['shift']());}catch(_0x203d40){_0x41d492['push'](_0x41d492['shift']());}}}(a45_0x8be6,0x6910c));function a45_0x8be6(){const _0x19a49d=['4596984VjEenL','ClientAk','18uySJiM','1942qBKjxB','354064MYOsBS','client-ak','48qEchmq','2203152HppDJW','389ISHRKk','4144315fldjqh','28058040OFULmS','623266gMUyhy'];a45_0x8be6=function(){return _0x19a49d;};return a45_0x8be6();}export const AUTH_MODE={'ClientAk':a45_0x1de738(0x85)};export function isAuthMode(_0x218131){const _0x4fa013=a45_0x1de738;return _0x218131===AUTH_MODE[_0x4fa013(0x81)];}
|
package/lib/constant/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a46_0x300c2d=a46_0x474b;(function(_0x5aeb36,_0x551d1f){const _0x4725e9=a46_0x474b,_0x2092b2=_0x5aeb36();while(!![]){try{const _0x4254a9=parseInt(_0x4725e9(0x120))/0x1*(parseInt(_0x4725e9(0x11f))/0x2)+parseInt(_0x4725e9(0x11e))/0x3*(parseInt(_0x4725e9(0x11a))/0x4)+-parseInt(_0x4725e9(0x10c))/0x5+parseInt(_0x4725e9(0x106))/0x6*(parseInt(_0x4725e9(0x117))/0x7)+parseInt(_0x4725e9(0x12d))/0x8+-parseInt(_0x4725e9(0x108))/0x9+parseInt(_0x4725e9(0x12c))/0xa*(parseInt(_0x4725e9(0x123))/0xb);if(_0x4254a9===_0x551d1f)break;else _0x2092b2['push'](_0x2092b2['shift']());}catch(_0x29af1b){_0x2092b2['push'](_0x2092b2['shift']());}}}(a46_0x485b,0xad174));function a46_0x485b(){const _0x589fb0=['help','Clear\x20output','Output\x20format','1059018BftyPt','770yPLewn','2282WxfkOr','sqlcode','cliBinName','5516929bzZHkb','env','Force\x20non-interactive\x20mode\x20(CI)','<expr>','meowKey','string','format','non-interactive','app','30LmNvcp','324016SHrImG','Select\x20app\x20profile\x20by\x20name','Verbose\x20output','production\x20|\x20development\x20|\x20daily','Preview\x20operation\x20without\x20executing','yes','global','fromEntries','Record\x20ID','Alias\x20for\x20--non-interactive','6ybnKwj','SQL\x20query\x20code','7220277wNrdRV','map','verbose','name','7013045pBGcNx','Show\x20help','Filter\x20JSON\x20output\x20(JQ_PATH\x20>\x20bundled\x20jq\x20>\x20PATH;\x20implies\x20--format\x20json\x20when\x20current\x20format\x20is\x20pretty)','boolean','nonInteractive','params','<code>','Override\x20appcode','dry-run','appcode','JSON\x20params\x20for\x20execute\x20commands','960029XbTftI','Environment','cliDisplayName','4YqTVTv'];a46_0x485b=function(){return _0x589fb0;};return a46_0x485b();}import{PRODUCT_CONFIG}from'../constant/product.js';import{LOVRABET_NPM_PACKAGE_NAME}from'../constant/distribution.js';export const CLI_BIN_NAME=PRODUCT_CONFIG[a46_0x300c2d(0x122)];export const CLI_DISPLAY_NAME=PRODUCT_CONFIG[a46_0x300c2d(0x119)];function a46_0x474b(_0x5a0d90,_0x2201b8){_0x5a0d90=_0x5a0d90-0x103;const _0x485bee=a46_0x485b();let _0x474b98=_0x485bee[_0x5a0d90];return _0x474b98;}export const NPM_PACKAGE_NAME=LOVRABET_NPM_PACKAGE_NAME;export const GLOBAL_FLAGS=[{'name':a46_0x300c2d(0x115),'meowKey':'appcode','type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x113),'hint':a46_0x300c2d(0x112)},{'name':a46_0x300c2d(0x12b),'meowKey':a46_0x300c2d(0x12b),'type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x12e),'hint':'<name>'},{'name':'env','meowKey':'env','type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x118),'hint':a46_0x300c2d(0x130)},{'name':a46_0x300c2d(0x129),'meowKey':a46_0x300c2d(0x129),'type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x11d),'hint':'json\x20|\x20pretty\x20|\x20compress'},{'name':'jq','meowKey':'jq','type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x10e),'hint':a46_0x300c2d(0x126)},{'name':a46_0x300c2d(0x114),'meowKey':'dryRun','type':a46_0x300c2d(0x10f),'description':a46_0x300c2d(0x131)},{'name':a46_0x300c2d(0x132),'meowKey':a46_0x300c2d(0x132),'type':a46_0x300c2d(0x10f),'description':'Skip\x20confirmation\x20for\x20high-risk\x20writes'},{'name':a46_0x300c2d(0x12a),'meowKey':a46_0x300c2d(0x110),'type':a46_0x300c2d(0x10f),'description':a46_0x300c2d(0x125)},{'name':a46_0x300c2d(0x133),'meowKey':a46_0x300c2d(0x133),'type':a46_0x300c2d(0x10f),'description':'Use\x20global\x20config\x20scope'},{'name':'ci','meowKey':'ci','type':'boolean','description':a46_0x300c2d(0x105),'hidden':!![]},{'name':a46_0x300c2d(0x11b),'meowKey':a46_0x300c2d(0x11b),'type':a46_0x300c2d(0x10f),'description':a46_0x300c2d(0x10d)},{'name':'id','meowKey':'id','type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x104),'hidden':!![]},{'name':'name','meowKey':a46_0x300c2d(0x10b),'type':a46_0x300c2d(0x128),'description':'Name\x20filter','hidden':!![]},{'name':'sqlcode','meowKey':a46_0x300c2d(0x121),'type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x107),'hidden':!![]},{'name':'params','meowKey':a46_0x300c2d(0x111),'type':a46_0x300c2d(0x128),'description':a46_0x300c2d(0x116),'hidden':!![]},{'name':'verbose','meowKey':a46_0x300c2d(0x10a),'type':'boolean','description':a46_0x300c2d(0x12f),'hidden':!![]},{'name':'clear','meowKey':'clear','type':a46_0x300c2d(0x10f),'description':a46_0x300c2d(0x11c),'hidden':!![]}];export const PIPELINE_FLAG_NAMES=new Set(['appcode','app',a46_0x300c2d(0x124),a46_0x300c2d(0x129),'jq',a46_0x300c2d(0x114),a46_0x300c2d(0x132),a46_0x300c2d(0x12a),'ci']);export function buildMeowFlags(){const _0x23dc6b=a46_0x300c2d;return Object[_0x23dc6b(0x103)](GLOBAL_FLAGS[_0x23dc6b(0x109)](_0x296c73=>[_0x296c73[_0x23dc6b(0x127)],{'type':_0x296c73['type']}]));}
|
package/lib/constant/defaults.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a47_0xef5658=a47_0x5ab0;(function(_0x352a89,_0x45d61b){const _0x22c157=a47_0x5ab0,_0x19c3f6=_0x352a89();while(!![]){try{const _0x5c9e66=-parseInt(_0x22c157(0x183))/0x1+-parseInt(_0x22c157(0x18c))/0x2+-parseInt(_0x22c157(0x18f))/0x3*(-parseInt(_0x22c157(0x184))/0x4)+parseInt(_0x22c157(0x187))/0x5*(parseInt(_0x22c157(0x190))/0x6)+-parseInt(_0x22c157(0x189))/0x7*(-parseInt(_0x22c157(0x191))/0x8)+-parseInt(_0x22c157(0x18a))/0x9+-parseInt(_0x22c157(0x186))/0xa;if(_0x5c9e66===_0x45d61b)break;else _0x19c3f6['push'](_0x19c3f6['shift']());}catch(_0x13d296){_0x19c3f6['push'](_0x19c3f6['shift']());}}}(a47_0x3db6,0x87ab2));export const DEFAULT_APP_PROFILE_NAME=a47_0xef5658(0x185);export const DEFAULT_CONFIG_VALUES={'env':a47_0xef5658(0x188),'format':'compress','locale':a47_0xef5658(0x18e),'riskLevel':a47_0xef5658(0x18b)};function a47_0x5ab0(_0x366e78,_0x5489c9){_0x366e78=_0x366e78-0x183;const _0x3db6e9=a47_0x3db6();let _0x5ab0c9=_0x3db6e9[_0x366e78];return _0x5ab0c9;}export const DEFAULT_COMMAND_OUTPUT_FORMAT=a47_0xef5658(0x18d);function a47_0x3db6(){const _0x1e0b86=['6UojbaK','3016626HMfYVI','2583384XFYDRK','573629pmhUXQ','650576DZxfoA','main','398780puOrxi','10QFhObS','production','7vFjzug','3287187PwGtHE','write','238610XywPIp','compress','en-US'];a47_0x3db6=function(){return _0x1e0b86;};return a47_0x3db6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a48_0x5e89(){const _0x4de38b=['npmRegistryBaseUrl','432qcKCSH','2vpLZiV','888620oOcyBi','88ZwIstn','975087aoUKwj','1973073vMiWKB','12326710KrgPiC','356614wAffjD','113064OHZAhi','5284180ZVvNFu'];a48_0x5e89=function(){return _0x4de38b;};return a48_0x5e89();}const a48_0x496fbc=a48_0x25c1;(function(_0x28bf8d,_0x2b5dcc){const _0x46e556=a48_0x25c1,_0x490394=_0x28bf8d();while(!![]){try{const _0x2cffd9=parseInt(_0x46e556(0x177))/0x1*(parseInt(_0x46e556(0x17d))/0x2)+parseInt(_0x46e556(0x17b))/0x3+-parseInt(_0x46e556(0x17f))/0x4+-parseInt(_0x46e556(0x178))/0x5+-parseInt(_0x46e556(0x176))/0x6*(-parseInt(_0x46e556(0x17e))/0x7)+-parseInt(_0x46e556(0x179))/0x8*(parseInt(_0x46e556(0x17a))/0x9)+parseInt(_0x46e556(0x17c))/0xa;if(_0x2cffd9===_0x2b5dcc)break;else _0x490394['push'](_0x490394['shift']());}catch(_0x2d945e){_0x490394['push'](_0x490394['shift']());}}}(a48_0x5e89,0xafa12));import{PRODUCT_CONFIG}from'../constant/product.js';export const LOVRABET_NPM_PACKAGE_NAME=PRODUCT_CONFIG['npmPackageName'];function a48_0x25c1(_0x5107a6,_0x1d3fc4){_0x5107a6=_0x5107a6-0x175;const _0x5e8983=a48_0x5e89();let _0x25c15b=_0x5e8983[_0x5107a6];return _0x25c15b;}export const LOVRABET_SKILL_SOURCE=PRODUCT_CONFIG['skillSource'];export const NPM_REGISTRY_BASE_URL=PRODUCT_CONFIG[a48_0x496fbc(0x175)];
|