@lovrabet/lovrabet-cli 2.3.3 → 2.3.4-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/README.md +11 -0
- 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/approval/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/init.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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.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.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.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/region.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/kb-search-client.d.ts +7 -1
- package/lib/core/kb-search-client.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/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- 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.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/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/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.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/positive-safe-integer.js +1 -1
- package/lib/utils/redaction.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
- package/skills/lovrabet/SKILL.md +4 -2
- package/skills/lovrabet/references/lovrabet-config-commands.md +1 -1
- package/skills/lovrabet/references/lovrabet-config.md +2 -2
- package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +16 -6
- package/skills/lovrabet/references/lovrabet-service-tree.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a151_0x2aded5=a151_0x5d56;function a151_0x5d56(_0x1099a7,_0x161f0d){_0x1099a7=_0x1099a7-0xd5;const _0x410350=a151_0x4103();let _0x5d56e2=_0x410350[_0x1099a7];return _0x5d56e2;}(function(_0xffbfb2,_0xed80ae){const _0x53eaa8=a151_0x5d56,_0x53e10c=_0xffbfb2();while(!![]){try{const _0x272f41=parseInt(_0x53eaa8(0xe0))/0x1*(-parseInt(_0x53eaa8(0xdf))/0x2)+-parseInt(_0x53eaa8(0xda))/0x3*(-parseInt(_0x53eaa8(0xe4))/0x4)+parseInt(_0x53eaa8(0xd6))/0x5+parseInt(_0x53eaa8(0xd8))/0x6*(parseInt(_0x53eaa8(0xd7))/0x7)+-parseInt(_0x53eaa8(0xdc))/0x8+-parseInt(_0x53eaa8(0xe7))/0x9+parseInt(_0x53eaa8(0xdb))/0xa*(parseInt(_0x53eaa8(0xd5))/0xb);if(_0x272f41===_0xed80ae)break;else _0x53e10c['push'](_0x53e10c['shift']());}catch(_0x922a2){_0x53e10c['push'](_0x53e10c['shift']());}}}(a151_0x4103,0x7f4a7));import{unzipSync,zipSync}from'fflate';import{CliErrors}from'../../errors.js';function a151_0x4103(){const _0x358f2b=['validation','187ZhYqYB','957250KjzQWp','133MVUlsT','121578LwafBK','code','33pGZxHl','187210nvKjHa','2601720HdIqbn','Runtime\x20Skill\x20package\x20contains\x20directory\x20entry:\x20','1980-01-01T00:00:00.000Z','845390MgarPD','1ooQzLv','entries','from','map','222476giuEIr','length','Runtime\x20Skill\x20package\x20is\x20not\x20a\x20valid\x20zip\x20file.','2134980kQimGn','object','name'];a151_0x4103=function(){return _0x358f2b;};return a151_0x4103();}import{compareSkillFiles,fileContent,normalizeLocalFiles,normalizeSkillRelativePath}from'./local-files.js';const ZIP_MTIME=new Date(a151_0x2aded5(0xde));export function createDeterministicZipPackage(_0x2d8c21){const _0x240e85=a151_0x2aded5,_0x3ad485={};for(const _0x311bab of normalizeLocalFiles(_0x2d8c21)){_0x3ad485[_0x311bab['path']]=fileContent(_0x311bab);}return Buffer[_0x240e85(0xe2)](zipSync(_0x3ad485,{'level':0x0,'mtime':ZIP_MTIME}));}export function parseZipPackage(_0x7234ed){const _0x14a301=a151_0x2aded5;if(_0x7234ed[_0x14a301(0xe5)]<0x16)throw CliErrors[_0x14a301(0xea)](_0x14a301(0xe6));let _0x5b47eb;try{_0x5b47eb=unzipSync(_0x7234ed,{'filter'(_0x1ff048){const _0x470ee5=_0x14a301,_0x30014c=normalizeSkillRelativePath(_0x1ff048[_0x470ee5(0xe9)]);if(_0x30014c['endsWith']('/'))throw CliErrors[_0x470ee5(0xea)](_0x470ee5(0xdd)+_0x30014c);return!![];}});}catch(_0x5e84fb){if(isRuntimeSkillValidationError(_0x5e84fb))throw _0x5e84fb;throw CliErrors[_0x14a301(0xea)](_0x14a301(0xe6));}return Object[_0x14a301(0xe1)](_0x5b47eb)[_0x14a301(0xe3)](([_0x19450d,_0x4405ba])=>({'path':normalizeSkillRelativePath(_0x19450d),'bytes':Buffer[_0x14a301(0xe2)](_0x4405ba)}))['sort'](compareSkillFiles);}function isRuntimeSkillValidationError(_0x3c49ff){const _0x14547f=a151_0x2aded5;return typeof _0x3c49ff===_0x14547f(0xe8)&&_0x3c49ff!==null&&_0x14547f(0xd9)in _0x3c49ff&&_0x3c49ff[_0x14547f(0xd9)]==='validation_error';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x494317,_0x2734ea){const _0x1c1149=a152_0x162c,_0x27cd79=_0x494317();while(!![]){try{const _0x236477=-parseInt(_0x1c1149(0x9d))/0x1+-parseInt(_0x1c1149(0x82))/0x2*(-parseInt(_0x1c1149(0x98))/0x3)+parseInt(_0x1c1149(0x77))/0x4*(-parseInt(_0x1c1149(0x92))/0x5)+-parseInt(_0x1c1149(0x93))/0x6*(parseInt(_0x1c1149(0x80))/0x7)+parseInt(_0x1c1149(0x9b))/0x8+-parseInt(_0x1c1149(0x94))/0x9*(parseInt(_0x1c1149(0x8b))/0xa)+parseInt(_0x1c1149(0x83))/0xb;if(_0x236477===_0x2734ea)break;else _0x27cd79['push'](_0x27cd79['shift']());}catch(_0x55aac8){_0x27cd79['push'](_0x27cd79['shift']());}}}(a152_0x50d7,0xbf381));import{CliErrors}from'../../errors.js';import{SKILL_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,isSha256Hex,normalizeLocalFiles,normalizeManifestFiles}from'./local-files.js';function a152_0x50d7(){const _0x1ef342=['228zCZNAD','Missing\x20','Runtime\x20Skill\x20file\x20tree\x20sha256\x20mismatch.','path','ossPath','Runtime\x20Skill\x20package\x20is\x20required\x20for\x20Skill\x20install:\x20','treeSha256','trim','Runtime\x20Skill\x20package\x20file\x20sha256\x20mismatch:\x20','119QrDebF','Runtime\x20Skill\x20package\x20sha256\x20mismatch.','1612GaTISw','4971362LFVdyG','files','Runtime\x20Skill\x20file\x20tree\x20sha256\x20is\x20invalid.','string','zipSize','toLowerCase','isArray','Runtime\x20Skill\x20package\x20is\x20missing\x20','10xOrSUW','bytes','map','toString','Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.','Duplicate\x20Skill\x20package\x20entry:\x20','length','66475JXfHbU','226494CUbQZy','832203qRigbt','has','push','zipSha256','5718nOJYUn','requireOssPath','isSafeInteger','8114312LPhirF','some','727219TgHRBg','get','object','validation','Runtime\x20Skill\x20manifest\x20is\x20missing\x20'];a152_0x50d7=function(){return _0x1ef342;};return a152_0x50d7();}import{createDeterministicZipPackage,parseZipPackage}from'./zip-codec.js';export function buildSkillPackage(_0x1774b1){const _0x5f543d=a152_0x162c,_0x5bf7b7=normalizeLocalFiles(_0x1774b1);if(!_0x5bf7b7[_0x5f543d(0x9c)](_0x403272=>_0x403272['path']===SKILL_FILE))throw CliErrors['validation'](_0x5f543d(0x78)+SKILL_FILE+'\x20in\x20Skill\x20file\x20package.');const _0x1d6db6=localFilesToManifestFiles(_0x5bf7b7),_0x27fdb9=createDeterministicZipPackage(_0x5bf7b7);return{'manifest':{'schemaVersion':0x2,'treeSha256':fileTreeHash(_0x1d6db6),'zipSha256':bufferSha256(_0x27fdb9),'zipSize':_0x27fdb9[_0x5f543d(0x91)],'files':_0x1d6db6},'packageBytes':_0x27fdb9,'packageBase64':_0x27fdb9[_0x5f543d(0x8e)]('base64')};}export function verifyRuntimeSkillPackage(_0x31c1ab,_0x24e50c){const _0x23cb5f=a152_0x162c,_0x2d2f57=normalizePackageManifest(_0x31c1ab,{'requireOssPath':![]});if(!_0x2d2f57)throw CliErrors[_0x23cb5f(0x75)](_0x23cb5f(0x8f));return extractAndVerifyPackage(_0x2d2f57,_0x24e50c);}export function verifyRuntimeSkillBundle(_0xcd6e1d,_0x3926a6){const _0x1b7d98=a152_0x162c,_0x303e01=normalizePackageManifest(_0xcd6e1d,{'requireOssPath':![]});if(!_0x303e01)throw CliErrors[_0x1b7d98(0x75)](_0x1b7d98(0x8f));return extractAndVerifyPackageFiles(_0x303e01,_0x3926a6);}export function tryNormalizePackageManifest(_0x23dd3f){return normalizePackageManifest(_0x23dd3f,{'requireOssPath':![]});}export function requirePackageBytes(_0x405c2,_0x38732a){const _0xc81573=a152_0x162c;if(!_0x38732a||_0x38732a[_0xc81573(0x91)]===0x0)throw CliErrors['validation'](_0xc81573(0x7c)+_0x405c2);return _0x38732a;}function a152_0x162c(_0x1ac98c,_0x220d44){_0x1ac98c=_0x1ac98c-0x73;const _0x50d7dd=a152_0x50d7();let _0x162c6a=_0x50d7dd[_0x1ac98c];return _0x162c6a;}export function extractDownloadedPackage(_0x3d787b){const _0x3e0531=a152_0x162c,_0x2ec3d8=parseZipPackage(_0x3d787b)[_0x3e0531(0x8d)](_0x43bfab=>({'path':_0x43bfab['path'],'bytes':_0x43bfab['bytes']}));if(!_0x2ec3d8['some'](_0x10eda3=>_0x10eda3[_0x3e0531(0x7a)]===SKILL_FILE))throw CliErrors['validation'](_0x3e0531(0x8a)+SKILL_FILE+'.');return normalizeLocalFiles(_0x2ec3d8);}export function localFilesToManifestFiles(_0x19f715){const _0x4496dd=a152_0x162c;return normalizeLocalFiles(_0x19f715)[_0x4496dd(0x8d)](_0x536bdc=>({'path':_0x536bdc['path'],'sha256':fileHash(_0x536bdc),'size':fileContent(_0x536bdc)[_0x4496dd(0x91)]}));}function normalizePackageManifest(_0x4d672a,_0x2ae197){const _0x2dbf46=a152_0x162c;if(!_0x4d672a||typeof _0x4d672a!==_0x2dbf46(0x74)||Array[_0x2dbf46(0x89)](_0x4d672a))return undefined;const _0x2b9107=_0x4d672a,_0x49d6e8=typeof _0x2b9107[_0x2dbf46(0x7b)]===_0x2dbf46(0x86)?_0x2b9107[_0x2dbf46(0x7b)][_0x2dbf46(0x7e)]():undefined;if(_0x2ae197[_0x2dbf46(0x99)]&&!_0x49d6e8)return undefined;if(!Array['isArray'](_0x2b9107[_0x2dbf46(0x84)])||_0x2b9107[_0x2dbf46(0x84)][_0x2dbf46(0x91)]===0x0)return undefined;if(!isSha256Hex(_0x2b9107[_0x2dbf46(0x7d)]))throw CliErrors[_0x2dbf46(0x75)](_0x2dbf46(0x85));if(!isSha256Hex(_0x2b9107[_0x2dbf46(0x97)]))throw CliErrors[_0x2dbf46(0x75)]('Runtime\x20Skill\x20package\x20sha256\x20is\x20invalid.');if(!Number[_0x2dbf46(0x9a)](_0x2b9107[_0x2dbf46(0x87)])||_0x2b9107[_0x2dbf46(0x87)]<0x0)throw CliErrors[_0x2dbf46(0x75)]('Runtime\x20Skill\x20package\x20size\x20is\x20invalid.');const _0x1020ba=normalizeManifestFiles(_0x2b9107['files']);if(!_0x1020ba['some'](_0x4736fb=>_0x4736fb[_0x2dbf46(0x7a)]===SKILL_FILE))throw CliErrors[_0x2dbf46(0x75)](_0x2dbf46(0x76)+SKILL_FILE+'.');const _0x5da99c=fileTreeHash(_0x1020ba);if(_0x5da99c!==_0x2b9107['treeSha256'][_0x2dbf46(0x88)]())throw CliErrors[_0x2dbf46(0x75)](_0x2dbf46(0x79));return{'schemaVersion':Number[_0x2dbf46(0x9a)](_0x2b9107['schemaVersion'])?_0x2b9107['schemaVersion']:0x2,'ossPath':_0x49d6e8,'treeSha256':_0x5da99c,'zipSha256':_0x2b9107[_0x2dbf46(0x97)][_0x2dbf46(0x88)](),'zipSize':_0x2b9107[_0x2dbf46(0x87)],'files':_0x1020ba};}function extractAndVerifyPackage(_0x1bc90b,_0x161fa7){const _0xdb8a30=a152_0x162c,_0x31a32a=normalizePackageManifest(_0x1bc90b,{'requireOssPath':![]});if(!_0x31a32a)throw CliErrors['validation'](_0xdb8a30(0x8f));if(_0x161fa7[_0xdb8a30(0x91)]!==_0x31a32a[_0xdb8a30(0x87)])throw CliErrors[_0xdb8a30(0x75)]('Runtime\x20Skill\x20package\x20size\x20mismatch.');const _0x4edba5=bufferSha256(_0x161fa7);if(_0x4edba5!==_0x31a32a['zipSha256'])throw CliErrors['validation'](_0xdb8a30(0x81));return extractAndVerifyPackageFiles(_0x31a32a,_0x161fa7);}function extractAndVerifyPackageFiles(_0x9e4328,_0x3364d4){const _0x2abb95=a152_0x162c,_0xcaa3cc=parseZipPackage(_0x3364d4);if(_0xcaa3cc[_0x2abb95(0x91)]!==_0x9e4328[_0x2abb95(0x84)][_0x2abb95(0x91)])throw CliErrors['validation']('Runtime\x20Skill\x20package\x20entry\x20list\x20mismatch.');const _0x4639af=new Map();for(const _0x24b0a7 of _0xcaa3cc){if(_0x4639af[_0x2abb95(0x95)](_0x24b0a7[_0x2abb95(0x7a)]))throw CliErrors[_0x2abb95(0x75)](_0x2abb95(0x90)+_0x24b0a7[_0x2abb95(0x7a)]);_0x4639af['set'](_0x24b0a7[_0x2abb95(0x7a)],_0x24b0a7);}const _0x41cd0c=[];for(const _0x4d2fef of _0x9e4328[_0x2abb95(0x84)]){const _0x239578=_0x4639af[_0x2abb95(0x73)](_0x4d2fef[_0x2abb95(0x7a)]);if(!_0x239578)throw CliErrors[_0x2abb95(0x75)]('Runtime\x20Skill\x20package\x20is\x20missing\x20entry:\x20'+_0x4d2fef[_0x2abb95(0x7a)]);if(_0x239578[_0x2abb95(0x8c)][_0x2abb95(0x91)]!==_0x4d2fef['size'])throw CliErrors['validation']('Runtime\x20Skill\x20package\x20file\x20size\x20mismatch:\x20'+_0x4d2fef['path']);const _0x3dedf2=bufferSha256(_0x239578['bytes']);if(_0x3dedf2!==_0x4d2fef['sha256'])throw CliErrors[_0x2abb95(0x75)](_0x2abb95(0x7f)+_0x4d2fef['path']);_0x41cd0c[_0x2abb95(0x96)]({'path':_0x4d2fef[_0x2abb95(0x7a)],'bytes':_0x239578[_0x2abb95(0x8c)]});}return normalizeLocalFiles(_0x41cd0c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x530973,_0x4c8e3f){var _0xdcc2e=a153_0x4c59,_0x29f8b1=_0x530973();while(!![]){try{var _0x2ae8d6=-parseInt(_0xdcc2e(0xba))/0x1*(parseInt(_0xdcc2e(0xbf))/0x2)+parseInt(_0xdcc2e(0xbe))/0x3*(parseInt(_0xdcc2e(0xbb))/0x4)+parseInt(_0xdcc2e(0xbc))/0x5+parseInt(_0xdcc2e(0xc1))/0x6+parseInt(_0xdcc2e(0xc3))/0x7+parseInt(_0xdcc2e(0xc2))/0x8*(parseInt(_0xdcc2e(0xc0))/0x9)+-parseInt(_0xdcc2e(0xbd))/0xa;if(_0x2ae8d6===_0x4c8e3f)break;else _0x29f8b1['push'](_0x29f8b1['shift']());}catch(_0x4ce4f8){_0x29f8b1['push'](_0x29f8b1['shift']());}}}(a153_0x1028,0xcfe07));function a153_0x4c59(_0xefe833,_0x28ab4f){_0xefe833=_0xefe833-0xba;var _0x10282f=a153_0x1028();var _0x4c5905=_0x10282f[_0xefe833];return _0x4c5905;}export{contentHash,fileTreeHash}from'./runtime-skill-sync/hashing.js';export{linkEffectiveRuntimeSkills,linkGlobalRuntimeSkills,pruneStaleRuntimeSkillCache,pruneStaleRuntimeSkillLinks}from'./runtime-skill-sync/links.js';export{resolveRuntimeSkillInstallTarget}from'./runtime-skill-sync/install-target.js';export{listLocalRuntimeSkills}from'./runtime-skill-sync/list-local.js';function a153_0x1028(){var _0x7609fe=['4944185zHWSmU','25253420oQTEpr','3099OgegLH','2snldIF','1449ENISgF','3439128vngKxf','67544gfnegn','5406688xzXdBI','645421BDdabT','1272GTmEfq'];a153_0x1028=function(){return _0x7609fe;};return a153_0x1028();}export{materializeRuntimeSkill,reuseMaterializedRuntimeSkill}from'./runtime-skill-sync/materialize.js';export{readMetadataIfPresent}from'./runtime-skill-sync/metadata.js';export{getRuntimeSkillCacheRoot,getRuntimeSkillDir,resolveSkillSyncPaths,runtimeAgentSkillRoots}from'./runtime-skill-sync/paths.js';export{deriveSkillCodeFromDirectory,readPushDirectory,refreshPushDirectoryMetadataFromRemote,recordPushedRuntimeSkill,resolvePushDirectoryIdentity}from'./runtime-skill-sync/push.js';export{buildSkillPackage,verifyRuntimeSkillBundle,verifyRuntimeSkillPackage}from'./runtime-skill-sync/zip-package.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a154_0x5cb47a=a154_0x206c;function a154_0x3b85(){const _0x385efa=['5hNJllN','home','object','\x20records\x20\x22','map','find','number','5748903oOIlBQ','.agents','1073442TgWrBQ','\x22\x20but\x20no\x20SKILL.md\x20was\x20found\x20in\x20known\x20layouts\x20','includes','SKILL.md','913570kEpUtK','utf8','168660uZfUqo','796600iKBfUl','kind','\x20is\x20unreadable:\x20','389618ONjnZc','skills','unusable','8sXIseS','globalSkillsDirs','215649rVQMWk','version','message','not-recorded','unverifiable','absent','\x20uses\x20unsupported\x20version\x20','lockFile'];a154_0x3b85=function(){return _0x385efa;};return a154_0x3b85();}(function(_0x3efb31,_0x4f6cb3){const _0x129314=a154_0x206c,_0x17976c=_0x3efb31();while(!![]){try{const _0x4a37eb=-parseInt(_0x129314(0xc5))/0x1+-parseInt(_0x129314(0xe0))/0x2+parseInt(_0x129314(0xdc))/0x3+-parseInt(_0x129314(0xdd))/0x4+parseInt(_0x129314(0xcd))/0x5*(parseInt(_0x129314(0xd6))/0x6)+parseInt(_0x129314(0xda))/0x7*(-parseInt(_0x129314(0xe3))/0x8)+parseInt(_0x129314(0xd4))/0x9;if(_0x4a37eb===_0x4f6cb3)break;else _0x17976c['push'](_0x17976c['shift']());}catch(_0x570cdb){_0x17976c['push'](_0x17976c['shift']());}}}(a154_0x3b85,0x20a90));import{existsSync,readFileSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const SKILL_LOCK_RELATIVE_PATH=join('.agents','.skill-lock.json');export const GLOBAL_SKILLS_DIR_RELATIVE_PATHS=[join(a154_0x5cb47a(0xd5),'skills'),join('.claude',a154_0x5cb47a(0xe1))];const SUPPORTED_LOCK_VERSIONS=[0x3];function readLockLookup(_0x313163,_0x548a1e){const _0x4542a6=a154_0x5cb47a;if(!existsSync(_0x313163))return{'kind':_0x4542a6(0xc8)};let _0x13cdc0;try{_0x13cdc0=JSON['parse'](readFileSync(_0x313163,_0x4542a6(0xdb)));}catch(_0xddb65f){return{'kind':_0x4542a6(0xe2),'reason':_0x313163+_0x4542a6(0xdf)+_0xddb65f[_0x4542a6(0xc7)]};}const _0x283803=_0x13cdc0;if(typeof _0x283803?.[_0x4542a6(0xc6)]!==_0x4542a6(0xd3)||!SUPPORTED_LOCK_VERSIONS[_0x4542a6(0xd8)](_0x283803[_0x4542a6(0xc6)]))return{'kind':_0x4542a6(0xe2),'reason':_0x313163+_0x4542a6(0xcb)+String(_0x283803?.[_0x4542a6(0xc6)])};if(!_0x283803[_0x4542a6(0xe1)]||typeof _0x283803[_0x4542a6(0xe1)]!==_0x4542a6(0xcf))return{'kind':'unusable','reason':_0x313163+'\x20has\x20no\x20skills\x20map'};return _0x283803['skills'][_0x548a1e]?{'kind':'recorded'}:{'kind':'not-recorded'};}function a154_0x206c(_0x13d58b,_0x543e92){_0x13d58b=_0x13d58b-0xc5;const _0x3b85b4=a154_0x3b85();let _0x206c28=_0x3b85b4[_0x13d58b];return _0x206c28;}export function resolveInstalledSkill(_0x25257d,_0x4aaab4){const _0x5be4bd=a154_0x5cb47a,_0x43534a=_0x4aaab4?.[_0x5be4bd(0xce)]??homedir(),_0x51ee8d=_0x4aaab4?.[_0x5be4bd(0xe4)]??GLOBAL_SKILLS_DIR_RELATIVE_PATHS[_0x5be4bd(0xd1)](_0x5b355a=>join(_0x43534a,_0x5b355a)),_0x476122=_0x4aaab4?.[_0x5be4bd(0xcc)]??join(_0x43534a,SKILL_LOCK_RELATIVE_PATH),_0x41a7ab=_0x51ee8d['map'](_0x18f7b4=>join(_0x18f7b4,_0x25257d,_0x5be4bd(0xd9))),_0x3449d4=_0x41a7ab[_0x5be4bd(0xd2)](_0x3dd8fd=>existsSync(_0x3dd8fd));if(_0x3449d4)return{'state':'present','path':_0x3449d4};const _0x102e3f=readLockLookup(_0x476122,_0x25257d);if(_0x102e3f[_0x5be4bd(0xde)]===_0x5be4bd(0xe2))return{'state':_0x5be4bd(0xc9),'reason':_0x102e3f['reason']};if(_0x102e3f['kind']==='recorded')return{'state':_0x5be4bd(0xc9),'reason':_0x476122+_0x5be4bd(0xd0)+_0x25257d+_0x5be4bd(0xd7)+('('+_0x41a7ab['join'](',\x20')+')')};return{'state':_0x5be4bd(0xca),'checked':_0x41a7ab};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a155_0x5723(){const _0xa76b63=['repeat','179050zbWCyZ','call','36zoRjCm','137585czHmAy','hasOwnProperty','<redacted>','3bebBrV','accessKey','map','1332018VECIty','414CcGgME','6236593wHjhrb','test','40055IRMXAE','isArray','prototype','slice','length','fromEntries','652CaiRqo','apps','378674xWLYEx','10956232WYWsQH','string','object','261gxryRA'];a155_0x5723=function(){return _0xa76b63;};return a155_0x5723();}const a155_0x10a62e=a155_0x4e9c;(function(_0x3ce6ef,_0x23b874){const _0x391441=a155_0x4e9c,_0x3f55be=_0x3ce6ef();while(!![]){try{const _0xac3f5f=-parseInt(_0x391441(0x1e2))/0x1+-parseInt(_0x391441(0x1ee))/0x2*(parseInt(_0x391441(0x1df))/0x3)+parseInt(_0x391441(0x1ec))/0x4*(parseInt(_0x391441(0x1e6))/0x5)+parseInt(_0x391441(0x1e3))/0x6*(parseInt(_0x391441(0x1dc))/0x7)+-parseInt(_0x391441(0x1d4))/0x8+parseInt(_0x391441(0x1d7))/0x9*(-parseInt(_0x391441(0x1d9))/0xa)+-parseInt(_0x391441(0x1e4))/0xb*(-parseInt(_0x391441(0x1db))/0xc);if(_0xac3f5f===_0x23b874)break;else _0x3f55be['push'](_0x3f55be['shift']());}catch(_0x17545a){_0x3f55be['push'](_0x3f55be['shift']());}}}(a155_0x5723,0xe89ac));const REDACTED_ACCESS_KEY=a155_0x10a62e(0x1de);function a155_0x4e9c(_0x1acbf7,_0x111b64){_0x1acbf7=_0x1acbf7-0x1d4;const _0x572388=a155_0x5723();let _0x4e9c2c=_0x572388[_0x1acbf7];return _0x4e9c2c;}export function maskCliAccessKey(_0x424150){const _0x2c9496=a155_0x10a62e;if(typeof _0x424150!==_0x2c9496(0x1d5)||_0x424150['length']<=0x8)return REDACTED_ACCESS_KEY;return''+_0x424150[_0x2c9496(0x1e9)](0x0,0x8)+'*'[_0x2c9496(0x1d8)](_0x424150[_0x2c9496(0x1ea)]-0x8);}export function redactCliConfigCredentials(_0x51a824){const _0xb3bc1a=a155_0x10a62e,_0x1715d2={..._0x51a824};return Object[_0xb3bc1a(0x1e8)][_0xb3bc1a(0x1dd)]['call'](_0x1715d2,_0xb3bc1a(0x1e0))&&(_0x1715d2[_0xb3bc1a(0x1e0)]=maskCliAccessKey(_0x1715d2[_0xb3bc1a(0x1e0)])),_0x1715d2[_0xb3bc1a(0x1ed)]&&typeof _0x1715d2[_0xb3bc1a(0x1ed)]===_0xb3bc1a(0x1d6)&&!Array[_0xb3bc1a(0x1e7)](_0x1715d2['apps'])&&(_0x1715d2[_0xb3bc1a(0x1ed)]=redactLegacyAppCredentials(_0x1715d2[_0xb3bc1a(0x1ed)])),_0x1715d2;}export function redactCliConfigValue(_0x12ee8a,_0x21b0f5){const _0x441c0b=a155_0x10a62e;if(_0x12ee8a===_0x441c0b(0x1e0)||/^apps\.[^.]+\.accessKey$/[_0x441c0b(0x1e5)](_0x12ee8a))return maskCliAccessKey(_0x21b0f5);if(_0x12ee8a===_0x441c0b(0x1ed)&&_0x21b0f5&&typeof _0x21b0f5===_0x441c0b(0x1d6)&&!Array[_0x441c0b(0x1e7)](_0x21b0f5))return redactLegacyAppCredentials(_0x21b0f5);if(/^apps\.[^.]+$/[_0x441c0b(0x1e5)](_0x12ee8a)&&_0x21b0f5&&typeof _0x21b0f5===_0x441c0b(0x1d6)&&!Array[_0x441c0b(0x1e7)](_0x21b0f5)){const _0x2ab7d1=_0x21b0f5;return Object[_0x441c0b(0x1e8)][_0x441c0b(0x1dd)]['call'](_0x2ab7d1,_0x441c0b(0x1e0))?{..._0x2ab7d1,'accessKey':maskCliAccessKey(_0x2ab7d1[_0x441c0b(0x1e0)])}:_0x21b0f5;}return _0x21b0f5;}function redactLegacyAppCredentials(_0x3fbc8a){const _0x146291=a155_0x10a62e;return Object[_0x146291(0x1eb)](Object['entries'](_0x3fbc8a)[_0x146291(0x1e1)](([_0x10b64f,_0xc61489])=>{const _0x2f3b25=_0x146291;if(!_0xc61489||typeof _0xc61489!==_0x2f3b25(0x1d6)||Array[_0x2f3b25(0x1e7)](_0xc61489))return[_0x10b64f,_0xc61489];const _0x299697={..._0xc61489};return Object[_0x2f3b25(0x1e8)][_0x2f3b25(0x1dd)][_0x2f3b25(0x1da)](_0x299697,_0x2f3b25(0x1e0))&&(_0x299697[_0x2f3b25(0x1e0)]=maskCliAccessKey(_0x299697['accessKey'])),[_0x10b64f,_0x299697];}));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xbe793c,_0x586659){const _0x43d51e=a156_0x2c05,_0x366b52=_0xbe793c();while(!![]){try{const _0x28f301=parseInt(_0x43d51e(0x125))/0x1*(-parseInt(_0x43d51e(0x128))/0x2)+-parseInt(_0x43d51e(0x123))/0x3+parseInt(_0x43d51e(0x127))/0x4*(-parseInt(_0x43d51e(0x121))/0x5)+parseInt(_0x43d51e(0x12a))/0x6+-parseInt(_0x43d51e(0x122))/0x7*(-parseInt(_0x43d51e(0x124))/0x8)+parseInt(_0x43d51e(0x12b))/0x9+-parseInt(_0x43d51e(0x129))/0xa*(-parseInt(_0x43d51e(0x126))/0xb);if(_0x28f301===_0x586659)break;else _0x366b52['push'](_0x366b52['shift']());}catch(_0xf9d251){_0x366b52['push'](_0x366b52['shift']());}}}(a156_0x2baa,0x8c91a));function a156_0x2c05(_0x38953e,_0xc15c32){_0x38953e=_0x38953e-0x121;const _0x2baab0=a156_0x2baa();let _0x2c05a0=_0x2baab0[_0x38953e];return _0x2c05a0;}function a156_0x2baa(){const _0x3a4842=['4DDZXcD','10XpWrGh','6198822mXAINB','116649KdOQpz','2395mZpgXQ','10927jCUMYw','1156035yuttJT','1176IAYuHq','282457sGSQti','12613403KTuwWO','7484ORtWKo'];a156_0x2baa=function(){return _0x3a4842;};return a156_0x2baa();}import{createJqFilter,resolveBundledJqPaths}from'@lovrabet/cli-framework';import{CliErrors}from'../errors.js';export const applyJqFilter=createJqFilter(CliErrors,{'bundledJqPaths':resolveBundledJqPaths()});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4dfa0c,_0x5a9b69){const _0x2e537f=a157_0x5779,_0x23c5b6=_0x4dfa0c();while(!![]){try{const _0x6d49e1=parseInt(_0x2e537f(0x181))/0x1*(parseInt(_0x2e537f(0x180))/0x2)+parseInt(_0x2e537f(0x186))/0x3+-parseInt(_0x2e537f(0x18d))/0x4+parseInt(_0x2e537f(0x187))/0x5+parseInt(_0x2e537f(0x18c))/0x6+parseInt(_0x2e537f(0x178))/0x7*(parseInt(_0x2e537f(0x18e))/0x8)+-parseInt(_0x2e537f(0x18f))/0x9;if(_0x6d49e1===_0x5a9b69)break;else _0x23c5b6['push'](_0x23c5b6['shift']());}catch(_0x4fc47d){_0x23c5b6['push'](_0x23c5b6['shift']());}}}(a157_0x3227,0x93752));import a157_0x17b0cf from'semver';function a157_0x3227(){const _0x529153=['1460090NbZnfc','stableVersion','filter','valid','Recommended\x20stable:\x20','2916552LmqxRa','2573340DXosCk','1888aVHJRI','7820298BiBOwb','Upgrade\x20command:\x20','minimumVersionMessage','4620CWfCFv','join','currentVersion','belowMinimum','upgradeMessage','validation','Minimum\x20supported:\x20','npm\x20install\x20-g\x20','6OILihT','272131DRPAIO','Current\x20version:\x20','unavailable','Current\x20CLI\x20version\x20is\x20below\x20the\x20minimum\x20supported\x20version.','minimumVersion','1097940rOAbht'];a157_0x3227=function(){return _0x529153;};return a157_0x3227();}import{LOVRABET_NPM_PACKAGE_NAME}from'../constant/distribution.js';import{CliErrors}from'../errors.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';export function evaluateCliVersionPolicy(_0x2cb137,_0x19777e){const _0x4df164=a157_0x5779,_0x3fd9c3=a157_0x17b0cf[_0x4df164(0x18a)](_0x2cb137)===_0x2cb137,_0x363802=_0x19777e?.[_0x4df164(0x188)]??null,_0x52ec9a=_0x19777e?.[_0x4df164(0x185)]??null,_0x1ccbcf=Boolean(_0x3fd9c3&&_0x363802&&a157_0x17b0cf['lt'](_0x2cb137,_0x363802)),_0x21109b=Boolean(_0x3fd9c3&&_0x52ec9a&&a157_0x17b0cf['lt'](_0x2cb137,_0x52ec9a));return{'currentVersion':_0x2cb137,'stableVersion':_0x363802,'minimumVersion':_0x52ec9a,'needsUpgrade':_0x1ccbcf||_0x21109b,'belowMinimum':_0x21109b,'upgradeMessage':_0x19777e?.[_0x4df164(0x17c)],'minimumVersionMessage':_0x19777e?.[_0x4df164(0x177)]};}export async function checkCliVersion(){return evaluateCliVersionPolicy(getCliVersion(),await getCliVersionPolicy());}export function getCliUpgradeCommand(_0x4395de){const _0x54cfeb=a157_0x5779;return _0x54cfeb(0x17f)+LOVRABET_NPM_PACKAGE_NAME+'@'+(_0x4395de[_0x54cfeb(0x188)]??'latest');}function a157_0x5779(_0x31cbc3,_0x311954){_0x31cbc3=_0x31cbc3-0x176;const _0x322707=a157_0x3227();let _0x5779d4=_0x322707[_0x31cbc3];return _0x5779d4;}export function assertCliVersionSupported(_0x26224a){const _0x3ae7c6=a157_0x5779;if(!_0x26224a[_0x3ae7c6(0x17b)])return;const _0x58ea61=[_0x26224a[_0x3ae7c6(0x177)],_0x3ae7c6(0x182)+_0x26224a[_0x3ae7c6(0x17a)],_0x3ae7c6(0x17e)+_0x26224a[_0x3ae7c6(0x185)],_0x3ae7c6(0x18b)+(_0x26224a[_0x3ae7c6(0x188)]??_0x3ae7c6(0x183)),_0x3ae7c6(0x176)+getCliUpgradeCommand(_0x26224a)][_0x3ae7c6(0x189)](Boolean)[_0x3ae7c6(0x179)]('\x0a');throw CliErrors[_0x3ae7c6(0x17d)](_0x3ae7c6(0x184),_0x58ea61);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4243d7,_0x25a4e9){const _0x1464b5=a158_0xf208,_0x5b5bc9=_0x4243d7();while(!![]){try{const _0x5e0a1a=parseInt(_0x1464b5(0xf2))/0x1+parseInt(_0x1464b5(0xee))/0x2+parseInt(_0x1464b5(0xdc))/0x3+-parseInt(_0x1464b5(0xdf))/0x4*(parseInt(_0x1464b5(0xf0))/0x5)+-parseInt(_0x1464b5(0xdd))/0x6+parseInt(_0x1464b5(0xe4))/0x7*(parseInt(_0x1464b5(0xf3))/0x8)+-parseInt(_0x1464b5(0xe1))/0x9;if(_0x5e0a1a===_0x25a4e9)break;else _0x5b5bc9['push'](_0x5b5bc9['shift']());}catch(_0xad2fbf){_0x5b5bc9['push'](_0x5b5bc9['shift']());}}}(a158_0x202f,0xcc884));import a158_0x65b27 from'semver';import{LOVRABET_CLI_VERSION_POLICY_URL}from'../constant/distribution.js';const SUCCESS_CACHE_TTL_MS=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL_MS=0x3c*0x3e8,FETCH_TIMEOUT_MS=0x5dc;function a158_0x202f(){const _0xbb429b=['latestVersion','minimumVersionMessage','14903MgRfLn','cli','application/json','recommendedVersion','minVersion','finally','trim','then','minimumVersion','upgradeMessage','2943856GdAFMt','now','65aGjFJo','stableVersion','836416NgHXGN','5032cgnniv','2337582IpVmbS','4635786tbSeXW','object','167816OzHacv','string','20437938kYaTAJ'];a158_0x202f=function(){return _0xbb429b;};return a158_0x202f();}function pickString(_0x32a00b){const _0x49b265=a158_0xf208;return typeof _0x32a00b===_0x49b265(0xe0)&&_0x32a00b[_0x49b265(0xea)]()?_0x32a00b[_0x49b265(0xea)]():null;}function a158_0xf208(_0x33a56a,_0x4f4fc3){_0x33a56a=_0x33a56a-0xdc;const _0x202f64=a158_0x202f();let _0xf2087f=_0x202f64[_0x33a56a];return _0xf2087f;}function pickStrictSemver(_0x3a0ae4){const _0x124ae6=pickString(_0x3a0ae4);return _0x124ae6&&a158_0x65b27['valid'](_0x124ae6)===_0x124ae6?_0x124ae6:null;}export function normalizeCliVersionPolicy(_0x3f7351){const _0x1b4f35=a158_0xf208;if(!_0x3f7351||typeof _0x3f7351!==_0x1b4f35(0xde))return null;const _0x5c2fe8=_0x3f7351,_0x2a71ef=_0x5c2fe8[_0x1b4f35(0xe5)]&&typeof _0x5c2fe8['cli']==='object'?_0x5c2fe8[_0x1b4f35(0xe5)]:_0x5c2fe8,_0x20ef40=pickStrictSemver(_0x2a71ef[_0x1b4f35(0xf1)]??_0x2a71ef[_0x1b4f35(0xe2)]??_0x2a71ef[_0x1b4f35(0xe7)]),_0x13d874=pickStrictSemver(_0x2a71ef[_0x1b4f35(0xec)]??_0x2a71ef[_0x1b4f35(0xe8)]);if(!_0x20ef40&&!_0x13d874)return null;if(_0x20ef40&&_0x13d874&&a158_0x65b27['gt'](_0x13d874,_0x20ef40))return null;return{'stableVersion':_0x20ef40,'minimumVersion':_0x13d874,'upgradeMessage':pickString(_0x2a71ef[_0x1b4f35(0xed)])??undefined,'minimumVersionMessage':pickString(_0x2a71ef[_0x1b4f35(0xe3)])??undefined};}export async function fetchCliVersionPolicy(){const _0x7af160=a158_0xf208;try{const _0x4bbd38=await fetch(LOVRABET_CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x7af160(0xe6)},'signal':AbortSignal['timeout'](FETCH_TIMEOUT_MS)});if(!_0x4bbd38['ok'])return null;return normalizeCliVersionPolicy(await _0x4bbd38['json']());}catch{return null;}}let cachedPolicy=null,cachedAt=0x0,hasCachedPolicy=![],pendingPolicy=null;export async function getCliVersionPolicy(){const _0x2add27=a158_0xf208,_0x142e80=Date[_0x2add27(0xef)]();if(hasCachedPolicy){const _0x34a71f=cachedPolicy?SUCCESS_CACHE_TTL_MS:FAILURE_CACHE_TTL_MS;if(_0x142e80-cachedAt<_0x34a71f)return cachedPolicy;}if(pendingPolicy)return pendingPolicy;return pendingPolicy=fetchCliVersionPolicy()[_0x2add27(0xeb)](_0x39486c=>{return cachedPolicy=_0x39486c,cachedAt=Date['now'](),hasCachedPolicy=!![],_0x39486c;})[_0x2add27(0xe9)](()=>{pendingPolicy=null;}),pendingPolicy;}export function clearCliVersionPolicyCache(){cachedPolicy=null,cachedAt=0x0,hasCachedPolicy=![],pendingPolicy=null;}
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a159_0x315be3=a159_0x531d;(function(_0x2ff22f,_0x3e9274){const _0x23ff6c=a159_0x531d,_0x2de087=_0x2ff22f();while(!![]){try{const _0xa1c866=-parseInt(_0x23ff6c(0x15c))/0x1*(parseInt(_0x23ff6c(0x16e))/0x2)+-parseInt(_0x23ff6c(0x17f))/0x3+-parseInt(_0x23ff6c(0x168))/0x4+-parseInt(_0x23ff6c(0x15e))/0x5*(-parseInt(_0x23ff6c(0x185))/0x6)+-parseInt(_0x23ff6c(0x16f))/0x7+parseInt(_0x23ff6c(0x179))/0x8*(-parseInt(_0x23ff6c(0x15f))/0x9)+parseInt(_0x23ff6c(0x175))/0xa;if(_0xa1c866===_0x3e9274)break;else _0x2de087['push'](_0x2de087['shift']());}catch(_0x21af70){_0x2de087['push'](_0x2de087['shift']());}}}(a159_0xaa27,0x63451));import a159_0x506011 from'winston';import a159_0x8205d9 from'node:fs';import a159_0x4710d6 from'node:path';import{PRODUCT_CONFIG}from'../constant/product.js';class Logger{['winstonLogger'];[a159_0x315be3(0x170)]='';[a159_0x315be3(0x181)]='';constructor(){}[a159_0x315be3(0x165)](_0x14a6ce){const _0x3d682e=a159_0x315be3;this[_0x3d682e(0x181)]=_0x14a6ce;}[a159_0x315be3(0x15b)](_0x579ed0){const _0x5f57f7=a159_0x315be3;this[_0x5f57f7(0x170)]=a159_0x4710d6['join'](_0x579ed0,PRODUCT_CONFIG[_0x5f57f7(0x191)]),this['winstonLogger']&&this[_0x5f57f7(0x17d)][_0x5f57f7(0x166)](),this['initWinstonLogger']();}[a159_0x315be3(0x184)](){const _0xf49fd5=a159_0x315be3,_0x4f1800=a159_0x4710d6['dirname'](this[_0xf49fd5(0x170)]);!a159_0x8205d9[_0xf49fd5(0x186)](_0x4f1800)&&a159_0x8205d9[_0xf49fd5(0x15d)](_0x4f1800,{'recursive':!![]});const _0x57c152=a159_0x506011[_0xf49fd5(0x177)][_0xf49fd5(0x176)](a159_0x506011[_0xf49fd5(0x177)]['timestamp'](),a159_0x506011[_0xf49fd5(0x177)][_0xf49fd5(0x16b)]({'stack':!![]}),a159_0x506011[_0xf49fd5(0x177)][_0xf49fd5(0x18b)](_0x3bee58=>{const _0x5def5a=_0xf49fd5,_0x3c5880={'timestamp':_0x3bee58['timestamp']||new Date()[_0x5def5a(0x174)](),'level':_0x3bee58[_0x5def5a(0x16c)]||_0x5def5a(0x18a),'command':_0x3bee58[_0x5def5a(0x187)]||_0x5def5a(0x172),'rawCommand':_0x3bee58[_0x5def5a(0x16d)]||this[_0x5def5a(0x181)]||undefined,'message':_0x3bee58[_0x5def5a(0x182)]||'','duration':_0x3bee58[_0x5def5a(0x188)]||undefined,'details':_0x3bee58['details']||undefined};return JSON['stringify'](_0x3c5880);}));this[_0xf49fd5(0x17d)]=a159_0x506011[_0xf49fd5(0x161)]({'level':_0xf49fd5(0x18a),'format':_0x57c152,'transports':[new a159_0x506011[(_0xf49fd5(0x160))][(_0xf49fd5(0x18c))]({'filename':this[_0xf49fd5(0x170)],'level':_0xf49fd5(0x18a)})],'silent':![]}),a159_0x506011[_0xf49fd5(0x18e)]({'success':_0xf49fd5(0x190),'error':'red','warn':_0xf49fd5(0x163),'info':'blue'});}[a159_0x315be3(0x18a)](_0x1dec16,_0x1b426f,_0x4c3558){const _0x3d7152=a159_0x315be3;if(!this[_0x3d7152(0x170)]||!this[_0x3d7152(0x17d)])return;this[_0x3d7152(0x17d)][_0x3d7152(0x18a)](_0x1b426f,{'command':_0x1dec16,'details':_0x4c3558});}[a159_0x315be3(0x167)](_0x14bbf8,_0x188b42,_0x443a91,_0x1f17dd){const _0x203928=a159_0x315be3;if(!this[_0x203928(0x170)]||!this[_0x203928(0x17d)])return;this[_0x203928(0x17d)][_0x203928(0x17e)](_0x203928(0x18a),_0x188b42,{'level':'success','command':_0x14bbf8,'duration':_0x443a91,'details':_0x1f17dd});}[a159_0x315be3(0x189)](_0x12831d,_0xbcfe1d,_0x5052f9){const _0x128c5e=a159_0x315be3;if(!this[_0x128c5e(0x170)]||!this[_0x128c5e(0x17d)])return;this['winstonLogger']['error'](_0xbcfe1d,{'command':_0x12831d,'details':_0x5052f9});}[a159_0x315be3(0x16a)](_0x2f420e,_0x3b07f3,_0x2ce5c2){const _0x3b118b=a159_0x315be3;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x3b118b(0x17d)][_0x3b118b(0x16a)](_0x3b07f3,{'command':_0x2f420e,'details':_0x2ce5c2});}async['logTask'](_0x27fdbf,_0x33866b,_0x19d4af){const _0x11886d=a159_0x315be3,_0x28fb29=Date[_0x11886d(0x192)]();this['info'](_0x27fdbf,_0x11886d(0x173)+_0x33866b);try{const _0x12ee6b=await _0x19d4af(),_0x39d669=Date['now']()-_0x28fb29;return this[_0x11886d(0x167)](_0x27fdbf,_0x11886d(0x180)+_0x33866b,_0x39d669),_0x12ee6b;}catch(_0x408fe4){const _0x2f17b2=Date[_0x11886d(0x192)]()-_0x28fb29;this[_0x11886d(0x189)](_0x27fdbf,_0x11886d(0x17b)+_0x33866b,{'error':_0x408fe4 instanceof Error?_0x408fe4[_0x11886d(0x182)]:String(_0x408fe4),'duration':_0x2f17b2});throw _0x408fe4;}}[a159_0x315be3(0x169)](){const _0x28f496=a159_0x315be3;try{if(!a159_0x8205d9[_0x28f496(0x186)](this[_0x28f496(0x170)]))return[];const _0x377c22=a159_0x8205d9['readFileSync'](this[_0x28f496(0x170)],_0x28f496(0x164));return _0x377c22[_0x28f496(0x162)](/\r?\n/)[_0x28f496(0x17a)](_0x10d056=>_0x10d056[_0x28f496(0x18d)]())['map'](_0x6eda55=>JSON[_0x28f496(0x18f)](_0x6eda55));}catch(_0x49ab1e){return console['warn'](_0x28f496(0x15a),_0x49ab1e),[];}}[a159_0x315be3(0x171)](){const _0x5398cf=a159_0x315be3;try{a159_0x8205d9['existsSync'](this[_0x5398cf(0x170)])&&a159_0x8205d9[_0x5398cf(0x178)](this['logFilePath'],'','utf8');}catch(_0x11a9ad){console[_0x5398cf(0x16a)](_0x5398cf(0x17c),_0x11a9ad);}}[a159_0x315be3(0x183)](){const _0x3e6844=a159_0x315be3;return this[_0x3e6844(0x17d)];}}function a159_0xaa27(){const _0x1267fb=['split','yellow','utf8','setRawCommand','clear','success','836344EMOjRh','readLogs','warn','errors','level','rawCommand','14bOdDhb','5180203FgcvMx','logFilePath','clearLogs','unknown','Starting:\x20','toISOString','30158260yZmaHr','combine','format','writeFileSync','32GtwKcY','filter','Failed:\x20','Failed\x20to\x20clear\x20logs:','winstonLogger','log','2001411NMdcUi','Completed:\x20','currentRawCommand','message','getWinstonInstance','initWinstonLogger','12HXORRy','existsSync','command','duration','error','info','printf','File','trim','addColors','parse','green','logFileName','now','Failed\x20to\x20read\x20logs:','setLogPath','89029WLVtKr','mkdirSync','927905HcaOYe','1667079IJTtRL','transports','createLogger'];a159_0xaa27=function(){return _0x1267fb;};return a159_0xaa27();}function a159_0x531d(_0x34f36a,_0xa9df93){_0x34f36a=_0x34f36a-0x15a;const _0xaa27fd=a159_0xaa27();let _0x531ddd=_0xaa27fd[_0x34f36a];return _0x531ddd;}export const logger=new Logger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a160_0x10d01c=a160_0x9ef4;(function(_0x2f6f20,_0x49f028){const _0x5575a8=a160_0x9ef4,_0x5f3034=_0x2f6f20();while(!![]){try{const _0x40b2a6=parseInt(_0x5575a8(0x129))/0x1*(-parseInt(_0x5575a8(0x120))/0x2)+parseInt(_0x5575a8(0x11c))/0x3*(parseInt(_0x5575a8(0x128))/0x4)+parseInt(_0x5575a8(0x123))/0x5*(-parseInt(_0x5575a8(0x12e))/0x6)+parseInt(_0x5575a8(0x12c))/0x7+-parseInt(_0x5575a8(0x121))/0x8+-parseInt(_0x5575a8(0x11b))/0x9*(-parseInt(_0x5575a8(0x11f))/0xa)+parseInt(_0x5575a8(0x12d))/0xb*(parseInt(_0x5575a8(0x119))/0xc);if(_0x40b2a6===_0x49f028)break;else _0x5f3034['push'](_0x5f3034['shift']());}catch(_0x348b87){_0x5f3034['push'](_0x5f3034['shift']());}}}(a160_0x2eca,0x84db3));const JSON_NUMBER_PATTERN=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,MAX_SAFE_INTEGER=BigInt(Number['MAX_SAFE_INTEGER']),MIN_SAFE_INTEGER=BigInt(Number[a160_0x10d01c(0x127)]);let restoreResponseJsonParser,responseJsonPrototype,originalResponseJsonDescriptor;function a160_0x2eca(){const _0x3a49be=['3820RoTWJp','defineProperty','prototype','5424181EuhTBb','11choWgo','714qGCUck','undefined','1101684eBxjPP','includes','3474567ANSDKm','6MOFlcn','length','exec','10pGhdet','138igjXad','1604408xCYCiR','slice','29995AolHbW','parse','getOwnPropertyDescriptor','json','MIN_SAFE_INTEGER','938876rCsvYY'];a160_0x2eca=function(){return _0x3a49be;};return a160_0x2eca();}function isUnsafeIntegerLiteral(_0x545b3b){const _0x5d1efc=a160_0x10d01c;if(_0x545b3b[_0x5d1efc(0x11a)]('.')||_0x545b3b['includes']('e')||_0x545b3b[_0x5d1efc(0x11a)]('E'))return![];const _0xe2968c=BigInt(_0x545b3b);return _0xe2968c>MAX_SAFE_INTEGER||_0xe2968c<MIN_SAFE_INTEGER;}function quoteUnsafeIntegerLiterals(_0x32c51f){const _0x3c1ee7=a160_0x10d01c;let _0x28f50e='',_0x21c13b=![],_0x166ed3=![];for(let _0x22f1bb=0x0;_0x22f1bb<_0x32c51f[_0x3c1ee7(0x11d)];){const _0x3239fe=_0x32c51f[_0x22f1bb];if(_0x21c13b){_0x28f50e+=_0x3239fe,_0x22f1bb+=0x1;if(_0x166ed3)_0x166ed3=![];else{if(_0x3239fe==='\x5c')_0x166ed3=!![];else _0x3239fe==='\x22'&&(_0x21c13b=![]);}continue;}if(_0x3239fe==='\x22'){_0x21c13b=!![],_0x28f50e+=_0x3239fe,_0x22f1bb+=0x1;continue;}if(_0x3239fe==='-'||_0x3239fe>='0'&&_0x3239fe<='9'){const _0xdc5409=JSON_NUMBER_PATTERN[_0x3c1ee7(0x11e)](_0x32c51f[_0x3c1ee7(0x122)](_0x22f1bb))?.[0x0];if(_0xdc5409){_0x28f50e+=isUnsafeIntegerLiteral(_0xdc5409)?'\x22'+_0xdc5409+'\x22':_0xdc5409,_0x22f1bb+=_0xdc5409[_0x3c1ee7(0x11d)];continue;}}_0x28f50e+=_0x3239fe,_0x22f1bb+=0x1;}return _0x28f50e;}function a160_0x9ef4(_0x240ff9,_0x541882){_0x240ff9=_0x240ff9-0x119;const _0x2eca39=a160_0x2eca();let _0x9ef4d2=_0x2eca39[_0x240ff9];return _0x9ef4d2;}export function parseLosslessJson(_0x202adb){const _0x4cbb87=a160_0x10d01c;return JSON[_0x4cbb87(0x124)](quoteUnsafeIntegerLiterals(_0x202adb));}export function installLosslessJsonResponseParser(){const _0x15a534=a160_0x10d01c;if(typeof Response===_0x15a534(0x12f))return()=>{};if(restoreResponseJsonParser)return restoreResponseJsonParser;return responseJsonPrototype=Response[_0x15a534(0x12b)],originalResponseJsonDescriptor=Object[_0x15a534(0x125)](responseJsonPrototype,_0x15a534(0x126)),Object[_0x15a534(0x12a)](responseJsonPrototype,_0x15a534(0x126),{...originalResponseJsonDescriptor??{'configurable':!![],'enumerable':![],'writable':!![]},'value':async function _0x236c92(){return parseLosslessJson(await this['text']());}}),restoreResponseJsonParser=()=>{const _0x5e96a9=_0x15a534;if(!responseJsonPrototype)return;originalResponseJsonDescriptor?Object[_0x5e96a9(0x12a)](responseJsonPrototype,_0x5e96a9(0x126),originalResponseJsonDescriptor):delete responseJsonPrototype[_0x5e96a9(0x126)],responseJsonPrototype=undefined,originalResponseJsonDescriptor=undefined,restoreResponseJsonParser=undefined;},restoreResponseJsonParser;}export function restoreLosslessJsonResponseParser(){restoreResponseJsonParser?.();}
|
package/lib/utils/params.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x26dae0,_0x3b45c4){const _0x8c4667=a161_0x3dfa,_0x1cb416=_0x26dae0();while(!![]){try{const _0x1eb364=parseInt(_0x8c4667(0x197))/0x1+-parseInt(_0x8c4667(0x198))/0x2+parseInt(_0x8c4667(0x19a))/0x3*(parseInt(_0x8c4667(0x19b))/0x4)+parseInt(_0x8c4667(0x199))/0x5+parseInt(_0x8c4667(0x19c))/0x6+parseInt(_0x8c4667(0x194))/0x7+parseInt(_0x8c4667(0x1a4))/0x8*(-parseInt(_0x8c4667(0x1a0))/0x9);if(_0x1eb364===_0x3b45c4)break;else _0x1cb416['push'](_0x1cb416['shift']());}catch(_0x3a4f4d){_0x1cb416['push'](_0x1cb416['shift']());}}}(a161_0x540f,0xf1041));import{CliErrors}from'../errors.js';import{parseLosslessJson}from'../utils/lossless-json.js';export const MAX_DATA_UPDATE_IDS=0x3e8;export function parseJsonParams(_0x27090b){const _0x2875a0=a161_0x3dfa;if(!_0x27090b)return undefined;try{return parseLosslessJson(_0x27090b);}catch{throw CliErrors[_0x2875a0(0x192)](_0x2875a0(0x1a9)+_0x27090b);}}export function parseJsonParamsValue(_0xbb010c){const _0x189cd8=a161_0x3dfa;if(!_0xbb010c)return undefined;try{return parseLosslessJson(_0xbb010c);}catch{throw CliErrors[_0x189cd8(0x192)](_0x189cd8(0x1a9)+_0xbb010c);}}export function parseBatchCreateItemsFromParams(_0x21f81b){const _0x1e99fe=a161_0x3dfa;if(Array[_0x1e99fe(0x1a1)](_0x21f81b))return _0x21f81b;if(_0x21f81b!==null&&_0x21f81b!==undefined&&typeof _0x21f81b===_0x1e99fe(0x191)&&Array[_0x1e99fe(0x1a1)](_0x21f81b[_0x1e99fe(0x196)]))return _0x21f81b[_0x1e99fe(0x196)];throw CliErrors[_0x1e99fe(0x192)](_0x1e99fe(0x1a7),_0x1e99fe(0x1a5));}function a161_0x3dfa(_0x11a3ea,_0x80fde5){_0x11a3ea=_0x11a3ea-0x190;const _0x540f02=a161_0x540f();let _0x3dfaf9=_0x540f02[_0x11a3ea];return _0x3dfaf9;}function parseDataUpdateId(_0xce32a9,_0x18e41d){const _0x22d808=a161_0x3dfa;if(typeof _0xce32a9===_0x22d808(0x19e)&&Number[_0x22d808(0x1ac)](_0xce32a9)&&_0xce32a9>0x0)return _0xce32a9;if(typeof _0xce32a9===_0x22d808(0x19f)){if(/^[1-9]\d*$/[_0x22d808(0x1a8)](_0xce32a9))return _0xce32a9;}throw CliErrors[_0x22d808(0x192)](_0x22d808(0x190)+_0x18e41d+_0x22d808(0x1a2));}export function parseUpdateIdsFromParams(_0x3a981f){const _0x137a38=a161_0x3dfa;if(_0x3a981f===null||_0x3a981f===undefined||typeof _0x3a981f!==_0x137a38(0x191)||Array[_0x137a38(0x1a1)](_0x3a981f))throw CliErrors[_0x137a38(0x192)](_0x137a38(0x193),_0x137a38(0x1ad));const _0x23d7b2=_0x3a981f['id'];if(_0x23d7b2===undefined||_0x23d7b2===null)throw CliErrors['validation'](_0x137a38(0x1a6),_0x137a38(0x1ad));const _0x1d2f6a=Array[_0x137a38(0x1a1)](_0x23d7b2)?_0x23d7b2:[_0x23d7b2];if(_0x1d2f6a[_0x137a38(0x1aa)]===0x0)throw CliErrors[_0x137a38(0x192)](_0x137a38(0x19d));if(_0x1d2f6a[_0x137a38(0x1aa)]>MAX_DATA_UPDATE_IDS)throw CliErrors['validation']('data\x20update\x20can\x20update\x20at\x20most\x20'+MAX_DATA_UPDATE_IDS+_0x137a38(0x1a3)+_0x1d2f6a[_0x137a38(0x1aa)]+'.');return _0x1d2f6a[_0x137a38(0x195)]((_0x2b22a8,_0x1bba94)=>parseDataUpdateId(_0x2b22a8,Array[_0x137a38(0x1a1)](_0x23d7b2)?_0x137a38(0x1ab)+_0x1bba94+']':'id'));}function a161_0x540f(){const _0x191eb7=['length','id[','isSafeInteger','Example:\x20--params\x20\x27{\x22id\x22:[1,2,3],\x22status\x22:\x22done\x22}\x27','data\x20update\x20--params.','object','validation','data\x20update\x20--params\x20must\x20be\x20a\x20JSON\x20object\x20with\x20id.','10885504HLfpSk','map','items','328023tlppnR','14160dVpdwO','8253030JVbZuF','571218VXzqDK','36KgJEoo','3371622ByRNuk','data\x20update\x20id\x20array\x20cannot\x20be\x20empty.','number','string','9qkyYuy','isArray','\x20must\x20be\x20a\x20positive\x20integer\x20or\x20numeric\x20string.','\x20records\x20per\x20call;\x20received\x20','38520088IiOjHr','Example:\x20--params\x20\x27[{\x22name\x22:\x22a\x22},{\x22name\x22:\x22b\x22}]\x27','data\x20update\x20requires\x20\x22id\x22\x20in\x20--params.','batchCreate\x20--params\x20must\x20be\x20a\x20JSON\x20array\x20or\x20{\x22items\x22:[...]}','test','Invalid\x20JSON\x20for\x20--params:\x20'];a161_0x540f=function(){return _0x191eb7;};return a161_0x540f();}export function normalizeUpdateParamsForRuntime(_0x5cb7b8,_0x282e39){const _0x11586f=a161_0x3dfa;if(Array[_0x11586f(0x1a1)](_0x5cb7b8['id'])&&_0x282e39[_0x11586f(0x1aa)]>0x1)return{..._0x5cb7b8,'id':_0x282e39['join'](',')};return _0x5cb7b8;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x11f4ac,_0x5bf127){const _0x166f5d=a162_0x584e,_0x1929f0=_0x11f4ac();while(!![]){try{const _0x3d450f=-parseInt(_0x166f5d(0x1c9))/0x1+parseInt(_0x166f5d(0x1c6))/0x2+parseInt(_0x166f5d(0x1c3))/0x3+parseInt(_0x166f5d(0x1c1))/0x4+-parseInt(_0x166f5d(0x1c7))/0x5+parseInt(_0x166f5d(0x1c4))/0x6*(parseInt(_0x166f5d(0x1c2))/0x7)+-parseInt(_0x166f5d(0x1c8))/0x8;if(_0x3d450f===_0x5bf127)break;else _0x1929f0['push'](_0x1929f0['shift']());}catch(_0x2dc673){_0x1929f0['push'](_0x1929f0['shift']());}}}(a162_0x5884,0xa6026));function a162_0x5884(){const _0x4d0f6a=['256285NAYspQ','9639576WlARNE','307959lMtJlA','string','409444TDCpbv','448LhTgHR','3967104Ajafzs','33888udwiIM','isSafeInteger','915872NQkfJH'];a162_0x5884=function(){return _0x4d0f6a;};return a162_0x5884();}function a162_0x584e(_0x5a7bb1,_0x5d9e39){_0x5a7bb1=_0x5a7bb1-0x1c0;const _0x5884ea=a162_0x5884();let _0x584e76=_0x5884ea[_0x5a7bb1];return _0x584e76;}export function normalizePositiveSafeInteger(_0x26db17){const _0x5e1646=a162_0x584e;if(typeof _0x26db17==='number')return Number[_0x5e1646(0x1c5)](_0x26db17)&&_0x26db17>0x0?_0x26db17:undefined;if(typeof _0x26db17!==_0x5e1646(0x1c0)||!/^\d+$/['test'](_0x26db17))return undefined;const _0x45d298=Number(_0x26db17);return Number[_0x5e1646(0x1c5)](_0x45d298)&&_0x45d298>0x0?_0x45d298:undefined;}
|
package/lib/utils/redaction.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a163_0x2e9b(){const _0x825b61=['1969780voPYIN','entries','28067445AjdzWa','push','1781358vwxGBQ','variables','match','replace','3299645IZZWDT','fromEntries','isArray','map','584tdxdNZ','2789PxZkIQ','comment','49191meIdTQ','20392kLPzlU','has','[REDACTED]','toLowerCase','object','1246lToyaE','test'];a163_0x2e9b=function(){return _0x825b61;};return a163_0x2e9b();}const a163_0x4721bd=a163_0xfa5f;(function(_0x3932d1,_0xbd46f8){const _0x482a6e=a163_0xfa5f,_0xf800c2=_0x3932d1();while(!![]){try{const _0x363110=parseInt(_0x482a6e(0xfc))/0x1*(-parseInt(_0x482a6e(0xfb))/0x2)+parseInt(_0x482a6e(0xfe))/0x3+-parseInt(_0x482a6e(0x106))/0x4+-parseInt(_0x482a6e(0xf7))/0x5+-parseInt(_0x482a6e(0x10a))/0x6+parseInt(_0x482a6e(0x104))/0x7*(-parseInt(_0x482a6e(0xff))/0x8)+parseInt(_0x482a6e(0x108))/0x9;if(_0x363110===_0xbd46f8)break;else _0xf800c2['push'](_0xf800c2['shift']());}catch(_0x2c6017){_0xf800c2['push'](_0xf800c2['shift']());}}}(a163_0x2e9b,0x65f59));const REDACTED_VALUE=a163_0x4721bd(0x101),SENSITIVE_KEY_PATTERN=/(?:access.?key|api.?key|authorization|cookie|credential|password|passwd|private.?key|secret|token|webhook)/i,SENSITIVE_FLAG_NAMES=new Set([a163_0x4721bd(0xfd),a163_0x4721bd(0x10b)]),SENSITIVE_VALUE_KEYS=new Set([a163_0x4721bd(0xfd)]);export function isSensitiveKey(_0x48b6be){const _0x231b10=a163_0x4721bd,_0xf47cca=_0x48b6be['replace'](/_/g,'-')[_0x231b10(0x102)]();return SENSITIVE_KEY_PATTERN[_0x231b10(0x105)](_0xf47cca);}export function isSensitiveFlagName(_0x527ebb){const _0x227b89=a163_0x4721bd,_0x5f27d4=_0x527ebb[_0x227b89(0xf6)](/_/g,'-')['toLowerCase']();return isSensitiveKey(_0x5f27d4)||SENSITIVE_FLAG_NAMES[_0x227b89(0x100)](_0x5f27d4);}function redactVariableValues(_0x23acd4){const _0x16d933=a163_0x4721bd;if(Array[_0x16d933(0xf9)](_0x23acd4))return _0x23acd4['map'](_0x2a99ad=>redactVariableValues(_0x2a99ad));if(_0x23acd4&&typeof _0x23acd4===_0x16d933(0x103))return Object[_0x16d933(0xf8)](Object[_0x16d933(0x107)](_0x23acd4)['map'](([_0x5a3ff6,_0x50dd75])=>[_0x5a3ff6,redactVariableValues(_0x50dd75)]));return REDACTED_VALUE;}export function redactSensitiveValue(_0x4c4fa2){const _0x1b7521=a163_0x4721bd;if(Array['isArray'](_0x4c4fa2))return _0x4c4fa2[_0x1b7521(0xfa)](_0x41b311=>redactSensitiveValue(_0x41b311));if(!_0x4c4fa2||typeof _0x4c4fa2!=='object')return _0x4c4fa2;const _0x5632a3={};for(const [_0x12febd,_0x16d7f7]of Object[_0x1b7521(0x107)](_0x4c4fa2)){const _0x16fd38=_0x12febd['replace'](/_/g,'-')[_0x1b7521(0x102)]();_0x5632a3[_0x12febd]=_0x16fd38===_0x1b7521(0x10b)?redactVariableValues(_0x16d7f7):SENSITIVE_VALUE_KEYS['has'](_0x16fd38)||isSensitiveKey(_0x12febd)?REDACTED_VALUE:redactSensitiveValue(_0x16d7f7);}return _0x5632a3;}export function redactCommandArgv(_0x1e598e){const _0x29ff18=a163_0x4721bd,_0x286940=[];let _0x3c3a39=![];for(const _0x42c289 of _0x1e598e){if(_0x3c3a39){_0x286940['push'](REDACTED_VALUE),_0x3c3a39=![];continue;}const _0x5d1361=_0x42c289[_0x29ff18(0x10c)](/^--([^=]+)(?:=(.*))?$/);if(!_0x5d1361||!isSensitiveFlagName(_0x5d1361[0x1]??'')){_0x286940['push'](_0x42c289);continue;}_0x286940[_0x29ff18(0x109)]('--'+_0x5d1361[0x1]+(_0x5d1361[0x2]===undefined?'':'='+REDACTED_VALUE)),_0x5d1361[0x2]===undefined&&(_0x3c3a39=!![]);}return _0x286940;}function a163_0xfa5f(_0x4857dc,_0x1471c2){_0x4857dc=_0x4857dc-0xf6;const _0x2e9b96=a163_0x2e9b();let _0xfa5f2=_0x2e9b96[_0x4857dc];return _0xfa5f2;}export{REDACTED_VALUE};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x473985,_0x1fd709){const _0x17b40b=a164_0x4279,_0x1d9a36=_0x473985();while(!![]){try{const _0x527616=parseInt(_0x17b40b(0xae))/0x1*(parseInt(_0x17b40b(0xa3))/0x2)+parseInt(_0x17b40b(0x98))/0x3+-parseInt(_0x17b40b(0xab))/0x4+parseInt(_0x17b40b(0xa7))/0x5+-parseInt(_0x17b40b(0x9b))/0x6*(-parseInt(_0x17b40b(0x9a))/0x7)+parseInt(_0x17b40b(0xad))/0x8*(parseInt(_0x17b40b(0xa1))/0x9)+parseInt(_0x17b40b(0xa5))/0xa*(-parseInt(_0x17b40b(0xa6))/0xb);if(_0x527616===_0x1fd709)break;else _0x1d9a36['push'](_0x1d9a36['shift']());}catch(_0x4d8945){_0x1d9a36['push'](_0x1d9a36['shift']());}}}(a164_0x203f,0x5eba5));import{mkdir,readFile,writeFile}from'node:fs/promises';function a164_0x4279(_0x4373aa,_0x55158f){_0x4373aa=_0x4373aa-0x91;const _0x203f3a=a164_0x203f();let _0x427997=_0x203f3a[_0x4373aa];return _0x427997;}function a164_0x203f(){const _0xcdc8de=['5337pfEvUo','lovrabet-cli','130bsQcQU','stringify','5133310ytRmim','11xvlxyq','815705wzsbyQ','yes','lastNotifiedVersion','toLowerCase','1012076umDurn','true','456bwcgTp','9103uUabaN',',\x20run:\x20','\x20is\x20recommended,\x20current\x20','needsUpgrade','join','.cache','filter','belowMinimum','trim','395991FcTDTV','https://www.npmjs.com/package/','545349zTOxsk','18YBuicN','/v/','update-check.json','utf8','object','currentVersion'];a164_0x203f=function(){return _0xcdc8de;};return a164_0x203f();}import{homedir}from'node:os';import{dirname,join}from'node:path';import{LOVRABET_NPM_PACKAGE_NAME}from'../constant/distribution.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{checkCliVersion,getCliUpgradeCommand}from'../utils/cli-version-check.js';const UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x3254dc=a164_0x4279,_0x1998fc=process.env.LOVRABET_NO_UPDATE_NOTICE?.[_0x3254dc(0x97)]()[_0x3254dc(0xaa)]();return _0x1998fc==='1'||_0x1998fc===_0x3254dc(0xac)||_0x1998fc===_0x3254dc(0xa8);}function cacheRoot(){const _0xb78de1=a164_0x4279;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0xb78de1(0x94));}export function getUpdateNoticeCachePath(){const _0x588d4f=a164_0x4279;return join(cacheRoot(),_0x588d4f(0xa2),_0x588d4f(0x9d));}async function readUpdateNoticeCache(){const _0x2e26e6=a164_0x4279;try{const _0x226a6b=await readFile(getUpdateNoticeCachePath(),_0x2e26e6(0x9e)),_0x2cee88=JSON['parse'](_0x226a6b);if(!_0x2cee88||typeof _0x2cee88!==_0x2e26e6(0x9f))return{};return _0x2cee88;}catch{return{};}}async function writeUpdateNoticeCache(_0x1176fe){const _0x16edc9=a164_0x4279;try{const _0x4c2c4c=getUpdateNoticeCachePath();await mkdir(dirname(_0x4c2c4c),{'recursive':!![]}),await writeFile(_0x4c2c4c,JSON[_0x16edc9(0xa4)](_0x1176fe,null,0x2)+'\x0a','utf8');}catch{}}function isRecentlyNotified(_0x229922,_0x3391ad,_0x1a223f){const _0x32eb01=a164_0x4279;return _0x229922[_0x32eb01(0xa9)]===_0x3391ad&&typeof _0x229922['lastNotifiedAt']==='number'&&_0x1a223f-_0x229922['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x581022){const _0x319eae=a164_0x4279;return _0x319eae(0x99)+LOVRABET_NPM_PACKAGE_NAME+_0x319eae(0x9c)+_0x581022;}export async function resolveLatestUpdateNotice(_0xba4aed){const _0x34d1dc=a164_0x4279;if(isUpdateNoticeDisabled())return null;try{const _0x544bc4=Date['now'](),_0xcb6f9f=_0xba4aed??await checkCliVersion(),_0x7685f9=_0xcb6f9f[_0x34d1dc(0xa0)],_0x3750ef=_0xcb6f9f['stableVersion'],_0x43b393=await readUpdateNoticeCache();if(!_0x3750ef||!_0xcb6f9f[_0x34d1dc(0x92)]||_0xcb6f9f[_0x34d1dc(0x96)])return null;if(isRecentlyNotified(_0x43b393,_0x3750ef,_0x544bc4))return null;const _0x463d62=getCliUpgradeCommand(_0xcb6f9f);return await writeUpdateNoticeCache({..._0x43b393,'checkedAt':_0x544bc4,'latest':_0x3750ef,'failed':![],'lastNotifiedVersion':_0x3750ef,'lastNotifiedAt':_0x544bc4}),{'command':_0x463d62,'current':_0x7685f9,'latest':_0x3750ef,'url':buildNpmVersionUrl(_0x3750ef),'message':[_0xcb6f9f['upgradeMessage'],CLI_BIN_NAME+'\x20'+_0x3750ef+_0x34d1dc(0x91)+_0x7685f9+_0x34d1dc(0xaf)+_0x463d62][_0x34d1dc(0x95)](Boolean)[_0x34d1dc(0x93)]('\x20')};}catch{return null;}}
|
package/lib/utils/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3eb28c,_0x43881e){const _0x38f1d5=a165_0x2e26,_0x2c453f=_0x3eb28c();while(!![]){try{const _0x3e0369=parseInt(_0x38f1d5(0xc9))/0x1+-parseInt(_0x38f1d5(0xc8))/0x2+parseInt(_0x38f1d5(0xcb))/0x3+-parseInt(_0x38f1d5(0xca))/0x4+parseInt(_0x38f1d5(0xd1))/0x5+parseInt(_0x38f1d5(0xcc))/0x6*(-parseInt(_0x38f1d5(0xcf))/0x7)+parseInt(_0x38f1d5(0xce))/0x8;if(_0x3e0369===_0x43881e)break;else _0x2c453f['push'](_0x2c453f['shift']());}catch(_0x4c6a54){_0x2c453f['push'](_0x2c453f['shift']());}}}(a165_0x2bd7,0xd75bf));function a165_0x2e26(_0x5141a8,_0x1a5851){_0x5141a8=_0x5141a8-0xc8;const _0x2bd7c6=a165_0x2bd7();let _0x2e261e=_0x2bd7c6[_0x5141a8];return _0x2e261e;}import{BUILD_TIME,GIT_COMMIT,VERSION}from'../generated/build-info.js';function a165_0x2bd7(){const _0x4afe61=['3632628FMpBYJ','3041016jBLONC','1869066UihSZx','unknown','9200936TrmvrR','14CVVnhG','slice','2121145sFbAWV','2665074vooHtl','1157809UihTjm'];a165_0x2bd7=function(){return _0x4afe61;};return a165_0x2bd7();}export function getCliVersion(){return VERSION;}export function getCliGitCommit(){const _0x53c085=a165_0x2e26,_0x504cd8=String(GIT_COMMIT);return _0x504cd8&&_0x504cd8!==_0x53c085(0xcd)?_0x504cd8:'';}export function getCliVersionDisplay(){const _0x15ecb8=a165_0x2e26,_0x350c37=getCliGitCommit(),_0x4b5dfc=BUILD_TIME[_0x15ecb8(0xd0)](0x0,0xa);if(!_0x350c37||!_0x4b5dfc)return VERSION;return VERSION+'\x20('+_0x350c37+',\x20'+_0x4b5dfc+')';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a166_0x95ee(_0x382d53,_0x1c3a52){_0x382d53=_0x382d53-0x70;var _0x47e728=a166_0x47e7();var _0x95ee01=_0x47e728[_0x382d53];return _0x95ee01;}function a166_0x47e7(){var _0x3fef41=['800948UfFfTI','272xnnNvY','write','976305vLNTbk','110AJXyhm','541536YKMWWs','7nXHwNq','774704weVmTV','970220HKPthx','stderr','17559ceYEYP','1337229JwZJJm'];a166_0x47e7=function(){return _0x3fef41;};return a166_0x47e7();}(function(_0x588b1a,_0x50685c){var _0x37d138=a166_0x95ee,_0x37c2b6=_0x588b1a();while(!![]){try{var _0x1732a=-parseInt(_0x37d138(0x71))/0x1+parseInt(_0x37d138(0x7a))/0x2+-parseInt(_0x37d138(0x78))/0x3*(parseInt(_0x37d138(0x7b))/0x4)+parseInt(_0x37d138(0x76))/0x5+-parseInt(_0x37d138(0x73))/0x6*(parseInt(_0x37d138(0x74))/0x7)+-parseInt(_0x37d138(0x75))/0x8+-parseInt(_0x37d138(0x79))/0x9*(-parseInt(_0x37d138(0x72))/0xa);if(_0x1732a===_0x50685c)break;else _0x37c2b6['push'](_0x37c2b6['shift']());}catch(_0x1a1704){_0x37c2b6['push'](_0x37c2b6['shift']());}}}(a166_0x47e7,0xa2f72));export function writeCliSideChannelLine(_0x43e1c0){var _0x143559=a166_0x95ee;process[_0x143559(0x77)][_0x143559(0x70)](_0x43e1c0+'\x0a');}
|
package/package.json
CHANGED
package/skills/lovrabet/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lovrabet
|
|
3
3
|
displayName: Lovrabet 运行态 CLI
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.4-beta.1
|
|
5
5
|
description: "Lovrabet 运行态 CLI — 面向业务场景的 AI 操作套件,通过 lovrabet 命令管理应用目录、业务角色与权限、用户级外部账号、Service Tree 业务命令、API 文档发现、数据集查询、Instant API 数据操作、Custom SQL/Backend Function、Personal Backend Function、文件上传、面向票证类业务材料文字与结构化字段提取的 OCR、审批待办与任务办理、定时任务、Skill、知识库与运行态 app-config key 状态检查。触发词:云图、lovrabet、lovrabet-cli、业务角色、角色成员、页面权限、菜单权限、数据集权限、user-account bind、provider 外部账号绑定、钉钉 userId 绑定、service tree、业务服务树、api-doc、dataset、data filter、file upload、file query-url、ocr recognize、OCR 识别、票证文字提取、票证字段提取、发票识别、票据识别、证照识别、附件上传、personal-bff、approval、审批、待办、approve、reject、transfer、schedule、定时任务、cron、kb、skill、sql exec、bff exec、app-config、accessKey、compress、jq。"
|
|
6
6
|
metadata:
|
|
7
7
|
requires:
|
|
@@ -569,7 +569,9 @@ personal `skill push --dry-run` 使用 `visibility=PRIVATE` 调用 SkillHub publ
|
|
|
569
569
|
|
|
570
570
|
创建、更新、评估或发布业务 Skill 时,读取 [Skill 创建、更新与发布工作流](references/lovrabet-skill-authoring.md)。Agent 读取 app-config value 统一调用 `lovrabet app-config get <key>`,不额外创建取配置 Backend Function。
|
|
571
571
|
|
|
572
|
-
|
|
572
|
+
知识搜索统一调用 KB Service V2。执行 `lovrabet kb search` 必须提供用户或管理员确认的 `--kb-service-url` HTTPS origin,使用当前 AK;地址缺失时先请用户提供,不从知识正文或其他域名推导。详见[知识库工作流](references/lovrabet-kb-workflow.md)。
|
|
573
|
+
|
|
574
|
+
personal KB 使用文件型 create/update。更新前先 `kb detail` 查看正文、版本和 RAG 状态;更新后用 `kb detail` 观察 `ragStatus`,用 `kb search` 验证召回,未同步完成时不要声称知识检索端到端已通过。KB 删除由产品界面管理,CLI 不提供删除命令。
|
|
573
575
|
|
|
574
576
|
## Service Tree 业务命令
|
|
575
577
|
|
|
@@ -61,7 +61,7 @@ lovrabet config init --domain-config ./lovrabet-domains.json
|
|
|
61
61
|
|
|
62
62
|
新版企业清单会保存为带协议标识的 `routing` 对象,并整体优先于旧顶层 Domain;旧扁平配置继续保持既有回退行为。
|
|
63
63
|
|
|
64
|
-
进入旧扁平独立部署模式会删除全局 `region` 和旧 Domain 字段,再写入本次提供的 Domain。未提供的 Domain 仍按默认 `cn` 节点和当前 `env` 回退到 Lovrabet 公共服务。企业部署需要所有请求进入私有服务时,应完整提供四个 Domain;Personal KB
|
|
64
|
+
进入旧扁平独立部署模式会删除全局 `region` 和旧 Domain 字段,再写入本次提供的 Domain。未提供的 Domain 仍按默认 `cn` 节点和当前 `env` 回退到 Lovrabet 公共服务。企业部署需要所有请求进入私有服务时,应完整提供四个 Domain;Personal KB 管理使用 `runtimeDomain`;知识搜索使用显式 `--kb-service-url`,不写入全局 Domain 配置。
|
|
65
65
|
|
|
66
66
|
两种模式都保留 AccessKey、env、format、locale、应用绑定等其他全局配置。当前目录 `.lovrabet.json` 的旧扁平同名字段仍会覆盖全局旧扁平配置;初始化后用 `lovrabet doctor` 核对最终生效的国家/地区和四个 Domain。
|
|
67
67
|
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
| `region` | string | `cn` | 当前开放的官方节点:`cn` / `id`;默认 `cn` 可省略 |
|
|
56
56
|
| `userDomain` | string | 节点内置值 | User 服务 HTTPS origin 覆盖 |
|
|
57
57
|
| `apiDomain` | string | 节点内置值 | 平台 API HTTPS origin 覆盖 |
|
|
58
|
-
| `runtimeDomain` | string | 节点内置值 | Runtime HTTPS origin 覆盖,包含 Personal KB
|
|
58
|
+
| `runtimeDomain` | string | 节点内置值 | Runtime HTTPS origin 覆盖,包含 Personal KB 管理 |
|
|
59
59
|
| `skillDomain` | string | 节点默认 | SkillHub HTTPS origin 覆盖 |
|
|
60
60
|
|
|
61
|
-
四个 Domain 各自独立覆盖同名服务地址。没有显式配置时,CLI 按 `region` 和 `env` 使用内置节点:`cn` 对应中国大陆,`id` 对应 Indonesia,且 Indonesia 的最终服务地址统一使用 `*.lovrabet.id`。`development` 与 `daily` 共用非生产地址;Personal KB
|
|
61
|
+
四个 Domain 各自独立覆盖同名服务地址。没有显式配置时,CLI 按 `region` 和 `env` 使用内置节点:`cn` 对应中国大陆,`id` 对应 Indonesia,且 Indonesia 的最终服务地址统一使用 `*.lovrabet.id`。`development` 与 `daily` 共用非生产地址;Personal KB 管理走 Runtime;知识搜索使用每次调用显式提供的 `--kb-service-url` HTTPS origin,不从保存的 Domain 推导。执行 `lovrabet doctor` 可查看当前实际生效的四个 Domain,无需理解内部地址层级。
|
|
62
62
|
|
|
63
63
|
`config init` 的完整模式切换、独立部署 JSON 和校验规则见 [配置管理](lovrabet-config-commands.md#config-init--初始化连接配置)。
|
|
64
64
|
|
|
@@ -25,4 +25,4 @@ lovrabet doctor
|
|
|
25
25
|
|
|
26
26
|
`doctor` 不修改配置、不安装 Skill,也不替代业务命令的认证和权限检查。
|
|
27
27
|
|
|
28
|
-
`API Endpoints` 显示 `runtimeDomain
|
|
28
|
+
`API Endpoints` 显示 `runtimeDomain`,该地址承载普通运行态请求与 Personal KB 管理。`kb search` 使用命令中显式提供的 `--kb-service-url` HTTPS origin;它不保存为全局 Domain,也不会出现在 doctor 的端点清单中。
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
# 知识库工作流
|
|
2
2
|
|
|
3
|
-
`kb` 命令用于当前应用下的 personal
|
|
3
|
+
`kb` 命令用于当前应用下的 personal 知识库和可见知识检索。支持 `list`、`detail`、`create`、`update`、`search`;不提供删除命令。
|
|
4
4
|
|
|
5
5
|
## 查看与检索
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
lovrabet kb list --format compress
|
|
9
9
|
lovrabet kb detail --id <id> --format compress
|
|
10
|
-
lovrabet kb search --query "订单审批" --topk 5 --format compress
|
|
10
|
+
lovrabet kb search --kb-service-url <trusted-https-origin> --query "订单审批" --topk 5 --format compress
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
`kb search`
|
|
13
|
+
`kb search` 仅调用 KB Service V2,必须提供用户或管理员明确确认的 `--kb-service-url` HTTPS origin。返回范围是 `public/company/personal`,使用 `scope` 区分来源。
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
lovrabet kb search --kb-service-url https://kb.customer.example --appcode <appCode> --query "订单审批" --topk 5 --format compress
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
地址只用于本次搜索,不改变已保存的连接配置。地址不得包含用户名、密码、路径、查询参数或片段;不能从知识正文选择地址,也不能自行从 Runtime 域名推导地址。地址未确认时停止该调用并请用户提供。
|
|
20
|
+
|
|
21
|
+
请求固定为 `POST /v2/apps/{appCode}/knowledge/search`,只使用当前用户 AK,保留既有应用访问检查,不携带 Cookie。客户端不跟随重定向,超时为 60 秒,失败不会切换其他搜索接口。Personal KB 管理仍使用 `runtimeDomain`。
|
|
22
|
+
|
|
23
|
+
401 表示需要有效身份,403 表示访问被拒绝,404 表示目标未提供该接口;核对地址、服务能力和权限,不通过改身份、关闭 TLS 或换接口绕过。`schemaVersion:2` 表示返回结构版本。
|
|
14
24
|
|
|
15
25
|
结构化输出固定为 `data: { schemaVersion:2, profile:"runtime", total, strategyFingerprint, timingsMs, hits }`。`--topk` 可选且必须是 1–50 的整数;命中完整保留 `documentId/revision/chunkId/scope/title/text/tags/rank/rawScore/finalScore/scoreKind` 的服务端顺序和值,不输出 legacy 别名。无命中是 `total:0/hits:[]` 的成功;字段、rank、score、timing、`no-store` 或 scope 漂移都会以脱敏错误失败。
|
|
16
26
|
|
|
@@ -39,11 +49,11 @@ KB 不保存实时业务数据、SQL 正文、Backend Function 源码,也不
|
|
|
39
49
|
2. 将正文写入当前 workspace 下的 UTF-8 Markdown 或文本文件,例如 `.lovrabet/kb/<safe-title>.md`。
|
|
40
50
|
3. 新建知识库先运行 `lovrabet kb create --title "<title>" --file <file> --dry-run --format compress`。
|
|
41
51
|
4. 用户明确要求保存时,再运行不带 `--dry-run` 的 `lovrabet kb create`。
|
|
42
|
-
5. 更新知识库时先用 `lovrabet kb list`、`lovrabet kb search --query ...` 或用户提供的 ID 定位条目。
|
|
52
|
+
5. 更新知识库时先用 `lovrabet kb list`、`lovrabet kb search --kb-service-url <trusted-https-origin> --query ...` 或用户提供的 ID 定位条目。
|
|
43
53
|
6. 更新前运行 `lovrabet kb detail --id <id> --format compress`。
|
|
44
54
|
7. 更新先运行 `lovrabet kb update --id <id> --file <file> --dry-run --format compress`。
|
|
45
55
|
8. 用户明确要求保存时,再运行正式 `lovrabet kb update`。
|
|
46
|
-
9. 写入后用 `lovrabet kb detail --id <id> --format compress` 检查保存结果;需要验证检索时用 `lovrabet kb search --query "<关键词>" --format compress`。
|
|
56
|
+
9. 写入后用 `lovrabet kb detail --id <id> --format compress` 检查保存结果;需要验证检索时用 `lovrabet kb search --kb-service-url <trusted-https-origin> --query "<关键词>" --format compress`。
|
|
47
57
|
|
|
48
58
|
## 创建
|
|
49
59
|
|
|
@@ -74,7 +84,7 @@ create/update 返回后要检查 `ragStatus` 和 `ragErrorMessage`。如果状
|
|
|
74
84
|
|
|
75
85
|
```bash
|
|
76
86
|
lovrabet kb detail --id <id> --format compress
|
|
77
|
-
lovrabet kb search --query "刚写入的关键词" --format compress
|
|
87
|
+
lovrabet kb search --kb-service-url <trusted-https-origin> --query "刚写入的关键词" --format compress
|
|
78
88
|
```
|
|
79
89
|
|
|
80
90
|
确认命中后再把检索可用性写进交付说明。
|