@lovrabet/lovrabet-cli 2.1.18-beta.3 → 2.1.18
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/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 +3 -3
- 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/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
|
-
const
|
|
2
|
+
const a0_0x176173=a0_0x21ab;(function(_0x19117d,_0x1f7500){const _0x76a903=a0_0x21ab,_0x1f9c32=_0x19117d();while(!![]){try{const _0x405c30=-parseInt(_0x76a903(0x1d6))/0x1*(-parseInt(_0x76a903(0x1ec))/0x2)+-parseInt(_0x76a903(0x1e3))/0x3*(parseInt(_0x76a903(0x1e6))/0x4)+parseInt(_0x76a903(0x1da))/0x5+parseInt(_0x76a903(0x1eb))/0x6+-parseInt(_0x76a903(0x1d0))/0x7*(parseInt(_0x76a903(0x1f6))/0x8)+-parseInt(_0x76a903(0x1cb))/0x9*(parseInt(_0x76a903(0x1f5))/0xa)+-parseInt(_0x76a903(0x1d5))/0xb*(-parseInt(_0x76a903(0x1d1))/0xc);if(_0x405c30===_0x1f7500)break;else _0x1f9c32['push'](_0x1f9c32['shift']());}catch(_0x1b4f1a){_0x1f9c32['push'](_0x1f9c32['shift']());}}}(a0_0x50a2,0xcd690));import{jsx as a0_0x79b948}from'react/jsx-runtime';import a0_0x352557 from'meow';import{render}from'ink';function a0_0x50a2(){const _0x11a483=['10DVAPID','12257776wmXDwV','error','flags','./framework/preparse.js','12000717nFDUIL','original','catch','[preparse]\x20','flatMap','7oJSJzm','21774864CIIXtC','hint','code','Unexpected\x20error:','11jwostg','379403yolRKE','handler','message','unknownCommand','7472230DRoRMv','args','input','stderr','log','slice','length','definition','ERR_USE_AFTER_CLOSE','12lZRfZZ','Hint:\x20','exitCode','421868LaDyVb','help','ExitPromptError','name',':\x20--','366234DyDOMP','4ZQFVRN','write','cancelled','assign','ERR_STREAM_DESTROYED','exit','defaultCommand','Error:\x20','\x0aCancelled.\x0a'];a0_0x50a2=function(){return _0x11a483;};return a0_0x50a2();}import{Help}from'./help.js';function a0_0x21ab(_0x39fe3e,_0x4e6aa2){_0x39fe3e=_0x39fe3e-0x1cb;const _0x50a226=a0_0x50a2();let _0x21ab61=_0x50a226[_0x39fe3e];return _0x21ab61;}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';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_0x352557(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x176173(0x1cd)](handleError);async function main(){try{await run();}catch(_0x50c6de){handleError(_0x50c6de);}}async function run(){const _0xf74f71=a0_0x176173;let _0x1d045e=cli[_0xf74f71(0x1dc)][0x0],_0x527dc0=cli[_0xf74f71(0x1dc)][0x1];const _0x43bba1=cli[_0xf74f71(0x1f8)];try{const {correctFlags:_0x529f5b}=await import(_0xf74f71(0x1f9)),_0xf636e9=getAllDefinitions()[_0xf74f71(0x1cf)](_0x197a1a=>_0x197a1a['flags']??[]),{flags:_0x23ceec,corrections:_0x4fea5c}=_0x529f5b(_0x43bba1,_0xf636e9);if(_0x4fea5c[_0xf74f71(0x1e0)]>0x0){for(const _0x124043 of _0x4fea5c){process[_0xf74f71(0x1dd)][_0xf74f71(0x1ed)](_0xf74f71(0x1ce)+_0x124043[_0xf74f71(0x1d7)]+_0xf74f71(0x1ea)+_0x124043[_0xf74f71(0x1cc)]+'\x20->\x20--'+_0x124043['corrected']+'\x0a');}Object['assign'](_0x43bba1,_0x23ceec);}}catch{}if(!_0x1d045e){const {waitUntilExit:_0x1b360b}=render(a0_0x79b948(Help,{}));await _0x1b360b();return;}if(!isKnownService(_0x1d045e)){const _0x2a9fba=resolveDynamicServiceCommand(cli[_0xf74f71(0x1dc)],_0x43bba1);if(_0x2a9fba){if(_0x43bba1['help']){console[_0xf74f71(0x1de)](generateCommandHelp(_0x2a9fba[_0xf74f71(0x1e1)]));return;}Object[_0xf74f71(0x1ef)](_0x43bba1,_0x2a9fba[_0xf74f71(0x1f8)]);const _0x3fc5ff=buildConfigFromFlags(_0x43bba1);await initGlobalEnvironment(_0x3fc5ff);const _0x35854d=createPipelineEnv(_0x3fc5ff,_0x43bba1);_0x35854d[_0xf74f71(0x1db)]=_0x2a9fba['args'],await runCommand(_0x2a9fba[_0xf74f71(0x1e1)],_0x35854d);return;}if(_0x43bba1[_0xf74f71(0x1e7)]){const _0x3282c0=generateDynamicServiceHelp(_0x1d045e);if(_0x3282c0){console[_0xf74f71(0x1de)](_0x3282c0);return;}}const {waitUntilExit:_0x3c0aff}=render(a0_0x79b948(Help,{}));await _0x3c0aff();return;}const _0x1a7a6b=getServiceEntry(_0x1d045e);if(!_0x527dc0){if(_0x43bba1[_0xf74f71(0x1e7)]){console[_0xf74f71(0x1de)](generateServiceHelp(_0x1d045e));return;}if(_0x1a7a6b[_0xf74f71(0x1f2)])_0x527dc0=_0x1a7a6b[_0xf74f71(0x1f2)];else{console[_0xf74f71(0x1de)](generateServiceHelp(_0x1d045e));return;}}const _0x22d0eb=findDefinition(_0x1d045e,_0x527dc0);!_0x22d0eb&&(console[_0xf74f71(0x1de)](generateServiceHelp(_0x1d045e)),handleError(CliErrors[_0xf74f71(0x1d9)](_0x1d045e+'\x20'+_0x527dc0)));if(_0x43bba1['help']){console['log'](generateCommandHelp(_0x22d0eb));return;}const _0xcba504=buildConfigFromFlags(_0x43bba1);await initGlobalEnvironment(_0xcba504);const _0xe27982=createPipelineEnv(_0xcba504,_0x43bba1);_0xe27982['args']=cli['input'][_0xf74f71(0x1df)](0x2),await runCommand(_0x22d0eb,_0xe27982);}function handleError(_0x23b547){const _0x3cd13c=a0_0x176173;if(_0x23b547 instanceof CliError){_0x23b547[_0x3cd13c(0x1d3)]===_0x3cd13c(0x1ee)&&(process[_0x3cd13c(0x1dd)][_0x3cd13c(0x1ed)](_0x3cd13c(0x1f4)),process[_0x3cd13c(0x1f1)](0x0));console[_0x3cd13c(0x1f7)](_0x3cd13c(0x1f3)+_0x23b547[_0x3cd13c(0x1d8)]);if(_0x23b547[_0x3cd13c(0x1d2)])console['error'](_0x3cd13c(0x1e4)+_0x23b547['hint']);process[_0x3cd13c(0x1f1)](_0x23b547[_0x3cd13c(0x1e5)]);}isUserCancellation(_0x23b547)&&(process['stderr']['write'](_0x3cd13c(0x1f4)),process[_0x3cd13c(0x1f1)](0x0)),console['error'](_0x3cd13c(0x1d4),_0x23b547),process[_0x3cd13c(0x1f1)](0x1);}function isUserCancellation(_0x2412db){const _0x4eecc0=a0_0x176173;if(!(_0x2412db instanceof Error))return![];if(_0x2412db[_0x4eecc0(0x1e9)]===_0x4eecc0(0x1e8))return!![];if(_0x2412db[_0x4eecc0(0x1d3)]===_0x4eecc0(0x1e2))return!![];if(_0x2412db['code']===_0x4eecc0(0x1f0))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x5b34c9=a1_0x4381;(function(_0x55a55e,_0x4e1336){const _0x839557=a1_0x4381,_0x33eed6=_0x55a55e();while(!![]){try{const _0x2739d3=parseInt(_0x839557(0x156))/0x1*(-parseInt(_0x839557(0x140))/0x2)+-parseInt(_0x839557(0x15b))/0x3+-parseInt(_0x839557(0x187))/0x4*(-parseInt(_0x839557(0x166))/0x5)+parseInt(_0x839557(0x128))/0x6+-parseInt(_0x839557(0x18e))/0x7*(-parseInt(_0x839557(0x12f))/0x8)+-parseInt(_0x839557(0x18f))/0x9*(parseInt(_0x839557(0x18b))/0xa)+parseInt(_0x839557(0x184))/0xb;if(_0x2739d3===_0x4e1336)break;else _0x33eed6['push'](_0x33eed6['shift']());}catch(_0x9868e0){_0x33eed6['push'](_0x33eed6['shift']());}}}(a1_0x42ce,0xb65e9));function a1_0x42ce(){const _0x302f8c=['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','dataset_list','tableData\x20contains\x20records','title','/api/custom/executeSql','tableData\x20contains\x20dataset\x20id/code/name','1913604kIEhnx','summary','Create\x20dataset\x20record','{\x22id\x22:123}','API\x20doc\x20code,\x20for\x20example\x20dataset_list','dataset','Returns\x20one\x20matching\x20business\x20record','956680YvxWxr','/api/{appCode}/{datasetCode}/aggregate','path','length','POST','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','dataset_data_aggregate','32-character\x20dataset\x20code','/api/{appCode}/{datasetCode}/create','filter','Exact\x20endpoint\x20function\x20name','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','appCode','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','method','14OppSvO','validation','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','/api/dataset/get-dataset-list-by-app-code','##\x20Aggregate\x20dataset\x20data','toLowerCase','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27','map','trim','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','查询单条数据','Endpoint\x20function\x20name','聚合查询数据集数据','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','/api/dataset/getOneByCode?code={datasetCode}','whenToUse','dataset_data_get_one','string','Dataset\x20detail','Current\x20app\x20code','146323yhNtsF','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','datasetCode','join','1185636svNVXO','条件过滤查询数据','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','{\x22fieldName\x22:\x22value\x22}','获取数据集详情','/api/{appCode}/{datasetCode}/getOne','bf_execute','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','includes','/api/{appCode}/{datasetCode}/filter','25lwXpHa','Execute\x20BF\x20endpoint\x20function','Get\x20one\x20dataset\x20record','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','分页获取数据集列表','None','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','执行指定\x20BF\x20函数','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','bf_detail','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','keyword','api-doc','dataset_detail','GET','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','category','list','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','API\x20doc\x20code\x20not\x20found:\x20','str','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Filter\x20dataset\x20data','read','dataset_data_create','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','result\x20rows\x20contain\x20aggregate\x20aliases','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','6834025XKIbUR','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','code','925124pVXcTr','##\x20List\x20datasets','Returns\x20script\x20business\x20payload','##\x20Filter\x20dataset\x20data','5280810hISwXW','where\x20filters\x20before\x20aggregation','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','35hQUKmL','9apFRrp','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Show\x20runtime\x20API\x20documentation\x20by\x20code','需要向指定数据集新增一条业务数据时使用','dataset_data_filter','执行自定义\x20SQL','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','find'];a1_0x42ce=function(){return _0x302f8c;};return a1_0x42ce();}function a1_0x4381(_0x489ada,_0x112e1e){_0x489ada=_0x489ada-0x11a;const _0x42cede=a1_0x42ce();let _0x438160=_0x42cede[_0x489ada];return _0x438160;}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x5b34c9(0x178),'type':'string','description':a1_0x5b34c9(0x172)},KEYWORD_FLAG={'name':'keyword','type':a1_0x5b34c9(0x153),'description':a1_0x5b34c9(0x11b)},DOC_CODE_FLAG={'name':a1_0x5b34c9(0x186),'type':'string','required':!![],'description':a1_0x5b34c9(0x12c)},DOCS=[{'code':a1_0x5b34c9(0x123),'category':a1_0x5b34c9(0x12d),'title':'List\x20datasets','method':a1_0x5b34c9(0x133),'path':a1_0x5b34c9(0x145),'summary':a1_0x5b34c9(0x16c),'whenToUse':a1_0x5b34c9(0x15d),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x5b34c9(0x127),'paging.totalCount\x20gives\x20total\x20rows'],'examples':[a1_0x5b34c9(0x185)],'notes':[a1_0x5b34c9(0x16b)],'markdown':[a1_0x5b34c9(0x188),'',a1_0x5b34c9(0x16e)]['join']('\x0a')},{'code':a1_0x5b34c9(0x175),'category':a1_0x5b34c9(0x12d),'title':a1_0x5b34c9(0x154),'method':a1_0x5b34c9(0x176),'path':a1_0x5b34c9(0x150),'summary':a1_0x5b34c9(0x15f),'whenToUse':a1_0x5b34c9(0x16a),'pathParams':[],'queryParams':[{'name':'code','description':a1_0x5b34c9(0x137)}],'bodySchema':a1_0x5b34c9(0x16d),'responseHighlights':['fields/properties\x20describe\x20data\x20shape','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','operations\x20describes\x20runtime\x20APIs'],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x5b34c9(0x17a)],'markdown':['##\x20Dataset\x20detail','',a1_0x5b34c9(0x120)][a1_0x5b34c9(0x15a)]('\x0a')},{'code':a1_0x5b34c9(0x11e),'category':a1_0x5b34c9(0x12d),'title':a1_0x5b34c9(0x17e),'method':a1_0x5b34c9(0x133),'path':a1_0x5b34c9(0x165),'summary':a1_0x5b34c9(0x15c),'whenToUse':a1_0x5b34c9(0x157),'pathParams':[{'name':a1_0x5b34c9(0x13c),'description':a1_0x5b34c9(0x155)},{'name':a1_0x5b34c9(0x159),'description':a1_0x5b34c9(0x137)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x5b34c9(0x124),'paging\x20contains\x20pagination'],'examples':[a1_0x5b34c9(0x148)],'notes':[a1_0x5b34c9(0x14b)],'markdown':[a1_0x5b34c9(0x18a),'',a1_0x5b34c9(0x134)][a1_0x5b34c9(0x15a)]('\x0a')},{'code':a1_0x5b34c9(0x136),'category':a1_0x5b34c9(0x12d),'title':'Aggregate\x20dataset\x20data','method':a1_0x5b34c9(0x133),'path':a1_0x5b34c9(0x130),'summary':a1_0x5b34c9(0x14e),'whenToUse':'需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','pathParams':[{'name':a1_0x5b34c9(0x13c),'description':'Current\x20app\x20code'},{'name':a1_0x5b34c9(0x159),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x5b34c9(0x182),a1_0x5b34c9(0x18c)],'examples':['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'],'notes':[a1_0x5b34c9(0x11a),a1_0x5b34c9(0x183)],'markdown':[a1_0x5b34c9(0x146),'',a1_0x5b34c9(0x162)][a1_0x5b34c9(0x15a)]('\x0a')},{'code':a1_0x5b34c9(0x152),'category':a1_0x5b34c9(0x12d),'title':a1_0x5b34c9(0x168),'method':a1_0x5b34c9(0x133),'path':a1_0x5b34c9(0x160),'summary':a1_0x5b34c9(0x14c),'whenToUse':a1_0x5b34c9(0x144),'pathParams':[{'name':'appCode','description':a1_0x5b34c9(0x155)},{'name':a1_0x5b34c9(0x159),'description':a1_0x5b34c9(0x137)}],'queryParams':[],'bodySchema':a1_0x5b34c9(0x12b),'responseHighlights':[a1_0x5b34c9(0x12e)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x5b34c9(0x169)},{'code':a1_0x5b34c9(0x180),'category':a1_0x5b34c9(0x12d),'title':a1_0x5b34c9(0x12a),'method':'POST','path':a1_0x5b34c9(0x138),'summary':'创建数据','whenToUse':a1_0x5b34c9(0x11d),'pathParams':[{'name':a1_0x5b34c9(0x13c),'description':a1_0x5b34c9(0x155)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x5b34c9(0x15e),'responseHighlights':[a1_0x5b34c9(0x13e)],'examples':[a1_0x5b34c9(0x177)],'notes':[a1_0x5b34c9(0x122)],'markdown':a1_0x5b34c9(0x163)},{'code':a1_0x5b34c9(0x171),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':'GET','path':'/client/bff/endpoint/{appCode}/{functionName}','summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x5b34c9(0x158),'pathParams':[{'name':a1_0x5b34c9(0x13c),'description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x5b34c9(0x13a)}],'queryParams':[],'bodySchema':a1_0x5b34c9(0x16d),'responseHighlights':[a1_0x5b34c9(0x170)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x5b34c9(0x13b)],'markdown':a1_0x5b34c9(0x14f)},{'code':a1_0x5b34c9(0x161),'category':'bf','title':a1_0x5b34c9(0x167),'method':a1_0x5b34c9(0x133),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x5b34c9(0x16f),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x5b34c9(0x14d)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x5b34c9(0x189)],'examples':[a1_0x5b34c9(0x135)],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':a1_0x5b34c9(0x143)},{'code':'custom_sql_execute','category':'custom_sql','title':'Execute\x20custom\x20SQL','method':a1_0x5b34c9(0x133),'path':a1_0x5b34c9(0x126),'summary':a1_0x5b34c9(0x11f),'whenToUse':a1_0x5b34c9(0x18d),'pathParams':[],'queryParams':[],'bodySchema':a1_0x5b34c9(0x17d),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x5b34c9(0x181)],'notes':[a1_0x5b34c9(0x13d)],'markdown':a1_0x5b34c9(0x142)}];function entrySummary(_0x2b9192){const _0x2a50e1=a1_0x5b34c9;return{'code':_0x2b9192[_0x2a50e1(0x186)],'category':_0x2b9192['category'],'method':_0x2b9192[_0x2a50e1(0x13f)],'path':_0x2b9192[_0x2a50e1(0x131)],'summary':_0x2b9192[_0x2a50e1(0x129)],'whenToUse':_0x2b9192[_0x2a50e1(0x151)]};}export function listApiDocEntries(_0xf0c6a8={}){const _0x31c866=a1_0x5b34c9,_0x16adf4=String(_0xf0c6a8[_0x31c866(0x178)]||'')[_0x31c866(0x14a)](),_0x4719f2=String(_0xf0c6a8[_0x31c866(0x173)]||'')[_0x31c866(0x14a)]()[_0x31c866(0x147)]();return DOCS[_0x31c866(0x139)](_0x30a435=>{const _0x4be55e=_0x31c866;if(_0x16adf4&&_0x30a435[_0x4be55e(0x178)]!==_0x16adf4)return![];if(!_0x4719f2)return!![];return[_0x30a435[_0x4be55e(0x186)],_0x30a435[_0x4be55e(0x178)],_0x30a435[_0x4be55e(0x13f)],_0x30a435[_0x4be55e(0x131)],_0x30a435[_0x4be55e(0x129)],_0x30a435[_0x4be55e(0x151)],_0x30a435[_0x4be55e(0x125)]][_0x4be55e(0x15a)]('\x20')[_0x4be55e(0x147)]()[_0x4be55e(0x164)](_0x4719f2);})[_0x31c866(0x149)](entrySummary);}export function getApiDocDetail(_0xa6dc19){const _0x370011=a1_0x5b34c9,_0x4ca81f=DOCS[_0x370011(0x121)](_0x566c9b=>_0x566c9b[_0x370011(0x186)]===_0xa6dc19);if(!_0x4ca81f)throw CliErrors[_0x370011(0x141)](_0x370011(0x17b)+_0xa6dc19);return{..._0x4ca81f};}const apiDocList={'service':a1_0x5b34c9(0x174),'command':a1_0x5b34c9(0x179),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x5b34c9(0x17f),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x25ebbe){const _0x31f3c1=a1_0x5b34c9,_0x43ff3d=listApiDocEntries({'category':_0x25ebbe[_0x31f3c1(0x17c)](_0x31f3c1(0x178)),'keyword':_0x25ebbe[_0x31f3c1(0x17c)](_0x31f3c1(0x173))});return{'ok':!![],'data':{'total':_0x43ff3d[_0x31f3c1(0x132)],'items':_0x43ff3d}};}},apiDocDetail={'service':a1_0x5b34c9(0x174),'command':'detail','description':a1_0x5b34c9(0x11c),'risk':a1_0x5b34c9(0x17f),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x26d39c){const _0x138651=a1_0x5b34c9;return{'ok':!![],'data':getApiDocDetail(_0x26d39c[_0x138651(0x17c)](_0x138651(0x186)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0xe0984a=a1_0x25ad;(function(_0x9aab0f,_0x58b55e){const _0x4ef953=a1_0x25ad,_0x33fde6=_0x9aab0f();while(!![]){try{const _0x81251f=-parseInt(_0x4ef953(0x190))/0x1+-parseInt(_0x4ef953(0x1c9))/0x2*(parseInt(_0x4ef953(0x171))/0x3)+-parseInt(_0x4ef953(0x17a))/0x4+parseInt(_0x4ef953(0x18b))/0x5+parseInt(_0x4ef953(0x1be))/0x6*(parseInt(_0x4ef953(0x1ae))/0x7)+parseInt(_0x4ef953(0x172))/0x8+parseInt(_0x4ef953(0x19f))/0x9*(parseInt(_0x4ef953(0x1a4))/0xa);if(_0x81251f===_0x58b55e)break;else _0x33fde6['push'](_0x33fde6['shift']());}catch(_0x378887){_0x33fde6['push'](_0x33fde6['shift']());}}}(a1_0x4560,0x1a649));function a1_0x25ad(_0x3827c8,_0x3062c1){_0x3827c8=_0x3827c8-0x15e;const _0x456000=a1_0x4560();let _0x25ad23=_0x456000[_0x3827c8];return _0x25ad23;}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0xe0984a(0x1ca),'type':a1_0xe0984a(0x178),'description':a1_0xe0984a(0x15e)},KEYWORD_FLAG={'name':'keyword','type':a1_0xe0984a(0x178),'description':a1_0xe0984a(0x18f)},DOC_CODE_FLAG={'name':a1_0xe0984a(0x16d),'type':a1_0xe0984a(0x178),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':a1_0xe0984a(0x1c1),'category':a1_0xe0984a(0x1a6),'title':a1_0xe0984a(0x1ac),'method':a1_0xe0984a(0x17d),'path':'/api/dataset/get-dataset-list-by-app-code','summary':a1_0xe0984a(0x18e),'whenToUse':a1_0xe0984a(0x1bd),'pathParams':[],'queryParams':[],'bodySchema':a1_0xe0984a(0x18c),'responseHighlights':[a1_0xe0984a(0x16b),'paging.totalCount\x20gives\x20total\x20rows'],'examples':[a1_0xe0984a(0x174)],'notes':[a1_0xe0984a(0x1aa)],'markdown':[a1_0xe0984a(0x184),'',a1_0xe0984a(0x18a)][a1_0xe0984a(0x1bb)]('\x0a')},{'code':a1_0xe0984a(0x165),'category':'dataset','title':a1_0xe0984a(0x1bc),'method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0xe0984a(0x19c),'whenToUse':a1_0xe0984a(0x1b6),'pathParams':[],'queryParams':[{'name':a1_0xe0984a(0x16d),'description':a1_0xe0984a(0x1a5)}],'bodySchema':a1_0xe0984a(0x1a1),'responseHighlights':[a1_0xe0984a(0x1c8),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0xe0984a(0x187)],'notes':[a1_0xe0984a(0x196)],'markdown':[a1_0xe0984a(0x198),'',a1_0xe0984a(0x189)][a1_0xe0984a(0x1bb)]('\x0a')},{'code':'dataset_data_filter','category':a1_0xe0984a(0x1a6),'title':a1_0xe0984a(0x1b3),'method':a1_0xe0984a(0x17d),'path':a1_0xe0984a(0x17c),'summary':a1_0xe0984a(0x17e),'whenToUse':'需要携带\x20where、orderBy、分页等条件读取业务数据时使用','pathParams':[{'name':a1_0xe0984a(0x16f),'description':'Current\x20app\x20code'},{'name':a1_0xe0984a(0x1c3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':['tableData\x20contains\x20records','paging\x20contains\x20pagination'],'examples':[a1_0xe0984a(0x19d)],'notes':[a1_0xe0984a(0x197)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0xe0984a(0x1b8)][a1_0xe0984a(0x1bb)]('\x0a')},{'code':a1_0xe0984a(0x1b5),'category':a1_0xe0984a(0x1a6),'title':'Aggregate\x20dataset\x20data','method':a1_0xe0984a(0x17d),'path':a1_0xe0984a(0x1a7),'summary':a1_0xe0984a(0x188),'whenToUse':a1_0xe0984a(0x163),'pathParams':[{'name':a1_0xe0984a(0x16f),'description':a1_0xe0984a(0x160)},{'name':'datasetCode','description':a1_0xe0984a(0x1a5)}],'queryParams':[],'bodySchema':a1_0xe0984a(0x193),'responseHighlights':[a1_0xe0984a(0x166),a1_0xe0984a(0x195)],'examples':['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'],'notes':[a1_0xe0984a(0x182),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0xe0984a(0x185),'',a1_0xe0984a(0x19e)][a1_0xe0984a(0x1bb)]('\x0a')},{'code':'dataset_data_get_one','category':a1_0xe0984a(0x1a6),'title':a1_0xe0984a(0x16a),'method':a1_0xe0984a(0x17d),'path':a1_0xe0984a(0x164),'summary':a1_0xe0984a(0x1a9),'whenToUse':a1_0xe0984a(0x177),'pathParams':[{'name':a1_0xe0984a(0x16f),'description':a1_0xe0984a(0x160)},{'name':a1_0xe0984a(0x1c3),'description':a1_0xe0984a(0x1a5)}],'queryParams':[],'bodySchema':a1_0xe0984a(0x1ab),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0xe0984a(0x192)],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0xe0984a(0x1b4),'category':a1_0xe0984a(0x1a6),'title':'Create\x20dataset\x20record','method':'POST','path':'/api/{appCode}/{datasetCode}/create','summary':'创建数据','whenToUse':a1_0xe0984a(0x1a8),'pathParams':[{'name':'appCode','description':a1_0xe0984a(0x160)},{'name':a1_0xe0984a(0x1c3),'description':a1_0xe0984a(0x1a5)}],'queryParams':[],'bodySchema':a1_0xe0984a(0x179),'responseHighlights':[a1_0xe0984a(0x1c5)],'examples':[a1_0xe0984a(0x173)],'notes':[a1_0xe0984a(0x1c0)],'markdown':a1_0xe0984a(0x191)},{'code':a1_0xe0984a(0x176),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':'GET','path':a1_0xe0984a(0x199),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':'已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','pathParams':[{'name':'appCode','description':a1_0xe0984a(0x160)},{'name':a1_0xe0984a(0x1af),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0xe0984a(0x181)],'examples':[a1_0xe0984a(0x1b1)],'notes':[a1_0xe0984a(0x15f)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0xe0984a(0x1ad),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0xe0984a(0x17d),'path':a1_0xe0984a(0x17f),'summary':a1_0xe0984a(0x1a0),'whenToUse':a1_0xe0984a(0x1b0),'pathParams':[{'name':a1_0xe0984a(0x16f),'description':a1_0xe0984a(0x160)},{'name':a1_0xe0984a(0x1af),'description':a1_0xe0984a(0x1c7)}],'queryParams':[],'bodySchema':a1_0xe0984a(0x170),'responseHighlights':[a1_0xe0984a(0x1a2)],'examples':[a1_0xe0984a(0x16e)],'notes':[a1_0xe0984a(0x1ba)],'markdown':a1_0xe0984a(0x167)},{'code':a1_0xe0984a(0x1c4),'category':'custom_sql','title':a1_0xe0984a(0x168),'method':'POST','path':a1_0xe0984a(0x19b),'summary':'执行自定义\x20SQL','whenToUse':a1_0xe0984a(0x16c),'pathParams':[],'queryParams':[],'bodySchema':a1_0xe0984a(0x1b7),'responseHighlights':[a1_0xe0984a(0x1b2)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x5678b7){const _0x5a2eae=a1_0xe0984a;return{'code':_0x5678b7[_0x5a2eae(0x16d)],'category':_0x5678b7[_0x5a2eae(0x1ca)],'method':_0x5678b7[_0x5a2eae(0x161)],'path':_0x5678b7[_0x5a2eae(0x1c2)],'summary':_0x5678b7['summary'],'whenToUse':_0x5678b7[_0x5a2eae(0x180)]};}function a1_0x4560(){const _0x4fab97=['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','聚合查询数据集数据','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','860395EsQgLt','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','filter','分页获取数据集列表','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','111777pDSHvX','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','includes','where\x20filters\x20before\x20aggregation','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','##\x20Dataset\x20detail','/client/bff/endpoint/{appCode}/{functionName}','List\x20available\x20runtime\x20API\x20documentation\x20entries','/api/custom/executeSql','获取数据集详情','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','123561OORxUU','执行指定\x20BF\x20函数','None','Returns\x20script\x20business\x20payload','length','140UKNbWO','32-character\x20dataset\x20code','dataset','/api/{appCode}/{datasetCode}/aggregate','需要向指定数据集新增一条业务数据时使用','查询单条数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','{\x22id\x22:123}','List\x20datasets','bf_execute','11347xyIbTf','functionName','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Returns\x20SQL\x20execution\x20payload','Filter\x20dataset\x20data','dataset_data_create','dataset_data_aggregate','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','detail','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','join','Dataset\x20detail','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','144thOvkw','API\x20doc\x20code\x20not\x20found:\x20','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','dataset_list','path','datasetCode','custom_sql_execute','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','validation','Endpoint\x20function\x20name','fields/properties\x20describe\x20data\x20shape','42530JdzqKi','category','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','Current\x20app\x20code','method','api-doc','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','/api/{appCode}/{datasetCode}/getOne','dataset_detail','result\x20rows\x20contain\x20aggregate\x20aliases','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Execute\x20custom\x20SQL','Show\x20runtime\x20API\x20documentation\x20by\x20code','Get\x20one\x20dataset\x20record','tableData\x20contains\x20dataset\x20id/code/name','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','code','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','appCode','{\x22param\x22:\x22value\x22}','9vSWABD','451632LcWaqB','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','str','bf_detail','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','string','{\x22fieldName\x22:\x22value\x22}','703864hHOFzd','keyword','/api/{appCode}/{datasetCode}/filter','POST','条件过滤查询数据','/api/endpoint/{appCode}/{functionName}','whenToUse','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','toLowerCase','##\x20List\x20datasets','##\x20Aggregate\x20dataset\x20data','read'];a1_0x4560=function(){return _0x4fab97;};return a1_0x4560();}export function listApiDocEntries(_0x213e7a={}){const _0x3cd3d2=a1_0xe0984a,_0x44d3a7=String(_0x213e7a[_0x3cd3d2(0x1ca)]||'')['trim'](),_0x2c8739=String(_0x213e7a[_0x3cd3d2(0x17b)]||'')['trim']()[_0x3cd3d2(0x183)]();return DOCS[_0x3cd3d2(0x18d)](_0x22ad97=>{const _0x243b40=_0x3cd3d2;if(_0x44d3a7&&_0x22ad97[_0x243b40(0x1ca)]!==_0x44d3a7)return![];if(!_0x2c8739)return!![];return[_0x22ad97[_0x243b40(0x16d)],_0x22ad97[_0x243b40(0x1ca)],_0x22ad97[_0x243b40(0x161)],_0x22ad97['path'],_0x22ad97['summary'],_0x22ad97[_0x243b40(0x180)],_0x22ad97['title']][_0x243b40(0x1bb)]('\x20')[_0x243b40(0x183)]()[_0x243b40(0x194)](_0x2c8739);})['map'](entrySummary);}export function getApiDocDetail(_0xb2bbd3){const _0x2788cb=a1_0xe0984a,_0x54d6ff=DOCS['find'](_0x4d7ec9=>_0x4d7ec9[_0x2788cb(0x16d)]===_0xb2bbd3);if(!_0x54d6ff)throw CliErrors[_0x2788cb(0x1c6)](_0x2788cb(0x1bf)+_0xb2bbd3);return{..._0x54d6ff};}const apiDocList={'service':a1_0xe0984a(0x162),'command':'list','description':a1_0xe0984a(0x19a),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5053ee){const _0x3f1f51=a1_0xe0984a,_0x1983fc=listApiDocEntries({'category':_0x5053ee[_0x3f1f51(0x175)](_0x3f1f51(0x1ca)),'keyword':_0x5053ee[_0x3f1f51(0x175)](_0x3f1f51(0x17b))});return{'ok':!![],'data':{'total':_0x1983fc[_0x3f1f51(0x1a3)],'items':_0x1983fc}};}},apiDocDetail={'service':a1_0xe0984a(0x162),'command':a1_0xe0984a(0x1b9),'description':a1_0xe0984a(0x169),'risk':a1_0xe0984a(0x186),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x437277){const _0x419a09=a1_0xe0984a;return{'ok':!![],'data':getApiDocDetail(_0x437277['str'](_0x419a09(0x16d)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2f9233,_0x3fad9e){const _0xf6dfb5=a2_0x5cca,_0x549fed=_0x2f9233();while(!![]){try{const _0x2c3443=-parseInt(_0xf6dfb5(0xa0))/0x1*(parseInt(_0xf6dfb5(0x93))/0x2)+parseInt(_0xf6dfb5(0xa1))/0x3+-parseInt(_0xf6dfb5(0x95))/0x4+parseInt(_0xf6dfb5(0x92))/0x5*(-parseInt(_0xf6dfb5(0xa2))/0x6)+-parseInt(_0xf6dfb5(0x9d))/0x7+-parseInt(_0xf6dfb5(0x99))/0x8+parseInt(_0xf6dfb5(0xa9))/0x9;if(_0x2c3443===_0x3fad9e)break;else _0x549fed['push'](_0x549fed['shift']());}catch(_0x79a1e7){_0x549fed['push'](_0x549fed['shift']());}}}(a2_0x4047,0xf1774));import{createHash}from'node:crypto';function a2_0x5cca(_0x137bc0,_0x908857){_0x137bc0=_0x137bc0-0x90;const _0x404739=a2_0x4047();let _0x5cca7f=_0x404739[_0x137bc0];return _0x5cca7f;}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';export function fingerprintAccessKey(_0x25891d){const _0x9cbbd4=a2_0x5cca,_0x355ebf=_0x25891d[_0x9cbbd4(0x9f)](),_0x109a5c=_0x355ebf[_0x9cbbd4(0xaa)](-0x6)||_0x9cbbd4(0x98),_0x3c4b89=createHash('sha256')[_0x9cbbd4(0xa4)](_0x355ebf)[_0x9cbbd4(0xa3)](_0x9cbbd4(0x9e))[_0x9cbbd4(0xaa)](0x0,0xc);return _0x9cbbd4(0x90)+_0x109a5c+'_'+_0x3c4b89;}export function getAppCacheFilePath(_0x262b0b,_0x3c8ab3){const _0x18e23e=a2_0x5cca;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],'cache',_0x262b0b,fingerprintAccessKey(_0x3c8ab3),_0x18e23e(0xac));}export function readCachedAppList(_0x251c61,_0x27310c){const _0x1ad604=a2_0x5cca;if(!_0x27310c?.[_0x1ad604(0x9f)]())return null;const _0x1fb589=getAppCacheFilePath(_0x251c61,_0x27310c);if(!existsSync(_0x1fb589))return null;try{const _0x34fd5d=readFileSync(_0x1fb589,_0x1ad604(0x9b));if(!_0x34fd5d['trim']())return null;const _0x41a415=JSON[_0x1ad604(0x94)](_0x34fd5d);if(!Array[_0x1ad604(0xa8)](_0x41a415[_0x1ad604(0x9c)]))return null;return _0x41a415;}catch{return null;}}export function writeCachedAppList(_0x2756dd,_0x4af457,_0x3644ff){const _0x301858=a2_0x5cca,_0x193b78=getAppCacheFilePath(_0x2756dd,_0x4af457),_0x26c529=dirname(_0x193b78);!existsSync(_0x26c529)&&mkdirSync(_0x26c529,{'recursive':!![]});const _0xd2f606=_0x193b78+_0x301858(0xa7);try{writeFileSync(_0xd2f606,JSON['stringify'](_0x3644ff,null,0x2)+'\x0a',{'encoding':_0x301858(0x9b),'mode':0x180});try{renameSync(_0xd2f606,_0x193b78);}catch(_0x2aeffa){if(_0x2aeffa[_0x301858(0x97)]===_0x301858(0xab)||_0x2aeffa[_0x301858(0x97)]===_0x301858(0xa6)||_0x2aeffa[_0x301858(0x97)]===_0x301858(0x96)){writeFileSync(_0x193b78,JSON[_0x301858(0x91)](_0x3644ff,null,0x2)+'\x0a',{'encoding':_0x301858(0x9b)});try{unlinkSync(_0xd2f606);}catch{}}else throw _0x2aeffa;}}catch(_0x560e9a){try{unlinkSync(_0xd2f606);}catch{}throw _0x560e9a;}return _0x193b78;}function a2_0x4047(){const _0x1f92c5=['utf8','items','3884006ZjSONa','hex','trim','1281190ayAqwJ','2989215aaeapf','1173066QDIgym','digest','update','find','EXDEV','.tmp','isArray','43482501UlmmLQ','slice','EPERM','my-apps.json','ak_','stringify','25ARbxwE','2DjOckF','parse','3147620qyJVvz','EACCES','code','unknown','9905936vhhNTQ','appName'];a2_0x4047=function(){return _0x1f92c5;};return a2_0x4047();}export function resolveCachedAppCode(_0x4051ff,_0x3f1099,_0x434cdc){const _0x49635d=a2_0x5cca;if(!_0x4051ff)return undefined;const _0x24cabb=readCachedAppList(_0x3f1099,_0x434cdc),_0x1dc96e=_0x24cabb?.[_0x49635d(0x9c)][_0x49635d(0xa5)](_0x1f160a=>_0x1f160a[_0x49635d(0x9a)]===_0x4051ff&&isRuntimeAccessibleApp(_0x1f160a));return _0x1dc96e?.['appCode']?.[_0x49635d(0x9f)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x32e88a=a3_0x423e;(function(_0x56bb1f,_0x4fe1de){const _0x304100=a3_0x423e,_0x3b295d=_0x56bb1f();while(!![]){try{const _0x1c1262=parseInt(_0x304100(0x231))/0x1*(-parseInt(_0x304100(0x238))/0x2)+-parseInt(_0x304100(0x1e3))/0x3+-parseInt(_0x304100(0x1fb))/0x4*(-parseInt(_0x304100(0x21a))/0x5)+-parseInt(_0x304100(0x209))/0x6*(parseInt(_0x304100(0x22b))/0x7)+-parseInt(_0x304100(0x217))/0x8+-parseInt(_0x304100(0x21e))/0x9*(-parseInt(_0x304100(0x235))/0xa)+parseInt(_0x304100(0x210))/0xb;if(_0x1c1262===_0x4fe1de)break;else _0x3b295d['push'](_0x3b295d['shift']());}catch(_0x1dd3f2){_0x3b295d['push'](_0x3b295d['shift']());}}}(a3_0x37d3,0xdefc4));import{CliErrors}from'../../errors.js';function a3_0x423e(_0x4c3221,_0x46ea52){_0x4c3221=_0x4c3221-0x1e3;const _0x37d32a=a3_0x37d3();let _0x423e5a=_0x37d32a[_0x4c3221];return _0x423e5a;}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';const GLOBAL_FLAG={'name':a3_0x32e88a(0x20d),'type':a3_0x32e88a(0x201),'description':a3_0x32e88a(0x237),'default':![]};function collectFlags(_0x4d4dab,_0x45d2c1){const _0x5548ec=a3_0x32e88a,_0x52a8f5={};for(const _0x398038 of _0x45d2c1){const _0x5cc3ec=_0x398038['type']===_0x5548ec(0x201)?_0x4d4dab[_0x5548ec(0x233)](_0x398038['name']):_0x4d4dab[_0x5548ec(0x1f7)](_0x398038[_0x5548ec(0x1eb)]);if(_0x5cc3ec!==''&&_0x5cc3ec!==![])_0x52a8f5[_0x398038['name']]=_0x5cc3ec;}if(_0x4d4dab[_0x5548ec(0x226)])_0x52a8f5['nonInteractive']=!![];return _0x52a8f5;}function normalizeLanguages(_0x57427e){const _0x45844b=a3_0x32e88a;if(!Array[_0x45844b(0x21d)](_0x57427e))return[];return _0x57427e[_0x45844b(0x228)](_0x5cb6e0=>typeof _0x5cb6e0==='string')[_0x45844b(0x20c)](_0x55eed9=>_0x55eed9['trim']())[_0x45844b(0x228)](Boolean);}function buildRemoteAppI18nFields(_0x1623be){const _0x1c00b3=a3_0x32e88a,_0x23f72e=normalizeLanguages(_0x1623be[_0x1c00b3(0x236)]?.['langs']);return{'enableI18n':typeof _0x1623be['enableI18n']===_0x1c00b3(0x201)?_0x1623be[_0x1c00b3(0x1fa)]:null,'languages':_0x23f72e,'i18nInfo':_0x1623be['i18nInfo']?{..._0x1623be['i18nInfo'],'langs':_0x23f72e[_0x1c00b3(0x204)]?_0x23f72e:null}:null};}const initDef={'service':a3_0x32e88a(0x1ea),'command':a3_0x32e88a(0x1e6),'description':a3_0x32e88a(0x1e8),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x197f5c){const _0x4bb0e9=a3_0x32e88a;return warnDeprecatedAppCommand(_0x4bb0e9(0x1e6),CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]'),await runInit(collectFlags(_0x197f5c,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x32e88a(0x1ea),'command':a3_0x32e88a(0x216),'description':a3_0x32e88a(0x20e),'risk':a3_0x32e88a(0x1f0),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x32e88a(0x1e5),'description':a3_0x32e88a(0x1e7),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':a3_0x32e88a(0x215),'default':![]},{'name':a3_0x32e88a(0x22d),'type':a3_0x32e88a(0x201),'description':a3_0x32e88a(0x21c),'default':![]},{'name':a3_0x32e88a(0x22f),'type':'boolean','description':'Include\x20unpublished\x20apps\x20for\x20diagnostics','default':![]}],async 'execute'(_0x31285e){const _0x34e43c=a3_0x32e88a,_0x333dd6=_0x31285e[_0x34e43c(0x1f7)](_0x34e43c(0x1f9))||_0x31285e[_0x34e43c(0x1fe)]||getEnv()||'production',_0x522188=_0x31285e[_0x34e43c(0x233)](_0x34e43c(0x1fc)),_0x573142=_0x31285e['bool'](_0x34e43c(0x22d)),_0xfeb841=_0x31285e['bool'](_0x34e43c(0x22f)),{readRawConfigWithLayers:_0x3c9ad0,resolveDefaultAppSource:_0x7a9cbd,getLocalAppAliases:_0x336607}=await import(_0x34e43c(0x206)),{getRemoteAppList:_0x394626}=await import(_0x34e43c(0x214)),{config:_0x2a95b0,layers:_0x115198}=_0x3c9ad0(),_0x5ab64c=_0x7a9cbd(_0x115198),{defaultApp:_0x4abe34}=_0x2a95b0,_0x59642c=await _0x394626({'env':_0x333dd6,'accessKey':_0x31285e[_0x34e43c(0x1f3)],'localOnly':_0x522188,'noCache':_0x573142}),_0x1a0715=_0xfeb841?_0x59642c[_0x34e43c(0x208)]:filterRuntimeAccessibleApps(_0x59642c[_0x34e43c(0x208)]),_0x3390c8=_0x59642c[_0x34e43c(0x208)][_0x34e43c(0x204)]-_0x1a0715[_0x34e43c(0x204)],_0xffd7fc=_0x1a0715[_0x34e43c(0x20c)](_0x3d2bd7=>{const _0x5e7d06=_0x34e43c;return{'name':_0x3d2bd7['appName'],'appcode':_0x3d2bd7[_0x5e7d06(0x239)],'named':!![],'definedIn':_0x5e7d06(0x1f5),'isDefault':_0x3d2bd7[_0x5e7d06(0x230)]===_0x4abe34,...buildAppProfileListFields(_0x333dd6),...buildRemoteAppI18nFields(_0x3d2bd7),'source':_0x59642c['source'],'owner':_0x3d2bd7[_0x5e7d06(0x22c)]??null,'status':_0x3d2bd7[_0x5e7d06(0x200)]??null,'cachedAt':_0x59642c[_0x5e7d06(0x21f)]};}),_0xb331a2=_0x336607(_0x2a95b0);let _0x36fc58=0x0;for(const [_0x313068,_0x4e028a]of Object['entries'](_0xb331a2)){const _0x723c64=typeof _0x4e028a['appcode']===_0x34e43c(0x1e5)?_0x4e028a[_0x34e43c(0x224)]['trim']():'';if(!_0x723c64)continue;const _0x104f27=findAppByCode(_0x59642c[_0x34e43c(0x208)],_0x723c64);if(!_0xfeb841&&_0x104f27&&!isRuntimeAccessibleApp(_0x104f27))continue;_0x36fc58+=0x1,_0xffd7fc[_0x34e43c(0x225)]({'name':_0x313068,'appcode':_0x723c64,'named':!![],'definedIn':_0x34e43c(0x1fc),'isDefault':_0x313068===_0x4abe34,...buildAppProfileListFields(_0x333dd6),'source':'config','owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0xffd7fc,_0x31285e['mergedCli']);const _0x2b61b4=_0xffd7fc['find'](_0x518af9=>_0x518af9[_0x34e43c(0x229)]===!![]),_0x2fc55f=_0x4abe34??_0x2b61b4?.[_0x34e43c(0x1eb)]??null,_0x2fe056={'env':_0x333dd6,'source':_0x59642c[_0x34e43c(0x21b)],'fetchedAt':_0x59642c[_0x34e43c(0x21f)],'cachePath':_0x59642c['cachePath'],'globalPath':_0x115198[_0x34e43c(0x1ed)]??null,'projectPath':_0x115198['projectPath']??null,'defaultApp':_0x2fc55f,'defaultAppSource':_0x4abe34!=null?_0x5ab64c:null,'localAliasCount':_0x36fc58,'remoteTotal':_0x59642c[_0x34e43c(0x208)][_0x34e43c(0x204)],'hiddenUnpublishedCount':_0x3390c8,'includeUnpublished':_0xfeb841};if(_0xffd7fc[_0x34e43c(0x204)]===0x0)return{'ok':!![],'data':{'items':_0xffd7fc,'meta':_0x2fe056},'message':_0x59642c['source']===_0x34e43c(0x221)?_0x34e43c(0x1ef):'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0xffd7fc,'meta':_0x2fe056}};}},pullDef={'service':a3_0x32e88a(0x1ea),'command':a3_0x32e88a(0x218),'description':a3_0x32e88a(0x20a),'risk':a3_0x32e88a(0x213),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x32e88a(0x1f9),'type':a3_0x32e88a(0x1e5),'description':a3_0x32e88a(0x22a),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x32e88a(0x1fc),'type':'boolean','description':a3_0x32e88a(0x1f6),'default':![]},{'name':'no-cache','type':a3_0x32e88a(0x201),'description':a3_0x32e88a(0x21c),'default':![]}],async 'execute'(_0x1295db){const _0x3cf9b7=a3_0x32e88a,_0x1dd93f=_0x1295db[_0x3cf9b7(0x1f7)](_0x3cf9b7(0x1f9))||_0x1295db[_0x3cf9b7(0x1fe)]||getEnv()||'production',_0x14fec0=_0x1295db[_0x3cf9b7(0x233)](_0x3cf9b7(0x1fc)),_0x3cb4d8=_0x1295db[_0x3cf9b7(0x233)](_0x3cf9b7(0x22d)),{getRemoteAppList:_0x44a962}=await import('../../commands/app/remote-source.js'),_0x572793=await _0x44a962({'env':_0x1dd93f,'accessKey':_0x1295db[_0x3cf9b7(0x1f3)],'localOnly':_0x14fec0,'noCache':_0x3cb4d8});return{'ok':!![],'data':{'total':_0x572793[_0x3cf9b7(0x208)]['length'],'env':_0x1dd93f,'source':_0x572793[_0x3cf9b7(0x21b)],'fetchedAt':_0x572793[_0x3cf9b7(0x21f)],'cachePath':_0x572793['cachePath']},'message':_0x572793[_0x3cf9b7(0x21b)]===_0x3cf9b7(0x221)?'Loaded\x20'+_0x572793['items'][_0x3cf9b7(0x204)]+_0x3cf9b7(0x211)+_0x1dd93f+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x572793[_0x3cf9b7(0x208)]['length']+_0x3cf9b7(0x1f2)+_0x1dd93f+'\x22.'};}},useDef={'service':'app','command':a3_0x32e88a(0x20b),'description':'Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a3_0x32e88a(0x213),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x32e88a(0x1eb),'description':a3_0x32e88a(0x1fd),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x3c5859){const _0x317e92=a3_0x32e88a;if(!_0x3c5859[_0x317e92(0x1ee)][0x0])throw CliErrors[_0x317e92(0x20f)](_0x317e92(0x220),_0x317e92(0x223)+CLI_BIN_NAME+_0x317e92(0x212));},async 'execute'(_0x255758){const _0x468def=a3_0x32e88a;warnDeprecatedAppCommand(_0x468def(0x20b),CLI_BIN_NAME+_0x468def(0x1f8));const _0x13917c=_0x255758[_0x468def(0x1ee)][0x0];if(!_0x13917c)throw CliErrors[_0x468def(0x20f)](_0x468def(0x220),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const {buildConfigFromFlags:_0x145ec3,resolveLocalAppAliasCode:_0x2b7e45}=await import(_0x468def(0x206)),{readCachedAppList:_0x49149b}=await import('../../commands/app/cache.js'),_0x355fc7=_0x255758[_0x468def(0x1f7)](_0x468def(0x1f9)),_0x5051f4=_0x145ec3(_0x355fc7?{'env':_0x355fc7}:{}),_0x4620a6=_0x49149b(_0x5051f4[_0x468def(0x1f9)],_0x5051f4['accessKey']),_0x42a279=_0x4620a6?.[_0x468def(0x208)][_0x468def(0x205)](_0x224fc4=>_0x224fc4[_0x468def(0x230)]===_0x13917c),_0x1d4baa=_0x2b7e45(_0x5051f4[_0x468def(0x1e9)]??{},_0x13917c);if(_0x42a279&&!isRuntimeAccessibleApp(_0x42a279))throw runtimeInaccessibleAppError(_0x42a279,'\x22'+_0x13917c+'\x22');if(_0x1d4baa){const _0x3f4d5b=_0x4620a6?.[_0x468def(0x208)][_0x468def(0x205)](_0x5a96d2=>_0x5a96d2[_0x468def(0x239)]?.[_0x468def(0x1e4)]()===_0x1d4baa);if(_0x3f4d5b&&!isRuntimeAccessibleApp(_0x3f4d5b))throw runtimeInaccessibleAppError(_0x3f4d5b,'\x22'+_0x13917c+'\x22');}if(!_0x42a279&&!_0x1d4baa&&_0x5051f4[_0x468def(0x234)]!==_0x13917c){const _0x3b1cb5=[..._0x4620a6?.[_0x468def(0x208)][_0x468def(0x20c)](_0x311dda=>_0x311dda['appName'])??[]],_0x315e2b=_0x3b1cb5[_0x468def(0x204)]===0x0?_0x468def(0x1f4)+CLI_BIN_NAME+_0x468def(0x222)+_0x13917c+_0x468def(0x203):_0x468def(0x1ff)+Array[_0x468def(0x22e)](new Set(_0x3b1cb5))['join'](',\x20')+_0x468def(0x219);throw CliErrors[_0x468def(0x20f)](_0x468def(0x1f1)+_0x13917c+_0x468def(0x227),_0x315e2b);}const _0x770add=_0x255758[_0x468def(0x233)](_0x468def(0x20d));let _0x8939bf;if(_0x770add)_0x8939bf={'global':!![]};else{const {isInProject:_0x244247}=await import('../../context.js'),_0x236f1a=_0x244247();_0x8939bf=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x468def(0x232),'inProject':_0x236f1a}));}const _0x54fa1e=readConfig(_0x8939bf);return _0x54fa1e[_0x468def(0x234)]=_0x13917c,writeConfig(_0x54fa1e,_0x8939bf),{'ok':!![],'message':'Default\x20app\x20candidate\x20set\x20to\x20\x22'+_0x13917c+'\x22'+scopeLabel(_0x8939bf)+'.'};}};function warnDeprecatedAppCommand(_0x3a881d,_0x30bbe8){const _0x304e4a=a3_0x32e88a;console[_0x304e4a(0x202)](CLI_BIN_NAME+_0x304e4a(0x23a)+_0x3a881d+_0x304e4a(0x1ec)+_0x30bbe8+'`\x20instead.');}const importDef={'service':a3_0x32e88a(0x1ea),'command':a3_0x32e88a(0x207),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x32e88a(0x213),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x15d0fd){return await runInitImport(collectFlags(_0x15d0fd,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];function a3_0x37d3(){const _0x1a1cda=['list','9112448uMBBNP','pull','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','820qNtHRa','source','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','isArray','419355QjwXBS','fetchedAt','Missing\x20app\x20name.','cache','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','Usage:\x20','appcode','push','nonInteractive','\x22\x20not\x20found.','filter','isCurrent','Target\x20environment\x20(default:\x20current\x20env)','6137859QrIefv','appOwnerName','no-cache','from','include-unpublished','appName','2tGPZUp','project-default','bool','defaultApp','320aVmwqD','i18nInfo','Use\x20global\x20config\x20scope','1459630XlWAYp','appCode','\x20app\x20','430884HjGDUq','trim','string','init','Filter\x20by\x20environment\x20(default:\x20current\x20env)','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','raw','app','name','\x20is\x20deprecated.\x20Use\x20`','globalPath','args','No\x20cached\x20apps\x20found.','read','App\x20\x22','\x20app(s)\x20for\x20env=\x22','accessKey','Use\x20`','remote','Read\x20from\x20local\x20cache\x20only','str','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','env','enableI18n','41156CczLTd','local','Remote\x20app\x20name\x20to\x20activate','envName','Available\x20remote\x20apps:\x20','appPublishStatus','boolean','warn','.appcode\x20to\x20.lovrabet.json.','length','find','../../context.js','import','items','12CeoEcv','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','use','map','global','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','validation','24539900OPEXpb','\x20cached\x20app(s)\x20for\x20env=\x22','\x20app\x20use\x20<name>\x20[--global]','write','../../commands/app/remote-source.js','Read\x20app\x20list\x20from\x20local\x20cache\x20only'];a3_0x37d3=function(){return _0x1a1cda;};return a3_0x37d3();}
|
|
1
|
+
const a3_0xd9389e=a3_0x34c8;(function(_0x4b40ab,_0x58a850){const _0xc7e4ef=a3_0x34c8,_0x57b259=_0x4b40ab();while(!![]){try{const _0x25c9fa=-parseInt(_0xc7e4ef(0x99))/0x1*(-parseInt(_0xc7e4ef(0x8d))/0x2)+parseInt(_0xc7e4ef(0xc9))/0x3+parseInt(_0xc7e4ef(0x7e))/0x4*(-parseInt(_0xc7e4ef(0xd3))/0x5)+-parseInt(_0xc7e4ef(0x96))/0x6*(-parseInt(_0xc7e4ef(0x82))/0x7)+parseInt(_0xc7e4ef(0xc3))/0x8*(parseInt(_0xc7e4ef(0x9e))/0x9)+-parseInt(_0xc7e4ef(0xa4))/0xa*(parseInt(_0xc7e4ef(0x95))/0xb)+parseInt(_0xc7e4ef(0xb8))/0xc*(parseInt(_0xc7e4ef(0xac))/0xd);if(_0x25c9fa===_0x58a850)break;else _0x57b259['push'](_0x57b259['shift']());}catch(_0x1b4e09){_0x57b259['push'](_0x57b259['shift']());}}}(a3_0x11a3,0x40b1a));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';function a3_0x11a3(){const _0x5b44cc=['Use\x20global\x20config\x20scope','find','trim','12028YHPusP','Filter\x20by\x20environment\x20(default:\x20current\x20env)','App\x20\x22','map','7YUPWQk','../../context.js','Default\x20app\x20candidate\x20set\x20to\x20\x22','local','globalPath','pull','Include\x20unpublished\x20apps\x20for\x20diagnostics','appName','isArray','bool','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','274jIFeOJ','Usage:\x20','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Use\x20`','type','production','app','config','596387YNjHAZ','1806942qWWPMk','appCode','.appcode\x20to\x20.lovrabet.json.','1613AConml','envName','../../commands/app/remote-source.js','mergedCli','No\x20cached\x20apps\x20found.','12321LVRnGp','\x20cached\x20app(s)\x20for\x20env=\x22','appPublishStatus','str','isCurrent','Missing\x20app\x20name.','60Xashny','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','warn','write','env','import','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','nonInteractive','8086gzTBVK','boolean','enableI18n','project-default','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','appcode','Remote\x20app\x20name\x20to\x20activate','name','init','string','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','filter','1116qvwcYn','length','read','no-cache','\x20app\x20use\x20<name>\x20[--global]','Refreshed\x20app\x20cache\x20with\x20','Read\x20app\x20list\x20from\x20local\x20cache\x20only','validation','include-unpublished','appOwnerName','\x20is\x20deprecated.\x20Use\x20`','848kuLARe','fetchedAt','\x22\x20not\x20found.','source','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','cachePath','290187ncPLoL','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','use','from','../../commands/app/cache.js','\x20app(s)\x20for\x20env=\x22','push','items','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','remote','385vtwgQs','No\x20apps\x20found\x20on\x20the\x20platform.','args','i18nInfo','accessKey','cache','raw','Target\x20environment\x20(default:\x20current\x20env)','`\x20instead.','global'];a3_0x11a3=function(){return _0x5b44cc;};return a3_0x11a3();}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0xd9389e(0x7a),'type':'boolean','description':a3_0xd9389e(0x7b),'default':![]};function collectFlags(_0x180393,_0x4abfaa){const _0x361b7a=a3_0xd9389e,_0x331641={};for(const _0x3e9b56 of _0x4abfaa){const _0x5d409b=_0x3e9b56[_0x361b7a(0x91)]===_0x361b7a(0xad)?_0x180393[_0x361b7a(0x8b)](_0x3e9b56['name']):_0x180393[_0x361b7a(0xa1)](_0x3e9b56[_0x361b7a(0xb3)]);if(_0x5d409b!==''&&_0x5d409b!==![])_0x331641[_0x3e9b56['name']]=_0x5d409b;}if(_0x180393[_0x361b7a(0xab)])_0x331641[_0x361b7a(0xab)]=!![];return _0x331641;}function normalizeLanguages(_0x8779a6){const _0x526b37=a3_0xd9389e;if(!Array[_0x526b37(0x8a)](_0x8779a6))return[];return _0x8779a6[_0x526b37(0xb7)](_0x395ea9=>typeof _0x395ea9===_0x526b37(0xb5))[_0x526b37(0x81)](_0x58690f=>_0x58690f[_0x526b37(0x7d)]())[_0x526b37(0xb7)](Boolean);}function buildRemoteAppI18nFields(_0x531943){const _0x51b545=a3_0xd9389e,_0x57ffb2=normalizeLanguages(_0x531943[_0x51b545(0xd6)]?.['langs']);return{'enableI18n':typeof _0x531943[_0x51b545(0xae)]===_0x51b545(0xad)?_0x531943[_0x51b545(0xae)]:null,'languages':_0x57ffb2,'i18nInfo':_0x531943[_0x51b545(0xd6)]?{..._0x531943['i18nInfo'],'langs':_0x57ffb2['length']?_0x57ffb2:null}:null};}const initDef={'service':a3_0xd9389e(0x93),'command':a3_0xd9389e(0xb4),'description':a3_0xd9389e(0x8f),'risk':a3_0xd9389e(0xa7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x28c40e){const _0x136f6e=a3_0xd9389e;return warnDeprecatedAppCommand('init',CLI_BIN_NAME+_0x136f6e(0xd1)),await runInit(collectFlags(_0x28c40e,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':'app','command':'list','description':a3_0xd9389e(0xaa),'risk':a3_0xd9389e(0xba),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0xd9389e(0xa8),'type':'string','description':a3_0xd9389e(0x7f),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0xd9389e(0x85),'type':a3_0xd9389e(0xad),'description':a3_0xd9389e(0xbe),'default':![]},{'name':'no-cache','type':'boolean','description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':'include-unpublished','type':a3_0xd9389e(0xad),'description':a3_0xd9389e(0x88),'default':![]}],async 'execute'(_0x318c33){const _0x548421=a3_0xd9389e,_0x5dab80=_0x318c33[_0x548421(0xa1)](_0x548421(0xa8))||_0x318c33[_0x548421(0x9a)]||getEnv()||'production',_0x46b027=_0x318c33[_0x548421(0x8b)](_0x548421(0x85)),_0x5d8a09=_0x318c33['bool'](_0x548421(0xbb)),_0x2e4e70=_0x318c33[_0x548421(0x8b)](_0x548421(0xc0)),{readRawConfigWithLayers:_0x3f64ce,resolveDefaultAppSource:_0x481cc2,getLocalAppAliases:_0xfa11ff}=await import(_0x548421(0x83)),{getRemoteAppList:_0x4d8157}=await import('../../commands/app/remote-source.js'),{config:_0x2d1045,layers:_0xea3a0c}=_0x3f64ce(),_0xc62d52=_0x481cc2(_0xea3a0c),{defaultApp:_0x55a2c5}=_0x2d1045,_0x2df3eb=await _0x4d8157({'env':_0x5dab80,'accessKey':_0x318c33['accessKey'],'localOnly':_0x46b027,'noCache':_0x5d8a09}),_0xe368b6=_0x2e4e70?_0x2df3eb['items']:filterRuntimeAccessibleApps(_0x2df3eb[_0x548421(0xd0)]),_0x4b14d0=_0x2df3eb[_0x548421(0xd0)][_0x548421(0xb9)]-_0xe368b6[_0x548421(0xb9)],_0xa08ed3=_0xe368b6[_0x548421(0x81)](_0x202862=>{const _0x10bd59=_0x548421;return{'name':_0x202862['appName'],'appcode':_0x202862[_0x10bd59(0x97)],'named':!![],'definedIn':_0x10bd59(0xd2),'isDefault':_0x202862['appName']===_0x55a2c5,...buildAppProfileListFields(_0x5dab80),...buildRemoteAppI18nFields(_0x202862),'source':_0x2df3eb['source'],'owner':_0x202862[_0x10bd59(0xc1)]??null,'status':_0x202862[_0x10bd59(0xa0)]??null,'cachedAt':_0x2df3eb['fetchedAt']};}),_0x5c10b2=_0xfa11ff(_0x2d1045);let _0x23a816=0x0;for(const [_0x3b314a,_0x313e97]of Object['entries'](_0x5c10b2)){const _0x294483=typeof _0x313e97[_0x548421(0xb1)]===_0x548421(0xb5)?_0x313e97[_0x548421(0xb1)][_0x548421(0x7d)]():'';if(!_0x294483)continue;const _0x765974=findAppByCode(_0x2df3eb[_0x548421(0xd0)],_0x294483);if(!_0x2e4e70&&_0x765974&&!isRuntimeAccessibleApp(_0x765974))continue;_0x23a816+=0x1,_0xa08ed3[_0x548421(0xcf)]({'name':_0x3b314a,'appcode':_0x294483,'named':!![],'definedIn':_0x548421(0x85),'isDefault':_0x3b314a===_0x55a2c5,...buildAppProfileListFields(_0x5dab80),'source':_0x548421(0x94),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0xa08ed3,_0x318c33[_0x548421(0x9c)]);const _0x3be932=_0xa08ed3['find'](_0x327754=>_0x327754[_0x548421(0xa2)]===!![]),_0x4be74d=_0x55a2c5??_0x3be932?.['name']??null,_0x1eae9b={'env':_0x5dab80,'source':_0x2df3eb['source'],'fetchedAt':_0x2df3eb['fetchedAt'],'cachePath':_0x2df3eb[_0x548421(0xc8)],'globalPath':_0xea3a0c[_0x548421(0x86)]??null,'projectPath':_0xea3a0c['projectPath']??null,'defaultApp':_0x4be74d,'defaultAppSource':_0x55a2c5!=null?_0xc62d52:null,'localAliasCount':_0x23a816,'remoteTotal':_0x2df3eb[_0x548421(0xd0)]['length'],'hiddenUnpublishedCount':_0x4b14d0,'includeUnpublished':_0x2e4e70};if(_0xa08ed3[_0x548421(0xb9)]===0x0)return{'ok':!![],'data':{'items':_0xa08ed3,'meta':_0x1eae9b},'message':_0x2df3eb[_0x548421(0xc6)]===_0x548421(0x76)?_0x548421(0x9d):_0x548421(0xd4)};return{'ok':!![],'data':{'items':_0xa08ed3,'meta':_0x1eae9b}};}},pullDef={'service':'app','command':a3_0xd9389e(0x87),'description':a3_0xd9389e(0xa5),'risk':a3_0xd9389e(0xa7),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0xd9389e(0xa8),'type':a3_0xd9389e(0xb5),'description':a3_0xd9389e(0x78),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0xd9389e(0xad),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0xd9389e(0xbb),'type':a3_0xd9389e(0xad),'description':a3_0xd9389e(0xc7),'default':![]}],async 'execute'(_0x41c8f0){const _0x4154dc=a3_0xd9389e,_0x1b144a=_0x41c8f0[_0x4154dc(0xa1)](_0x4154dc(0xa8))||_0x41c8f0[_0x4154dc(0x9a)]||getEnv()||_0x4154dc(0x92),_0x57e4c1=_0x41c8f0['bool'](_0x4154dc(0x85)),_0x5072e3=_0x41c8f0[_0x4154dc(0x8b)](_0x4154dc(0xbb)),{getRemoteAppList:_0x5cb56d}=await import(_0x4154dc(0x9b)),_0x2dd0c6=await _0x5cb56d({'env':_0x1b144a,'accessKey':_0x41c8f0['accessKey'],'localOnly':_0x57e4c1,'noCache':_0x5072e3});return{'ok':!![],'data':{'total':_0x2dd0c6[_0x4154dc(0xd0)][_0x4154dc(0xb9)],'env':_0x1b144a,'source':_0x2dd0c6[_0x4154dc(0xc6)],'fetchedAt':_0x2dd0c6[_0x4154dc(0xc4)],'cachePath':_0x2dd0c6['cachePath']},'message':_0x2dd0c6[_0x4154dc(0xc6)]===_0x4154dc(0x76)?'Loaded\x20'+_0x2dd0c6[_0x4154dc(0xd0)][_0x4154dc(0xb9)]+_0x4154dc(0x9f)+_0x1b144a+'\x22.':_0x4154dc(0xbd)+_0x2dd0c6[_0x4154dc(0xd0)][_0x4154dc(0xb9)]+_0x4154dc(0xce)+_0x1b144a+'\x22.'};}},useDef={'service':a3_0xd9389e(0x93),'command':'use','description':a3_0xd9389e(0xb0),'risk':a3_0xd9389e(0xa7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0xd9389e(0xb3),'description':a3_0xd9389e(0xb2),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x4b3713){const _0x351907=a3_0xd9389e;if(!_0x4b3713[_0x351907(0xd5)][0x0])throw CliErrors[_0x351907(0xbf)]('Missing\x20app\x20name.',_0x351907(0x8e)+CLI_BIN_NAME+_0x351907(0xbc));},async 'execute'(_0xe8564b){const _0x15f3c1=a3_0xd9389e;warnDeprecatedAppCommand(_0x15f3c1(0xcb),CLI_BIN_NAME+_0x15f3c1(0x8c));const _0x2e0d54=_0xe8564b[_0x15f3c1(0xd5)][0x0];if(!_0x2e0d54)throw CliErrors[_0x15f3c1(0xbf)](_0x15f3c1(0xa3),'Usage:\x20'+CLI_BIN_NAME+_0x15f3c1(0xbc));const {buildConfigFromFlags:_0x1978a4,resolveLocalAppAliasCode:_0x350ecb}=await import(_0x15f3c1(0x83)),{readCachedAppList:_0x2f060f}=await import(_0x15f3c1(0xcd)),_0x2329ae=_0xe8564b[_0x15f3c1(0xa1)](_0x15f3c1(0xa8)),_0x312c54=_0x1978a4(_0x2329ae?{'env':_0x2329ae}:{}),_0x3009a3=_0x2f060f(_0x312c54[_0x15f3c1(0xa8)],_0x312c54[_0x15f3c1(0xd7)]),_0x3f0e10=_0x3009a3?.[_0x15f3c1(0xd0)][_0x15f3c1(0x7c)](_0x36a883=>_0x36a883['appName']===_0x2e0d54),_0x490f82=_0x350ecb(_0x312c54[_0x15f3c1(0x77)]??{},_0x2e0d54);if(_0x3f0e10&&!isRuntimeAccessibleApp(_0x3f0e10))throw runtimeInaccessibleAppError(_0x3f0e10,'\x22'+_0x2e0d54+'\x22');if(_0x490f82){const _0x534e87=_0x3009a3?.['items'][_0x15f3c1(0x7c)](_0xe755aa=>_0xe755aa[_0x15f3c1(0x97)]?.[_0x15f3c1(0x7d)]()===_0x490f82);if(_0x534e87&&!isRuntimeAccessibleApp(_0x534e87))throw runtimeInaccessibleAppError(_0x534e87,'\x22'+_0x2e0d54+'\x22');}if(!_0x3f0e10&&!_0x490f82&&_0x312c54['defaultApp']!==_0x2e0d54){const _0x4e711d=[..._0x3009a3?.[_0x15f3c1(0xd0)]['map'](_0xbb9bb0=>_0xbb9bb0[_0x15f3c1(0x89)])??[]],_0x1f34fe=_0x4e711d['length']===0x0?_0x15f3c1(0x90)+CLI_BIN_NAME+_0x15f3c1(0xb6)+_0x2e0d54+_0x15f3c1(0x98):'Available\x20remote\x20apps:\x20'+Array[_0x15f3c1(0xcc)](new Set(_0x4e711d))['join'](',\x20')+'.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.';throw CliErrors['validation'](_0x15f3c1(0x80)+_0x2e0d54+_0x15f3c1(0xc5),_0x1f34fe);}const _0x568883=_0xe8564b['bool'](_0x15f3c1(0x7a));let _0x84ad91;if(_0x568883)_0x84ad91={'global':!![]};else{const {isInProject:_0x3ed71d}=await import(_0x15f3c1(0x83)),_0x1c8bd2=_0x3ed71d();_0x84ad91=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x15f3c1(0xaf),'inProject':_0x1c8bd2}));}const _0x10bf73=readConfig(_0x84ad91);return _0x10bf73['defaultApp']=_0x2e0d54,writeConfig(_0x10bf73,_0x84ad91),{'ok':!![],'message':_0x15f3c1(0x84)+_0x2e0d54+'\x22'+scopeLabel(_0x84ad91)+'.'};}};function a3_0x34c8(_0x58ea13,_0x553204){_0x58ea13=_0x58ea13-0x76;const _0x11a3bd=a3_0x11a3();let _0x34c889=_0x11a3bd[_0x58ea13];return _0x34c889;}function warnDeprecatedAppCommand(_0x4b16c0,_0x315563){const _0x3f231f=a3_0xd9389e;console[_0x3f231f(0xa6)](CLI_BIN_NAME+'\x20app\x20'+_0x4b16c0+_0x3f231f(0xc2)+_0x315563+_0x3f231f(0x79));}const importDef={'service':a3_0xd9389e(0x93),'command':a3_0xd9389e(0xa9),'description':a3_0xd9389e(0xca),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x5650b4){return await runInitImport(collectFlags(_0x5650b4,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x47cc4c,_0x3c3261){const _0x2e4621=a4_0x3668,_0x49d2a2=_0x47cc4c();while(!![]){try{const _0x273fff=parseInt(_0x2e4621(0x11e))/0x1+parseInt(_0x2e4621(0x10b))/0x2*(parseInt(_0x2e4621(0x113))/0x3)+-parseInt(_0x2e4621(0x117))/0x4+parseInt(_0x2e4621(0x119))/0x5+-parseInt(_0x2e4621(0x110))/0x6+parseInt(_0x2e4621(0x116))/0x7*(parseInt(_0x2e4621(0x118))/0x8)+parseInt(_0x2e4621(0x10f))/0x9*(-parseInt(_0x2e4621(0x10c))/0xa);if(_0x273fff===_0x3c3261)break;else _0x49d2a2['push'](_0x49d2a2['shift']());}catch(_0x5284a5){_0x49d2a2['push'](_0x49d2a2['shift']());}}}(a4_0x3819,0xd3776));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x55468f){const _0x48de4c=a4_0x3668;if(typeof _0x55468f!==_0x48de4c(0x10a))return null;const _0x45f31a=_0x55468f[_0x48de4c(0x11c)]();return _0x45f31a?_0x45f31a[_0x48de4c(0x111)]():null;}function a4_0x3819(){const _0x425529=['\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','185119qVUslC','App\x20','UNKNOWN','appPublishStatus','string','290924ttlYhx','590SFAZfD','Current\x20status:\x20','filter','36279oDBeLP','7577376GpOhWN','toUpperCase','validation','15udHEgw','appName','appCode','35qnrehF','4808864VCweps','1840808kLCVcL','7530865PHopqL','find','.\x20Publish\x20the\x20app\x20before\x20using\x20','trim'];a4_0x3819=function(){return _0x425529;};return a4_0x3819();}export function isRuntimeAccessibleApp(_0x2cb4db){const _0x3bc687=a4_0x3668;return normalizeAppPublishStatus(_0x2cb4db[_0x3bc687(0x121)])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x3668(_0x1f4f9e,_0x512c7d){_0x1f4f9e=_0x1f4f9e-0x10a;const _0x38192b=a4_0x3819();let _0x3668d1=_0x38192b[_0x1f4f9e];return _0x3668d1;}export function filterRuntimeAccessibleApps(_0xe71261){const _0x2a5053=a4_0x3668;return _0xe71261[_0x2a5053(0x10e)](isRuntimeAccessibleApp);}export function findAppByName(_0x492de8,_0x50f74d){const _0x5e7586=a4_0x3668;return _0x492de8['find'](_0x23078d=>_0x23078d[_0x5e7586(0x114)]===_0x50f74d);}export function findAppByCode(_0x5db910,_0x1d1d00){const _0x1d9373=a4_0x3668,_0x52eeda=_0x1d1d00[_0x1d9373(0x11c)]();if(!_0x52eeda)return undefined;return _0x5db910[_0x1d9373(0x11a)](_0x439c51=>_0x439c51[_0x1d9373(0x115)]?.[_0x1d9373(0x11c)]()===_0x52eeda);}export function runtimeInaccessibleAppError(_0x458e07,_0x4f6450){const _0x5acb65=a4_0x3668,_0x565d98=normalizeAppPublishStatus(_0x458e07[_0x5acb65(0x121)])??_0x5acb65(0x120);return CliErrors[_0x5acb65(0x112)](_0x5acb65(0x11f)+_0x4f6450+_0x5acb65(0x11d),_0x5acb65(0x10d)+_0x565d98+_0x5acb65(0x11b)+CLI_BIN_NAME+'\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x503c3f,_0x47afb5){const _0xdd5e24=a5_0x2e33,_0x5112e0=_0x503c3f();while(!![]){try{const _0x426384=parseInt(_0xdd5e24(0xdd))/0x1*(parseInt(_0xdd5e24(0xda))/0x2)+parseInt(_0xdd5e24(0xd5))/0x3*(parseInt(_0xdd5e24(0xdf))/0x4)+parseInt(_0xdd5e24(0xd4))/0x5*(parseInt(_0xdd5e24(0xdc))/0x6)+-parseInt(_0xdd5e24(0xd8))/0x7+parseInt(_0xdd5e24(0xd6))/0x8+parseInt(_0xdd5e24(0xe0))/0x9*(-parseInt(_0xdd5e24(0xd9))/0xa)+parseInt(_0xdd5e24(0xd7))/0xb;if(_0x426384===_0x47afb5)break;else _0x5112e0['push'](_0x5112e0['shift']());}catch(_0x30c78a){_0x5112e0['push'](_0x5112e0['shift']());}}}(a5_0x352a,0x70ec2));function a5_0x2e33(_0x25fb16,_0x1b8400){_0x25fb16=_0x25fb16-0xd2;const _0x352aa6=a5_0x352a();let _0x2e33b0=_0x352aa6[_0x25fb16];return _0x2e33b0;}import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x352a(){const _0x322910=['802544AhToVH','10793893ELmOZT','6459845krXzQO','20MVXpIq','3436lwSKox','errorMsg','6lcVWgc','151tbbUpV','../../../mock/app-list.json','4276vpLLBK','3950469NBzwsl','utf-8','success','1185095gtgsym','1923vnQuRo'];a5_0x352a=function(){return _0x322910;};return a5_0x352a();}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x36ee35=a5_0x2e33,_0x10cc6a=join(__dirname,_0x36ee35(0xde)),_0x1adcbf=readFileSync(_0x10cc6a,_0x36ee35(0xd2));return JSON['parse'](_0x1adcbf);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x3d23fc=a5_0x2e33,_0x2c5bbf=getMockAppList();if(!_0x2c5bbf[_0x3d23fc(0xd3)])throw new Error('Mock\x20API\x20error:\x20'+_0x2c5bbf[_0x3d23fc(0xdb)]+'\x20('+_0x2c5bbf['errorCode']+')');return _0x2c5bbf['data']['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2bcf63,_0x36ed41){const _0xfdfa7=a6_0x4175,_0x408a2a=_0x2bcf63();while(!![]){try{const _0x4ae53f=parseInt(_0xfdfa7(0x167))/0x1*(-parseInt(_0xfdfa7(0x171))/0x2)+parseInt(_0xfdfa7(0x174))/0x3*(parseInt(_0xfdfa7(0x16d))/0x4)+-parseInt(_0xfdfa7(0x176))/0x5+-parseInt(_0xfdfa7(0x172))/0x6+parseInt(_0xfdfa7(0x168))/0x7+-parseInt(_0xfdfa7(0x173))/0x8*(-parseInt(_0xfdfa7(0x177))/0x9)+parseInt(_0xfdfa7(0x16a))/0xa;if(_0x4ae53f===_0x36ed41)break;else _0x408a2a['push'](_0x408a2a['shift']());}catch(_0x2d46a7){_0x408a2a['push'](_0x408a2a['shift']());}}}(a6_0x54f7,0x8d2af));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';function a6_0x4175(_0x4da5e2,_0x5961e3){_0x4da5e2=_0x4da5e2-0x167;const _0x54f728=a6_0x54f7();let _0x41756d=_0x54f728[_0x4da5e2];return _0x41756d;}function a6_0x54f7(){const _0x11e2c2=['4577805fLiidz','9laVTpb','688gpYSfj','2358076GqRhyB','remote','7253570oxSvtr','APP_LIST_SOURCE','toLowerCase','196RIurId','fetchedAt','mock','trim','2804BULmZN','848454OVDdAD','6484248SmqiOd','44511dSWswQ','items'];a6_0x54f7=function(){return _0x11e2c2;};return a6_0x54f7();}import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x1f843e=a6_0x4175,_0x9509da=(productEnv(_0x1f843e(0x16b))||'')[_0x1f843e(0x170)]()[_0x1f843e(0x16c)]();return _0x9509da==='mock';}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x11c151){const _0x1c9713=a6_0x4175,{env:_0x558750,accessKey:_0x2eafa0,localOnly:localOnly=![],noCache:noCache=![]}=_0x11c151,_0x16dc3f=readCachedAppList(_0x558750,_0x2eafa0),_0x3b439f=_0x2eafa0?.[_0x1c9713(0x170)]()?getAppCacheFilePath(_0x558750,_0x2eafa0):null;if(localOnly)return{'items':_0x16dc3f?.['items']??[],'source':'cache','fetchedAt':_0x16dc3f?.['fetchedAt']??null,'cachePath':_0x3b439f};try{const _0x486768=await getRemoteAppItems(),_0x1e260d=shouldUseMockRemoteApps()?_0x1c9713(0x16f):_0x1c9713(0x169),_0x3c4998=new Date()['toISOString'](),_0x40d536=_0x2eafa0?.[_0x1c9713(0x170)]()?writeCachedAppList(_0x558750,_0x2eafa0,{'env':_0x558750,'fetchedAt':_0x3c4998,'source':_0x1e260d,'items':_0x486768}):null;return{'items':_0x486768,'source':_0x1e260d,'fetchedAt':_0x3c4998,'cachePath':_0x40d536};}catch(_0x29bf5d){if(!noCache&&_0x16dc3f)return{'items':_0x16dc3f[_0x1c9713(0x175)],'source':'cache','fetchedAt':_0x16dc3f[_0x1c9713(0x16e)],'cachePath':_0x3b439f};throw _0x29bf5d;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1dd206,_0x5acdf5){const _0x1b1069=a7_0x6d3d,_0x1a5763=_0x1dd206();while(!![]){try{const _0x40b49f=parseInt(_0x1b1069(0x109))/0x1*(-parseInt(_0x1b1069(0x108))/0x2)+-parseInt(_0x1b1069(0x104))/0x3*(-parseInt(_0x1b1069(0x113))/0x4)+parseInt(_0x1b1069(0x117))/0x5*(parseInt(_0x1b1069(0x100))/0x6)+parseInt(_0x1b1069(0x110))/0x7+parseInt(_0x1b1069(0x102))/0x8+-parseInt(_0x1b1069(0x10a))/0x9*(-parseInt(_0x1b1069(0x105))/0xa)+parseInt(_0x1b1069(0x112))/0xb*(-parseInt(_0x1b1069(0x10e))/0xc);if(_0x40b49f===_0x5acdf5)break;else _0x1a5763['push'](_0x1a5763['shift']());}catch(_0x4abd32){_0x1a5763['push'](_0x1a5763['shift']());}}}(a7_0x4472,0x6404f));function a7_0x6d3d(_0x183ce9,_0x4c0508){_0x183ce9=_0x183ce9-0x100;const _0x4472d4=a7_0x4472();let _0x6d3d97=_0x4472d4[_0x183ce9];return _0x6d3d97;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{formatScopeLabel}from'../../commands/common/config-policy.js';export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0x4cde63,_0x53e746){const _0x2684e6=a7_0x6d3d;if(!_0x53e746)return;const _0x547538=!!(_0x53e746['currentApp']??_0x53e746[_0x2684e6(0x115)]);for(const _0x568d8a of _0x4cde63){_0x568d8a[_0x2684e6(0x10d)]=![];}const _0x108266=_0x53e746['appCode']!=null?String(_0x53e746[_0x2684e6(0x116)])[_0x2684e6(0x106)]():'';if(_0x547538){const _0x3b5f07=_0x53e746[_0x2684e6(0x103)]??_0x53e746['defaultApp'];if(_0x3b5f07){const _0xc9f712=_0x4cde63[_0x2684e6(0x111)](_0x5bbbd0=>_0x5bbbd0[_0x2684e6(0x101)]===!![]&&_0x5bbbd0['name']===_0x3b5f07&&_0x5bbbd0[_0x2684e6(0x107)]===_0x2684e6(0x10f)),_0x27888b=_0xc9f712??_0x4cde63[_0x2684e6(0x111)](_0x3d0c27=>_0x3d0c27['named']===!![]&&_0x3d0c27[_0x2684e6(0x10c)]===_0x3b5f07);if(_0x27888b){const _0x39158e=String(_0x27888b[_0x2684e6(0x118)]??'')['trim']();if(!_0x108266||_0x39158e===_0x108266){_0x27888b[_0x2684e6(0x10d)]=!![];return;}}}if(_0x108266){const _0x109375=_0x4cde63[_0x2684e6(0x111)](_0x48500c=>String(_0x48500c['appcode']??'')[_0x2684e6(0x106)]()===_0x108266);_0x109375&&(_0x109375[_0x2684e6(0x10d)]=!![]);}return;}if(!_0x108266)return;for(const _0x4f7064 of _0x4cde63){String(_0x4f7064[_0x2684e6(0x118)]??'')[_0x2684e6(0x106)]()===_0x108266&&(_0x4f7064[_0x2684e6(0x10d)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';function a7_0x4472(){const _0x5c40a8=['36405jeUFiV','appcode','114ZJLOfO','named','841088qemFgK','currentApp','1141323KuhWTI','30QkOHoL','trim','definedIn','2mPwUTu','581766kHMrow','1329381LoYMaw','global','name','isCurrent','12ILvsGm','local','5574800vwzOyV','find','13776829CEhmZy','8jQjZlB','project','defaultApp','appCode'];a7_0x4472=function(){return _0x5c40a8;};return a7_0x4472();}export function scopeLabel(_0x3ed0c2){const _0x325204=a7_0x6d3d;return formatScopeLabel(_0x3ed0c2['global']?_0x325204(0x10b):_0x325204(0x114));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a8_0x5ec566=a8_0x13df;(function(_0x39a6f0,_0x1bb051){const _0x4c0210=a8_0x13df,_0x39a1fd=_0x39a6f0();while(!![]){try{const _0x5e32e0=-parseInt(_0x4c0210(0x194))/0x1*(-parseInt(_0x4c0210(0x1a2))/0x2)+parseInt(_0x4c0210(0x19c))/0x3+parseInt(_0x4c0210(0x193))/0x4*(parseInt(_0x4c0210(0x18f))/0x5)+parseInt(_0x4c0210(0x192))/0x6*(-parseInt(_0x4c0210(0x1a1))/0x7)+parseInt(_0x4c0210(0x196))/0x8+-parseInt(_0x4c0210(0x191))/0x9*(parseInt(_0x4c0210(0x19b))/0xa)+parseInt(_0x4c0210(0x19d))/0xb;if(_0x5e32e0===_0x1bb051)break;else _0x39a1fd['push'](_0x39a1fd['shift']());}catch(_0x5e1473){_0x39a1fd['push'](_0x39a1fd['shift']());}}}(a8_0x325d,0xceab6));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x325d(){const _0x3db642=['295024GuckDv','19xoJRyH','apiError','6978464bhkcVa','Unable\x20to\x20get\x20app-config\x20value:\x20key=','\x20app-config\x20get\x20<key>','key','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','8550YvLFEG','2298267ojdehT','5875188zHlsVQ','Usage:\x20','get','App\x20config\x20key','7WxnhKV','28486xbFVCQ','Missing\x20app-config\x20key.',',\x20appCode=','args','35TXBIGh','validation','10359TKvOFA','6772746UhQJSN'];a8_0x325d=function(){return _0x3db642;};return a8_0x325d();}import{CliErrors}from'../../errors.js';function a8_0x13df(_0x19ea68,_0x989835){_0x19ea68=_0x19ea68-0x18d;const _0x325d7e=a8_0x325d();let _0x13df8e=_0x325d7e[_0x19ea68];return _0x13df8e;}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':'app-config','command':a8_0x5ec566(0x19f),'description':a8_0x5ec566(0x19a),'risk':'read','args':[{'name':a8_0x5ec566(0x199),'description':a8_0x5ec566(0x1a0),'required':!![]}],'flags':[],async 'execute'(_0x4aba6d){const _0x21bcce=a8_0x5ec566,_0x16acba=_0x4aba6d[_0x21bcce(0x18e)][0x0]?.['trim']();if(!_0x16acba)throw CliErrors[_0x21bcce(0x190)](_0x21bcce(0x1a3),_0x21bcce(0x19e)+CLI_BIN_NAME+_0x21bcce(0x198));try{const _0xe4de6c=await getRuntimeAppConfigByKey(_0x4aba6d['appCode'],_0x16acba);return{'ok':!![],'data':_0xe4de6c};}catch{throw CliErrors[_0x21bcce(0x195)](_0x21bcce(0x197)+_0x16acba+_0x21bcce(0x18d)+_0x4aba6d['appCode'],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x17cec3,_0x4cd309){const _0xbfa460=a9_0x3dcd,_0x55709a=_0x17cec3();while(!![]){try{const _0x3eec7e=parseInt(_0xbfa460(0x13a))/0x1+parseInt(_0xbfa460(0x13e))/0x2*(parseInt(_0xbfa460(0x138))/0x3)+parseInt(_0xbfa460(0x13b))/0x4+-parseInt(_0xbfa460(0x141))/0x5*(parseInt(_0xbfa460(0x140))/0x6)+parseInt(_0xbfa460(0x13d))/0x7+-parseInt(_0xbfa460(0x13f))/0x8*(-parseInt(_0xbfa460(0x13c))/0x9)+-parseInt(_0xbfa460(0x139))/0xa;if(_0x3eec7e===_0x4cd309)break;else _0x55709a['push'](_0x55709a['shift']());}catch(_0x12696){_0x55709a['push'](_0x55709a['shift']());}}}(a9_0x52a1,0x87537));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x52a1(){const _0x14ca96=['840AhtnnG','24054MOzGoR','5eJAKWn','67587GoLXlk','28023320wgTsuG','471485oHjhYU','4205696rKilrB','78633yINGgz','2342116NJiStR','52PwkRtA'];a9_0x52a1=function(){return _0x14ca96;};return a9_0x52a1();}function a9_0x3dcd(_0x57a6f8,_0x38c033){_0x57a6f8=_0x57a6f8-0x138;const _0x52a1be=a9_0x52a1();let _0x3dcd79=_0x52a1be[_0x57a6f8];return _0x3dcd79;}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x513db9=a10_0x1681;(function(_0x37fa8d,_0x5e8997){const _0x1f1d05=a10_0x1681,_0x54c1c8=_0x37fa8d();while(!![]){try{const _0x4afc78=parseInt(_0x1f1d05(0x145))/0x1*(parseInt(_0x1f1d05(0x149))/0x2)+-parseInt(_0x1f1d05(0x13f))/0x3+parseInt(_0x1f1d05(0x15e))/0x4+parseInt(_0x1f1d05(0x15a))/0x5*(parseInt(_0x1f1d05(0x144))/0x6)+-parseInt(_0x1f1d05(0x152))/0x7+-parseInt(_0x1f1d05(0x16c))/0x8+parseInt(_0x1f1d05(0x168))/0x9;if(_0x4afc78===_0x5e8997)break;else _0x54c1c8['push'](_0x54c1c8['shift']());}catch(_0x50e83a){_0x54c1c8['push'](_0x54c1c8['shift']());}}}(a10_0x2798,0x64c9e));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_0x513db9(0x17f),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x513db9(0x14a),a10_0x513db9(0x153),'lodash',a10_0x513db9(0x182),'antd',a10_0x513db9(0x174)];function a10_0x1681(_0x1414d3,_0x1a08d4){_0x1414d3=_0x1414d3-0x130;const _0x279858=a10_0x2798();let _0x16816f=_0x279858[_0x1414d3];return _0x16816f;}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x513db9(0x151)](',\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_0x513db9(0x16d),'type':'string','required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':'name','type':a10_0x513db9(0x135),'description':a10_0x513db9(0x130)},METADATA_FLAG={'name':'metadata','type':a10_0x513db9(0x135),'description':a10_0x513db9(0x134)};function isPlainObject(_0xa395ae){const _0x2f44b7=a10_0x513db9;return typeof _0xa395ae===_0x2f44b7(0x167)&&_0xa395ae!==null&&!Array[_0x2f44b7(0x17e)](_0xa395ae);}function readSourceFile(_0x4bf008){const _0x4d084d=a10_0x513db9;if(!_0x4bf008)throw CliErrors[_0x4d084d(0x150)]('File\x20path\x20is\x20required.');if(!existsSync(_0x4bf008))throw CliErrors['validation'](_0x4d084d(0x165)+_0x4bf008);if(!statSync(_0x4bf008)[_0x4d084d(0x179)]())throw CliErrors['validation'](_0x4d084d(0x156)+_0x4bf008);const _0x585898=readFileSync(_0x4bf008,_0x4d084d(0x16a));return validateReactModuleSource(_0x585898),_0x585898;}function parseMetadata(_0x476b03){const _0x38c03b=a10_0x513db9;if(!_0x476b03)return undefined;let _0x2d3a00;try{_0x2d3a00=JSON[_0x38c03b(0x164)](_0x476b03);}catch{throw CliErrors[_0x38c03b(0x150)](_0x38c03b(0x16f)+_0x476b03);}if(!isPlainObject(_0x2d3a00))throw CliErrors['validation'](_0x38c03b(0x15d));const _0x1ed83f={..._0x2d3a00};return delete _0x1ed83f[_0x38c03b(0x14c)],_0x1ed83f;}function a10_0x2798(){const _0x381df9=['favorite','Artifact\x20ID','validation','join','3527601Kuvpir','react-dom','test','/client/artifact/create','File\x20is\x20not\x20a\x20regular\x20file:\x20','map','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','trim','169825MkxPbE','List\x20current-app\x20react_module\x20Artifacts','name','--metadata\x20must\x20be\x20a\x20JSON\x20object.','426212STSPPG','startsWith','update','data','content','number','parse','File\x20not\x20found:\x20','artifact','object','6934734DrHSqT','bool','utf8','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','1459704DGtZuU','file','Created\x20Artifact\x20','Invalid\x20JSON\x20for\x20--metadata:\x20','Optional\x20favorite-state\x20filter','some','list','includes','@ant-design/icons','verbose','artifactType','split','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','isFile','/update','read','appCode','description','isArray','AGENT','write','deleted','dayjs','num','add','Artifact\x20display\x20name','str','.\x20Unsupported:\x20','create','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','string','boolean','createTime','source','body','react_module\x20imports\x20are\x20limited\x20to:\x20','filter','build','detail','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','1015770WllMXr','flag','Updated\x20Artifact\x20','Preview:\x20create\x20react_module\x20Artifact','lastIndex','78tYYxyY','39734oMLTtC','metadata','POST','Artifact\x20source\x20file\x20is\x20blank.','6uUcMUG','react','updateTime','compiledContent','length'];a10_0x2798=function(){return _0x381df9;};return a10_0x2798();}function getPackageName(_0x14500d){const _0x105a36=a10_0x513db9;if(_0x14500d[_0x105a36(0x15f)]('@')){const [_0x1aadf0,_0x2741a8]=_0x14500d[_0x105a36(0x177)]('/');return _0x1aadf0&&_0x2741a8?_0x1aadf0+'/'+_0x2741a8:_0x14500d;}return _0x14500d['split']('/')[0x0]||_0x14500d;}function validateAllowedImports(_0x57ccb1){const _0x47de46=a10_0x513db9,_0x421250=new Set();for(const _0x1d044a of IMPORT_SOURCE_PATTERNS){_0x1d044a[_0x47de46(0x143)]=0x0;let _0x2cdff4;while((_0x2cdff4=_0x1d044a['exec'](_0x57ccb1))!==null){const _0x29f908=_0x2cdff4[0x1]?.[_0x47de46(0x159)]();_0x29f908&&_0x421250[_0x47de46(0x184)](_0x29f908);}}const _0x423c59=[..._0x421250]['map'](getPackageName)[_0x47de46(0x13b)](_0x12a4ea=>!ALLOWED_REACT_MODULE_IMPORTS[_0x47de46(0x173)](_0x12a4ea));if(_0x423c59[_0x47de46(0x14d)]>0x0)throw CliErrors[_0x47de46(0x150)](_0x47de46(0x13a)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x47de46(0x132)+[...new Set(_0x423c59)][_0x47de46(0x151)](',\x20'));}export function validateReactModuleSource(_0x528f79){const _0x35a59b=a10_0x513db9;if(!_0x528f79['trim']())throw CliErrors['validation'](_0x35a59b(0x148));if(PAGE_LEVEL_PATTERNS[_0x35a59b(0x171)](_0x17f092=>_0x17f092[_0x35a59b(0x154)](_0x528f79)))throw CliErrors[_0x35a59b(0x150)](_0x35a59b(0x16b));validateAllowedImports(_0x528f79);}function buildArtifactInput(_0x595010){const _0x3f682f=a10_0x513db9,_0x7511c7=readSourceFile(_0x595010[_0x3f682f(0x131)]('file')),_0x54c782=_0x595010[_0x3f682f(0x131)](_0x3f682f(0x15c))[_0x3f682f(0x159)](),_0x3abb5f=parseMetadata(_0x595010[_0x3f682f(0x131)](_0x3f682f(0x146)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x54c782?{'name':_0x54c782}:{},'content':_0x7511c7,..._0x3abb5f?{'metadata':_0x3abb5f}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x3a9942){const _0x394581=a10_0x513db9;return{'id':_0x3a9942['id'],'name':_0x3a9942[_0x394581(0x15c)],'artifactType':_0x3a9942[_0x394581(0x176)],'source':_0x3a9942['source'],'favorite':_0x3a9942[_0x394581(0x14e)],'deleted':_0x3a9942[_0x394581(0x181)],'createTime':_0x3a9942[_0x394581(0x137)],'updateTime':_0x3a9942[_0x394581(0x14b)]};}function detailArtifact(_0x4408ed){const _0x5d7d9a=a10_0x513db9;return{'id':_0x4408ed['id'],'appCode':_0x4408ed['appCode'],'name':_0x4408ed[_0x5d7d9a(0x15c)],'artifactType':_0x4408ed['artifactType'],'source':_0x4408ed['source'],'favorite':_0x4408ed[_0x5d7d9a(0x14e)],'deleted':_0x4408ed[_0x5d7d9a(0x181)],'content':_0x4408ed[_0x5d7d9a(0x162)]??'','compiledContent':_0x4408ed['compiledContent'],'metadata':_0x4408ed[_0x5d7d9a(0x146)]??{},'createTime':_0x4408ed['createTime'],'updateTime':_0x4408ed[_0x5d7d9a(0x14b)]};}function readFavoriteFlag(_0x356e18){const _0x4f1a1d=a10_0x513db9,_0x5babc1=_0x356e18[_0x4f1a1d(0x140)](_0x4f1a1d(0x14e));return _0x5babc1===undefined||_0x5babc1===null||_0x5babc1===''?undefined:_0x356e18[_0x4f1a1d(0x169)](_0x4f1a1d(0x14e));}const artifactList={'service':a10_0x513db9(0x166),'command':a10_0x513db9(0x172),'description':a10_0x513db9(0x15b),'risk':a10_0x513db9(0x17b),'flags':[{'name':a10_0x513db9(0x138),'type':'string','description':a10_0x513db9(0x178)},{'name':'favorite','type':a10_0x513db9(0x136),'description':a10_0x513db9(0x170)},VERBOSE_FLAG],async 'execute'(_0x4c2ecf){const _0x3e2233=a10_0x513db9,_0x32716e=await listRuntimeArtifacts(_0x4c2ecf[_0x3e2233(0x17c)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4c2ecf[_0x3e2233(0x131)](_0x3e2233(0x138))?{'source':_0x4c2ecf[_0x3e2233(0x131)](_0x3e2233(0x138))}:{},...readFavoriteFlag(_0x4c2ecf)!==undefined?{'favorite':readFavoriteFlag(_0x4c2ecf)}:{}});return{'ok':!![],'data':{'total':_0x32716e[_0x3e2233(0x14d)],'items':_0x4c2ecf[_0x3e2233(0x169)](_0x3e2233(0x175))?_0x32716e:_0x32716e[_0x3e2233(0x157)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x513db9(0x166),'command':a10_0x513db9(0x13d),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0x513db9(0x17b),'flags':[{...ID_FLAG,'description':a10_0x513db9(0x14f)}],async 'execute'(_0x33cb72){const _0xd313f6=a10_0x513db9,_0xf0df6c=await getRuntimeArtifact(_0x33cb72['num']('id'),_0x33cb72[_0xd313f6(0x17c)]);return{'ok':!![],'data':detailArtifact(_0xf0df6c)};}},artifactCreate={'service':'artifact','command':a10_0x513db9(0x133),'description':a10_0x513db9(0x13e),'risk':a10_0x513db9(0x180),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5e4bdd){const _0x1298dd=a10_0x513db9,_0x518827=buildArtifactInput(_0x5e4bdd),_0x34cf13=await createRuntimeArtifact(_0x5e4bdd['appCode'],_0x518827);return{'ok':!![],'data':detailArtifact(_0x34cf13),'message':_0x1298dd(0x16e)+_0x34cf13['id']+(_0x34cf13[_0x1298dd(0x15c)]?'\x20('+_0x34cf13[_0x1298dd(0x15c)]+')':'')};},async 'dryRun'(_0x3eeecf){const _0x130485=a10_0x513db9,_0x505648=buildArtifactInput(_0x3eeecf);return dryRun('POST',_0x130485(0x155))[_0x130485(0x139)]({'appCode':_0x3eeecf['appCode'],..._0x505648})[_0x130485(0x17d)](_0x130485(0x142))[_0x130485(0x13c)]();},'writeEventSubject'(_0x37789b){const _0x456096=a10_0x513db9,_0x112c24=_0x37789b[_0x456096(0x161)]?.['id'];if(typeof _0x112c24!==_0x456096(0x135)&&typeof _0x112c24!=='number')return undefined;return{'kind':_0x456096(0x166),'id':String(_0x112c24),'action':_0x456096(0x133)};}},artifactUpdate={'service':a10_0x513db9(0x166),'command':a10_0x513db9(0x160),'description':a10_0x513db9(0x158),'risk':a10_0x513db9(0x180),'flags':[{...ID_FLAG,'description':a10_0x513db9(0x14f)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x41fb6d){const _0x429243=a10_0x513db9,_0xdd3fd1=_0x41fb6d[_0x429243(0x183)]('id'),_0x384295=buildArtifactInput(_0x41fb6d),_0xc1b676=await updateRuntimeArtifact(_0xdd3fd1,_0x41fb6d[_0x429243(0x17c)],_0x384295);return{'ok':!![],'data':detailArtifact(_0xc1b676),'message':_0x429243(0x141)+_0xc1b676['id']+(_0xc1b676[_0x429243(0x15c)]?'\x20('+_0xc1b676[_0x429243(0x15c)]+')':'')};},async 'dryRun'(_0x29a9ff){const _0x12e76b=a10_0x513db9,_0x1ac7b1=_0x29a9ff[_0x12e76b(0x183)]('id'),_0x314b75=buildArtifactInput(_0x29a9ff);return dryRun(_0x12e76b(0x147),'/client/artifact/'+_0x1ac7b1+_0x12e76b(0x17a))[_0x12e76b(0x139)]({'appCode':_0x29a9ff[_0x12e76b(0x17c)],..._0x314b75})['description']('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x1ac7b1)[_0x12e76b(0x13c)]();},'writeEventSubject'(_0x5ec99e){const _0x21d766=a10_0x513db9,_0x399b8f=_0x5ec99e[_0x21d766(0x161)]?.['id'];if(typeof _0x399b8f!==_0x21d766(0x135)&&typeof _0x399b8f!==_0x21d766(0x163))return undefined;return{'kind':'artifact','id':String(_0x399b8f),'action':_0x21d766(0x160)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x2519e0=a10_0x6dc3;(function(_0x16075f,_0x3b0645){const _0x41a9dc=a10_0x6dc3,_0x5ce3e0=_0x16075f();while(!![]){try{const _0x536f55=parseInt(_0x41a9dc(0x22f))/0x1+parseInt(_0x41a9dc(0x1e0))/0x2*(-parseInt(_0x41a9dc(0x1fe))/0x3)+-parseInt(_0x41a9dc(0x200))/0x4+-parseInt(_0x41a9dc(0x229))/0x5+parseInt(_0x41a9dc(0x1f2))/0x6+parseInt(_0x41a9dc(0x207))/0x7+-parseInt(_0x41a9dc(0x22c))/0x8*(-parseInt(_0x41a9dc(0x209))/0x9);if(_0x536f55===_0x3b0645)break;else _0x5ce3e0['push'](_0x5ce3e0['shift']());}catch(_0x3b5195){_0x5ce3e0['push'](_0x5ce3e0['shift']());}}}(a10_0x3c64,0x63898));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';function a10_0x3c64(){const _0xf45491=['Preview:\x20update\x20react_module\x20Artifact\x20','metadata','Updated\x20Artifact\x20','/update','1869051Feootm','compiledContent','299680cgPWMh','favorite','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','content','react_module','/client/artifact/create','validation','753669AMaGaF','parse','6323049dKlkli','includes','Artifact\x20source\x20file\x20is\x20blank.','.\x20Unsupported:\x20','utf8','lodash','isFile','map','deleted','List\x20current-app\x20react_module\x20Artifacts','string','startsWith','@ant-design/icons','react_module\x20imports\x20are\x20limited\x20to:\x20','filter','update','Created\x20Artifact\x20','isArray','File\x20path\x20is\x20required.','bool','num','POST','Invalid\x20JSON\x20for\x20--metadata:\x20','Show\x20one\x20Artifact\x20by\x20id','str','Preview:\x20create\x20react_module\x20Artifact','write','artifact','Optional\x20favorite-state\x20filter','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Artifact\x20ID','number','2856830kktfzC','source','verbose','8Ygzyxx','createTime','boolean','419867nuiDdd','appCode','body','2aMwAxz','updateTime','name','add','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','antd','build','lastIndex','some','artifactType','object','flag','/client/artifact/','trim','Artifact\x20display\x20name','split','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','react','2681472BzFbPk','description','list','test','data','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','length','read'];a10_0x3c64=function(){return _0xf45491;};return a10_0x3c64();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a10_0x6dc3(_0xad3c1e,_0xe72d95){_0xad3c1e=_0xad3c1e-0x1df;const _0x3c64ee=a10_0x3c64();let _0x6dc310=_0x3c64ee[_0xad3c1e];return _0x6dc310;}const ARTIFACT_TYPE_REACT_MODULE=a10_0x2519e0(0x204),ARTIFACT_SOURCE_AGENT='AGENT',ALLOWED_REACT_MODULE_IMPORTS=[a10_0x2519e0(0x1f1),'react-dom',a10_0x2519e0(0x20e),'dayjs',a10_0x2519e0(0x1e5),a10_0x2519e0(0x215)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\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':'file','type':a10_0x2519e0(0x213),'required':!![],'description':a10_0x2519e0(0x226)},ARTIFACT_NAME_FLAG={'name':'name','type':a10_0x2519e0(0x213),'description':a10_0x2519e0(0x1ee)},METADATA_FLAG={'name':a10_0x2519e0(0x1fb),'type':a10_0x2519e0(0x213),'description':a10_0x2519e0(0x1e4)};function isPlainObject(_0xd23493){const _0x5295cc=a10_0x2519e0;return typeof _0xd23493===_0x5295cc(0x1ea)&&_0xd23493!==null&&!Array[_0x5295cc(0x21a)](_0xd23493);}function readSourceFile(_0x59f688){const _0x14df53=a10_0x2519e0;if(!_0x59f688)throw CliErrors[_0x14df53(0x206)](_0x14df53(0x21b));if(!existsSync(_0x59f688))throw CliErrors[_0x14df53(0x206)]('File\x20not\x20found:\x20'+_0x59f688);if(!statSync(_0x59f688)[_0x14df53(0x20f)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x59f688);const _0x58244f=readFileSync(_0x59f688,_0x14df53(0x20d));return validateReactModuleSource(_0x58244f),_0x58244f;}function parseMetadata(_0x39003d){const _0x561da3=a10_0x2519e0;if(!_0x39003d)return undefined;let _0x502c08;try{_0x502c08=JSON[_0x561da3(0x208)](_0x39003d);}catch{throw CliErrors[_0x561da3(0x206)](_0x561da3(0x21f)+_0x39003d);}if(!isPlainObject(_0x502c08))throw CliErrors[_0x561da3(0x206)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x2b441f={..._0x502c08};return delete _0x2b441f[_0x561da3(0x1ff)],_0x2b441f;}function getPackageName(_0xf01268){const _0x5ed2a5=a10_0x2519e0;if(_0xf01268[_0x5ed2a5(0x214)]('@')){const [_0x1d3130,_0x254e74]=_0xf01268[_0x5ed2a5(0x1ef)]('/');return _0x1d3130&&_0x254e74?_0x1d3130+'/'+_0x254e74:_0xf01268;}return _0xf01268[_0x5ed2a5(0x1ef)]('/')[0x0]||_0xf01268;}function validateAllowedImports(_0x1b4f62){const _0x4c3d82=a10_0x2519e0,_0x284345=new Set();for(const _0x35ab59 of IMPORT_SOURCE_PATTERNS){_0x35ab59[_0x4c3d82(0x1e7)]=0x0;let _0x4078cc;while((_0x4078cc=_0x35ab59['exec'](_0x1b4f62))!==null){const _0x12b987=_0x4078cc[0x1]?.['trim']();_0x12b987&&_0x284345[_0x4c3d82(0x1e3)](_0x12b987);}}const _0x575684=[..._0x284345][_0x4c3d82(0x210)](getPackageName)[_0x4c3d82(0x217)](_0x51e9fb=>!ALLOWED_REACT_MODULE_IMPORTS[_0x4c3d82(0x20a)](_0x51e9fb));if(_0x575684[_0x4c3d82(0x1f8)]>0x0)throw CliErrors[_0x4c3d82(0x206)](_0x4c3d82(0x216)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x4c3d82(0x20c)+[...new Set(_0x575684)]['join'](',\x20'));}export function validateReactModuleSource(_0x548815){const _0x15f41c=a10_0x2519e0;if(!_0x548815['trim']())throw CliErrors[_0x15f41c(0x206)](_0x15f41c(0x20b));if(PAGE_LEVEL_PATTERNS[_0x15f41c(0x1e8)](_0x305d1b=>_0x305d1b[_0x15f41c(0x1f5)](_0x548815)))throw CliErrors[_0x15f41c(0x206)](_0x15f41c(0x1f7));validateAllowedImports(_0x548815);}function buildArtifactInput(_0xd55cf2){const _0x303028=a10_0x2519e0,_0x4afef1=readSourceFile(_0xd55cf2[_0x303028(0x221)]('file')),_0x1ce8f8=_0xd55cf2[_0x303028(0x221)]('name')[_0x303028(0x1ed)](),_0x5c215f=parseMetadata(_0xd55cf2['str'](_0x303028(0x1fb)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1ce8f8?{'name':_0x1ce8f8}:{},'content':_0x4afef1,..._0x5c215f?{'metadata':_0x5c215f}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2d4fbe){const _0x487e48=a10_0x2519e0;return{'id':_0x2d4fbe['id'],'name':_0x2d4fbe['name'],'artifactType':_0x2d4fbe[_0x487e48(0x1e9)],'source':_0x2d4fbe[_0x487e48(0x22a)],'favorite':_0x2d4fbe[_0x487e48(0x201)],'deleted':_0x2d4fbe['deleted'],'createTime':_0x2d4fbe['createTime'],'updateTime':_0x2d4fbe[_0x487e48(0x1e1)]};}function detailArtifact(_0x4b071a){const _0x29f54d=a10_0x2519e0;return{'id':_0x4b071a['id'],'appCode':_0x4b071a[_0x29f54d(0x230)],'name':_0x4b071a[_0x29f54d(0x1e2)],'artifactType':_0x4b071a[_0x29f54d(0x1e9)],'source':_0x4b071a[_0x29f54d(0x22a)],'favorite':_0x4b071a[_0x29f54d(0x201)],'deleted':_0x4b071a[_0x29f54d(0x211)],'content':_0x4b071a[_0x29f54d(0x203)]??'','compiledContent':_0x4b071a[_0x29f54d(0x1ff)],'metadata':_0x4b071a[_0x29f54d(0x1fb)]??{},'createTime':_0x4b071a[_0x29f54d(0x22d)],'updateTime':_0x4b071a[_0x29f54d(0x1e1)]};}function readFavoriteFlag(_0x57a9a5){const _0x252cab=a10_0x2519e0,_0x5c6645=_0x57a9a5[_0x252cab(0x1eb)](_0x252cab(0x201));return _0x5c6645===undefined||_0x5c6645===null||_0x5c6645===''?undefined:_0x57a9a5[_0x252cab(0x21c)]('favorite');}const artifactList={'service':a10_0x2519e0(0x224),'command':a10_0x2519e0(0x1f4),'description':a10_0x2519e0(0x212),'risk':a10_0x2519e0(0x1f9),'flags':[{'name':a10_0x2519e0(0x22a),'type':a10_0x2519e0(0x213),'description':a10_0x2519e0(0x1f0)},{'name':'favorite','type':a10_0x2519e0(0x22e),'description':a10_0x2519e0(0x225)},VERBOSE_FLAG],async 'execute'(_0x303ad0){const _0x23a6b7=a10_0x2519e0,_0x35fd51=await listRuntimeArtifacts(_0x303ad0['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x303ad0[_0x23a6b7(0x221)](_0x23a6b7(0x22a))?{'source':_0x303ad0[_0x23a6b7(0x221)]('source')}:{},...readFavoriteFlag(_0x303ad0)!==undefined?{'favorite':readFavoriteFlag(_0x303ad0)}:{}});return{'ok':!![],'data':{'total':_0x35fd51[_0x23a6b7(0x1f8)],'items':_0x303ad0[_0x23a6b7(0x21c)](_0x23a6b7(0x22b))?_0x35fd51:_0x35fd51['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x2519e0(0x224),'command':'detail','description':a10_0x2519e0(0x220),'risk':a10_0x2519e0(0x1f9),'flags':[{...ID_FLAG,'description':a10_0x2519e0(0x227)}],async 'execute'(_0x2337aa){const _0x2b5bfa=a10_0x2519e0,_0x5bc8cf=await getRuntimeArtifact(_0x2337aa[_0x2b5bfa(0x21d)]('id'),_0x2337aa[_0x2b5bfa(0x230)]);return{'ok':!![],'data':detailArtifact(_0x5bc8cf)};}},artifactCreate={'service':a10_0x2519e0(0x224),'command':'create','description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x2519e0(0x223),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xe26a7){const _0x45d4ad=a10_0x2519e0,_0x3880d3=buildArtifactInput(_0xe26a7),_0x29b060=await createRuntimeArtifact(_0xe26a7[_0x45d4ad(0x230)],_0x3880d3);return{'ok':!![],'data':detailArtifact(_0x29b060),'message':_0x45d4ad(0x219)+_0x29b060['id']+(_0x29b060[_0x45d4ad(0x1e2)]?'\x20('+_0x29b060[_0x45d4ad(0x1e2)]+')':'')};},async 'dryRun'(_0x57f9ad){const _0x4c91fa=a10_0x2519e0,_0x108889=buildArtifactInput(_0x57f9ad);return dryRun(_0x4c91fa(0x21e),_0x4c91fa(0x205))['body']({'appCode':_0x57f9ad[_0x4c91fa(0x230)],..._0x108889})[_0x4c91fa(0x1f3)](_0x4c91fa(0x222))[_0x4c91fa(0x1e6)]();},'writeEventSubject'(_0x4f24de){const _0x72cd87=a10_0x2519e0,_0x21ef7a=_0x4f24de['data']?.['id'];if(typeof _0x21ef7a!=='string'&&typeof _0x21ef7a!==_0x72cd87(0x228))return undefined;return{'kind':_0x72cd87(0x224),'id':String(_0x21ef7a),'action':'create'};}},artifactUpdate={'service':a10_0x2519e0(0x224),'command':a10_0x2519e0(0x218),'description':a10_0x2519e0(0x202),'risk':'write','flags':[{...ID_FLAG,'description':a10_0x2519e0(0x227)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x136504){const _0x112530=a10_0x2519e0,_0x140b3f=_0x136504[_0x112530(0x21d)]('id'),_0x5254f7=buildArtifactInput(_0x136504),_0x59a56f=await updateRuntimeArtifact(_0x140b3f,_0x136504[_0x112530(0x230)],_0x5254f7);return{'ok':!![],'data':detailArtifact(_0x59a56f),'message':_0x112530(0x1fc)+_0x59a56f['id']+(_0x59a56f[_0x112530(0x1e2)]?'\x20('+_0x59a56f[_0x112530(0x1e2)]+')':'')};},async 'dryRun'(_0x519c35){const _0x17897c=a10_0x2519e0,_0x1ef314=_0x519c35[_0x17897c(0x21d)]('id'),_0x29595e=buildArtifactInput(_0x519c35);return dryRun(_0x17897c(0x21e),_0x17897c(0x1ec)+_0x1ef314+_0x17897c(0x1fd))[_0x17897c(0x1df)]({'appCode':_0x519c35[_0x17897c(0x230)],..._0x29595e})['description'](_0x17897c(0x1fa)+_0x1ef314)[_0x17897c(0x1e6)]();},'writeEventSubject'(_0xae65da){const _0x29feb3=a10_0x2519e0,_0x24c640=_0xae65da[_0x29feb3(0x1f6)]?.['id'];if(typeof _0x24c640!==_0x29feb3(0x213)&&typeof _0x24c640!==_0x29feb3(0x228))return undefined;return{'kind':'artifact','id':String(_0x24c640),'action':_0x29feb3(0x218)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x5d43c8=a11_0x21a3;(function(_0x4fa719,_0x38985d){const _0x2b7413=a11_0x21a3,_0x35db0a=_0x4fa719();while(!![]){try{const _0x1cf2f0=-parseInt(_0x2b7413(0x200))/0x1*(parseInt(_0x2b7413(0x1fb))/0x2)+parseInt(_0x2b7413(0x1f0))/0x3*(-parseInt(_0x2b7413(0x1e9))/0x4)+-parseInt(_0x2b7413(0x1d0))/0x5*(-parseInt(_0x2b7413(0x1fa))/0x6)+-parseInt(_0x2b7413(0x20c))/0x7+parseInt(_0x2b7413(0x1ca))/0x8*(-parseInt(_0x2b7413(0x1f5))/0x9)+parseInt(_0x2b7413(0x20b))/0xa*(-parseInt(_0x2b7413(0x201))/0xb)+parseInt(_0x2b7413(0x1fd))/0xc;if(_0x1cf2f0===_0x38985d)break;else _0x35db0a['push'](_0x35db0a['shift']());}catch(_0x59ebdc){_0x35db0a['push'](_0x35db0a['shift']());}}}(a11_0x5521,0x1f3c8));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';function a11_0x5521(){const _0x3743d1=['string','stderr','status','abort','aborted','log','global-default','Invalid\x20device\x20auth\x20response','project','After\x20authorizing,\x20re-run:\x20','removeListener','utf8','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Write\x20to\x20global\x20config\x20(default)','toISOString','bool','3160EAefLP','global','validation','\x20config.','data','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','111SKYxpy','apiError','Device\x20authorization\x20cancelled.','str','/api/device-auth/token','37017FjcvBQ','parse','/device-auth?code=','networkError','now','1428846dlpavx','429878vsRtSc','),\x20retrying...','6462516LYUFth','url-only','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','1pDcLpO','11bjtCDF','scope','test','SIGINT','nonInteractive','device','stringify','code','boolean','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','1606190idqtJO','1621291CRxqeq','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','success','signal','source','lovrabet-cli','padStart','\x20remaining','&source=','write','/.device-auth','\x0dWaiting\x20for\x20authorization...\x20','24TNvKHt','json','expired','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','Write\x20to\x20project\x20config','5CEMlnE','Device\x20auth\x20API\x20error\x20(','cancelled','AbortError','application/json','access_key','Verify:\x20','createdAt','once'];a11_0x5521=function(){return _0x3743d1;};return a11_0x5521();}function a11_0x21a3(_0x205862,_0x57c08f){_0x205862=_0x205862-0x1c7;const _0x5521ca=a11_0x5521();let _0x21a3be=_0x5521ca[_0x205862];return _0x21a3be;}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(_0x11b686){const _0xfc515b=a11_0x21a3;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x11b686[_0xfc515b(0x1e8)](_0xfc515b(0x1ea)),'explicitProject':_0x11b686[_0xfc515b(0x1e8)](_0xfc515b(0x1e1)),'policy':_0xfc515b(0x1df)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x104d6f,_0x15b929,_0x35dc81=a11_0x5d43c8(0x211)){const _0x333acc=a11_0x5d43c8;return _0x104d6f+_0x333acc(0x1f7)+encodeURIComponent(_0x15b929)+_0x333acc(0x214)+encodeURIComponent(_0x35dc81);}export function getDeviceCodePath(){const _0x3763eb=a11_0x5d43c8;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x3763eb(0x1c8);}export function readStoredDeviceCode(){const _0x2ea240=a11_0x5d43c8,_0x2db3dc=getDeviceCodePath();if(!existsSync(_0x2db3dc))return null;try{const _0x15c376=readFileSync(_0x2db3dc,{'encoding':'utf8'}),_0x3b20d7=JSON[_0x2ea240(0x1f6)](_0x15c376);if(_0x3b20d7&&typeof _0x3b20d7[_0x2ea240(0x208)]==='string'&&typeof _0x3b20d7[_0x2ea240(0x1d7)]===_0x2ea240(0x1d9)&&(_0x3b20d7['scope']===_0x2ea240(0x1ea)||_0x3b20d7[_0x2ea240(0x202)]===_0x2ea240(0x1e1)))return _0x3b20d7;}catch{}return null;}export function writeStoredDeviceCode(_0x561050,_0x1eecf4){const _0x148ed3=a11_0x5d43c8,_0x166547=getDeviceCodePath(),_0x347fd5=dirname(_0x166547);!existsSync(_0x347fd5)&&mkdirSync(_0x347fd5,{'recursive':!![]});const _0xc102c5={'code':_0x561050,'createdAt':new Date()[_0x148ed3(0x1e7)](),'scope':_0x1eecf4};writeFileSync(_0x166547,JSON[_0x148ed3(0x207)](_0xc102c5),{'encoding':_0x148ed3(0x1e4),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x4d4697=getDeviceCodePath();try{unlinkSync(_0x4d4697);}catch{}}export function isStoredDeviceCodeExpired(_0x54345e){const _0x1bb635=a11_0x5d43c8;return Date[_0x1bb635(0x1f9)]()-new Date(_0x54345e[_0x1bb635(0x1d7)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x43ad30,_0x42be9a){const _0xf3aaad=a11_0x5d43c8,_0x4f8c1e=_0x43ad30+_0xf3aaad(0x1f4),_0x920493=new AbortController(),_0x4df4c6=setTimeout(()=>_0x920493['abort'](),0x2710),_0x541c9d=await fetch(_0x4f8c1e,{'method':'POST','headers':{'Content-Type':_0xf3aaad(0x1d4)},'body':JSON['stringify']({'code':_0x42be9a}),'signal':_0x920493['signal']});clearTimeout(_0x4df4c6);if(!_0x541c9d['ok'])throw CliErrors[_0xf3aaad(0x1f8)]('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x541c9d['status']);const _0x3f7937=await _0x541c9d[_0xf3aaad(0x1cb)](),_0xbfeef2=_0x3f7937[_0xf3aaad(0x1ed)]&&typeof _0x3f7937[_0xf3aaad(0x1ed)]==='object'?_0x3f7937[_0xf3aaad(0x1ed)]:_0x3f7937;if(!_0xbfeef2||typeof _0xbfeef2['status']!=='string')throw CliErrors[_0xf3aaad(0x1f1)](_0xf3aaad(0x1e0));return{'status':_0xbfeef2[_0xf3aaad(0x1db)],'access_key':typeof _0xbfeef2[_0xf3aaad(0x1d5)]===_0xf3aaad(0x1d9)?_0xbfeef2[_0xf3aaad(0x1d5)]:undefined};}export async function pollDeviceToken(_0x16e775,_0x42a4e4,_0x37cc04){const _0x1f8165=a11_0x5d43c8;let _0x3c09b1=0x0;for(let _0x1265e7=0x0;_0x1265e7<MAX_POLLS;_0x1265e7++){if(_0x37cc04[_0x1f8165(0x1dd)])throw CliErrors[_0x1f8165(0x1d2)](_0x1f8165(0x1f2));let _0x403178;try{_0x403178=await fetchDeviceToken(_0x16e775,_0x42a4e4);}catch(_0x2edd9f){if(_0x2edd9f instanceof Error&&_0x2edd9f['name']===_0x1f8165(0x1d3))throw CliErrors[_0x1f8165(0x1d2)](_0x1f8165(0x1f2));_0x3c09b1++;if(_0x3c09b1>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1f8165(0x1f8)](_0x1f8165(0x1ce));writeCliSideChannelLine(_0x1f8165(0x1d1)+_0x3c09b1+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1f8165(0x1fc)),await sleep(POLL_INTERVAL_MS);continue;}_0x3c09b1=0x0;if(_0x403178[_0x1f8165(0x1db)]===_0x1f8165(0x20e)){if(!_0x403178[_0x1f8165(0x1d5)])throw CliErrors[_0x1f8165(0x1f1)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x403178[_0x1f8165(0x1d5)];}if(_0x403178[_0x1f8165(0x1db)]===_0x1f8165(0x1cc)){deleteStoredDeviceCode();throw CliErrors[_0x1f8165(0x1eb)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x3a6563=(_0x1265e7+0x1)*POLL_INTERVAL_MS,_0x3a7500=DEVICE_CODE_TTL_MS-_0x3a6563,_0x302694=Math['floor'](_0x3a7500/0xea60),_0x58c0e1=Math['floor'](_0x3a7500%0xea60/0x3e8);process['stderr'][_0x1f8165(0x1c7)](_0x1f8165(0x1c9)+_0x302694+':'+String(_0x58c0e1)[_0x1f8165(0x212)](0x2,'0')+_0x1f8165(0x213)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1f8165(0x1eb)](_0x1f8165(0x20a));}function sleep(_0x2f32d9){return new Promise(_0x5a114b=>setTimeout(_0x5a114b,_0x2f32d9));}export const authDeviceDefinition={'service':'auth','command':a11_0x5d43c8(0x206),'description':a11_0x5d43c8(0x1cd),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5d43c8(0x1ea),'type':a11_0x5d43c8(0x209),'description':a11_0x5d43c8(0x1e6),'default':!![]},{'name':'project','type':a11_0x5d43c8(0x209),'description':a11_0x5d43c8(0x1cf),'default':![]},{'name':a11_0x5d43c8(0x210),'type':a11_0x5d43c8(0x1d9),'description':a11_0x5d43c8(0x1e5),'default':a11_0x5d43c8(0x211)},{'name':a11_0x5d43c8(0x1fe),'type':a11_0x5d43c8(0x209),'description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x411f1f){const _0x89a888=a11_0x5d43c8,_0x562175=resolveAuthScopeFlags(_0x411f1f),_0x98dfa5=_0x562175['global']?_0x89a888(0x1ea):_0x89a888(0x1e1),_0x463499=readScopedConfig(_0x562175);if(_0x463499['accessKey'])return{'ok':!![],'message':_0x89a888(0x1ee)};const _0x25bac8=(_0x411f1f[_0x89a888(0x1f3)](_0x89a888(0x210))||_0x89a888(0x211))['trim'](),_0x55f291=getUserDomain(),_0x1f7426=readStoredDeviceCode(),_0x40734f=_0x1f7426&&!isStoredDeviceCodeExpired(_0x1f7426)?_0x1f7426[_0x89a888(0x208)]:((()=>{const _0x166b01=generateDeviceCode();return writeStoredDeviceCode(_0x166b01,_0x98dfa5),_0x166b01;})()),_0x3b9bc3=buildDeviceAuthUrl(_0x55f291,_0x40734f,_0x25bac8);if(_0x411f1f[_0x89a888(0x1e8)]('url-only'))return console[_0x89a888(0x1de)](_0x3b9bc3),{'ok':!![]};writeCliSideChannelLine(_0x89a888(0x1ef)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3b9bc3),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x89a888(0x20d));if(_0x411f1f[_0x89a888(0x205)])return writeCliSideChannelLine(_0x89a888(0x1e2)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x89a888(0x1ff)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x426342=new AbortController(),_0x227671=()=>{const _0x5ae9cd=_0x89a888;_0x426342[_0x5ae9cd(0x1dc)](),process[_0x5ae9cd(0x1e3)]('SIGINT',_0x227671);};process[_0x89a888(0x1d8)](_0x89a888(0x204),_0x227671);let _0x3c1bff;try{_0x3c1bff=await pollDeviceToken(_0x55f291,_0x40734f,_0x426342[_0x89a888(0x20f)]);}finally{process[_0x89a888(0x1e3)](_0x89a888(0x204),_0x227671);}if(!ACCESS_KEY_PATTERN[_0x89a888(0x203)](_0x3c1bff))throw CliErrors[_0x89a888(0x1f1)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x5c8319=readScopedConfig(_0x562175);return _0x5c8319['accessKey']=_0x3c1bff,writeScopedConfig(_0x5c8319,_0x562175),deleteStoredDeviceCode(),process[_0x89a888(0x1da)][_0x89a888(0x1c7)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x98dfa5+_0x89a888(0x1ec)),writeCliSideChannelLine(_0x89a888(0x1d6)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x50c07c=a11_0x456b;(function(_0x49d648,_0x5e4c0c){const _0x5e67a9=a11_0x456b,_0x527a87=_0x49d648();while(!![]){try{const _0x4d01fd=-parseInt(_0x5e67a9(0x183))/0x1*(parseInt(_0x5e67a9(0x1ad))/0x2)+-parseInt(_0x5e67a9(0x185))/0x3*(parseInt(_0x5e67a9(0x1a5))/0x4)+parseInt(_0x5e67a9(0x1c5))/0x5*(parseInt(_0x5e67a9(0x1ae))/0x6)+parseInt(_0x5e67a9(0x182))/0x7*(-parseInt(_0x5e67a9(0x1a8))/0x8)+-parseInt(_0x5e67a9(0x1b9))/0x9+parseInt(_0x5e67a9(0x1bf))/0xa*(parseInt(_0x5e67a9(0x191))/0xb)+parseInt(_0x5e67a9(0x1bb))/0xc;if(_0x4d01fd===_0x5e4c0c)break;else _0x527a87['push'](_0x527a87['shift']());}catch(_0x8fce50){_0x527a87['push'](_0x527a87['shift']());}}}(a11_0x45a7,0x99227));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';function a11_0x45a7(){const _0x1c8344=['source','lovrabet-cli','203SuSxNh','165229VjgfKe','expired','3685746SkMoFa','Invalid\x20access_key\x20returned\x20by\x20server.','createdAt','randomUUID','stderr','now','networkError','scope','padStart','bool','project','accessKey','11SfJDjH','Verify:\x20','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','object','string','url-only','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','/device-auth?code=','floor','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','removeListener','access_key','Invalid\x20device\x20auth\x20response','Write\x20to\x20global\x20config\x20(default)','\x0dWaiting\x20for\x20authorization...\x20','trim','global-default','data','status','log','4TySAOu','),\x20retrying...','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','187696pDaiQF','nonInteractive','\x20config.','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','10sidGNK','6MhxZan','name','&source=','auth','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','global','signal','device','write','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','apiError','638658wSJYUd','\x20auth\x20device','35870148UIFQEz','aborted','Device\x20authorization\x20cancelled.','json','3073340RvuAmH','SIGINT','stringify','/.device-auth','code','success','684065SoREtQ','abort','getTime','boolean','After\x20authorizing,\x20re-run:\x20','validation','application/json','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','POST','utf8','cancelled','Write\x20to\x20project\x20config'];a11_0x45a7=function(){return _0x1c8344;};return a11_0x45a7();}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(_0xb71945){const _0x1aee92=a11_0x456b;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0xb71945[_0x1aee92(0x18e)](_0x1aee92(0x1b3)),'explicitProject':_0xb71945[_0x1aee92(0x18e)]('project'),'policy':_0x1aee92(0x1a1)}));}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 _0x7c9d27=a11_0x456b;return crypto[_0x7c9d27(0x188)]();}export function buildDeviceAuthUrl(_0x1a9b1f,_0x1d5a92,_0x1a4b1d=a11_0x50c07c(0x181)){const _0x1c2bb2=a11_0x50c07c;return _0x1a9b1f+_0x1c2bb2(0x198)+encodeURIComponent(_0x1d5a92)+_0x1c2bb2(0x1b0)+encodeURIComponent(_0x1a4b1d);}function a11_0x456b(_0x4c49a4,_0x1f6194){_0x4c49a4=_0x4c49a4-0x177;const _0x45a7cd=a11_0x45a7();let _0x456bbe=_0x45a7cd[_0x4c49a4];return _0x456bbe;}export function getDeviceCodePath(){const _0x3420e3=a11_0x50c07c;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x3420e3(0x1c2);}export function readStoredDeviceCode(){const _0x342102=a11_0x50c07c,_0x56764d=getDeviceCodePath();if(!existsSync(_0x56764d))return null;try{const _0x175a54=readFileSync(_0x56764d,{'encoding':_0x342102(0x17d)}),_0x1f61b4=JSON['parse'](_0x175a54);if(_0x1f61b4&&typeof _0x1f61b4[_0x342102(0x1c3)]===_0x342102(0x195)&&typeof _0x1f61b4[_0x342102(0x187)]===_0x342102(0x195)&&(_0x1f61b4[_0x342102(0x18c)]===_0x342102(0x1b3)||_0x1f61b4['scope']===_0x342102(0x18f)))return _0x1f61b4;}catch{}return null;}export function writeStoredDeviceCode(_0x36fbd6,_0x1afba6){const _0x2871f5=a11_0x50c07c,_0xc8b0ff=getDeviceCodePath(),_0x196f21=dirname(_0xc8b0ff);!existsSync(_0x196f21)&&mkdirSync(_0x196f21,{'recursive':!![]});const _0x3d7c05={'code':_0x36fbd6,'createdAt':new Date()['toISOString'](),'scope':_0x1afba6};writeFileSync(_0xc8b0ff,JSON['stringify'](_0x3d7c05),{'encoding':_0x2871f5(0x17d),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x382252=getDeviceCodePath();try{unlinkSync(_0x382252);}catch{}}export function isStoredDeviceCodeExpired(_0x265498){const _0x3461bc=a11_0x50c07c;return Date[_0x3461bc(0x18a)]()-new Date(_0x265498[_0x3461bc(0x187)])[_0x3461bc(0x1c7)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x51ac9d,_0x43de47){const _0x344c12=a11_0x50c07c,_0x1882bf=_0x51ac9d+'/api/device-auth/token',_0x311969=new AbortController(),_0x33641e=setTimeout(()=>_0x311969[_0x344c12(0x1c6)](),0x2710),_0x5e33dc=await fetch(_0x1882bf,{'method':_0x344c12(0x17c),'headers':{'Content-Type':_0x344c12(0x17a)},'body':JSON[_0x344c12(0x1c1)]({'code':_0x43de47}),'signal':_0x311969[_0x344c12(0x1b4)]});clearTimeout(_0x33641e);if(!_0x5e33dc['ok'])throw CliErrors['networkError']('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x5e33dc[_0x344c12(0x1a3)]);const _0xf7938b=await _0x5e33dc[_0x344c12(0x1be)](),_0x36e36e=_0xf7938b['data']&&typeof _0xf7938b[_0x344c12(0x1a2)]===_0x344c12(0x194)?_0xf7938b['data']:_0xf7938b;if(!_0x36e36e||typeof _0x36e36e[_0x344c12(0x1a3)]!==_0x344c12(0x195))throw CliErrors['apiError'](_0x344c12(0x19d));return{'status':_0x36e36e['status'],'access_key':typeof _0x36e36e[_0x344c12(0x19c)]===_0x344c12(0x195)?_0x36e36e[_0x344c12(0x19c)]:undefined};}export async function pollDeviceToken(_0x495e61,_0x24156f,_0x69b12d){const _0xc9c662=a11_0x50c07c;let _0x2422d8=0x0;for(let _0x3ab806=0x0;_0x3ab806<MAX_POLLS;_0x3ab806++){if(_0x69b12d[_0xc9c662(0x1bc)])throw CliErrors[_0xc9c662(0x17e)](_0xc9c662(0x1bd));let _0x55fb5a;try{_0x55fb5a=await fetchDeviceToken(_0x495e61,_0x24156f);}catch(_0x4627ed){if(_0x4627ed instanceof Error&&_0x4627ed[_0xc9c662(0x1af)]==='AbortError')throw CliErrors[_0xc9c662(0x17e)](_0xc9c662(0x1bd));_0x2422d8++;if(_0x2422d8>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0xc9c662(0x18b)](_0xc9c662(0x1b2));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x2422d8+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0xc9c662(0x1a6)),await sleep(POLL_INTERVAL_MS);continue;}_0x2422d8=0x0;if(_0x55fb5a['status']===_0xc9c662(0x1c4)){if(!_0x55fb5a['access_key'])throw CliErrors[_0xc9c662(0x1b8)](_0xc9c662(0x186));return _0x55fb5a[_0xc9c662(0x19c)];}if(_0x55fb5a[_0xc9c662(0x1a3)]===_0xc9c662(0x184)){deleteStoredDeviceCode();throw CliErrors['validation'](_0xc9c662(0x197));}const _0x17a0db=(_0x3ab806+0x1)*POLL_INTERVAL_MS,_0x2864d2=DEVICE_CODE_TTL_MS-_0x17a0db,_0x12f408=Math[_0xc9c662(0x199)](_0x2864d2/0xea60),_0x4695e1=Math[_0xc9c662(0x199)](_0x2864d2%0xea60/0x3e8);process[_0xc9c662(0x189)][_0xc9c662(0x1b6)](_0xc9c662(0x19f)+_0x12f408+':'+String(_0x4695e1)[_0xc9c662(0x18d)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0xc9c662(0x179)](_0xc9c662(0x193));}function sleep(_0x13d2ed){return new Promise(_0x34b59f=>setTimeout(_0x34b59f,_0x13d2ed));}export const authDeviceDefinition={'service':a11_0x50c07c(0x1b1),'command':a11_0x50c07c(0x1b5),'description':a11_0x50c07c(0x1a7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a11_0x50c07c(0x177),'description':a11_0x50c07c(0x19e),'default':!![]},{'name':'project','type':'boolean','description':a11_0x50c07c(0x17f),'default':![]},{'name':'source','type':a11_0x50c07c(0x195),'description':a11_0x50c07c(0x1b7),'default':a11_0x50c07c(0x181)},{'name':a11_0x50c07c(0x196),'type':a11_0x50c07c(0x177),'description':a11_0x50c07c(0x1ab),'default':![]}],async 'execute'(_0x25d117){const _0xb07415=a11_0x50c07c,_0x280eba=resolveAuthScopeFlags(_0x25d117),_0x4ce595=_0x280eba['global']?_0xb07415(0x1b3):_0xb07415(0x18f),_0x45b59a=readScopedConfig(_0x280eba);if(_0x45b59a[_0xb07415(0x190)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x16b797=(_0x25d117['str'](_0xb07415(0x180))||'lovrabet-cli')[_0xb07415(0x1a0)](),_0x14bbdd=getUserDomain(),_0x5f2474=readStoredDeviceCode(),_0x5edc55=_0x5f2474&&!isStoredDeviceCodeExpired(_0x5f2474)?_0x5f2474['code']:((()=>{const _0x3cd9ea=generateDeviceCode();return writeStoredDeviceCode(_0x3cd9ea,_0x4ce595),_0x3cd9ea;})()),_0x1254a0=buildDeviceAuthUrl(_0x14bbdd,_0x5edc55,_0x16b797);if(_0x25d117[_0xb07415(0x18e)]('url-only'))return console[_0xb07415(0x1a4)](_0x1254a0),{'ok':!![]};writeCliSideChannelLine(_0xb07415(0x1ac)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x1254a0),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x25d117[_0xb07415(0x1a9)])return writeCliSideChannelLine(_0xb07415(0x178)+CLI_BIN_NAME+_0xb07415(0x1ba)),{'ok':!![],'message':_0xb07415(0x17b)};writeCliSideChannelLine(_0xb07415(0x19a));const _0x1a4fb6=new AbortController(),_0x22ffdb=()=>{const _0x486f09=_0xb07415;_0x1a4fb6[_0x486f09(0x1c6)](),process['removeListener'](_0x486f09(0x1c0),_0x22ffdb);};process['once']('SIGINT',_0x22ffdb);let _0x443463;try{_0x443463=await pollDeviceToken(_0x14bbdd,_0x5edc55,_0x1a4fb6[_0xb07415(0x1b4)]);}finally{process[_0xb07415(0x19b)](_0xb07415(0x1c0),_0x22ffdb);}if(!ACCESS_KEY_PATTERN['test'](_0x443463))throw CliErrors[_0xb07415(0x1b8)](_0xb07415(0x186));const _0x40e4e8=readScopedConfig(_0x280eba);return _0x40e4e8['accessKey']=_0x443463,writeScopedConfig(_0x40e4e8,_0x280eba),deleteStoredDeviceCode(),process[_0xb07415(0x189)][_0xb07415(0x1b6)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x4ce595+_0xb07415(0x1aa)),writeCliSideChannelLine(_0xb07415(0x192)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|