@lovrabet/lovrabet-cli 2.1.21-beta.1 → 2.1.22-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/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/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
function a0_0x24bc(_0x309385,_0x28d8ec){_0x309385=_0x309385-0x13a;const _0x31f59b=a0_0x31f5();let _0x24bc75=_0x31f59b[_0x309385];return _0x24bc75;}const a0_0x260112=a0_0x24bc;(function(_0x452ebf,_0xfed77c){const _0x5cc705=a0_0x24bc,_0x5bfebb=_0x452ebf();while(!![]){try{const _0x3f4e78=parseInt(_0x5cc705(0x159))/0x1+-parseInt(_0x5cc705(0x14c))/0x2*(-parseInt(_0x5cc705(0x157))/0x3)+parseInt(_0x5cc705(0x152))/0x4*(parseInt(_0x5cc705(0x158))/0x5)+-parseInt(_0x5cc705(0x161))/0x6+parseInt(_0x5cc705(0x15f))/0x7*(parseInt(_0x5cc705(0x153))/0x8)+-parseInt(_0x5cc705(0x142))/0x9*(-parseInt(_0x5cc705(0x15e))/0xa)+-parseInt(_0x5cc705(0x155))/0xb;if(_0x3f4e78===_0xfed77c)break;else _0x5bfebb['push'](_0x5bfebb['shift']());}catch(_0x1c5d5b){_0x5bfebb['push'](_0x5bfebb['shift']());}}}(a0_0x31f5,0x7d7a3));import{jsx as a0_0x41911}from'react/jsx-runtime';import a0_0x243467 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';function a0_0x31f5(){const _0x436bf7=['exit','assign','stderr','handler','hint','270ydLOKH','unknownCommand','write','message','exitCode','definition','code','flags','length',':\x20--','1010614SlCoet','slice','defaultCommand','ERR_USE_AFTER_CLOSE','\x20->\x20--','Unexpected\x20error:','149012ssgEJi','1448EYUvVH','error','7733374GjdfsB','ERR_STREAM_DESTROYED','6MevTFi','55GiRtLu','75001XHBSeF','flatMap','args','input','\x0aCancelled.\x0a','86910pUDQuY','5222Xsxewz','help','4044990kvEVUu','log','catch','original'];a0_0x31f5=function(){return _0x436bf7;};return a0_0x31f5();}import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x243467(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x260112(0x13b)](handleError);async function main(){try{await run();}catch(_0x2f590c){handleError(_0x2f590c);}}async function run(){const _0x33b485=a0_0x260112;let _0x4bcbec=cli[_0x33b485(0x15c)][0x0],_0x480e56=cli[_0x33b485(0x15c)][0x1];const _0x923fde=cli['flags'];try{const {correctFlags:_0x3f4e74}=await import('./framework/preparse.js'),_0x1ff1a9=getAllDefinitions()[_0x33b485(0x15a)](_0x51089a=>_0x51089a[_0x33b485(0x149)]??[]),{flags:_0x40d149,corrections:_0x4cdee0}=_0x3f4e74(_0x923fde,_0x1ff1a9);if(_0x4cdee0[_0x33b485(0x14a)]>0x0){for(const _0x1a7e45 of _0x4cdee0){process[_0x33b485(0x13f)][_0x33b485(0x144)]('[preparse]\x20'+_0x1a7e45[_0x33b485(0x140)]+_0x33b485(0x14b)+_0x1a7e45[_0x33b485(0x13c)]+_0x33b485(0x150)+_0x1a7e45['corrected']+'\x0a');}Object[_0x33b485(0x13e)](_0x923fde,_0x40d149);}}catch{}if(!_0x4bcbec){const {waitUntilExit:_0x4469dc}=render(a0_0x41911(Help,{}));await _0x4469dc();return;}if(!isKnownService(_0x4bcbec)){const _0x316a89=resolveDynamicServiceCommand(cli[_0x33b485(0x15c)],_0x923fde);if(_0x316a89){if(_0x923fde[_0x33b485(0x160)]){console['log'](generateCommandHelp(_0x316a89[_0x33b485(0x147)]));return;}Object['assign'](_0x923fde,_0x316a89[_0x33b485(0x149)]);const _0x55c16b=buildConfigFromFlags(_0x923fde);await initGlobalEnvironment(_0x55c16b);const _0x186e50=createPipelineEnv(_0x55c16b,_0x923fde);_0x186e50['args']=_0x316a89[_0x33b485(0x15b)],await runCommand(_0x316a89[_0x33b485(0x147)],_0x186e50);return;}if(_0x923fde['help']){const _0x3c418d=generateDynamicServiceHelp(_0x4bcbec);if(_0x3c418d){console['log'](_0x3c418d);return;}}const {waitUntilExit:_0x1f2fd7}=render(a0_0x41911(Help,{}));await _0x1f2fd7();return;}const _0x360ea5=getServiceEntry(_0x4bcbec);if(!_0x480e56){if(_0x923fde[_0x33b485(0x160)]){console[_0x33b485(0x13a)](generateServiceHelp(_0x4bcbec));return;}if(_0x360ea5['defaultCommand'])_0x480e56=_0x360ea5[_0x33b485(0x14e)];else{console[_0x33b485(0x13a)](generateServiceHelp(_0x4bcbec));return;}}const _0x7b8c8b=findDefinition(_0x4bcbec,_0x480e56);!_0x7b8c8b&&(console['log'](generateServiceHelp(_0x4bcbec)),handleError(CliErrors[_0x33b485(0x143)](_0x4bcbec+'\x20'+_0x480e56)));if(_0x923fde[_0x33b485(0x160)]){console[_0x33b485(0x13a)](generateCommandHelp(_0x7b8c8b));return;}const _0x515a0a=buildConfigFromFlags(_0x923fde);await initGlobalEnvironment(_0x515a0a);const _0x317cd7=createPipelineEnv(_0x515a0a,_0x923fde);_0x317cd7['args']=cli['input'][_0x33b485(0x14d)](0x2),await runCommand(_0x7b8c8b,_0x317cd7);}function handleError(_0x3d19ab){const _0x534ec1=a0_0x260112;if(_0x3d19ab instanceof CliError){_0x3d19ab[_0x534ec1(0x148)]==='cancelled'&&(process[_0x534ec1(0x13f)][_0x534ec1(0x144)]('\x0aCancelled.\x0a'),process[_0x534ec1(0x13d)](0x0));console[_0x534ec1(0x154)]('Error:\x20'+_0x3d19ab[_0x534ec1(0x145)]);if(_0x3d19ab[_0x534ec1(0x141)])console['error']('Hint:\x20'+_0x3d19ab[_0x534ec1(0x141)]);process['exit'](_0x3d19ab[_0x534ec1(0x146)]);}isUserCancellation(_0x3d19ab)&&(process[_0x534ec1(0x13f)]['write'](_0x534ec1(0x15d)),process[_0x534ec1(0x13d)](0x0)),console['error'](_0x534ec1(0x151),_0x3d19ab),process[_0x534ec1(0x13d)](0x1);}function isUserCancellation(_0x53be6a){const _0x540ec5=a0_0x260112;if(!(_0x53be6a instanceof Error))return![];if(_0x53be6a['name']==='ExitPromptError')return!![];if(_0x53be6a['code']===_0x540ec5(0x14f))return!![];if(_0x53be6a['code']===_0x540ec5(0x156))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a1_0x4dba(_0x160d10,_0xa92225){_0x160d10=_0x160d10-0xd6;const _0x14c79c=a1_0x14c7();let _0x4dbaf6=_0x14c79c[_0x160d10];return _0x4dbaf6;}const a1_0x19d46b=a1_0x4dba;(function(_0x1f5477,_0x11c1b3){const _0x121626=a1_0x4dba,_0x1ebe11=_0x1f5477();while(!![]){try{const _0x27db25=-parseInt(_0x121626(0x11e))/0x1*(-parseInt(_0x121626(0x13c))/0x2)+parseInt(_0x121626(0x116))/0x3*(parseInt(_0x121626(0x14d))/0x4)+parseInt(_0x121626(0x145))/0x5+-parseInt(_0x121626(0x122))/0x6+-parseInt(_0x121626(0x114))/0x7+-parseInt(_0x121626(0x123))/0x8*(parseInt(_0x121626(0xf3))/0x9)+parseInt(_0x121626(0x12d))/0xa;if(_0x27db25===_0x11c1b3)break;else _0x1ebe11['push'](_0x1ebe11['shift']());}catch(_0xd22268){_0x1ebe11['push'](_0x1ebe11['shift']());}}}(a1_0x14c7,0x375e2));import{CliErrors}from'../../errors.js';function a1_0x14c7(){const _0x595973=['##\x20Filter\x20dataset\x20data','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','Execute\x20custom\x20SQL','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','4TfwDhC','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','按应用和函数名精确获取\x20BF\x20运行契约','/api/{appCode}/{datasetCode}/aggregate','条件过滤查询数据','GET','获取数据集详情','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','{\x22id\x22:123}','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','str','length','/api/endpoint/{appCode}/{functionName}','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','datasetCode','detail','read','Execute\x20BF\x20endpoint\x20function','Current\x20app\x20code','##\x20Aggregate\x20dataset\x20data','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','validation','appCode','custom_sql','Returns\x20SQL\x20execution\x20payload','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','find','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','/api/{appCode}/{datasetCode}/filter','154359CFCXyz','bf_detail','filter','summary','join','category','list','Returns\x20script\x20business\x20payload','查询单条数据','Exact\x20endpoint\x20function\x20name','None','聚合查询数据集数据','List\x20available\x20runtime\x20API\x20documentation\x20entries','Create\x20dataset\x20record','method','fields/properties\x20describe\x20data\x20shape','dataset','whenToUse','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','/api/dataset/get-dataset-list-by-app-code','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','code','functionName','dataset_data_aggregate','paging.totalCount\x20gives\x20total\x20rows','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Aggregate\x20dataset\x20data','32-character\x20dataset\x20code','dataset_list','string','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','1374184LOVMvR','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','373971OPlvGQ','/client/bff/endpoint/{appCode}/{functionName}','/api/dataset/getOneByCode?code={datasetCode}','dataset_data_create','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','POST','dataset_detail','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','668jSFELS','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','bf_execute','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','2214858LdSsWl','112yFSgTC','分页获取数据集列表','tableData\x20contains\x20records','Get\x20BF\x20endpoint\x20function\x20contract','path','keyword','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','dataset_data_get_one','Dataset\x20detail','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','4349330bxFjzp','/api/{appCode}/{datasetCode}/getOne','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','api-doc','Show\x20runtime\x20API\x20documentation\x20by\x20code','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','paging\x20contains\x20pagination','API\x20doc\x20code,\x20for\x20example\x20dataset_list','496XKNvzs','includes','tableData\x20contains\x20dataset\x20id/code/name','API\x20doc\x20code\x20not\x20found:\x20','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','where\x20filters\x20before\x20aggregation','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Returns\x20one\x20matching\x20business\x20record','1535505IncGoR','toLowerCase','map'];a1_0x14c7=function(){return _0x595973;};return a1_0x14c7();}const CATEGORY_FLAG={'name':a1_0x19d46b(0xf8),'type':a1_0x19d46b(0x112),'description':a1_0x19d46b(0x115)},KEYWORD_FLAG={'name':'keyword','type':a1_0x19d46b(0x112),'description':a1_0x19d46b(0x11d)},DOC_CODE_FLAG={'name':a1_0x19d46b(0x109),'type':'string','required':!![],'description':a1_0x19d46b(0x13b)},DOCS=[{'code':a1_0x19d46b(0x111),'category':'dataset','title':'List\x20datasets','method':a1_0x19d46b(0x11b),'path':a1_0x19d46b(0x107),'summary':a1_0x19d46b(0x124),'whenToUse':a1_0x19d46b(0x106),'pathParams':[],'queryParams':[],'bodySchema':a1_0x19d46b(0x149),'responseHighlights':[a1_0x19d46b(0x13e),a1_0x19d46b(0x10c)],'examples':[a1_0x19d46b(0x137)],'notes':[a1_0x19d46b(0x132)],'markdown':['##\x20List\x20datasets','',a1_0x19d46b(0x12c)][a1_0x19d46b(0xf7)]('\x0a')},{'code':a1_0x19d46b(0x11c),'category':a1_0x19d46b(0x103),'title':a1_0x19d46b(0x12b),'method':a1_0x19d46b(0xdb),'path':a1_0x19d46b(0x118),'summary':a1_0x19d46b(0xdc),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':'code','description':a1_0x19d46b(0x110)}],'bodySchema':a1_0x19d46b(0xfd),'responseHighlights':[a1_0x19d46b(0x102),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0x19d46b(0xef)],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.']['join']('\x0a')},{'code':'dataset_data_filter','category':a1_0x19d46b(0x103),'title':'Filter\x20dataset\x20data','method':a1_0x19d46b(0x11b),'path':a1_0x19d46b(0xf2),'summary':a1_0x19d46b(0xda),'whenToUse':a1_0x19d46b(0x105),'pathParams':[{'name':'appCode','description':a1_0x19d46b(0xe8)},{'name':a1_0x19d46b(0xe4),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x19d46b(0x11f),'responseHighlights':[a1_0x19d46b(0x125),a1_0x19d46b(0x13a)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x19d46b(0x134)],'notes':[a1_0x19d46b(0x140),a1_0x19d46b(0x108),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x19d46b(0x135)],'markdown':[a1_0x19d46b(0x148),'',a1_0x19d46b(0x143)][a1_0x19d46b(0xf7)]('\x0a')},{'code':a1_0x19d46b(0x10b),'category':a1_0x19d46b(0x103),'title':a1_0x19d46b(0x10f),'method':'POST','path':a1_0x19d46b(0xd9),'summary':a1_0x19d46b(0xfe),'whenToUse':a1_0x19d46b(0x136),'pathParams':[{'name':a1_0x19d46b(0xec),'description':a1_0x19d46b(0xe8)},{'name':a1_0x19d46b(0xe4),'description':a1_0x19d46b(0x110)}],'queryParams':[],'bodySchema':a1_0x19d46b(0xea),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x19d46b(0x142)],'examples':[a1_0x19d46b(0x14a)],'notes':[a1_0x19d46b(0x11a),a1_0x19d46b(0x138)],'markdown':[a1_0x19d46b(0xe9),'','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x19d46b(0xf7)]('\x0a')},{'code':a1_0x19d46b(0x12a),'category':a1_0x19d46b(0x103),'title':'Get\x20one\x20dataset\x20record','method':a1_0x19d46b(0x11b),'path':a1_0x19d46b(0x12e),'summary':a1_0x19d46b(0xfb),'whenToUse':a1_0x19d46b(0xd7),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x19d46b(0xe4),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x19d46b(0xde),'responseHighlights':[a1_0x19d46b(0x144)],'examples':[a1_0x19d46b(0x10e)],'notes':[a1_0x19d46b(0x121)],'markdown':a1_0x19d46b(0xdd)},{'code':a1_0x19d46b(0x119),'category':a1_0x19d46b(0x103),'title':a1_0x19d46b(0x100),'method':'POST','path':'/api/{appCode}/{datasetCode}/create','summary':'创建数据','whenToUse':'需要向指定数据集新增一条业务数据时使用','pathParams':[{'name':a1_0x19d46b(0xec),'description':a1_0x19d46b(0xe8)},{'name':a1_0x19d46b(0xe4),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x19d46b(0xf1)],'examples':[a1_0x19d46b(0xd6)],'notes':[a1_0x19d46b(0x14e)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x19d46b(0xf4),'category':'bf','title':a1_0x19d46b(0x126),'method':a1_0x19d46b(0xdb),'path':a1_0x19d46b(0x117),'summary':a1_0x19d46b(0xd8),'whenToUse':a1_0x19d46b(0x141),'pathParams':[{'name':a1_0x19d46b(0xec),'description':a1_0x19d46b(0xe8)},{'name':a1_0x19d46b(0x10a),'description':a1_0x19d46b(0xfc)}],'queryParams':[],'bodySchema':a1_0x19d46b(0xfd),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x19d46b(0x129)],'markdown':a1_0x19d46b(0x113)},{'code':a1_0x19d46b(0x120),'category':'bf','title':a1_0x19d46b(0xe7),'method':a1_0x19d46b(0x11b),'path':a1_0x19d46b(0xe2),'summary':'执行指定\x20BF\x20函数','whenToUse':a1_0x19d46b(0xe3),'pathParams':[{'name':a1_0x19d46b(0xec),'description':'Current\x20app\x20code'},{'name':a1_0x19d46b(0x10a),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x19d46b(0xfa)],'examples':[a1_0x19d46b(0xdf)],'notes':[a1_0x19d46b(0x12f)],'markdown':a1_0x19d46b(0x10d)},{'code':'custom_sql_execute','category':a1_0x19d46b(0xed),'title':a1_0x19d46b(0x14b),'method':a1_0x19d46b(0x11b),'path':'/api/custom/executeSql','summary':'执行自定义\x20SQL','whenToUse':a1_0x19d46b(0x14c),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x19d46b(0xee)],'examples':[a1_0x19d46b(0x133)],'notes':[a1_0x19d46b(0x14f)],'markdown':a1_0x19d46b(0x139)}];function entrySummary(_0x4cfe7f){const _0x104d4d=a1_0x19d46b;return{'code':_0x4cfe7f['code'],'category':_0x4cfe7f['category'],'method':_0x4cfe7f[_0x104d4d(0x101)],'path':_0x4cfe7f[_0x104d4d(0x127)],'summary':_0x4cfe7f[_0x104d4d(0xf6)],'whenToUse':_0x4cfe7f['whenToUse']};}export function listApiDocEntries(_0x222f6e={}){const _0x527136=a1_0x19d46b,_0x19e6af=String(_0x222f6e[_0x527136(0xf8)]||'')['trim'](),_0x2e564c=String(_0x222f6e[_0x527136(0x128)]||'')['trim']()[_0x527136(0x146)]();return DOCS[_0x527136(0xf5)](_0x3b71ff=>{const _0x4368a3=_0x527136;if(_0x19e6af&&_0x3b71ff[_0x4368a3(0xf8)]!==_0x19e6af)return![];if(!_0x2e564c)return!![];return[_0x3b71ff[_0x4368a3(0x109)],_0x3b71ff[_0x4368a3(0xf8)],_0x3b71ff[_0x4368a3(0x101)],_0x3b71ff[_0x4368a3(0x127)],_0x3b71ff[_0x4368a3(0xf6)],_0x3b71ff[_0x4368a3(0x104)],_0x3b71ff['title']][_0x4368a3(0xf7)]('\x20')[_0x4368a3(0x146)]()[_0x4368a3(0x13d)](_0x2e564c);})[_0x527136(0x147)](entrySummary);}export function getApiDocDetail(_0x108f2d){const _0x2c0543=a1_0x19d46b,_0x36876f=DOCS[_0x2c0543(0xf0)](_0x25a886=>_0x25a886['code']===_0x108f2d);if(!_0x36876f)throw CliErrors[_0x2c0543(0xeb)](_0x2c0543(0x13f)+_0x108f2d);return{..._0x36876f};}const apiDocList={'service':a1_0x19d46b(0x130),'command':a1_0x19d46b(0xf9),'description':a1_0x19d46b(0xff),'risk':a1_0x19d46b(0xe6),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x389eda){const _0x2fab20=a1_0x19d46b,_0x9e609b=listApiDocEntries({'category':_0x389eda['str'](_0x2fab20(0xf8)),'keyword':_0x389eda[_0x2fab20(0xe0)](_0x2fab20(0x128))});return{'ok':!![],'data':{'total':_0x9e609b[_0x2fab20(0xe1)],'items':_0x9e609b}};}},apiDocDetail={'service':a1_0x19d46b(0x130),'command':a1_0x19d46b(0xe5),'description':a1_0x19d46b(0x131),'risk':a1_0x19d46b(0xe6),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x506547){const _0x3d699a=a1_0x19d46b;return{'ok':!![],'data':getApiDocDetail(_0x506547[_0x3d699a(0xe0)](_0x3d699a(0x109)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
function a1_0x3dbd(_0x2dcda8,_0x27dcd7){_0x2dcda8=_0x2dcda8-0x1a0;const _0xa5af12=a1_0xa5af();let _0x3dbda4=_0xa5af12[_0x2dcda8];return _0x3dbda4;}const a1_0x59f39e=a1_0x3dbd;(function(_0x59f7c9,_0x2adecf){const _0x53e01c=a1_0x3dbd,_0x9b4820=_0x59f7c9();while(!![]){try{const _0x375e35=-parseInt(_0x53e01c(0x1a2))/0x1+parseInt(_0x53e01c(0x1d9))/0x2*(-parseInt(_0x53e01c(0x1b9))/0x3)+-parseInt(_0x53e01c(0x1d4))/0x4*(-parseInt(_0x53e01c(0x1bc))/0x5)+-parseInt(_0x53e01c(0x1b0))/0x6+-parseInt(_0x53e01c(0x1cb))/0x7+parseInt(_0x53e01c(0x1a0))/0x8+parseInt(_0x53e01c(0x202))/0x9;if(_0x375e35===_0x2adecf)break;else _0x9b4820['push'](_0x9b4820['shift']());}catch(_0x28ee25){_0x9b4820['push'](_0x9b4820['shift']());}}}(a1_0xa5af,0x69109));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':'string','description':a1_0x59f39e(0x1cf)},KEYWORD_FLAG={'name':a1_0x59f39e(0x1aa),'type':a1_0x59f39e(0x210),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x59f39e(0x1c9),'type':a1_0x59f39e(0x210),'required':!![],'description':a1_0x59f39e(0x1b8)},DOCS=[{'code':'dataset_list','category':a1_0x59f39e(0x1a5),'title':a1_0x59f39e(0x1ab),'method':'POST','path':a1_0x59f39e(0x212),'summary':'分页获取数据集列表','whenToUse':a1_0x59f39e(0x1bd),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name','paging.totalCount\x20gives\x20total\x20rows'],'examples':[a1_0x59f39e(0x1b4)],'notes':[a1_0x59f39e(0x1fb)],'markdown':[a1_0x59f39e(0x1e0),'',a1_0x59f39e(0x1fc)][a1_0x59f39e(0x1b5)]('\x0a')},{'code':a1_0x59f39e(0x1d1),'category':a1_0x59f39e(0x1a5),'title':a1_0x59f39e(0x1e5),'method':a1_0x59f39e(0x1bf),'path':a1_0x59f39e(0x1a3),'summary':'获取数据集详情','whenToUse':a1_0x59f39e(0x1d3),'pathParams':[],'queryParams':[{'name':a1_0x59f39e(0x1c9),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x59f39e(0x1b1),'responseHighlights':[a1_0x59f39e(0x1f2),a1_0x59f39e(0x205),a1_0x59f39e(0x1b7)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x59f39e(0x1d2)],'markdown':[a1_0x59f39e(0x1ed),'',a1_0x59f39e(0x206)][a1_0x59f39e(0x1b5)]('\x0a')},{'code':a1_0x59f39e(0x1bb),'category':a1_0x59f39e(0x1a5),'title':a1_0x59f39e(0x20f),'method':a1_0x59f39e(0x1a8),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x59f39e(0x1c1),'whenToUse':a1_0x59f39e(0x204),'pathParams':[{'name':a1_0x59f39e(0x1a6),'description':a1_0x59f39e(0x1ef)},{'name':a1_0x59f39e(0x1f9),'description':a1_0x59f39e(0x1f8)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x59f39e(0x1ba),'paging\x20contains\x20pagination'],'examples':[a1_0x59f39e(0x1df),a1_0x59f39e(0x1e4)],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0x59f39e(0x1f0),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x59f39e(0x1b2)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x59f39e(0x1fe)][a1_0x59f39e(0x1b5)]('\x0a')},{'code':a1_0x59f39e(0x1de),'category':a1_0x59f39e(0x1a5),'title':a1_0x59f39e(0x1ff),'method':'POST','path':a1_0x59f39e(0x1d8),'summary':a1_0x59f39e(0x1c4),'whenToUse':a1_0x59f39e(0x1e9),'pathParams':[{'name':a1_0x59f39e(0x1a6),'description':a1_0x59f39e(0x1ef)},{'name':a1_0x59f39e(0x1f9),'description':a1_0x59f39e(0x1f8)}],'queryParams':[],'bodySchema':a1_0x59f39e(0x1f3),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x59f39e(0x1c7)],'examples':[a1_0x59f39e(0x1f4)],'notes':[a1_0x59f39e(0x200),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0x59f39e(0x1ad),'','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x59f39e(0x1b5)]('\x0a')},{'code':a1_0x59f39e(0x1f6),'category':a1_0x59f39e(0x1a5),'title':'Get\x20one\x20dataset\x20record','method':a1_0x59f39e(0x1a8),'path':a1_0x59f39e(0x208),'summary':a1_0x59f39e(0x1e2),'whenToUse':'已经知道记录\x20id,需要按数据集读取单条业务数据时使用','pathParams':[{'name':a1_0x59f39e(0x1a6),'description':'Current\x20app\x20code'},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x59f39e(0x1c8),'responseHighlights':[a1_0x59f39e(0x1a7)],'examples':[a1_0x59f39e(0x1fd)],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x59f39e(0x1ee)},{'code':a1_0x59f39e(0x1c6),'category':a1_0x59f39e(0x1a5),'title':'Create\x20dataset\x20record','method':a1_0x59f39e(0x1a8),'path':'/api/{appCode}/{datasetCode}/create','summary':'创建数据','whenToUse':'需要向指定数据集新增一条业务数据时使用','pathParams':[{'name':a1_0x59f39e(0x1a6),'description':a1_0x59f39e(0x1ef)},{'name':a1_0x59f39e(0x1f9),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x59f39e(0x1e1),'responseHighlights':[a1_0x59f39e(0x201)],'examples':[a1_0x59f39e(0x1c5)],'notes':[a1_0x59f39e(0x1af)],'markdown':a1_0x59f39e(0x213)},{'code':'bf_detail','category':'bf','title':a1_0x59f39e(0x1d7),'method':a1_0x59f39e(0x1bf),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x59f39e(0x1a4),'whenToUse':a1_0x59f39e(0x1c3),'pathParams':[{'name':'appCode','description':a1_0x59f39e(0x1ef)},{'name':a1_0x59f39e(0x1a9),'description':a1_0x59f39e(0x214)}],'queryParams':[],'bodySchema':a1_0x59f39e(0x1b1),'responseHighlights':[a1_0x59f39e(0x1c2)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x59f39e(0x1b3)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x59f39e(0x1dc),'category':'bf','title':a1_0x59f39e(0x1ec),'method':a1_0x59f39e(0x1a8),'path':a1_0x59f39e(0x1eb),'summary':'执行指定\x20BF\x20函数','whenToUse':a1_0x59f39e(0x1cd),'pathParams':[{'name':'appCode','description':a1_0x59f39e(0x1ef)},{'name':a1_0x59f39e(0x1a9),'description':a1_0x59f39e(0x1f7)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x59f39e(0x1d0)],'examples':[a1_0x59f39e(0x1e7)],'notes':[a1_0x59f39e(0x20b)],'markdown':a1_0x59f39e(0x1cc)},{'code':a1_0x59f39e(0x1f1),'category':a1_0x59f39e(0x1db),'title':a1_0x59f39e(0x1dd),'method':a1_0x59f39e(0x1a8),'path':a1_0x59f39e(0x1ce),'summary':a1_0x59f39e(0x20d),'whenToUse':a1_0x59f39e(0x209),'pathParams':[],'queryParams':[],'bodySchema':a1_0x59f39e(0x20c),'responseHighlights':[a1_0x59f39e(0x1d5)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x59f39e(0x1e8)],'markdown':a1_0x59f39e(0x211)}];function entrySummary(_0x4cf448){const _0x4a00bf=a1_0x59f39e;return{'code':_0x4cf448['code'],'category':_0x4cf448[_0x4a00bf(0x1ea)],'method':_0x4cf448[_0x4a00bf(0x1c0)],'path':_0x4cf448[_0x4a00bf(0x1b6)],'summary':_0x4cf448[_0x4a00bf(0x207)],'whenToUse':_0x4cf448[_0x4a00bf(0x1e6)]};}export function listApiDocEntries(_0x1ca100={}){const _0x6e9ef6=a1_0x59f39e,_0x5792b4=String(_0x1ca100['category']||'')[_0x6e9ef6(0x1d6)](),_0x565917=String(_0x1ca100[_0x6e9ef6(0x1aa)]||'')[_0x6e9ef6(0x1d6)]()[_0x6e9ef6(0x1ca)]();return DOCS[_0x6e9ef6(0x1e3)](_0x119d17=>{const _0x4c6d43=_0x6e9ef6;if(_0x5792b4&&_0x119d17[_0x4c6d43(0x1ea)]!==_0x5792b4)return![];if(!_0x565917)return!![];return[_0x119d17[_0x4c6d43(0x1c9)],_0x119d17['category'],_0x119d17[_0x4c6d43(0x1c0)],_0x119d17[_0x4c6d43(0x1b6)],_0x119d17[_0x4c6d43(0x207)],_0x119d17['whenToUse'],_0x119d17['title']][_0x4c6d43(0x1b5)]('\x20')[_0x4c6d43(0x1ca)]()[_0x4c6d43(0x203)](_0x565917);})[_0x6e9ef6(0x1f5)](entrySummary);}export function getApiDocDetail(_0x1493fd){const _0x33b24e=a1_0x59f39e,_0x5497b9=DOCS['find'](_0x25797e=>_0x25797e[_0x33b24e(0x1c9)]===_0x1493fd);if(!_0x5497b9)throw CliErrors[_0x33b24e(0x1ae)](_0x33b24e(0x20e)+_0x1493fd);return{..._0x5497b9};}const apiDocList={'service':'api-doc','command':'list','description':a1_0x59f39e(0x1ac),'risk':a1_0x59f39e(0x1be),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x593392){const _0x1c820d=a1_0x59f39e,_0x3ad5ae=listApiDocEntries({'category':_0x593392['str']('category'),'keyword':_0x593392[_0x1c820d(0x1a1)](_0x1c820d(0x1aa))});return{'ok':!![],'data':{'total':_0x3ad5ae[_0x1c820d(0x1da)],'items':_0x3ad5ae}};}},apiDocDetail={'service':a1_0x59f39e(0x1fa),'command':'detail','description':a1_0x59f39e(0x20a),'risk':a1_0x59f39e(0x1be),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x43ec92){const _0x3580dd=a1_0x59f39e;return{'ok':!![],'data':getApiDocDetail(_0x43ec92[_0x3580dd(0x1a1)](_0x3580dd(0x1c9)))};}};function a1_0xa5af(){const _0x19cf67=['3952896xWAahj','str','361808OuJDEZ','/api/dataset/getOneByCode?code={datasetCode}','按应用和函数名精确获取\x20BF\x20运行契约','dataset','appCode','Returns\x20one\x20matching\x20business\x20record','POST','functionName','keyword','List\x20datasets','List\x20available\x20runtime\x20API\x20documentation\x20entries','##\x20Aggregate\x20dataset\x20data','validation','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','1673460bqJfFB','None','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','join','path','operations\x20describes\x20runtime\x20APIs','API\x20doc\x20code,\x20for\x20example\x20dataset_list','141lkDiod','tableData\x20contains\x20records','dataset_data_filter','20MjtKbA','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','read','GET','method','条件过滤查询数据','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','聚合查询数据集数据','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','dataset_data_create','where\x20filters\x20before\x20aggregation','{\x22id\x22:123}','code','toLowerCase','1070076JJtsjG','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','/api/custom/executeSql','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Returns\x20script\x20business\x20payload','dataset_detail','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','299128xuCSUr','Returns\x20SQL\x20execution\x20payload','trim','Get\x20BF\x20endpoint\x20function\x20contract','/api/{appCode}/{datasetCode}/aggregate','9282LjCQCd','length','custom_sql','bf_execute','Execute\x20custom\x20SQL','dataset_data_aggregate','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','##\x20List\x20datasets','{\x22fieldName\x22:\x22value\x22}','查询单条数据','filter','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','Dataset\x20detail','whenToUse','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','category','/api/endpoint/{appCode}/{functionName}','Execute\x20BF\x20endpoint\x20function','##\x20Dataset\x20detail','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Current\x20app\x20code','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','custom_sql_execute','fields/properties\x20describe\x20data\x20shape','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','map','dataset_data_get_one','Endpoint\x20function\x20name','32-character\x20dataset\x20code','datasetCode','api-doc','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Aggregate\x20dataset\x20data','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','5839362YXgyjR','includes','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','summary','/api/{appCode}/{datasetCode}/getOne','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','Show\x20runtime\x20API\x20documentation\x20by\x20code','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','执行自定义\x20SQL','API\x20doc\x20code\x20not\x20found:\x20','Filter\x20dataset\x20data','string','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','/api/dataset/get-dataset-list-by-app-code','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Exact\x20endpoint\x20function\x20name'];a1_0xa5af=function(){return _0x19cf67;};return a1_0xa5af();}export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1cd9d4,_0x136c13){const _0x1d406f=a2_0x54f6,_0x26f23e=_0x1cd9d4();while(!![]){try{const _0x41b002=-parseInt(_0x1d406f(0x15b))/0x1*(-parseInt(_0x1d406f(0x161))/0x2)+parseInt(_0x1d406f(0x14d))/0x3*(parseInt(_0x1d406f(0x151))/0x4)+-parseInt(_0x1d406f(0x162))/0x5+-parseInt(_0x1d406f(0x155))/0x6+parseInt(_0x1d406f(0x14a))/0x7+-parseInt(_0x1d406f(0x14c))/0x8+-parseInt(_0x1d406f(0x14e))/0x9*(parseInt(_0x1d406f(0x163))/0xa);if(_0x41b002===_0x136c13)break;else _0x26f23e['push'](_0x26f23e['shift']());}catch(_0x492c02){_0x26f23e['push'](_0x26f23e['shift']());}}}(a2_0x16d6,0xa626d));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function a2_0x54f6(_0x3212b0,_0x20117d){_0x3212b0=_0x3212b0-0x149;const _0x16d63f=a2_0x16d6();let _0x54f655=_0x16d63f[_0x3212b0];return _0x54f655;}function a2_0x16d6(){const _0x3bcd89=['update','parse','code','836220bcJmgG','stringify','1344704tsFZqs','6ZMQFBt','963FcZMcZ','isArray','appCode','2059860clVwKu','items','unknown','.tmp','1881732wIaXWY','my-apps.json','cache','EXDEV','homeDirName','utf8','887HcUggn','ak_','trim','slice','sha256','appName','1970EFvuhD','1180225jSUGMB','58390qhIjgY'];a2_0x16d6=function(){return _0x3bcd89;};return a2_0x16d6();}export function fingerprintAccessKey(_0x2e1116){const _0x8668b6=a2_0x54f6,_0x4e1e56=_0x2e1116[_0x8668b6(0x15d)](),_0x2ef238=_0x4e1e56[_0x8668b6(0x15e)](-0x6)||_0x8668b6(0x153),_0x2c3b1a=createHash(_0x8668b6(0x15f))[_0x8668b6(0x164)](_0x4e1e56)['digest']('hex')[_0x8668b6(0x15e)](0x0,0xc);return _0x8668b6(0x15c)+_0x2ef238+'_'+_0x2c3b1a;}export function getAppCacheFilePath(_0x198665,_0x1df0ec){const _0x5e0b90=a2_0x54f6;return resolve(homedir(),PRODUCT_CONFIG[_0x5e0b90(0x159)],_0x5e0b90(0x157),_0x198665,fingerprintAccessKey(_0x1df0ec),_0x5e0b90(0x156));}export function readCachedAppList(_0x4d53f7,_0x4f7616){const _0x487a64=a2_0x54f6;if(!_0x4f7616?.[_0x487a64(0x15d)]())return null;const _0x4496d2=getAppCacheFilePath(_0x4d53f7,_0x4f7616);if(!existsSync(_0x4496d2))return null;try{const _0x14d27b=readFileSync(_0x4496d2,_0x487a64(0x15a));if(!_0x14d27b['trim']())return null;const _0x2f54dd=JSON[_0x487a64(0x165)](_0x14d27b);if(!Array[_0x487a64(0x14f)](_0x2f54dd[_0x487a64(0x152)]))return null;return _0x2f54dd;}catch{return null;}}export function writeCachedAppList(_0x3460db,_0x1ffb69,_0x6f7727){const _0x15a710=a2_0x54f6,_0x2d9489=getAppCacheFilePath(_0x3460db,_0x1ffb69),_0x454b51=dirname(_0x2d9489);!existsSync(_0x454b51)&&mkdirSync(_0x454b51,{'recursive':!![]});const _0x2d7fef=_0x2d9489+_0x15a710(0x154);try{writeFileSync(_0x2d7fef,JSON[_0x15a710(0x14b)](_0x6f7727,null,0x2)+'\x0a',{'encoding':_0x15a710(0x15a),'mode':0x180});try{renameSync(_0x2d7fef,_0x2d9489);}catch(_0x3e723f){if(_0x3e723f[_0x15a710(0x149)]==='EPERM'||_0x3e723f['code']===_0x15a710(0x158)||_0x3e723f[_0x15a710(0x149)]==='EACCES'){writeFileSync(_0x2d9489,JSON['stringify'](_0x6f7727,null,0x2)+'\x0a',{'encoding':_0x15a710(0x15a)});try{unlinkSync(_0x2d7fef);}catch{}}else throw _0x3e723f;}}catch(_0x3b3e18){try{unlinkSync(_0x2d7fef);}catch{}throw _0x3b3e18;}return _0x2d9489;}export function resolveCachedAppCode(_0x30f6fe,_0x3ca0ea,_0x3d7a11){const _0x2b7394=a2_0x54f6;if(!_0x30f6fe)return undefined;const _0x313d46=readCachedAppList(_0x3ca0ea,_0x3d7a11),_0x4a4c3d=_0x313d46?.[_0x2b7394(0x152)]['find'](_0x71a883=>_0x71a883[_0x2b7394(0x160)]===_0x30f6fe&&isRuntimeAccessibleApp(_0x71a883));return _0x4a4c3d?.[_0x2b7394(0x150)]?.['trim']()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x237cb9=a3_0x9ad2;function a3_0x3354(){const _0x2e592f=['accessKey','638254USJvOG','type','langs','mergedCli','`\x20instead.','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','args','100986EWlLjY','config','filter','../../commands/app/remote-source.js','isCurrent','validation','trim','\x22\x20not\x20found.','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','production','Default\x20app\x20candidate\x20set\x20to\x20\x22','push','38631760rUhbeK','cachePath','global','6699150mKIgoZ','220jgswss','Use\x20`','Usage:\x20','No\x20cached\x20apps\x20found.','Missing\x20app\x20name.','init','nonInteractive','Include\x20unpublished\x20apps\x20for\x20diagnostics','entries','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','find','appPublishStatus','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','7xuzzIe','length','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','2886568JlYYKz','defaultApp','Remote\x20app\x20name\x20to\x20activate','\x20app\x20','env','3VnvBDP','no-cache','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','\x20app(s)\x20for\x20env=\x22','enableI18n','app','include-unpublished','Filter\x20by\x20environment\x20(default:\x20current\x20env)','import','No\x20apps\x20found\x20on\x20the\x20platform.','write','Use\x20global\x20config\x20scope','../../context.js','name','appName','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','i18nInfo','boolean','envName','Loaded\x20','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','\x20is\x20deprecated.\x20Use\x20`','str','source','string','appcode','remote','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','items','Read\x20from\x20local\x20cache\x20only','Target\x20environment\x20(default:\x20current\x20env)','list','Refreshed\x20app\x20cache\x20with\x20','1633126pAbShw','fetchedAt','use','bool','appCode','\x20app\x20use\x20<name>\x20[--global]','cache','App\x20\x22','4793244ECLhNP','isArray','map','globalPath','.appcode\x20to\x20.lovrabet.json.','Read\x20app\x20list\x20from\x20local\x20cache\x20only','Available\x20remote\x20apps:\x20','local'];a3_0x3354=function(){return _0x2e592f;};return a3_0x3354();}(function(_0xf42ad4,_0x350a57){const _0x5d001d=a3_0x9ad2,_0x3173fb=_0xf42ad4();while(!![]){try{const _0x48c70b=parseInt(_0x5d001d(0x211))/0x1+-parseInt(_0x5d001d(0x200))/0x2*(-parseInt(_0x5d001d(0x23d))/0x3)+parseInt(_0x5d001d(0x208))/0x4+-parseInt(_0x5d001d(0x228))/0x5*(-parseInt(_0x5d001d(0x218))/0x6)+-parseInt(_0x5d001d(0x235))/0x7*(-parseInt(_0x5d001d(0x238))/0x8)+parseInt(_0x5d001d(0x227))/0x9+-parseInt(_0x5d001d(0x224))/0xa;if(_0x48c70b===_0x350a57)break;else _0x3173fb['push'](_0x3173fb['shift']());}catch(_0x3249ca){_0x3173fb['push'](_0x3173fb['shift']());}}}(a3_0x3354,0x9b327));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';function a3_0x9ad2(_0x352125,_0x371901){_0x352125=_0x352125-0x1f4;const _0x3354af=a3_0x3354();let _0x9ad249=_0x3354af[_0x352125];return _0x9ad249;}import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x237cb9(0x226),'type':a3_0x237cb9(0x24e),'description':a3_0x237cb9(0x248),'default':![]};function collectFlags(_0x3a4c61,_0x1839e0){const _0x5b69db=a3_0x237cb9,_0x36ca58={};for(const _0x78e29a of _0x1839e0){const _0x9aaa24=_0x78e29a[_0x5b69db(0x212)]===_0x5b69db(0x24e)?_0x3a4c61[_0x5b69db(0x203)](_0x78e29a[_0x5b69db(0x24a)]):_0x3a4c61['str'](_0x78e29a['name']);if(_0x9aaa24!==''&&_0x9aaa24!==![])_0x36ca58[_0x78e29a['name']]=_0x9aaa24;}if(_0x3a4c61[_0x5b69db(0x22e)])_0x36ca58[_0x5b69db(0x22e)]=!![];return _0x36ca58;}function normalizeLanguages(_0x3ea76e){const _0x50ffb3=a3_0x237cb9;if(!Array[_0x50ffb3(0x209)](_0x3ea76e))return[];return _0x3ea76e['filter'](_0x3b4a79=>typeof _0x3b4a79===_0x50ffb3(0x1f7))[_0x50ffb3(0x20a)](_0xd6f73d=>_0xd6f73d[_0x50ffb3(0x21e)]())[_0x50ffb3(0x21a)](Boolean);}function buildRemoteAppI18nFields(_0x214834){const _0x165470=a3_0x237cb9,_0x56d29b=normalizeLanguages(_0x214834[_0x165470(0x24d)]?.[_0x165470(0x213)]);return{'enableI18n':typeof _0x214834[_0x165470(0x241)]===_0x165470(0x24e)?_0x214834[_0x165470(0x241)]:null,'languages':_0x56d29b,'i18nInfo':_0x214834[_0x165470(0x24d)]?{..._0x214834[_0x165470(0x24d)],'langs':_0x56d29b[_0x165470(0x236)]?_0x56d29b:null}:null};}const initDef={'service':a3_0x237cb9(0x242),'command':a3_0x237cb9(0x22d),'description':a3_0x237cb9(0x220),'risk':a3_0x237cb9(0x247),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x55888b){const _0x25e4f5=a3_0x237cb9;return warnDeprecatedAppCommand('init',CLI_BIN_NAME+_0x25e4f5(0x237)),await runInit(collectFlags(_0x55888b,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x237cb9(0x242),'command':a3_0x237cb9(0x1fe),'description':a3_0x237cb9(0x216),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x237cb9(0x23c),'type':a3_0x237cb9(0x1f7),'description':a3_0x237cb9(0x244),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x237cb9(0x20f),'type':a3_0x237cb9(0x24e),'description':a3_0x237cb9(0x20d),'default':![]},{'name':a3_0x237cb9(0x23e),'type':a3_0x237cb9(0x24e),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':'include-unpublished','type':a3_0x237cb9(0x24e),'description':a3_0x237cb9(0x22f),'default':![]}],async 'execute'(_0x253194){const _0x28f2d0=a3_0x237cb9,_0x5bbf65=_0x253194[_0x28f2d0(0x1f5)](_0x28f2d0(0x23c))||_0x253194['envName']||getEnv()||_0x28f2d0(0x221),_0x2a6d9b=_0x253194[_0x28f2d0(0x203)](_0x28f2d0(0x20f)),_0x4381fd=_0x253194['bool'](_0x28f2d0(0x23e)),_0x512823=_0x253194[_0x28f2d0(0x203)](_0x28f2d0(0x243)),{readRawConfigWithLayers:_0x3c171c,resolveDefaultAppSource:_0x37f67d,getLocalAppAliases:_0x1800bf}=await import('../../context.js'),{getRemoteAppList:_0x2f8831}=await import(_0x28f2d0(0x21b)),{config:_0x8ee5e6,layers:_0x4cd271}=_0x3c171c(),_0x16a51c=_0x37f67d(_0x4cd271),{defaultApp:_0x12e855}=_0x8ee5e6,_0x261fb1=await _0x2f8831({'env':_0x5bbf65,'accessKey':_0x253194[_0x28f2d0(0x210)],'localOnly':_0x2a6d9b,'noCache':_0x4381fd}),_0x33f92d=_0x512823?_0x261fb1['items']:filterRuntimeAccessibleApps(_0x261fb1['items']),_0x236278=_0x261fb1[_0x28f2d0(0x1fb)][_0x28f2d0(0x236)]-_0x33f92d[_0x28f2d0(0x236)],_0x4283e9=_0x33f92d['map'](_0x7c9a77=>{const _0x215545=_0x28f2d0;return{'name':_0x7c9a77[_0x215545(0x24b)],'appcode':_0x7c9a77[_0x215545(0x204)],'named':!![],'definedIn':_0x215545(0x1f9),'isDefault':_0x7c9a77['appName']===_0x12e855,...buildAppProfileListFields(_0x5bbf65),...buildRemoteAppI18nFields(_0x7c9a77),'source':_0x261fb1['source'],'owner':_0x7c9a77['appOwnerName']??null,'status':_0x7c9a77[_0x215545(0x233)]??null,'cachedAt':_0x261fb1[_0x215545(0x201)]};}),_0x37fad9=_0x1800bf(_0x8ee5e6);let _0x227532=0x0;for(const [_0x5327ca,_0x2f5805]of Object[_0x28f2d0(0x230)](_0x37fad9)){const _0x3fc3c4=typeof _0x2f5805[_0x28f2d0(0x1f8)]===_0x28f2d0(0x1f7)?_0x2f5805[_0x28f2d0(0x1f8)]['trim']():'';if(!_0x3fc3c4)continue;const _0x1c9207=findAppByCode(_0x261fb1[_0x28f2d0(0x1fb)],_0x3fc3c4);if(!_0x512823&&_0x1c9207&&!isRuntimeAccessibleApp(_0x1c9207))continue;_0x227532+=0x1,_0x4283e9[_0x28f2d0(0x223)]({'name':_0x5327ca,'appcode':_0x3fc3c4,'named':!![],'definedIn':_0x28f2d0(0x20f),'isDefault':_0x5327ca===_0x12e855,...buildAppProfileListFields(_0x5bbf65),'source':_0x28f2d0(0x219),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x4283e9,_0x253194[_0x28f2d0(0x214)]);const _0x586ec9=_0x4283e9[_0x28f2d0(0x232)](_0x2610db=>_0x2610db[_0x28f2d0(0x21c)]===!![]),_0x3d25ba=_0x12e855??_0x586ec9?.[_0x28f2d0(0x24a)]??null,_0x4cfe75={'env':_0x5bbf65,'source':_0x261fb1[_0x28f2d0(0x1f6)],'fetchedAt':_0x261fb1[_0x28f2d0(0x201)],'cachePath':_0x261fb1['cachePath'],'globalPath':_0x4cd271[_0x28f2d0(0x20b)]??null,'projectPath':_0x4cd271['projectPath']??null,'defaultApp':_0x3d25ba,'defaultAppSource':_0x12e855!=null?_0x16a51c:null,'localAliasCount':_0x227532,'remoteTotal':_0x261fb1[_0x28f2d0(0x1fb)][_0x28f2d0(0x236)],'hiddenUnpublishedCount':_0x236278,'includeUnpublished':_0x512823};if(_0x4283e9['length']===0x0)return{'ok':!![],'data':{'items':_0x4283e9,'meta':_0x4cfe75},'message':_0x261fb1[_0x28f2d0(0x1f6)]===_0x28f2d0(0x206)?_0x28f2d0(0x22b):_0x28f2d0(0x246)};return{'ok':!![],'data':{'items':_0x4283e9,'meta':_0x4cfe75}};}},pullDef={'service':a3_0x237cb9(0x242),'command':'pull','description':a3_0x237cb9(0x234),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x237cb9(0x23c),'type':a3_0x237cb9(0x1f7),'description':a3_0x237cb9(0x1fd),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x237cb9(0x20f),'type':'boolean','description':a3_0x237cb9(0x1fc),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x237cb9(0x251),'default':![]}],async 'execute'(_0x4bf509){const _0x4d057e=a3_0x237cb9,_0x1e20e6=_0x4bf509[_0x4d057e(0x1f5)](_0x4d057e(0x23c))||_0x4bf509[_0x4d057e(0x24f)]||getEnv()||_0x4d057e(0x221),_0x3d1503=_0x4bf509[_0x4d057e(0x203)](_0x4d057e(0x20f)),_0x203ba0=_0x4bf509['bool']('no-cache'),{getRemoteAppList:_0x5da080}=await import(_0x4d057e(0x21b)),_0x21403d=await _0x5da080({'env':_0x1e20e6,'accessKey':_0x4bf509[_0x4d057e(0x210)],'localOnly':_0x3d1503,'noCache':_0x203ba0});return{'ok':!![],'data':{'total':_0x21403d['items'][_0x4d057e(0x236)],'env':_0x1e20e6,'source':_0x21403d['source'],'fetchedAt':_0x21403d[_0x4d057e(0x201)],'cachePath':_0x21403d[_0x4d057e(0x225)]},'message':_0x21403d[_0x4d057e(0x1f6)]==='cache'?_0x4d057e(0x250)+_0x21403d[_0x4d057e(0x1fb)][_0x4d057e(0x236)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x1e20e6+'\x22.':_0x4d057e(0x1ff)+_0x21403d[_0x4d057e(0x1fb)][_0x4d057e(0x236)]+_0x4d057e(0x240)+_0x1e20e6+'\x22.'};}},useDef={'service':a3_0x237cb9(0x242),'command':'use','description':'Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a3_0x237cb9(0x247),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x237cb9(0x24a),'description':a3_0x237cb9(0x23a),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x53166f){const _0x52f035=a3_0x237cb9;if(!_0x53166f['args'][0x0])throw CliErrors[_0x52f035(0x21d)](_0x52f035(0x22c),_0x52f035(0x22a)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');},async 'execute'(_0x561899){const _0xb4216c=a3_0x237cb9;warnDeprecatedAppCommand(_0xb4216c(0x202),CLI_BIN_NAME+_0xb4216c(0x231));const _0x29b2f9=_0x561899[_0xb4216c(0x217)][0x0];if(!_0x29b2f9)throw CliErrors[_0xb4216c(0x21d)](_0xb4216c(0x22c),'Usage:\x20'+CLI_BIN_NAME+_0xb4216c(0x205));const {buildConfigFromFlags:_0x15e15b,resolveLocalAppAliasCode:_0x224b22}=await import(_0xb4216c(0x249)),{readCachedAppList:_0x1a768b}=await import('../../commands/app/cache.js'),_0x5f1877=_0x561899[_0xb4216c(0x1f5)](_0xb4216c(0x23c)),_0x463fe5=_0x15e15b(_0x5f1877?{'env':_0x5f1877}:{}),_0x255b2e=_0x1a768b(_0x463fe5[_0xb4216c(0x23c)],_0x463fe5['accessKey']),_0x32b766=_0x255b2e?.[_0xb4216c(0x1fb)][_0xb4216c(0x232)](_0xb3c0e8=>_0xb3c0e8['appName']===_0x29b2f9),_0x4ce2f3=_0x224b22(_0x463fe5['raw']??{},_0x29b2f9);if(_0x32b766&&!isRuntimeAccessibleApp(_0x32b766))throw runtimeInaccessibleAppError(_0x32b766,'\x22'+_0x29b2f9+'\x22');if(_0x4ce2f3){const _0x1545e4=_0x255b2e?.['items'][_0xb4216c(0x232)](_0x1e9591=>_0x1e9591[_0xb4216c(0x204)]?.[_0xb4216c(0x21e)]()===_0x4ce2f3);if(_0x1545e4&&!isRuntimeAccessibleApp(_0x1545e4))throw runtimeInaccessibleAppError(_0x1545e4,'\x22'+_0x29b2f9+'\x22');}if(!_0x32b766&&!_0x4ce2f3&&_0x463fe5[_0xb4216c(0x239)]!==_0x29b2f9){const _0xa24b=[..._0x255b2e?.[_0xb4216c(0x1fb)][_0xb4216c(0x20a)](_0x4acb28=>_0x4acb28[_0xb4216c(0x24b)])??[]],_0x37c505=_0xa24b[_0xb4216c(0x236)]===0x0?_0xb4216c(0x229)+CLI_BIN_NAME+_0xb4216c(0x23f)+_0x29b2f9+_0xb4216c(0x20c):_0xb4216c(0x20e)+Array['from'](new Set(_0xa24b))['join'](',\x20')+_0xb4216c(0x24c);throw CliErrors[_0xb4216c(0x21d)](_0xb4216c(0x207)+_0x29b2f9+_0xb4216c(0x21f),_0x37c505);}const _0x16d73c=_0x561899[_0xb4216c(0x203)](_0xb4216c(0x226));let _0x1ae905;if(_0x16d73c)_0x1ae905={'global':!![]};else{const {isInProject:_0x1d75a9}=await import(_0xb4216c(0x249)),_0xd8c2c3=_0x1d75a9();_0x1ae905=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':'project-default','inProject':_0xd8c2c3}));}const _0x3d5715=readConfig(_0x1ae905);return _0x3d5715[_0xb4216c(0x239)]=_0x29b2f9,writeConfig(_0x3d5715,_0x1ae905),{'ok':!![],'message':_0xb4216c(0x222)+_0x29b2f9+'\x22'+scopeLabel(_0x1ae905)+'.'};}};function warnDeprecatedAppCommand(_0x46b525,_0x65868f){const _0x27264f=a3_0x237cb9;console['warn'](CLI_BIN_NAME+_0x27264f(0x23b)+_0x46b525+_0x27264f(0x1f4)+_0x65868f+_0x27264f(0x215));}const importDef={'service':a3_0x237cb9(0x242),'command':a3_0x237cb9(0x245),'description':a3_0x237cb9(0x1fa),'risk':a3_0x237cb9(0x247),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x17edb8){return await runInitImport(collectFlags(_0x17edb8,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x2ccb60=a3_0x3c23;(function(_0x5e0655,_0x14ae6d){const _0x1e604c=a3_0x3c23,_0x2b5e37=_0x5e0655();while(!![]){try{const _0x42bc35=-parseInt(_0x1e604c(0x223))/0x1*(parseInt(_0x1e604c(0x1eb))/0x2)+-parseInt(_0x1e604c(0x1ea))/0x3*(parseInt(_0x1e604c(0x1db))/0x4)+parseInt(_0x1e604c(0x20f))/0x5+-parseInt(_0x1e604c(0x1fa))/0x6*(parseInt(_0x1e604c(0x1e5))/0x7)+-parseInt(_0x1e604c(0x1d5))/0x8+-parseInt(_0x1e604c(0x206))/0x9*(-parseInt(_0x1e604c(0x228))/0xa)+parseInt(_0x1e604c(0x21e))/0xb;if(_0x42bc35===_0x14ae6d)break;else _0x2b5e37['push'](_0x2b5e37['shift']());}catch(_0x334f7b){_0x2b5e37['push'](_0x2b5e37['shift']());}}}(a3_0x4daa,0xe55fa));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';function a3_0x4daa(){const _0x22c8d6=['bool','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','global','entries','app','raw','length','name','Usage:\x20','use','64651961EfJszH','\x20cached\x20app(s)\x20for\x20env=\x22','include-unpublished','Default\x20app\x20candidate\x20set\x20to\x20\x22','Remote\x20app\x20name\x20to\x20activate','302VllXzg','no-cache','env','cachePath','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','530BMQWKK','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','No\x20apps\x20found\x20on\x20the\x20platform.','../../commands/app/remote-source.js','project-default','Loaded\x20','13440720yUBuSD','import','join','source','\x20app\x20','App\x20\x22','4sJPqhx','remote','i18nInfo','trim','envName','Filter\x20by\x20environment\x20(default:\x20current\x20env)','nonInteractive','defaultApp','Use\x20`','filter','21elZVCx','Missing\x20app\x20name.','find','globalPath','string','5498511NlWpDP','4892Sgrhyr','\x20app(s)\x20for\x20env=\x22','validation','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','Read\x20app\x20list\x20from\x20local\x20cache\x20only','config','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','\x20app\x20use\x20<name>\x20[--global]','accessKey','warn','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','local','`\x20instead.','str','read','3639924HEYJan','pull','enableI18n','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','../../commands/app/cache.js','items','appPublishStatus','cache','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','production','write','map','69156bYQsFS','../../context.js','Use\x20global\x20config\x20scope','Available\x20remote\x20apps:\x20','appName','appcode','Refreshed\x20app\x20cache\x20with\x20','init','langs','3631960BHNssD','appCode','boolean','fetchedAt'];a3_0x4daa=function(){return _0x22c8d6;};return a3_0x4daa();}const GLOBAL_FLAG={'name':a3_0x2ccb60(0x216),'type':a3_0x2ccb60(0x211),'description':a3_0x2ccb60(0x208),'default':![]};function collectFlags(_0x265035,_0xe3743c){const _0x49c833=a3_0x2ccb60,_0x50a808={};for(const _0x3c1cb9 of _0xe3743c){const _0x2cf943=_0x3c1cb9['type']==='boolean'?_0x265035[_0x49c833(0x213)](_0x3c1cb9[_0x49c833(0x21b)]):_0x265035[_0x49c833(0x1f8)](_0x3c1cb9['name']);if(_0x2cf943!==''&&_0x2cf943!==![])_0x50a808[_0x3c1cb9['name']]=_0x2cf943;}if(_0x265035[_0x49c833(0x1e1)])_0x50a808[_0x49c833(0x1e1)]=!![];return _0x50a808;}function normalizeLanguages(_0x115489){const _0x238360=a3_0x2ccb60;if(!Array['isArray'](_0x115489))return[];return _0x115489['filter'](_0x2a5891=>typeof _0x2a5891===_0x238360(0x1e9))['map'](_0x2a5c2b=>_0x2a5c2b['trim']())[_0x238360(0x1e4)](Boolean);}function buildRemoteAppI18nFields(_0x4589a7){const _0x5c28e8=a3_0x2ccb60,_0x2c0384=normalizeLanguages(_0x4589a7[_0x5c28e8(0x1dd)]?.[_0x5c28e8(0x20e)]);return{'enableI18n':typeof _0x4589a7[_0x5c28e8(0x1fc)]===_0x5c28e8(0x211)?_0x4589a7[_0x5c28e8(0x1fc)]:null,'languages':_0x2c0384,'i18nInfo':_0x4589a7[_0x5c28e8(0x1dd)]?{..._0x4589a7[_0x5c28e8(0x1dd)],'langs':_0x2c0384[_0x5c28e8(0x21a)]?_0x2c0384:null}:null};}const initDef={'service':'app','command':a3_0x2ccb60(0x20d),'description':a3_0x2ccb60(0x202),'risk':a3_0x2ccb60(0x204),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0xd6d069){const _0x42ac7b=a3_0x2ccb60;return warnDeprecatedAppCommand(_0x42ac7b(0x20d),CLI_BIN_NAME+_0x42ac7b(0x1fd)),await runInit(collectFlags(_0xd6d069,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x2ccb60(0x218),'command':'list','description':a3_0x2ccb60(0x1f1),'risk':a3_0x2ccb60(0x1f9),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x2ccb60(0x225),'type':a3_0x2ccb60(0x1e9),'description':a3_0x2ccb60(0x1e0),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2ccb60(0x1f6),'type':a3_0x2ccb60(0x211),'description':a3_0x2ccb60(0x1ef),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x2ccb60(0x215),'default':![]},{'name':a3_0x2ccb60(0x220),'type':a3_0x2ccb60(0x211),'description':'Include\x20unpublished\x20apps\x20for\x20diagnostics','default':![]}],async 'execute'(_0x3717b2){const _0x1be582=a3_0x2ccb60,_0x33764e=_0x3717b2[_0x1be582(0x1f8)]('env')||_0x3717b2[_0x1be582(0x1df)]||getEnv()||_0x1be582(0x203),_0x1522d4=_0x3717b2['bool'](_0x1be582(0x1f6)),_0x181588=_0x3717b2[_0x1be582(0x213)](_0x1be582(0x224)),_0x4d065c=_0x3717b2[_0x1be582(0x213)](_0x1be582(0x220)),{readRawConfigWithLayers:_0x1f8881,resolveDefaultAppSource:_0x4913d6,getLocalAppAliases:_0x1483a4}=await import(_0x1be582(0x207)),{getRemoteAppList:_0x342419}=await import(_0x1be582(0x1d2)),{config:_0x2528d0,layers:_0x4bd094}=_0x1f8881(),_0x4aad3c=_0x4913d6(_0x4bd094),{defaultApp:_0x36cf90}=_0x2528d0,_0x5d4a71=await _0x342419({'env':_0x33764e,'accessKey':_0x3717b2[_0x1be582(0x1f3)],'localOnly':_0x1522d4,'noCache':_0x181588}),_0x68dc58=_0x4d065c?_0x5d4a71[_0x1be582(0x1ff)]:filterRuntimeAccessibleApps(_0x5d4a71[_0x1be582(0x1ff)]),_0x52be2c=_0x5d4a71[_0x1be582(0x1ff)]['length']-_0x68dc58['length'],_0x19fa97=_0x68dc58[_0x1be582(0x205)](_0x232cd9=>{const _0x164bf5=_0x1be582;return{'name':_0x232cd9['appName'],'appcode':_0x232cd9[_0x164bf5(0x210)],'named':!![],'definedIn':_0x164bf5(0x1dc),'isDefault':_0x232cd9[_0x164bf5(0x20a)]===_0x36cf90,...buildAppProfileListFields(_0x33764e),...buildRemoteAppI18nFields(_0x232cd9),'source':_0x5d4a71[_0x164bf5(0x1d8)],'owner':_0x232cd9['appOwnerName']??null,'status':_0x232cd9[_0x164bf5(0x200)]??null,'cachedAt':_0x5d4a71[_0x164bf5(0x212)]};}),_0x2d2fcc=_0x1483a4(_0x2528d0);let _0x2f5822=0x0;for(const [_0x31834b,_0x3cb770]of Object[_0x1be582(0x217)](_0x2d2fcc)){const _0x556023=typeof _0x3cb770[_0x1be582(0x20b)]===_0x1be582(0x1e9)?_0x3cb770[_0x1be582(0x20b)][_0x1be582(0x1de)]():'';if(!_0x556023)continue;const _0x53ac1f=findAppByCode(_0x5d4a71[_0x1be582(0x1ff)],_0x556023);if(!_0x4d065c&&_0x53ac1f&&!isRuntimeAccessibleApp(_0x53ac1f))continue;_0x2f5822+=0x1,_0x19fa97['push']({'name':_0x31834b,'appcode':_0x556023,'named':!![],'definedIn':_0x1be582(0x1f6),'isDefault':_0x31834b===_0x36cf90,...buildAppProfileListFields(_0x33764e),'source':_0x1be582(0x1f0),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x19fa97,_0x3717b2['mergedCli']);const _0xc21024=_0x19fa97[_0x1be582(0x1e7)](_0x28b448=>_0x28b448['isCurrent']===!![]),_0x1bc092=_0x36cf90??_0xc21024?.[_0x1be582(0x21b)]??null,_0x20781b={'env':_0x33764e,'source':_0x5d4a71['source'],'fetchedAt':_0x5d4a71[_0x1be582(0x212)],'cachePath':_0x5d4a71['cachePath'],'globalPath':_0x4bd094[_0x1be582(0x1e8)]??null,'projectPath':_0x4bd094['projectPath']??null,'defaultApp':_0x1bc092,'defaultAppSource':_0x36cf90!=null?_0x4aad3c:null,'localAliasCount':_0x2f5822,'remoteTotal':_0x5d4a71['items'][_0x1be582(0x21a)],'hiddenUnpublishedCount':_0x52be2c,'includeUnpublished':_0x4d065c};if(_0x19fa97['length']===0x0)return{'ok':!![],'data':{'items':_0x19fa97,'meta':_0x20781b},'message':_0x5d4a71[_0x1be582(0x1d8)]===_0x1be582(0x201)?'No\x20cached\x20apps\x20found.':_0x1be582(0x1d1)};return{'ok':!![],'data':{'items':_0x19fa97,'meta':_0x20781b}};}},pullDef={'service':a3_0x2ccb60(0x218),'command':a3_0x2ccb60(0x1fb),'description':a3_0x2ccb60(0x1ee),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x2ccb60(0x225),'type':a3_0x2ccb60(0x1e9),'description':'Target\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2ccb60(0x1f6),'type':a3_0x2ccb60(0x211),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x2ccb60(0x211),'description':a3_0x2ccb60(0x215),'default':![]}],async 'execute'(_0x2feef4){const _0x9b6133=a3_0x2ccb60,_0x259b21=_0x2feef4[_0x9b6133(0x1f8)](_0x9b6133(0x225))||_0x2feef4[_0x9b6133(0x1df)]||getEnv()||_0x9b6133(0x203),_0x3e71bb=_0x2feef4[_0x9b6133(0x213)](_0x9b6133(0x1f6)),_0x5933f7=_0x2feef4['bool'](_0x9b6133(0x224)),{getRemoteAppList:_0x47848f}=await import(_0x9b6133(0x1d2)),_0x1cfbef=await _0x47848f({'env':_0x259b21,'accessKey':_0x2feef4['accessKey'],'localOnly':_0x3e71bb,'noCache':_0x5933f7});return{'ok':!![],'data':{'total':_0x1cfbef[_0x9b6133(0x1ff)][_0x9b6133(0x21a)],'env':_0x259b21,'source':_0x1cfbef[_0x9b6133(0x1d8)],'fetchedAt':_0x1cfbef[_0x9b6133(0x212)],'cachePath':_0x1cfbef[_0x9b6133(0x226)]},'message':_0x1cfbef[_0x9b6133(0x1d8)]===_0x9b6133(0x201)?_0x9b6133(0x1d4)+_0x1cfbef[_0x9b6133(0x1ff)][_0x9b6133(0x21a)]+_0x9b6133(0x21f)+_0x259b21+'\x22.':_0x9b6133(0x20c)+_0x1cfbef['items'][_0x9b6133(0x21a)]+_0x9b6133(0x1ec)+_0x259b21+'\x22.'};}},useDef={'service':a3_0x2ccb60(0x218),'command':'use','description':a3_0x2ccb60(0x227),'risk':a3_0x2ccb60(0x204),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x2ccb60(0x21b),'description':a3_0x2ccb60(0x222),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0xd69b51){const _0xa9610f=a3_0x2ccb60;if(!_0xd69b51['args'][0x0])throw CliErrors[_0xa9610f(0x1ed)](_0xa9610f(0x1e6),_0xa9610f(0x21c)+CLI_BIN_NAME+_0xa9610f(0x1f2));},async 'execute'(_0x5991ff){const _0x184439=a3_0x2ccb60;warnDeprecatedAppCommand(_0x184439(0x21d),CLI_BIN_NAME+_0x184439(0x1f5));const _0x44bfc0=_0x5991ff['args'][0x0];if(!_0x44bfc0)throw CliErrors[_0x184439(0x1ed)](_0x184439(0x1e6),_0x184439(0x21c)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const {buildConfigFromFlags:_0x27eb83,resolveLocalAppAliasCode:_0x4d2af2}=await import('../../context.js'),{readCachedAppList:_0x267ef3}=await import(_0x184439(0x1fe)),_0x5dae29=_0x5991ff[_0x184439(0x1f8)](_0x184439(0x225)),_0x5a470f=_0x27eb83(_0x5dae29?{'env':_0x5dae29}:{}),_0x8e2e00=_0x267ef3(_0x5a470f[_0x184439(0x225)],_0x5a470f[_0x184439(0x1f3)]),_0x9bb7d3=_0x8e2e00?.[_0x184439(0x1ff)]['find'](_0x622b66=>_0x622b66[_0x184439(0x20a)]===_0x44bfc0),_0x555acc=_0x4d2af2(_0x5a470f[_0x184439(0x219)]??{},_0x44bfc0);if(_0x9bb7d3&&!isRuntimeAccessibleApp(_0x9bb7d3))throw runtimeInaccessibleAppError(_0x9bb7d3,'\x22'+_0x44bfc0+'\x22');if(_0x555acc){const _0x20b6dd=_0x8e2e00?.[_0x184439(0x1ff)][_0x184439(0x1e7)](_0x242b99=>_0x242b99[_0x184439(0x210)]?.[_0x184439(0x1de)]()===_0x555acc);if(_0x20b6dd&&!isRuntimeAccessibleApp(_0x20b6dd))throw runtimeInaccessibleAppError(_0x20b6dd,'\x22'+_0x44bfc0+'\x22');}if(!_0x9bb7d3&&!_0x555acc&&_0x5a470f[_0x184439(0x1e2)]!==_0x44bfc0){const _0x110d3d=[..._0x8e2e00?.['items'][_0x184439(0x205)](_0x3d2862=>_0x3d2862[_0x184439(0x20a)])??[]],_0x43a09b=_0x110d3d[_0x184439(0x21a)]===0x0?_0x184439(0x1e3)+CLI_BIN_NAME+_0x184439(0x214)+_0x44bfc0+'.appcode\x20to\x20.lovrabet.json.':_0x184439(0x209)+Array['from'](new Set(_0x110d3d))[_0x184439(0x1d7)](',\x20')+_0x184439(0x1d0);throw CliErrors['validation'](_0x184439(0x1da)+_0x44bfc0+'\x22\x20not\x20found.',_0x43a09b);}const _0x210832=_0x5991ff[_0x184439(0x213)]('global');let _0x1201d3;if(_0x210832)_0x1201d3={'global':!![]};else{const {isInProject:_0x3298fe}=await import(_0x184439(0x207)),_0x2cd0f2=_0x3298fe();_0x1201d3=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x184439(0x1d3),'inProject':_0x2cd0f2}));}const _0x3c8830=readConfig(_0x1201d3);return _0x3c8830[_0x184439(0x1e2)]=_0x44bfc0,writeConfig(_0x3c8830,_0x1201d3),{'ok':!![],'message':_0x184439(0x221)+_0x44bfc0+'\x22'+scopeLabel(_0x1201d3)+'.'};}};function warnDeprecatedAppCommand(_0x36d89e,_0x5bd936){const _0x2f12d2=a3_0x2ccb60;console[_0x2f12d2(0x1f4)](CLI_BIN_NAME+_0x2f12d2(0x1d9)+_0x36d89e+'\x20is\x20deprecated.\x20Use\x20`'+_0x5bd936+_0x2f12d2(0x1f7));}function a3_0x3c23(_0x2aec32,_0x5ac373){_0x2aec32=_0x2aec32-0x1d0;const _0x4daa32=a3_0x4daa();let _0x3c237b=_0x4daa32[_0x2aec32];return _0x3c237b;}const importDef={'service':a3_0x2ccb60(0x218),'command':a3_0x2ccb60(0x1d6),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x2ccb60(0x204),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x2e4269){return await runInitImport(collectFlags(_0x2e4269,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4afdba,_0x11c429){const _0x4dfe53=a4_0x3929,_0x1487fb=_0x4afdba();while(!![]){try{const _0x43a275=parseInt(_0x4dfe53(0x18b))/0x1*(parseInt(_0x4dfe53(0x197))/0x2)+parseInt(_0x4dfe53(0x193))/0x3*(-parseInt(_0x4dfe53(0x194))/0x4)+parseInt(_0x4dfe53(0x192))/0x5*(parseInt(_0x4dfe53(0x18e))/0x6)+-parseInt(_0x4dfe53(0x18d))/0x7*(parseInt(_0x4dfe53(0x19d))/0x8)+-parseInt(_0x4dfe53(0x195))/0x9+-parseInt(_0x4dfe53(0x196))/0xa*(-parseInt(_0x4dfe53(0x198))/0xb)+parseInt(_0x4dfe53(0x1a0))/0xc*(parseInt(_0x4dfe53(0x199))/0xd);if(_0x43a275===_0x11c429)break;else _0x1487fb['push'](_0x1487fb['shift']());}catch(_0x3fd2bd){_0x1487fb['push'](_0x1487fb['shift']());}}}(a4_0x36f7,0x69b1b));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0x3929(_0x2eb094,_0x5a18a1){_0x2eb094=_0x2eb094-0x18b;const _0x36f7f8=a4_0x36f7();let _0x3929b3=_0x36f7f8[_0x2eb094];return _0x3929b3;}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x50c2a4){const _0x2880a5=a4_0x3929;if(typeof _0x50c2a4!==_0x2880a5(0x190))return null;const _0x41e3b0=_0x50c2a4['trim']();return _0x41e3b0?_0x41e3b0['toUpperCase']():null;}export function isRuntimeAccessibleApp(_0x4c272a){const _0x850d6b=a4_0x3929;return normalizeAppPublishStatus(_0x4c272a[_0x850d6b(0x19c)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x222ce0){return _0x222ce0['filter'](isRuntimeAccessibleApp);}export function findAppByName(_0x3abb6e,_0x221e39){return _0x3abb6e['find'](_0x331fe5=>_0x331fe5['appName']===_0x221e39);}export function findAppByCode(_0x3bd9b7,_0x10065e){const _0x243a3f=a4_0x3929,_0x3c6b51=_0x10065e[_0x243a3f(0x19e)]();if(!_0x3c6b51)return undefined;return _0x3bd9b7[_0x243a3f(0x19b)](_0x40534d=>_0x40534d[_0x243a3f(0x191)]?.[_0x243a3f(0x19e)]()===_0x3c6b51);}export function runtimeInaccessibleAppError(_0x3dca04,_0x3bb355){const _0x102277=a4_0x3929,_0x4083ec=normalizeAppPublishStatus(_0x3dca04[_0x102277(0x19c)])??_0x102277(0x1a1);return CliErrors[_0x102277(0x18c)]('App\x20'+_0x3bb355+_0x102277(0x19a),_0x102277(0x19f)+_0x4083ec+'.\x20Publish\x20the\x20app\x20before\x20using\x20'+CLI_BIN_NAME+_0x102277(0x18f));}function a4_0x36f7(){const _0x26d3bb=['48CnIhLT','UNKNOWN','2pdKxxf','validation','7GfadPI','119226lvsJbj','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','string','appCode','195kazQod','81NcdxGm','65116NPXxho','1569123rQYtpl','2570DqIdMy','100088PuYyvA','16621WArEsu','1399892LgEMJs','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','find','appPublishStatus','5178536PuyZum','trim','Current\x20status:\x20'];a4_0x36f7=function(){return _0x26d3bb;};return a4_0x36f7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a5_0x1661(){const _0x3d64cf=['success','1179885ElHxeK','2000214NlGlCo','6028oLNVbQ','Mock\x20API\x20error:\x20','errorMsg','187938LUftKJ','75gVTzXZ','../../../mock/app-list.json','8600ePtHjd','3319ciraGQ','2727rZkBoX','6320yuxNFh','utf-8','86FnZsmc','parse','60420KpgVxB'];a5_0x1661=function(){return _0x3d64cf;};return a5_0x1661();}(function(_0x46edef,_0x4d82f9){const _0x557bd0=a5_0x41aa,_0x18c552=_0x46edef();while(!![]){try{const _0x54e93c=-parseInt(_0x557bd0(0xc5))/0x1*(parseInt(_0x557bd0(0xc9))/0x2)+parseInt(_0x557bd0(0xc1))/0x3+parseInt(_0x557bd0(0xcb))/0x4*(-parseInt(_0x557bd0(0xc2))/0x5)+parseInt(_0x557bd0(0xbd))/0x6+parseInt(_0x557bd0(0xbc))/0x7+-parseInt(_0x557bd0(0xc4))/0x8*(-parseInt(_0x557bd0(0xc6))/0x9)+-parseInt(_0x557bd0(0xc7))/0xa*(parseInt(_0x557bd0(0xbe))/0xb);if(_0x54e93c===_0x4d82f9)break;else _0x18c552['push'](_0x18c552['shift']());}catch(_0x55f8fa){_0x18c552['push'](_0x18c552['shift']());}}}(a5_0x1661,0x2aa4b));import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x14fa22=a5_0x41aa,_0x43a84e=join(__dirname,_0x14fa22(0xc3)),_0x1f0514=readFileSync(_0x43a84e,_0x14fa22(0xc8));return JSON[_0x14fa22(0xca)](_0x1f0514);}let _cached=null;function a5_0x41aa(_0xd30bb,_0x359e6b){_0xd30bb=_0xd30bb-0xbb;const _0x1661d3=a5_0x1661();let _0x41aaf1=_0x1661d3[_0xd30bb];return _0x41aaf1;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x544796=a5_0x41aa,_0x16ec29=getMockAppList();if(!_0x16ec29[_0x544796(0xbb)])throw new Error(_0x544796(0xbf)+_0x16ec29[_0x544796(0xc0)]+'\x20('+_0x16ec29['errorCode']+')');return _0x16ec29['data']['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x2b23(){const _0x4a5677=['52045IzHSIc','remote','mock','cache','15530119SFlvMt','36204uEguse','items','57051iznDIr','44dnjUgs','APP_LIST_SOURCE','177064GeznwZ','30HuzAzE','56TlDbbA','toISOString','trim','7080252kophmc','730396AmmKER','fetchedAt','110FpiUVf','toLowerCase'];a6_0x2b23=function(){return _0x4a5677;};return a6_0x2b23();}(function(_0x49c13d,_0x143d15){const _0x5ecacd=a6_0x4123,_0x3c5468=_0x49c13d();while(!![]){try{const _0x38460d=parseInt(_0x5ecacd(0x127))/0x1+parseInt(_0x5ecacd(0x129))/0x2*(-parseInt(_0x5ecacd(0x11c))/0x3)+-parseInt(_0x5ecacd(0x11f))/0x4*(-parseInt(_0x5ecacd(0x12b))/0x5)+-parseInt(_0x5ecacd(0x126))/0x6+parseInt(_0x5ecacd(0x123))/0x7*(parseInt(_0x5ecacd(0x121))/0x8)+parseInt(_0x5ecacd(0x11e))/0x9*(parseInt(_0x5ecacd(0x122))/0xa)+parseInt(_0x5ecacd(0x11b))/0xb;if(_0x38460d===_0x143d15)break;else _0x3c5468['push'](_0x3c5468['shift']());}catch(_0x3bb69a){_0x3c5468['push'](_0x3c5468['shift']());}}}(a6_0x2b23,0x94aff));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';function a6_0x4123(_0x7daa7f,_0x40b29c){_0x7daa7f=_0x7daa7f-0x118;const _0x2b23b5=a6_0x2b23();let _0x41235b=_0x2b23b5[_0x7daa7f];return _0x41235b;}import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x190c39=a6_0x4123,_0x351560=(productEnv(_0x190c39(0x120))||'')[_0x190c39(0x125)]()[_0x190c39(0x12a)]();return _0x351560===_0x190c39(0x119);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x5b0972){const _0x3d0ed1=a6_0x4123,{env:_0x359959,accessKey:_0x2bb909,localOnly:localOnly=![],noCache:noCache=![]}=_0x5b0972,_0x790606=readCachedAppList(_0x359959,_0x2bb909),_0xe0162c=_0x2bb909?.[_0x3d0ed1(0x125)]()?getAppCacheFilePath(_0x359959,_0x2bb909):null;if(localOnly)return{'items':_0x790606?.[_0x3d0ed1(0x11d)]??[],'source':_0x3d0ed1(0x11a),'fetchedAt':_0x790606?.[_0x3d0ed1(0x128)]??null,'cachePath':_0xe0162c};try{const _0x4b319b=await getRemoteAppItems(),_0x28df1e=shouldUseMockRemoteApps()?'mock':_0x3d0ed1(0x118),_0x319555=new Date()[_0x3d0ed1(0x124)](),_0x2531cc=_0x2bb909?.[_0x3d0ed1(0x125)]()?writeCachedAppList(_0x359959,_0x2bb909,{'env':_0x359959,'fetchedAt':_0x319555,'source':_0x28df1e,'items':_0x4b319b}):null;return{'items':_0x4b319b,'source':_0x28df1e,'fetchedAt':_0x319555,'cachePath':_0x2531cc};}catch(_0x5f4857){if(!noCache&&_0x790606)return{'items':_0x790606[_0x3d0ed1(0x11d)],'source':_0x3d0ed1(0x11a),'fetchedAt':_0x790606[_0x3d0ed1(0x128)],'cachePath':_0xe0162c};throw _0x5f4857;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4ccefa,_0x70bc29){const _0x15ff04=a7_0x5ea6,_0x59c52b=_0x4ccefa();while(!![]){try{const _0x253c3c=-parseInt(_0x15ff04(0x1a5))/0x1+-parseInt(_0x15ff04(0x1b5))/0x2*(-parseInt(_0x15ff04(0x1a4))/0x3)+-parseInt(_0x15ff04(0x1a2))/0x4+-parseInt(_0x15ff04(0x1b8))/0x5*(parseInt(_0x15ff04(0x1b2))/0x6)+parseInt(_0x15ff04(0x1ac))/0x7+-parseInt(_0x15ff04(0x1aa))/0x8+-parseInt(_0x15ff04(0x1ae))/0x9*(-parseInt(_0x15ff04(0x1b6))/0xa);if(_0x253c3c===_0x70bc29)break;else _0x59c52b['push'](_0x59c52b['shift']());}catch(_0x22868e){_0x59c52b['push'](_0x59c52b['shift']());}}}(a7_0x36c2,0xeced8));import{CLI_BIN_NAME}from'../../constant/cli.js';import{formatScopeLabel}from'../../commands/common/config-policy.js';export{CLI_BIN_NAME};function a7_0x5ea6(_0x189e74,_0x1201e7){_0x189e74=_0x189e74-0x1a2;const _0x36c2d4=a7_0x36c2();let _0x5ea69f=_0x36c2d4[_0x189e74];return _0x5ea69f;}export function enrichAppListItemsWithMergedSelection(_0x24839c,_0x58af6c){const _0x5f2606=a7_0x5ea6;if(!_0x58af6c)return;const _0x255653=!!(_0x58af6c[_0x5f2606(0x1a8)]??_0x58af6c[_0x5f2606(0x1b0)]);for(const _0xe1ae of _0x24839c){_0xe1ae[_0x5f2606(0x1a6)]=![];}const _0x2652a7=_0x58af6c[_0x5f2606(0x1af)]!=null?String(_0x58af6c[_0x5f2606(0x1af)])['trim']():'';if(_0x255653){const _0x27a8f4=_0x58af6c[_0x5f2606(0x1a8)]??_0x58af6c['defaultApp'];if(_0x27a8f4){const _0x30622a=_0x24839c['find'](_0xccb9f8=>_0xccb9f8[_0x5f2606(0x1b1)]===!![]&&_0xccb9f8['name']===_0x27a8f4&&_0xccb9f8[_0x5f2606(0x1b7)]===_0x5f2606(0x1a9)),_0x20108b=_0x30622a??_0x24839c[_0x5f2606(0x1a3)](_0x9f6753=>_0x9f6753[_0x5f2606(0x1b1)]===!![]&&_0x9f6753[_0x5f2606(0x1ab)]===_0x27a8f4);if(_0x20108b){const _0x53f953=String(_0x20108b[_0x5f2606(0x1b3)]??'')[_0x5f2606(0x1a7)]();if(!_0x2652a7||_0x53f953===_0x2652a7){_0x20108b[_0x5f2606(0x1a6)]=!![];return;}}}if(_0x2652a7){const _0x1dd330=_0x24839c['find'](_0x5915a7=>String(_0x5915a7['appcode']??'')['trim']()===_0x2652a7);_0x1dd330&&(_0x1dd330[_0x5f2606(0x1a6)]=!![]);}return;}if(!_0x2652a7)return;for(const _0x475c9e of _0x24839c){String(_0x475c9e[_0x5f2606(0x1b3)]??'')['trim']()===_0x2652a7&&(_0x475c9e[_0x5f2606(0x1a6)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x1dd83b){const _0x2aed92=a7_0x5ea6;return formatScopeLabel(_0x1dd83b['global']?_0x2aed92(0x1ad):_0x2aed92(0x1b4));}function a7_0x36c2(){const _0x54c5a3=['3934744vEODjJ','name','1558221Dxcomu','global','27XVABTA','appCode','defaultApp','named','870522wbGmVM','appcode','project','2jieiMG','11650370juAhHQ','definedIn','25GuCXaE','5940748phykpI','find','2175246dCmZzt','769875irAPLf','isCurrent','trim','currentApp','local'];a7_0x36c2=function(){return _0x54c5a3;};return a7_0x36c2();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x480c0b=a8_0x4bb8;function a8_0x4bb8(_0x79a245,_0x118169){_0x79a245=_0x79a245-0x1e0;const _0x409cce=a8_0x409c();let _0x4bb892=_0x409cce[_0x79a245];return _0x4bb892;}function a8_0x409c(){const _0x5a013b=['7788036xJycZS','601422uXAWIz','11aGkVdk','201417MexKlD','Unable\x20to\x20get\x20app-config\x20value:\x20key=','1268pzyhre','App\x20config\x20key','21wmeJsc','app-config','174856mghpZm','get','apiError','validation','10XpfUjo','Usage:\x20','2367pKAgTi','key','9zCEgxz','2355270WjEetv','1069744TZSzeD','\x20app-config\x20get\x20<key>','trim','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.'];a8_0x409c=function(){return _0x5a013b;};return a8_0x409c();}(function(_0x122c6a,_0x3ba123){const _0x2eaf1d=a8_0x4bb8,_0x27307f=_0x122c6a();while(!![]){try{const _0x3a3dc6=-parseInt(_0x2eaf1d(0x1e6))/0x1+parseInt(_0x2eaf1d(0x1ec))/0x2+-parseInt(_0x2eaf1d(0x1f2))/0x3*(-parseInt(_0x2eaf1d(0x1e8))/0x4)+parseInt(_0x2eaf1d(0x1f0))/0x5*(parseInt(_0x2eaf1d(0x1e4))/0x6)+-parseInt(_0x2eaf1d(0x1ea))/0x7*(parseInt(_0x2eaf1d(0x1f6))/0x8)+-parseInt(_0x2eaf1d(0x1f4))/0x9*(parseInt(_0x2eaf1d(0x1f5))/0xa)+parseInt(_0x2eaf1d(0x1e5))/0xb*(parseInt(_0x2eaf1d(0x1e3))/0xc);if(_0x3a3dc6===_0x3ba123)break;else _0x27307f['push'](_0x27307f['shift']());}catch(_0x3705be){_0x27307f['push'](_0x27307f['shift']());}}}(a8_0x409c,0x552f8));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x480c0b(0x1eb),'command':a8_0x480c0b(0x1ed),'description':a8_0x480c0b(0x1e1),'risk':'read','args':[{'name':a8_0x480c0b(0x1f3),'description':a8_0x480c0b(0x1e9),'required':!![]}],'flags':[],async 'execute'(_0x433a35){const _0x5505d4=a8_0x480c0b,_0x1725e9=_0x433a35['args'][0x0]?.[_0x5505d4(0x1e0)]();if(!_0x1725e9)throw CliErrors[_0x5505d4(0x1ef)]('Missing\x20app-config\x20key.',_0x5505d4(0x1f1)+CLI_BIN_NAME+_0x5505d4(0x1f7));try{const _0x4ca0c5=await getRuntimeAppConfigByKey(_0x433a35['appCode'],_0x1725e9);return{'ok':!![],'data':_0x4ca0c5};}catch{throw CliErrors[_0x5505d4(0x1ee)](_0x5505d4(0x1e7)+_0x1725e9+',\x20appCode='+_0x433a35['appCode'],_0x5505d4(0x1e2));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x438313,_0x2e1829){const _0x30b5fc=a9_0xa1e0,_0x1e767b=_0x438313();while(!![]){try{const _0x471645=-parseInt(_0x30b5fc(0x122))/0x1+parseInt(_0x30b5fc(0x11f))/0x2+-parseInt(_0x30b5fc(0x11e))/0x3+parseInt(_0x30b5fc(0x120))/0x4+-parseInt(_0x30b5fc(0x11c))/0x5+parseInt(_0x30b5fc(0x11b))/0x6*(-parseInt(_0x30b5fc(0x121))/0x7)+parseInt(_0x30b5fc(0x11d))/0x8;if(_0x471645===_0x2e1829)break;else _0x1e767b['push'](_0x1e767b['shift']());}catch(_0x3ba1a1){_0x1e767b['push'](_0x1e767b['shift']());}}}(a9_0x5be5,0x4b5a4));function a9_0xa1e0(_0x2b8e5e,_0x2534cc){_0x2b8e5e=_0x2b8e5e-0x11b;const _0x5be527=a9_0x5be5();let _0xa1e07c=_0x5be527[_0x2b8e5e];return _0xa1e07c;}function a9_0x5be5(){const _0x2f19a8=['2441620HwSemx','3950464vDbKJI','531400bnulVB','6oVuWWR','1782050bBFoEs','8861160aYixTC','1181262XkVVQI','873020AAwncB'];a9_0x5be5=function(){return _0x2f19a8;};return a9_0x5be5();}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x34daf7=a10_0x21c8;(function(_0x1a2b09,_0x49a07f){const _0x1ac26f=a10_0x21c8,_0x3d8330=_0x1a2b09();while(!![]){try{const _0x4d8e1b=-parseInt(_0x1ac26f(0x12f))/0x1*(-parseInt(_0x1ac26f(0x11d))/0x2)+parseInt(_0x1ac26f(0x13f))/0x3*(-parseInt(_0x1ac26f(0x131))/0x4)+-parseInt(_0x1ac26f(0x137))/0x5*(-parseInt(_0x1ac26f(0x11f))/0x6)+-parseInt(_0x1ac26f(0x12d))/0x7*(parseInt(_0x1ac26f(0x14c))/0x8)+parseInt(_0x1ac26f(0x139))/0x9+-parseInt(_0x1ac26f(0x11c))/0xa+parseInt(_0x1ac26f(0x123))/0xb;if(_0x4d8e1b===_0x49a07f)break;else _0x3d8330['push'](_0x3d8330['shift']());}catch(_0x3bbaab){_0x3d8330['push'](_0x3d8330['shift']());}}}(a10_0x3794,0x36827));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE='react_module',ARTIFACT_SOURCE_AGENT=a10_0x34daf7(0x149),ALLOWED_REACT_MODULE_IMPORTS=['react','react-dom',a10_0x34daf7(0x121),a10_0x34daf7(0x12e),'antd','@ant-design/icons'];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x34daf7(0x166)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x34daf7(0x15b),'type':a10_0x34daf7(0x12b),'required':!![],'description':a10_0x34daf7(0x115)},ARTIFACT_NAME_FLAG={'name':a10_0x34daf7(0x141),'type':a10_0x34daf7(0x12b),'description':a10_0x34daf7(0x163)},METADATA_FLAG={'name':a10_0x34daf7(0x14a),'type':a10_0x34daf7(0x12b),'description':a10_0x34daf7(0x154)};function isPlainObject(_0x12ff17){const _0x3497c3=a10_0x34daf7;return typeof _0x12ff17===_0x3497c3(0x150)&&_0x12ff17!==null&&!Array[_0x3497c3(0x140)](_0x12ff17);}function readSourceFile(_0x3412f9){const _0x35193c=a10_0x34daf7;if(!_0x3412f9)throw CliErrors[_0x35193c(0x153)](_0x35193c(0x13c));if(!existsSync(_0x3412f9))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x3412f9);if(!statSync(_0x3412f9)[_0x35193c(0x147)]())throw CliErrors[_0x35193c(0x153)](_0x35193c(0x128)+_0x3412f9);const _0x5cf542=readFileSync(_0x3412f9,_0x35193c(0x138));return validateReactModuleSource(_0x5cf542),_0x5cf542;}function parseMetadata(_0x708b9e){const _0xf15a5f=a10_0x34daf7;if(!_0x708b9e)return undefined;let _0x1bfe1f;try{_0x1bfe1f=JSON[_0xf15a5f(0x167)](_0x708b9e);}catch{throw CliErrors[_0xf15a5f(0x153)](_0xf15a5f(0x15c)+_0x708b9e);}if(!isPlainObject(_0x1bfe1f))throw CliErrors[_0xf15a5f(0x153)](_0xf15a5f(0x160));const _0x1e4318={..._0x1bfe1f};return delete _0x1e4318[_0xf15a5f(0x144)],_0x1e4318;}function getPackageName(_0x2000e1){const _0xcd4050=a10_0x34daf7;if(_0x2000e1[_0xcd4050(0x132)]('@')){const [_0x27a201,_0x58463b]=_0x2000e1[_0xcd4050(0x152)]('/');return _0x27a201&&_0x58463b?_0x27a201+'/'+_0x58463b:_0x2000e1;}return _0x2000e1[_0xcd4050(0x152)]('/')[0x0]||_0x2000e1;}function validateAllowedImports(_0x55a576){const _0x3ee0b3=a10_0x34daf7,_0x2258d5=new Set();for(const _0x6eff85 of IMPORT_SOURCE_PATTERNS){_0x6eff85[_0x3ee0b3(0x142)]=0x0;let _0x1860ea;while((_0x1860ea=_0x6eff85[_0x3ee0b3(0x159)](_0x55a576))!==null){const _0x22039a=_0x1860ea[0x1]?.[_0x3ee0b3(0x15e)]();_0x22039a&&_0x2258d5['add'](_0x22039a);}}const _0x19cb55=[..._0x2258d5][_0x3ee0b3(0x134)](getPackageName)[_0x3ee0b3(0x14b)](_0x2e85d6=>!ALLOWED_REACT_MODULE_IMPORTS[_0x3ee0b3(0x156)](_0x2e85d6));if(_0x19cb55[_0x3ee0b3(0x125)]>0x0)throw CliErrors[_0x3ee0b3(0x153)](_0x3ee0b3(0x13b)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x19cb55)]['join'](',\x20'));}export function validateReactModuleSource(_0x1f8670){const _0x2f9dfd=a10_0x34daf7;if(!_0x1f8670[_0x2f9dfd(0x15e)]())throw CliErrors[_0x2f9dfd(0x153)](_0x2f9dfd(0x143));if(PAGE_LEVEL_PATTERNS[_0x2f9dfd(0x118)](_0x53c4fc=>_0x53c4fc[_0x2f9dfd(0x165)](_0x1f8670)))throw CliErrors[_0x2f9dfd(0x153)](_0x2f9dfd(0x129));validateAllowedImports(_0x1f8670);}function buildArtifactInput(_0x294a70){const _0x6d0de7=a10_0x34daf7,_0x582dfb=readSourceFile(_0x294a70['str']('file')),_0x47f612=_0x294a70[_0x6d0de7(0x13d)]('name')[_0x6d0de7(0x15e)](),_0x4fa6b8=parseMetadata(_0x294a70[_0x6d0de7(0x13d)](_0x6d0de7(0x14a)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x47f612?{'name':_0x47f612}:{},'content':_0x582dfb,..._0x4fa6b8?{'metadata':_0x4fa6b8}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x5459d5){const _0x3042ef=a10_0x34daf7;return{'id':_0x5459d5['id'],'name':_0x5459d5['name'],'artifactType':_0x5459d5[_0x3042ef(0x119)],'source':_0x5459d5[_0x3042ef(0x122)],'favorite':_0x5459d5[_0x3042ef(0x151)],'deleted':_0x5459d5[_0x3042ef(0x158)],'createTime':_0x5459d5[_0x3042ef(0x162)],'updateTime':_0x5459d5[_0x3042ef(0x13e)]};}function detailArtifact(_0xc0c761){const _0x5c1b15=a10_0x34daf7;return{'id':_0xc0c761['id'],'appCode':_0xc0c761[_0x5c1b15(0x15d)],'name':_0xc0c761[_0x5c1b15(0x141)],'artifactType':_0xc0c761[_0x5c1b15(0x119)],'source':_0xc0c761['source'],'favorite':_0xc0c761[_0x5c1b15(0x151)],'deleted':_0xc0c761[_0x5c1b15(0x158)],'content':_0xc0c761[_0x5c1b15(0x15f)]??'','compiledContent':_0xc0c761[_0x5c1b15(0x144)],'metadata':_0xc0c761['metadata']??{},'createTime':_0xc0c761[_0x5c1b15(0x162)],'updateTime':_0xc0c761[_0x5c1b15(0x13e)]};}function a10_0x3794(){const _0x1c4cf4=['Optional\x20source\x20filter,\x20for\x20example\x20AGENT','/update','flag','object','favorite','split','validation','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','artifact','includes','number','deleted','exec','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','file','Invalid\x20JSON\x20for\x20--metadata:\x20','appCode','trim','content','--metadata\x20must\x20be\x20a\x20JSON\x20object.','Artifact\x20ID','createTime','Artifact\x20display\x20name','write','test','join','parse','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Preview:\x20update\x20react_module\x20Artifact\x20','verbose','some','artifactType','Optional\x20favorite-state\x20filter','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','2752560UtZmPm','2exAjHB','Preview:\x20create\x20react_module\x20Artifact','5514FduJQg','detail','lodash','source','4615589VPrEjF','description','length','body','/client/artifact/create','File\x20is\x20not\x20a\x20regular\x20file:\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','POST','string','data','35iyvAqu','dayjs','41729ykisnX','update','20RvlwSX','startsWith','Updated\x20Artifact\x20','map','List\x20current-app\x20react_module\x20Artifacts','read','265TabxuK','utf8','517338QzyBoP','num','react_module\x20imports\x20are\x20limited\x20to:\x20','File\x20path\x20is\x20required.','str','updateTime','2259WiQbsr','isArray','name','lastIndex','Artifact\x20source\x20file\x20is\x20blank.','compiledContent','create','build','isFile','/client/artifact/','AGENT','metadata','filter','104360wnuqHA'];a10_0x3794=function(){return _0x1c4cf4;};return a10_0x3794();}function readFavoriteFlag(_0x1df9c7){const _0x42ef49=a10_0x34daf7,_0x9c8034=_0x1df9c7[_0x42ef49(0x14f)](_0x42ef49(0x151));return _0x9c8034===undefined||_0x9c8034===null||_0x9c8034===''?undefined:_0x1df9c7['bool'](_0x42ef49(0x151));}const artifactList={'service':a10_0x34daf7(0x155),'command':'list','description':a10_0x34daf7(0x135),'risk':'read','flags':[{'name':a10_0x34daf7(0x122),'type':a10_0x34daf7(0x12b),'description':a10_0x34daf7(0x14d)},{'name':'favorite','type':'boolean','description':a10_0x34daf7(0x11a)},VERBOSE_FLAG],async 'execute'(_0x491cd4){const _0x5b5724=a10_0x34daf7,_0x39c9bc=await listRuntimeArtifacts(_0x491cd4[_0x5b5724(0x15d)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x491cd4[_0x5b5724(0x13d)](_0x5b5724(0x122))?{'source':_0x491cd4[_0x5b5724(0x13d)](_0x5b5724(0x122))}:{},...readFavoriteFlag(_0x491cd4)!==undefined?{'favorite':readFavoriteFlag(_0x491cd4)}:{}});return{'ok':!![],'data':{'total':_0x39c9bc[_0x5b5724(0x125)],'items':_0x491cd4['bool'](_0x5b5724(0x117))?_0x39c9bc:_0x39c9bc[_0x5b5724(0x134)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x34daf7(0x155),'command':a10_0x34daf7(0x120),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0x34daf7(0x136),'flags':[{...ID_FLAG,'description':a10_0x34daf7(0x161)}],async 'execute'(_0xbb716){const _0x445a3a=a10_0x34daf7,_0x378e1f=await getRuntimeArtifact(_0xbb716['num']('id'),_0xbb716[_0x445a3a(0x15d)]);return{'ok':!![],'data':detailArtifact(_0x378e1f)};}},artifactCreate={'service':'artifact','command':a10_0x34daf7(0x145),'description':a10_0x34daf7(0x15a),'risk':'write','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x442fa6){const _0x13004b=a10_0x34daf7,_0xcce462=buildArtifactInput(_0x442fa6),_0x54062a=await createRuntimeArtifact(_0x442fa6[_0x13004b(0x15d)],_0xcce462);return{'ok':!![],'data':detailArtifact(_0x54062a),'message':'Created\x20Artifact\x20'+_0x54062a['id']+(_0x54062a[_0x13004b(0x141)]?'\x20('+_0x54062a['name']+')':'')};},async 'dryRun'(_0x331d55){const _0x4b479f=a10_0x34daf7,_0x26cce8=buildArtifactInput(_0x331d55);return dryRun(_0x4b479f(0x12a),_0x4b479f(0x127))[_0x4b479f(0x126)]({'appCode':_0x331d55[_0x4b479f(0x15d)],..._0x26cce8})[_0x4b479f(0x124)](_0x4b479f(0x11e))[_0x4b479f(0x146)]();},'writeEventSubject'(_0x2497b4){const _0x4c8024=a10_0x34daf7,_0x29284e=_0x2497b4['data']?.['id'];if(typeof _0x29284e!==_0x4c8024(0x12b)&&typeof _0x29284e!==_0x4c8024(0x157))return undefined;return{'kind':_0x4c8024(0x155),'id':String(_0x29284e),'action':_0x4c8024(0x145)};}},artifactUpdate={'service':a10_0x34daf7(0x155),'command':a10_0x34daf7(0x130),'description':a10_0x34daf7(0x11b),'risk':a10_0x34daf7(0x164),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xbeb605){const _0x43f491=a10_0x34daf7,_0x4d2367=_0xbeb605[_0x43f491(0x13a)]('id'),_0x2d8ac2=buildArtifactInput(_0xbeb605),_0x14f3d4=await updateRuntimeArtifact(_0x4d2367,_0xbeb605[_0x43f491(0x15d)],_0x2d8ac2);return{'ok':!![],'data':detailArtifact(_0x14f3d4),'message':_0x43f491(0x133)+_0x14f3d4['id']+(_0x14f3d4[_0x43f491(0x141)]?'\x20('+_0x14f3d4[_0x43f491(0x141)]+')':'')};},async 'dryRun'(_0x3134cd){const _0x1692cc=a10_0x34daf7,_0x23197c=_0x3134cd['num']('id'),_0xdd895d=buildArtifactInput(_0x3134cd);return dryRun(_0x1692cc(0x12a),_0x1692cc(0x148)+_0x23197c+_0x1692cc(0x14e))[_0x1692cc(0x126)]({'appCode':_0x3134cd[_0x1692cc(0x15d)],..._0xdd895d})[_0x1692cc(0x124)](_0x1692cc(0x116)+_0x23197c)[_0x1692cc(0x146)]();},'writeEventSubject'(_0x173c70){const _0x60c400=a10_0x34daf7,_0x10d859=_0x173c70[_0x60c400(0x12c)]?.['id'];if(typeof _0x10d859!==_0x60c400(0x12b)&&typeof _0x10d859!==_0x60c400(0x157))return undefined;return{'kind':_0x60c400(0x155),'id':String(_0x10d859),'action':_0x60c400(0x130)};}};function a10_0x21c8(_0x2c1e36,_0x414865){_0x2c1e36=_0x2c1e36-0x115;const _0x379436=a10_0x3794();let _0x21c8f2=_0x379436[_0x2c1e36];return _0x21c8f2;}export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x4702ea=a10_0x204c;(function(_0x49550c,_0x3caeb9){const _0xa152ab=a10_0x204c,_0x44370d=_0x49550c();while(!![]){try{const _0x37dd77=parseInt(_0xa152ab(0xfe))/0x1+-parseInt(_0xa152ab(0x10c))/0x2+parseInt(_0xa152ab(0xe4))/0x3*(-parseInt(_0xa152ab(0xfa))/0x4)+parseInt(_0xa152ab(0x10d))/0x5*(-parseInt(_0xa152ab(0x110))/0x6)+-parseInt(_0xa152ab(0x117))/0x7*(-parseInt(_0xa152ab(0x109))/0x8)+parseInt(_0xa152ab(0x128))/0x9+-parseInt(_0xa152ab(0x138))/0xa*(parseInt(_0xa152ab(0xff))/0xb);if(_0x37dd77===_0x3caeb9)break;else _0x44370d['push'](_0x44370d['shift']());}catch(_0x11455f){_0x44370d['push'](_0x44370d['shift']());}}}(a10_0x802e,0xeb592));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x4702ea(0xe9),ARTIFACT_SOURCE_AGENT=a10_0x4702ea(0x11b),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x4702ea(0x136),a10_0x4702ea(0x11c),a10_0x4702ea(0x11a),'dayjs',a10_0x4702ea(0xf2),a10_0x4702ea(0x12a)];function a10_0x204c(_0x25cf0e,_0xc5e1b5){_0x25cf0e=_0x25cf0e-0xe3;const _0x802eaa=a10_0x802e();let _0x204cae=_0x802eaa[_0x25cf0e];return _0x204cae;}function a10_0x802e(){const _0xf0ba8b=['/update','6DjfFLg','POST','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','join','appCode','.\x20Unsupported:\x20','utf8','25291eNrVZm','string','metadata','lodash','AGENT','react-dom','boolean','body','flag','artifactType','number','detail','File\x20path\x20is\x20required.','Updated\x20Artifact\x20','Show\x20one\x20Artifact\x20by\x20id','react_module\x20imports\x20are\x20limited\x20to:\x20','trim','1019979uKixOx','parse','@ant-design/icons','exec','artifact','map','compiledContent','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','includes','List\x20current-app\x20react_module\x20Artifacts','File\x20is\x20not\x20a\x20regular\x20file:\x20','favorite','str','updateTime','react','content','870hdwzkA','source','6qmeFpr','data','file','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','Optional\x20favorite-state\x20filter','react_module','num','Artifact\x20display\x20name','list','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','update','length','bool','startsWith','antd','split','test','Preview:\x20create\x20react_module\x20Artifact','Artifact\x20ID','lastIndex','createTime','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','2501648yVFFZd','Created\x20Artifact\x20','some','add','894670ZxaSPa','902LQsUFs','create','build','validation','--metadata\x20must\x20be\x20a\x20JSON\x20object.','read','description','write','deleted','Preview:\x20update\x20react_module\x20Artifact\x20','4184vtAMxQ','name','filter','1037286WQbXtA','785065SFtlQn','isArray'];a10_0x802e=function(){return _0xf0ba8b;};return a10_0x802e();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x4702ea(0x113)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x4702ea(0xe6),'type':'string','required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0x4702ea(0x10a),'type':'string','description':a10_0x4702ea(0xeb)},METADATA_FLAG={'name':'metadata','type':a10_0x4702ea(0x118),'description':a10_0x4702ea(0x112)};function isPlainObject(_0x4f88b6){const _0x50c1ce=a10_0x4702ea;return typeof _0x4f88b6==='object'&&_0x4f88b6!==null&&!Array[_0x50c1ce(0x10e)](_0x4f88b6);}function readSourceFile(_0x2ec3fe){const _0x14aadb=a10_0x4702ea;if(!_0x2ec3fe)throw CliErrors[_0x14aadb(0x102)](_0x14aadb(0x123));if(!existsSync(_0x2ec3fe))throw CliErrors[_0x14aadb(0x102)]('File\x20not\x20found:\x20'+_0x2ec3fe);if(!statSync(_0x2ec3fe)['isFile']())throw CliErrors[_0x14aadb(0x102)](_0x14aadb(0x132)+_0x2ec3fe);const _0x22bad3=readFileSync(_0x2ec3fe,_0x14aadb(0x116));return validateReactModuleSource(_0x22bad3),_0x22bad3;}function parseMetadata(_0x31c9be){const _0x469fc4=a10_0x4702ea;if(!_0x31c9be)return undefined;let _0x1f77d8;try{_0x1f77d8=JSON[_0x469fc4(0x129)](_0x31c9be);}catch{throw CliErrors['validation']('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x31c9be);}if(!isPlainObject(_0x1f77d8))throw CliErrors[_0x469fc4(0x102)](_0x469fc4(0x103));const _0x572a1b={..._0x1f77d8};return delete _0x572a1b[_0x469fc4(0x12e)],_0x572a1b;}function getPackageName(_0x27349e){const _0x45e440=a10_0x4702ea;if(_0x27349e[_0x45e440(0xf1)]('@')){const [_0x49408c,_0x210558]=_0x27349e[_0x45e440(0xf3)]('/');return _0x49408c&&_0x210558?_0x49408c+'/'+_0x210558:_0x27349e;}return _0x27349e['split']('/')[0x0]||_0x27349e;}function validateAllowedImports(_0x4751e7){const _0x2619cc=a10_0x4702ea,_0xcd8eed=new Set();for(const _0x546de3 of IMPORT_SOURCE_PATTERNS){_0x546de3[_0x2619cc(0xf7)]=0x0;let _0x4789d1;while((_0x4789d1=_0x546de3[_0x2619cc(0x12b)](_0x4751e7))!==null){const _0x1fcad6=_0x4789d1[0x1]?.[_0x2619cc(0x127)]();_0x1fcad6&&_0xcd8eed[_0x2619cc(0xfd)](_0x1fcad6);}}const _0x1177a9=[..._0xcd8eed]['map'](getPackageName)[_0x2619cc(0x10b)](_0x171b01=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2619cc(0x130)](_0x171b01));if(_0x1177a9[_0x2619cc(0xef)]>0x0)throw CliErrors[_0x2619cc(0x102)](_0x2619cc(0x126)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2619cc(0x115)+[...new Set(_0x1177a9)]['join'](',\x20'));}export function validateReactModuleSource(_0x31c95b){const _0x4a2cda=a10_0x4702ea;if(!_0x31c95b[_0x4a2cda(0x127)]())throw CliErrors[_0x4a2cda(0x102)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x4a2cda(0xfc)](_0x57e38b=>_0x57e38b[_0x4a2cda(0xf4)](_0x31c95b)))throw CliErrors[_0x4a2cda(0x102)](_0x4a2cda(0x12f));validateAllowedImports(_0x31c95b);}function buildArtifactInput(_0x181760){const _0x3caad2=a10_0x4702ea,_0x44390b=readSourceFile(_0x181760[_0x3caad2(0x134)](_0x3caad2(0xe6))),_0x3a4e60=_0x181760[_0x3caad2(0x134)](_0x3caad2(0x10a))[_0x3caad2(0x127)](),_0x2d82e6=parseMetadata(_0x181760['str'](_0x3caad2(0x119)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x3a4e60?{'name':_0x3a4e60}:{},'content':_0x44390b,..._0x2d82e6?{'metadata':_0x2d82e6}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x158a52){const _0x967a2f=a10_0x4702ea;return{'id':_0x158a52['id'],'name':_0x158a52[_0x967a2f(0x10a)],'artifactType':_0x158a52[_0x967a2f(0x120)],'source':_0x158a52['source'],'favorite':_0x158a52['favorite'],'deleted':_0x158a52['deleted'],'createTime':_0x158a52[_0x967a2f(0xf8)],'updateTime':_0x158a52[_0x967a2f(0x135)]};}function detailArtifact(_0xb00506){const _0x17ead3=a10_0x4702ea;return{'id':_0xb00506['id'],'appCode':_0xb00506[_0x17ead3(0x114)],'name':_0xb00506[_0x17ead3(0x10a)],'artifactType':_0xb00506[_0x17ead3(0x120)],'source':_0xb00506[_0x17ead3(0xe3)],'favorite':_0xb00506['favorite'],'deleted':_0xb00506[_0x17ead3(0x107)],'content':_0xb00506[_0x17ead3(0x137)]??'','compiledContent':_0xb00506['compiledContent'],'metadata':_0xb00506[_0x17ead3(0x119)]??{},'createTime':_0xb00506[_0x17ead3(0xf8)],'updateTime':_0xb00506[_0x17ead3(0x135)]};}function readFavoriteFlag(_0x4b08d6){const _0x579c45=a10_0x4702ea,_0x5bbdd3=_0x4b08d6[_0x579c45(0x11f)](_0x579c45(0x133));return _0x5bbdd3===undefined||_0x5bbdd3===null||_0x5bbdd3===''?undefined:_0x4b08d6[_0x579c45(0xf0)](_0x579c45(0x133));}const artifactList={'service':a10_0x4702ea(0x12c),'command':a10_0x4702ea(0xec),'description':a10_0x4702ea(0x131),'risk':a10_0x4702ea(0x104),'flags':[{'name':a10_0x4702ea(0xe3),'type':a10_0x4702ea(0x118),'description':a10_0x4702ea(0xed)},{'name':a10_0x4702ea(0x133),'type':a10_0x4702ea(0x11d),'description':a10_0x4702ea(0xe8)},VERBOSE_FLAG],async 'execute'(_0x72a34){const _0x4151f3=a10_0x4702ea,_0x1ba9fb=await listRuntimeArtifacts(_0x72a34[_0x4151f3(0x114)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x72a34['str'](_0x4151f3(0xe3))?{'source':_0x72a34[_0x4151f3(0x134)](_0x4151f3(0xe3))}:{},...readFavoriteFlag(_0x72a34)!==undefined?{'favorite':readFavoriteFlag(_0x72a34)}:{}});return{'ok':!![],'data':{'total':_0x1ba9fb[_0x4151f3(0xef)],'items':_0x72a34[_0x4151f3(0xf0)]('verbose')?_0x1ba9fb:_0x1ba9fb[_0x4151f3(0x12d)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x4702ea(0x12c),'command':a10_0x4702ea(0x122),'description':a10_0x4702ea(0x125),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x549ff3){const _0x5830f9=a10_0x4702ea,_0xdb8e57=await getRuntimeArtifact(_0x549ff3[_0x5830f9(0xea)]('id'),_0x549ff3[_0x5830f9(0x114)]);return{'ok':!![],'data':detailArtifact(_0xdb8e57)};}},artifactCreate={'service':'artifact','command':'create','description':a10_0x4702ea(0xe7),'risk':a10_0x4702ea(0x106),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x54d3b8){const _0x32e923=a10_0x4702ea,_0x44b34e=buildArtifactInput(_0x54d3b8),_0x1ae993=await createRuntimeArtifact(_0x54d3b8['appCode'],_0x44b34e);return{'ok':!![],'data':detailArtifact(_0x1ae993),'message':_0x32e923(0xfb)+_0x1ae993['id']+(_0x1ae993[_0x32e923(0x10a)]?'\x20('+_0x1ae993[_0x32e923(0x10a)]+')':'')};},async 'dryRun'(_0x45f7a1){const _0x49b711=a10_0x4702ea,_0xd96478=buildArtifactInput(_0x45f7a1);return dryRun(_0x49b711(0x111),'/client/artifact/create')[_0x49b711(0x11e)]({'appCode':_0x45f7a1[_0x49b711(0x114)],..._0xd96478})[_0x49b711(0x105)](_0x49b711(0xf5))[_0x49b711(0x101)]();},'writeEventSubject'(_0x309dd9){const _0x3181c9=a10_0x4702ea,_0x589b2b=_0x309dd9[_0x3181c9(0xe5)]?.['id'];if(typeof _0x589b2b!==_0x3181c9(0x118)&&typeof _0x589b2b!==_0x3181c9(0x121))return undefined;return{'kind':_0x3181c9(0x12c),'id':String(_0x589b2b),'action':_0x3181c9(0x100)};}},artifactUpdate={'service':a10_0x4702ea(0x12c),'command':a10_0x4702ea(0xee),'description':a10_0x4702ea(0xf9),'risk':a10_0x4702ea(0x106),'flags':[{...ID_FLAG,'description':a10_0x4702ea(0xf6)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x4eeecf){const _0x1972ad=a10_0x4702ea,_0xc5737e=_0x4eeecf['num']('id'),_0x2c88f5=buildArtifactInput(_0x4eeecf),_0x5046b1=await updateRuntimeArtifact(_0xc5737e,_0x4eeecf[_0x1972ad(0x114)],_0x2c88f5);return{'ok':!![],'data':detailArtifact(_0x5046b1),'message':_0x1972ad(0x124)+_0x5046b1['id']+(_0x5046b1[_0x1972ad(0x10a)]?'\x20('+_0x5046b1[_0x1972ad(0x10a)]+')':'')};},async 'dryRun'(_0x3029fa){const _0x20e2f4=a10_0x4702ea,_0x4db70c=_0x3029fa[_0x20e2f4(0xea)]('id'),_0x241681=buildArtifactInput(_0x3029fa);return dryRun(_0x20e2f4(0x111),'/client/artifact/'+_0x4db70c+_0x20e2f4(0x10f))[_0x20e2f4(0x11e)]({'appCode':_0x3029fa[_0x20e2f4(0x114)],..._0x241681})['description'](_0x20e2f4(0x108)+_0x4db70c)[_0x20e2f4(0x101)]();},'writeEventSubject'(_0x22f682){const _0x8f04f6=a10_0x4702ea,_0x5dc09c=_0x22f682['data']?.['id'];if(typeof _0x5dc09c!==_0x8f04f6(0x118)&&typeof _0x5dc09c!==_0x8f04f6(0x121))return undefined;return{'kind':'artifact','id':String(_0x5dc09c),'action':_0x8f04f6(0xee)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x57ee61=a11_0x1bc1;(function(_0x16d38f,_0x15f281){const _0x3eaf0d=a11_0x1bc1,_0x4859f5=_0x16d38f();while(!![]){try{const _0x8de312=-parseInt(_0x3eaf0d(0x189))/0x1+parseInt(_0x3eaf0d(0x147))/0x2+-parseInt(_0x3eaf0d(0x15d))/0x3+-parseInt(_0x3eaf0d(0x18c))/0x4+-parseInt(_0x3eaf0d(0x186))/0x5*(-parseInt(_0x3eaf0d(0x16a))/0x6)+parseInt(_0x3eaf0d(0x181))/0x7*(-parseInt(_0x3eaf0d(0x142))/0x8)+parseInt(_0x3eaf0d(0x180))/0x9*(parseInt(_0x3eaf0d(0x158))/0xa);if(_0x8de312===_0x15f281)break;else _0x4859f5['push'](_0x4859f5['shift']());}catch(_0x591dcf){_0x4859f5['push'](_0x4859f5['shift']());}}}(a11_0x1b78,0xdb971));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';function a11_0x1b78(){const _0x24cc8f=['log','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','networkError','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Invalid\x20access_key\x20returned\x20by\x20server.','Verify:\x20','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','\x0dWaiting\x20for\x20authorization...\x20','success','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','lovrabet-cli','code','expired','242514dkctVI','4279723xWIhSd','POST','Write\x20to\x20global\x20config\x20(default)','removeListener','global','4810xdDcNH','Write\x20to\x20project\x20config','toISOString','1525252fHUyge','aborted','\x20auth\x20device','6987116cGGtpR','device','source','access_key','data','url-only','parse','&source=','write','/api/device-auth/token','16kLBCHh','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','accessKey','cancelled','auth','2213772PfxpQo','Device\x20auth\x20API\x20returned\x20HTTP\x20','string','apiError','SIGINT','str','test','\x20auth\x20status','randomUUID','floor','padStart','/.device-auth','homeDirName','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','global-default','Invalid\x20device\x20auth\x20response','application/json','1560TQEwhA','boolean','AccessKey\x20saved\x20to\x20','Device\x20authorization\x20successful.','status','504768BMnaLT','validation','bool','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','getTime','scope','json','AbortError','stringify','\x20config.','once','object','After\x20authorizing,\x20re-run:\x20','1572KdNQAM','createdAt','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Device\x20authorization\x20cancelled.','project','abort','stderr','utf8'];a11_0x1b78=function(){return _0x24cc8f;};return a11_0x1b78();}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(_0x3cc63f){const _0x5690b8=a11_0x1bc1;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x3cc63f['bool']('global'),'explicitProject':_0x3cc63f[_0x5690b8(0x15f)](_0x5690b8(0x16e)),'policy':_0x5690b8(0x155)}));}function a11_0x1bc1(_0x29d580,_0x2323af){_0x29d580=_0x29d580-0x13b;const _0x1b78ca=a11_0x1b78();let _0x1bc1bf=_0x1b78ca[_0x29d580];return _0x1bc1bf;}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(){const _0x1cb7b2=a11_0x1bc1;return crypto[_0x1cb7b2(0x14f)]();}export function buildDeviceAuthUrl(_0x4c8c86,_0x30ef0f,_0x4c0c1b=a11_0x57ee61(0x17d)){const _0x5dba3c=a11_0x57ee61;return _0x4c8c86+'/device-auth?code='+encodeURIComponent(_0x30ef0f)+_0x5dba3c(0x13f)+encodeURIComponent(_0x4c0c1b);}export function getDeviceCodePath(){const _0x392a57=a11_0x57ee61;return homedir()+'/'+PRODUCT_CONFIG[_0x392a57(0x153)]+_0x392a57(0x152);}export function readStoredDeviceCode(){const _0xe35530=a11_0x57ee61,_0x1f8489=getDeviceCodePath();if(!existsSync(_0x1f8489))return null;try{const _0x40e044=readFileSync(_0x1f8489,{'encoding':'utf8'}),_0x24c4ce=JSON[_0xe35530(0x13e)](_0x40e044);if(_0x24c4ce&&typeof _0x24c4ce['code']===_0xe35530(0x149)&&typeof _0x24c4ce[_0xe35530(0x16b)]===_0xe35530(0x149)&&(_0x24c4ce[_0xe35530(0x162)]===_0xe35530(0x185)||_0x24c4ce['scope']===_0xe35530(0x16e)))return _0x24c4ce;}catch{}return null;}export function writeStoredDeviceCode(_0x147344,_0x4a224c){const _0x1e2121=a11_0x57ee61,_0x25d40e=getDeviceCodePath(),_0x3bc297=dirname(_0x25d40e);!existsSync(_0x3bc297)&&mkdirSync(_0x3bc297,{'recursive':!![]});const _0x27fd89={'code':_0x147344,'createdAt':new Date()[_0x1e2121(0x188)](),'scope':_0x4a224c};writeFileSync(_0x25d40e,JSON['stringify'](_0x27fd89),{'encoding':_0x1e2121(0x171),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x17270f=getDeviceCodePath();try{unlinkSync(_0x17270f);}catch{}}export function isStoredDeviceCodeExpired(_0x4b02fc){const _0x42dba1=a11_0x57ee61;return Date['now']()-new Date(_0x4b02fc[_0x42dba1(0x16b)])[_0x42dba1(0x161)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0xec2e7e,_0x13f57f){const _0x462b9f=a11_0x57ee61,_0x3567d8=_0xec2e7e+_0x462b9f(0x141),_0xc2df2f=new AbortController(),_0x46cc65=setTimeout(()=>_0xc2df2f[_0x462b9f(0x16f)](),0x2710),_0x51fa93=await fetch(_0x3567d8,{'method':_0x462b9f(0x182),'headers':{'Content-Type':_0x462b9f(0x157)},'body':JSON[_0x462b9f(0x165)]({'code':_0x13f57f}),'signal':_0xc2df2f['signal']});clearTimeout(_0x46cc65);if(!_0x51fa93['ok'])throw CliErrors['networkError'](_0x462b9f(0x148)+_0x51fa93[_0x462b9f(0x15c)]);const _0x403667=await _0x51fa93[_0x462b9f(0x163)](),_0x2a9243=_0x403667[_0x462b9f(0x13c)]&&typeof _0x403667['data']===_0x462b9f(0x168)?_0x403667[_0x462b9f(0x13c)]:_0x403667;if(!_0x2a9243||typeof _0x2a9243[_0x462b9f(0x15c)]!==_0x462b9f(0x149))throw CliErrors[_0x462b9f(0x14a)](_0x462b9f(0x156));return{'status':_0x2a9243[_0x462b9f(0x15c)],'access_key':typeof _0x2a9243[_0x462b9f(0x13b)]===_0x462b9f(0x149)?_0x2a9243[_0x462b9f(0x13b)]:undefined};}export async function pollDeviceToken(_0x3c5aff,_0x5ba882,_0x47c19f){const _0x5a1963=a11_0x57ee61;let _0x58db35=0x0;for(let _0x412251=0x0;_0x412251<MAX_POLLS;_0x412251++){if(_0x47c19f[_0x5a1963(0x18a)])throw CliErrors[_0x5a1963(0x145)]('Device\x20authorization\x20cancelled.');let _0x4919a4;try{_0x4919a4=await fetchDeviceToken(_0x3c5aff,_0x5ba882);}catch(_0x19692b){if(_0x19692b instanceof Error&&_0x19692b['name']===_0x5a1963(0x164))throw CliErrors[_0x5a1963(0x145)](_0x5a1963(0x16d));_0x58db35++;if(_0x58db35>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x5a1963(0x174)](_0x5a1963(0x154));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x58db35+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x58db35=0x0;if(_0x4919a4[_0x5a1963(0x15c)]===_0x5a1963(0x17b)){if(!_0x4919a4['access_key'])throw CliErrors[_0x5a1963(0x14a)](_0x5a1963(0x177));return _0x4919a4[_0x5a1963(0x13b)];}if(_0x4919a4['status']===_0x5a1963(0x17f)){deleteStoredDeviceCode();throw CliErrors[_0x5a1963(0x15e)](_0x5a1963(0x16c));}const _0x4f8867=(_0x412251+0x1)*POLL_INTERVAL_MS,_0x2ee1d0=DEVICE_CODE_TTL_MS-_0x4f8867,_0x52bdbe=Math['floor'](_0x2ee1d0/0xea60),_0x3ff7d1=Math[_0x5a1963(0x150)](_0x2ee1d0%0xea60/0x3e8);process['stderr']['write'](_0x5a1963(0x17a)+_0x52bdbe+':'+String(_0x3ff7d1)[_0x5a1963(0x151)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x5a1963(0x17c));}function sleep(_0x514622){return new Promise(_0x1d9ed6=>setTimeout(_0x1d9ed6,_0x514622));}export const authDeviceDefinition={'service':a11_0x57ee61(0x146),'command':a11_0x57ee61(0x18d),'description':a11_0x57ee61(0x173),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x57ee61(0x185),'type':'boolean','description':a11_0x57ee61(0x183),'default':!![]},{'name':a11_0x57ee61(0x16e),'type':a11_0x57ee61(0x159),'description':a11_0x57ee61(0x187),'default':![]},{'name':a11_0x57ee61(0x18e),'type':'string','description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x57ee61(0x17d)},{'name':'url-only','type':'boolean','description':a11_0x57ee61(0x143),'default':![]}],async 'execute'(_0x354888){const _0x49feab=a11_0x57ee61,_0x1495d4=resolveAuthScopeFlags(_0x354888),_0x24f722=_0x1495d4[_0x49feab(0x185)]?'global':_0x49feab(0x16e),_0x4019c7=readScopedConfig(_0x1495d4);if(_0x4019c7['accessKey'])return{'ok':!![],'message':_0x49feab(0x175)};const _0x4a7306=(_0x354888[_0x49feab(0x14c)](_0x49feab(0x18e))||'lovrabet-cli')['trim'](),_0xc543e6=getUserDomain(),_0x11bb7d=readStoredDeviceCode(),_0x182e31=_0x11bb7d&&!isStoredDeviceCodeExpired(_0x11bb7d)?_0x11bb7d[_0x49feab(0x17e)]:((()=>{const _0x11b4e8=generateDeviceCode();return writeStoredDeviceCode(_0x11b4e8,_0x24f722),_0x11b4e8;})()),_0x4e4b45=buildDeviceAuthUrl(_0xc543e6,_0x182e31,_0x4a7306);if(_0x354888[_0x49feab(0x15f)](_0x49feab(0x13d)))return console[_0x49feab(0x172)](_0x4e4b45),{'ok':!![]};writeCliSideChannelLine(_0x49feab(0x160)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4e4b45),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x49feab(0x179));if(_0x354888['nonInteractive'])return writeCliSideChannelLine(_0x49feab(0x169)+CLI_BIN_NAME+_0x49feab(0x18b)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x49feab(0x176));const _0x280cee=new AbortController(),_0x22fff5=()=>{const _0x209d04=_0x49feab;_0x280cee[_0x209d04(0x16f)](),process[_0x209d04(0x184)](_0x209d04(0x14b),_0x22fff5);};process[_0x49feab(0x167)](_0x49feab(0x14b),_0x22fff5);let _0x1d58b6;try{_0x1d58b6=await pollDeviceToken(_0xc543e6,_0x182e31,_0x280cee['signal']);}finally{process[_0x49feab(0x184)](_0x49feab(0x14b),_0x22fff5);}if(!ACCESS_KEY_PATTERN[_0x49feab(0x14d)](_0x1d58b6))throw CliErrors[_0x49feab(0x14a)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x49d9b8=readScopedConfig(_0x1495d4);return _0x49d9b8[_0x49feab(0x144)]=_0x1d58b6,writeScopedConfig(_0x49d9b8,_0x1495d4),deleteStoredDeviceCode(),process[_0x49feab(0x170)][_0x49feab(0x140)]('\x0a'),writeCliSideChannelLine(_0x49feab(0x15a)+_0x24f722+_0x49feab(0x166)),writeCliSideChannelLine(_0x49feab(0x178)+CLI_BIN_NAME+_0x49feab(0x14e)),{'ok':!![],'message':_0x49feab(0x15b)};}};
|
|
1
|
+
const a11_0x434176=a11_0x1ec6;(function(_0x41cfb3,_0x28aa37){const _0x3f2d43=a11_0x1ec6,_0x37eedd=_0x41cfb3();while(!![]){try{const _0x1776f8=parseInt(_0x3f2d43(0x1eb))/0x1*(parseInt(_0x3f2d43(0x214))/0x2)+parseInt(_0x3f2d43(0x21e))/0x3+-parseInt(_0x3f2d43(0x223))/0x4+parseInt(_0x3f2d43(0x209))/0x5+parseInt(_0x3f2d43(0x219))/0x6*(-parseInt(_0x3f2d43(0x21b))/0x7)+parseInt(_0x3f2d43(0x221))/0x8+parseInt(_0x3f2d43(0x1d6))/0x9;if(_0x1776f8===_0x28aa37)break;else _0x37eedd['push'](_0x37eedd['shift']());}catch(_0x2f1812){_0x37eedd['push'](_0x37eedd['shift']());}}}(a11_0x1c3a,0x7c1b9));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';function a11_0x1ec6(_0x55e606,_0x270b4a){_0x55e606=_0x55e606-0x1d5;const _0x1c3a51=a11_0x1c3a();let _0x1ec618=_0x1c3a51[_0x55e606];return _0x1ec618;}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(_0x4ac6ad){const _0x265394=a11_0x1ec6;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x4ac6ad[_0x265394(0x212)](_0x265394(0x1e3)),'explicitProject':_0x4ac6ad['bool']('project'),'policy':_0x265394(0x1fe)}));}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(){const _0x34b9ac=a11_0x1ec6;return crypto[_0x34b9ac(0x216)]();}export function buildDeviceAuthUrl(_0x2ce24b,_0xbfd421,_0x56135e=a11_0x434176(0x1da)){const _0x4da176=a11_0x434176;return _0x2ce24b+_0x4da176(0x1f4)+encodeURIComponent(_0xbfd421)+_0x4da176(0x1f6)+encodeURIComponent(_0x56135e);}export function getDeviceCodePath(){const _0x4fb8e3=a11_0x434176;return homedir()+'/'+PRODUCT_CONFIG[_0x4fb8e3(0x1fd)]+_0x4fb8e3(0x1ef);}function a11_0x1c3a(){const _0x28a539=['data','&source=','signal','abort','floor','application/json','networkError','expired','homeDirName','global-default','getTime','now','name','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','nonInteractive','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Device\x20auth\x20API\x20returned\x20HTTP\x20','Device\x20authorization\x20cancelled.','boolean','validation','2792270nbwZfn','cancelled','padStart','Write\x20to\x20global\x20config\x20(default)','POST','project','AccessKey\x20saved\x20to\x20','Write\x20to\x20project\x20config','accessKey','bool','status','160TMMoJy','str','randomUUID','Verify:\x20','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','1264974PeMZvv','auth','21vWCEvL','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','AbortError','1444842RtNycA','log','stringify','1574152pHKQWg','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','3225672HuYGxu','scope','Device\x20authorization\x20successful.','code','url-only','1536597QklFDe','utf8','parse','once','lovrabet-cli','removeListener','toISOString','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','access_key','After\x20authorizing,\x20re-run:\x20','success','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','apiError','global','SIGINT','Invalid\x20access_key\x20returned\x20by\x20server.','write','\x20remaining','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','/api/device-auth/token','stderr','6746zPtAMR','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','aborted','source','/.device-auth','string','json','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','createdAt','/device-auth?code='];a11_0x1c3a=function(){return _0x28a539;};return a11_0x1c3a();}export function readStoredDeviceCode(){const _0x53354a=a11_0x434176,_0x9c429=getDeviceCodePath();if(!existsSync(_0x9c429))return null;try{const _0x59daf4=readFileSync(_0x9c429,{'encoding':_0x53354a(0x1d7)}),_0x82c0ec=JSON[_0x53354a(0x1d8)](_0x59daf4);if(_0x82c0ec&&typeof _0x82c0ec[_0x53354a(0x226)]===_0x53354a(0x1f0)&&typeof _0x82c0ec[_0x53354a(0x1f3)]===_0x53354a(0x1f0)&&(_0x82c0ec[_0x53354a(0x224)]===_0x53354a(0x1e3)||_0x82c0ec[_0x53354a(0x224)]===_0x53354a(0x20e)))return _0x82c0ec;}catch{}return null;}export function writeStoredDeviceCode(_0x377ddb,_0x5c48b0){const _0x2aa822=a11_0x434176,_0x517074=getDeviceCodePath(),_0x2028d3=dirname(_0x517074);!existsSync(_0x2028d3)&&mkdirSync(_0x2028d3,{'recursive':!![]});const _0x2f2fc6={'code':_0x377ddb,'createdAt':new Date()[_0x2aa822(0x1dc)](),'scope':_0x5c48b0};writeFileSync(_0x517074,JSON[_0x2aa822(0x220)](_0x2f2fc6),{'encoding':_0x2aa822(0x1d7),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x52aa0a=getDeviceCodePath();try{unlinkSync(_0x52aa0a);}catch{}}export function isStoredDeviceCodeExpired(_0x544331){const _0x589ed1=a11_0x434176;return Date[_0x589ed1(0x200)]()-new Date(_0x544331['createdAt'])[_0x589ed1(0x1ff)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x12d508,_0x440a16){const _0x4a0e95=a11_0x434176,_0x1adcca=_0x12d508+_0x4a0e95(0x1e9),_0x41fd1f=new AbortController(),_0x5e02f2=setTimeout(()=>_0x41fd1f['abort'](),0x2710),_0x4a7225=await fetch(_0x1adcca,{'method':_0x4a0e95(0x20d),'headers':{'Content-Type':_0x4a0e95(0x1fa)},'body':JSON[_0x4a0e95(0x220)]({'code':_0x440a16}),'signal':_0x41fd1f[_0x4a0e95(0x1f7)]});clearTimeout(_0x5e02f2);if(!_0x4a7225['ok'])throw CliErrors[_0x4a0e95(0x1fb)](_0x4a0e95(0x205)+_0x4a7225['status']);const _0x38b689=await _0x4a7225[_0x4a0e95(0x1f1)](),_0x1f9315=_0x38b689[_0x4a0e95(0x1f5)]&&typeof _0x38b689[_0x4a0e95(0x1f5)]==='object'?_0x38b689['data']:_0x38b689;if(!_0x1f9315||typeof _0x1f9315['status']!==_0x4a0e95(0x1f0))throw CliErrors['apiError']('Invalid\x20device\x20auth\x20response');return{'status':_0x1f9315[_0x4a0e95(0x213)],'access_key':typeof _0x1f9315[_0x4a0e95(0x1de)]==='string'?_0x1f9315[_0x4a0e95(0x1de)]:undefined};}export async function pollDeviceToken(_0x445f10,_0x55485a,_0x4a41e3){const _0x1452f1=a11_0x434176;let _0x575f5e=0x0;for(let _0x41c967=0x0;_0x41c967<MAX_POLLS;_0x41c967++){if(_0x4a41e3[_0x1452f1(0x1ed)])throw CliErrors[_0x1452f1(0x20a)](_0x1452f1(0x206));let _0x30afbf;try{_0x30afbf=await fetchDeviceToken(_0x445f10,_0x55485a);}catch(_0x36fd1a){if(_0x36fd1a instanceof Error&&_0x36fd1a[_0x1452f1(0x201)]===_0x1452f1(0x21d))throw CliErrors[_0x1452f1(0x20a)]('Device\x20authorization\x20cancelled.');_0x575f5e++;if(_0x575f5e>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x1452f1(0x1f2));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x575f5e+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x575f5e=0x0;if(_0x30afbf[_0x1452f1(0x213)]===_0x1452f1(0x1e0)){if(!_0x30afbf['access_key'])throw CliErrors[_0x1452f1(0x1e2)](_0x1452f1(0x1e5));return _0x30afbf[_0x1452f1(0x1de)];}if(_0x30afbf['status']===_0x1452f1(0x1fc)){deleteStoredDeviceCode();throw CliErrors[_0x1452f1(0x208)](_0x1452f1(0x1dd));}const _0x62490d=(_0x41c967+0x1)*POLL_INTERVAL_MS,_0x557b33=DEVICE_CODE_TTL_MS-_0x62490d,_0x11c605=Math[_0x1452f1(0x1f9)](_0x557b33/0xea60),_0x42f548=Math[_0x1452f1(0x1f9)](_0x557b33%0xea60/0x3e8);process[_0x1452f1(0x1ea)]['write']('\x0dWaiting\x20for\x20authorization...\x20'+_0x11c605+':'+String(_0x42f548)[_0x1452f1(0x20b)](0x2,'0')+_0x1452f1(0x1e7)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1452f1(0x208)](_0x1452f1(0x204));}function sleep(_0x3f8eb7){return new Promise(_0x2ed565=>setTimeout(_0x2ed565,_0x3f8eb7));}export const authDeviceDefinition={'service':a11_0x434176(0x21a),'command':'device','description':a11_0x434176(0x218),'risk':a11_0x434176(0x1e6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x434176(0x1e3),'type':a11_0x434176(0x207),'description':a11_0x434176(0x20c),'default':!![]},{'name':'project','type':a11_0x434176(0x207),'description':a11_0x434176(0x210),'default':![]},{'name':a11_0x434176(0x1ee),'type':a11_0x434176(0x1f0),'description':a11_0x434176(0x1ec),'default':a11_0x434176(0x1da)},{'name':a11_0x434176(0x1d5),'type':a11_0x434176(0x207),'description':a11_0x434176(0x202),'default':![]}],async 'execute'(_0x130dfc){const _0x3aba45=a11_0x434176,_0x2b5d86=resolveAuthScopeFlags(_0x130dfc),_0x44d176=_0x2b5d86[_0x3aba45(0x1e3)]?'global':'project',_0x37e8c5=readScopedConfig(_0x2b5d86);if(_0x37e8c5[_0x3aba45(0x211)])return{'ok':!![],'message':_0x3aba45(0x21c)};const _0x11f9be=(_0x130dfc[_0x3aba45(0x215)](_0x3aba45(0x1ee))||_0x3aba45(0x1da))['trim'](),_0x23cbfd=getUserDomain(),_0xcfca8=readStoredDeviceCode(),_0x38ff66=_0xcfca8&&!isStoredDeviceCodeExpired(_0xcfca8)?_0xcfca8['code']:((()=>{const _0x63d964=generateDeviceCode();return writeStoredDeviceCode(_0x63d964,_0x44d176),_0x63d964;})()),_0xcd25b9=buildDeviceAuthUrl(_0x23cbfd,_0x38ff66,_0x11f9be);if(_0x130dfc[_0x3aba45(0x212)]('url-only'))return console[_0x3aba45(0x21f)](_0xcd25b9),{'ok':!![]};writeCliSideChannelLine(_0x3aba45(0x222)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xcd25b9),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3aba45(0x1e8));if(_0x130dfc[_0x3aba45(0x203)])return writeCliSideChannelLine(_0x3aba45(0x1df)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x3aba45(0x1e1));const _0x186f49=new AbortController(),_0x31e598=()=>{const _0x391a0f=_0x3aba45;_0x186f49[_0x391a0f(0x1f8)](),process[_0x391a0f(0x1db)]('SIGINT',_0x31e598);};process[_0x3aba45(0x1d9)](_0x3aba45(0x1e4),_0x31e598);let _0x27391a;try{_0x27391a=await pollDeviceToken(_0x23cbfd,_0x38ff66,_0x186f49[_0x3aba45(0x1f7)]);}finally{process[_0x3aba45(0x1db)](_0x3aba45(0x1e4),_0x31e598);}if(!ACCESS_KEY_PATTERN['test'](_0x27391a))throw CliErrors[_0x3aba45(0x1e2)](_0x3aba45(0x1e5));const _0x10b50c=readScopedConfig(_0x2b5d86);return _0x10b50c[_0x3aba45(0x211)]=_0x27391a,writeScopedConfig(_0x10b50c,_0x2b5d86),deleteStoredDeviceCode(),process[_0x3aba45(0x1ea)][_0x3aba45(0x1e6)]('\x0a'),writeCliSideChannelLine(_0x3aba45(0x20f)+_0x44d176+'\x20config.'),writeCliSideChannelLine(_0x3aba45(0x217)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x3aba45(0x225)};}};
|