@lovrabet/lovrabet-cli 2.1.22-beta.3 → 2.1.22-beta.5
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 +4 -0
- 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/confirmation.d.ts +9 -0
- package/lib/runtime/confirmation.js +1 -0
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
const a0_0x3eff9c=a0_0x80ca;(function(_0x2ef9a4,_0x574636){const _0x4c6122=a0_0x80ca,_0x1b596f=_0x2ef9a4();while(!![]){try{const _0x43baf9=parseInt(_0x4c6122(0x16d))/0x1*(parseInt(_0x4c6122(0x17a))/0x2)+parseInt(_0x4c6122(0x158))/0x3+parseInt(_0x4c6122(0x181))/0x4+-parseInt(_0x4c6122(0x17e))/0x5+-parseInt(_0x4c6122(0x175))/0x6+-parseInt(_0x4c6122(0x174))/0x7*(-parseInt(_0x4c6122(0x165))/0x8)+-parseInt(_0x4c6122(0x166))/0x9*(-parseInt(_0x4c6122(0x179))/0xa);if(_0x43baf9===_0x574636)break;else _0x1b596f['push'](_0x1b596f['shift']());}catch(_0x356c19){_0x1b596f['push'](_0x1b596f['shift']());}}}(a0_0x3488,0x5a333));function a0_0x3488(){const _0x4f2cad=['flags','handler','write','catch','\x20->\x20--','21872qzqsuf','311022HQqriL','exitCode','cancelled','stderr','ExitPromptError','input','./framework/preparse.js','48VUpaSu','args','log','code','assign','definition','Hint:\x20','364BvCTOU','4325472LOTBTi','help','[preparse]\x20','ERR_STREAM_DESTROYED','120qHbJtm','1058xwkAcE','flatMap','exit','Error:\x20','2781215kzyTaB','name','ERR_USE_AFTER_CLOSE','2460504wfLPnv','1347696jwmAdd',':\x20--','message','\x0aCancelled.\x0a','corrected','slice','error','unknownCommand'];a0_0x3488=function(){return _0x4f2cad;};return a0_0x3488();}import{jsx as a0_0x1703a0}from'react/jsx-runtime';import a0_0x437363 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';function a0_0x80ca(_0x58ddc8,_0xfeca2f){_0x58ddc8=_0x58ddc8-0x158;const _0x34884e=a0_0x3488();let _0x80ca53=_0x34884e[_0x58ddc8];return _0x80ca53;}import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x437363(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x3eff9c(0x163)](handleError);async function main(){try{await run();}catch(_0x43f1be){handleError(_0x43f1be);}}async function run(){const _0xbeb7d2=a0_0x3eff9c;let _0x321bdd=cli[_0xbeb7d2(0x16b)][0x0],_0x45c012=cli[_0xbeb7d2(0x16b)][0x1];const _0x2f5427=cli[_0xbeb7d2(0x160)];try{const {correctFlags:_0x22356f}=await import(_0xbeb7d2(0x16c)),_0xa0e76=getAllDefinitions()[_0xbeb7d2(0x17b)](_0x530bd9=>_0x530bd9[_0xbeb7d2(0x160)]??[]),{flags:_0x482f99,corrections:_0x4098c}=_0x22356f(_0x2f5427,_0xa0e76);if(_0x4098c['length']>0x0){for(const _0x2fe39e of _0x4098c){process[_0xbeb7d2(0x169)][_0xbeb7d2(0x162)](_0xbeb7d2(0x177)+_0x2fe39e[_0xbeb7d2(0x161)]+_0xbeb7d2(0x159)+_0x2fe39e['original']+_0xbeb7d2(0x164)+_0x2fe39e[_0xbeb7d2(0x15c)]+'\x0a');}Object[_0xbeb7d2(0x171)](_0x2f5427,_0x482f99);}}catch{}if(!_0x321bdd){const {waitUntilExit:_0x1d23c8}=render(a0_0x1703a0(Help,{}));await _0x1d23c8();return;}if(!isKnownService(_0x321bdd)){const _0x3f5d72=resolveDynamicServiceCommand(cli[_0xbeb7d2(0x16b)],_0x2f5427);if(_0x3f5d72){if(_0x2f5427[_0xbeb7d2(0x176)]){console[_0xbeb7d2(0x16f)](generateCommandHelp(_0x3f5d72[_0xbeb7d2(0x172)]));return;}Object[_0xbeb7d2(0x171)](_0x2f5427,_0x3f5d72[_0xbeb7d2(0x160)]);const _0x2da062=buildConfigFromFlags(_0x2f5427);await initGlobalEnvironment(_0x2da062);const _0x5a1a95=createPipelineEnv(_0x2da062,_0x2f5427);_0x5a1a95[_0xbeb7d2(0x16e)]=_0x3f5d72[_0xbeb7d2(0x16e)],await runCommand(_0x3f5d72[_0xbeb7d2(0x172)],_0x5a1a95);return;}if(_0x2f5427[_0xbeb7d2(0x176)]){const _0x175a6c=generateDynamicServiceHelp(_0x321bdd);if(_0x175a6c){console[_0xbeb7d2(0x16f)](_0x175a6c);return;}}const {waitUntilExit:_0x584761}=render(a0_0x1703a0(Help,{}));await _0x584761();return;}const _0x49e2a4=getServiceEntry(_0x321bdd);if(!_0x45c012){if(_0x2f5427[_0xbeb7d2(0x176)]){console[_0xbeb7d2(0x16f)](generateServiceHelp(_0x321bdd));return;}if(_0x49e2a4['defaultCommand'])_0x45c012=_0x49e2a4['defaultCommand'];else{console[_0xbeb7d2(0x16f)](generateServiceHelp(_0x321bdd));return;}}const _0x4e84fd=findDefinition(_0x321bdd,_0x45c012);!_0x4e84fd&&(console['log'](generateServiceHelp(_0x321bdd)),handleError(CliErrors[_0xbeb7d2(0x15f)](_0x321bdd+'\x20'+_0x45c012)));if(_0x2f5427[_0xbeb7d2(0x176)]){console[_0xbeb7d2(0x16f)](generateCommandHelp(_0x4e84fd));return;}const _0x16f25b=buildConfigFromFlags(_0x2f5427);await initGlobalEnvironment(_0x16f25b);const _0x4f685d=createPipelineEnv(_0x16f25b,_0x2f5427);_0x4f685d[_0xbeb7d2(0x16e)]=cli[_0xbeb7d2(0x16b)][_0xbeb7d2(0x15d)](0x2),await runCommand(_0x4e84fd,_0x4f685d);}function handleError(_0x4e0fe4){const _0x59ad1a=a0_0x3eff9c;if(_0x4e0fe4 instanceof CliError){_0x4e0fe4['code']===_0x59ad1a(0x168)&&(process[_0x59ad1a(0x169)][_0x59ad1a(0x162)](_0x59ad1a(0x15b)),process[_0x59ad1a(0x17c)](0x0));console['error'](_0x59ad1a(0x17d)+_0x4e0fe4[_0x59ad1a(0x15a)]);if(_0x4e0fe4['hint'])console[_0x59ad1a(0x15e)](_0x59ad1a(0x173)+_0x4e0fe4['hint']);process[_0x59ad1a(0x17c)](_0x4e0fe4[_0x59ad1a(0x167)]);}isUserCancellation(_0x4e0fe4)&&(process[_0x59ad1a(0x169)][_0x59ad1a(0x162)]('\x0aCancelled.\x0a'),process[_0x59ad1a(0x17c)](0x0)),console[_0x59ad1a(0x15e)]('Unexpected\x20error:',_0x4e0fe4),process[_0x59ad1a(0x17c)](0x1);}function isUserCancellation(_0x12da60){const _0x24715f=a0_0x3eff9c;if(!(_0x12da60 instanceof Error))return![];if(_0x12da60[_0x24715f(0x17f)]===_0x24715f(0x16a))return!![];if(_0x12da60[_0x24715f(0x170)]===_0x24715f(0x180))return!![];if(_0x12da60[_0x24715f(0x170)]===_0x24715f(0x178))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x4e5c9b=a1_0x3e7c;(function(_0x634101,_0x67b6c7){const _0x2f5c90=a1_0x3e7c,_0x22d52a=_0x634101();while(!![]){try{const _0xf588b1=-parseInt(_0x2f5c90(0x18f))/0x1+-parseInt(_0x2f5c90(0x1a4))/0x2+parseInt(_0x2f5c90(0x14e))/0x3*(-parseInt(_0x2f5c90(0x141))/0x4)+parseInt(_0x2f5c90(0x133))/0x5*(-parseInt(_0x2f5c90(0x1a5))/0x6)+parseInt(_0x2f5c90(0x16b))/0x7+parseInt(_0x2f5c90(0x136))/0x8+parseInt(_0x2f5c90(0x186))/0x9*(parseInt(_0x2f5c90(0x195))/0xa);if(_0xf588b1===_0x67b6c7)break;else _0x22d52a['push'](_0x22d52a['shift']());}catch(_0x51632c){_0x22d52a['push'](_0x22d52a['shift']());}}}(a1_0x5400,0x8331e));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x4e5c9b(0x181),'type':a1_0x4e5c9b(0x14b),'description':a1_0x4e5c9b(0x13d)},KEYWORD_FLAG={'name':a1_0x4e5c9b(0x1a6),'type':a1_0x4e5c9b(0x14b),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x4e5c9b(0x16e),'type':a1_0x4e5c9b(0x14b),'required':!![],'description':a1_0x4e5c9b(0x13b)},DOCS=[{'code':a1_0x4e5c9b(0x147),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x138),'method':'POST','path':a1_0x4e5c9b(0x197),'summary':a1_0x4e5c9b(0x19e),'whenToUse':a1_0x4e5c9b(0x13c),'pathParams':[],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x192),'responseHighlights':[a1_0x4e5c9b(0x158),'paging.totalCount\x20gives\x20total\x20rows'],'examples':[a1_0x4e5c9b(0x148)],'notes':[a1_0x4e5c9b(0x172)],'markdown':['##\x20List\x20datasets','',a1_0x4e5c9b(0x198)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x160),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x19f),'method':a1_0x4e5c9b(0x13e),'path':a1_0x4e5c9b(0x196),'summary':a1_0x4e5c9b(0x17d),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':a1_0x4e5c9b(0x16e),'description':a1_0x4e5c9b(0x177)}],'bodySchema':'None','responseHighlights':[a1_0x4e5c9b(0x137),a1_0x4e5c9b(0x170),a1_0x4e5c9b(0x184)],'examples':[a1_0x4e5c9b(0x19b)],'notes':[a1_0x4e5c9b(0x134)],'markdown':[a1_0x4e5c9b(0x139),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x4e5c9b(0x146)]('\x0a')},{'code':'dataset_data_filter','category':a1_0x4e5c9b(0x1a8),'title':'Filter\x20dataset\x20data','method':'POST','path':a1_0x4e5c9b(0x13a),'summary':a1_0x4e5c9b(0x16a),'whenToUse':a1_0x4e5c9b(0x163),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':'Current\x20app\x20code'},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x13f),'responseHighlights':[a1_0x4e5c9b(0x161),'paging\x20contains\x20pagination'],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x4e5c9b(0x155)],'notes':[a1_0x4e5c9b(0x153),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x4e5c9b(0x15d),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x4e5c9b(0x149),'',a1_0x4e5c9b(0x18d)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x183),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x178),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x17b),'summary':a1_0x4e5c9b(0x194),'whenToUse':a1_0x4e5c9b(0x189),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x1ac),'responseHighlights':[a1_0x4e5c9b(0x17f),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x4e5c9b(0x166)],'notes':[a1_0x4e5c9b(0x18e),a1_0x4e5c9b(0x17a)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x4e5c9b(0x179)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x159),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x182),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x18a),'summary':a1_0x4e5c9b(0x171),'whenToUse':a1_0x4e5c9b(0x169),'pathParams':[{'name':'appCode','description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x164),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x4e5c9b(0x14c)],'markdown':a1_0x4e5c9b(0x15e)},{'code':'dataset_data_create','category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x17e),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x19a),'summary':a1_0x4e5c9b(0x1a1),'whenToUse':a1_0x4e5c9b(0x142),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':'Current\x20app\x20code'},{'name':a1_0x4e5c9b(0x135),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x16d),'responseHighlights':[a1_0x4e5c9b(0x1a9)],'examples':[a1_0x4e5c9b(0x1a7)],'notes':[a1_0x4e5c9b(0x15a)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x4e5c9b(0x193),'method':a1_0x4e5c9b(0x13e),'path':a1_0x4e5c9b(0x1a2),'summary':a1_0x4e5c9b(0x157),'whenToUse':a1_0x4e5c9b(0x176),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x15b),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x167),'responseHighlights':[a1_0x4e5c9b(0x17c)],'examples':[a1_0x4e5c9b(0x190)],'notes':[a1_0x4e5c9b(0x15f)],'markdown':a1_0x4e5c9b(0x16f)},{'code':a1_0x4e5c9b(0x15c),'category':'bf','title':a1_0x4e5c9b(0x18c),'method':a1_0x4e5c9b(0x156),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x4e5c9b(0x168),'whenToUse':a1_0x4e5c9b(0x199),'pathParams':[{'name':'appCode','description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x15b),'description':a1_0x4e5c9b(0x1a0)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x175),'responseHighlights':[a1_0x4e5c9b(0x180)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x4e5c9b(0x19d)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x4e5c9b(0x173),'category':a1_0x4e5c9b(0x145),'title':'Execute\x20custom\x20SQL','method':'POST','path':a1_0x4e5c9b(0x14d),'summary':a1_0x4e5c9b(0x191),'whenToUse':'已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','pathParams':[],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x187),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x4e5c9b(0x162)],'notes':[a1_0x4e5c9b(0x16c)],'markdown':a1_0x4e5c9b(0x14a)}];function a1_0x3e7c(_0x3c8184,_0x5685ea){_0x3c8184=_0x3c8184-0x133;const _0x540028=a1_0x5400();let _0x3e7c2a=_0x540028[_0x3c8184];return _0x3e7c2a;}function entrySummary(_0x38aa51){const _0x2e3c58=a1_0x4e5c9b;return{'code':_0x38aa51['code'],'category':_0x38aa51['category'],'method':_0x38aa51[_0x2e3c58(0x1ae)],'path':_0x38aa51[_0x2e3c58(0x14f)],'summary':_0x38aa51[_0x2e3c58(0x174)],'whenToUse':_0x38aa51[_0x2e3c58(0x188)]};}export function listApiDocEntries(_0x5d68de={}){const _0x43f5d9=a1_0x4e5c9b,_0x3742e0=String(_0x5d68de['category']||'')[_0x43f5d9(0x18b)](),_0x130ffa=String(_0x5d68de['keyword']||'')[_0x43f5d9(0x18b)]()['toLowerCase']();return DOCS[_0x43f5d9(0x144)](_0x168638=>{const _0x4986d2=_0x43f5d9;if(_0x3742e0&&_0x168638[_0x4986d2(0x181)]!==_0x3742e0)return![];if(!_0x130ffa)return!![];return[_0x168638[_0x4986d2(0x16e)],_0x168638[_0x4986d2(0x181)],_0x168638[_0x4986d2(0x1ae)],_0x168638['path'],_0x168638['summary'],_0x168638['whenToUse'],_0x168638[_0x4986d2(0x19c)]]['join']('\x20')[_0x4986d2(0x1a3)]()[_0x4986d2(0x1ab)](_0x130ffa);})[_0x43f5d9(0x143)](entrySummary);}export function getApiDocDetail(_0x5867d0){const _0x372c63=a1_0x4e5c9b,_0x3de254=DOCS['find'](_0x376f6f=>_0x376f6f[_0x372c63(0x16e)]===_0x5867d0);if(!_0x3de254)throw CliErrors[_0x372c63(0x151)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x5867d0);return{..._0x3de254};}function a1_0x5400(){const _0x4432f7=['Execute\x20BF\x20endpoint\x20function','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','982653pWMosa','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','执行自定义\x20SQL','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Get\x20BF\x20endpoint\x20function\x20contract','聚合查询数据集数据','1830HLExEQ','/api/dataset/getOneByCode?code={datasetCode}','/api/dataset/get-dataset-list-by-app-code','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','/api/{appCode}/{datasetCode}/create','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','title','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','分页获取数据集列表','Dataset\x20detail','Endpoint\x20function\x20name','创建数据','/client/bff/endpoint/{appCode}/{functionName}','toLowerCase','1024798nLHxym','1164vWgDQR','keyword','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','dataset','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','appCode','includes','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','api-doc','method','8760pKEocd','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','datasetCode','4795840NTkuyz','fields/properties\x20describe\x20data\x20shape','List\x20datasets','##\x20Dataset\x20detail','/api/{appCode}/{datasetCode}/filter','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','GET','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','length','24bSzjJZ','需要向指定数据集新增一条业务数据时使用','map','filter','custom_sql','join','dataset_list','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','##\x20Filter\x20dataset\x20data','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','string','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','/api/custom/executeSql','469737KKpyQD','path','str','validation','read','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','detail','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','POST','按应用和函数名精确获取\x20BF\x20运行契约','tableData\x20contains\x20dataset\x20id/code/name','dataset_data_get_one','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','functionName','bf_execute','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','dataset_detail','tableData\x20contains\x20records','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','{\x22id\x22:123}','Current\x20app\x20code','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','None','执行指定\x20BF\x20函数','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','条件过滤查询数据','927899mmpnhB','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','{\x22fieldName\x22:\x22value\x22}','code','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','查询单条数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','custom_sql_execute','summary','{\x22param\x22:\x22value\x22}','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','32-character\x20dataset\x20code','Aggregate\x20dataset\x20data','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','/api/{appCode}/{datasetCode}/aggregate','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','获取数据集详情','Create\x20dataset\x20record','result\x20rows\x20contain\x20aggregate\x20aliases','Returns\x20script\x20business\x20payload','category','Get\x20one\x20dataset\x20record','dataset_data_aggregate','operations\x20describes\x20runtime\x20APIs','list','126873PtXzDY','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','whenToUse','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','/api/{appCode}/{datasetCode}/getOne','trim'];a1_0x5400=function(){return _0x4432f7;};return a1_0x5400();}const apiDocList={'service':a1_0x4e5c9b(0x1ad),'command':a1_0x4e5c9b(0x185),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xdaa538){const _0x4116a9=a1_0x4e5c9b,_0x2211e0=listApiDocEntries({'category':_0xdaa538['str']('category'),'keyword':_0xdaa538[_0x4116a9(0x150)](_0x4116a9(0x1a6))});return{'ok':!![],'data':{'total':_0x2211e0[_0x4116a9(0x140)],'items':_0x2211e0}};}},apiDocDetail={'service':a1_0x4e5c9b(0x1ad),'command':a1_0x4e5c9b(0x154),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0x4e5c9b(0x152),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x2d9319){const _0x57c6a9=a1_0x4e5c9b;return{'ok':!![],'data':getApiDocDetail(_0x2d9319['str'](_0x57c6a9(0x16e)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
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 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4cdd31,_0x3e80ef){const _0x5cb377=a2_0x323c,_0x2f59c4=_0x4cdd31();while(!![]){try{const _0x3eacca=-parseInt(_0x5cb377(0x113))/0x1*(-parseInt(_0x5cb377(0x110))/0x2)+-parseInt(_0x5cb377(0x103))/0x3*(parseInt(_0x5cb377(0x114))/0x4)+-parseInt(_0x5cb377(0x109))/0x5*(-parseInt(_0x5cb377(0x10c))/0x6)+-parseInt(_0x5cb377(0x118))/0x7+-parseInt(_0x5cb377(0x10d))/0x8*(-parseInt(_0x5cb377(0x119))/0x9)+parseInt(_0x5cb377(0x11d))/0xa+-parseInt(_0x5cb377(0x102))/0xb*(parseInt(_0x5cb377(0x10e))/0xc);if(_0x3eacca===_0x3e80ef)break;else _0x2f59c4['push'](_0x2f59c4['shift']());}catch(_0x2f7fba){_0x2f59c4['push'](_0x2f59c4['shift']());}}}(a2_0x814d,0xf380d));function a2_0x323c(_0x3c39e5,_0x896092){_0x3c39e5=_0x3c39e5-0x102;const _0x814dcd=a2_0x814d();let _0x323c42=_0x814dcd[_0x3c39e5];return _0x323c42;}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x3c63fa){const _0x55b090=a2_0x323c,_0x50901b=_0x3c63fa[_0x55b090(0x106)](),_0x377904=_0x50901b[_0x55b090(0x104)](-0x6)||_0x55b090(0x107),_0x1e858d=createHash(_0x55b090(0x112))[_0x55b090(0x111)](_0x50901b)[_0x55b090(0x11e)](_0x55b090(0x11b))[_0x55b090(0x104)](0x0,0xc);return'ak_'+_0x377904+'_'+_0x1e858d;}export function getAppCacheFilePath(_0xb102be,_0x5be5b3){const _0x1751d3=a2_0x323c;return resolve(homedir(),PRODUCT_CONFIG[_0x1751d3(0x117)],_0x1751d3(0x10b),_0xb102be,fingerprintAccessKey(_0x5be5b3),'my-apps.json');}export function readCachedAppList(_0x1bc9e2,_0x5b5d4e){const _0x371e70=a2_0x323c;if(!_0x5b5d4e?.['trim']())return null;const _0x34016a=getAppCacheFilePath(_0x1bc9e2,_0x5b5d4e);if(!existsSync(_0x34016a))return null;try{const _0x2b8db5=readFileSync(_0x34016a,'utf8');if(!_0x2b8db5[_0x371e70(0x106)]())return null;const _0x2dc554=JSON[_0x371e70(0x108)](_0x2b8db5);if(!Array['isArray'](_0x2dc554['items']))return null;return _0x2dc554;}catch{return null;}}export function writeCachedAppList(_0xf884f7,_0x2bd809,_0x3d1ce9){const _0x3530b1=a2_0x323c,_0x1d749e=getAppCacheFilePath(_0xf884f7,_0x2bd809),_0x39d11f=dirname(_0x1d749e);!existsSync(_0x39d11f)&&mkdirSync(_0x39d11f,{'recursive':!![]});const _0x4f2472=_0x1d749e+_0x3530b1(0x10a);try{writeFileSync(_0x4f2472,JSON[_0x3530b1(0x10f)](_0x3d1ce9,null,0x2)+'\x0a',{'encoding':_0x3530b1(0x11a),'mode':0x180});try{renameSync(_0x4f2472,_0x1d749e);}catch(_0x35d730){if(_0x35d730[_0x3530b1(0x115)]==='EPERM'||_0x35d730[_0x3530b1(0x115)]==='EXDEV'||_0x35d730[_0x3530b1(0x115)]===_0x3530b1(0x116)){writeFileSync(_0x1d749e,JSON['stringify'](_0x3d1ce9,null,0x2)+'\x0a',{'encoding':_0x3530b1(0x11a)});try{unlinkSync(_0x4f2472);}catch{}}else throw _0x35d730;}}catch(_0xf7618b){try{unlinkSync(_0x4f2472);}catch{}throw _0xf7618b;}return _0x1d749e;}export function resolveCachedAppCode(_0x34f635,_0x267de3,_0x4dd2bf){const _0x161ecb=a2_0x323c;if(!_0x34f635)return undefined;const _0x3495ac=readCachedAppList(_0x267de3,_0x4dd2bf),_0x3a2f38=_0x3495ac?.['items'][_0x161ecb(0x105)](_0xaacb52=>_0xaacb52[_0x161ecb(0x11c)]===_0x34f635&&isRuntimeAccessibleApp(_0xaacb52));return _0x3a2f38?.['appCode']?.[_0x161ecb(0x106)]()||undefined;}function a2_0x814d(){const _0x594b2a=['12033280uEuTgu','180qqIRBz','utf8','hex','appName','3867630umUgJc','digest','25058ydYuku','305016zwQAAV','slice','find','trim','unknown','parse','5QXOcJg','.tmp','cache','7239828YHpyuF','409520GozpXI','1560EjbUJF','stringify','8vQWRyg','update','sha256','149678qGXEad','8HLNGjU','code','EACCES','homeDirName'];a2_0x814d=function(){return _0x594b2a;};return a2_0x814d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x440126=a3_0xce8c;(function(_0x4d3a17,_0x35045a){const _0xbf32=a3_0xce8c,_0x144e19=_0x4d3a17();while(!![]){try{const _0x576141=-parseInt(_0xbf32(0x1ab))/0x1*(parseInt(_0xbf32(0x198))/0x2)+parseInt(_0xbf32(0x18a))/0x3+-parseInt(_0xbf32(0x1e0))/0x4*(parseInt(_0xbf32(0x1bb))/0x5)+parseInt(_0xbf32(0x1d9))/0x6+-parseInt(_0xbf32(0x194))/0x7*(parseInt(_0xbf32(0x1bc))/0x8)+-parseInt(_0xbf32(0x1e5))/0x9*(parseInt(_0xbf32(0x1c5))/0xa)+parseInt(_0xbf32(0x1ac))/0xb;if(_0x576141===_0x35045a)break;else _0x144e19['push'](_0x144e19['shift']());}catch(_0x1a5d36){_0x144e19['push'](_0x144e19['shift']());}}}(a3_0x5a13,0x3a4a4));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_0x440126(0x1d7),'type':'boolean','description':a3_0x440126(0x18b),'default':![]};function collectFlags(_0x5d0cc6,_0x2e198f){const _0x8fbf6a=a3_0x440126,_0x262c35={};for(const _0xcc046d of _0x2e198f){const _0xe13e1b=_0xcc046d[_0x8fbf6a(0x1e3)]===_0x8fbf6a(0x1a3)?_0x5d0cc6[_0x8fbf6a(0x1b9)](_0xcc046d['name']):_0x5d0cc6[_0x8fbf6a(0x1ae)](_0xcc046d[_0x8fbf6a(0x1af)]);if(_0xe13e1b!==''&&_0xe13e1b!==![])_0x262c35[_0xcc046d['name']]=_0xe13e1b;}if(_0x5d0cc6[_0x8fbf6a(0x1ce)])_0x262c35[_0x8fbf6a(0x1ce)]=!![];return _0x262c35;}function a3_0xce8c(_0x19c34d,_0x1610f7){_0x19c34d=_0x19c34d-0x188;const _0x5a1337=a3_0x5a13();let _0xce8c4f=_0x5a1337[_0x19c34d];return _0xce8c4f;}function normalizeLanguages(_0xbbb566){const _0x51e4e8=a3_0x440126;if(!Array[_0x51e4e8(0x1b0)](_0xbbb566))return[];return _0xbbb566[_0x51e4e8(0x1b4)](_0x1a52f0=>typeof _0x1a52f0===_0x51e4e8(0x19d))[_0x51e4e8(0x199)](_0x3d45a1=>_0x3d45a1[_0x51e4e8(0x1a2)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x4f67f5){const _0x215418=a3_0x440126,_0x2c9cd9=normalizeLanguages(_0x4f67f5['i18nInfo']?.[_0x215418(0x1c3)]);return{'enableI18n':typeof _0x4f67f5[_0x215418(0x1a5)]===_0x215418(0x1a3)?_0x4f67f5[_0x215418(0x1a5)]:null,'languages':_0x2c9cd9,'i18nInfo':_0x4f67f5[_0x215418(0x197)]?{..._0x4f67f5['i18nInfo'],'langs':_0x2c9cd9[_0x215418(0x190)]?_0x2c9cd9:null}:null};}const initDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x1d5),'description':a3_0x440126(0x19b),'risk':a3_0x440126(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x5cbabb){const _0x2be858=a3_0x440126;return warnDeprecatedAppCommand(_0x2be858(0x1d5),CLI_BIN_NAME+_0x2be858(0x1c6)),await runInit(collectFlags(_0x5cbabb,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x440126(0x18c),'command':'list','description':a3_0x440126(0x1aa),'risk':a3_0x440126(0x1b8),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x440126(0x1c8),'type':a3_0x440126(0x19d),'description':a3_0x440126(0x196),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x440126(0x19a),'type':a3_0x440126(0x1a3),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1a7),'default':![]},{'name':a3_0x440126(0x1be),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1da),'default':![]}],async 'execute'(_0x20c17a){const _0x3984be=a3_0x440126,_0x39435f=_0x20c17a[_0x3984be(0x1ae)](_0x3984be(0x1c8))||_0x20c17a[_0x3984be(0x1b3)]||getEnv()||_0x3984be(0x1e4),_0x36b0b2=_0x20c17a['bool'](_0x3984be(0x19a)),_0x587927=_0x20c17a['bool'](_0x3984be(0x1a8)),_0x22aa9a=_0x20c17a[_0x3984be(0x1b9)](_0x3984be(0x1be)),{readRawConfigWithLayers:_0x218578,resolveDefaultAppSource:_0x437bf9,getLocalAppAliases:_0x4f1af3}=await import(_0x3984be(0x1de)),{getRemoteAppList:_0x25077a}=await import('../../commands/app/remote-source.js'),{config:_0x4e51a4,layers:_0x2476d4}=_0x218578(),_0x36618d=_0x437bf9(_0x2476d4),{defaultApp:_0x364c86}=_0x4e51a4,_0x32fee0=await _0x25077a({'env':_0x39435f,'accessKey':_0x20c17a[_0x3984be(0x1b7)],'localOnly':_0x36b0b2,'noCache':_0x587927}),_0x33f663=_0x22aa9a?_0x32fee0[_0x3984be(0x1d3)]:filterRuntimeAccessibleApps(_0x32fee0['items']),_0x289c76=_0x32fee0[_0x3984be(0x1d3)]['length']-_0x33f663[_0x3984be(0x190)],_0x54e24c=_0x33f663[_0x3984be(0x199)](_0x23530c=>{const _0x34bd4e=_0x3984be;return{'name':_0x23530c['appName'],'appcode':_0x23530c[_0x34bd4e(0x1d8)],'named':!![],'definedIn':'remote','isDefault':_0x23530c['appName']===_0x364c86,...buildAppProfileListFields(_0x39435f),...buildRemoteAppI18nFields(_0x23530c),'source':_0x32fee0['source'],'owner':_0x23530c['appOwnerName']??null,'status':_0x23530c[_0x34bd4e(0x1cc)]??null,'cachedAt':_0x32fee0[_0x34bd4e(0x192)]};}),_0x3b0f0b=_0x4f1af3(_0x4e51a4);let _0x2d35bc=0x0;for(const [_0xf7ee73,_0x29998d]of Object[_0x3984be(0x1c1)](_0x3b0f0b)){const _0x1089c5=typeof _0x29998d[_0x3984be(0x1ba)]===_0x3984be(0x19d)?_0x29998d['appcode'][_0x3984be(0x1a2)]():'';if(!_0x1089c5)continue;const _0x41229f=findAppByCode(_0x32fee0[_0x3984be(0x1d3)],_0x1089c5);if(!_0x22aa9a&&_0x41229f&&!isRuntimeAccessibleApp(_0x41229f))continue;_0x2d35bc+=0x1,_0x54e24c[_0x3984be(0x1a6)]({'name':_0xf7ee73,'appcode':_0x1089c5,'named':!![],'definedIn':_0x3984be(0x19a),'isDefault':_0xf7ee73===_0x364c86,...buildAppProfileListFields(_0x39435f),'source':_0x3984be(0x1e1),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x54e24c,_0x20c17a[_0x3984be(0x1c7)]);const _0x1f377d=_0x54e24c[_0x3984be(0x1bf)](_0x4898b9=>_0x4898b9[_0x3984be(0x1df)]===!![]),_0x4eb37e=_0x364c86??_0x1f377d?.[_0x3984be(0x1af)]??null,_0x4e092f={'env':_0x39435f,'source':_0x32fee0['source'],'fetchedAt':_0x32fee0[_0x3984be(0x192)],'cachePath':_0x32fee0[_0x3984be(0x1d6)],'globalPath':_0x2476d4[_0x3984be(0x193)]??null,'projectPath':_0x2476d4[_0x3984be(0x1c0)]??null,'defaultApp':_0x4eb37e,'defaultAppSource':_0x364c86!=null?_0x36618d:null,'localAliasCount':_0x2d35bc,'remoteTotal':_0x32fee0[_0x3984be(0x1d3)][_0x3984be(0x190)],'hiddenUnpublishedCount':_0x289c76,'includeUnpublished':_0x22aa9a};if(_0x54e24c[_0x3984be(0x190)]===0x0)return{'ok':!![],'data':{'items':_0x54e24c,'meta':_0x4e092f},'message':_0x32fee0[_0x3984be(0x1ca)]===_0x3984be(0x195)?_0x3984be(0x1d2):_0x3984be(0x1a4)};return{'ok':!![],'data':{'items':_0x54e24c,'meta':_0x4e092f}};}},pullDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x191),'description':a3_0x440126(0x1c9),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x440126(0x1c8),'type':'string','description':a3_0x440126(0x19f),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x440126(0x19a),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1dd),'default':![]},{'name':a3_0x440126(0x1a8),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1a7),'default':![]}],async 'execute'(_0x3ff8d1){const _0x206730=a3_0x440126,_0x3851c1=_0x3ff8d1['str'](_0x206730(0x1c8))||_0x3ff8d1[_0x206730(0x1b3)]||getEnv()||_0x206730(0x1e4),_0x247e3a=_0x3ff8d1[_0x206730(0x1b9)](_0x206730(0x19a)),_0x3a3b8a=_0x3ff8d1[_0x206730(0x1b9)](_0x206730(0x1a8)),{getRemoteAppList:_0x105ffe}=await import(_0x206730(0x1dc)),_0x3bafc0=await _0x105ffe({'env':_0x3851c1,'accessKey':_0x3ff8d1[_0x206730(0x1b7)],'localOnly':_0x247e3a,'noCache':_0x3a3b8a});return{'ok':!![],'data':{'total':_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)],'env':_0x3851c1,'source':_0x3bafc0['source'],'fetchedAt':_0x3bafc0[_0x206730(0x192)],'cachePath':_0x3bafc0[_0x206730(0x1d6)]},'message':_0x3bafc0[_0x206730(0x1ca)]===_0x206730(0x195)?_0x206730(0x1cf)+_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)]+_0x206730(0x1a0)+_0x3851c1+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)]+'\x20app(s)\x20for\x20env=\x22'+_0x3851c1+'\x22.'};}},useDef={'service':'app','command':a3_0x440126(0x1ad),'description':'Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x440126(0x1af),'description':a3_0x440126(0x1b2),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x36ed1c){const _0x461567=a3_0x440126;if(!_0x36ed1c[_0x461567(0x1d1)][0x0])throw CliErrors[_0x461567(0x1e2)](_0x461567(0x1cb),_0x461567(0x1d0)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');},async 'execute'(_0x4c39ce){const _0x3b0b20=a3_0x440126;warnDeprecatedAppCommand('use',CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x3c8769=_0x4c39ce['args'][0x0];if(!_0x3c8769)throw CliErrors[_0x3b0b20(0x1e2)](_0x3b0b20(0x1cb),_0x3b0b20(0x1d0)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const {buildConfigFromFlags:_0x4f7fcc,resolveLocalAppAliasCode:_0x6624ec}=await import(_0x3b0b20(0x1de)),{readCachedAppList:_0x4b5970}=await import('../../commands/app/cache.js'),_0x4cb17b=_0x4c39ce[_0x3b0b20(0x1ae)](_0x3b0b20(0x1c8)),_0x3c4040=_0x4f7fcc(_0x4cb17b?{'env':_0x4cb17b}:{}),_0x424c2c=_0x4b5970(_0x3c4040[_0x3b0b20(0x1c8)],_0x3c4040[_0x3b0b20(0x1b7)]),_0x1ead25=_0x424c2c?.['items'][_0x3b0b20(0x1bf)](_0x18170c=>_0x18170c[_0x3b0b20(0x1bd)]===_0x3c8769),_0x427dbb=_0x6624ec(_0x3c4040[_0x3b0b20(0x18d)]??{},_0x3c8769);if(_0x1ead25&&!isRuntimeAccessibleApp(_0x1ead25))throw runtimeInaccessibleAppError(_0x1ead25,'\x22'+_0x3c8769+'\x22');if(_0x427dbb){const _0x463847=_0x424c2c?.['items'][_0x3b0b20(0x1bf)](_0x58a5be=>_0x58a5be[_0x3b0b20(0x1d8)]?.['trim']()===_0x427dbb);if(_0x463847&&!isRuntimeAccessibleApp(_0x463847))throw runtimeInaccessibleAppError(_0x463847,'\x22'+_0x3c8769+'\x22');}if(!_0x1ead25&&!_0x427dbb&&_0x3c4040[_0x3b0b20(0x18f)]!==_0x3c8769){const _0xdd0399=[..._0x424c2c?.[_0x3b0b20(0x1d3)][_0x3b0b20(0x199)](_0xca4dbb=>_0xca4dbb['appName'])??[]],_0x3c8c16=_0xdd0399['length']===0x0?_0x3b0b20(0x1d4)+CLI_BIN_NAME+_0x3b0b20(0x1c2)+_0x3c8769+_0x3b0b20(0x19e):_0x3b0b20(0x19c)+Array[_0x3b0b20(0x189)](new Set(_0xdd0399))[_0x3b0b20(0x188)](',\x20')+_0x3b0b20(0x1c4);throw CliErrors[_0x3b0b20(0x1e2)]('App\x20\x22'+_0x3c8769+_0x3b0b20(0x1db),_0x3c8c16);}const _0x217a30=_0x4c39ce[_0x3b0b20(0x1b9)]('global');let _0x4cfef0;if(_0x217a30)_0x4cfef0={'global':!![]};else{const {isInProject:_0x17764f}=await import(_0x3b0b20(0x1de)),_0x35f3a3=_0x17764f();_0x4cfef0=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x3b0b20(0x1b6),'inProject':_0x35f3a3}));}const _0x11214b=readConfig(_0x4cfef0);return _0x11214b[_0x3b0b20(0x18f)]=_0x3c8769,writeConfig(_0x11214b,_0x4cfef0),{'ok':!![],'message':_0x3b0b20(0x1b1)+_0x3c8769+'\x22'+scopeLabel(_0x4cfef0)+'.'};}};function a3_0x5a13(){const _0x22d4f4=['884050Lwuguk','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','mergedCli','env','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','source','Missing\x20app\x20name.','appPublishStatus','`\x20instead.','nonInteractive','Loaded\x20','Usage:\x20','args','No\x20cached\x20apps\x20found.','items','Use\x20`','init','cachePath','global','appCode','614364OnBfSE','Include\x20unpublished\x20apps\x20for\x20diagnostics','\x22\x20not\x20found.','../../commands/app/remote-source.js','Read\x20from\x20local\x20cache\x20only','../../context.js','isCurrent','4xmlnyA','config','validation','type','production','45QiRBJd','join','from','610692BsTXTR','Use\x20global\x20config\x20scope','app','raw','write','defaultApp','length','pull','fetchedAt','globalPath','679bPhHab','cache','Filter\x20by\x20environment\x20(default:\x20current\x20env)','i18nInfo','1234DQFhkm','map','local','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Available\x20remote\x20apps:\x20','string','.appcode\x20to\x20.lovrabet.json.','Target\x20environment\x20(default:\x20current\x20env)','\x20cached\x20app(s)\x20for\x20env=\x22','import','trim','boolean','No\x20apps\x20found\x20on\x20the\x20platform.','enableI18n','push','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','no-cache','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','473PFONir','14976258bULXgh','use','str','name','isArray','Default\x20app\x20candidate\x20set\x20to\x20\x22','Remote\x20app\x20name\x20to\x20activate','envName','filter','\x20is\x20deprecated.\x20Use\x20`','project-default','accessKey','read','bool','appcode','2300855LbKpwa','19352ksmmQG','appName','include-unpublished','find','projectPath','entries','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','langs','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.'];a3_0x5a13=function(){return _0x22d4f4;};return a3_0x5a13();}function warnDeprecatedAppCommand(_0x43f560,_0x7c926f){const _0x44e32b=a3_0x440126;console['warn'](CLI_BIN_NAME+'\x20app\x20'+_0x43f560+_0x44e32b(0x1b5)+_0x7c926f+_0x44e32b(0x1cd));}const importDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x1a1),'description':a3_0x440126(0x1a9),'risk':a3_0x440126(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x1a794e){return await runInitImport(collectFlags(_0x1a794e,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
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 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xdaed7c,_0x3b98be){const _0x5d3385=a4_0x5e55,_0xc46172=_0xdaed7c();while(!![]){try{const _0x2b6dde=-parseInt(_0x5d3385(0x138))/0x1*(-parseInt(_0x5d3385(0x13a))/0x2)+-parseInt(_0x5d3385(0x133))/0x3*(-parseInt(_0x5d3385(0x135))/0x4)+-parseInt(_0x5d3385(0x13e))/0x5*(parseInt(_0x5d3385(0x136))/0x6)+parseInt(_0x5d3385(0x13f))/0x7*(parseInt(_0x5d3385(0x132))/0x8)+-parseInt(_0x5d3385(0x12a))/0x9+parseInt(_0x5d3385(0x13c))/0xa*(parseInt(_0x5d3385(0x137))/0xb)+parseInt(_0x5d3385(0x140))/0xc*(-parseInt(_0x5d3385(0x134))/0xd);if(_0x2b6dde===_0x3b98be)break;else _0xc46172['push'](_0xc46172['shift']());}catch(_0x1966c0){_0xc46172['push'](_0xc46172['shift']());}}}(a4_0x40e0,0xe88e6));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(_0x2f2ef5){const _0xa2e1b2=a4_0x5e55;if(typeof _0x2f2ef5!=='string')return null;const _0x45fe1e=_0x2f2ef5[_0xa2e1b2(0x12f)]();return _0x45fe1e?_0x45fe1e[_0xa2e1b2(0x13b)]():null;}export function isRuntimeAccessibleApp(_0x4fcec6){const _0x4f3f63=a4_0x5e55;return normalizeAppPublishStatus(_0x4fcec6[_0x4f3f63(0x12b)])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x5e55(_0x105b08,_0x248478){_0x105b08=_0x105b08-0x129;const _0x40e047=a4_0x40e0();let _0x5e55e9=_0x40e047[_0x105b08];return _0x5e55e9;}export function filterRuntimeAccessibleApps(_0x28d3f4){const _0x5b31db=a4_0x5e55;return _0x28d3f4[_0x5b31db(0x130)](isRuntimeAccessibleApp);}export function findAppByName(_0x447f01,_0x546dd5){const _0xcae9ad=a4_0x5e55;return _0x447f01[_0xcae9ad(0x142)](_0xee5200=>_0xee5200[_0xcae9ad(0x131)]===_0x546dd5);}export function findAppByCode(_0x19a0f7,_0x21e902){const _0x1ed4b4=a4_0x5e55,_0x43b241=_0x21e902[_0x1ed4b4(0x12f)]();if(!_0x43b241)return undefined;return _0x19a0f7[_0x1ed4b4(0x142)](_0x4dfe38=>_0x4dfe38[_0x1ed4b4(0x12e)]?.[_0x1ed4b4(0x12f)]()===_0x43b241);}function a4_0x40e0(){const _0x1a7365=['.\x20Publish\x20the\x20app\x20before\x20using\x20','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','appCode','trim','filter','appName','2696HSIlAN','21TZozdg','793VppgYO','201760dJjDep','162tCrtMi','54923UKZiUP','1mXcckp','Current\x20status:\x20','2976430cGlAFP','toUpperCase','530PUHPen','validation','234950Ndesgk','23464WfmTCn','7668ZPtdui','App\x20','find','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','UNKNOWN','8777601NnvBJP','appPublishStatus'];a4_0x40e0=function(){return _0x1a7365;};return a4_0x40e0();}export function runtimeInaccessibleAppError(_0xbed7e8,_0x1c4e19){const _0xffe097=a4_0x5e55,_0x212688=normalizeAppPublishStatus(_0xbed7e8[_0xffe097(0x12b)])??_0xffe097(0x129);return CliErrors[_0xffe097(0x13d)](_0xffe097(0x141)+_0x1c4e19+_0xffe097(0x12d),_0xffe097(0x139)+_0x212688+_0xffe097(0x12c)+CLI_BIN_NAME+_0xffe097(0x143));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a5_0x1940(_0xedf145,_0xd75465){_0xedf145=_0xedf145-0x1b4;const _0x1d812d=a5_0x1d81();let _0x194060=_0x1d812d[_0xedf145];return _0x194060;}(function(_0x3ad969,_0x1f3bea){const _0x3b82a0=a5_0x1940,_0x262a18=_0x3ad969();while(!![]){try{const _0x3743c5=-parseInt(_0x3b82a0(0x1c5))/0x1*(parseInt(_0x3b82a0(0x1c0))/0x2)+-parseInt(_0x3b82a0(0x1c6))/0x3*(-parseInt(_0x3b82a0(0x1b7))/0x4)+parseInt(_0x3b82a0(0x1ba))/0x5+parseInt(_0x3b82a0(0x1bc))/0x6+-parseInt(_0x3b82a0(0x1be))/0x7*(parseInt(_0x3b82a0(0x1b6))/0x8)+parseInt(_0x3b82a0(0x1b9))/0x9*(-parseInt(_0x3b82a0(0x1bb))/0xa)+parseInt(_0x3b82a0(0x1c1))/0xb;if(_0x3743c5===_0x1f3bea)break;else _0x262a18['push'](_0x262a18['shift']());}catch(_0x2cb093){_0x262a18['push'](_0x262a18['shift']());}}}(a5_0x1d81,0x38e8a));import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x1d81(){const _0x2a6b73=['Mock\x20API\x20error:\x20','errorMsg','16xYzcAi','4EcNgOp','utf-8','63873gRnmcZ','2083190naxwMW','190opdbsw','1960020tMEzSU','success','456799KLlfBh','errorCode','70zPiTpo','620048LASdAp','parse','../../../mock/app-list.json','tableData','9215bZjJjx','63912uGdwqX'];a5_0x1d81=function(){return _0x2a6b73;};return a5_0x1d81();}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x52607a=a5_0x1940,_0x227f20=join(__dirname,_0x52607a(0x1c3)),_0x324232=readFileSync(_0x227f20,_0x52607a(0x1b8));return JSON[_0x52607a(0x1c2)](_0x324232);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x938683=a5_0x1940,_0x1a18ce=getMockAppList();if(!_0x1a18ce[_0x938683(0x1bd)])throw new Error(_0x938683(0x1b4)+_0x1a18ce[_0x938683(0x1b5)]+'\x20('+_0x1a18ce[_0x938683(0x1bf)]+')');return _0x1a18ce['data'][_0x938683(0x1c4)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x12c87a,_0x5eedad){const _0x2959aa=a6_0x4a7f,_0x4ccf6e=_0x12c87a();while(!![]){try{const _0xcfc359=-parseInt(_0x2959aa(0x8d))/0x1+parseInt(_0x2959aa(0x93))/0x2+-parseInt(_0x2959aa(0x89))/0x3*(-parseInt(_0x2959aa(0x92))/0x4)+parseInt(_0x2959aa(0x8b))/0x5+parseInt(_0x2959aa(0x8e))/0x6+-parseInt(_0x2959aa(0x8a))/0x7+parseInt(_0x2959aa(0x94))/0x8*(-parseInt(_0x2959aa(0x96))/0x9);if(_0xcfc359===_0x5eedad)break;else _0x4ccf6e['push'](_0x4ccf6e['shift']());}catch(_0x38d926){_0x4ccf6e['push'](_0x4ccf6e['shift']());}}}(a6_0x1984,0xaf686));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';function a6_0x4a7f(_0x24effa,_0x3a1c93){_0x24effa=_0x24effa-0x88;const _0x19847e=a6_0x1984();let _0x4a7f2c=_0x19847e[_0x24effa];return _0x4a7f2c;}import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x2b1804=a6_0x4a7f,_0x597e88=(productEnv(_0x2b1804(0x88))||'')[_0x2b1804(0x90)]()[_0x2b1804(0x8f)]();return _0x597e88===_0x2b1804(0x95);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x1ddfbe){const _0x482e48=a6_0x4a7f,{env:_0x57db14,accessKey:_0x5de499,localOnly:localOnly=![],noCache:noCache=![]}=_0x1ddfbe,_0x1a462e=readCachedAppList(_0x57db14,_0x5de499),_0xb56351=_0x5de499?.[_0x482e48(0x90)]()?getAppCacheFilePath(_0x57db14,_0x5de499):null;if(localOnly)return{'items':_0x1a462e?.['items']??[],'source':'cache','fetchedAt':_0x1a462e?.[_0x482e48(0x98)]??null,'cachePath':_0xb56351};try{const _0x126dfe=await getRemoteAppItems(),_0x3303c0=shouldUseMockRemoteApps()?_0x482e48(0x95):_0x482e48(0x97),_0x1e8a4b=new Date()[_0x482e48(0x99)](),_0x3ec5a6=_0x5de499?.[_0x482e48(0x90)]()?writeCachedAppList(_0x57db14,_0x5de499,{'env':_0x57db14,'fetchedAt':_0x1e8a4b,'source':_0x3303c0,'items':_0x126dfe}):null;return{'items':_0x126dfe,'source':_0x3303c0,'fetchedAt':_0x1e8a4b,'cachePath':_0x3ec5a6};}catch(_0x3341fe){if(!noCache&&_0x1a462e)return{'items':_0x1a462e[_0x482e48(0x91)],'source':_0x482e48(0x8c),'fetchedAt':_0x1a462e['fetchedAt'],'cachePath':_0xb56351};throw _0x3341fe;}}function a6_0x1984(){const _0x56971b=['706776mbHfbR','805288zTgfcz','mock','18JfJrMf','remote','fetchedAt','toISOString','APP_LIST_SOURCE','2502042tITwZh','9148300yILCpz','5950460eFfGgW','cache','1098687yxQjys','5687310xXhnoH','toLowerCase','trim','items','4PqHUvZ'];a6_0x1984=function(){return _0x56971b;};return a6_0x1984();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45a495,_0x175428){const _0x8b2004=a7_0x2e23,_0x27ad60=_0x45a495();while(!![]){try{const _0x4dfc0d=-parseInt(_0x8b2004(0x11d))/0x1+-parseInt(_0x8b2004(0x12f))/0x2*(parseInt(_0x8b2004(0x11e))/0x3)+-parseInt(_0x8b2004(0x12d))/0x4*(-parseInt(_0x8b2004(0x120))/0x5)+parseInt(_0x8b2004(0x123))/0x6*(-parseInt(_0x8b2004(0x11c))/0x7)+parseInt(_0x8b2004(0x132))/0x8+parseInt(_0x8b2004(0x12a))/0x9+parseInt(_0x8b2004(0x130))/0xa;if(_0x4dfc0d===_0x175428)break;else _0x27ad60['push'](_0x27ad60['shift']());}catch(_0x5b99af){_0x27ad60['push'](_0x27ad60['shift']());}}}(a7_0x3a3e,0x4c448));import{CLI_BIN_NAME}from'../../constant/cli.js';function a7_0x3a3e(){const _0xf07e05=['defaultApp','196IQQabg','1874660FceNZG','project','2429640rRczdp','252007jIRgUp','145703wmNxMc','16479zDBRyW','find','555ybcwLr','global','named','6jgkFCc','appCode','definedIn','currentApp','trim','isCurrent','local','1017009xEwpCh','appcode','name','15432jUklwk'];a7_0x3a3e=function(){return _0xf07e05;};return a7_0x3a3e();}import{formatScopeLabel}from'../../commands/common/config-policy.js';export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0xee589a,_0xa38dd7){const _0x33bc89=a7_0x2e23;if(!_0xa38dd7)return;const _0x2c45a7=!!(_0xa38dd7[_0x33bc89(0x126)]??_0xa38dd7['defaultApp']);for(const _0x4525db of _0xee589a){_0x4525db['isCurrent']=![];}const _0x4fd035=_0xa38dd7[_0x33bc89(0x124)]!=null?String(_0xa38dd7[_0x33bc89(0x124)])[_0x33bc89(0x127)]():'';if(_0x2c45a7){const _0x4e96ec=_0xa38dd7[_0x33bc89(0x126)]??_0xa38dd7[_0x33bc89(0x12e)];if(_0x4e96ec){const _0x11259d=_0xee589a[_0x33bc89(0x11f)](_0x2d840e=>_0x2d840e[_0x33bc89(0x122)]===!![]&&_0x2d840e[_0x33bc89(0x12c)]===_0x4e96ec&&_0x2d840e[_0x33bc89(0x125)]===_0x33bc89(0x129)),_0x370cd4=_0x11259d??_0xee589a[_0x33bc89(0x11f)](_0xde2f05=>_0xde2f05[_0x33bc89(0x122)]===!![]&&_0xde2f05['name']===_0x4e96ec);if(_0x370cd4){const _0x422c11=String(_0x370cd4[_0x33bc89(0x12b)]??'')[_0x33bc89(0x127)]();if(!_0x4fd035||_0x422c11===_0x4fd035){_0x370cd4[_0x33bc89(0x128)]=!![];return;}}}if(_0x4fd035){const _0x5085e9=_0xee589a[_0x33bc89(0x11f)](_0x31171c=>String(_0x31171c[_0x33bc89(0x12b)]??'')['trim']()===_0x4fd035);_0x5085e9&&(_0x5085e9[_0x33bc89(0x128)]=!![]);}return;}if(!_0x4fd035)return;for(const _0x18d4bf of _0xee589a){String(_0x18d4bf[_0x33bc89(0x12b)]??'')[_0x33bc89(0x127)]()===_0x4fd035&&(_0x18d4bf[_0x33bc89(0x128)]=!![]);}}function a7_0x2e23(_0x3ae308,_0x5ef2a8){_0x3ae308=_0x3ae308-0x11c;const _0x3a3e54=a7_0x3a3e();let _0x2e23d4=_0x3a3e54[_0x3ae308];return _0x2e23d4;}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x2997d9){const _0x4fe679=a7_0x2e23;return formatScopeLabel(_0x2997d9[_0x4fe679(0x121)]?_0x4fe679(0x121):_0x4fe679(0x131));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a8_0x2b1cc0=a8_0x1842;(function(_0x7b8a62,_0x4630ed){const _0xcd4178=a8_0x1842,_0x37054b=_0x7b8a62();while(!![]){try{const _0x44ee2e=parseInt(_0xcd4178(0x11b))/0x1*(-parseInt(_0xcd4178(0x120))/0x2)+parseInt(_0xcd4178(0x11e))/0x3*(parseInt(_0xcd4178(0x11c))/0x4)+-parseInt(_0xcd4178(0x128))/0x5*(-parseInt(_0xcd4178(0x126))/0x6)+parseInt(_0xcd4178(0x127))/0x7*(parseInt(_0xcd4178(0x12d))/0x8)+-parseInt(_0xcd4178(0x11a))/0x9*(parseInt(_0xcd4178(0x123))/0xa)+-parseInt(_0xcd4178(0x12f))/0xb*(-parseInt(_0xcd4178(0x130))/0xc)+-parseInt(_0xcd4178(0x129))/0xd;if(_0x44ee2e===_0x4630ed)break;else _0x37054b['push'](_0x37054b['shift']());}catch(_0x47d7b0){_0x37054b['push'](_0x37054b['shift']());}}}(a8_0x4fe5,0x64398));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x4fe5(){const _0x27d2c1=['24PCueHD','Unable\x20to\x20get\x20app-config\x20value:\x20key=','9jVlbzP','14565IzLCLn','4SUNXAl','App\x20config\x20key','1927281gBdgkK','read','44WWXnQL','Usage:\x20',',\x20appCode=','3597460jxDHBa','appCode','Missing\x20app-config\x20key.','36quTrIV','1680hekyey','1640aSsuAb','7928531RjlHXp','args','apiError','app-config','23624bhSAGU','\x20app-config\x20get\x20<key>','1911074ncagjE'];a8_0x4fe5=function(){return _0x27d2c1;};return a8_0x4fe5();}import{CliErrors}from'../../errors.js';function a8_0x1842(_0x21da90,_0x386ee8){_0x21da90=_0x21da90-0x11a;const _0x4fe5e2=a8_0x4fe5();let _0x1842cc=_0x4fe5e2[_0x21da90];return _0x1842cc;}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x2b1cc0(0x12c),'command':'get','description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x2b1cc0(0x11f),'args':[{'name':'key','description':a8_0x2b1cc0(0x11d),'required':!![]}],'flags':[],async 'execute'(_0x30ca88){const _0x4c82bf=a8_0x2b1cc0,_0x5be31e=_0x30ca88[_0x4c82bf(0x12a)][0x0]?.['trim']();if(!_0x5be31e)throw CliErrors['validation'](_0x4c82bf(0x125),_0x4c82bf(0x121)+CLI_BIN_NAME+_0x4c82bf(0x12e));try{const _0x35e732=await getRuntimeAppConfigByKey(_0x30ca88['appCode'],_0x5be31e);return{'ok':!![],'data':_0x35e732};}catch{throw CliErrors[_0x4c82bf(0x12b)](_0x4c82bf(0x131)+_0x5be31e+_0x4c82bf(0x122)+_0x30ca88[_0x4c82bf(0x124)],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a9_0x102e(_0x8ea47,_0x4b17d6){_0x8ea47=_0x8ea47-0x1ca;const _0x42aeb7=a9_0x42ae();let _0x102e1b=_0x42aeb7[_0x8ea47];return _0x102e1b;}(function(_0x61dad4,_0x3789f1){const _0x530d13=a9_0x102e,_0x55c483=_0x61dad4();while(!![]){try{const _0x4299b8=-parseInt(_0x530d13(0x1cb))/0x1+parseInt(_0x530d13(0x1cf))/0x2+-parseInt(_0x530d13(0x1d0))/0x3+-parseInt(_0x530d13(0x1ca))/0x4+-parseInt(_0x530d13(0x1cc))/0x5*(parseInt(_0x530d13(0x1d1))/0x6)+parseInt(_0x530d13(0x1ce))/0x7*(parseInt(_0x530d13(0x1d3))/0x8)+-parseInt(_0x530d13(0x1cd))/0x9*(-parseInt(_0x530d13(0x1d2))/0xa);if(_0x4299b8===_0x3789f1)break;else _0x55c483['push'](_0x55c483['shift']());}catch(_0x5b1485){_0x55c483['push'](_0x55c483['shift']());}}}(a9_0x42ae,0x9a120));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x42ae(){const _0x1fd4ad=['870186BjQRaV','16164gOxVCd','1160yyHakZ','8flHxxx','4168380JGfbIH','312328jcVVui','1510otHpYZ','159642Oizefn','4011182GnfYUe','917022qSCpiv'];a9_0x42ae=function(){return _0x1fd4ad;};return a9_0x42ae();}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x4f2161=a10_0x10c1;(function(_0x33d9db,_0x181993){const _0x37a90f=a10_0x10c1,_0x2a4511=_0x33d9db();while(!![]){try{const _0x2319cf=parseInt(_0x37a90f(0xcc))/0x1+-parseInt(_0x37a90f(0x88))/0x2*(-parseInt(_0x37a90f(0xc8))/0x3)+-parseInt(_0x37a90f(0xc0))/0x4*(-parseInt(_0x37a90f(0xd8))/0x5)+-parseInt(_0x37a90f(0xd3))/0x6+parseInt(_0x37a90f(0xca))/0x7*(-parseInt(_0x37a90f(0x87))/0x8)+-parseInt(_0x37a90f(0x8e))/0x9+-parseInt(_0x37a90f(0x9c))/0xa*(-parseInt(_0x37a90f(0xbe))/0xb);if(_0x2319cf===_0x181993)break;else _0x2a4511['push'](_0x2a4511['shift']());}catch(_0x83b13f){_0x2a4511['push'](_0x2a4511['shift']());}}}(a10_0x4e3f,0xb3733));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_0x10c1(_0x3a7d25,_0x288177){_0x3a7d25=_0x3a7d25-0x87;const _0x4e3f74=a10_0x4e3f();let _0x10c1ab=_0x4e3f74[_0x3a7d25];return _0x10c1ab;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE='react_module',ARTIFACT_SOURCE_AGENT=a10_0x4f2161(0xcd),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x4f2161(0x9d),'react-dom',a10_0x4f2161(0xab),a10_0x4f2161(0xcb),a10_0x4f2161(0xc6),'@ant-design/icons'];function a10_0x4e3f(){const _0x427274=['Preview:\x20create\x20react_module\x20Artifact','14RIuNLK','dayjs','465124JAPocs','AGENT','body','num','validation','startsWith','Show\x20one\x20Artifact\x20by\x20id','1599990mfntKS','content','str','POST','artifactType','5JOVeSL','5375072vNnMip','6022etcwUj','add','compiledContent','verbose','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Invalid\x20JSON\x20for\x20--metadata:\x20','13166793RvDWCu','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','List\x20current-app\x20react_module\x20Artifacts','description','bool','/update','create','file','write','join','name','deleted','react_module\x20imports\x20are\x20limited\x20to:\x20','includes','10wmBxsN','react','trim','File\x20not\x20found:\x20','split','Updated\x20Artifact\x20','flag','parse','File\x20is\x20not\x20a\x20regular\x20file:\x20','updateTime','number','Artifact\x20ID','boolean','lastIndex','/client/artifact/create','lodash','appCode','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','build','Preview:\x20update\x20react_module\x20Artifact\x20','read','metadata','utf8','isArray','object','favorite','list','Created\x20Artifact\x20','string','isFile','createTime','artifact','test','Optional\x20favorite-state\x20filter','21430167txVBom','length','3400500dCyzVe','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','update','data','exec','--metadata\x20must\x20be\x20a\x20JSON\x20object.','antd','source','543qAylXx'];a10_0x4e3f=function(){return _0x427274;};return a10_0x4e3f();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x4f2161(0x97)](',\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_0x4f2161(0x95),'type':'string','required':!![],'description':a10_0x4f2161(0x8c)},ARTIFACT_NAME_FLAG={'name':a10_0x4f2161(0x98),'type':a10_0x4f2161(0xb8),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':'metadata','type':a10_0x4f2161(0xb8),'description':a10_0x4f2161(0xad)};function isPlainObject(_0x497e65){const _0x76a763=a10_0x4f2161;return typeof _0x497e65===_0x76a763(0xb4)&&_0x497e65!==null&&!Array[_0x76a763(0xb3)](_0x497e65);}function readSourceFile(_0x4bafdd){const _0x33b232=a10_0x4f2161;if(!_0x4bafdd)throw CliErrors[_0x33b232(0xd0)]('File\x20path\x20is\x20required.');if(!existsSync(_0x4bafdd))throw CliErrors[_0x33b232(0xd0)](_0x33b232(0x9f)+_0x4bafdd);if(!statSync(_0x4bafdd)[_0x33b232(0xb9)]())throw CliErrors[_0x33b232(0xd0)](_0x33b232(0xa4)+_0x4bafdd);const _0x16fd4a=readFileSync(_0x4bafdd,_0x33b232(0xb2));return validateReactModuleSource(_0x16fd4a),_0x16fd4a;}function parseMetadata(_0x27253d){const _0x5cefc8=a10_0x4f2161;if(!_0x27253d)return undefined;let _0x963a2;try{_0x963a2=JSON[_0x5cefc8(0xa3)](_0x27253d);}catch{throw CliErrors[_0x5cefc8(0xd0)](_0x5cefc8(0x8d)+_0x27253d);}if(!isPlainObject(_0x963a2))throw CliErrors['validation'](_0x5cefc8(0xc5));const _0x8e1d26={..._0x963a2};return delete _0x8e1d26[_0x5cefc8(0x8a)],_0x8e1d26;}function getPackageName(_0x114c55){const _0x531098=a10_0x4f2161;if(_0x114c55[_0x531098(0xd1)]('@')){const [_0x51f067,_0xdf182b]=_0x114c55[_0x531098(0xa0)]('/');return _0x51f067&&_0xdf182b?_0x51f067+'/'+_0xdf182b:_0x114c55;}return _0x114c55['split']('/')[0x0]||_0x114c55;}function validateAllowedImports(_0x434361){const _0x5f4820=a10_0x4f2161,_0x2cf0f9=new Set();for(const _0x5068a2 of IMPORT_SOURCE_PATTERNS){_0x5068a2[_0x5f4820(0xa9)]=0x0;let _0x53c8ac;while((_0x53c8ac=_0x5068a2[_0x5f4820(0xc4)](_0x434361))!==null){const _0x2b96ed=_0x53c8ac[0x1]?.[_0x5f4820(0x9e)]();_0x2b96ed&&_0x2cf0f9[_0x5f4820(0x89)](_0x2b96ed);}}const _0x47ca96=[..._0x2cf0f9]['map'](getPackageName)['filter'](_0x2e77ae=>!ALLOWED_REACT_MODULE_IMPORTS[_0x5f4820(0x9b)](_0x2e77ae));if(_0x47ca96[_0x5f4820(0xbf)]>0x0)throw CliErrors[_0x5f4820(0xd0)](_0x5f4820(0x9a)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x47ca96)][_0x5f4820(0x97)](',\x20'));}export function validateReactModuleSource(_0x4f9fb6){const _0x510ef0=a10_0x4f2161;if(!_0x4f9fb6[_0x510ef0(0x9e)]())throw CliErrors[_0x510ef0(0xd0)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS['some'](_0x13d636=>_0x13d636[_0x510ef0(0xbc)](_0x4f9fb6)))throw CliErrors[_0x510ef0(0xd0)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x4f9fb6);}function buildArtifactInput(_0x39bd31){const _0x2df90b=a10_0x4f2161,_0x3bf7c3=readSourceFile(_0x39bd31[_0x2df90b(0xd5)](_0x2df90b(0x95))),_0x14bb29=_0x39bd31[_0x2df90b(0xd5)](_0x2df90b(0x98))[_0x2df90b(0x9e)](),_0x24b621=parseMetadata(_0x39bd31['str'](_0x2df90b(0xb1)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x14bb29?{'name':_0x14bb29}:{},'content':_0x3bf7c3,..._0x24b621?{'metadata':_0x24b621}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x44f640){const _0x4a2a2b=a10_0x4f2161;return{'id':_0x44f640['id'],'name':_0x44f640['name'],'artifactType':_0x44f640[_0x4a2a2b(0xd7)],'source':_0x44f640[_0x4a2a2b(0xc7)],'favorite':_0x44f640[_0x4a2a2b(0xb5)],'deleted':_0x44f640[_0x4a2a2b(0x99)],'createTime':_0x44f640[_0x4a2a2b(0xba)],'updateTime':_0x44f640['updateTime']};}function detailArtifact(_0x3ade15){const _0x44652c=a10_0x4f2161;return{'id':_0x3ade15['id'],'appCode':_0x3ade15[_0x44652c(0xac)],'name':_0x3ade15[_0x44652c(0x98)],'artifactType':_0x3ade15[_0x44652c(0xd7)],'source':_0x3ade15['source'],'favorite':_0x3ade15[_0x44652c(0xb5)],'deleted':_0x3ade15['deleted'],'content':_0x3ade15[_0x44652c(0xd4)]??'','compiledContent':_0x3ade15[_0x44652c(0x8a)],'metadata':_0x3ade15[_0x44652c(0xb1)]??{},'createTime':_0x3ade15['createTime'],'updateTime':_0x3ade15[_0x44652c(0xa5)]};}function readFavoriteFlag(_0x10acf8){const _0xd7be0d=a10_0x4f2161,_0x2fed11=_0x10acf8[_0xd7be0d(0xa2)](_0xd7be0d(0xb5));return _0x2fed11===undefined||_0x2fed11===null||_0x2fed11===''?undefined:_0x10acf8[_0xd7be0d(0x92)](_0xd7be0d(0xb5));}const artifactList={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0xb6),'description':a10_0x4f2161(0x90),'risk':a10_0x4f2161(0xb0),'flags':[{'name':'source','type':a10_0x4f2161(0xb8),'description':a10_0x4f2161(0x8f)},{'name':'favorite','type':a10_0x4f2161(0xa8),'description':a10_0x4f2161(0xbd)},VERBOSE_FLAG],async 'execute'(_0x33436f){const _0x171b11=a10_0x4f2161,_0x2c1091=await listRuntimeArtifacts(_0x33436f['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x33436f[_0x171b11(0xd5)](_0x171b11(0xc7))?{'source':_0x33436f[_0x171b11(0xd5)](_0x171b11(0xc7))}:{},...readFavoriteFlag(_0x33436f)!==undefined?{'favorite':readFavoriteFlag(_0x33436f)}:{}});return{'ok':!![],'data':{'total':_0x2c1091['length'],'items':_0x33436f[_0x171b11(0x92)](_0x171b11(0x8b))?_0x2c1091:_0x2c1091['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x4f2161(0xbb),'command':'detail','description':a10_0x4f2161(0xd2),'risk':a10_0x4f2161(0xb0),'flags':[{...ID_FLAG,'description':a10_0x4f2161(0xa7)}],async 'execute'(_0x5c6d92){const _0x4af2da=a10_0x4f2161,_0xca102=await getRuntimeArtifact(_0x5c6d92[_0x4af2da(0xcf)]('id'),_0x5c6d92[_0x4af2da(0xac)]);return{'ok':!![],'data':detailArtifact(_0xca102)};}},artifactCreate={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0x94),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x4f2161(0x96),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x50298d){const _0x1a3e0a=a10_0x4f2161,_0xbe5a37=buildArtifactInput(_0x50298d),_0x5430ca=await createRuntimeArtifact(_0x50298d['appCode'],_0xbe5a37);return{'ok':!![],'data':detailArtifact(_0x5430ca),'message':_0x1a3e0a(0xb7)+_0x5430ca['id']+(_0x5430ca['name']?'\x20('+_0x5430ca[_0x1a3e0a(0x98)]+')':'')};},async 'dryRun'(_0x4507df){const _0x5a106f=a10_0x4f2161,_0x5d21cc=buildArtifactInput(_0x4507df);return dryRun(_0x5a106f(0xd6),_0x5a106f(0xaa))['body']({'appCode':_0x4507df[_0x5a106f(0xac)],..._0x5d21cc})[_0x5a106f(0x91)](_0x5a106f(0xc9))[_0x5a106f(0xae)]();},'writeEventSubject'(_0x590077){const _0x51c9b0=a10_0x4f2161,_0x33dfa5=_0x590077[_0x51c9b0(0xc3)]?.['id'];if(typeof _0x33dfa5!=='string'&&typeof _0x33dfa5!==_0x51c9b0(0xa6))return undefined;return{'kind':_0x51c9b0(0xbb),'id':String(_0x33dfa5),'action':_0x51c9b0(0x94)};}},artifactUpdate={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0xc2),'description':a10_0x4f2161(0xc1),'risk':a10_0x4f2161(0x96),'flags':[{...ID_FLAG,'description':a10_0x4f2161(0xa7)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x103336){const _0xcb38eb=a10_0x4f2161,_0x5a7f1b=_0x103336[_0xcb38eb(0xcf)]('id'),_0xc67dfe=buildArtifactInput(_0x103336),_0x3e9c4c=await updateRuntimeArtifact(_0x5a7f1b,_0x103336[_0xcb38eb(0xac)],_0xc67dfe);return{'ok':!![],'data':detailArtifact(_0x3e9c4c),'message':_0xcb38eb(0xa1)+_0x3e9c4c['id']+(_0x3e9c4c['name']?'\x20('+_0x3e9c4c[_0xcb38eb(0x98)]+')':'')};},async 'dryRun'(_0x39a326){const _0x2111f9=a10_0x4f2161,_0x910377=_0x39a326['num']('id'),_0x161f56=buildArtifactInput(_0x39a326);return dryRun(_0x2111f9(0xd6),'/client/artifact/'+_0x910377+_0x2111f9(0x93))[_0x2111f9(0xce)]({'appCode':_0x39a326[_0x2111f9(0xac)],..._0x161f56})[_0x2111f9(0x91)](_0x2111f9(0xaf)+_0x910377)['build']();},'writeEventSubject'(_0x3f1d74){const _0x1ebcc4=a10_0x4f2161,_0x2fd53e=_0x3f1d74[_0x1ebcc4(0xc3)]?.['id'];if(typeof _0x2fd53e!==_0x1ebcc4(0xb8)&&typeof _0x2fd53e!==_0x1ebcc4(0xa6))return undefined;return{'kind':'artifact','id':String(_0x2fd53e),'action':_0x1ebcc4(0xc2)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
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 +1 @@
|
|
|
1
|
-
const a11_0x5d62c6=a11_0x17f2;(function(_0x17444e,_0x33a1a3){const _0x2716b1=a11_0x17f2,_0x547aa8=_0x17444e();while(!![]){try{const _0x46fbb7=-parseInt(_0x2716b1(0x134))/0x1*(parseInt(_0x2716b1(0x166))/0x2)+parseInt(_0x2716b1(0x13b))/0x3*(parseInt(_0x2716b1(0x169))/0x4)+-parseInt(_0x2716b1(0x141))/0x5*(parseInt(_0x2716b1(0x15a))/0x6)+parseInt(_0x2716b1(0x15e))/0x7+-parseInt(_0x2716b1(0x15f))/0x8+parseInt(_0x2716b1(0x131))/0x9*(-parseInt(_0x2716b1(0x165))/0xa)+parseInt(_0x2716b1(0x179))/0xb*(parseInt(_0x2716b1(0x16d))/0xc);if(_0x46fbb7===_0x33a1a3)break;else _0x547aa8['push'](_0x547aa8['shift']());}catch(_0x32ea97){_0x547aa8['push'](_0x547aa8['shift']());}}}(a11_0x9bdf,0xeaf05));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';function a11_0x17f2(_0x3336bb,_0x8d04ba){_0x3336bb=_0x3336bb-0x12f;const _0x9bdfb7=a11_0x9bdf();let _0x17f28d=_0x9bdfb7[_0x3336bb];return _0x17f28d;}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(_0x4cf8d9){const _0x315254=a11_0x17f2;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x4cf8d9['bool'](_0x315254(0x176)),'explicitProject':_0x4cf8d9[_0x315254(0x17c)](_0x315254(0x136)),'policy':_0x315254(0x151)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x490c67,_0x259023,_0x23bff9=a11_0x5d62c6(0x161)){const _0x582626=a11_0x5d62c6;return _0x490c67+_0x582626(0x14c)+encodeURIComponent(_0x259023)+_0x582626(0x13c)+encodeURIComponent(_0x23bff9);}export function getDeviceCodePath(){const _0x483450=a11_0x5d62c6;return homedir()+'/'+PRODUCT_CONFIG[_0x483450(0x17b)]+_0x483450(0x156);}export function readStoredDeviceCode(){const _0xd0bec0=a11_0x5d62c6,_0x3a841d=getDeviceCodePath();if(!existsSync(_0x3a841d))return null;try{const _0x393519=readFileSync(_0x3a841d,{'encoding':_0xd0bec0(0x16e)}),_0x2b654e=JSON[_0xd0bec0(0x145)](_0x393519);if(_0x2b654e&&typeof _0x2b654e[_0xd0bec0(0x15c)]===_0xd0bec0(0x150)&&typeof _0x2b654e[_0xd0bec0(0x13e)]===_0xd0bec0(0x150)&&(_0x2b654e[_0xd0bec0(0x132)]===_0xd0bec0(0x176)||_0x2b654e[_0xd0bec0(0x132)]===_0xd0bec0(0x136)))return _0x2b654e;}catch{}return null;}export function writeStoredDeviceCode(_0x14d728,_0x2867ad){const _0x2ec7fc=a11_0x5d62c6,_0x5e782b=getDeviceCodePath(),_0x22f84f=dirname(_0x5e782b);!existsSync(_0x22f84f)&&mkdirSync(_0x22f84f,{'recursive':!![]});const _0x3d44f9={'code':_0x14d728,'createdAt':new Date()[_0x2ec7fc(0x15b)](),'scope':_0x2867ad};writeFileSync(_0x5e782b,JSON[_0x2ec7fc(0x16f)](_0x3d44f9),{'encoding':_0x2ec7fc(0x16e),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x36b71a=getDeviceCodePath();try{unlinkSync(_0x36b71a);}catch{}}export function isStoredDeviceCodeExpired(_0x34c7e9){const _0x2b094c=a11_0x5d62c6;return Date['now']()-new Date(_0x34c7e9[_0x2b094c(0x13e)])[_0x2b094c(0x157)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x4848af,_0x2c274f){const _0x2e514d=a11_0x5d62c6,_0x420f5b=_0x4848af+_0x2e514d(0x13d),_0xcbeaa4=new AbortController(),_0x31e43d=setTimeout(()=>_0xcbeaa4[_0x2e514d(0x13a)](),0x2710),_0x117d40=await fetch(_0x420f5b,{'method':_0x2e514d(0x168),'headers':{'Content-Type':_0x2e514d(0x14f)},'body':JSON[_0x2e514d(0x16f)]({'code':_0x2c274f}),'signal':_0xcbeaa4[_0x2e514d(0x146)]});clearTimeout(_0x31e43d);if(!_0x117d40['ok'])throw CliErrors['networkError'](_0x2e514d(0x160)+_0x117d40[_0x2e514d(0x183)]);const _0x5f45a4=await _0x117d40[_0x2e514d(0x171)](),_0x37d7fa=_0x5f45a4['data']&&typeof _0x5f45a4[_0x2e514d(0x14e)]===_0x2e514d(0x140)?_0x5f45a4[_0x2e514d(0x14e)]:_0x5f45a4;if(!_0x37d7fa||typeof _0x37d7fa[_0x2e514d(0x183)]!==_0x2e514d(0x150))throw CliErrors[_0x2e514d(0x137)]('Invalid\x20device\x20auth\x20response');return{'status':_0x37d7fa[_0x2e514d(0x183)],'access_key':typeof _0x37d7fa['access_key']==='string'?_0x37d7fa['access_key']:undefined};}export async function pollDeviceToken(_0x5586b4,_0x51966c,_0x4784e9){const _0x3caab6=a11_0x5d62c6;let _0x4f8d4a=0x0;for(let _0x355f29=0x0;_0x355f29<MAX_POLLS;_0x355f29++){if(_0x4784e9[_0x3caab6(0x163)])throw CliErrors[_0x3caab6(0x148)](_0x3caab6(0x180));let _0x33644a;try{_0x33644a=await fetchDeviceToken(_0x5586b4,_0x51966c);}catch(_0x68a301){if(_0x68a301 instanceof Error&&_0x68a301[_0x3caab6(0x181)]===_0x3caab6(0x175))throw CliErrors['cancelled']('Device\x20authorization\x20cancelled.');_0x4f8d4a++;if(_0x4f8d4a>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x3caab6(0x17d)](_0x3caab6(0x182));writeCliSideChannelLine(_0x3caab6(0x162)+_0x4f8d4a+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x3caab6(0x178)),await sleep(POLL_INTERVAL_MS);continue;}_0x4f8d4a=0x0;if(_0x33644a[_0x3caab6(0x183)]===_0x3caab6(0x143)){if(!_0x33644a[_0x3caab6(0x177)])throw CliErrors[_0x3caab6(0x137)](_0x3caab6(0x15d));return _0x33644a[_0x3caab6(0x177)];}if(_0x33644a[_0x3caab6(0x183)]===_0x3caab6(0x154)){deleteStoredDeviceCode();throw CliErrors['validation'](_0x3caab6(0x144));}const _0x469c92=(_0x355f29+0x1)*POLL_INTERVAL_MS,_0x50f02b=DEVICE_CODE_TTL_MS-_0x469c92,_0x383c38=Math[_0x3caab6(0x174)](_0x50f02b/0xea60),_0x57b99a=Math['floor'](_0x50f02b%0xea60/0x3e8);process[_0x3caab6(0x149)][_0x3caab6(0x173)](_0x3caab6(0x155)+_0x383c38+':'+String(_0x57b99a)[_0x3caab6(0x130)](0x2,'0')+_0x3caab6(0x12f)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x3caab6(0x138)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x28ce15){return new Promise(_0x11ff97=>setTimeout(_0x11ff97,_0x28ce15));}export const authDeviceDefinition={'service':a11_0x5d62c6(0x16a),'command':a11_0x5d62c6(0x17f),'description':'Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','risk':a11_0x5d62c6(0x173),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5d62c6(0x176),'type':'boolean','description':a11_0x5d62c6(0x16c),'default':!![]},{'name':'project','type':a11_0x5d62c6(0x152),'description':a11_0x5d62c6(0x14d),'default':![]},{'name':'source','type':a11_0x5d62c6(0x150),'description':a11_0x5d62c6(0x172),'default':a11_0x5d62c6(0x161)},{'name':a11_0x5d62c6(0x170),'type':a11_0x5d62c6(0x152),'description':a11_0x5d62c6(0x14b),'default':![]}],async 'execute'(_0x36015d){const _0x5cab97=a11_0x5d62c6,_0x12d18b=resolveAuthScopeFlags(_0x36015d),_0xe72de6=_0x12d18b[_0x5cab97(0x176)]?_0x5cab97(0x176):'project',_0xb765ce=readScopedConfig(_0x12d18b);if(_0xb765ce[_0x5cab97(0x17a)])return{'ok':!![],'message':_0x5cab97(0x159)};const _0x8152d8=(_0x36015d[_0x5cab97(0x184)]('source')||_0x5cab97(0x161))[_0x5cab97(0x133)](),_0x19df0b=getUserDomain(),_0x32711d=readStoredDeviceCode(),_0x3ec6b0=_0x32711d&&!isStoredDeviceCodeExpired(_0x32711d)?_0x32711d[_0x5cab97(0x15c)]:((()=>{const _0x24fef4=generateDeviceCode();return writeStoredDeviceCode(_0x24fef4,_0xe72de6),_0x24fef4;})()),_0x57b4db=buildDeviceAuthUrl(_0x19df0b,_0x3ec6b0,_0x8152d8);if(_0x36015d[_0x5cab97(0x17c)](_0x5cab97(0x170)))return console[_0x5cab97(0x158)](_0x57b4db),{'ok':!![]};writeCliSideChannelLine(_0x5cab97(0x14a)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x57b4db),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x36015d[_0x5cab97(0x16b)])return writeCliSideChannelLine(_0x5cab97(0x167)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x321ea8=new AbortController(),_0x2aa4e4=()=>{const _0x1f185d=_0x5cab97;_0x321ea8[_0x1f185d(0x13a)](),process['removeListener'](_0x1f185d(0x17e),_0x2aa4e4);};process[_0x5cab97(0x135)]('SIGINT',_0x2aa4e4);let _0x139c2c;try{_0x139c2c=await pollDeviceToken(_0x19df0b,_0x3ec6b0,_0x321ea8['signal']);}finally{process[_0x5cab97(0x13f)](_0x5cab97(0x17e),_0x2aa4e4);}if(!ACCESS_KEY_PATTERN[_0x5cab97(0x147)](_0x139c2c))throw CliErrors['apiError'](_0x5cab97(0x15d));const _0x175a4c=readScopedConfig(_0x12d18b);return _0x175a4c[_0x5cab97(0x17a)]=_0x139c2c,writeScopedConfig(_0x175a4c,_0x12d18b),deleteStoredDeviceCode(),process[_0x5cab97(0x149)][_0x5cab97(0x173)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0xe72de6+_0x5cab97(0x139)),writeCliSideChannelLine(_0x5cab97(0x142)+CLI_BIN_NAME+_0x5cab97(0x153)),{'ok':!![],'message':_0x5cab97(0x164)};}};function a11_0x9bdf(){const _0x4eab6b=['stringify','url-only','json','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','write','floor','AbortError','global','access_key','),\x20retrying...','4983EEuZjp','accessKey','homeDirName','bool','networkError','SIGINT','device','Device\x20authorization\x20cancelled.','name','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','status','str','\x20remaining','padStart','9KUkdGX','scope','trim','3uPLhvi','once','project','apiError','validation','\x20config.','abort','18nbxxnI','&source=','/api/device-auth/token','createdAt','removeListener','object','10RaxJjC','Verify:\x20','success','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','parse','signal','test','cancelled','stderr','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','/device-auth?code=','Write\x20to\x20project\x20config','data','application/json','string','global-default','boolean','\x20auth\x20status','expired','\x0dWaiting\x20for\x20authorization...\x20','/.device-auth','getTime','log','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','5417598cMnmmR','toISOString','code','Invalid\x20access_key\x20returned\x20by\x20server.','4200819bpNCvf','4256248dyEbhu','Device\x20auth\x20API\x20returned\x20HTTP\x20','lovrabet-cli','Device\x20auth\x20API\x20error\x20(','aborted','Device\x20authorization\x20successful.','18143860jaejqf','1210108BQIJpj','After\x20authorizing,\x20re-run:\x20','POST','327280OQfnwS','auth','nonInteractive','Write\x20to\x20global\x20config\x20(default)','154668tIKoCG','utf8'];a11_0x9bdf=function(){return _0x4eab6b;};return a11_0x9bdf();}
|
|
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)};}};
|