@lovrabet/lovrabet-cli 2.3.1-beta.2 → 2.3.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.d.ts +2 -0
- 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.d.ts +2 -0
- 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.d.ts +33 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +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.d.ts +3 -3
- 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.d.ts +0 -51
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.d.ts +3 -5
- 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.d.ts +16 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.d.ts +0 -2
- 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.d.ts +59 -0
- package/lib/generated/official-routing.js +1 -0
- package/lib/generated/routing-contract.d.ts +9 -0
- package/lib/generated/routing-contract.js +1 -0
- 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/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 +2 -1
- package/skills/lovrabet/SKILL.md +4 -4
- package/skills/lovrabet/guides/troubleshooting.md +3 -5
- package/skills/lovrabet/references/lovrabet-config-commands.md +33 -10
- package/skills/lovrabet/references/lovrabet-config.md +8 -20
- package/skills/lovrabet/references/lovrabet-doctor.md +0 -2
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -3
- package/skills/lovrabet.manifest.json +3 -3
- package/lib/core/kb-search-client.d.ts +0 -30
- package/lib/core/kb-search-client.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a79_0x3a9ec9=a79_0x5a0d;(function(_0x1105d9,_0x2e6be3){const _0x4a736c=a79_0x5a0d,_0x4c525c=_0x1105d9();while(!![]){try{const _0x4de182=parseInt(_0x4a736c(0x9c))/0x1*(-parseInt(_0x4a736c(0xa1))/0x2)+-parseInt(_0x4a736c(0xaf))/0x3*(-parseInt(_0x4a736c(0x8a))/0x4)+-parseInt(_0x4a736c(0x9b))/0x5+parseInt(_0x4a736c(0x87))/0x6+parseInt(_0x4a736c(0x97))/0x7+parseInt(_0x4a736c(0xa0))/0x8*(parseInt(_0x4a736c(0x99))/0x9)+-parseInt(_0x4a736c(0x94))/0xa;if(_0x4de182===_0x2e6be3)break;else _0x4c525c['push'](_0x4c525c['shift']());}catch(_0x53a6cc){_0x4c525c['push'](_0x4c525c['shift']());}}}(a79_0x29b6,0xbe525));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a79_0x3a9ec9(0x88),a79_0x3a9ec9(0xa4)];export const DEFAULT_SKILL_TARGET=a79_0x3a9ec9(0xb0);export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE=a79_0x3a9ec9(0x9e);export const OUTPUT_CONTRACT_FILE='references/output-contract.md';function a79_0x5a0d(_0x150d6b,_0x545c78){_0x150d6b=_0x150d6b-0x87;const _0x29b6d2=a79_0x29b6();let _0x5a0d9d=_0x29b6d2[_0x150d6b];return _0x5a0d9d;}export function validateSkillName(_0x1198d5){const _0x4c94b6=a79_0x3a9ec9,_0xa668ef=_0x1198d5[_0x4c94b6(0xad)]();if(!SKILL_NAME_PATTERN[_0x4c94b6(0xa7)](_0xa668ef))throw CliErrors['validation'](_0x4c94b6(0xae)+_0x1198d5+_0x4c94b6(0xac),_0x4c94b6(0x95));return _0xa668ef;}function a79_0x29b6(){const _0x4bf650=['\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=','#\x20Output\x20Contract\x0a\x0a','19686440nyGYfi','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','8369620vFEAhN','\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应用后台、Backend\x20Function\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','9LaKYYb','includes','1693385TQxaVq','5XSKtGn','\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','references/runtime-contract.md','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','7406552rdNJwo','392906zaFTTl','join','\x0a\x20\x20created:\x20\x22','read','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','type','test','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。','\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','SKILL.md','Use\x20one\x20of:\x20','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','trim','Invalid\x20Skill\x20name:\x20','169779iQVesY','.agents/skills','8629962ESbQtw','write','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','36tJTEGp','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','skillName','toISOString','---\x0aname:\x20','validation','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20Backend\x20Function\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a'];a79_0x29b6=function(){return _0x4bf650;};return a79_0x29b6();}export function normalizeSkillTemplateType(_0x36d822){const _0x59ef48=a79_0x3a9ec9,_0x4978e1=(_0x36d822||_0x59ef48(0x88))['trim']()||_0x59ef48(0x88);if(SKILL_TYPES[_0x59ef48(0x9a)](_0x4978e1))return _0x4978e1;throw CliErrors[_0x59ef48(0x8f)]('Unsupported\x20Skill\x20type:\x20'+_0x36d822,_0x59ef48(0xab)+SKILL_TYPES[_0x59ef48(0xa2)](',\x20')+'.');}export function renderSkillTemplate(_0x20d5aa){const _0x594f3b=a79_0x3a9ec9,_0x1daa00=validateSkillName(_0x20d5aa[_0x594f3b(0x8c)]),_0x5bb805=normalizeSkillTemplateType(_0x20d5aa[_0x594f3b(0xa6)]),_0x452181=_0x20d5aa['timestamp']??new Date()[_0x594f3b(0x8d)]();return{'skillName':_0x1daa00,'type':_0x5bb805,'files':[{'path':_0x594f3b(0xaa),'content':renderSkillMd(_0x1daa00,_0x5bb805,_0x452181)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x1daa00,_0x5bb805)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x1daa00,_0x5bb805)}]};}function renderSkillMd(_0x231d9b,_0x3097c7,_0x1339a0){const _0x190b56=a79_0x3a9ec9,_0x4f6d2c=typeWorkflow(_0x3097c7);return _0x190b56(0x8e)+_0x231d9b+'\x0a#\x20displayName:\x20\x22<填写符合用户实际诉求的人类可读展示名>\x22\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0a#\x20example:\x20\x22<填写一句用户可以直接说出的最简触发话术>\x22\x0ametadata:\x0a\x20\x20type:\x20'+_0x3097c7+_0x190b56(0xa3)+_0x1339a0+_0x190b56(0x90)+_0x231d9b+_0x190b56(0x98)+_0x4f6d2c+'\x0a\x0a'+businessStateSection(_0x3097c7)+_0x190b56(0xa9);}function renderRuntimeContract(_0x291244,_0x44621e){const _0x5df9cf=a79_0x3a9ec9,_0xdce215=_0x44621e===_0x5df9cf(0x88)?'##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a':'';return _0x5df9cf(0x96)+_0x291244+_0x5df9cf(0x92)+_0x44621e+_0x5df9cf(0x91)+_0xdce215+'\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a';}function renderOutputContract(_0x31f418,_0x3734fb){const _0x30f34d=a79_0x3a9ec9,_0x191300=_0x3734fb===_0x30f34d(0x88)?_0x30f34d(0xa8):_0x3734fb+_0x30f34d(0x8b);return _0x30f34d(0x93)+_0x31f418+_0x30f34d(0x9d)+_0x191300+_0x30f34d(0x9f);}function typeWorkflow(_0x1329a1){const _0x522f71=a79_0x3a9ec9;if(_0x1329a1==='read')return _0x522f71(0x89);return _0x522f71(0xa5);}function businessStateSection(_0x263578){const _0x4f7bdd=a79_0x3a9ec9;if(_0x263578!==_0x4f7bdd(0x88))return'';return'##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20Backend\x20Function、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a80_0x346489=a80_0x476c;function a80_0x3e70(){const _0x2724a3=['Frontmatter\x20example\x20is\x20missing.','582AnbrcG','Set\x20displayName\x20to\x20the\x20human-readable\x20Skill\x20name\x20shown\x20in\x20SkillHub.','Missing\x20SKILL.md.','2158118Gsxror','Set\x20example\x20to\x20one\x20short\x20user\x20message\x20that\x20can\x20directly\x20trigger\x20this\x20Skill.','registry','service','page','trim','isSymbolicLink','example-recommended','rabetbase-cli-reference','line','level','9XluJmL','dataset','isArray','number','validation','map','\x20Fix:\x20','isDirectory','write','suggestion','725789ZCgsUB','workspace','metadata','artifact','internal','file','Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.','schema','match','example','content','filter','name','This\x20line\x20invokes\x20the\x20rabetbase\x20CLI.\x20rabetbase\x20is\x20a\x20dev-time\x20tool;\x20runtime\x20Skills\x20should\x20drive\x20runtime\x20work\x20through\x20lovrabet\x20commands.','hasFrontmatter','raw','2006742PrBNWE','flatMap','Remove\x20metadata.internal\x20or\x20set\x20it\x20to\x20false\x20before\x20running\x20skill\x20push.','error','bff','string','warning','frontmatter-required','split','881005RxHQKG','object','Add\x20frontmatter\x20with\x20name\x20and\x20description.','37373BZarUM','auth','push','app','2855988QweViM','length','display-name-recommended','internal-skill','boolean','SKILL.md\x20must\x20be\x20a\x20regular\x20file.','metadata.internal=true\x20Skills\x20cannot\x20be\x20uploaded.','structure-complete','join','Frontmatter\x20name\x20is\x20missing.','10625336jIprTq','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','data','Describe\x20when\x20the\x20model\x20should\x20trigger\x20this\x20Skill,\x20plus\x20out-of-scope\x20boundaries\x20and\x20keywords.','utf8','Skill\x20directory\x20not\x20found:\x20','type','errors','test','description','Frontmatter\x20description\x20is\x20empty.','Set\x20metadata.type\x20to\x20write\x20or\x20read.','false','slice','Frontmatter\x20displayName\x20is\x20missing.','Fix\x20the\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.','sql','path','displayName'];a80_0x3e70=function(){return _0x2724a3;};return a80_0x3e70();}(function(_0x2bdd18,_0x20225f){const _0x2ede4c=a80_0x476c,_0x5753c0=_0x2bdd18();while(!![]){try{const _0x3e8fa9=parseInt(_0x2ede4c(0x201))/0x1+parseInt(_0x2ede4c(0x1ec))/0x2+parseInt(_0x2ede4c(0x211))/0x3+-parseInt(_0x2ede4c(0x221))/0x4+-parseInt(_0x2ede4c(0x21a))/0x5+parseInt(_0x2ede4c(0x1e9))/0x6*(parseInt(_0x2ede4c(0x21d))/0x7)+-parseInt(_0x2ede4c(0x1d5))/0x8*(parseInt(_0x2ede4c(0x1f7))/0x9);if(_0x3e8fa9===_0x20225f)break;else _0x5753c0['push'](_0x5753c0['shift']());}catch(_0x1570dc){_0x5753c0['push'](_0x5753c0['shift']());}}}(a80_0x3e70,0xbcca0));function a80_0x476c(_0x497f85,_0x3f8e12){_0x497f85=_0x497f85-0x1d5;const _0x3e70ac=a80_0x3e70();let _0x476c9b=_0x3e70ac[_0x497f85];return _0x476c9b;}import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';import{resolve}from'node:path';import{parse as a80_0x136ab8}from'yaml';import{CliErrors}from'../../errors.js';import{fileText,scanSkillDirectory}from'../../skills/runtime-skill-sync/local-files.js';const SKILL_FILE='SKILL.md',SUPPORTED_SKILL_TYPES=new Set([a80_0x346489(0x1ff),'read']),TEXT_SKILL_FILE_PATTERN=/(?:^SKILL\.md$|\.(?:md|mdx|txt|json|ya?ml|js|mjs|cjs|ts|tsx|sh|sql))$/i;export function validateSkillDirectory(_0x37447e,_0x771985={}){const _0xabc5ab=a80_0x346489,_0x578f14=resolveSkillDirectoryRoot(_0x37447e),_0x59f2c9=[],_0x2a5958=loadRequiredSkillFile(_0x578f14,_0x59f2c9),_0x27e941=_0x2a5958?parseFrontmatter(_0x2a5958[_0xabc5ab(0x20b)]):{'hasFrontmatter':![]};_0x2a5958&&validateFrontmatter(_0x2a5958[_0xabc5ab(0x1e6)],_0x27e941,_0x59f2c9);validateRuntimeCliReferences(_0x578f14,_0x59f2c9);const _0x1e2da0=_0x59f2c9[_0xabc5ab(0x20c)](_0x58d23f=>_0x58d23f[_0xabc5ab(0x1f6)]===_0xabc5ab(0x214)),_0x14e2cd=_0x59f2c9[_0xabc5ab(0x20c)](_0x40d5c2=>_0x40d5c2[_0xabc5ab(0x1f6)]===_0xabc5ab(0x217));return{'ok':_0x1e2da0[_0xabc5ab(0x222)]===0x0,'dir':_0x578f14,'type':_0x27e941[_0xabc5ab(0x1db)],'errors':_0x1e2da0,'warnings':_0x14e2cd};}function resolveSkillDirectoryRoot(_0x4a9f30){const _0x1d8941=a80_0x346489,_0x2e6561=resolve(_0x4a9f30);if(!existsSync(_0x2e6561))throw CliErrors[_0x1d8941(0x1fb)]('Skill\x20directory\x20not\x20found:\x20'+_0x4a9f30);const _0xac7da2=lstatSync(_0x2e6561);if(_0xac7da2[_0x1d8941(0x1fe)]())return _0x2e6561;if(_0xac7da2[_0x1d8941(0x1f2)]()){const _0x32e0c1=realpathSync(_0x2e6561);if(lstatSync(_0x32e0c1)[_0x1d8941(0x1fe)]())return _0x32e0c1;}throw CliErrors[_0x1d8941(0x1fb)](_0x1d8941(0x1da)+_0x4a9f30);}export function throwIfSkillValidationFailed(_0x1a6c42,_0x20f359=![]){const _0x21ca98=a80_0x346489;if(_0x1a6c42['ok'])return;const _0x4b4315=_0x1a6c42[_0x21ca98(0x1dc)]['map'](_0x481de4=>{const _0xb7a710=_0x21ca98,_0x1d6c52=_0x481de4['section']?'#'+_0x481de4['section']:'';return _0x481de4[_0xb7a710(0x1f6)]['toUpperCase']()+'\x20'+_0x481de4['ruleId']+'\x20'+_0x481de4[_0xb7a710(0x206)]+_0x1d6c52+':\x20'+_0x481de4['message']+_0xb7a710(0x1fd)+_0x481de4[_0xb7a710(0x200)];});throw CliErrors[_0x21ca98(0x1fb)]('Skill\x20validation\x20failed:\x0a'+_0x4b4315[_0x21ca98(0x229)]('\x0a'),_0x21ca98(0x1e4));}function loadRequiredSkillFile(_0x316094,_0x5859b0){const _0x52ef18=a80_0x346489,_0xf3d755=resolve(_0x316094,SKILL_FILE);if(!existsSync(_0xf3d755))return _0x5859b0[_0x52ef18(0x21f)](issue(_0x52ef18(0x214),_0x52ef18(0x228),SKILL_FILE,_0x52ef18(0x1eb),'Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.')),undefined;const _0x370524=lstatSync(_0xf3d755);if(_0x370524[_0x52ef18(0x1f2)]())return _0x5859b0[_0x52ef18(0x21f)](issue(_0x52ef18(0x214),_0x52ef18(0x228),SKILL_FILE,_0x52ef18(0x226),'Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.')),undefined;if(!_0x370524['isFile']())return _0x5859b0[_0x52ef18(0x21f)](issue('error',_0x52ef18(0x228),SKILL_FILE,'SKILL.md\x20is\x20not\x20a\x20file.',_0x52ef18(0x1d6))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0xf3d755,_0x52ef18(0x1d9))};}function validateFrontmatter(_0x459ab6,_0x2cf9c3,_0x5b9722){const _0x2586d5=a80_0x346489;if(!_0x2cf9c3[_0x2586d5(0x20f)]){_0x5b9722[_0x2586d5(0x21f)](issue(_0x2586d5(0x214),_0x2586d5(0x218),_0x459ab6,'SKILL.md\x20must\x20start\x20with\x20frontmatter.',_0x2586d5(0x21c)));return;}!_0x2cf9c3['name']?.[_0x2586d5(0x1f1)]()&&_0x5b9722[_0x2586d5(0x21f)](issue('error',_0x2586d5(0x218),_0x459ab6,_0x2586d5(0x22a),_0x2586d5(0x207))),!_0x2cf9c3[_0x2586d5(0x1e7)]?.[_0x2586d5(0x1f1)]()&&_0x5b9722[_0x2586d5(0x21f)](issue(_0x2586d5(0x217),_0x2586d5(0x223),_0x459ab6,_0x2586d5(0x1e3),_0x2586d5(0x1ea))),!_0x2cf9c3[_0x2586d5(0x20a)]?.['trim']()&&_0x5b9722[_0x2586d5(0x21f)](issue(_0x2586d5(0x217),_0x2586d5(0x1f3),_0x459ab6,_0x2586d5(0x1e8),_0x2586d5(0x1ed))),!_0x2cf9c3[_0x2586d5(0x1de)]?.[_0x2586d5(0x1f1)]()&&_0x5b9722[_0x2586d5(0x21f)](issue(_0x2586d5(0x214),'description-required',_0x459ab6,_0x2586d5(0x1df),_0x2586d5(0x1d8))),_0x2cf9c3[_0x2586d5(0x205)]===!![]&&_0x5b9722['push'](issue(_0x2586d5(0x214),_0x2586d5(0x224),_0x459ab6,_0x2586d5(0x227),_0x2586d5(0x213))),_0x2cf9c3[_0x2586d5(0x1db)]?.[_0x2586d5(0x1f1)]()&&!SUPPORTED_SKILL_TYPES['has'](_0x2cf9c3['type'])&&_0x5b9722[_0x2586d5(0x21f)](issue(_0x2586d5(0x214),_0x2586d5(0x218),_0x459ab6,'metadata.type\x20must\x20be\x20one\x20of\x20write\x20or\x20read.',_0x2586d5(0x1e0)));}function validateRuntimeCliReferences(_0x12867a,_0xe4a85f){const _0x4978e4=a80_0x346489;for(const _0x245a8d of findRabetbaseCliInvocations(_0x12867a)){_0xe4a85f[_0x4978e4(0x21f)](issue(_0x4978e4(0x217),_0x4978e4(0x1f4),_0x245a8d[_0x4978e4(0x206)],_0x4978e4(0x20e),'If\x20this\x20is\x20a\x20runtime\x20step,\x20replace\x20it\x20with\x20the\x20equivalent\x20lovrabet\x20command.\x20Dev-time\x20discovery\x20or\x20handoff\x20notes\x20can\x20stay.','L'+_0x245a8d[_0x4978e4(0x1f5)]));}}function findRabetbaseCliInvocations(_0x38fdbc){const _0x35a961=a80_0x346489;return scanSkillDirectory(_0x38fdbc)[_0x35a961(0x20c)](_0x584dd5=>TEXT_SKILL_FILE_PATTERN[_0x35a961(0x1dd)](_0x584dd5[_0x35a961(0x1e6)]))[_0x35a961(0x212)](_0x208411=>{const _0x427ce9=_0x35a961,_0xf65a79=fileText(_0x208411);return _0xf65a79['split'](/\r?\n/)[_0x427ce9(0x1fc)]((_0x507e24,_0x10f51e)=>({'file':_0x208411[_0x427ce9(0x1e6)],'line':_0x10f51e+0x1,'text':_0x507e24}))[_0x427ce9(0x20c)](({text:_0xaa5699})=>isRabetbaseCliInvocation(_0xaa5699))[_0x427ce9(0x1fc)](({file:_0x3827ae,line:_0x1bf12b})=>({'file':_0x3827ae,'line':_0x1bf12b}));});}const RABETBASE_SUBCOMMANDS=[a80_0x346489(0x1f8),a80_0x346489(0x1e5),a80_0x346489(0x215),a80_0x346489(0x1f0),'project',a80_0x346489(0x220),a80_0x346489(0x208),a80_0x346489(0x1ef),a80_0x346489(0x204),'kb','config',a80_0x346489(0x202),a80_0x346489(0x1d7),a80_0x346489(0x21e),'logs',a80_0x346489(0x1ee)],RABETBASE_INVOCATION=new RegExp(String[a80_0x346489(0x210)]`\brabetbase\s+(?:${RABETBASE_SUBCOMMANDS[a80_0x346489(0x229)]('|')})\b`+String[a80_0x346489(0x210)]`(?:\s+[a-z][\w-]*){0,2}\s+(?:--?[a-z]|[\w.-]+=)`,'i');function isRabetbaseCliInvocation(_0x424da2){const _0x5c7e57=a80_0x346489,_0x35d7dd=_0x424da2['search'](/\brabetbase\b/i);if(_0x35d7dd<0x0)return![];const _0x3016db=_0x424da2[_0x5c7e57(0x1e2)](_0x35d7dd)[_0x5c7e57(0x219)](/\blovrabet\b/i)[0x0]??'';return RABETBASE_INVOCATION[_0x5c7e57(0x1dd)](_0x3016db);}function parseFrontmatter(_0x27b1d6){const _0x58ff78=a80_0x346489,_0x1780a1=_0x27b1d6[_0x58ff78(0x209)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x1780a1)return{'hasFrontmatter':![]};const _0x536074=_0x1780a1[0x1]??'',_0x4fa01f={'hasFrontmatter':!![]};let _0x2a6eab;try{_0x2a6eab=a80_0x136ab8(_0x536074);}catch{return _0x4fa01f;}const _0x559aaf=asRecord(_0x2a6eab);if(!_0x559aaf)return _0x4fa01f;_0x4fa01f['name']=scalarToString(_0x559aaf[_0x58ff78(0x20d)]),_0x4fa01f[_0x58ff78(0x1e7)]=scalarToString(_0x559aaf[_0x58ff78(0x1e7)]),_0x4fa01f['description']=scalarToString(_0x559aaf['description']),_0x4fa01f['example']=scalarToString(_0x559aaf[_0x58ff78(0x20a)]);const _0x4e9011=asRecord(_0x559aaf[_0x58ff78(0x203)]);return _0x4e9011&&(_0x4fa01f[_0x58ff78(0x1db)]=scalarToString(_0x4e9011[_0x58ff78(0x1db)]),_0x4fa01f['internal']=scalarToBoolean(_0x4e9011['internal'])),_0x4fa01f;}function asRecord(_0x2163fe){const _0x31fbd6=a80_0x346489;if(_0x2163fe&&typeof _0x2163fe===_0x31fbd6(0x21b)&&!Array[_0x31fbd6(0x1f9)](_0x2163fe))return _0x2163fe;return undefined;}function scalarToString(_0x1181f5){const _0x3ad4d7=a80_0x346489;if(typeof _0x1181f5==='string')return _0x1181f5[_0x3ad4d7(0x1f1)]();if(typeof _0x1181f5===_0x3ad4d7(0x1fa)||typeof _0x1181f5==='boolean')return String(_0x1181f5);return undefined;}function scalarToBoolean(_0x4bd1c4){const _0x107daf=a80_0x346489;if(typeof _0x4bd1c4===_0x107daf(0x225))return _0x4bd1c4;if(typeof _0x4bd1c4===_0x107daf(0x216))return cleanBoolean(_0x4bd1c4);return undefined;}function cleanBoolean(_0x37db8b){const _0x367435=a80_0x346489,_0x1c489a=_0x37db8b[_0x367435(0x1f1)]()['toLowerCase']();if(_0x1c489a==='true')return!![];if(_0x1c489a===_0x367435(0x1e1))return![];return undefined;}function issue(_0x5d7f21,_0x14d969,_0x281126,_0x208e67,_0x252534,_0x464bef){return{'level':_0x5d7f21,'ruleId':_0x14d969,'file':_0x281126,'section':_0x464bef,'message':_0x208e67,'suggestion':_0x252534};}
|
|
1
|
+
const a80_0x4f46bb=a80_0x2f97;(function(_0x1dcc8b,_0x593d00){const _0x3b5e12=a80_0x2f97,_0x3ef6e5=_0x1dcc8b();while(!![]){try{const _0x5ddf0d=parseInt(_0x3b5e12(0xa6))/0x1+parseInt(_0x3b5e12(0xc3))/0x2*(parseInt(_0x3b5e12(0x74))/0x3)+parseInt(_0x3b5e12(0x9c))/0x4*(parseInt(_0x3b5e12(0x99))/0x5)+-parseInt(_0x3b5e12(0xc8))/0x6*(parseInt(_0x3b5e12(0x83))/0x7)+parseInt(_0x3b5e12(0x7b))/0x8*(-parseInt(_0x3b5e12(0x73))/0x9)+parseInt(_0x3b5e12(0xc4))/0xa*(parseInt(_0x3b5e12(0xac))/0xb)+-parseInt(_0x3b5e12(0x80))/0xc;if(_0x5ddf0d===_0x593d00)break;else _0x3ef6e5['push'](_0x3ef6e5['shift']());}catch(_0x3f9aa8){_0x3ef6e5['push'](_0x3ef6e5['shift']());}}}(a80_0x3066,0xa9bb6));import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';import{resolve}from'node:path';import{parse as a80_0x5cbe15}from'yaml';import{CliErrors}from'../../errors.js';import{fileText,scanSkillDirectory}from'../../skills/runtime-skill-sync/local-files.js';const SKILL_FILE=a80_0x4f46bb(0xab),SUPPORTED_SKILL_TYPES=new Set([a80_0x4f46bb(0x75),a80_0x4f46bb(0x84)]),TEXT_SKILL_FILE_PATTERN=/(?:^SKILL\.md$|\.(?:md|mdx|txt|json|ya?ml|js|mjs|cjs|ts|tsx|sh|sql))$/i;export function validateSkillDirectory(_0xbfa775,_0x3da013={}){const _0x161cc5=a80_0x4f46bb,_0x336c12=resolveSkillDirectoryRoot(_0xbfa775),_0x268c6d=[],_0x982710=loadRequiredSkillFile(_0x336c12,_0x268c6d),_0x47247c=_0x982710?parseFrontmatter(_0x982710[_0x161cc5(0x86)]):{'hasFrontmatter':![]};_0x982710&&validateFrontmatter(_0x982710[_0x161cc5(0x8f)],_0x47247c,_0x268c6d);validateRuntimeCliReferences(_0x336c12,_0x268c6d);const _0x4071bd=_0x268c6d[_0x161cc5(0xb8)](_0x5bf641=>_0x5bf641[_0x161cc5(0xa5)]==='error'),_0x14f3f5=_0x268c6d[_0x161cc5(0xb8)](_0x42eadd=>_0x42eadd[_0x161cc5(0xa5)]===_0x161cc5(0xb4));return{'ok':_0x4071bd[_0x161cc5(0xd3)]===0x0,'dir':_0x336c12,'type':_0x47247c['type'],'errors':_0x4071bd,'warnings':_0x14f3f5};}function resolveSkillDirectoryRoot(_0x4409b2){const _0x531db2=a80_0x4f46bb,_0x10ae70=resolve(_0x4409b2);if(!existsSync(_0x10ae70))throw CliErrors[_0x531db2(0x87)](_0x531db2(0x93)+_0x4409b2);const _0x3f3286=lstatSync(_0x10ae70);if(_0x3f3286[_0x531db2(0xc0)]())return _0x10ae70;if(_0x3f3286[_0x531db2(0x9f)]()){const _0x382faf=realpathSync(_0x10ae70);if(lstatSync(_0x382faf)[_0x531db2(0xc0)]())return _0x382faf;}throw CliErrors[_0x531db2(0x87)]('Skill\x20directory\x20not\x20found:\x20'+_0x4409b2);}export function throwIfSkillValidationFailed(_0x521c78,_0x5d93d3=![]){const _0x336f31=a80_0x4f46bb;if(_0x521c78['ok'])return;const _0x138e79=_0x521c78[_0x336f31(0xd2)][_0x336f31(0xb0)](_0x222634=>{const _0x2b1b28=_0x336f31,_0x2414c7=_0x222634[_0x2b1b28(0xc7)]?'#'+_0x222634[_0x2b1b28(0xc7)]:'';return _0x222634[_0x2b1b28(0xa5)][_0x2b1b28(0x79)]()+'\x20'+_0x222634[_0x2b1b28(0x91)]+'\x20'+_0x222634[_0x2b1b28(0xaa)]+_0x2414c7+':\x20'+_0x222634[_0x2b1b28(0x8d)]+_0x2b1b28(0xcd)+_0x222634[_0x2b1b28(0xbe)];});throw CliErrors[_0x336f31(0x87)](_0x336f31(0xc1)+_0x138e79[_0x336f31(0xbf)]('\x0a'),'Fix\x20the\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.');}function loadRequiredSkillFile(_0x1b653f,_0x2122a4){const _0x217ac0=a80_0x4f46bb,_0x2db916=resolve(_0x1b653f,SKILL_FILE);if(!existsSync(_0x2db916))return _0x2122a4['push'](issue(_0x217ac0(0xc5),_0x217ac0(0xb1),SKILL_FILE,_0x217ac0(0x82),_0x217ac0(0xce))),undefined;const _0xd36442=lstatSync(_0x2db916);if(_0xd36442[_0x217ac0(0x9f)]())return _0x2122a4[_0x217ac0(0x85)](issue(_0x217ac0(0xc5),_0x217ac0(0xb1),SKILL_FILE,_0x217ac0(0xa8),_0x217ac0(0xb9))),undefined;if(!_0xd36442[_0x217ac0(0x92)]())return _0x2122a4[_0x217ac0(0x85)](issue('error',_0x217ac0(0xb1),SKILL_FILE,_0x217ac0(0x7f),_0x217ac0(0x7a))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x2db916,_0x217ac0(0xc2))};}function validateFrontmatter(_0x51585d,_0x553908,_0x814728){const _0x5ce536=a80_0x4f46bb;if(!_0x553908[_0x5ce536(0xbc)]){_0x814728[_0x5ce536(0x85)](issue('error',_0x5ce536(0xa3),_0x51585d,'SKILL.md\x20must\x20start\x20with\x20frontmatter.',_0x5ce536(0xad)));return;}!_0x553908[_0x5ce536(0x89)]?.[_0x5ce536(0xaf)]()&&_0x814728[_0x5ce536(0x85)](issue(_0x5ce536(0xc5),_0x5ce536(0xa3),_0x51585d,_0x5ce536(0x94),_0x5ce536(0xc9))),!_0x553908['displayName']?.[_0x5ce536(0xaf)]()&&_0x814728['push'](issue('warning',_0x5ce536(0x98),_0x51585d,_0x5ce536(0xa0),_0x5ce536(0xbd))),!_0x553908[_0x5ce536(0xa9)]?.['trim']()&&_0x814728[_0x5ce536(0x85)](issue(_0x5ce536(0xb4),_0x5ce536(0xcb),_0x51585d,_0x5ce536(0xb3),_0x5ce536(0x9e))),!_0x553908[_0x5ce536(0xa2)]?.['trim']()&&_0x814728[_0x5ce536(0x85)](issue(_0x5ce536(0xc5),_0x5ce536(0x76),_0x51585d,_0x5ce536(0xbb),_0x5ce536(0xa7))),_0x553908[_0x5ce536(0x8a)]===!![]&&_0x814728[_0x5ce536(0x85)](issue('error','internal-skill',_0x51585d,_0x5ce536(0xb2),_0x5ce536(0xa1))),_0x553908[_0x5ce536(0x77)]?.['trim']()&&!SUPPORTED_SKILL_TYPES['has'](_0x553908['type'])&&_0x814728['push'](issue(_0x5ce536(0xc5),'frontmatter-required',_0x51585d,_0x5ce536(0x90),_0x5ce536(0x78)));}function validateRuntimeCliReferences(_0x1f090e,_0x4893ee){const _0x3300eb=a80_0x4f46bb;for(const _0x71b198 of findRabetbaseCliInvocations(_0x1f090e)){_0x4893ee[_0x3300eb(0x85)](issue(_0x3300eb(0xb4),_0x3300eb(0xcf),_0x71b198[_0x3300eb(0xaa)],'This\x20line\x20invokes\x20the\x20rabetbase\x20CLI.\x20rabetbase\x20is\x20a\x20dev-time\x20tool;\x20runtime\x20Skills\x20should\x20drive\x20runtime\x20work\x20through\x20lovrabet\x20commands.',_0x3300eb(0xae),'L'+_0x71b198[_0x3300eb(0x8c)]));}}function findRabetbaseCliInvocations(_0x5c9b0d){const _0x441db8=a80_0x4f46bb;return scanSkillDirectory(_0x5c9b0d)[_0x441db8(0xb8)](_0x342902=>TEXT_SKILL_FILE_PATTERN[_0x441db8(0x9d)](_0x342902[_0x441db8(0x8f)]))[_0x441db8(0xba)](_0x3791c1=>{const _0x1fe92c=_0x441db8,_0x56c85e=fileText(_0x3791c1);return _0x56c85e[_0x1fe92c(0xca)](/\r?\n/)['map']((_0x5871ef,_0x3547f7)=>({'file':_0x3791c1[_0x1fe92c(0x8f)],'line':_0x3547f7+0x1,'text':_0x5871ef}))[_0x1fe92c(0xb8)](({text:_0x20d562})=>isRabetbaseCliInvocation(_0x20d562))[_0x1fe92c(0xb0)](({file:_0x1ea047,line:_0x558f72})=>({'file':_0x1ea047,'line':_0x558f72}));});}function a80_0x3066(){const _0x6a2ced=['object','name','internal','string','line','message','logs','path','metadata.type\x20must\x20be\x20one\x20of\x20write\x20or\x20read.','ruleId','isFile','Skill\x20directory\x20not\x20found:\x20','Frontmatter\x20name\x20is\x20missing.','page','number','auth','display-name-recommended','4730005mDaFgS','service','workspace','4WlzFgP','test','Set\x20example\x20to\x20one\x20short\x20user\x20message\x20that\x20can\x20directly\x20trigger\x20this\x20Skill.','isSymbolicLink','Frontmatter\x20displayName\x20is\x20missing.','Remove\x20metadata.internal\x20or\x20set\x20it\x20to\x20false\x20before\x20running\x20skill\x20push.','description','frontmatter-required','displayName','level','222072YqfAmf','Describe\x20when\x20the\x20model\x20should\x20trigger\x20this\x20Skill,\x20plus\x20out-of-scope\x20boundaries\x20and\x20keywords.','SKILL.md\x20must\x20be\x20a\x20regular\x20file.','example','file','SKILL.md','462KfvNgl','Add\x20frontmatter\x20with\x20name\x20and\x20description.','If\x20this\x20is\x20a\x20runtime\x20step,\x20replace\x20it\x20with\x20the\x20equivalent\x20lovrabet\x20command.\x20Dev-time\x20discovery\x20or\x20handoff\x20notes\x20can\x20stay.','trim','map','structure-complete','metadata.internal=true\x20Skills\x20cannot\x20be\x20uploaded.','Frontmatter\x20example\x20is\x20missing.','warning','bff','registry','false','filter','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.','flatMap','Frontmatter\x20description\x20is\x20empty.','hasFrontmatter','Set\x20displayName\x20to\x20the\x20human-readable\x20Skill\x20name\x20shown\x20in\x20SkillHub.','suggestion','join','isDirectory','Skill\x20validation\x20failed:\x0a','utf8','12yHBjSQ','318390xyKWcz','error','boolean','section','6GgLiaK','Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.','split','example-recommended','schema','\x20Fix:\x20','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','rabetbase-cli-reference','dataset','data','errors','length','82854iTadxO','179013BgvkDO','write','description-required','type','Set\x20metadata.type\x20to\x20write\x20or\x20read.','toUpperCase','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','64lzjZnt','sql','raw','metadata','SKILL.md\x20is\x20not\x20a\x20file.','21133872VZUmjR','true','Missing\x20SKILL.md.','2333177JxMVvn','read','push','content','validation'];a80_0x3066=function(){return _0x6a2ced;};return a80_0x3066();}const RABETBASE_SUBCOMMANDS=[a80_0x4f46bb(0xd0),a80_0x4f46bb(0x7c),a80_0x4f46bb(0xb5),a80_0x4f46bb(0x95),'project','app',a80_0x4f46bb(0xcc),a80_0x4f46bb(0x9a),'artifact','kb','config',a80_0x4f46bb(0x9b),a80_0x4f46bb(0xd1),a80_0x4f46bb(0x97),a80_0x4f46bb(0x8e),a80_0x4f46bb(0xb6)],RABETBASE_INVOCATION=new RegExp(String[a80_0x4f46bb(0x7d)]`\brabetbase\s+(?:${RABETBASE_SUBCOMMANDS[a80_0x4f46bb(0xbf)]('|')})\b`+String[a80_0x4f46bb(0x7d)]`(?:\s+[a-z][\w-]*){0,2}\s+(?:--?[a-z]|[\w.-]+=)`,'i');function isRabetbaseCliInvocation(_0x44286f){const _0x5d63a7=a80_0x4f46bb,_0x48b80d=_0x44286f['search'](/\brabetbase\b/i);if(_0x48b80d<0x0)return![];const _0x3cd3fd=_0x44286f['slice'](_0x48b80d)[_0x5d63a7(0xca)](/\blovrabet\b/i)[0x0]??'';return RABETBASE_INVOCATION[_0x5d63a7(0x9d)](_0x3cd3fd);}function parseFrontmatter(_0x3f702e){const _0x39ff58=a80_0x4f46bb,_0x109084=_0x3f702e['match'](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x109084)return{'hasFrontmatter':![]};const _0x48f9c4=_0x109084[0x1]??'',_0x12bda4={'hasFrontmatter':!![]};let _0x1aa3c3;try{_0x1aa3c3=a80_0x5cbe15(_0x48f9c4);}catch{return _0x12bda4;}const _0x2d203d=asRecord(_0x1aa3c3);if(!_0x2d203d)return _0x12bda4;_0x12bda4[_0x39ff58(0x89)]=scalarToString(_0x2d203d[_0x39ff58(0x89)]),_0x12bda4[_0x39ff58(0xa4)]=scalarToString(_0x2d203d[_0x39ff58(0xa4)]),_0x12bda4[_0x39ff58(0xa2)]=scalarToString(_0x2d203d[_0x39ff58(0xa2)]),_0x12bda4[_0x39ff58(0xa9)]=scalarToString(_0x2d203d['example']);const _0x4762bb=asRecord(_0x2d203d[_0x39ff58(0x7e)]);return _0x4762bb&&(_0x12bda4['type']=scalarToString(_0x4762bb[_0x39ff58(0x77)]),_0x12bda4[_0x39ff58(0x8a)]=scalarToBoolean(_0x4762bb[_0x39ff58(0x8a)])),_0x12bda4;}function a80_0x2f97(_0xdf0a81,_0x8a282a){_0xdf0a81=_0xdf0a81-0x73;const _0x3066ac=a80_0x3066();let _0x2f970a=_0x3066ac[_0xdf0a81];return _0x2f970a;}function asRecord(_0x4e33ac){const _0xa1fc24=a80_0x4f46bb;if(_0x4e33ac&&typeof _0x4e33ac===_0xa1fc24(0x88)&&!Array['isArray'](_0x4e33ac))return _0x4e33ac;return undefined;}function scalarToString(_0x18086d){const _0x221797=a80_0x4f46bb;if(typeof _0x18086d===_0x221797(0x8b))return _0x18086d[_0x221797(0xaf)]();if(typeof _0x18086d===_0x221797(0x96)||typeof _0x18086d==='boolean')return String(_0x18086d);return undefined;}function scalarToBoolean(_0x40c41e){const _0x43cd49=a80_0x4f46bb;if(typeof _0x40c41e===_0x43cd49(0xc6))return _0x40c41e;if(typeof _0x40c41e===_0x43cd49(0x8b))return cleanBoolean(_0x40c41e);return undefined;}function cleanBoolean(_0x31bef1){const _0x3c7fac=a80_0x4f46bb,_0x5183bb=_0x31bef1[_0x3c7fac(0xaf)]()['toLowerCase']();if(_0x5183bb===_0x3c7fac(0x81))return!![];if(_0x5183bb===_0x3c7fac(0xb7))return![];return undefined;}function issue(_0x1f4f7e,_0x4a3234,_0x108d8b,_0x41864f,_0x2ba2ea,_0x2db760){return{'level':_0x1f4f7e,'ruleId':_0x4a3234,'file':_0x108d8b,'section':_0x2db760,'message':_0x41864f,'suggestion':_0x2ba2ea};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a81_0x54235b=a81_0x5770;function a81_0x5770(_0x179f23,_0x2d63a8){_0x179f23=_0x179f23-0x164;const _0x577f64=a81_0x577f();let _0x57706e=_0x577f64[_0x179f23];return _0x57706e;}function a81_0x577f(){const _0x443ec5=['125sSEFij','56hvrCFU','5636vcdpHP','str','12JAvCjQ','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','5704947DBikZR','8GvvqNV','read','1194DWXWxv','bool','dbId','377748zcCPjB','6436tilwRC','detail','sqlCode','3177581RGmLBr','7091hQQkRy','6850200rHChku','appCode'];a81_0x577f=function(){return _0x443ec5;};return a81_0x577f();}(function(_0x3fe2b8,_0xafdf82){const _0x377c4c=a81_0x5770,_0x3d19e1=_0x3fe2b8();while(!![]){try{const _0x2d271d=-parseInt(_0x377c4c(0x169))/0x1*(-parseInt(_0x377c4c(0x175))/0x2)+-parseInt(_0x377c4c(0x174))/0x3+-parseInt(_0x377c4c(0x16a))/0x4*(parseInt(_0x377c4c(0x168))/0x5)+parseInt(_0x377c4c(0x171))/0x6*(parseInt(_0x377c4c(0x165))/0x7)+parseInt(_0x377c4c(0x16f))/0x8*(parseInt(_0x377c4c(0x16e))/0x9)+-parseInt(_0x377c4c(0x166))/0xa+parseInt(_0x377c4c(0x164))/0xb*(parseInt(_0x377c4c(0x16c))/0xc);if(_0x2d271d===_0xafdf82)break;else _0x3d19e1['push'](_0x3d19e1['shift']());}catch(_0x3cedd9){_0x3d19e1['push'](_0x3d19e1['shift']());}}}(a81_0x577f,0x6fe94));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a81_0x54235b(0x176),'description':a81_0x54235b(0x16d),'risk':a81_0x54235b(0x170),'flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x454f85){const _0x49d0ea=a81_0x54235b,_0x14f73a=await getSqlQueryInfo(_0x454f85['appCode'],_0x454f85[_0x49d0ea(0x16b)]('sqlcode')),_0x44ed79=_0x454f85[_0x49d0ea(0x172)]('verbose');if(_0x44ed79)return{'ok':!![],'data':_0x14f73a};const _0xa92b53=_0x14f73a[_0x49d0ea(0x173)]?await getDbName(_0x454f85[_0x49d0ea(0x167)],_0x14f73a[_0x49d0ea(0x173)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x14f73a[_0x49d0ea(0x177)],'sqlName':_0x14f73a['sqlName'],'db':_0xa92b53?_0xa92b53+'\x20('+_0x14f73a[_0x49d0ea(0x173)]+')':_0x14f73a[_0x49d0ea(0x173)]??'','sqlContent':_0x14f73a['sqlContent']??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a82_0x31fe(_0x1bd6db,_0x238302){_0x1bd6db=_0x1bd6db-0x194;const _0x1a205a=a82_0x1a20();let _0x31fe34=_0x1a205a[_0x1bd6db];return _0x31fe34;}const a82_0x3748f3=a82_0x31fe;(function(_0x100e0e,_0x30ccf0){const _0x1da007=a82_0x31fe,_0x1512c3=_0x100e0e();while(!![]){try{const _0x463c59=-parseInt(_0x1da007(0x19b))/0x1+parseInt(_0x1da007(0x194))/0x2+-parseInt(_0x1da007(0x19f))/0x3+parseInt(_0x1da007(0x1a9))/0x4*(parseInt(_0x1da007(0x19c))/0x5)+parseInt(_0x1da007(0x1a5))/0x6+parseInt(_0x1da007(0x1a7))/0x7*(-parseInt(_0x1da007(0x197))/0x8)+parseInt(_0x1da007(0x1a4))/0x9*(parseInt(_0x1da007(0x1a8))/0xa);if(_0x463c59===_0x30ccf0)break;else _0x1512c3['push'](_0x1512c3['shift']());}catch(_0x1a3585){_0x1512c3['push'](_0x1512c3['shift']());}}}(a82_0x1a20,0xdc012));function a82_0x1a20(){const _0x52a7cb=['length','exec','str','1044hzxDgf','8302770xLUtwH','isArray','7021KHnraX','142100sucxWH','8AYjrfG','11248DkMkZw','execSuccess','\x20row(s)\x20in\x20','3832USyTNP','execError','SQL\x20execution\x20failed','params','1347477gQxHxh','950905vbKbOi','now','sql','2067267gkTaHf','Returned\x20'];a82_0x1a20=function(){return _0x52a7cb;};return a82_0x1a20();}import{executeSdkSql}from'../../core/sdk-client.js';import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a82_0x3748f3(0x19e),'command':a82_0x3748f3(0x1a2),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x2372e4){const _0x4a07a0=a82_0x3748f3,_0x5926d4=parseJsonParams(_0x2372e4[_0x4a07a0(0x1a3)](_0x4a07a0(0x19a))),_0x271f23=Date[_0x4a07a0(0x19d)](),_0x4c6f7f=await executeSdkSql(_0x2372e4[_0x4a07a0(0x1a3)]('sqlcode'),_0x5926d4),_0x4d15c3=Date[_0x4a07a0(0x19d)]()-_0x271f23,_0x4a0ede=_0x4c6f7f?.['execResult']??_0x4c6f7f,_0x2d3f95=_0x4c6f7f?.[_0x4a07a0(0x195)]??!![];if(!_0x2d3f95)return{'ok':![],'data':{'error':_0x4c6f7f?.[_0x4a07a0(0x198)]||'SQL\x20execution\x20failed','elapsed':_0x4d15c3},'message':_0x4a07a0(0x199)};const _0x13de91=Array[_0x4a07a0(0x1a6)](_0x4a0ede)?_0x4a0ede:[];return{'ok':!![],'data':{'rows':_0x13de91,'rowCount':_0x13de91[_0x4a07a0(0x1a1)],'elapsed':_0x4d15c3},'message':_0x4a07a0(0x1a0)+_0x13de91[_0x4a07a0(0x1a1)]+_0x4a07a0(0x196)+_0x4d15c3+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3e5de2,_0x3b1119){const _0x54aefd=a83_0xc061,_0x3c162c=_0x3e5de2();while(!![]){try{const _0x877a08=-parseInt(_0x54aefd(0x1b8))/0x1*(-parseInt(_0x54aefd(0x1b6))/0x2)+parseInt(_0x54aefd(0x1bb))/0x3+-parseInt(_0x54aefd(0x1b4))/0x4+parseInt(_0x54aefd(0x1b5))/0x5+parseInt(_0x54aefd(0x1b9))/0x6+-parseInt(_0x54aefd(0x1ba))/0x7+parseInt(_0x54aefd(0x1bc))/0x8*(-parseInt(_0x54aefd(0x1b7))/0x9);if(_0x877a08===_0x3b1119)break;else _0x3c162c['push'](_0x3c162c['shift']());}catch(_0x3fa69c){_0x3c162c['push'](_0x3c162c['shift']());}}}(a83_0x117e,0x5e006));function a83_0xc061(_0x4b09d6,_0x4e6f33){_0x4b09d6=_0x4b09d6-0x1b4;const _0x117eb6=a83_0x117e();let _0xc0617b=_0x117eb6[_0x4b09d6];return _0xc0617b;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlExec}from'../../commands/sql/exec.js';function a83_0x117e(){const _0x9a909f=['72KsgRlx','2720996tFMcSV','1019610ZBhGgs','1100558ioBWzL','158022QFGrGW','1GkWgFr','1794858DumIfW','4117792dctNtY','2274639dQufRw'];a83_0x117e=function(){return _0x9a909f;};return a83_0x117e();}export const sqlDefinitions=[sqlDetail,sqlExec];
|
package/lib/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a84_0x390d7c=a84_0x2a24;(function(_0x4e0061,_0x3b4238){const _0x4a4518=a84_0x2a24,_0x5a5eed=_0x4e0061();while(!![]){try{const _0x5f391e=-parseInt(_0x4a4518(0x14d))/0x1+parseInt(_0x4a4518(0x15b))/0x2*(parseInt(_0x4a4518(0x150))/0x3)+parseInt(_0x4a4518(0x134))/0x4*(parseInt(_0x4a4518(0x16e))/0x5)+parseInt(_0x4a4518(0x143))/0x6*(parseInt(_0x4a4518(0x131))/0x7)+parseInt(_0x4a4518(0x129))/0x8+-parseInt(_0x4a4518(0x122))/0x9+parseInt(_0x4a4518(0x16f))/0xa*(-parseInt(_0x4a4518(0x15c))/0xb);if(_0x5f391e===_0x3b4238)break;else _0x5a5eed['push'](_0x5a5eed['shift']());}catch(_0x54372f){_0x5a5eed['push'](_0x5a5eed['shift']());}}}(a84_0x4530,0x4a315));import{spawnSync}from'node:child_process';import{fileURLToPath}from'node:url';import{basename,dirname,relative,win32}from'node:path';import a84_0x1fc82b from'semver';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';function a84_0x2a24(_0x4a8d5c,_0x3ad095){_0x4a8d5c=_0x4a8d5c-0x120;const _0x45309a=a84_0x4530();let _0x2a2442=_0x45309a[_0x4a8d5c];return _0x2a2442;}import{getCliVersion}from'../utils/version.js';import{inspectInstalledBuiltinSkillVersion,installBuiltinSkill}from'../skills/builtin-skill.js';const updateFlags=[{'name':a84_0x390d7c(0x13f),'type':'boolean','description':a84_0x390d7c(0x168),'default':![]},{'name':'beta','type':a84_0x390d7c(0x161),'description':a84_0x390d7c(0x157),'default':![]},{'name':a84_0x390d7c(0x13e),'type':'string','description':a84_0x390d7c(0x139)}];function getRequestedVersion(_0x147582){const _0x3f2279=a84_0x390d7c,_0x17bcaf=_0x147582[_0x3f2279(0x137)](_0x3f2279(0x13e))[_0x3f2279(0x127)]();if(_0x17bcaf)return _0x17bcaf;return String(_0x147582['args']?.[0x0]??'')[_0x3f2279(0x127)]();}async function validateUpdateFlags(_0x8cc210){const _0x2a1bce=a84_0x390d7c,_0x564215=getRequestedVersion(_0x8cc210),_0x1d2e22=[_0x8cc210[_0x2a1bce(0x144)](_0x2a1bce(0x13f))?_0x2a1bce(0x13f):'',_0x8cc210['bool']('beta')?'beta':'',_0x564215?_0x2a1bce(0x13e):''][_0x2a1bce(0x123)](Boolean);if(_0x1d2e22['length']>0x1)throw CliErrors['validation'](_0x2a1bce(0x14b),'Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.');if(_0x564215&&!a84_0x1fc82b[_0x2a1bce(0x163)](_0x564215))throw CliErrors[_0x2a1bce(0x125)]('Invalid\x20version:\x20'+_0x564215,'Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');}async function fetchNpmDistTags(){const _0x3ff0ab=a84_0x390d7c;try{const _0x52aa66=NPM_REGISTRY_BASE_URL+_0x3ff0ab(0x141)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x3ff0ab(0x15f),_0x5f1b7a=await fetch(_0x52aa66,{'signal':AbortSignal[_0x3ff0ab(0x15e)](0x2710)});if(!_0x5f1b7a['ok'])return null;const _0x44571e=await _0x5f1b7a['json']();if(!_0x44571e||typeof _0x44571e!=='object')return null;return Object[_0x3ff0ab(0x16d)](Object[_0x3ff0ab(0x13d)](_0x44571e)['filter'](([,_0x2d6eb5])=>typeof _0x2d6eb5===_0x3ff0ab(0x165)&&_0x2d6eb5['trim']())[_0x3ff0ab(0x160)](([_0xef8f93,_0x492ec1])=>[_0xef8f93,String(_0x492ec1)['trim']()]));}catch{return null;}}async function resolveTargetVersion(_0xfb4bbf){const _0x5f39a3=a84_0x390d7c,_0x1f5750=getRequestedVersion(_0xfb4bbf);if(_0x1f5750)return{'version':_0x1f5750,'source':_0x5f39a3(0x13e)};const _0x381e1f=_0xfb4bbf[_0x5f39a3(0x144)]('beta')?_0x5f39a3(0x155):'latest',_0x1d09c9=await fetchNpmDistTags(),_0x31375a=_0x1d09c9?.[_0x381e1f];if(!_0x31375a)return null;return{'version':_0x31375a,'source':_0x381e1f};}function shouldInstallTarget(_0x4818d7,_0x36c9a7){const _0x5068b2=a84_0x390d7c;if(_0x36c9a7[_0x5068b2(0x164)]==='version'||_0x36c9a7[_0x5068b2(0x164)]==='beta')return!a84_0x1fc82b['eq'](_0x4818d7,_0x36c9a7[_0x5068b2(0x13e)]);return a84_0x1fc82b['lt'](_0x4818d7,_0x36c9a7[_0x5068b2(0x13e)]);}export function installCliPackage(_0x1acf43,_0x45ea85,_0x1300b3=resolveCurrentCliNpmPrefix()){const _0x413d83=a84_0x390d7c,_0x45a75f=resolveNpmBin('npm'),_0x526870=LOVRABET_NPM_PACKAGE_NAME+'@'+_0x1acf43,_0x17dd85=['install','-g',_0x526870],_0x3d29e3=runNpmInstall(_0x45a75f,_0x17dd85,_0x45ea85);if(_0x3d29e3['ok']||!isNpmPrefixPermissionError(_0x3d29e3[_0x413d83(0x12d)]))return _0x3d29e3;if(!_0x1300b3||_0x3d29e3[_0x413d83(0x12d)]?.['toLowerCase']()['includes'](_0x1300b3[_0x413d83(0x151)]()))return _0x3d29e3;return console[_0x413d83(0x121)](_0x413d83(0x170)+_0x1300b3),runNpmInstall(_0x45a75f,[..._0x17dd85,_0x413d83(0x154),_0x1300b3],_0x45ea85);}export function resolveCurrentCliNpmPrefix(_0x8583a5=fileURLToPath(import.meta.url),_0x275802=process['platform']){const _0x5c3874=a84_0x390d7c,_0x17c721=_0x275802===_0x5c3874(0x15d)?win32:{'basename':basename,'dirname':dirname,'relative':relative},_0xcb086c=_0x17c721[_0x5c3874(0x16b)](_0x17c721[_0x5c3874(0x16b)](_0x17c721[_0x5c3874(0x16b)](_0x8583a5))),_0x143fcf=_0x275802===_0x5c3874(0x15d)?'@lovrabet\x5clovrabet-cli':'@lovrabet/lovrabet-cli';let _0x5a3dfa=_0x17c721['dirname'](_0xcb086c);while(!![]){if(_0x17c721[_0x5c3874(0x135)](_0x5a3dfa)===_0x5c3874(0x126)&&_0x17c721[_0x5c3874(0x15a)](_0x5a3dfa,_0xcb086c)===_0x143fcf){const _0x386ceb=_0x17c721['dirname'](_0x5a3dfa);return _0x17c721[_0x5c3874(0x135)](_0x386ceb)===_0x5c3874(0x14f)?_0x17c721[_0x5c3874(0x16b)](_0x386ceb):_0x386ceb;}const _0x5ebfae=_0x17c721['dirname'](_0x5a3dfa);if(_0x5ebfae===_0x5a3dfa)return null;_0x5a3dfa=_0x5ebfae;}}function a84_0x4530(){const _0x4a9a39=['4223272DeyrUq','message','Unable\x20to\x20resolve\x20','inherit','error','stderr','run',',\x20but\x20Built-in\x20Skill\x20verification\x20failed.','833NRXMhL','\x20->\x20','status','395348WxRCyJ','basename','join','str','state','Install\x20a\x20specific\x20CLI\x20version','toString','repairCommand','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','entries','version','latest','log','/-/package/','CLI\x20updated\x20to\x20v','15024tWIGud','bool','reason','code','exit\x20','stdout','Updated\x20to\x20v','pipe','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','Current\x20version:\x20','406587LKNQVA','CLI\x20is\x20up\x20to\x20date,\x20but\x20Built-in\x20Skill\x20repair\x20failed.','lib','6GtfMeP','toLowerCase','\x20\x20Run\x20manually:\x20','Update\x20the\x20','--prefix','beta','unknown','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','read','\x20version\x20from\x20npm.','relative','104694AYflkN','11DMoEfD','win32','timeout','/dist-tags','map','boolean','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','valid','source','string','Updating\x20','skillVersion','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag',']:\x20','\x20is\x20current.','dirname','nonInteractive','fromEntries','25SNJHPK','2173670dUiGeN','Global\x20npm\x20prefix\x20is\x20not\x20writable;\x20retrying\x20in\x20the\x20current\x20CLI\x20Node\x20environment:\x20','\x20\x20CLI\x20Built-in\x20Skill\x20repair\x20failed\x20[','warn','4472253RWANMm','filter','\x20\x20CLI\x20Built-in\x20Skill\x20','validation','node_modules','trim','test'];a84_0x4530=function(){return _0x4a9a39;};return a84_0x4530();}function runNpmInstall(_0x564793,_0x289cd8,_0x17c56a){const _0x1ab480=a84_0x390d7c;console[_0x1ab480(0x140)]('*\x20'+[_0x564793,..._0x289cd8][_0x1ab480(0x136)]('\x20'));const _0x5a78bb=spawnSync(_0x564793,_0x289cd8,{'cwd':process['cwd'](),'stdio':_0x1ab480(0x14a),'env':process.env,'shell':![]}),_0x28df89=_0x5a78bb[_0x1ab480(0x12e)]?_0x5a78bb[_0x1ab480(0x12e)][_0x1ab480(0x13a)]()['trim']():'',_0x56ec86=_0x5a78bb[_0x1ab480(0x148)]?_0x5a78bb['stdout'][_0x1ab480(0x13a)]()[_0x1ab480(0x127)]():'';if(!_0x17c56a){if(_0x56ec86)process['stdout']['write'](_0x56ec86+'\x0a');if(_0x28df89)process['stderr']['write'](_0x28df89+'\x0a');}if(_0x5a78bb[_0x1ab480(0x133)]===0x0)return{'ok':!![]};const _0x277e93=_0x5a78bb[_0x1ab480(0x12d)]?.[_0x1ab480(0x12a)]||_0x28df89||_0x56ec86||_0x1ab480(0x147)+(_0x5a78bb['status']??'unknown');return{'ok':![],'error':_0x277e93};}function isNpmPrefixPermissionError(_0x3f8694){const _0x1a2f8d=a84_0x390d7c;return Boolean(_0x3f8694&&/\b(?:EACCES|EPERM)\b/[_0x1a2f8d(0x128)](_0x3f8694));}function repairCurrentBuiltinSkill(_0x13ed3c){const _0x319c9b=a84_0x390d7c;console[_0x319c9b(0x140)]('Checking\x20CLI\x20Built-in\x20Skill...');const _0x1ba275=installBuiltinSkill({'stdio':_0x13ed3c?'pipe':_0x319c9b(0x12c)});if(_0x1ba275['ok'])return console[_0x319c9b(0x140)]('\x20\x20CLI\x20Built-in\x20Skill\x20'+_0x1ba275[_0x319c9b(0x167)]+_0x319c9b(0x16a)),!![];return console[_0x319c9b(0x121)](_0x319c9b(0x120)+(_0x1ba275[_0x319c9b(0x146)]||'INSTALL_FAILED')+_0x319c9b(0x169)+(_0x1ba275[_0x319c9b(0x12d)]||'unknown')),console[_0x319c9b(0x140)](_0x319c9b(0x152)+_0x1ba275[_0x319c9b(0x13b)]),![];}function verifyUpdatedBuiltinSkill(_0x39180d){const _0x3f3941=a84_0x390d7c;console[_0x3f3941(0x140)]('Checking\x20CLI\x20Built-in\x20Skill...');const _0x5af3b1=inspectInstalledBuiltinSkillVersion(_0x39180d);if(_0x5af3b1[_0x3f3941(0x138)]==='current')return console['log'](_0x3f3941(0x124)+_0x39180d+_0x3f3941(0x16a)),!![];console[_0x3f3941(0x121)]('\x20\x20Built-in\x20Skill\x20verification\x20failed:\x20'+_0x5af3b1[_0x3f3941(0x138)]+'.');if(_0x5af3b1['reason'])console[_0x3f3941(0x121)]('\x20\x20'+_0x5af3b1[_0x3f3941(0x145)]);return console[_0x3f3941(0x140)](_0x3f3941(0x152)+_0x5af3b1[_0x3f3941(0x13b)]),![];}async function execute(_0x242c90){const _0x54ff30=a84_0x390d7c;await validateUpdateFlags(_0x242c90);const _0x30d4f8=getCliVersion();console[_0x54ff30(0x140)](_0x54ff30(0x14c)+_0x30d4f8),console[_0x54ff30(0x140)]('Checking\x20npm\x20dist-tags...');const _0x345ff5=await resolveTargetVersion(_0x242c90);if(!_0x345ff5){const _0x4b0f82=_0x242c90[_0x54ff30(0x144)](_0x54ff30(0x155))?_0x54ff30(0x155):'latest',_0x2b73f8=_0x54ff30(0x12b)+_0x4b0f82+_0x54ff30(0x159);return console['warn'](_0x2b73f8),console['log'](_0x54ff30(0x162)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x4b0f82),{'ok':![],'message':_0x2b73f8};}const _0x2570f0=[_0x30d4f8,_0x345ff5[_0x54ff30(0x13e)]]['find'](_0x1d0881=>!a84_0x1fc82b['valid'](_0x1d0881));if(_0x2570f0){const _0x3d0cf0='Version\x20comparison\x20failed:\x20'+_0x2570f0+'.';return console[_0x54ff30(0x121)](_0x3d0cf0),{'ok':![],'message':_0x3d0cf0};}if(!shouldInstallTarget(_0x30d4f8,_0x345ff5)){const _0x423df8=_0x345ff5[_0x54ff30(0x164)]==='version'?'Already\x20on\x20requested\x20version\x20(v'+_0x345ff5[_0x54ff30(0x13e)]+').':'Already\x20up\x20to\x20date\x20(v'+_0x345ff5[_0x54ff30(0x13e)]+').';return console['log'](_0x423df8),repairCurrentBuiltinSkill(_0x242c90['nonInteractive'])?{'ok':!![]}:{'ok':![],'message':_0x54ff30(0x14e)};}console[_0x54ff30(0x140)](_0x54ff30(0x166)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x30d4f8+_0x54ff30(0x132)+_0x345ff5['version']);const _0xd711d2=installCliPackage(_0x345ff5[_0x54ff30(0x13e)],_0x242c90[_0x54ff30(0x16c)]);if(!_0xd711d2['ok']){const _0xf0486d='Update\x20failed:\x20'+(_0xd711d2[_0x54ff30(0x12d)]||_0x54ff30(0x156));return console[_0x54ff30(0x12d)](_0xf0486d),console[_0x54ff30(0x140)]('\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20'+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x345ff5[_0x54ff30(0x13e)]),{'ok':![],'message':_0xf0486d};}return console[_0x54ff30(0x140)](_0x54ff30(0x149)+_0x345ff5[_0x54ff30(0x13e)]+'.'),console[_0x54ff30(0x140)](_0x54ff30(0x13c)),verifyUpdatedBuiltinSkill(_0x345ff5['version'])?{'ok':!![]}:{'ok':![],'message':_0x54ff30(0x142)+_0x345ff5['version']+_0x54ff30(0x130)};}export const updateDefinition={'service':'update','command':a84_0x390d7c(0x12f),'description':a84_0x390d7c(0x153)+CLI_BIN_NAME+'\x20CLI\x20from\x20npm','risk':a84_0x390d7c(0x158),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
|
|
1
|
+
const a84_0x18abcb=a84_0xace7;(function(_0x26e1f7,_0x564aba){const _0xf32516=a84_0xace7,_0x4b6296=_0x26e1f7();while(!![]){try{const _0x483fb9=parseInt(_0xf32516(0x8b))/0x1+parseInt(_0xf32516(0xc7))/0x2*(-parseInt(_0xf32516(0xbb))/0x3)+-parseInt(_0xf32516(0xbf))/0x4*(parseInt(_0xf32516(0x78))/0x5)+parseInt(_0xf32516(0xc4))/0x6+parseInt(_0xf32516(0xb8))/0x7+-parseInt(_0xf32516(0xb9))/0x8*(-parseInt(_0xf32516(0xb7))/0x9)+parseInt(_0xf32516(0x8f))/0xa*(parseInt(_0xf32516(0x80))/0xb);if(_0x483fb9===_0x564aba)break;else _0x4b6296['push'](_0x4b6296['shift']());}catch(_0x1ed2a5){_0x4b6296['push'](_0x4b6296['shift']());}}}(a84_0x5525,0x1dfd1));import{spawnSync}from'node:child_process';import{fileURLToPath}from'node:url';import{basename,dirname,relative,win32}from'node:path';import a84_0x4163df from'semver';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{resolveNpmBin}from'../utils/platform.js';import{getCliVersion}from'../utils/version.js';import{inspectInstalledBuiltinSkillVersion,installBuiltinSkill}from'../skills/builtin-skill.js';const updateFlags=[{'name':a84_0x18abcb(0xa5),'type':a84_0x18abcb(0x85),'description':a84_0x18abcb(0xac),'default':![]},{'name':a84_0x18abcb(0xc2),'type':a84_0x18abcb(0x85),'description':a84_0x18abcb(0xca),'default':![]},{'name':a84_0x18abcb(0x9f),'type':'string','description':a84_0x18abcb(0xa8)}];function getRequestedVersion(_0xc2b038){const _0xce0a1d=a84_0x18abcb,_0x27028b=_0xc2b038[_0xce0a1d(0x7f)](_0xce0a1d(0x9f))[_0xce0a1d(0x9b)]();if(_0x27028b)return _0x27028b;return String(_0xc2b038[_0xce0a1d(0xcc)]?.[0x0]??'')[_0xce0a1d(0x9b)]();}async function validateUpdateFlags(_0x48e147){const _0xd767ad=a84_0x18abcb,_0x5b8886=getRequestedVersion(_0x48e147),_0x37647d=[_0x48e147[_0xd767ad(0xc1)](_0xd767ad(0xa5))?'latest':'',_0x48e147[_0xd767ad(0xc1)](_0xd767ad(0xc2))?_0xd767ad(0xc2):'',_0x5b8886?_0xd767ad(0x9f):''][_0xd767ad(0xc8)](Boolean);if(_0x37647d[_0xd767ad(0x73)]>0x1)throw CliErrors[_0xd767ad(0x94)](_0xd767ad(0x84),'Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.');if(_0x5b8886&&!a84_0x4163df[_0xd767ad(0xad)](_0x5b8886))throw CliErrors[_0xd767ad(0x94)](_0xd767ad(0x92)+_0x5b8886,'Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');}async function fetchNpmDistTags(){const _0x3754b6=a84_0x18abcb;try{const _0x197893=NPM_REGISTRY_BASE_URL+_0x3754b6(0xc3)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x3754b6(0x7d),_0x110d91=await fetch(_0x197893,{'signal':AbortSignal[_0x3754b6(0x91)](0x2710)});if(!_0x110d91['ok'])return null;const _0x1c4246=await _0x110d91[_0x3754b6(0xa7)]();if(!_0x1c4246||typeof _0x1c4246!==_0x3754b6(0xce))return null;return Object[_0x3754b6(0xb0)](Object[_0x3754b6(0x93)](_0x1c4246)[_0x3754b6(0xc8)](([,_0x33d48d])=>typeof _0x33d48d==='string'&&_0x33d48d['trim']())[_0x3754b6(0xbe)](([_0x1e2ff6,_0x55a153])=>[_0x1e2ff6,String(_0x55a153)['trim']()]));}catch{return null;}}async function resolveTargetVersion(_0x44c732){const _0x3122bb=a84_0x18abcb,_0xfda3e8=getRequestedVersion(_0x44c732);if(_0xfda3e8)return{'version':_0xfda3e8,'source':_0x3122bb(0x9f)};const _0x4085b5=_0x44c732[_0x3122bb(0xc1)](_0x3122bb(0xc2))?'beta':'latest',_0x3189bb=await fetchNpmDistTags(),_0x34f5aa=_0x3189bb?.[_0x4085b5];if(!_0x34f5aa)return null;return{'version':_0x34f5aa,'source':_0x4085b5};}function shouldInstallTarget(_0x35aafe,_0x2cb4f9){const _0x235dbc=a84_0x18abcb;if(_0x2cb4f9[_0x235dbc(0x7a)]===_0x235dbc(0x9f)||_0x2cb4f9['source']===_0x235dbc(0xc2))return!a84_0x4163df['eq'](_0x35aafe,_0x2cb4f9[_0x235dbc(0x9f)]);return a84_0x4163df['lt'](_0x35aafe,_0x2cb4f9[_0x235dbc(0x9f)]);}function a84_0xace7(_0x2ac289,_0x2d0cf9){_0x2ac289=_0x2ac289-0x73;const _0x5525d8=a84_0x5525();let _0xace7f3=_0x5525d8[_0x2ac289];return _0xace7f3;}export function installCliPackage(_0x3c31f1,_0x2546d5,_0x210df1=resolveCurrentCliNpmPrefix()){const _0x464682=a84_0x18abcb,_0x31a699=resolveNpmBin(_0x464682(0x77)),_0x419bb6=LOVRABET_NPM_PACKAGE_NAME+'@'+_0x3c31f1,_0xb4234f=[_0x464682(0x8d),'-g',_0x419bb6],_0x52d188=runNpmInstall(_0x31a699,_0xb4234f,_0x2546d5);if(_0x52d188['ok']||!isNpmPrefixPermissionError(_0x52d188[_0x464682(0xb1)]))return _0x52d188;if(!_0x210df1||_0x52d188['error']?.[_0x464682(0x8e)]()[_0x464682(0xa1)](_0x210df1['toLowerCase']()))return _0x52d188;return console[_0x464682(0x7e)](_0x464682(0xcf)+_0x210df1),runNpmInstall(_0x31a699,[..._0xb4234f,_0x464682(0xb5),_0x210df1],_0x2546d5);}export function resolveCurrentCliNpmPrefix(_0x3f90f3=fileURLToPath(import.meta.url),_0x2f06ba=process[a84_0x18abcb(0xb6)]){const _0x14439e=a84_0x18abcb,_0x4b51a1=_0x2f06ba===_0x14439e(0x82)?win32:{'basename':basename,'dirname':dirname,'relative':relative},_0x4daa84=_0x4b51a1[_0x14439e(0x79)](_0x4b51a1[_0x14439e(0x79)](_0x4b51a1[_0x14439e(0x79)](_0x3f90f3))),_0x13e478=_0x2f06ba===_0x14439e(0x82)?_0x14439e(0x96):_0x14439e(0x9e);let _0x206d5b=_0x4b51a1[_0x14439e(0x79)](_0x4daa84);while(!![]){if(_0x4b51a1[_0x14439e(0xae)](_0x206d5b)==='node_modules'&&_0x4b51a1['relative'](_0x206d5b,_0x4daa84)===_0x13e478){const _0x321a20=_0x4b51a1[_0x14439e(0x79)](_0x206d5b);return _0x4b51a1[_0x14439e(0xae)](_0x321a20)===_0x14439e(0x81)?_0x4b51a1['dirname'](_0x321a20):_0x321a20;}const _0x2ebbaf=_0x4b51a1[_0x14439e(0x79)](_0x206d5b);if(_0x2ebbaf===_0x206d5b)return null;_0x206d5b=_0x2ebbaf;}}function runNpmInstall(_0x2f675c,_0x254901,_0x379fba){const _0x426a6b=a84_0x18abcb;console[_0x426a6b(0xa2)]('*\x20'+[_0x2f675c,..._0x254901]['join']('\x20'));const _0x2e6581=spawnSync(_0x2f675c,_0x254901,{'cwd':process['cwd'](),'stdio':'pipe','env':process.env,'shell':![]}),_0x4ed0c9=_0x2e6581['stderr']?_0x2e6581['stderr']['toString']()[_0x426a6b(0x9b)]():'',_0x591a94=_0x2e6581[_0x426a6b(0xbc)]?_0x2e6581['stdout'][_0x426a6b(0xb4)]()[_0x426a6b(0x9b)]():'';if(!_0x379fba){if(_0x591a94)process[_0x426a6b(0xbc)][_0x426a6b(0xa4)](_0x591a94+'\x0a');if(_0x4ed0c9)process[_0x426a6b(0x8c)][_0x426a6b(0xa4)](_0x4ed0c9+'\x0a');}if(_0x2e6581[_0x426a6b(0x74)]===0x0)return{'ok':!![]};const _0x343193=_0x2e6581[_0x426a6b(0xb1)]?.['message']||_0x4ed0c9||_0x591a94||'exit\x20'+(_0x2e6581['status']??'unknown');return{'ok':![],'error':_0x343193};}function isNpmPrefixPermissionError(_0x1986ea){const _0x375769=a84_0x18abcb;return Boolean(_0x1986ea&&/\b(?:EACCES|EPERM)\b/[_0x375769(0xcd)](_0x1986ea));}function repairCurrentBuiltinSkill(_0xfddf28){const _0x410e6d=a84_0x18abcb;console[_0x410e6d(0xa2)](_0x410e6d(0xb3));const _0x4ce7c2=installBuiltinSkill({'stdio':_0xfddf28?_0x410e6d(0xa3):_0x410e6d(0x8a)});if(_0x4ce7c2['ok'])return console[_0x410e6d(0xa2)]('\x20\x20CLI\x20Built-in\x20Skill\x20'+_0x4ce7c2['skillVersion']+_0x410e6d(0xba)),!![];return console[_0x410e6d(0x7e)](_0x410e6d(0xaf)+(_0x4ce7c2[_0x410e6d(0xcb)]||'INSTALL_FAILED')+']:\x20'+(_0x4ce7c2[_0x410e6d(0xb1)]||_0x410e6d(0xb2))),console[_0x410e6d(0xa2)](_0x410e6d(0xc0)+_0x4ce7c2['repairCommand']),![];}function verifyUpdatedBuiltinSkill(_0xd7175c){const _0x147ed8=a84_0x18abcb;console[_0x147ed8(0xa2)]('Checking\x20CLI\x20Built-in\x20Skill...');const _0x91205e=inspectInstalledBuiltinSkillVersion(_0xd7175c);if(_0x91205e[_0x147ed8(0xa6)]===_0x147ed8(0xc9))return console[_0x147ed8(0xa2)](_0x147ed8(0x9c)+_0xd7175c+'\x20is\x20current.'),!![];console[_0x147ed8(0x7e)](_0x147ed8(0x89)+_0x91205e['state']+'.');if(_0x91205e[_0x147ed8(0x88)])console[_0x147ed8(0x7e)]('\x20\x20'+_0x91205e[_0x147ed8(0x88)]);return console[_0x147ed8(0xa2)]('\x20\x20Run\x20manually:\x20'+_0x91205e[_0x147ed8(0xc6)]),![];}async function execute(_0x4c8458){const _0x5dbca9=a84_0x18abcb;await validateUpdateFlags(_0x4c8458);const _0x27a380=getCliVersion();console[_0x5dbca9(0xa2)](_0x5dbca9(0x83)+_0x27a380),console[_0x5dbca9(0xa2)]('Checking\x20npm\x20dist-tags...');const _0x4bdac9=await resolveTargetVersion(_0x4c8458);if(!_0x4bdac9){const _0x56e304=_0x4c8458[_0x5dbca9(0xc1)]('beta')?_0x5dbca9(0xc2):_0x5dbca9(0xa5),_0x120c81=_0x5dbca9(0x75)+_0x56e304+_0x5dbca9(0x7c);return console[_0x5dbca9(0x7e)](_0x120c81),console[_0x5dbca9(0xa2)](_0x5dbca9(0x9d)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x56e304),{'ok':![],'message':_0x120c81};}const _0x504788=[_0x27a380,_0x4bdac9[_0x5dbca9(0x9f)]]['find'](_0x25b44d=>!a84_0x4163df[_0x5dbca9(0xad)](_0x25b44d));if(_0x504788){const _0x37a8f7=_0x5dbca9(0xc5)+_0x504788+'.';return console[_0x5dbca9(0x7e)](_0x37a8f7),{'ok':![],'message':_0x37a8f7};}if(!shouldInstallTarget(_0x27a380,_0x4bdac9)){const _0x4dd25a=_0x4bdac9[_0x5dbca9(0x7a)]===_0x5dbca9(0x9f)?_0x5dbca9(0x97)+_0x4bdac9[_0x5dbca9(0x9f)]+').':_0x5dbca9(0x7b)+_0x4bdac9[_0x5dbca9(0x9f)]+').';return console[_0x5dbca9(0xa2)](_0x4dd25a),repairCurrentBuiltinSkill(_0x4c8458[_0x5dbca9(0x86)])?{'ok':!![]}:{'ok':![],'message':_0x5dbca9(0x90)};}console[_0x5dbca9(0xa2)](_0x5dbca9(0xaa)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x27a380+_0x5dbca9(0xab)+_0x4bdac9['version']);const _0x1502de=installCliPackage(_0x4bdac9[_0x5dbca9(0x9f)],_0x4c8458[_0x5dbca9(0x86)]);if(!_0x1502de['ok']){const _0x3a08fa=_0x5dbca9(0x87)+(_0x1502de[_0x5dbca9(0xb1)]||_0x5dbca9(0xb2));return console[_0x5dbca9(0xb1)](_0x3a08fa),console[_0x5dbca9(0xa2)]('\x20\x20Try\x20manually:\x20npm\x20install\x20-g\x20'+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x4bdac9[_0x5dbca9(0x9f)]),{'ok':![],'message':_0x3a08fa};}return console[_0x5dbca9(0xa2)]('Updated\x20to\x20v'+_0x4bdac9[_0x5dbca9(0x9f)]+'.'),console[_0x5dbca9(0xa2)](_0x5dbca9(0xa0)),verifyUpdatedBuiltinSkill(_0x4bdac9[_0x5dbca9(0x9f)])?{'ok':!![]}:{'ok':![],'message':_0x5dbca9(0xbd)+_0x4bdac9[_0x5dbca9(0x9f)]+_0x5dbca9(0x95)};}export const updateDefinition={'service':a84_0x18abcb(0x99),'command':a84_0x18abcb(0x98),'description':a84_0x18abcb(0x9a)+CLI_BIN_NAME+a84_0x18abcb(0x76),'risk':a84_0x18abcb(0xa9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};function a84_0x5525(){const _0x2c79c3=['json','Install\x20a\x20specific\x20CLI\x20version','read','Updating\x20','\x20->\x20','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','valid','basename','\x20\x20CLI\x20Built-in\x20Skill\x20repair\x20failed\x20[','fromEntries','error','unknown','Checking\x20CLI\x20Built-in\x20Skill...','toString','--prefix','platform','1260342NKLkNq','337393DzlvnA','8lJxbmg','\x20is\x20current.','1251lKafZV','stdout','CLI\x20updated\x20to\x20v','map','768RlgzOo','\x20\x20Run\x20manually:\x20','bool','beta','/-/package/','77664tuytrr','Version\x20comparison\x20failed:\x20','repairCommand','506tPhRkM','filter','current','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','code','args','test','object','Global\x20npm\x20prefix\x20is\x20not\x20writable;\x20retrying\x20in\x20the\x20current\x20CLI\x20Node\x20environment:\x20','length','status','Unable\x20to\x20resolve\x20','\x20CLI\x20from\x20npm','npm','5595wlqneP','dirname','source','Already\x20up\x20to\x20date\x20(v','\x20version\x20from\x20npm.','/dist-tags','warn','str','4631yjAmOL','lib','win32','Current\x20version:\x20','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','boolean','nonInteractive','Update\x20failed:\x20','reason','\x20\x20Built-in\x20Skill\x20verification\x20failed:\x20','inherit','229792gkMJou','stderr','install','toLowerCase','290bXlABg','CLI\x20is\x20up\x20to\x20date,\x20but\x20Built-in\x20Skill\x20repair\x20failed.','timeout','Invalid\x20version:\x20','entries','validation',',\x20but\x20Built-in\x20Skill\x20verification\x20failed.','@lovrabet\x5clovrabet-cli','Already\x20on\x20requested\x20version\x20(v','run','update','Update\x20the\x20','trim','\x20\x20CLI\x20Built-in\x20Skill\x20','\x20\x20Run\x20manually:\x20npm\x20install\x20-g\x20','@lovrabet/lovrabet-cli','version','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','includes','log','pipe','write','latest','state'];a84_0x5525=function(){return _0x2c79c3;};return a84_0x5525();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a85_0x4ab1c8=a85_0xdf75;function a85_0xdf75(_0x1c3940,_0x5e0c1e){_0x1c3940=_0x1c3940-0xe6;const _0x2f1ac4=a85_0x2f1a();let _0xdf7579=_0x2f1ac4[_0x1c3940];return _0xdf7579;}(function(_0x20cc3f,_0x51d8ac){const _0x5eac1f=a85_0xdf75,_0x3e3b06=_0x20cc3f();while(!![]){try{const _0x5e624c=-parseInt(_0x5eac1f(0x100))/0x1+-parseInt(_0x5eac1f(0xfb))/0x2+-parseInt(_0x5eac1f(0xf5))/0x3*(-parseInt(_0x5eac1f(0x107))/0x4)+parseInt(_0x5eac1f(0xf8))/0x5*(parseInt(_0x5eac1f(0x101))/0x6)+-parseInt(_0x5eac1f(0xec))/0x7*(parseInt(_0x5eac1f(0xf2))/0x8)+parseInt(_0x5eac1f(0xea))/0x9+parseInt(_0x5eac1f(0x102))/0xa*(parseInt(_0x5eac1f(0xf6))/0xb);if(_0x5e624c===_0x51d8ac)break;else _0x3e3b06['push'](_0x3e3b06['shift']());}catch(_0x1bea98){_0x3e3b06['push'](_0x3e3b06['shift']());}}}(a85_0x2f1a,0xaf9cb));import{bindExternalUserAccount,USER_ACCOUNT_BIND_PATH}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';const CURRENT_BINDING_WARNING=a85_0x4ab1c8(0xe7),SUPPORTED_PROVIDERS=[a85_0x4ab1c8(0xfc)];function readBindingInput(_0x5b6ce2){const _0x3e4133=a85_0x4ab1c8,_0x51c834=_0x5b6ce2[_0x3e4133(0xe9)](_0x3e4133(0x105))['trim']()[_0x3e4133(0x106)]();if(!SUPPORTED_PROVIDERS[_0x3e4133(0xf9)](_0x51c834))throw CliErrors['validation']('Unsupported\x20provider:\x20'+(_0x51c834||'(empty)')+'.',_0x3e4133(0xfe)+SUPPORTED_PROVIDERS[_0x3e4133(0xe8)](',\x20')+'.');const _0x133571=_0x5b6ce2[_0x3e4133(0xe9)]('account-id')[_0x3e4133(0xe6)]();if(!_0x133571)throw CliErrors[_0x3e4133(0xed)]('--account-id\x20cannot\x20be\x20empty.',_0x3e4133(0xff));return{'provider':_0x51c834,'accountId':_0x133571};}function buildBindingData(_0x288f60,_0x4f37b1,_0x46cc90){const _0x4f1f81=a85_0x4ab1c8;return{'operation':_0x4f1f81(0xf3),'selector':{'provider':_0x288f60,'accountId':_0x4f37b1},'before':null,'after':{'provider':_0x288f60,'accountId':_0x4f37b1,'bound':!![]},'dryRun':_0x46cc90,'warnings':[CURRENT_BINDING_WARNING]};}export const bindUserAccount={'service':a85_0x4ab1c8(0x104),'command':'bind','description':a85_0x4ab1c8(0xee),'risk':a85_0x4ab1c8(0xeb),'confirmationDescription':'Binds\x20the\x20platform\x20user\x20of\x20the\x20current\x20AccessKey\x20to\x20the\x20given\x20collaboration-provider\x20account.\x20An\x20existing\x20bind\x20for\x20the\x20same\x20provider\x20may\x20be\x20replaced.','requiresAuth':!![],'requiresAppCode':![],'flags':[{'name':'provider','type':a85_0x4ab1c8(0xfa),'required':!![],'enum':[...SUPPORTED_PROVIDERS],'description':a85_0x4ab1c8(0xf7)},{'name':a85_0x4ab1c8(0x103),'type':'string','required':!![],'description':a85_0x4ab1c8(0xef)}],async 'validate'(_0x4679b1){readBindingInput(_0x4679b1);},async 'dryRun'(_0x43da84){const _0x3d600c=a85_0x4ab1c8,{provider:_0x35dc27,accountId:_0x4decca}=readBindingInput(_0x43da84);return{...buildBindingData(_0x35dc27,_0x4decca,!![]),'method':_0x3d600c(0xf4),'url':USER_ACCOUNT_BIND_PATH,'body':{'provider':_0x35dc27,'accountId':_0x4decca}};},async 'execute'(_0x5501d3){const _0x20a6ff=a85_0x4ab1c8,{provider:_0x5d0866,accountId:_0x228b26}=readBindingInput(_0x5501d3),_0x499f6f=await bindExternalUserAccount(_0x5d0866,_0x228b26);if(_0x499f6f!==!![])throw CliErrors[_0x20a6ff(0xf0)](_0x20a6ff(0xfd),'Retry\x20with\x20the\x20same\x20--provider\x20and\x20--account-id\x20only\x20after\x20checking\x20the\x20current\x20AccessKey\x20identity.');return{'ok':!![],'data':buildBindingData(_0x5d0866,_0x228b26,![]),'message':_0x20a6ff(0xf1)};}};function a85_0x2f1a(){const _0x473787=['write','105jCNlsN','validation','Bind\x20the\x20current\x20platform\x20user\x20to\x20an\x20external\x20provider\x20account','External\x20account\x20ID\x20for\x20the\x20selected\x20provider','apiError','Bound\x20current\x20user\x20to\x20external\x20provider\x20account.','3304APvnmr','bind','POST','2480943ZAkBvX','1170763CYSZqF','External\x20account\x20provider','26755QBWdmq','includes','string','2034508WjiPEU','dingtalk','External\x20account\x20binding\x20was\x20not\x20confirmed.','Pass\x20one\x20of:\x20','Pass\x20the\x20external\x20account\x20ID\x20for\x20the\x20selected\x20provider.','1389142IkwAey','420IVnFlI','180DtQvfZ','account-id','user-account','provider','toLowerCase','4koBsaH','trim','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.','join','str','130977qISiQQ'];a85_0x2f1a=function(){return _0x473787;};return a85_0x2f1a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2ad5da,_0x5a8da8){const _0x5313c2=a86_0x20aa,_0xf0a818=_0x2ad5da();while(!![]){try{const _0x55bd8b=parseInt(_0x5313c2(0xaa))/0x1*(parseInt(_0x5313c2(0xa6))/0x2)+-parseInt(_0x5313c2(0xac))/0x3+parseInt(_0x5313c2(0xa4))/0x4+-parseInt(_0x5313c2(0xa9))/0x5+-parseInt(_0x5313c2(0xab))/0x6+parseInt(_0x5313c2(0xa5))/0x7+-parseInt(_0x5313c2(0xa7))/0x8*(parseInt(_0x5313c2(0xa8))/0x9);if(_0x55bd8b===_0x5a8da8)break;else _0xf0a818['push'](_0xf0a818['shift']());}catch(_0x203fc8){_0xf0a818['push'](_0xf0a818['shift']());}}}(a86_0x2ade,0x365fd));import{bindUserAccount}from'../../commands/user-account/bind.js';function a86_0x2ade(){const _0x5f3eb6=['768754cGCEZW','440942lpfXLt','32YGXdPe','184077fzUziB','232965RVqSxN','1FrGncy','1157538Uwhknh','637746fKjUqp','1705336ZDLNKj'];a86_0x2ade=function(){return _0x5f3eb6;};return a86_0x2ade();}function a86_0x20aa(_0x1a2c59,_0xb51cda){_0x1a2c59=_0x1a2c59-0xa4;const _0x2adecd=a86_0x2ade();let _0x20aa7a=_0x2adecd[_0x1a2c59];return _0x20aa7a;}export const userAccountDefinitions=[bindUserAccount];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a87_0x5bb4ce=a87_0x253e;(function(_0xefa764,_0x2af828){const _0x14e329=a87_0x253e,_0x317d1b=_0xefa764();while(!![]){try{const _0x1b772b=-parseInt(_0x14e329(0x11f))/0x1+-parseInt(_0x14e329(0x136))/0x2*(-parseInt(_0x14e329(0x114))/0x3)+-parseInt(_0x14e329(0x105))/0x4+-parseInt(_0x14e329(0x131))/0x5*(-parseInt(_0x14e329(0x116))/0x6)+-parseInt(_0x14e329(0x11e))/0x7*(-parseInt(_0x14e329(0x108))/0x8)+parseInt(_0x14e329(0x13b))/0x9*(parseInt(_0x14e329(0x13f))/0xa)+-parseInt(_0x14e329(0x12a))/0xb;if(_0x1b772b===_0x2af828)break;else _0x317d1b['push'](_0x317d1b['shift']());}catch(_0x3404a4){_0x317d1b['push'](_0x317d1b['shift']());}}}(a87_0x4492,0xd8269));import{CLI_BIN_NAME}from'../../constant/cli.js';import{DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../../constant/env.js';import{CliErrors}from'../../errors.js';import{readConfigFile,resolveWriteConfigPath,writeConfigFile}from'../../context.js';import{findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const WORKSPACE_USE_FLAGS=[{'name':'app','type':a87_0x5bb4ce(0x13c),'description':a87_0x5bb4ce(0x104)},{'name':a87_0x5bb4ce(0x135),'type':a87_0x5bb4ce(0x13c),'description':a87_0x5bb4ce(0x138)},{'name':a87_0x5bb4ce(0x12b),'type':a87_0x5bb4ce(0x13c),'description':'Target\x20environment','enum':[...RUNTIME_ENV_VALUES]}];async function executeWorkspaceUse(_0x5c1bc7,_0x4b206c){const _0x2f46ba=a87_0x5bb4ce,_0x287da5=_0x5c1bc7['str'](_0x2f46ba(0x113))[_0x2f46ba(0x127)](),_0x584372=_0x5c1bc7[_0x2f46ba(0x102)](_0x2f46ba(0x135))[_0x2f46ba(0x127)](),_0x8a43eb=_0x5c1bc7['str'](_0x2f46ba(0x12b))['trim'](),_0x4ce0c6=resolveWorkspaceEnv(_0x8a43eb||_0x5c1bc7[_0x2f46ba(0x12c)]||DEFAULT_CONFIG_VALUES['env']);if(!_0x287da5&&!_0x584372)throw CliErrors['validation'](_0x2f46ba(0x134),_0x2f46ba(0xfb)+CLI_BIN_NAME+_0x2f46ba(0x123)+_0x4b206c+_0x2f46ba(0x133)+CLI_BIN_NAME+_0x2f46ba(0x123)+_0x4b206c+_0x2f46ba(0x103));if(_0x287da5&&_0x584372)throw CliErrors['validation'](_0x2f46ba(0x130),_0x2f46ba(0xfe));const _0x3e7821=resolveWriteConfigPath(_0x2f46ba(0x12d)),_0x51ffd9=readConfigFile(_0x3e7821);assertWorkspaceCommandState(_0x4b206c,_0x51ffd9);const _0x46b37f=_0x584372||await resolveRemoteAppCode({'command':_0x4b206c,'appName':_0x287da5,'env':_0x4ce0c6,'accessKey':_0x5c1bc7['accessKey']});return writeWorkspaceConfig({'command':_0x4b206c,'appName':_0x287da5,'appcode':_0x46b37f,'env':_0x4ce0c6,'shouldWriteEnv':!!_0x8a43eb,'accessKey':_0x5c1bc7[_0x2f46ba(0x11b)]},_0x3e7821,_0x51ffd9),{'ok':!![],'data':{'configPath':_0x3e7821,'app':_0x287da5||null,'appcode':_0x46b37f,'env':_0x8a43eb?_0x4ce0c6:null,'accessKeyWritten':![],'command':_0x2f46ba(0x10f)+_0x4b206c},'message':buildWorkspaceMessage(_0x3e7821,_0x287da5,_0x46b37f,_0x8a43eb?_0x4ce0c6:undefined)};}async function resolveRemoteAppCode(_0xf37cc2){const _0x5a97e2=a87_0x5bb4ce;if(!_0xf37cc2['accessKey'])throw CliErrors[_0x5a97e2(0x10a)](_0x5a97e2(0xfd)+CLI_BIN_NAME+_0x5a97e2(0x123)+_0xf37cc2[_0x5a97e2(0x121)]+'.');const {setActiveAK:_0x39560d}=await import(_0x5a97e2(0xff)),{getRemoteAppList:_0x222c3f}=await import(_0x5a97e2(0x120));_0x39560d(_0xf37cc2[_0x5a97e2(0x11b)]);const _0x11fb42=await _0x222c3f({'env':_0xf37cc2['env'],'accessKey':_0xf37cc2['accessKey'],'noCache':![]}),_0x58dc38=findAppByName(_0x11fb42[_0x5a97e2(0xfc)],_0xf37cc2[_0x5a97e2(0x12f)]);if(_0x58dc38&&!isRuntimeAccessibleApp(_0x58dc38))throw runtimeInaccessibleAppError(_0x58dc38,'\x22'+_0xf37cc2['appName']+'\x22');const _0x4194a4=_0x58dc38?.[_0x5a97e2(0x115)]?.[_0x5a97e2(0x127)]();if(_0x4194a4)return _0x4194a4;const _0x1a95d6=_0x11fb42[_0x5a97e2(0xfc)]['map'](_0x3b1d6f=>_0x3b1d6f[_0x5a97e2(0x12f)])[_0x5a97e2(0x10c)](Boolean),_0x4d2ac9=_0x1a95d6[_0x5a97e2(0x124)]?_0x5a97e2(0x119)+Array[_0x5a97e2(0x139)](new Set(_0x1a95d6))[_0x5a97e2(0x11a)](',\x20')+'.':'Run\x20`'+CLI_BIN_NAME+_0x5a97e2(0x126);throw CliErrors['validation']('App\x20\x22'+_0xf37cc2[_0x5a97e2(0x12f)]+_0x5a97e2(0x13a),_0x4d2ac9);}function writeWorkspaceConfig(_0x2bbbe7,_0x2faf56,_0x42b4ed){const _0x2eac42=a87_0x5bb4ce;_0x2bbbe7[_0x2eac42(0x11c)]&&(_0x42b4ed[_0x2eac42(0x12b)]=_0x2bbbe7[_0x2eac42(0x12b)]);if(_0x2bbbe7[_0x2eac42(0x12f)]){const _0x423429=isRecord(_0x42b4ed['apps'])?{..._0x42b4ed['apps']}:{},_0x2512c2=isRecord(_0x423429[_0x2bbbe7[_0x2eac42(0x12f)]])?_0x423429[_0x2bbbe7['appName']]:{};return _0x423429[_0x2bbbe7[_0x2eac42(0x12f)]]={..._0x2512c2,'appcode':_0x2bbbe7[_0x2eac42(0x135)]},_0x42b4ed[_0x2eac42(0x10b)]=_0x423429,_0x42b4ed[_0x2eac42(0x117)]=_0x2bbbe7[_0x2eac42(0x12f)],delete _0x42b4ed[_0x2eac42(0x135)],delete _0x42b4ed[_0x2eac42(0x113)],writeAndReturn(_0x2faf56,_0x42b4ed);}return _0x42b4ed[_0x2eac42(0x135)]=_0x2bbbe7[_0x2eac42(0x135)],delete _0x42b4ed[_0x2eac42(0x117)],delete _0x42b4ed[_0x2eac42(0x113)],writeAndReturn(_0x2faf56,_0x42b4ed);}function writeAndReturn(_0x4db037,_0x26084f){return writeConfigFile(_0x4db037,_0x26084f),_0x4db037;}function a87_0x4492(){const _0x658c79=['Conflicting\x20workspace\x20app\x20selectors.','5QTHIAH','init','\x20--app\x20<name>\x20[--env\x20daily]\x20or\x20','Missing\x20workspace\x20app\x20selector.','appcode','293204REDyNE','\x20workspace\x20use\x20--app\x20<name>`\x20or\x20`','App\x20code\x20to\x20bind\x20directly','from','\x22\x20not\x20found.','981tfjwTK','string','Use\x20`','\x22.\x20Allowed:\x20','11140nthyKf','Usage:\x20','items','Resolving\x20--app\x20requires\x20accessKey.\x20Pass\x20--appcode\x20directly,\x20or\x20set\x20accessKey\x20before\x20running\x20','Pass\x20either\x20--app\x20<name>\x20or\x20--appcode\x20<code>,\x20not\x20both.','../../core/api-client.js','object','Workspace\x20app\x20context\x20is\x20already\x20initialized.','str','\x20--appcode\x20<code>\x20[--env\x20daily]','App\x20name\x20to\x20bind\x20as\x20the\x20current\x20workspace\x20default','1873116kNctir','Run\x20`','isArray','280Tswmxi','Invalid\x20env\x20\x22','authRequired','apps','filter','write','workspace','workspace\x20','Writes\x20Lovrabet\x20project\x20config\x20in\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet,\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.','\x20workspace\x20init\x20--app\x20<name>`\x20or\x20`','Workspace\x20configured.\x0aConfig\x20file:\x20','app','6XzuhtT','appCode','7364424yRPvwS','defaultApp','Workspace\x20app\x20context\x20is\x20not\x20initialized.','Available\x20apps:\x20','join','accessKey','shouldWriteEnv','includes','279391HnpEYq','917491bOdrOc','../../commands/app/remote-source.js','command','\x0aEnv:\x20','\x20workspace\x20','length','\x20workspace\x20init\x20--appcode\x20<code>`\x20first.','\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20pass\x20--appcode\x20directly.','trim','validation','\x20workspace\x20use\x20--appcode\x20<code>`\x20to\x20change\x20it.','8446526zxeQSL','env','envName','project','Initialize\x20app\x20context\x20for\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet','appName'];a87_0x4492=function(){return _0x658c79;};return a87_0x4492();}function resolveWorkspaceEnv(_0x508ed0){const _0xfbeaea=a87_0x5bb4ce;if(RUNTIME_ENV_VALUES[_0xfbeaea(0x11d)](_0x508ed0))return _0x508ed0;throw CliErrors[_0xfbeaea(0x128)](_0xfbeaea(0x109)+_0x508ed0+_0xfbeaea(0x13e)+RUNTIME_ENV_VALUES[_0xfbeaea(0x11a)](',\x20'));}function buildWorkspaceMessage(_0x495b53,_0x36568a,_0x3edaef,_0x2d6297){const _0x5bb9bd=a87_0x5bb4ce,_0x3889b4=_0x36568a?_0x36568a+'\x20('+_0x3edaef+')':_0x3edaef,_0x3c70b2=_0x2d6297?_0x5bb9bd(0x122)+_0x2d6297:'';return _0x5bb9bd(0x112)+_0x495b53+'\x0aDefault\x20app:\x20'+_0x3889b4+_0x3c70b2+'\x0aAccessKey:\x20not\x20written';}function isRecord(_0x56f109){const _0x32d62d=a87_0x5bb4ce;return typeof _0x56f109===_0x32d62d(0x100)&&_0x56f109!==null&&!Array[_0x32d62d(0x107)](_0x56f109);}function a87_0x253e(_0x14575d,_0x4b0aa4){_0x14575d=_0x14575d-0xfb;const _0x44929b=a87_0x4492();let _0x253e72=_0x44929b[_0x14575d];return _0x253e72;}function hasWorkspaceAppBinding(_0x4e068c){const _0x52e4f0=a87_0x5bb4ce;if(typeof _0x4e068c[_0x52e4f0(0x135)]==='string'&&_0x4e068c[_0x52e4f0(0x135)]['trim']()['length']>0x0)return!![];if(typeof _0x4e068c['defaultApp']!==_0x52e4f0(0x13c)||!_0x4e068c['defaultApp'][_0x52e4f0(0x127)]())return![];if(!isRecord(_0x4e068c[_0x52e4f0(0x10b)]))return![];const _0xbff8d2=_0x4e068c[_0x52e4f0(0x10b)][_0x4e068c[_0x52e4f0(0x117)][_0x52e4f0(0x127)]()];return isRecord(_0xbff8d2)&&typeof _0xbff8d2['appcode']===_0x52e4f0(0x13c)&&_0xbff8d2[_0x52e4f0(0x135)]['trim']()[_0x52e4f0(0x124)]>0x0;}function assertWorkspaceCommandState(_0x237c48,_0xaf7282){const _0xf12fdd=a87_0x5bb4ce,_0x21799d=hasWorkspaceAppBinding(_0xaf7282);if(_0x237c48===_0xf12fdd(0x132)&&_0x21799d)throw CliErrors[_0xf12fdd(0x128)](_0xf12fdd(0x101),_0xf12fdd(0x13d)+CLI_BIN_NAME+_0xf12fdd(0x137)+CLI_BIN_NAME+_0xf12fdd(0x129));if(_0x237c48==='use'&&!_0x21799d)throw CliErrors[_0xf12fdd(0x128)](_0xf12fdd(0x118),_0xf12fdd(0x106)+CLI_BIN_NAME+_0xf12fdd(0x111)+CLI_BIN_NAME+_0xf12fdd(0x125));}function makeWorkspaceCommand(_0x32114a){const _0x28f831=a87_0x5bb4ce;return{'service':_0x28f831(0x10e),'command':_0x32114a,'description':_0x32114a===_0x28f831(0x132)?_0x28f831(0x12e):'Change\x20the\x20app\x20context\x20already\x20bound\x20to\x20the\x20current\x20working\x20directory','risk':_0x28f831(0x10d),'confirmationDescription':_0x32114a===_0x28f831(0x132)?_0x28f831(0x110):'Updates\x20the\x20app\x20binding\x20already\x20present\x20in\x20the\x20current\x20working\x20directory\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':WORKSPACE_USE_FLAGS,async 'execute'(_0x86f14a){return executeWorkspaceUse(_0x86f14a,_0x32114a);}};}export const workspaceDefinitions=[makeWorkspaceCommand(a87_0x5bb4ce(0x132)),makeWorkspaceCommand('use')];
|
|
@@ -1,11 +1,43 @@
|
|
|
1
|
+
import { ENTERPRISE_ROUTING_CDN_FIELDS, ENTERPRISE_ROUTING_DOMAIN_FIELDS, ENTERPRISE_ROUTING_CONSUMERS } from "../generated/routing-contract.js";
|
|
1
2
|
export declare const DOMAIN_CONFIG_FIELDS: readonly ["userDomain", "apiDomain", "runtimeDomain", "skillDomain", "kbDomain"];
|
|
2
3
|
export type DomainConfigField = (typeof DOMAIN_CONFIG_FIELDS)[number];
|
|
3
4
|
export type DomainConfig = Partial<Record<DomainConfigField, string>>;
|
|
5
|
+
export type EnterpriseRoutingDomainField = (typeof ENTERPRISE_ROUTING_DOMAIN_FIELDS)[number];
|
|
6
|
+
export type EnterpriseRoutingConsumer = (typeof ENTERPRISE_ROUTING_CONSUMERS)[number];
|
|
7
|
+
export type EnterpriseRoutingDomainOverrides = Partial<Record<"default" | EnterpriseRoutingConsumer, string>>;
|
|
8
|
+
export type EnterpriseRoutingDomainValue = string | EnterpriseRoutingDomainOverrides;
|
|
9
|
+
export type EnterpriseRoutingDomains = Record<EnterpriseRoutingDomainField, EnterpriseRoutingDomainValue | undefined>;
|
|
10
|
+
export type EnterpriseRoutingCdnField = (typeof ENTERPRISE_ROUTING_CDN_FIELDS)[number];
|
|
11
|
+
export type EnterpriseRoutingCdn = Record<EnterpriseRoutingCdnField, string>;
|
|
12
|
+
export type DomainConfigInput = {
|
|
13
|
+
mode: "legacy";
|
|
14
|
+
domains: DomainConfig;
|
|
15
|
+
} | {
|
|
16
|
+
mode: "enterprise-v1";
|
|
17
|
+
domains: DomainConfig;
|
|
18
|
+
manifestDomains: EnterpriseRoutingDomains;
|
|
19
|
+
cdn: EnterpriseRoutingCdn;
|
|
20
|
+
};
|
|
4
21
|
/** Old domain keys accepted only while reading existing configuration. */
|
|
5
22
|
export declare const LEGACY_DOMAIN_CONFIG_FIELDS: readonly ["agentDomain", "platformDomain", "skillHubDomain"];
|
|
6
23
|
/** Validates and normalizes an exact HTTPS origin used for authenticated requests. */
|
|
7
|
-
export declare function normalizeDomainOrigin(field: DomainConfigField, input: unknown): string;
|
|
24
|
+
export declare function normalizeDomainOrigin(field: DomainConfigField | EnterpriseRoutingDomainField, input: unknown): string;
|
|
25
|
+
export declare function normalizeRoutingDomainValue(field: EnterpriseRoutingDomainField, input: unknown): EnterpriseRoutingDomainValue;
|
|
26
|
+
export declare function normalizeCdnBaseUrl(field: EnterpriseRoutingCdnField, input: unknown): string;
|
|
27
|
+
/**
|
|
28
|
+
* Parse the optional enterprise routing value stored in CLI configuration.
|
|
29
|
+
* Presence is strict so malformed input cannot silently select an official route.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveEnterpriseRoutingConfig(input: unknown): DomainConfig | undefined;
|
|
32
|
+
export declare function resolveRoutingDomainValue(field: EnterpriseRoutingDomainField, value: EnterpriseRoutingDomainValue, consumer: EnterpriseRoutingConsumer): string;
|
|
33
|
+
export declare function readDomainConfigInput(filePath: string): DomainConfigInput;
|
|
8
34
|
export declare function readDomainConfig(filePath: string): DomainConfig;
|
|
35
|
+
export declare function resolveDomainConfigInput(ctx: {
|
|
36
|
+
str(name: string): string;
|
|
37
|
+
}): DomainConfigInput;
|
|
9
38
|
export declare function resolveDomainFlags(ctx: {
|
|
10
39
|
str(name: string): string;
|
|
11
40
|
}): DomainConfig;
|
|
41
|
+
export declare function parseEnterpriseRoutingManifest(source: Record<string, unknown>): Extract<DomainConfigInput, {
|
|
42
|
+
mode: "enterprise-v1";
|
|
43
|
+
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a88_0x593c14=a88_0x290d;(function(_0x431f6b,_0x40b441){const _0x81d503=a88_0x290d,_0x33f8dd=_0x431f6b();while(!![]){try{const _0x47af73=-parseInt(_0x81d503(0xf1))/0x1*(parseInt(_0x81d503(0xe5))/0x2)+parseInt(_0x81d503(0x100))/0x3*(parseInt(_0x81d503(0xea))/0x4)+-parseInt(_0x81d503(0xf9))/0x5*(parseInt(_0x81d503(0x10a))/0x6)+parseInt(_0x81d503(0xf2))/0x7*(-parseInt(_0x81d503(0xfa))/0x8)+parseInt(_0x81d503(0xf7))/0x9*(-parseInt(_0x81d503(0xf6))/0xa)+parseInt(_0x81d503(0x10d))/0xb+parseInt(_0x81d503(0xe3))/0xc*(parseInt(_0x81d503(0x10c))/0xd);if(_0x47af73===_0x40b441)break;else _0x33f8dd['push'](_0x33f8dd['shift']());}catch(_0x5681b3){_0x33f8dd['push'](_0x33f8dd['shift']());}}}(a88_0x4067,0x91793));import{existsSync,readFileSync}from'node:fs';import{isAbsolute,resolve}from'node:path';function a88_0x290d(_0x38c95b,_0x5ee765){_0x38c95b=_0x38c95b-0xe2;const _0x406744=a88_0x4067();let _0x290d99=_0x406744[_0x38c95b];return _0x290d99;}import{CliErrors}from'../errors.js';export const DOMAIN_CONFIG_FIELDS=[a88_0x593c14(0x115),a88_0x593c14(0xe9),a88_0x593c14(0x116),a88_0x593c14(0xff),a88_0x593c14(0xf3)];const DOMAIN_FLAGS={'userDomain':a88_0x593c14(0x102),'apiDomain':a88_0x593c14(0x10f),'runtimeDomain':a88_0x593c14(0xeb),'skillDomain':'skill-domain','kbDomain':a88_0x593c14(0x114)};export const LEGACY_DOMAIN_CONFIG_FIELDS=[a88_0x593c14(0xf4),'platformDomain',a88_0x593c14(0xec)];export function normalizeDomainOrigin(_0x3f21b1,_0x51ad36){const _0x163fd7=a88_0x593c14;if(typeof _0x51ad36!==_0x163fd7(0xef)||!_0x51ad36[_0x163fd7(0x117)]())throw CliErrors[_0x163fd7(0x10b)](_0x163fd7(0xfd)+_0x3f21b1+_0x163fd7(0xe4));let _0x3be51a;try{_0x3be51a=new URL(_0x51ad36['trim']());}catch{throw CliErrors['validation'](_0x163fd7(0xfd)+_0x3f21b1+_0x163fd7(0xfc)+_0x51ad36+_0x163fd7(0xfe));}if(_0x3be51a[_0x163fd7(0xed)]!==_0x163fd7(0xe6)||_0x3be51a[_0x163fd7(0xf0)]||_0x3be51a[_0x163fd7(0x108)]||_0x3be51a[_0x163fd7(0xe8)]!=='/'&&_0x3be51a[_0x163fd7(0xe8)]!==''||_0x3be51a[_0x163fd7(0xee)]||_0x3be51a['hash'])throw CliErrors[_0x163fd7(0x10b)](_0x163fd7(0xfd)+_0x3f21b1+_0x163fd7(0xf5),_0x163fd7(0x109));return _0x3be51a[_0x163fd7(0x112)];}function a88_0x4067(){const _0x36f1a5=['str','password','For\x20internal\x20deployments,\x20terminate\x20TLS\x20at\x20the\x20ingress,\x20reverse\x20proxy,\x20or\x20load\x20balancer;\x20an\x20internal\x20CA\x20is\x20supported.','63090pXcYaN','validation','39305045rIcPhT','2948880dXMAFj','Invalid\x20domain\x20config\x20JSON:\x20','api-domain','keys','Domain\x20config\x20file\x20not\x20found:\x20','origin','domain-config','kb-domain','userDomain','runtimeDomain','trim','utf8','12vYzxFR',':\x20expected\x20a\x20non-empty\x20HTTPS\x20origin.','40812FPkiqK','https:','join','pathname','apiDomain','949692VJuFxt','runtime-domain','skillHubDomain','protocol','search','string','username','1mIJQTZ','106477uTCpjA','kbDomain','agentDomain',':\x20expected\x20an\x20HTTPS\x20origin\x20without\x20credentials,\x20path,\x20query,\x20or\x20fragment.','8890260iHTSzx','9tvElfv','length','550zUTqQN','456neOiCg','Invalid\x20domain\x20config:\x20provide\x20at\x20least\x20one\x20supported\x20Domain.',':\x20\x22','Invalid\x20','\x22\x20is\x20not\x20a\x20valid\x20URL.','skillDomain','3pKDdbl','cwd','user-domain','isArray','Invalid\x20domain\x20config:\x20expected\x20a\x20JSON\x20object.','object','includes'];a88_0x4067=function(){return _0x36f1a5;};return a88_0x4067();}export function readDomainConfig(_0x28e8ee){const _0x4ed727=a88_0x593c14,_0x552fb6=isAbsolute(_0x28e8ee)?_0x28e8ee:resolve(process[_0x4ed727(0x101)](),_0x28e8ee);if(!existsSync(_0x552fb6))throw CliErrors[_0x4ed727(0x10b)](_0x4ed727(0x111)+_0x552fb6);let _0x17d53a;try{_0x17d53a=JSON['parse'](readFileSync(_0x552fb6,_0x4ed727(0xe2)));}catch{throw CliErrors[_0x4ed727(0x10b)](_0x4ed727(0x10e)+_0x552fb6);}if(!_0x17d53a||typeof _0x17d53a!==_0x4ed727(0x105)||Array[_0x4ed727(0x103)](_0x17d53a))throw CliErrors[_0x4ed727(0x10b)](_0x4ed727(0x104));const _0x49ea9b=_0x17d53a,_0x29d6a9=Object[_0x4ed727(0x110)](_0x49ea9b)['filter'](_0x1212cf=>!DOMAIN_CONFIG_FIELDS[_0x4ed727(0x106)](_0x1212cf));if(_0x29d6a9[_0x4ed727(0xf8)]>0x0)throw CliErrors['validation']('Unsupported\x20domain\x20config\x20field(s):\x20'+_0x29d6a9['join'](',\x20'),'Allowed\x20fields:\x20'+DOMAIN_CONFIG_FIELDS[_0x4ed727(0xe7)](',\x20'));const _0x5f4838={};for(const _0x3cf7fb of DOMAIN_CONFIG_FIELDS){_0x49ea9b[_0x3cf7fb]!==undefined&&(_0x5f4838[_0x3cf7fb]=normalizeDomainOrigin(_0x3cf7fb,_0x49ea9b[_0x3cf7fb]));}if(Object[_0x4ed727(0x110)](_0x5f4838)[_0x4ed727(0xf8)]===0x0)throw CliErrors[_0x4ed727(0x10b)](_0x4ed727(0xfb));return _0x5f4838;}export function resolveDomainFlags(_0x185985){const _0x1ef5c8=a88_0x593c14,_0x5f3c30=(_0x185985['str'](_0x1ef5c8(0x113))||'')[_0x1ef5c8(0x117)](),_0x23f70f=_0x5f3c30?readDomainConfig(_0x5f3c30):{};for(const _0x26d96d of DOMAIN_CONFIG_FIELDS){const _0x2c48d9=(_0x185985[_0x1ef5c8(0x107)](DOMAIN_FLAGS[_0x26d96d])||'')['trim']();if(_0x2c48d9)_0x23f70f[_0x26d96d]=normalizeDomainOrigin(_0x26d96d,_0x2c48d9);}return _0x23f70f;}
|
|
1
|
+
const a88_0x48b866=a88_0x144a;(function(_0xae7308,_0x47b923){const _0x552e48=a88_0x144a,_0x527736=_0xae7308();while(!![]){try{const _0x4fdbb8=parseInt(_0x552e48(0x14b))/0x1*(-parseInt(_0x552e48(0x15b))/0x2)+-parseInt(_0x552e48(0x12b))/0x3+parseInt(_0x552e48(0x13c))/0x4+-parseInt(_0x552e48(0x15f))/0x5+-parseInt(_0x552e48(0x140))/0x6+parseInt(_0x552e48(0x149))/0x7+parseInt(_0x552e48(0x165))/0x8*(parseInt(_0x552e48(0x11d))/0x9);if(_0x4fdbb8===_0x47b923)break;else _0x527736['push'](_0x527736['shift']());}catch(_0x2e6751){_0x527736['push'](_0x527736['shift']());}}}(a88_0x2b9a,0x4cd7a));import{existsSync,readFileSync}from'node:fs';import{isAbsolute,resolve}from'node:path';import{CliErrors}from'../errors.js';import{ENTERPRISE_ROUTING_CDN_FIELDS,ENTERPRISE_ROUTING_DOMAIN_FIELDS,ENTERPRISE_ROUTING_KIND,ENTERPRISE_ROUTING_PROTOCOL,ENTERPRISE_ROUTING_TOP_LEVEL_FIELDS,ENTERPRISE_ROUTING_CONSUMERS,REQUIRED_ENTERPRISE_ROUTING_CDN_FIELDS,REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS}from'../generated/routing-contract.js';export const DOMAIN_CONFIG_FIELDS=[a88_0x48b866(0x132),a88_0x48b866(0x160),a88_0x48b866(0x14c),a88_0x48b866(0x168),a88_0x48b866(0x143)];const DOMAIN_FLAGS={'userDomain':'user-domain','apiDomain':'api-domain','runtimeDomain':'runtime-domain','skillDomain':a88_0x48b866(0x11f),'kbDomain':'kb-domain'};export const LEGACY_DOMAIN_CONFIG_FIELDS=['agentDomain',a88_0x48b866(0x158),a88_0x48b866(0x120)];function a88_0x2b9a(){const _0x5809e4=['cwd','Invalid\x20domain\x20config:\x20provide\x20at\x20least\x20one\x20supported\x20Domain.',':\x20expected\x20an\x20HTTPS\x20origin\x20or\x20consumer\x20Domain\x20object.','domains','\x22\x20is\x20not\x20a\x20valid\x20URL.','password','1661104BQRxGG',':\x20expected\x20a\x20non-empty\x20HTTPS\x20URL.','default',':\x20consumer\x20Domain\x20object\x20cannot\x20be\x20empty.','1817544CozMQj','legacy','Unsupported\x20enterprise\x20routing\x20field(s):\x20','kbDomain','includes','Domain\x20config\x20file\x20not\x20found:\x20','validation','object','Invalid\x20domain\x20config:\x20expected\x20a\x20JSON\x20object.','97818EoRQdM','pathname','1244VamjQH','runtimeDomain','Enterprise\x20routing\x20manifest\x20requires\x20localDomain\x20and\x20certificateDomain\x20together.','base\x20URL','For\x20internal\x20deployments,\x20terminate\x20TLS\x20at\x20the\x20ingress,\x20reverse\x20proxy,\x20or\x20load\x20balancer;\x20an\x20internal\x20CA\x20is\x20supported.','length','replace','Unsupported\x20enterprise\x20Domain\x20field(s):\x20','localDomain','Invalid\x20','isArray','utf8','str','platformDomain','trim','https:','730KUYhDd','filter','Allowed\x20consumers:\x20','string','2780470vEDcTv','apiDomain','origin','\x22\x20and\x20kind\x20\x22','lovrabet',':\x20\x22','12689024mwfePp','protocol','Allowed\x20fields:\x20','skillDomain','Unsupported\x20enterprise\x20CDN\x20field(s):\x20','9FnFSYg','search','skill-domain','skillHubDomain','Unsupported\x20','Enterprise\x20routing\x20manifest\x20is\x20missing\x20required\x20Domain(s):\x20','keys','Invalid\x20cdn.','hash',':\x20expected\x20a\x20non-empty\x20HTTPS\x20origin.','cdn','\x20does\x20not\x20provide\x20a\x20Domain\x20for\x20','join','domain-config','1162662bxNrJd','\x20consumer(s):\x20','Unsupported\x20routing\x20manifest:\x20expected\x20protocol\x20\x22','parse','href',':\x20expected\x20an\x20HTTPS\x20origin\x20without\x20credentials,\x20path,\x20query,\x20or\x20fragment.','Unsupported\x20domain\x20config\x20field(s):\x20','userDomain','Invalid\x20enterprise\x20routing\x20manifest:\x20cdn\x20must\x20be\x20an\x20object.','kind','username'];a88_0x2b9a=function(){return _0x5809e4;};return a88_0x2b9a();}const ENTERPRISE_TO_LOCAL_FIELD={'userDomain':'userDomain','apiDomain':a88_0x48b866(0x160),'runtimeDomain':a88_0x48b866(0x14c),'skillDomain':'skillDomain','kbDomain':'kbDomain'},ROUTING_CONSUMER='lovrabet-cli';function a88_0x144a(_0x8dc831,_0x2c4567){_0x8dc831=_0x8dc831-0x11d;const _0x2b9aa4=a88_0x2b9a();let _0x144a50=_0x2b9aa4[_0x8dc831];return _0x144a50;}export function normalizeDomainOrigin(_0x1da39f,_0x1da9d2){const _0x1b463b=a88_0x48b866;if(typeof _0x1da9d2!=='string'||!_0x1da9d2[_0x1b463b(0x159)]())throw CliErrors[_0x1b463b(0x146)]('Invalid\x20'+_0x1da39f+_0x1b463b(0x126));let _0xf5a4c3;try{_0xf5a4c3=new URL(_0x1da9d2[_0x1b463b(0x159)]());}catch{throw CliErrors['validation']('Invalid\x20'+_0x1da39f+_0x1b463b(0x164)+_0x1da9d2+_0x1b463b(0x13a));}if(_0xf5a4c3[_0x1b463b(0x166)]!==_0x1b463b(0x15a)||_0xf5a4c3[_0x1b463b(0x135)]||_0xf5a4c3[_0x1b463b(0x13b)]||_0xf5a4c3[_0x1b463b(0x14a)]!=='/'&&_0xf5a4c3['pathname']!==''||_0xf5a4c3[_0x1b463b(0x11e)]||_0xf5a4c3['hash'])throw CliErrors[_0x1b463b(0x146)](_0x1b463b(0x154)+_0x1da39f+_0x1b463b(0x130),_0x1b463b(0x14f));return _0xf5a4c3[_0x1b463b(0x161)];}export function normalizeRoutingDomainValue(_0x2a61ee,_0xee3013){const _0x4a45eb=a88_0x48b866;if(typeof _0xee3013==='string')return normalizeDomainOrigin(_0x2a61ee,_0xee3013);if(!_0xee3013||typeof _0xee3013!=='object'||Array[_0x4a45eb(0x155)](_0xee3013))throw CliErrors[_0x4a45eb(0x146)](_0x4a45eb(0x154)+_0x2a61ee+_0x4a45eb(0x138));const _0x23f847=_0xee3013,_0x34dd0f=Object[_0x4a45eb(0x123)](_0x23f847),_0x59274e=['default',...ENTERPRISE_ROUTING_CONSUMERS],_0x180996=_0x34dd0f[_0x4a45eb(0x15c)](_0x52e4ad=>!_0x59274e[_0x4a45eb(0x144)](_0x52e4ad));if(_0x180996[_0x4a45eb(0x150)]>0x0)throw CliErrors[_0x4a45eb(0x146)](_0x4a45eb(0x121)+_0x2a61ee+_0x4a45eb(0x12c)+_0x180996[_0x4a45eb(0x129)](',\x20'),_0x4a45eb(0x15d)+_0x59274e[_0x4a45eb(0x129)](',\x20'));if(_0x34dd0f[_0x4a45eb(0x150)]===0x0)throw CliErrors['validation'](_0x4a45eb(0x154)+_0x2a61ee+_0x4a45eb(0x13f));const _0x23f865={};for(const _0x9442b7 of _0x34dd0f){const _0x42c169=_0x9442b7;_0x23f865[_0x42c169]=normalizeDomainOrigin(_0x2a61ee,_0x23f847[_0x9442b7]);}return _0x23f865;}export function normalizeCdnBaseUrl(_0x4dd56e,_0x217580){const _0x33b4e5=a88_0x48b866;if(typeof _0x217580!==_0x33b4e5(0x15e)||!_0x217580[_0x33b4e5(0x159)]())throw CliErrors['validation'](_0x33b4e5(0x124)+_0x4dd56e+_0x33b4e5(0x13d));const _0xef5852=_0x217580[_0x33b4e5(0x159)]()[_0x33b4e5(0x151)](/\/$/,'');let _0x45464c;try{_0x45464c=new URL(_0xef5852);}catch{throw CliErrors[_0x33b4e5(0x146)]('Invalid\x20cdn.'+_0x4dd56e+_0x33b4e5(0x164)+_0x217580+_0x33b4e5(0x13a));}if(_0x45464c[_0x33b4e5(0x166)]!==_0x33b4e5(0x15a)||_0x45464c[_0x33b4e5(0x135)]||_0x45464c[_0x33b4e5(0x13b)]||_0x45464c[_0x33b4e5(0x11e)]||_0x45464c[_0x33b4e5(0x125)]||_0x45464c[_0x33b4e5(0x12f)]['replace'](/\/$/,'')!==_0xef5852||_0x4dd56e===_0x33b4e5(0x163)&&_0x45464c[_0x33b4e5(0x161)]!==_0xef5852)throw CliErrors[_0x33b4e5(0x146)]('Invalid\x20cdn.'+_0x4dd56e+':\x20expected\x20an\x20HTTPS\x20'+(_0x4dd56e===_0x33b4e5(0x163)?_0x33b4e5(0x161):_0x33b4e5(0x14e))+'\x20without\x20credentials,\x20query,\x20or\x20fragment.');return _0xef5852;}export function resolveEnterpriseRoutingConfig(_0x4cc633){const _0x5affb9=a88_0x48b866;if(_0x4cc633===undefined)return undefined;if(!_0x4cc633||typeof _0x4cc633!=='object'||Array[_0x5affb9(0x155)](_0x4cc633))throw CliErrors[_0x5affb9(0x146)]('Invalid\x20enterprise\x20routing\x20config:\x20expected\x20an\x20object.');return parseEnterpriseRoutingManifest(_0x4cc633)[_0x5affb9(0x139)];}export function resolveRoutingDomainValue(_0xa629b,_0x305729,_0x5a7a95){const _0x1eee1c=a88_0x48b866;if(typeof _0x305729==='string')return _0x305729;const _0x22fc8e=_0x305729[_0x5a7a95]??_0x305729[_0x1eee1c(0x13e)];if(!_0x22fc8e)throw CliErrors[_0x1eee1c(0x146)]('Enterprise\x20'+_0xa629b+_0x1eee1c(0x128)+_0x5a7a95+'\x20and\x20has\x20no\x20default.');return _0x22fc8e;}export function readDomainConfigInput(_0x53f36b){const _0xc4eeaf=a88_0x48b866,_0x2d1a91=isAbsolute(_0x53f36b)?_0x53f36b:resolve(process[_0xc4eeaf(0x136)](),_0x53f36b);if(!existsSync(_0x2d1a91))throw CliErrors[_0xc4eeaf(0x146)](_0xc4eeaf(0x145)+_0x2d1a91);let _0x36aa94;try{_0x36aa94=JSON[_0xc4eeaf(0x12e)](readFileSync(_0x2d1a91,_0xc4eeaf(0x156)));}catch{throw CliErrors[_0xc4eeaf(0x146)]('Invalid\x20domain\x20config\x20JSON:\x20'+_0x2d1a91);}if(!_0x36aa94||typeof _0x36aa94!==_0xc4eeaf(0x147)||Array[_0xc4eeaf(0x155)](_0x36aa94))throw CliErrors[_0xc4eeaf(0x146)](_0xc4eeaf(0x148));const _0x429698=_0x36aa94;if(_0xc4eeaf(0x166)in _0x429698)return parseEnterpriseRoutingManifest(_0x429698);const _0x32502c=Object[_0xc4eeaf(0x123)](_0x429698)[_0xc4eeaf(0x15c)](_0x59fac1=>!DOMAIN_CONFIG_FIELDS['includes'](_0x59fac1));if(_0x32502c[_0xc4eeaf(0x150)]>0x0)throw CliErrors[_0xc4eeaf(0x146)](_0xc4eeaf(0x131)+_0x32502c['join'](',\x20'),_0xc4eeaf(0x167)+DOMAIN_CONFIG_FIELDS[_0xc4eeaf(0x129)](',\x20'));const _0x525cd3={};for(const _0x1688d9 of DOMAIN_CONFIG_FIELDS){_0x429698[_0x1688d9]!==undefined&&(_0x525cd3[_0x1688d9]=normalizeDomainOrigin(_0x1688d9,_0x429698[_0x1688d9]));}if(Object[_0xc4eeaf(0x123)](_0x525cd3)[_0xc4eeaf(0x150)]===0x0)throw CliErrors['validation'](_0xc4eeaf(0x137));return{'mode':'legacy','domains':_0x525cd3};}export function readDomainConfig(_0x4a3a38){const _0x2ce703=a88_0x48b866;return readDomainConfigInput(_0x4a3a38)[_0x2ce703(0x139)];}export function resolveDomainConfigInput(_0x67811d){const _0x20dc1f=a88_0x48b866,_0x5ad71c=(_0x67811d[_0x20dc1f(0x157)](_0x20dc1f(0x12a))||'')[_0x20dc1f(0x159)](),_0xf1a3e7=_0x5ad71c?readDomainConfigInput(_0x5ad71c):{'mode':_0x20dc1f(0x141),'domains':{}},_0x4de131=DOMAIN_CONFIG_FIELDS['filter'](_0x31d26e=>Boolean((_0x67811d[_0x20dc1f(0x157)](DOMAIN_FLAGS[_0x31d26e])||'')[_0x20dc1f(0x159)]()));if(_0xf1a3e7['mode']==='enterprise-v1'&&_0x4de131[_0x20dc1f(0x150)]>0x0)throw CliErrors[_0x20dc1f(0x146)]('Enterprise\x20routing\x20manifests\x20cannot\x20be\x20combined\x20with\x20individual\x20Domain\x20flags.','Update\x20the\x20manifest\x20so\x20both\x20CLIs\x20consume\x20the\x20same\x20routing\x20data.');for(const _0x55e37c of DOMAIN_CONFIG_FIELDS){const _0x5acddf=(_0x67811d[_0x20dc1f(0x157)](DOMAIN_FLAGS[_0x55e37c])||'')[_0x20dc1f(0x159)]();if(_0x5acddf)_0xf1a3e7[_0x20dc1f(0x139)][_0x55e37c]=normalizeDomainOrigin(_0x55e37c,_0x5acddf);}return _0xf1a3e7;}export function resolveDomainFlags(_0xd9f9de){const _0x582f22=a88_0x48b866;return resolveDomainConfigInput(_0xd9f9de)[_0x582f22(0x139)];}export function parseEnterpriseRoutingManifest(_0x573e08){const _0x4e9edf=a88_0x48b866,_0x4aaf41=Object[_0x4e9edf(0x123)](_0x573e08)[_0x4e9edf(0x15c)](_0x55d13d=>!ENTERPRISE_ROUTING_TOP_LEVEL_FIELDS[_0x4e9edf(0x144)](_0x55d13d));if(_0x4aaf41['length']>0x0)throw CliErrors['validation'](_0x4e9edf(0x142)+_0x4aaf41[_0x4e9edf(0x129)](',\x20'));if(_0x573e08[_0x4e9edf(0x166)]!==ENTERPRISE_ROUTING_PROTOCOL||_0x573e08[_0x4e9edf(0x134)]!==ENTERPRISE_ROUTING_KIND)throw CliErrors['validation'](_0x4e9edf(0x12d)+ENTERPRISE_ROUTING_PROTOCOL+_0x4e9edf(0x162)+ENTERPRISE_ROUTING_KIND+'\x22.');if(!_0x573e08[_0x4e9edf(0x139)]||typeof _0x573e08[_0x4e9edf(0x139)]!==_0x4e9edf(0x147)||Array[_0x4e9edf(0x155)](_0x573e08[_0x4e9edf(0x139)]))throw CliErrors['validation']('Invalid\x20enterprise\x20routing\x20manifest:\x20domains\x20must\x20be\x20an\x20object.');if(!_0x573e08['cdn']||typeof _0x573e08[_0x4e9edf(0x127)]!==_0x4e9edf(0x147)||Array[_0x4e9edf(0x155)](_0x573e08[_0x4e9edf(0x127)]))throw CliErrors[_0x4e9edf(0x146)](_0x4e9edf(0x133));const _0x52bfd3=_0x573e08[_0x4e9edf(0x139)],_0x2dcc5e=Object[_0x4e9edf(0x123)](_0x52bfd3)[_0x4e9edf(0x15c)](_0x49e5c8=>!ENTERPRISE_ROUTING_DOMAIN_FIELDS['includes'](_0x49e5c8));if(_0x2dcc5e['length']>0x0)throw CliErrors['validation'](_0x4e9edf(0x152)+_0x2dcc5e[_0x4e9edf(0x129)](',\x20'),_0x4e9edf(0x167)+ENTERPRISE_ROUTING_DOMAIN_FIELDS[_0x4e9edf(0x129)](',\x20'));const _0xb6b980=REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS['filter'](_0x1f2cc2=>_0x52bfd3[_0x1f2cc2]===undefined);if(_0xb6b980[_0x4e9edf(0x150)]>0x0)throw CliErrors[_0x4e9edf(0x146)](_0x4e9edf(0x122)+_0xb6b980[_0x4e9edf(0x129)](',\x20'));if(_0x52bfd3[_0x4e9edf(0x153)]===undefined!==(_0x52bfd3['certificateDomain']===undefined))throw CliErrors[_0x4e9edf(0x146)](_0x4e9edf(0x14d));const _0x6d9b19=_0x573e08['cdn'],_0x129707=Object[_0x4e9edf(0x123)](_0x6d9b19)['filter'](_0x552f64=>!ENTERPRISE_ROUTING_CDN_FIELDS['includes'](_0x552f64));if(_0x129707[_0x4e9edf(0x150)]>0x0)throw CliErrors['validation'](_0x4e9edf(0x169)+_0x129707['join'](',\x20'),_0x4e9edf(0x167)+ENTERPRISE_ROUTING_CDN_FIELDS[_0x4e9edf(0x129)](',\x20'));const _0x471d00=REQUIRED_ENTERPRISE_ROUTING_CDN_FIELDS[_0x4e9edf(0x15c)](_0x5f2518=>_0x6d9b19[_0x5f2518]===undefined);if(_0x471d00['length']>0x0)throw CliErrors[_0x4e9edf(0x146)]('Enterprise\x20routing\x20manifest\x20is\x20missing\x20required\x20CDN\x20field(s):\x20'+_0x471d00[_0x4e9edf(0x129)](',\x20'));const _0x4f151a={};for(const _0x167c57 of ENTERPRISE_ROUTING_CDN_FIELDS){_0x4f151a[_0x167c57]=normalizeCdnBaseUrl(_0x167c57,_0x6d9b19[_0x167c57]);}const _0x174405={},_0x4fd2a2={};for(const _0x362b9a of ENTERPRISE_ROUTING_DOMAIN_FIELDS){const _0x3afab0=_0x52bfd3[_0x362b9a];if(_0x3afab0===undefined)continue;const _0x3c1be2=normalizeRoutingDomainValue(_0x362b9a,_0x3afab0);_0x174405[_0x362b9a]=_0x3c1be2;const _0x1e3382=ENTERPRISE_TO_LOCAL_FIELD[_0x362b9a];_0x1e3382&&(_0x4fd2a2[_0x1e3382]=resolveRoutingDomainValue(_0x362b9a,_0x3c1be2,ROUTING_CONSUMER));}return{'mode':'enterprise-v1','domains':_0x4fd2a2,'manifestDomains':_0x174405,'cdn':_0x4f151a};}
|
package/lib/config/schema.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
import { RUNTIME_ENV_VALUES } from "../constant/env.js";
|
|
20
20
|
export type RuntimeEnv = (typeof RUNTIME_ENV_VALUES)[number];
|
|
21
21
|
/** All configuration field names recognized by the runtime CLI. */
|
|
22
|
-
type ConfigFieldName = "env" | "region" | "format" | "pageSize" | "apiDomain" | "userDomain" | "runtimeDomain" | "skillDomain" | "kbDomain" | "accessKey" | "riskLevel" | "nativeToolAvailable" | "locale";
|
|
22
|
+
type ConfigFieldName = "env" | "region" | "routing" | "format" | "pageSize" | "apiDomain" | "userDomain" | "runtimeDomain" | "skillDomain" | "kbDomain" | "accessKey" | "riskLevel" | "nativeToolAvailable" | "locale";
|
|
23
23
|
/**
|
|
24
24
|
* Schema for a single configuration field.
|
|
25
25
|
*
|
package/lib/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a89_0xbc9ec2=a89_0x25ed;(function(_0x30f688,_0x1e19de){const _0x3bf4ab=a89_0x25ed,_0x46fbeb=_0x30f688();while(!![]){try{const _0x5b9dc9=parseInt(_0x3bf4ab(0x108))/0x1*(parseInt(_0x3bf4ab(0x10d))/0x2)+-parseInt(_0x3bf4ab(0x10f))/0x3*(parseInt(_0x3bf4ab(0xf0))/0x4)+-parseInt(_0x3bf4ab(0xfc))/0x5+-parseInt(_0x3bf4ab(0xf3))/0x6+-parseInt(_0x3bf4ab(0x101))/0x7+-parseInt(_0x3bf4ab(0xf8))/0x8+parseInt(_0x3bf4ab(0x10a))/0x9;if(_0x5b9dc9===_0x1e19de)break;else _0x46fbeb['push'](_0x46fbeb['shift']());}catch(_0x4dce19){_0x46fbeb['push'](_0x46fbeb['shift']());}}}(a89_0xe2c1,0x8f36d));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{OUTPUT_FORMAT_VALUES}from'../constant/output.js';import{DEFAULT_LOVRABET_REGION,ENABLED_LOVRABET_REGION_VALUES}from'../constant/region.js';export const CONFIG_FIELD_SCHEMAS={'routing':{'description':a89_0xbc9ec2(0xed),'topLevel':!![]},'region':{'description':a89_0xbc9ec2(0xf5),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':ENABLED_LOVRABET_REGION_VALUES,'defaultValue':DEFAULT_LOVRABET_REGION,'importable':!![]},'env':{'description':'Target\x20environment','topLevel':!![],'cliSettableTopLevel':!![],'enumValues':RUNTIME_ENV_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a89_0xbc9ec2(0xf1)],'importable':!![]},'format':{'description':a89_0xbc9ec2(0xfa),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':OUTPUT_FORMAT_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES['format'],'importable':!![]},'pageSize':{'description':a89_0xbc9ec2(0xfb),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'apiDomain':{'description':'Override\x20API\x20domain','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'userDomain':{'description':a89_0xbc9ec2(0x104),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'runtimeDomain':{'description':a89_0xbc9ec2(0xf4),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'skillDomain':{'description':a89_0xbc9ec2(0xee),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'kbDomain':{'description':'Override\x20knowledge-base\x20domain','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'accessKey':{'description':'Access\x20key\x20(client-ak\x20auth)','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'riskLevel':{'description':a89_0xbc9ec2(0xf2),'topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a89_0xbc9ec2(0x105)],'importable':!![]},'nativeToolAvailable':{'description':a89_0xbc9ec2(0xf6),'topLevel':!![],'defaultValue':![]},'locale':{'description':a89_0xbc9ec2(0x107),'topLevel':!![],'cliSettableTopLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES['locale'],'importable':!![]}};export const TOP_LEVEL_CONFIG_KEYS=new Set(Object[a89_0xbc9ec2(0x102)](CONFIG_FIELD_SCHEMAS)['filter'](([,_0x4c3332])=>_0x4c3332[a89_0xbc9ec2(0x106)])[a89_0xbc9ec2(0x100)](([_0x4d9480])=>_0x4d9480));export const CLI_PROTECTED_CONFIG_KEYS=new Set([a89_0xbc9ec2(0x105),a89_0xbc9ec2(0xff)]);export const CONFIG_ENUM_VALUES=Object[a89_0xbc9ec2(0x109)](Object[a89_0xbc9ec2(0x102)](CONFIG_FIELD_SCHEMAS)['filter'](([,_0x103984])=>_0x103984[a89_0xbc9ec2(0xf7)])['map'](([_0x1bc92d,_0x302890])=>[_0x1bc92d,[..._0x302890[a89_0xbc9ec2(0xf7)]||[]]]));export const IMPORTABLE_RUNTIME_CONFIG_KEYS=Object[a89_0xbc9ec2(0x102)](CONFIG_FIELD_SCHEMAS)[a89_0xbc9ec2(0xf9)](([,_0x3acf25])=>_0x3acf25['importable'])[a89_0xbc9ec2(0x100)](([_0x9a8aa1])=>_0x9a8aa1);export function getConfigFieldSchema(_0x4065cc){return CONFIG_FIELD_SCHEMAS[_0x4065cc];}export function getConfigEnumValues(_0xd79b2e){const _0x177608=a89_0xbc9ec2;return getConfigFieldSchema(_0xd79b2e)?.[_0x177608(0xf7)];}export function getConfigDefaultValue(_0x36f9a7){const _0x165e82=a89_0xbc9ec2;return getConfigFieldSchema(_0x36f9a7)?.[_0x165e82(0x10b)];}export function isTopLevelConfigKey(_0x345e3a){return TOP_LEVEL_CONFIG_KEYS['has'](_0x345e3a);}export function isCliProtectedConfigKey(_0x1c36a4){const _0x3ef727=a89_0xbc9ec2;return CLI_PROTECTED_CONFIG_KEYS[_0x3ef727(0x103)](_0x1c36a4);}function a89_0x25ed(_0x4297d0,_0x23e8de){_0x4297d0=_0x4297d0-0xeb;const _0xe2c1ce=a89_0xe2c1();let _0x25eda1=_0xe2c1ce[_0x4297d0];return _0x25eda1;}const LOCALE_MAP={'zh':a89_0xbc9ec2(0x10c),'zh-cn':a89_0xbc9ec2(0x10c),'zh_cn':'zh-CN','en':a89_0xbc9ec2(0xec),'en-us':'en-US','en_us':a89_0xbc9ec2(0xec)};export function normalizeLocale(_0x45e9d4){const _0x1734e5=a89_0xbc9ec2;if(!_0x45e9d4)return null;return LOCALE_MAP[_0x45e9d4[_0x1734e5(0xeb)]()]??null;}export function isLegacyCompatConfigKey(_0x301c22){const _0x4eb315=a89_0xbc9ec2;return getConfigFieldSchema(_0x301c22)?.[_0x4eb315(0x10e)]===!![];}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function formatConfigKeyList(_0xe647d8){const _0x312fdb=a89_0xbc9ec2;return[..._0xe647d8][_0x312fdb(0xef)](',\x20');}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x4c0413=a89_0xbc9ec2;return _0x4c0413(0xfe)+getTopLevelConfigKeySummary()+_0x4c0413(0xfd);}export function buildAppProfileListFields(_0x4e8df7){return{'env':_0x4e8df7,'hasAccessKey':![],'format':null,'pageSize':null,'riskLevel':null,'locale':null};}function a89_0xe2c1(){const _0xf0579a=['legacyCompatOnly','27VSxxdG','toLowerCase','en-US','Versioned\x20enterprise\x20routing\x20manifest','Override\x20SkillHub\x20domain','join','364948byIXjJ','env','Risk\x20level','5065878ICzBPV','Override\x20runtime\x20domain','Lovrabet\x20region','Native\x20Lovrabet\x20tool\x20availability\x20in\x20the\x20current\x20execution\x20host','enumValues','9183464Npzhsg','filter','Default\x20output\x20format','Default\x20page\x20size','306750rbpuqJ',';\x20local\x20alias:\x20apps.<alias>.appcode','Config\x20key.\x20Top-level:\x20','nativeToolAvailable','map','4811926GCvZUZ','entries','has','Override\x20user\x20domain','riskLevel','cliSettableTopLevel','App\x20locale\x20(not\x20CLI\x20language;\x20reserved\x20for\x20later\x20app\x20use)','8FZSVPs','fromEntries','29541816nyVvjf','defaultValue','zh-CN','216582NsSNXE'];a89_0xe2c1=function(){return _0xf0579a;};return a89_0xe2c1();}
|
package/lib/constant/app.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a90_0x5530(_0x2e87f2,_0x4e5c70){_0x2e87f2=_0x2e87f2-0x1da;const _0x4eb2df=a90_0x4eb2();let _0x553071=_0x4eb2df[_0x2e87f2];return _0x553071;}(function(_0x227252,_0x2ffeab){const _0x53f433=a90_0x5530,_0x460e81=_0x227252();while(!![]){try{const _0x5911fa=parseInt(_0x53f433(0x1db))/0x1*(-parseInt(_0x53f433(0x1e2))/0x2)+parseInt(_0x53f433(0x1de))/0x3+parseInt(_0x53f433(0x1dc))/0x4*(-parseInt(_0x53f433(0x1dd))/0x5)+parseInt(_0x53f433(0x1da))/0x6+parseInt(_0x53f433(0x1df))/0x7+parseInt(_0x53f433(0x1e0))/0x8+-parseInt(_0x53f433(0x1e1))/0x9;if(_0x5911fa===_0x2ffeab)break;else _0x460e81['push'](_0x460e81['shift']());}catch(_0x48a42c){_0x460e81['push'](_0x460e81['shift']());}}}(a90_0x4eb2,0x385c5));export const APP_PUBLISH_STATUS={'Published':'PUBLISHED','Unpublished':'UNPUBLISH'};function a90_0x4eb2(){const _0x2112ac=['647358RedyMf','3mBUtOr','4JkAzJW','1238385PpSPYF','638028GhrOkK','2750867ssNYCm','476624yOASfE','1857852FhRgwl','58780bOHTbl'];a90_0x4eb2=function(){return _0x2112ac;};return a90_0x4eb2();}export const RUNTIME_ACCESSIBLE_APP_STATUS=APP_PUBLISH_STATUS['Published'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a91_0xf9e4f6=a91_0x276f;(function(_0x4d05fd,_0x3f35f6){const _0x5828b1=a91_0x276f,_0x4cb0e8=_0x4d05fd();while(!![]){try{const _0x1654b0=parseInt(_0x5828b1(0x17b))/0x1*(-parseInt(_0x5828b1(0x182))/0x2)+parseInt(_0x5828b1(0x185))/0x3*(-parseInt(_0x5828b1(0x17a))/0x4)+-parseInt(_0x5828b1(0x17e))/0x5+-parseInt(_0x5828b1(0x17d))/0x6+-parseInt(_0x5828b1(0x180))/0x7*(parseInt(_0x5828b1(0x181))/0x8)+parseInt(_0x5828b1(0x184))/0x9*(-parseInt(_0x5828b1(0x183))/0xa)+parseInt(_0x5828b1(0x17c))/0xb;if(_0x1654b0===_0x3f35f6)break;else _0x4cb0e8['push'](_0x4cb0e8['shift']());}catch(_0x1b1a81){_0x4cb0e8['push'](_0x4cb0e8['shift']());}}}(a91_0x44e8,0x2fd1b));function a91_0x276f(_0x4e03e6,_0x51336e){_0x4e03e6=_0x4e03e6-0x17a;const _0x44e873=a91_0x44e8();let _0x276fcb=_0x44e873[_0x4e03e6];return _0x276fcb;}function a91_0x44e8(){const _0x191936=['11808LMajdr','1299Tlaqxt','288MNGpBD','25973ZrGZAE','10398498OwjZFU','417264XiIDRZ','1774830VAQYjT','client-ak','14ZAqjfl','96200XgmKhy','14MVDuVK','670acWjvg'];a91_0x44e8=function(){return _0x191936;};return a91_0x44e8();}export const AUTH_MODE={'ClientAk':a91_0xf9e4f6(0x17f)};export function isAuthMode(_0x3ac695){return _0x3ac695===AUTH_MODE['ClientAk'];}
|