@lovrabet/lovrabet-cli 2.1.23-beta.4 → 2.2.0
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/README.md +13 -10
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -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/file/index.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/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.d.ts +2 -2
- 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/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.d.ts +2 -0
- package/lib/postinstall.js +1 -0
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.d.ts +37 -0
- package/lib/skills/builtin-skill.js +1 -0
- package/lib/skills/npx-skills-add.d.ts +3 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.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 +14 -3
- package/scripts/postinstall.mjs +24 -0
- package/skills/lovrabet/SKILL.md +702 -0
- package/skills/lovrabet/guides/app-resolution.md +165 -0
- package/skills/lovrabet/guides/dataset-and-data-workflow.md +170 -0
- package/skills/lovrabet/guides/sql-and-bff-workflow.md +132 -0
- package/skills/lovrabet/guides/troubleshooting.md +91 -0
- package/skills/lovrabet/references/dataset-discovery-workflow.md +160 -0
- package/skills/lovrabet/references/instant-api-workflow.md +259 -0
- package/skills/lovrabet/references/lovrabet-app-config.md +51 -0
- package/skills/lovrabet/references/lovrabet-app.md +113 -0
- package/skills/lovrabet/references/lovrabet-auth.md +136 -0
- package/skills/lovrabet/references/lovrabet-bff-workflow.md +139 -0
- package/skills/lovrabet/references/lovrabet-config-commands.md +104 -0
- package/skills/lovrabet/references/lovrabet-config.md +124 -0
- package/skills/lovrabet/references/lovrabet-doctor.md +26 -0
- package/skills/lovrabet/references/lovrabet-file-workflow.md +62 -0
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +78 -0
- package/skills/lovrabet/references/lovrabet-logs.md +19 -0
- package/skills/lovrabet/references/lovrabet-ocr-workflow.md +83 -0
- package/skills/lovrabet/references/lovrabet-output-format-jq.md +40 -0
- package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +108 -0
- package/skills/lovrabet/references/lovrabet-schedule-workflow.md +175 -0
- package/skills/lovrabet/references/lovrabet-service-tree.md +279 -0
- package/skills/lovrabet/references/lovrabet-skill-authoring.md +128 -0
- package/skills/lovrabet/references/lovrabet-skill-install.md +34 -0
- package/skills/lovrabet/references/lovrabet-skill-sync.md +146 -0
- package/skills/lovrabet/references/lovrabet-sql-workflow.md +111 -0
- package/skills/lovrabet/references/lovrabet-update.md +34 -0
- package/skills/lovrabet/references/lovrabet-workspace.md +82 -0
- package/skills/lovrabet.manifest.json +38 -0
package/lib/framework/runner.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5a2735,_0x490748){const _0x58f099=a94_0x24e5,_0x15829a=_0x5a2735();while(!![]){try{const _0x21d767=-parseInt(_0x58f099(0xd7))/0x1*(parseInt(_0x58f099(0xba))/0x2)+parseInt(_0x58f099(0xe5))/0x3+-parseInt(_0x58f099(0xbb))/0x4+-parseInt(_0x58f099(0xd1))/0x5+parseInt(_0x58f099(0xc2))/0x6+parseInt(_0x58f099(0xc4))/0x7+parseInt(_0x58f099(0xeb))/0x8*(-parseInt(_0x58f099(0xc7))/0x9);if(_0x21d767===_0x490748)break;else _0x15829a['push'](_0x15829a['shift']());}catch(_0x24bedd){_0x15829a['push'](_0x15829a['shift']());}}}(a94_0x4753,0x93079));import{runCommandWithAdapter,requireConfirmationPrompt}from'@lovrabet/cli-framework';function a94_0x4753(){const _0x4bab07=['Set\x20accessKey\x20in\x20','currentApp','cancelled','verbose','121144yKpQro','app','requiresAuth','ClientAk','pageSize','resolve','items','execute','command','appCode','212KRYTLS','307740RCGQpv','../commands/app/remote-source.js','appCodeSource','defaultVerbose','riskLevel','Set\x20appcode\x20via\x20--appcode\x20or\x20in\x20','appcode','5865570BvtVyt','includes','3883467vdFtDO','trim','rawFlags','378VEtJwL','../core/api-client.js','defaultPageSize','pretty','nonInteractive','name','format','`\x20requires\x20--yes\x20in\x20non-interactive\x20mode.\x0a','validation','filter','5949025XjUsfg','APPCODE','apiDomain','_notice','doctor','Run\x20`','997zAdkrO','string','object','.appcode\x20to\x20','requiresAppCode','env','accessKey','ACCESS_KEY','newConfigFileName','appcode\x20\x22','production','defaultApp','High-risk\x20operation\x20`','service','3234855eaLnjm','../core/sdk-client.js'];a94_0x4753=function(){return _0x4bab07;};return a94_0x4753();}import{formatOutput}from'../framework/output.js';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME,GLOBAL_FLAGS,PIPELINE_FLAG_NAMES}from'../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../constant/product.js';import{isNonInteractiveMode,readAppCodeFromConfig}from'../context.js';import{AUTH_MODE}from'../constant/auth-mode.js';import{getApiDomain}from'../constant/domain.js';import{buildConfirmationLines,reconstructCommandArgv}from'../framework/runner-confirmation.js';import{mapUserFacingExecuteError}from'../framework/runner-error.js';import{assertKnownCommandFlags}from'../framework/raw-flags.js';import{resolveLatestUpdateNotice}from'../utils/update-notice.js';import{findAppByCode,findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../commands/app/eligibility.js';export function resolveAuthMode(_0x42fd91){const _0xb383b3=a94_0x24e5;return void _0x42fd91,AUTH_MODE[_0xb383b3(0xee)];}function a94_0x24e5(_0x2d4517,_0x142239){_0x2d4517=_0x2d4517-0xb8;const _0x47530e=a94_0x4753();let _0x24e57c=_0x47530e[_0x2d4517];return _0x24e57c;}let sdkClientInitialized=![];export function createPipelineEnv(_0x35a5dc,_0x46c2a9){const _0x2997dd=a94_0x24e5,_0xebb7d0=typeof _0x46c2a9[_0x2997dd(0xec)]===_0x2997dd(0xd8)&&_0x46c2a9[_0x2997dd(0xec)][_0x2997dd(0xc5)]();return{'rawFlags':_0x46c2a9,'appCode':_0x35a5dc[_0x2997dd(0xb9)]||productEnv(_0x2997dd(0xd2))||(_0xebb7d0?undefined:readAppCodeFromConfig()),'appCodeSource':_0x35a5dc[_0x2997dd(0xbd)],'apiDomain':getApiDomain(),'isNonInteractive':isNonInteractiveMode(_0x46c2a9),'defaultFormat':_0x35a5dc['format'],'defaultPageSize':_0x35a5dc[_0x2997dd(0xef)],'defaultVerbose':_0x35a5dc[_0x2997dd(0xea)],'riskLevel':_0x35a5dc[_0x2997dd(0xbf)],'accessKey':_0x35a5dc[_0x2997dd(0xdd)],'env':_0x35a5dc[_0x2997dd(0xdc)],'mergedCli':{'defaultApp':_0x35a5dc[_0x2997dd(0xe2)],'currentApp':_0x35a5dc[_0x2997dd(0xe8)],'appCode':_0x35a5dc['appCode']}};}export function createLovrabetRunnerAdapter(_0x46a876={}){const _0x11dd58=a94_0x24e5,_0x3e868d={'cliErrors':CliErrors,'pipelineFlags':GLOBAL_FLAGS[_0x11dd58(0xd0)](_0x472467=>PIPELINE_FLAG_NAMES['has'](_0x472467[_0x11dd58(0xcc)]))['map'](({name:_0x25ba82,type:_0x39d11f,description:_0x1722e0})=>({'name':_0x25ba82,'type':_0x39d11f,'description':_0x1722e0})),'formatOutput':_0x46a876['formatOutput']??formatOutput,'getCommandLabel'(_0x2df769){const _0x2bc8f6=_0x11dd58;return CLI_BIN_NAME+'\x20'+_0x2df769[_0x2bc8f6(0xe4)]+'\x20'+_0x2df769[_0x2bc8f6(0xb8)];},'riskPolicy':{'onViolation'(_0x51e004){console['error'](_0x51e004);},'createError'(_0x19441b){const _0x2820d1=_0x11dd58;return CliErrors[_0x2820d1(0xe9)](_0x19441b);}},async 'prepare'(_0xea19a9,_0xac9bff){const _0x522cbb=_0x11dd58,_0x1a929f=resolveAuthMode(_0xac9bff);if(_0xea19a9[_0x522cbb(0xed)]!==![]){if(!_0xac9bff[_0x522cbb(0xdd)])throw CliErrors['authRequired'](_0x522cbb(0xe7)+PRODUCT_CONFIG[_0x522cbb(0xdf)]+'\x20or\x20pass\x20'+productEnvName(_0x522cbb(0xde))+'.');const {setActiveAK:_0x1cc513}=await import(_0x522cbb(0xc8));_0x1cc513(_0xac9bff['accessKey']);}let _0x5b89f4='';if(_0xea19a9['requiresAppCode']!==![]){_0x5b89f4=_0xac9bff[_0x522cbb(0xb9)]??'',_0x5b89f4=await resolveExplicitAppName(_0xea19a9,_0xac9bff,_0x5b89f4);if(!_0x5b89f4){await assertSelectedAppNameIsRuntimeAccessible(_0xea19a9,_0xac9bff);throw CliErrors['configMissing'](_0x522cbb(0xc0)+PRODUCT_CONFIG[_0x522cbb(0xdf)]+'.');}await assertAppCodeIsRuntimeAccessible(_0xea19a9,_0xac9bff,_0x5b89f4);}if(_0x5b89f4){const {initSdkClient:_0x4c9dd6}=await import(_0x522cbb(0xe6));_0x4c9dd6({'appCode':_0x5b89f4,'env':_0xac9bff[_0x522cbb(0xdc)]??'production','accessKey':_0xac9bff[_0x522cbb(0xdd)],'authMode':_0x1a929f}),sdkClientInitialized=!![];}return{'defaults':{'booleans':{'verbose':_0xac9bff[_0x522cbb(0xbe)]},'numbers':{'pagesize':_0xac9bff[_0x522cbb(0xc9)]}},'extras':{'appCode':_0x5b89f4,'cookie':'','apiDomain':_0xac9bff[_0x522cbb(0xd3)],'apiDir':'','accessKey':_0xac9bff['accessKey'],'envName':_0xac9bff[_0x522cbb(0xdc)],'mergedCli':_0xac9bff['mergedCli']}};},'confirmHighRisk':_0x46a876['confirmHighRisk']??(async({def:_0x2771dc,env:_0x1552b3,flags:_0x2b9826,commandLabel:_0x5507ab})=>{const _0x418d1e=_0x11dd58;if(_0x1552b3['isNonInteractive']){const _0x4a76ad=reconstructCommandArgv(_0x2771dc,_0x2b9826);throw CliErrors[_0x418d1e(0xcf)](_0x418d1e(0xe3)+_0x5507ab+_0x418d1e(0xce)+('\x20\x20To\x20proceed:\x20'+_0x4a76ad));}await requireConfirmationPrompt({'lines':buildConfirmationLines(_0x2771dc,_0x5507ab,_0x2b9826),'createCancelledError':_0x3da438=>CliErrors[_0x418d1e(0xe9)](_0x3da438)});}),'mapDryRunError'(_0x3f111d){return mapUserFacingExecuteError(_0x3f111d);},'mapExecuteError'(_0xd12195){return mapUserFacingExecuteError(_0xd12195);},async 'finalize'(){await finalizeLovrabetRuntimeState();}};return _0x3e868d;}const terminalRunnerAdapter=createLovrabetRunnerAdapter();export async function finalizeLovrabetRuntimeState(){const _0x2f1bda=a94_0x24e5;try{if(sdkClientInitialized){const {clearSdkClient:_0x1d2a55}=await import(_0x2f1bda(0xe6));_0x1d2a55();}}finally{sdkClientInitialized=![];const {clearActiveAK:_0xfc8cf6}=await import(_0x2f1bda(0xc8));_0xfc8cf6();}}async function resolveExplicitAppName(_0x1cea6b,_0x3de054,_0x239e72){const _0x5ba3e8=a94_0x24e5;if(_0x1cea6b[_0x5ba3e8(0xdb)]===![])return _0x239e72;const _0x5e836a=typeof _0x3de054['rawFlags'][_0x5ba3e8(0xec)]===_0x5ba3e8(0xd8)?_0x3de054[_0x5ba3e8(0xc6)][_0x5ba3e8(0xec)][_0x5ba3e8(0xc5)]():'';if(!_0x5e836a)return _0x239e72;const _0x4e71ea=typeof _0x3de054['rawFlags']['appcode']===_0x5ba3e8(0xd8)&&_0x3de054[_0x5ba3e8(0xc6)][_0x5ba3e8(0xc1)][_0x5ba3e8(0xc5)]()||productEnv(_0x5ba3e8(0xd2));if(_0x4e71ea||_0x3de054[_0x5ba3e8(0xbd)]==='local-alias')return _0x239e72;const {getRemoteAppList:_0x1d8d0d}=await import(_0x5ba3e8(0xbc)),_0x296c9f=await _0x1d8d0d({'env':_0x3de054[_0x5ba3e8(0xdc)]??_0x5ba3e8(0xe1),'accessKey':_0x3de054[_0x5ba3e8(0xdd)]}),_0x42a7b8=findAppByName(_0x296c9f['items'],_0x5e836a);if(_0x42a7b8&&!isRuntimeAccessibleApp(_0x42a7b8))throw runtimeInaccessibleAppError(_0x42a7b8,'\x22'+_0x5e836a+'\x22');const _0x596269=_0x42a7b8?.['appCode']?.['trim']();if(_0x596269)return _0x596269;throw CliErrors[_0x5ba3e8(0xcf)]('Unknown\x20app:\x20'+_0x5e836a,_0x5ba3e8(0xd6)+CLI_BIN_NAME+'\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20add\x20apps.'+_0x5e836a+_0x5ba3e8(0xda)+PRODUCT_CONFIG['newConfigFileName']+'.');}async function assertSelectedAppNameIsRuntimeAccessible(_0x2a34ea,_0xf93927){const _0x163e0a=a94_0x24e5;if(_0x2a34ea['requiresAppCode']===![]||!_0xf93927[_0x163e0a(0xdd)])return;const _0x3dcea=(typeof _0xf93927['rawFlags'][_0x163e0a(0xec)]===_0x163e0a(0xd8)&&_0xf93927[_0x163e0a(0xc6)]['app'][_0x163e0a(0xc5)]()?_0xf93927[_0x163e0a(0xc6)][_0x163e0a(0xec)]:_0xf93927['mergedCli']?.[_0x163e0a(0xe8)]??_0xf93927['mergedCli']?.[_0x163e0a(0xe2)])?.['trim']();if(!_0x3dcea)return;const {getRemoteAppList:_0x27cb51}=await import(_0x163e0a(0xbc)),_0x1fd37a=await _0x27cb51({'env':_0xf93927[_0x163e0a(0xdc)]??_0x163e0a(0xe1),'accessKey':_0xf93927['accessKey']}),_0x2b2abd=findAppByName(_0x1fd37a[_0x163e0a(0xf1)],_0x3dcea);if(_0x2b2abd&&!isRuntimeAccessibleApp(_0x2b2abd))throw runtimeInaccessibleAppError(_0x2b2abd,'\x22'+_0x3dcea+'\x22');}async function assertAppCodeIsRuntimeAccessible(_0x31617a,_0x2ad583,_0x284109){const _0xdfaf8e=a94_0x24e5;if(_0x31617a[_0xdfaf8e(0xdb)]===![]||!_0x2ad583['accessKey'])return;const {getRemoteAppList:_0x4e3a3a}=await import(_0xdfaf8e(0xbc)),_0x95a052=await _0x4e3a3a({'env':_0x2ad583['env']??_0xdfaf8e(0xe1),'accessKey':_0x2ad583['accessKey']}),_0x1a32c6=findAppByCode(_0x95a052[_0xdfaf8e(0xf1)],_0x284109);if(_0x1a32c6&&!isRuntimeAccessibleApp(_0x1a32c6))throw runtimeInaccessibleAppError(_0x1a32c6,_0xdfaf8e(0xe0)+_0x284109+'\x22');}export async function runCommand(_0x4a1bd7,_0x4be79d,_0x5adbb8=terminalRunnerAdapter){const _0x541f77=a94_0x24e5;assertKnownCommandFlags(_0x4a1bd7,_0x4be79d[_0x541f77(0xc6)]),await runCommandWithAdapter(shouldAttachUpdateNotice(_0x4a1bd7)?withUpdateNotice(_0x4a1bd7):_0x4a1bd7,_0x4be79d,_0x5adbb8);}function shouldAttachUpdateNotice(_0x1a2585){const _0x1d7bc7=a94_0x24e5;return!['update','schema',_0x1d7bc7(0xd5)][_0x1d7bc7(0xc3)](_0x1a2585[_0x1d7bc7(0xe4)]);}function withUpdateNotice(_0x4329e8){return{..._0x4329e8,async 'execute'(_0x8206c){const _0x4fa744=a94_0x24e5,_0x41466d=shouldResolveUpdateNotice(_0x8206c)?resolveLatestUpdateNotice()['catch'](()=>null):Promise[_0x4fa744(0xf0)](null),_0x3cfa37=await _0x4329e8[_0x4fa744(0xf2)](_0x8206c);return attachUpdateNotice(_0x3cfa37,await _0x41466d);}};}function shouldResolveUpdateNotice(_0x13cdf8){const _0x395758=a94_0x24e5;return _0x13cdf8[_0x395758(0xcd)]===_0x395758(0xca)&&!_0x13cdf8[_0x395758(0xcb)];}function attachUpdateNotice(_0x1e4a3b,_0x4355a1){const _0x31e6c9=a94_0x24e5;if(!_0x4355a1||!_0x1e4a3b||typeof _0x1e4a3b!==_0x31e6c9(0xd9))return _0x1e4a3b;const _0x301de6=_0x1e4a3b,_0x4da024=typeof _0x301de6[_0x31e6c9(0xd4)]===_0x31e6c9(0xd9)&&_0x301de6['_notice']!==null?_0x301de6[_0x31e6c9(0xd4)]:{};return{..._0x301de6,'_notice':{..._0x4da024,'update':_0x4355a1}};}
|
|
1
|
+
(function(_0x46de17,_0x8e4463){const _0x4531cb=a94_0x5769,_0xc058d6=_0x46de17();while(!![]){try{const _0x4142e4=-parseInt(_0x4531cb(0xd5))/0x1*(parseInt(_0x4531cb(0xdf))/0x2)+-parseInt(_0x4531cb(0xda))/0x3+parseInt(_0x4531cb(0xe2))/0x4*(parseInt(_0x4531cb(0xee))/0x5)+parseInt(_0x4531cb(0xdd))/0x6+-parseInt(_0x4531cb(0xcd))/0x7+-parseInt(_0x4531cb(0xd7))/0x8+parseInt(_0x4531cb(0xec))/0x9;if(_0x4142e4===_0x8e4463)break;else _0xc058d6['push'](_0xc058d6['shift']());}catch(_0x2cddbd){_0xc058d6['push'](_0xc058d6['shift']());}}}(a94_0x530f,0xaf176));import{runCommandWithAdapter,requireConfirmationPrompt}from'@lovrabet/cli-framework';import{formatOutput}from'../framework/output.js';import{CliErrors}from'../errors.js';function a94_0x5769(_0x5b1f96,_0x145124){_0x5b1f96=_0x5b1f96-0xcd;const _0x530fe4=a94_0x530f();let _0x576927=_0x530fe4[_0x5b1f96];return _0x576927;}import{CLI_BIN_NAME,GLOBAL_FLAGS,PIPELINE_FLAG_NAMES}from'../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../constant/product.js';import{isNonInteractiveMode,readAppCodeFromConfig}from'../context.js';import{AUTH_MODE}from'../constant/auth-mode.js';import{getApiDomain}from'../constant/domain.js';import{buildConfirmationLines,reconstructCommandArgv}from'../framework/runner-confirmation.js';import{mapUserFacingExecuteError}from'../framework/runner-error.js';import{assertKnownCommandFlags}from'../framework/raw-flags.js';import{resolveLatestUpdateNotice}from'../utils/update-notice.js';import{findAppByCode,findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../commands/app/eligibility.js';export function resolveAuthMode(_0x59f2d7){const _0x4b1e4a=a94_0x5769;return void _0x59f2d7,AUTH_MODE[_0x4b1e4a(0xf4)];}let sdkClientInitialized=![];function a94_0x530f(){const _0x4a9dea=['Set\x20appcode\x20via\x20--appcode\x20or\x20in\x20','1jYHKYW','Set\x20accessKey\x20in\x20','8596248btiLJF','has','High-risk\x20operation\x20`','454770TTcEIh','defaultVerbose','isNonInteractive','7407738lOnBKF','riskLevel','1635652FrBNHd','app','defaultApp','4QgtufE','APPCODE','ACCESS_KEY','formatOutput','schema','currentApp','mergedCli','requiresAuth','requiresAppCode','verbose','17601228SYrgkG','\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20add\x20apps.','919460KEJTOv','authRequired','appCode','\x20\x20To\x20proceed:\x20','appcode\x20\x22','accessKey','ClientAk','production','../core/sdk-client.js','execute','env','format','configMissing','validation','../commands/app/remote-source.js','appCodeSource','pageSize','command','defaultPageSize','rawFlags','confirmHighRisk','appcode','newConfigFileName','Unknown\x20app:\x20','update','.appcode\x20to\x20','doctor','Run\x20`','trim','nonInteractive','string','items','cancelled','local-alias','4291602KerSdx','service','pretty','filter','../core/api-client.js','object','_notice'];a94_0x530f=function(){return _0x4a9dea;};return a94_0x530f();}export function createPipelineEnv(_0x633104,_0x475b50){const _0x50276d=a94_0x5769,_0x5d36e1=typeof _0x475b50['app']===_0x50276d(0x10c)&&_0x475b50['app'][_0x50276d(0x10a)]();return{'rawFlags':_0x475b50,'appCode':_0x633104[_0x50276d(0xf0)]||productEnv(_0x50276d(0xe3))||(_0x5d36e1?undefined:readAppCodeFromConfig()),'appCodeSource':_0x633104['appCodeSource'],'apiDomain':getApiDomain(),'isNonInteractive':isNonInteractiveMode(_0x475b50),'defaultFormat':_0x633104[_0x50276d(0xf9)],'defaultPageSize':_0x633104[_0x50276d(0xfe)],'defaultVerbose':_0x633104[_0x50276d(0xeb)],'riskLevel':_0x633104[_0x50276d(0xde)],'accessKey':_0x633104['accessKey'],'env':_0x633104[_0x50276d(0xf8)],'mergedCli':{'defaultApp':_0x633104[_0x50276d(0xe1)],'currentApp':_0x633104[_0x50276d(0xe7)],'appCode':_0x633104[_0x50276d(0xf0)]}};}export function createLovrabetRunnerAdapter(_0x38d1ab={}){const _0x163e5d=a94_0x5769,_0x31cc37={'cliErrors':CliErrors,'pipelineFlags':GLOBAL_FLAGS[_0x163e5d(0xd0)](_0x3176a4=>PIPELINE_FLAG_NAMES[_0x163e5d(0xd8)](_0x3176a4['name']))['map'](({name:_0x1ab290,type:_0x9ea23c,description:_0x221488})=>({'name':_0x1ab290,'type':_0x9ea23c,'description':_0x221488})),'formatOutput':_0x38d1ab[_0x163e5d(0xe5)]??formatOutput,'getCommandLabel'(_0x191306){const _0x3ec6ed=_0x163e5d;return CLI_BIN_NAME+'\x20'+_0x191306['service']+'\x20'+_0x191306[_0x3ec6ed(0xff)];},'riskPolicy':{'onViolation'(_0x262818){console['error'](_0x262818);},'createError'(_0x37c1c2){return CliErrors['cancelled'](_0x37c1c2);}},async 'prepare'(_0x50616,_0x48a3e2){const _0x5775b4=_0x163e5d,_0x45d966=resolveAuthMode(_0x48a3e2);if(_0x50616[_0x5775b4(0xe9)]!==![]){if(!_0x48a3e2[_0x5775b4(0xf3)])throw CliErrors[_0x5775b4(0xef)](_0x5775b4(0xd6)+PRODUCT_CONFIG[_0x5775b4(0x104)]+'\x20or\x20pass\x20'+productEnvName(_0x5775b4(0xe4))+'.');const {setActiveAK:_0x4a0107}=await import('../core/api-client.js');_0x4a0107(_0x48a3e2[_0x5775b4(0xf3)]);}let _0x340ba8='';if(_0x50616[_0x5775b4(0xea)]!==![]){_0x340ba8=_0x48a3e2[_0x5775b4(0xf0)]??'',_0x340ba8=await resolveExplicitAppName(_0x50616,_0x48a3e2,_0x340ba8);if(!_0x340ba8){await assertSelectedAppNameIsRuntimeAccessible(_0x50616,_0x48a3e2);throw CliErrors[_0x5775b4(0xfa)](_0x5775b4(0xd4)+PRODUCT_CONFIG[_0x5775b4(0x104)]+'.');}await assertAppCodeIsRuntimeAccessible(_0x50616,_0x48a3e2,_0x340ba8);}if(_0x340ba8){const {initSdkClient:_0x430821}=await import(_0x5775b4(0xf6));_0x430821({'appCode':_0x340ba8,'env':_0x48a3e2[_0x5775b4(0xf8)]??_0x5775b4(0xf5),'accessKey':_0x48a3e2['accessKey'],'authMode':_0x45d966}),sdkClientInitialized=!![];}return{'defaults':{'booleans':{'verbose':_0x48a3e2[_0x5775b4(0xdb)]},'numbers':{'pagesize':_0x48a3e2[_0x5775b4(0x100)]}},'extras':{'appCode':_0x340ba8,'cookie':'','apiDomain':_0x48a3e2['apiDomain'],'apiDir':'','accessKey':_0x48a3e2[_0x5775b4(0xf3)],'envName':_0x48a3e2[_0x5775b4(0xf8)],'mergedCli':_0x48a3e2['mergedCli']}};},'confirmHighRisk':_0x38d1ab[_0x163e5d(0x102)]??(async({def:_0x51a400,env:_0x2e9999,flags:_0x5f12ba,commandLabel:_0x2ed68b})=>{const _0x3d6604=_0x163e5d;if(_0x2e9999[_0x3d6604(0xdc)]){const _0x7102be=reconstructCommandArgv(_0x51a400,_0x5f12ba);throw CliErrors[_0x3d6604(0xfb)](_0x3d6604(0xd9)+_0x2ed68b+'`\x20requires\x20--yes\x20in\x20non-interactive\x20mode.\x0a'+(_0x3d6604(0xf1)+_0x7102be));}await requireConfirmationPrompt({'lines':buildConfirmationLines(_0x51a400,_0x2ed68b,_0x5f12ba),'createCancelledError':_0x3efacd=>CliErrors[_0x3d6604(0x10e)](_0x3efacd)});}),'mapDryRunError'(_0xdb4e48){return mapUserFacingExecuteError(_0xdb4e48);},'mapExecuteError'(_0x3e3436){return mapUserFacingExecuteError(_0x3e3436);},async 'finalize'(){await finalizeLovrabetRuntimeState();}};return _0x31cc37;}const terminalRunnerAdapter=createLovrabetRunnerAdapter();export async function finalizeLovrabetRuntimeState(){const _0x4f1ad7=a94_0x5769;try{if(sdkClientInitialized){const {clearSdkClient:_0x40459c}=await import(_0x4f1ad7(0xf6));_0x40459c();}}finally{sdkClientInitialized=![];const {clearActiveAK:_0x4ea93e}=await import(_0x4f1ad7(0xd1));_0x4ea93e();}}async function resolveExplicitAppName(_0x5d1f8e,_0x2d0cf8,_0x31d962){const _0x307b00=a94_0x5769;if(_0x5d1f8e[_0x307b00(0xea)]===![])return _0x31d962;const _0x1cda85=typeof _0x2d0cf8[_0x307b00(0x101)][_0x307b00(0xe0)]==='string'?_0x2d0cf8[_0x307b00(0x101)][_0x307b00(0xe0)][_0x307b00(0x10a)]():'';if(!_0x1cda85)return _0x31d962;const _0x39c1db=typeof _0x2d0cf8[_0x307b00(0x101)][_0x307b00(0x103)]===_0x307b00(0x10c)&&_0x2d0cf8['rawFlags'][_0x307b00(0x103)][_0x307b00(0x10a)]()||productEnv(_0x307b00(0xe3));if(_0x39c1db||_0x2d0cf8[_0x307b00(0xfd)]===_0x307b00(0x10f))return _0x31d962;const {getRemoteAppList:_0x51f6ac}=await import('../commands/app/remote-source.js'),_0xfcc73a=await _0x51f6ac({'env':_0x2d0cf8['env']??_0x307b00(0xf5),'accessKey':_0x2d0cf8[_0x307b00(0xf3)]}),_0x74595=findAppByName(_0xfcc73a[_0x307b00(0x10d)],_0x1cda85);if(_0x74595&&!isRuntimeAccessibleApp(_0x74595))throw runtimeInaccessibleAppError(_0x74595,'\x22'+_0x1cda85+'\x22');const _0x5ca126=_0x74595?.['appCode']?.['trim']();if(_0x5ca126)return _0x5ca126;throw CliErrors[_0x307b00(0xfb)](_0x307b00(0x105)+_0x1cda85,_0x307b00(0x109)+CLI_BIN_NAME+_0x307b00(0xed)+_0x1cda85+_0x307b00(0x107)+PRODUCT_CONFIG[_0x307b00(0x104)]+'.');}async function assertSelectedAppNameIsRuntimeAccessible(_0x2d9d63,_0x2ec238){const _0x1d7785=a94_0x5769;if(_0x2d9d63[_0x1d7785(0xea)]===![]||!_0x2ec238[_0x1d7785(0xf3)])return;const _0x48ab46=(typeof _0x2ec238['rawFlags'][_0x1d7785(0xe0)]===_0x1d7785(0x10c)&&_0x2ec238['rawFlags'][_0x1d7785(0xe0)][_0x1d7785(0x10a)]()?_0x2ec238[_0x1d7785(0x101)][_0x1d7785(0xe0)]:_0x2ec238[_0x1d7785(0xe8)]?.['currentApp']??_0x2ec238['mergedCli']?.[_0x1d7785(0xe1)])?.[_0x1d7785(0x10a)]();if(!_0x48ab46)return;const {getRemoteAppList:_0x1fd083}=await import(_0x1d7785(0xfc)),_0x2817b6=await _0x1fd083({'env':_0x2ec238[_0x1d7785(0xf8)]??_0x1d7785(0xf5),'accessKey':_0x2ec238[_0x1d7785(0xf3)]}),_0x288870=findAppByName(_0x2817b6['items'],_0x48ab46);if(_0x288870&&!isRuntimeAccessibleApp(_0x288870))throw runtimeInaccessibleAppError(_0x288870,'\x22'+_0x48ab46+'\x22');}async function assertAppCodeIsRuntimeAccessible(_0x5a36dc,_0x548c86,_0x176600){const _0x200ee4=a94_0x5769;if(_0x5a36dc['requiresAppCode']===![]||!_0x548c86[_0x200ee4(0xf3)])return;const {getRemoteAppList:_0x5971a0}=await import('../commands/app/remote-source.js'),_0x44b121=await _0x5971a0({'env':_0x548c86[_0x200ee4(0xf8)]??_0x200ee4(0xf5),'accessKey':_0x548c86['accessKey']}),_0x2a0056=findAppByCode(_0x44b121[_0x200ee4(0x10d)],_0x176600);if(_0x2a0056&&!isRuntimeAccessibleApp(_0x2a0056))throw runtimeInaccessibleAppError(_0x2a0056,_0x200ee4(0xf2)+_0x176600+'\x22');}export async function runCommand(_0x94f205,_0x43ef97,_0x1c3764=terminalRunnerAdapter){const _0x4b07a6=a94_0x5769;assertKnownCommandFlags(_0x94f205,_0x43ef97[_0x4b07a6(0x101)]),await runCommandWithAdapter(shouldAttachUpdateNotice(_0x94f205)?withUpdateNotice(_0x94f205):_0x94f205,_0x43ef97,_0x1c3764);}function shouldAttachUpdateNotice(_0x283f60){const _0x115052=a94_0x5769;return![_0x115052(0x106),_0x115052(0xe6),_0x115052(0x108)]['includes'](_0x283f60[_0x115052(0xce)]);}function withUpdateNotice(_0x4a4f49){return{..._0x4a4f49,async 'execute'(_0x4bacf6){const _0x53a502=a94_0x5769,_0x3484d8=shouldResolveUpdateNotice(_0x4bacf6)?resolveLatestUpdateNotice()['catch'](()=>null):Promise['resolve'](null),_0x5aa914=await _0x4a4f49[_0x53a502(0xf7)](_0x4bacf6);return attachUpdateNotice(_0x5aa914,await _0x3484d8);}};}function shouldResolveUpdateNotice(_0x264fd4){const _0x491b7c=a94_0x5769;return _0x264fd4[_0x491b7c(0xf9)]===_0x491b7c(0xcf)&&!_0x264fd4[_0x491b7c(0x10b)];}function attachUpdateNotice(_0x4e27f1,_0x5c0880){const _0x1fcc71=a94_0x5769;if(!_0x5c0880||!_0x4e27f1||typeof _0x4e27f1!==_0x1fcc71(0xd2))return _0x4e27f1;const _0x549168=_0x4e27f1,_0x501b0c=typeof _0x549168[_0x1fcc71(0xd3)]===_0x1fcc71(0xd2)&&_0x549168[_0x1fcc71(0xd3)]!==null?_0x549168[_0x1fcc71(0xd3)]:{};return{..._0x549168,'_notice':{..._0x501b0c,'update':_0x5c0880}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x35269d,_0x455612){const _0x5b994d=a95_0x99a1,_0x3066ad=_0x35269d();while(!![]){try{const _0xa9d0e7=parseInt(_0x5b994d(0xbd))/0x1*(-parseInt(_0x5b994d(0xaa))/0x2)+-parseInt(_0x5b994d(0xb6))/0x3+-parseInt(_0x5b994d(0xb5))/0x4*(-parseInt(_0x5b994d(0xbb))/0x5)+parseInt(_0x5b994d(0xaf))/0x6+-parseInt(_0x5b994d(0xb8))/0x7*(-parseInt(_0x5b994d(0xb9))/0x8)+parseInt(_0x5b994d(0xba))/0x9*(-parseInt(_0x5b994d(0xbc))/0xa)+-parseInt(_0x5b994d(0xb1))/0xb*(parseInt(_0x5b994d(0xb4))/0xc);if(_0xa9d0e7===_0x455612)break;else _0x3066ad['push'](_0x3066ad['shift']());}catch(_0x1fed01){_0x3066ad['push'](_0x3066ad['shift']());}}}(a95_0xeccf,0x9ccbf));import{buildSchemaPayload as a95_0x3ff07a}from'@lovrabet/cli-framework';function a95_0xeccf(){const _0x374a6d=['filter','6ksvfsX','none','auth','commands','service','7607040GowjzZ','../commands/registry.js','451arGjZt','has','requiresAuth','141876RhISLz','31124zOqRXy','720732LuUBaj','map','2765476IQoZJF','24PuruBf','9QpkYpl','10DiLyyf','9511550HwJhov','50075AvqJWG'];a95_0xeccf=function(){return _0x374a6d;};return a95_0xeccf();}import{buildAllFlags}from'../framework/build-all-flags.js';function a95_0x99a1(_0x45a928,_0x973cf8){_0x45a928=_0x45a928-0xaa;const _0xeccfb1=a95_0xeccf();let _0x99a1fc=_0xeccfb1[_0x45a928];return _0x99a1fc;}import{findDynamicServiceDefinition,listDynamicServiceEntries}from'../commands/service/dynamic.js';import{insertDynamicServicesAfterServiceTree}from'../framework/service-order.js';import{CLI_BIN_NAME,CLI_DISPLAY_NAME,GLOBAL_FLAGS}from'../constant/cli.js';import{getCliGitCommit,getCliVersion}from'../utils/version.js';export async function buildSchemaPayload(){const _0x5d8da1=a95_0x99a1,{serviceRegistry:_0x3a7b7e,findDefinition:_0x36d1b1}=await import(_0x5d8da1(0xb0)),_0x3a3adb=new Set(_0x3a7b7e[_0x5d8da1(0xb7)](_0x1c4288=>_0x1c4288['service'])),_0x4627cc=listDynamicServiceEntries()[_0x5d8da1(0xbe)](_0x106a69=>!_0x3a3adb[_0x5d8da1(0xb2)](_0x106a69[_0x5d8da1(0xae)])),_0x5d7f98=a95_0x3ff07a({'cliBinName':CLI_BIN_NAME,'cliDisplayName':CLI_DISPLAY_NAME,'cliVersion':getCliVersion(),'gitCommit':getCliGitCommit(),'globalFlags':GLOBAL_FLAGS,'serviceRegistry':insertDynamicServicesAfterServiceTree(_0x3a7b7e,_0x4627cc),'buildAllFlags':buildAllFlags,'findDefinition':(_0x5049f1,_0x42dac4)=>_0x36d1b1(_0x5049f1,_0x42dac4)??findDynamicServiceDefinition(_0x5049f1,_0x42dac4)});return normalizeSchemaPayload(_0x5d7f98);}function normalizeSchemaPayload(_0x1a7c9b){const _0x259f3b=a95_0x99a1;return{..._0x1a7c9b,'schemaVersion':0x2,'services':_0x1a7c9b['services'][_0x259f3b(0xb7)](_0x2e0f6e=>({..._0x2e0f6e,'commands':_0x2e0f6e[_0x259f3b(0xad)]['map'](normalizeSchemaCommand)}))};}function normalizeSchemaCommand(_0x177f66){const _0x6daec3=a95_0x99a1,_0x1d25de=_0x177f66;return{..._0x177f66,'auth':_0x1d25de[_0x6daec3(0xac)]??(_0x177f66[_0x6daec3(0xb3)]?'required':_0x6daec3(0xab))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xce6763,_0x28d026){const _0x5da0ca=a96_0x1eb1,_0x33871f=_0xce6763();while(!![]){try{const _0x254da8=-parseInt(_0x5da0ca(0x10a))/0x1*(parseInt(_0x5da0ca(0x110))/0x2)+-parseInt(_0x5da0ca(0x112))/0x3*(-parseInt(_0x5da0ca(0x10b))/0x4)+parseInt(_0x5da0ca(0x111))/0x5+parseInt(_0x5da0ca(0x10e))/0x6+parseInt(_0x5da0ca(0x109))/0x7+parseInt(_0x5da0ca(0x10d))/0x8+-parseInt(_0x5da0ca(0x114))/0x9*(parseInt(_0x5da0ca(0x10f))/0xa);if(_0x254da8===_0x28d026)break;else _0x33871f['push'](_0x33871f['shift']());}catch(_0x9b5aea){_0x33871f['push'](_0x33871f['shift']());}}}(a96_0x364e,0x87c1d));function a96_0x1eb1(_0x1c7f2c,_0x3271ff){_0x1c7f2c=_0x1c7f2c-0x109;const _0x364e26=a96_0x364e();let _0x1eb170=_0x364e26[_0x1c7f2c];return _0x1eb170;}export function insertDynamicServicesAfterServiceTree(_0x1ba3d8,_0x7f5270){const _0x5ea780=a96_0x1eb1;if(_0x7f5270['length']===0x0)return[..._0x1ba3d8];const _0x1e048c=_0x1ba3d8['findIndex'](_0x864e7f=>_0x864e7f[_0x5ea780(0x10c)]==='service');if(_0x1e048c<0x0)return[..._0x1ba3d8,..._0x7f5270];return[..._0x1ba3d8[_0x5ea780(0x113)](0x0,_0x1e048c+0x1),..._0x7f5270,..._0x1ba3d8[_0x5ea780(0x113)](_0x1e048c+0x1)];}function a96_0x364e(){const _0x492a96=['18839LlBGOD','21568PzdlwW','service','7747944NvIsFU','5121732uKLQgi','70kQImOb','70wAoGfk','4495380jMzokp','501vFhfHS','slice','4496229vDSTsu','7635866gbqxTe'];a96_0x364e=function(){return _0x492a96;};return a96_0x364e();}
|
package/lib/framework/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a97_0x2203(){var _0x546554=['9iNHiqu','15HQtXLn','3001640VZRbTp','5386000EprMtD','41514UtDtEF','575631WLXIdv','7059228TFADwD','173464QVwgBJ','4710350vQuLFp','7eMTRXM'];a97_0x2203=function(){return _0x546554;};return a97_0x2203();}(function(_0x491a66,_0x2863d4){var _0x2f8a96=a97_0x323a,_0xdfdd11=_0x491a66();while(!![]){try{var _0xef07f2=parseInt(_0x2f8a96(0xa8))/0x1+parseInt(_0x2f8a96(0xa7))/0x2+parseInt(_0x2f8a96(0xa4))/0x3*(parseInt(_0x2f8a96(0xa0))/0x4)+parseInt(_0x2f8a96(0xa6))/0x5+-parseInt(_0x2f8a96(0xa9))/0x6+-parseInt(_0x2f8a96(0xa2))/0x7*(-parseInt(_0x2f8a96(0xa5))/0x8)+-parseInt(_0x2f8a96(0xa3))/0x9*(parseInt(_0x2f8a96(0xa1))/0xa);if(_0xef07f2===_0x2863d4)break;else _0xdfdd11['push'](_0xdfdd11['shift']());}catch(_0x2a0a8d){_0xdfdd11['push'](_0xdfdd11['shift']());}}}(a97_0x2203,0x96e42));function a97_0x323a(_0x5b26a4,_0x18cec2){_0x5b26a4=_0x5b26a4-0xa0;var _0x2203e3=a97_0x2203();var _0x323a64=_0x2203e3[_0x5b26a4];return _0x323a64;}export{riskLevelOrder,normalizeLegacyOutputFormat,isValidFormat}from'@lovrabet/cli-framework';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
2
|
-
export declare const GIT_TAG = "v2.
|
|
3
|
-
export declare const GIT_COMMIT = "
|
|
4
|
-
export declare const BUILD_TIME = "2026-08-
|
|
1
|
+
export declare const VERSION = "2.2.0";
|
|
2
|
+
export declare const GIT_TAG = "v2.2.0";
|
|
3
|
+
export declare const GIT_COMMIT = "a02f4a3";
|
|
4
|
+
export declare const BUILD_TIME = "2026-08-12T02:43:48.212Z";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a98_0x11b144=a98_0x3ad5;(function(_0x222aad,_0x191397){const _0x2ea13e=a98_0x3ad5,_0x38f8ad=_0x222aad();while(!![]){try{const _0x2d70dc=-parseInt(_0x2ea13e(0x1dc))/0x1+parseInt(_0x2ea13e(0x1df))/0x2+-parseInt(_0x2ea13e(0x1dd))/0x3+parseInt(_0x2ea13e(0x1e1))/0x4+-parseInt(_0x2ea13e(0x1d9))/0x5+-parseInt(_0x2ea13e(0x1de))/0x6+parseInt(_0x2ea13e(0x1db))/0x7;if(_0x2d70dc===_0x191397)break;else _0x38f8ad['push'](_0x38f8ad['shift']());}catch(_0x45583c){_0x38f8ad['push'](_0x38f8ad['shift']());}}}(a98_0x4b09,0x9f248));function a98_0x3ad5(_0x49542c,_0x293bf9){_0x49542c=_0x49542c-0x1d9;const _0x4b09a3=a98_0x4b09();let _0x3ad504=_0x4b09a3[_0x49542c];return _0x3ad504;}export const VERSION='2.2.0';export const GIT_TAG='v2.2.0';export const GIT_COMMIT=a98_0x11b144(0x1e0);export const BUILD_TIME=a98_0x11b144(0x1da);function a98_0x4b09(){const _0xe31ad4=['423810fYnEkW','4125780YqDkwJ','2165070aGQHKn','a02f4a3','3409752xegusY','5591475qKOUZW','2026-08-12T02:43:48.212Z','4727499rVOevx','11287HSABRj'];a98_0x4b09=function(){return _0xe31ad4;};return a98_0x4b09();}
|
package/lib/help.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2590c8,_0x47c02f){const _0x18602f=a99_0x1b23,_0x4a75b2=_0x2590c8();while(!![]){try{const _0x4b1052=-parseInt(_0x18602f(0x179))/0x1*(parseInt(_0x18602f(0x173))/0x2)+parseInt(_0x18602f(0x180))/0x3*(parseInt(_0x18602f(0x177))/0x4)+-parseInt(_0x18602f(0x17b))/0x5*(-parseInt(_0x18602f(0x182))/0x6)+parseInt(_0x18602f(0x17a))/0x7*(parseInt(_0x18602f(0x176))/0x8)+-parseInt(_0x18602f(0x172))/0x9*(-parseInt(_0x18602f(0x178))/0xa)+parseInt(_0x18602f(0x17c))/0xb+-parseInt(_0x18602f(0x17e))/0xc*(parseInt(_0x18602f(0x17f))/0xd);if(_0x4b1052===_0x47c02f)break;else _0x4a75b2['push'](_0x4a75b2['shift']());}catch(_0x10f308){_0x4a75b2['push'](_0x4a75b2['shift']());}}}(a99_0x28af,0xd2cb5));import{jsx as a99_0x19a178,jsxs as a99_0x4d6d9c}from'react/jsx-runtime';import{useEffect}from'react';function a99_0x1b23(_0x2b9ddb,_0x157a55){_0x2b9ddb=_0x2b9ddb-0x172;const _0x28afaa=a99_0x28af();let _0x1b2334=_0x28afaa[_0x2b9ddb];return _0x1b2334;}import{Box,Text,useApp}from'ink';import{CLI_BIN_NAME,CLI_DISPLAY_NAME}from'./constant/cli.js';export function Help(){const _0x1a3754=a99_0x1b23,{exit:_0x20b6f0}=useApp();return useEffect(()=>{_0x20b6f0();},[_0x20b6f0]),a99_0x4d6d9c(Box,{'flexDirection':_0x1a3754(0x181),'marginTop':0x1,'marginBottom':0x1,'children':[a99_0x19a178(Box,{'children':a99_0x19a178(Text,{'bold':!![],'color':_0x1a3754(0x175),'children':'\x20\x20'+CLI_DISPLAY_NAME})}),a99_0x4d6d9c(Box,{'marginTop':0x1,'children':[a99_0x19a178(Text,{'dimColor':!![],'children':_0x1a3754(0x17d)}),a99_0x19a178(Text,{'bold':!![],'color':_0x1a3754(0x175),'children':CLI_BIN_NAME+_0x1a3754(0x174)}),a99_0x19a178(Text,{'dimColor':!![],'children':'\x20to\x20view\x20available\x20commands.'})]})]});}function a99_0x28af(){const _0x4d1e33=['\x20--help','green','1577944eZUsng','32nHjFkU','680430FJwrGA','417sdoZgL','28cHjQal','5YMRSkq','17405245YiEvqy','\x20\x20Use\x20','132ZyTUIE','5348642lGONtt','273528MLbRRy','column','7700982aKSFKs','162NdfMhb','1054DevQhN'];a99_0x28af=function(){return _0x4d1e33;};return a99_0x28af();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a100_0x5e7b(_0x138517,_0x983ad1){_0x138517=_0x138517-0x75;const _0x25b959=a100_0x25b9();let _0x5e7b15=_0x25b959[_0x138517];return _0x5e7b15;}(function(_0x49250e,_0xfb8fdc){const _0x1a7365=a100_0x5e7b,_0x3667e8=_0x49250e();while(!![]){try{const _0x133f9e=-parseInt(_0x1a7365(0x76))/0x1*(parseInt(_0x1a7365(0x79))/0x2)+-parseInt(_0x1a7365(0x86))/0x3*(parseInt(_0x1a7365(0x81))/0x4)+-parseInt(_0x1a7365(0x84))/0x5*(parseInt(_0x1a7365(0x8b))/0x6)+-parseInt(_0x1a7365(0x7f))/0x7+parseInt(_0x1a7365(0x87))/0x8+-parseInt(_0x1a7365(0x8a))/0x9+parseInt(_0x1a7365(0x85))/0xa*(parseInt(_0x1a7365(0x75))/0xb);if(_0x133f9e===_0xfb8fdc)break;else _0x3667e8['push'](_0x3667e8['shift']());}catch(_0x2c35a4){_0x3667e8['push'](_0x3667e8['shift']());}}}(a100_0x25b9,0xc8867));import{installBuiltinSkill}from'./skills/builtin-skill.js';function a100_0x25b9(){const _0x379f2a=['changed','already\x20current','1978945PDSiEP','43176390MzfklX','29886axZMzu','538304lANVna','[BUILTIN_SKILL_INSTALL_','Lovrabet\x20Built-in\x20Skill\x20','5652972HGoXBn','6qqECtS','installedPath','11yQBXNL','4054dSpkCc','FAILED','\x20via\x20skills@latest','442kihtkG','repairCommand','\x20at\x20','code','SOURCE_INVALID','error','6973505bFbXdU','log','260iVfMff'];a100_0x25b9=function(){return _0x379f2a;};return a100_0x25b9();}export async function runPostinstall(_0x109192={}){const _0x3f0c80=a100_0x5e7b,_0xca844f=installBuiltinSkill(_0x109192);if(_0xca844f['ok']){const _0x4e13ac=_0xca844f[_0x3f0c80(0x82)]?'installed':_0x3f0c80(0x83),_0x31aa89=_0xca844f[_0x3f0c80(0x8c)]?_0x3f0c80(0x7b)+_0xca844f[_0x3f0c80(0x8c)]:_0x3f0c80(0x78);return console[_0x3f0c80(0x80)](_0x3f0c80(0x89)+_0xca844f['skillVersion']+'\x20'+_0x4e13ac+_0x31aa89),_0xca844f;}const _0x59e43f=_0x3f0c80(0x88)+(_0xca844f[_0x3f0c80(0x7c)]??_0x3f0c80(0x77))+']\x20'+(_0xca844f[_0x3f0c80(0x7e)]??'Installation\x20failed')+'.\x20'+('Repair\x20with:\x20'+_0xca844f[_0x3f0c80(0x7a)]);if(_0xca844f[_0x3f0c80(0x7c)]===_0x3f0c80(0x7d))throw new Error(_0x59e43f);return console['warn'](_0x59e43f),_0xca844f;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3c17a1,_0x139478){const _0x599889=a101_0x3190,_0x297bba=_0x3c17a1();while(!![]){try{const _0x2d602c=parseInt(_0x599889(0x135))/0x1*(-parseInt(_0x599889(0x12f))/0x2)+parseInt(_0x599889(0x12e))/0x3*(-parseInt(_0x599889(0x13e))/0x4)+parseInt(_0x599889(0x139))/0x5+-parseInt(_0x599889(0x138))/0x6*(-parseInt(_0x599889(0x12c))/0x7)+-parseInt(_0x599889(0x137))/0x8*(parseInt(_0x599889(0x13b))/0x9)+-parseInt(_0x599889(0x13c))/0xa+-parseInt(_0x599889(0x140))/0xb*(-parseInt(_0x599889(0x13f))/0xc);if(_0x2d602c===_0x139478)break;else _0x297bba['push'](_0x297bba['shift']());}catch(_0x4166b2){_0x297bba['push'](_0x297bba['shift']());}}}(a101_0x4d54,0x792b8));const DESCRIPTION_MAX_LENGTH=0x1f4;function a101_0x3190(_0x4939d2,_0x260c3c){_0x4939d2=_0x4939d2-0x12c;const _0x4d54c0=a101_0x4d54();let _0x319073=_0x4d54c0[_0x4939d2];return _0x319073;}export function buildLovrabetConfirmationRequest(_0x57bb66,_0x59486e,_0x2f133e){const _0x566147=a101_0x3190,_0x5cd834=normalizeText(_0x57bb66[_0x566147(0x134)],DESCRIPTION_MAX_LENGTH),_0x55fc0e=normalizeText(_0x57bb66[_0x566147(0x12d)],DESCRIPTION_MAX_LENGTH);return{'operation':_0x59486e,'risk':requireWriteRisk(_0x57bb66),'description':_0x5cd834||_0x55fc0e||_0x566147(0x141),..._0x2f133e?{'signal':_0x2f133e}:{}};}function requireWriteRisk(_0x17c662){const _0x56597e=a101_0x3190;if(_0x17c662[_0x56597e(0x132)]===_0x56597e(0x136)||_0x17c662[_0x56597e(0x132)]===_0x56597e(0x131))return _0x17c662[_0x56597e(0x132)];throw new Error(_0x56597e(0x13d));}function a101_0x4d54(){const _0x5040d7=['confirmationDescription','673363IKucyb','write','213240eJIfkf','2436WrisxB','1772505eXcrkp','string','108XeikGC','3655060WZSciv','Lovrabet\x20confirmation\x20requires\x20a\x20write\x20command.','1880124IGxLam','36xtJxvf','6408149eJbzKO','执行该写入操作','3843eCrrJu','description','3DZpYdp','2ZJhWXi','slice','high-risk-write','risk','replace'];a101_0x4d54=function(){return _0x5040d7;};return a101_0x4d54();}function normalizeText(_0x939a78,_0x279b71){const _0x41972a=a101_0x3190;if(typeof _0x939a78!==_0x41972a(0x13a))return'';return _0x939a78[_0x41972a(0x133)](/[\u0000-\u001f\u007f]+/g,'\x20')['replace'](/\s+/g,'\x20')['trim']()[_0x41972a(0x130)](0x0,_0x279b71);}
|
package/lib/runtime/event.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a102_0x564b(){const _0x126115=['100422gYydNf','51952XiSjCn','command','writeEventSubject','high-risk-write','4304298Kymkch','434ARmabT','join','923100PDWxmO','1289978DlXcWA','3408804czWJBM','56YBBBbN','split','risk','21714705LkSrZj'];a102_0x564b=function(){return _0x126115;};return a102_0x564b();}function a102_0x4897(_0x2b3e44,_0x2954ef){_0x2b3e44=_0x2b3e44-0x1e4;const _0x564bbf=a102_0x564b();let _0x489710=_0x564bbf[_0x2b3e44];return _0x489710;}(function(_0x532a2b,_0x4e1bcb){const _0x2259b5=a102_0x4897,_0x10c989=_0x532a2b();while(!![]){try{const _0x409843=parseInt(_0x2259b5(0x1f1))/0x1+-parseInt(_0x2259b5(0x1e4))/0x2*(-parseInt(_0x2259b5(0x1e8))/0x3)+parseInt(_0x2259b5(0x1f2))/0x4+-parseInt(_0x2259b5(0x1f0))/0x5+parseInt(_0x2259b5(0x1ed))/0x6+-parseInt(_0x2259b5(0x1ee))/0x7*(parseInt(_0x2259b5(0x1e9))/0x8)+-parseInt(_0x2259b5(0x1e7))/0x9;if(_0x409843===_0x4e1bcb)break;else _0x10c989['push'](_0x10c989['shift']());}catch(_0x308bef){_0x10c989['push'](_0x10c989['shift']());}}}(a102_0x564b,0xc28a9));export function canonicalLovrabetOperation(_0x125c92){const _0x59cb9b=a102_0x4897;return[_0x125c92['service'],..._0x125c92[_0x59cb9b(0x1ea)]['trim']()[_0x59cb9b(0x1e5)](/\s+/)]['filter'](Boolean)[_0x59cb9b(0x1ef)]('.');}export function createLovrabetWriteMetadata(_0x4a341b,_0x36d59a,_0x456a25,_0x1c15ab){const _0x33668e=a102_0x4897;if(_0x1c15ab||_0x456a25['ok']!==!![]||_0x4a341b['risk']!=='write'&&_0x4a341b[_0x33668e(0x1e6)]!==_0x33668e(0x1ec))return undefined;const _0x56a3b8=_0x4a341b[_0x33668e(0x1eb)]?.(_0x456a25),_0x3f94b3={'type':'lovrabet.write.completed','operation':_0x36d59a,'risk':_0x4a341b['risk'],..._0x56a3b8?{'subject':_0x56a3b8}:{}};return{'lovrabet':{'schemaVersion':0x1,'event':_0x3f94b3}};}
|
package/lib/runtime/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5471f6,_0x1ca5f8){const _0x15c86f=a103_0x8f44,_0xb0e509=_0x5471f6();while(!![]){try{const _0xdbab50=-parseInt(_0x15c86f(0xdd))/0x1*(parseInt(_0x15c86f(0xd8))/0x2)+parseInt(_0x15c86f(0xd7))/0x3+-parseInt(_0x15c86f(0xd3))/0x4*(-parseInt(_0x15c86f(0xe1))/0x5)+-parseInt(_0x15c86f(0xcc))/0x6+-parseInt(_0x15c86f(0xd1))/0x7*(parseInt(_0x15c86f(0xd9))/0x8)+parseInt(_0x15c86f(0xe4))/0x9+parseInt(_0x15c86f(0xda))/0xa;if(_0xdbab50===_0x1ca5f8)break;else _0xb0e509['push'](_0xb0e509['shift']());}catch(_0x194e45){_0xb0e509['push'](_0xb0e509['shift']());}}}(a103_0x7cae,0xbe2c1));function a103_0x8f44(_0x19c5db,_0x8d0333){_0x19c5db=_0x19c5db-0xc8;const _0x7cae6b=a103_0x7cae();let _0x8f4406=_0x7cae6b[_0x19c5db];return _0x8f4406;}import{buildConfigFromFlags,initGlobalEnvironment}from'../context.js';import{createLovrabetRunnerAdapter,createPipelineEnv,finalizeLovrabetRuntimeState,runCommand}from'../framework/runner.js';import{canonicalLovrabetOperation,createLovrabetWriteMetadata}from'../runtime/event.js';import{buildLovrabetConfirmationRequest}from'../runtime/confirmation.js';function a103_0x7cae(){const _0x3a737b=['3414141FwdRJZ','data','args','isNonInteractive','high-risk-write','dry-run','confirm','rawFlags','result','execute','write','dryRun','6805680OKtEVr','definition','Lovrabet\x20invocation\x20completed\x20without\x20a\x20captured\x20command\x20result.','Lovrabet\x20invocation\x20aborted.','present','161sezMwu','stringify','4CtPpTP','command','format','aborted','3894324dSKXvn','7858mszbaN','427696KBfUDO','11737930lJdoHV','signal','message','278jpvgKu','reason','Embedded\x20Lovrabet\x20confirmation\x20must\x20run\x20inside\x20execute.','riskLevel','6919315OqrbvH','risk','yes'];a103_0x7cae=function(){return _0x3a737b;};return a103_0x7cae();}import{resolveLovrabetInvocation}from'../runtime/resolve.js';import{runSerialized}from'../runtime/queue.js';const defaultPresentation={'present'({result:_0x47b25d,command:_0x5c6528,risk:_0x178af5,dryRun:_0x17fa57}){const _0x1bd22d=a103_0x8f44;return JSON[_0x1bd22d(0xd2)]({'ok':_0x47b25d['ok'],'command':_0x5c6528,'risk':_0x178af5,..._0x17fa57?{'dryRun':!![]}:{},..._0x47b25d[_0x1bd22d(0xe5)]!==undefined?{'data':_0x47b25d['data']}:{},..._0x47b25d[_0x1bd22d(0xdc)]?{'message':_0x47b25d[_0x1bd22d(0xdc)]}:{}});}};export async function invokeLovrabet(_0x9d0779,_0x11eacf){const _0x291d9d=a103_0x8f44;throwIfAborted(_0x11eacf['signal']);const _0x558786=await resolveLovrabetInvocation(_0x9d0779),_0x417570=canonicalLovrabetOperation(_0x558786['definition']);return await confirmWriteBeforeQueue(_0x558786[_0x291d9d(0xcd)],_0x558786['rawFlags'],_0x417570,_0x11eacf),runSerialized(async()=>{const _0x3bae17=_0x291d9d;throwIfAborted(_0x11eacf[_0x3bae17(0xdb)]);const _0xdd948d={},_0x19ce97=buildConfigFromFlags(_0x558786['rawFlags']);await initGlobalEnvironment(_0x19ce97);const _0x21f338=createPipelineEnv(_0x19ce97,{..._0x558786[_0x3bae17(0xeb)],'yes':_0x558786['definition']['risk']===_0x3bae17(0xe8)?!![]:_0x558786[_0x3bae17(0xeb)][_0x3bae17(0xe3)],'nonInteractive':!![]});_0x21f338[_0x3bae17(0xe6)]=_0x558786['args'],_0x21f338[_0x3bae17(0xe7)]=!![],_0x21f338[_0x3bae17(0xe0)]=_0x3bae17(0xe8);const _0x47a1ea=withAbortSignal(_0x558786[_0x3bae17(0xcd)],_0x11eacf[_0x3bae17(0xdb)]),_0x3bf5a5=createLovrabetRunnerAdapter({'formatOutput'(_0x4744a2,_0x59e756){const _0x18bf24=_0x3bae17;_0xdd948d[_0x18bf24(0xc8)]=_0x4744a2,_0xdd948d[_0x18bf24(0xd4)]=_0x59e756[_0x18bf24(0xd4)],_0xdd948d[_0x18bf24(0xe2)]=_0x59e756['risk'],_0xdd948d[_0x18bf24(0xd5)]=_0x59e756[_0x18bf24(0xd5)],_0xdd948d[_0x18bf24(0xcb)]=_0x59e756['dryRun']===!![];},async 'confirmHighRisk'(){const _0x4beac4=_0x3bae17;throw new Error(_0x4beac4(0xdf));}});try{await runCommand(_0x47a1ea,_0x21f338,_0x3bf5a5);if(!_0xdd948d[_0x3bae17(0xc8)]||!_0xdd948d[_0x3bae17(0xd4)]||!_0xdd948d[_0x3bae17(0xe2)]||!_0xdd948d[_0x3bae17(0xd5)])throw new Error(_0x3bae17(0xce));const _0x203486=_0x11eacf['presentation']??defaultPresentation,_0x3510f2=_0xdd948d[_0x3bae17(0xcb)]===!![],_0x557165={'result':_0xdd948d[_0x3bae17(0xc8)],'command':_0xdd948d['command'],'operation':_0x417570,'risk':_0xdd948d['risk'],'format':_0xdd948d['format'],'dryRun':_0x3510f2},_0x2b1c8e=createLovrabetWriteMetadata(_0x558786['definition'],_0x417570,_0xdd948d['result'],_0x3510f2);let _0x21268b;try{_0x21268b=await _0x203486[_0x3bae17(0xd0)](_0x557165);}catch(_0x3c857b){if(!_0x2b1c8e||_0x203486===defaultPresentation)throw _0x3c857b;_0x21268b=await defaultPresentation[_0x3bae17(0xd0)](_0x557165);}return{'operation':_0x417570,'risk':_0xdd948d[_0x3bae17(0xe2)],'mode':_0x3510f2?_0x3bae17(0xe9):_0x3bae17(0xc9),'result':_0xdd948d[_0x3bae17(0xc8)],'output':_0x21268b,..._0x2b1c8e?{'metadata':_0x2b1c8e}:{}};}finally{await finalizeLovrabetRuntimeState();}});}async function confirmWriteBeforeQueue(_0x4743e4,_0x50ec2d,_0x155252,_0x4d1512){const _0x2fa005=a103_0x8f44;if(_0x50ec2d['dryRun']===!![]||_0x4743e4[_0x2fa005(0xe2)]!==_0x2fa005(0xca)&&_0x4743e4['risk']!=='high-risk-write')return;await _0x4d1512['confirmation'][_0x2fa005(0xea)](buildLovrabetConfirmationRequest(_0x4743e4,_0x155252,_0x4d1512['signal']));}function withAbortSignal(_0x5b3555,_0x12de66){return{..._0x5b3555,async 'execute'(_0x576a93){return throwIfAborted(_0x12de66),_0x5b3555['execute'](_0x576a93);}};}function throwIfAborted(_0x255dd1){const _0x45b91f=a103_0x8f44;if(_0x255dd1?.[_0x45b91f(0xd6)])throw _0x255dd1[_0x45b91f(0xde)]instanceof Error?_0x255dd1['reason']:new DOMException(_0x45b91f(0xcf),'AbortError');}
|
package/lib/runtime/queue.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a104_0x1c6558=a104_0x4d13;(function(_0x538f39,_0x246598){const _0x49c069=a104_0x4d13,_0x4a3257=_0x538f39();while(!![]){try{const _0x5f0169=-parseInt(_0x49c069(0x162))/0x1*(parseInt(_0x49c069(0x15f))/0x2)+parseInt(_0x49c069(0x164))/0x3+parseInt(_0x49c069(0x168))/0x4+parseInt(_0x49c069(0x163))/0x5+-parseInt(_0x49c069(0x167))/0x6+-parseInt(_0x49c069(0x161))/0x7*(parseInt(_0x49c069(0x160))/0x8)+parseInt(_0x49c069(0x165))/0x9;if(_0x5f0169===_0x246598)break;else _0x4a3257['push'](_0x4a3257['shift']());}catch(_0x163213){_0x4a3257['push'](_0x4a3257['shift']());}}}(a104_0x12bc,0x926ae));function a104_0x4d13(_0x96e188,_0x30c7b3){_0x96e188=_0x96e188-0x15e;const _0x12bc20=a104_0x12bc();let _0x4d13fe=_0x12bc20[_0x96e188];return _0x4d13fe;}function a104_0x12bc(){const _0x35df8d=['2460126hnsvNx','1615944BEgeuN','catch','1714470TnzmUC','4009936FkHLcC','7GCnEDI','1PYStJE','3843405iUrWBZ','1751574MRsdnM','5505291hLcnEV','resolve'];a104_0x12bc=function(){return _0x35df8d;};return a104_0x12bc();}let tail=Promise[a104_0x1c6558(0x166)]();export async function runSerialized(_0x4b3adb){const _0x50812a=a104_0x1c6558,_0x517eea=tail;let _0x4ccc20;tail=new Promise(_0x33c7e5=>{_0x4ccc20=_0x33c7e5;}),await _0x517eea[_0x50812a(0x15e)](()=>undefined);try{return await _0x4b3adb();}finally{_0x4ccc20();}}
|
package/lib/runtime/resolve.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e35c7,_0x210275){const _0x31d92a=a105_0x2dd5,_0x15c246=_0x4e35c7();while(!![]){try{const _0x2d05b3=parseInt(_0x31d92a(0x1ca))/0x1+parseInt(_0x31d92a(0x1c7))/0x2*(parseInt(_0x31d92a(0x1ce))/0x3)+-parseInt(_0x31d92a(0x1ba))/0x4*(parseInt(_0x31d92a(0x1c8))/0x5)+-parseInt(_0x31d92a(0x1c4))/0x6*(parseInt(_0x31d92a(0x1cc))/0x7)+parseInt(_0x31d92a(0x1c9))/0x8*(-parseInt(_0x31d92a(0x1cd))/0x9)+parseInt(_0x31d92a(0x1cb))/0xa+parseInt(_0x31d92a(0x1be))/0xb*(parseInt(_0x31d92a(0x1c2))/0xc);if(_0x2d05b3===_0x210275)break;else _0x15c246['push'](_0x15c246['shift']());}catch(_0x3afa93){_0x15c246['push'](_0x15c246['shift']());}}}(a105_0x42b9,0xb9af2));import a105_0x2468e8 from'meow';import{findDefinition,getServiceEntry,isKnownService,resolveRemovedCommand}from'../commands/registry.js';import{resolveDynamicServiceCommand}from'../commands/service/dynamic.js';function a105_0x42b9(){const _0x42df80=['validation','join','args','24078934QISiKk','unknownCommand','../commands/registry.js','Lovrabet\x20argv\x20must\x20include\x20a\x20command\x20for\x20service\x20\x22','12SWQtqh','../framework/preparse.js','18XrqJxu','hint','flags','86YgsgcF','1935zLtokw','2882680ZtgVSl','530165Ngzaki','9302420Lrgipl','1980433SZCgGI','18CVHQuu','2637FWnfRH','assign','Lovrabet\x20argv\x20must\x20include\x20a\x20service\x20and\x20command.','defaultCommand','14028ekvENv'];a105_0x42b9=function(){return _0x42df80;};return a105_0x42b9();}import{buildMeowFlags}from'../constant/cli.js';function a105_0x2dd5(_0x32e7bf,_0x974304){_0x32e7bf=_0x32e7bf-0x1b7;const _0x42b9da=a105_0x42b9();let _0x2dd5e0=_0x42b9da[_0x32e7bf];return _0x2dd5e0;}import{CliErrors}from'../errors.js';export async function resolveLovrabetInvocation(_0x203a7d){const _0x4d28ce=a105_0x2dd5,_0x254eee=a105_0x2468e8('',{'importMeta':import.meta,'argv':_0x203a7d,'flags':buildMeowFlags(),'autoHelp':![],'autoVersion':![]}),_0x5025cb=[..._0x254eee['input']],_0x5a020c=_0x254eee['flags'];await correctFlags(_0x5a020c);const _0x2876e4=_0x5025cb[0x0];if(!_0x2876e4)throw CliErrors[_0x4d28ce(0x1bb)](_0x4d28ce(0x1b8));const _0x3c26c1=resolveRemovedCommand(_0x2876e4,_0x5025cb[0x1]);if(_0x3c26c1)throw CliErrors[_0x4d28ce(0x1bb)](_0x3c26c1['message'],_0x3c26c1[_0x4d28ce(0x1c5)]);if(!isKnownService(_0x2876e4)){const _0x166151=resolveDynamicServiceCommand(_0x5025cb,_0x5a020c);if(!_0x166151)throw CliErrors[_0x4d28ce(0x1bf)](_0x5025cb[_0x4d28ce(0x1bc)]('\x20'));return Object[_0x4d28ce(0x1b7)](_0x5a020c,_0x166151[_0x4d28ce(0x1c6)]),{'definition':_0x166151['definition'],'rawFlags':_0x5a020c,'args':_0x166151[_0x4d28ce(0x1bd)]};}const _0x11f905=getServiceEntry(_0x2876e4),_0x4d72de=_0x5025cb[0x1]||_0x11f905[_0x4d28ce(0x1b9)];if(!_0x4d72de)throw CliErrors['validation'](_0x4d28ce(0x1c1)+_0x2876e4+'\x22.');const _0x1b62ac=findDefinition(_0x2876e4,_0x4d72de);if(!_0x1b62ac)throw CliErrors[_0x4d28ce(0x1bf)](_0x2876e4+'\x20'+_0x4d72de);return{'definition':_0x1b62ac,'rawFlags':_0x5a020c,'args':_0x5025cb['slice'](0x2)};}async function correctFlags(_0x8d95af){const _0x54981c=a105_0x2dd5;try{const {correctFlags:_0x36450e}=await import(_0x54981c(0x1c3)),{getAllDefinitions:_0x10c232}=await import(_0x54981c(0x1c0)),_0x8b850f=_0x10c232()['flatMap'](_0x4d5258=>_0x4d5258[_0x54981c(0x1c6)]??[]),_0x431478=_0x36450e(_0x8d95af,_0x8b850f);Object[_0x54981c(0x1b7)](_0x8d95af,_0x431478[_0x54981c(0x1c6)]);}catch{}}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type BuiltinSkillState = "missing" | "current" | "version_mismatch" | "content_mismatch" | "unverifiable";
|
|
2
|
+
export type BuiltinSkillInstallCode = "SOURCE_INVALID" | "INSTALL_FAILED" | "VERIFY_FAILED";
|
|
3
|
+
export interface BuiltinSkillOptions {
|
|
4
|
+
packageRoot?: string;
|
|
5
|
+
home?: string;
|
|
6
|
+
stdio?: "inherit" | "pipe";
|
|
7
|
+
}
|
|
8
|
+
export interface BuiltinSkillStatus {
|
|
9
|
+
state: BuiltinSkillState;
|
|
10
|
+
packageVersion: string;
|
|
11
|
+
skillVersion?: string;
|
|
12
|
+
installedPath?: string;
|
|
13
|
+
digest?: string;
|
|
14
|
+
reason?: string;
|
|
15
|
+
repairCommand: string;
|
|
16
|
+
}
|
|
17
|
+
export interface BuiltinSkillInstallResult {
|
|
18
|
+
ok: boolean;
|
|
19
|
+
code?: BuiltinSkillInstallCode;
|
|
20
|
+
packageVersion: string;
|
|
21
|
+
skillVersion: string;
|
|
22
|
+
installedPath?: string;
|
|
23
|
+
changed: boolean;
|
|
24
|
+
repairCommand: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface InstalledBuiltinSkillVersionStatus {
|
|
28
|
+
state: "current" | "missing" | "version_mismatch" | "unverifiable";
|
|
29
|
+
expectedVersion: string;
|
|
30
|
+
skillVersion?: string;
|
|
31
|
+
installedPath?: string;
|
|
32
|
+
reason?: string;
|
|
33
|
+
repairCommand: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function inspectInstalledBuiltinSkillVersion(expectedVersion: string, options?: Pick<BuiltinSkillOptions, "home">): InstalledBuiltinSkillVersionStatus;
|
|
36
|
+
export declare function inspectBuiltinSkill(options?: BuiltinSkillOptions): BuiltinSkillStatus;
|
|
37
|
+
export declare function installBuiltinSkill(options?: BuiltinSkillOptions): BuiltinSkillInstallResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a107_0x1915ee=a107_0x1a97;(function(_0x4b5945,_0x2489f8){const _0x40f4e3=a107_0x1a97,_0x4029bc=_0x4b5945();while(!![]){try{const _0x286a13=-parseInt(_0x40f4e3(0x10f))/0x1+-parseInt(_0x40f4e3(0xf7))/0x2*(-parseInt(_0x40f4e3(0x106))/0x3)+-parseInt(_0x40f4e3(0xe5))/0x4*(-parseInt(_0x40f4e3(0x10c))/0x5)+parseInt(_0x40f4e3(0x116))/0x6*(-parseInt(_0x40f4e3(0xee))/0x7)+-parseInt(_0x40f4e3(0xf1))/0x8+parseInt(_0x40f4e3(0x10a))/0x9*(-parseInt(_0x40f4e3(0xff))/0xa)+parseInt(_0x40f4e3(0xef))/0xb;if(_0x286a13===_0x2489f8)break;else _0x4029bc['push'](_0x4029bc['shift']());}catch(_0x4b844a){_0x4029bc['push'](_0x4029bc['shift']());}}}(a107_0x2e2a,0xd96f7));import{createHash}from'node:crypto';import{lstatSync,readFileSync,readdirSync}from'node:fs';import{homedir}from'node:os';import{dirname,join,relative,resolve,sep}from'node:path';import{fileURLToPath}from'node:url';import{runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';function a107_0x2e2a(){const _0x4d45d2=['sort','home','1104062OhkFzj','SOURCE_INVALID','length','isFile','update','schemaVersion','lovrabet.manifest.json','42xmkmWc',':\x5cs*(.+)$','name','join','skipped','SKILL.md','error','Symbolic\x20link\x20is\x20not\x20allowed:\x20','reason','isSymbolicLink','absent','packageRoot','hex','utf8','missing','version','lovrabet\x20cli-skill\x20install','3327076NXEWCh','INSTALL_FAILED','skills','current','lovrabet','files','VERIFY_FAILED','skillVersion','path','1195089LIgvpX','34089396fNyRfC','installedPath','4471984ZGRuhm','state','isDirectory','unverifiable','digest','unknown','219782BwPaeU','message','present','skills@latest\x20exited\x20','Installed\x20Skill\x20state\x20is\x20','Unsupported\x20Skill\x20entry:\x20','package.json','pipe','12070dtHqRU','match','content_mismatch','split','packageVersion','root','sha256','12VtZAvw','trim','every','includes','4635XrJlhR','flatMap','5EGTsMI'];a107_0x2e2a=function(){return _0x4d45d2;};return a107_0x2e2a();}import{resolveInstalledSkill}from'../skills/skill-presence.js';const DEFAULT_PACKAGE_ROOT=resolve(dirname(fileURLToPath(import.meta.url)),'..','..'),REPAIR_COMMAND=a107_0x1915ee(0xe4),SKILL_NAME=a107_0x1915ee(0xe9);function frontmatterValue(_0x573fc9,_0x305e53){const _0x22d357=a107_0x1915ee;return _0x573fc9[_0x22d357(0x100)](new RegExp('^'+_0x305e53+_0x22d357(0x117),'m'))?.[0x1]?.[_0x22d357(0x107)]()??'';}function listFiles(_0x310bc0,_0xd5a4ab=_0x310bc0){const _0x5431eb=a107_0x1915ee;return readdirSync(_0xd5a4ab,{'withFileTypes':!![]})[_0x5431eb(0x10b)](_0x5bb0e1=>{const _0xb53666=_0x5431eb,_0x31ab27=join(_0xd5a4ab,_0x5bb0e1[_0xb53666(0x118)]),_0x41928a=lstatSync(_0x31ab27);if(_0x41928a[_0xb53666(0xdd)]())throw new Error(_0xb53666(0xdb)+_0x31ab27);if(_0x41928a[_0xb53666(0xf3)]())return listFiles(_0x310bc0,_0x31ab27);if(!_0x41928a[_0xb53666(0x112)]())throw new Error(_0xb53666(0xfc)+_0x31ab27);return[relative(_0x310bc0,_0x31ab27)[_0xb53666(0x102)](sep)[_0xb53666(0xd7)]('/')];})[_0x5431eb(0x10d)]((_0x1a6221,_0x10cfbd)=>_0x1a6221<_0x10cfbd?-0x1:_0x1a6221>_0x10cfbd?0x1:0x0);}function digestFiles(_0x5333e1,_0x1d6725){const _0x3aff4f=a107_0x1915ee,_0x53e83a=createHash(_0x3aff4f(0x105));for(const _0x2a7678 of _0x1d6725){if(_0x2a7678['startsWith']('/')||_0x2a7678['split']('/')['includes']('..')||_0x2a7678[_0x3aff4f(0x109)]('\x5c'))throw new Error('Unsafe\x20manifest\x20path:\x20'+_0x2a7678);_0x53e83a['update'](_0x2a7678),_0x53e83a[_0x3aff4f(0x113)]('\x00'),_0x53e83a['update'](readFileSync(join(_0x5333e1,..._0x2a7678[_0x3aff4f(0x102)]('/')))),_0x53e83a['update']('\x00');}return _0x53e83a[_0x3aff4f(0xf5)](_0x3aff4f(0xe0));}function sameFiles(_0x303082,_0x103921){const _0x59a1c6=a107_0x1915ee;return _0x303082[_0x59a1c6(0x111)]===_0x103921['length']&&_0x303082[_0x59a1c6(0x108)]((_0x5180ee,_0x77cf7a)=>_0x5180ee===_0x103921[_0x77cf7a]);}function a107_0x1a97(_0x452fee,_0x4396e2){_0x452fee=_0x452fee-0xd7;const _0x2e2a64=a107_0x2e2a();let _0x1a9752=_0x2e2a64[_0x452fee];return _0x1a9752;}function readSource(_0x4be05f){const _0x45d8b4=a107_0x1915ee,_0x44f9f5=JSON['parse'](readFileSync(join(_0x4be05f,_0x45d8b4(0xfd)),_0x45d8b4(0xe1))),_0x309de3=JSON['parse'](readFileSync(join(_0x4be05f,_0x45d8b4(0xe7),_0x45d8b4(0x115)),_0x45d8b4(0xe1))),_0x1d5032=join(_0x4be05f,'skills',SKILL_NAME),_0x1e704c=frontmatterValue(readFileSync(join(_0x1d5032,_0x45d8b4(0xd9)),_0x45d8b4(0xe1)),_0x45d8b4(0xe3)),_0x41414d=listFiles(_0x1d5032);if(_0x309de3[_0x45d8b4(0x114)]!==0x1||_0x309de3[_0x45d8b4(0x118)]!==SKILL_NAME||!_0x44f9f5[_0x45d8b4(0xe3)]||_0x309de3[_0x45d8b4(0x103)]!==_0x44f9f5[_0x45d8b4(0xe3)]||_0x309de3[_0x45d8b4(0xec)]!==_0x44f9f5['version']||_0x1e704c!==_0x44f9f5[_0x45d8b4(0xe3)]||!sameFiles(_0x41414d,_0x309de3[_0x45d8b4(0xea)])||digestFiles(_0x1d5032,_0x41414d)!==_0x309de3[_0x45d8b4(0xf5)])throw new Error('Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest');return{'packageVersion':_0x44f9f5[_0x45d8b4(0xe3)],'skillVersion':_0x1e704c,'root':_0x1d5032,'manifest':_0x309de3};}function installedSkillPath(_0x27e3f3){const _0x346d1d=a107_0x1915ee,_0x44afcc=resolveInstalledSkill(SKILL_NAME,{'home':_0x27e3f3});if(_0x44afcc['state']===_0x346d1d(0xf9))return{'state':_0x346d1d(0xf9),'path':dirname(_0x44afcc[_0x346d1d(0xed)])};if(_0x44afcc[_0x346d1d(0xf2)]===_0x346d1d(0xde))return{'state':_0x346d1d(0xe2)};return{'state':_0x346d1d(0xf4),'reason':_0x44afcc[_0x346d1d(0xdc)]};}export function inspectInstalledBuiltinSkillVersion(_0x565823,_0x4b7d53={}){const _0x5bf057=a107_0x1915ee,_0x57f68f=installedSkillPath(_0x4b7d53[_0x5bf057(0x10e)]??homedir());if(_0x57f68f['state']==='missing')return{'state':_0x5bf057(0xe2),'expectedVersion':_0x565823,'repairCommand':REPAIR_COMMAND};if(_0x57f68f['state']===_0x5bf057(0xf4))return{'state':_0x5bf057(0xf4),'expectedVersion':_0x565823,'reason':_0x57f68f['reason'],'repairCommand':REPAIR_COMMAND};try{const _0x3d9454=frontmatterValue(readFileSync(join(_0x57f68f['path'],_0x5bf057(0xd9)),_0x5bf057(0xe1)),_0x5bf057(0xe3));return{'state':_0x3d9454===_0x565823?_0x5bf057(0xe8):'version_mismatch','expectedVersion':_0x565823,'skillVersion':_0x3d9454,'installedPath':_0x57f68f[_0x5bf057(0xed)],'repairCommand':REPAIR_COMMAND};}catch(_0x6ad3fb){return{'state':'unverifiable','expectedVersion':_0x565823,'installedPath':_0x57f68f[_0x5bf057(0xed)],'reason':_0x6ad3fb instanceof Error?_0x6ad3fb[_0x5bf057(0xf8)]:String(_0x6ad3fb),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0xac7a7={}){const _0x1c896e=a107_0x1915ee,_0x4c2bf7=_0xac7a7[_0x1c896e(0xdf)]??DEFAULT_PACKAGE_ROOT;let _0x1825f9;try{_0x1825f9=readSource(_0x4c2bf7);}catch(_0x437e79){return{'state':'unverifiable','packageVersion':'unknown','reason':_0x437e79 instanceof Error?_0x437e79['message']:String(_0x437e79),'repairCommand':REPAIR_COMMAND};}const _0x4e1257=installedSkillPath(_0xac7a7[_0x1c896e(0x10e)]??homedir());if(_0x4e1257[_0x1c896e(0xf2)]===_0x1c896e(0xe2))return{'state':'missing','packageVersion':_0x1825f9[_0x1c896e(0x103)],'repairCommand':REPAIR_COMMAND};if(_0x4e1257[_0x1c896e(0xf2)]==='unverifiable')return{'state':_0x1c896e(0xf4),'packageVersion':_0x1825f9[_0x1c896e(0x103)],'reason':_0x4e1257[_0x1c896e(0xdc)],'repairCommand':REPAIR_COMMAND};try{const _0x7112df=frontmatterValue(readFileSync(join(_0x4e1257['path'],'SKILL.md'),_0x1c896e(0xe1)),_0x1c896e(0xe3));if(_0x7112df!==_0x1825f9[_0x1c896e(0xec)])return{'state':'version_mismatch','packageVersion':_0x1825f9['packageVersion'],'skillVersion':_0x7112df,'installedPath':_0x4e1257[_0x1c896e(0xed)],'repairCommand':REPAIR_COMMAND};const _0x209ade=listFiles(_0x4e1257['path']),_0x1aac74=digestFiles(_0x4e1257['path'],_0x209ade);return{'state':sameFiles(_0x209ade,_0x1825f9['manifest'][_0x1c896e(0xea)])&&_0x1aac74===_0x1825f9['manifest']['digest']?_0x1c896e(0xe8):_0x1c896e(0x101),'packageVersion':_0x1825f9['packageVersion'],'skillVersion':_0x7112df,'installedPath':_0x4e1257[_0x1c896e(0xed)],'digest':_0x1aac74,'repairCommand':REPAIR_COMMAND};}catch(_0x42189e){return{'state':_0x1c896e(0xf4),'packageVersion':_0x1825f9[_0x1c896e(0x103)],'installedPath':_0x4e1257[_0x1c896e(0xed)],'reason':_0x42189e instanceof Error?_0x42189e[_0x1c896e(0xf8)]:String(_0x42189e),'repairCommand':REPAIR_COMMAND};}}function failure(_0x773895,_0x482c5a,_0x22d616,_0x391f72){const _0x4473aa=a107_0x1915ee;return{'ok':![],'code':_0x773895,'packageVersion':_0x482c5a[_0x4473aa(0x103)],'skillVersion':_0x482c5a['skillVersion'],'installedPath':_0x391f72,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x22d616 instanceof Error?_0x22d616[_0x4473aa(0xf8)]:String(_0x22d616)};}export function installBuiltinSkill(_0x44bbdb={}){const _0x185d1d=a107_0x1915ee,_0x3edef2=_0x44bbdb[_0x185d1d(0xdf)]??DEFAULT_PACKAGE_ROOT,_0xb7af7a=_0x44bbdb['home']??homedir();let _0x48a161;try{_0x48a161=readSource(_0x3edef2);}catch(_0x13e47a){return failure(_0x185d1d(0x110),{'packageVersion':_0x185d1d(0xf6),'skillVersion':'unknown'},_0x13e47a);}const _0x1f89e8=inspectBuiltinSkill({'packageRoot':_0x3edef2,'home':_0xb7af7a}),_0x4b6dfc=runNpxSkillsAddGlobal(_0x3edef2,_0x48a161[_0x185d1d(0x104)],{'stdio':_0x44bbdb['stdio']??_0x185d1d(0xfe),'expectedSkillName':SKILL_NAME,'presence':{'home':_0xb7af7a}});if(_0x4b6dfc[_0x185d1d(0xd8)])return{'ok':!![],'packageVersion':_0x48a161['packageVersion'],'skillVersion':_0x48a161['skillVersion'],'installedPath':_0x1f89e8[_0x185d1d(0xf0)],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0x4b6dfc['ok'])return failure(_0x185d1d(0xe6),_0x48a161,_0x4b6dfc[_0x185d1d(0xda)]??_0x185d1d(0xfa)+_0x4b6dfc['status']);const _0x471c0e=inspectBuiltinSkill({'packageRoot':_0x3edef2,'home':_0xb7af7a});if(_0x471c0e[_0x185d1d(0xf2)]!==_0x185d1d(0xe8))return failure(_0x185d1d(0xeb),_0x48a161,_0x471c0e[_0x185d1d(0xdc)]??_0x185d1d(0xfb)+_0x471c0e[_0x185d1d(0xf2)],_0x471c0e[_0x185d1d(0xf0)]);return{'ok':!![],'packageVersion':_0x48a161[_0x185d1d(0x103)],'skillVersion':_0x48a161[_0x185d1d(0xec)],'installedPath':_0x471c0e['installedPath'],'changed':_0x1f89e8[_0x185d1d(0xf2)]!=='current','repairCommand':REPAIR_COMMAND};}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Official `skills` CLI integration used by `lovrabet cli-skill install`.
|
|
3
3
|
*
|
|
4
|
-
* The runtime CLI currently only needs the `npx skills add <
|
|
4
|
+
* The runtime CLI currently only needs the `npx -y skills@latest add <source> -g -y`
|
|
5
5
|
* flow, so this module intentionally keeps the surface area narrow.
|
|
6
6
|
*/
|
|
7
7
|
import { type ResolveSkillPresenceOptions } from "../skills/skill-presence.js";
|
|
@@ -46,6 +46,8 @@ export interface RunNpxSkillsAddOptions {
|
|
|
46
46
|
stdio?: "inherit" | "pipe";
|
|
47
47
|
/** Override how global Skill install state is probed (isolated environments or tests). */
|
|
48
48
|
presence?: ResolveSkillPresenceOptions;
|
|
49
|
+
/** Expected installed Skill name for package-local paths that have no source mapping. */
|
|
50
|
+
expectedSkillName?: string;
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* Failure classification.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a108_0x589a20=a108_0x5bab;(function(_0x188aec,_0x3d08e2){const _0x9164d6=a108_0x5bab,_0x436f5d=_0x188aec();while(!![]){try{const _0x564769=parseInt(_0x9164d6(0x138))/0x1+parseInt(_0x9164d6(0x14b))/0x2*(-parseInt(_0x9164d6(0x12f))/0x3)+-parseInt(_0x9164d6(0x14d))/0x4*(-parseInt(_0x9164d6(0x146))/0x5)+-parseInt(_0x9164d6(0x134))/0x6*(parseInt(_0x9164d6(0x152))/0x7)+parseInt(_0x9164d6(0x131))/0x8+parseInt(_0x9164d6(0x13d))/0x9*(parseInt(_0x9164d6(0x154))/0xa)+parseInt(_0x9164d6(0x157))/0xb;if(_0x564769===_0x3d08e2)break;else _0x436f5d['push'](_0x436f5d['shift']());}catch(_0x5dc07d){_0x436f5d['push'](_0x436f5d['shift']());}}}(a108_0x141a,0xe5bb8));import{spawnSync}from'node:child_process';import{resolveNpmBin}from'../utils/platform.js';import{LOVRABET_SKILL_SOURCE as a108_0x50d7bb}from'../constant/distribution.js';import{PRODUCT_CONFIG,productEnvName}from'../constant/product.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';export const LOVRABET_SKILL_SOURCE=a108_0x50d7bb;export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG['internalSkillSource'];export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG[a108_0x589a20(0x142)];export function resolveGlobalSkillName(_0x282784){const _0x4f69cb=a108_0x589a20;switch(_0x282784[_0x4f69cb(0x139)]()){case LOVRABET_SKILL_SOURCE:case LOVRABET_SKILL_GIT_SOURCE:return LOVRABET_GLOBAL_SKILL_NAME;default:return undefined;}}function a108_0x5bab(_0x156012,_0x45e6cf){_0x156012=_0x156012-0x12c;const _0x141add=a108_0x141a();let _0x5babf2=_0x141add[_0x156012];return _0x5babf2;}export const LOVRABET_SKIP_NPX_SKILLS_ENV=productEnvName(PRODUCT_CONFIG[a108_0x589a20(0x14a)]);function a108_0x141a(){const _0xf0bf91=['checked','match','stdout','NPM_CONFIG_GLOBAL','7MNmewc','expectedSkillName','20JaUdwC','filter','stderr','3278011oYIRws','Installer\x20reported\x20','npm_config_global','skills@latest','join','state','21BHclwz','warn','7658400tqvFQB','exit\x20','\x22\x20install\x20state:\x20','9357612clPqmt','error','status','CHILD_TERMINATED','103532VrkgWl','trim','signal','PERMISSION_DENIED','EPERM','4074237lmFQYj','message','toString','absent','Skill\x20\x22','globalSkillName','EACCES','log','code','8035aemRcn','CHILD_EXIT_NONZERO','\x20failed\x20target(s)','pipe','skipNpxSkillsEnvSuffix','49548VFgdLK','SKILL_NOT_INSTALLED','1020edJuAc'];a108_0x141a=function(){return _0xf0bf91;};return a108_0x141a();}const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function failure(_0x25089e,_0x4fee4c,_0x3838dd){return{'ok':![],'status':_0x4fee4c,'code':_0x25089e,'error':'['+_0x25089e+']\x20'+_0x3838dd};}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}export function runNpxSkillsAddGlobal(_0x26aab1,_0x36bcdb=LOVRABET_SKILL_SOURCE,_0x5d5e7f){const _0x3b0d7c=a108_0x589a20;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x1779e2=resolveNpmBin('npx'),_0x4f32dc=['-y',_0x3b0d7c(0x12c),'add',_0x36bcdb,'-g','-y'],_0x23284c=[_0x1779e2,..._0x4f32dc][_0x3b0d7c(0x12d)]('\x20');console[_0x3b0d7c(0x144)]('*\x20'+_0x23284c);const _0x40f49e={...process.env};delete _0x40f49e[_0x3b0d7c(0x159)],delete _0x40f49e[_0x3b0d7c(0x151)];const _0x510351=spawnSync(_0x1779e2,_0x4f32dc,{'cwd':_0x26aab1,'stdio':_0x3b0d7c(0x149),'env':_0x40f49e,'shell':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x4b287f=[_0x510351[_0x3b0d7c(0x150)]?_0x510351[_0x3b0d7c(0x150)][_0x3b0d7c(0x13f)]():'',_0x510351[_0x3b0d7c(0x156)]?_0x510351[_0x3b0d7c(0x156)]['toString']():''][_0x3b0d7c(0x155)](Boolean)[_0x3b0d7c(0x12d)]('\x0a')[_0x3b0d7c(0x139)]();_0x5d5e7f?.['stdio']!==_0x3b0d7c(0x149)&&_0x4b287f&&console[_0x3b0d7c(0x144)](_0x4b287f);if(_0x510351[_0x3b0d7c(0x135)]){const _0x305aa5=_0x510351['error'],_0x79aa2c=_0x305aa5[_0x3b0d7c(0x145)]==='ENOENT'?'NPX_NOT_FOUND':_0x305aa5[_0x3b0d7c(0x145)]===_0x3b0d7c(0x13c)||_0x305aa5['code']===_0x3b0d7c(0x143)?_0x3b0d7c(0x13b):'SPAWN_FAILED';return failure(_0x79aa2c,_0x510351[_0x3b0d7c(0x136)],_0x305aa5[_0x3b0d7c(0x13e)]);}if(_0x510351[_0x3b0d7c(0x13a)])return failure(_0x3b0d7c(0x137),_0x510351[_0x3b0d7c(0x136)],'npx\x20terminated\x20by\x20signal\x20'+_0x510351[_0x3b0d7c(0x13a)]);if(_0x510351['status']!==0x0)return failure(_0x3b0d7c(0x147),_0x510351[_0x3b0d7c(0x136)],_0x4b287f||_0x3b0d7c(0x132)+(_0x510351[_0x3b0d7c(0x136)]??'unknown'));const _0x126ee3=_0x4b287f[_0x3b0d7c(0x14f)](/Failed to install\s+(\d+)/i);if(_0x126ee3&&Number(_0x126ee3[0x1])>0x0)return failure('INSTALL_PARTIAL',0x0,_0x3b0d7c(0x158)+_0x126ee3[0x1]+_0x3b0d7c(0x148)+(_0x4b287f?':\x0a'+_0x4b287f:''));const _0x26daa8=_0x5d5e7f?.[_0x3b0d7c(0x153)]??resolveGlobalSkillName(_0x36bcdb);if(_0x26daa8){const _0x1f49ad=resolveInstalledSkill(_0x26daa8,_0x5d5e7f?.['presence']);if(_0x1f49ad[_0x3b0d7c(0x12e)]===_0x3b0d7c(0x140))return failure(_0x3b0d7c(0x14c),0x0,_0x3b0d7c(0x141)+_0x26daa8+'\x22\x20not\x20found\x20after\x20install\x20(checked\x20'+_0x1f49ad[_0x3b0d7c(0x14e)][_0x3b0d7c(0x12d)](',\x20')+')');_0x1f49ad[_0x3b0d7c(0x12e)]==='unverifiable'&&console[_0x3b0d7c(0x130)]('!\x20Could\x20not\x20verify\x20\x22'+_0x26daa8+_0x3b0d7c(0x133)+_0x1f49ad['reason']);}return{'ok':!![],'status':0x0};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a109_0x306b88=a109_0x42f1;(function(_0x3bd08e,_0x939b93){const _0x4b2ff2=a109_0x42f1,_0x46c4d7=_0x3bd08e();while(!![]){try{const _0x32dda4=-parseInt(_0x4b2ff2(0x109))/0x1+-parseInt(_0x4b2ff2(0x10c))/0x2+parseInt(_0x4b2ff2(0x110))/0x3+-parseInt(_0x4b2ff2(0x105))/0x4+parseInt(_0x4b2ff2(0x108))/0x5+-parseInt(_0x4b2ff2(0x106))/0x6+-parseInt(_0x4b2ff2(0x10a))/0x7*(-parseInt(_0x4b2ff2(0x111))/0x8);if(_0x32dda4===_0x939b93)break;else _0x46c4d7['push'](_0x46c4d7['shift']());}catch(_0x36128d){_0x46c4d7['push'](_0x46c4d7['shift']());}}}(a109_0xe8e9,0x394db));export const METADATA_FILE='lovrabet.skill.json';function a109_0x42f1(_0x5d35c5,_0x5a4107){_0x5d35c5=_0x5d35c5-0x104;const _0xe8e9b6=a109_0xe8e9();let _0x42f1f5=_0xe8e9b6[_0x5d35c5];return _0x42f1f5;}export const SKILL_FILE=a109_0x306b88(0x104);export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,'.DS_Store']);function a109_0xe8e9(){const _0x213b8b=['.hg','coverage','.git','106251NEUAhx','2872EUrCjW','.turbo','.cache','node_modules','SKILL.md','953292iGImro','1634058icHhaT','.svn','674445shQXLb','411400FrlsDb','26446WytJHd','build','739654nsUGLA'];a109_0xe8e9=function(){return _0x213b8b;};return a109_0xe8e9();}export const IGNORED_DIR_NAMES=new Set([a109_0x306b88(0x10f),a109_0x306b88(0x10d),a109_0x306b88(0x107),a109_0x306b88(0x114),'.next','dist',a109_0x306b88(0x10b),a109_0x306b88(0x10e),a109_0x306b88(0x112),a109_0x306b88(0x113)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x10a8e8,_0x5e95f1){const _0x569725=a110_0x33cc,_0x18a139=_0x10a8e8();while(!![]){try{const _0x3ebe64=parseInt(_0x569725(0xae))/0x1+parseInt(_0x569725(0xb8))/0x2*(-parseInt(_0x569725(0xb7))/0x3)+-parseInt(_0x569725(0xb3))/0x4+parseInt(_0x569725(0xb4))/0x5*(parseInt(_0x569725(0xad))/0x6)+parseInt(_0x569725(0xb5))/0x7*(-parseInt(_0x569725(0xbb))/0x8)+parseInt(_0x569725(0xaf))/0x9*(-parseInt(_0x569725(0xbe))/0xa)+parseInt(_0x569725(0xbd))/0xb;if(_0x3ebe64===_0x5e95f1)break;else _0x18a139['push'](_0x18a139['shift']());}catch(_0x5bee23){_0x18a139['push'](_0x18a139['shift']());}}}(a110_0x52d2,0x18723));import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x148131,_0x1da036){const _0x337729=a110_0x33cc,_0x4896e0=normalizeSkillRelativePath(_0x1da036),_0xf53e90=realOrResolved(_0x148131),_0x515d66=resolve(_0xf53e90,..._0x4896e0[_0x337729(0xb0)]('/'));if(!isPathInside(_0x515d66,_0xf53e90))throw CliErrors[_0x337729(0xb2)](_0x337729(0xc0)+_0x1da036);return ensureNoSymlinkInManagedPath(_0xf53e90,_0x4896e0),_0x515d66;}export function ensureNoSymlinkInManagedPath(_0x3f1215,_0x234e57){const _0x3f24d0=a110_0x33cc;let _0x5c5219=_0x3f1215;for(const _0x33d66c of _0x234e57[_0x3f24d0(0xb0)]('/')){_0x5c5219=resolve(_0x5c5219,_0x33d66c);const _0x5b8f1a=lstatIfPresent(_0x5c5219);if(_0x5b8f1a?.[_0x3f24d0(0xbc)]())throw CliErrors[_0x3f24d0(0xb2)](_0x3f24d0(0xbf)+_0x234e57);}}export function isDanglingSymlink(_0x1dba55){const _0x1b5ed3=a110_0x33cc;try{return lstatSync(_0x1dba55)[_0x1b5ed3(0xbc)]();}catch{return![];}}export function resolveSymlinkTarget(_0x45554a){const _0x11e033=readlinkSync(_0x45554a);return isAbsolute(_0x11e033)?_0x11e033:resolve(dirname(_0x45554a),_0x11e033);}export function isPathInside(_0x52ff13,_0x379c03){const _0x4b80d9=a110_0x33cc,_0xae479e=_0x52ff13[_0x4b80d9(0xba)](sep)?_0x52ff13:''+_0x52ff13+sep,_0x30fca7=_0x379c03[_0x4b80d9(0xba)](sep)?_0x379c03:''+_0x379c03+sep;return _0x52ff13===_0x379c03||_0xae479e[_0x4b80d9(0xb6)](_0x30fca7);}function a110_0x52d2(){const _0x369e6a=['from','validation','503976fNvIQz','2945bqGbUf','7PYCBMP','startsWith','42OqfZPl','26050VcrUma','.tmp','endsWith','226552cwHAxH','isSymbolicLink','3935074yQwDvA','718030lnXVEg','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','Unsafe\x20Skill\x20file\x20path:\x20','462fyjrcu','105510qlCvIX','9BhqjDM','split'];a110_0x52d2=function(){return _0x369e6a;};return a110_0x52d2();}function a110_0x33cc(_0x44d078,_0x15780a){_0x44d078=_0x44d078-0xad;const _0x52d205=a110_0x52d2();let _0x33cc47=_0x52d205[_0x44d078];return _0x33cc47;}export function realOrResolved(_0x57a26e){try{return realpathSync(_0x57a26e);}catch{return resolve(_0x57a26e);}}export function lstatIfPresent(_0x2eb0bf){try{return lstatSync(_0x2eb0bf);}catch{return undefined;}}export function writeTextAtomic(_0x272562,_0x2fc54e,_0x3fb3bf){const _0x1ff3c4=a110_0x33cc;writeBytesAtomic(_0x272562,Buffer[_0x1ff3c4(0xb1)](_0x2fc54e,'utf8'),_0x3fb3bf);}export function writeBytesAtomic(_0x79649f,_0x40d740,_0x1334e9){const _0x37d136=a110_0x33cc,_0x53edee=_0x79649f+_0x37d136(0xb9);try{writeFileSync(_0x53edee,_0x40d740,{'mode':_0x1334e9}),renameSync(_0x53edee,_0x79649f);}catch(_0x4e0980){try{rmSync(_0x53edee,{'force':!![]});}catch{}throw _0x4e0980;}}export function writeJsonAtomic(_0x38ecd7,_0x57287a){writeTextAtomic(_0x38ecd7,JSON['stringify'](_0x57287a,null,0x2)+'\x0a',0x180);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3cc85a,_0x1b526b){const _0x3948b5=a111_0x1186,_0x23c183=_0x3cc85a();while(!![]){try{const _0x1a9d31=parseInt(_0x3948b5(0x124))/0x1*(parseInt(_0x3948b5(0x131))/0x2)+parseInt(_0x3948b5(0x128))/0x3+parseInt(_0x3948b5(0x12b))/0x4*(-parseInt(_0x3948b5(0x126))/0x5)+parseInt(_0x3948b5(0x12c))/0x6+parseInt(_0x3948b5(0x125))/0x7+-parseInt(_0x3948b5(0x12d))/0x8*(parseInt(_0x3948b5(0x12e))/0x9)+-parseInt(_0x3948b5(0x122))/0xa;if(_0x1a9d31===_0x1b526b)break;else _0x23c183['push'](_0x23c183['shift']());}catch(_0x3ba036){_0x23c183['push'](_0x23c183['shift']());}}}(a111_0x5ed2,0x74ebc));import{createHash}from'node:crypto';import{fileContent,normalizeManifestFiles}from'./local-files.js';function a111_0x1186(_0x5daea3,_0x1abad1){_0x5daea3=_0x5daea3-0x122;const _0x5ed260=a111_0x5ed2();let _0x1186ff=_0x5ed260[_0x5daea3];return _0x1186ff;}export function contentHash(_0x2b7263){const _0x5b9ade=a111_0x1186;return createHash(_0x5b9ade(0x129))[_0x5b9ade(0x12a)](_0x2b7263)['digest'](_0x5b9ade(0x130));}export function fileHash(_0x1afdea){return bufferSha256(fileContent(_0x1afdea));}function a111_0x5ed2(){const _0x30c7c8=['hex','279822wZEsrO','4781900DOGorr','path','4eTTRKQ','4580807PaJyso','290PNkGKx','digest','569349Blouur','sha256','update','26812HkjeJc','4291428ojezGN','6185552ATgLuG','9NnApWK','size'];a111_0x5ed2=function(){return _0x30c7c8;};return a111_0x5ed2();}export function bufferSha256(_0x273bfa){const _0x33d68a=a111_0x1186;return createHash(_0x33d68a(0x129))[_0x33d68a(0x12a)](_0x273bfa)['digest']('hex');}export function fileTreeHash(_0xd1638){const _0x5d1147=a111_0x1186,_0x3f8013=createHash(_0x5d1147(0x129));for(const _0x32b48e of normalizeManifestFiles(_0xd1638)){_0x3f8013[_0x5d1147(0x12a)](_0x32b48e[_0x5d1147(0x123)]),_0x3f8013['update']('\x00'),_0x3f8013[_0x5d1147(0x12a)](_0x32b48e[_0x5d1147(0x129)]),_0x3f8013['update']('\x00'),_0x3f8013['update'](String(_0x32b48e[_0x5d1147(0x12f)])),_0x3f8013['update']('\x00');}return _0x3f8013[_0x5d1147(0x127)](_0x5d1147(0x130));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a112_0x4007(_0x36cb6f,_0x43b753){_0x36cb6f=_0x36cb6f-0x13e;const _0x595038=a112_0x5950();let _0x400764=_0x595038[_0x36cb6f];return _0x400764;}const a112_0x2cd396=a112_0x4007;(function(_0x3149bc,_0x5321b5){const _0x516ff5=a112_0x4007,_0x1ea41c=_0x3149bc();while(!![]){try{const _0x11f5bc=-parseInt(_0x516ff5(0x14d))/0x1*(parseInt(_0x516ff5(0x14f))/0x2)+-parseInt(_0x516ff5(0x146))/0x3+parseInt(_0x516ff5(0x14e))/0x4+-parseInt(_0x516ff5(0x141))/0x5*(parseInt(_0x516ff5(0x149))/0x6)+-parseInt(_0x516ff5(0x145))/0x7*(parseInt(_0x516ff5(0x13e))/0x8)+-parseInt(_0x516ff5(0x14c))/0x9+parseInt(_0x516ff5(0x14a))/0xa*(parseInt(_0x516ff5(0x144))/0xb);if(_0x11f5bc===_0x5321b5)break;else _0x1ea41c['push'](_0x1ea41c['shift']());}catch(_0x43e35c){_0x1ea41c['push'](_0x1ea41c['shift']());}}}(a112_0x5950,0x558d8));import{resolve}from'node:path';function a112_0x5950(){const _0x147aed=['cwd','128715MCENSD','appCode','managedRoot','1708553AeywpE','10661EbZkmY','932169iCGrrp','global','project','54cAImAy','70rVohgC','skills','274572mQRXXX','929fdTWvx','217664FVVPUR','152WcqHpy','776UIhniN','freeze'];a112_0x5950=function(){return _0x147aed;};return a112_0x5950();}import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';export function resolveRuntimeSkillInstallTarget(_0x26c9cc,_0x20a0a7=a112_0x2cd396(0x147),_0x5ea161={}){const _0x249866=a112_0x2cd396,_0x500181=resolveSkillSyncPaths(_0x5ea161),_0x3ce700=safePathSegment(_0x26c9cc,_0x249866(0x142)),_0x5356f1=_0x20a0a7===_0x249866(0x148)?[resolve(_0x5ea161['cwd']??process[_0x249866(0x140)](),'.agents',_0x249866(0x14b))]:runtimeAgentSkillRoots(_0x500181);return Object[_0x249866(0x13f)]({'scope':_0x20a0a7,'appCode':_0x3ce700,'skillRoots':Object['freeze'](_0x5356f1),'managedRoot':_0x500181[_0x249866(0x143)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x3f12fd=a111_0x4350;(function(_0xafe60b,_0x2ad17a){const _0x57afe6=a111_0x4350,_0x2a323c=_0xafe60b();while(!![]){try{const _0x358edb=parseInt(_0x57afe6(0x1d0))/0x1*(-parseInt(_0x57afe6(0x1e8))/0x2)+parseInt(_0x57afe6(0x1b6))/0x3+parseInt(_0x57afe6(0x1d5))/0x4*(parseInt(_0x57afe6(0x1c6))/0x5)+-parseInt(_0x57afe6(0x1e7))/0x6*(-parseInt(_0x57afe6(0x1d4))/0x7)+parseInt(_0x57afe6(0x1d9))/0x8+parseInt(_0x57afe6(0x1d7))/0x9+-parseInt(_0x57afe6(0x1d8))/0xa;if(_0x358edb===_0x2ad17a)break;else _0x2a323c['push'](_0x2a323c['shift']());}catch(_0x49128b){_0x2a323c['push'](_0x2a323c['shift']());}}}(a111_0xd786,0xebce1));function a111_0xd786(){const _0xac171d=['dir','agentsSkillsDir','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','2160429npZdIw','project','managedRoot','removed','slice','activeSkillCodes','Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20','contentHash','skillCode','filter','secret-retriever','map','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','scopes','personal','skillRoots','233005hWKMIu','skill','isSymbolicLink','isDirectory','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','company','metadata-mismatch','created','skipped','1528247RjJcuE','builtin','protectedLinkRoots','values','171794endgdI','48ENqxkD','updated','5509962yLnKRe','10395580mUfQzO','9799000UdxFNe','startsWith','length','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','has','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','set','lovrabet','metadataPath','runtime-observe','appCode','name','get','push','102SsxDwY','2piipGW','env','validation','pruneSkillCodes','trim','scope','linked-from-protected-root'];a111_0xd786=function(){return _0xac171d;};return a111_0xd786();}import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a111_0x240be4 from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a111_0x240be4,RESERVED_PROJECT_SKILL_CODES=new Set([a111_0x3f12fd(0x1e0),a111_0x3f12fd(0x1e2),a111_0x3f12fd(0x1c0)]);export function linkEffectiveRuntimeSkills(_0x5d5d28,_0x2ed15f){const _0x4886d9=a111_0x3f12fd,_0x34d63b=new Map();for(const _0x2d219e of _0x5d5d28){const _0xfe316d=_0x2d219e[_0x4886d9(0x1c7)]['skillCode'];if(!_0xfe316d)continue;const _0x37a06f=_0x34d63b[_0x4886d9(0x1e5)](_0xfe316d);(!_0x37a06f||_0x2d219e[_0x4886d9(0x1ed)]==='personal')&&_0x34d63b[_0x4886d9(0x1df)](_0xfe316d,_0x2d219e);}const _0xfb5a9b=[];for(const _0x29c78a of _0x34d63b[_0x4886d9(0x1d3)]()){const _0x5b1adb=requireSkillCode(_0x29c78a[_0x4886d9(0x1c7)]),_0x174d3c=readMetadataIfPresent(_0x29c78a[_0x4886d9(0x1e1)]);if(_0x174d3c?.['appCode']!==_0x2ed15f[_0x4886d9(0x1e3)]||_0x174d3c[_0x4886d9(0x1be)]!==_0x5b1adb)throw CliErrors['validation'](_0x4886d9(0x1c2)+_0x2ed15f[_0x4886d9(0x1e3)]+':\x20'+_0x29c78a[_0x4886d9(0x1e1)]);const _0x67012f=runtimeSkillLinkName(_0x2ed15f,_0x5b1adb);for(const _0x4b39fa of _0x2ed15f[_0x4886d9(0x1c5)]){_0xfb5a9b[_0x4886d9(0x1e6)](ensureManagedSymlink(resolve(_0x4b39fa,_0x67012f),_0x29c78a[_0x4886d9(0x1ef)],_0x2ed15f,_0x5b1adb));}}return _0xfb5a9b;}function a111_0x4350(_0x5efb99,_0x39d4b4){_0x5efb99=_0x5efb99-0x1b5;const _0xd7864=a111_0xd786();let _0x43501a=_0xd7864[_0x5efb99];return _0x43501a;}export function pruneStaleRuntimeSkillLinks(_0xa43a0b,_0x5d51c4,_0x44a65e){const _0x2ca92d=a111_0x3f12fd,_0x15f160=new Set([..._0x5d51c4][_0x2ca92d(0x1c1)](_0x97e855=>_0x97e855[_0x2ca92d(0x1ec)]())[_0x2ca92d(0x1bf)](Boolean)),_0x409a41=_0x44a65e?new Set([..._0x44a65e][_0x2ca92d(0x1c1)](_0x499f76=>_0x499f76[_0x2ca92d(0x1ec)]())[_0x2ca92d(0x1bf)](Boolean)):undefined,_0x4036a2=[];for(const _0x35d3af of _0xa43a0b['skillRoots']){for(const _0xcf121d of managedTargetSkillLinkPaths(_0x35d3af,_0xa43a0b)){const _0x37ffab=runtimeSkillCodeFromLink(_0xa43a0b,_0xcf121d);if(_0x409a41&&!_0x409a41[_0x2ca92d(0x1dd)](_0x37ffab))continue;if(_0x15f160[_0x2ca92d(0x1dd)](_0x37ffab))continue;_0x4036a2[_0x2ca92d(0x1e6)](removeManagedSkillLink(_0xcf121d,_0xa43a0b,_0x37ffab));}}return _0x4036a2;}export function pruneStaleRuntimeSkillCache(_0x1f8970,_0x1a4b82={}){const _0x23c6d4=a111_0x3f12fd,_0x32d920=new Set([..._0x1f8970[_0x23c6d4(0x1bb)]][_0x23c6d4(0x1c1)](_0x20db17=>_0x20db17[_0x23c6d4(0x1ec)]())[_0x23c6d4(0x1bf)](Boolean)),_0x11de95=_0x1f8970[_0x23c6d4(0x1eb)]?new Set([..._0x1f8970[_0x23c6d4(0x1eb)]][_0x23c6d4(0x1c1)](_0x53d7d7=>_0x53d7d7[_0x23c6d4(0x1ec)]())[_0x23c6d4(0x1bf)](Boolean)):undefined,_0x23c78a=_0x1f8970[_0x23c6d4(0x1c3)]??[_0x23c6d4(0x1c4),_0x23c6d4(0x1cc)],_0x2f124b=resolve(getRuntimeSkillCacheRoot(_0x1f8970[_0x23c6d4(0x1e9)],_0x1f8970['accessKey'],_0x1a4b82),safePathSegment(_0x1f8970[_0x23c6d4(0x1e3)],_0x23c6d4(0x1e3))),_0x34ab62=[];for(const _0x1a02b7 of _0x23c78a){const _0xf314c1=resolve(_0x2f124b,_0x1a02b7);if(!existsSync(_0xf314c1))continue;for(const _0x1e189a of readdirSync(_0xf314c1,{'withFileTypes':!![]})){if(!_0x1e189a['isDirectory']())continue;const _0x3a753b=_0x1e189a[_0x23c6d4(0x1e4)];if(_0x11de95&&!_0x11de95[_0x23c6d4(0x1dd)](_0x3a753b))continue;if(_0x32d920[_0x23c6d4(0x1dd)](_0x3a753b))continue;const _0x3f33b2=resolve(_0xf314c1,_0x3a753b),_0x7eb842=readMetadataIfPresent(resolve(_0x3f33b2,METADATA_FILE));if(_0x7eb842?.['appCode']!==_0x1f8970[_0x23c6d4(0x1e3)]||_0x7eb842[_0x23c6d4(0x1ed)]!==_0x1a02b7||_0x7eb842[_0x23c6d4(0x1be)]!==_0x3a753b){_0x34ab62[_0x23c6d4(0x1e6)]({'path':_0x3f33b2,'action':_0x23c6d4(0x1cf),'reason':_0x23c6d4(0x1cd)});continue;}if(isLinkedFromAnyRoot(_0x3f33b2,_0x1f8970[_0x23c6d4(0x1d2)]??[])){_0x34ab62[_0x23c6d4(0x1e6)]({'path':_0x3f33b2,'action':_0x23c6d4(0x1cf),'reason':_0x23c6d4(0x1ee)});continue;}removeSync(_0x3f33b2),_0x34ab62[_0x23c6d4(0x1e6)]({'path':_0x3f33b2,'action':_0x23c6d4(0x1b9)});}}return _0x34ab62;}export function linkGlobalRuntimeSkills(_0x5b9b32,_0x3e1f5f={}){const _0x1a8081=a111_0x3f12fd,_0x23d568=resolveSkillSyncPaths(_0x3e1f5f),_0x39ef9c=[];for(const _0x566723 of _0x5b9b32){if(_0x566723[_0x1a8081(0x1ed)]!=='builtin')throw CliErrors[_0x1a8081(0x1ea)]('Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20'+_0x566723[_0x1a8081(0x1ed)]);const _0x751edc=requireSkillCode(_0x566723[_0x1a8081(0x1c7)]),_0x13e7c8=copyManagedSkillDirectory(_0x566723[_0x1a8081(0x1ef)],resolve(_0x23d568[_0x1a8081(0x1f0)],_0x751edc));_0x39ef9c[_0x1a8081(0x1e6)]({..._0x13e7c8,'contentHash':_0x566723[_0x1a8081(0x1bd)]});}return _0x39ef9c;}function ensureManagedSymlink(_0x3b7b61,_0x3854bb,_0xd0c83,_0x4a1a93){const _0x1adfde=a111_0x3f12fd;mkdirSync(dirname(_0x3b7b61),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x3b7b61)||isDanglingSymlink(_0x3b7b61)){const _0x47bdc2=lstatSync(_0x3b7b61);if(!_0x47bdc2['isSymbolicLink']())throw CliErrors[_0x1adfde(0x1ea)](_0x1adfde(0x1b5)+_0x3b7b61);const _0x1fa104=resolveSymlinkTarget(_0x3b7b61);if(!isPathInside(realOrResolved(_0x1fa104),realOrResolved(_0xd0c83[_0x1adfde(0x1b8)])))throw CliErrors[_0x1adfde(0x1ea)]('Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20'+_0x3b7b61);if(realOrResolved(_0x1fa104)===realOrResolved(_0x3854bb))return{'path':_0x3b7b61,'target':_0x3854bb,'action':'unchanged'};const _0x51d8a8=readMetadataIfPresent(resolve(_0x1fa104,METADATA_FILE));if(_0xd0c83[_0x1adfde(0x1ed)]===_0x1adfde(0x1b7)&&(_0x51d8a8?.[_0x1adfde(0x1e3)]!==_0xd0c83[_0x1adfde(0x1e3)]||_0x51d8a8['skillCode']!==_0x4a1a93))throw CliErrors['validation'](_0x1adfde(0x1cb)+_0x3b7b61);return unlinkSync(_0x3b7b61),symlinkSync(_0x3854bb,_0x3b7b61,'dir'),{'path':_0x3b7b61,'target':_0x3854bb,'action':_0x1adfde(0x1d6)};}return symlinkSync(_0x3854bb,_0x3b7b61,_0x1adfde(0x1ef)),{'path':_0x3b7b61,'target':_0x3854bb,'action':'created'};}function managedTargetSkillLinkPaths(_0x4518dd,_0x455578){const _0x50fcd9=a111_0x3f12fd;if(!existsSync(_0x4518dd))return[];const _0x504b7e=_0x455578[_0x50fcd9(0x1e3)]+'--';return readdirSync(_0x4518dd,{'withFileTypes':!![]})[_0x50fcd9(0x1bf)](_0x2b9cf2=>_0x455578['scope']===_0x50fcd9(0x1b7)||_0x2b9cf2[_0x50fcd9(0x1e4)][_0x50fcd9(0x1da)](_0x504b7e))[_0x50fcd9(0x1c1)](_0x3ae327=>resolve(_0x4518dd,_0x3ae327['name']));}function removeManagedSkillLink(_0x5cea03,_0x11d105,_0x444a54){const _0x1ea35f=a111_0x3f12fd,_0x5f2ddb=lstatIfPresent(_0x5cea03);if(!_0x5f2ddb?.[_0x1ea35f(0x1c8)]())return{'path':_0x5cea03,'action':_0x1ea35f(0x1cf),'reason':'not-managed-symlink'};const _0x108dc8=resolveSymlinkTarget(_0x5cea03);if(!isPathInside(realOrResolved(_0x108dc8),realOrResolved(_0x11d105[_0x1ea35f(0x1b8)])))return{'path':_0x5cea03,'action':'skipped','reason':'external-symlink'};const _0x8bfbf1=readMetadataIfPresent(resolve(_0x108dc8,METADATA_FILE));if(_0x11d105[_0x1ea35f(0x1ed)]===_0x1ea35f(0x1b7)&&(_0x8bfbf1?.['appCode']!==_0x11d105['appCode']||_0x8bfbf1[_0x1ea35f(0x1be)]!==_0x444a54))return{'path':_0x5cea03,'action':_0x1ea35f(0x1cf),'reason':_0x1ea35f(0x1cd)};return unlinkSync(_0x5cea03),{'path':_0x5cea03,'action':'removed'};}function isLinkedFromAnyRoot(_0x58637d,_0x2de4ce){const _0x5a1f28=a111_0x3f12fd,_0x235206=realOrResolved(_0x58637d);for(const _0xae6d89 of _0x2de4ce){if(!existsSync(_0xae6d89))continue;for(const _0x32e8de of readdirSync(_0xae6d89,{'withFileTypes':!![]})){if(!_0x32e8de[_0x5a1f28(0x1c8)]())continue;const _0x45face=resolve(_0xae6d89,_0x32e8de[_0x5a1f28(0x1e4)]);if(realOrResolved(resolveSymlinkTarget(_0x45face))===_0x235206)return!![];}}return![];}function runtimeSkillLinkName(_0xee7387,_0x2d364f){const _0x5cf583=a111_0x3f12fd,_0x44be20=safePathSegment(_0x2d364f,_0x5cf583(0x1be));if(_0xee7387['scope']===_0x5cf583(0x1b7)&&RESERVED_PROJECT_SKILL_CODES[_0x5cf583(0x1dd)](_0x44be20))throw CliErrors['validation']('Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20'+_0x44be20);return _0xee7387['scope']===_0x5cf583(0x1b7)?_0x44be20:_0xee7387['appCode']+'--'+_0x44be20;}function runtimeSkillCodeFromLink(_0x55610e,_0x5d07db){const _0x3f551e=a111_0x3f12fd,_0x4f713e=basename(_0x5d07db);return _0x55610e[_0x3f551e(0x1ed)]==='project'?_0x4f713e:_0x4f713e[_0x3f551e(0x1ba)]((_0x55610e[_0x3f551e(0x1e3)]+'--')[_0x3f551e(0x1db)]);}export function copyManagedSkillDirectory(_0x1f9681,_0x381b2f){const _0x20e2bf=a111_0x3f12fd,_0x2aaef8=resolve(_0x381b2f,METADATA_FILE),_0x507eb7=existsSync(_0x381b2f);if(_0x507eb7){const _0x22cf1a=lstatSync(_0x381b2f);if(_0x22cf1a[_0x20e2bf(0x1c8)]())throw CliErrors[_0x20e2bf(0x1ea)](_0x20e2bf(0x1bc)+_0x381b2f);if(!_0x22cf1a[_0x20e2bf(0x1c9)]())throw CliErrors[_0x20e2bf(0x1ea)](_0x20e2bf(0x1de)+_0x381b2f);const _0x27067a=readMetadataIfPresent(_0x2aaef8);if(_0x27067a?.[_0x20e2bf(0x1ed)]!==_0x20e2bf(0x1d1))throw CliErrors['validation'](_0x20e2bf(0x1ca)+_0x381b2f);}ensureDirSync(dirname(_0x381b2f));const _0x609fbd=_0x507eb7?readMetadataIfPresent(_0x2aaef8)?.[_0x20e2bf(0x1bd)]:undefined,_0x56ee75=readMetadataIfPresent(resolve(_0x1f9681,METADATA_FILE))?.['contentHash'];return _0x507eb7&&removeSync(_0x381b2f),copySkillDirectory(_0x1f9681,_0x381b2f),{'path':_0x381b2f,'target':_0x1f9681,'action':!_0x507eb7?_0x20e2bf(0x1ce):_0x609fbd===_0x56ee75?'unchanged':_0x20e2bf(0x1d6)};}function copySkillDirectory(_0x2da444,_0x4bb499){copySync(_0x2da444,_0x4bb499,{'dereference':![],'overwrite':!![],'filter'(_0x39dc78){const _0x1c7ee8=a111_0x4350;if(lstatSync(_0x39dc78)[_0x1c7ee8(0x1c8)]())throw CliErrors[_0x1c7ee8(0x1ea)](_0x1c7ee8(0x1dc)+_0x39dc78);return!![];}});}
|
|
1
|
+
const a113_0x3603d9=a113_0x5831;(function(_0x361219,_0xf977a2){const _0x1c8ec5=a113_0x5831,_0x9d539c=_0x361219();while(!![]){try{const _0xc327f0=parseInt(_0x1c8ec5(0x1dd))/0x1+parseInt(_0x1c8ec5(0x1f1))/0x2*(-parseInt(_0x1c8ec5(0x1fa))/0x3)+-parseInt(_0x1c8ec5(0x1f0))/0x4*(-parseInt(_0x1c8ec5(0x1f2))/0x5)+-parseInt(_0x1c8ec5(0x1ec))/0x6*(-parseInt(_0x1c8ec5(0x1c1))/0x7)+-parseInt(_0x1c8ec5(0x1cd))/0x8*(-parseInt(_0x1c8ec5(0x1d7))/0x9)+-parseInt(_0x1c8ec5(0x1c6))/0xa*(-parseInt(_0x1c8ec5(0x1f3))/0xb)+-parseInt(_0x1c8ec5(0x1e2))/0xc*(parseInt(_0x1c8ec5(0x1ea))/0xd);if(_0xc327f0===_0xf977a2)break;else _0x9d539c['push'](_0x9d539c['shift']());}catch(_0x33d95b){_0x9d539c['push'](_0x9d539c['shift']());}}}(a113_0x23f7,0xc4a3f));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a113_0x52b4ad from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a113_0x52b4ad,RESERVED_PROJECT_SKILL_CODES=new Set(['lovrabet',a113_0x3603d9(0x1f9),a113_0x3603d9(0x1fc)]);export function linkEffectiveRuntimeSkills(_0x4e7344,_0x1805ee){const _0x537dc7=a113_0x3603d9,_0xb04ce1=new Map();for(const _0x4656fa of _0x4e7344){const _0x4e15ef=_0x4656fa[_0x537dc7(0x1c7)][_0x537dc7(0x1df)];if(!_0x4e15ef)continue;const _0x3c6b08=_0xb04ce1[_0x537dc7(0x1d6)](_0x4e15ef);(!_0x3c6b08||_0x4656fa[_0x537dc7(0x1d9)]===_0x537dc7(0x1c8))&&_0xb04ce1['set'](_0x4e15ef,_0x4656fa);}const _0x230613=[];for(const _0x170fcd of _0xb04ce1['values']()){const _0xb7aa97=requireSkillCode(_0x170fcd[_0x537dc7(0x1c7)]),_0x54ad65=readMetadataIfPresent(_0x170fcd['metadataPath']);if(_0x54ad65?.[_0x537dc7(0x1e9)]!==_0x1805ee['appCode']||_0x54ad65['skillCode']!==_0xb7aa97)throw CliErrors[_0x537dc7(0x1cc)](_0x537dc7(0x1c5)+_0x1805ee[_0x537dc7(0x1e9)]+':\x20'+_0x170fcd[_0x537dc7(0x1eb)]);const _0x227c58=runtimeSkillLinkName(_0x1805ee,_0xb7aa97);for(const _0x286901 of _0x1805ee[_0x537dc7(0x1e3)]){_0x230613[_0x537dc7(0x1f5)](ensureManagedSymlink(resolve(_0x286901,_0x227c58),_0x170fcd['dir'],_0x1805ee,_0xb7aa97));}}return _0x230613;}function a113_0x5831(_0x5d7664,_0x2fbbb3){_0x5d7664=_0x5d7664-0x1c0;const _0x23f7a3=a113_0x23f7();let _0x5831b2=_0x23f7a3[_0x5d7664];return _0x5831b2;}export function pruneStaleRuntimeSkillLinks(_0x32d4c7,_0x2f0281,_0x19902a){const _0x13e788=a113_0x3603d9,_0x19ed73=new Set([..._0x2f0281][_0x13e788(0x1ee)](_0x354ca1=>_0x354ca1[_0x13e788(0x1c3)]())[_0x13e788(0x1ef)](Boolean)),_0xc8ff5d=_0x19902a?new Set([..._0x19902a][_0x13e788(0x1ee)](_0x3780c3=>_0x3780c3[_0x13e788(0x1c3)]())[_0x13e788(0x1ef)](Boolean)):undefined,_0x3fd5ff=[];for(const _0x29cfc6 of _0x32d4c7['skillRoots']){for(const _0x4c416f of managedTargetSkillLinkPaths(_0x29cfc6,_0x32d4c7)){const _0x11e32f=runtimeSkillCodeFromLink(_0x32d4c7,_0x4c416f);if(_0xc8ff5d&&!_0xc8ff5d[_0x13e788(0x1d2)](_0x11e32f))continue;if(_0x19ed73[_0x13e788(0x1d2)](_0x11e32f))continue;_0x3fd5ff[_0x13e788(0x1f5)](removeManagedSkillLink(_0x4c416f,_0x32d4c7,_0x11e32f));}}return _0x3fd5ff;}export function pruneStaleRuntimeSkillCache(_0x163a09,_0x4e32e4={}){const _0x2ee313=a113_0x3603d9,_0x1a1ec4=new Set([..._0x163a09[_0x2ee313(0x1f6)]][_0x2ee313(0x1ee)](_0x1e67f2=>_0x1e67f2[_0x2ee313(0x1c3)]())['filter'](Boolean)),_0x197565=_0x163a09[_0x2ee313(0x1cb)]?new Set([..._0x163a09[_0x2ee313(0x1cb)]][_0x2ee313(0x1ee)](_0x306012=>_0x306012[_0x2ee313(0x1c3)]())[_0x2ee313(0x1ef)](Boolean)):undefined,_0x5cbc14=_0x163a09[_0x2ee313(0x1da)]??['personal','company'],_0x147317=resolve(getRuntimeSkillCacheRoot(_0x163a09[_0x2ee313(0x1f8)],_0x163a09['accessKey'],_0x4e32e4),safePathSegment(_0x163a09['appCode'],_0x2ee313(0x1e9))),_0x4935b0=[];for(const _0x3a1c77 of _0x5cbc14){const _0xfbcc8c=resolve(_0x147317,_0x3a1c77);if(!existsSync(_0xfbcc8c))continue;for(const _0xcac696 of readdirSync(_0xfbcc8c,{'withFileTypes':!![]})){if(!_0xcac696[_0x2ee313(0x1d3)]())continue;const _0x452499=_0xcac696[_0x2ee313(0x1fb)];if(_0x197565&&!_0x197565[_0x2ee313(0x1d2)](_0x452499))continue;if(_0x1a1ec4[_0x2ee313(0x1d2)](_0x452499))continue;const _0x33dab3=resolve(_0xfbcc8c,_0x452499),_0x596356=readMetadataIfPresent(resolve(_0x33dab3,METADATA_FILE));if(_0x596356?.['appCode']!==_0x163a09[_0x2ee313(0x1e9)]||_0x596356[_0x2ee313(0x1d9)]!==_0x3a1c77||_0x596356[_0x2ee313(0x1df)]!==_0x452499){_0x4935b0[_0x2ee313(0x1f5)]({'path':_0x33dab3,'action':_0x2ee313(0x1dc),'reason':'metadata-mismatch'});continue;}if(isLinkedFromAnyRoot(_0x33dab3,_0x163a09[_0x2ee313(0x1de)]??[])){_0x4935b0[_0x2ee313(0x1f5)]({'path':_0x33dab3,'action':_0x2ee313(0x1dc),'reason':_0x2ee313(0x1fd)});continue;}removeSync(_0x33dab3),_0x4935b0[_0x2ee313(0x1f5)]({'path':_0x33dab3,'action':_0x2ee313(0x1d1)});}}return _0x4935b0;}export function linkGlobalRuntimeSkills(_0x3b6f,_0x483b27={}){const _0x5061a8=a113_0x3603d9,_0x579a09=resolveSkillSyncPaths(_0x483b27),_0x24bf12=[];for(const _0x22dbbf of _0x3b6f){if(_0x22dbbf['scope']!==_0x5061a8(0x1d5))throw CliErrors[_0x5061a8(0x1cc)](_0x5061a8(0x1db)+_0x22dbbf[_0x5061a8(0x1d9)]);const _0x2b6332=requireSkillCode(_0x22dbbf['skill']),_0xc312b6=copyManagedSkillDirectory(_0x22dbbf[_0x5061a8(0x1e8)],resolve(_0x579a09[_0x5061a8(0x1d4)],_0x2b6332));_0x24bf12[_0x5061a8(0x1f5)]({..._0xc312b6,'contentHash':_0x22dbbf[_0x5061a8(0x1e4)]});}return _0x24bf12;}function ensureManagedSymlink(_0x13c1bb,_0x344601,_0x513f51,_0x3c7b72){const _0x4cfce0=a113_0x3603d9;mkdirSync(dirname(_0x13c1bb),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x13c1bb)||isDanglingSymlink(_0x13c1bb)){const _0x57d972=lstatSync(_0x13c1bb);if(!_0x57d972[_0x4cfce0(0x1f7)]())throw CliErrors['validation'](_0x4cfce0(0x1e1)+_0x13c1bb);const _0xff66fb=resolveSymlinkTarget(_0x13c1bb);if(!isPathInside(realOrResolved(_0xff66fb),realOrResolved(_0x513f51[_0x4cfce0(0x1ed)])))throw CliErrors[_0x4cfce0(0x1cc)](_0x4cfce0(0x1d0)+_0x13c1bb);if(realOrResolved(_0xff66fb)===realOrResolved(_0x344601))return{'path':_0x13c1bb,'target':_0x344601,'action':_0x4cfce0(0x1c2)};const _0x11fa96=readMetadataIfPresent(resolve(_0xff66fb,METADATA_FILE));if(_0x513f51[_0x4cfce0(0x1d9)]===_0x4cfce0(0x1e6)&&(_0x11fa96?.[_0x4cfce0(0x1e9)]!==_0x513f51[_0x4cfce0(0x1e9)]||_0x11fa96[_0x4cfce0(0x1df)]!==_0x3c7b72))throw CliErrors['validation'](_0x4cfce0(0x1c0)+_0x13c1bb);return unlinkSync(_0x13c1bb),symlinkSync(_0x344601,_0x13c1bb,_0x4cfce0(0x1e8)),{'path':_0x13c1bb,'target':_0x344601,'action':'updated'};}return symlinkSync(_0x344601,_0x13c1bb,'dir'),{'path':_0x13c1bb,'target':_0x344601,'action':'created'};}function managedTargetSkillLinkPaths(_0x50acc4,_0xa9bfdf){const _0xcc7711=a113_0x3603d9;if(!existsSync(_0x50acc4))return[];const _0x48f566=_0xa9bfdf['appCode']+'--';return readdirSync(_0x50acc4,{'withFileTypes':!![]})[_0xcc7711(0x1ef)](_0xcc9199=>_0xa9bfdf['scope']===_0xcc7711(0x1e6)||_0xcc9199[_0xcc7711(0x1fb)][_0xcc7711(0x1c9)](_0x48f566))[_0xcc7711(0x1ee)](_0x51f6f0=>resolve(_0x50acc4,_0x51f6f0['name']));}function a113_0x23f7(){const _0x486dff=['26dBnHhC','metadataPath','18wOLcsd','managedRoot','map','filter','1290396zQFomG','2CUtFXk','5lskQiB','55tbApvi','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','push','activeSkillCodes','isSymbolicLink','env','runtime-observe','1960611KQjjXN','name','secret-retriever','linked-from-protected-root','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','3152401YXgDEf','unchanged','trim','not-managed-symlink','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','2830370lDvJlB','skill','personal','startsWith','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','pruneSkillCodes','validation','10599088BosTin','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','metadata-mismatch','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','removed','has','isDirectory','agentsSkillsDir','builtin','get','9bBWTfM','created','scope','scopes','Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20','skipped','120887qNgKNd','protectedLinkRoots','skillCode','slice','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','18453660WDsbwe','skillRoots','contentHash','external-symlink','project','length','dir','appCode'];a113_0x23f7=function(){return _0x486dff;};return a113_0x23f7();}function removeManagedSkillLink(_0x1e393d,_0x38114b,_0x21b593){const _0x29e7b8=a113_0x3603d9,_0x2edb4e=lstatIfPresent(_0x1e393d);if(!_0x2edb4e?.[_0x29e7b8(0x1f7)]())return{'path':_0x1e393d,'action':'skipped','reason':_0x29e7b8(0x1c4)};const _0x296670=resolveSymlinkTarget(_0x1e393d);if(!isPathInside(realOrResolved(_0x296670),realOrResolved(_0x38114b[_0x29e7b8(0x1ed)])))return{'path':_0x1e393d,'action':_0x29e7b8(0x1dc),'reason':_0x29e7b8(0x1e5)};const _0x54a168=readMetadataIfPresent(resolve(_0x296670,METADATA_FILE));if(_0x38114b['scope']===_0x29e7b8(0x1e6)&&(_0x54a168?.['appCode']!==_0x38114b[_0x29e7b8(0x1e9)]||_0x54a168['skillCode']!==_0x21b593))return{'path':_0x1e393d,'action':_0x29e7b8(0x1dc),'reason':_0x29e7b8(0x1cf)};return unlinkSync(_0x1e393d),{'path':_0x1e393d,'action':_0x29e7b8(0x1d1)};}function isLinkedFromAnyRoot(_0xe15920,_0x2c977b){const _0x525759=a113_0x3603d9,_0x509d0a=realOrResolved(_0xe15920);for(const _0x2c5682 of _0x2c977b){if(!existsSync(_0x2c5682))continue;for(const _0x3eefc9 of readdirSync(_0x2c5682,{'withFileTypes':!![]})){if(!_0x3eefc9[_0x525759(0x1f7)]())continue;const _0x5e9e9a=resolve(_0x2c5682,_0x3eefc9[_0x525759(0x1fb)]);if(realOrResolved(resolveSymlinkTarget(_0x5e9e9a))===_0x509d0a)return!![];}}return![];}function runtimeSkillLinkName(_0x1cba9c,_0x32d2b8){const _0x1ba25b=a113_0x3603d9,_0x120e7c=safePathSegment(_0x32d2b8,_0x1ba25b(0x1df));if(_0x1cba9c[_0x1ba25b(0x1d9)]===_0x1ba25b(0x1e6)&&RESERVED_PROJECT_SKILL_CODES[_0x1ba25b(0x1d2)](_0x120e7c))throw CliErrors[_0x1ba25b(0x1cc)](_0x1ba25b(0x1ce)+_0x120e7c);return _0x1cba9c['scope']==='project'?_0x120e7c:_0x1cba9c[_0x1ba25b(0x1e9)]+'--'+_0x120e7c;}function runtimeSkillCodeFromLink(_0x5bf535,_0x1f437b){const _0x3c120b=a113_0x3603d9,_0x3d4e78=basename(_0x1f437b);return _0x5bf535['scope']===_0x3c120b(0x1e6)?_0x3d4e78:_0x3d4e78[_0x3c120b(0x1e0)]((_0x5bf535[_0x3c120b(0x1e9)]+'--')[_0x3c120b(0x1e7)]);}export function copyManagedSkillDirectory(_0x1d5363,_0x3adf83){const _0x2a65a2=a113_0x3603d9,_0x24ef4c=resolve(_0x3adf83,METADATA_FILE),_0x5178f7=existsSync(_0x3adf83);if(_0x5178f7){const _0x3fccf0=lstatSync(_0x3adf83);if(_0x3fccf0[_0x2a65a2(0x1f7)]())throw CliErrors[_0x2a65a2(0x1cc)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20'+_0x3adf83);if(!_0x3fccf0[_0x2a65a2(0x1d3)]())throw CliErrors[_0x2a65a2(0x1cc)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20'+_0x3adf83);const _0x411294=readMetadataIfPresent(_0x24ef4c);if(_0x411294?.[_0x2a65a2(0x1d9)]!==_0x2a65a2(0x1d5))throw CliErrors[_0x2a65a2(0x1cc)](_0x2a65a2(0x1ca)+_0x3adf83);}ensureDirSync(dirname(_0x3adf83));const _0x2796e8=_0x5178f7?readMetadataIfPresent(_0x24ef4c)?.[_0x2a65a2(0x1e4)]:undefined,_0x52b951=readMetadataIfPresent(resolve(_0x1d5363,METADATA_FILE))?.['contentHash'];return _0x5178f7&&removeSync(_0x3adf83),copySkillDirectory(_0x1d5363,_0x3adf83),{'path':_0x3adf83,'target':_0x1d5363,'action':!_0x5178f7?_0x2a65a2(0x1d8):_0x2796e8===_0x52b951?_0x2a65a2(0x1c2):'updated'};}function copySkillDirectory(_0x1106b6,_0x5005ab){copySync(_0x1106b6,_0x5005ab,{'dereference':![],'overwrite':!![],'filter'(_0x116a8f){const _0x2f5f7c=a113_0x5831;if(lstatSync(_0x116a8f)[_0x2f5f7c(0x1f7)]())throw CliErrors['validation'](_0x2f5f7c(0x1f4)+_0x116a8f);return!![];}});}
|