@lovrabet/lovrabet-cli 2.1.18-beta.2 → 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 +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/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.d.ts +7 -14
- 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_0x2e89bf=a1_0x9316;(function(_0x2c285a,_0x4ca34c){const _0x3e9450=a1_0x9316,_0x5bea37=_0x2c285a();while(!![]){try{const _0x4e9632=parseInt(_0x3e9450(0x226))/0x1*(-parseInt(_0x3e9450(0x20c))/0x2)+-parseInt(_0x3e9450(0x237))/0x3*(parseInt(_0x3e9450(0x23a))/0x4)+-parseInt(_0x3e9450(0x1e5))/0x5*(-parseInt(_0x3e9450(0x207))/0x6)+parseInt(_0x3e9450(0x218))/0x7*(-parseInt(_0x3e9450(0x215))/0x8)+-parseInt(_0x3e9450(0x202))/0x9*(parseInt(_0x3e9450(0x23e))/0xa)+-parseInt(_0x3e9450(0x1df))/0xb+-parseInt(_0x3e9450(0x1e7))/0xc*(-parseInt(_0x3e9450(0x1f2))/0xd);if(_0x4e9632===_0x4ca34c)break;else _0x5bea37['push'](_0x5bea37['shift']());}catch(_0x2d0d8b){_0x5bea37['push'](_0x5bea37['shift']());}}}(a1_0x36de,0x4448c));function a1_0x36de(){const _0x2f4592=['Returns\x20SQL\x20execution\x20payload','API\x20doc\x20code\x20not\x20found:\x20','21951iGpNPY','string','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','228GYXikD','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','230heCQgU','dataset_data_create','tableData\x20contains\x20records','method','length','custom_sql_execute','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','/api/{appCode}/{datasetCode}/getOne','##\x20Dataset\x20detail','includes','Create\x20dataset\x20record','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','POST','Dataset\x20detail','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Filter\x20dataset\x20data','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','validation','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','List\x20available\x20runtime\x20API\x20documentation\x20entries','需要向指定数据集新增一条业务数据时使用','path','Returns\x20script\x20business\x20payload','查询单条数据','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','result\x20rows\x20contain\x20aggregate\x20aliases','join','4517007KKCYxz','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','tableData\x20contains\x20dataset\x20id/code/name','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','{\x22fieldName\x22:\x22value\x22}','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','37190gBdQDk','summary','23772KtYfrp','获取数据集详情','创建数据','##\x20List\x20datasets','map','filter','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','read','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','appCode','11180dvPdLi','Aggregate\x20dataset\x20data','list','{\x22param\x22:\x22value\x22}','dataset_data_aggregate','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','32-character\x20dataset\x20code','keyword','str','/api/{appCode}/{datasetCode}/filter','/client/bff/endpoint/{appCode}/{functionName}','detail','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','Returns\x20one\x20matching\x20business\x20record','Show\x20runtime\x20API\x20documentation\x20by\x20code','77094Dizacb','GET','title','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','##\x20Aggregate\x20dataset\x20data','372SgtTYa','dataset_data_filter','category','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','/api/endpoint/{appCode}/{functionName}','2cQZsWs','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','dataset_detail','datasetCode','operations\x20describes\x20runtime\x20APIs','code','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','trim','dataset','857312CoWSXJ','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','35ygSUXx','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','functionName','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Execute\x20custom\x20SQL','whenToUse','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','List\x20datasets','None','条件过滤查询数据','执行自定义\x20SQL','toLowerCase','324580zqGYtA','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Get\x20BF\x20endpoint\x20function\x20contract','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','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','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','/api/dataset/get-dataset-list-by-app-code','Current\x20app\x20code','dataset_list','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','api-doc','bf_detail','Exact\x20endpoint\x20function\x20name','聚合查询数据集数据','分页获取数据集列表'];a1_0x36de=function(){return _0x2f4592;};return a1_0x36de();}import{CliErrors}from'../../errors.js';function a1_0x9316(_0x305494,_0x21345f){_0x305494=_0x305494-0x1cb;const _0x36de5c=a1_0x36de();let _0x9316f0=_0x36de5c[_0x305494];return _0x9316f0;}const CATEGORY_FLAG={'name':a1_0x2e89bf(0x209),'type':'string','description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x2e89bf(0x1f9),'type':a1_0x2e89bf(0x238),'description':a1_0x2e89bf(0x239)},DOC_CODE_FLAG={'name':a1_0x2e89bf(0x211),'type':a1_0x2e89bf(0x238),'required':!![],'description':a1_0x2e89bf(0x23c)},DOCS=[{'code':a1_0x2e89bf(0x22e),'category':a1_0x2e89bf(0x214),'title':a1_0x2e89bf(0x221),'method':a1_0x2e89bf(0x1d0),'path':a1_0x2e89bf(0x22c),'summary':a1_0x2e89bf(0x234),'whenToUse':a1_0x2e89bf(0x1e0),'pathParams':[],'queryParams':[],'bodySchema':a1_0x2e89bf(0x212),'responseHighlights':[a1_0x2e89bf(0x1e1),'paging.totalCount\x20gives\x20total\x20rows'],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x2e89bf(0x1f7)],'markdown':[a1_0x2e89bf(0x1ea),'',a1_0x2e89bf(0x227)]['join']('\x0a')},{'code':a1_0x2e89bf(0x20e),'category':a1_0x2e89bf(0x214),'title':a1_0x2e89bf(0x1d1),'method':a1_0x2e89bf(0x203),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x2e89bf(0x1e8),'whenToUse':a1_0x2e89bf(0x20a),'pathParams':[],'queryParams':[{'name':a1_0x2e89bf(0x211),'description':a1_0x2e89bf(0x1f8)}],'bodySchema':a1_0x2e89bf(0x222),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x2e89bf(0x219),a1_0x2e89bf(0x210)],'examples':[a1_0x2e89bf(0x1f0)],'notes':[a1_0x2e89bf(0x21f)],'markdown':[a1_0x2e89bf(0x1cc),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x2e89bf(0x1de)]('\x0a')},{'code':a1_0x2e89bf(0x208),'category':a1_0x2e89bf(0x214),'title':a1_0x2e89bf(0x1d3),'method':a1_0x2e89bf(0x1d0),'path':a1_0x2e89bf(0x1fb),'summary':a1_0x2e89bf(0x223),'whenToUse':a1_0x2e89bf(0x22f),'pathParams':[{'name':'appCode','description':a1_0x2e89bf(0x22d)},{'name':'datasetCode','description':a1_0x2e89bf(0x1f8)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x2e89bf(0x240),'paging\x20contains\x20pagination'],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27'],'notes':[a1_0x2e89bf(0x23d)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x2e89bf(0x1ee)][a1_0x2e89bf(0x1de)]('\x0a')},{'code':a1_0x2e89bf(0x1f6),'category':a1_0x2e89bf(0x214),'title':a1_0x2e89bf(0x1f3),'method':a1_0x2e89bf(0x1d0),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x2e89bf(0x233),'whenToUse':'需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','pathParams':[{'name':a1_0x2e89bf(0x1f1),'description':a1_0x2e89bf(0x22d)},{'name':a1_0x2e89bf(0x20f),'description':a1_0x2e89bf(0x1f8)}],'queryParams':[],'bodySchema':a1_0x2e89bf(0x1cf),'responseHighlights':[a1_0x2e89bf(0x1dd),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x2e89bf(0x22a)],'notes':[a1_0x2e89bf(0x23b),a1_0x2e89bf(0x1fe)],'markdown':[a1_0x2e89bf(0x206),'',a1_0x2e89bf(0x1dc)][a1_0x2e89bf(0x1de)]('\x0a')},{'code':'dataset_data_get_one','category':'dataset','title':'Get\x20one\x20dataset\x20record','method':'POST','path':a1_0x2e89bf(0x1cb),'summary':a1_0x2e89bf(0x1db),'whenToUse':a1_0x2e89bf(0x217),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x2e89bf(0x20f),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x2e89bf(0x200)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x2e89bf(0x1d4)],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x2e89bf(0x23f),'category':a1_0x2e89bf(0x214),'title':a1_0x2e89bf(0x1ce),'method':'POST','path':'/api/{appCode}/{datasetCode}/create','summary':a1_0x2e89bf(0x1e9),'whenToUse':a1_0x2e89bf(0x1d8),'pathParams':[{'name':a1_0x2e89bf(0x1f1),'description':a1_0x2e89bf(0x22d)},{'name':'datasetCode','description':a1_0x2e89bf(0x1f8)}],'queryParams':[],'bodySchema':a1_0x2e89bf(0x1e3),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x2e89bf(0x1e2)],'notes':[a1_0x2e89bf(0x1d6)],'markdown':a1_0x2e89bf(0x21c)},{'code':a1_0x2e89bf(0x231),'category':'bf','title':a1_0x2e89bf(0x228),'method':'GET','path':a1_0x2e89bf(0x1fc),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x2e89bf(0x205),'pathParams':[{'name':a1_0x2e89bf(0x1f1),'description':a1_0x2e89bf(0x22d)},{'name':a1_0x2e89bf(0x21a),'description':a1_0x2e89bf(0x232)}],'queryParams':[],'bodySchema':a1_0x2e89bf(0x222),'responseHighlights':[a1_0x2e89bf(0x1ed)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x2e89bf(0x1ff)],'markdown':a1_0x2e89bf(0x244)},{'code':'bf_execute','category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x2e89bf(0x1d0),'path':a1_0x2e89bf(0x20b),'summary':'执行指定\x20BF\x20函数','whenToUse':a1_0x2e89bf(0x220),'pathParams':[{'name':a1_0x2e89bf(0x1f1),'description':a1_0x2e89bf(0x22d)},{'name':a1_0x2e89bf(0x21a),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x2e89bf(0x1f5),'responseHighlights':[a1_0x2e89bf(0x1da)],'examples':[a1_0x2e89bf(0x229)],'notes':[a1_0x2e89bf(0x1d2)],'markdown':a1_0x2e89bf(0x1e4)},{'code':a1_0x2e89bf(0x243),'category':'custom_sql','title':a1_0x2e89bf(0x21d),'method':a1_0x2e89bf(0x1d0),'path':'/api/custom/executeSql','summary':a1_0x2e89bf(0x224),'whenToUse':a1_0x2e89bf(0x216),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x2e89bf(0x235)],'examples':[a1_0x2e89bf(0x21b)],'notes':[a1_0x2e89bf(0x20d)],'markdown':a1_0x2e89bf(0x22b)}];function entrySummary(_0x4b03ab){const _0x2d38cf=a1_0x2e89bf;return{'code':_0x4b03ab[_0x2d38cf(0x211)],'category':_0x4b03ab['category'],'method':_0x4b03ab['method'],'path':_0x4b03ab[_0x2d38cf(0x1d9)],'summary':_0x4b03ab[_0x2d38cf(0x1e6)],'whenToUse':_0x4b03ab[_0x2d38cf(0x21e)]};}export function listApiDocEntries(_0x37eb9d={}){const _0x3e8759=a1_0x2e89bf,_0x552c73=String(_0x37eb9d['category']||'')[_0x3e8759(0x213)](),_0x24a136=String(_0x37eb9d[_0x3e8759(0x1f9)]||'')[_0x3e8759(0x213)]()[_0x3e8759(0x225)]();return DOCS[_0x3e8759(0x1ec)](_0x467b46=>{const _0x5e4f03=_0x3e8759;if(_0x552c73&&_0x467b46[_0x5e4f03(0x209)]!==_0x552c73)return![];if(!_0x24a136)return!![];return[_0x467b46[_0x5e4f03(0x211)],_0x467b46[_0x5e4f03(0x209)],_0x467b46[_0x5e4f03(0x241)],_0x467b46['path'],_0x467b46[_0x5e4f03(0x1e6)],_0x467b46[_0x5e4f03(0x21e)],_0x467b46[_0x5e4f03(0x204)]][_0x5e4f03(0x1de)]('\x20')['toLowerCase']()[_0x5e4f03(0x1cd)](_0x24a136);})[_0x3e8759(0x1eb)](entrySummary);}export function getApiDocDetail(_0x1ede4c){const _0x36a810=a1_0x2e89bf,_0x1ad2cc=DOCS['find'](_0x2f816f=>_0x2f816f[_0x36a810(0x211)]===_0x1ede4c);if(!_0x1ad2cc)throw CliErrors[_0x36a810(0x1d5)](_0x36a810(0x236)+_0x1ede4c);return{..._0x1ad2cc};}const apiDocList={'service':a1_0x2e89bf(0x230),'command':a1_0x2e89bf(0x1f4),'description':a1_0x2e89bf(0x1d7),'risk':a1_0x2e89bf(0x1ef),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x41040f){const _0x55644f=a1_0x2e89bf,_0xc5d790=listApiDocEntries({'category':_0x41040f[_0x55644f(0x1fa)](_0x55644f(0x209)),'keyword':_0x41040f[_0x55644f(0x1fa)](_0x55644f(0x1f9))});return{'ok':!![],'data':{'total':_0xc5d790[_0x55644f(0x242)],'items':_0xc5d790}};}},apiDocDetail={'service':a1_0x2e89bf(0x230),'command':a1_0x2e89bf(0x1fd),'description':a1_0x2e89bf(0x201),'risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x366c28){const _0x452538=a1_0x2e89bf;return{'ok':!![],'data':getApiDocDetail(_0x366c28[_0x452538(0x1fa)]('code'))};}};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_0x521e79=a3_0x2997;(function(_0x5bc5fb,_0x2f5896){const _0x225b51=a3_0x2997,_0x269cc1=_0x5bc5fb();while(!![]){try{const _0x5612d5=parseInt(_0x225b51(0x193))/0x1+parseInt(_0x225b51(0x1c8))/0x2+parseInt(_0x225b51(0x190))/0x3+parseInt(_0x225b51(0x1a9))/0x4*(-parseInt(_0x225b51(0x1bc))/0x5)+parseInt(_0x225b51(0x1c4))/0x6+-parseInt(_0x225b51(0x1c9))/0x7*(-parseInt(_0x225b51(0x1cc))/0x8)+-parseInt(_0x225b51(0x1c6))/0x9*(parseInt(_0x225b51(0x1be))/0xa);if(_0x5612d5===_0x2f5896)break;else _0x269cc1['push'](_0x269cc1['shift']());}catch(_0x5297a5){_0x269cc1['push'](_0x269cc1['shift']());}}}(a3_0x4731,0x26267));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';function a3_0x4731(){const _0x271898=['Default\x20app\x20candidate\x20set\x20to\x20\x22','filter','join','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','appcode','Read\x20app\x20list\x20from\x20local\x20cache\x20only','nonInteractive','production','str','\x20app\x20','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','no-cache','Usage:\x20','appName','config','620772BfOeIv','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','source','288374alEBCd','Available\x20remote\x20apps:\x20','items','../../context.js','fetchedAt','../../commands/app/cache.js','envName','appPublishStatus','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','global','No\x20apps\x20found\x20on\x20the\x20platform.','boolean','push','Missing\x20app\x20name.','../../commands/app/remote-source.js','import','entries','local','app','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','name','pull','7116sukMzR','include-unpublished','string','cache','trim','\x20app(s)\x20for\x20env=\x22','Use\x20`','map','\x20is\x20deprecated.\x20Use\x20`','isCurrent','env','enableI18n','list','langs','mergedCli','App\x20\x22','appCode','project-default','cachePath','765mExDSF','use','1870nkiOVk','No\x20cached\x20apps\x20found.','init','.appcode\x20to\x20.lovrabet.json.','read','Loaded\x20','1097256TniWIy','\x20app\x20use\x20<name>\x20[--global]','15849EnGayU','length','94092CCoJPD','7OMfPnN','accessKey','defaultApp','260296GoDtus','bool','write','projectPath','appOwnerName'];a3_0x4731=function(){return _0x271898;};return a3_0x4731();}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_0x521e79(0x19c),'type':a3_0x521e79(0x19e),'description':'Use\x20global\x20config\x20scope','default':![]};function collectFlags(_0x427f5f,_0x3c0382){const _0x16f87d=a3_0x521e79,_0x12e9d2={};for(const _0xc0fede of _0x3c0382){const _0x480b99=_0xc0fede['type']===_0x16f87d(0x19e)?_0x427f5f[_0x16f87d(0x1cd)](_0xc0fede[_0x16f87d(0x1a7)]):_0x427f5f[_0x16f87d(0x189)](_0xc0fede[_0x16f87d(0x1a7)]);if(_0x480b99!==''&&_0x480b99!==![])_0x12e9d2[_0xc0fede[_0x16f87d(0x1a7)]]=_0x480b99;}if(_0x427f5f[_0x16f87d(0x187)])_0x12e9d2[_0x16f87d(0x187)]=!![];return _0x12e9d2;}function a3_0x2997(_0x1e3564,_0x5e78d9){_0x1e3564=_0x1e3564-0x17e;const _0x4731ae=a3_0x4731();let _0x299761=_0x4731ae[_0x1e3564];return _0x299761;}function normalizeLanguages(_0x116ad9){const _0x4dae1c=a3_0x521e79;if(!Array['isArray'](_0x116ad9))return[];return _0x116ad9[_0x4dae1c(0x182)](_0x9b7b84=>typeof _0x9b7b84==='string')['map'](_0x3b986a=>_0x3b986a[_0x4dae1c(0x1ad)]())[_0x4dae1c(0x182)](Boolean);}function buildRemoteAppI18nFields(_0x2648e2){const _0x57c71a=a3_0x521e79,_0x563897=normalizeLanguages(_0x2648e2['i18nInfo']?.[_0x57c71a(0x1b6)]);return{'enableI18n':typeof _0x2648e2[_0x57c71a(0x1b4)]===_0x57c71a(0x19e)?_0x2648e2[_0x57c71a(0x1b4)]:null,'languages':_0x563897,'i18nInfo':_0x2648e2['i18nInfo']?{..._0x2648e2['i18nInfo'],'langs':_0x563897[_0x57c71a(0x1c7)]?_0x563897:null}:null};}const initDef={'service':a3_0x521e79(0x1a5),'command':'init','description':'Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a3_0x521e79(0x17e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x88857c){const _0xf3c2df=a3_0x521e79;return warnDeprecatedAppCommand(_0xf3c2df(0x1c0),CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]'),await runInit(collectFlags(_0x88857c,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x521e79(0x1a5),'command':a3_0x521e79(0x1b5),'description':a3_0x521e79(0x184),'risk':a3_0x521e79(0x1c2),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x521e79(0x1b3),'type':a3_0x521e79(0x1ab),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x521e79(0x1a4),'type':a3_0x521e79(0x19e),'description':a3_0x521e79(0x186),'default':![]},{'name':a3_0x521e79(0x18c),'type':a3_0x521e79(0x19e),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x521e79(0x1aa),'type':a3_0x521e79(0x19e),'description':'Include\x20unpublished\x20apps\x20for\x20diagnostics','default':![]}],async 'execute'(_0x3dd16c){const _0x980c21=a3_0x521e79,_0x52e716=_0x3dd16c[_0x980c21(0x189)](_0x980c21(0x1b3))||_0x3dd16c[_0x980c21(0x199)]||getEnv()||_0x980c21(0x188),_0x13112c=_0x3dd16c[_0x980c21(0x1cd)](_0x980c21(0x1a4)),_0x1e4e7b=_0x3dd16c[_0x980c21(0x1cd)](_0x980c21(0x18c)),_0xcc00e4=_0x3dd16c[_0x980c21(0x1cd)]('include-unpublished'),{readRawConfigWithLayers:_0x503bd1,resolveDefaultAppSource:_0x3a8e85,getLocalAppAliases:_0x5d2142}=await import(_0x980c21(0x196)),{getRemoteAppList:_0x4068e1}=await import(_0x980c21(0x1a1)),{config:_0x4546fc,layers:_0x210140}=_0x503bd1(),_0x4a81ba=_0x3a8e85(_0x210140),{defaultApp:_0x2d22f9}=_0x4546fc,_0x11a476=await _0x4068e1({'env':_0x52e716,'accessKey':_0x3dd16c[_0x980c21(0x1ca)],'localOnly':_0x13112c,'noCache':_0x1e4e7b}),_0x1bb663=_0xcc00e4?_0x11a476[_0x980c21(0x195)]:filterRuntimeAccessibleApps(_0x11a476[_0x980c21(0x195)]),_0x40dd3b=_0x11a476[_0x980c21(0x195)][_0x980c21(0x1c7)]-_0x1bb663['length'],_0x2bc9ad=_0x1bb663[_0x980c21(0x1b0)](_0x5abeb5=>{const _0x4be365=_0x980c21;return{'name':_0x5abeb5[_0x4be365(0x18e)],'appcode':_0x5abeb5[_0x4be365(0x1b9)],'named':!![],'definedIn':'remote','isDefault':_0x5abeb5[_0x4be365(0x18e)]===_0x2d22f9,...buildAppProfileListFields(_0x52e716),...buildRemoteAppI18nFields(_0x5abeb5),'source':_0x11a476['source'],'owner':_0x5abeb5[_0x4be365(0x180)]??null,'status':_0x5abeb5[_0x4be365(0x19a)]??null,'cachedAt':_0x11a476[_0x4be365(0x197)]};}),_0x1bfeb6=_0x5d2142(_0x4546fc);let _0x282cfc=0x0;for(const [_0x1ccdfa,_0x37a55f]of Object[_0x980c21(0x1a3)](_0x1bfeb6)){const _0x5579e6=typeof _0x37a55f[_0x980c21(0x185)]===_0x980c21(0x1ab)?_0x37a55f[_0x980c21(0x185)][_0x980c21(0x1ad)]():'';if(!_0x5579e6)continue;const _0x5311f1=findAppByCode(_0x11a476[_0x980c21(0x195)],_0x5579e6);if(!_0xcc00e4&&_0x5311f1&&!isRuntimeAccessibleApp(_0x5311f1))continue;_0x282cfc+=0x1,_0x2bc9ad[_0x980c21(0x19f)]({'name':_0x1ccdfa,'appcode':_0x5579e6,'named':!![],'definedIn':_0x980c21(0x1a4),'isDefault':_0x1ccdfa===_0x2d22f9,...buildAppProfileListFields(_0x52e716),'source':_0x980c21(0x18f),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x2bc9ad,_0x3dd16c[_0x980c21(0x1b7)]);const _0x110a8b=_0x2bc9ad['find'](_0x1b83e1=>_0x1b83e1[_0x980c21(0x1b2)]===!![]),_0x4a03f7=_0x2d22f9??_0x110a8b?.[_0x980c21(0x1a7)]??null,_0xfd3981={'env':_0x52e716,'source':_0x11a476[_0x980c21(0x192)],'fetchedAt':_0x11a476[_0x980c21(0x197)],'cachePath':_0x11a476[_0x980c21(0x1bb)],'globalPath':_0x210140['globalPath']??null,'projectPath':_0x210140[_0x980c21(0x17f)]??null,'defaultApp':_0x4a03f7,'defaultAppSource':_0x2d22f9!=null?_0x4a81ba:null,'localAliasCount':_0x282cfc,'remoteTotal':_0x11a476[_0x980c21(0x195)][_0x980c21(0x1c7)],'hiddenUnpublishedCount':_0x40dd3b,'includeUnpublished':_0xcc00e4};if(_0x2bc9ad[_0x980c21(0x1c7)]===0x0)return{'ok':!![],'data':{'items':_0x2bc9ad,'meta':_0xfd3981},'message':_0x11a476[_0x980c21(0x192)]===_0x980c21(0x1ac)?_0x980c21(0x1bf):_0x980c21(0x19d)};return{'ok':!![],'data':{'items':_0x2bc9ad,'meta':_0xfd3981}};}},pullDef={'service':'app','command':a3_0x521e79(0x1a8),'description':a3_0x521e79(0x1a6),'risk':a3_0x521e79(0x17e),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'env','type':a3_0x521e79(0x1ab),'description':'Target\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x521e79(0x19e),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x521e79(0x18c),'type':a3_0x521e79(0x19e),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x15567d){const _0x31a218=a3_0x521e79,_0xca2739=_0x15567d['str'](_0x31a218(0x1b3))||_0x15567d[_0x31a218(0x199)]||getEnv()||_0x31a218(0x188),_0x4e3044=_0x15567d['bool'](_0x31a218(0x1a4)),_0x4d4cb8=_0x15567d['bool'](_0x31a218(0x18c)),{getRemoteAppList:_0x259137}=await import(_0x31a218(0x1a1)),_0xdf0b3=await _0x259137({'env':_0xca2739,'accessKey':_0x15567d[_0x31a218(0x1ca)],'localOnly':_0x4e3044,'noCache':_0x4d4cb8});return{'ok':!![],'data':{'total':_0xdf0b3[_0x31a218(0x195)][_0x31a218(0x1c7)],'env':_0xca2739,'source':_0xdf0b3[_0x31a218(0x192)],'fetchedAt':_0xdf0b3[_0x31a218(0x197)],'cachePath':_0xdf0b3[_0x31a218(0x1bb)]},'message':_0xdf0b3[_0x31a218(0x192)]===_0x31a218(0x1ac)?_0x31a218(0x1c3)+_0xdf0b3[_0x31a218(0x195)][_0x31a218(0x1c7)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0xca2739+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0xdf0b3[_0x31a218(0x195)]['length']+_0x31a218(0x1ae)+_0xca2739+'\x22.'};}},useDef={'service':'app','command':a3_0x521e79(0x1bd),'description':a3_0x521e79(0x19b),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':'Remote\x20app\x20name\x20to\x20activate','required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x251f39){const _0x56db65=a3_0x521e79;if(!_0x251f39['args'][0x0])throw CliErrors['validation']('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x56db65(0x1c5));},async 'execute'(_0x4c2e9f){const _0x12e1b0=a3_0x521e79;warnDeprecatedAppCommand(_0x12e1b0(0x1bd),CLI_BIN_NAME+_0x12e1b0(0x18b));const _0x9cd599=_0x4c2e9f['args'][0x0];if(!_0x9cd599)throw CliErrors['validation'](_0x12e1b0(0x1a0),_0x12e1b0(0x18d)+CLI_BIN_NAME+_0x12e1b0(0x1c5));const {buildConfigFromFlags:_0x1eb728,resolveLocalAppAliasCode:_0x34ebe1}=await import(_0x12e1b0(0x196)),{readCachedAppList:_0x27c328}=await import(_0x12e1b0(0x198)),_0x238213=_0x4c2e9f[_0x12e1b0(0x189)](_0x12e1b0(0x1b3)),_0x3b1cd3=_0x1eb728(_0x238213?{'env':_0x238213}:{}),_0x2b942e=_0x27c328(_0x3b1cd3['env'],_0x3b1cd3[_0x12e1b0(0x1ca)]),_0x124dab=_0x2b942e?.[_0x12e1b0(0x195)]['find'](_0x1698f7=>_0x1698f7[_0x12e1b0(0x18e)]===_0x9cd599),_0x546229=_0x34ebe1(_0x3b1cd3['raw']??{},_0x9cd599);if(_0x124dab&&!isRuntimeAccessibleApp(_0x124dab))throw runtimeInaccessibleAppError(_0x124dab,'\x22'+_0x9cd599+'\x22');if(_0x546229){const _0x270993=_0x2b942e?.[_0x12e1b0(0x195)]['find'](_0xef3bb9=>_0xef3bb9[_0x12e1b0(0x1b9)]?.[_0x12e1b0(0x1ad)]()===_0x546229);if(_0x270993&&!isRuntimeAccessibleApp(_0x270993))throw runtimeInaccessibleAppError(_0x270993,'\x22'+_0x9cd599+'\x22');}if(!_0x124dab&&!_0x546229&&_0x3b1cd3[_0x12e1b0(0x1cb)]!==_0x9cd599){const _0x1a72a=[..._0x2b942e?.[_0x12e1b0(0x195)]['map'](_0x349f9e=>_0x349f9e[_0x12e1b0(0x18e)])??[]],_0x222f3c=_0x1a72a[_0x12e1b0(0x1c7)]===0x0?_0x12e1b0(0x1af)+CLI_BIN_NAME+_0x12e1b0(0x191)+_0x9cd599+_0x12e1b0(0x1c1):_0x12e1b0(0x194)+Array['from'](new Set(_0x1a72a))[_0x12e1b0(0x183)](',\x20')+'.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.';throw CliErrors['validation'](_0x12e1b0(0x1b8)+_0x9cd599+'\x22\x20not\x20found.',_0x222f3c);}const _0x5f0975=_0x4c2e9f['bool'](_0x12e1b0(0x19c));let _0x412622;if(_0x5f0975)_0x412622={'global':!![]};else{const {isInProject:_0x3f1a47}=await import(_0x12e1b0(0x196)),_0x4e4843=_0x3f1a47();_0x412622=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x12e1b0(0x1ba),'inProject':_0x4e4843}));}const _0x259c96=readConfig(_0x412622);return _0x259c96['defaultApp']=_0x9cd599,writeConfig(_0x259c96,_0x412622),{'ok':!![],'message':_0x12e1b0(0x181)+_0x9cd599+'\x22'+scopeLabel(_0x412622)+'.'};}};function warnDeprecatedAppCommand(_0x1e4857,_0x426f6b){const _0x20a694=a3_0x521e79;console['warn'](CLI_BIN_NAME+_0x20a694(0x18a)+_0x1e4857+_0x20a694(0x1b1)+_0x426f6b+'`\x20instead.');}const importDef={'service':a3_0x521e79(0x1a5),'command':a3_0x521e79(0x1a2),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x521e79(0x17e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x3a7d9f){return await runInitImport(collectFlags(_0x3a7d9f,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
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
|
-
|
|
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
|
-
|
|
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_0x11190a=a10_0x122f;(function(_0x56f88c,_0x367783){const _0x4d6663=a10_0x122f,_0x24212c=_0x56f88c();while(!![]){try{const _0x4fe5fa=-parseInt(_0x4d6663(0x1fb))/0x1+parseInt(_0x4d6663(0x201))/0x2+-parseInt(_0x4d6663(0x1be))/0x3*(-parseInt(_0x4d6663(0x1d7))/0x4)+-parseInt(_0x4d6663(0x1bb))/0x5*(-parseInt(_0x4d6663(0x1e0))/0x6)+-parseInt(_0x4d6663(0x1cb))/0x7+-parseInt(_0x4d6663(0x1ee))/0x8+parseInt(_0x4d6663(0x1ce))/0x9*(parseInt(_0x4d6663(0x1c7))/0xa);if(_0x4fe5fa===_0x367783)break;else _0x24212c['push'](_0x24212c['shift']());}catch(_0x532811){_0x24212c['push'](_0x24212c['shift']());}}}(a10_0x4e13,0xa89c4));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_0x122f(_0x4d0ce8,_0x355cf5){_0x4d0ce8=_0x4d0ce8-0x1b3;const _0x4e1326=a10_0x4e13();let _0x122f6c=_0x4e1326[_0x4d0ce8];return _0x122f6c;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x11190a(0x1de),ARTIFACT_SOURCE_AGENT=a10_0x11190a(0x1da),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x11190a(0x1f8),a10_0x11190a(0x1f0),a10_0x11190a(0x204),a10_0x11190a(0x1d6),a10_0x11190a(0x1d1)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x11190a(0x1eb)](',\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_0x11190a(0x1df),'type':a10_0x11190a(0x1c3),'required':!![],'description':a10_0x11190a(0x1f4)},ARTIFACT_NAME_FLAG={'name':a10_0x11190a(0x1ca),'type':a10_0x11190a(0x1c3),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x11190a(0x1d3),'type':a10_0x11190a(0x1c3),'description':a10_0x11190a(0x1ec)};function isPlainObject(_0x3fea2e){const _0x509d28=a10_0x11190a;return typeof _0x3fea2e==='object'&&_0x3fea2e!==null&&!Array[_0x509d28(0x1ea)](_0x3fea2e);}function readSourceFile(_0x169fdd){const _0x18a7f1=a10_0x11190a;if(!_0x169fdd)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x169fdd))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x169fdd);if(!statSync(_0x169fdd)['isFile']())throw CliErrors[_0x18a7f1(0x1cc)](_0x18a7f1(0x1fe)+_0x169fdd);const _0xcd5ad7=readFileSync(_0x169fdd,_0x18a7f1(0x1c6));return validateReactModuleSource(_0xcd5ad7),_0xcd5ad7;}function a10_0x4e13(){const _0x1ee616=['lastIndex','body','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','isArray','join','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','4311568YZSvnm','artifactType','lodash','createTime','update','detail','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','map','build','data','react-dom','some','list','911900PQVANS','compiledContent','flag','File\x20is\x20not\x20a\x20regular\x20file:\x20','deleted','add','1374802mYxtju','boolean','POST','dayjs','num','source','Artifact\x20ID','/client/artifact/','Show\x20one\x20Artifact\x20by\x20id','split','/update','updateTime','5JZTLYD','filter','parse','27WqXoYH','verbose','Invalid\x20JSON\x20for\x20--metadata:\x20','description','trim','string','appCode','Preview:\x20update\x20react_module\x20Artifact\x20','utf8','5947850yuiySn','read','favorite','name','6752620dltDkX','validation','Updated\x20Artifact\x20','9twQVdO','List\x20current-app\x20react_module\x20Artifacts','str','@ant-design/icons','write','metadata','/client/artifact/create','number','antd','554188WunzkS','includes','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','AGENT','content','create','Preview:\x20create\x20react_module\x20Artifact','react_module','file','3462150oQeHYn','startsWith','artifact','Created\x20Artifact\x20','length','bool','Optional\x20favorite-state\x20filter'];a10_0x4e13=function(){return _0x1ee616;};return a10_0x4e13();}function parseMetadata(_0x5d7228){const _0x55a2d1=a10_0x11190a;if(!_0x5d7228)return undefined;let _0x28a50e;try{_0x28a50e=JSON[_0x55a2d1(0x1bd)](_0x5d7228);}catch{throw CliErrors[_0x55a2d1(0x1cc)](_0x55a2d1(0x1c0)+_0x5d7228);}if(!isPlainObject(_0x28a50e))throw CliErrors[_0x55a2d1(0x1cc)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x52d9d3={..._0x28a50e};return delete _0x52d9d3[_0x55a2d1(0x1fc)],_0x52d9d3;}function getPackageName(_0x486e7c){const _0x40d5e4=a10_0x11190a;if(_0x486e7c[_0x40d5e4(0x1e1)]('@')){const [_0x5b4d02,_0x6a23c5]=_0x486e7c[_0x40d5e4(0x1b8)]('/');return _0x5b4d02&&_0x6a23c5?_0x5b4d02+'/'+_0x6a23c5:_0x486e7c;}return _0x486e7c[_0x40d5e4(0x1b8)]('/')[0x0]||_0x486e7c;}function validateAllowedImports(_0x4cd02f){const _0x24f11c=a10_0x11190a,_0x4b6bf6=new Set();for(const _0x217f77 of IMPORT_SOURCE_PATTERNS){_0x217f77[_0x24f11c(0x1e7)]=0x0;let _0x36a51a;while((_0x36a51a=_0x217f77['exec'](_0x4cd02f))!==null){const _0x59d345=_0x36a51a[0x1]?.[_0x24f11c(0x1c2)]();_0x59d345&&_0x4b6bf6[_0x24f11c(0x200)](_0x59d345);}}const _0x373f51=[..._0x4b6bf6][_0x24f11c(0x1f5)](getPackageName)[_0x24f11c(0x1bc)](_0x5622bd=>!ALLOWED_REACT_MODULE_IMPORTS[_0x24f11c(0x1d8)](_0x5622bd));if(_0x373f51['length']>0x0)throw CliErrors[_0x24f11c(0x1cc)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x373f51)]['join'](',\x20'));}export function validateReactModuleSource(_0x313951){const _0x413a2d=a10_0x11190a;if(!_0x313951['trim']())throw CliErrors[_0x413a2d(0x1cc)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x413a2d(0x1f9)](_0x2c4a02=>_0x2c4a02['test'](_0x313951)))throw CliErrors['validation'](_0x413a2d(0x1ed));validateAllowedImports(_0x313951);}function buildArtifactInput(_0x2e4e81){const _0x41af83=a10_0x11190a,_0x3f1735=readSourceFile(_0x2e4e81[_0x41af83(0x1d0)]('file')),_0x8ed178=_0x2e4e81[_0x41af83(0x1d0)](_0x41af83(0x1ca))['trim'](),_0x28eb17=parseMetadata(_0x2e4e81[_0x41af83(0x1d0)](_0x41af83(0x1d3)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x8ed178?{'name':_0x8ed178}:{},'content':_0x3f1735,..._0x28eb17?{'metadata':_0x28eb17}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x239256){const _0x4c0efb=a10_0x11190a;return{'id':_0x239256['id'],'name':_0x239256[_0x4c0efb(0x1ca)],'artifactType':_0x239256['artifactType'],'source':_0x239256[_0x4c0efb(0x1b4)],'favorite':_0x239256[_0x4c0efb(0x1c9)],'deleted':_0x239256[_0x4c0efb(0x1ff)],'createTime':_0x239256[_0x4c0efb(0x1f1)],'updateTime':_0x239256['updateTime']};}function detailArtifact(_0x77791a){const _0x73e9fc=a10_0x11190a;return{'id':_0x77791a['id'],'appCode':_0x77791a[_0x73e9fc(0x1c4)],'name':_0x77791a[_0x73e9fc(0x1ca)],'artifactType':_0x77791a[_0x73e9fc(0x1ef)],'source':_0x77791a['source'],'favorite':_0x77791a[_0x73e9fc(0x1c9)],'deleted':_0x77791a[_0x73e9fc(0x1ff)],'content':_0x77791a[_0x73e9fc(0x1db)]??'','compiledContent':_0x77791a['compiledContent'],'metadata':_0x77791a['metadata']??{},'createTime':_0x77791a[_0x73e9fc(0x1f1)],'updateTime':_0x77791a[_0x73e9fc(0x1ba)]};}function readFavoriteFlag(_0x3129ab){const _0x646011=a10_0x11190a,_0x8c982=_0x3129ab[_0x646011(0x1fd)](_0x646011(0x1c9));return _0x8c982===undefined||_0x8c982===null||_0x8c982===''?undefined:_0x3129ab[_0x646011(0x1e5)]('favorite');}const artifactList={'service':a10_0x11190a(0x1e2),'command':a10_0x11190a(0x1fa),'description':a10_0x11190a(0x1cf),'risk':a10_0x11190a(0x1c8),'flags':[{'name':a10_0x11190a(0x1b4),'type':a10_0x11190a(0x1c3),'description':a10_0x11190a(0x1e9)},{'name':a10_0x11190a(0x1c9),'type':a10_0x11190a(0x202),'description':a10_0x11190a(0x1e6)},VERBOSE_FLAG],async 'execute'(_0x17ebc7){const _0x2533d7=a10_0x11190a,_0x231a5c=await listRuntimeArtifacts(_0x17ebc7['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x17ebc7[_0x2533d7(0x1d0)](_0x2533d7(0x1b4))?{'source':_0x17ebc7[_0x2533d7(0x1d0)](_0x2533d7(0x1b4))}:{},...readFavoriteFlag(_0x17ebc7)!==undefined?{'favorite':readFavoriteFlag(_0x17ebc7)}:{}});return{'ok':!![],'data':{'total':_0x231a5c[_0x2533d7(0x1e4)],'items':_0x17ebc7['bool'](_0x2533d7(0x1bf))?_0x231a5c:_0x231a5c[_0x2533d7(0x1f5)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x11190a(0x1e2),'command':a10_0x11190a(0x1f3),'description':a10_0x11190a(0x1b7),'risk':a10_0x11190a(0x1c8),'flags':[{...ID_FLAG,'description':a10_0x11190a(0x1b5)}],async 'execute'(_0x1ae835){const _0x22d4e4=a10_0x11190a,_0x425e09=await getRuntimeArtifact(_0x1ae835[_0x22d4e4(0x1b3)]('id'),_0x1ae835[_0x22d4e4(0x1c4)]);return{'ok':!![],'data':detailArtifact(_0x425e09)};}},artifactCreate={'service':a10_0x11190a(0x1e2),'command':a10_0x11190a(0x1dc),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x11190a(0x1d2),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x48de4a){const _0x227f18=a10_0x11190a,_0x4c5a7e=buildArtifactInput(_0x48de4a),_0x2f2376=await createRuntimeArtifact(_0x48de4a[_0x227f18(0x1c4)],_0x4c5a7e);return{'ok':!![],'data':detailArtifact(_0x2f2376),'message':_0x227f18(0x1e3)+_0x2f2376['id']+(_0x2f2376[_0x227f18(0x1ca)]?'\x20('+_0x2f2376['name']+')':'')};},async 'dryRun'(_0x337867){const _0x2190be=a10_0x11190a,_0x5e44f4=buildArtifactInput(_0x337867);return dryRun(_0x2190be(0x203),_0x2190be(0x1d4))[_0x2190be(0x1e8)]({'appCode':_0x337867['appCode'],..._0x5e44f4})[_0x2190be(0x1c1)](_0x2190be(0x1dd))['build']();},'writeEventSubject'(_0x4ef454){const _0x32b64c=a10_0x11190a,_0x1bc266=_0x4ef454[_0x32b64c(0x1f7)]?.['id'];if(typeof _0x1bc266!=='string'&&typeof _0x1bc266!==_0x32b64c(0x1d5))return undefined;return{'kind':_0x32b64c(0x1e2),'id':String(_0x1bc266),'action':_0x32b64c(0x1dc)};}},artifactUpdate={'service':a10_0x11190a(0x1e2),'command':a10_0x11190a(0x1f2),'description':a10_0x11190a(0x1d9),'risk':'write','flags':[{...ID_FLAG,'description':a10_0x11190a(0x1b5)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2a2ef8){const _0x565919=a10_0x11190a,_0x9e74fb=_0x2a2ef8[_0x565919(0x1b3)]('id'),_0x35afe5=buildArtifactInput(_0x2a2ef8),_0x5ca5fc=await updateRuntimeArtifact(_0x9e74fb,_0x2a2ef8[_0x565919(0x1c4)],_0x35afe5);return{'ok':!![],'data':detailArtifact(_0x5ca5fc),'message':_0x565919(0x1cd)+_0x5ca5fc['id']+(_0x5ca5fc[_0x565919(0x1ca)]?'\x20('+_0x5ca5fc['name']+')':'')};},async 'dryRun'(_0x559fd7){const _0x30bd14=a10_0x11190a,_0x560d4f=_0x559fd7[_0x30bd14(0x1b3)]('id'),_0x76b1d3=buildArtifactInput(_0x559fd7);return dryRun(_0x30bd14(0x203),_0x30bd14(0x1b6)+_0x560d4f+_0x30bd14(0x1b9))[_0x30bd14(0x1e8)]({'appCode':_0x559fd7[_0x30bd14(0x1c4)],..._0x76b1d3})['description'](_0x30bd14(0x1c5)+_0x560d4f)[_0x30bd14(0x1f6)]();},'writeEventSubject'(_0x3f6953){const _0x28e1bf=a10_0x11190a,_0x456b30=_0x3f6953[_0x28e1bf(0x1f7)]?.['id'];if(typeof _0x456b30!==_0x28e1bf(0x1c3)&&typeof _0x456b30!==_0x28e1bf(0x1d5))return undefined;return{'kind':_0x28e1bf(0x1e2),'id':String(_0x456b30),'action':_0x28e1bf(0x1f2)};}};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_0x121d34=a11_0x3350;(function(_0x2fabe4,_0x497f2e){const _0x662d3c=a11_0x3350,_0x16c859=_0x2fabe4();while(!![]){try{const _0x51b1c5=parseInt(_0x662d3c(0x1cf))/0x1+-parseInt(_0x662d3c(0x1a0))/0x2*(parseInt(_0x662d3c(0x1bd))/0x3)+parseInt(_0x662d3c(0x1d1))/0x4+-parseInt(_0x662d3c(0x196))/0x5*(-parseInt(_0x662d3c(0x1c8))/0x6)+parseInt(_0x662d3c(0x199))/0x7*(-parseInt(_0x662d3c(0x194))/0x8)+parseInt(_0x662d3c(0x1bb))/0x9*(parseInt(_0x662d3c(0x1ac))/0xa)+-parseInt(_0x662d3c(0x19a))/0xb;if(_0x51b1c5===_0x497f2e)break;else _0x16c859['push'](_0x16c859['shift']());}catch(_0x2ced46){_0x16c859['push'](_0x16c859['shift']());}}}(a11_0x1902,0x2a6e2));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';function a11_0x3350(_0x45712c,_0x22eab8){_0x45712c=_0x45712c-0x187;const _0x19022c=a11_0x1902();let _0x33504f=_0x19022c[_0x45712c];return _0x33504f;}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(_0x99a3b7){const _0x3f35cc=a11_0x3350;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x99a3b7[_0x3f35cc(0x1b7)](_0x3f35cc(0x19d)),'explicitProject':_0x99a3b7[_0x3f35cc(0x1b7)]('project'),'policy':_0x3f35cc(0x1cb)}));}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 _0x37827b=a11_0x3350;return crypto[_0x37827b(0x19c)]();}export function buildDeviceAuthUrl(_0x11b4f8,_0x3459e8,_0xf8a9ec='lovrabet-cli'){return _0x11b4f8+'/device-auth?code='+encodeURIComponent(_0x3459e8)+'&source='+encodeURIComponent(_0xf8a9ec);}function a11_0x1902(){const _0x49a128=['homeDirName','/.device-auth','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','auth','apiError','once','10SdTIBD','application/json','),\x20retrying...','nonInteractive','expired','code','log','Write\x20to\x20project\x20config','parse','project','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','bool','networkError','Invalid\x20device\x20auth\x20response','access_key','2678085zauJuO','\x20auth\x20status','306KmXsZy','AbortError','/api/device-auth/token','Device\x20authorization\x20cancelled.','abort','SIGINT','stderr','stringify','boolean','status','removeListener','6MYOCHz','Device\x20authorization\x20successful.','trim','global-default','padStart','scope','now','135100wuWBwG','toISOString','817880qQZcbf','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','lovrabet-cli','Write\x20to\x20global\x20config\x20(default)','data','signal','source','Verify:\x20','Device\x20auth\x20API\x20returned\x20HTTP\x20','validation','AccessKey\x20saved\x20to\x20','success','utf8','832264daACuG','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','702460pWzooJ','accessKey','cancelled','7vgEctl','2269806BPNyic','string','randomUUID','global','getTime','\x0dWaiting\x20for\x20authorization...\x20','5754VqmTvQ','floor','Device\x20auth\x20API\x20error\x20(','Invalid\x20access_key\x20returned\x20by\x20server.','url-only','object'];a11_0x1902=function(){return _0x49a128;};return a11_0x1902();}export function getDeviceCodePath(){const _0x56c86a=a11_0x3350;return homedir()+'/'+PRODUCT_CONFIG[_0x56c86a(0x1a6)]+_0x56c86a(0x1a7);}export function readStoredDeviceCode(){const _0x1c0b5f=a11_0x3350,_0x571bf1=getDeviceCodePath();if(!existsSync(_0x571bf1))return null;try{const _0x3558c8=readFileSync(_0x571bf1,{'encoding':_0x1c0b5f(0x193)}),_0x380365=JSON[_0x1c0b5f(0x1b4)](_0x3558c8);if(_0x380365&&typeof _0x380365['code']===_0x1c0b5f(0x19b)&&typeof _0x380365['createdAt']===_0x1c0b5f(0x19b)&&(_0x380365[_0x1c0b5f(0x1cd)]==='global'||_0x380365[_0x1c0b5f(0x1cd)]===_0x1c0b5f(0x1b5)))return _0x380365;}catch{}return null;}export function writeStoredDeviceCode(_0xd4efa0,_0x13c1ec){const _0x211d46=a11_0x3350,_0x22d5aa=getDeviceCodePath(),_0x4e8575=dirname(_0x22d5aa);!existsSync(_0x4e8575)&&mkdirSync(_0x4e8575,{'recursive':!![]});const _0x465e46={'code':_0xd4efa0,'createdAt':new Date()[_0x211d46(0x1d0)](),'scope':_0x13c1ec};writeFileSync(_0x22d5aa,JSON[_0x211d46(0x1c4)](_0x465e46),{'encoding':_0x211d46(0x193),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x20f505=getDeviceCodePath();try{unlinkSync(_0x20f505);}catch{}}export function isStoredDeviceCodeExpired(_0x436a81){const _0xd6fd13=a11_0x3350;return Date[_0xd6fd13(0x1ce)]()-new Date(_0x436a81['createdAt'])[_0xd6fd13(0x19e)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x3123e3,_0x58eabb){const _0x3bd5aa=a11_0x3350,_0x27ce3e=_0x3123e3+_0x3bd5aa(0x1bf),_0x544429=new AbortController(),_0xc724f0=setTimeout(()=>_0x544429['abort'](),0x2710),_0x276220=await fetch(_0x27ce3e,{'method':'POST','headers':{'Content-Type':_0x3bd5aa(0x1ad)},'body':JSON['stringify']({'code':_0x58eabb}),'signal':_0x544429[_0x3bd5aa(0x18c)]});clearTimeout(_0xc724f0);if(!_0x276220['ok'])throw CliErrors[_0x3bd5aa(0x1b8)](_0x3bd5aa(0x18f)+_0x276220['status']);const _0x331346=await _0x276220['json'](),_0x5661e4=_0x331346[_0x3bd5aa(0x18b)]&&typeof _0x331346['data']===_0x3bd5aa(0x1a5)?_0x331346[_0x3bd5aa(0x18b)]:_0x331346;if(!_0x5661e4||typeof _0x5661e4['status']!==_0x3bd5aa(0x19b))throw CliErrors[_0x3bd5aa(0x1aa)](_0x3bd5aa(0x1b9));return{'status':_0x5661e4[_0x3bd5aa(0x1c6)],'access_key':typeof _0x5661e4[_0x3bd5aa(0x1ba)]===_0x3bd5aa(0x19b)?_0x5661e4[_0x3bd5aa(0x1ba)]:undefined};}export async function pollDeviceToken(_0x48a9b4,_0x46a524,_0x1857bc){const _0x1720ef=a11_0x3350;let _0x9acf92=0x0;for(let _0x4e2215=0x0;_0x4e2215<MAX_POLLS;_0x4e2215++){if(_0x1857bc['aborted'])throw CliErrors[_0x1720ef(0x198)](_0x1720ef(0x1c0));let _0x1338e4;try{_0x1338e4=await fetchDeviceToken(_0x48a9b4,_0x46a524);}catch(_0x2c71eb){if(_0x2c71eb instanceof Error&&_0x2c71eb['name']===_0x1720ef(0x1be))throw CliErrors['cancelled'](_0x1720ef(0x1c0));_0x9acf92++;if(_0x9acf92>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1720ef(0x1b8)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x1720ef(0x1a2)+_0x9acf92+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1720ef(0x1ae)),await sleep(POLL_INTERVAL_MS);continue;}_0x9acf92=0x0;if(_0x1338e4[_0x1720ef(0x1c6)]===_0x1720ef(0x192)){if(!_0x1338e4[_0x1720ef(0x1ba)])throw CliErrors[_0x1720ef(0x1aa)](_0x1720ef(0x1a3));return _0x1338e4[_0x1720ef(0x1ba)];}if(_0x1338e4[_0x1720ef(0x1c6)]===_0x1720ef(0x1b0)){deleteStoredDeviceCode();throw CliErrors[_0x1720ef(0x190)](_0x1720ef(0x1b6));}const _0x318629=(_0x4e2215+0x1)*POLL_INTERVAL_MS,_0xb92865=DEVICE_CODE_TTL_MS-_0x318629,_0x33331f=Math[_0x1720ef(0x1a1)](_0xb92865/0xea60),_0x40e0f1=Math[_0x1720ef(0x1a1)](_0xb92865%0xea60/0x3e8);process[_0x1720ef(0x1c3)]['write'](_0x1720ef(0x19f)+_0x33331f+':'+String(_0x40e0f1)[_0x1720ef(0x1cc)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1720ef(0x190)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x378d5a){return new Promise(_0x36fec9=>setTimeout(_0x36fec9,_0x378d5a));}export const authDeviceDefinition={'service':a11_0x121d34(0x1a9),'command':'device','description':a11_0x121d34(0x1a8),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x121d34(0x19d),'type':a11_0x121d34(0x1c5),'description':a11_0x121d34(0x18a),'default':!![]},{'name':a11_0x121d34(0x1b5),'type':a11_0x121d34(0x1c5),'description':a11_0x121d34(0x1b3),'default':![]},{'name':a11_0x121d34(0x18d),'type':a11_0x121d34(0x19b),'description':a11_0x121d34(0x187),'default':'lovrabet-cli'},{'name':a11_0x121d34(0x1a4),'type':a11_0x121d34(0x1c5),'description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x13da74){const _0x3632a9=a11_0x121d34,_0x5465ab=resolveAuthScopeFlags(_0x13da74),_0x405deb=_0x5465ab[_0x3632a9(0x19d)]?_0x3632a9(0x19d):'project',_0x55c28c=readScopedConfig(_0x5465ab);if(_0x55c28c[_0x3632a9(0x197)])return{'ok':!![],'message':_0x3632a9(0x195)};const _0x233338=(_0x13da74['str'](_0x3632a9(0x18d))||_0x3632a9(0x189))[_0x3632a9(0x1ca)](),_0x54e6c8=getUserDomain(),_0x47a1cb=readStoredDeviceCode(),_0x1f4e7c=_0x47a1cb&&!isStoredDeviceCodeExpired(_0x47a1cb)?_0x47a1cb[_0x3632a9(0x1b1)]:((()=>{const _0x465324=generateDeviceCode();return writeStoredDeviceCode(_0x465324,_0x405deb),_0x465324;})()),_0x4a969d=buildDeviceAuthUrl(_0x54e6c8,_0x1f4e7c,_0x233338);if(_0x13da74['bool']('url-only'))return console[_0x3632a9(0x1b2)](_0x4a969d),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4a969d),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x13da74[_0x3632a9(0x1af)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x3632a9(0x188));const _0x315bcd=new AbortController(),_0x35bcf6=()=>{const _0x45b726=_0x3632a9;_0x315bcd[_0x45b726(0x1c1)](),process[_0x45b726(0x1c7)]('SIGINT',_0x35bcf6);};process[_0x3632a9(0x1ab)](_0x3632a9(0x1c2),_0x35bcf6);let _0x22cac5;try{_0x22cac5=await pollDeviceToken(_0x54e6c8,_0x1f4e7c,_0x315bcd['signal']);}finally{process['removeListener'](_0x3632a9(0x1c2),_0x35bcf6);}if(!ACCESS_KEY_PATTERN['test'](_0x22cac5))throw CliErrors['apiError']('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x650c3e=readScopedConfig(_0x5465ab);return _0x650c3e['accessKey']=_0x22cac5,writeScopedConfig(_0x650c3e,_0x5465ab),deleteStoredDeviceCode(),process['stderr']['write']('\x0a'),writeCliSideChannelLine(_0x3632a9(0x191)+_0x405deb+'\x20config.'),writeCliSideChannelLine(_0x3632a9(0x18e)+CLI_BIN_NAME+_0x3632a9(0x1bc)),{'ok':!![],'message':_0x3632a9(0x1c9)};}};
|
|
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.'};}};
|