@lovrabet/lovrabet-cli 2.3.6 → 2.3.7
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 +15 -11
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/approval/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/import-excel.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +6 -6
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-management-client.d.ts +5 -3
- package/lib/core/kb-management-client.js +1 -1
- package/lib/core/kb-search-client.d.ts +6 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/access-error.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/services/dataset-import/auto-id-runner.js +1 -1
- package/lib/services/dataset-import/excel-reader.js +1 -1
- package/lib/services/dataset-import/image-bytes.js +1 -1
- package/lib/services/dataset-import/image-ooxml.js +1 -1
- package/lib/services/dataset-import/image-runner.js +1 -1
- package/lib/services/dataset-import/metadata.js +1 -1
- package/lib/services/dataset-import/preview.js +1 -1
- package/lib/services/dataset-import/runner.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/positive-safe-integer.js +1 -1
- package/lib/utils/redaction.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +2 -2
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +9 -5
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a12_0xcb1a05=a12_0x4f27;(function(_0x139096,_0x56d837){const _0x502aac=a12_0x4f27,_0x252987=_0x139096();while(!![]){try{const _0x530caf=-parseInt(_0x502aac(0x123))/0x1+-parseInt(_0x502aac(0x112))/0x2*(parseInt(_0x502aac(0x116))/0x3)+-parseInt(_0x502aac(0x138))/0x4*(-parseInt(_0x502aac(0x105))/0x5)+parseInt(_0x502aac(0x102))/0x6*(parseInt(_0x502aac(0x10a))/0x7)+-parseInt(_0x502aac(0x10e))/0x8*(parseInt(_0x502aac(0x144))/0x9)+-parseInt(_0x502aac(0x121))/0xa+parseInt(_0x502aac(0x129))/0xb;if(_0x530caf===_0x56d837)break;else _0x252987['push'](_0x252987['shift']());}catch(_0x50b5aa){_0x252987['push'](_0x252987['shift']());}}}(a12_0x450d,0xb8ee6));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x4edbee){const _0xdc4c7e=a12_0x4f27;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x4edbee[_0xdc4c7e(0x13a)](_0xdc4c7e(0x100)),'explicitProject':_0x4edbee[_0xdc4c7e(0x13a)](_0xdc4c7e(0x104)),'policy':_0xdc4c7e(0x147)}));}function a12_0x450d(){const _0x92a96=['5622BWarop','log','status','str','1299neWFQE','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','utf8','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Device\x20auth\x20API\x20returned\x20HTTP\x20','/api/device-auth/token','Device\x20authorization\x20successful.','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','networkError','removeListener','Write\x20to\x20project\x20config','10000930QUWViO','stringify','452966wwgUbm','trim','device','source','access_key','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','43987141FZgAQH','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Verify:\x20','floor','\x20remaining','Invalid\x20access_key\x20returned\x20by\x20server.','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','validation','data','lovrabet-cli','name','AccessKey\x20saved\x20to\x20','once','&source=','toISOString','4gywiSO','stderr','bool','SIGINT','\x0dWaiting\x20for\x20authorization...\x20','\x20auth\x20device','scope','nonInteractive','code','\x20auth\x20status','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','747bPcSHo','createdAt','AbortError','global-default','apiError','signal','abort','/device-auth?code=','global','After\x20authorizing,\x20re-run:\x20','498ZyTxZZ','POST','project','1066925YjzMFZ','cancelled','),\x20retrying...','boolean','url-only','21917LjtGUn','test','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','now','100664FCeXEO','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','string','Device\x20authorization\x20cancelled.'];a12_0x450d=function(){return _0x92a96;};return a12_0x450d();}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;function a12_0x4f27(_0x4b812f,_0x45ba85){_0x4b812f=_0x4b812f-0xff;const _0x450d6f=a12_0x450d();let _0x4f2771=_0x450d6f[_0x4b812f];return _0x4f2771;}export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x20bc97,_0x80bd82,_0x5c57a9='lovrabet-cli'){const _0x2a0f5b=a12_0x4f27;return _0x20bc97+_0x2a0f5b(0xff)+encodeURIComponent(_0x80bd82)+_0x2a0f5b(0x136)+encodeURIComponent(_0x5c57a9);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x334c02=a12_0x4f27,_0x5d82ac=getDeviceCodePath();if(!existsSync(_0x5d82ac))return null;try{const _0x36738a=readFileSync(_0x5d82ac,{'encoding':_0x334c02(0x118)}),_0x76651c=JSON['parse'](_0x36738a);if(_0x76651c&&typeof _0x76651c['code']===_0x334c02(0x110)&&typeof _0x76651c[_0x334c02(0x145)]===_0x334c02(0x110)&&(_0x76651c[_0x334c02(0x13e)]==='global'||_0x76651c[_0x334c02(0x13e)]===_0x334c02(0x104)))return _0x76651c;}catch{}return null;}export function writeStoredDeviceCode(_0x3b9568,_0x185da7){const _0x6fa6c4=a12_0x4f27,_0x50436c=getDeviceCodePath(),_0x2b2726=dirname(_0x50436c);!existsSync(_0x2b2726)&&mkdirSync(_0x2b2726,{'recursive':!![]});const _0x547ce2={'code':_0x3b9568,'createdAt':new Date()[_0x6fa6c4(0x137)](),'scope':_0x185da7};writeFileSync(_0x50436c,JSON[_0x6fa6c4(0x122)](_0x547ce2),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x473fb9=getDeviceCodePath();try{unlinkSync(_0x473fb9);}catch{}}export function isStoredDeviceCodeExpired(_0x1cecdf){const _0x57a8f7=a12_0x4f27;return Date[_0x57a8f7(0x10d)]()-new Date(_0x1cecdf[_0x57a8f7(0x145)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x4353f0,_0x251d46){const _0x5f2db1=a12_0x4f27,_0x181ab7=_0x4353f0+_0x5f2db1(0x11b),_0x1bcdb3=new AbortController(),_0x463155=setTimeout(()=>_0x1bcdb3[_0x5f2db1(0x14a)](),0x2710),_0x35a28a=await fetch(_0x181ab7,{'method':_0x5f2db1(0x103),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5f2db1(0x122)]({'code':_0x251d46}),'signal':_0x1bcdb3[_0x5f2db1(0x149)]});clearTimeout(_0x463155);if(!_0x35a28a['ok'])throw CliErrors[_0x5f2db1(0x11e)](_0x5f2db1(0x11a)+_0x35a28a[_0x5f2db1(0x114)]);const _0x15ddd5=await _0x35a28a['json'](),_0x3354c4=_0x15ddd5[_0x5f2db1(0x131)]&&typeof _0x15ddd5[_0x5f2db1(0x131)]==='object'?_0x15ddd5['data']:_0x15ddd5;if(!_0x3354c4||typeof _0x3354c4['status']!==_0x5f2db1(0x110))throw CliErrors[_0x5f2db1(0x148)]('Invalid\x20device\x20auth\x20response');return{'status':_0x3354c4['status'],'access_key':typeof _0x3354c4[_0x5f2db1(0x127)]===_0x5f2db1(0x110)?_0x3354c4[_0x5f2db1(0x127)]:undefined};}export async function pollDeviceToken(_0x2457af,_0xef61d9,_0x2b92d6){const _0x99efad=a12_0x4f27;let _0x4763b1=0x0;for(let _0x231518=0x0;_0x231518<MAX_POLLS;_0x231518++){if(_0x2b92d6['aborted'])throw CliErrors['cancelled'](_0x99efad(0x111));let _0x1d25bd;try{_0x1d25bd=await fetchDeviceToken(_0x2457af,_0xef61d9);}catch(_0x49bef6){if(_0x49bef6 instanceof Error&&_0x49bef6[_0x99efad(0x133)]===_0x99efad(0x146))throw CliErrors[_0x99efad(0x106)](_0x99efad(0x111));_0x4763b1++;if(_0x4763b1>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x99efad(0x11e)](_0x99efad(0x117));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x4763b1+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x99efad(0x107)),await sleep(POLL_INTERVAL_MS);continue;}_0x4763b1=0x0;if(_0x1d25bd[_0x99efad(0x114)]==='success'){if(!_0x1d25bd[_0x99efad(0x127)])throw CliErrors['apiError']('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x1d25bd['access_key'];}if(_0x1d25bd[_0x99efad(0x114)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x99efad(0x130)](_0x99efad(0x12a));}const _0x3e428b=(_0x231518+0x1)*POLL_INTERVAL_MS,_0x47933e=DEVICE_CODE_TTL_MS-_0x3e428b,_0x340ce9=Math[_0x99efad(0x12c)](_0x47933e/0xea60),_0xc9c066=Math[_0x99efad(0x12c)](_0x47933e%0xea60/0x3e8);process[_0x99efad(0x139)]['write'](_0x99efad(0x13c)+_0x340ce9+':'+String(_0xc9c066)['padStart'](0x2,'0')+_0x99efad(0x12d)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x99efad(0x130)](_0x99efad(0x142));}function sleep(_0x185581){return new Promise(_0xab8a2c=>setTimeout(_0xab8a2c,_0x185581));}export const authDeviceDefinition={'service':'auth','command':a12_0xcb1a05(0x125),'description':a12_0xcb1a05(0x12f),'risk':'write','confirmationDescription':a12_0xcb1a05(0x11d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0xcb1a05(0x100),'type':a12_0xcb1a05(0x108),'description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a12_0xcb1a05(0x104),'type':a12_0xcb1a05(0x108),'description':a12_0xcb1a05(0x120),'default':![]},{'name':a12_0xcb1a05(0x126),'type':a12_0xcb1a05(0x110),'description':a12_0xcb1a05(0x10f),'default':a12_0xcb1a05(0x132)},{'name':a12_0xcb1a05(0x109),'type':a12_0xcb1a05(0x108),'description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x2dea40){const _0x561cdb=a12_0xcb1a05,_0x458589=resolveAuthScopeFlags(_0x2dea40),_0x202539=_0x458589[_0x561cdb(0x100)]?_0x561cdb(0x100):'project',_0x1d1144=readScopedConfig(_0x458589);if(_0x1d1144['accessKey'])return{'ok':!![],'message':_0x561cdb(0x128)};const _0x5182f5=(_0x2dea40[_0x561cdb(0x115)](_0x561cdb(0x126))||_0x561cdb(0x132))[_0x561cdb(0x124)](),_0x1674ad=getUserDomain(),_0x33a240=readStoredDeviceCode(),_0x16bfda=_0x33a240&&!isStoredDeviceCodeExpired(_0x33a240)?_0x33a240[_0x561cdb(0x140)]:((()=>{const _0x4ee4bc=generateDeviceCode();return writeStoredDeviceCode(_0x4ee4bc,_0x202539),_0x4ee4bc;})()),_0x4f9132=buildDeviceAuthUrl(_0x1674ad,_0x16bfda,_0x5182f5);if(_0x2dea40[_0x561cdb(0x13a)](_0x561cdb(0x109)))return console[_0x561cdb(0x113)](_0x4f9132),{'ok':!![]};writeCliSideChannelLine(_0x561cdb(0x143)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4f9132),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x2dea40[_0x561cdb(0x13f)])return writeCliSideChannelLine(_0x561cdb(0x101)+CLI_BIN_NAME+_0x561cdb(0x13d)),{'ok':!![],'message':_0x561cdb(0x119)};writeCliSideChannelLine(_0x561cdb(0x10c));const _0x2d550a=new AbortController(),_0x28c1e2=()=>{const _0x1376a1=_0x561cdb;_0x2d550a['abort'](),process[_0x1376a1(0x11f)]('SIGINT',_0x28c1e2);};process[_0x561cdb(0x135)](_0x561cdb(0x13b),_0x28c1e2);let _0x45563d;try{_0x45563d=await pollDeviceToken(_0x1674ad,_0x16bfda,_0x2d550a['signal']);}finally{process[_0x561cdb(0x11f)](_0x561cdb(0x13b),_0x28c1e2);}if(!ACCESS_KEY_PATTERN[_0x561cdb(0x10b)](_0x45563d))throw CliErrors[_0x561cdb(0x148)](_0x561cdb(0x12e));const _0xe3b3e5=readScopedConfig(_0x458589);return _0xe3b3e5['accessKey']=_0x45563d,writeScopedConfig(_0xe3b3e5,_0x458589),deleteStoredDeviceCode(),process[_0x561cdb(0x139)]['write']('\x0a'),writeCliSideChannelLine(_0x561cdb(0x134)+_0x202539+'\x20config.'),writeCliSideChannelLine(_0x561cdb(0x12b)+CLI_BIN_NAME+_0x561cdb(0x141)),{'ok':!![],'message':_0x561cdb(0x11c)};}};
|
|
1
|
+
const a12_0x30705b=a12_0x4810;(function(_0x1aa59d,_0x3a0431){const _0xf936f5=a12_0x4810,_0x30e235=_0x1aa59d();while(!![]){try{const _0x25e968=parseInt(_0xf936f5(0x14a))/0x1+parseInt(_0xf936f5(0x164))/0x2+parseInt(_0xf936f5(0x177))/0x3*(-parseInt(_0xf936f5(0x155))/0x4)+-parseInt(_0xf936f5(0x15e))/0x5+-parseInt(_0xf936f5(0x162))/0x6*(-parseInt(_0xf936f5(0x13a))/0x7)+-parseInt(_0xf936f5(0x172))/0x8+-parseInt(_0xf936f5(0x143))/0x9;if(_0x25e968===_0x3a0431)break;else _0x30e235['push'](_0x30e235['shift']());}catch(_0x37a89b){_0x30e235['push'](_0x30e235['shift']());}}}(a12_0x3e37,0x8c0c5));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x2db656){const _0x8a4e40=a12_0x4810;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x2db656[_0x8a4e40(0x141)](_0x8a4e40(0x16d)),'explicitProject':_0x2db656[_0x8a4e40(0x141)](_0x8a4e40(0x12f)),'policy':_0x8a4e40(0x159)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x5361e5,_0x406e34,_0x455a98=a12_0x30705b(0x146)){const _0x28c265=a12_0x30705b;return _0x5361e5+_0x28c265(0x12d)+encodeURIComponent(_0x406e34)+'&source='+encodeURIComponent(_0x455a98);}export function getDeviceCodePath(){const _0x53af30=a12_0x30705b;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x53af30(0x12a);}export function readStoredDeviceCode(){const _0x14b771=a12_0x30705b,_0x439ca3=getDeviceCodePath();if(!existsSync(_0x439ca3))return null;try{const _0x1c2385=readFileSync(_0x439ca3,{'encoding':_0x14b771(0x168)}),_0x4d7ea9=JSON[_0x14b771(0x12e)](_0x1c2385);if(_0x4d7ea9&&typeof _0x4d7ea9['code']===_0x14b771(0x131)&&typeof _0x4d7ea9[_0x14b771(0x13b)]==='string'&&(_0x4d7ea9[_0x14b771(0x165)]===_0x14b771(0x16d)||_0x4d7ea9[_0x14b771(0x165)]===_0x14b771(0x12f)))return _0x4d7ea9;}catch{}return null;}export function writeStoredDeviceCode(_0x10f6c2,_0x1b011b){const _0x38bd76=a12_0x30705b,_0x11fdc7=getDeviceCodePath(),_0xb3e8d5=dirname(_0x11fdc7);!existsSync(_0xb3e8d5)&&mkdirSync(_0xb3e8d5,{'recursive':!![]});const _0x2c8d54={'code':_0x10f6c2,'createdAt':new Date()[_0x38bd76(0x130)](),'scope':_0x1b011b};writeFileSync(_0x11fdc7,JSON[_0x38bd76(0x160)](_0x2c8d54),{'encoding':'utf8','mode':0x180});}function a12_0x4810(_0x3b43ae,_0x16701d){_0x3b43ae=_0x3b43ae-0x12a;const _0x3e374d=a12_0x3e37();let _0x481020=_0x3e374d[_0x3b43ae];return _0x481020;}export function deleteStoredDeviceCode(){const _0xd5a102=getDeviceCodePath();try{unlinkSync(_0xd5a102);}catch{}}export function isStoredDeviceCodeExpired(_0x2df715){const _0x3759a1=a12_0x30705b;return Date[_0x3759a1(0x14d)]()-new Date(_0x2df715[_0x3759a1(0x13b)])[_0x3759a1(0x145)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x5a34ba,_0x96818c){const _0x5a25f4=a12_0x30705b,_0x3b47be=_0x5a34ba+_0x5a25f4(0x16f),_0x450280=new AbortController(),_0x38a936=setTimeout(()=>_0x450280['abort'](),0x2710),_0x4c0f46=await fetch(_0x3b47be,{'method':_0x5a25f4(0x14f),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5a25f4(0x160)]({'code':_0x96818c}),'signal':_0x450280[_0x5a25f4(0x171)]});clearTimeout(_0x38a936);if(!_0x4c0f46['ok'])throw CliErrors[_0x5a25f4(0x15a)](_0x5a25f4(0x16c)+_0x4c0f46['status']);const _0x52be5b=await _0x4c0f46[_0x5a25f4(0x156)](),_0xab0dff=_0x52be5b[_0x5a25f4(0x12b)]&&typeof _0x52be5b[_0x5a25f4(0x12b)]===_0x5a25f4(0x157)?_0x52be5b['data']:_0x52be5b;if(!_0xab0dff||typeof _0xab0dff[_0x5a25f4(0x15b)]!==_0x5a25f4(0x131))throw CliErrors[_0x5a25f4(0x135)](_0x5a25f4(0x14b));return{'status':_0xab0dff[_0x5a25f4(0x15b)],'access_key':typeof _0xab0dff[_0x5a25f4(0x139)]===_0x5a25f4(0x131)?_0xab0dff[_0x5a25f4(0x139)]:undefined};}export async function pollDeviceToken(_0x39fc91,_0x5e3bfd,_0x4f2621){const _0x1f9746=a12_0x30705b;let _0x6fbf2d=0x0;for(let _0x3f1061=0x0;_0x3f1061<MAX_POLLS;_0x3f1061++){if(_0x4f2621[_0x1f9746(0x13e)])throw CliErrors[_0x1f9746(0x142)](_0x1f9746(0x154));let _0x1cbd7b;try{_0x1cbd7b=await fetchDeviceToken(_0x39fc91,_0x5e3bfd);}catch(_0x20839a){if(_0x20839a instanceof Error&&_0x20839a[_0x1f9746(0x14e)]==='AbortError')throw CliErrors['cancelled'](_0x1f9746(0x154));_0x6fbf2d++;if(_0x6fbf2d>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1f9746(0x15a)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x6fbf2d+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1f9746(0x158)),await sleep(POLL_INTERVAL_MS);continue;}_0x6fbf2d=0x0;if(_0x1cbd7b['status']===_0x1f9746(0x134)){if(!_0x1cbd7b[_0x1f9746(0x139)])throw CliErrors['apiError'](_0x1f9746(0x175));return _0x1cbd7b[_0x1f9746(0x139)];}if(_0x1cbd7b[_0x1f9746(0x15b)]===_0x1f9746(0x150)){deleteStoredDeviceCode();throw CliErrors[_0x1f9746(0x13c)](_0x1f9746(0x144));}const _0x1e38d7=(_0x3f1061+0x1)*POLL_INTERVAL_MS,_0x82e8d0=DEVICE_CODE_TTL_MS-_0x1e38d7,_0x481606=Math[_0x1f9746(0x179)](_0x82e8d0/0xea60),_0x27b7e7=Math[_0x1f9746(0x179)](_0x82e8d0%0xea60/0x3e8);process[_0x1f9746(0x166)][_0x1f9746(0x140)](_0x1f9746(0x173)+_0x481606+':'+String(_0x27b7e7)[_0x1f9746(0x132)](0x2,'0')+_0x1f9746(0x161)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1f9746(0x13c)](_0x1f9746(0x13f));}function a12_0x3e37(){const _0x2d549a=['AccessKey\x20saved\x20to\x20','signal','2786360RgSxOm','\x0dWaiting\x20for\x20authorization...\x20','code','Invalid\x20access_key\x20returned\x20by\x20server.','source','6ZHjaal','\x20config.','floor','/.device-auth','data','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','/device-auth?code=','parse','project','toISOString','string','padStart','Verify:\x20','success','apiError','SIGINT','log','boolean','access_key','70HxVEpQ','createdAt','validation','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','aborted','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','write','bool','cancelled','1485396MIUvxY','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','getTime','lovrabet-cli','str','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','nonInteractive','389167gQbCKq','Invalid\x20device\x20auth\x20response','removeListener','now','name','POST','expired','After\x20authorizing,\x20re-run:\x20','Write\x20to\x20project\x20config','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','Device\x20authorization\x20cancelled.','434228iqbjiR','json','object','),\x20retrying...','global-default','networkError','status','url-only','\x20auth\x20status','1813790RNcMZp','accessKey','stringify','\x20remaining','176646YKdNlB','Write\x20to\x20global\x20config\x20(default)','1966542LGRWBF','scope','stderr','\x20auth\x20device','utf8','once','device','auth','Device\x20auth\x20API\x20returned\x20HTTP\x20','global','abort','/api/device-auth/token'];a12_0x3e37=function(){return _0x2d549a;};return a12_0x3e37();}function sleep(_0x5d637f){return new Promise(_0x43b5ce=>setTimeout(_0x43b5ce,_0x5d637f));}export const authDeviceDefinition={'service':a12_0x30705b(0x16b),'command':a12_0x30705b(0x16a),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a12_0x30705b(0x140),'confirmationDescription':a12_0x30705b(0x153),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x30705b(0x16d),'type':a12_0x30705b(0x138),'description':a12_0x30705b(0x163),'default':!![]},{'name':a12_0x30705b(0x12f),'type':a12_0x30705b(0x138),'description':a12_0x30705b(0x152),'default':![]},{'name':a12_0x30705b(0x176),'type':a12_0x30705b(0x131),'description':a12_0x30705b(0x12c),'default':a12_0x30705b(0x146)},{'name':a12_0x30705b(0x15c),'type':'boolean','description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x51c811){const _0x4d76d9=a12_0x30705b,_0x539325=resolveAuthScopeFlags(_0x51c811),_0x30fdb4=_0x539325['global']?_0x4d76d9(0x16d):_0x4d76d9(0x12f),_0x7c0c5a=readScopedConfig(_0x539325);if(_0x7c0c5a['accessKey'])return{'ok':!![],'message':_0x4d76d9(0x148)};const _0x312c86=(_0x51c811[_0x4d76d9(0x147)](_0x4d76d9(0x176))||_0x4d76d9(0x146))['trim'](),_0x2d0f4f=getUserDomain(),_0xe3da99=readStoredDeviceCode(),_0x4c2512=_0xe3da99&&!isStoredDeviceCodeExpired(_0xe3da99)?_0xe3da99[_0x4d76d9(0x174)]:((()=>{const _0x25fd11=generateDeviceCode();return writeStoredDeviceCode(_0x25fd11,_0x30fdb4),_0x25fd11;})()),_0x21689c=buildDeviceAuthUrl(_0x2d0f4f,_0x4c2512,_0x312c86);if(_0x51c811[_0x4d76d9(0x141)](_0x4d76d9(0x15c)))return console[_0x4d76d9(0x137)](_0x21689c),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x21689c),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x51c811[_0x4d76d9(0x149)])return writeCliSideChannelLine(_0x4d76d9(0x151)+CLI_BIN_NAME+_0x4d76d9(0x167)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x4d76d9(0x13d));const _0x29a223=new AbortController(),_0x399541=()=>{const _0x8bc5e8=_0x4d76d9;_0x29a223[_0x8bc5e8(0x16e)](),process[_0x8bc5e8(0x14c)]('SIGINT',_0x399541);};process[_0x4d76d9(0x169)](_0x4d76d9(0x136),_0x399541);let _0x53108c;try{_0x53108c=await pollDeviceToken(_0x2d0f4f,_0x4c2512,_0x29a223[_0x4d76d9(0x171)]);}finally{process[_0x4d76d9(0x14c)](_0x4d76d9(0x136),_0x399541);}if(!ACCESS_KEY_PATTERN['test'](_0x53108c))throw CliErrors[_0x4d76d9(0x135)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x40b3c7=readScopedConfig(_0x539325);return _0x40b3c7[_0x4d76d9(0x15f)]=_0x53108c,writeScopedConfig(_0x40b3c7,_0x539325),deleteStoredDeviceCode(),process[_0x4d76d9(0x166)][_0x4d76d9(0x140)]('\x0a'),writeCliSideChannelLine(_0x4d76d9(0x170)+_0x30fdb4+_0x4d76d9(0x178)),writeCliSideChannelLine(_0x4d76d9(0x133)+CLI_BIN_NAME+_0x4d76d9(0x15d)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a13_0xf6a604=a13_0x3af9;(function(_0x38e9c5,_0x394022){const _0x1fbf1b=a13_0x3af9,_0x451529=_0x38e9c5();while(!![]){try{const _0x20b85a=-parseInt(_0x1fbf1b(0x181))/0x1+-parseInt(_0x1fbf1b(0x1ab))/0x2+parseInt(_0x1fbf1b(0x1a9))/0x3+parseInt(_0x1fbf1b(0x19f))/0x4+parseInt(_0x1fbf1b(0x174))/0x5*(-parseInt(_0x1fbf1b(0x1c1))/0x6)+-parseInt(_0x1fbf1b(0x196))/0x7*(parseInt(_0x1fbf1b(0x17b))/0x8)+parseInt(_0x1fbf1b(0x1a5))/0x9;if(_0x20b85a===_0x394022)break;else _0x451529['push'](_0x451529['shift']());}catch(_0x32189a){_0x451529['push'](_0x451529['shift']());}}}(a13_0xc86b,0xd53dd));import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../../constant/product.js';import{AUTH_MODE}from'../../constant/auth-mode.js';import{normalizeEnv,isDaily,isDev}from'../../constant/env.js';import{USER_ACCESS_KEY_CREATE_URL}from'../../constant/url.js';import{CliErrors}from'../../errors.js';import{promptAccessKey,isAbortPrompt}from'../../commands/auth/prompt.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';function a13_0xc86b(){const _0x39fa5=['project','Saves\x20a\x20new\x20AccessKey\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20An\x20existing\x20key\x20in\x20that\x20scope\x20is\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20secret.','Status:\x20valid','Expected:\x20ak_\x20followed\x20by\x2016+\x20alphanumeric\x20chars','expired','logout','\x20auth\x20login\x20--access-key\x20<ak_xxx>`\x20to\x20save\x20credentials.','Device\x20authorization\x20pending.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20try\x20again.','\x20auth\x20login\x20--access-key\x20<ak_xxx>\x20[--global]','Read\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','Auth\x20mode:\x20','\x20config','Removes\x20the\x20AccessKey\x20from\x20the\x20selected\x20Lovrabet\x20config.\x20Commands\x20that\x20need\x20that\x20key\x20will\x20require\x20login\x20again.','userCenterDisplayName','global-default','AccessKey\x20(ak_xxx...)','write','\x20auth\x20login\x20--non-interactive`\x20to\x20avoid\x20prompts,\x20or\x20`','cancelled','access-key','1039857aAHRqw','validation','success','Save\x20the\x20AccessKey\x20to\x20config\x20(global\x20by\x20default;\x20use\x20--project\x20for\x20the\x20project\x20file)','check','\x20Current\x20env:\x20','If\x20command\x20execution\x20still\x20fails,\x20run:\x20','Give\x20the\x20AccessKey\x20to\x20your\x20AI\x20Agent,\x20then\x20run:\x20','login','130636uNHweY','boolean','AccessKey\x20saved\x20to\x20','\x20config.','{\x20\x22accessKey\x22:\x20\x22ak_xxx\x22\x20}','env','31636170RXxRvo','push','str','AccessKey\x20cleared\x20from\x20','3019428bsmrqK','No\x20AccessKey\x20found\x20in\x20','2225684HOVANG','global','Fetch\x20current\x20login\x20user\x20info\x20for\x20the\x20active\x20access\x20key','Clear\x20the\x20AccessKey\x20from\x20config','Clear\x20from\x20global\x20config\x20(default)','nonInteractive','authRequired','trim','Show\x20current\x20authentication\x20status','No\x20credentials\x20found.\x20Configure\x20one\x20of\x20the\x20options\x20below:','scope','auth','Use\x20`','Invalid\x20accessKey\x20format.','status','Tip:\x20you\x20can\x20also\x20run:','bool','Option\x20C:\x20environment\x20variable','\x20doctor','ClientAk','accessKeyCreatePath','Shorthand\x20for\x20--access-key','580806CXMTvy','=ak_xxx','isTTY','Option\x20A:\x20','production','project\x20config','accessKey','read','join','string','\x20auth\x20login\x20[--global]\x20[--access-key\x20ak_xxx]','test','\x20auth\x20status','AccessKey:\x20','access_key','50RjnRtZ','\x20(via\x20','Clear\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','info','ACCESS_KEY','\x20config.\x20Nothing\x20to\x20clear.','daily','16rXexwP','`auth\x20login`\x20does\x20not\x20support\x20--yes.','Write\x20to\x20project\x20config\x20instead\x20of\x20global\x20config','\x20env\x20var','\x20auth\x20login\x20--access-key\x20<ak_xxx>','Read\x20from\x20global\x20config\x20(default)','1302874VGemew'];a13_0xc86b=function(){return _0x39fa5;};return a13_0xc86b();}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{getLoginUserInfo}from'../../core/api-client.js';import{getUserDomain}from'../../constant/domain.js';import{authDeviceDefinition,readStoredDeviceCode,deleteStoredDeviceCode,fetchDeviceToken,isStoredDeviceCodeExpired}from'../../commands/auth/device.js';import{maskCliAccessKey}from'../../utils/access-key-redaction.js';const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/;function showAccessKeyCreateHint(_0x33490c=USER_ACCESS_KEY_CREATE_URL){const _0x4dd14f=a13_0x3af9;writeCliSideChannelLine('AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20'+PRODUCT_CONFIG[_0x4dd14f(0x18f)]+':'),writeCliSideChannelLine('\x0a'+_0x33490c+'\x0a'),writeCliSideChannelLine(_0x4dd14f(0x1ba)),writeCliSideChannelLine('\x20\x20'+CLI_BIN_NAME+_0x4dd14f(0x17f));}function buildAccessKeySetupGuide(_0x247e0c=USER_ACCESS_KEY_CREATE_URL){const _0x1e32f0=a13_0x3af9;return['AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20'+PRODUCT_CONFIG[_0x1e32f0(0x18f)]+':',_0x247e0c,_0x1e32f0(0x19d)+CLI_BIN_NAME+_0x1e32f0(0x18a)][_0x1e32f0(0x1c9)]('\x0a');}function canPromptForAccessKey(_0x387107){const _0x2e321a=a13_0x3af9;return!_0x387107[_0x2e321a(0x1b0)]&&process['stdin'][_0x2e321a(0x1c3)]!==![]&&process['stdout']['isTTY']!==![];}function resolveAuthScopeFlags(_0x2b74d6){const _0x397a5a=a13_0x3af9;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x2b74d6[_0x397a5a(0x1bb)](_0x397a5a(0x1ac)),'explicitProject':_0x2b74d6[_0x397a5a(0x1bb)]('project'),'policy':_0x397a5a(0x190)}));}function a13_0x3af9(_0x1456da,_0x5611de){_0x1456da=_0x1456da-0x172;const _0xc86bd0=a13_0xc86b();let _0x3af90e=_0xc86bd0[_0x1456da];return _0x3af90e;}async function resolveAuthWriteInput(_0x3bb065){const _0xb19e71=a13_0x3af9;let _0xaa65f3=(_0x3bb065[_0xb19e71(0x1a7)]('access-key')||_0x3bb065[_0xb19e71(0x1a7)]('ak')||'')[_0xb19e71(0x1b2)]();const _0x587694=(_0x3bb065[_0xb19e71(0x1a7)](_0xb19e71(0x1a4))||'')[_0xb19e71(0x1b2)](),_0x18e1da=''+getUserDomain()+PRODUCT_CONFIG[_0xb19e71(0x1bf)];if(!_0xaa65f3&&canPromptForAccessKey(_0x3bb065))try{showAccessKeyCreateHint(_0x18e1da),_0xaa65f3=await promptAccessKey('');}catch(_0x1e96b7){if(isAbortPrompt(_0x1e96b7))throw CliErrors[_0xb19e71(0x194)]();throw _0x1e96b7;}if(!_0xaa65f3)throw CliErrors[_0xb19e71(0x197)]('Missing\x20accessKey.',buildAccessKeySetupGuide(_0x18e1da));if(!ACCESS_KEY_PATTERN[_0xb19e71(0x1cc)](_0xaa65f3))throw CliErrors[_0xb19e71(0x197)](_0xb19e71(0x1b8),_0xb19e71(0x185));if(!_0x587694)return{'accessKey':_0xaa65f3};const _0x157262=normalizeEnv(_0x587694);return{'accessKey':_0xaa65f3,'env':isDaily(_0x157262)?_0xb19e71(0x17a):isDev(_0x157262)?'development':_0xb19e71(0x1c5)};}export const authDefinitions=[{'service':a13_0xf6a604(0x1b6),'command':a13_0xf6a604(0x19e),'description':a13_0xf6a604(0x199),'risk':a13_0xf6a604(0x192),'confirmationDescription':a13_0xf6a604(0x183),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a13_0xf6a604(0x195),'type':a13_0xf6a604(0x1ca),'description':a13_0xf6a604(0x191)},{'name':'ak','type':a13_0xf6a604(0x1ca),'description':a13_0xf6a604(0x1c0)},{'name':a13_0xf6a604(0x1ac),'type':a13_0xf6a604(0x1a0),'description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a13_0xf6a604(0x182),'type':a13_0xf6a604(0x1a0),'description':a13_0xf6a604(0x17d),'default':![]}],async 'execute'(_0x4bfea4){const _0x5ac674=a13_0xf6a604;if(_0x4bfea4['bool']('yes'))throw CliErrors[_0x5ac674(0x197)](_0x5ac674(0x17c),_0x5ac674(0x1b7)+CLI_BIN_NAME+_0x5ac674(0x193)+CLI_BIN_NAME+_0x5ac674(0x188));const _0x452761=(_0x4bfea4[_0x5ac674(0x1a7)](_0x5ac674(0x195))||_0x4bfea4[_0x5ac674(0x1a7)]('ak')||'')[_0x5ac674(0x1b2)]();if(!_0x452761&&_0x4bfea4[_0x5ac674(0x1b0)])return{'ok':!![],'message':buildAccessKeySetupGuide(''+getUserDomain()+PRODUCT_CONFIG[_0x5ac674(0x1bf)])};const _0x31a43b=await resolveAuthWriteInput(_0x4bfea4),_0xbf7cab=resolveAuthScopeFlags(_0x4bfea4),_0x56395b=readScopedConfig(_0xbf7cab);_0x56395b[_0x5ac674(0x1c7)]=_0x31a43b[_0x5ac674(0x1c7)];_0x31a43b[_0x5ac674(0x1a4)]&&(_0x56395b[_0x5ac674(0x1a4)]=_0x31a43b[_0x5ac674(0x1a4)]);writeScopedConfig(_0x56395b,_0xbf7cab);const _0x4847bf=_0xbf7cab[_0x5ac674(0x1ac)]?_0x5ac674(0x1ac):_0x5ac674(0x182),_0x35e350=_0x56395b[_0x5ac674(0x1a4)]?_0x5ac674(0x19b)+_0x56395b[_0x5ac674(0x1a4)]+'.':'';return{'ok':!![],'message':_0x5ac674(0x1a1)+_0x4847bf+_0x5ac674(0x1a2)+_0x35e350+'\x20Verify:\x20'+CLI_BIN_NAME+'\x20auth\x20status'};}},{'service':a13_0xf6a604(0x1b6),'command':a13_0xf6a604(0x187),'description':a13_0xf6a604(0x1ae),'risk':a13_0xf6a604(0x192),'confirmationDescription':a13_0xf6a604(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a13_0xf6a604(0x1ac),'type':a13_0xf6a604(0x1a0),'description':a13_0xf6a604(0x1af),'default':!![]},{'name':a13_0xf6a604(0x182),'type':'boolean','description':a13_0xf6a604(0x176),'default':![]}],async 'execute'(_0x46ac0a){const _0x5a54ff=a13_0xf6a604,_0x5ba1c5=resolveAuthScopeFlags(_0x46ac0a),_0x39e96f=readScopedConfig(_0x5ba1c5),_0x2aca1c=!!_0x39e96f['accessKey'];delete _0x39e96f[_0x5a54ff(0x1c7)],writeScopedConfig(_0x39e96f,_0x5ba1c5);const _0x44b9be=_0x5ba1c5[_0x5a54ff(0x1ac)]?_0x5a54ff(0x1ac):_0x5a54ff(0x182);if(_0x2aca1c)return{'ok':!![],'message':_0x5a54ff(0x1a8)+_0x44b9be+'\x20config.'};return{'ok':!![],'message':_0x5a54ff(0x1aa)+_0x44b9be+_0x5a54ff(0x179)};}},{'service':a13_0xf6a604(0x1b6),'command':a13_0xf6a604(0x1b9),'description':a13_0xf6a604(0x1b3),'risk':a13_0xf6a604(0x1c8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a13_0xf6a604(0x1ac),'type':a13_0xf6a604(0x1a0),'description':a13_0xf6a604(0x180),'default':!![]},{'name':a13_0xf6a604(0x182),'type':a13_0xf6a604(0x1a0),'description':a13_0xf6a604(0x18b),'default':![]},{'name':a13_0xf6a604(0x19a),'type':a13_0xf6a604(0x1a0),'description':'Exit\x20non-zero\x20when\x20no\x20AccessKey\x20is\x20configured','default':![]}],async 'execute'(_0x33f4a2){const _0x5623bc=a13_0xf6a604,_0x12a083=resolveAuthScopeFlags(_0x33f4a2),_0x137cae=readScopedConfig(_0x12a083),_0x3a7d7c=productEnvName(_0x5623bc(0x178)),_0xb322eb=productEnv(_0x5623bc(0x178))||undefined,_0x398ec4=_0x137cae[_0x5623bc(0x1c7)]||undefined,_0x408723=_0xb322eb||_0x398ec4,_0x232e02=_0xb322eb?_0x3a7d7c+_0x5623bc(0x17e):_0x398ec4?(_0x12a083[_0x5623bc(0x1ac)]?_0x5623bc(0x1ac):_0x5623bc(0x182))+_0x5623bc(0x18d):null,_0x4214a6=[_0x5623bc(0x18c)+AUTH_MODE['ClientAk']];if(_0x408723){const _0x17f250=maskCliAccessKey(_0x408723);_0x4214a6['push']('AccessKey:\x20'+_0x17f250+(_0x232e02?'\x20(via\x20'+_0x232e02+')':'')),_0x4214a6['push'](_0x5623bc(0x184));}if(!_0x408723){_0x4214a6['push'](''),_0x4214a6[_0x5623bc(0x1a6)](_0x5623bc(0x1b4)),_0x4214a6[_0x5623bc(0x1a6)](''),_0x4214a6[_0x5623bc(0x1a6)](_0x5623bc(0x1c4)+CLI_BIN_NAME+_0x5623bc(0x1cb)),_0x4214a6['push'](''),_0x4214a6[_0x5623bc(0x1a6)]('Option\x20B:\x20apps\x20config\x20('+PRODUCT_CONFIG['newConfigFileName']+')'),_0x4214a6[_0x5623bc(0x1a6)](_0x5623bc(0x1a3)),_0x4214a6[_0x5623bc(0x1a6)](''),_0x4214a6[_0x5623bc(0x1a6)](_0x5623bc(0x1bc)),_0x4214a6[_0x5623bc(0x1a6)]('\x20\x20export\x20'+_0x3a7d7c+_0x5623bc(0x1c2)),_0x4214a6[_0x5623bc(0x1a6)](''),_0x4214a6[_0x5623bc(0x1a6)]('Then\x20verify\x20with:\x20'+CLI_BIN_NAME+_0x5623bc(0x1cd)),_0x4214a6['push'](_0x5623bc(0x19c)+CLI_BIN_NAME+_0x5623bc(0x1bd));if(_0x33f4a2[_0x5623bc(0x1bb)](_0x5623bc(0x19a))){const _0x16cc92=readStoredDeviceCode();if(_0x16cc92&&!isStoredDeviceCodeExpired(_0x16cc92)){const _0x3cd742=getUserDomain(),_0x2c5ab5=await fetchDeviceToken(_0x3cd742,_0x16cc92['code']);if(_0x2c5ab5[_0x5623bc(0x1b9)]===_0x5623bc(0x198)&&_0x2c5ab5[_0x5623bc(0x173)]){const _0x5860b8={'global':_0x16cc92[_0x5623bc(0x1b5)]===_0x5623bc(0x1ac)},_0x4d4381=readScopedConfig(_0x5860b8);_0x4d4381[_0x5623bc(0x1c7)]=_0x2c5ab5[_0x5623bc(0x173)],writeScopedConfig(_0x4d4381,_0x5860b8),deleteStoredDeviceCode();const _0x1a1dc6=_0x2c5ab5[_0x5623bc(0x173)],_0x13e470=maskCliAccessKey(_0x1a1dc6),_0x59239d=_0x16cc92['scope']===_0x5623bc(0x1ac)?'global\x20config':_0x5623bc(0x1c6);return{'ok':!![],'message':[_0x5623bc(0x18c)+AUTH_MODE[_0x5623bc(0x1be)],_0x5623bc(0x172)+_0x13e470+_0x5623bc(0x175)+_0x59239d+')',_0x5623bc(0x184)][_0x5623bc(0x1c9)]('\x0a')};}_0x2c5ab5[_0x5623bc(0x1b9)]===_0x5623bc(0x186)&&deleteStoredDeviceCode();throw CliErrors[_0x5623bc(0x1b1)](_0x5623bc(0x189));}throw CliErrors[_0x5623bc(0x1b1)](_0x4214a6[_0x5623bc(0x1c9)]('\x0a'));}}return{'ok':!![],'message':_0x4214a6[_0x5623bc(0x1c9)]('\x0a')};}},{'service':'auth','command':a13_0xf6a604(0x177),'description':a13_0xf6a604(0x1ad),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0x29f97){const _0x1dfd76=await getLoginUserInfo();return{'ok':!![],'data':{'user':_0x1dfd76,'meta':{'env':_0x29f97['envName']??'production'}}};}},authDeviceDefinition];
|
|
1
|
+
const a13_0x11f613=a13_0x13d3;function a13_0x2ee0(){const _0x23b08d=['Shorthand\x20for\x20--access-key','accessKey','Saves\x20a\x20new\x20AccessKey\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20An\x20existing\x20key\x20in\x20that\x20scope\x20is\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20secret.','Clear\x20the\x20AccessKey\x20from\x20config','Clear\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','29428kBhQog','newConfigFileName','AccessKey\x20(ak_xxx...)','global','scope','=ak_xxx','isTTY','Clear\x20from\x20global\x20config\x20(default)','\x20config.','Invalid\x20accessKey\x20format.','production','envName','nonInteractive','info','AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20','validation','Use\x20`','status','boolean','\x20auth\x20login\x20--non-interactive`\x20to\x20avoid\x20prompts,\x20or\x20`','accessKeyCreatePath','development','No\x20AccessKey\x20found\x20in\x20','\x20Verify:\x20','\x20env\x20var','code','string','\x20doctor','Auth\x20mode:\x20','5DuxzPQ','userCenterDisplayName','5830HqldKX','access-key','Write\x20to\x20project\x20config\x20instead\x20of\x20global\x20config','test','AccessKey\x20cleared\x20from\x20','\x20config.\x20Nothing\x20to\x20clear.','7137432XrNeSP','682jcvVaQ','yes','{\x20\x22accessKey\x22:\x20\x22ak_xxx\x22\x20}','daily','bool','trim','expired','Removes\x20the\x20AccessKey\x20from\x20the\x20selected\x20Lovrabet\x20config.\x20Commands\x20that\x20need\x20that\x20key\x20will\x20require\x20login\x20again.','\x20auth\x20login\x20--access-key\x20<ak_xxx>\x20[--global]','write','8toDBDG','str','Expected:\x20ak_\x20followed\x20by\x2016+\x20alphanumeric\x20chars','\x20auth\x20login\x20--access-key\x20<ak_xxx>','\x20Current\x20env:\x20','AccessKey\x20saved\x20to\x20','\x20auth\x20status','project','access_key','13243779uVZnZw','Write\x20to\x20global\x20config\x20(default)','join','Fetch\x20current\x20login\x20user\x20info\x20for\x20the\x20active\x20access\x20key','check','3800592IVAfIo','ClientAk','AccessKey:\x20','env','ACCESS_KEY','8hjqlOJ','authRequired','success','\x20auth\x20login\x20[--global]\x20[--access-key\x20ak_xxx]','push','\x20(via\x20','global\x20config','1342384PELqMI','auth','\x20\x20export\x20','Give\x20the\x20AccessKey\x20to\x20your\x20AI\x20Agent,\x20then\x20run:\x20','No\x20credentials\x20found.\x20Configure\x20one\x20of\x20the\x20options\x20below:','8386945pagfuz','Show\x20current\x20authentication\x20status','Tip:\x20you\x20can\x20also\x20run:','Save\x20the\x20AccessKey\x20to\x20config\x20(global\x20by\x20default;\x20use\x20--project\x20for\x20the\x20project\x20file)','Read\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','Then\x20verify\x20with:\x20'];a13_0x2ee0=function(){return _0x23b08d;};return a13_0x2ee0();}(function(_0x33d3bb,_0x2b4e49){const _0x47035e=a13_0x13d3,_0x2a4221=_0x33d3bb();while(!![]){try{const _0x37bd0d=parseInt(_0x47035e(0xfb))/0x1*(parseInt(_0x47035e(0x125))/0x2)+parseInt(_0x47035e(0x109))/0x3+parseInt(_0x47035e(0x115))/0x4+-parseInt(_0x47035e(0xe8))/0x5*(parseInt(_0x47035e(0xf0))/0x6)+-parseInt(_0x47035e(0x11a))/0x7+parseInt(_0x47035e(0x10e))/0x8*(parseInt(_0x47035e(0x104))/0x9)+parseInt(_0x47035e(0xea))/0xa*(-parseInt(_0x47035e(0xf1))/0xb);if(_0x37bd0d===_0x2b4e49)break;else _0x2a4221['push'](_0x2a4221['shift']());}catch(_0x449758){_0x2a4221['push'](_0x2a4221['shift']());}}}(a13_0x2ee0,0xbb76a));import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../../constant/product.js';import{AUTH_MODE}from'../../constant/auth-mode.js';import{normalizeEnv,isDaily,isDev}from'../../constant/env.js';import{USER_ACCESS_KEY_CREATE_URL}from'../../constant/url.js';import{CliErrors}from'../../errors.js';import{promptAccessKey,isAbortPrompt}from'../../commands/auth/prompt.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{getLoginUserInfo}from'../../core/api-client.js';import{getUserDomain}from'../../constant/domain.js';import{authDeviceDefinition,readStoredDeviceCode,deleteStoredDeviceCode,fetchDeviceToken,isStoredDeviceCodeExpired}from'../../commands/auth/device.js';import{maskCliAccessKey}from'../../utils/access-key-redaction.js';const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/;function showAccessKeyCreateHint(_0x38e99e=USER_ACCESS_KEY_CREATE_URL){const _0x4aeac0=a13_0x13d3;writeCliSideChannelLine(_0x4aeac0(0x133)+PRODUCT_CONFIG['userCenterDisplayName']+':'),writeCliSideChannelLine('\x0a'+_0x38e99e+'\x0a'),writeCliSideChannelLine(_0x4aeac0(0x11c)),writeCliSideChannelLine('\x20\x20'+CLI_BIN_NAME+_0x4aeac0(0xfe));}function buildAccessKeySetupGuide(_0x23dd78=USER_ACCESS_KEY_CREATE_URL){const _0x47dc48=a13_0x13d3;return[_0x47dc48(0x133)+PRODUCT_CONFIG[_0x47dc48(0xe9)]+':',_0x23dd78,_0x47dc48(0x118)+CLI_BIN_NAME+_0x47dc48(0xf9)]['join']('\x0a');}function canPromptForAccessKey(_0x10d129){const _0x2f5c95=a13_0x13d3;return!_0x10d129[_0x2f5c95(0x131)]&&process['stdin'][_0x2f5c95(0x12b)]!==![]&&process['stdout'][_0x2f5c95(0x12b)]!==![];}function a13_0x13d3(_0x5e1c65,_0x558270){_0x5e1c65=_0x5e1c65-0xe2;const _0x2ee017=a13_0x2ee0();let _0x13d3b7=_0x2ee017[_0x5e1c65];return _0x13d3b7;}function resolveAuthScopeFlags(_0x58e94c){const _0x40cd1e=a13_0x13d3;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x58e94c[_0x40cd1e(0xf5)](_0x40cd1e(0x128)),'explicitProject':_0x58e94c['bool']('project'),'policy':'global-default'}));}async function resolveAuthWriteInput(_0x54eb5a){const _0x2d81f1=a13_0x13d3;let _0x318e04=(_0x54eb5a['str'](_0x2d81f1(0xeb))||_0x54eb5a[_0x2d81f1(0xfc)]('ak')||'')[_0x2d81f1(0xf6)]();const _0xb1d25=(_0x54eb5a[_0x2d81f1(0xfc)](_0x2d81f1(0x10c))||'')['trim'](),_0x24b57f=''+getUserDomain()+PRODUCT_CONFIG[_0x2d81f1(0x139)];if(!_0x318e04&&canPromptForAccessKey(_0x54eb5a))try{showAccessKeyCreateHint(_0x24b57f),_0x318e04=await promptAccessKey('');}catch(_0x5dca2f){if(isAbortPrompt(_0x5dca2f))throw CliErrors['cancelled']();throw _0x5dca2f;}if(!_0x318e04)throw CliErrors[_0x2d81f1(0x134)]('Missing\x20accessKey.',buildAccessKeySetupGuide(_0x24b57f));if(!ACCESS_KEY_PATTERN[_0x2d81f1(0xed)](_0x318e04))throw CliErrors[_0x2d81f1(0x134)](_0x2d81f1(0x12e),_0x2d81f1(0xfd));if(!_0xb1d25)return{'accessKey':_0x318e04};const _0x40767d=normalizeEnv(_0xb1d25);return{'accessKey':_0x318e04,'env':isDaily(_0x40767d)?_0x2d81f1(0xf4):isDev(_0x40767d)?_0x2d81f1(0x13a):_0x2d81f1(0x12f)};}export const authDefinitions=[{'service':a13_0x11f613(0x116),'command':'login','description':a13_0x11f613(0x11d),'risk':a13_0x11f613(0xfa),'confirmationDescription':a13_0x11f613(0x122),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'access-key','type':a13_0x11f613(0xe5),'description':a13_0x11f613(0x127)},{'name':'ak','type':a13_0x11f613(0xe5),'description':a13_0x11f613(0x120)},{'name':'global','type':a13_0x11f613(0x137),'description':a13_0x11f613(0x105),'default':!![]},{'name':'project','type':a13_0x11f613(0x137),'description':a13_0x11f613(0xec),'default':![]}],async 'execute'(_0x4f5576){const _0x4e8d73=a13_0x11f613;if(_0x4f5576['bool'](_0x4e8d73(0xf2)))throw CliErrors[_0x4e8d73(0x134)]('`auth\x20login`\x20does\x20not\x20support\x20--yes.',_0x4e8d73(0x135)+CLI_BIN_NAME+_0x4e8d73(0x138)+CLI_BIN_NAME+'\x20auth\x20login\x20--access-key\x20<ak_xxx>`\x20to\x20save\x20credentials.');const _0xf924c7=(_0x4f5576[_0x4e8d73(0xfc)](_0x4e8d73(0xeb))||_0x4f5576[_0x4e8d73(0xfc)]('ak')||'')['trim']();if(!_0xf924c7&&_0x4f5576[_0x4e8d73(0x131)])return{'ok':!![],'message':buildAccessKeySetupGuide(''+getUserDomain()+PRODUCT_CONFIG[_0x4e8d73(0x139)])};const _0x499317=await resolveAuthWriteInput(_0x4f5576),_0x3a540f=resolveAuthScopeFlags(_0x4f5576),_0xbad9c1=readScopedConfig(_0x3a540f);_0xbad9c1[_0x4e8d73(0x121)]=_0x499317[_0x4e8d73(0x121)];_0x499317['env']&&(_0xbad9c1[_0x4e8d73(0x10c)]=_0x499317[_0x4e8d73(0x10c)]);writeScopedConfig(_0xbad9c1,_0x3a540f);const _0x1959a0=_0x3a540f[_0x4e8d73(0x128)]?_0x4e8d73(0x128):_0x4e8d73(0x102),_0x42dff5=_0xbad9c1[_0x4e8d73(0x10c)]?_0x4e8d73(0xff)+_0xbad9c1[_0x4e8d73(0x10c)]+'.':'';return{'ok':!![],'message':_0x4e8d73(0x100)+_0x1959a0+_0x4e8d73(0x12d)+_0x42dff5+_0x4e8d73(0xe2)+CLI_BIN_NAME+_0x4e8d73(0x101)};}},{'service':'auth','command':'logout','description':a13_0x11f613(0x123),'risk':'write','confirmationDescription':a13_0x11f613(0xf8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a13_0x11f613(0x137),'description':a13_0x11f613(0x12c),'default':!![]},{'name':a13_0x11f613(0x102),'type':a13_0x11f613(0x137),'description':a13_0x11f613(0x124),'default':![]}],async 'execute'(_0x2b32f5){const _0x52591d=a13_0x11f613,_0x40a19f=resolveAuthScopeFlags(_0x2b32f5),_0x22b8f3=readScopedConfig(_0x40a19f),_0x422622=!!_0x22b8f3['accessKey'];delete _0x22b8f3['accessKey'],writeScopedConfig(_0x22b8f3,_0x40a19f);const _0x5157d7=_0x40a19f[_0x52591d(0x128)]?_0x52591d(0x128):'project';if(_0x422622)return{'ok':!![],'message':_0x52591d(0xee)+_0x5157d7+_0x52591d(0x12d)};return{'ok':!![],'message':_0x52591d(0x13b)+_0x5157d7+_0x52591d(0xef)};}},{'service':a13_0x11f613(0x116),'command':'status','description':a13_0x11f613(0x11b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a13_0x11f613(0x128),'type':a13_0x11f613(0x137),'description':'Read\x20from\x20global\x20config\x20(default)','default':!![]},{'name':a13_0x11f613(0x102),'type':a13_0x11f613(0x137),'description':a13_0x11f613(0x11e),'default':![]},{'name':'check','type':a13_0x11f613(0x137),'description':'Exit\x20non-zero\x20when\x20no\x20AccessKey\x20is\x20configured','default':![]}],async 'execute'(_0x51932e){const _0x3fd852=a13_0x11f613,_0x1d3b75=resolveAuthScopeFlags(_0x51932e),_0x531b97=readScopedConfig(_0x1d3b75),_0x8df50f=productEnvName(_0x3fd852(0x10d)),_0x429f00=productEnv(_0x3fd852(0x10d))||undefined,_0x3270b5=_0x531b97['accessKey']||undefined,_0x10ba10=_0x429f00||_0x3270b5,_0x1ce121=_0x429f00?_0x8df50f+_0x3fd852(0xe3):_0x3270b5?(_0x1d3b75[_0x3fd852(0x128)]?_0x3fd852(0x128):_0x3fd852(0x102))+'\x20config':null,_0x496907=[_0x3fd852(0xe7)+AUTH_MODE['ClientAk']];if(_0x10ba10){const _0x1e8089=maskCliAccessKey(_0x10ba10);_0x496907[_0x3fd852(0x112)](_0x3fd852(0x10b)+_0x1e8089+(_0x1ce121?_0x3fd852(0x113)+_0x1ce121+')':'')),_0x496907[_0x3fd852(0x112)]('Status:\x20valid');}if(!_0x10ba10){_0x496907[_0x3fd852(0x112)](''),_0x496907['push'](_0x3fd852(0x119)),_0x496907[_0x3fd852(0x112)](''),_0x496907[_0x3fd852(0x112)]('Option\x20A:\x20'+CLI_BIN_NAME+_0x3fd852(0x111)),_0x496907[_0x3fd852(0x112)](''),_0x496907['push']('Option\x20B:\x20apps\x20config\x20('+PRODUCT_CONFIG[_0x3fd852(0x126)]+')'),_0x496907[_0x3fd852(0x112)](_0x3fd852(0xf3)),_0x496907[_0x3fd852(0x112)](''),_0x496907[_0x3fd852(0x112)]('Option\x20C:\x20environment\x20variable'),_0x496907['push'](_0x3fd852(0x117)+_0x8df50f+_0x3fd852(0x12a)),_0x496907['push'](''),_0x496907[_0x3fd852(0x112)](_0x3fd852(0x11f)+CLI_BIN_NAME+_0x3fd852(0x101)),_0x496907[_0x3fd852(0x112)]('If\x20command\x20execution\x20still\x20fails,\x20run:\x20'+CLI_BIN_NAME+_0x3fd852(0xe6));if(_0x51932e[_0x3fd852(0xf5)](_0x3fd852(0x108))){const _0x19d3f5=readStoredDeviceCode();if(_0x19d3f5&&!isStoredDeviceCodeExpired(_0x19d3f5)){const _0x55b15a=getUserDomain(),_0x5877a9=await fetchDeviceToken(_0x55b15a,_0x19d3f5[_0x3fd852(0xe4)]);if(_0x5877a9['status']===_0x3fd852(0x110)&&_0x5877a9[_0x3fd852(0x103)]){const _0x291148={'global':_0x19d3f5[_0x3fd852(0x129)]==='global'},_0x2d506b=readScopedConfig(_0x291148);_0x2d506b[_0x3fd852(0x121)]=_0x5877a9[_0x3fd852(0x103)],writeScopedConfig(_0x2d506b,_0x291148),deleteStoredDeviceCode();const _0x3b6a53=_0x5877a9[_0x3fd852(0x103)],_0x21c4cc=maskCliAccessKey(_0x3b6a53),_0x31ac55=_0x19d3f5[_0x3fd852(0x129)]==='global'?_0x3fd852(0x114):'project\x20config';return{'ok':!![],'message':['Auth\x20mode:\x20'+AUTH_MODE[_0x3fd852(0x10a)],_0x3fd852(0x10b)+_0x21c4cc+'\x20(via\x20'+_0x31ac55+')','Status:\x20valid'][_0x3fd852(0x106)]('\x0a')};}_0x5877a9[_0x3fd852(0x136)]===_0x3fd852(0xf7)&&deleteStoredDeviceCode();throw CliErrors[_0x3fd852(0x10f)]('Device\x20authorization\x20pending.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20try\x20again.');}throw CliErrors['authRequired'](_0x496907[_0x3fd852(0x106)]('\x0a'));}}return{'ok':!![],'message':_0x496907['join']('\x0a')};}},{'service':a13_0x11f613(0x116),'command':a13_0x11f613(0x132),'description':a13_0x11f613(0x107),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0x397c5b){const _0xfe5778=a13_0x11f613,_0x1d787f=await getLoginUserInfo();return{'ok':!![],'data':{'user':_0x1d787f,'meta':{'env':_0x397c5b[_0xfe5778(0x130)]??_0xfe5778(0x12f)}}};}},authDeviceDefinition];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5a1e1a,_0x41fa4e){const _0x49a94b=a14_0x3181,_0x58fa02=_0x5a1e1a();while(!![]){try{const _0x46b631=parseInt(_0x49a94b(0xe2))/0x1+-parseInt(_0x49a94b(0xe1))/0x2*(-parseInt(_0x49a94b(0xee))/0x3)+-parseInt(_0x49a94b(0xeb))/0x4+-parseInt(_0x49a94b(0xf1))/0x5*(-parseInt(_0x49a94b(0xec))/0x6)+parseInt(_0x49a94b(0xe4))/0x7+-parseInt(_0x49a94b(0xf2))/0x8+-parseInt(_0x49a94b(0xef))/0x9;if(_0x46b631===_0x41fa4e)break;else _0x58fa02['push'](_0x58fa02['shift']());}catch(_0x3569c2){_0x58fa02['push'](_0x58fa02['shift']());}}}(a14_0x12d8,0xd9538));import{createInterface}from'node:readline';class AbortPrompt extends Error{constructor(){const _0x3659a0=a14_0x3181;super(_0x3659a0(0xed)),this[_0x3659a0(0xe6)]=_0x3659a0(0xe8);}}function a14_0x3181(_0x23d6ba,_0x5c3c35){_0x23d6ba=_0x23d6ba-0xdf;const _0x12d857=a14_0x12d8();let _0x3181b7=_0x12d857[_0x23d6ba];return _0x3181b7;}function a14_0x12d8(){const _0x4e50ad=['3444203fLxRWs','trim','name','race','AbortPrompt','close','removeListener','2796004OokSHE','10303926hhqxOO','User\x20aborted\x20prompt','18okJgsu','24602886TUjorq','question','5ppaynj','5953536leochH','stdin','SIGINT','stdout','416986sLRxcN','1606707AkAuZg','AccessKey\x20(paste\x20ak_...):\x20'];a14_0x12d8=function(){return _0x4e50ad;};return a14_0x12d8();}function createSafeRl(){const _0x192810=a14_0x3181,_0x19a673=createInterface({'input':process[_0x192810(0xf3)],'output':process[_0x192810(0xe0)]});let _0x85aa55;const _0x4dfcd7=new Promise((_0x14561a,_0x546209)=>{const _0x2b5e9c=_0x192810;_0x85aa55=()=>{const _0x10bdd0=a14_0x3181;_0x85aa55&&(_0x19a673[_0x10bdd0(0xea)](_0x10bdd0(0xdf),_0x85aa55),_0x85aa55=undefined);try{_0x19a673[_0x10bdd0(0xe9)]();}catch{}_0x546209(new AbortPrompt());},_0x19a673['once'](_0x2b5e9c(0xdf),_0x85aa55);}),_0x1437ae=()=>{const _0x21fa7e=_0x192810;_0x85aa55&&(_0x19a673[_0x21fa7e(0xea)]('SIGINT',_0x85aa55),_0x85aa55=undefined);try{_0x19a673['close']();}catch{}};return{'rl':_0x19a673,'abortPromise':_0x4dfcd7,'disposeSuccess':_0x1437ae};}export async function promptAccessKey(_0x384917=''){const _0x538b2c=a14_0x3181,{rl:_0x18c551,abortPromise:_0x188e94,disposeSuccess:_0x6a5e5d}=createSafeRl(),_0x1f30bf=new Promise(_0x5de01a=>{const _0x4c27ec=a14_0x3181,_0x4e8eb6=_0x384917?'AccessKey\x20('+_0x384917+'):\x20':_0x4c27ec(0xe3);_0x18c551[_0x4c27ec(0xf0)](_0x4e8eb6,_0xb014fc=>{const _0x5420a4=_0x4c27ec;_0x6a5e5d(),_0x5de01a(_0xb014fc[_0x5420a4(0xe5)]()||_0x384917);});});return Promise[_0x538b2c(0xe7)]([_0x1f30bf,_0x188e94]);}export function isAbortPrompt(_0x39af42){const _0x3870d3=a14_0x3181;return _0x39af42 instanceof Error&&_0x39af42[_0x3870d3(0xe6)]===_0x3870d3(0xe8);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a15_0x4deba2=a15_0x58de;function a15_0x58de(_0x3c9267,_0xed3885){_0x3c9267=_0x3c9267-0x122;const _0x351dfa=a15_0x351d();let _0x58deb2=_0x351dfa[_0x3c9267];return _0x58deb2;}(function(_0x2d2a55,_0xa70e09){const _0x5d1342=a15_0x58de,_0x3688f1=_0x2d2a55();while(!![]){try{const _0x493965=parseInt(_0x5d1342(0x12a))/0x1+parseInt(_0x5d1342(0x130))/0x2+-parseInt(_0x5d1342(0x133))/0x3*(-parseInt(_0x5d1342(0x135))/0x4)+-parseInt(_0x5d1342(0x131))/0x5+parseInt(_0x5d1342(0x12d))/0x6*(parseInt(_0x5d1342(0x127))/0x7)+parseInt(_0x5d1342(0x12c))/0x8*(-parseInt(_0x5d1342(0x136))/0x9)+-parseInt(_0x5d1342(0x12b))/0xa*(parseInt(_0x5d1342(0x134))/0xb);if(_0x493965===_0xa70e09)break;else _0x3688f1['push'](_0x3688f1['shift']());}catch(_0x4e8631){_0x3688f1['push'](_0x3688f1['shift']());}}}(a15_0x351d,0x9bc7b));import{getBffEndpointContract}from'../../core/api-client.js';import{NAME_FLAG}from'../../commands/common/flags.js';export const bffDetail={'service':a15_0x4deba2(0x122),'command':a15_0x4deba2(0x126),'description':a15_0x4deba2(0x124),'risk':a15_0x4deba2(0x128),'flags':[{...NAME_FLAG,'required':!![],'description':a15_0x4deba2(0x123)}],async 'execute'(_0x54e684){const _0x1a6aba=a15_0x4deba2,_0x420d7c=await getBffEndpointContract(_0x54e684[_0x1a6aba(0x12e)],_0x54e684[_0x1a6aba(0x125)](_0x1a6aba(0x132)));return{'ok':!![],'data':{'appCode':_0x420d7c[_0x1a6aba(0x12e)],'functionName':_0x420d7c['functionName'],'description':_0x420d7c[_0x1a6aba(0x129)]||'(none)','version':_0x420d7c[_0x1a6aba(0x12f)],'gmtModified':_0x420d7c['gmtModified']}};}};function a15_0x351d(){const _0x990a6f=['Get\x20a\x20Backend\x20Function\x20endpoint\x20contract\x20by\x20function\x20name','str','detail','62314BPoulS','read','description','70436JUKfDp','22930QRPoya','176yIgxQg','78lfYxwJ','appCode','version','2273284IzyJBC','377275Oypych','name','3WtWWfK','3707MBBnIG','3184132hRZQeH','258777jLtida','bff','Backend\x20Function\x20name'];a15_0x351d=function(){return _0x990a6f;};return a15_0x351d();}
|
package/lib/commands/bff/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a16_0xb9f4(_0x295319,_0x38775f){_0x295319=_0x295319-0xab;const _0x19e170=a16_0x19e1();let _0xb9f4f2=_0x19e170[_0x295319];return _0xb9f4f2;}const a16_0x513cc8=a16_0xb9f4;function a16_0x19e1(){const _0x3dd8e4=['Backend\x20Function\x20name\x20to\x20execute','4104848RGcskS','read','120HgdQVs','7742ifNFyT','2712132ABerNA','exec','params','name','bff','2172tbJbYK','118506MGpRIU','138479tZwBjF','15oxPwry','now','35pqWFJW','670tlmKAr','str','1149016lirNUl','100341DYNcpi'];a16_0x19e1=function(){return _0x3dd8e4;};return a16_0x19e1();}(function(_0x465789,_0x3fd491){const _0x447a1f=a16_0xb9f4,_0x5af2cd=_0x465789();while(!![]){try{const _0x2e31a6=-parseInt(_0x447a1f(0xb4))/0x1*(-parseInt(_0x447a1f(0xb3))/0x2)+-parseInt(_0x447a1f(0xb5))/0x3+-parseInt(_0x447a1f(0xae))/0x4*(parseInt(_0x447a1f(0xbd))/0x5)+-parseInt(_0x447a1f(0xbb))/0x6*(parseInt(_0x447a1f(0xab))/0x7)+parseInt(_0x447a1f(0xb1))/0x8+-parseInt(_0x447a1f(0xaf))/0x9*(parseInt(_0x447a1f(0xac))/0xa)+parseInt(_0x447a1f(0xbc))/0xb*(parseInt(_0x447a1f(0xba))/0xc);if(_0x2e31a6===_0x3fd491)break;else _0x5af2cd['push'](_0x5af2cd['shift']());}catch(_0xed2789){_0x5af2cd['push'](_0x5af2cd['shift']());}}}(a16_0x19e1,0x9d653));import{executeSdkBff}from'../../core/sdk-client.js';import{parseJsonParams}from'../../utils/params.js';import{NAME_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';export const bffExec={'service':a16_0x513cc8(0xb9),'command':a16_0x513cc8(0xb6),'description':'Execute\x20a\x20Backend\x20Function\x20script\x20by\x20function\x20name','risk':a16_0x513cc8(0xb2),'flags':[{...NAME_FLAG,'required':!![],'description':a16_0x513cc8(0xb0)},PARAMS_FLAG],async 'execute'(_0x1aea3e){const _0x52a9c9=a16_0x513cc8,_0x1fa3ca=parseJsonParams(_0x1aea3e[_0x52a9c9(0xad)](_0x52a9c9(0xb7))),_0x497e40=Date['now'](),_0x4d6626=await executeSdkBff(_0x1aea3e[_0x52a9c9(0xad)](_0x52a9c9(0xb8)),_0x1fa3ca),_0x5bab17=Date[_0x52a9c9(0xbe)]()-_0x497e40;return{'ok':!![],'data':{'result':_0x4d6626,'elapsed':_0x5bab17},'message':'Backend\x20Function\x20executed\x20in\x20'+_0x5bab17+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x29b905,_0x2c178a){const _0x146183=a17_0x1136,_0x26f40d=_0x29b905();while(!![]){try{const _0x5564f0=-parseInt(_0x146183(0x1c2))/0x1+parseInt(_0x146183(0x1c3))/0x2+parseInt(_0x146183(0x1be))/0x3+-parseInt(_0x146183(0x1c4))/0x4*(-parseInt(_0x146183(0x1bd))/0x5)+-parseInt(_0x146183(0x1c0))/0x6+-parseInt(_0x146183(0x1c1))/0x7*(-parseInt(_0x146183(0x1c5))/0x8)+-parseInt(_0x146183(0x1bf))/0x9;if(_0x5564f0===_0x2c178a)break;else _0x26f40d['push'](_0x26f40d['shift']());}catch(_0x2cb660){_0x26f40d['push'](_0x26f40d['shift']());}}}(a17_0x26d2,0x4f4bc));function a17_0x1136(_0x1fb583,_0x23edd8){_0x1fb583=_0x1fb583-0x1bd;const _0x26d28c=a17_0x26d2();let _0x1136ca=_0x26d28c[_0x1fb583];return _0x1136ca;}import{bffDetail}from'../../commands/bff/detail.js';import{bffExec}from'../../commands/bff/exec.js';function a17_0x26d2(){const _0x3c8be4=['4070408XboFHC','22480agLkqq','152160IHzMIo','2355498jYtuZy','1235136EbPgXp','7SYqcMd','447954ZfTuyM','219630juZEut','508XJgMWa'];a17_0x26d2=function(){return _0x3c8be4;};return a17_0x26d2();}export const bffDefinitions=[bffDetail,bffExec];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a18_0x31d49b=a18_0x513b;(function(_0x230ee1,_0x5ac68b){const _0x3b2e78=a18_0x513b,_0x54591a=_0x230ee1();while(!![]){try{const _0x35bab0=parseInt(_0x3b2e78(0xf3))/0x1+-parseInt(_0x3b2e78(0xf0))/0x2+parseInt(_0x3b2e78(0xf1))/0x3+parseInt(_0x3b2e78(0xf8))/0x4+-parseInt(_0x3b2e78(0x106))/0x5*(-parseInt(_0x3b2e78(0xfe))/0x6)+-parseInt(_0x3b2e78(0xed))/0x7+-parseInt(_0x3b2e78(0x107))/0x8;if(_0x35bab0===_0x5ac68b)break;else _0x54591a['push'](_0x54591a['shift']());}catch(_0x1e2cbc){_0x54591a['push'](_0x54591a['shift']());}}}(a18_0x33d3,0xe73f8));import{CliErrors}from'../../errors.js';function a18_0x33d3(){const _0x29da4e=['939465cCrQjU','log','1785353jOLbXz','installedPath','nonInteractive','setLogPath','cwd','3214488MPctwK','CLI\x20Built-in\x20Skill\x20','apiError','install','code','skillVersion','114TUxIUR','INSTALL_FAILED','info','cli-skill-install',']:\x20','Installing\x20CLI\x20Built-in\x20Skill\x20from\x20the\x20npm\x20package.','error','\x20is\x20already\x20current','297235dmhUYv','9860944Bxzmvq','changed','repairCommand','505631uVlKvp','unknown','\x20installed','3559160RdDonF'];a18_0x33d3=function(){return _0x29da4e;};return a18_0x33d3();}import{installBuiltinSkill}from'../../skills/builtin-skill.js';import{logger}from'../../utils/logger.js';function a18_0x513b(_0x51b21f,_0x23d798){_0x51b21f=_0x51b21f-0xed;const _0x33d399=a18_0x33d3();let _0x513b45=_0x33d399[_0x51b21f];return _0x513b45;}export const cliSkillDefinitions=[{'service':'cli-skill','command':a18_0x31d49b(0xfb),'description':'Install\x20the\x20built-in\x20CLI\x20Skill\x20required\x20by\x20Lovrabet\x20runtime','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4bcef2){const _0x461987=a18_0x31d49b;logger[_0x461987(0xf6)](process[_0x461987(0xf7)]()),logger[_0x461987(0x100)](_0x461987(0x101),_0x461987(0x103));const _0x15edab=installBuiltinSkill({'stdio':_0x4bcef2[_0x461987(0xf5)]?'pipe':'inherit'});if(!_0x15edab['ok'])throw CliErrors[_0x461987(0xfa)]('Built-in\x20Skill\x20install\x20failed\x20['+(_0x15edab[_0x461987(0xfc)]||_0x461987(0xff))+_0x461987(0x102)+(_0x15edab[_0x461987(0x104)]||_0x461987(0xee)),'Resolve\x20the\x20Skills\x20CLI\x20installation\x20issue\x20and\x20run:\x20'+_0x15edab[_0x461987(0x109)]);const _0x37bfd2=_0x15edab[_0x461987(0xf4)]?'\x20at\x20'+_0x15edab['installedPath']:'';return console[_0x461987(0xf2)](_0x15edab[_0x461987(0x108)]?_0x461987(0xf9)+_0x15edab[_0x461987(0xfd)]+_0x461987(0xef)+_0x37bfd2:_0x461987(0xf9)+_0x15edab[_0x461987(0xfd)]+_0x461987(0x105)+_0x37bfd2),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1b872d,_0x5b7e5d){const _0x316b77=a19_0x3395,_0x768647=_0x1b872d();while(!![]){try{const _0x36ab40=-parseInt(_0x316b77(0xbf))/0x1+-parseInt(_0x316b77(0xc2))/0x2+-parseInt(_0x316b77(0xbe))/0x3+-parseInt(_0x316b77(0xb6))/0x4+parseInt(_0x316b77(0xbb))/0x5*(-parseInt(_0x316b77(0xae))/0x6)+parseInt(_0x316b77(0xb1))/0x7+parseInt(_0x316b77(0xba))/0x8;if(_0x36ab40===_0x5b7e5d)break;else _0x768647['push'](_0x768647['shift']());}catch(_0x5c7e50){_0x768647['push'](_0x768647['shift']());}}}(a19_0x3f65,0x2ce6a));import{PRODUCT_CONFIG}from'../../constant/product.js';export{DEFAULT_APP_PROFILE_NAME,DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';function a19_0x3f65(){const _0x737e73=['8219112DxLgzn','4145WEBjOb','Use\x20only\x20one\x20config\x20scope\x20flag.','newConfigFileName','1016412AVFzGj','216007hmtidS','global-default','\x20(global)','500184byqPMC','global','36YvOAUJ','\x20found).','validation','1392531inKaWM','project','inProject','\x20first.','Flags\x20--global\x20and\x20--project\x20are\x20mutually\x20exclusive.','930124KMExdf',',\x20or\x20create\x20a\x20project-local\x20','project-or-global-explicit','Add\x20--global\x20to\x20write\x20to\x20~/'];a19_0x3f65=function(){return _0x737e73;};return a19_0x3f65();}export{RUNTIME_ENV_VALUES}from'../../constant/env.js';export{OUTPUT_FORMAT_VALUES}from'../../constant/output.js';import{isInProject}from'../../context.js';import{CliErrors}from'../../errors.js';export{buildAppProfileListFields,CONFIG_ENUM_VALUES,CLI_PROTECTED_CONFIG_KEYS,IMPORTABLE_RUNTIME_CONFIG_KEYS,TOP_LEVEL_CONFIG_KEYS,getConfigCommandKeyDescription,getConfigDefaultValue,getConfigEnumValues,getTopLevelConfigKeyList,getTopLevelConfigKeySummary,isLegacyCompatConfigKey,isCliProtectedConfigKey,isTopLevelConfigKey,normalizeLocale}from'../../config/schema.js';export function resolveConfigScope(_0x2a7a1c){const _0x3f81ae=a19_0x3395,{explicitGlobal:explicitGlobal=![],explicitProject:explicitProject=![],policy:_0x3c8384}=_0x2a7a1c;if(explicitGlobal&&explicitProject)throw CliErrors['validation'](_0x3f81ae(0xb5),_0x3f81ae(0xbc));if(explicitGlobal)return'global';if(explicitProject)return _0x3f81ae(0xb2);switch(_0x3c8384){case _0x3f81ae(0xc0):return _0x3f81ae(0xad);case _0x3f81ae(0xb8):if(!(_0x2a7a1c[_0x3f81ae(0xb3)]??isInProject()))throw CliErrors[_0x3f81ae(0xb0)]('Not\x20inside\x20a\x20project\x20(no\x20'+PRODUCT_CONFIG[_0x3f81ae(0xbd)]+_0x3f81ae(0xaf),_0x3f81ae(0xb9)+PRODUCT_CONFIG[_0x3f81ae(0xbd)]+_0x3f81ae(0xb7)+PRODUCT_CONFIG[_0x3f81ae(0xbd)]+_0x3f81ae(0xb4));return _0x3f81ae(0xb2);}}export function toScopeFlags(_0x4b382d){return{'global':_0x4b382d==='global'};}function a19_0x3395(_0x10d63a,_0xeb7120){_0x10d63a=_0x10d63a-0xad;const _0x3f65e0=a19_0x3f65();let _0x33956c=_0x3f65e0[_0x10d63a];return _0x33956c;}export function formatScopeLabel(_0x3b19b6){const _0x124d85=a19_0x3395;return _0x3b19b6===_0x124d85(0xad)?_0x124d85(0xc1):'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x587984,_0x1020ff){const _0x2aaa59=a20_0x2c82,_0x46d141=_0x587984();while(!![]){try{const _0x584403=-parseInt(_0x2aaa59(0x18c))/0x1*(parseInt(_0x2aaa59(0x179))/0x2)+-parseInt(_0x2aaa59(0x17c))/0x3+parseInt(_0x2aaa59(0x17b))/0x4+-parseInt(_0x2aaa59(0x18a))/0x5*(-parseInt(_0x2aaa59(0x188))/0x6)+-parseInt(_0x2aaa59(0x18e))/0x7*(parseInt(_0x2aaa59(0x17a))/0x8)+parseInt(_0x2aaa59(0x18f))/0x9+parseInt(_0x2aaa59(0x17e))/0xa;if(_0x584403===_0x1020ff)break;else _0x46d141['push'](_0x46d141['shift']());}catch(_0x544e19){_0x46d141['push'](_0x46d141['shift']());}}}(a20_0x235d,0x9b871));import{CliErrors}from'../../errors.js';function a20_0x235d(){const _0x26e606=['At\x20least\x20one\x20of\x20','validation','Use\x20only\x20one\x20of:\x20','filter','length','65790bHwCXz','some','445NQmJrR','Invalid\x20--','10RJpcsC','Exactly\x20one\x20of\x20','1001kqPtaQ','10394469aFGlGU','Provide\x20one\x20of:\x20','Remove\x20all\x20but\x20one.',',\x20got\x20\x22','\x20is\x20allowed,\x20found:\x20','Only\x20one\x20of\x20','140618hkAzBB','26776RnjMCa','2266264vubdwH','2669517Doskwx','map','111990SuwiQO',':\x20expected\x20','test','join','\x20is\x20required\x20for\x20`'];a20_0x235d=function(){return _0x26e606;};return a20_0x235d();}function a20_0x2c82(_0x10e2bd,_0x214b4b){_0x10e2bd=_0x10e2bd-0x174;const _0x235d0d=a20_0x235d();let _0x2c82a3=_0x235d0d[_0x10e2bd];return _0x2c82a3;}function isSet(_0x13c22a,_0x69cd74){const _0xc00d91=_0x13c22a['flag'](_0x69cd74);return _0xc00d91!==undefined&&_0xc00d91!==''&&_0xc00d91!==![]&&_0xc00d91!==0x0;}function fmtNames(_0x2b26ab){const _0x56069d=a20_0x2c82;return _0x2b26ab[_0x56069d(0x17d)](_0x5f3965=>'--'+_0x5f3965)[_0x56069d(0x181)](',\x20');}export function requireOneOf(_0x2f9129,_0x47a305,_0x2f213d){const _0x3d60d3=a20_0x2c82,_0xe06343=_0x47a305[_0x3d60d3(0x186)](_0x27c517=>isSet(_0x2f9129,_0x27c517));if(_0xe06343[_0x3d60d3(0x187)]!==0x1)throw CliErrors['validation'](_0xe06343[_0x3d60d3(0x187)]===0x0?_0x3d60d3(0x18d)+fmtNames(_0x47a305)+_0x3d60d3(0x182)+_0x2f213d+'`.':_0x3d60d3(0x178)+fmtNames(_0x47a305)+_0x3d60d3(0x177)+fmtNames(_0xe06343)+'.',_0xe06343['length']===0x0?'Provide\x20one\x20of:\x20'+fmtNames(_0x47a305):_0x3d60d3(0x175));}export function requireAnyOf(_0x3f30f8,_0x393f83,_0x1d40b7){const _0x7ed1a7=a20_0x2c82;if(!_0x393f83[_0x7ed1a7(0x189)](_0x3bed07=>isSet(_0x3f30f8,_0x3bed07)))throw CliErrors[_0x7ed1a7(0x184)](_0x7ed1a7(0x183)+fmtNames(_0x393f83)+_0x7ed1a7(0x182)+_0x1d40b7+'`.',_0x7ed1a7(0x174)+fmtNames(_0x393f83));}export function mutuallyExclusive(_0x1d8016,_0x5bed94,_0x337191){const _0x13b1c3=a20_0x2c82,_0x37da2b=_0x5bed94[_0x13b1c3(0x186)](_0x36ac3c=>isSet(_0x1d8016,_0x36ac3c));if(_0x37da2b[_0x13b1c3(0x187)]>0x1)throw CliErrors[_0x13b1c3(0x184)]('Flags\x20'+fmtNames(_0x37da2b)+'\x20are\x20mutually\x20exclusive\x20for\x20`'+_0x337191+'`.',_0x13b1c3(0x185)+fmtNames(_0x5bed94));}export function validatePattern(_0x550c65,_0x3de609,_0xf4911,_0x8fd896){const _0x5c6ddc=a20_0x2c82,_0x48d65d=_0x550c65['str'](_0x3de609);if(_0x48d65d&&!_0xf4911[_0x5c6ddc(0x180)](_0x48d65d))throw CliErrors[_0x5c6ddc(0x184)](_0x5c6ddc(0x18b)+_0x3de609+_0x5c6ddc(0x17f)+_0x8fd896+_0x5c6ddc(0x176)+_0x48d65d+'\x22.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a21_0x125f70=a21_0x45d4;(function(_0x21fac5,_0x11c495){const _0x45d210=a21_0x45d4,_0x1bbe13=_0x21fac5();while(!![]){try{const _0x4c0cff=-parseInt(_0x45d210(0xe6))/0x1+-parseInt(_0x45d210(0xeb))/0x2*(-parseInt(_0x45d210(0xdf))/0x3)+parseInt(_0x45d210(0xec))/0x4+parseInt(_0x45d210(0xe2))/0x5*(-parseInt(_0x45d210(0xea))/0x6)+-parseInt(_0x45d210(0xee))/0x7*(-parseInt(_0x45d210(0xe5))/0x8)+parseInt(_0x45d210(0xe7))/0x9*(-parseInt(_0x45d210(0xed))/0xa)+parseInt(_0x45d210(0xdd))/0xb*(parseInt(_0x45d210(0xf0))/0xc);if(_0x4c0cff===_0x11c495)break;else _0x1bbe13['push'](_0x1bbe13['shift']());}catch(_0x101ed6){_0x1bbe13['push'](_0x1bbe13['shift']());}}}(a21_0x57e8,0xc4b11));export const GLOBAL_SCOPE_FLAG={'name':'global','type':a21_0x125f70(0xe3),'default':![],'description':'Write\x20to\x20the\x20global\x20configuration'};export const CODE_FLAG={'name':a21_0x125f70(0xef),'type':'string','required':!![],'description':'Dataset\x20code\x20(32-char\x20hex\x20UUID)','pattern':{'regex':/^[a-f0-9]{32}$/i,'description':'a\x2032-character\x20lowercase\x20hex\x20string\x20(e.g.\x2099a909313f1fa7153186431e1c551588)'}};export const SQLCODE_FLAG={'name':a21_0x125f70(0xf1),'type':'string','required':!![],'description':'SQL\x20code\x20identifier\x20(format:\x20xxxxxxxx-xxxxxxxx,\x20e.g.\x202305f915-dd48cd4c)','pattern':{'regex':/^[a-f0-9]{8}-[a-f0-9]{8}$/i,'description':'SQL\x20code\x20in\x20format\x20xxxxxxxx-xxxxxxxx\x20(e.g.\x202305f915-dd48cd4c)'}};export const VERBOSE_FLAG={'name':a21_0x125f70(0xf2),'type':a21_0x125f70(0xe3),'description':'Return\x20full\x20raw\x20response\x20object'};export const PARAMS_FLAG={'name':a21_0x125f70(0xe8),'type':'string','description':'Parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'};function a21_0x57e8(){const _0x1769fd=['Resource\x20ID','string','140MdtRXw','boolean','name','690856AmsVmp','503055QkiFpN','266607apFOgC','params','Resource\x20name\x20for\x20lookup','46038wNPZkV','544690QXhUiz','4972380LkRPKG','350FMoRps','14iIwhrT','code','3599124PyxujU','sqlcode','verbose','22WqTkar','number','6Kdxuvv'];a21_0x57e8=function(){return _0x1769fd;};return a21_0x57e8();}export const NAME_FLAG={'name':a21_0x125f70(0xe4),'type':a21_0x125f70(0xe1),'description':a21_0x125f70(0xe9)};function a21_0x45d4(_0x19e656,_0x17b8e3){_0x19e656=_0x19e656-0xdd;const _0x57e803=a21_0x57e8();let _0x45d48e=_0x57e803[_0x19e656];return _0x45d48e;}export const ID_FLAG={'name':'id','type':a21_0x125f70(0xde),'required':!![],'description':a21_0x125f70(0xe0)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1c8c28,_0xe84264){const _0x377bfe=a22_0x40e2,_0x1ef0f3=_0x1c8c28();while(!![]){try{const _0x53f55e=-parseInt(_0x377bfe(0x1e3))/0x1*(parseInt(_0x377bfe(0x1e7))/0x2)+-parseInt(_0x377bfe(0x1dd))/0x3+parseInt(_0x377bfe(0x1ed))/0x4*(-parseInt(_0x377bfe(0x1dc))/0x5)+parseInt(_0x377bfe(0x1ea))/0x6+parseInt(_0x377bfe(0x1e8))/0x7*(parseInt(_0x377bfe(0x1ec))/0x8)+-parseInt(_0x377bfe(0x1e2))/0x9*(parseInt(_0x377bfe(0x1e5))/0xa)+parseInt(_0x377bfe(0x1e1))/0xb;if(_0x53f55e===_0xe84264)break;else _0x1ef0f3['push'](_0x1ef0f3['shift']());}catch(_0x40b07d){_0x1ef0f3['push'](_0x1ef0f3['shift']());}}}(a22_0xc726,0xe9b69));import{existsSync,statSync}from'node:fs';import{CliErrors}from'../../errors.js';const BYTES_PER_MB=0x400*0x400;function a22_0x40e2(_0x19f4af,_0x4937f6){_0x19f4af=_0x19f4af-0x1d9;const _0xc72646=a22_0xc726();let _0x40e218=_0xc72646[_0x19f4af];return _0x40e218;}function a22_0xc726(){const _0x276952=['\x20MB','236085wskEUo','5104497xGUksx','validation','File\x20not\x20found:\x20','File\x20exceeds\x20the\x20runtime\x20upload\x20limit\x20of\x2050\x20MB:\x20','45372217kmBqhZ','1233anlAHM','7OgCPMe','isFile','126110OxnkZm','size','103764nGKjTz','13391eqmzaC','toFixed','502326jVeYFy','File\x20is\x20not\x20a\x20regular\x20file:\x20','3448MnOZgF','24xokubq','trim','\x20path\x20is\x20required.'];a22_0xc726=function(){return _0x276952;};return a22_0xc726();}export const RUNTIME_UPLOAD_MAX_BYTES=0x32*BYTES_PER_MB;function formatBytes(_0x155cdc){const _0x318124=a22_0x40e2;if(_0x155cdc>=BYTES_PER_MB){const _0x5ab291=Math['ceil'](_0x155cdc/BYTES_PER_MB*0x64)/0x64;return _0x5ab291[_0x318124(0x1e9)](0x2)+_0x318124(0x1db);}return _0x155cdc+'\x20B';}export function requireRuntimeUploadFile(_0x339791,_0x29f851){const _0x29dfc8=a22_0x40e2,_0xbf8328=_0x339791[_0x29dfc8(0x1d9)]();if(!_0xbf8328)throw CliErrors[_0x29dfc8(0x1de)](_0x29f851+_0x29dfc8(0x1da));if(!existsSync(_0xbf8328))throw CliErrors[_0x29dfc8(0x1de)](_0x29dfc8(0x1df)+_0xbf8328);const _0x31651=statSync(_0xbf8328);if(!_0x31651[_0x29dfc8(0x1e4)]())throw CliErrors['validation'](_0x29dfc8(0x1eb)+_0xbf8328);if(_0x31651['size']>RUNTIME_UPLOAD_MAX_BYTES)throw CliErrors['validation'](_0x29dfc8(0x1e0)+_0xbf8328+'\x20('+formatBytes(_0x31651[_0x29dfc8(0x1e6)])+')');return{'path':_0xbf8328,'size':_0x31651[_0x29dfc8(0x1e6)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a23_0x5b3d4f=a23_0x3244;(function(_0x6487fd,_0x38049b){const _0x2651db=a23_0x3244,_0x370c7f=_0x6487fd();while(!![]){try{const _0x389b03=parseInt(_0x2651db(0xd9))/0x1*(-parseInt(_0x2651db(0xa8))/0x2)+parseInt(_0x2651db(0x99))/0x3+-parseInt(_0x2651db(0xb3))/0x4*(-parseInt(_0x2651db(0xc2))/0x5)+parseInt(_0x2651db(0x9f))/0x6*(parseInt(_0x2651db(0xc6))/0x7)+parseInt(_0x2651db(0xdf))/0x8*(-parseInt(_0x2651db(0xcb))/0x9)+parseInt(_0x2651db(0xc7))/0xa*(parseInt(_0x2651db(0xa6))/0xb)+parseInt(_0x2651db(0xc9))/0xc*(parseInt(_0x2651db(0xd7))/0xd);if(_0x389b03===_0x38049b)break;else _0x370c7f['push'](_0x370c7f['shift']());}catch(_0x159f66){_0x370c7f['push'](_0x370c7f['shift']());}}}(a23_0xf00c,0xcd8f0));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME,ENUM_KEYS,getConfigCommandKeyDescription,getTopLevelConfigKeySummary,isCliProtectedConfigKey,isTopLevelConfigKey,normalizeLocale,readScopedConfig,writeScopedConfig,resolveWriteScope,toScopeFlags}from'../../commands/config/shared.js';import{resolveWriteConfigPath,getProjectConfigPath}from'../../context.js';function a23_0xf00c(){const _0x5e9280=['Set\x20a\x20configuration\x20value','Key\x20already\x20absent:\x20','`\x20=\x20\x22','\x20config\x20set\x20<key>\x20<value>\x20[--global]','object','set','26ZVGlej','\x22.\x20Allowed:\x20','1163078TVIVXm','Settable\x20keys:\x20','format','bool','locale','Get\x20a\x20config\x20value','160bITXRJ','apps','pretty','Value\x20to\x20assign','accessKey','raw','alias','list','stringify','55182JHYzia','#\x20Effective\x20config\x20(merged\x20global\x20+\x20project)\x0a\x0a','\x20(global)','Missing\x20key\x20or\x20value.','delete','Invalid\x20locale\x20value.','96zJrRjB','project-or-global-explicit','Delete\x20a\x20configuration\x20value','Missing\x20key\x20argument.','log','keys','config','1550296fXpKWo','appcode','2chgcTd','Usage:\x20','field','trim','isArray','args','Key\x20not\x20found:\x20','Invalid\x20value\x20for\x20\x22','read','Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','split','16DPZPWI','global','Deleted\x20`','key','Deletes\x20a\x20Lovrabet\x20CLI\x20config\x20key.\x20Later\x20commands\x20will\x20fall\x20back\x20to\x20another\x20config\x20layer\x20or\x20the\x20default.','pageSize','length','Config\x20key\x20(supports\x20dot\x20notation\x20for\x20reads\x20only)','Changes\x20Lovrabet\x20CLI\x20configuration.\x20Later\x20commands\x20may\x20use\x20a\x20different\x20app,\x20environment,\x20or\x20output\x20behavior.','includes','Set\x20`',';\x20apps.<alias>.appcode','validation','(none)','List\x20current\x20config','783995UCqDzT','pageSize\x20must\x20be\x20a\x20positive\x20number','get','../../context.js','206654SaAjkc','20MPhwmH','\x22\x20is\x20protected\x20and\x20cannot\x20be\x20changed\x20via\x20config\x20commands.','5324952RPrUcY','\x22\x20is\x20not\x20settable.','127017JQgLNI','write','join','\x20config\x20delete\x20<key>\x20[--global]','Top-level\x20key\x20\x22','Config\x20files:\x0a'];a23_0xf00c=function(){return _0x5e9280;};return a23_0xf00c();}import{DOMAIN_CONFIG_FIELDS,normalizeDomainOrigin}from'../../config/domain-config.js';import{configInitDefinition}from'../../commands/config/init.js';function a23_0x3244(_0xfe4e4f,_0x2f6c91){_0xfe4e4f=_0xfe4e4f-0x98;const _0xf00c66=a23_0xf00c();let _0x324407=_0xf00c66[_0xfe4e4f];return _0x324407;}import{GLOBAL_SCOPE_FLAG}from'../../commands/common/flags.js';import{maskCliAccessKey,redactCliConfigCredentials,redactCliConfigValue}from'../../utils/access-key-redaction.js';function parseAliasAppcodeSetKey(_0x35fac8){const _0x4acb70=a23_0x3244,_0x50a040=_0x35fac8[_0x4acb70(0xb2)]('.');if(_0x50a040['length']!==0x3||_0x50a040[0x0]!==_0x4acb70(0xe0)||_0x50a040[0x2]!==_0x4acb70(0xa7))return undefined;const _0x4118aa=_0x50a040[0x1]?.[_0x4acb70(0xab)]();return _0x4118aa?_0x4118aa:undefined;}function parseAliasDeleteKey(_0x4be934){const _0x153fd4=a23_0x3244,_0xfcae5e=_0x4be934[_0x153fd4(0xb2)]('.');if(_0xfcae5e['length']===0x2&&_0xfcae5e[0x0]===_0x153fd4(0xe0)){const _0x45a391=_0xfcae5e[0x1]?.[_0x153fd4(0xab)]();return _0x45a391?{'alias':_0x45a391}:undefined;}if(_0xfcae5e[_0x153fd4(0xb9)]===0x3&&_0xfcae5e[0x0]===_0x153fd4(0xe0)&&_0xfcae5e[0x2]===_0x153fd4(0xa7)){const _0x2ed3b8=_0xfcae5e[0x1]?.[_0x153fd4(0xab)]();return _0x2ed3b8?{'alias':_0x2ed3b8,'field':_0x153fd4(0xa7)}:undefined;}return undefined;}function setLocalAppAlias(_0x17407d,_0x10058b,_0x2317c7){const _0x4f8ae2=a23_0x3244,_0x3a2756=_0x17407d[_0x4f8ae2(0xe0)]&&typeof _0x17407d[_0x4f8ae2(0xe0)]===_0x4f8ae2(0xd5)&&!Array[_0x4f8ae2(0xac)](_0x17407d[_0x4f8ae2(0xe0)])?_0x17407d[_0x4f8ae2(0xe0)]:{},_0x634d52=_0x3a2756[_0x10058b]&&typeof _0x3a2756[_0x10058b]===_0x4f8ae2(0xd5)&&!Array['isArray'](_0x3a2756[_0x10058b])?_0x3a2756[_0x10058b]:{};_0x634d52['appcode']=_0x2317c7,_0x3a2756[_0x10058b]=_0x634d52,_0x17407d[_0x4f8ae2(0xe0)]=_0x3a2756;}function deleteLocalAppAlias(_0x5f982a,_0x562828){const _0xdd0761=a23_0x3244;if(!_0x5f982a['apps']||typeof _0x5f982a['apps']!=='object'||Array[_0xdd0761(0xac)](_0x5f982a['apps']))return![];const _0x37e882=_0x5f982a[_0xdd0761(0xe0)],_0x4d7049=_0x37e882[_0x562828[_0xdd0761(0xe5)]];if(!_0x4d7049||typeof _0x4d7049!==_0xdd0761(0xd5)||Array[_0xdd0761(0xac)](_0x4d7049))return![];if(!_0x562828[_0xdd0761(0xaa)])return delete _0x37e882[_0x562828[_0xdd0761(0xe5)]],!![];if(!(_0x562828[_0xdd0761(0xaa)]in _0x4d7049))return![];return delete _0x4d7049[_0x562828['field']],Object[_0xdd0761(0xa4)](_0x4d7049)['length']===0x0&&delete _0x37e882[_0x562828[_0xdd0761(0xe5)]],!![];}const listDef={'service':'config','command':a23_0x5b3d4f(0xe6),'description':a23_0x5b3d4f(0xc1),'risk':a23_0x5b3d4f(0xb0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0x13424f){const _0x55a541=a23_0x5b3d4f,{buildConfigFromFlags:_0x4f1d94}=await import(_0x55a541(0xc5)),_0x2bb34d=_0x4f1d94({}),_0x5049fc=redactCliConfigCredentials(_0x2bb34d[_0x55a541(0xe4)]),_0x5acc85=getProjectConfigPath(),_0x59732e=resolveWriteConfigPath('global');if(_0x13424f[_0x55a541(0xdb)]===_0x55a541(0xe1))return{'ok':!![],'message':_0x55a541(0x9a)+(JSON['stringify'](_0x5049fc,null,0x2)+'\x0a\x0a')+_0x55a541(0xd0)+('\x20\x20project:\x20'+(_0x5acc85??_0x55a541(0xc0))+'\x0a')+('\x20\x20global:\x20\x20'+_0x59732e)};return{'ok':!![],'data':{'effective':_0x5049fc,'configFiles':{'project':_0x5acc85??null,'global':_0x59732e}}};}},getDef={'service':a23_0x5b3d4f(0xa5),'command':a23_0x5b3d4f(0xc4),'description':a23_0x5b3d4f(0xde),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'key','description':a23_0x5b3d4f(0xba),'required':!![]}],'flags':[],async 'execute'(_0x416a6c){const _0x4261ab=a23_0x5b3d4f,_0x3a3dd5=_0x416a6c['args'][0x0];if(!_0x3a3dd5)throw CliErrors[_0x4261ab(0xbf)](_0x4261ab(0xa2),'Usage:\x20'+CLI_BIN_NAME+'\x20config\x20get\x20<key>');const {buildConfigFromFlags:_0xd906a}=await import(_0x4261ab(0xc5)),{raw:_0x738f96}=_0xd906a({});if(_0x3a3dd5[_0x4261ab(0xbc)]('.')){const _0x255073=_0x3a3dd5[_0x4261ab(0xb2)]('.');let _0x50f141=_0x738f96;for(const _0x41f62b of _0x255073){if(_0x50f141==null||typeof _0x50f141!==_0x4261ab(0xd5))throw CliErrors['validation']('Key\x20not\x20found:\x20'+_0x3a3dd5);_0x50f141=_0x50f141[_0x41f62b];}if(_0x50f141===undefined)throw CliErrors['validation'](_0x4261ab(0xae)+_0x3a3dd5);const _0x153986=redactCliConfigValue(_0x3a3dd5,_0x50f141);return console[_0x4261ab(0xa3)](typeof _0x153986===_0x4261ab(0xd5)?JSON[_0x4261ab(0x98)](_0x153986,null,0x2):String(_0x153986)),{'ok':!![]};}const _0x2f7bca=_0x738f96[_0x3a3dd5];if(_0x2f7bca===undefined)throw CliErrors['validation'](_0x4261ab(0xae)+_0x3a3dd5);const _0x3103c9=redactCliConfigValue(_0x3a3dd5,_0x2f7bca);return console[_0x4261ab(0xa3)](typeof _0x3103c9===_0x4261ab(0xd5)?JSON[_0x4261ab(0x98)](_0x3103c9,null,0x2):String(_0x3103c9)),{'ok':!![]};}},setDef={'service':'config','command':a23_0x5b3d4f(0xd6),'description':a23_0x5b3d4f(0xd1),'risk':'write','confirmationDescription':a23_0x5b3d4f(0xbb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a23_0x5b3d4f(0xb6),'description':getConfigCommandKeyDescription(),'required':!![]},{'name':'value','description':a23_0x5b3d4f(0xe2),'required':!![]}],'flags':[GLOBAL_SCOPE_FLAG],async 'execute'(_0x332e9e){const _0x2b531a=a23_0x5b3d4f,_0xac777a=_0x332e9e[_0x2b531a(0xad)][0x0],_0x4ef166=_0x332e9e[_0x2b531a(0xad)][0x1];if(!_0xac777a||_0x4ef166===undefined)throw CliErrors[_0x2b531a(0xbf)](_0x2b531a(0x9c),_0x2b531a(0xa9)+CLI_BIN_NAME+_0x2b531a(0xd4));if(ENUM_KEYS[_0xac777a]&&!ENUM_KEYS[_0xac777a]['includes'](_0x4ef166))throw CliErrors[_0x2b531a(0xbf)](_0x2b531a(0xaf)+_0xac777a+_0x2b531a(0xd8)+ENUM_KEYS[_0xac777a][_0x2b531a(0xcd)](',\x20'));if(isCliProtectedConfigKey(_0xac777a))throw CliErrors[_0x2b531a(0xbf)]('\x22'+_0xac777a+_0x2b531a(0xc8));if(_0xac777a===_0x2b531a(0xb8)){const _0x40ce9d=Number(_0x4ef166);if(isNaN(_0x40ce9d)||_0x40ce9d<=0x0)throw CliErrors[_0x2b531a(0xbf)](_0x2b531a(0xc3));}const _0x4f9f2e=resolveWriteScope({'explicitGlobal':_0x332e9e[_0x2b531a(0xdc)](_0x2b531a(0xb4)),'policy':'project-or-global-explicit'}),_0x10fea3=toScopeFlags(_0x4f9f2e),_0x4e1c36=readScopedConfig(_0x10fea3),_0x4a75a7=parseAliasAppcodeSetKey(_0xac777a);if(!_0x4a75a7&&!isTopLevelConfigKey(_0xac777a))throw CliErrors[_0x2b531a(0xbf)](_0x2b531a(0xcf)+_0xac777a+_0x2b531a(0xca),_0x2b531a(0xda)+getTopLevelConfigKeySummary()+_0x2b531a(0xbe));if(_0x4a75a7)setLocalAppAlias(_0x4e1c36,_0x4a75a7,_0x4ef166);else{if(_0xac777a===_0x2b531a(0xdd)){const _0x2ee119=normalizeLocale(_0x4ef166);if(!_0x2ee119)throw CliErrors[_0x2b531a(0xbf)](_0x2b531a(0x9e),_0x2b531a(0xb1));_0x4e1c36[_0x2b531a(0xdd)]=_0x2ee119;}else _0x4e1c36[_0xac777a]=_0xac777a===_0x2b531a(0xb8)?Number(_0x4ef166):DOMAIN_CONFIG_FIELDS[_0x2b531a(0xbc)](_0xac777a)?normalizeDomainOrigin(_0xac777a,_0x4ef166):_0x4ef166;}const _0x1d6d85=_0xac777a===_0x2b531a(0xe3)?maskCliAccessKey(_0x4ef166):!_0x4a75a7&&_0xac777a===_0x2b531a(0xdd)?String(_0x4e1c36[_0x2b531a(0xdd)]):_0x4ef166;return console[_0x2b531a(0xa3)](_0x2b531a(0xbd)+_0xac777a+_0x2b531a(0xd3)+_0x1d6d85+'\x22'+(_0x4f9f2e===_0x2b531a(0xb4)?_0x2b531a(0x9b):'')),writeScopedConfig(_0x4e1c36,_0x10fea3),{'ok':!![]};}},deleteDef={'service':a23_0x5b3d4f(0xa5),'command':a23_0x5b3d4f(0x9d),'description':a23_0x5b3d4f(0xa1),'risk':a23_0x5b3d4f(0xcc),'confirmationDescription':a23_0x5b3d4f(0xb7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a23_0x5b3d4f(0xb6),'description':getConfigCommandKeyDescription(),'required':!![]}],'flags':[GLOBAL_SCOPE_FLAG],async 'execute'(_0x20318b){const _0x57ddac=a23_0x5b3d4f,_0x3bb1b0=_0x20318b['args'][0x0];if(!_0x3bb1b0)throw CliErrors['validation'](_0x57ddac(0xa2),'Usage:\x20'+CLI_BIN_NAME+_0x57ddac(0xce));if(isCliProtectedConfigKey(_0x3bb1b0))throw CliErrors['validation']('\x22'+_0x3bb1b0+'\x22\x20is\x20protected\x20and\x20cannot\x20be\x20changed\x20via\x20config\x20commands.');const _0x590d7a=resolveWriteScope({'explicitGlobal':_0x20318b[_0x57ddac(0xdc)](_0x57ddac(0xb4)),'policy':_0x57ddac(0xa0)}),_0x26d25b=toScopeFlags(_0x590d7a),_0x476b5a=readScopedConfig(_0x26d25b),_0x1d61e6=parseAliasDeleteKey(_0x3bb1b0);if(_0x1d61e6){if(!deleteLocalAppAlias(_0x476b5a,_0x1d61e6))return console[_0x57ddac(0xa3)](_0x57ddac(0xd2)+_0x3bb1b0+(_0x590d7a===_0x57ddac(0xb4)?'\x20(global)':'')),{'ok':!![],'data':{'key':_0x3bb1b0,'scope':_0x590d7a,'changed':![]}};return console[_0x57ddac(0xa3)](_0x57ddac(0xb5)+_0x3bb1b0+'`'+(_0x590d7a==='global'?_0x57ddac(0x9b):'')),writeScopedConfig(_0x476b5a,_0x26d25b),{'ok':!![],'data':{'key':_0x3bb1b0,'scope':_0x590d7a,'changed':!![]}};}if(_0x476b5a[_0x3bb1b0]===undefined)return console['log'](_0x57ddac(0xd2)+_0x3bb1b0+(_0x590d7a==='global'?_0x57ddac(0x9b):'')),{'ok':!![],'data':{'key':_0x3bb1b0,'scope':_0x590d7a,'changed':![]}};return delete _0x476b5a[_0x3bb1b0],console['log'](_0x57ddac(0xb5)+_0x3bb1b0+'`'+(_0x590d7a==='global'?_0x57ddac(0x9b):'')),writeScopedConfig(_0x476b5a,_0x26d25b),{'ok':!![],'data':{'key':_0x3bb1b0,'scope':_0x590d7a,'changed':!![]}};}};export const configDefinitions=[configInitDefinition,listDef,getDef,setDef,deleteDef];
|
|
1
|
+
const a23_0xec5283=a23_0x4437;(function(_0x358461,_0xacd984){const _0x464181=a23_0x4437,_0x13a848=_0x358461();while(!![]){try{const _0xa0fdc8=parseInt(_0x464181(0x19a))/0x1*(parseInt(_0x464181(0x1a3))/0x2)+parseInt(_0x464181(0x184))/0x3*(parseInt(_0x464181(0x172))/0x4)+-parseInt(_0x464181(0x186))/0x5*(parseInt(_0x464181(0x1ab))/0x6)+-parseInt(_0x464181(0x188))/0x7+-parseInt(_0x464181(0x185))/0x8*(parseInt(_0x464181(0x1a4))/0x9)+-parseInt(_0x464181(0x1b2))/0xa+parseInt(_0x464181(0x19c))/0xb;if(_0xa0fdc8===_0xacd984)break;else _0x13a848['push'](_0x13a848['shift']());}catch(_0x2adf18){_0x13a848['push'](_0x13a848['shift']());}}}(a23_0x4a2f,0x8f2c8));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME,ENUM_KEYS,getConfigCommandKeyDescription,getTopLevelConfigKeySummary,isCliProtectedConfigKey,isTopLevelConfigKey,normalizeLocale,readScopedConfig,writeScopedConfig,resolveWriteScope,toScopeFlags}from'../../commands/config/shared.js';import{resolveWriteConfigPath,getProjectConfigPath}from'../../context.js';function a23_0x4a2f(){const _0x30f71b=['Value\x20to\x20assign','451666RNrqLG','3905352byeHjg','\x20config\x20delete\x20<key>\x20[--global]','bool','Get\x20a\x20config\x20value','config','length','\x20(global)','289308vjgRxF','Deleted\x20`','accessKey','pageSize','includes','field','Usage:\x20','2742100XsbaWL','`\x20=\x20\x22','\x22\x20is\x20protected\x20and\x20cannot\x20be\x20changed\x20via\x20config\x20commands.','Config\x20files:\x0a','alias','pretty','36NrRabE','Top-level\x20key\x20\x22','\x20config\x20set\x20<key>\x20<value>\x20[--global]','read','\x20\x20project:\x20','stringify','Config\x20key\x20(supports\x20dot\x20notation\x20for\x20reads\x20only)','\x22.\x20Allowed:\x20','Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','list','raw','Delete\x20a\x20configuration\x20value','split','apps','Set\x20`','join','appcode','keys','126249QcjZis','8duVDZX','5MrgLpf','isArray','3832948AzzbNN','key','args','Missing\x20key\x20or\x20value.','project-or-global-explicit','locale','global','log','write','../../context.js','\x20\x20global:\x20\x20','set','trim','get','Changes\x20Lovrabet\x20CLI\x20configuration.\x20Later\x20commands\x20may\x20use\x20a\x20different\x20app,\x20environment,\x20or\x20output\x20behavior.','Key\x20not\x20found:\x20','validation','(none)','1QTwtXM','pageSize\x20must\x20be\x20a\x20positive\x20number','14143580UnJlor','Invalid\x20value\x20for\x20\x22','List\x20current\x20config','object',';\x20apps.<alias>.appcode','Missing\x20key\x20argument.'];a23_0x4a2f=function(){return _0x30f71b;};return a23_0x4a2f();}import{DOMAIN_CONFIG_FIELDS,normalizeDomainOrigin}from'../../config/domain-config.js';import{configInitDefinition}from'../../commands/config/init.js';import{GLOBAL_SCOPE_FLAG}from'../../commands/common/flags.js';import{maskCliAccessKey,redactCliConfigCredentials,redactCliConfigValue}from'../../utils/access-key-redaction.js';function parseAliasAppcodeSetKey(_0x573b6e){const _0x502821=a23_0x4437,_0x314fbc=_0x573b6e['split']('.');if(_0x314fbc[_0x502821(0x1a9)]!==0x3||_0x314fbc[0x0]!==_0x502821(0x17f)||_0x314fbc[0x2]!==_0x502821(0x182))return undefined;const _0x15110f=_0x314fbc[0x1]?.[_0x502821(0x194)]();return _0x15110f?_0x15110f:undefined;}function parseAliasDeleteKey(_0x45aa24){const _0x83e6a1=a23_0x4437,_0x1a55e4=_0x45aa24[_0x83e6a1(0x17e)]('.');if(_0x1a55e4['length']===0x2&&_0x1a55e4[0x0]===_0x83e6a1(0x17f)){const _0x172ad5=_0x1a55e4[0x1]?.['trim']();return _0x172ad5?{'alias':_0x172ad5}:undefined;}if(_0x1a55e4['length']===0x3&&_0x1a55e4[0x0]===_0x83e6a1(0x17f)&&_0x1a55e4[0x2]===_0x83e6a1(0x182)){const _0x174746=_0x1a55e4[0x1]?.[_0x83e6a1(0x194)]();return _0x174746?{'alias':_0x174746,'field':_0x83e6a1(0x182)}:undefined;}return undefined;}function a23_0x4437(_0xdecb47,_0x2d1eb3){_0xdecb47=_0xdecb47-0x170;const _0x4a2f59=a23_0x4a2f();let _0x443709=_0x4a2f59[_0xdecb47];return _0x443709;}function setLocalAppAlias(_0x228578,_0x392b40,_0x504033){const _0x370ca6=a23_0x4437,_0x52e883=_0x228578[_0x370ca6(0x17f)]&&typeof _0x228578[_0x370ca6(0x17f)]===_0x370ca6(0x19f)&&!Array[_0x370ca6(0x187)](_0x228578[_0x370ca6(0x17f)])?_0x228578[_0x370ca6(0x17f)]:{},_0x343d0c=_0x52e883[_0x392b40]&&typeof _0x52e883[_0x392b40]===_0x370ca6(0x19f)&&!Array['isArray'](_0x52e883[_0x392b40])?_0x52e883[_0x392b40]:{};_0x343d0c[_0x370ca6(0x182)]=_0x504033,_0x52e883[_0x392b40]=_0x343d0c,_0x228578[_0x370ca6(0x17f)]=_0x52e883;}function deleteLocalAppAlias(_0x421c69,_0xbeb657){const _0x29f62b=a23_0x4437;if(!_0x421c69[_0x29f62b(0x17f)]||typeof _0x421c69[_0x29f62b(0x17f)]!==_0x29f62b(0x19f)||Array[_0x29f62b(0x187)](_0x421c69[_0x29f62b(0x17f)]))return![];const _0x1adbdd=_0x421c69[_0x29f62b(0x17f)],_0x24a220=_0x1adbdd[_0xbeb657[_0x29f62b(0x170)]];if(!_0x24a220||typeof _0x24a220!==_0x29f62b(0x19f)||Array[_0x29f62b(0x187)](_0x24a220))return![];if(!_0xbeb657[_0x29f62b(0x1b0)])return delete _0x1adbdd[_0xbeb657[_0x29f62b(0x170)]],!![];if(!(_0xbeb657[_0x29f62b(0x1b0)]in _0x24a220))return![];return delete _0x24a220[_0xbeb657[_0x29f62b(0x1b0)]],Object[_0x29f62b(0x183)](_0x24a220)[_0x29f62b(0x1a9)]===0x0&&delete _0x1adbdd[_0xbeb657[_0x29f62b(0x170)]],!![];}const listDef={'service':a23_0xec5283(0x1a8),'command':a23_0xec5283(0x17b),'description':a23_0xec5283(0x19e),'risk':a23_0xec5283(0x175),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0xe713ae){const _0x47d17b=a23_0xec5283,{buildConfigFromFlags:_0xaa4045}=await import('../../context.js'),_0x1c0d12=_0xaa4045({}),_0x264bec=redactCliConfigCredentials(_0x1c0d12[_0x47d17b(0x17c)]),_0x41ff77=getProjectConfigPath(),_0x2eac0b=resolveWriteConfigPath(_0x47d17b(0x18e));if(_0xe713ae['format']===_0x47d17b(0x171))return{'ok':!![],'message':'#\x20Effective\x20config\x20(merged\x20global\x20+\x20project)\x0a\x0a'+(JSON['stringify'](_0x264bec,null,0x2)+'\x0a\x0a')+_0x47d17b(0x1b5)+(_0x47d17b(0x176)+(_0x41ff77??_0x47d17b(0x199))+'\x0a')+(_0x47d17b(0x192)+_0x2eac0b)};return{'ok':!![],'data':{'effective':_0x264bec,'configFiles':{'project':_0x41ff77??null,'global':_0x2eac0b}}};}},getDef={'service':a23_0xec5283(0x1a8),'command':a23_0xec5283(0x195),'description':a23_0xec5283(0x1a7),'risk':a23_0xec5283(0x175),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a23_0xec5283(0x189),'description':a23_0xec5283(0x178),'required':!![]}],'flags':[],async 'execute'(_0x1c6555){const _0x517adb=a23_0xec5283,_0x3ca074=_0x1c6555['args'][0x0];if(!_0x3ca074)throw CliErrors[_0x517adb(0x198)]('Missing\x20key\x20argument.',_0x517adb(0x1b1)+CLI_BIN_NAME+'\x20config\x20get\x20<key>');const {buildConfigFromFlags:_0x4d8b6b}=await import(_0x517adb(0x191)),{raw:_0x1cc145}=_0x4d8b6b({});if(_0x3ca074['includes']('.')){const _0x48cce3=_0x3ca074[_0x517adb(0x17e)]('.');let _0xa58a68=_0x1cc145;for(const _0x36761f of _0x48cce3){if(_0xa58a68==null||typeof _0xa58a68!=='object')throw CliErrors[_0x517adb(0x198)]('Key\x20not\x20found:\x20'+_0x3ca074);_0xa58a68=_0xa58a68[_0x36761f];}if(_0xa58a68===undefined)throw CliErrors[_0x517adb(0x198)](_0x517adb(0x197)+_0x3ca074);const _0x17c387=redactCliConfigValue(_0x3ca074,_0xa58a68);return console[_0x517adb(0x18f)](typeof _0x17c387===_0x517adb(0x19f)?JSON[_0x517adb(0x177)](_0x17c387,null,0x2):String(_0x17c387)),{'ok':!![]};}const _0x20e9b1=_0x1cc145[_0x3ca074];if(_0x20e9b1===undefined)throw CliErrors[_0x517adb(0x198)](_0x517adb(0x197)+_0x3ca074);const _0x341aa7=redactCliConfigValue(_0x3ca074,_0x20e9b1);return console[_0x517adb(0x18f)](typeof _0x341aa7===_0x517adb(0x19f)?JSON['stringify'](_0x341aa7,null,0x2):String(_0x341aa7)),{'ok':!![]};}},setDef={'service':a23_0xec5283(0x1a8),'command':a23_0xec5283(0x193),'description':'Set\x20a\x20configuration\x20value','risk':'write','confirmationDescription':a23_0xec5283(0x196),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a23_0xec5283(0x189),'description':getConfigCommandKeyDescription(),'required':!![]},{'name':'value','description':a23_0xec5283(0x1a2),'required':!![]}],'flags':[GLOBAL_SCOPE_FLAG],async 'execute'(_0x5638fc){const _0x11c30a=a23_0xec5283,_0x53b1a8=_0x5638fc['args'][0x0],_0xcf81e5=_0x5638fc[_0x11c30a(0x18a)][0x1];if(!_0x53b1a8||_0xcf81e5===undefined)throw CliErrors[_0x11c30a(0x198)](_0x11c30a(0x18b),_0x11c30a(0x1b1)+CLI_BIN_NAME+_0x11c30a(0x174));if(ENUM_KEYS[_0x53b1a8]&&!ENUM_KEYS[_0x53b1a8][_0x11c30a(0x1af)](_0xcf81e5))throw CliErrors[_0x11c30a(0x198)](_0x11c30a(0x19d)+_0x53b1a8+_0x11c30a(0x179)+ENUM_KEYS[_0x53b1a8][_0x11c30a(0x181)](',\x20'));if(isCliProtectedConfigKey(_0x53b1a8))throw CliErrors[_0x11c30a(0x198)]('\x22'+_0x53b1a8+_0x11c30a(0x1b4));if(_0x53b1a8===_0x11c30a(0x1ae)){const _0x2683c7=Number(_0xcf81e5);if(isNaN(_0x2683c7)||_0x2683c7<=0x0)throw CliErrors[_0x11c30a(0x198)](_0x11c30a(0x19b));}const _0x482180=resolveWriteScope({'explicitGlobal':_0x5638fc[_0x11c30a(0x1a6)](_0x11c30a(0x18e)),'policy':_0x11c30a(0x18c)}),_0x576e7c=toScopeFlags(_0x482180),_0x235a54=readScopedConfig(_0x576e7c),_0x217908=parseAliasAppcodeSetKey(_0x53b1a8);if(!_0x217908&&!isTopLevelConfigKey(_0x53b1a8))throw CliErrors[_0x11c30a(0x198)](_0x11c30a(0x173)+_0x53b1a8+'\x22\x20is\x20not\x20settable.','Settable\x20keys:\x20'+getTopLevelConfigKeySummary()+_0x11c30a(0x1a0));if(_0x217908)setLocalAppAlias(_0x235a54,_0x217908,_0xcf81e5);else{if(_0x53b1a8===_0x11c30a(0x18d)){const _0x2f9f50=normalizeLocale(_0xcf81e5);if(!_0x2f9f50)throw CliErrors[_0x11c30a(0x198)]('Invalid\x20locale\x20value.',_0x11c30a(0x17a));_0x235a54[_0x11c30a(0x18d)]=_0x2f9f50;}else _0x235a54[_0x53b1a8]=_0x53b1a8==='pageSize'?Number(_0xcf81e5):DOMAIN_CONFIG_FIELDS['includes'](_0x53b1a8)?normalizeDomainOrigin(_0x53b1a8,_0xcf81e5):_0xcf81e5;}const _0x54e5e6=_0x53b1a8===_0x11c30a(0x1ad)?maskCliAccessKey(_0xcf81e5):!_0x217908&&_0x53b1a8==='locale'?String(_0x235a54[_0x11c30a(0x18d)]):_0xcf81e5;return console[_0x11c30a(0x18f)](_0x11c30a(0x180)+_0x53b1a8+_0x11c30a(0x1b3)+_0x54e5e6+'\x22'+(_0x482180==='global'?'\x20(global)':'')),writeScopedConfig(_0x235a54,_0x576e7c),{'ok':!![]};}},deleteDef={'service':a23_0xec5283(0x1a8),'command':'delete','description':a23_0xec5283(0x17d),'risk':a23_0xec5283(0x190),'confirmationDescription':'Deletes\x20a\x20Lovrabet\x20CLI\x20config\x20key.\x20Later\x20commands\x20will\x20fall\x20back\x20to\x20another\x20config\x20layer\x20or\x20the\x20default.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a23_0xec5283(0x189),'description':getConfigCommandKeyDescription(),'required':!![]}],'flags':[GLOBAL_SCOPE_FLAG],async 'execute'(_0x5a4ae0){const _0xbd1d4c=a23_0xec5283,_0x378468=_0x5a4ae0[_0xbd1d4c(0x18a)][0x0];if(!_0x378468)throw CliErrors[_0xbd1d4c(0x198)](_0xbd1d4c(0x1a1),_0xbd1d4c(0x1b1)+CLI_BIN_NAME+_0xbd1d4c(0x1a5));if(isCliProtectedConfigKey(_0x378468))throw CliErrors[_0xbd1d4c(0x198)]('\x22'+_0x378468+_0xbd1d4c(0x1b4));const _0x22b153=resolveWriteScope({'explicitGlobal':_0x5a4ae0[_0xbd1d4c(0x1a6)](_0xbd1d4c(0x18e)),'policy':_0xbd1d4c(0x18c)}),_0x3dec12=toScopeFlags(_0x22b153),_0xc5f483=readScopedConfig(_0x3dec12),_0xcfb181=parseAliasDeleteKey(_0x378468);if(_0xcfb181){if(!deleteLocalAppAlias(_0xc5f483,_0xcfb181))return console['log']('Key\x20already\x20absent:\x20'+_0x378468+(_0x22b153===_0xbd1d4c(0x18e)?'\x20(global)':'')),{'ok':!![],'data':{'key':_0x378468,'scope':_0x22b153,'changed':![]}};return console[_0xbd1d4c(0x18f)](_0xbd1d4c(0x1ac)+_0x378468+'`'+(_0x22b153==='global'?'\x20(global)':'')),writeScopedConfig(_0xc5f483,_0x3dec12),{'ok':!![],'data':{'key':_0x378468,'scope':_0x22b153,'changed':!![]}};}if(_0xc5f483[_0x378468]===undefined)return console['log']('Key\x20already\x20absent:\x20'+_0x378468+(_0x22b153===_0xbd1d4c(0x18e)?_0xbd1d4c(0x1aa):'')),{'ok':!![],'data':{'key':_0x378468,'scope':_0x22b153,'changed':![]}};return delete _0xc5f483[_0x378468],console[_0xbd1d4c(0x18f)]('Deleted\x20`'+_0x378468+'`'+(_0x22b153===_0xbd1d4c(0x18e)?_0xbd1d4c(0x1aa):'')),writeScopedConfig(_0xc5f483,_0x3dec12),{'ok':!![],'data':{'key':_0x378468,'scope':_0x22b153,'changed':!![]}};}};export const configDefinitions=[configInitDefinition,listDef,getDef,setDef,deleteDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a24_0x30de0a=a24_0x8a8a;(function(_0x115b6c,_0x400ca8){const _0x578817=a24_0x8a8a,_0x21eaf9=_0x115b6c();while(!![]){try{const _0x568081=parseInt(_0x578817(0x1f7))/0x1+parseInt(_0x578817(0x213))/0x2+-parseInt(_0x578817(0x218))/0x3*(-parseInt(_0x578817(0x20b))/0x4)+parseInt(_0x578817(0x1f3))/0x5+parseInt(_0x578817(0x216))/0x6+parseInt(_0x578817(0x1f4))/0x7+-parseInt(_0x578817(0x211))/0x8;if(_0x568081===_0x400ca8)break;else _0x21eaf9['push'](_0x21eaf9['shift']());}catch(_0x559591){_0x21eaf9['push'](_0x21eaf9['shift']());}}}(a24_0x45c6,0x466cf));import{select}from'@inquirer/prompts';import{CliErrors}from'../../errors.js';import{readScopedConfig,writeScopedConfig}from'../../commands/config/shared.js';import{DOMAIN_CONFIG_FIELDS,LEGACY_DOMAIN_CONFIG_FIELDS,resolveDomainConfigInput}from'../../config/domain-config.js';import{ENTERPRISE_ROUTING_KIND,ENTERPRISE_ROUTING_PROTOCOL}from'../../generated/routing-contract.js';import{DEFAULT_LOVRABET_REGION,ENABLED_LOVRABET_REGION_VALUES,isEnabledLovrabetRegion}from'../../constant/region.js';function a24_0x45c6(){const _0x2c4326=['244Ricqon','Available\x20regions:\x20','write','\x22\x20is\x20not\x20currently\x20available.','length','domains','13583456bDFSYA','Custom\x20KB\x20Service\x20HTTPS\x20origin','118602NCRhOZ','str','Custom\x20User\x20HTTPS\x20origin','1098342vmLfdw','Select\x20Lovrabet\x20region','23847fgmLqQ','Independent-deployment\x20Domain\x20JSON\x20file','Initialize\x20the\x20global\x20Lovrabet\x20region\x20or\x20independent-deployment\x20Domains','manifestDomains','domain-config','independent','skill-domain','1439255hkPEmu','4005946ujjDmh','Region\x20\x22','cancelled','399019MDNWWi','api-domain','name','Custom\x20Runtime\x20HTTPS\x20origin','routing','join','map','region','kb-service-domain','enterprise-v1','nonInteractive','mode','official','keys','Updates\x20the\x20global\x20Lovrabet\x20region\x20or\x20independent-deployment\x20Domain\x20configuration.\x20AccessKey,\x20output\x20format,\x20and\x20app\x20bindings\x20stay\x20unchanged.','Choose\x20either\x20an\x20official\x20region\x20or\x20independent-deployment\x20Domains,\x20not\x20both.','string','validation','Official\x20Lovrabet\x20region:\x20','runtime-domain'];a24_0x45c6=function(){return _0x2c4326;};return a24_0x45c6();}function a24_0x8a8a(_0x37a184,_0x1e2238){_0x37a184=_0x37a184-0x1f2;const _0x45c663=a24_0x45c6();let _0x8a8a4a=_0x45c663[_0x37a184];return _0x8a8a4a;}import{OFFICIAL_ROUTING_PROFILES}from'../../generated/official-routing.js';const domainFlags=[{'name':a24_0x30de0a(0x21c),'type':a24_0x30de0a(0x207),'description':a24_0x30de0a(0x219)},{'name':'user-domain','type':a24_0x30de0a(0x207),'description':a24_0x30de0a(0x215)},{'name':a24_0x30de0a(0x1f8),'type':a24_0x30de0a(0x207),'description':'Custom\x20platform\x20API\x20HTTPS\x20origin'},{'name':a24_0x30de0a(0x20a),'type':'string','description':a24_0x30de0a(0x1fa)},{'name':a24_0x30de0a(0x1f2),'type':'string','description':'Custom\x20SkillHub\x20HTTPS\x20origin'},{'name':a24_0x30de0a(0x1ff),'type':a24_0x30de0a(0x207),'description':a24_0x30de0a(0x212)}];export const configInitFlags=[{'name':a24_0x30de0a(0x1fe),'type':a24_0x30de0a(0x207),'description':a24_0x30de0a(0x209)+ENABLED_LOVRABET_REGION_VALUES[a24_0x30de0a(0x1fc)](',\x20'),'enum':[...ENABLED_LOVRABET_REGION_VALUES]},...domainFlags];async function resolveRegion(_0x29b3ad){const _0x4eeeaf=a24_0x30de0a,_0x2f59ae=_0x29b3ad[_0x4eeeaf(0x214)](_0x4eeeaf(0x1fe));if(_0x2f59ae){if(!isEnabledLovrabetRegion(_0x2f59ae))throw CliErrors[_0x4eeeaf(0x208)](_0x4eeeaf(0x1f5)+_0x2f59ae+_0x4eeeaf(0x20e),_0x4eeeaf(0x20c)+ENABLED_LOVRABET_REGION_VALUES[_0x4eeeaf(0x1fc)](',\x20'));return _0x2f59ae;}if(_0x29b3ad[_0x4eeeaf(0x201)])return DEFAULT_LOVRABET_REGION;try{return await select({'message':_0x4eeeaf(0x217),'default':DEFAULT_LOVRABET_REGION,'choices':ENABLED_LOVRABET_REGION_VALUES[_0x4eeeaf(0x1fd)](_0x5ab273=>({'name':OFFICIAL_ROUTING_PROFILES[_0x5ab273]['label']+'\x20('+_0x5ab273+')','value':_0x5ab273}))});}catch(_0x544c7e){if(_0x544c7e?.[_0x4eeeaf(0x1f9)]==='ExitPromptError')throw CliErrors[_0x4eeeaf(0x1f6)]();throw _0x544c7e;}}export async function executeConfigInit(_0xe08b1){const _0x262563=a24_0x30de0a,_0x2ca3eb=resolveDomainConfigInput(_0xe08b1),_0x5da4c5=_0x2ca3eb[_0x262563(0x210)],_0x3f9eb6=Object[_0x262563(0x204)](_0x5da4c5)[_0x262563(0x20f)]>0x0;if(_0x3f9eb6&&_0xe08b1[_0x262563(0x214)](_0x262563(0x1fe)))throw CliErrors[_0x262563(0x208)](_0x262563(0x206));const _0x400421={'global':!![]},_0xd0672=readScopedConfig(_0x400421);for(const _0xe2c666 of DOMAIN_CONFIG_FIELDS)delete _0xd0672[_0xe2c666];for(const _0x5e517d of LEGACY_DOMAIN_CONFIG_FIELDS)delete _0xd0672[_0x5e517d];delete _0xd0672[_0x262563(0x1fb)];let _0x2911d6=null;if(_0x3f9eb6)delete _0xd0672['region'],_0x2ca3eb[_0x262563(0x202)]===_0x262563(0x200)?_0xd0672['routing']={'protocol':ENTERPRISE_ROUTING_PROTOCOL,'kind':ENTERPRISE_ROUTING_KIND,'domains':_0x2ca3eb[_0x262563(0x21b)]}:Object['assign'](_0xd0672,_0x5da4c5);else{_0x2911d6=await resolveRegion(_0xe08b1);if(_0x2911d6===DEFAULT_LOVRABET_REGION)delete _0xd0672['region'];else _0xd0672[_0x262563(0x1fe)]=_0x2911d6;}return writeScopedConfig(_0xd0672,_0x400421),{'ok':!![],'message':_0x3f9eb6?'Lovrabet\x20connection\x20configured\x20for\x20independent\x20deployment.\x20Domains:\x20'+Object[_0x262563(0x204)](_0x2ca3eb[_0x262563(0x202)]==='enterprise-v1'?_0x2ca3eb['manifestDomains']:_0x5da4c5)[_0x262563(0x1fc)](',\x20')+'.':'Lovrabet\x20connection\x20configured\x20for\x20region:\x20'+_0x2911d6+'.','data':{'mode':_0x3f9eb6?_0x262563(0x21d):_0x262563(0x203),'protocol':_0x2ca3eb['mode']===_0x262563(0x200)?ENTERPRISE_ROUTING_PROTOCOL:undefined,'region':_0x2911d6,'domains':_0x5da4c5}};}export const configInitDefinition={'service':'config','command':'init','description':a24_0x30de0a(0x21a),'risk':a24_0x30de0a(0x20d),'confirmationDescription':a24_0x30de0a(0x205),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':configInitFlags,'execute':executeConfigInit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x574291,_0x5ef95f){var _0x396d80=a25_0xd7af,_0x21904d=_0x574291();while(!![]){try{var _0x12653f=parseInt(_0x396d80(0x16c))/0x1+-parseInt(_0x396d80(0x16f))/0x2+parseInt(_0x396d80(0x16a))/0x3+-parseInt(_0x396d80(0x169))/0x4+-parseInt(_0x396d80(0x168))/0x5+-parseInt(_0x396d80(0x16d))/0x6*(parseInt(_0x396d80(0x16e))/0x7)+parseInt(_0x396d80(0x16b))/0x8;if(_0x12653f===_0x5ef95f)break;else _0x21904d['push'](_0x21904d['shift']());}catch(_0x12d534){_0x21904d['push'](_0x21904d['shift']());}}}(a25_0x473b,0x92a21));function a25_0xd7af(_0xfe84af,_0x2abcac){_0xfe84af=_0xfe84af-0x168;var _0x473bbb=a25_0x473b();var _0xd7af20=_0x473bbb[_0xfe84af];return _0xd7af20;}import{CLI_BIN_NAME}from'../../constant/cli.js';export{CLI_BIN_NAME};export{readScopedConfig,writeScopedConfig}from'../../context.js';function a25_0x473b(){var _0x337209=['2455485yigXyO','8778008wzcQpZ','643876rrXZBK','138bwiYYL','68936CSBSrA','100788lPfNzC','4514125smwqQw','3117160KGuCgu'];a25_0x473b=function(){return _0x337209;};return a25_0x473b();}export{resolveConfigScope as resolveWriteScope,TOP_LEVEL_CONFIG_KEYS as TOP_LEVEL_KEYS,CONFIG_ENUM_VALUES as ENUM_KEYS,getConfigCommandKeyDescription,getTopLevelConfigKeyList,getTopLevelConfigKeySummary,isCliProtectedConfigKey,isTopLevelConfigKey,normalizeLocale,toScopeFlags}from'../../commands/common/config-policy.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a26_0x1a39dd=a26_0x18ec;(function(_0x34b54a,_0x5d5d2a){const _0x3aa439=a26_0x18ec,_0x928724=_0x34b54a();while(!![]){try{const _0x5829e8=parseInt(_0x3aa439(0x224))/0x1*(-parseInt(_0x3aa439(0x204))/0x2)+parseInt(_0x3aa439(0x209))/0x3+parseInt(_0x3aa439(0x210))/0x4*(-parseInt(_0x3aa439(0x221))/0x5)+-parseInt(_0x3aa439(0x1e1))/0x6*(-parseInt(_0x3aa439(0x217))/0x7)+-parseInt(_0x3aa439(0x228))/0x8*(-parseInt(_0x3aa439(0x216))/0x9)+parseInt(_0x3aa439(0x1f8))/0xa*(-parseInt(_0x3aa439(0x225))/0xb)+-parseInt(_0x3aa439(0x20d))/0xc;if(_0x5829e8===_0x5d5d2a)break;else _0x928724['push'](_0x928724['shift']());}catch(_0x3a60dd){_0x928724['push'](_0x928724['shift']());}}}(a26_0x50c8,0x19509));import{readFile,realpath}from'node:fs/promises';import{resolve}from'node:path';function a26_0x50c8(){const _0x26eb2b=['2EMuxOj','Creates\x20real\x20dataset\x20records\x20immediately.\x20Keep\x20the\x20checkpoint\x20to\x20reconcile\x20and\x20resume\x20interrupted\x20imports.','Reconcile\x20imported\x20records\x20and\x20resume\x20the\x20exact\x20original\x20file,\x20target\x20and\x20mapping','some','imageFields','537957zjTFwm','parse','POST','Mapping\x20file\x20must\x20contain\x20valid\x20JSON.','1110312nrdRsT','values','number','964nUhGlK','Run\x20dataset\x20detail\x20to\x20confirm\x20the\x20source.\x20Only\x20DB_TABLE\x20has\x20the\x20documented\x20alternative\x20batchCreate\x20route;\x20do\x20not\x20guess\x20or\x20automatically\x20switch\x20APIs.','\x20--params\x20\x27<JSON\x20array>\x27\x20--dry-run\x20using\x20the\x20target\x20app\x27s\x20User\x20AK\x20and\x20runtime\x20permissions.\x20Dry-run\x20only\x20previews\x20the\x20request;\x20verify\x20written\x20rows\x20before\x20advancing\x20and\x20reconcile\x20unknown\x20outcomes\x20before\x20retrying.\x20This\x20DB_TABLE\x20route\x20does\x20not\x20support\x20import\x20checkpoints\x20or\x20--resume.\x20See\x20references/lovrabet-db-table-excel-import.md\x20in\x20the\x20built-in\x20Skill.\x20No\x20import\x20request\x20was\x20sent.','header-row','succeeded','Source,\x20mapping,\x20checkpoint\x20and\x20report\x20must\x20be\x20different\x20files.','162Eabdrz','351967rTyxyF','code','Excel\x20import\x20failed.','.rows.json','string','length','all','object','import-excel','hashes','2085TejmiR','appCode','.import-checkpoint.json','143527qmpUPo','11bqlMCI','bool','imageCells','83384HhVYiS','mapping','Excel\x20contains\x20','report','Imported\x20and\x20verified\x20','validation','invalid','slice','Local\x20Excel\x20validation\x20only;\x20no\x20records\x20or\x20checkpoint\x20were\x20written.','\x20invalid\x20cells.\x20No\x20records\x20were\x20written.','12nPaPlw','--file\x20and\x20--mapping\x20are\x20required.','Dataset\x20source\x20is\x20missing\x20or\x20unsupported;\x20import-excel\x20requires\x20METADATA.','checkpoint','size','data','Mapping\x20file\x20exceeds\x201\x20MB.','/client/','map','\x20records.','Private\x20result\x20report\x20(default:\x20XLSX\x20path\x20plus\x20.import-report.json)','\x20--code\x20','errors','str','mappingFile','emptyRows','maxBatchSize','warnings','DB_TABLE\x20datasets\x20use\x20the\x20existing\x20batchCreate\x20operation;\x20import-excel\x20only\x20supports\x20METADATA\x20datasets.','.lock','Mapping\x20must\x20be\x20an\x20object\x20from\x20Excel\x20headers\x20to\x20field\x20codes.','resume','file','272560hcLcIj','See\x20','sheet','schemaVersion','rows','.lock.recovery','utf8','toString','JSON\x20file\x20mapping\x20Excel\x20headers\x20to\x20dataset\x20field\x20codes','/import-batch','schemaFingerprint','isInteger'];a26_0x50c8=function(){return _0x26eb2b;};return a26_0x50c8();}import{CODE_FLAG}from'../../commands/common/flags.js';function a26_0x18ec(_0x452ee9,_0x4ce73a){_0x452ee9=_0x452ee9-0x1d8;const _0x50c826=a26_0x50c8();let _0x18ec32=_0x50c826[_0x452ee9];return _0x18ec32;}import{getDatasetDetail,getDatasetImportContract,createDatasetImportBatch,readDatasetImportRows,readDatasetImportTaskRows,uploadDatasetImportImage,readDatasetImportImage}from'../../core/api-client.js';import{getRuntimeDomain}from'../../constant/domain.js';import{CliError,CliErrors}from'../../errors.js';import{buildExcelManifest,normalizeImportFields}from'../../services/dataset-import/excel-reader.js';import{assertImportContract,assertImportPaths,runExcelImport,saveImportJson,resolveImportOutputPath}from'../../services/dataset-import/runner.js';import{assertDatasetImportTarget}from'../../services/dataset-import/metadata.js';import{runAutoIdExcelImport}from'../../services/dataset-import/auto-id-runner.js';import{assertImageImportCapability,runImageExcelImport}from'../../services/dataset-import/image-runner.js';import{previewImportBatchCount}from'../../services/dataset-import/preview.js';function input(_0x3ed179){const _0x3986fb=a26_0x18ec,_0x276b82=_0x3ed179[_0x3986fb(0x1ee)](_0x3986fb(0x1f7)),_0x2c3186=_0x3ed179[_0x3986fb(0x1ee)](_0x3986fb(0x1d8));if(!_0x276b82||!_0x2c3186)throw CliErrors[_0x3986fb(0x1dc)](_0x3986fb(0x1e2));const _0x4559ab=_0x3ed179['num'](_0x3986fb(0x213),0x1),_0x280e2e=_0x3ed179['num']('batch-size',0x1f4);if(!Number[_0x3986fb(0x203)](_0x4559ab)||_0x4559ab<0x1||!Number[_0x3986fb(0x203)](_0x280e2e)||_0x280e2e<0x1||_0x280e2e>0x1f4)throw CliErrors['validation']('Header\x20row\x20must\x20be\x20positive\x20and\x20batch\x20size\x20must\x20be\x20between\x201\x20and\x20500.');const _0xe492fb=resolve(_0x3ed179[_0x3986fb(0x1ee)](_0x3986fb(0x1e4))||_0x276b82+_0x3986fb(0x223)),_0x130bca=resolve(_0x3ed179['str'](_0x3986fb(0x1da))||_0x276b82+'.import-report.json'),_0x3878c6=[resolve(_0x276b82),resolve(_0x2c3186),_0xe492fb,_0x130bca];if(new Set(_0x3878c6)[_0x3986fb(0x1e5)]!==_0x3878c6[_0x3986fb(0x21c)])throw CliErrors[_0x3986fb(0x1dc)](_0x3986fb(0x215));return{'file':resolve(_0x276b82),'mappingFile':resolve(_0x2c3186),'headerRow':_0x4559ab,'batchSize':_0x280e2e,'checkpoint':_0xe492fb,'report':_0x130bca,'sheet':_0x3ed179[_0x3986fb(0x1ee)](_0x3986fb(0x1fa))||undefined,'resume':_0x3ed179[_0x3986fb(0x226)](_0x3986fb(0x1f6))};}async function prepare(_0x15690f){const _0x43d49f=a26_0x18ec,_0xacb424=input(_0x15690f),_0x319c88=_0x15690f[_0x43d49f(0x1ee)](_0x43d49f(0x218));[_0xacb424[_0x43d49f(0x1f7)],_0xacb424['mappingFile'],_0xacb424[_0x43d49f(0x1e4)],_0xacb424[_0x43d49f(0x1da)]]=await Promise['all']([realpath(_0xacb424['file']),realpath(_0xacb424['mappingFile']),resolveImportOutputPath(_0xacb424[_0x43d49f(0x1e4)]),resolveImportOutputPath(_0xacb424['report'])]),assertImportPaths(_0xacb424[_0x43d49f(0x1e4)],_0xacb424[_0x43d49f(0x1da)],[_0xacb424[_0x43d49f(0x1f7)],_0xacb424['mappingFile']]);let _0x2ac157;const _0x3793f7=await readFile(_0xacb424['mappingFile']);if(_0x3793f7[_0x43d49f(0x21c)]>0x400*0x400)throw CliErrors[_0x43d49f(0x1dc)](_0x43d49f(0x1e7));try{_0x2ac157=JSON[_0x43d49f(0x20a)](_0x3793f7[_0x43d49f(0x1ff)](_0x43d49f(0x1fe)));}catch{throw CliErrors['validation'](_0x43d49f(0x20c));}if(!_0x2ac157||typeof _0x2ac157!==_0x43d49f(0x21e)||Array['isArray'](_0x2ac157)||Object[_0x43d49f(0x20e)](_0x2ac157)[_0x43d49f(0x207)](_0x5c6c25=>typeof _0x5c6c25!==_0x43d49f(0x21b)))throw CliErrors[_0x43d49f(0x1dc)](_0x43d49f(0x1f5));const _0x3baa1a=await getDatasetDetail(_0x319c88),_0x28c0a5=assertDatasetImportTarget(_0x3baa1a,_0x15690f[_0x43d49f(0x222)],_0x319c88);if(_0x28c0a5==='DB_TABLE')throw CliErrors[_0x43d49f(0x1dc)](_0x43d49f(0x1f3),'Inspect\x20lovrabet\x20dataset\x20detail\x20--code\x20'+_0x319c88+'.\x20Validate\x20fields\x20and\x20confirmed\x20unique\x20business\x20keys,\x20convert\x20Excel\x20rows\x20to\x20JSON,\x20and\x20split\x20within\x20the\x20target\x20API\x20row/byte\x20limits.\x20Preview\x20one\x20batch\x20with\x20lovrabet\x20data\x20batchCreate\x20--appcode\x20'+_0x15690f[_0x43d49f(0x222)]+_0x43d49f(0x1ec)+_0x319c88+_0x43d49f(0x212));if(_0x28c0a5!=='METADATA')throw CliErrors[_0x43d49f(0x1dc)](_0x43d49f(0x1e3),_0x43d49f(0x211));const _0x1b5d70=await buildExcelManifest({..._0xacb424,'mapping':_0x2ac157,'fields':normalizeImportFields(_0x3baa1a)}),_0x4e4558=await getDatasetImportContract(_0x15690f['appCode'],_0x319c88);assertImportContract(_0x4e4558,_0x15690f['appCode'],_0x319c88),assertImageImportCapability(_0x4e4558,_0x1b5d70);if(_0x1b5d70[_0x43d49f(0x208)]?.['length']){const _0x3328d2=await resolveImportOutputPath(_0xacb424['checkpoint']+_0x43d49f(0x21a)),_0x414809=await Promise[_0x43d49f(0x21d)]([_0x3328d2,_0x3328d2+'.lock',_0x3328d2+_0x43d49f(0x1fd),_0xacb424[_0x43d49f(0x1e4)]+_0x43d49f(0x1f4),_0xacb424[_0x43d49f(0x1e4)]+'.lock.recovery'][_0x43d49f(0x1e9)](resolveImportOutputPath));assertImportPaths(_0xacb424[_0x43d49f(0x1e4)],_0xacb424[_0x43d49f(0x1da)],[_0xacb424[_0x43d49f(0x1f7)],_0xacb424[_0x43d49f(0x1ef)],..._0x414809[_0x43d49f(0x1de)](0x0,0x3)]);}if(_0xacb424['batchSize']>_0x4e4558[_0x43d49f(0x1f1)])throw CliErrors[_0x43d49f(0x1dc)]('Batch\x20size\x20exceeds\x20the\x20server\x20import\x20contract.');return{'args':_0xacb424,'manifest':_0x1b5d70,'contract':_0x4e4558,'code':_0x319c88};}async function checked(_0x36a019){const _0x5ad5fe=a26_0x18ec;try{return await _0x36a019();}catch(_0x53183c){if(_0x53183c instanceof CliError)throw _0x53183c;throw CliErrors['validation'](_0x53183c['message']||_0x5ad5fe(0x219));}}export const dataImportExcel={'service':a26_0x1a39dd(0x1e6),'command':a26_0x1a39dd(0x21f),'risk':'write','description':'Import\x20one\x20XLSX\x20worksheet\x20into\x20METADATA\x20with\x20checkpoint\x20recovery.\x20DB_TABLE\x20uses\x20lovrabet\x20data\x20batchCreate\x20after\x20mapping\x20and\x20validation;\x20that\x20route\x20has\x20no\x20import\x20checkpoint\x20or\x20--resume.','confirmationDescription':a26_0x1a39dd(0x205),'flags':[CODE_FLAG,{'name':'file','type':a26_0x1a39dd(0x21b),'required':!![],'description':'Local\x20XLSX\x20file\x20(maximum\x2020\x20MB)'},{'name':a26_0x1a39dd(0x1d8),'type':'string','required':!![],'description':a26_0x1a39dd(0x200)},{'name':a26_0x1a39dd(0x1fa),'type':a26_0x1a39dd(0x21b),'description':'Worksheet\x20name\x20or\x201-based\x20index\x20(default:\x20first\x20worksheet)'},{'name':'header-row','type':a26_0x1a39dd(0x20f),'default':0x1,'description':'1-based\x20Excel\x20header\x20row'},{'name':'batch-size','type':a26_0x1a39dd(0x20f),'default':0x1f4,'description':'Maximum\x20records\x20per\x20request\x20(1..500)'},{'name':a26_0x1a39dd(0x1e4),'type':a26_0x1a39dd(0x21b),'description':'Private\x20checkpoint\x20file\x20(default:\x20XLSX\x20path\x20plus\x20.import-checkpoint.json)'},{'name':a26_0x1a39dd(0x1da),'type':a26_0x1a39dd(0x21b),'description':a26_0x1a39dd(0x1eb)},{'name':'resume','type':'boolean','description':a26_0x1a39dd(0x206)}],'validate':async _0x1dd190=>{input(_0x1dd190);},'dryRun':async _0x18c621=>checked(async()=>{const _0x443150=a26_0x1a39dd,{args:_0x4f06ea,manifest:_0x241f59,contract:_0x1e63bb,code:_0x1ff769}=await prepare(_0x18c621),_0xd4386d=new Set(_0x241f59[_0x443150(0x1ed)][_0x443150(0x1e9)](_0x2c9cb3=>_0x2c9cb3['rowNumber']))['size'];return{'method':_0x443150(0x20b),'url':_0x443150(0x1e8)+encodeURIComponent(_0x18c621[_0x443150(0x222)])+'/'+encodeURIComponent(_0x1ff769)+_0x443150(0x201),'description':_0x443150(0x1df),'body':{'schemaFingerprint':_0x1e63bb[_0x443150(0x202)]},'validRows':Math['max'](0x0,_0x241f59[_0x443150(0x1fc)]['length']-_0xd4386d),'invalidRows':_0xd4386d,'invalidCells':_0x241f59[_0x443150(0x1ed)][_0x443150(0x21c)],'emptyRows':_0x241f59[_0x443150(0x1f0)]['length'],'expectedBatches':previewImportBatchCount(_0x241f59,_0x1e63bb,_0x4f06ea['batchSize']),'imageCount':_0x241f59[_0x443150(0x227)]?.['reduce']((_0x4e18e1,_0x257996)=>_0x4e18e1+_0x257996[_0x443150(0x220)][_0x443150(0x21c)],0x0)??0x0,'uniqueImages':_0x241f59['media']?.[_0x443150(0x21c)]??0x0,'uniqueImageBytes':_0x241f59['media']?.['reduce']((_0x5cef76,_0x1c5cfd)=>_0x5cef76+_0x1c5cfd[_0x443150(0x1e5)],0x0)??0x0,'errors':_0x241f59[_0x443150(0x1ed)],'warnings':_0x241f59[_0x443150(0x1f2)],'sheet':_0x241f59[_0x443150(0x1fa)],'checkpoint':_0x4f06ea[_0x443150(0x1e4)],'report':_0x4f06ea[_0x443150(0x1da)]};}),'execute':async _0x51acd8=>checked(async()=>{const _0x568413=a26_0x1a39dd,{args:_0x21de31,manifest:_0x2b2fac,contract:_0x123a9e,code:_0xecaf55}=await prepare(_0x51acd8);if(_0x2b2fac[_0x568413(0x1ed)][_0x568413(0x21c)]){await saveImportJson(_0x21de31['report'],{'status':_0x568413(0x1dd),'sourceRows':_0x2b2fac[_0x568413(0x1fc)][_0x568413(0x21c)],'errors':_0x2b2fac[_0x568413(0x1ed)],'emptyRows':_0x2b2fac['emptyRows'],'warnings':_0x2b2fac[_0x568413(0x1f2)]});throw CliErrors['validation'](_0x568413(0x1d9)+_0x2b2fac[_0x568413(0x1ed)][_0x568413(0x21c)]+_0x568413(0x1e0),_0x568413(0x1f9)+_0x21de31['report']+'.');}const _0x3dab7e=_0x2b2fac[_0x568413(0x208)]?.[_0x568413(0x21c)]?runImageExcelImport:_0x123a9e[_0x568413(0x1fb)]===0x2?runAutoIdExcelImport:runExcelImport,_0x52b07a=await _0x3dab7e({..._0x21de31,'manifest':_0x2b2fac,'contract':_0x123a9e,'appCode':_0x51acd8[_0x568413(0x222)],'datasetCode':_0xecaf55,'runtimeDomain':getRuntimeDomain(),'inputPaths':[_0x21de31[_0x568413(0x1f7)],_0x21de31[_0x568413(0x1ef)]],'imageApi':{'upload':(_0x1585f4,_0x4a3b6c)=>uploadDatasetImportImage(_0x51acd8[_0x568413(0x222)],_0xecaf55,_0x1585f4,_0x4a3b6c),'readback':(_0x2b0c3b,_0x459f07)=>readDatasetImportImage(_0x51acd8['appCode'],_0xecaf55,_0x2b0c3b,_0x459f07)},'api':{'write':(_0x2a0fe0,_0x1df902)=>createDatasetImportBatch(_0x51acd8[_0x568413(0x222)],_0xecaf55,{'schemaFingerprint':_0x123a9e[_0x568413(0x202)],'items':_0x2a0fe0,..._0x1df902===undefined?{}:{'taskId':_0x1df902}}),'readback':_0x493d21=>readDatasetImportRows(_0x51acd8[_0x568413(0x222)],_0xecaf55,_0x493d21),'readTask':_0x1c7f40=>readDatasetImportTaskRows(_0x51acd8[_0x568413(0x222)],_0xecaf55,_0x1c7f40)}});return{'ok':!![],'data':_0x52b07a,'message':_0x568413(0x1db)+_0x52b07a[_0x568413(0x214)]+_0x568413(0x1ea)};})};
|
|
1
|
+
const a26_0x38938c=a26_0x3c5a;(function(_0x2066e8,_0xb45d29){const _0x1005f4=a26_0x3c5a,_0x2b1cfb=_0x2066e8();while(!![]){try{const _0x417c12=parseInt(_0x1005f4(0x11e))/0x1*(-parseInt(_0x1005f4(0xf1))/0x2)+-parseInt(_0x1005f4(0xef))/0x3+parseInt(_0x1005f4(0xfc))/0x4*(parseInt(_0x1005f4(0x102))/0x5)+-parseInt(_0x1005f4(0xec))/0x6*(parseInt(_0x1005f4(0x116))/0x7)+-parseInt(_0x1005f4(0xd6))/0x8+parseInt(_0x1005f4(0xf9))/0x9*(parseInt(_0x1005f4(0xf8))/0xa)+-parseInt(_0x1005f4(0xcc))/0xb*(-parseInt(_0x1005f4(0xd7))/0xc);if(_0x417c12===_0xb45d29)break;else _0x2b1cfb['push'](_0x2b1cfb['shift']());}catch(_0x5ba2aa){_0x2b1cfb['push'](_0x2b1cfb['shift']());}}}(a26_0x390c,0xd9e53));import{readFile,realpath}from'node:fs/promises';import{resolve}from'node:path';import{CODE_FLAG}from'../../commands/common/flags.js';import{getDatasetDetail,getDatasetImportContract,createDatasetImportBatch,readDatasetImportRows,readDatasetImportTaskRows,uploadDatasetImportImage,readDatasetImportImage}from'../../core/api-client.js';import{getRuntimeDomain}from'../../constant/domain.js';import{CliError,CliErrors}from'../../errors.js';import{buildExcelManifest,normalizeImportFields}from'../../services/dataset-import/excel-reader.js';import{assertImportContract,assertImportPaths,runExcelImport,saveImportJson,resolveImportOutputPath}from'../../services/dataset-import/runner.js';import{assertDatasetImportTarget}from'../../services/dataset-import/metadata.js';import{runAutoIdExcelImport}from'../../services/dataset-import/auto-id-runner.js';function a26_0x3c5a(_0xf4da34,_0x457610){_0xf4da34=_0xf4da34-0xc9;const _0x390c92=a26_0x390c();let _0x3c5ad6=_0x390c92[_0xf4da34];return _0x3c5ad6;}function a26_0x390c(){const _0x12a38e=['Worksheet\x20name\x20or\x201-based\x20index\x20(default:\x20first\x20worksheet)','string','validation','map','object','DB_TABLE','METADATA','message','str','DB_TABLE\x20datasets\x20use\x20the\x20existing\x20batchCreate\x20operation;\x20import-excel\x20only\x20supports\x20METADATA\x20datasets.','length','emptyRows','errors','imageCells','sheet','/client/','Local\x20XLSX\x20file\x20(maximum\x2020\x20MB)','5341987OnozZe','checkpoint','reduce','utf8','write','\x20--params\x20\x27<JSON\x20array>\x27\x20--dry-run\x20using\x20the\x20target\x20app\x27s\x20User\x20AK\x20and\x20runtime\x20permissions.\x20Dry-run\x20only\x20previews\x20the\x20request;\x20verify\x20written\x20rows\x20before\x20advancing\x20and\x20reconcile\x20unknown\x20outcomes\x20before\x20retrying.\x20This\x20DB_TABLE\x20route\x20does\x20not\x20support\x20import\x20checkpoints\x20or\x20--resume.\x20See\x20references/lovrabet-db-table-excel-import.md\x20in\x20the\x20built-in\x20Skill.\x20No\x20import\x20request\x20was\x20sent.','Source,\x20mapping,\x20checkpoint\x20and\x20report\x20must\x20be\x20different\x20files.','rows','75282KzrfNy','code','JSON\x20file\x20mapping\x20Excel\x20headers\x20to\x20dataset\x20field\x20codes','Reconcile\x20imported\x20records\x20and\x20resume\x20the\x20exact\x20original\x20file,\x20target\x20and\x20mapping','319zEZCqH','mappingFile','Creates\x20real\x20dataset\x20records\x20immediately.\x20Keep\x20the\x20checkpoint\x20to\x20reconcile\x20and\x20resume\x20interrupted\x20imports.','succeeded','schemaFingerprint','schemaVersion','\x20invalid\x20cells.\x20No\x20records\x20were\x20written.','Batch\x20size\x20exceeds\x20the\x20server\x20import\x20contract.','number','invalid','5596712HCyGgU','486804DhWeYG','Imported\x20and\x20verified\x20','/import-batch','.lock.recovery','.import-checkpoint.json','POST','Import\x20one\x20XLSX\x20worksheet\x20into\x20METADATA\x20with\x20checkpoint\x20recovery.\x20DB_TABLE\x20uses\x20lovrabet\x20data\x20batchCreate\x20after\x20mapping\x20and\x20validation;\x20that\x20route\x20has\x20no\x20import\x20checkpoint\x20or\x20--resume.','Mapping\x20must\x20be\x20an\x20object\x20from\x20Excel\x20headers\x20to\x20field\x20codes.','isInteger','hashes','max','Maximum\x20records\x20per\x20request\x20(1..500)','rowNumber','some','resume','appCode','mapping','import-excel','batchSize','Run\x20dataset\x20detail\x20to\x20confirm\x20the\x20source.\x20Only\x20DB_TABLE\x20has\x20the\x20documented\x20alternative\x20batchCreate\x20route;\x20do\x20not\x20guess\x20or\x20automatically\x20switch\x20APIs.','boolean','6yzhsyj','batch-size','\x20--code\x20','138684VgQKsi','.\x20Validate\x20fields\x20and\x20confirmed\x20unique\x20business\x20keys,\x20convert\x20Excel\x20rows\x20to\x20JSON,\x20and\x20split\x20within\x20the\x20target\x20API\x20row/byte\x20limits.\x20Preview\x20one\x20batch\x20with\x20lovrabet\x20data\x20batchCreate\x20--appcode\x20','2DtJczk','all','header-row','values','file','Private\x20checkpoint\x20file\x20(default:\x20XLSX\x20path\x20plus\x20.import-checkpoint.json)','Excel\x20import\x20failed.','20hALqja','4387482WUMNmh','media','imageFields','325300tfZwXY','Local\x20Excel\x20validation\x20only;\x20no\x20records\x20or\x20checkpoint\x20were\x20written.','warnings','.lock','size','num','20fHCjaH','report','Inspect\x20lovrabet\x20dataset\x20detail\x20--code\x20'];a26_0x390c=function(){return _0x12a38e;};return a26_0x390c();}import{assertImageImportCapability,runImageExcelImport}from'../../services/dataset-import/image-runner.js';import{previewImportBatchCount}from'../../services/dataset-import/preview.js';function input(_0xb53f67){const _0x4081b1=a26_0x3c5a,_0x5cefea=_0xb53f67['str'](_0x4081b1(0xf5)),_0x49f760=_0xb53f67['str'](_0x4081b1(0xe7));if(!_0x5cefea||!_0x49f760)throw CliErrors[_0x4081b1(0x107)]('--file\x20and\x20--mapping\x20are\x20required.');const _0xa2a150=_0xb53f67[_0x4081b1(0x101)](_0x4081b1(0xf3),0x1),_0x304479=_0xb53f67[_0x4081b1(0x101)](_0x4081b1(0xed),0x1f4);if(!Number[_0x4081b1(0xdf)](_0xa2a150)||_0xa2a150<0x1||!Number[_0x4081b1(0xdf)](_0x304479)||_0x304479<0x1||_0x304479>0x1f4)throw CliErrors[_0x4081b1(0x107)]('Header\x20row\x20must\x20be\x20positive\x20and\x20batch\x20size\x20must\x20be\x20between\x201\x20and\x20500.');const _0x41314a=resolve(_0xb53f67['str'](_0x4081b1(0x117))||_0x5cefea+_0x4081b1(0xdb)),_0x1947fc=resolve(_0xb53f67[_0x4081b1(0x10d)](_0x4081b1(0x103))||_0x5cefea+'.import-report.json'),_0x508305=[resolve(_0x5cefea),resolve(_0x49f760),_0x41314a,_0x1947fc];if(new Set(_0x508305)[_0x4081b1(0x100)]!==_0x508305['length'])throw CliErrors[_0x4081b1(0x107)](_0x4081b1(0x11c));return{'file':resolve(_0x5cefea),'mappingFile':resolve(_0x49f760),'headerRow':_0xa2a150,'batchSize':_0x304479,'checkpoint':_0x41314a,'report':_0x1947fc,'sheet':_0xb53f67['str']('sheet')||undefined,'resume':_0xb53f67['bool'](_0x4081b1(0xe5))};}async function prepare(_0x296f0f){const _0x2a4af0=a26_0x3c5a,_0x3eb622=input(_0x296f0f),_0x5d1edf=_0x296f0f[_0x2a4af0(0x10d)](_0x2a4af0(0xc9));[_0x3eb622[_0x2a4af0(0xf5)],_0x3eb622[_0x2a4af0(0xcd)],_0x3eb622[_0x2a4af0(0x117)],_0x3eb622[_0x2a4af0(0x103)]]=await Promise[_0x2a4af0(0xf2)]([realpath(_0x3eb622[_0x2a4af0(0xf5)]),realpath(_0x3eb622[_0x2a4af0(0xcd)]),resolveImportOutputPath(_0x3eb622[_0x2a4af0(0x117)]),resolveImportOutputPath(_0x3eb622[_0x2a4af0(0x103)])]),assertImportPaths(_0x3eb622[_0x2a4af0(0x117)],_0x3eb622['report'],[_0x3eb622[_0x2a4af0(0xf5)],_0x3eb622[_0x2a4af0(0xcd)]]);let _0x50947f;const _0x15db7a=await readFile(_0x3eb622[_0x2a4af0(0xcd)]);if(_0x15db7a['length']>0x400*0x400)throw CliErrors[_0x2a4af0(0x107)]('Mapping\x20file\x20exceeds\x201\x20MB.');try{_0x50947f=JSON['parse'](_0x15db7a['toString'](_0x2a4af0(0x119)));}catch{throw CliErrors[_0x2a4af0(0x107)]('Mapping\x20file\x20must\x20contain\x20valid\x20JSON.');}if(!_0x50947f||typeof _0x50947f!==_0x2a4af0(0x109)||Array['isArray'](_0x50947f)||Object[_0x2a4af0(0xf4)](_0x50947f)[_0x2a4af0(0xe4)](_0x243b82=>typeof _0x243b82!==_0x2a4af0(0x106)))throw CliErrors[_0x2a4af0(0x107)](_0x2a4af0(0xde));const _0x3f49b4=await getDatasetDetail(_0x5d1edf),_0x3e528f=assertDatasetImportTarget(_0x3f49b4,_0x296f0f[_0x2a4af0(0xe6)],_0x5d1edf);if(_0x3e528f===_0x2a4af0(0x10a))throw CliErrors['validation'](_0x2a4af0(0x10e),_0x2a4af0(0x104)+_0x5d1edf+_0x2a4af0(0xf0)+_0x296f0f[_0x2a4af0(0xe6)]+_0x2a4af0(0xee)+_0x5d1edf+_0x2a4af0(0x11b));if(_0x3e528f!==_0x2a4af0(0x10b))throw CliErrors[_0x2a4af0(0x107)]('Dataset\x20source\x20is\x20missing\x20or\x20unsupported;\x20import-excel\x20requires\x20METADATA.',_0x2a4af0(0xea));const _0x2579fc=await buildExcelManifest({..._0x3eb622,'mapping':_0x50947f,'fields':normalizeImportFields(_0x3f49b4)}),_0x1fc0dd=await getDatasetImportContract(_0x296f0f[_0x2a4af0(0xe6)],_0x5d1edf);assertImportContract(_0x1fc0dd,_0x296f0f['appCode'],_0x5d1edf),assertImageImportCapability(_0x1fc0dd,_0x2579fc);if(_0x2579fc[_0x2a4af0(0xfb)]?.['length']){const _0x648851=await resolveImportOutputPath(_0x3eb622[_0x2a4af0(0x117)]+'.rows.json'),_0x4a6a49=await Promise[_0x2a4af0(0xf2)]([_0x648851,_0x648851+_0x2a4af0(0xff),_0x648851+_0x2a4af0(0xda),_0x3eb622['checkpoint']+_0x2a4af0(0xff),_0x3eb622[_0x2a4af0(0x117)]+_0x2a4af0(0xda)][_0x2a4af0(0x108)](resolveImportOutputPath));assertImportPaths(_0x3eb622[_0x2a4af0(0x117)],_0x3eb622['report'],[_0x3eb622['file'],_0x3eb622[_0x2a4af0(0xcd)],..._0x4a6a49['slice'](0x0,0x3)]);}if(_0x3eb622[_0x2a4af0(0xe9)]>_0x1fc0dd['maxBatchSize'])throw CliErrors[_0x2a4af0(0x107)](_0x2a4af0(0xd3));return{'args':_0x3eb622,'manifest':_0x2579fc,'contract':_0x1fc0dd,'code':_0x5d1edf};}async function checked(_0x1b9fa5){const _0x4e6194=a26_0x3c5a;try{return await _0x1b9fa5();}catch(_0x5c8825){if(_0x5c8825 instanceof CliError)throw _0x5c8825;throw CliErrors['validation'](_0x5c8825[_0x4e6194(0x10c)]||_0x4e6194(0xf7));}}export const dataImportExcel={'service':'data','command':a26_0x38938c(0xe8),'risk':a26_0x38938c(0x11a),'description':a26_0x38938c(0xdd),'confirmationDescription':a26_0x38938c(0xce),'flags':[CODE_FLAG,{'name':a26_0x38938c(0xf5),'type':'string','required':!![],'description':a26_0x38938c(0x115)},{'name':a26_0x38938c(0xe7),'type':a26_0x38938c(0x106),'required':!![],'description':a26_0x38938c(0xca)},{'name':a26_0x38938c(0x113),'type':'string','description':a26_0x38938c(0x105)},{'name':'header-row','type':a26_0x38938c(0xd4),'default':0x1,'description':'1-based\x20Excel\x20header\x20row'},{'name':a26_0x38938c(0xed),'type':a26_0x38938c(0xd4),'default':0x1f4,'description':a26_0x38938c(0xe2)},{'name':'checkpoint','type':a26_0x38938c(0x106),'description':a26_0x38938c(0xf6)},{'name':a26_0x38938c(0x103),'type':'string','description':'Private\x20result\x20report\x20(default:\x20XLSX\x20path\x20plus\x20.import-report.json)'},{'name':'resume','type':a26_0x38938c(0xeb),'description':a26_0x38938c(0xcb)}],'validate':async _0x164fb8=>{input(_0x164fb8);},'dryRun':async _0x130105=>checked(async()=>{const _0x4b641c=a26_0x38938c,{args:_0xc0ba5e,manifest:_0x2aa750,contract:_0x2a1d9b,code:_0x19ec35}=await prepare(_0x130105),_0x5a632d=new Set(_0x2aa750[_0x4b641c(0x111)][_0x4b641c(0x108)](_0x42ef87=>_0x42ef87[_0x4b641c(0xe3)]))['size'];return{'method':_0x4b641c(0xdc),'url':_0x4b641c(0x114)+encodeURIComponent(_0x130105[_0x4b641c(0xe6)])+'/'+encodeURIComponent(_0x19ec35)+_0x4b641c(0xd9),'description':_0x4b641c(0xfd),'body':{'schemaFingerprint':_0x2a1d9b[_0x4b641c(0xd0)]},'validRows':Math[_0x4b641c(0xe1)](0x0,_0x2aa750[_0x4b641c(0x11d)][_0x4b641c(0x10f)]-_0x5a632d),'invalidRows':_0x5a632d,'invalidCells':_0x2aa750[_0x4b641c(0x111)]['length'],'emptyRows':_0x2aa750[_0x4b641c(0x110)][_0x4b641c(0x10f)],'expectedBatches':previewImportBatchCount(_0x2aa750,_0x2a1d9b,_0xc0ba5e[_0x4b641c(0xe9)]),'imageCount':_0x2aa750[_0x4b641c(0x112)]?.[_0x4b641c(0x118)]((_0x477f5c,_0x2a4761)=>_0x477f5c+_0x2a4761[_0x4b641c(0xe0)][_0x4b641c(0x10f)],0x0)??0x0,'uniqueImages':_0x2aa750[_0x4b641c(0xfa)]?.[_0x4b641c(0x10f)]??0x0,'uniqueImageBytes':_0x2aa750[_0x4b641c(0xfa)]?.[_0x4b641c(0x118)]((_0x3e3955,_0x476aed)=>_0x3e3955+_0x476aed[_0x4b641c(0x100)],0x0)??0x0,'errors':_0x2aa750[_0x4b641c(0x111)],'warnings':_0x2aa750['warnings'],'sheet':_0x2aa750[_0x4b641c(0x113)],'checkpoint':_0xc0ba5e[_0x4b641c(0x117)],'report':_0xc0ba5e[_0x4b641c(0x103)]};}),'execute':async _0x14fb71=>checked(async()=>{const _0x4b32dd=a26_0x38938c,{args:_0x2aa07d,manifest:_0x5488cc,contract:_0x5788a3,code:_0x48f62a}=await prepare(_0x14fb71);if(_0x5488cc[_0x4b32dd(0x111)][_0x4b32dd(0x10f)]){await saveImportJson(_0x2aa07d[_0x4b32dd(0x103)],{'status':_0x4b32dd(0xd5),'sourceRows':_0x5488cc[_0x4b32dd(0x11d)]['length'],'errors':_0x5488cc[_0x4b32dd(0x111)],'emptyRows':_0x5488cc['emptyRows'],'warnings':_0x5488cc[_0x4b32dd(0xfe)]});throw CliErrors[_0x4b32dd(0x107)]('Excel\x20contains\x20'+_0x5488cc['errors'][_0x4b32dd(0x10f)]+_0x4b32dd(0xd2),'See\x20'+_0x2aa07d[_0x4b32dd(0x103)]+'.');}const _0x403360=_0x5488cc[_0x4b32dd(0xfb)]?.[_0x4b32dd(0x10f)]?runImageExcelImport:_0x5788a3[_0x4b32dd(0xd1)]===0x2?runAutoIdExcelImport:runExcelImport,_0xd02d9d=await _0x403360({..._0x2aa07d,'manifest':_0x5488cc,'contract':_0x5788a3,'appCode':_0x14fb71[_0x4b32dd(0xe6)],'datasetCode':_0x48f62a,'runtimeDomain':getRuntimeDomain(),'inputPaths':[_0x2aa07d[_0x4b32dd(0xf5)],_0x2aa07d[_0x4b32dd(0xcd)]],'imageApi':{'upload':(_0x31128d,_0x790308)=>uploadDatasetImportImage(_0x14fb71[_0x4b32dd(0xe6)],_0x48f62a,_0x31128d,_0x790308),'readback':(_0x5ec6b8,_0x47ba02)=>readDatasetImportImage(_0x14fb71[_0x4b32dd(0xe6)],_0x48f62a,_0x5ec6b8,_0x47ba02)},'api':{'write':(_0x565856,_0x14be6f)=>createDatasetImportBatch(_0x14fb71[_0x4b32dd(0xe6)],_0x48f62a,{'schemaFingerprint':_0x5788a3[_0x4b32dd(0xd0)],'items':_0x565856,..._0x14be6f===undefined?{}:{'taskId':_0x14be6f}}),'readback':_0x22b1a2=>readDatasetImportRows(_0x14fb71[_0x4b32dd(0xe6)],_0x48f62a,_0x22b1a2),'readTask':_0x4d5bde=>readDatasetImportTaskRows(_0x14fb71[_0x4b32dd(0xe6)],_0x48f62a,_0x4d5bde)}});return{'ok':!![],'data':_0xd02d9d,'message':_0x4b32dd(0xd8)+_0xd02d9d[_0x4b32dd(0xcf)]+'\x20records.'};})};
|