@lovrabet/lovrabet-cli 2.1.8-beta.3 → 2.1.9-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/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/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/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.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a40_0x188ad5=a40_0x39cc;function a40_0x1771(){const _0x31e032=['schemaVersion','Local\x20service\x20not\x20found:\x20','code','missing','reduce','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Invalid\x20service\x20manifest\x20JSON:\x20','normalizedManifest','kind','$.services[','flatMap','warnings','trim','object','4fxrMCG','toISOString','].manifest','manifest','invalid','services','isArray','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','8XUDKgu','description','report','risk','cliPath','target','utf8','.tmp','updatedAt','manifests','234mbsVLK','update','file','sourceHash','service','push','3804053UUiqxt','services\x20must\x20be\x20an\x20array','startsWith','serviceCode','localeCompare','command','942429oHQzsN','slice','ENOENT','service.json','1902NeqmCm','map','sha256','2123640XAGXPn','Remove\x20or\x20migrate\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','parse','find','length','path','join','Service\x20manifest\x20validation\x20failed:\x0a','Unsupported\x20schemaVersion:\x20','Service\x20manifest\x20file\x20not\x20found:\x20','findIndex','now','homeDirName','registryIndex','6251UZvRIk','commands','homeDir','importedAt','message','digest','name','13435ZMNqYf','stringify','errors','version','183016EntYUY','Invalid\x20service\x20registry\x20JSON:\x20','validation','filePath','string','Cannot\x20write\x20service\x20registry:\x20','186270VvGmCq'];a40_0x1771=function(){return _0x31e032;};return a40_0x1771();}(function(_0x1e1f72,_0x91084d){const _0x27c324=a40_0x39cc,_0x5848e0=_0x1e1f72();while(!![]){try{const _0x37962f=-parseInt(_0x27c324(0xe0))/0x1*(-parseInt(_0x27c324(0xf9))/0x2)+-parseInt(_0x27c324(0x118))/0x3*(-parseInt(_0x27c324(0x102))/0x4)+parseInt(_0x27c324(0xea))/0x5+parseInt(_0x27c324(0xc7))/0x6*(-parseInt(_0x27c324(0xd9))/0x7)+-parseInt(_0x27c324(0xe4))/0x8*(parseInt(_0x27c324(0x10c))/0x9)+parseInt(_0x27c324(0xca))/0xa+parseInt(_0x27c324(0x112))/0xb;if(_0x37962f===_0x91084d)break;else _0x5848e0['push'](_0x5848e0['shift']());}catch(_0xb11378){_0x5848e0['push'](_0x5848e0['shift']());}}}(a40_0x1771,0x5afea));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x188ad5(0x11b);export function getServiceRegistryPath(_0x50fcdf={}){const _0xdec98=a40_0x188ad5;return resolve(_0x50fcdf[_0xdec98(0xdb)]??homedir(),PRODUCT_CONFIG[_0xdec98(0xd7)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x473e11={}){const _0x432bb6=a40_0x188ad5,_0x2df002=getServiceRegistryPath(_0x473e11);if(!existsSync(_0x2df002))return emptyServiceRegistry();try{const _0x56dd83=readFileSync(_0x2df002,_0x432bb6(0x108));if(!_0x56dd83['trim']())return emptyServiceRegistry();const _0x39806c=JSON['parse'](_0x56dd83);if(_0x39806c[_0x432bb6(0xeb)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x432bb6(0xe6)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x39806c[_0x432bb6(0xeb)]),_0x432bb6(0xcb)+_0x2df002+'.');if(!Array['isArray'](_0x39806c[_0x432bb6(0xfe)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x39806c[_0x432bb6(0x10a)],'services':_0x39806c[_0x432bb6(0xfe)]};}catch(_0x583018){if(_0x583018 instanceof Error&&_0x583018[_0x432bb6(0xdf)]==='CliError')throw _0x583018;throw CliErrors[_0x432bb6(0xe6)](_0x432bb6(0xe5)+_0x2df002,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x269189,_0x25701d={}){const _0x6b675b=a40_0x188ad5,_0x19ee3a=getServiceRegistryPath(_0x25701d),_0x1ab8d=dirname(_0x19ee3a);!existsSync(_0x1ab8d)&&mkdirSync(_0x1ab8d,{'recursive':!![]});const _0x124af1=_0x19ee3a+_0x6b675b(0x109);try{writeFileSync(_0x124af1,JSON[_0x6b675b(0xe1)](_0x269189,null,0x2)+'\x0a',{'encoding':_0x6b675b(0x108),'mode':0x180}),renameSync(_0x124af1,_0x19ee3a);}catch(_0x7aed67){try{unlinkSync(_0x124af1);}catch{}if(_0x7aed67?.['code']===_0x6b675b(0x11a))throw CliErrors['validation'](_0x6b675b(0xe9)+_0x19ee3a);throw _0x7aed67;}return _0x19ee3a;}export function loadServiceManifestFromFile(_0x20bdca){const _0x5d430c=a40_0x188ad5,_0x3e86a7=resolve(_0x20bdca);if(!existsSync(_0x3e86a7))throw CliErrors['validation'](_0x5d430c(0xd4)+_0x20bdca);let _0x4aa75a;const _0x15d6f1=readFileSync(_0x3e86a7,'utf8');try{_0x4aa75a=JSON[_0x5d430c(0xcd)](_0x15d6f1);}catch{throw CliErrors[_0x5d430c(0xe6)](_0x5d430c(0xf1)+_0x20bdca,_0x5d430c(0x100));}const _0x514ab8=sha256(_0x15d6f1),_0x118edf=extractLoadedServiceManifests(_0x4aa75a,_0x514ab8),_0x31a270=aggregateValidationReports(_0x118edf),_0x241e1c=_0x118edf[0x0];return{'filePath':_0x3e86a7,'hash':_0x514ab8,'kind':isServiceRegistryLike(_0x4aa75a)?'registry':'manifest','manifest':_0x241e1c?.[_0x5d430c(0xfc)]??_0x4aa75a,'report':_0x31a270,'normalizedManifest':_0x118edf[_0x5d430c(0xcf)]===0x1?_0x241e1c?.[_0x5d430c(0xf2)]:undefined,'manifests':_0x118edf};}export function importServiceManifest(_0xbaa92b,_0x175c13={}){const _0x4538f0=a40_0x188ad5,_0x380ced=loadServiceManifestFromFile(_0xbaa92b);if(!_0x380ced['report']['ok'])throw CliErrors[_0x4538f0(0xe6)](formatValidationFailure(_0x380ced['report']),_0x4538f0(0xcc));if(_0x380ced[_0x4538f0(0x10b)][_0x4538f0(0xcf)]===0x0)throw CliErrors['validation'](_0x4538f0(0xf0),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x2332b1=readServiceRegistry(_0x175c13),_0x570f55=(_0x175c13[_0x4538f0(0xd6)]??(()=>new Date()))()['toISOString'](),_0x50f7a7=[];let _0xce1c5c=0x0,_0x566408=0x0;for(const _0x5d1834 of _0x380ced['manifests']){if(!_0x5d1834[_0x4538f0(0xf2)])continue;const _0x5e2864=_0x5d1834[_0x4538f0(0xf2)]['service'][_0x4538f0(0xed)],_0x230a9e={'serviceCode':_0x5e2864,'version':_0x5d1834['normalizedManifest'][_0x4538f0(0xe3)],'importedAt':_0x570f55,'source':{'type':_0x4538f0(0x10e),'path':_0x380ced[_0x4538f0(0xe7)],'hash':_0x5d1834[_0x4538f0(0x10f)]},'manifest':_0x5d1834[_0x4538f0(0xfc)],'normalizedManifest':_0x5d1834[_0x4538f0(0xf2)]},_0x41f93e=_0x2332b1[_0x4538f0(0xfe)][_0x4538f0(0xd5)](_0xfe4e72=>_0xfe4e72[_0x4538f0(0x115)]===_0x5e2864);_0x41f93e>=0x0?(_0x2332b1[_0x4538f0(0xfe)][_0x41f93e]=_0x230a9e,_0x566408++):(_0x2332b1[_0x4538f0(0xfe)][_0x4538f0(0x111)](_0x230a9e),_0xce1c5c++),_0x50f7a7['push'](_0x230a9e);}_0x2332b1[_0x4538f0(0xfe)]['sort']((_0x459ae7,_0x4850ec)=>_0x459ae7[_0x4538f0(0x115)][_0x4538f0(0x116)](_0x4850ec['serviceCode'])),_0x2332b1['updatedAt']=_0x570f55;const _0x5bf085=writeServiceRegistry(_0x2332b1,_0x175c13);return{'registryPath':_0x5bf085,'entry':_0x50f7a7[0x0],'replaced':_0x50f7a7['length']===0x1?_0x566408===0x1:_0x566408>0x0,'entries':_0x50f7a7,'imported':_0xce1c5c,'updated':_0x566408,'serviceCount':_0x2332b1[_0x4538f0(0xfe)][_0x4538f0(0xcf)]};}export function exportServiceManifest(_0x3d2fa4,_0x532b22,_0x3d0546={}){const _0x5db0e1=a40_0x188ad5,_0x3562be=getServiceRegistryPath(_0x3d0546),_0x2bf41b=getLocalServiceEntry(_0x3d2fa4,_0x3d0546);if(!_0x2bf41b)throw CliErrors[_0x5db0e1(0xe6)](_0x5db0e1(0xec)+_0x3d2fa4,_0x5db0e1(0x101));const _0x4dc1e7=resolve(_0x532b22),_0xbbcf1d=dirname(_0x4dc1e7);return!existsSync(_0xbbcf1d)&&mkdirSync(_0xbbcf1d,{'recursive':!![]}),writeFileSync(_0x4dc1e7,JSON[_0x5db0e1(0xe1)](_0x2bf41b[_0x5db0e1(0xfc)],null,0x2)+'\x0a',{'encoding':_0x5db0e1(0x108),'mode':0x180}),{'registryPath':_0x3562be,'filePath':_0x4dc1e7,'entry':_0x2bf41b};}export function removeServiceManifest(_0x1e0a32,_0x54993e={}){const _0x401c90=a40_0x188ad5,_0x54bbc2=readServiceRegistry(_0x54993e),_0x2ad719=_0x1e0a32['trim'](),_0x19420b=_0x54bbc2[_0x401c90(0xfe)][_0x401c90(0xd5)](_0xab158d=>_0xab158d[_0x401c90(0x115)]===_0x2ad719);if(_0x19420b<0x0)throw CliErrors[_0x401c90(0xe6)](_0x401c90(0xec)+_0x2ad719,_0x401c90(0x101));const [_0xb89bb7]=_0x54bbc2['services']['splice'](_0x19420b,0x1),_0xfcb3=(_0x54993e[_0x401c90(0xd6)]??(()=>new Date()))()[_0x401c90(0xfa)]();_0x54bbc2['updatedAt']=_0xfcb3;const _0x49217a=writeServiceRegistry(_0x54bbc2,_0x54993e);return{'registryPath':_0x49217a,'entry':_0xb89bb7,'serviceCount':_0x54bbc2['services'][_0x401c90(0xcf)]};}export function listLocalServices(_0x4e3785={}){return readServiceRegistry(_0x4e3785)['services'];}export function getLocalServiceEntry(_0x187525,_0x22b35a={}){const _0x145490=a40_0x188ad5;return readServiceRegistry(_0x22b35a)[_0x145490(0xfe)][_0x145490(0xce)](_0x4a0cae=>_0x4a0cae['serviceCode']===_0x187525['trim']());}export function listLocalServiceTrees(_0x54b054={}){const _0x45af12=a40_0x188ad5;return readServiceRegistry(_0x54b054)[_0x45af12(0xfe)]['map'](_0xc3f64=>_0xc3f64[_0x45af12(0xf2)]);}export function inspectServiceRegistry(_0x250095={}){const _0x2fa8d6=a40_0x188ad5,_0x3846ce=getServiceRegistryPath(_0x250095);if(!existsSync(_0x3846ce))return emptyServiceRegistryInspection(_0x3846ce,_0x2fa8d6(0xee),![]);try{const _0x33d660=readFileSync(_0x3846ce,_0x2fa8d6(0x108));if(!_0x33d660[_0x2fa8d6(0xf7)]())return emptyServiceRegistryInspection(_0x3846ce,'empty',!![]);const _0x5172d9=JSON[_0x2fa8d6(0xcd)](_0x33d660);if(_0x5172d9[_0x2fa8d6(0xeb)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3846ce,'invalid',!![]),'schemaVersion':_0x5172d9[_0x2fa8d6(0xeb)],'message':_0x2fa8d6(0xd3)+String(_0x5172d9[_0x2fa8d6(0xeb)])};if(!Array['isArray'](_0x5172d9[_0x2fa8d6(0xfe)]))return{...emptyServiceRegistryInspection(_0x3846ce,_0x2fa8d6(0xfd),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5172d9['updatedAt'],'message':_0x2fa8d6(0x113)};const _0x30fda4=_0x5172d9[_0x2fa8d6(0xfe)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x3846ce,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5172d9[_0x2fa8d6(0x10a)],'serviceCount':_0x30fda4[_0x2fa8d6(0xcf)],'commandCount':_0x30fda4[_0x2fa8d6(0xef)]((_0x3d9028,_0x44b5e7)=>_0x3d9028+_0x44b5e7['commandCount'],0x0),'services':_0x30fda4};}catch(_0x5d9674){return{...emptyServiceRegistryInspection(_0x3846ce,_0x2fa8d6(0xfd),!![]),'message':_0x5d9674 instanceof Error?_0x5d9674[_0x2fa8d6(0xdd)]:String(_0x5d9674)};}}export function formatValidationFailure(_0x52521e){const _0x3c0b7c=a40_0x188ad5,_0x26faf1=_0x52521e['errors'][_0x3c0b7c(0xc8)](_0x462f50=>_0x462f50[_0x3c0b7c(0xd0)]+':\x20'+_0x462f50[_0x3c0b7c(0xdd)]);return _0x3c0b7c(0xd2)+_0x26faf1[_0x3c0b7c(0xd1)]('\x0a');}function extractLoadedServiceManifests(_0xf63d72,_0x91bc01){const _0x4bf2a3=a40_0x188ad5;if(!isServiceRegistryLike(_0xf63d72)){const _0x5b46ec=_0xf63d72,_0x5c641c=validateServiceTreeManifest(_0x5b46ec);return[{'manifest':_0x5b46ec,'report':_0x5c641c,'normalizedManifest':_0x5c641c['ok']?normalizeServiceTreeManifest(_0x5b46ec):undefined,'sourceHash':_0x91bc01}];}return _0xf63d72[_0x4bf2a3(0xfe)][_0x4bf2a3(0xc8)]((_0x5dcecf,_0x11b984)=>{const _0x361be9=_0x4bf2a3,_0x39dab9=isObjectRecord(_0x5dcecf)?_0x5dcecf[_0x361be9(0xfc)]:undefined,_0x548fef=validateServiceTreeManifest(_0x39dab9),_0xb7032a=isObjectRecord(_0x5dcecf)&&typeof _0x5dcecf[_0x361be9(0x115)]===_0x361be9(0xe8)?_0x5dcecf[_0x361be9(0x115)]:undefined;return{'manifest':_0x39dab9,'report':_0x548fef,'normalizedManifest':_0x548fef['ok']?normalizeServiceTreeManifest(_0x39dab9):undefined,'sourceHash':sha256(JSON[_0x361be9(0xe1)](_0x39dab9,null,0x2)+'\x0a'),'registryIndex':_0x11b984,'registryServiceCode':_0xb7032a};});}function aggregateValidationReports(_0x4b5f54){const _0x292b83=a40_0x188ad5,_0x408df5=_0x4b5f54[_0x292b83(0xf5)](_0x4ab869=>_0x4ab869[_0x292b83(0xd8)]===undefined?_0x4ab869[_0x292b83(0x104)][_0x292b83(0xe2)]:_0x4ab869[_0x292b83(0x104)][_0x292b83(0xe2)][_0x292b83(0xc8)](_0x5737b1=>({..._0x5737b1,'path':prefixRegistryIssuePath(_0x4ab869[_0x292b83(0xd8)],_0x5737b1[_0x292b83(0xd0)])}))),_0x3a024f=_0x4b5f54[_0x292b83(0xf5)](_0x5309be=>_0x5309be[_0x292b83(0xd8)]===undefined?_0x5309be[_0x292b83(0x104)][_0x292b83(0xf6)]:_0x5309be[_0x292b83(0x104)]['warnings']['map'](_0x5a0f96=>({..._0x5a0f96,'path':prefixRegistryIssuePath(_0x5309be[_0x292b83(0xd8)],_0x5a0f96[_0x292b83(0xd0)])})));return{'ok':_0x408df5[_0x292b83(0xcf)]===0x0,'errors':_0x408df5,'warnings':_0x3a024f};}function prefixRegistryIssuePath(_0x55c4ae,_0x49695b){const _0x4508fb=a40_0x188ad5;if(_0x49695b==='$')return _0x4508fb(0xf4)+_0x55c4ae+'].manifest';if(_0x49695b[_0x4508fb(0x114)]('$.'))return _0x4508fb(0xf4)+_0x55c4ae+_0x4508fb(0xfb)+_0x49695b[_0x4508fb(0x119)](0x1);if(_0x49695b['startsWith']('$['))return _0x4508fb(0xf4)+_0x55c4ae+_0x4508fb(0xfb)+_0x49695b[_0x4508fb(0x119)](0x1);return'$.services['+_0x55c4ae+'].manifest.'+_0x49695b;}function isServiceRegistryLike(_0xf8b254){const _0x286259=a40_0x188ad5;return isObjectRecord(_0xf8b254)&&_0xf8b254[_0x286259(0xeb)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x286259(0xff)](_0xf8b254[_0x286259(0xfe)]);}function isObjectRecord(_0xa98c4a){const _0x2bb9d8=a40_0x188ad5;return Boolean(_0xa98c4a)&&typeof _0xa98c4a===_0x2bb9d8(0xf8)&&!Array[_0x2bb9d8(0xff)](_0xa98c4a);}function emptyServiceRegistryInspection(_0xe658ab,_0x3c62b5,_0x1164a9){return{'registryPath':_0xe658ab,'exists':_0x1164a9,'status':_0x3c62b5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2b6762){const _0x199367=a40_0x188ad5,_0x5eade8=_0x2b6762[_0x199367(0xf2)],_0x3ca9c0=_0x5eade8[_0x199367(0xda)]['map'](_0x73768e=>({'path':_0x73768e[_0x199367(0x106)],'description':_0x73768e[_0x199367(0x103)],'risk':_0x73768e[_0x199367(0x105)],'targetKind':_0x73768e['target'][_0x199367(0xf3)],'targetCommand':_0x73768e[_0x199367(0x107)][_0x199367(0x117)]}));return{'serviceCode':_0x2b6762[_0x199367(0x115)],'name':_0x5eade8[_0x199367(0x110)][_0x199367(0xdf)],'description':_0x5eade8[_0x199367(0x110)][_0x199367(0x103)],'version':_0x2b6762[_0x199367(0xe3)],'importedAt':_0x2b6762[_0x199367(0xdc)],'source':_0x2b6762['source'],'commandCount':_0x3ca9c0[_0x199367(0xcf)],'commands':_0x3ca9c0};}function a40_0x39cc(_0x387c0d,_0xe1ca3a){_0x387c0d=_0x387c0d-0xc7;const _0x1771b4=a40_0x1771();let _0x39cc96=_0x1771b4[_0x387c0d];return _0x39cc96;}function sha256(_0x1557e0){const _0x142f60=a40_0x188ad5;return createHash(_0x142f60(0xc9))[_0x142f60(0x10d)](_0x1557e0)[_0x142f60(0xde)]('hex');}
|
|
1
|
+
const a40_0x42cdaa=a40_0x2696;(function(_0xf75b9c,_0x12b0f1){const _0x14d0ae=a40_0x2696,_0x169b73=_0xf75b9c();while(!![]){try{const _0x11094f=parseInt(_0x14d0ae(0xe4))/0x1+-parseInt(_0x14d0ae(0x116))/0x2*(parseInt(_0x14d0ae(0xe6))/0x3)+parseInt(_0x14d0ae(0xf8))/0x4*(-parseInt(_0x14d0ae(0x122))/0x5)+-parseInt(_0x14d0ae(0x120))/0x6*(-parseInt(_0x14d0ae(0xdd))/0x7)+-parseInt(_0x14d0ae(0x118))/0x8*(parseInt(_0x14d0ae(0x119))/0x9)+-parseInt(_0x14d0ae(0x112))/0xa*(parseInt(_0x14d0ae(0xf9))/0xb)+-parseInt(_0x14d0ae(0x109))/0xc*(-parseInt(_0x14d0ae(0x110))/0xd);if(_0x11094f===_0x12b0f1)break;else _0x169b73['push'](_0x169b73['shift']());}catch(_0xa64478){_0x169b73['push'](_0x169b73['shift']());}}}(a40_0x46ad,0x3a921));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x42cdaa(0x10b);function a40_0x46ad(){const _0x11ff75=['10NaSWeW','CliError','now','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','28swgzsR','invalid','1778432tUzhQs','18waMOUr','normalizedManifest','code','Local\x20service\x20not\x20found:\x20','version','homeDir','missing','78gRSMrg','].manifest','255CYLTHR','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','errors','slice','$.services[','Service\x20manifest\x20validation\x20failed:\x0a','target','findIndex','find','parse','splice','services\x20must\x20be\x20an\x20array','kind','updatedAt','isArray','46571mYoyoN','service','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','name','commands','file','message','311901dwNBXI','ENOENT','55767ODNedd','source','risk','serviceCode','manifest','importedAt','Remove\x20or\x20migrate\x20','schemaVersion','utf8','map','homeDirName','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','reduce','.tmp','startsWith','report','stringify','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','18296TQlSUc','2467839ALxmnw','services','description','path','].manifest.','join','filePath','validation','empty','length','push','trim','registryIndex','Unsupported\x20schemaVersion:\x20','flatMap','command','72ITTOIn','Cannot\x20write\x20service\x20registry:\x20','service.json','sourceHash','cliPath','Unsupported\x20service\x20registry\x20schemaVersion:\x20','commandCount','2175316MEZtKR','sha256'];a40_0x46ad=function(){return _0x11ff75;};return a40_0x46ad();}export function getServiceRegistryPath(_0x2dc659={}){const _0x36bdbb=a40_0x42cdaa;return resolve(_0x2dc659[_0x36bdbb(0x11e)]??homedir(),PRODUCT_CONFIG[_0x36bdbb(0xf0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x138015={}){const _0x5348f2=a40_0x42cdaa,_0x5546c9=getServiceRegistryPath(_0x138015);if(!existsSync(_0x5546c9))return emptyServiceRegistry();try{const _0x42f16a=readFileSync(_0x5546c9,'utf8');if(!_0x42f16a['trim']())return emptyServiceRegistry();const _0x1725e6=JSON[_0x5348f2(0x12b)](_0x42f16a);if(_0x1725e6[_0x5348f2(0xed)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x5348f2(0x100)](_0x5348f2(0x10e)+String(_0x1725e6[_0x5348f2(0xed)]),_0x5348f2(0xec)+_0x5546c9+'.');if(!Array[_0x5348f2(0x130)](_0x1725e6[_0x5348f2(0xfa)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1725e6[_0x5348f2(0x12f)],'services':_0x1725e6['services']};}catch(_0x30a67e){if(_0x30a67e instanceof Error&&_0x30a67e[_0x5348f2(0xe0)]===_0x5348f2(0x113))throw _0x30a67e;throw CliErrors[_0x5348f2(0x100)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x5546c9,_0x5348f2(0xf7));}}export function writeServiceRegistry(_0x26da2b,_0x493998={}){const _0x30f2bf=a40_0x42cdaa,_0x47730b=getServiceRegistryPath(_0x493998),_0x1999ec=dirname(_0x47730b);!existsSync(_0x1999ec)&&mkdirSync(_0x1999ec,{'recursive':!![]});const _0x254b61=_0x47730b+_0x30f2bf(0xf3);try{writeFileSync(_0x254b61,JSON[_0x30f2bf(0xf6)](_0x26da2b,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x254b61,_0x47730b);}catch(_0x4f5a6b){try{unlinkSync(_0x254b61);}catch{}if(_0x4f5a6b?.[_0x30f2bf(0x11b)]===_0x30f2bf(0xe5))throw CliErrors[_0x30f2bf(0x100)](_0x30f2bf(0x10a)+_0x47730b);throw _0x4f5a6b;}return _0x47730b;}export function loadServiceManifestFromFile(_0x594fb4){const _0x11607a=a40_0x42cdaa,_0x4b18e2=resolve(_0x594fb4);if(!existsSync(_0x4b18e2))throw CliErrors[_0x11607a(0x100)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x594fb4);let _0x2b5768;const _0x183273=readFileSync(_0x4b18e2,_0x11607a(0xee));try{_0x2b5768=JSON[_0x11607a(0x12b)](_0x183273);}catch{throw CliErrors['validation']('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x594fb4,_0x11607a(0xf1));}const _0x53acf9=sha256(_0x183273),_0x4b8b22=extractLoadedServiceManifests(_0x2b5768,_0x53acf9),_0x5d4604=aggregateValidationReports(_0x4b8b22),_0x99b4b0=_0x4b8b22[0x0];return{'filePath':_0x4b18e2,'hash':_0x53acf9,'kind':isServiceRegistryLike(_0x2b5768)?'registry':_0x11607a(0xea),'manifest':_0x99b4b0?.[_0x11607a(0xea)]??_0x2b5768,'report':_0x5d4604,'normalizedManifest':_0x4b8b22[_0x11607a(0x102)]===0x1?_0x99b4b0?.[_0x11607a(0x11a)]:undefined,'manifests':_0x4b8b22};}export function importServiceManifest(_0x492926,_0x256d8c={}){const _0x46c3ae=a40_0x42cdaa,_0x2c22e5=loadServiceManifestFromFile(_0x492926);if(!_0x2c22e5['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x2c22e5[_0x46c3ae(0xf5)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x2c22e5['manifests'][_0x46c3ae(0x102)]===0x0)throw CliErrors[_0x46c3ae(0x100)](_0x46c3ae(0x123),_0x46c3ae(0xdf));const _0xb262bc=readServiceRegistry(_0x256d8c),_0x416870=(_0x256d8c[_0x46c3ae(0x114)]??(()=>new Date()))()['toISOString'](),_0x46547e=[];let _0x1e6ead=0x0,_0x4b0148=0x0;for(const _0x5519a0 of _0x2c22e5['manifests']){if(!_0x5519a0[_0x46c3ae(0x11a)])continue;const _0x45f3e9=_0x5519a0[_0x46c3ae(0x11a)][_0x46c3ae(0xde)][_0x46c3ae(0x11b)],_0x7cdbb2={'serviceCode':_0x45f3e9,'version':_0x5519a0[_0x46c3ae(0x11a)][_0x46c3ae(0x11d)],'importedAt':_0x416870,'source':{'type':_0x46c3ae(0xe2),'path':_0x2c22e5[_0x46c3ae(0xff)],'hash':_0x5519a0[_0x46c3ae(0x10c)]},'manifest':_0x5519a0[_0x46c3ae(0xea)],'normalizedManifest':_0x5519a0['normalizedManifest']},_0x19f42f=_0xb262bc[_0x46c3ae(0xfa)][_0x46c3ae(0x129)](_0x3017c6=>_0x3017c6[_0x46c3ae(0xe9)]===_0x45f3e9);_0x19f42f>=0x0?(_0xb262bc[_0x46c3ae(0xfa)][_0x19f42f]=_0x7cdbb2,_0x4b0148++):(_0xb262bc['services'][_0x46c3ae(0x103)](_0x7cdbb2),_0x1e6ead++),_0x46547e['push'](_0x7cdbb2);}_0xb262bc[_0x46c3ae(0xfa)]['sort']((_0x5d62f2,_0x565861)=>_0x5d62f2[_0x46c3ae(0xe9)]['localeCompare'](_0x565861['serviceCode'])),_0xb262bc[_0x46c3ae(0x12f)]=_0x416870;const _0x5f305b=writeServiceRegistry(_0xb262bc,_0x256d8c);return{'registryPath':_0x5f305b,'entry':_0x46547e[0x0],'replaced':_0x46547e[_0x46c3ae(0x102)]===0x1?_0x4b0148===0x1:_0x4b0148>0x0,'entries':_0x46547e,'imported':_0x1e6ead,'updated':_0x4b0148,'serviceCount':_0xb262bc[_0x46c3ae(0xfa)]['length']};}export function exportServiceManifest(_0x393f22,_0x1e0f0a,_0x1f3931={}){const _0x21d6ab=a40_0x42cdaa,_0x278200=getServiceRegistryPath(_0x1f3931),_0x54cd02=getLocalServiceEntry(_0x393f22,_0x1f3931);if(!_0x54cd02)throw CliErrors[_0x21d6ab(0x100)](_0x21d6ab(0x11c)+_0x393f22,_0x21d6ab(0x115));const _0x393798=resolve(_0x1e0f0a),_0x2884f7=dirname(_0x393798);return!existsSync(_0x2884f7)&&mkdirSync(_0x2884f7,{'recursive':!![]}),writeFileSync(_0x393798,JSON[_0x21d6ab(0xf6)](_0x54cd02['manifest'],null,0x2)+'\x0a',{'encoding':_0x21d6ab(0xee),'mode':0x180}),{'registryPath':_0x278200,'filePath':_0x393798,'entry':_0x54cd02};}export function removeServiceManifest(_0x307279,_0xf58d2c={}){const _0x125cf7=a40_0x42cdaa,_0x36b792=readServiceRegistry(_0xf58d2c),_0x12ff4e=_0x307279[_0x125cf7(0x104)](),_0x2cf755=_0x36b792['services'][_0x125cf7(0x129)](_0x35f099=>_0x35f099[_0x125cf7(0xe9)]===_0x12ff4e);if(_0x2cf755<0x0)throw CliErrors[_0x125cf7(0x100)](_0x125cf7(0x11c)+_0x12ff4e,_0x125cf7(0x115));const [_0x13f7ef]=_0x36b792[_0x125cf7(0xfa)][_0x125cf7(0x12c)](_0x2cf755,0x1),_0x14d533=(_0xf58d2c['now']??(()=>new Date()))()['toISOString']();_0x36b792[_0x125cf7(0x12f)]=_0x14d533;const _0x548278=writeServiceRegistry(_0x36b792,_0xf58d2c);return{'registryPath':_0x548278,'entry':_0x13f7ef,'serviceCount':_0x36b792[_0x125cf7(0xfa)][_0x125cf7(0x102)]};}export function listLocalServices(_0x30bd1e={}){const _0x4abee8=a40_0x42cdaa;return readServiceRegistry(_0x30bd1e)[_0x4abee8(0xfa)];}export function getLocalServiceEntry(_0x1067b7,_0x35fec3={}){const _0x371bff=a40_0x42cdaa;return readServiceRegistry(_0x35fec3)[_0x371bff(0xfa)][_0x371bff(0x12a)](_0x1acd78=>_0x1acd78['serviceCode']===_0x1067b7['trim']());}export function listLocalServiceTrees(_0x597919={}){const _0x1197aa=a40_0x42cdaa;return readServiceRegistry(_0x597919)['services'][_0x1197aa(0xef)](_0x53764c=>_0x53764c['normalizedManifest']);}export function inspectServiceRegistry(_0x5d866a={}){const _0x467450=a40_0x42cdaa,_0x2b1209=getServiceRegistryPath(_0x5d866a);if(!existsSync(_0x2b1209))return emptyServiceRegistryInspection(_0x2b1209,_0x467450(0x11f),![]);try{const _0x3f88eb=readFileSync(_0x2b1209,_0x467450(0xee));if(!_0x3f88eb['trim']())return emptyServiceRegistryInspection(_0x2b1209,_0x467450(0x101),!![]);const _0x2249d3=JSON['parse'](_0x3f88eb);if(_0x2249d3['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2b1209,_0x467450(0x117),!![]),'schemaVersion':_0x2249d3['schemaVersion'],'message':_0x467450(0x106)+String(_0x2249d3[_0x467450(0xed)])};if(!Array[_0x467450(0x130)](_0x2249d3['services']))return{...emptyServiceRegistryInspection(_0x2b1209,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2249d3['updatedAt'],'message':_0x467450(0x12d)};const _0x5af9e2=_0x2249d3[_0x467450(0xfa)][_0x467450(0xef)](summarizeLocalServiceEntry);return{'registryPath':_0x2b1209,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x2249d3[_0x467450(0x12f)],'serviceCount':_0x5af9e2[_0x467450(0x102)],'commandCount':_0x5af9e2[_0x467450(0xf2)]((_0x555650,_0x4bc512)=>_0x555650+_0x4bc512[_0x467450(0x10f)],0x0),'services':_0x5af9e2};}catch(_0x24d83e){return{...emptyServiceRegistryInspection(_0x2b1209,_0x467450(0x117),!![]),'message':_0x24d83e instanceof Error?_0x24d83e['message']:String(_0x24d83e)};}}export function formatValidationFailure(_0x55f2ae){const _0x409501=a40_0x42cdaa,_0x3aa7e8=_0x55f2ae['errors'][_0x409501(0xef)](_0x150553=>_0x150553[_0x409501(0xfc)]+':\x20'+_0x150553[_0x409501(0xe3)]);return _0x409501(0x127)+_0x3aa7e8[_0x409501(0xfe)]('\x0a');}function extractLoadedServiceManifests(_0x4c4afb,_0x16da8c){const _0x442133=a40_0x42cdaa;if(!isServiceRegistryLike(_0x4c4afb)){const _0x3b884d=_0x4c4afb,_0x34fa7b=validateServiceTreeManifest(_0x3b884d);return[{'manifest':_0x3b884d,'report':_0x34fa7b,'normalizedManifest':_0x34fa7b['ok']?normalizeServiceTreeManifest(_0x3b884d):undefined,'sourceHash':_0x16da8c}];}return _0x4c4afb['services'][_0x442133(0xef)]((_0x2be476,_0x4736fd)=>{const _0x38907c=_0x442133,_0x40e749=isObjectRecord(_0x2be476)?_0x2be476[_0x38907c(0xea)]:undefined,_0x4d55d7=validateServiceTreeManifest(_0x40e749),_0x5b5c52=isObjectRecord(_0x2be476)&&typeof _0x2be476[_0x38907c(0xe9)]==='string'?_0x2be476['serviceCode']:undefined;return{'manifest':_0x40e749,'report':_0x4d55d7,'normalizedManifest':_0x4d55d7['ok']?normalizeServiceTreeManifest(_0x40e749):undefined,'sourceHash':sha256(JSON[_0x38907c(0xf6)](_0x40e749,null,0x2)+'\x0a'),'registryIndex':_0x4736fd,'registryServiceCode':_0x5b5c52};});}function aggregateValidationReports(_0x2a338d){const _0x4cf92d=a40_0x42cdaa,_0x5ad8d6=_0x2a338d[_0x4cf92d(0x107)](_0x55cf09=>_0x55cf09[_0x4cf92d(0x105)]===undefined?_0x55cf09[_0x4cf92d(0xf5)]['errors']:_0x55cf09['report'][_0x4cf92d(0x124)]['map'](_0x1ed420=>({..._0x1ed420,'path':prefixRegistryIssuePath(_0x55cf09[_0x4cf92d(0x105)],_0x1ed420[_0x4cf92d(0xfc)])}))),_0x5e6798=_0x2a338d[_0x4cf92d(0x107)](_0x15f80d=>_0x15f80d[_0x4cf92d(0x105)]===undefined?_0x15f80d['report']['warnings']:_0x15f80d['report']['warnings'][_0x4cf92d(0xef)](_0x1e595a=>({..._0x1e595a,'path':prefixRegistryIssuePath(_0x15f80d[_0x4cf92d(0x105)],_0x1e595a[_0x4cf92d(0xfc)])})));return{'ok':_0x5ad8d6[_0x4cf92d(0x102)]===0x0,'errors':_0x5ad8d6,'warnings':_0x5e6798};}function prefixRegistryIssuePath(_0x54c912,_0x2ba40e){const _0x24a930=a40_0x42cdaa;if(_0x2ba40e==='$')return _0x24a930(0x126)+_0x54c912+_0x24a930(0x121);if(_0x2ba40e['startsWith']('$.'))return _0x24a930(0x126)+_0x54c912+_0x24a930(0x121)+_0x2ba40e[_0x24a930(0x125)](0x1);if(_0x2ba40e[_0x24a930(0xf4)]('$['))return'$.services['+_0x54c912+_0x24a930(0x121)+_0x2ba40e['slice'](0x1);return'$.services['+_0x54c912+_0x24a930(0xfd)+_0x2ba40e;}function isServiceRegistryLike(_0x3beb4a){const _0x3cbce7=a40_0x42cdaa;return isObjectRecord(_0x3beb4a)&&_0x3beb4a[_0x3cbce7(0xed)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x3cbce7(0x130)](_0x3beb4a[_0x3cbce7(0xfa)]);}function a40_0x2696(_0xa7f516,_0x5afc00){_0xa7f516=_0xa7f516-0xdd;const _0x46ad1c=a40_0x46ad();let _0x2696d0=_0x46ad1c[_0xa7f516];return _0x2696d0;}function isObjectRecord(_0x35fe2b){const _0x24c73c=a40_0x42cdaa;return Boolean(_0x35fe2b)&&typeof _0x35fe2b==='object'&&!Array[_0x24c73c(0x130)](_0x35fe2b);}function emptyServiceRegistryInspection(_0x5a6350,_0x5a84ab,_0x35f826){return{'registryPath':_0x5a6350,'exists':_0x35f826,'status':_0x5a84ab,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x25950f){const _0x114c2f=a40_0x42cdaa,_0x1e2006=_0x25950f[_0x114c2f(0x11a)],_0x58221=_0x1e2006[_0x114c2f(0xe1)][_0x114c2f(0xef)](_0x5018e3=>({'path':_0x5018e3[_0x114c2f(0x10d)],'description':_0x5018e3['description'],'risk':_0x5018e3[_0x114c2f(0xe8)],'targetKind':_0x5018e3[_0x114c2f(0x128)][_0x114c2f(0x12e)],'targetCommand':_0x5018e3[_0x114c2f(0x128)][_0x114c2f(0x108)]}));return{'serviceCode':_0x25950f['serviceCode'],'name':_0x1e2006[_0x114c2f(0xde)][_0x114c2f(0xe0)],'description':_0x1e2006[_0x114c2f(0xde)][_0x114c2f(0xfb)],'version':_0x25950f[_0x114c2f(0x11d)],'importedAt':_0x25950f[_0x114c2f(0xeb)],'source':_0x25950f[_0x114c2f(0xe7)],'commandCount':_0x58221[_0x114c2f(0x102)],'commands':_0x58221};}function sha256(_0x5e8a0a){const _0x11717c=a40_0x42cdaa;return createHash(_0x11717c(0x111))['update'](_0x5e8a0a)['digest']('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a41_0x157b3c=a41_0x5e40;(function(_0x12bc33,_0x32a28b){const _0x22b6ab=a41_0x5e40,_0x5d1ca5=_0x12bc33();while(!![]){try{const _0x106592=-parseInt(_0x22b6ab(0x1e3))/0x1*(parseInt(_0x22b6ab(0x1ce))/0x2)+-parseInt(_0x22b6ab(0x1d6))/0x3+-parseInt(_0x22b6ab(0x1c9))/0x4+-parseInt(_0x22b6ab(0x1cf))/0x5+parseInt(_0x22b6ab(0x1dc))/0x6+parseInt(_0x22b6ab(0x1c6))/0x7*(parseInt(_0x22b6ab(0x1e2))/0x8)+parseInt(_0x22b6ab(0x1e6))/0x9*(parseInt(_0x22b6ab(0x1dd))/0xa);if(_0x106592===_0x32a28b)break;else _0x5d1ca5['push'](_0x5d1ca5['shift']());}catch(_0x23001c){_0x5d1ca5['push'](_0x5d1ca5['shift']());}}}(a41_0x554a,0x54095));function a41_0x554a(){const _0x11483c=['create','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','force','1059093EhCmmx','name','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','skillDir','type','str','44772GcKRrR','2201360ClxKXx','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','Created\x20local\x20Skill\x20draft\x20','validation','skillName','2447064DmtvUw','106DCsEDO','utf8','write','63FmgSDn','Refusing\x20to\x20overwrite\x20symlink:\x20','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','isSymbolicLink','map','7pqFucT','trim','path','2034080QqfRKn','files','WRITE','bool','skill','3414XsVyaa','2337955vpqyLi','target','Skill\x20directory\x20already\x20exists:\x20','rendered'];a41_0x554a=function(){return _0x11483c;};return a41_0x554a();}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a41_0x5e40(_0x473ddc,_0x1b753f){_0x473ddc=_0x473ddc-0x1c4;const _0x554a14=a41_0x554a();let _0x5e4048=_0x554a14[_0x473ddc];return _0x5e4048;}export const createCommand={'service':a41_0x157b3c(0x1cd),'command':a41_0x157b3c(0x1d3),'description':a41_0x157b3c(0x1e8),'risk':a41_0x157b3c(0x1e5),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5d4e4d){const _0x34c7c4=a41_0x157b3c,_0x3ece02=buildSkillCreatePlan(_0x5d4e4d[_0x34c7c4(0x1db)]('name'),_0x5d4e4d[_0x34c7c4(0x1db)](_0x34c7c4(0x1da)),_0x5d4e4d[_0x34c7c4(0x1db)](_0x34c7c4(0x1d0)));return{'method':_0x34c7c4(0x1cb),'url':_0x3ece02[_0x34c7c4(0x1d9)],'body':{'skillName':_0x3ece02[_0x34c7c4(0x1d2)][_0x34c7c4(0x1e1)],'type':_0x3ece02[_0x34c7c4(0x1d2)][_0x34c7c4(0x1da)],'selfContained':!![],'files':_0x3ece02['rendered']['files'][_0x34c7c4(0x1c5)](_0x37a662=>_0x37a662['path'])},'description':_0x34c7c4(0x1de)};},async 'execute'(_0x25434f){const _0x50f3d9=a41_0x157b3c,_0x1de5d1=buildSkillCreatePlan(_0x25434f[_0x50f3d9(0x1db)](_0x50f3d9(0x1d7)),_0x25434f[_0x50f3d9(0x1db)](_0x50f3d9(0x1da)),_0x25434f[_0x50f3d9(0x1db)](_0x50f3d9(0x1d0)));return writeSkillDraft(_0x1de5d1,_0x25434f[_0x50f3d9(0x1cc)](_0x50f3d9(0x1d5))),{'ok':!![],'data':{'skillName':_0x1de5d1[_0x50f3d9(0x1d2)][_0x50f3d9(0x1e1)],'type':_0x1de5d1[_0x50f3d9(0x1d2)][_0x50f3d9(0x1da)],'dir':_0x1de5d1[_0x50f3d9(0x1d9)],'files':_0x1de5d1['rendered'][_0x50f3d9(0x1ca)]['map'](_0x114071=>_0x114071[_0x50f3d9(0x1c8)])},'message':_0x50f3d9(0x1df)+_0x1de5d1[_0x50f3d9(0x1d2)]['skillName']};}};function buildSkillCreatePlan(_0x3b4df,_0x28f026,_0x2b8846){const _0x132825=a41_0x157b3c,_0x434c4d=renderSkillTemplate({'skillName':_0x3b4df,'type':_0x28f026}),_0x595a7f=resolve(normalizeSkillTarget(_0x2b8846));return{'rendered':_0x434c4d,'targetRoot':_0x595a7f,'skillDir':resolve(_0x595a7f,_0x434c4d[_0x132825(0x1e1)])};}function normalizeSkillTarget(_0x52f7ed){const _0x71abde=a41_0x157b3c;return(_0x52f7ed||DEFAULT_SKILL_TARGET)[_0x71abde(0x1c7)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x19c6f2,_0x30aaf7){const _0x4af19b=a41_0x157b3c;if(existsSync(_0x19c6f2[_0x4af19b(0x1d9)])){const _0x5a3683=lstatSync(_0x19c6f2[_0x4af19b(0x1d9)]);if(!_0x5a3683['isDirectory']()||_0x5a3683['isSymbolicLink']())throw CliErrors[_0x4af19b(0x1e0)](_0x4af19b(0x1d8)+_0x19c6f2[_0x4af19b(0x1d9)]);if(!_0x30aaf7)throw CliErrors[_0x4af19b(0x1e0)](_0x4af19b(0x1d1)+_0x19c6f2[_0x4af19b(0x1d9)],_0x4af19b(0x1d4));}for(const _0x666c97 of _0x19c6f2[_0x4af19b(0x1d2)]['files']){const _0x1d6542=resolve(_0x19c6f2[_0x4af19b(0x1d9)],_0x666c97['path']),_0x189112=dirname(_0x1d6542);mkdirSync(_0x189112,{'recursive':!![]});if(existsSync(_0x1d6542)&&lstatSync(_0x1d6542)[_0x4af19b(0x1c4)]())throw CliErrors[_0x4af19b(0x1e0)](_0x4af19b(0x1e7)+_0x1d6542);writeFileSync(_0x1d6542,_0x666c97['content'],_0x4af19b(0x1e4));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a42_0x5aca(_0x122b70,_0x2f728c){_0x122b70=_0x122b70-0x17b;const _0x2eb6fa=a42_0x2eb6();let _0x5aca01=_0x2eb6fa[_0x122b70];return _0x5aca01;}const a42_0x3fde7f=a42_0x5aca;(function(_0x5d8aa5,_0x2824b9){const _0x3909a8=a42_0x5aca,_0x12af8b=_0x5d8aa5();while(!![]){try{const _0x135165=-parseInt(_0x3909a8(0x191))/0x1+parseInt(_0x3909a8(0x185))/0x2+parseInt(_0x3909a8(0x17f))/0x3*(parseInt(_0x3909a8(0x187))/0x4)+-parseInt(_0x3909a8(0x1a4))/0x5*(parseInt(_0x3909a8(0x19f))/0x6)+parseInt(_0x3909a8(0x194))/0x7*(-parseInt(_0x3909a8(0x184))/0x8)+-parseInt(_0x3909a8(0x196))/0x9*(parseInt(_0x3909a8(0x18c))/0xa)+parseInt(_0x3909a8(0x182))/0xb;if(_0x135165===_0x2824b9)break;else _0x12af8b['push'](_0x12af8b['shift']());}catch(_0x2fc017){_0x12af8b['push'](_0x12af8b['shift']());}}}(a42_0x2eb6,0x92632));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a42_0x2eb6(){const _0x325e1f=['accessKey','flatMap','skipped','company','push','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','includes','6VhfJcb','\x20company\x20Skill(s).','skill','created','scope','4081510wJekvy','personal','authRequired','str','code','write','length','install','3480501ccrFzd','filter','../../../skills/runtime-skill-sync.js','13488299RXlSbb','version','296DRQppV','1310422MwAyTj','skillCode','4kczGPo','updated','Installed\x20','trim','envName','2182430jonAim','appCode','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','map','production','324655xvpCmm','reduce','action','163562bDXMTK','\x20personal\x20and\x20','18iYgdrE','unchanged'];a42_0x2eb6=function(){return _0x325e1f;};return a42_0x2eb6();}export const installCommand={'service':a42_0x3fde7f(0x1a1),'command':a42_0x3fde7f(0x17e),'description':a42_0x3fde7f(0x19d),'risk':a42_0x3fde7f(0x17c),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x5d2952){return syncRuntimeSkills(_0x5d2952);}};async function syncRuntimeSkills(_0x2a0d98){const _0x4e710a=a42_0x3fde7f,{downloadRuntimeSkillPackage:_0x3ae5a2,listRuntimeSkills:_0x43dd65}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x4c4eda,materializeRuntimeSkill:_0x5db570,pruneStaleRuntimeSkillCache:_0x3e6b81,pruneStaleRuntimeSkillLinks:_0x125eee}=await import(_0x4e710a(0x181)),_0x162a9b=_0x2a0d98[_0x4e710a(0x1a7)](_0x4e710a(0x17b)),_0x3cb3a6=normalizeSyncScopes(_0x2a0d98[_0x4e710a(0x1a7)](_0x4e710a(0x1a3))),_0x566381=_0x2a0d98[_0x4e710a(0x18b)]??_0x4e710a(0x190),_0x16a5bb=_0x2a0d98[_0x4e710a(0x198)];if(!_0x16a5bb)throw CliErrors[_0x4e710a(0x1a6)](_0x4e710a(0x18e));const _0x3021db=await Promise['all'](_0x3cb3a6[_0x4e710a(0x18f)](_0x18f367=>_0x43dd65({'appCode':_0x2a0d98[_0x4e710a(0x18d)],'scope':_0x18f367,'code':_0x162a9b['trim']()||undefined}))),_0x503ea2=_0x3cb3a6[_0x4e710a(0x19e)](_0x4e710a(0x1a5))?_0x3021db[_0x4e710a(0x199)]((_0x2d4ccc,_0x43d146)=>_0x3cb3a6[_0x43d146]==='personal'?_0x2d4ccc[_0x4e710a(0x1a5)]:[]):[],_0x4df2e9=_0x3cb3a6[_0x4e710a(0x19e)](_0x4e710a(0x19b))?_0x3021db[_0x4e710a(0x199)]((_0x245374,_0x31161f)=>_0x3cb3a6[_0x31161f]===_0x4e710a(0x19b)?_0x245374['company']:[]):[],_0x43825a=new Set([..._0x503ea2[_0x4e710a(0x18f)](_0x4b6dfd=>_0x4b6dfd['skillCode']?.[_0x4e710a(0x18a)]())[_0x4e710a(0x180)](_0x2c3f8b=>Boolean(_0x2c3f8b)),..._0x4df2e9[_0x4e710a(0x18f)](_0x91dd25=>_0x91dd25[_0x4e710a(0x186)]?.['trim']())[_0x4e710a(0x180)](_0x1ee14e=>Boolean(_0x1ee14e))]),_0x217ea6=_0x162a9b[_0x4e710a(0x18a)]()?[_0x162a9b['trim']()]:undefined,_0xc58673=_0x3cb3a6[_0x4e710a(0x17d)]===0x2&&_0x3cb3a6[_0x4e710a(0x19e)]('personal')&&_0x3cb3a6[_0x4e710a(0x19e)](_0x4e710a(0x19b)),_0x7af2ba=_0xc58673?_0x125eee(_0x2a0d98[_0x4e710a(0x18d)],_0x43825a,{},_0x217ea6):[],_0x5cdb34=_0x3e6b81({'env':_0x566381,'accessKey':_0x16a5bb,'appCode':_0x2a0d98[_0x4e710a(0x18d)],'activeSkillCodes':_0x43825a,'pruneSkillCodes':_0x217ea6,'scopes':_0x3cb3a6}),_0x4d5cf5=[];for(const _0x579a31 of _0x503ea2){_0x4d5cf5[_0x4e710a(0x19c)](_0x5db570(_0x579a31,'personal',{'env':_0x566381,'accessKey':_0x16a5bb,'appCode':_0x2a0d98['appCode'],'packageBytes':await downloadSkillPackage(_0x579a31,'personal',_0x2a0d98[_0x4e710a(0x18d)],_0x3ae5a2)}));}for(const _0x38e0d3 of _0x4df2e9){_0x4d5cf5[_0x4e710a(0x19c)](_0x5db570(_0x38e0d3,'company',{'env':_0x566381,'accessKey':_0x16a5bb,'appCode':_0x2a0d98[_0x4e710a(0x18d)],'packageBytes':await downloadSkillPackage(_0x38e0d3,_0x4e710a(0x19b),_0x2a0d98[_0x4e710a(0x18d)],_0x3ae5a2)}));}const _0x496cad=_0x4c4eda(_0x4d5cf5,_0x2a0d98['appCode']),_0x500601=countLinkActions(_0x496cad);return{'ok':!![],'data':{'appCode':_0x2a0d98['appCode'],'personal':_0x503ea2['length'],'company':_0x4df2e9[_0x4e710a(0x17d)],'materialized':_0x4d5cf5[_0x4e710a(0x17d)],'links':{'total':_0x496cad[_0x4e710a(0x17d)],'created':_0x500601[_0x4e710a(0x1a2)]??0x0,'updated':_0x500601[_0x4e710a(0x188)]??0x0,'unchanged':_0x500601[_0x4e710a(0x197)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x7af2ba[_0x4e710a(0x180)](_0x18e2b5=>_0x18e2b5[_0x4e710a(0x193)]==='removed')[_0x4e710a(0x17d)],'cacheDirs':_0x5cdb34[_0x4e710a(0x180)](_0xf97572=>_0xf97572[_0x4e710a(0x193)]==='removed')[_0x4e710a(0x17d)],'skipped':[..._0x7af2ba,..._0x5cdb34][_0x4e710a(0x180)](_0x5470ea=>_0x5470ea[_0x4e710a(0x193)]===_0x4e710a(0x19a))[_0x4e710a(0x17d)]},'skills':{'personal':_0x503ea2[_0x4e710a(0x18f)](summarizeRuntimeSkill),'company':_0x4df2e9['map'](summarizeRuntimeSkill)}},'message':_0x4e710a(0x189)+_0x503ea2[_0x4e710a(0x17d)]+_0x4e710a(0x195)+_0x4df2e9['length']+_0x4e710a(0x1a0)};}async function downloadSkillPackage(_0x4f80f9,_0x29a875,_0x22f993,_0x49333d){const _0xe5bffa=a42_0x3fde7f,_0x17f05e=_0x4f80f9[_0xe5bffa(0x183)]?.[_0xe5bffa(0x18a)]();return _0x17f05e?_0x49333d(_0x29a875,_0x4f80f9[_0xe5bffa(0x186)],_0x22f993,_0x17f05e):_0x49333d(_0x29a875,_0x4f80f9[_0xe5bffa(0x186)],_0x22f993);}function countLinkActions(_0x5d34ae){const _0x5adc06=a42_0x3fde7f;return _0x5d34ae[_0x5adc06(0x192)]((_0x5084c8,_0x12ad6e)=>{return _0x5084c8[_0x12ad6e['action']]=(_0x5084c8[_0x12ad6e['action']]??0x0)+0x1,_0x5084c8;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x15eda1=a43_0x2fbc;(function(_0x1f391e,_0x1352cf){const _0x2062d7=a43_0x2fbc,_0x59fa2f=_0x1f391e();while(!![]){try{const _0x437426=parseInt(_0x2062d7(0x201))/0x1*(-parseInt(_0x2062d7(0x1f4))/0x2)+parseInt(_0x2062d7(0x1f9))/0x3+-parseInt(_0x2062d7(0x208))/0x4*(parseInt(_0x2062d7(0x20c))/0x5)+parseInt(_0x2062d7(0x204))/0x6+parseInt(_0x2062d7(0x20d))/0x7*(-parseInt(_0x2062d7(0x1f1))/0x8)+parseInt(_0x2062d7(0x206))/0x9+parseInt(_0x2062d7(0x1f6))/0xa;if(_0x437426===_0x1352cf)break;else _0x59fa2f['push'](_0x59fa2f['shift']());}catch(_0x45b6b1){_0x59fa2f['push'](_0x59fa2f['shift']());}}}(a43_0x5e69,0x64e5d));import{CliErrors}from'../../../errors.js';function a43_0x2fbc(_0x1ef4a4,_0x3c908e){_0x1ef4a4=_0x1ef4a4-0x1ee;const _0x5e69fb=a43_0x5e69();let _0x2fbcd0=_0x5e69fb[_0x1ef4a4];return _0x2fbcd0;}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':a43_0x15eda1(0x1ff),'description':a43_0x15eda1(0x1ef),'risk':a43_0x15eda1(0x207),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x39d8ed){const _0x376fcc=a43_0x15eda1,_0x42f5f0=_0x39d8ed['str']('code'),_0x5e826e=normalizeListScope(_0x39d8ed[_0x376fcc(0x1fc)]('scope'));if(_0x39d8ed[_0x376fcc(0x1ee)](_0x376fcc(0x1f3))){const _0x3373d2=_0x39d8ed[_0x376fcc(0x1fb)];if(!_0x3373d2)throw CliErrors[_0x376fcc(0x1f5)]();const {listLocalRuntimeSkills:_0x381a3b}=await import(_0x376fcc(0x1fe)),_0x568e34=_0x381a3b({'env':_0x39d8ed[_0x376fcc(0x20e)]??'production','accessKey':_0x3373d2,'appCode':_0x39d8ed[_0x376fcc(0x1f2)],'scopes':listScopeToRuntimeScopes(_0x5e826e),'code':_0x42f5f0[_0x376fcc(0x1fd)]()||undefined}),_0x1eff1d=groupLocalRuntimeSkills(_0x568e34);return{'ok':!![],'data':{'appCode':_0x39d8ed[_0x376fcc(0x1f2)],'source':_0x376fcc(0x1f3),'scope':_0x5e826e,'total':_0x568e34[_0x376fcc(0x203)],'personal':_0x1eff1d[_0x376fcc(0x209)][_0x376fcc(0x203)],'company':_0x1eff1d[_0x376fcc(0x205)][_0x376fcc(0x203)],'items':_0x568e34[_0x376fcc(0x200)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x1eff1d[_0x376fcc(0x209)][_0x376fcc(0x200)](summarizeLocalRuntimeSkill),'company':_0x1eff1d[_0x376fcc(0x205)]['map'](summarizeLocalRuntimeSkill)}},'message':_0x376fcc(0x1f0)+_0x568e34[_0x376fcc(0x203)]+_0x376fcc(0x1f7)};}const {listRuntimeSkills:_0x481091}=await import('../../../core/api-client.js'),_0x3d9e01=await _0x481091({'appCode':_0x39d8ed[_0x376fcc(0x1f2)],'scope':listScopeToRemoteScope(_0x5e826e),'code':_0x42f5f0[_0x376fcc(0x1fd)]()||undefined}),_0x4c4f2f=shouldListScope(_0x5e826e,_0x376fcc(0x209))?_0x3d9e01['personal']??[]:[],_0x483dbf=shouldListScope(_0x5e826e,_0x376fcc(0x205))?_0x3d9e01[_0x376fcc(0x205)]??[]:[],_0x45de1f=[..._0x4c4f2f,..._0x483dbf];return{'ok':!![],'data':{'appCode':_0x39d8ed[_0x376fcc(0x1f2)],'source':_0x376fcc(0x20b),'scope':_0x5e826e,'total':_0x45de1f['length'],'personal':_0x4c4f2f['length'],'company':_0x483dbf[_0x376fcc(0x203)],'items':_0x45de1f[_0x376fcc(0x200)](summarizeRuntimeSkill),'skills':{'personal':_0x4c4f2f[_0x376fcc(0x200)](summarizeRuntimeSkill),'company':_0x483dbf['map'](summarizeRuntimeSkill)}},'message':_0x376fcc(0x1f0)+_0x45de1f['length']+_0x376fcc(0x20a)};}};function groupLocalRuntimeSkills(_0x19856a){const _0x546028=a43_0x15eda1;return{'personal':_0x19856a[_0x546028(0x1fa)](_0x2674be=>_0x2674be['scope']===_0x546028(0x209)),'company':_0x19856a[_0x546028(0x1fa)](_0x1ee3b5=>_0x1ee3b5[_0x546028(0x1f8)]===_0x546028(0x205)),'builtin':_0x19856a[_0x546028(0x1fa)](_0x5b86e1=>_0x5b86e1['scope']===_0x546028(0x202))};}function a43_0x5e69(){const _0x5735ff=['scope','218934NpsMNv','filter','accessKey','str','trim','../../../skills/runtime-skill-sync.js','list','map','386hfnFbB','builtin','length','288888VqaTRF','company','6895431flHXlp','read','145532eijgvF','personal','\x20remote\x20Skill(s).','remote','75oAHgUb','1638RkmOdp','envName','bool','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','Listed\x20','7832VlsSai','appCode','local','38WjhNGG','authRequired','3081570KdjBLi','\x20local\x20Skill(s).'];a43_0x5e69=function(){return _0x5735ff;};return a43_0x5e69();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x56ca30=a44_0xe014;(function(_0x32e4b0,_0x506ae1){const _0x12b27d=a44_0xe014,_0x7544d9=_0x32e4b0();while(!![]){try{const _0x11bc54=-parseInt(_0x12b27d(0x1a9))/0x1*(parseInt(_0x12b27d(0x1a1))/0x2)+-parseInt(_0x12b27d(0x1a2))/0x3*(-parseInt(_0x12b27d(0x1a8))/0x4)+-parseInt(_0x12b27d(0x1aa))/0x5*(-parseInt(_0x12b27d(0x1ad))/0x6)+-parseInt(_0x12b27d(0x1a3))/0x7+parseInt(_0x12b27d(0x1a6))/0x8+parseInt(_0x12b27d(0x1ab))/0x9+-parseInt(_0x12b27d(0x1a0))/0xa;if(_0x11bc54===_0x506ae1)break;else _0x7544d9['push'](_0x7544d9['shift']());}catch(_0x49f229){_0x7544d9['push'](_0x7544d9['shift']());}}}(a44_0xf60d,0xeb174));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a44_0x56ca30(0x1a7),'command':a44_0x56ca30(0x1ac),'description':a44_0x56ca30(0x1a5),'risk':a44_0x56ca30(0x1a4),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};function a44_0xe014(_0x1c77b1,_0x404b1d){_0x1c77b1=_0x1c77b1-0x1a0;const _0xf60d16=a44_0xf60d();let _0xe014e5=_0xf60d16[_0x1c77b1];return _0xe014e5;}function a44_0xf60d(){const _0x5360d7=['13882671rqEXXR','push','36EuEzjZ','28815770TVTGAL','384zyxQaI','1173sRPCUl','3743698dbkbnJ','write','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','11476968uoadkO','skill','11548tmJRlC','5831tBKYSz','1160765jceZYc'];a44_0xf60d=function(){return _0x5360d7;};return a44_0xf60d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a45_0x2bc999=a45_0x20bd;(function(_0x563ade,_0x352950){const _0x405c6e=a45_0x20bd,_0x191e7f=_0x563ade();while(!![]){try{const _0x16e13f=-parseInt(_0x405c6e(0x1c6))/0x1*(parseInt(_0x405c6e(0x1b4))/0x2)+parseInt(_0x405c6e(0x1b9))/0x3*(parseInt(_0x405c6e(0x1c4))/0x4)+parseInt(_0x405c6e(0x1ba))/0x5*(-parseInt(_0x405c6e(0x1c3))/0x6)+-parseInt(_0x405c6e(0x1b7))/0x7*(parseInt(_0x405c6e(0x1c8))/0x8)+-parseInt(_0x405c6e(0x1c7))/0x9+-parseInt(_0x405c6e(0x1bf))/0xa*(parseInt(_0x405c6e(0x1c2))/0xb)+parseInt(_0x405c6e(0x1c1))/0xc;if(_0x16e13f===_0x352950)break;else _0x191e7f['push'](_0x191e7f['shift']());}catch(_0xae0cea){_0x191e7f['push'](_0x191e7f['shift']());}}}(a45_0x13e3,0x88a15));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';function a45_0x20bd(_0x2e83f5,_0x456ac4){_0x2e83f5=_0x2e83f5-0x1b4;const _0x13e3f2=a45_0x13e3();let _0x20bdc9=_0x13e3f2[_0x2e83f5];return _0x20bdc9;}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':'skill','command':a45_0x2bc999(0x1b5),'description':a45_0x2bc999(0x1bc),'risk':a45_0x2bc999(0x1b8),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x247fd1){const _0x5e2300=a45_0x2bc999,_0x867fea=_0x247fd1[_0x5e2300(0x1c5)](_0x5e2300(0x1bd)),_0x1ce81f=validateSkillDirectory(_0x247fd1[_0x5e2300(0x1c0)](_0x5e2300(0x1b6)),{'strict':_0x867fea});return throwIfSkillValidationFailed(_0x1ce81f,_0x867fea),{'ok':!![],'data':{'dir':_0x1ce81f[_0x5e2300(0x1b6)],'type':_0x1ce81f['type'],'errors':_0x1ce81f[_0x5e2300(0x1bb)],'warnings':_0x1ce81f[_0x5e2300(0x1be)]},'message':'Skill\x20validation\x20passed.'};}};function a45_0x13e3(){const _0x43fbaf=['8388621JVGicy','440qYcqUD','2HtNuJM','validate','dir','119014FqWodg','read','183NZcHpL','15zRPcfq','errors','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','strict','warnings','30cuMHEv','str','52200060XeQMoo','3650834TQZYYw','1146582xlMKlY','14716UEmeIN','bool','578635GcpmnA'];a45_0x13e3=function(){return _0x43fbaf;};return a45_0x13e3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a46_0x101c25=a46_0x35e3;(function(_0x1c47b5,_0xa04fd){const _0x2b7a55=a46_0x35e3,_0x54933d=_0x1c47b5();while(!![]){try{const _0x49ca18=-parseInt(_0x2b7a55(0xc4))/0x1*(-parseInt(_0x2b7a55(0xc0))/0x2)+-parseInt(_0x2b7a55(0xb9))/0x3+parseInt(_0x2b7a55(0xc6))/0x4*(-parseInt(_0x2b7a55(0xb2))/0x5)+-parseInt(_0x2b7a55(0xc8))/0x6+-parseInt(_0x2b7a55(0xb8))/0x7+parseInt(_0x2b7a55(0xbe))/0x8+-parseInt(_0x2b7a55(0xb5))/0x9*(-parseInt(_0x2b7a55(0xbd))/0xa);if(_0x49ca18===_0xa04fd)break;else _0x54933d['push'](_0x54933d['shift']());}catch(_0x126d03){_0x54933d['push'](_0x54933d['shift']());}}}(a46_0x2880,0x50d81));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':'code','type':a46_0x101c25(0xc1),'description':a46_0x101c25(0xca)};export const SCOPE_FLAG={'name':a46_0x101c25(0xc5),'type':a46_0x101c25(0xc1),'description':a46_0x101c25(0xb7),'enum':['all','personal','company']};export const PUSH_SCOPE_FLAG={'name':'scope','type':a46_0x101c25(0xc1),'description':'Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','default':a46_0x101c25(0xcd),'enum':[a46_0x101c25(0xcd),a46_0x101c25(0xbf)]};export const LIST_SCOPE_FLAG={'name':'scope','type':a46_0x101c25(0xc1),'description':a46_0x101c25(0xc2),'enum':[a46_0x101c25(0xcb),a46_0x101c25(0xcd),'company']};export const LOCAL_FLAG={'name':'local','type':a46_0x101c25(0xcc),'description':a46_0x101c25(0xaf)};function a46_0x2880(){const _0x2d7644=['personal','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','strict','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','5oMnmdO','write','dir','117yBpGLy','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','3312309eAtuPj','1018455ErIRrS','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','type','Continue\x20company\x20Skill\x20push\x20when\x20SkillHub\x20validation\x20reports\x20warnings','1447210EWKjAX','1985448ElFzKA','company','4aFTXaN','string','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','name','2477Fhpqoe','scope','2491828nBQIxK','Skill\x20template\x20type','2206452hLMSZf','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','all','boolean'];a46_0x2880=function(){return _0x2d7644;};return a46_0x2880();}export const DIR_FLAG={'name':a46_0x101c25(0xb4),'type':a46_0x101c25(0xc1),'required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};export const CREATE_NAME_FLAG={'name':a46_0x101c25(0xc3),'type':a46_0x101c25(0xc1),'required':!![],'description':a46_0x101c25(0xb1),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a46_0x101c25(0xc9)}};export const TYPE_FLAG={'name':a46_0x101c25(0xbb),'type':a46_0x101c25(0xc1),'description':a46_0x101c25(0xc7),'default':a46_0x101c25(0xb3),'enum':[...SKILL_TYPES]};function a46_0x35e3(_0x51877a,_0x527b0c){_0x51877a=_0x51877a-0xaf;const _0x288052=a46_0x2880();let _0x35e3c8=_0x288052[_0x51877a];return _0x35e3c8;}export const TARGET_FLAG={'name':'target','type':'string','description':a46_0x101c25(0xb6),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':'force','type':a46_0x101c25(0xcc),'description':a46_0x101c25(0xba)};export const CONFIRM_WARNINGS_FLAG={'name':'confirm-warnings','type':a46_0x101c25(0xcc),'description':a46_0x101c25(0xbc)};export const STRICT_FLAG={'name':a46_0x101c25(0xb0),'type':'boolean','description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x126c52,_0x3a31d5){const _0x2bf0fb=a47_0x11eb,_0x4b0e7c=_0x126c52();while(!![]){try{const _0x446806=-parseInt(_0x2bf0fb(0x81))/0x1+-parseInt(_0x2bf0fb(0x82))/0x2*(-parseInt(_0x2bf0fb(0x7b))/0x3)+parseInt(_0x2bf0fb(0x79))/0x4*(-parseInt(_0x2bf0fb(0x7a))/0x5)+parseInt(_0x2bf0fb(0x7e))/0x6+parseInt(_0x2bf0fb(0x80))/0x7*(-parseInt(_0x2bf0fb(0x78))/0x8)+parseInt(_0x2bf0fb(0x7f))/0x9*(parseInt(_0x2bf0fb(0x7c))/0xa)+parseInt(_0x2bf0fb(0x7d))/0xb;if(_0x446806===_0x3a31d5)break;else _0x4b0e7c['push'](_0x4b0e7c['shift']());}catch(_0x343ece){_0x4b0e7c['push'](_0x4b0e7c['shift']());}}}(a47_0x5af8,0xbc346));import{createCommand}from'./commands/create.js';function a47_0x5af8(){const _0x91a369=['342jauCkR','2955183zhmLpK','860344wXenia','228ayogHp','8XOgbiK','7960uQcrBJ','2490LPLbRY','33426lqdmmG','97220DbUFOz','14681755HZmEVg','420540IsxbbI'];a47_0x5af8=function(){return _0x91a369;};return a47_0x5af8();}import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';function a47_0x11eb(_0x2a7918,_0x543e9d){_0x2a7918=_0x2a7918-0x78;const _0x5af8be=a47_0x5af8();let _0x11eb50=_0x5af8be[_0x2a7918];return _0x11eb50;}import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xea0762,_0x4d99a9){var _0x197b1f=a48_0x2848,_0x3aad5f=_0xea0762();while(!![]){try{var _0x19ba3a=parseInt(_0x197b1f(0x1d1))/0x1*(parseInt(_0x197b1f(0x1d5))/0x2)+parseInt(_0x197b1f(0x1dc))/0x3*(-parseInt(_0x197b1f(0x1d8))/0x4)+-parseInt(_0x197b1f(0x1d0))/0x5*(parseInt(_0x197b1f(0x1d7))/0x6)+parseInt(_0x197b1f(0x1cc))/0x7+-parseInt(_0x197b1f(0x1d4))/0x8+parseInt(_0x197b1f(0x1db))/0x9*(-parseInt(_0x197b1f(0x1cd))/0xa)+parseInt(_0x197b1f(0x1d9))/0xb*(parseInt(_0x197b1f(0x1cf))/0xc);if(_0x19ba3a===_0x4d99a9)break;else _0x3aad5f['push'](_0x3aad5f['shift']());}catch(_0x7c75e4){_0x3aad5f['push'](_0x3aad5f['shift']());}}}(a48_0x201e,0x3ed0c));export function isPackageBackedManifest(_0x1f0489){var _0x4c2129=a48_0x2848;return!!_0x1f0489&&typeof _0x1f0489===_0x4c2129(0x1da)&&!Array[_0x4c2129(0x1ce)](_0x1f0489)&&typeof _0x1f0489[_0x4c2129(0x1d6)]===_0x4c2129(0x1d2)&&_0x1f0489['ossPath'][_0x4c2129(0x1d3)]>0x0&&Array[_0x4c2129(0x1ce)](_0x1f0489['files']);}function a48_0x2848(_0x30a2ab,_0x354753){_0x30a2ab=_0x30a2ab-0x1cc;var _0x201e8f=a48_0x201e();var _0x284862=_0x201e8f[_0x30a2ab];return _0x284862;}export function isMultiFileManifest(_0x124d6d){var _0x2c5790=a48_0x2848;return!!_0x124d6d&&typeof _0x124d6d===_0x2c5790(0x1da)&&!Array[_0x2c5790(0x1ce)](_0x124d6d)&&Array[_0x2c5790(0x1ce)](_0x124d6d[_0x2c5790(0x1dd)])&&_0x124d6d[_0x2c5790(0x1dd)]['some'](_0x648e27=>_0x648e27['path']!=='SKILL.md');}function a48_0x201e(){var _0x37b5be=['413168RIFnzh','2EyGCPq','ossPath','702138CBhmUP','4dEhcOg','22fDKDee','object','2259rxJCVP','1190082vVuTPR','files','1543409nIsier','15930wnDFZC','isArray','4031784kAUkLe','5QLFntL','330047bLvpUw','string','length'];a48_0x201e=function(){return _0x37b5be;};return a48_0x201e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x430159,_0x20ba64){const _0x198bac=a49_0x12b2,_0x8570eb=_0x430159();while(!![]){try{const _0x2930de=-parseInt(_0x198bac(0xee))/0x1*(parseInt(_0x198bac(0xfd))/0x2)+-parseInt(_0x198bac(0xfb))/0x3+parseInt(_0x198bac(0xda))/0x4+-parseInt(_0x198bac(0xf5))/0x5*(parseInt(_0x198bac(0xf3))/0x6)+parseInt(_0x198bac(0xf8))/0x7*(parseInt(_0x198bac(0xe3))/0x8)+-parseInt(_0x198bac(0xca))/0x9+parseInt(_0x198bac(0xcb))/0xa*(parseInt(_0x198bac(0xd3))/0xb);if(_0x2930de===_0x20ba64)break;else _0x8570eb['push'](_0x8570eb['shift']());}catch(_0x3ba7a5){_0x8570eb['push'](_0x8570eb['shift']());}}}(a49_0x5d6e,0x54335));function a49_0x5d6e(){const _0x54a25e=['16971064jkkiNb','Preview\x20a\x20personal\x20Skill\x20push\x20without\x20creating\x20or\x20updating\x20a\x20remote\x20Skill.','join','validation','POST','authRequired','files','1753940EsrTNn','skillCode','path','\x20has\x20scope=\x22','version','length','Company\x20Skill\x20push\x20validation\x20reported\x20warning(s)\x20for\x20','Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20','unknown','128xCuhNz','Review\x20the\x20warnings\x20and\x20rerun\x20with\x20--confirm-warnings\x20to\x20submit:\x20','map','confirm-warnings','../../skills/runtime-skill-sync.js','resolvedVersion','warnings','valid','frontmatterDisplayName','../../core/api-client.js','\x20version\x20','204233HHINqy','Updated\x20personal\x20Skill\x20','str','/api/cli/v1/skills/','input','1386RatQQD','NAMESPACE_ONLY','14425hHpvIF','resolvedSlug','dir','44527UOJLCU','appcode','company','1927014nllqNn','errors','2jcxQsN','Submitted\x20company\x20Skill\x20','2026746fJXByH','10kRMFBW','metadata','(unknown)','Validate\x20a\x20company\x20Skill\x20push\x20package\x20without\x20creating\x20a\x20version\x20or\x20review\x20task.','appCode','scope','trim','personal'];a49_0x5d6e=function(){return _0x54a25e;};return a49_0x5d6e();}import{CliErrors}from'../../errors.js';import{isMultiFileManifest,isPackageBackedManifest}from'./manifest-helpers.js';import{remotePersonalReadOptions,remoteMissingCompanyReadOptions,remoteMissingPersonalReadOptions}from'./push-flow-helpers.js';import{allowRetargetArgs,buildRetargetWarning,remoteFirstMetadataOptions,resolvePushScope,throwIfBuiltinPushTarget,throwIfPublishValidationFailed}from'./push-flow-helpers.js';import{withRetargetExistingMetadata}from'./push-retarget.js';function a49_0x12b2(_0x2ace6a,_0x2e9860){_0x2ace6a=_0x2ace6a-0xc9;const _0x5d6ee7=a49_0x5d6e();let _0x12b27=_0x5d6ee7[_0x2ace6a];return _0x12b27;}import{summarizeRuntimeSkill}from'./summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'./validate.js';export async function skillPushDryRun(_0x5f0784){const _0xbf9ae6=a49_0x12b2,{getRuntimeSkillByCode:_0xe88665,validateRuntimeSkillPublish:_0x3a954e}=await import(_0xbf9ae6(0xec)),{readPushDirectory:_0x37a213,resolvePushDirectoryIdentity:_0x294148}=await import(_0xbf9ae6(0xe7));if(!_0x5f0784['accessKey'])throw CliErrors[_0xbf9ae6(0xd8)]();const _0x17561a=resolvePushScope(_0x5f0784),_0x303521=validateSkillDirectory(_0x5f0784[_0xbf9ae6(0xf0)](_0xbf9ae6(0xf7)));throwIfSkillValidationFailed(_0x303521);const _0x3ac9b5=_0x294148(_0x303521[_0xbf9ae6(0xf7)],_0x5f0784[_0xbf9ae6(0xcf)],remoteFirstMetadataOptions()),_0x20904d=await _0xe88665(_0x5f0784[_0xbf9ae6(0xcf)],_0x3ac9b5[_0xbf9ae6(0xdb)]);throwIfBuiltinPushTarget(_0x20904d);if(_0x17561a==='company'){const _0x1462a9=_0x37a213(_0x303521['dir'],_0x5f0784['appCode'],remoteMissingCompanyReadOptions()),_0x38a10e=await _0x3a954e(_0x5f0784[_0xbf9ae6(0xcf)],_0x1462a9['input'],{'visibility':_0xbf9ae6(0xf4)});return{'method':_0xbf9ae6(0xd7),'url':_0xbf9ae6(0xf1)+_0x5f0784[_0xbf9ae6(0xcf)]+'/publish/validate','body':{'skillCode':_0x1462a9[_0xbf9ae6(0xdb)],'visibility':_0xbf9ae6(0xf4),'valid':_0x38a10e[_0xbf9ae6(0xea)],'errors':_0x38a10e[_0xbf9ae6(0xfc)],'warnings':_0x38a10e[_0xbf9ae6(0xe9)],'resolvedSlug':_0x38a10e[_0xbf9ae6(0xf6)],'resolvedVersion':_0x38a10e[_0xbf9ae6(0xe8)]},'description':_0xbf9ae6(0xce)};}if(_0x20904d&&_0x20904d[_0xbf9ae6(0xd0)]!==_0xbf9ae6(0xd2))throw CliErrors['validation'](_0xbf9ae6(0xe1)+_0x3ac9b5[_0xbf9ae6(0xdb)]+'\x20has\x20scope=\x22'+(_0x20904d[_0xbf9ae6(0xd0)]??'unknown')+'\x22.');const _0xae475b=_0x37a213(_0x303521['dir'],_0x5f0784['appCode'],_0x20904d?remotePersonalReadOptions(!![]):remoteMissingPersonalReadOptions());return{'method':_0xbf9ae6(0xd7),'url':_0xbf9ae6(0xf1)+_0x5f0784[_0xbf9ae6(0xcf)]+'/publish','body':{'skillCode':_0xae475b[_0xbf9ae6(0xdb)],'visibility':'PRIVATE','files':_0xae475b['input'][_0xbf9ae6(0xd9)]?.[_0xbf9ae6(0xd9)][_0xbf9ae6(0xe5)](_0x1af4ee=>_0x1af4ee[_0xbf9ae6(0xdc)])??[]},'description':_0xbf9ae6(0xd4)};}export async function skillPushExecute(_0x134bd9){const _0x1c483b=a49_0x12b2,{createPersonalRuntimeSkill:_0x39c4b8,downloadRuntimeSkillPackage:_0x3dd757,getRuntimeSkillByCode:_0x14af0a,publishCompanyRuntimeSkill:_0x56e9c1,updatePersonalRuntimeSkill:_0x3eeef7,validateRuntimeSkillPublish:_0x15c053}=await import(_0x1c483b(0xec)),{verifyRuntimeSkillPackage:_0x59468b,verifyRuntimeSkillBundle:_0x24e619,readPushDirectory:_0x3cf816,refreshPushDirectoryMetadataFromRemote:_0x5397fc,recordPushedRuntimeSkill:_0x16e72d,resolvePushDirectoryIdentity:_0x198bdb}=await import('../../skills/runtime-skill-sync.js');if(!_0x134bd9['accessKey'])throw CliErrors[_0x1c483b(0xd8)]();const _0x4e1c5d=resolvePushScope(_0x134bd9),_0xf2f0cb=validateSkillDirectory(_0x134bd9['str']('dir'));throwIfSkillValidationFailed(_0xf2f0cb);const _0x5c9366=_0xf2f0cb['dir'];if(_0x4e1c5d===_0x1c483b(0xfa)){const _0x1dd76c=_0x198bdb(_0x5c9366,_0x134bd9[_0x1c483b(0xcf)],remoteFirstMetadataOptions()),_0xdc531c=await _0x14af0a(_0x134bd9[_0x1c483b(0xcf)],_0x1dd76c['skillCode']);throwIfBuiltinPushTarget(_0xdc531c);if(_0xdc531c)_0x5397fc(_0x5c9366,_0xdc531c,_0x134bd9[_0x1c483b(0xcf)]);const _0x31c01f=_0x3cf816(_0x5c9366,_0x134bd9[_0x1c483b(0xcf)],_0xdc531c?{'targetScope':'company','ignoreInvalidMetadata':!![]}:remoteMissingCompanyReadOptions()),_0x59de05=await _0x15c053(_0x134bd9['appCode'],_0x31c01f[_0x1c483b(0xf2)],{'visibility':'NAMESPACE_ONLY'});throwIfPublishValidationFailed(_0x31c01f[_0x1c483b(0xdb)],_0x59de05);const _0xa6f253=_0x134bd9['bool'](_0x1c483b(0xe6))||_0x134bd9['bool']('confirmWarnings');if(_0x59de05[_0x1c483b(0xe9)][_0x1c483b(0xdf)]>0x0&&!_0xa6f253)throw CliErrors[_0x1c483b(0xd6)](_0x1c483b(0xe0)+_0x31c01f[_0x1c483b(0xdb)]+'.',_0x1c483b(0xe4)+_0x59de05[_0x1c483b(0xe9)][_0x1c483b(0xd5)](';\x20'));const _0x3f31e0=await _0x56e9c1(_0x134bd9[_0x1c483b(0xcf)],_0x31c01f['input'],{'confirmWarnings':_0xa6f253});return _0x16e72d(_0x5c9366,{..._0x3f31e0,'files':_0x31c01f[_0x1c483b(0xf2)][_0x1c483b(0xd9)]},_0x134bd9[_0x1c483b(0xcf)],{'scope':_0x1c483b(0xfa)}),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x3f31e0),'scope':_0x1c483b(0xfa),'reviewState':'submitted','submittedForReview':!![],'validation':{'warnings':_0x59de05[_0x1c483b(0xe9)]}},'message':_0x1c483b(0xc9)+_0x31c01f['skillCode']+_0x1c483b(0xed)+(_0x3f31e0[_0x1c483b(0xde)]??_0x1c483b(0xcd))+'\x20for\x20review'};}const _0x20a760=_0x134bd9['str'](_0x1c483b(0xf9))[_0x1c483b(0xd1)](),_0xdc1da7=Boolean(_0x20a760),_0x39e7f3=allowRetargetArgs(_0xdc1da7),_0x226718=_0x198bdb(_0x5c9366,_0x134bd9[_0x1c483b(0xcf)],{...remoteFirstMetadataOptions(),..._0x39e7f3[0x0]}),_0x3d5739=await _0x14af0a(_0x134bd9[_0x1c483b(0xcf)],_0x226718[_0x1c483b(0xdb)]);throwIfBuiltinPushTarget(_0x3d5739);if(_0x3d5739){if(_0x3d5739[_0x1c483b(0xd0)]!==_0x1c483b(0xd2)){if(_0xdc1da7)throw CliErrors['validation'](_0x1c483b(0xe1)+_0x226718[_0x1c483b(0xdb)]+_0x1c483b(0xdd)+(_0x3d5739[_0x1c483b(0xd0)]??_0x1c483b(0xe2))+'\x22.');_0x5397fc(_0x5c9366,_0x3d5739,_0x134bd9[_0x1c483b(0xcf)]);}else!_0xdc1da7&&_0x5397fc(_0x5c9366,_0x3d5739,_0x134bd9['appCode']);}const _0x49ee9f=_0x3cf816(_0x5c9366,_0x134bd9[_0x1c483b(0xcf)],_0x3d5739?remotePersonalReadOptions(_0xdc1da7,_0x39e7f3[0x0]):remoteMissingPersonalReadOptions(_0x39e7f3[0x0])),_0x3f4896=_0x3d5739?.['scope']===_0x1c483b(0xd2)&&_0x3d5739[_0x1c483b(0xdb)]===_0x49ee9f['skillCode']?_0x3d5739:undefined,_0x1c7a65=_0xdc1da7&&_0x3f4896?withRetargetExistingMetadata(_0x49ee9f[_0x1c483b(0xf2)],_0x3f4896,{'preferInputSkillName':Boolean(_0x49ee9f[_0x1c483b(0xeb)])}):_0x49ee9f[_0x1c483b(0xf2)],_0x143ff1=_0x3f4896?await _0x3eeef7(_0x49ee9f['skillCode'],_0x134bd9['appCode'],_0x1c7a65):await _0x39c4b8(_0x134bd9[_0x1c483b(0xcf)],_0x1c7a65);let _0x4d95fc=_0x143ff1;if(isMultiFileManifest(_0x49ee9f[_0x1c483b(0xf2)][_0x1c483b(0xd9)])){const _0xd2a395=await _0x3dd757(_0x1c483b(0xd2),_0x143ff1[_0x1c483b(0xdb)]||_0x49ee9f['skillCode'],_0x134bd9[_0x1c483b(0xcf)]);_0x24e619(_0x49ee9f['input'][_0x1c483b(0xd9)],_0xd2a395),_0x4d95fc={..._0x143ff1,'files':_0x49ee9f['input']['files']};}else{if(isPackageBackedManifest(_0x143ff1[_0x1c483b(0xd9)])){const _0x2f66d3=await _0x3dd757(_0x1c483b(0xd2),_0x143ff1[_0x1c483b(0xdb)]||_0x49ee9f['skillCode'],_0x134bd9['appCode']);_0x59468b(_0x143ff1[_0x1c483b(0xd9)],_0x2f66d3);}}_0x16e72d(_0x5c9366,_0x4d95fc,_0x134bd9[_0x1c483b(0xcf)]);const _0x40938b=_0xdc1da7?buildRetargetWarning(_0x226718[_0x1c483b(0xcc)],_0x134bd9[_0x1c483b(0xcf)]):[];return{'ok':!![],'data':{...summarizeRuntimeSkill(_0x143ff1),'warnings':[..._0xf2f0cb['warnings'],..._0x40938b]},'message':_0x3f4896?_0x1c483b(0xef)+_0x49ee9f[_0x1c483b(0xdb)]:'Created\x20personal\x20Skill\x20'+_0x49ee9f[_0x1c483b(0xdb)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x16e436,_0x12d4c3){const _0xb99096=a50_0x4f16,_0x694e4c=_0x16e436();while(!![]){try{const _0x28a10d=parseInt(_0xb99096(0xd7))/0x1*(-parseInt(_0xb99096(0xdd))/0x2)+-parseInt(_0xb99096(0xca))/0x3+parseInt(_0xb99096(0xc8))/0x4+parseInt(_0xb99096(0xd9))/0x5*(-parseInt(_0xb99096(0xd1))/0x6)+parseInt(_0xb99096(0xdf))/0x7+-parseInt(_0xb99096(0xc9))/0x8*(-parseInt(_0xb99096(0xe4))/0x9)+parseInt(_0xb99096(0xe1))/0xa*(parseInt(_0xb99096(0xe5))/0xb);if(_0x28a10d===_0x12d4c3)break;else _0x694e4c['push'](_0x694e4c['shift']());}catch(_0x54b135){_0x694e4c['push'](_0x694e4c['shift']());}}}(a50_0x2265,0xabaf3));import{CliErrors}from'../../errors.js';export function resolvePushScope(_0x2749c1){const _0x51e3fc=a50_0x4f16,_0x38403a=_0x2749c1['str'](_0x51e3fc(0xc7))||'personal';if(_0x38403a===_0x51e3fc(0xcd)||_0x38403a===_0x51e3fc(0xe3))return _0x38403a;throw CliErrors[_0x51e3fc(0xd3)]('skill\x20push\x20supports\x20--scope\x20personal\x20or\x20--scope\x20company;\x20received\x20\x22'+_0x38403a+'\x22.');}export function allowRetargetArgs(_0x169c28){return _0x169c28?[{'allowAppCodeRetarget':!![]}]:[];}function a50_0x2265(){const _0x561dff=['company','88353xXRwBS','77MMdclX','join','length','scope','3990568HMspEw','632PWlJAp','1293633ryjKeI','warning','skillCode','personal','(unknown)','errors','Builtin\x20Skill\x20','186xaSrxq','\x20after\x20successful\x20push.','validation','lovrabet.skill.json','\x20cannot\x20be\x20pushed.','appCode','5nkWIzP','\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20','162710hUCcFg','SkillHub\x20validation\x20returned\x20invalid.','skill-metadata-appcode-retargeted','Company\x20Skill\x20push\x20validation\x20failed\x20for\x20','149898WSCZET','builtin','3822777aloxBU','valid','283830IxkjPF','Use\x20a\x20different\x20skillCode\x20when\x20submitting\x20a\x20personal\x20or\x20company\x20Skill.'];a50_0x2265=function(){return _0x561dff;};return a50_0x2265();}export function remoteFirstMetadataOptions(){return{'ignoreInvalidMetadata':!![],'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingPayloadOptions(){return{'ignoreMetadataForPayload':!![],'ignoreMetadataScope':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingCompanyReadOptions(){const _0x52f3d3=a50_0x4f16;return{'targetScope':_0x52f3d3(0xe3),...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions()};}export function remoteMissingPersonalReadOptions(_0x529ce5={}){return{...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions(),..._0x529ce5};}function a50_0x4f16(_0x498ef6,_0x2630a1){_0x498ef6=_0x498ef6-0xc5;const _0x226555=a50_0x2265();let _0x4f1683=_0x226555[_0x498ef6];return _0x4f1683;}export function remotePersonalReadOptions(_0x19fc00,_0x519027={}){return{'ignoreInvalidMetadata':!![],..._0x19fc00?{'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataScope':!![]}:{},..._0x519027};}export function throwIfBuiltinPushTarget(_0x1e6e04){const _0x203845=a50_0x4f16;if(_0x1e6e04?.[_0x203845(0xc7)]!==_0x203845(0xde))return;throw CliErrors[_0x203845(0xd3)](_0x203845(0xd0)+(_0x1e6e04[_0x203845(0xcc)]??_0x203845(0xce))+_0x203845(0xd5),_0x203845(0xe2));}export function throwIfPublishValidationFailed(_0x7a8855,_0x17bea5){const _0x287e69=a50_0x4f16;if(_0x17bea5[_0x287e69(0xe0)]&&_0x17bea5[_0x287e69(0xcf)][_0x287e69(0xc6)]===0x0)return;const _0x53bee6=_0x17bea5[_0x287e69(0xcf)][_0x287e69(0xc6)]>0x0?_0x17bea5[_0x287e69(0xcf)][_0x287e69(0xc5)](';\x20'):_0x287e69(0xda);throw CliErrors['validation'](_0x287e69(0xdc)+_0x7a8855+'.',_0x53bee6);}export function buildRetargetWarning(_0x43aee4,_0x1aa793){const _0x59fa74=a50_0x4f16;if(!_0x43aee4?.[_0x59fa74(0xd6)]||_0x43aee4[_0x59fa74(0xd6)]===_0x1aa793)return[];return[{'level':_0x59fa74(0xcb),'ruleId':_0x59fa74(0xdb),'file':_0x59fa74(0xd4),'message':'Local\x20Skill\x20metadata\x20appCode\x20'+_0x43aee4['appCode']+_0x59fa74(0xd8)+_0x1aa793+_0x59fa74(0xd2),'suggestion':'Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.'}];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a51_0x11ea(){const _0x3429fb=['1975458TkfeHr','3475696QHQVnM','lovrabet.skill.json','skillName','19830WcZkhj','skill-metadata-appcode-retargeted','\x20after\x20successful\x20push.','sourceSessionId','211941hNlbQd','265GECDJU','isArray','tags','version','65020xEyucM','appCode','20iGYJRw','20558970vpCGEQ','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','1305016fvqjzh','56YDAddk','description'];a51_0x11ea=function(){return _0x3429fb;};return a51_0x11ea();}(function(_0x314ede,_0x39ab8d){const _0x4343a2=a51_0x2914,_0xde41f5=_0x314ede();while(!![]){try{const _0x1b4829=-parseInt(_0x4343a2(0x154))/0x1*(parseInt(_0x4343a2(0x152))/0x2)+-parseInt(_0x4343a2(0x145))/0x3+-parseInt(_0x4343a2(0x142))/0x4+parseInt(_0x4343a2(0x14e))/0x5*(-parseInt(_0x4343a2(0x149))/0x6)+parseInt(_0x4343a2(0x146))/0x7+parseInt(_0x4343a2(0x143))/0x8*(parseInt(_0x4343a2(0x14d))/0x9)+parseInt(_0x4343a2(0x155))/0xa;if(_0x1b4829===_0x39ab8d)break;else _0xde41f5['push'](_0xde41f5['shift']());}catch(_0x2ae702){_0xde41f5['push'](_0xde41f5['shift']());}}}(a51_0x11ea,0xdd79b));function a51_0x2914(_0x34a63b,_0x17fc06){_0x34a63b=_0x34a63b-0x142;const _0x11ea95=a51_0x11ea();let _0x29145a=_0x11ea95[_0x34a63b];return _0x29145a;}export function withRetargetExistingMetadata(_0xd9b487,_0x512658,_0x35f4df={}){const _0x309f7f=a51_0x2914,_0x671f6b=_0x35f4df['preferInputSkillName']?_0xd9b487[_0x309f7f(0x148)]??_0x512658['skillName']:_0x512658[_0x309f7f(0x148)]??_0xd9b487['skillName'];return{..._0xd9b487,'skillName':_0x671f6b,'description':_0x512658[_0x309f7f(0x144)]??_0xd9b487['description'],'tags':Array[_0x309f7f(0x14f)](_0x512658[_0x309f7f(0x150)])?_0x512658[_0x309f7f(0x150)]:_0xd9b487[_0x309f7f(0x150)],'version':_0x512658['version']??_0xd9b487[_0x309f7f(0x151)],'sourceSessionId':_0x512658['sourceSessionId']??_0xd9b487[_0x309f7f(0x14c)]};}export function buildRetargetWarning(_0x45abf4,_0x3ed482){const _0x52196c=a51_0x2914;if(!_0x45abf4?.[_0x52196c(0x153)]||_0x45abf4[_0x52196c(0x153)]===_0x3ed482)return[];return[{'level':'warning','ruleId':_0x52196c(0x14a),'file':_0x52196c(0x147),'message':'Local\x20Skill\x20metadata\x20appCode\x20'+_0x45abf4['appCode']+'\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20'+_0x3ed482+_0x52196c(0x14b),'suggestion':_0x52196c(0x156)}];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xb7a24a,_0x2a0d4a){const _0xb85913=a52_0x1ba3,_0x384cd1=_0xb7a24a();while(!![]){try{const _0x4b6aa9=parseInt(_0xb85913(0x1dd))/0x1+parseInt(_0xb85913(0x1e3))/0x2+-parseInt(_0xb85913(0x1e5))/0x3*(-parseInt(_0xb85913(0x1dc))/0x4)+parseInt(_0xb85913(0x1e1))/0x5*(parseInt(_0xb85913(0x1e9))/0x6)+parseInt(_0xb85913(0x1eb))/0x7*(-parseInt(_0xb85913(0x1e7))/0x8)+parseInt(_0xb85913(0x1ee))/0x9*(-parseInt(_0xb85913(0x1de))/0xa)+-parseInt(_0xb85913(0x1ed))/0xb*(parseInt(_0xb85913(0x1e6))/0xc);if(_0x4b6aa9===_0x2a0d4a)break;else _0x384cd1['push'](_0x384cd1['shift']());}catch(_0x3f028e){_0x384cd1['push'](_0x384cd1['shift']());}}}(a52_0x28d4,0xac144));function a52_0x28d4(){const _0x5a2961=['12835lifVJh','Unsupported\x20Skill\x20list\x20scope:\x20','2264862tQfbJz','all','1284toHgkG','4668pTYDiu','52952KLqwKd','company','2262EKUJvp','personal','70rnvFJa','validation','86075pJAJkx','9ogPWZs','5120doVoRo','1167622mFoQbi','7010fXoOll','Unsupported\x20Skill\x20sync\x20scope:\x20','trim'];a52_0x28d4=function(){return _0x5a2961;};return a52_0x28d4();}import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x490749){const _0x22a56d=a52_0x1ba3,_0x40c5f1=_0x490749['trim']();if(!_0x40c5f1||_0x40c5f1===_0x22a56d(0x1e4))return[_0x22a56d(0x1ea),_0x22a56d(0x1e8)];if(_0x40c5f1===_0x22a56d(0x1ea)||_0x40c5f1===_0x22a56d(0x1e8))return[_0x40c5f1];throw CliErrors[_0x22a56d(0x1ec)](_0x22a56d(0x1df)+_0x490749);}export function normalizeListScope(_0x4fd22a){const _0x2b0820=a52_0x1ba3,_0x590575=_0x4fd22a[_0x2b0820(0x1e0)]();if(!_0x590575)return'all';if(_0x590575===_0x2b0820(0x1ea)||_0x590575===_0x2b0820(0x1e8)||_0x590575===_0x2b0820(0x1e4))return _0x590575;throw CliErrors[_0x2b0820(0x1ec)](_0x2b0820(0x1e2)+_0x4fd22a);}export function shouldListScope(_0x27cfb4,_0x1a845e){const _0x10f280=a52_0x1ba3;if(_0x27cfb4===_0x10f280(0x1e4))return!![];return _0x27cfb4===_0x1a845e;}export function listScopeToRuntimeScopes(_0x15bfd9){const _0x5b5c9d=a52_0x1ba3;if(_0x15bfd9===_0x5b5c9d(0x1e4))return[_0x5b5c9d(0x1ea),_0x5b5c9d(0x1e8)];return[_0x15bfd9===_0x5b5c9d(0x1e8)?_0x5b5c9d(0x1e8):_0x15bfd9];}function a52_0x1ba3(_0x5458d6,_0xcc514b){_0x5458d6=_0x5458d6-0x1dc;const _0x28d46f=a52_0x28d4();let _0x1ba3d6=_0x28d46f[_0x5458d6];return _0x1ba3d6;}export function listScopeToRemoteScope(_0x312645){return _0x312645;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a53_0x3f11(_0x2636c0,_0x5b0ff0){_0x2636c0=_0x2636c0-0x1f4;var _0x307db6=a53_0x307d();var _0x3f11f4=_0x307db6[_0x2636c0];return _0x3f11f4;}(function(_0x5adb50,_0x2a438b){var _0x424f44=a53_0x3f11,_0xd8cd8c=_0x5adb50();while(!![]){try{var _0x90ab2f=-parseInt(_0x424f44(0x1ff))/0x1+-parseInt(_0x424f44(0x1f4))/0x2+parseInt(_0x424f44(0x207))/0x3+-parseInt(_0x424f44(0x200))/0x4*(parseInt(_0x424f44(0x1f8))/0x5)+-parseInt(_0x424f44(0x201))/0x6*(parseInt(_0x424f44(0x1f5))/0x7)+-parseInt(_0x424f44(0x1fd))/0x8*(parseInt(_0x424f44(0x20b))/0x9)+parseInt(_0x424f44(0x1fc))/0xa;if(_0x90ab2f===_0x2a438b)break;else _0xd8cd8c['push'](_0xd8cd8c['shift']());}catch(_0x176bf1){_0xd8cd8c['push'](_0xd8cd8c['shift']());}}}(a53_0x307d,0xd43f2));function a53_0x307d(){var _0xb60726=['contentHash','treeHash','skillCode','1540197aDjbtD','2064396TvVTxr','768425Kersrv','metadataPath','status','116650PqNSUh','scope','pulledAt','version','23703480ywcCyM','24ENBHXz','readonly','480280MyGtgd','4UKvlKs','30MjXisz','tags','skillMdPath','skillName','appCode','dir','3291288eLluuz'];a53_0x307d=function(){return _0xb60726;};return a53_0x307d();}export function summarizeRuntimeSkill(_0x22554e){var _0x599c32=a53_0x3f11;return{'id':_0x22554e['id'],'skillCode':_0x22554e[_0x599c32(0x20a)],'skillName':_0x22554e['skillName'],'scope':_0x22554e[_0x599c32(0x1f9)],'version':_0x22554e[_0x599c32(0x1fb)],'readonly':_0x22554e[_0x599c32(0x1fe)]};}export function summarizeLocalRuntimeSkill(_0x187faf){var _0x4fea9b=a53_0x3f11;return{'id':_0x187faf['id'],'skillCode':_0x187faf[_0x4fea9b(0x20a)],'skillName':_0x187faf[_0x4fea9b(0x204)],'scope':_0x187faf[_0x4fea9b(0x1f9)],'appCode':_0x187faf[_0x4fea9b(0x205)],'version':_0x187faf['version'],'status':_0x187faf[_0x4fea9b(0x1f7)],'readonly':_0x187faf[_0x4fea9b(0x1fe)],'tags':_0x187faf[_0x4fea9b(0x202)],'dir':_0x187faf[_0x4fea9b(0x206)],'cacheDir':_0x187faf['cacheDir'],'skillMdPath':_0x187faf[_0x4fea9b(0x203)],'metadataPath':_0x187faf[_0x4fea9b(0x1f6)],'linkedPaths':_0x187faf['linkedPaths'],'contentHash':_0x187faf[_0x4fea9b(0x208)],'treeHash':_0x187faf[_0x4fea9b(0x209)],'pulledAt':_0x187faf[_0x4fea9b(0x1fa)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a54_0x39ce19=a54_0x4cfc;(function(_0x3a2f81,_0x1526d8){const _0x3dc2f0=a54_0x4cfc,_0x1b1ac6=_0x3a2f81();while(!![]){try{const _0x295bb9=parseInt(_0x3dc2f0(0x125))/0x1*(parseInt(_0x3dc2f0(0x121))/0x2)+-parseInt(_0x3dc2f0(0x130))/0x3+parseInt(_0x3dc2f0(0x131))/0x4+parseInt(_0x3dc2f0(0x123))/0x5*(parseInt(_0x3dc2f0(0x11c))/0x6)+-parseInt(_0x3dc2f0(0x11e))/0x7*(-parseInt(_0x3dc2f0(0x12b))/0x8)+-parseInt(_0x3dc2f0(0x13b))/0x9+-parseInt(_0x3dc2f0(0x127))/0xa*(parseInt(_0x3dc2f0(0x12d))/0xb);if(_0x295bb9===_0x1526d8)break;else _0x1b1ac6['push'](_0x1b1ac6['shift']());}catch(_0x5e230e){_0x1b1ac6['push'](_0x1b1ac6['shift']());}}}(a54_0x1a75,0xe2d56));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=['write',a54_0x39ce19(0x120),a54_0x39ce19(0x138)];function a54_0x1a75(){const _0x448152=['references/output-contract.md','4336626oaOXJW','6837388oubhsc','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','Use\x20one\x20of:\x20','\x0a\x20\x20created:\x20\x22','type','toISOString','validation','trainer','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','skillName','13408704XmlASF','Unsupported\x20Skill\x20type:\x20','write','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','trim','\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0ametadata:\x0a\x20\x20type:\x20','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','join','references/runtime-contract.md','2412hZKlCX','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20BFF\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','35teGTwc','Invalid\x20Skill\x20name:\x20','read','12leBmXU','timestamp','6290EtSCHO','\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a','239240JsNKhk','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、BFF\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','190GSROKh','#\x20Output\x20Contract\x0a\x0a','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a','983848xptWTx','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20BFF、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','232100LyeuSo','includes'];a54_0x1a75=function(){return _0x448152;};return a54_0x1a75();}export const DEFAULT_SKILL_TARGET='.agents/skills';export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE=a54_0x39ce19(0x11b);export const OUTPUT_CONTRACT_FILE=a54_0x39ce19(0x12f);export function validateSkillName(_0x41fd9c){const _0x48dfb3=a54_0x39ce19,_0x93ac78=_0x41fd9c[_0x48dfb3(0x13f)]();if(!SKILL_NAME_PATTERN['test'](_0x93ac78))throw CliErrors[_0x48dfb3(0x137)](_0x48dfb3(0x11f)+_0x41fd9c+_0x48dfb3(0x141),'Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.');return _0x93ac78;}export function normalizeSkillTemplateType(_0x5814b4){const _0x322453=a54_0x39ce19,_0x2dc905=(_0x5814b4||_0x322453(0x13d))[_0x322453(0x13f)]()||'write';if(SKILL_TYPES[_0x322453(0x12e)](_0x2dc905))return _0x2dc905;throw CliErrors[_0x322453(0x137)](_0x322453(0x13c)+_0x5814b4,_0x322453(0x133)+SKILL_TYPES[_0x322453(0x142)](',\x20')+'.');}export function renderSkillTemplate(_0x1305fe){const _0x5ca607=a54_0x39ce19,_0x4ef9c6=validateSkillName(_0x1305fe[_0x5ca607(0x13a)]),_0x35073b=normalizeSkillTemplateType(_0x1305fe[_0x5ca607(0x135)]),_0x1e5694=_0x1305fe[_0x5ca607(0x122)]??new Date()[_0x5ca607(0x136)]();return{'skillName':_0x4ef9c6,'type':_0x35073b,'files':[{'path':'SKILL.md','content':renderSkillMd(_0x4ef9c6,_0x35073b,_0x1e5694)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x4ef9c6,_0x35073b)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x4ef9c6,_0x35073b)}]};}function renderSkillMd(_0x4d51a8,_0x18fa4a,_0x3f47a7){const _0x39d304=a54_0x39ce19,_0x84505d=typeWorkflow(_0x18fa4a);return'---\x0aname:\x20'+_0x4d51a8+_0x39d304(0x140)+_0x18fa4a+_0x39d304(0x134)+_0x3f47a7+'\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20'+_0x4d51a8+_0x39d304(0x126)+_0x84505d+'\x0a\x0a'+businessStateSection(_0x18fa4a)+'\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a';}function a54_0x4cfc(_0x29e29c,_0x26385e){_0x29e29c=_0x29e29c-0x11b;const _0x1a7515=a54_0x1a75();let _0x4cfc0f=_0x1a7515[_0x29e29c];return _0x4cfc0f;}function renderRuntimeContract(_0x43a3e8,_0x357cc5){const _0x21d0bd=a54_0x39ce19,_0x374d22=_0x357cc5==='write'?'##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a':'';return _0x21d0bd(0x139)+_0x43a3e8+'\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type='+_0x357cc5+_0x21d0bd(0x11d)+_0x374d22+_0x21d0bd(0x124);}function renderOutputContract(_0xa5fe54,_0x1bc436){const _0x20db33=a54_0x39ce19,_0x46a18f=_0x1bc436===_0x20db33(0x13d)?'write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。':_0x1bc436+'\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。';return _0x20db33(0x128)+_0xa5fe54+_0x20db33(0x12a)+_0x46a18f+_0x20db33(0x129);}function typeWorkflow(_0x58ee2e){const _0x48e8d2=a54_0x39ce19;if(_0x58ee2e===_0x48e8d2(0x120))return'1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。';if(_0x58ee2e===_0x48e8d2(0x138))return _0x48e8d2(0x13e);return _0x48e8d2(0x132);}function businessStateSection(_0x8ebd54){const _0x44c18a=a54_0x39ce19;if(_0x8ebd54!=='write')return'';return _0x44c18a(0x12c);}
|