@lovrabet/lovrabet-cli 2.1.22-beta.5 → 2.1.22-beta.6
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/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.d.ts +0 -4
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/lib/runtime/confirmation.d.ts +0 -9
- package/lib/runtime/confirmation.js +0 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const a0_0x2347f7=a0_0x2c1d;(function(_0x1c3a1a,_0x53d500){const _0x1d4fd3=a0_0x2c1d,_0x40c38e=_0x1c3a1a();while(!![]){try{const _0x4ff841=-parseInt(_0x1d4fd3(0x1c6))/0x1*(parseInt(_0x1d4fd3(0x1c2))/0x2)+-parseInt(_0x1d4fd3(0x1c0))/0x3+parseInt(_0x1d4fd3(0x1d1))/0x4+-parseInt(_0x1d4fd3(0x1ce))/0x5+-parseInt(_0x1d4fd3(0x1c5))/0x6*(parseInt(_0x1d4fd3(0x1d4))/0x7)+parseInt(_0x1d4fd3(0x1db))/0x8+parseInt(_0x1d4fd3(0x1d0))/0x9;if(_0x4ff841===_0x53d500)break;else _0x40c38e['push'](_0x40c38e['shift']());}catch(_0xd98604){_0x40c38e['push'](_0x40c38e['shift']());}}}(a0_0x47c3,0x50f95));import{jsx as a0_0x3e72d9}from'react/jsx-runtime';import a0_0x2b0739 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';function a0_0x2c1d(_0x24fe0c,_0x23c6a3){_0x24fe0c=_0x24fe0c-0x1bb;const _0x47c3bb=a0_0x47c3();let _0x2c1d84=_0x47c3bb[_0x24fe0c];return _0x2c1d84;}import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x2b0739(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x2347f7(0x1de)](handleError);async function main(){try{await run();}catch(_0x5ccd24){handleError(_0x5ccd24);}}async function run(){const _0x1c35aa=a0_0x2347f7;let _0x3b13e1=cli[_0x1c35aa(0x1d2)][0x0],_0x287de2=cli[_0x1c35aa(0x1d2)][0x1];const _0x575d3a=cli[_0x1c35aa(0x1d9)];try{const {correctFlags:_0x14b7dc}=await import(_0x1c35aa(0x1be)),_0x29d3fe=getAllDefinitions()[_0x1c35aa(0x1bf)](_0x1fda39=>_0x1fda39[_0x1c35aa(0x1d9)]??[]),{flags:_0x7c98c0,corrections:_0x54108e}=_0x14b7dc(_0x575d3a,_0x29d3fe);if(_0x54108e['length']>0x0){for(const _0x13cbe1 of _0x54108e){process[_0x1c35aa(0x1dc)]['write'](_0x1c35aa(0x1d7)+_0x13cbe1[_0x1c35aa(0x1c3)]+_0x1c35aa(0x1dd)+_0x13cbe1[_0x1c35aa(0x1e3)]+'\x20->\x20--'+_0x13cbe1['corrected']+'\x0a');}Object[_0x1c35aa(0x1c8)](_0x575d3a,_0x7c98c0);}}catch{}if(!_0x3b13e1){const {waitUntilExit:_0x17f417}=render(a0_0x3e72d9(Help,{}));await _0x17f417();return;}if(!isKnownService(_0x3b13e1)){const _0x102bf9=resolveDynamicServiceCommand(cli[_0x1c35aa(0x1d2)],_0x575d3a);if(_0x102bf9){if(_0x575d3a[_0x1c35aa(0x1d6)]){console[_0x1c35aa(0x1d5)](generateCommandHelp(_0x102bf9['definition']));return;}Object[_0x1c35aa(0x1c8)](_0x575d3a,_0x102bf9[_0x1c35aa(0x1d9)]);const _0x4c82ad=buildConfigFromFlags(_0x575d3a);await initGlobalEnvironment(_0x4c82ad);const _0x3c327d=createPipelineEnv(_0x4c82ad,_0x575d3a);_0x3c327d[_0x1c35aa(0x1d3)]=_0x102bf9[_0x1c35aa(0x1d3)],await runCommand(_0x102bf9['definition'],_0x3c327d);return;}if(_0x575d3a['help']){const _0x10828=generateDynamicServiceHelp(_0x3b13e1);if(_0x10828){console['log'](_0x10828);return;}}const {waitUntilExit:_0x1c9759}=render(a0_0x3e72d9(Help,{}));await _0x1c9759();return;}const _0x1b951a=getServiceEntry(_0x3b13e1);if(!_0x287de2){if(_0x575d3a[_0x1c35aa(0x1d6)]){console[_0x1c35aa(0x1d5)](generateServiceHelp(_0x3b13e1));return;}if(_0x1b951a[_0x1c35aa(0x1cb)])_0x287de2=_0x1b951a[_0x1c35aa(0x1cb)];else{console[_0x1c35aa(0x1d5)](generateServiceHelp(_0x3b13e1));return;}}const _0x5461b9=findDefinition(_0x3b13e1,_0x287de2);!_0x5461b9&&(console[_0x1c35aa(0x1d5)](generateServiceHelp(_0x3b13e1)),handleError(CliErrors[_0x1c35aa(0x1c1)](_0x3b13e1+'\x20'+_0x287de2)));if(_0x575d3a['help']){console[_0x1c35aa(0x1d5)](generateCommandHelp(_0x5461b9));return;}const _0x2c5bce=buildConfigFromFlags(_0x575d3a);await initGlobalEnvironment(_0x2c5bce);const _0xf5f623=createPipelineEnv(_0x2c5bce,_0x575d3a);_0xf5f623['args']=cli['input'][_0x1c35aa(0x1c4)](0x2),await runCommand(_0x5461b9,_0xf5f623);}function a0_0x47c3(){const _0x44991b=['6713apIfmC','log','help','[preparse]\x20','Error:\x20','flags','name','4821024mFLRQX','stderr',':\x20--','catch','ERR_USE_AFTER_CLOSE','error','cancelled','hint','original','exitCode','code','ERR_STREAM_DESTROYED','./framework/preparse.js','flatMap','1938114GCEKsB','unknownCommand','106exzfZN','handler','slice','4128DKxeWw','7417oDAYhC','ExitPromptError','assign','write','\x0aCancelled.\x0a','defaultCommand','exit','Unexpected\x20error:','2612230cklozs','Hint:\x20','14783994fIVXHd','1231008sxTwAB','input','args'];a0_0x47c3=function(){return _0x44991b;};return a0_0x47c3();}function handleError(_0x4c1e65){const _0x11d929=a0_0x2347f7;if(_0x4c1e65 instanceof CliError){_0x4c1e65['code']===_0x11d929(0x1e1)&&(process[_0x11d929(0x1dc)]['write'](_0x11d929(0x1ca)),process['exit'](0x0));console[_0x11d929(0x1e0)](_0x11d929(0x1d8)+_0x4c1e65['message']);if(_0x4c1e65['hint'])console[_0x11d929(0x1e0)](_0x11d929(0x1cf)+_0x4c1e65[_0x11d929(0x1e2)]);process[_0x11d929(0x1cc)](_0x4c1e65[_0x11d929(0x1bb)]);}isUserCancellation(_0x4c1e65)&&(process[_0x11d929(0x1dc)][_0x11d929(0x1c9)](_0x11d929(0x1ca)),process['exit'](0x0)),console[_0x11d929(0x1e0)](_0x11d929(0x1cd),_0x4c1e65),process[_0x11d929(0x1cc)](0x1);}function isUserCancellation(_0x42f784){const _0x185125=a0_0x2347f7;if(!(_0x42f784 instanceof Error))return![];if(_0x42f784[_0x185125(0x1da)]===_0x185125(0x1c7))return!![];if(_0x42f784[_0x185125(0x1bc)]===_0x185125(0x1df))return!![];if(_0x42f784[_0x185125(0x1bc)]===_0x185125(0x1bd))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x4acd3e=a1_0x3b0a;(function(_0x29e09d,_0x4c61a5){const _0x300e41=a1_0x3b0a,_0x4509d7=_0x29e09d();while(!![]){try{const _0x3e5730=parseInt(_0x300e41(0xb3))/0x1*(parseInt(_0x300e41(0x91))/0x2)+parseInt(_0x300e41(0xd5))/0x3+-parseInt(_0x300e41(0xc6))/0x4+-parseInt(_0x300e41(0xa7))/0x5*(-parseInt(_0x300e41(0xd8))/0x6)+-parseInt(_0x300e41(0x9b))/0x7*(parseInt(_0x300e41(0xb1))/0x8)+parseInt(_0x300e41(0xc9))/0x9+-parseInt(_0x300e41(0x9a))/0xa*(parseInt(_0x300e41(0xc5))/0xb);if(_0x3e5730===_0x4c61a5)break;else _0x4509d7['push'](_0x4509d7['shift']());}catch(_0x4d194f){_0x4509d7['push'](_0x4509d7['shift']());}}}(a1_0x4b8a,0xb57ca));function a1_0x3b0a(_0x16ef4e,_0x5853a3){_0x16ef4e=_0x16ef4e-0x88;const _0x4b8a92=a1_0x4b8a();let _0x3b0a48=_0x4b8a92[_0x16ef4e];return _0x3b0a48;}function a1_0x4b8a(){const _0x8ba177=['192876wutTrU','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','/api/dataset/get-dataset-list-by-app-code','Execute\x20custom\x20SQL','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','paging\x20contains\x20pagination','bf_execute','32-character\x20dataset\x20code','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','执行自定义\x20SQL','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Filter\x20dataset\x20data','/api/{appCode}/{datasetCode}/aggregate','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Returns\x20one\x20matching\x20business\x20record','按应用和函数名精确获取\x20BF\x20运行契约','str','where\x20filters\x20before\x20aggregation','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','POST','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','Get\x20one\x20dataset\x20record','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要向指定数据集新增一条业务数据时使用','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','filter','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','includes','None','trim','detail','Endpoint\x20function\x20name','whenToUse','summary','dataset_detail','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','title','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','API\x20doc\x20code\x20not\x20found:\x20','dataset','GET','{\x22param\x22:\x22value\x22}','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','dataset_data_filter','14esXkIK','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','Execute\x20BF\x20endpoint\x20function','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','tableData\x20contains\x20dataset\x20id/code/name','条件过滤查询数据','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','20EIUQAo','37919PSIWix','path','List\x20available\x20runtime\x20API\x20documentation\x20entries','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','keyword','list','fields/properties\x20describe\x20data\x20shape','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','method','read','/api/{appCode}/{datasetCode}/create','##\x20Aggregate\x20dataset\x20data','20TSmotl','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','获取数据集详情','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','查询单条数据','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','join','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','160pThjnC','Show\x20runtime\x20API\x20documentation\x20by\x20code','119191VnQWLz','functionName','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','category','tableData\x20contains\x20records','Current\x20app\x20code','dataset_data_get_one','toLowerCase','dataset_data_create','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','string','api-doc','datasetCode','custom_sql','paging.totalCount\x20gives\x20total\x20rows','/api/endpoint/{appCode}/{functionName}','Create\x20dataset\x20record','validation','2106181aGZMSl','4989140PGfVJR','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','4944213pCfZCr','/api/{appCode}/{datasetCode}/getOne','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','code','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','Returns\x20SQL\x20execution\x20payload','appCode','聚合查询数据集数据','{\x22id\x22:123}','{\x22fieldName\x22:\x22value\x22}','operations\x20describes\x20runtime\x20APIs','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','2908977bmOdIu','bf_detail','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'];a1_0x4b8a=function(){return _0x8ba177;};return a1_0x4b8a();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x4acd3e(0xb6),'type':a1_0x4acd3e(0xbd),'description':a1_0x4acd3e(0x8a)},KEYWORD_FLAG={'name':a1_0x4acd3e(0x9f),'type':'string','description':a1_0x4acd3e(0xc7)},DOC_CODE_FLAG={'name':a1_0x4acd3e(0xcc),'type':'string','required':!![],'description':a1_0x4acd3e(0xf0)},DOCS=[{'code':'dataset_list','category':a1_0x4acd3e(0x8c),'title':'List\x20datasets','method':'POST','path':a1_0x4acd3e(0xda),'summary':'分页获取数据集列表','whenToUse':a1_0x4acd3e(0xe0),'pathParams':[],'queryParams':[],'bodySchema':a1_0x4acd3e(0xeb),'responseHighlights':[a1_0x4acd3e(0x97),a1_0x4acd3e(0xc1)],'examples':[a1_0x4acd3e(0xd9)],'notes':['CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.'],'markdown':['##\x20List\x20datasets','',a1_0x4acd3e(0x96)][a1_0x4acd3e(0xae)]('\x0a')},{'code':a1_0x4acd3e(0xfd),'category':a1_0x4acd3e(0x8c),'title':'Dataset\x20detail','method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x4acd3e(0xa9),'whenToUse':a1_0x4acd3e(0xaa),'pathParams':[],'queryParams':[{'name':'code','description':a1_0x4acd3e(0xdf)}],'bodySchema':a1_0x4acd3e(0xf7),'responseHighlights':[a1_0x4acd3e(0xa1),a1_0x4acd3e(0xed),a1_0x4acd3e(0xd3)],'examples':[a1_0x4acd3e(0x99)],'notes':[a1_0x4acd3e(0xdc)],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x4acd3e(0xae)]('\x0a')},{'code':a1_0x4acd3e(0x90),'category':a1_0x4acd3e(0x8c),'title':a1_0x4acd3e(0xe3),'method':'POST','path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x4acd3e(0x98),'whenToUse':a1_0x4acd3e(0x9e),'pathParams':[{'name':a1_0x4acd3e(0xcf),'description':a1_0x4acd3e(0xb8)},{'name':a1_0x4acd3e(0xbf),'description':a1_0x4acd3e(0xdf)}],'queryParams':[],'bodySchema':a1_0x4acd3e(0xcb),'responseHighlights':[a1_0x4acd3e(0xb7),a1_0x4acd3e(0xdd)],'examples':[a1_0x4acd3e(0x92),a1_0x4acd3e(0xb5)],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0x4acd3e(0xf5),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x4acd3e(0xa2)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x4acd3e(0x8c),'title':'Aggregate\x20dataset\x20data','method':a1_0x4acd3e(0xec),'path':a1_0x4acd3e(0xe4),'summary':a1_0x4acd3e(0xd0),'whenToUse':a1_0x4acd3e(0xcd),'pathParams':[{'name':'appCode','description':a1_0x4acd3e(0xb8)},{'name':a1_0x4acd3e(0xbf),'description':a1_0x4acd3e(0xdf)}],'queryParams':[],'bodySchema':a1_0x4acd3e(0xfe),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x4acd3e(0xe9)],'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_0x4acd3e(0xaf),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0x4acd3e(0xa6),'',a1_0x4acd3e(0xb0)][a1_0x4acd3e(0xae)]('\x0a')},{'code':a1_0x4acd3e(0xb9),'category':'dataset','title':a1_0x4acd3e(0xef),'method':'POST','path':a1_0x4acd3e(0xca),'summary':a1_0x4acd3e(0xab),'whenToUse':a1_0x4acd3e(0xbc),'pathParams':[{'name':a1_0x4acd3e(0xcf),'description':'Current\x20app\x20code'},{'name':a1_0x4acd3e(0xbf),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x4acd3e(0xd1),'responseHighlights':[a1_0x4acd3e(0xe6)],'examples':[a1_0x4acd3e(0xa8)],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x4acd3e(0xe2)},{'code':a1_0x4acd3e(0xbb),'category':a1_0x4acd3e(0x8c),'title':a1_0x4acd3e(0xc3),'method':a1_0x4acd3e(0xec),'path':a1_0x4acd3e(0xa5),'summary':'创建数据','whenToUse':a1_0x4acd3e(0xf1),'pathParams':[{'name':'appCode','description':a1_0x4acd3e(0xb8)},{'name':a1_0x4acd3e(0xbf),'description':a1_0x4acd3e(0xdf)}],'queryParams':[],'bodySchema':a1_0x4acd3e(0xd2),'responseHighlights':[a1_0x4acd3e(0x8f)],'examples':[a1_0x4acd3e(0xf3)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':a1_0x4acd3e(0x95)},{'code':a1_0x4acd3e(0xd6),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':a1_0x4acd3e(0x8d),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x4acd3e(0xe7),'whenToUse':'已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','pathParams':[{'name':a1_0x4acd3e(0xcf),'description':a1_0x4acd3e(0xb8)},{'name':a1_0x4acd3e(0xb4),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x4acd3e(0xf7),'responseHighlights':[a1_0x4acd3e(0xd4)],'examples':[a1_0x4acd3e(0xac)],'notes':[a1_0x4acd3e(0xf2)],'markdown':a1_0x4acd3e(0x94)},{'code':a1_0x4acd3e(0xde),'category':'bf','title':a1_0x4acd3e(0x93),'method':'POST','path':a1_0x4acd3e(0xc2),'summary':'执行指定\x20BF\x20函数','whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':a1_0x4acd3e(0xcf),'description':'Current\x20app\x20code'},{'name':a1_0x4acd3e(0xb4),'description':a1_0x4acd3e(0xfa)}],'queryParams':[],'bodySchema':a1_0x4acd3e(0x8e),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x4acd3e(0xea)],'notes':[a1_0x4acd3e(0xad)],'markdown':a1_0x4acd3e(0xe5)},{'code':'custom_sql_execute','category':a1_0x4acd3e(0xc0),'title':a1_0x4acd3e(0xdb),'method':a1_0x4acd3e(0xec),'path':'/api/custom/executeSql','summary':a1_0x4acd3e(0xe1),'whenToUse':a1_0x4acd3e(0xee),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x4acd3e(0xce)],'examples':[a1_0x4acd3e(0x88)],'notes':[a1_0x4acd3e(0xc8)],'markdown':a1_0x4acd3e(0xd7)}];function entrySummary(_0x265903){const _0x4e6f93=a1_0x4acd3e;return{'code':_0x265903[_0x4e6f93(0xcc)],'category':_0x265903[_0x4e6f93(0xb6)],'method':_0x265903[_0x4e6f93(0xa3)],'path':_0x265903[_0x4e6f93(0x9c)],'summary':_0x265903[_0x4e6f93(0xfc)],'whenToUse':_0x265903['whenToUse']};}export function listApiDocEntries(_0x545c5a={}){const _0x37b8f3=a1_0x4acd3e,_0x2bd9d7=String(_0x545c5a[_0x37b8f3(0xb6)]||'')['trim'](),_0x2d17c2=String(_0x545c5a[_0x37b8f3(0x9f)]||'')[_0x37b8f3(0xf8)]()[_0x37b8f3(0xba)]();return DOCS[_0x37b8f3(0xf4)](_0x166480=>{const _0x5ded46=_0x37b8f3;if(_0x2bd9d7&&_0x166480[_0x5ded46(0xb6)]!==_0x2bd9d7)return![];if(!_0x2d17c2)return!![];return[_0x166480[_0x5ded46(0xcc)],_0x166480[_0x5ded46(0xb6)],_0x166480[_0x5ded46(0xa3)],_0x166480[_0x5ded46(0x9c)],_0x166480[_0x5ded46(0xfc)],_0x166480[_0x5ded46(0xfb)],_0x166480[_0x5ded46(0x89)]][_0x5ded46(0xae)]('\x20')[_0x5ded46(0xba)]()[_0x5ded46(0xf6)](_0x2d17c2);})['map'](entrySummary);}export function getApiDocDetail(_0x610cba){const _0x39adb1=a1_0x4acd3e,_0x458211=DOCS['find'](_0x4506a8=>_0x4506a8[_0x39adb1(0xcc)]===_0x610cba);if(!_0x458211)throw CliErrors[_0x39adb1(0xc4)](_0x39adb1(0x8b)+_0x610cba);return{..._0x458211};}const apiDocList={'service':a1_0x4acd3e(0xbe),'command':a1_0x4acd3e(0xa0),'description':a1_0x4acd3e(0x9d),'risk':a1_0x4acd3e(0xa4),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3c7f9a){const _0x81c485=a1_0x4acd3e,_0x185344=listApiDocEntries({'category':_0x3c7f9a['str'](_0x81c485(0xb6)),'keyword':_0x3c7f9a[_0x81c485(0xe8)](_0x81c485(0x9f))});return{'ok':!![],'data':{'total':_0x185344['length'],'items':_0x185344}};}},apiDocDetail={'service':a1_0x4acd3e(0xbe),'command':a1_0x4acd3e(0xf9),'description':a1_0x4acd3e(0xb2),'risk':a1_0x4acd3e(0xa4),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x546785){const _0x5c1132=a1_0x4acd3e;return{'ok':!![],'data':getApiDocDetail(_0x546785['str'](_0x5c1132(0xcc)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x1a0265=a1_0x186c;(function(_0xa0a462,_0x182f9f){const _0xe5eafc=a1_0x186c,_0x2d3728=_0xa0a462();while(!![]){try{const _0x3e0cd1=-parseInt(_0xe5eafc(0x24d))/0x1*(-parseInt(_0xe5eafc(0x22b))/0x2)+parseInt(_0xe5eafc(0x221))/0x3*(-parseInt(_0xe5eafc(0x24c))/0x4)+parseInt(_0xe5eafc(0x1f8))/0x5*(-parseInt(_0xe5eafc(0x20d))/0x6)+-parseInt(_0xe5eafc(0x200))/0x7*(-parseInt(_0xe5eafc(0x21b))/0x8)+parseInt(_0xe5eafc(0x201))/0x9*(-parseInt(_0xe5eafc(0x211))/0xa)+-parseInt(_0xe5eafc(0x217))/0xb+parseInt(_0xe5eafc(0x20c))/0xc*(parseInt(_0xe5eafc(0x1f1))/0xd);if(_0x3e0cd1===_0x182f9f)break;else _0x2d3728['push'](_0x2d3728['shift']());}catch(_0x5190cc){_0x2d3728['push'](_0x2d3728['shift']());}}}(a1_0x16a7,0xb5850));import{CliErrors}from'../../errors.js';function a1_0x186c(_0x268152,_0x43d738){_0x268152=_0x268152-0x1f1;const _0x16a786=a1_0x16a7();let _0x186c82=_0x16a786[_0x268152];return _0x186c82;}const CATEGORY_FLAG={'name':'category','type':a1_0x1a0265(0x250),'description':a1_0x1a0265(0x24a)},KEYWORD_FLAG={'name':a1_0x1a0265(0x236),'type':a1_0x1a0265(0x250),'description':a1_0x1a0265(0x240)},DOC_CODE_FLAG={'name':'code','type':a1_0x1a0265(0x250),'required':!![],'description':a1_0x1a0265(0x1fa)},DOCS=[{'code':'dataset_list','category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x218),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x265),'summary':'分页获取数据集列表','whenToUse':a1_0x1a0265(0x224),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1a0265(0x226),'responseHighlights':[a1_0x1a0265(0x25c),a1_0x1a0265(0x254)],'examples':[a1_0x1a0265(0x26d)],'notes':[a1_0x1a0265(0x253)],'markdown':[a1_0x1a0265(0x239),'',a1_0x1a0265(0x263)][a1_0x1a0265(0x234)]('\x0a')},{'code':'dataset_detail','category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x21d),'method':a1_0x1a0265(0x25e),'path':a1_0x1a0265(0x256),'summary':a1_0x1a0265(0x1f7),'whenToUse':a1_0x1a0265(0x1fb),'pathParams':[],'queryParams':[{'name':a1_0x1a0265(0x269),'description':'32-character\x20dataset\x20code'}],'bodySchema':'None','responseHighlights':[a1_0x1a0265(0x264),a1_0x1a0265(0x20a),a1_0x1a0265(0x261)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':['##\x20Dataset\x20detail','',a1_0x1a0265(0x1fe)][a1_0x1a0265(0x234)]('\x0a')},{'code':a1_0x1a0265(0x208),'category':'dataset','title':a1_0x1a0265(0x255),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x1f5),'summary':a1_0x1a0265(0x25b),'whenToUse':a1_0x1a0265(0x25d),'pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x259),'responseHighlights':[a1_0x1a0265(0x222),a1_0x1a0265(0x22e)],'examples':[a1_0x1a0265(0x244),a1_0x1a0265(0x24f)],'notes':[a1_0x1a0265(0x23f),a1_0x1a0265(0x1f2),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x1a0265(0x24b)],'markdown':[a1_0x1a0265(0x23a),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0x1a0265(0x266),'category':a1_0x1a0265(0x20f),'title':'Aggregate\x20dataset\x20data','method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x223),'summary':a1_0x1a0265(0x252),'whenToUse':'需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x249),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x1a0265(0x232)],'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_0x1a0265(0x23b),a1_0x1a0265(0x212)],'markdown':[a1_0x1a0265(0x209),'',a1_0x1a0265(0x23e)]['join']('\x0a')},{'code':a1_0x1a0265(0x23c),'category':a1_0x1a0265(0x20f),'title':'Get\x20one\x20dataset\x20record','method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x260),'summary':a1_0x1a0265(0x245),'whenToUse':a1_0x1a0265(0x248),'pathParams':[{'name':a1_0x1a0265(0x206),'description':'Current\x20app\x20code'},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x231),'responseHighlights':[a1_0x1a0265(0x268)],'examples':[a1_0x1a0265(0x247)],'notes':[a1_0x1a0265(0x243)],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x1a0265(0x203),'category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x20e),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x246),'summary':'创建数据','whenToUse':'需要向指定数据集新增一条业务数据时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x235),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x1a0265(0x220)],'notes':[a1_0x1a0265(0x251)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x1a0265(0x22a),'method':'GET','path':a1_0x1a0265(0x227),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x1a0265(0x204),'pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x241),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x219),'responseHighlights':[a1_0x1a0265(0x213)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x1a0265(0x22c)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x1a0265(0x1f4),'category':'bf','title':a1_0x1a0265(0x26b),'method':'POST','path':a1_0x1a0265(0x26c),'summary':a1_0x1a0265(0x225),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':'Current\x20app\x20code'},{'name':a1_0x1a0265(0x241),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x216),'responseHighlights':[a1_0x1a0265(0x210)],'examples':[a1_0x1a0265(0x202)],'notes':[a1_0x1a0265(0x25a)],'markdown':a1_0x1a0265(0x257)},{'code':'custom_sql_execute','category':a1_0x1a0265(0x23d),'title':a1_0x1a0265(0x21f),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x21e),'summary':a1_0x1a0265(0x22d),'whenToUse':a1_0x1a0265(0x229),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1a0265(0x258),'responseHighlights':[a1_0x1a0265(0x21c)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x1a0265(0x22f)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x4f2706){const _0x5b4398=a1_0x1a0265;return{'code':_0x4f2706[_0x5b4398(0x269)],'category':_0x4f2706[_0x5b4398(0x1f6)],'method':_0x4f2706[_0x5b4398(0x205)],'path':_0x4f2706['path'],'summary':_0x4f2706[_0x5b4398(0x242)],'whenToUse':_0x4f2706[_0x5b4398(0x237)]};}export function listApiDocEntries(_0x26a9b6={}){const _0x18fd65=a1_0x1a0265,_0x1b057c=String(_0x26a9b6[_0x18fd65(0x1f6)]||'')[_0x18fd65(0x25f)](),_0x42cee7=String(_0x26a9b6['keyword']||'')[_0x18fd65(0x25f)]()[_0x18fd65(0x1fc)]();return DOCS[_0x18fd65(0x1f3)](_0x2fb5f9=>{const _0x3f2407=_0x18fd65;if(_0x1b057c&&_0x2fb5f9[_0x3f2407(0x1f6)]!==_0x1b057c)return![];if(!_0x42cee7)return!![];return[_0x2fb5f9[_0x3f2407(0x269)],_0x2fb5f9[_0x3f2407(0x1f6)],_0x2fb5f9[_0x3f2407(0x205)],_0x2fb5f9[_0x3f2407(0x20b)],_0x2fb5f9[_0x3f2407(0x242)],_0x2fb5f9[_0x3f2407(0x237)],_0x2fb5f9[_0x3f2407(0x1f9)]][_0x3f2407(0x234)]('\x20')[_0x3f2407(0x1fc)]()[_0x3f2407(0x267)](_0x42cee7);})[_0x18fd65(0x207)](entrySummary);}export function getApiDocDetail(_0x17bde3){const _0x1a93e3=a1_0x1a0265,_0x5878fd=DOCS[_0x1a93e3(0x262)](_0x2a8e60=>_0x2a8e60[_0x1a93e3(0x269)]===_0x17bde3);if(!_0x5878fd)throw CliErrors[_0x1a93e3(0x233)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x17bde3);return{..._0x5878fd};}const apiDocList={'service':a1_0x1a0265(0x24e),'command':'list','description':a1_0x1a0265(0x238),'risk':a1_0x1a0265(0x228),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x117733){const _0x373611=a1_0x1a0265,_0x113edb=listApiDocEntries({'category':_0x117733['str'](_0x373611(0x1f6)),'keyword':_0x117733[_0x373611(0x230)](_0x373611(0x236))});return{'ok':!![],'data':{'total':_0x113edb[_0x373611(0x214)],'items':_0x113edb}};}},apiDocDetail={'service':a1_0x1a0265(0x24e),'command':'detail','description':a1_0x1a0265(0x215),'risk':a1_0x1a0265(0x228),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x23eab2){const _0x49d8cc=a1_0x1a0265;return{'ok':!![],'data':getApiDocDetail(_0x23eab2[_0x49d8cc(0x230)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];function a1_0x16a7(){const _0x449136=['toLowerCase','32-character\x20dataset\x20code','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Current\x20app\x20code','73549xmyNEj','1083042RzrODn','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','dataset_data_create','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','method','appCode','map','dataset_data_filter','##\x20Aggregate\x20dataset\x20data','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','path','103236SAlPal','1304634PEgxuK','Create\x20dataset\x20record','dataset','Returns\x20script\x20business\x20payload','80gopIYR','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','length','Show\x20runtime\x20API\x20documentation\x20by\x20code','{\x22param\x22:\x22value\x22}','198781djnEIr','List\x20datasets','None','datasetCode','40vguxWw','Returns\x20SQL\x20execution\x20payload','Dataset\x20detail','/api/custom/executeSql','Execute\x20custom\x20SQL','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','6UYYoed','tableData\x20contains\x20records','/api/{appCode}/{datasetCode}/aggregate','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','执行指定\x20BF\x20函数','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','/client/bff/endpoint/{appCode}/{functionName}','read','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','Get\x20BF\x20endpoint\x20function\x20contract','2YRXDag','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','执行自定义\x20SQL','paging\x20contains\x20pagination','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','str','{\x22id\x22:123}','where\x20filters\x20before\x20aggregation','validation','join','{\x22fieldName\x22:\x22value\x22}','keyword','whenToUse','List\x20available\x20runtime\x20API\x20documentation\x20entries','##\x20List\x20datasets','##\x20Filter\x20dataset\x20data','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','dataset_data_get_one','custom_sql','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','functionName','summary','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','查询单条数据','/api/{appCode}/{datasetCode}/create','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','1624604yORGXb','538257MMUrQK','api-doc','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','string','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','聚合查询数据集数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','paging.totalCount\x20gives\x20total\x20rows','Filter\x20dataset\x20data','/api/dataset/getOneByCode?code={datasetCode}','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','条件过滤查询数据','tableData\x20contains\x20dataset\x20id/code/name','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','GET','trim','/api/{appCode}/{datasetCode}/getOne','operations\x20describes\x20runtime\x20APIs','find','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','fields/properties\x20describe\x20data\x20shape','/api/dataset/get-dataset-list-by-app-code','dataset_data_aggregate','includes','Returns\x20one\x20matching\x20business\x20record','code','POST','Execute\x20BF\x20endpoint\x20function','/api/endpoint/{appCode}/{functionName}','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','3926Sofvux','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','filter','bf_execute','/api/{appCode}/{datasetCode}/filter','category','获取数据集详情','15MFSykr','title','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用'];a1_0x16a7=function(){return _0x449136;};return a1_0x16a7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x39a4aa,_0x5ef2c6){const _0x363873=a2_0x3525,_0x1e8a02=_0x39a4aa();while(!![]){try{const _0x5b2650=parseInt(_0x363873(0x143))/0x1+parseInt(_0x363873(0x14a))/0x2+parseInt(_0x363873(0x142))/0x3*(parseInt(_0x363873(0x151))/0x4)+-parseInt(_0x363873(0x14f))/0x5+-parseInt(_0x363873(0x140))/0x6*(-parseInt(_0x363873(0x15a))/0x7)+-parseInt(_0x363873(0x15d))/0x8*(parseInt(_0x363873(0x158))/0x9)+-parseInt(_0x363873(0x153))/0xa*(-parseInt(_0x363873(0x157))/0xb);if(_0x5b2650===_0x5ef2c6)break;else _0x1e8a02['push'](_0x1e8a02['shift']());}catch(_0x2b2154){_0x1e8a02['push'](_0x1e8a02['shift']());}}}(a2_0x2c24,0x1ade4));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a2_0x3525(_0x2a4eea,_0xf74cac){_0x2a4eea=_0x2a4eea-0x140;const _0x2c24bd=a2_0x2c24();let _0x3525cd=_0x2c24bd[_0x2a4eea];return _0x3525cd;}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(_0x3762a7){const _0x10d676=a2_0x3525,_0x2829ca=_0x3762a7[_0x10d676(0x14b)](),_0x2ba1a4=_0x2829ca[_0x10d676(0x155)](-0x6)||_0x10d676(0x14d),_0x51ea5d=createHash(_0x10d676(0x15c))[_0x10d676(0x156)](_0x2829ca)[_0x10d676(0x14c)](_0x10d676(0x144))[_0x10d676(0x155)](0x0,0xc);return _0x10d676(0x14e)+_0x2ba1a4+'_'+_0x51ea5d;}export function getAppCacheFilePath(_0xf0aca1,_0x3aee7a){const _0x2feadd=a2_0x3525;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x2feadd(0x152),_0xf0aca1,fingerprintAccessKey(_0x3aee7a),_0x2feadd(0x150));}export function readCachedAppList(_0x2c32ee,_0x597bcc){const _0x278a32=a2_0x3525;if(!_0x597bcc?.[_0x278a32(0x14b)]())return null;const _0x22882b=getAppCacheFilePath(_0x2c32ee,_0x597bcc);if(!existsSync(_0x22882b))return null;try{const _0x139f5d=readFileSync(_0x22882b,'utf8');if(!_0x139f5d[_0x278a32(0x14b)]())return null;const _0x31d808=JSON[_0x278a32(0x159)](_0x139f5d);if(!Array[_0x278a32(0x148)](_0x31d808[_0x278a32(0x15b)]))return null;return _0x31d808;}catch{return null;}}export function writeCachedAppList(_0x1104aa,_0x2bd539,_0x5a1660){const _0x59a3c1=a2_0x3525,_0x449cc2=getAppCacheFilePath(_0x1104aa,_0x2bd539),_0x5c434d=dirname(_0x449cc2);!existsSync(_0x5c434d)&&mkdirSync(_0x5c434d,{'recursive':!![]});const _0x3dd537=_0x449cc2+'.tmp';try{writeFileSync(_0x3dd537,JSON[_0x59a3c1(0x145)](_0x5a1660,null,0x2)+'\x0a',{'encoding':_0x59a3c1(0x15e),'mode':0x180});try{renameSync(_0x3dd537,_0x449cc2);}catch(_0x40c34c){if(_0x40c34c['code']===_0x59a3c1(0x147)||_0x40c34c[_0x59a3c1(0x154)]==='EXDEV'||_0x40c34c[_0x59a3c1(0x154)]===_0x59a3c1(0x146)){writeFileSync(_0x449cc2,JSON[_0x59a3c1(0x145)](_0x5a1660,null,0x2)+'\x0a',{'encoding':_0x59a3c1(0x15e)});try{unlinkSync(_0x3dd537);}catch{}}else throw _0x40c34c;}}catch(_0x49c7e1){try{unlinkSync(_0x3dd537);}catch{}throw _0x49c7e1;}return _0x449cc2;}function a2_0x2c24(){const _0x132bca=['170596rsCUTC','trim','digest','unknown','ak_','908045VnsBRm','my-apps.json','4EfiseK','cache','820IZWWUq','code','slice','update','36443JHGYHS','9iYggXW','parse','280YJqBmQ','items','sha256','985264qewQZS','utf8','48PhwWBg','appName','30795nmLNZR','47270YmIHbh','hex','stringify','EACCES','EPERM','isArray','appCode'];a2_0x2c24=function(){return _0x132bca;};return a2_0x2c24();}export function resolveCachedAppCode(_0x1699ff,_0x2020e1,_0xd20513){const _0x3a6c1a=a2_0x3525;if(!_0x1699ff)return undefined;const _0x355e3d=readCachedAppList(_0x2020e1,_0xd20513),_0xaf4f14=_0x355e3d?.['items']['find'](_0x27d25f=>_0x27d25f[_0x3a6c1a(0x141)]===_0x1699ff&&isRuntimeAccessibleApp(_0x27d25f));return _0xaf4f14?.[_0x3a6c1a(0x149)]?.[_0x3a6c1a(0x14b)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x15563f=a3_0xe91c;function a3_0xe91c(_0x27a802,_0x317117){_0x27a802=_0x27a802-0x174;const _0x561c88=a3_0x561c();let _0xe91cf7=_0x561c88[_0x27a802];return _0xe91cf7;}(function(_0x30e256,_0x5e332f){const _0x2062a2=a3_0xe91c,_0x42765d=_0x30e256();while(!![]){try{const _0x2f696c=parseInt(_0x2062a2(0x1a2))/0x1*(-parseInt(_0x2062a2(0x19e))/0x2)+-parseInt(_0x2062a2(0x198))/0x3+-parseInt(_0x2062a2(0x1a0))/0x4*(-parseInt(_0x2062a2(0x19b))/0x5)+-parseInt(_0x2062a2(0x176))/0x6*(-parseInt(_0x2062a2(0x18c))/0x7)+parseInt(_0x2062a2(0x199))/0x8+-parseInt(_0x2062a2(0x1d1))/0x9+parseInt(_0x2062a2(0x195))/0xa*(parseInt(_0x2062a2(0x177))/0xb);if(_0x2f696c===_0x5e332f)break;else _0x42765d['push'](_0x42765d['shift']());}catch(_0x4a2a71){_0x42765d['push'](_0x42765d['shift']());}}}(a3_0x561c,0xe83b1));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x15563f(0x1ba),'type':a3_0x15563f(0x19d),'description':a3_0x15563f(0x17c),'default':![]};function collectFlags(_0x35ee73,_0x2bcf56){const _0x358162=a3_0x15563f,_0x4db935={};for(const _0x10fe9f of _0x2bcf56){const _0x4514b8=_0x10fe9f[_0x358162(0x1ab)]===_0x358162(0x19d)?_0x35ee73[_0x358162(0x1bf)](_0x10fe9f[_0x358162(0x1d0)]):_0x35ee73[_0x358162(0x1b2)](_0x10fe9f[_0x358162(0x1d0)]);if(_0x4514b8!==''&&_0x4514b8!==![])_0x4db935[_0x10fe9f[_0x358162(0x1d0)]]=_0x4514b8;}if(_0x35ee73[_0x358162(0x1b6)])_0x4db935['nonInteractive']=!![];return _0x4db935;}function normalizeLanguages(_0x3b7fe9){const _0x49b5f7=a3_0x15563f;if(!Array[_0x49b5f7(0x1a6)](_0x3b7fe9))return[];return _0x3b7fe9[_0x49b5f7(0x181)](_0x7380d9=>typeof _0x7380d9===_0x49b5f7(0x17e))[_0x49b5f7(0x178)](_0x23aaa7=>_0x23aaa7[_0x49b5f7(0x193)]())[_0x49b5f7(0x181)](Boolean);}function buildRemoteAppI18nFields(_0x30f865){const _0x54fcb7=a3_0x15563f,_0x37e038=normalizeLanguages(_0x30f865[_0x54fcb7(0x1c1)]?.[_0x54fcb7(0x1a3)]);return{'enableI18n':typeof _0x30f865[_0x54fcb7(0x17b)]===_0x54fcb7(0x19d)?_0x30f865['enableI18n']:null,'languages':_0x37e038,'i18nInfo':_0x30f865[_0x54fcb7(0x1c1)]?{..._0x30f865[_0x54fcb7(0x1c1)],'langs':_0x37e038[_0x54fcb7(0x175)]?_0x37e038:null}:null};}const initDef={'service':'app','command':a3_0x15563f(0x1c8),'description':'已废弃:请使用\x20workspace\x20init\x20为当前目录绑定应用','risk':a3_0x15563f(0x188),'confirmationDescription':'将通过已废弃的\x20app\x20init\x20流程写入本地\x20Lovrabet\x20应用配置;建议改用\x20workspace\x20init。','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x2fe899){const _0x3af35a=a3_0x15563f;return warnDeprecatedAppCommand('init',CLI_BIN_NAME+_0x3af35a(0x1bd)),await runInit(collectFlags(_0x2fe899,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x15563f(0x1a9),'command':a3_0x15563f(0x19f),'description':a3_0x15563f(0x186),'risk':a3_0x15563f(0x17a),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x15563f(0x19a),'type':a3_0x15563f(0x17e),'description':a3_0x15563f(0x185),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x15563f(0x1a8),'type':a3_0x15563f(0x19d),'description':a3_0x15563f(0x187),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x15563f(0x18e),'default':![]},{'name':'include-unpublished','type':'boolean','description':'Include\x20unpublished\x20apps\x20for\x20diagnostics','default':![]}],async 'execute'(_0x5d9544){const _0x28b959=a3_0x15563f,_0x3d2b37=_0x5d9544[_0x28b959(0x1b2)]('env')||_0x5d9544[_0x28b959(0x1b9)]||getEnv()||_0x28b959(0x1b5),_0x17e8c1=_0x5d9544[_0x28b959(0x1bf)]('local'),_0x10b7e9=_0x5d9544[_0x28b959(0x1bf)](_0x28b959(0x1be)),_0x4311c7=_0x5d9544[_0x28b959(0x1bf)]('include-unpublished'),{readRawConfigWithLayers:_0x59dc9a,resolveDefaultAppSource:_0x371e30,getLocalAppAliases:_0x594844}=await import(_0x28b959(0x1bb)),{getRemoteAppList:_0x464862}=await import(_0x28b959(0x1c9)),{config:_0x5258bb,layers:_0x5da240}=_0x59dc9a(),_0x1307f9=_0x371e30(_0x5da240),{defaultApp:_0x1a4a41}=_0x5258bb,_0x2b9ca2=await _0x464862({'env':_0x3d2b37,'accessKey':_0x5d9544[_0x28b959(0x183)],'localOnly':_0x17e8c1,'noCache':_0x10b7e9}),_0x5969f7=_0x4311c7?_0x2b9ca2[_0x28b959(0x1cd)]:filterRuntimeAccessibleApps(_0x2b9ca2[_0x28b959(0x1cd)]),_0xd61dbf=_0x2b9ca2['items'][_0x28b959(0x175)]-_0x5969f7[_0x28b959(0x175)],_0x6f2d8=_0x5969f7['map'](_0x11ead6=>{const _0x5ba0c5=_0x28b959;return{'name':_0x11ead6['appName'],'appcode':_0x11ead6['appCode'],'named':!![],'definedIn':_0x5ba0c5(0x180),'isDefault':_0x11ead6['appName']===_0x1a4a41,...buildAppProfileListFields(_0x3d2b37),...buildRemoteAppI18nFields(_0x11ead6),'source':_0x2b9ca2[_0x5ba0c5(0x179)],'owner':_0x11ead6[_0x5ba0c5(0x1a1)]??null,'status':_0x11ead6['appPublishStatus']??null,'cachedAt':_0x2b9ca2[_0x5ba0c5(0x1ac)]};}),_0x27414f=_0x594844(_0x5258bb);let _0x2afa72=0x0;for(const [_0x2a9016,_0x589e45]of Object[_0x28b959(0x19c)](_0x27414f)){const _0x1f88f3=typeof _0x589e45['appcode']===_0x28b959(0x17e)?_0x589e45['appcode'][_0x28b959(0x193)]():'';if(!_0x1f88f3)continue;const _0x1f3862=findAppByCode(_0x2b9ca2['items'],_0x1f88f3);if(!_0x4311c7&&_0x1f3862&&!isRuntimeAccessibleApp(_0x1f3862))continue;_0x2afa72+=0x1,_0x6f2d8['push']({'name':_0x2a9016,'appcode':_0x1f88f3,'named':!![],'definedIn':_0x28b959(0x1a8),'isDefault':_0x2a9016===_0x1a4a41,...buildAppProfileListFields(_0x3d2b37),'source':_0x28b959(0x18f),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x6f2d8,_0x5d9544['mergedCli']);const _0x1a078f=_0x6f2d8['find'](_0x170e78=>_0x170e78[_0x28b959(0x1c6)]===!![]),_0x4e2e4e=_0x1a4a41??_0x1a078f?.[_0x28b959(0x1d0)]??null,_0x353280={'env':_0x3d2b37,'source':_0x2b9ca2[_0x28b959(0x179)],'fetchedAt':_0x2b9ca2['fetchedAt'],'cachePath':_0x2b9ca2[_0x28b959(0x1c3)],'globalPath':_0x5da240[_0x28b959(0x197)]??null,'projectPath':_0x5da240['projectPath']??null,'defaultApp':_0x4e2e4e,'defaultAppSource':_0x1a4a41!=null?_0x1307f9:null,'localAliasCount':_0x2afa72,'remoteTotal':_0x2b9ca2[_0x28b959(0x1cd)]['length'],'hiddenUnpublishedCount':_0xd61dbf,'includeUnpublished':_0x4311c7};if(_0x6f2d8['length']===0x0)return{'ok':!![],'data':{'items':_0x6f2d8,'meta':_0x353280},'message':_0x2b9ca2[_0x28b959(0x179)]===_0x28b959(0x1b0)?_0x28b959(0x1c7):_0x28b959(0x1a7)};return{'ok':!![],'data':{'items':_0x6f2d8,'meta':_0x353280}};}},pullDef={'service':a3_0x15563f(0x1a9),'command':'pull','description':a3_0x15563f(0x1ad),'risk':a3_0x15563f(0x188),'confirmationDescription':a3_0x15563f(0x1b3),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x15563f(0x19a),'type':'string','description':a3_0x15563f(0x17d),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x15563f(0x1a8),'type':a3_0x15563f(0x19d),'description':a3_0x15563f(0x18a),'default':![]},{'name':a3_0x15563f(0x1be),'type':a3_0x15563f(0x19d),'description':a3_0x15563f(0x18e),'default':![]}],async 'execute'(_0x37b042){const _0x546199=a3_0x15563f,_0x7d7dc3=_0x37b042[_0x546199(0x1b2)](_0x546199(0x19a))||_0x37b042[_0x546199(0x1b9)]||getEnv()||'production',_0x319092=_0x37b042[_0x546199(0x1bf)](_0x546199(0x1a8)),_0x48f696=_0x37b042['bool'](_0x546199(0x1be)),{getRemoteAppList:_0x327120}=await import(_0x546199(0x1c9)),_0x510c4f=await _0x327120({'env':_0x7d7dc3,'accessKey':_0x37b042['accessKey'],'localOnly':_0x319092,'noCache':_0x48f696});return{'ok':!![],'data':{'total':_0x510c4f[_0x546199(0x1cd)][_0x546199(0x175)],'env':_0x7d7dc3,'source':_0x510c4f[_0x546199(0x179)],'fetchedAt':_0x510c4f['fetchedAt'],'cachePath':_0x510c4f[_0x546199(0x1c3)]},'message':_0x510c4f[_0x546199(0x179)]===_0x546199(0x1b0)?_0x546199(0x174)+_0x510c4f[_0x546199(0x1cd)][_0x546199(0x175)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x7d7dc3+'\x22.':_0x546199(0x1b7)+_0x510c4f[_0x546199(0x1cd)]['length']+_0x546199(0x190)+_0x7d7dc3+'\x22.'};}},useDef={'service':a3_0x15563f(0x1a9),'command':a3_0x15563f(0x1aa),'description':a3_0x15563f(0x18b),'risk':a3_0x15563f(0x188),'confirmationDescription':a3_0x15563f(0x1c2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x15563f(0x1d0),'description':a3_0x15563f(0x1cf),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x4673d9){const _0x2aa84e=a3_0x15563f;if(!_0x4673d9['args'][0x0])throw CliErrors[_0x2aa84e(0x1a4)](_0x2aa84e(0x17f),'Usage:\x20'+CLI_BIN_NAME+_0x2aa84e(0x182));},async 'execute'(_0x381e3d){const _0x15feb1=a3_0x15563f;warnDeprecatedAppCommand(_0x15feb1(0x1aa),CLI_BIN_NAME+_0x15feb1(0x1c0));const _0x58f4b1=_0x381e3d['args'][0x0];if(!_0x58f4b1)throw CliErrors[_0x15feb1(0x1a4)](_0x15feb1(0x17f),_0x15feb1(0x1b8)+CLI_BIN_NAME+_0x15feb1(0x182));const {buildConfigFromFlags:_0x4090a6,resolveLocalAppAliasCode:_0x14bd63}=await import(_0x15feb1(0x1bb)),{readCachedAppList:_0x4d0f97}=await import(_0x15feb1(0x1ca)),_0x82fd4b=_0x381e3d[_0x15feb1(0x1b2)](_0x15feb1(0x19a)),_0x5adcea=_0x4090a6(_0x82fd4b?{'env':_0x82fd4b}:{}),_0x1011d3=_0x4d0f97(_0x5adcea[_0x15feb1(0x19a)],_0x5adcea[_0x15feb1(0x183)]),_0x188c51=_0x1011d3?.[_0x15feb1(0x1cd)][_0x15feb1(0x1a5)](_0xcf15cb=>_0xcf15cb[_0x15feb1(0x1cc)]===_0x58f4b1),_0x54fc0d=_0x14bd63(_0x5adcea[_0x15feb1(0x1c4)]??{},_0x58f4b1);if(_0x188c51&&!isRuntimeAccessibleApp(_0x188c51))throw runtimeInaccessibleAppError(_0x188c51,'\x22'+_0x58f4b1+'\x22');if(_0x54fc0d){const _0x32ba4f=_0x1011d3?.[_0x15feb1(0x1cd)][_0x15feb1(0x1a5)](_0x328eb3=>_0x328eb3[_0x15feb1(0x1ae)]?.[_0x15feb1(0x193)]()===_0x54fc0d);if(_0x32ba4f&&!isRuntimeAccessibleApp(_0x32ba4f))throw runtimeInaccessibleAppError(_0x32ba4f,'\x22'+_0x58f4b1+'\x22');}if(!_0x188c51&&!_0x54fc0d&&_0x5adcea[_0x15feb1(0x18d)]!==_0x58f4b1){const _0x1d013e=[..._0x1011d3?.[_0x15feb1(0x1cd)][_0x15feb1(0x178)](_0x2be458=>_0x2be458[_0x15feb1(0x1cc)])??[]],_0x276c74=_0x1d013e[_0x15feb1(0x175)]===0x0?_0x15feb1(0x1b4)+CLI_BIN_NAME+_0x15feb1(0x1ce)+_0x58f4b1+_0x15feb1(0x184):_0x15feb1(0x191)+Array['from'](new Set(_0x1d013e))['join'](',\x20')+_0x15feb1(0x1c5);throw CliErrors['validation'](_0x15feb1(0x1cb)+_0x58f4b1+'\x22\x20not\x20found.',_0x276c74);}const _0x43f05e=_0x381e3d['bool'](_0x15feb1(0x1ba));let _0x15c9d9;if(_0x43f05e)_0x15c9d9={'global':!![]};else{const {isInProject:_0x283ab7}=await import(_0x15feb1(0x1bb)),_0x3afbeb=_0x283ab7();_0x15c9d9=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x15feb1(0x192),'inProject':_0x3afbeb}));}const _0x48eedd=readConfig(_0x15c9d9);return _0x48eedd[_0x15feb1(0x18d)]=_0x58f4b1,writeConfig(_0x48eedd,_0x15c9d9),{'ok':!![],'message':_0x15feb1(0x194)+_0x58f4b1+'\x22'+scopeLabel(_0x15c9d9)+'.'};}};function warnDeprecatedAppCommand(_0x3823a4,_0x4f2179){const _0x45a734=a3_0x15563f;console[_0x45a734(0x1bc)](CLI_BIN_NAME+_0x45a734(0x189)+_0x3823a4+_0x45a734(0x1af)+_0x4f2179+'`\x20instead.');}const importDef={'service':a3_0x15563f(0x1a9),'command':'import','description':a3_0x15563f(0x196),'risk':a3_0x15563f(0x188),'confirmationDescription':a3_0x15563f(0x1b1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x274627){return await runInitImport(collectFlags(_0x274627,initImportFlagDefs)),{'ok':!![]};}};function a3_0x561c(){const _0x140b2b=['\x20app(s)\x20for\x20env=\x22','Available\x20remote\x20apps:\x20','project-default','trim','Default\x20app\x20candidate\x20set\x20to\x20\x22','14941890iZKqYj','从\x20.rabetbase.json\x20文件导入默认应用选择','globalPath','176574ighQcy','8199488VSLgdf','env','357710vIamkj','entries','boolean','2isuOki','list','8sVOSPn','appOwnerName','18961ZNDrFS','langs','validation','find','isArray','No\x20apps\x20found\x20on\x20the\x20platform.','local','app','use','type','fetchedAt','从平台刷新本地应用缓存','appCode','\x20is\x20deprecated.\x20Use\x20`','cache','将读取指定的\x20.rabetbase.json,并把其中可用的默认应用设置导入本地\x20.lovrabet.json;同名配置可能被更新。','str','将从平台读取当前账号可用的应用列表,并覆盖对应环境的本地应用缓存;不会修改平台应用。','Use\x20`','production','nonInteractive','Refreshed\x20app\x20cache\x20with\x20','Usage:\x20','envName','global','../../context.js','warn','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','no-cache','bool','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','i18nInfo','将通过已废弃的\x20app\x20use\x20流程更新本地默认应用;建议改用\x20workspace\x20use。','cachePath','raw','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','isCurrent','No\x20cached\x20apps\x20found.','init','../../commands/app/remote-source.js','../../commands/app/cache.js','App\x20\x22','appName','items','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','Remote\x20app\x20name\x20to\x20activate','name','16530858CHabxP','Loaded\x20','length','135726gaFJeM','11LaFzrR','map','source','read','enableI18n','Use\x20global\x20config\x20scope','Target\x20environment\x20(default:\x20current\x20env)','string','Missing\x20app\x20name.','remote','filter','\x20app\x20use\x20<name>\x20[--global]','accessKey','.appcode\x20to\x20.lovrabet.json.','Filter\x20by\x20environment\x20(default:\x20current\x20env)','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','Read\x20app\x20list\x20from\x20local\x20cache\x20only','write','\x20app\x20','Read\x20from\x20local\x20cache\x20only','已废弃:请使用\x20workspace\x20use\x20为当前目录绑定应用','63HuNDXN','defaultApp','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','config'];a3_0x561c=function(){return _0x140b2b;};return a3_0x561c();}export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x2d2b51=a3_0x310d;(function(_0x5e51cc,_0x1dc678){const _0x5ad741=a3_0x310d,_0x36b89d=_0x5e51cc();while(!![]){try{const _0x5bafcb=parseInt(_0x5ad741(0x8d))/0x1*(parseInt(_0x5ad741(0x68))/0x2)+parseInt(_0x5ad741(0x99))/0x3*(parseInt(_0x5ad741(0x9c))/0x4)+-parseInt(_0x5ad741(0x7b))/0x5*(parseInt(_0x5ad741(0xa3))/0x6)+parseInt(_0x5ad741(0x76))/0x7*(-parseInt(_0x5ad741(0xa6))/0x8)+-parseInt(_0x5ad741(0x77))/0x9+parseInt(_0x5ad741(0x96))/0xa+parseInt(_0x5ad741(0x7e))/0xb*(parseInt(_0x5ad741(0xc4))/0xc);if(_0x5bafcb===_0x1dc678)break;else _0x36b89d['push'](_0x36b89d['shift']());}catch(_0x264a4d){_0x36b89d['push'](_0x36b89d['shift']());}}}(a3_0x14af,0x5dc39));function a3_0x14af(){const _0x1d4fd9=['Filter\x20by\x20environment\x20(default:\x20current\x20env)','\x20app(s)\x20for\x20env=\x22','string','enableI18n','appName','已废弃:请使用\x20workspace\x20use\x20为当前目录绑定应用','\x20app\x20use\x20<name>\x20[--global]','Target\x20environment\x20(default:\x20current\x20env)','raw','write','project-default','\x20is\x20deprecated.\x20Use\x20`','filter','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','Refreshed\x20app\x20cache\x20with\x20','isArray','items','map','validation','8163420HdukHt','include-unpublished','\x22\x20not\x20found.','str','2WwtlbJ','i18nInfo','from','isCurrent','no-cache','No\x20apps\x20found\x20on\x20the\x20platform.','Read\x20app\x20list\x20from\x20local\x20cache\x20only','\x20app\x20','从平台刷新本地应用缓存','.appcode\x20to\x20.lovrabet.json.','list','globalPath','read','args','1512nSnNzj','5832549kDERDQ','env','fetchedAt','name','10RoQMMD','projectPath','Default\x20app\x20candidate\x20set\x20to\x20\x22','11MCrQad','config','entries','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','find','appOwnerName','push','app','boolean','length','global','langs','defaultApp','Remote\x20app\x20name\x20to\x20activate','import','35977GTUtfF','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','type','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','production','Loaded\x20','use','../../context.js','`\x20instead.','7332900dKyeFH','nonInteractive','从\x20.rabetbase.json\x20文件导入默认应用选择','35106jEFZrd','accessKey','trim','4juqgLJ','bool','Usage:\x20','remote','appCode','source','mergedCli','818904hHhSIg','已废弃:请使用\x20workspace\x20init\x20为当前目录绑定应用','local','5784zrjpZd','envName','App\x20\x22','No\x20cached\x20apps\x20found.','Missing\x20app\x20name.','pull','appcode','init','Use\x20global\x20config\x20scope','Include\x20unpublished\x20apps\x20for\x20diagnostics','Available\x20remote\x20apps:\x20'];a3_0x14af=function(){return _0x1d4fd9;};return a3_0x14af();}import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';function a3_0x310d(_0x3c005a,_0x5d7987){_0x3c005a=_0x3c005a-0x65;const _0x14af7d=a3_0x14af();let _0x310d77=_0x14af7d[_0x3c005a];return _0x310d77;}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_0x2d2b51(0x88),'type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0xae),'default':![]};function collectFlags(_0x68a798,_0x1f9bf6){const _0x4c1490=a3_0x2d2b51,_0x11c34b={};for(const _0x5d2961 of _0x1f9bf6){const _0x39e4ac=_0x5d2961[_0x4c1490(0x8f)]===_0x4c1490(0x86)?_0x68a798[_0x4c1490(0x9d)](_0x5d2961[_0x4c1490(0x7a)]):_0x68a798['str'](_0x5d2961[_0x4c1490(0x7a)]);if(_0x39e4ac!==''&&_0x39e4ac!==![])_0x11c34b[_0x5d2961['name']]=_0x39e4ac;}if(_0x68a798[_0x4c1490(0x97)])_0x11c34b[_0x4c1490(0x97)]=!![];return _0x11c34b;}function normalizeLanguages(_0x535599){const _0x22cc58=a3_0x2d2b51;if(!Array[_0x22cc58(0xc0)](_0x535599))return[];return _0x535599[_0x22cc58(0xbd)](_0x37ed2f=>typeof _0x37ed2f===_0x22cc58(0xb3))[_0x22cc58(0xc2)](_0x225cdf=>_0x225cdf[_0x22cc58(0x9b)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x1d1775){const _0x1279ed=a3_0x2d2b51,_0x3031f9=normalizeLanguages(_0x1d1775[_0x1279ed(0x69)]?.[_0x1279ed(0x89)]);return{'enableI18n':typeof _0x1d1775['enableI18n']==='boolean'?_0x1d1775[_0x1279ed(0xb4)]:null,'languages':_0x3031f9,'i18nInfo':_0x1d1775['i18nInfo']?{..._0x1d1775[_0x1279ed(0x69)],'langs':_0x3031f9[_0x1279ed(0x87)]?_0x3031f9:null}:null};}const initDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0xad),'description':a3_0x2d2b51(0xa4),'risk':a3_0x2d2b51(0xba),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x497b25){const _0x120ec8=a3_0x2d2b51;return warnDeprecatedAppCommand('init',CLI_BIN_NAME+_0x120ec8(0xbe)),await runInit(collectFlags(_0x497b25,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':'app','command':a3_0x2d2b51(0x72),'description':a3_0x2d2b51(0x8e),'risk':a3_0x2d2b51(0x74),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x2d2b51(0xb3),'description':a3_0x2d2b51(0xb1),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0x6e),'default':![]},{'name':a3_0x2d2b51(0x6c),'type':a3_0x2d2b51(0x86),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x2d2b51(0x65),'type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0xaf),'default':![]}],async 'execute'(_0x237ff0){const _0x3826b5=a3_0x2d2b51,_0x4693a0=_0x237ff0[_0x3826b5(0x67)]('env')||_0x237ff0[_0x3826b5(0xa7)]||getEnv()||'production',_0x46cdf1=_0x237ff0[_0x3826b5(0x9d)]('local'),_0x57eb30=_0x237ff0[_0x3826b5(0x9d)](_0x3826b5(0x6c)),_0x301ae0=_0x237ff0[_0x3826b5(0x9d)]('include-unpublished'),{readRawConfigWithLayers:_0x2e3b6b,resolveDefaultAppSource:_0x10dc3f,getLocalAppAliases:_0x5d6cd3}=await import('../../context.js'),{getRemoteAppList:_0x213e0c}=await import('../../commands/app/remote-source.js'),{config:_0x3f52fe,layers:_0x132e32}=_0x2e3b6b(),_0x2895d2=_0x10dc3f(_0x132e32),{defaultApp:_0x1fd0c0}=_0x3f52fe,_0x28ccf4=await _0x213e0c({'env':_0x4693a0,'accessKey':_0x237ff0['accessKey'],'localOnly':_0x46cdf1,'noCache':_0x57eb30}),_0x1c1ef2=_0x301ae0?_0x28ccf4[_0x3826b5(0xc1)]:filterRuntimeAccessibleApps(_0x28ccf4[_0x3826b5(0xc1)]),_0x7a6fbe=_0x28ccf4[_0x3826b5(0xc1)][_0x3826b5(0x87)]-_0x1c1ef2['length'],_0x74e81e=_0x1c1ef2[_0x3826b5(0xc2)](_0x4c2fde=>{const _0x444921=_0x3826b5;return{'name':_0x4c2fde['appName'],'appcode':_0x4c2fde[_0x444921(0xa0)],'named':!![],'definedIn':_0x444921(0x9f),'isDefault':_0x4c2fde[_0x444921(0xb5)]===_0x1fd0c0,...buildAppProfileListFields(_0x4693a0),...buildRemoteAppI18nFields(_0x4c2fde),'source':_0x28ccf4[_0x444921(0xa1)],'owner':_0x4c2fde[_0x444921(0x83)]??null,'status':_0x4c2fde['appPublishStatus']??null,'cachedAt':_0x28ccf4[_0x444921(0x79)]};}),_0x497501=_0x5d6cd3(_0x3f52fe);let _0xa59b99=0x0;for(const [_0x1ffb68,_0x4c46f1]of Object[_0x3826b5(0x80)](_0x497501)){const _0x545d8b=typeof _0x4c46f1['appcode']==='string'?_0x4c46f1[_0x3826b5(0xac)][_0x3826b5(0x9b)]():'';if(!_0x545d8b)continue;const _0x429c55=findAppByCode(_0x28ccf4[_0x3826b5(0xc1)],_0x545d8b);if(!_0x301ae0&&_0x429c55&&!isRuntimeAccessibleApp(_0x429c55))continue;_0xa59b99+=0x1,_0x74e81e[_0x3826b5(0x84)]({'name':_0x1ffb68,'appcode':_0x545d8b,'named':!![],'definedIn':_0x3826b5(0xa5),'isDefault':_0x1ffb68===_0x1fd0c0,...buildAppProfileListFields(_0x4693a0),'source':_0x3826b5(0x7f),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x74e81e,_0x237ff0[_0x3826b5(0xa2)]);const _0x4b621c=_0x74e81e[_0x3826b5(0x82)](_0x5cfe3f=>_0x5cfe3f[_0x3826b5(0x6b)]===!![]),_0x29f828=_0x1fd0c0??_0x4b621c?.[_0x3826b5(0x7a)]??null,_0x1d9419={'env':_0x4693a0,'source':_0x28ccf4[_0x3826b5(0xa1)],'fetchedAt':_0x28ccf4[_0x3826b5(0x79)],'cachePath':_0x28ccf4['cachePath'],'globalPath':_0x132e32[_0x3826b5(0x73)]??null,'projectPath':_0x132e32[_0x3826b5(0x7c)]??null,'defaultApp':_0x29f828,'defaultAppSource':_0x1fd0c0!=null?_0x2895d2:null,'localAliasCount':_0xa59b99,'remoteTotal':_0x28ccf4[_0x3826b5(0xc1)][_0x3826b5(0x87)],'hiddenUnpublishedCount':_0x7a6fbe,'includeUnpublished':_0x301ae0};if(_0x74e81e[_0x3826b5(0x87)]===0x0)return{'ok':!![],'data':{'items':_0x74e81e,'meta':_0x1d9419},'message':_0x28ccf4[_0x3826b5(0xa1)]==='cache'?_0x3826b5(0xa9):_0x3826b5(0x6d)};return{'ok':!![],'data':{'items':_0x74e81e,'meta':_0x1d9419}};}},pullDef={'service':'app','command':a3_0x2d2b51(0xab),'description':a3_0x2d2b51(0x70),'risk':a3_0x2d2b51(0xba),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x2d2b51(0x78),'type':a3_0x2d2b51(0xb3),'description':a3_0x2d2b51(0xb8),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2d2b51(0xa5),'type':a3_0x2d2b51(0x86),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x2d2b51(0x6c),'type':'boolean','description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x4de51d){const _0x199612=a3_0x2d2b51,_0x5434d4=_0x4de51d[_0x199612(0x67)]('env')||_0x4de51d[_0x199612(0xa7)]||getEnv()||_0x199612(0x91),_0x29ea50=_0x4de51d[_0x199612(0x9d)](_0x199612(0xa5)),_0x348e01=_0x4de51d['bool'](_0x199612(0x6c)),{getRemoteAppList:_0x2acc09}=await import('../../commands/app/remote-source.js'),_0x32f633=await _0x2acc09({'env':_0x5434d4,'accessKey':_0x4de51d[_0x199612(0x9a)],'localOnly':_0x29ea50,'noCache':_0x348e01});return{'ok':!![],'data':{'total':_0x32f633['items'][_0x199612(0x87)],'env':_0x5434d4,'source':_0x32f633[_0x199612(0xa1)],'fetchedAt':_0x32f633[_0x199612(0x79)],'cachePath':_0x32f633['cachePath']},'message':_0x32f633[_0x199612(0xa1)]==='cache'?_0x199612(0x92)+_0x32f633[_0x199612(0xc1)]['length']+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x5434d4+'\x22.':_0x199612(0xbf)+_0x32f633['items'][_0x199612(0x87)]+_0x199612(0xb2)+_0x5434d4+'\x22.'};}},useDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0x93),'description':a3_0x2d2b51(0xb6),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':a3_0x2d2b51(0x8b),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x3e037c){const _0x5d05db=a3_0x2d2b51;if(!_0x3e037c[_0x5d05db(0x75)][0x0])throw CliErrors['validation']('Missing\x20app\x20name.',_0x5d05db(0x9e)+CLI_BIN_NAME+_0x5d05db(0xb7));},async 'execute'(_0x16d16e){const _0x59215d=a3_0x2d2b51;warnDeprecatedAppCommand(_0x59215d(0x93),CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x3a7c5b=_0x16d16e[_0x59215d(0x75)][0x0];if(!_0x3a7c5b)throw CliErrors[_0x59215d(0xc3)](_0x59215d(0xaa),'Usage:\x20'+CLI_BIN_NAME+_0x59215d(0xb7));const {buildConfigFromFlags:_0x478222,resolveLocalAppAliasCode:_0x4f2121}=await import(_0x59215d(0x94)),{readCachedAppList:_0x8e9e3d}=await import('../../commands/app/cache.js'),_0x2f24c2=_0x16d16e[_0x59215d(0x67)](_0x59215d(0x78)),_0x4623e3=_0x478222(_0x2f24c2?{'env':_0x2f24c2}:{}),_0x226033=_0x8e9e3d(_0x4623e3['env'],_0x4623e3[_0x59215d(0x9a)]),_0x37d05b=_0x226033?.[_0x59215d(0xc1)][_0x59215d(0x82)](_0x43067f=>_0x43067f[_0x59215d(0xb5)]===_0x3a7c5b),_0x4a7372=_0x4f2121(_0x4623e3[_0x59215d(0xb9)]??{},_0x3a7c5b);if(_0x37d05b&&!isRuntimeAccessibleApp(_0x37d05b))throw runtimeInaccessibleAppError(_0x37d05b,'\x22'+_0x3a7c5b+'\x22');if(_0x4a7372){const _0x27c3d7=_0x226033?.['items'][_0x59215d(0x82)](_0x77d93e=>_0x77d93e[_0x59215d(0xa0)]?.[_0x59215d(0x9b)]()===_0x4a7372);if(_0x27c3d7&&!isRuntimeAccessibleApp(_0x27c3d7))throw runtimeInaccessibleAppError(_0x27c3d7,'\x22'+_0x3a7c5b+'\x22');}if(!_0x37d05b&&!_0x4a7372&&_0x4623e3[_0x59215d(0x8a)]!==_0x3a7c5b){const _0x4178bc=[..._0x226033?.['items']['map'](_0x53fbea=>_0x53fbea['appName'])??[]],_0x43749b=_0x4178bc['length']===0x0?'Use\x20`'+CLI_BIN_NAME+_0x59215d(0x90)+_0x3a7c5b+_0x59215d(0x71):_0x59215d(0xb0)+Array[_0x59215d(0x6a)](new Set(_0x4178bc))['join'](',\x20')+_0x59215d(0x81);throw CliErrors['validation'](_0x59215d(0xa8)+_0x3a7c5b+_0x59215d(0x66),_0x43749b);}const _0x4e3631=_0x16d16e[_0x59215d(0x9d)]('global');let _0x181935;if(_0x4e3631)_0x181935={'global':!![]};else{const {isInProject:_0x20e12b}=await import('../../context.js'),_0x916c2c=_0x20e12b();_0x181935=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x59215d(0xbb),'inProject':_0x916c2c}));}const _0x5562b1=readConfig(_0x181935);return _0x5562b1[_0x59215d(0x8a)]=_0x3a7c5b,writeConfig(_0x5562b1,_0x181935),{'ok':!![],'message':_0x59215d(0x7d)+_0x3a7c5b+'\x22'+scopeLabel(_0x181935)+'.'};}};function warnDeprecatedAppCommand(_0x9571f0,_0x129e75){const _0x15faa0=a3_0x2d2b51;console['warn'](CLI_BIN_NAME+_0x15faa0(0x6f)+_0x9571f0+_0x15faa0(0xbc)+_0x129e75+_0x15faa0(0x95));}const importDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0x8c),'description':a3_0x2d2b51(0x98),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0xc6c1ca){return await runInitImport(collectFlags(_0xc6c1ca,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a4_0x1505(_0x4284ab,_0x3bca8c){_0x4284ab=_0x4284ab-0x6f;const _0x5d589e=a4_0x5d58();let _0x1505ea=_0x5d589e[_0x4284ab];return _0x1505ea;}(function(_0xc4dcda,_0x3f7aea){const _0x307c71=a4_0x1505,_0x5688a8=_0xc4dcda();while(!![]){try{const _0x624ea4=parseInt(_0x307c71(0x72))/0x1*(parseInt(_0x307c71(0x7f))/0x2)+-parseInt(_0x307c71(0x85))/0x3*(parseInt(_0x307c71(0x73))/0x4)+parseInt(_0x307c71(0x82))/0x5+-parseInt(_0x307c71(0x7c))/0x6+parseInt(_0x307c71(0x78))/0x7*(-parseInt(_0x307c71(0x70))/0x8)+parseInt(_0x307c71(0x74))/0x9+parseInt(_0x307c71(0x87))/0xa*(parseInt(_0x307c71(0x7d))/0xb);if(_0x624ea4===_0x3f7aea)break;else _0x5688a8['push'](_0x5688a8['shift']());}catch(_0x22ea11){_0x5688a8['push'](_0x5688a8['shift']());}}}(a4_0x5d58,0x9ead4));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(_0x337154){const _0x1004da=a4_0x1505;if(typeof _0x337154!==_0x1004da(0x6f))return null;const _0x28d05b=_0x337154[_0x1004da(0x79)]();return _0x28d05b?_0x28d05b[_0x1004da(0x86)]():null;}function a4_0x5d58(){const _0x36af62=['filter','App\x20','3XFROCP','toUpperCase','714350SNJxAv','string','8jzOanj','validation','775612NGAJEp','2965508TecuMj','2309877ZFNpVK','appName','UNKNOWN','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','7370881JvNLVF','trim','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','Current\x20status:\x20','5221980VlfmVo','187YCtFEa','find','2kACdtM','.\x20Publish\x20the\x20app\x20before\x20using\x20','appPublishStatus','5339850tFagcW'];a4_0x5d58=function(){return _0x36af62;};return a4_0x5d58();}export function isRuntimeAccessibleApp(_0x4c8db0){const _0x495df8=a4_0x1505;return normalizeAppPublishStatus(_0x4c8db0[_0x495df8(0x81)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x2584bf){const _0x14b32c=a4_0x1505;return _0x2584bf[_0x14b32c(0x83)](isRuntimeAccessibleApp);}export function findAppByName(_0xce28c8,_0x57adb5){const _0x47c600=a4_0x1505;return _0xce28c8[_0x47c600(0x7e)](_0x57220f=>_0x57220f[_0x47c600(0x75)]===_0x57adb5);}export function findAppByCode(_0x8855e5,_0x51a9f6){const _0x5bc54b=a4_0x1505,_0x3340de=_0x51a9f6[_0x5bc54b(0x79)]();if(!_0x3340de)return undefined;return _0x8855e5[_0x5bc54b(0x7e)](_0x50b660=>_0x50b660['appCode']?.[_0x5bc54b(0x79)]()===_0x3340de);}export function runtimeInaccessibleAppError(_0x5a1996,_0x23fc97){const _0x4f2188=a4_0x1505,_0x9cdfb5=normalizeAppPublishStatus(_0x5a1996[_0x4f2188(0x81)])??_0x4f2188(0x76);return CliErrors[_0x4f2188(0x71)](_0x4f2188(0x84)+_0x23fc97+_0x4f2188(0x7a),_0x4f2188(0x7b)+_0x9cdfb5+_0x4f2188(0x80)+CLI_BIN_NAME+_0x4f2188(0x77));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x743a01,_0x429180){const _0x4eb2ed=a5_0x3da3,_0x2d5d2f=_0x743a01();while(!![]){try{const _0x1f99c0=-parseInt(_0x4eb2ed(0xeb))/0x1*(-parseInt(_0x4eb2ed(0xe4))/0x2)+-parseInt(_0x4eb2ed(0xe7))/0x3*(-parseInt(_0x4eb2ed(0xec))/0x4)+-parseInt(_0x4eb2ed(0xe3))/0x5+-parseInt(_0x4eb2ed(0xf1))/0x6*(-parseInt(_0x4eb2ed(0xed))/0x7)+-parseInt(_0x4eb2ed(0xea))/0x8+parseInt(_0x4eb2ed(0xe6))/0x9+parseInt(_0x4eb2ed(0xe9))/0xa*(-parseInt(_0x4eb2ed(0xe8))/0xb);if(_0x1f99c0===_0x429180)break;else _0x2d5d2f['push'](_0x2d5d2f['shift']());}catch(_0xc2ae06){_0x2d5d2f['push'](_0x2d5d2f['shift']());}}}(a5_0x4958,0xa660d));import{fileURLToPath}from'url';function a5_0x3da3(_0xd4134a,_0x36e23f){_0xd4134a=_0xd4134a-0xe2;const _0x49589f=a5_0x4958();let _0x3da30e=_0x49589f[_0xd4134a];return _0x3da30e;}function a5_0x4958(){const _0x3de912=['20yYcHbn','427oqBFMX','success','parse','errorMsg','59226ciBGDq','Mock\x20API\x20error:\x20','218300mWJwxF','28RIAFvZ','errorCode','7556076JQKYvc','720441VIGoJM','20178411wqyDtv','10ePQHEH','2526080uQckKu','16634oncUui'];a5_0x4958=function(){return _0x3de912;};return a5_0x4958();}import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x1480ae=a5_0x3da3,_0x110494=join(__dirname,'../../../mock/app-list.json'),_0x20d03b=readFileSync(_0x110494,'utf-8');return JSON[_0x1480ae(0xef)](_0x20d03b);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x50819f=a5_0x3da3,_0xc11169=getMockAppList();if(!_0xc11169[_0x50819f(0xee)])throw new Error(_0x50819f(0xe2)+_0xc11169[_0x50819f(0xf0)]+'\x20('+_0xc11169[_0x50819f(0xe5)]+')');return _0xc11169['data']['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2fbf5a,_0x3cc6d9){const _0x5a411d=a6_0x19c9,_0x5c32f9=_0x2fbf5a();while(!![]){try{const _0x2f3de6=parseInt(_0x5a411d(0x1e0))/0x1*(-parseInt(_0x5a411d(0x1d8))/0x2)+-parseInt(_0x5a411d(0x1e5))/0x3+-parseInt(_0x5a411d(0x1d9))/0x4+-parseInt(_0x5a411d(0x1e7))/0x5+-parseInt(_0x5a411d(0x1dc))/0x6*(-parseInt(_0x5a411d(0x1e1))/0x7)+parseInt(_0x5a411d(0x1e6))/0x8+parseInt(_0x5a411d(0x1de))/0x9*(parseInt(_0x5a411d(0x1e3))/0xa);if(_0x2f3de6===_0x3cc6d9)break;else _0x5c32f9['push'](_0x5c32f9['shift']());}catch(_0x2105ad){_0x5c32f9['push'](_0x5c32f9['shift']());}}}(a6_0x4e6f,0x65753));import{getMyApps}from'../../core/api-client.js';function a6_0x19c9(_0x4e0475,_0x9e74a5){_0x4e0475=_0x4e0475-0x1d6;const _0x4e6fdc=a6_0x4e6f();let _0x19c962=_0x4e6fdc[_0x4e0475];return _0x19c962;}import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';function a6_0x4e6f(){const _0x3ae7b7=['10DswTMW','mock','362751OWMiBn','2692328LOnVUj','91760gQtNAC','fetchedAt','trim','316MpFQhA','2545736fbXMgD','cache','toISOString','432bVzNos','remote','13349331QigBpr','items','4153uxLlYv','2688uteaFU','APP_LIST_SOURCE'];a6_0x4e6f=function(){return _0x3ae7b7;};return a6_0x4e6f();}export function shouldUseMockRemoteApps(){const _0x23b88c=a6_0x19c9,_0x49cb65=(productEnv(_0x23b88c(0x1e2))||'')[_0x23b88c(0x1d7)]()['toLowerCase']();return _0x49cb65===_0x23b88c(0x1e4);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x31122a){const _0x3939b5=a6_0x19c9,{env:_0x569920,accessKey:_0x5a2905,localOnly:localOnly=![],noCache:noCache=![]}=_0x31122a,_0xc0377=readCachedAppList(_0x569920,_0x5a2905),_0x542407=_0x5a2905?.[_0x3939b5(0x1d7)]()?getAppCacheFilePath(_0x569920,_0x5a2905):null;if(localOnly)return{'items':_0xc0377?.[_0x3939b5(0x1df)]??[],'source':_0x3939b5(0x1da),'fetchedAt':_0xc0377?.[_0x3939b5(0x1d6)]??null,'cachePath':_0x542407};try{const _0x2b95f2=await getRemoteAppItems(),_0x2aa322=shouldUseMockRemoteApps()?_0x3939b5(0x1e4):_0x3939b5(0x1dd),_0x401408=new Date()[_0x3939b5(0x1db)](),_0xcfa4c=_0x5a2905?.[_0x3939b5(0x1d7)]()?writeCachedAppList(_0x569920,_0x5a2905,{'env':_0x569920,'fetchedAt':_0x401408,'source':_0x2aa322,'items':_0x2b95f2}):null;return{'items':_0x2b95f2,'source':_0x2aa322,'fetchedAt':_0x401408,'cachePath':_0xcfa4c};}catch(_0x5a30af){if(!noCache&&_0xc0377)return{'items':_0xc0377[_0x3939b5(0x1df)],'source':'cache','fetchedAt':_0xc0377[_0x3939b5(0x1d6)],'cachePath':_0x542407};throw _0x5a30af;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2d18a8,_0x516a2f){const _0x4f7387=a7_0x182a,_0xbfd750=_0x2d18a8();while(!![]){try{const _0x2520e4=parseInt(_0x4f7387(0x72))/0x1+-parseInt(_0x4f7387(0x6b))/0x2+-parseInt(_0x4f7387(0x6d))/0x3*(-parseInt(_0x4f7387(0x7c))/0x4)+parseInt(_0x4f7387(0x7d))/0x5*(parseInt(_0x4f7387(0x6c))/0x6)+parseInt(_0x4f7387(0x7a))/0x7+parseInt(_0x4f7387(0x80))/0x8+-parseInt(_0x4f7387(0x74))/0x9*(parseInt(_0x4f7387(0x76))/0xa);if(_0x2520e4===_0x516a2f)break;else _0xbfd750['push'](_0xbfd750['shift']());}catch(_0x48763a){_0xbfd750['push'](_0xbfd750['shift']());}}}(a7_0x5c68,0xbd19d));import{CLI_BIN_NAME}from'../../constant/cli.js';import{formatScopeLabel}from'../../commands/common/config-policy.js';function a7_0x182a(_0xe48ee3,_0x3a356b){_0xe48ee3=_0xe48ee3-0x6b;const _0x5c6821=a7_0x5c68();let _0x182a67=_0x5c6821[_0xe48ee3];return _0x182a67;}function a7_0x5c68(){const _0x37a9a5=['definedIn','defaultApp','named','9536688sacjEi','appcode','6776ereYjH','505NZILhZ','trim','currentApp','9231088xqyAmQ','1063684HOZlnw','53148VZJUSB','867lUyRfN','global','isCurrent','find','appCode','1246713eIXbzq','local','34567272DjTNtP','name','10OaWFOf'];a7_0x5c68=function(){return _0x37a9a5;};return a7_0x5c68();}export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0x4fb69a,_0x152c48){const _0x12c6cf=a7_0x182a;if(!_0x152c48)return;const _0x3868f3=!!(_0x152c48[_0x12c6cf(0x7f)]??_0x152c48['defaultApp']);for(const _0x2fbc51 of _0x4fb69a){_0x2fbc51[_0x12c6cf(0x6f)]=![];}const _0x347f90=_0x152c48[_0x12c6cf(0x71)]!=null?String(_0x152c48['appCode'])[_0x12c6cf(0x7e)]():'';if(_0x3868f3){const _0x53e956=_0x152c48[_0x12c6cf(0x7f)]??_0x152c48[_0x12c6cf(0x78)];if(_0x53e956){const _0x124394=_0x4fb69a[_0x12c6cf(0x70)](_0x1d45c2=>_0x1d45c2[_0x12c6cf(0x79)]===!![]&&_0x1d45c2[_0x12c6cf(0x75)]===_0x53e956&&_0x1d45c2[_0x12c6cf(0x77)]===_0x12c6cf(0x73)),_0x61e742=_0x124394??_0x4fb69a[_0x12c6cf(0x70)](_0x591e19=>_0x591e19[_0x12c6cf(0x79)]===!![]&&_0x591e19[_0x12c6cf(0x75)]===_0x53e956);if(_0x61e742){const _0x4ae4a4=String(_0x61e742[_0x12c6cf(0x7b)]??'')['trim']();if(!_0x347f90||_0x4ae4a4===_0x347f90){_0x61e742['isCurrent']=!![];return;}}}if(_0x347f90){const _0xd3ec99=_0x4fb69a[_0x12c6cf(0x70)](_0x2988b9=>String(_0x2988b9[_0x12c6cf(0x7b)]??'')['trim']()===_0x347f90);_0xd3ec99&&(_0xd3ec99['isCurrent']=!![]);}return;}if(!_0x347f90)return;for(const _0x19d17a of _0x4fb69a){String(_0x19d17a[_0x12c6cf(0x7b)]??'')[_0x12c6cf(0x7e)]()===_0x347f90&&(_0x19d17a[_0x12c6cf(0x6f)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x22caca){const _0x31ae6f=a7_0x182a;return formatScopeLabel(_0x22caca[_0x31ae6f(0x6e)]?_0x31ae6f(0x6e):'project');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a8_0x2eba(){const _0x24a893=['21374fmFgCo','13mXjldZ','validation','961458ovzCBt','1518350eChMIT','Unable\x20to\x20get\x20app-config\x20value:\x20key=','8704782cAtdBx','912axkWYR','app-config','read','Missing\x20app-config\x20key.','key','Usage:\x20','2092932xBMpnB','apiError','34699NAuTfj','542634bLGByZ','get','\x20app-config\x20get\x20<key>','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.',',\x20appCode=','args','appCode'];a8_0x2eba=function(){return _0x24a893;};return a8_0x2eba();}const a8_0x3505ce=a8_0x2f20;(function(_0x714453,_0x59bc12){const _0x167bb4=a8_0x2f20,_0x507b02=_0x714453();while(!![]){try{const _0x2f8fd0=-parseInt(_0x167bb4(0x1c9))/0x1*(-parseInt(_0x167bb4(0x1c8))/0x2)+-parseInt(_0x167bb4(0x1cb))/0x3+parseInt(_0x167bb4(0x1d5))/0x4+-parseInt(_0x167bb4(0x1cc))/0x5+-parseInt(_0x167bb4(0x1c1))/0x6+parseInt(_0x167bb4(0x1d7))/0x7*(-parseInt(_0x167bb4(0x1cf))/0x8)+parseInt(_0x167bb4(0x1ce))/0x9;if(_0x2f8fd0===_0x59bc12)break;else _0x507b02['push'](_0x507b02['shift']());}catch(_0x2d61e8){_0x507b02['push'](_0x507b02['shift']());}}}(a8_0x2eba,0x555e5));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a8_0x2f20(_0x481bd1,_0x10b3f1){_0x481bd1=_0x481bd1-0x1c1;const _0x2ebaea=a8_0x2eba();let _0x2f2021=_0x2ebaea[_0x481bd1];return _0x2f2021;}export const appConfigGet={'service':a8_0x3505ce(0x1d0),'command':a8_0x3505ce(0x1c2),'description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x3505ce(0x1d1),'args':[{'name':a8_0x3505ce(0x1d3),'description':'App\x20config\x20key','required':!![]}],'flags':[],async 'execute'(_0x1304ed){const _0x160461=a8_0x3505ce,_0x17ae8d=_0x1304ed[_0x160461(0x1c6)][0x0]?.['trim']();if(!_0x17ae8d)throw CliErrors[_0x160461(0x1ca)](_0x160461(0x1d2),_0x160461(0x1d4)+CLI_BIN_NAME+_0x160461(0x1c3));try{const _0x5aef53=await getRuntimeAppConfigByKey(_0x1304ed[_0x160461(0x1c7)],_0x17ae8d);return{'ok':!![],'data':_0x5aef53};}catch{throw CliErrors[_0x160461(0x1d6)](_0x160461(0x1cd)+_0x17ae8d+_0x160461(0x1c5)+_0x1304ed[_0x160461(0x1c7)],_0x160461(0x1c4));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3766c4,_0x514680){const _0x1d9ddc=a9_0x1c15,_0x2a2f6f=_0x3766c4();while(!![]){try{const _0x3ecb35=parseInt(_0x1d9ddc(0xd7))/0x1+parseInt(_0x1d9ddc(0xdd))/0x2+parseInt(_0x1d9ddc(0xdc))/0x3*(-parseInt(_0x1d9ddc(0xde))/0x4)+parseInt(_0x1d9ddc(0xd6))/0x5*(-parseInt(_0x1d9ddc(0xe1))/0x6)+parseInt(_0x1d9ddc(0xd8))/0x7*(-parseInt(_0x1d9ddc(0xdf))/0x8)+parseInt(_0x1d9ddc(0xe0))/0x9*(-parseInt(_0x1d9ddc(0xdb))/0xa)+parseInt(_0x1d9ddc(0xd9))/0xb*(parseInt(_0x1d9ddc(0xda))/0xc);if(_0x3ecb35===_0x514680)break;else _0x2a2f6f['push'](_0x2a2f6f['shift']());}catch(_0x3a37a4){_0x2a2f6f['push'](_0x2a2f6f['shift']());}}}(a9_0xd6e2,0x3fa3e));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x1c15(_0x3808c2,_0x59eaf6){_0x3808c2=_0x3808c2-0xd6;const _0xd6e297=a9_0xd6e2();let _0x1c157f=_0xd6e297[_0x3808c2];return _0x1c157f;}export const appConfigDefinitions=[appConfigGet];function a9_0xd6e2(){const _0x43234c=['205SCRUGe','431154kSWtuL','7OuaATb','187hGlBjL','564288iFPaBK','1240gUTFyv','285723BVvQIr','436806KIedUn','20MWOPOC','1917184mZkKrj','9585gBlgfy','49812fTuecp'];a9_0xd6e2=function(){return _0x43234c;};return a9_0xd6e2();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0xad3acf=a10_0x4e40;(function(_0x4304f1,_0x167189){const _0x59462e=a10_0x4e40,_0x4d8204=_0x4304f1();while(!![]){try{const _0x22ff23=-parseInt(_0x59462e(0x1fb))/0x1*(-parseInt(_0x59462e(0x1f7))/0x2)+-parseInt(_0x59462e(0x212))/0x3*(parseInt(_0x59462e(0x1f9))/0x4)+parseInt(_0x59462e(0x209))/0x5+-parseInt(_0x59462e(0x1f3))/0x6+parseInt(_0x59462e(0x20f))/0x7*(parseInt(_0x59462e(0x20c))/0x8)+-parseInt(_0x59462e(0x1e7))/0x9*(-parseInt(_0x59462e(0x1e9))/0xa)+-parseInt(_0x59462e(0x204))/0xb;if(_0x22ff23===_0x167189)break;else _0x4d8204['push'](_0x4d8204['shift']());}catch(_0x5553bd){_0x4d8204['push'](_0x4d8204['shift']());}}}(a10_0x5363,0x2b9ba));function a10_0x4e40(_0x2c4eac,_0x486489){_0x2c4eac=_0x2c4eac-0x1df;const _0x536346=a10_0x5363();let _0x4e407f=_0x536346[_0x2c4eac];return _0x4e407f;}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_0x5363(){const _0x47db29=['3mzBGYQ','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','name','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','build','POST','Preview:\x20create\x20react_module\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','File\x20not\x20found:\x20','react_module','map','Created\x20Artifact\x20','str','parse','List\x20current-app\x20react_module\x20Artifacts','split','num','appCode','bool','保存新的\x20Artifact\x20源码并重新编译;应用中的内嵌模块展示和交互可能立即发生变化。','favorite','artifactType','deleted','metadata','write','updateTime','exec','join','flag','.\x20Unsupported:\x20','test','description','Artifact\x20ID','verbose','1962PWaVqe','file','6410jDCYQw','create','startsWith','utf8','dayjs','string','compiledContent','isArray','detail','--metadata\x20must\x20be\x20a\x20JSON\x20object.','1411794edUAGE','artifact','File\x20is\x20not\x20a\x20regular\x20file:\x20','data','284YdqLsl','add','113732HDcKJn','isFile','964iPSCms','根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','lodash','@ant-design/icons','File\x20path\x20is\x20required.','AGENT','boolean','react-dom','read','2405920XUJHCe','source','object','body','number','1506545FSkxkA','content','includes','40jCJCGT','validation','update','116389SOAuoE','/update','Optional\x20favorite-state\x20filter'];a10_0x5363=function(){return _0x47db29;};return a10_0x5363();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0xad3acf(0x21b),ARTIFACT_SOURCE_AGENT=a10_0xad3acf(0x200),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0xad3acf(0x202),a10_0xad3acf(0x1fd),a10_0xad3acf(0x1ed),'antd',a10_0xad3acf(0x1fe)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0xad3acf(0x1e0)](',\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_0xad3acf(0x1e8),'type':a10_0xad3acf(0x1ee),'required':!![],'description':a10_0xad3acf(0x215)},ARTIFACT_NAME_FLAG={'name':a10_0xad3acf(0x214),'type':'string','description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0xad3acf(0x229),'type':'string','description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x318d11){const _0xb32ade=a10_0xad3acf;return typeof _0x318d11===_0xb32ade(0x206)&&_0x318d11!==null&&!Array[_0xb32ade(0x1f0)](_0x318d11);}function readSourceFile(_0x4114fc){const _0x268dc9=a10_0xad3acf;if(!_0x4114fc)throw CliErrors['validation'](_0x268dc9(0x1ff));if(!existsSync(_0x4114fc))throw CliErrors[_0x268dc9(0x20d)](_0x268dc9(0x21a)+_0x4114fc);if(!statSync(_0x4114fc)[_0x268dc9(0x1fa)]())throw CliErrors[_0x268dc9(0x20d)](_0x268dc9(0x1f5)+_0x4114fc);const _0x4681d0=readFileSync(_0x4114fc,_0x268dc9(0x1ec));return validateReactModuleSource(_0x4681d0),_0x4681d0;}function parseMetadata(_0x4661be){const _0x39204d=a10_0xad3acf;if(!_0x4661be)return undefined;let _0x32ef1f;try{_0x32ef1f=JSON[_0x39204d(0x21f)](_0x4661be);}catch{throw CliErrors[_0x39204d(0x20d)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x4661be);}if(!isPlainObject(_0x32ef1f))throw CliErrors['validation'](_0x39204d(0x1f2));const _0x3bdfc7={..._0x32ef1f};return delete _0x3bdfc7[_0x39204d(0x1ef)],_0x3bdfc7;}function getPackageName(_0x1bbff0){const _0x5b0c5c=a10_0xad3acf;if(_0x1bbff0[_0x5b0c5c(0x1eb)]('@')){const [_0x57839d,_0x387c6e]=_0x1bbff0[_0x5b0c5c(0x221)]('/');return _0x57839d&&_0x387c6e?_0x57839d+'/'+_0x387c6e:_0x1bbff0;}return _0x1bbff0[_0x5b0c5c(0x221)]('/')[0x0]||_0x1bbff0;}function validateAllowedImports(_0x5b89cc){const _0x38d509=a10_0xad3acf,_0x303d76=new Set();for(const _0x33430c of IMPORT_SOURCE_PATTERNS){_0x33430c['lastIndex']=0x0;let _0x3cc11a;while((_0x3cc11a=_0x33430c[_0x38d509(0x1df)](_0x5b89cc))!==null){const _0x2f9809=_0x3cc11a[0x1]?.['trim']();_0x2f9809&&_0x303d76[_0x38d509(0x1f8)](_0x2f9809);}}const _0x1ef3c8=[..._0x303d76][_0x38d509(0x21c)](getPackageName)['filter'](_0x65643f=>!ALLOWED_REACT_MODULE_IMPORTS[_0x38d509(0x20b)](_0x65643f));if(_0x1ef3c8['length']>0x0)throw CliErrors['validation']('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x38d509(0x1e2)+[...new Set(_0x1ef3c8)][_0x38d509(0x1e0)](',\x20'));}export function validateReactModuleSource(_0x3cdd2c){const _0x62880a=a10_0xad3acf;if(!_0x3cdd2c['trim']())throw CliErrors['validation']('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS['some'](_0x5a28e4=>_0x5a28e4[_0x62880a(0x1e3)](_0x3cdd2c)))throw CliErrors[_0x62880a(0x20d)](_0x62880a(0x213));validateAllowedImports(_0x3cdd2c);}function buildArtifactInput(_0xeebe1){const _0x28051b=a10_0xad3acf,_0x14e5df=readSourceFile(_0xeebe1[_0x28051b(0x21e)](_0x28051b(0x1e8))),_0x2d0128=_0xeebe1[_0x28051b(0x21e)](_0x28051b(0x214))['trim'](),_0x26e1dc=parseMetadata(_0xeebe1['str']('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2d0128?{'name':_0x2d0128}:{},'content':_0x14e5df,..._0x26e1dc?{'metadata':_0x26e1dc}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x43c6f1){const _0x5b5f7f=a10_0xad3acf;return{'id':_0x43c6f1['id'],'name':_0x43c6f1[_0x5b5f7f(0x214)],'artifactType':_0x43c6f1[_0x5b5f7f(0x227)],'source':_0x43c6f1[_0x5b5f7f(0x205)],'favorite':_0x43c6f1[_0x5b5f7f(0x226)],'deleted':_0x43c6f1[_0x5b5f7f(0x228)],'createTime':_0x43c6f1['createTime'],'updateTime':_0x43c6f1[_0x5b5f7f(0x22b)]};}function detailArtifact(_0x23270b){const _0x126c74=a10_0xad3acf;return{'id':_0x23270b['id'],'appCode':_0x23270b[_0x126c74(0x223)],'name':_0x23270b[_0x126c74(0x214)],'artifactType':_0x23270b[_0x126c74(0x227)],'source':_0x23270b[_0x126c74(0x205)],'favorite':_0x23270b[_0x126c74(0x226)],'deleted':_0x23270b[_0x126c74(0x228)],'content':_0x23270b[_0x126c74(0x20a)]??'','compiledContent':_0x23270b[_0x126c74(0x1ef)],'metadata':_0x23270b[_0x126c74(0x229)]??{},'createTime':_0x23270b['createTime'],'updateTime':_0x23270b['updateTime']};}function readFavoriteFlag(_0x1f17b4){const _0x525721=a10_0xad3acf,_0x17bf0b=_0x1f17b4[_0x525721(0x1e1)]('favorite');return _0x17bf0b===undefined||_0x17bf0b===null||_0x17bf0b===''?undefined:_0x1f17b4[_0x525721(0x224)](_0x525721(0x226));}const artifactList={'service':a10_0xad3acf(0x1f4),'command':'list','description':a10_0xad3acf(0x220),'risk':a10_0xad3acf(0x203),'flags':[{'name':a10_0xad3acf(0x205),'type':a10_0xad3acf(0x1ee),'description':'Optional\x20source\x20filter,\x20for\x20example\x20AGENT'},{'name':a10_0xad3acf(0x226),'type':a10_0xad3acf(0x201),'description':a10_0xad3acf(0x211)},VERBOSE_FLAG],async 'execute'(_0x34064c){const _0x1aacbc=a10_0xad3acf,_0x4e1345=await listRuntimeArtifacts(_0x34064c[_0x1aacbc(0x223)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x34064c[_0x1aacbc(0x21e)](_0x1aacbc(0x205))?{'source':_0x34064c['str']('source')}:{},...readFavoriteFlag(_0x34064c)!==undefined?{'favorite':readFavoriteFlag(_0x34064c)}:{}});return{'ok':!![],'data':{'total':_0x4e1345['length'],'items':_0x34064c[_0x1aacbc(0x224)](_0x1aacbc(0x1e6))?_0x4e1345:_0x4e1345[_0x1aacbc(0x21c)](summarizeArtifact)}};}},artifactDetail={'service':a10_0xad3acf(0x1f4),'command':a10_0xad3acf(0x1f1),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0xad3acf(0x203),'flags':[{...ID_FLAG,'description':a10_0xad3acf(0x1e5)}],async 'execute'(_0x2f7125){const _0x4ff971=a10_0xad3acf,_0x270630=await getRuntimeArtifact(_0x2f7125['num']('id'),_0x2f7125[_0x4ff971(0x223)]);return{'ok':!![],'data':detailArtifact(_0x270630)};}},artifactCreate={'service':'artifact','command':a10_0xad3acf(0x1ea),'description':'根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','risk':'write','confirmationDescription':'保存新的\x20Artifact\x20源码并进行编译;成功后将在当前应用中新增可展示的内嵌模块。','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xe2a326){const _0x16ea03=a10_0xad3acf,_0x4ed35d=buildArtifactInput(_0xe2a326),_0x2c037e=await createRuntimeArtifact(_0xe2a326[_0x16ea03(0x223)],_0x4ed35d);return{'ok':!![],'data':detailArtifact(_0x2c037e),'message':_0x16ea03(0x21d)+_0x2c037e['id']+(_0x2c037e[_0x16ea03(0x214)]?'\x20('+_0x2c037e[_0x16ea03(0x214)]+')':'')};},async 'dryRun'(_0x2eb909){const _0x1f9a9a=a10_0xad3acf,_0x5d3b7d=buildArtifactInput(_0x2eb909);return dryRun(_0x1f9a9a(0x217),'/client/artifact/create')[_0x1f9a9a(0x207)]({'appCode':_0x2eb909[_0x1f9a9a(0x223)],..._0x5d3b7d})['description'](_0x1f9a9a(0x218))[_0x1f9a9a(0x216)]();},'writeEventSubject'(_0x3bf2ab){const _0x2d1d87=a10_0xad3acf,_0x2af1af=_0x3bf2ab[_0x2d1d87(0x1f6)]?.['id'];if(typeof _0x2af1af!==_0x2d1d87(0x1ee)&&typeof _0x2af1af!=='number')return undefined;return{'kind':_0x2d1d87(0x1f4),'id':String(_0x2af1af),'action':_0x2d1d87(0x1ea)};}},artifactUpdate={'service':a10_0xad3acf(0x1f4),'command':'update','description':a10_0xad3acf(0x1fc),'risk':a10_0xad3acf(0x22a),'confirmationDescription':a10_0xad3acf(0x225),'flags':[{...ID_FLAG,'description':a10_0xad3acf(0x1e5)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x460ae5){const _0x35cb33=a10_0xad3acf,_0x4ed581=_0x460ae5[_0x35cb33(0x222)]('id'),_0x1972f2=buildArtifactInput(_0x460ae5),_0x52ab85=await updateRuntimeArtifact(_0x4ed581,_0x460ae5[_0x35cb33(0x223)],_0x1972f2);return{'ok':!![],'data':detailArtifact(_0x52ab85),'message':'Updated\x20Artifact\x20'+_0x52ab85['id']+(_0x52ab85[_0x35cb33(0x214)]?'\x20('+_0x52ab85[_0x35cb33(0x214)]+')':'')};},async 'dryRun'(_0x50a5bf){const _0xaf18da=a10_0xad3acf,_0x46f823=_0x50a5bf[_0xaf18da(0x222)]('id'),_0x10c2c0=buildArtifactInput(_0x50a5bf);return dryRun(_0xaf18da(0x217),'/client/artifact/'+_0x46f823+_0xaf18da(0x210))[_0xaf18da(0x207)]({'appCode':_0x50a5bf[_0xaf18da(0x223)],..._0x10c2c0})[_0xaf18da(0x1e4)](_0xaf18da(0x219)+_0x46f823)[_0xaf18da(0x216)]();},'writeEventSubject'(_0x14017c){const _0x2a5abe=a10_0xad3acf,_0x123c80=_0x14017c[_0x2a5abe(0x1f6)]?.['id'];if(typeof _0x123c80!==_0x2a5abe(0x1ee)&&typeof _0x123c80!==_0x2a5abe(0x208))return undefined;return{'kind':_0x2a5abe(0x1f4),'id':String(_0x123c80),'action':_0x2a5abe(0x20e)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x3b8600=a10_0x4c85;(function(_0x1c9f5b,_0x3a872f){const _0x5e0bb5=a10_0x4c85,_0x47e93e=_0x1c9f5b();while(!![]){try{const _0x444b39=-parseInt(_0x5e0bb5(0x10a))/0x1*(-parseInt(_0x5e0bb5(0xe7))/0x2)+parseInt(_0x5e0bb5(0xe4))/0x3*(-parseInt(_0x5e0bb5(0x128))/0x4)+parseInt(_0x5e0bb5(0x11c))/0x5+-parseInt(_0x5e0bb5(0xfe))/0x6*(-parseInt(_0x5e0bb5(0x105))/0x7)+-parseInt(_0x5e0bb5(0xf5))/0x8+parseInt(_0x5e0bb5(0xfa))/0x9+parseInt(_0x5e0bb5(0xea))/0xa;if(_0x444b39===_0x3a872f)break;else _0x47e93e['push'](_0x47e93e['shift']());}catch(_0x51055d){_0x47e93e['push'](_0x47e93e['shift']());}}}(a10_0x29b4,0xac515));import{existsSync,readFileSync,statSync}from'node:fs';function a10_0x29b4(){const _0x3fcbb1=['根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','Artifact\x20ID','67511QOplFU','Show\x20one\x20Artifact\x20by\x20id','bool','some','file','File\x20is\x20not\x20a\x20regular\x20file:\x20','name','deleted','validation','Optional\x20favorite-state\x20filter','string','createTime','根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','trim','/client/artifact/create','POST','react','body','255330tvvTga','length','AGENT','@ant-design/icons','detail','appCode','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','updateTime','metadata','antd','split','52AbKuxp','artifactType','str','description','content','data','Artifact\x20display\x20name','react-dom','filter','source','File\x20not\x20found:\x20','flag','215265tAlzrr','compiledContent','/client/artifact/','6ZfrBjw','join','favorite','3286460cTqWSn','Invalid\x20JSON\x20for\x20--metadata:\x20','parse','create','react_module\x20imports\x20are\x20limited\x20to:\x20','map','Created\x20Artifact\x20','Updated\x20Artifact\x20','add','write','utf8','7829936fxTmSZ','isArray','Artifact\x20source\x20file\x20is\x20blank.','test','react_module','7221357VkNjAk','lodash','build','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','24WPKHbZ','/update','File\x20path\x20is\x20required.','update','artifact','object','Preview:\x20create\x20react_module\x20Artifact','2157316nYeqZY','num'];a10_0x29b4=function(){return _0x3fcbb1;};return a10_0x29b4();}import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x3b8600(0xf9),ARTIFACT_SOURCE_AGENT=a10_0x3b8600(0x11e),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3b8600(0x11a),a10_0x3b8600(0x12f),a10_0x3b8600(0xfb),'dayjs',a10_0x3b8600(0x126),a10_0x3b8600(0x11f)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3b8600(0xe8)](',\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_0x3b8600(0x114),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0x3b8600(0x110),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0x12e)},METADATA_FLAG={'name':a10_0x3b8600(0x125),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0xfd)};function isPlainObject(_0x40fe57){const _0x13cff2=a10_0x3b8600;return typeof _0x40fe57===_0x13cff2(0x103)&&_0x40fe57!==null&&!Array[_0x13cff2(0xf6)](_0x40fe57);}function readSourceFile(_0x2eeb30){const _0x229e8b=a10_0x3b8600;if(!_0x2eeb30)throw CliErrors['validation'](_0x229e8b(0x100));if(!existsSync(_0x2eeb30))throw CliErrors['validation'](_0x229e8b(0xe2)+_0x2eeb30);if(!statSync(_0x2eeb30)['isFile']())throw CliErrors[_0x229e8b(0x112)](_0x229e8b(0x10f)+_0x2eeb30);const _0xc5e6a2=readFileSync(_0x2eeb30,_0x229e8b(0xf4));return validateReactModuleSource(_0xc5e6a2),_0xc5e6a2;}function parseMetadata(_0xd859c6){const _0x2b2d67=a10_0x3b8600;if(!_0xd859c6)return undefined;let _0x5409a1;try{_0x5409a1=JSON[_0x2b2d67(0xec)](_0xd859c6);}catch{throw CliErrors['validation'](_0x2b2d67(0xeb)+_0xd859c6);}if(!isPlainObject(_0x5409a1))throw CliErrors['validation']('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x2d7797={..._0x5409a1};return delete _0x2d7797[_0x2b2d67(0xe5)],_0x2d7797;}function getPackageName(_0x4b360c){const _0x21899c=a10_0x3b8600;if(_0x4b360c['startsWith']('@')){const [_0x15e3c8,_0x42fdf3]=_0x4b360c[_0x21899c(0x127)]('/');return _0x15e3c8&&_0x42fdf3?_0x15e3c8+'/'+_0x42fdf3:_0x4b360c;}return _0x4b360c[_0x21899c(0x127)]('/')[0x0]||_0x4b360c;}function validateAllowedImports(_0x3f4f9d){const _0x52529e=a10_0x3b8600,_0x4e9fdc=new Set();for(const _0x4e2a12 of IMPORT_SOURCE_PATTERNS){_0x4e2a12['lastIndex']=0x0;let _0x21ee6d;while((_0x21ee6d=_0x4e2a12['exec'](_0x3f4f9d))!==null){const _0x215c9b=_0x21ee6d[0x1]?.[_0x52529e(0x117)]();_0x215c9b&&_0x4e9fdc[_0x52529e(0xf2)](_0x215c9b);}}const _0x4f0eb7=[..._0x4e9fdc][_0x52529e(0xef)](getPackageName)[_0x52529e(0x130)](_0x31103c=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x31103c));if(_0x4f0eb7[_0x52529e(0x11d)]>0x0)throw CliErrors[_0x52529e(0x112)](_0x52529e(0xee)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x4f0eb7)]['join'](',\x20'));}export function validateReactModuleSource(_0x310fc9){const _0x2e06de=a10_0x3b8600;if(!_0x310fc9['trim']())throw CliErrors[_0x2e06de(0x112)](_0x2e06de(0xf7));if(PAGE_LEVEL_PATTERNS[_0x2e06de(0x10d)](_0x420ef2=>_0x420ef2[_0x2e06de(0xf8)](_0x310fc9)))throw CliErrors['validation']('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x310fc9);}function buildArtifactInput(_0x270b6d){const _0x333fd9=a10_0x3b8600,_0x29c98a=readSourceFile(_0x270b6d['str'](_0x333fd9(0x10e))),_0x54e4fa=_0x270b6d[_0x333fd9(0x12a)](_0x333fd9(0x110))['trim'](),_0x130b01=parseMetadata(_0x270b6d[_0x333fd9(0x12a)](_0x333fd9(0x125)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x54e4fa?{'name':_0x54e4fa}:{},'content':_0x29c98a,..._0x130b01?{'metadata':_0x130b01}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x44a3e2){const _0x4afb78=a10_0x3b8600;return{'id':_0x44a3e2['id'],'name':_0x44a3e2[_0x4afb78(0x110)],'artifactType':_0x44a3e2[_0x4afb78(0x129)],'source':_0x44a3e2[_0x4afb78(0x131)],'favorite':_0x44a3e2[_0x4afb78(0xe9)],'deleted':_0x44a3e2[_0x4afb78(0x111)],'createTime':_0x44a3e2[_0x4afb78(0x115)],'updateTime':_0x44a3e2[_0x4afb78(0x124)]};}function detailArtifact(_0x43d185){const _0x52b112=a10_0x3b8600;return{'id':_0x43d185['id'],'appCode':_0x43d185[_0x52b112(0x121)],'name':_0x43d185[_0x52b112(0x110)],'artifactType':_0x43d185['artifactType'],'source':_0x43d185[_0x52b112(0x131)],'favorite':_0x43d185[_0x52b112(0xe9)],'deleted':_0x43d185[_0x52b112(0x111)],'content':_0x43d185[_0x52b112(0x12c)]??'','compiledContent':_0x43d185['compiledContent'],'metadata':_0x43d185['metadata']??{},'createTime':_0x43d185[_0x52b112(0x115)],'updateTime':_0x43d185[_0x52b112(0x124)]};}function readFavoriteFlag(_0x5dfe59){const _0x1c4d6f=a10_0x3b8600,_0x16c445=_0x5dfe59[_0x1c4d6f(0xe3)](_0x1c4d6f(0xe9));return _0x16c445===undefined||_0x16c445===null||_0x16c445===''?undefined:_0x5dfe59[_0x1c4d6f(0x10c)](_0x1c4d6f(0xe9));}function a10_0x4c85(_0x3dcfa1,_0x11cd6f){_0x3dcfa1=_0x3dcfa1-0xe2;const _0x29b499=a10_0x29b4();let _0x4c85e5=_0x29b499[_0x3dcfa1];return _0x4c85e5;}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x3b8600(0x123),'flags':[{'name':a10_0x3b8600(0x131),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0x122)},{'name':'favorite','type':'boolean','description':a10_0x3b8600(0x113)},VERBOSE_FLAG],async 'execute'(_0x19e830){const _0x561b0c=a10_0x3b8600,_0x152c70=await listRuntimeArtifacts(_0x19e830[_0x561b0c(0x121)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x19e830[_0x561b0c(0x12a)](_0x561b0c(0x131))?{'source':_0x19e830[_0x561b0c(0x12a)](_0x561b0c(0x131))}:{},...readFavoriteFlag(_0x19e830)!==undefined?{'favorite':readFavoriteFlag(_0x19e830)}:{}});return{'ok':!![],'data':{'total':_0x152c70[_0x561b0c(0x11d)],'items':_0x19e830[_0x561b0c(0x10c)]('verbose')?_0x152c70:_0x152c70[_0x561b0c(0xef)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x3b8600(0x102),'command':a10_0x3b8600(0x120),'description':a10_0x3b8600(0x10b),'risk':a10_0x3b8600(0x123),'flags':[{...ID_FLAG,'description':a10_0x3b8600(0x109)}],async 'execute'(_0x4b0d99){const _0x4d63fa=a10_0x3b8600,_0x5aa16a=await getRuntimeArtifact(_0x4b0d99[_0x4d63fa(0x106)]('id'),_0x4b0d99[_0x4d63fa(0x121)]);return{'ok':!![],'data':detailArtifact(_0x5aa16a)};}},artifactCreate={'service':'artifact','command':a10_0x3b8600(0xed),'description':a10_0x3b8600(0x116),'risk':a10_0x3b8600(0xf3),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5de383){const _0x3bb9bb=a10_0x3b8600,_0x21503f=buildArtifactInput(_0x5de383),_0x4db3ea=await createRuntimeArtifact(_0x5de383[_0x3bb9bb(0x121)],_0x21503f);return{'ok':!![],'data':detailArtifact(_0x4db3ea),'message':_0x3bb9bb(0xf0)+_0x4db3ea['id']+(_0x4db3ea[_0x3bb9bb(0x110)]?'\x20('+_0x4db3ea['name']+')':'')};},async 'dryRun'(_0x290bad){const _0x1c8ac9=a10_0x3b8600,_0x5f3ba1=buildArtifactInput(_0x290bad);return dryRun(_0x1c8ac9(0x119),_0x1c8ac9(0x118))[_0x1c8ac9(0x11b)]({'appCode':_0x290bad[_0x1c8ac9(0x121)],..._0x5f3ba1})[_0x1c8ac9(0x12b)](_0x1c8ac9(0x104))[_0x1c8ac9(0xfc)]();},'writeEventSubject'(_0x290f13){const _0x58100b=a10_0x3b8600,_0x36325b=_0x290f13[_0x58100b(0x12d)]?.['id'];if(typeof _0x36325b!==_0x58100b(0x114)&&typeof _0x36325b!=='number')return undefined;return{'kind':_0x58100b(0x102),'id':String(_0x36325b),'action':_0x58100b(0xed)};}},artifactUpdate={'service':a10_0x3b8600(0x102),'command':a10_0x3b8600(0x101),'description':a10_0x3b8600(0x107),'risk':a10_0x3b8600(0xf3),'flags':[{...ID_FLAG,'description':a10_0x3b8600(0x109)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1ee0e6){const _0x390438=a10_0x3b8600,_0x22606d=_0x1ee0e6['num']('id'),_0x3a5c53=buildArtifactInput(_0x1ee0e6),_0x349785=await updateRuntimeArtifact(_0x22606d,_0x1ee0e6['appCode'],_0x3a5c53);return{'ok':!![],'data':detailArtifact(_0x349785),'message':_0x390438(0xf1)+_0x349785['id']+(_0x349785[_0x390438(0x110)]?'\x20('+_0x349785[_0x390438(0x110)]+')':'')};},async 'dryRun'(_0x8ffe3d){const _0x4aed67=a10_0x3b8600,_0x5f5091=_0x8ffe3d[_0x4aed67(0x106)]('id'),_0x1b578d=buildArtifactInput(_0x8ffe3d);return dryRun('POST',_0x4aed67(0xe6)+_0x5f5091+_0x4aed67(0xff))[_0x4aed67(0x11b)]({'appCode':_0x8ffe3d[_0x4aed67(0x121)],..._0x1b578d})[_0x4aed67(0x12b)](_0x4aed67(0x108)+_0x5f5091)[_0x4aed67(0xfc)]();},'writeEventSubject'(_0x50f119){const _0x3767a0=a10_0x3b8600,_0x5e1f24=_0x50f119[_0x3767a0(0x12d)]?.['id'];if(typeof _0x5e1f24!==_0x3767a0(0x114)&&typeof _0x5e1f24!=='number')return undefined;return{'kind':'artifact','id':String(_0x5e1f24),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x2a9990=a11_0x18f1;(function(_0x13910b,_0x4aaf53){const _0x3bcb77=a11_0x18f1,_0x4e525c=_0x13910b();while(!![]){try{const _0x430ac3=parseInt(_0x3bcb77(0x16f))/0x1*(-parseInt(_0x3bcb77(0x165))/0x2)+parseInt(_0x3bcb77(0x154))/0x3*(-parseInt(_0x3bcb77(0x17b))/0x4)+-parseInt(_0x3bcb77(0x15f))/0x5*(-parseInt(_0x3bcb77(0x161))/0x6)+parseInt(_0x3bcb77(0x152))/0x7*(-parseInt(_0x3bcb77(0x168))/0x8)+parseInt(_0x3bcb77(0x187))/0x9*(parseInt(_0x3bcb77(0x158))/0xa)+parseInt(_0x3bcb77(0x18d))/0xb+parseInt(_0x3bcb77(0x16e))/0xc;if(_0x430ac3===_0x4aaf53)break;else _0x4e525c['push'](_0x4e525c['shift']());}catch(_0x4c7bdb){_0x4e525c['push'](_0x4e525c['shift']());}}}(a11_0x2a26,0x795f9));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x1ea488){const _0x3d5807=a11_0x18f1;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x1ea488[_0x3d5807(0x16c)](_0x3d5807(0x16d)),'explicitProject':_0x1ea488[_0x3d5807(0x16c)]('project'),'policy':_0x3d5807(0x17c)}));}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 _0x525d13=a11_0x18f1;return crypto[_0x525d13(0x157)]();}export function buildDeviceAuthUrl(_0x7d0154,_0x3cb2e8,_0x1c168a=a11_0x2a9990(0x150)){const _0x9387aa=a11_0x2a9990;return _0x7d0154+_0x9387aa(0x18c)+encodeURIComponent(_0x3cb2e8)+'&source='+encodeURIComponent(_0x1c168a);}export function getDeviceCodePath(){const _0x11178a=a11_0x2a9990;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x11178a(0x16a);}export function readStoredDeviceCode(){const _0x484278=a11_0x2a9990,_0x25c40e=getDeviceCodePath();if(!existsSync(_0x25c40e))return null;try{const _0x26260d=readFileSync(_0x25c40e,{'encoding':'utf8'}),_0x24992e=JSON[_0x484278(0x19b)](_0x26260d);if(_0x24992e&&typeof _0x24992e['code']===_0x484278(0x14d)&&typeof _0x24992e[_0x484278(0x194)]===_0x484278(0x14d)&&(_0x24992e[_0x484278(0x19c)]===_0x484278(0x16d)||_0x24992e['scope']===_0x484278(0x15a)))return _0x24992e;}catch{}return null;}export function writeStoredDeviceCode(_0x3a21a9,_0x54641f){const _0x34ba76=a11_0x2a9990,_0x566de1=getDeviceCodePath(),_0x47401c=dirname(_0x566de1);!existsSync(_0x47401c)&&mkdirSync(_0x47401c,{'recursive':!![]});const _0x4f8aab={'code':_0x3a21a9,'createdAt':new Date()[_0x34ba76(0x156)](),'scope':_0x54641f};writeFileSync(_0x566de1,JSON[_0x34ba76(0x191)](_0x4f8aab),{'encoding':_0x34ba76(0x14e),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x34efd8=getDeviceCodePath();try{unlinkSync(_0x34efd8);}catch{}}export function isStoredDeviceCodeExpired(_0x296b16){const _0x3ac118=a11_0x2a9990;return Date[_0x3ac118(0x15c)]()-new Date(_0x296b16[_0x3ac118(0x194)])[_0x3ac118(0x159)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x1a42f9,_0x525aaf){const _0x2655ab=a11_0x2a9990,_0x25dc9e=_0x1a42f9+_0x2655ab(0x155),_0x1d08b3=new AbortController(),_0x329921=setTimeout(()=>_0x1d08b3[_0x2655ab(0x18b)](),0x2710),_0x307831=await fetch(_0x25dc9e,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x2655ab(0x191)]({'code':_0x525aaf}),'signal':_0x1d08b3[_0x2655ab(0x189)]});clearTimeout(_0x329921);if(!_0x307831['ok'])throw CliErrors[_0x2655ab(0x18e)](_0x2655ab(0x180)+_0x307831[_0x2655ab(0x174)]);const _0x3ca5d6=await _0x307831['json'](),_0x4532c4=_0x3ca5d6['data']&&typeof _0x3ca5d6[_0x2655ab(0x181)]==='object'?_0x3ca5d6[_0x2655ab(0x181)]:_0x3ca5d6;if(!_0x4532c4||typeof _0x4532c4[_0x2655ab(0x174)]!==_0x2655ab(0x14d))throw CliErrors[_0x2655ab(0x198)](_0x2655ab(0x153));return{'status':_0x4532c4[_0x2655ab(0x174)],'access_key':typeof _0x4532c4[_0x2655ab(0x166)]==='string'?_0x4532c4[_0x2655ab(0x166)]:undefined};}export async function pollDeviceToken(_0x2bed00,_0xe3a5e,_0x3e59e2){const _0x36b1ce=a11_0x2a9990;let _0x1ec37f=0x0;for(let _0x129f53=0x0;_0x129f53<MAX_POLLS;_0x129f53++){if(_0x3e59e2['aborted'])throw CliErrors[_0x36b1ce(0x163)](_0x36b1ce(0x183));let _0x1d7e57;try{_0x1d7e57=await fetchDeviceToken(_0x2bed00,_0xe3a5e);}catch(_0x2a0b9a){if(_0x2a0b9a instanceof Error&&_0x2a0b9a[_0x36b1ce(0x196)]==='AbortError')throw CliErrors[_0x36b1ce(0x163)](_0x36b1ce(0x183));_0x1ec37f++;if(_0x1ec37f>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x36b1ce(0x18e)](_0x36b1ce(0x182));writeCliSideChannelLine(_0x36b1ce(0x177)+_0x1ec37f+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x36b1ce(0x17e)),await sleep(POLL_INTERVAL_MS);continue;}_0x1ec37f=0x0;if(_0x1d7e57['status']==='success'){if(!_0x1d7e57[_0x36b1ce(0x166)])throw CliErrors[_0x36b1ce(0x198)](_0x36b1ce(0x18f));return _0x1d7e57[_0x36b1ce(0x166)];}if(_0x1d7e57[_0x36b1ce(0x174)]===_0x36b1ce(0x197)){deleteStoredDeviceCode();throw CliErrors[_0x36b1ce(0x17a)](_0x36b1ce(0x184));}const _0x4f0b92=(_0x129f53+0x1)*POLL_INTERVAL_MS,_0x1bf894=DEVICE_CODE_TTL_MS-_0x4f0b92,_0xf5a246=Math[_0x36b1ce(0x188)](_0x1bf894/0xea60),_0x1c65ff=Math[_0x36b1ce(0x188)](_0x1bf894%0xea60/0x3e8);process[_0x36b1ce(0x169)][_0x36b1ce(0x15d)](_0x36b1ce(0x167)+_0xf5a246+':'+String(_0x1c65ff)[_0x36b1ce(0x164)](0x2,'0')+_0x36b1ce(0x162)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x36b1ce(0x17a)](_0x36b1ce(0x19e));}function a11_0x2a26(){const _0x590151=['validation','44156LhdrGN','global-default','SIGINT','),\x20retrying...','After\x20authorizing,\x20re-run:\x20','Device\x20auth\x20API\x20returned\x20HTTP\x20','data','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','Device\x20authorization\x20cancelled.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20authorization\x20successful.','117CmpnQI','floor','signal','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','abort','/device-auth?code=','6200711VRhyPq','networkError','Invalid\x20access_key\x20returned\x20by\x20server.','AccessKey\x20saved\x20to\x20','stringify','trim','source','createdAt','Write\x20to\x20project\x20config','name','expired','apiError','log','removeListener','parse','scope','code','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','url-only','accessKey','auth','string','utf8','device','lovrabet-cli','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','20251XFSTjX','Invalid\x20device\x20auth\x20response','267EpwydP','/api/device-auth/token','toISOString','randomUUID','355330ejOpkR','getTime','project','Verify:\x20','now','write','boolean','25XXczJM','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','167406BUrptK','\x20remaining','cancelled','padStart','817354FlMHHv','access_key','\x0dWaiting\x20for\x20authorization...\x20','2672nDhggS','stderr','/.device-auth','test','bool','global','20273040GOHeje','1XwymWj','Write\x20to\x20global\x20config\x20(default)','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','str','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','status','\x20config.','once','Device\x20auth\x20API\x20error\x20(','\x20auth\x20status','通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)'];a11_0x2a26=function(){return _0x590151;};return a11_0x2a26();}function sleep(_0x1e3a7e){return new Promise(_0x183852=>setTimeout(_0x183852,_0x1e3a7e));}function a11_0x18f1(_0x313ff2,_0xb74660){_0x313ff2=_0x313ff2-0x14d;const _0x2a26cb=a11_0x2a26();let _0x18f167=_0x2a26cb[_0x313ff2];return _0x18f167;}export const authDeviceDefinition={'service':a11_0x2a9990(0x1a1),'command':a11_0x2a9990(0x14f),'description':a11_0x2a9990(0x179),'risk':a11_0x2a9990(0x15d),'confirmationDescription':'将启动设备码授权流程;授权成功后会把获取到的\x20AccessKey\x20保存到所选\x20Lovrabet\x20配置。确认界面不会显示设备码或密钥。','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a11_0x2a9990(0x15e),'description':a11_0x2a9990(0x170),'default':!![]},{'name':a11_0x2a9990(0x15a),'type':'boolean','description':a11_0x2a9990(0x195),'default':![]},{'name':a11_0x2a9990(0x193),'type':a11_0x2a9990(0x14d),'description':a11_0x2a9990(0x18a),'default':'lovrabet-cli'},{'name':a11_0x2a9990(0x19f),'type':a11_0x2a9990(0x15e),'description':a11_0x2a9990(0x173),'default':![]}],async 'execute'(_0x3eba1f){const _0x10a73d=a11_0x2a9990,_0x1e9c41=resolveAuthScopeFlags(_0x3eba1f),_0x1627e8=_0x1e9c41[_0x10a73d(0x16d)]?_0x10a73d(0x16d):_0x10a73d(0x15a),_0x2b5db2=readScopedConfig(_0x1e9c41);if(_0x2b5db2[_0x10a73d(0x1a0)])return{'ok':!![],'message':_0x10a73d(0x171)};const _0x4bf00e=(_0x3eba1f[_0x10a73d(0x172)]('source')||_0x10a73d(0x150))[_0x10a73d(0x192)](),_0x23b858=getUserDomain(),_0x45f11e=readStoredDeviceCode(),_0x1e7689=_0x45f11e&&!isStoredDeviceCodeExpired(_0x45f11e)?_0x45f11e[_0x10a73d(0x19d)]:((()=>{const _0x2259ce=generateDeviceCode();return writeStoredDeviceCode(_0x2259ce,_0x1627e8),_0x2259ce;})()),_0x1188de=buildDeviceAuthUrl(_0x23b858,_0x1e7689,_0x4bf00e);if(_0x3eba1f[_0x10a73d(0x16c)]('url-only'))return console[_0x10a73d(0x199)](_0x1188de),{'ok':!![]};writeCliSideChannelLine(_0x10a73d(0x160)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x1188de),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x10a73d(0x185));if(_0x3eba1f['nonInteractive'])return writeCliSideChannelLine(_0x10a73d(0x17f)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x10a73d(0x151));const _0x2c3acc=new AbortController(),_0x2701d4=()=>{const _0x56cc40=_0x10a73d;_0x2c3acc[_0x56cc40(0x18b)](),process[_0x56cc40(0x19a)](_0x56cc40(0x17d),_0x2701d4);};process[_0x10a73d(0x176)](_0x10a73d(0x17d),_0x2701d4);let _0x42e67e;try{_0x42e67e=await pollDeviceToken(_0x23b858,_0x1e7689,_0x2c3acc[_0x10a73d(0x189)]);}finally{process[_0x10a73d(0x19a)](_0x10a73d(0x17d),_0x2701d4);}if(!ACCESS_KEY_PATTERN[_0x10a73d(0x16b)](_0x42e67e))throw CliErrors[_0x10a73d(0x198)](_0x10a73d(0x18f));const _0x52ed3b=readScopedConfig(_0x1e9c41);return _0x52ed3b['accessKey']=_0x42e67e,writeScopedConfig(_0x52ed3b,_0x1e9c41),deleteStoredDeviceCode(),process[_0x10a73d(0x169)][_0x10a73d(0x15d)]('\x0a'),writeCliSideChannelLine(_0x10a73d(0x190)+_0x1627e8+_0x10a73d(0x175)),writeCliSideChannelLine(_0x10a73d(0x15b)+CLI_BIN_NAME+_0x10a73d(0x178)),{'ok':!![],'message':_0x10a73d(0x186)};}};
|
|
1
|
+
const a11_0x535845=a11_0x5716;(function(_0x16ed9a,_0x59fb42){const _0x201be3=a11_0x5716,_0x4a69f7=_0x16ed9a();while(!![]){try{const _0x2ed1e7=parseInt(_0x201be3(0x13d))/0x1+parseInt(_0x201be3(0x166))/0x2*(-parseInt(_0x201be3(0x159))/0x3)+parseInt(_0x201be3(0x145))/0x4+-parseInt(_0x201be3(0x125))/0x5+parseInt(_0x201be3(0x15a))/0x6*(-parseInt(_0x201be3(0x144))/0x7)+-parseInt(_0x201be3(0x13a))/0x8*(-parseInt(_0x201be3(0x146))/0x9)+-parseInt(_0x201be3(0x15d))/0xa*(-parseInt(_0x201be3(0x129))/0xb);if(_0x2ed1e7===_0x59fb42)break;else _0x4a69f7['push'](_0x4a69f7['shift']());}catch(_0x4ca349){_0x4a69f7['push'](_0x4a69f7['shift']());}}}(a11_0x1bb5,0xc4146));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';function a11_0x5716(_0x39fb43,_0x39f1c7){_0x39fb43=_0x39fb43-0x124;const _0x1bb58e=a11_0x1bb5();let _0x57162c=_0x1bb58e[_0x39fb43];return _0x57162c;}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x259508){const _0x5b94b0=a11_0x5716;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x259508[_0x5b94b0(0x139)](_0x5b94b0(0x164)),'explicitProject':_0x259508[_0x5b94b0(0x139)](_0x5b94b0(0x140)),'policy':_0x5b94b0(0x126)}));}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 _0x25637c=a11_0x5716;return crypto[_0x25637c(0x149)]();}export function buildDeviceAuthUrl(_0x4851a3,_0x3add19,_0x1f6778=a11_0x535845(0x14c)){const _0x4eb16d=a11_0x535845;return _0x4851a3+_0x4eb16d(0x16e)+encodeURIComponent(_0x3add19)+'&source='+encodeURIComponent(_0x1f6778);}export function getDeviceCodePath(){const _0x59ce9a=a11_0x535845;return homedir()+'/'+PRODUCT_CONFIG[_0x59ce9a(0x136)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x4538ad=a11_0x535845,_0x2e7e91=getDeviceCodePath();if(!existsSync(_0x2e7e91))return null;try{const _0xd8e7b3=readFileSync(_0x2e7e91,{'encoding':_0x4538ad(0x130)}),_0x3eea83=JSON['parse'](_0xd8e7b3);if(_0x3eea83&&typeof _0x3eea83[_0x4538ad(0x12e)]===_0x4538ad(0x157)&&typeof _0x3eea83[_0x4538ad(0x158)]===_0x4538ad(0x157)&&(_0x3eea83[_0x4538ad(0x15f)]==='global'||_0x3eea83[_0x4538ad(0x15f)]==='project'))return _0x3eea83;}catch{}return null;}export function writeStoredDeviceCode(_0x55142b,_0x122c0a){const _0x47b8e0=a11_0x535845,_0x5c5b66=getDeviceCodePath(),_0x4a558f=dirname(_0x5c5b66);!existsSync(_0x4a558f)&&mkdirSync(_0x4a558f,{'recursive':!![]});const _0x399e8c={'code':_0x55142b,'createdAt':new Date()[_0x47b8e0(0x13e)](),'scope':_0x122c0a};writeFileSync(_0x5c5b66,JSON[_0x47b8e0(0x167)](_0x399e8c),{'encoding':_0x47b8e0(0x130),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x328141=getDeviceCodePath();try{unlinkSync(_0x328141);}catch{}}function a11_0x1bb5(){const _0x196ce2=['global-default','Invalid\x20device\x20auth\x20response','cancelled','11924IpGOBS','validation','auth','Write\x20to\x20project\x20config','aborted','code','floor','utf8','test','success','\x20config.','Device\x20authorization\x20cancelled.','accessKey','homeDirName','str','json','bool','112Lefygt','\x20remaining','padStart','1202808xyloDq','toISOString','boolean','project','\x0dWaiting\x20for\x20authorization...\x20','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','signal','14gBcgCx','5092884CYdWwT','313587gEBxzS','removeListener','After\x20authorizing,\x20re-run:\x20','randomUUID','status','Device\x20auth\x20API\x20returned\x20HTTP\x20','lovrabet-cli','\x20auth\x20device','abort','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Write\x20to\x20global\x20config\x20(default)','once','access_key','source','url-only','object','AbortError','string','createdAt','222957JRzixn','2385726UlejyD','application/json','Verify:\x20','6750bvjhDC','/api/device-auth/token','scope','getTime','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','data','global','write','16WAXsKf','stringify','stderr','name','SIGINT','Invalid\x20access_key\x20returned\x20by\x20server.','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','AccessKey\x20saved\x20to\x20','/device-auth?code=','apiError','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','7512975DtDcnm'];a11_0x1bb5=function(){return _0x196ce2;};return a11_0x1bb5();}export function isStoredDeviceCodeExpired(_0x557192){const _0x1f8686=a11_0x535845;return Date['now']()-new Date(_0x557192['createdAt'])[_0x1f8686(0x160)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x3a867b,_0x4352fb){const _0x18ae12=a11_0x535845,_0x379639=_0x3a867b+_0x18ae12(0x15e),_0x368aa0=new AbortController(),_0x5e0c6b=setTimeout(()=>_0x368aa0['abort'](),0x2710),_0x537c6b=await fetch(_0x379639,{'method':'POST','headers':{'Content-Type':_0x18ae12(0x15b)},'body':JSON[_0x18ae12(0x167)]({'code':_0x4352fb}),'signal':_0x368aa0[_0x18ae12(0x143)]});clearTimeout(_0x5e0c6b);if(!_0x537c6b['ok'])throw CliErrors['networkError'](_0x18ae12(0x14b)+_0x537c6b[_0x18ae12(0x14a)]);const _0x1bdf76=await _0x537c6b[_0x18ae12(0x138)](),_0x546649=_0x1bdf76['data']&&typeof _0x1bdf76[_0x18ae12(0x163)]===_0x18ae12(0x155)?_0x1bdf76[_0x18ae12(0x163)]:_0x1bdf76;if(!_0x546649||typeof _0x546649[_0x18ae12(0x14a)]!==_0x18ae12(0x157))throw CliErrors['apiError'](_0x18ae12(0x127));return{'status':_0x546649[_0x18ae12(0x14a)],'access_key':typeof _0x546649[_0x18ae12(0x152)]===_0x18ae12(0x157)?_0x546649[_0x18ae12(0x152)]:undefined};}export async function pollDeviceToken(_0x40f684,_0x523589,_0x32a3de){const _0x200766=a11_0x535845;let _0x248844=0x0;for(let _0x6ec172=0x0;_0x6ec172<MAX_POLLS;_0x6ec172++){if(_0x32a3de[_0x200766(0x12d)])throw CliErrors[_0x200766(0x128)](_0x200766(0x134));let _0x51e6cf;try{_0x51e6cf=await fetchDeviceToken(_0x40f684,_0x523589);}catch(_0x10a062){if(_0x10a062 instanceof Error&&_0x10a062[_0x200766(0x169)]===_0x200766(0x156))throw CliErrors[_0x200766(0x128)](_0x200766(0x134));_0x248844++;if(_0x248844>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError']('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x248844+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x248844=0x0;if(_0x51e6cf['status']===_0x200766(0x132)){if(!_0x51e6cf[_0x200766(0x152)])throw CliErrors[_0x200766(0x16f)](_0x200766(0x16b));return _0x51e6cf[_0x200766(0x152)];}if(_0x51e6cf[_0x200766(0x14a)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x200766(0x12a)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xd88a6e=(_0x6ec172+0x1)*POLL_INTERVAL_MS,_0x304477=DEVICE_CODE_TTL_MS-_0xd88a6e,_0x3e9d4a=Math['floor'](_0x304477/0xea60),_0x2cedc9=Math[_0x200766(0x12f)](_0x304477%0xea60/0x3e8);process['stderr'][_0x200766(0x165)](_0x200766(0x141)+_0x3e9d4a+':'+String(_0x2cedc9)[_0x200766(0x13c)](0x2,'0')+_0x200766(0x13b)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x200766(0x12a)](_0x200766(0x161));}function sleep(_0x242ae1){return new Promise(_0x10d8d1=>setTimeout(_0x10d8d1,_0x242ae1));}export const authDeviceDefinition={'service':a11_0x535845(0x12b),'command':'device','description':'通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','risk':a11_0x535845(0x165),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a11_0x535845(0x13f),'description':a11_0x535845(0x150),'default':!![]},{'name':'project','type':a11_0x535845(0x13f),'description':a11_0x535845(0x12c),'default':![]},{'name':a11_0x535845(0x153),'type':a11_0x535845(0x157),'description':a11_0x535845(0x162),'default':a11_0x535845(0x14c)},{'name':a11_0x535845(0x154),'type':'boolean','description':a11_0x535845(0x142),'default':![]}],async 'execute'(_0x57b5a3){const _0x463cd2=a11_0x535845,_0x33b575=resolveAuthScopeFlags(_0x57b5a3),_0x309e60=_0x33b575['global']?_0x463cd2(0x164):'project',_0x21f52b=readScopedConfig(_0x33b575);if(_0x21f52b[_0x463cd2(0x135)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x383852=(_0x57b5a3[_0x463cd2(0x137)](_0x463cd2(0x153))||'lovrabet-cli')['trim'](),_0x10f0a6=getUserDomain(),_0x387028=readStoredDeviceCode(),_0x51de2b=_0x387028&&!isStoredDeviceCodeExpired(_0x387028)?_0x387028['code']:((()=>{const _0x27f54c=generateDeviceCode();return writeStoredDeviceCode(_0x27f54c,_0x309e60),_0x27f54c;})()),_0x56fbbc=buildDeviceAuthUrl(_0x10f0a6,_0x51de2b,_0x383852);if(_0x57b5a3['bool'](_0x463cd2(0x154)))return console['log'](_0x56fbbc),{'ok':!![]};writeCliSideChannelLine(_0x463cd2(0x14f)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x56fbbc),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x463cd2(0x16c));if(_0x57b5a3['nonInteractive'])return writeCliSideChannelLine(_0x463cd2(0x148)+CLI_BIN_NAME+_0x463cd2(0x14d)),{'ok':!![],'message':_0x463cd2(0x124)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x3ebe01=new AbortController(),_0x1b1f39=()=>{const _0x15ef83=_0x463cd2;_0x3ebe01[_0x15ef83(0x14e)](),process[_0x15ef83(0x147)]('SIGINT',_0x1b1f39);};process[_0x463cd2(0x151)](_0x463cd2(0x16a),_0x1b1f39);let _0x2b84df;try{_0x2b84df=await pollDeviceToken(_0x10f0a6,_0x51de2b,_0x3ebe01[_0x463cd2(0x143)]);}finally{process[_0x463cd2(0x147)](_0x463cd2(0x16a),_0x1b1f39);}if(!ACCESS_KEY_PATTERN[_0x463cd2(0x131)](_0x2b84df))throw CliErrors[_0x463cd2(0x16f)](_0x463cd2(0x16b));const _0x170411=readScopedConfig(_0x33b575);return _0x170411[_0x463cd2(0x135)]=_0x2b84df,writeScopedConfig(_0x170411,_0x33b575),deleteStoredDeviceCode(),process[_0x463cd2(0x168)][_0x463cd2(0x165)]('\x0a'),writeCliSideChannelLine(_0x463cd2(0x16d)+_0x309e60+_0x463cd2(0x133)),writeCliSideChannelLine(_0x463cd2(0x15c)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|