@lovrabet/lovrabet-cli 2.1.19 → 2.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.d.ts +12 -0
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.d.ts +12 -0
- package/lib/framework/raw-flags.js +1 -0
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const a0_0x5eba0a=a0_0x11b1;(function(_0x1fc9b1,_0xdd321e){const _0x1261a9=a0_0x11b1,_0x4721de=_0x1fc9b1();while(!![]){try{const _0x17ec57=parseInt(_0x1261a9(0x1a0))/0x1*(parseInt(_0x1261a9(0x191))/0x2)+parseInt(_0x1261a9(0x189))/0x3*(-parseInt(_0x1261a9(0x195))/0x4)+parseInt(_0x1261a9(0x177))/0x5+parseInt(_0x1261a9(0x17f))/0x6+parseInt(_0x1261a9(0x17a))/0x7+-parseInt(_0x1261a9(0x19c))/0x8*(-parseInt(_0x1261a9(0x19b))/0x9)+-parseInt(_0x1261a9(0x19d))/0xa*(parseInt(_0x1261a9(0x197))/0xb);if(_0x17ec57===_0xdd321e)break;else _0x4721de['push'](_0x4721de['shift']());}catch(_0x58ffd8){_0x4721de['push'](_0x4721de['shift']());}}}(a0_0x2491,0xeaf2e));import{jsx as a0_0x59422b}from'react/jsx-runtime';import a0_0x2fcf04 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';function a0_0x11b1(_0x10c9ef,_0x38d74b){_0x10c9ef=_0x10c9ef-0x177;const _0x2491df=a0_0x2491();let _0x11b1e1=_0x2491df[_0x10c9ef];return _0x11b1e1;}function a0_0x2491(){const _0x1b3e61=['10788570HANnrj','ERR_STREAM_DESTROYED','ERR_USE_AFTER_CLOSE','\x20->\x20--','exit','help','code','hint','\x0aCancelled.\x0a','input','977595HVrOuC','catch','ExitPromptError','[preparse]\x20','Unexpected\x20error:','stderr','Error:\x20','definition','2xHitFU','Hint:\x20','assign','exitCode','8XnmCay','flatMap','22ImERrB','defaultCommand','args','slice','369inwotF','269304NYCjsF','29686040UTQncl','error','name','1425599RQclDq','flags','6605090ugtFNu','cancelled','write','11384751TWGPoW','length','original',':\x20--','log'];a0_0x2491=function(){return _0x1b3e61;};return a0_0x2491();}import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x2fcf04(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x5eba0a(0x18a)](handleError);async function main(){try{await run();}catch(_0x14096b){handleError(_0x14096b);}}async function run(){const _0xd56af6=a0_0x5eba0a;let _0x49527a=cli['input'][0x0],_0x20e64f=cli[_0xd56af6(0x188)][0x1];const _0x543a64=cli[_0xd56af6(0x1a1)];try{const {correctFlags:_0x8924d}=await import('./framework/preparse.js'),_0x3793f3=getAllDefinitions()[_0xd56af6(0x196)](_0x3a619f=>_0x3a619f[_0xd56af6(0x1a1)]??[]),{flags:_0x20a497,corrections:_0x3b2e46}=_0x8924d(_0x543a64,_0x3793f3);if(_0x3b2e46[_0xd56af6(0x17b)]>0x0){for(const _0x41267c of _0x3b2e46){process['stderr'][_0xd56af6(0x179)](_0xd56af6(0x18c)+_0x41267c['handler']+_0xd56af6(0x17d)+_0x41267c[_0xd56af6(0x17c)]+_0xd56af6(0x182)+_0x41267c['corrected']+'\x0a');}Object['assign'](_0x543a64,_0x20a497);}}catch{}if(!_0x49527a){const {waitUntilExit:_0x813644}=render(a0_0x59422b(Help,{}));await _0x813644();return;}if(!isKnownService(_0x49527a)){const _0x16992d=resolveDynamicServiceCommand(cli[_0xd56af6(0x188)],_0x543a64);if(_0x16992d){if(_0x543a64[_0xd56af6(0x184)]){console[_0xd56af6(0x17e)](generateCommandHelp(_0x16992d[_0xd56af6(0x190)]));return;}Object[_0xd56af6(0x193)](_0x543a64,_0x16992d[_0xd56af6(0x1a1)]);const _0x1056d4=buildConfigFromFlags(_0x543a64);await initGlobalEnvironment(_0x1056d4);const _0x3a79d7=createPipelineEnv(_0x1056d4,_0x543a64);_0x3a79d7[_0xd56af6(0x199)]=_0x16992d[_0xd56af6(0x199)],await runCommand(_0x16992d['definition'],_0x3a79d7);return;}if(_0x543a64[_0xd56af6(0x184)]){const _0x3e3da1=generateDynamicServiceHelp(_0x49527a);if(_0x3e3da1){console[_0xd56af6(0x17e)](_0x3e3da1);return;}}const {waitUntilExit:_0x23ede1}=render(a0_0x59422b(Help,{}));await _0x23ede1();return;}const _0x1e2b23=getServiceEntry(_0x49527a);if(!_0x20e64f){if(_0x543a64['help']){console['log'](generateServiceHelp(_0x49527a));return;}if(_0x1e2b23[_0xd56af6(0x198)])_0x20e64f=_0x1e2b23['defaultCommand'];else{console[_0xd56af6(0x17e)](generateServiceHelp(_0x49527a));return;}}const _0x2b1428=findDefinition(_0x49527a,_0x20e64f);!_0x2b1428&&(console['log'](generateServiceHelp(_0x49527a)),handleError(CliErrors['unknownCommand'](_0x49527a+'\x20'+_0x20e64f)));if(_0x543a64[_0xd56af6(0x184)]){console[_0xd56af6(0x17e)](generateCommandHelp(_0x2b1428));return;}const _0x7172a9=buildConfigFromFlags(_0x543a64);await initGlobalEnvironment(_0x7172a9);const _0x52ee5f=createPipelineEnv(_0x7172a9,_0x543a64);_0x52ee5f['args']=cli[_0xd56af6(0x188)][_0xd56af6(0x19a)](0x2),await runCommand(_0x2b1428,_0x52ee5f);}function handleError(_0x25b622){const _0x3297d0=a0_0x5eba0a;if(_0x25b622 instanceof CliError){_0x25b622[_0x3297d0(0x185)]===_0x3297d0(0x178)&&(process[_0x3297d0(0x18e)][_0x3297d0(0x179)](_0x3297d0(0x187)),process[_0x3297d0(0x183)](0x0));console['error'](_0x3297d0(0x18f)+_0x25b622['message']);if(_0x25b622[_0x3297d0(0x186)])console[_0x3297d0(0x19e)](_0x3297d0(0x192)+_0x25b622[_0x3297d0(0x186)]);process[_0x3297d0(0x183)](_0x25b622[_0x3297d0(0x194)]);}isUserCancellation(_0x25b622)&&(process[_0x3297d0(0x18e)]['write'](_0x3297d0(0x187)),process[_0x3297d0(0x183)](0x0)),console[_0x3297d0(0x19e)](_0x3297d0(0x18d),_0x25b622),process['exit'](0x1);}function isUserCancellation(_0xd9a35a){const _0x133293=a0_0x5eba0a;if(!(_0xd9a35a instanceof Error))return![];if(_0xd9a35a[_0x133293(0x19f)]===_0x133293(0x18b))return!![];if(_0xd9a35a[_0x133293(0x185)]===_0x133293(0x181))return!![];if(_0xd9a35a['code']===_0x133293(0x180))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x79cf86=a1_0x541a;(function(_0x6d53cd,_0x420a34){const _0x1a4a2e=a1_0x541a,_0x31629e=_0x6d53cd();while(!![]){try{const _0x5b09de=parseInt(_0x1a4a2e(0x206))/0x1+parseInt(_0x1a4a2e(0x200))/0x2*(-parseInt(_0x1a4a2e(0x249))/0x3)+parseInt(_0x1a4a2e(0x20f))/0x4+parseInt(_0x1a4a2e(0x20c))/0x5*(-parseInt(_0x1a4a2e(0x24c))/0x6)+parseInt(_0x1a4a2e(0x252))/0x7*(-parseInt(_0x1a4a2e(0x20d))/0x8)+parseInt(_0x1a4a2e(0x23f))/0x9*(parseInt(_0x1a4a2e(0x1ff))/0xa)+-parseInt(_0x1a4a2e(0x215))/0xb;if(_0x5b09de===_0x420a34)break;else _0x31629e['push'](_0x31629e['shift']());}catch(_0x1e27d0){_0x31629e['push'](_0x31629e['shift']());}}}(a1_0x22ed,0x41c83));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x79cf86(0x232),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x79cf86(0x233),'type':a1_0x79cf86(0x232),'description':a1_0x79cf86(0x1f7)},DOC_CODE_FLAG={'name':a1_0x79cf86(0x1e9),'type':a1_0x79cf86(0x232),'required':!![],'description':a1_0x79cf86(0x1f3)},DOCS=[{'code':'dataset_list','category':a1_0x79cf86(0x253),'title':'List\x20datasets','method':a1_0x79cf86(0x24a),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'分页获取数据集列表','whenToUse':'需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','pathParams':[],'queryParams':[],'bodySchema':a1_0x79cf86(0x218),'responseHighlights':[a1_0x79cf86(0x21a),a1_0x79cf86(0x205)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x79cf86(0x230)],'markdown':[a1_0x79cf86(0x243),'',a1_0x79cf86(0x1e7)][a1_0x79cf86(0x219)]('\x0a')},{'code':a1_0x79cf86(0x207),'category':'dataset','title':a1_0x79cf86(0x21d),'method':a1_0x79cf86(0x1f1),'path':a1_0x79cf86(0x1f4),'summary':a1_0x79cf86(0x22c),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':a1_0x79cf86(0x1e9),'description':a1_0x79cf86(0x216)}],'bodySchema':'None','responseHighlights':[a1_0x79cf86(0x22d),a1_0x79cf86(0x1ef),a1_0x79cf86(0x23a)],'examples':[a1_0x79cf86(0x1fa)],'notes':[a1_0x79cf86(0x1f2)],'markdown':['##\x20Dataset\x20detail','',a1_0x79cf86(0x20a)][a1_0x79cf86(0x219)]('\x0a')},{'code':a1_0x79cf86(0x21f),'category':a1_0x79cf86(0x253),'title':a1_0x79cf86(0x234),'method':'POST','path':a1_0x79cf86(0x240),'summary':'条件过滤查询数据','whenToUse':'需要携带\x20where、orderBy、分页等条件读取业务数据时使用','pathParams':[{'name':a1_0x79cf86(0x22e),'description':'Current\x20app\x20code'},{'name':a1_0x79cf86(0x1ec),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x79cf86(0x227),'responseHighlights':['tableData\x20contains\x20records','paging\x20contains\x20pagination'],'examples':[a1_0x79cf86(0x225)],'notes':['Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x79cf86(0x21e),'',a1_0x79cf86(0x23e)][a1_0x79cf86(0x219)]('\x0a')},{'code':a1_0x79cf86(0x224),'category':a1_0x79cf86(0x253),'title':a1_0x79cf86(0x202),'method':'POST','path':a1_0x79cf86(0x213),'summary':a1_0x79cf86(0x223),'whenToUse':a1_0x79cf86(0x23d),'pathParams':[{'name':a1_0x79cf86(0x22e),'description':a1_0x79cf86(0x23b)},{'name':a1_0x79cf86(0x1ec),'description':a1_0x79cf86(0x216)}],'queryParams':[],'bodySchema':a1_0x79cf86(0x244),'responseHighlights':[a1_0x79cf86(0x22a),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x79cf86(0x239)],'notes':[a1_0x79cf86(0x20b),a1_0x79cf86(0x1fc)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x79cf86(0x1fb)][a1_0x79cf86(0x219)]('\x0a')},{'code':a1_0x79cf86(0x241),'category':a1_0x79cf86(0x253),'title':a1_0x79cf86(0x1ed),'method':a1_0x79cf86(0x24a),'path':a1_0x79cf86(0x24b),'summary':a1_0x79cf86(0x201),'whenToUse':'已经知道记录\x20id,需要按数据集读取单条业务数据时使用','pathParams':[{'name':a1_0x79cf86(0x22e),'description':a1_0x79cf86(0x23b)},{'name':a1_0x79cf86(0x1ec),'description':a1_0x79cf86(0x216)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x79cf86(0x245)],'examples':[a1_0x79cf86(0x1eb)],'notes':[a1_0x79cf86(0x1f8)],'markdown':a1_0x79cf86(0x1f0)},{'code':'dataset_data_create','category':a1_0x79cf86(0x253),'title':'Create\x20dataset\x20record','method':a1_0x79cf86(0x24a),'path':a1_0x79cf86(0x1f6),'summary':a1_0x79cf86(0x237),'whenToUse':a1_0x79cf86(0x247),'pathParams':[{'name':'appCode','description':a1_0x79cf86(0x23b)},{'name':a1_0x79cf86(0x1ec),'description':a1_0x79cf86(0x216)}],'queryParams':[],'bodySchema':a1_0x79cf86(0x248),'responseHighlights':[a1_0x79cf86(0x251)],'examples':[a1_0x79cf86(0x220)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x79cf86(0x24e),'category':'bf','title':a1_0x79cf86(0x246),'method':a1_0x79cf86(0x1f1),'path':a1_0x79cf86(0x1fe),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x79cf86(0x212),'pathParams':[{'name':'appCode','description':a1_0x79cf86(0x23b)},{'name':a1_0x79cf86(0x20e),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x79cf86(0x255),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x79cf86(0x256)],'markdown':a1_0x79cf86(0x24f)},{'code':a1_0x79cf86(0x210),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x79cf86(0x24a),'path':a1_0x79cf86(0x228),'summary':a1_0x79cf86(0x250),'whenToUse':a1_0x79cf86(0x209),'pathParams':[{'name':a1_0x79cf86(0x22e),'description':a1_0x79cf86(0x23b)},{'name':a1_0x79cf86(0x20e),'description':a1_0x79cf86(0x21b)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x79cf86(0x238)],'examples':[a1_0x79cf86(0x231)],'notes':[a1_0x79cf86(0x1e8)],'markdown':a1_0x79cf86(0x22b)},{'code':a1_0x79cf86(0x235),'category':a1_0x79cf86(0x1f5),'title':a1_0x79cf86(0x226),'method':a1_0x79cf86(0x24a),'path':a1_0x79cf86(0x257),'summary':'执行自定义\x20SQL','whenToUse':a1_0x79cf86(0x211),'pathParams':[],'queryParams':[],'bodySchema':a1_0x79cf86(0x221),'responseHighlights':[a1_0x79cf86(0x24d)],'examples':[a1_0x79cf86(0x242)],'notes':[a1_0x79cf86(0x21c)],'markdown':a1_0x79cf86(0x214)}];function a1_0x541a(_0x2682ec,_0x569dd0){_0x2682ec=_0x2682ec-0x1e7;const _0x22edc7=a1_0x22ed();let _0x541af5=_0x22edc7[_0x2682ec];return _0x541af5;}function entrySummary(_0x3abfd5){const _0x538a17=a1_0x79cf86;return{'code':_0x3abfd5['code'],'category':_0x3abfd5[_0x538a17(0x204)],'method':_0x3abfd5[_0x538a17(0x22f)],'path':_0x3abfd5[_0x538a17(0x1f9)],'summary':_0x3abfd5[_0x538a17(0x222)],'whenToUse':_0x3abfd5['whenToUse']};}export function listApiDocEntries(_0x389412={}){const _0x161a54=a1_0x79cf86,_0x47d9d4=String(_0x389412[_0x161a54(0x204)]||'')[_0x161a54(0x236)](),_0x70aafa=String(_0x389412[_0x161a54(0x233)]||'')[_0x161a54(0x236)]()[_0x161a54(0x217)]();return DOCS[_0x161a54(0x203)](_0x20c097=>{const _0x54cfc9=_0x161a54;if(_0x47d9d4&&_0x20c097[_0x54cfc9(0x204)]!==_0x47d9d4)return![];if(!_0x70aafa)return!![];return[_0x20c097[_0x54cfc9(0x1e9)],_0x20c097[_0x54cfc9(0x204)],_0x20c097[_0x54cfc9(0x22f)],_0x20c097[_0x54cfc9(0x1f9)],_0x20c097[_0x54cfc9(0x222)],_0x20c097[_0x54cfc9(0x1fd)],_0x20c097['title']][_0x54cfc9(0x219)]('\x20')[_0x54cfc9(0x217)]()[_0x54cfc9(0x229)](_0x70aafa);})[_0x161a54(0x254)](entrySummary);}function a1_0x22ed(){const _0x1b39d3=['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','87160MEIYRK','634648efoOOG','functionName','1928036mBMbjj','bf_execute','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','/api/{appCode}/{datasetCode}/aggregate','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','2749219NVdCKJ','32-character\x20dataset\x20code','toLowerCase','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','join','tableData\x20contains\x20dataset\x20id/code/name','Endpoint\x20function\x20name','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Dataset\x20detail','##\x20Filter\x20dataset\x20data','dataset_data_filter','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','summary','聚合查询数据集数据','dataset_data_aggregate','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27','Execute\x20custom\x20SQL','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','/api/endpoint/{appCode}/{functionName}','includes','result\x20rows\x20contain\x20aggregate\x20aliases','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','获取数据集详情','fields/properties\x20describe\x20data\x20shape','appCode','method','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','string','keyword','Filter\x20dataset\x20data','custom_sql_execute','trim','创建数据','Returns\x20script\x20business\x20payload','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','operations\x20describes\x20runtime\x20APIs','Current\x20app\x20code','API\x20doc\x20code\x20not\x20found:\x20','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','602325oEgqVA','/api/{appCode}/{datasetCode}/filter','dataset_data_get_one','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','##\x20List\x20datasets','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Returns\x20one\x20matching\x20business\x20record','Get\x20BF\x20endpoint\x20function\x20contract','需要向指定数据集新增一条业务数据时使用','{\x22fieldName\x22:\x22value\x22}','15BgIoiO','POST','/api/{appCode}/{datasetCode}/getOne','12vkOmjD','Returns\x20SQL\x20execution\x20payload','bf_detail','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','执行指定\x20BF\x20函数','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','21YZwcaj','dataset','map','None','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','/api/custom/executeSql','api-doc','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','code','validation','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','datasetCode','Get\x20one\x20dataset\x20record','str','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','GET','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','/api/dataset/getOneByCode?code={datasetCode}','custom_sql','/api/{appCode}/{datasetCode}/create','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','path','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','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`.','whenToUse','/client/bff/endpoint/{appCode}/{functionName}','30TCOnZp','68454bqVIfz','查询单条数据','Aggregate\x20dataset\x20data','filter','category','paging.totalCount\x20gives\x20total\x20rows','280580yVZLOs','dataset_detail','detail','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'];a1_0x22ed=function(){return _0x1b39d3;};return a1_0x22ed();}export function getApiDocDetail(_0x4543e9){const _0x58f75d=a1_0x79cf86,_0x256099=DOCS['find'](_0x3c9a5a=>_0x3c9a5a['code']===_0x4543e9);if(!_0x256099)throw CliErrors[_0x58f75d(0x1ea)](_0x58f75d(0x23c)+_0x4543e9);return{..._0x256099};}const apiDocList={'service':a1_0x79cf86(0x258),'command':'list','description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xe9379c){const _0xe7aeca=a1_0x79cf86,_0x102d4c=listApiDocEntries({'category':_0xe9379c['str'](_0xe7aeca(0x204)),'keyword':_0xe9379c[_0xe7aeca(0x1ee)](_0xe7aeca(0x233))});return{'ok':!![],'data':{'total':_0x102d4c['length'],'items':_0x102d4c}};}},apiDocDetail={'service':a1_0x79cf86(0x258),'command':a1_0x79cf86(0x208),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x116a1a){const _0x3523df=a1_0x79cf86;return{'ok':!![],'data':getApiDocDetail(_0x116a1a[_0x3523df(0x1ee)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x1db08e=a1_0x39fb;(function(_0x4b0489,_0x484687){const _0x5c21b3=a1_0x39fb,_0x388c6=_0x4b0489();while(!![]){try{const _0x3d6915=-parseInt(_0x5c21b3(0xcf))/0x1+parseInt(_0x5c21b3(0xe1))/0x2*(parseInt(_0x5c21b3(0xb5))/0x3)+-parseInt(_0x5c21b3(0xde))/0x4*(parseInt(_0x5c21b3(0xd8))/0x5)+parseInt(_0x5c21b3(0x76))/0x6*(-parseInt(_0x5c21b3(0xd0))/0x7)+-parseInt(_0x5c21b3(0xdd))/0x8+-parseInt(_0x5c21b3(0xa0))/0x9*(-parseInt(_0x5c21b3(0xdb))/0xa)+parseInt(_0x5c21b3(0x74))/0xb;if(_0x3d6915===_0x484687)break;else _0x388c6['push'](_0x388c6['shift']());}catch(_0xa1e5bf){_0x388c6['push'](_0x388c6['shift']());}}}(a1_0x2f57,0x61abb));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x1db08e(0x80),'type':a1_0x1db08e(0x8f),'description':a1_0x1db08e(0xc6)},KEYWORD_FLAG={'name':a1_0x1db08e(0xb3),'type':a1_0x1db08e(0x8f),'description':a1_0x1db08e(0xa1)},DOC_CODE_FLAG={'name':a1_0x1db08e(0x82),'type':a1_0x1db08e(0x8f),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':a1_0x1db08e(0xc4),'category':a1_0x1db08e(0xe2),'title':'List\x20datasets','method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0x70),'summary':a1_0x1db08e(0x7d),'whenToUse':a1_0x1db08e(0xed),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1db08e(0xe3),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x1db08e(0xb0)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x1db08e(0x8e)],'markdown':['##\x20List\x20datasets','',a1_0x1db08e(0xda)]['join']('\x0a')},{'code':a1_0x1db08e(0x98),'category':'dataset','title':a1_0x1db08e(0x93),'method':a1_0x1db08e(0xb4),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'获取数据集详情','whenToUse':a1_0x1db08e(0xcb),'pathParams':[],'queryParams':[{'name':a1_0x1db08e(0x82),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x1db08e(0x8c),'responseHighlights':[a1_0x1db08e(0xec),a1_0x1db08e(0xb6),a1_0x1db08e(0xc3)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x1db08e(0x71)],'markdown':[a1_0x1db08e(0xc5),'',a1_0x1db08e(0x92)]['join']('\x0a')},{'code':a1_0x1db08e(0xe8),'category':a1_0x1db08e(0xe2),'title':a1_0x1db08e(0x87),'method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0x9c),'summary':a1_0x1db08e(0x7a),'whenToUse':a1_0x1db08e(0x9a),'pathParams':[{'name':a1_0x1db08e(0xad),'description':a1_0x1db08e(0x96)},{'name':a1_0x1db08e(0x97),'description':a1_0x1db08e(0x73)}],'queryParams':[],'bodySchema':a1_0x1db08e(0xa5),'responseHighlights':[a1_0x1db08e(0x8d),a1_0x1db08e(0x77)],'examples':[a1_0x1db08e(0xb9),a1_0x1db08e(0xdf)],'notes':[a1_0x1db08e(0x9e),a1_0x1db08e(0x9f),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x1db08e(0xa2)],'markdown':[a1_0x1db08e(0xe4),'',a1_0x1db08e(0xc0)][a1_0x1db08e(0x86)]('\x0a')},{'code':a1_0x1db08e(0xd4),'category':a1_0x1db08e(0xe2),'title':'Aggregate\x20dataset\x20data','method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0x90),'summary':'聚合查询数据集数据','whenToUse':a1_0x1db08e(0xbb),'pathParams':[{'name':'appCode','description':a1_0x1db08e(0x96)},{'name':a1_0x1db08e(0x97),'description':a1_0x1db08e(0x73)}],'queryParams':[],'bodySchema':a1_0x1db08e(0xb1),'responseHighlights':[a1_0x1db08e(0x7e),a1_0x1db08e(0x79)],'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_0x1db08e(0x99),a1_0x1db08e(0x95)],'markdown':[a1_0x1db08e(0xc8),'',a1_0x1db08e(0xbc)][a1_0x1db08e(0x86)]('\x0a')},{'code':'dataset_data_get_one','category':'dataset','title':a1_0x1db08e(0xca),'method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0xa6),'summary':'查询单条数据','whenToUse':a1_0x1db08e(0xbe),'pathParams':[{'name':'appCode','description':a1_0x1db08e(0x96)},{'name':a1_0x1db08e(0x97),'description':a1_0x1db08e(0x73)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0x1db08e(0xaa)],'notes':[a1_0x1db08e(0xa9)],'markdown':a1_0x1db08e(0x81)},{'code':a1_0x1db08e(0xd2),'category':a1_0x1db08e(0xe2),'title':a1_0x1db08e(0x78),'method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0xbd),'summary':a1_0x1db08e(0x83),'whenToUse':a1_0x1db08e(0xe9),'pathParams':[{'name':'appCode','description':a1_0x1db08e(0x96)},{'name':a1_0x1db08e(0x97),'description':a1_0x1db08e(0x73)}],'queryParams':[],'bodySchema':a1_0x1db08e(0xd9),'responseHighlights':[a1_0x1db08e(0xc7)],'examples':[a1_0x1db08e(0xe7)],'notes':[a1_0x1db08e(0xb7)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x1db08e(0xd1),'method':'GET','path':a1_0x1db08e(0x8b),'summary':a1_0x1db08e(0xba),'whenToUse':a1_0x1db08e(0x84),'pathParams':[{'name':a1_0x1db08e(0xad),'description':a1_0x1db08e(0x96)},{'name':a1_0x1db08e(0x94),'description':a1_0x1db08e(0x88)}],'queryParams':[],'bodySchema':a1_0x1db08e(0x8c),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0x1db08e(0x8a)],'notes':[a1_0x1db08e(0x72)],'markdown':a1_0x1db08e(0xbf)},{'code':a1_0x1db08e(0xa7),'category':'bf','title':a1_0x1db08e(0xae),'method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0xab),'summary':a1_0x1db08e(0x7f),'whenToUse':a1_0x1db08e(0x91),'pathParams':[{'name':a1_0x1db08e(0xad),'description':a1_0x1db08e(0x96)},{'name':'functionName','description':a1_0x1db08e(0xa3)}],'queryParams':[],'bodySchema':a1_0x1db08e(0xc1),'responseHighlights':[a1_0x1db08e(0xc2)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x1db08e(0x85)],'markdown':a1_0x1db08e(0xe5)},{'code':a1_0x1db08e(0x75),'category':a1_0x1db08e(0xd5),'title':a1_0x1db08e(0xb8),'method':a1_0x1db08e(0xe6),'path':a1_0x1db08e(0xcc),'summary':a1_0x1db08e(0xcd),'whenToUse':a1_0x1db08e(0xd3),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1db08e(0xc9),'responseHighlights':[a1_0x1db08e(0xe0)],'examples':[a1_0x1db08e(0xea)],'notes':[a1_0x1db08e(0x6f)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x3937a6){const _0x4332b3=a1_0x1db08e;return{'code':_0x3937a6['code'],'category':_0x3937a6[_0x4332b3(0x80)],'method':_0x3937a6[_0x4332b3(0xaf)],'path':_0x3937a6[_0x4332b3(0xd6)],'summary':_0x3937a6[_0x4332b3(0xa8)],'whenToUse':_0x3937a6[_0x4332b3(0xb2)]};}function a1_0x39fb(_0x1c38ad,_0x4d90e3){_0x1c38ad=_0x1c38ad-0x6f;const _0x2f57f5=a1_0x2f57();let _0x39fba1=_0x2f57f5[_0x1c38ad];return _0x39fba1;}function a1_0x2f57(){const _0xd6a1e9=['dataset','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','##\x20Filter\x20dataset\x20data','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','POST','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','dataset_data_filter','需要向指定数据集新增一条业务数据时使用','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','list','fields/properties\x20describe\x20data\x20shape','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','/api/dataset/get-dataset-list-by-app-code','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','32-character\x20dataset\x20code','16058372MMdxgf','custom_sql_execute','2282502RztoQA','paging\x20contains\x20pagination','Create\x20dataset\x20record','where\x20filters\x20before\x20aggregation','条件过滤查询数据','API\x20doc\x20code\x20not\x20found:\x20','detail','分页获取数据集列表','result\x20rows\x20contain\x20aggregate\x20aliases','执行指定\x20BF\x20函数','category','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','code','创建数据','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','join','Filter\x20dataset\x20data','Exact\x20endpoint\x20function\x20name','validation','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','/client/bff/endpoint/{appCode}/{functionName}','None','tableData\x20contains\x20records','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','string','/api/{appCode}/{datasetCode}/aggregate','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Dataset\x20detail','functionName','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Current\x20app\x20code','datasetCode','dataset_detail','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','read','/api/{appCode}/{datasetCode}/filter','title','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','2229138hpYznd','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Endpoint\x20function\x20name','filter','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','/api/{appCode}/{datasetCode}/getOne','bf_execute','summary','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','/api/endpoint/{appCode}/{functionName}','str','appCode','Execute\x20BF\x20endpoint\x20function','method','paging.totalCount\x20gives\x20total\x20rows','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','whenToUse','keyword','GET','3tjLDsF','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Execute\x20custom\x20SQL','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','按应用和函数名精确获取\x20BF\x20运行契约','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','/api/{appCode}/{datasetCode}/create','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','{\x22param\x22:\x22value\x22}','Returns\x20script\x20business\x20payload','operations\x20describes\x20runtime\x20APIs','dataset_list','##\x20Dataset\x20detail','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','##\x20Aggregate\x20dataset\x20data','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Get\x20one\x20dataset\x20record','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','/api/custom/executeSql','执行自定义\x20SQL','trim','463417KVSlSu','14hYGsnm','Get\x20BF\x20endpoint\x20function\x20contract','dataset_data_create','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','dataset_data_aggregate','custom_sql','path','length','198305wLAdYb','{\x22fieldName\x22:\x22value\x22}','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','10nSkhCo','toLowerCase','6005600eyTBoS','4BXFUdt','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','Returns\x20SQL\x20execution\x20payload','1414274RvnQpO'];a1_0x2f57=function(){return _0xd6a1e9;};return a1_0x2f57();}export function listApiDocEntries(_0x4d8974={}){const _0x29da55=a1_0x1db08e,_0x5f0e0c=String(_0x4d8974[_0x29da55(0x80)]||'')[_0x29da55(0xce)](),_0x58806f=String(_0x4d8974[_0x29da55(0xb3)]||'')['trim']()[_0x29da55(0xdc)]();return DOCS[_0x29da55(0xa4)](_0x2cb4e0=>{const _0x3c0210=_0x29da55;if(_0x5f0e0c&&_0x2cb4e0[_0x3c0210(0x80)]!==_0x5f0e0c)return![];if(!_0x58806f)return!![];return[_0x2cb4e0[_0x3c0210(0x82)],_0x2cb4e0[_0x3c0210(0x80)],_0x2cb4e0[_0x3c0210(0xaf)],_0x2cb4e0[_0x3c0210(0xd6)],_0x2cb4e0[_0x3c0210(0xa8)],_0x2cb4e0['whenToUse'],_0x2cb4e0[_0x3c0210(0x9d)]][_0x3c0210(0x86)]('\x20')[_0x3c0210(0xdc)]()['includes'](_0x58806f);})['map'](entrySummary);}export function getApiDocDetail(_0x5e6d6b){const _0x5f025c=a1_0x1db08e,_0x51d7e8=DOCS['find'](_0x3de65d=>_0x3de65d[_0x5f025c(0x82)]===_0x5e6d6b);if(!_0x51d7e8)throw CliErrors[_0x5f025c(0x89)](_0x5f025c(0x7b)+_0x5e6d6b);return{..._0x51d7e8};}const apiDocList={'service':'api-doc','command':a1_0x1db08e(0xeb),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5ee329){const _0x313a6b=a1_0x1db08e,_0x2857d3=listApiDocEntries({'category':_0x5ee329[_0x313a6b(0xac)]('category'),'keyword':_0x5ee329[_0x313a6b(0xac)]('keyword')});return{'ok':!![],'data':{'total':_0x2857d3[_0x313a6b(0xd7)],'items':_0x2857d3}};}},apiDocDetail={'service':'api-doc','command':a1_0x1db08e(0x7c),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0x1db08e(0x9b),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x31c7a0){const _0x1f4b45=a1_0x1db08e;return{'ok':!![],'data':getApiDocDetail(_0x31c7a0[_0x1f4b45(0xac)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x11e842,_0x50a23d){const _0x489117=a2_0x5f47,_0x2e7ffe=_0x11e842();while(!![]){try{const _0x5117f0=parseInt(_0x489117(0x105))/0x1*(parseInt(_0x489117(0x100))/0x2)+-parseInt(_0x489117(0xfa))/0x3+-parseInt(_0x489117(0xf9))/0x4*(-parseInt(_0x489117(0xfe))/0x5)+parseInt(_0x489117(0x108))/0x6*(-parseInt(_0x489117(0x107))/0x7)+-parseInt(_0x489117(0x109))/0x8*(-parseInt(_0x489117(0xf4))/0x9)+-parseInt(_0x489117(0x10b))/0xa+-parseInt(_0x489117(0x106))/0xb*(-parseInt(_0x489117(0xf6))/0xc);if(_0x5117f0===_0x50a23d)break;else _0x2e7ffe['push'](_0x2e7ffe['shift']());}catch(_0x23962){_0x2e7ffe['push'](_0x2e7ffe['shift']());}}}(a2_0x138d,0x861bc));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';function a2_0x5f47(_0x2b4f2d,_0x56191b){_0x2b4f2d=_0x2b4f2d-0xed;const _0x138d98=a2_0x138d();let _0x5f4708=_0x138d98[_0x2b4f2d];return _0x5f4708;}function a2_0x138d(){const _0x137512=['utf8','isArray','332604midkOl','appCode','216IHbTkX','code','ak_','191188pZxqsR','1260294wrercQ','slice','homeDirName','EXDEV','10ZIVMiG','update','172fMdSxb','hex','trim','EACCES','EPERM','5615OpnUZs','168311zpjzNB','7mQzNsX','2506272YwDzpR','152MhcWLO','sha256','1689480zJBphB','items','my-apps.json','.tmp','appName','digest'];a2_0x138d=function(){return _0x137512;};return a2_0x138d();}import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x56c3e7){const _0x1e4c07=a2_0x5f47,_0x4d2c02=_0x56c3e7[_0x1e4c07(0x102)](),_0x4e1c62=_0x4d2c02[_0x1e4c07(0xfb)](-0x6)||'unknown',_0x1a9dc9=createHash(_0x1e4c07(0x10a))[_0x1e4c07(0xff)](_0x4d2c02)[_0x1e4c07(0xf1)](_0x1e4c07(0x101))['slice'](0x0,0xc);return _0x1e4c07(0xf8)+_0x4e1c62+'_'+_0x1a9dc9;}export function getAppCacheFilePath(_0x335a16,_0x29aa7d){const _0x3e768a=a2_0x5f47;return resolve(homedir(),PRODUCT_CONFIG[_0x3e768a(0xfc)],'cache',_0x335a16,fingerprintAccessKey(_0x29aa7d),_0x3e768a(0xee));}export function readCachedAppList(_0x2f03a8,_0x5117d3){const _0x2aaaef=a2_0x5f47;if(!_0x5117d3?.['trim']())return null;const _0x37dd3e=getAppCacheFilePath(_0x2f03a8,_0x5117d3);if(!existsSync(_0x37dd3e))return null;try{const _0x4e162e=readFileSync(_0x37dd3e,_0x2aaaef(0xf2));if(!_0x4e162e[_0x2aaaef(0x102)]())return null;const _0x4aad97=JSON['parse'](_0x4e162e);if(!Array[_0x2aaaef(0xf3)](_0x4aad97[_0x2aaaef(0xed)]))return null;return _0x4aad97;}catch{return null;}}export function writeCachedAppList(_0x328266,_0x24075f,_0x41e4c3){const _0x2cd146=a2_0x5f47,_0x4fd744=getAppCacheFilePath(_0x328266,_0x24075f),_0x49a550=dirname(_0x4fd744);!existsSync(_0x49a550)&&mkdirSync(_0x49a550,{'recursive':!![]});const _0x263b5b=_0x4fd744+_0x2cd146(0xef);try{writeFileSync(_0x263b5b,JSON['stringify'](_0x41e4c3,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x263b5b,_0x4fd744);}catch(_0x3e03ff){if(_0x3e03ff['code']===_0x2cd146(0x104)||_0x3e03ff[_0x2cd146(0xf7)]===_0x2cd146(0xfd)||_0x3e03ff[_0x2cd146(0xf7)]===_0x2cd146(0x103)){writeFileSync(_0x4fd744,JSON['stringify'](_0x41e4c3,null,0x2)+'\x0a',{'encoding':_0x2cd146(0xf2)});try{unlinkSync(_0x263b5b);}catch{}}else throw _0x3e03ff;}}catch(_0x3b5c3c){try{unlinkSync(_0x263b5b);}catch{}throw _0x3b5c3c;}return _0x4fd744;}export function resolveCachedAppCode(_0x4956b2,_0x5a170c,_0x279923){const _0x59cab2=a2_0x5f47;if(!_0x4956b2)return undefined;const _0x58120e=readCachedAppList(_0x5a170c,_0x279923),_0x15c318=_0x58120e?.[_0x59cab2(0xed)]['find'](_0xd48e6d=>_0xd48e6d[_0x59cab2(0xf0)]===_0x4956b2&&isRuntimeAccessibleApp(_0xd48e6d));return _0x15c318?.[_0x59cab2(0xf5)]?.['trim']()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x26f05d=a3_0x5cdb;(function(_0x4d3ff7,_0x4f0807){const _0x1755a9=a3_0x5cdb,_0x3879eb=_0x4d3ff7();while(!![]){try{const _0x2f4451=-parseInt(_0x1755a9(0x1e6))/0x1+parseInt(_0x1755a9(0x22c))/0x2+parseInt(_0x1755a9(0x221))/0x3+parseInt(_0x1755a9(0x21b))/0x4*(-parseInt(_0x1755a9(0x1fb))/0x5)+-parseInt(_0x1755a9(0x204))/0x6+parseInt(_0x1755a9(0x215))/0x7+-parseInt(_0x1755a9(0x1e2))/0x8*(parseInt(_0x1755a9(0x232))/0x9);if(_0x2f4451===_0x4f0807)break;else _0x3879eb['push'](_0x3879eb['shift']());}catch(_0x4acdc0){_0x3879eb['push'](_0x3879eb['shift']());}}}(a3_0x571c,0x57770));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';function a3_0x571c(){const _0x4ccc6f=['\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','global','bool','../../commands/app/cache.js','1886802NYUnEc','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','appcode','app','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Default\x20app\x20candidate\x20set\x20to\x20\x22','\x20app\x20','accessKey','no-cache','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','source','\x20cached\x20app(s)\x20for\x20env=\x22','Missing\x20app\x20name.','../../context.js','map','join','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','2681238uSvTrW','Read\x20app\x20list\x20from\x20local\x20cache\x20only','length','appPublishStatus','write','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','2092864ICNBER','No\x20cached\x20apps\x20found.','nonInteractive','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','string','defaultApp','1242321oDPDMY','init','cache','import','Usage:\x20','langs','local','config','env','args','appOwnerName','1352204NZWlBE','../../commands/app/remote-source.js','name','appName','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','push','118980CtTaKA','isArray','cachePath','production','find','128YLUwQn','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','use','.appcode\x20to\x20.lovrabet.json.','65784IoetzT','i18nInfo','\x20app\x20use\x20<name>\x20[--global]','Loaded\x20','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','project-default','str','Available\x20remote\x20apps:\x20','projectPath','Use\x20`','App\x20\x22','raw','mergedCli','Use\x20global\x20config\x20scope','Include\x20unpublished\x20apps\x20for\x20diagnostics','validation','boolean','Target\x20environment\x20(default:\x20current\x20env)','enableI18n','remote','Read\x20from\x20local\x20cache\x20only','5NzEclP','\x22\x20not\x20found.','include-unpublished','items','trim'];a3_0x571c=function(){return _0x4ccc6f;};return a3_0x571c();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x26f05d(0x201),'type':a3_0x26f05d(0x1f6),'description':a3_0x26f05d(0x1f3),'default':![]};function collectFlags(_0xafd8d,_0xcc012c){const _0x2d39f3=a3_0x26f05d,_0x6be71f={};for(const _0x1dd9d8 of _0xcc012c){const _0x4f99ba=_0x1dd9d8['type']===_0x2d39f3(0x1f6)?_0xafd8d[_0x2d39f3(0x202)](_0x1dd9d8[_0x2d39f3(0x22e)]):_0xafd8d[_0x2d39f3(0x1ec)](_0x1dd9d8[_0x2d39f3(0x22e)]);if(_0x4f99ba!==''&&_0x4f99ba!==![])_0x6be71f[_0x1dd9d8[_0x2d39f3(0x22e)]]=_0x4f99ba;}if(_0xafd8d[_0x2d39f3(0x21d)])_0x6be71f['nonInteractive']=!![];return _0x6be71f;}function normalizeLanguages(_0x546b4d){const _0xfa2e09=a3_0x26f05d;if(!Array[_0xfa2e09(0x233)](_0x546b4d))return[];return _0x546b4d['filter'](_0x100e18=>typeof _0x100e18===_0xfa2e09(0x21f))[_0xfa2e09(0x212)](_0x5041a4=>_0x5041a4[_0xfa2e09(0x1ff)]())['filter'](Boolean);}function a3_0x5cdb(_0x40dc4a,_0x50f069){_0x40dc4a=_0x40dc4a-0x1e0;const _0x571c51=a3_0x571c();let _0x5cdb07=_0x571c51[_0x40dc4a];return _0x5cdb07;}function buildRemoteAppI18nFields(_0x53f46c){const _0x383c0f=a3_0x26f05d,_0x44b83e=normalizeLanguages(_0x53f46c[_0x383c0f(0x1e7)]?.[_0x383c0f(0x226)]);return{'enableI18n':typeof _0x53f46c[_0x383c0f(0x1f8)]===_0x383c0f(0x1f6)?_0x53f46c[_0x383c0f(0x1f8)]:null,'languages':_0x44b83e,'i18nInfo':_0x53f46c[_0x383c0f(0x1e7)]?{..._0x53f46c['i18nInfo'],'langs':_0x44b83e['length']?_0x44b83e:null}:null};}const initDef={'service':a3_0x26f05d(0x207),'command':a3_0x26f05d(0x222),'description':a3_0x26f05d(0x208),'risk':a3_0x26f05d(0x219),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x41c90d){const _0x19c90c=a3_0x26f05d;return warnDeprecatedAppCommand(_0x19c90c(0x222),CLI_BIN_NAME+_0x19c90c(0x20d)),await runInit(collectFlags(_0x41c90d,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x26f05d(0x207),'command':'list','description':a3_0x26f05d(0x1e3),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x26f05d(0x229),'type':a3_0x26f05d(0x21f),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x26f05d(0x227),'type':'boolean','description':a3_0x26f05d(0x216),'default':![]},{'name':a3_0x26f05d(0x20c),'type':a3_0x26f05d(0x1f6),'description':a3_0x26f05d(0x205),'default':![]},{'name':a3_0x26f05d(0x1fd),'type':a3_0x26f05d(0x1f6),'description':a3_0x26f05d(0x1f4),'default':![]}],async 'execute'(_0x1d8dfd){const _0x35d26c=a3_0x26f05d,_0xa7de3a=_0x1d8dfd['str']('env')||_0x1d8dfd['envName']||getEnv()||_0x35d26c(0x1e0),_0x5a0968=_0x1d8dfd[_0x35d26c(0x202)](_0x35d26c(0x227)),_0x42aec4=_0x1d8dfd['bool']('no-cache'),_0x48e756=_0x1d8dfd[_0x35d26c(0x202)](_0x35d26c(0x1fd)),{readRawConfigWithLayers:_0x22ca45,resolveDefaultAppSource:_0x1a051c,getLocalAppAliases:_0x257b6f}=await import(_0x35d26c(0x211)),{getRemoteAppList:_0x614180}=await import(_0x35d26c(0x22d)),{config:_0x176a81,layers:_0x15b20d}=_0x22ca45(),_0x18812b=_0x1a051c(_0x15b20d),{defaultApp:_0x16cb79}=_0x176a81,_0x426dca=await _0x614180({'env':_0xa7de3a,'accessKey':_0x1d8dfd[_0x35d26c(0x20b)],'localOnly':_0x5a0968,'noCache':_0x42aec4}),_0x5b785e=_0x48e756?_0x426dca[_0x35d26c(0x1fe)]:filterRuntimeAccessibleApps(_0x426dca[_0x35d26c(0x1fe)]),_0x568412=_0x426dca[_0x35d26c(0x1fe)][_0x35d26c(0x217)]-_0x5b785e[_0x35d26c(0x217)],_0x202967=_0x5b785e[_0x35d26c(0x212)](_0x7c2efb=>{const _0x3d9f9d=_0x35d26c;return{'name':_0x7c2efb[_0x3d9f9d(0x22f)],'appcode':_0x7c2efb['appCode'],'named':!![],'definedIn':_0x3d9f9d(0x1f9),'isDefault':_0x7c2efb[_0x3d9f9d(0x22f)]===_0x16cb79,...buildAppProfileListFields(_0xa7de3a),...buildRemoteAppI18nFields(_0x7c2efb),'source':_0x426dca[_0x3d9f9d(0x20e)],'owner':_0x7c2efb[_0x3d9f9d(0x22b)]??null,'status':_0x7c2efb[_0x3d9f9d(0x218)]??null,'cachedAt':_0x426dca['fetchedAt']};}),_0x13f9c1=_0x257b6f(_0x176a81);let _0x5a0404=0x0;for(const [_0x328051,_0x7e95e6]of Object['entries'](_0x13f9c1)){const _0x1867eb=typeof _0x7e95e6[_0x35d26c(0x206)]===_0x35d26c(0x21f)?_0x7e95e6['appcode']['trim']():'';if(!_0x1867eb)continue;const _0x5583ec=findAppByCode(_0x426dca[_0x35d26c(0x1fe)],_0x1867eb);if(!_0x48e756&&_0x5583ec&&!isRuntimeAccessibleApp(_0x5583ec))continue;_0x5a0404+=0x1,_0x202967[_0x35d26c(0x231)]({'name':_0x328051,'appcode':_0x1867eb,'named':!![],'definedIn':_0x35d26c(0x227),'isDefault':_0x328051===_0x16cb79,...buildAppProfileListFields(_0xa7de3a),'source':_0x35d26c(0x228),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x202967,_0x1d8dfd[_0x35d26c(0x1f2)]);const _0x42894a=_0x202967[_0x35d26c(0x1e1)](_0xbe3916=>_0xbe3916['isCurrent']===!![]),_0x106938=_0x16cb79??_0x42894a?.[_0x35d26c(0x22e)]??null,_0x8bf365={'env':_0xa7de3a,'source':_0x426dca[_0x35d26c(0x20e)],'fetchedAt':_0x426dca['fetchedAt'],'cachePath':_0x426dca[_0x35d26c(0x234)],'globalPath':_0x15b20d['globalPath']??null,'projectPath':_0x15b20d[_0x35d26c(0x1ee)]??null,'defaultApp':_0x106938,'defaultAppSource':_0x16cb79!=null?_0x18812b:null,'localAliasCount':_0x5a0404,'remoteTotal':_0x426dca['items']['length'],'hiddenUnpublishedCount':_0x568412,'includeUnpublished':_0x48e756};if(_0x202967['length']===0x0)return{'ok':!![],'data':{'items':_0x202967,'meta':_0x8bf365},'message':_0x426dca[_0x35d26c(0x20e)]===_0x35d26c(0x223)?_0x35d26c(0x21c):'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x202967,'meta':_0x8bf365}};}},pullDef={'service':'app','command':'pull','description':a3_0x26f05d(0x1ea),'risk':a3_0x26f05d(0x219),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x26f05d(0x229),'type':a3_0x26f05d(0x21f),'description':a3_0x26f05d(0x1f7),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x26f05d(0x227),'type':a3_0x26f05d(0x1f6),'description':a3_0x26f05d(0x1fa),'default':![]},{'name':a3_0x26f05d(0x20c),'type':a3_0x26f05d(0x1f6),'description':a3_0x26f05d(0x205),'default':![]}],async 'execute'(_0x5ee8f1){const _0x3892c7=a3_0x26f05d,_0xc3366e=_0x5ee8f1[_0x3892c7(0x1ec)](_0x3892c7(0x229))||_0x5ee8f1['envName']||getEnv()||_0x3892c7(0x1e0),_0x4a74e3=_0x5ee8f1[_0x3892c7(0x202)](_0x3892c7(0x227)),_0x5b9fbf=_0x5ee8f1[_0x3892c7(0x202)]('no-cache'),{getRemoteAppList:_0x3ca946}=await import(_0x3892c7(0x22d)),_0x599e6e=await _0x3ca946({'env':_0xc3366e,'accessKey':_0x5ee8f1[_0x3892c7(0x20b)],'localOnly':_0x4a74e3,'noCache':_0x5b9fbf});return{'ok':!![],'data':{'total':_0x599e6e[_0x3892c7(0x1fe)][_0x3892c7(0x217)],'env':_0xc3366e,'source':_0x599e6e[_0x3892c7(0x20e)],'fetchedAt':_0x599e6e['fetchedAt'],'cachePath':_0x599e6e[_0x3892c7(0x234)]},'message':_0x599e6e['source']===_0x3892c7(0x223)?_0x3892c7(0x1e9)+_0x599e6e[_0x3892c7(0x1fe)][_0x3892c7(0x217)]+_0x3892c7(0x20f)+_0xc3366e+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x599e6e[_0x3892c7(0x1fe)][_0x3892c7(0x217)]+'\x20app(s)\x20for\x20env=\x22'+_0xc3366e+'\x22.'};}},useDef={'service':'app','command':'use','description':a3_0x26f05d(0x21a),'risk':a3_0x26f05d(0x219),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x26f05d(0x22e),'description':'Remote\x20app\x20name\x20to\x20activate','required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x31e31d){const _0x42d65d=a3_0x26f05d;if(!_0x31e31d['args'][0x0])throw CliErrors[_0x42d65d(0x1f5)](_0x42d65d(0x210),'Usage:\x20'+CLI_BIN_NAME+_0x42d65d(0x1e8));},async 'execute'(_0x2cecd2){const _0x2fba5f=a3_0x26f05d;warnDeprecatedAppCommand(_0x2fba5f(0x1e4),CLI_BIN_NAME+_0x2fba5f(0x200));const _0x10aabd=_0x2cecd2[_0x2fba5f(0x22a)][0x0];if(!_0x10aabd)throw CliErrors[_0x2fba5f(0x1f5)](_0x2fba5f(0x210),_0x2fba5f(0x225)+CLI_BIN_NAME+_0x2fba5f(0x1e8));const {buildConfigFromFlags:_0x2b514a,resolveLocalAppAliasCode:_0x56aec5}=await import(_0x2fba5f(0x211)),{readCachedAppList:_0x2b9e8e}=await import(_0x2fba5f(0x203)),_0x3806d9=_0x2cecd2[_0x2fba5f(0x1ec)]('env'),_0x5b86a5=_0x2b514a(_0x3806d9?{'env':_0x3806d9}:{}),_0x293d01=_0x2b9e8e(_0x5b86a5[_0x2fba5f(0x229)],_0x5b86a5[_0x2fba5f(0x20b)]),_0x350b4d=_0x293d01?.[_0x2fba5f(0x1fe)][_0x2fba5f(0x1e1)](_0x2384c8=>_0x2384c8['appName']===_0x10aabd),_0x521551=_0x56aec5(_0x5b86a5[_0x2fba5f(0x1f1)]??{},_0x10aabd);if(_0x350b4d&&!isRuntimeAccessibleApp(_0x350b4d))throw runtimeInaccessibleAppError(_0x350b4d,'\x22'+_0x10aabd+'\x22');if(_0x521551){const _0x498731=_0x293d01?.[_0x2fba5f(0x1fe)]['find'](_0x24f7d2=>_0x24f7d2['appCode']?.[_0x2fba5f(0x1ff)]()===_0x521551);if(_0x498731&&!isRuntimeAccessibleApp(_0x498731))throw runtimeInaccessibleAppError(_0x498731,'\x22'+_0x10aabd+'\x22');}if(!_0x350b4d&&!_0x521551&&_0x5b86a5['defaultApp']!==_0x10aabd){const _0x5a9c68=[..._0x293d01?.[_0x2fba5f(0x1fe)][_0x2fba5f(0x212)](_0x5dffa4=>_0x5dffa4[_0x2fba5f(0x22f)])??[]],_0x3040b1=_0x5a9c68[_0x2fba5f(0x217)]===0x0?_0x2fba5f(0x1ef)+CLI_BIN_NAME+_0x2fba5f(0x21e)+_0x10aabd+_0x2fba5f(0x1e5):_0x2fba5f(0x1ed)+Array['from'](new Set(_0x5a9c68))[_0x2fba5f(0x213)](',\x20')+_0x2fba5f(0x230);throw CliErrors['validation'](_0x2fba5f(0x1f0)+_0x10aabd+_0x2fba5f(0x1fc),_0x3040b1);}const _0x3d84ce=_0x2cecd2[_0x2fba5f(0x202)](_0x2fba5f(0x201));let _0x3fc99a;if(_0x3d84ce)_0x3fc99a={'global':!![]};else{const {isInProject:_0x3dbf84}=await import(_0x2fba5f(0x211)),_0x5e202e=_0x3dbf84();_0x3fc99a=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x2fba5f(0x1eb),'inProject':_0x5e202e}));}const _0xda8a49=readConfig(_0x3fc99a);return _0xda8a49[_0x2fba5f(0x220)]=_0x10aabd,writeConfig(_0xda8a49,_0x3fc99a),{'ok':!![],'message':_0x2fba5f(0x209)+_0x10aabd+'\x22'+scopeLabel(_0x3fc99a)+'.'};}};function warnDeprecatedAppCommand(_0x2a0f7c,_0x37c7bb){const _0x251d9c=a3_0x26f05d;console['warn'](CLI_BIN_NAME+_0x251d9c(0x20a)+_0x2a0f7c+'\x20is\x20deprecated.\x20Use\x20`'+_0x37c7bb+'`\x20instead.');}const importDef={'service':a3_0x26f05d(0x207),'command':a3_0x26f05d(0x224),'description':a3_0x26f05d(0x214),'risk':a3_0x26f05d(0x219),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x305789){return await runInitImport(collectFlags(_0x305789,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x851a96=a3_0x201e;(function(_0x4e5e78,_0x3573d4){const _0x365385=a3_0x201e,_0x24a0f0=_0x4e5e78();while(!![]){try{const _0x3ca80c=parseInt(_0x365385(0x190))/0x1+-parseInt(_0x365385(0x175))/0x2*(-parseInt(_0x365385(0x183))/0x3)+parseInt(_0x365385(0x1a3))/0x4*(-parseInt(_0x365385(0x161))/0x5)+-parseInt(_0x365385(0x14f))/0x6*(parseInt(_0x365385(0x17a))/0x7)+parseInt(_0x365385(0x17c))/0x8*(-parseInt(_0x365385(0x15d))/0x9)+parseInt(_0x365385(0x18f))/0xa*(-parseInt(_0x365385(0x19c))/0xb)+-parseInt(_0x365385(0x171))/0xc*(-parseInt(_0x365385(0x185))/0xd);if(_0x3ca80c===_0x3573d4)break;else _0x24a0f0['push'](_0x24a0f0['shift']());}catch(_0x4d9532){_0x24a0f0['push'](_0x24a0f0['shift']());}}}(a3_0x2b75,0xdefa0));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';function a3_0x2b75(){const _0x3820ec=['enableI18n','Read\x20app\x20list\x20from\x20local\x20cache\x20only','appName','`\x20instead.','map','2263404vKtfGe','warn','Remote\x20app\x20name\x20to\x20activate','projectPath','source','.appcode\x20to\x20.lovrabet.json.','length','mergedCli','validation','raw','appPublishStatus','name','10086918wUGWUt','\x20cached\x20app(s)\x20for\x20env=\x22','string','Missing\x20app\x20name.','\x22\x20not\x20found.','project-default','join','init','str','\x20app(s)\x20for\x20env=\x22','Default\x20app\x20candidate\x20set\x20to\x20\x22','use','find','fetchedAt','460665iNcrWc','\x20app\x20','Include\x20unpublished\x20apps\x20for\x20diagnostics','App\x20\x22','15XONFmc','no-cache','envName','nonInteractive','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','../../commands/app/remote-source.js','No\x20cached\x20apps\x20found.','production','Available\x20remote\x20apps:\x20','appCode','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','globalPath','accessKey','langs','bool','288NHrejz','\x20is\x20deprecated.\x20Use\x20`','defaultApp','Refreshed\x20app\x20cache\x20with\x20','2rqjuxf','global','list','env','\x20app\x20use\x20<name>\x20[--global]','7FYwnEf','Read\x20from\x20local\x20cache\x20only','216uNQPen','cache','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','appcode','cachePath','entries','539313nNxAmP','boolean','3553199EkdxEq','local','write','import','Target\x20environment\x20(default:\x20current\x20env)','filter','Loaded\x20','trim','app','from','50UAqtqi','310615gnkPqH','i18nInfo','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','../../context.js','isArray','config','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','args','include-unpublished','appOwnerName','Usage:\x20','3027475spyLvU','items'];a3_0x2b75=function(){return _0x3820ec;};return a3_0x2b75();}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x851a96(0x176),'type':a3_0x851a96(0x184),'description':'Use\x20global\x20config\x20scope','default':![]};function collectFlags(_0xfc30f8,_0x411df2){const _0x12a2bd=a3_0x851a96,_0x46caab={};for(const _0x273411 of _0x411df2){const _0x301f09=_0x273411['type']==='boolean'?_0xfc30f8[_0x12a2bd(0x170)](_0x273411[_0x12a2bd(0x14e)]):_0xfc30f8[_0x12a2bd(0x157)](_0x273411[_0x12a2bd(0x14e)]);if(_0x301f09!==''&&_0x301f09!==![])_0x46caab[_0x273411[_0x12a2bd(0x14e)]]=_0x301f09;}if(_0xfc30f8[_0x12a2bd(0x164)])_0x46caab[_0x12a2bd(0x164)]=!![];return _0x46caab;}function normalizeLanguages(_0x455180){const _0x366b17=a3_0x851a96;if(!Array[_0x366b17(0x195)](_0x455180))return[];return _0x455180[_0x366b17(0x18a)](_0x11a96f=>typeof _0x11a96f===_0x366b17(0x151))[_0x366b17(0x1a2)](_0x5e4ff6=>_0x5e4ff6[_0x366b17(0x18c)]())[_0x366b17(0x18a)](Boolean);}function buildRemoteAppI18nFields(_0x5ec7d3){const _0x462705=a3_0x851a96,_0x2600e7=normalizeLanguages(_0x5ec7d3[_0x462705(0x191)]?.[_0x462705(0x16f)]);return{'enableI18n':typeof _0x5ec7d3[_0x462705(0x19e)]===_0x462705(0x184)?_0x5ec7d3[_0x462705(0x19e)]:null,'languages':_0x2600e7,'i18nInfo':_0x5ec7d3[_0x462705(0x191)]?{..._0x5ec7d3[_0x462705(0x191)],'langs':_0x2600e7['length']?_0x2600e7:null}:null};}const initDef={'service':a3_0x851a96(0x18d),'command':a3_0x851a96(0x156),'description':a3_0x851a96(0x165),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x1688de){const _0x5bf20a=a3_0x851a96;return warnDeprecatedAppCommand(_0x5bf20a(0x156),CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]'),await runInit(collectFlags(_0x1688de,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':'app','command':a3_0x851a96(0x177),'description':a3_0x851a96(0x16b),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x851a96(0x178),'type':a3_0x851a96(0x151),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':a3_0x851a96(0x19f),'default':![]},{'name':a3_0x851a96(0x162),'type':a3_0x851a96(0x184),'description':a3_0x851a96(0x17f),'default':![]},{'name':'include-unpublished','type':a3_0x851a96(0x184),'description':a3_0x851a96(0x15f),'default':![]}],async 'execute'(_0x168fe9){const _0x534279=a3_0x851a96,_0x5ce009=_0x168fe9[_0x534279(0x157)](_0x534279(0x178))||_0x168fe9[_0x534279(0x163)]||getEnv()||_0x534279(0x168),_0x41b81e=_0x168fe9['bool'](_0x534279(0x186)),_0xe1d249=_0x168fe9[_0x534279(0x170)](_0x534279(0x162)),_0x56299b=_0x168fe9[_0x534279(0x170)](_0x534279(0x199)),{readRawConfigWithLayers:_0x456331,resolveDefaultAppSource:_0x4eea11,getLocalAppAliases:_0x4572df}=await import('../../context.js'),{getRemoteAppList:_0x565554}=await import(_0x534279(0x166)),{config:_0x3bf193,layers:_0x9d5b7c}=_0x456331(),_0x553a22=_0x4eea11(_0x9d5b7c),{defaultApp:_0x756b38}=_0x3bf193,_0xdd630d=await _0x565554({'env':_0x5ce009,'accessKey':_0x168fe9['accessKey'],'localOnly':_0x41b81e,'noCache':_0xe1d249}),_0x52fc32=_0x56299b?_0xdd630d[_0x534279(0x19d)]:filterRuntimeAccessibleApps(_0xdd630d['items']),_0x21f68b=_0xdd630d['items'][_0x534279(0x1a9)]-_0x52fc32[_0x534279(0x1a9)],_0x27bd66=_0x52fc32['map'](_0x35cb47=>{const _0x1fe4a4=_0x534279;return{'name':_0x35cb47[_0x1fe4a4(0x1a0)],'appcode':_0x35cb47['appCode'],'named':!![],'definedIn':'remote','isDefault':_0x35cb47[_0x1fe4a4(0x1a0)]===_0x756b38,...buildAppProfileListFields(_0x5ce009),...buildRemoteAppI18nFields(_0x35cb47),'source':_0xdd630d[_0x1fe4a4(0x1a7)],'owner':_0x35cb47[_0x1fe4a4(0x19a)]??null,'status':_0x35cb47[_0x1fe4a4(0x14d)]??null,'cachedAt':_0xdd630d[_0x1fe4a4(0x15c)]};}),_0x3a05e1=_0x4572df(_0x3bf193);let _0x443db3=0x0;for(const [_0xf53d15,_0x310436]of Object[_0x534279(0x182)](_0x3a05e1)){const _0x3172af=typeof _0x310436[_0x534279(0x180)]===_0x534279(0x151)?_0x310436['appcode'][_0x534279(0x18c)]():'';if(!_0x3172af)continue;const _0x3a5908=findAppByCode(_0xdd630d[_0x534279(0x19d)],_0x3172af);if(!_0x56299b&&_0x3a5908&&!isRuntimeAccessibleApp(_0x3a5908))continue;_0x443db3+=0x1,_0x27bd66['push']({'name':_0xf53d15,'appcode':_0x3172af,'named':!![],'definedIn':_0x534279(0x186),'isDefault':_0xf53d15===_0x756b38,...buildAppProfileListFields(_0x5ce009),'source':_0x534279(0x196),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x27bd66,_0x168fe9[_0x534279(0x14a)]);const _0xbc15f2=_0x27bd66[_0x534279(0x15b)](_0x1b21a8=>_0x1b21a8['isCurrent']===!![]),_0x2181fb=_0x756b38??_0xbc15f2?.[_0x534279(0x14e)]??null,_0x5308c3={'env':_0x5ce009,'source':_0xdd630d['source'],'fetchedAt':_0xdd630d[_0x534279(0x15c)],'cachePath':_0xdd630d['cachePath'],'globalPath':_0x9d5b7c[_0x534279(0x16d)]??null,'projectPath':_0x9d5b7c[_0x534279(0x1a6)]??null,'defaultApp':_0x2181fb,'defaultAppSource':_0x756b38!=null?_0x553a22:null,'localAliasCount':_0x443db3,'remoteTotal':_0xdd630d[_0x534279(0x19d)]['length'],'hiddenUnpublishedCount':_0x21f68b,'includeUnpublished':_0x56299b};if(_0x27bd66[_0x534279(0x1a9)]===0x0)return{'ok':!![],'data':{'items':_0x27bd66,'meta':_0x5308c3},'message':_0xdd630d['source']==='cache'?_0x534279(0x167):'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x27bd66,'meta':_0x5308c3}};}},pullDef={'service':a3_0x851a96(0x18d),'command':'pull','description':a3_0x851a96(0x17e),'risk':a3_0x851a96(0x187),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x851a96(0x178),'type':a3_0x851a96(0x151),'description':a3_0x851a96(0x189),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':a3_0x851a96(0x17b),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x851a96(0x17f),'default':![]}],async 'execute'(_0x10b61e){const _0x39822=a3_0x851a96,_0x48cebb=_0x10b61e['str'](_0x39822(0x178))||_0x10b61e[_0x39822(0x163)]||getEnv()||_0x39822(0x168),_0x228369=_0x10b61e[_0x39822(0x170)](_0x39822(0x186)),_0x4d5935=_0x10b61e[_0x39822(0x170)]('no-cache'),{getRemoteAppList:_0x409269}=await import(_0x39822(0x166)),_0x37141d=await _0x409269({'env':_0x48cebb,'accessKey':_0x10b61e[_0x39822(0x16e)],'localOnly':_0x228369,'noCache':_0x4d5935});return{'ok':!![],'data':{'total':_0x37141d[_0x39822(0x19d)][_0x39822(0x1a9)],'env':_0x48cebb,'source':_0x37141d[_0x39822(0x1a7)],'fetchedAt':_0x37141d[_0x39822(0x15c)],'cachePath':_0x37141d[_0x39822(0x181)]},'message':_0x37141d['source']===_0x39822(0x17d)?_0x39822(0x18b)+_0x37141d[_0x39822(0x19d)]['length']+_0x39822(0x150)+_0x48cebb+'\x22.':_0x39822(0x174)+_0x37141d[_0x39822(0x19d)]['length']+_0x39822(0x158)+_0x48cebb+'\x22.'};}},useDef={'service':a3_0x851a96(0x18d),'command':a3_0x851a96(0x15a),'description':a3_0x851a96(0x16c),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':a3_0x851a96(0x1a5),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x2c8340){const _0x53ab77=a3_0x851a96;if(!_0x2c8340[_0x53ab77(0x198)][0x0])throw CliErrors[_0x53ab77(0x14b)](_0x53ab77(0x152),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');},async 'execute'(_0x1af51a){const _0x2271c6=a3_0x851a96;warnDeprecatedAppCommand(_0x2271c6(0x15a),CLI_BIN_NAME+_0x2271c6(0x192));const _0x3ea4f7=_0x1af51a[_0x2271c6(0x198)][0x0];if(!_0x3ea4f7)throw CliErrors[_0x2271c6(0x14b)](_0x2271c6(0x152),_0x2271c6(0x19b)+CLI_BIN_NAME+_0x2271c6(0x179));const {buildConfigFromFlags:_0x4282f1,resolveLocalAppAliasCode:_0x1d7d45}=await import(_0x2271c6(0x194)),{readCachedAppList:_0x108c0a}=await import('../../commands/app/cache.js'),_0x106f20=_0x1af51a[_0x2271c6(0x157)]('env'),_0x2501b4=_0x4282f1(_0x106f20?{'env':_0x106f20}:{}),_0x1516d9=_0x108c0a(_0x2501b4[_0x2271c6(0x178)],_0x2501b4['accessKey']),_0x36a5de=_0x1516d9?.[_0x2271c6(0x19d)]['find'](_0x31fc26=>_0x31fc26[_0x2271c6(0x1a0)]===_0x3ea4f7),_0x493b7d=_0x1d7d45(_0x2501b4[_0x2271c6(0x14c)]??{},_0x3ea4f7);if(_0x36a5de&&!isRuntimeAccessibleApp(_0x36a5de))throw runtimeInaccessibleAppError(_0x36a5de,'\x22'+_0x3ea4f7+'\x22');if(_0x493b7d){const _0x37faab=_0x1516d9?.[_0x2271c6(0x19d)][_0x2271c6(0x15b)](_0x541a10=>_0x541a10[_0x2271c6(0x16a)]?.[_0x2271c6(0x18c)]()===_0x493b7d);if(_0x37faab&&!isRuntimeAccessibleApp(_0x37faab))throw runtimeInaccessibleAppError(_0x37faab,'\x22'+_0x3ea4f7+'\x22');}if(!_0x36a5de&&!_0x493b7d&&_0x2501b4[_0x2271c6(0x173)]!==_0x3ea4f7){const _0xdc7a2=[..._0x1516d9?.[_0x2271c6(0x19d)][_0x2271c6(0x1a2)](_0xfbf477=>_0xfbf477[_0x2271c6(0x1a0)])??[]],_0xd7248c=_0xdc7a2[_0x2271c6(0x1a9)]===0x0?'Use\x20`'+CLI_BIN_NAME+'\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.'+_0x3ea4f7+_0x2271c6(0x1a8):_0x2271c6(0x169)+Array[_0x2271c6(0x18e)](new Set(_0xdc7a2))[_0x2271c6(0x155)](',\x20')+_0x2271c6(0x193);throw CliErrors['validation'](_0x2271c6(0x160)+_0x3ea4f7+_0x2271c6(0x153),_0xd7248c);}const _0x106b90=_0x1af51a[_0x2271c6(0x170)](_0x2271c6(0x176));let _0x58239b;if(_0x106b90)_0x58239b={'global':!![]};else{const {isInProject:_0x247f0c}=await import('../../context.js'),_0x110403=_0x247f0c();_0x58239b=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x2271c6(0x154),'inProject':_0x110403}));}const _0x40427e=readConfig(_0x58239b);return _0x40427e[_0x2271c6(0x173)]=_0x3ea4f7,writeConfig(_0x40427e,_0x58239b),{'ok':!![],'message':_0x2271c6(0x159)+_0x3ea4f7+'\x22'+scopeLabel(_0x58239b)+'.'};}};function warnDeprecatedAppCommand(_0xe1da4e,_0x2ff470){const _0x469713=a3_0x851a96;console[_0x469713(0x1a4)](CLI_BIN_NAME+_0x469713(0x15e)+_0xe1da4e+_0x469713(0x172)+_0x2ff470+_0x469713(0x1a1));}const importDef={'service':a3_0x851a96(0x18d),'command':a3_0x851a96(0x188),'description':a3_0x851a96(0x197),'risk':a3_0x851a96(0x187),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x486a18){return await runInitImport(collectFlags(_0x486a18,initImportFlagDefs)),{'ok':!![]};}};function a3_0x201e(_0xec8342,_0x2686e6){_0xec8342=_0xec8342-0x14a;const _0x2b7533=a3_0x2b75();let _0x201e0f=_0x2b7533[_0xec8342];return _0x201e0f;}export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1559db,_0x3e2889){const _0x360087=a4_0x2c95,_0x5703f0=_0x1559db();while(!![]){try{const _0x1b665e=-parseInt(_0x360087(0x164))/0x1*(parseInt(_0x360087(0x15e))/0x2)+-parseInt(_0x360087(0x156))/0x3+-parseInt(_0x360087(0x158))/0x4+parseInt(_0x360087(0x153))/0x5*(parseInt(_0x360087(0x154))/0x6)+-parseInt(_0x360087(0x161))/0x7+parseInt(_0x360087(0x165))/0x8+parseInt(_0x360087(0x155))/0x9;if(_0x1b665e===_0x3e2889)break;else _0x5703f0['push'](_0x5703f0['shift']());}catch(_0x3bf021){_0x5703f0['push'](_0x5703f0['shift']());}}}(a4_0x3a8d,0xcd269));import{CLI_BIN_NAME}from'../../constant/cli.js';function a4_0x2c95(_0x2a6d03,_0x3aa17b){_0x2a6d03=_0x2a6d03-0x153;const _0x3a8dee=a4_0x3a8d();let _0x2c95d4=_0x3a8dee[_0x2a6d03];return _0x2c95d4;}import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x1f7cd3){const _0x3d61e4=a4_0x2c95;if(typeof _0x1f7cd3!==_0x3d61e4(0x159))return null;const _0x1eb395=_0x1f7cd3[_0x3d61e4(0x15b)]();return _0x1eb395?_0x1eb395['toUpperCase']():null;}export function isRuntimeAccessibleApp(_0x11888d){const _0x365aa7=a4_0x2c95;return normalizeAppPublishStatus(_0x11888d[_0x365aa7(0x15c)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x1d6487){return _0x1d6487['filter'](isRuntimeAccessibleApp);}export function findAppByName(_0x3dff77,_0x1df09d){const _0x2b4e65=a4_0x2c95;return _0x3dff77[_0x2b4e65(0x160)](_0x11597e=>_0x11597e['appName']===_0x1df09d);}function a4_0x3a8d(){const _0x3164be=['6QrpkHR','23244876uEaeqb','2308839aSfoTP','validation','514040xuiiRL','string','Current\x20status:\x20','trim','appPublishStatus','.\x20Publish\x20the\x20app\x20before\x20using\x20','20UFkUsh','App\x20','find','11686640yVdqVl','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','90918yUVdLG','12240840EwDKRL','1021255kftOpi'];a4_0x3a8d=function(){return _0x3164be;};return a4_0x3a8d();}export function findAppByCode(_0x3175a8,_0x42ea17){const _0x1bb1b1=a4_0x2c95,_0x1f229b=_0x42ea17[_0x1bb1b1(0x15b)]();if(!_0x1f229b)return undefined;return _0x3175a8[_0x1bb1b1(0x160)](_0x154f47=>_0x154f47['appCode']?.[_0x1bb1b1(0x15b)]()===_0x1f229b);}export function runtimeInaccessibleAppError(_0x2d817a,_0x2a86d6){const _0x529b1c=a4_0x2c95,_0x598c0a=normalizeAppPublishStatus(_0x2d817a[_0x529b1c(0x15c)])??'UNKNOWN';return CliErrors[_0x529b1c(0x157)](_0x529b1c(0x15f)+_0x2a86d6+_0x529b1c(0x163),_0x529b1c(0x15a)+_0x598c0a+_0x529b1c(0x15d)+CLI_BIN_NAME+_0x529b1c(0x162));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x1201(){const _0x397c32=['70LPyMgs','6595304TJsLZt','success','2033019rvzDCG','641043kLDvma','33783rZuUsz','2390135FKdBww','errorCode','../../../mock/app-list.json','parse','Mock\x20API\x20error:\x20','20suhImR','173454YeqxlQ','161eiYqvS','utf-8','data','tableData','4734389PPGxUp','4FnHyWv'];a5_0x1201=function(){return _0x397c32;};return a5_0x1201();}(function(_0x3735c8,_0x491a24){const _0x7f344=a5_0x2c6f,_0x3148fc=_0x3735c8();while(!![]){try{const _0x1721e3=-parseInt(_0x7f344(0xa6))/0x1*(parseInt(_0x7f344(0xac))/0x2)+-parseInt(_0x7f344(0xa4))/0x3+parseInt(_0x7f344(0xa0))/0x4*(parseInt(_0x7f344(0xa7))/0x5)+parseInt(_0x7f344(0xad))/0x6*(-parseInt(_0x7f344(0xae))/0x7)+parseInt(_0x7f344(0xa2))/0x8+parseInt(_0x7f344(0xa5))/0x9*(parseInt(_0x7f344(0xa1))/0xa)+parseInt(_0x7f344(0x9f))/0xb;if(_0x1721e3===_0x491a24)break;else _0x3148fc['push'](_0x3148fc['shift']());}catch(_0x4e1d9b){_0x3148fc['push'](_0x3148fc['shift']());}}}(a5_0x1201,0x8686a));import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x2c6f(_0x2e5cc1,_0x42e760){_0x2e5cc1=_0x2e5cc1-0x9f;const _0x120180=a5_0x1201();let _0x2c6fd7=_0x120180[_0x2e5cc1];return _0x2c6fd7;}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x355423=a5_0x2c6f,_0x4b6070=join(__dirname,_0x355423(0xa9)),_0x309b4e=readFileSync(_0x4b6070,_0x355423(0xaf));return JSON[_0x355423(0xaa)](_0x309b4e);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x588ad8=a5_0x2c6f,_0x428191=getMockAppList();if(!_0x428191[_0x588ad8(0xa3)])throw new Error(_0x588ad8(0xab)+_0x428191['errorMsg']+'\x20('+_0x428191[_0x588ad8(0xa8)]+')');return _0x428191[_0x588ad8(0xb0)][_0x588ad8(0xb1)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x19c3(_0x35cefb,_0x10444b){_0x35cefb=_0x35cefb-0x1d7;const _0xc4848b=a6_0xc484();let _0x19c3d1=_0xc4848b[_0x35cefb];return _0x19c3d1;}(function(_0x3b81d3,_0x314369){const _0x392249=a6_0x19c3,_0x16a832=_0x3b81d3();while(!![]){try{const _0x4ba43e=parseInt(_0x392249(0x1e4))/0x1*(parseInt(_0x392249(0x1e8))/0x2)+-parseInt(_0x392249(0x1e6))/0x3+-parseInt(_0x392249(0x1df))/0x4+parseInt(_0x392249(0x1d9))/0x5*(-parseInt(_0x392249(0x1e7))/0x6)+-parseInt(_0x392249(0x1da))/0x7+-parseInt(_0x392249(0x1e2))/0x8*(-parseInt(_0x392249(0x1e5))/0x9)+-parseInt(_0x392249(0x1dc))/0xa*(-parseInt(_0x392249(0x1e3))/0xb);if(_0x4ba43e===_0x314369)break;else _0x16a832['push'](_0x16a832['shift']());}catch(_0x3d858c){_0x16a832['push'](_0x16a832['shift']());}}}(a6_0xc484,0x98d62));function a6_0xc484(){const _0x20f28d=['2286153XkHskw','138zPBxPT','7534iQMPDA','remote','trim','cache','APP_LIST_SOURCE','110395PKGLAn','1659623gkwIhv','toLowerCase','10sxmiJw','items','mock','1696856tLbIWr','fetchedAt','toISOString','9058984faSsIf','8504375bCeZtD','173IAmlAB','9cSJrYA'];a6_0xc484=function(){return _0x20f28d;};return a6_0xc484();}import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x54d951=a6_0x19c3,_0x2426ca=(productEnv(_0x54d951(0x1d8))||'')[_0x54d951(0x1ea)]()[_0x54d951(0x1db)]();return _0x2426ca===_0x54d951(0x1de);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x2c6e00){const _0x4093aa=a6_0x19c3,{env:_0x4af324,accessKey:_0x2f694a,localOnly:localOnly=![],noCache:noCache=![]}=_0x2c6e00,_0x22d3dc=readCachedAppList(_0x4af324,_0x2f694a),_0x282cfe=_0x2f694a?.[_0x4093aa(0x1ea)]()?getAppCacheFilePath(_0x4af324,_0x2f694a):null;if(localOnly)return{'items':_0x22d3dc?.[_0x4093aa(0x1dd)]??[],'source':_0x4093aa(0x1d7),'fetchedAt':_0x22d3dc?.[_0x4093aa(0x1e0)]??null,'cachePath':_0x282cfe};try{const _0x1578c7=await getRemoteAppItems(),_0x15c77=shouldUseMockRemoteApps()?'mock':_0x4093aa(0x1e9),_0x479be4=new Date()[_0x4093aa(0x1e1)](),_0x21f956=_0x2f694a?.[_0x4093aa(0x1ea)]()?writeCachedAppList(_0x4af324,_0x2f694a,{'env':_0x4af324,'fetchedAt':_0x479be4,'source':_0x15c77,'items':_0x1578c7}):null;return{'items':_0x1578c7,'source':_0x15c77,'fetchedAt':_0x479be4,'cachePath':_0x21f956};}catch(_0x276f12){if(!noCache&&_0x22d3dc)return{'items':_0x22d3dc[_0x4093aa(0x1dd)],'source':_0x4093aa(0x1d7),'fetchedAt':_0x22d3dc[_0x4093aa(0x1e0)],'cachePath':_0x282cfe};throw _0x276f12;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a7_0x3f99(_0x3a036b,_0x7c4c91){_0x3a036b=_0x3a036b-0x173;const _0x182f2c=a7_0x182f();let _0x3f9920=_0x182f2c[_0x3a036b];return _0x3f9920;}(function(_0x9209d,_0x38812d){const _0x474d77=a7_0x3f99,_0xe78e5f=_0x9209d();while(!![]){try{const _0x1e6973=parseInt(_0x474d77(0x183))/0x1+parseInt(_0x474d77(0x176))/0x2*(parseInt(_0x474d77(0x178))/0x3)+parseInt(_0x474d77(0x17b))/0x4*(parseInt(_0x474d77(0x180))/0x5)+parseInt(_0x474d77(0x184))/0x6+-parseInt(_0x474d77(0x185))/0x7*(-parseInt(_0x474d77(0x182))/0x8)+-parseInt(_0x474d77(0x187))/0x9*(parseInt(_0x474d77(0x17a))/0xa)+-parseInt(_0x474d77(0x17f))/0xb;if(_0x1e6973===_0x38812d)break;else _0xe78e5f['push'](_0xe78e5f['shift']());}catch(_0x1eb266){_0xe78e5f['push'](_0xe78e5f['shift']());}}}(a7_0x182f,0x850c8));import{CLI_BIN_NAME}from'../../constant/cli.js';import{formatScopeLabel}from'../../commands/common/config-policy.js';function a7_0x182f(){const _0x4d9a30=['name','28847258hnAWZz','2583365agukHs','local','8426936epbkHh','489106EHmfcW','6116808MIDqIA','7tFEqHt','appCode','2421nAVVst','global','trim','defaultApp','find','isCurrent','appcode','22UWyPJo','definedIn','52566PnEoni','currentApp','23070pIZzet','8jiYJDM','named','project'];a7_0x182f=function(){return _0x4d9a30;};return a7_0x182f();}export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0x240bb8,_0xe57b40){const _0x19e781=a7_0x3f99;if(!_0xe57b40)return;const _0x479c98=!!(_0xe57b40[_0x19e781(0x179)]??_0xe57b40[_0x19e781(0x18a)]);for(const _0x4ece95 of _0x240bb8){_0x4ece95['isCurrent']=![];}const _0x3681df=_0xe57b40['appCode']!=null?String(_0xe57b40[_0x19e781(0x186)])[_0x19e781(0x189)]():'';if(_0x479c98){const _0x29c322=_0xe57b40[_0x19e781(0x179)]??_0xe57b40[_0x19e781(0x18a)];if(_0x29c322){const _0x1f98df=_0x240bb8[_0x19e781(0x173)](_0x4a801d=>_0x4a801d['named']===!![]&&_0x4a801d[_0x19e781(0x17e)]===_0x29c322&&_0x4a801d[_0x19e781(0x177)]===_0x19e781(0x181)),_0x8da11c=_0x1f98df??_0x240bb8[_0x19e781(0x173)](_0x439840=>_0x439840[_0x19e781(0x17c)]===!![]&&_0x439840[_0x19e781(0x17e)]===_0x29c322);if(_0x8da11c){const _0xa91127=String(_0x8da11c[_0x19e781(0x175)]??'')['trim']();if(!_0x3681df||_0xa91127===_0x3681df){_0x8da11c[_0x19e781(0x174)]=!![];return;}}}if(_0x3681df){const _0x371180=_0x240bb8[_0x19e781(0x173)](_0x3dd339=>String(_0x3dd339[_0x19e781(0x175)]??'')['trim']()===_0x3681df);_0x371180&&(_0x371180['isCurrent']=!![]);}return;}if(!_0x3681df)return;for(const _0x594bce of _0x240bb8){String(_0x594bce['appcode']??'')[_0x19e781(0x189)]()===_0x3681df&&(_0x594bce[_0x19e781(0x174)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x5a5c75){const _0x552fb4=a7_0x3f99;return formatScopeLabel(_0x5a5c75[_0x552fb4(0x188)]?_0x552fb4(0x188):_0x552fb4(0x17d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x27ef66=a8_0x5277;function a8_0x545f(){const _0x37e22d=['Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','trim','21832iaCiwR','7YVjLDL','\x20app-config\x20get\x20<key>','396319ZbOlpZ','225981uIVhEU','Unable\x20to\x20get\x20app-config\x20value:\x20key=','12svoXhr','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','1926534kRwVFs','755zJACAt','20CCYsPT','validation','appCode','64347tehCPh',',\x20appCode=','App\x20config\x20key','read','1085634sZtpAS','get','1246760DVuIVB','apiError','36xKJYgf'];a8_0x545f=function(){return _0x37e22d;};return a8_0x545f();}(function(_0x1d9d73,_0x2611c8){const _0x536b77=a8_0x5277,_0x1bdd01=_0x1d9d73();while(!![]){try{const _0x44002d=parseInt(_0x536b77(0x16b))/0x1+-parseInt(_0x536b77(0x164))/0x2*(-parseInt(_0x536b77(0x15c))/0x3)+-parseInt(_0x536b77(0x167))/0x4*(-parseInt(_0x536b77(0x170))/0x5)+-parseInt(_0x536b77(0x16f))/0x6*(parseInt(_0x536b77(0x168))/0x7)+-parseInt(_0x536b77(0x162))/0x8+-parseInt(_0x536b77(0x160))/0x9*(parseInt(_0x536b77(0x171))/0xa)+-parseInt(_0x536b77(0x16a))/0xb*(-parseInt(_0x536b77(0x16d))/0xc);if(_0x44002d===_0x2611c8)break;else _0x1bdd01['push'](_0x1bdd01['shift']());}catch(_0xecb315){_0x1bdd01['push'](_0x1bdd01['shift']());}}}(a8_0x545f,0xb8190));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x5277(_0x2e9b22,_0xf7b86b){_0x2e9b22=_0x2e9b22-0x15c;const _0x545f45=a8_0x545f();let _0x527780=_0x545f45[_0x2e9b22];return _0x527780;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':'app-config','command':a8_0x27ef66(0x161),'description':a8_0x27ef66(0x16e),'risk':a8_0x27ef66(0x15f),'args':[{'name':'key','description':a8_0x27ef66(0x15e),'required':!![]}],'flags':[],async 'execute'(_0x3a1f31){const _0x1f7d8c=a8_0x27ef66,_0x5e85ae=_0x3a1f31['args'][0x0]?.[_0x1f7d8c(0x166)]();if(!_0x5e85ae)throw CliErrors[_0x1f7d8c(0x172)]('Missing\x20app-config\x20key.','Usage:\x20'+CLI_BIN_NAME+_0x1f7d8c(0x169));try{const _0x278854=await getRuntimeAppConfigByKey(_0x3a1f31[_0x1f7d8c(0x173)],_0x5e85ae);return{'ok':!![],'data':_0x278854};}catch{throw CliErrors[_0x1f7d8c(0x163)](_0x1f7d8c(0x16c)+_0x5e85ae+_0x1f7d8c(0x15d)+_0x3a1f31[_0x1f7d8c(0x173)],_0x1f7d8c(0x165));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a9_0x4d12(_0x5338ef,_0x287f95){_0x5338ef=_0x5338ef-0x169;const _0xd2502d=a9_0xd250();let _0x4d12bb=_0xd2502d[_0x5338ef];return _0x4d12bb;}(function(_0x5c9a33,_0x12bc28){const _0x4aeab6=a9_0x4d12,_0x587261=_0x5c9a33();while(!![]){try{const _0x53b222=-parseInt(_0x4aeab6(0x169))/0x1+-parseInt(_0x4aeab6(0x16b))/0x2*(-parseInt(_0x4aeab6(0x173))/0x3)+-parseInt(_0x4aeab6(0x171))/0x4*(-parseInt(_0x4aeab6(0x170))/0x5)+-parseInt(_0x4aeab6(0x16d))/0x6*(parseInt(_0x4aeab6(0x16f))/0x7)+-parseInt(_0x4aeab6(0x16c))/0x8*(parseInt(_0x4aeab6(0x174))/0x9)+-parseInt(_0x4aeab6(0x172))/0xa*(parseInt(_0x4aeab6(0x16a))/0xb)+parseInt(_0x4aeab6(0x16e))/0xc;if(_0x53b222===_0x12bc28)break;else _0x587261['push'](_0x587261['shift']());}catch(_0x122781){_0x587261['push'](_0x587261['shift']());}}}(a9_0xd250,0xc841f));import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0xd250(){const _0x2fcf26=['1063068prLDtU','24103656ohvXiF','14EYtGGA','2075435sTjbnn','12kXjYaI','205090udoGUl','117675ryjrLS','18jeSppA','830453xFUZoM','352YchvCo','34MyUUOF','5037488ZSbPQu'];a9_0xd250=function(){return _0x2fcf26;};return a9_0xd250();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0xe15a9b=a10_0x391e;function a10_0x391e(_0x4a60a6,_0x37195c){_0x4a60a6=_0x4a60a6-0xf0;const _0x1473c1=a10_0x1473();let _0x391ee7=_0x1473c1[_0x4a60a6];return _0x391ee7;}(function(_0x17a535,_0x1c0a41){const _0x51966d=a10_0x391e,_0x363170=_0x17a535();while(!![]){try{const _0x247d44=-parseInt(_0x51966d(0x100))/0x1*(-parseInt(_0x51966d(0x12b))/0x2)+-parseInt(_0x51966d(0xf4))/0x3*(parseInt(_0x51966d(0x145))/0x4)+-parseInt(_0x51966d(0x111))/0x5*(parseInt(_0x51966d(0x11e))/0x6)+parseInt(_0x51966d(0x13d))/0x7*(-parseInt(_0x51966d(0x123))/0x8)+-parseInt(_0x51966d(0xfa))/0x9*(-parseInt(_0x51966d(0xfb))/0xa)+parseInt(_0x51966d(0x144))/0xb*(-parseInt(_0x51966d(0x134))/0xc)+parseInt(_0x51966d(0xf2))/0xd*(parseInt(_0x51966d(0x138))/0xe);if(_0x247d44===_0x1c0a41)break;else _0x363170['push'](_0x363170['shift']());}catch(_0xe7023b){_0x363170['push'](_0x363170['shift']());}}}(a10_0x1473,0x8ba6e));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0xe15a9b(0x126),ARTIFACT_SOURCE_AGENT=a10_0xe15a9b(0x133),ALLOWED_REACT_MODULE_IMPORTS=[a10_0xe15a9b(0x106),a10_0xe15a9b(0x13b),a10_0xe15a9b(0x121),'dayjs','antd',a10_0xe15a9b(0x12e)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0xe15a9b(0x12a)](',\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_0xe15a9b(0x143),'type':a10_0xe15a9b(0x113),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0xe15a9b(0x124),'type':a10_0xe15a9b(0x113),'description':a10_0xe15a9b(0x119)},METADATA_FLAG={'name':a10_0xe15a9b(0xf1),'type':a10_0xe15a9b(0x113),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x2f989b){const _0x183430=a10_0xe15a9b;return typeof _0x2f989b===_0x183430(0xf3)&&_0x2f989b!==null&&!Array[_0x183430(0x11f)](_0x2f989b);}function readSourceFile(_0x3ac4af){const _0x1f76e4=a10_0xe15a9b;if(!_0x3ac4af)throw CliErrors['validation'](_0x1f76e4(0x10c));if(!existsSync(_0x3ac4af))throw CliErrors[_0x1f76e4(0x103)](_0x1f76e4(0x117)+_0x3ac4af);if(!statSync(_0x3ac4af)[_0x1f76e4(0xf8)]())throw CliErrors[_0x1f76e4(0x103)](_0x1f76e4(0x116)+_0x3ac4af);const _0x238ea3=readFileSync(_0x3ac4af,'utf8');return validateReactModuleSource(_0x238ea3),_0x238ea3;}function parseMetadata(_0x781121){const _0x3afc5a=a10_0xe15a9b;if(!_0x781121)return undefined;let _0x23cccd;try{_0x23cccd=JSON[_0x3afc5a(0x13c)](_0x781121);}catch{throw CliErrors['validation'](_0x3afc5a(0x120)+_0x781121);}if(!isPlainObject(_0x23cccd))throw CliErrors['validation'](_0x3afc5a(0x102));const _0x8c296b={..._0x23cccd};return delete _0x8c296b[_0x3afc5a(0xf9)],_0x8c296b;}function getPackageName(_0x35e963){const _0x2207a1=a10_0xe15a9b;if(_0x35e963[_0x2207a1(0x10f)]('@')){const [_0x996978,_0x4ac6c9]=_0x35e963[_0x2207a1(0x128)]('/');return _0x996978&&_0x4ac6c9?_0x996978+'/'+_0x4ac6c9:_0x35e963;}return _0x35e963[_0x2207a1(0x128)]('/')[0x0]||_0x35e963;}function validateAllowedImports(_0xa31825){const _0x54f8bf=a10_0xe15a9b,_0x5aa90f=new Set();for(const _0x2731bd of IMPORT_SOURCE_PATTERNS){_0x2731bd['lastIndex']=0x0;let _0x5b12b9;while((_0x5b12b9=_0x2731bd[_0x54f8bf(0xfe)](_0xa31825))!==null){const _0x4ff177=_0x5b12b9[0x1]?.['trim']();_0x4ff177&&_0x5aa90f['add'](_0x4ff177);}}const _0x447b06=[..._0x5aa90f][_0x54f8bf(0xfc)](getPackageName)[_0x54f8bf(0x115)](_0xd3a934=>!ALLOWED_REACT_MODULE_IMPORTS[_0x54f8bf(0x101)](_0xd3a934));if(_0x447b06[_0x54f8bf(0x112)]>0x0)throw CliErrors[_0x54f8bf(0x103)](_0x54f8bf(0x140)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x447b06)][_0x54f8bf(0x12a)](',\x20'));}export function validateReactModuleSource(_0x487e93){const _0x3e40ff=a10_0xe15a9b;if(!_0x487e93['trim']())throw CliErrors['validation']('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x3e40ff(0xfd)](_0x4eea47=>_0x4eea47[_0x3e40ff(0x11c)](_0x487e93)))throw CliErrors[_0x3e40ff(0x103)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x487e93);}function buildArtifactInput(_0x23d3b3){const _0x5b7ab6=a10_0xe15a9b,_0x58216f=readSourceFile(_0x23d3b3[_0x5b7ab6(0xf6)](_0x5b7ab6(0x143))),_0x1e2b1d=_0x23d3b3['str'](_0x5b7ab6(0x124))['trim'](),_0x1f550a=parseMetadata(_0x23d3b3['str'](_0x5b7ab6(0xf1)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1e2b1d?{'name':_0x1e2b1d}:{},'content':_0x58216f,..._0x1f550a?{'metadata':_0x1f550a}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x5c66ac){const _0x2e0eca=a10_0xe15a9b;return{'id':_0x5c66ac['id'],'name':_0x5c66ac[_0x2e0eca(0x124)],'artifactType':_0x5c66ac[_0x2e0eca(0x127)],'source':_0x5c66ac['source'],'favorite':_0x5c66ac[_0x2e0eca(0xf5)],'deleted':_0x5c66ac['deleted'],'createTime':_0x5c66ac[_0x2e0eca(0x137)],'updateTime':_0x5c66ac[_0x2e0eca(0x11a)]};}function detailArtifact(_0x1a46b7){const _0x55ed17=a10_0xe15a9b;return{'id':_0x1a46b7['id'],'appCode':_0x1a46b7[_0x55ed17(0x10b)],'name':_0x1a46b7['name'],'artifactType':_0x1a46b7[_0x55ed17(0x127)],'source':_0x1a46b7[_0x55ed17(0x12f)],'favorite':_0x1a46b7['favorite'],'deleted':_0x1a46b7['deleted'],'content':_0x1a46b7[_0x55ed17(0x12d)]??'','compiledContent':_0x1a46b7[_0x55ed17(0xf9)],'metadata':_0x1a46b7['metadata']??{},'createTime':_0x1a46b7['createTime'],'updateTime':_0x1a46b7[_0x55ed17(0x11a)]};}function readFavoriteFlag(_0x2b71de){const _0x186919=a10_0xe15a9b,_0x46bea1=_0x2b71de[_0x186919(0x129)](_0x186919(0xf5));return _0x46bea1===undefined||_0x46bea1===null||_0x46bea1===''?undefined:_0x2b71de[_0x186919(0x131)](_0x186919(0xf5));}const artifactList={'service':a10_0xe15a9b(0x136),'command':a10_0xe15a9b(0x110),'description':a10_0xe15a9b(0x13f),'risk':a10_0xe15a9b(0x142),'flags':[{'name':a10_0xe15a9b(0x12f),'type':a10_0xe15a9b(0x113),'description':a10_0xe15a9b(0x13a)},{'name':'favorite','type':a10_0xe15a9b(0x11d),'description':a10_0xe15a9b(0x10e)},VERBOSE_FLAG],async 'execute'(_0x52c0f3){const _0x3e87c1=a10_0xe15a9b,_0x155e15=await listRuntimeArtifacts(_0x52c0f3[_0x3e87c1(0x10b)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x52c0f3[_0x3e87c1(0xf6)]('source')?{'source':_0x52c0f3[_0x3e87c1(0xf6)](_0x3e87c1(0x12f))}:{},...readFavoriteFlag(_0x52c0f3)!==undefined?{'favorite':readFavoriteFlag(_0x52c0f3)}:{}});return{'ok':!![],'data':{'total':_0x155e15[_0x3e87c1(0x112)],'items':_0x52c0f3[_0x3e87c1(0x131)](_0x3e87c1(0x122))?_0x155e15:_0x155e15['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0xe15a9b(0x136),'command':a10_0xe15a9b(0x10a),'description':a10_0xe15a9b(0x118),'risk':a10_0xe15a9b(0x142),'flags':[{...ID_FLAG,'description':a10_0xe15a9b(0x108)}],async 'execute'(_0x4e3915){const _0x249c58=a10_0xe15a9b,_0x9f6575=await getRuntimeArtifact(_0x4e3915[_0x249c58(0x107)]('id'),_0x4e3915['appCode']);return{'ok':!![],'data':detailArtifact(_0x9f6575)};}},artifactCreate={'service':'artifact','command':a10_0xe15a9b(0x105),'description':a10_0xe15a9b(0x141),'risk':a10_0xe15a9b(0x10d),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x365a14){const _0x16a74e=a10_0xe15a9b,_0x587829=buildArtifactInput(_0x365a14),_0xbf4b4=await createRuntimeArtifact(_0x365a14[_0x16a74e(0x10b)],_0x587829);return{'ok':!![],'data':detailArtifact(_0xbf4b4),'message':'Created\x20Artifact\x20'+_0xbf4b4['id']+(_0xbf4b4[_0x16a74e(0x124)]?'\x20('+_0xbf4b4[_0x16a74e(0x124)]+')':'')};},async 'dryRun'(_0x5b7f58){const _0x4462f4=a10_0xe15a9b,_0x5f23b6=buildArtifactInput(_0x5b7f58);return dryRun(_0x4462f4(0x130),_0x4462f4(0x13e))[_0x4462f4(0x114)]({'appCode':_0x5b7f58[_0x4462f4(0x10b)],..._0x5f23b6})[_0x4462f4(0x104)](_0x4462f4(0x11b))[_0x4462f4(0xf0)]();},'writeEventSubject'(_0x220b43){const _0x2c85bd=a10_0xe15a9b,_0x587e2b=_0x220b43[_0x2c85bd(0x12c)]?.['id'];if(typeof _0x587e2b!==_0x2c85bd(0x113)&&typeof _0x587e2b!==_0x2c85bd(0x135))return undefined;return{'kind':_0x2c85bd(0x136),'id':String(_0x587e2b),'action':_0x2c85bd(0x105)};}},artifactUpdate={'service':a10_0xe15a9b(0x136),'command':a10_0xe15a9b(0xff),'description':a10_0xe15a9b(0x109),'risk':a10_0xe15a9b(0x10d),'flags':[{...ID_FLAG,'description':a10_0xe15a9b(0x108)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x655ed0){const _0x373529=a10_0xe15a9b,_0x4b3a89=_0x655ed0[_0x373529(0x107)]('id'),_0x47495e=buildArtifactInput(_0x655ed0),_0x50c739=await updateRuntimeArtifact(_0x4b3a89,_0x655ed0[_0x373529(0x10b)],_0x47495e);return{'ok':!![],'data':detailArtifact(_0x50c739),'message':_0x373529(0xf7)+_0x50c739['id']+(_0x50c739[_0x373529(0x124)]?'\x20('+_0x50c739[_0x373529(0x124)]+')':'')};},async 'dryRun'(_0x455979){const _0x4f44bf=a10_0xe15a9b,_0x13b483=_0x455979[_0x4f44bf(0x107)]('id'),_0x46a075=buildArtifactInput(_0x455979);return dryRun(_0x4f44bf(0x130),_0x4f44bf(0x132)+_0x13b483+_0x4f44bf(0x125))[_0x4f44bf(0x114)]({'appCode':_0x455979[_0x4f44bf(0x10b)],..._0x46a075})[_0x4f44bf(0x104)](_0x4f44bf(0x139)+_0x13b483)[_0x4f44bf(0xf0)]();},'writeEventSubject'(_0x9aa69b){const _0x7806d4=a10_0xe15a9b,_0x3a1452=_0x9aa69b['data']?.['id'];if(typeof _0x3a1452!==_0x7806d4(0x113)&&typeof _0x3a1452!=='number')return undefined;return{'kind':_0x7806d4(0x136),'id':String(_0x3a1452),'action':'update'};}};function a10_0x1473(){const _0x1f538a=['401352IaWbkj','number','artifact','createTime','28exSEaI','Preview:\x20update\x20react_module\x20Artifact\x20','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','react-dom','parse','7yLWDQe','/client/artifact/create','List\x20current-app\x20react_module\x20Artifacts','react_module\x20imports\x20are\x20limited\x20to:\x20','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','read','file','209SOrNvS','292wOJPBT','build','metadata','11815531cUsSfE','object','20157cBRqry','favorite','str','Updated\x20Artifact\x20','isFile','compiledContent','18HLWSye','4812760HPIhsI','map','some','exec','update','1EXJEnG','includes','--metadata\x20must\x20be\x20a\x20JSON\x20object.','validation','description','create','react','num','Artifact\x20ID','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','detail','appCode','File\x20path\x20is\x20required.','write','Optional\x20favorite-state\x20filter','startsWith','list','2395AqRfDl','length','string','body','filter','File\x20is\x20not\x20a\x20regular\x20file:\x20','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','Artifact\x20display\x20name','updateTime','Preview:\x20create\x20react_module\x20Artifact','test','boolean','6906wCamJN','isArray','Invalid\x20JSON\x20for\x20--metadata:\x20','lodash','verbose','9106040GxgXYZ','name','/update','react_module','artifactType','split','flag','join','1214466ZNDCgi','data','content','@ant-design/icons','source','POST','bool','/client/artifact/','AGENT'];a10_0x1473=function(){return _0x1f538a;};return a10_0x1473();}export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x5b2e20=a10_0x3fa1;function a10_0x21fb(){const _0x2c9644=['createTime','string','metadata','parse','body','includes','str','verbose','update','Preview:\x20create\x20react_module\x20Artifact','split','filter','File\x20path\x20is\x20required.','Optional\x20favorite-state\x20filter','number','boolean','File\x20not\x20found:\x20','join','file','12lRWdNL','Preview:\x20update\x20react_module\x20Artifact\x20','description','Artifact\x20source\x20file\x20is\x20blank.','updateTime','21149pwGApz','POST','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','AGENT','.\x20Unsupported:\x20','favorite','startsWith','--metadata\x20must\x20be\x20a\x20JSON\x20object.','source','deleted','839886CUbXEp','name','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','/update','6991506kBPFIq','dayjs','create','199910YijTQP','some','react_module\x20imports\x20are\x20limited\x20to:\x20','react','exec','read','compiledContent','/client/artifact/','Created\x20Artifact\x20','flag','bool','length','Show\x20one\x20Artifact\x20by\x20id','data','isArray','trim','content','object','artifact','4SHiXiJ','1309440WMcbHe','lastIndex','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','validation','detail','appCode','list','utf8','Artifact\x20display\x20name','24876FRvILD','num','Artifact\x20ID','947793dLUCqs','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','react_module','write'];a10_0x21fb=function(){return _0x2c9644;};return a10_0x21fb();}(function(_0x15c77e,_0xdde28b){const _0x4bd2dd=a10_0x3fa1,_0x3a6fb2=_0x15c77e();while(!![]){try{const _0x155ffb=-parseInt(_0x4bd2dd(0x1a1))/0x1+parseInt(_0x4bd2dd(0x1cf))/0x2+-parseInt(_0x4bd2dd(0x1ab))/0x3*(parseInt(_0x4bd2dd(0x1c5))/0x4)+-parseInt(_0x4bd2dd(0x1b2))/0x5*(-parseInt(_0x4bd2dd(0x19c))/0x6)+-parseInt(_0x4bd2dd(0x185))/0x7+-parseInt(_0x4bd2dd(0x1c6))/0x8+parseInt(_0x4bd2dd(0x1af))/0x9;if(_0x155ffb===_0xdde28b)break;else _0x3a6fb2['push'](_0x3a6fb2['shift']());}catch(_0x21dfaa){_0x3a6fb2['push'](_0x3a6fb2['shift']());}}}(a10_0x21fb,0x41af6));import{existsSync,readFileSync,statSync}from'node:fs';function a10_0x3fa1(_0x4f7a6b,_0x292c0f){_0x4f7a6b=_0x4f7a6b-0x183;const _0x21fb85=a10_0x21fb();let _0x3fa146=_0x21fb85[_0x4f7a6b];return _0x3fa146;}import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x5b2e20(0x187),ARTIFACT_SOURCE_AGENT=a10_0x5b2e20(0x1a4),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x5b2e20(0x1b5),'react-dom','lodash',a10_0x5b2e20(0x1b0),'antd','@ant-design/icons'];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x5b2e20(0x19a)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':'file','type':'string','required':!![],'description':a10_0x5b2e20(0x186)},ARTIFACT_NAME_FLAG={'name':a10_0x5b2e20(0x1ac),'type':'string','description':a10_0x5b2e20(0x1ce)},METADATA_FLAG={'name':a10_0x5b2e20(0x18b),'type':a10_0x5b2e20(0x18a),'description':a10_0x5b2e20(0x1a3)};function isPlainObject(_0x185182){const _0x52e2d6=a10_0x5b2e20;return typeof _0x185182===_0x52e2d6(0x1c3)&&_0x185182!==null&&!Array[_0x52e2d6(0x1c0)](_0x185182);}function readSourceFile(_0x3bfdee){const _0x8edfdc=a10_0x5b2e20;if(!_0x3bfdee)throw CliErrors[_0x8edfdc(0x1c9)](_0x8edfdc(0x195));if(!existsSync(_0x3bfdee))throw CliErrors[_0x8edfdc(0x1c9)](_0x8edfdc(0x199)+_0x3bfdee);if(!statSync(_0x3bfdee)['isFile']())throw CliErrors[_0x8edfdc(0x1c9)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x3bfdee);const _0x53dfb1=readFileSync(_0x3bfdee,_0x8edfdc(0x1cd));return validateReactModuleSource(_0x53dfb1),_0x53dfb1;}function parseMetadata(_0xdfc922){const _0x2d8053=a10_0x5b2e20;if(!_0xdfc922)return undefined;let _0xddf646;try{_0xddf646=JSON[_0x2d8053(0x18c)](_0xdfc922);}catch{throw CliErrors[_0x2d8053(0x1c9)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0xdfc922);}if(!isPlainObject(_0xddf646))throw CliErrors[_0x2d8053(0x1c9)](_0x2d8053(0x1a8));const _0x2b4f41={..._0xddf646};return delete _0x2b4f41[_0x2d8053(0x1b8)],_0x2b4f41;}function getPackageName(_0xb06e23){const _0x3a40df=a10_0x5b2e20;if(_0xb06e23[_0x3a40df(0x1a7)]('@')){const [_0x1747d1,_0x30daa0]=_0xb06e23['split']('/');return _0x1747d1&&_0x30daa0?_0x1747d1+'/'+_0x30daa0:_0xb06e23;}return _0xb06e23[_0x3a40df(0x193)]('/')[0x0]||_0xb06e23;}function validateAllowedImports(_0x3c08d8){const _0x54b591=a10_0x5b2e20,_0x17c6ba=new Set();for(const _0x5d6210 of IMPORT_SOURCE_PATTERNS){_0x5d6210[_0x54b591(0x1c7)]=0x0;let _0x2f8adf;while((_0x2f8adf=_0x5d6210[_0x54b591(0x1b6)](_0x3c08d8))!==null){const _0x4556f1=_0x2f8adf[0x1]?.[_0x54b591(0x1c1)]();_0x4556f1&&_0x17c6ba['add'](_0x4556f1);}}const _0x2c82ec=[..._0x17c6ba]['map'](getPackageName)[_0x54b591(0x194)](_0x443358=>!ALLOWED_REACT_MODULE_IMPORTS[_0x54b591(0x18e)](_0x443358));if(_0x2c82ec[_0x54b591(0x1bd)]>0x0)throw CliErrors[_0x54b591(0x1c9)](_0x54b591(0x1b4)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x54b591(0x1a5)+[...new Set(_0x2c82ec)][_0x54b591(0x19a)](',\x20'));}export function validateReactModuleSource(_0x16f7c3){const _0xe6d9ad=a10_0x5b2e20;if(!_0x16f7c3['trim']())throw CliErrors[_0xe6d9ad(0x1c9)](_0xe6d9ad(0x19f));if(PAGE_LEVEL_PATTERNS[_0xe6d9ad(0x1b3)](_0x5a6d18=>_0x5a6d18['test'](_0x16f7c3)))throw CliErrors[_0xe6d9ad(0x1c9)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x16f7c3);}function buildArtifactInput(_0x4887ec){const _0x113992=a10_0x5b2e20,_0xe525bf=readSourceFile(_0x4887ec[_0x113992(0x18f)](_0x113992(0x19b))),_0x8a0f31=_0x4887ec[_0x113992(0x18f)](_0x113992(0x1ac))[_0x113992(0x1c1)](),_0x38e094=parseMetadata(_0x4887ec[_0x113992(0x18f)](_0x113992(0x18b)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x8a0f31?{'name':_0x8a0f31}:{},'content':_0xe525bf,..._0x38e094?{'metadata':_0x38e094}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x3f53f0){const _0x2412f2=a10_0x5b2e20;return{'id':_0x3f53f0['id'],'name':_0x3f53f0[_0x2412f2(0x1ac)],'artifactType':_0x3f53f0['artifactType'],'source':_0x3f53f0[_0x2412f2(0x1a9)],'favorite':_0x3f53f0[_0x2412f2(0x1a6)],'deleted':_0x3f53f0[_0x2412f2(0x1aa)],'createTime':_0x3f53f0[_0x2412f2(0x189)],'updateTime':_0x3f53f0[_0x2412f2(0x1a0)]};}function detailArtifact(_0x567e42){const _0x510507=a10_0x5b2e20;return{'id':_0x567e42['id'],'appCode':_0x567e42[_0x510507(0x1cb)],'name':_0x567e42['name'],'artifactType':_0x567e42['artifactType'],'source':_0x567e42[_0x510507(0x1a9)],'favorite':_0x567e42['favorite'],'deleted':_0x567e42[_0x510507(0x1aa)],'content':_0x567e42[_0x510507(0x1c2)]??'','compiledContent':_0x567e42['compiledContent'],'metadata':_0x567e42[_0x510507(0x18b)]??{},'createTime':_0x567e42['createTime'],'updateTime':_0x567e42[_0x510507(0x1a0)]};}function readFavoriteFlag(_0x3497d7){const _0x2517ae=a10_0x5b2e20,_0x54efb3=_0x3497d7[_0x2517ae(0x1bb)](_0x2517ae(0x1a6));return _0x54efb3===undefined||_0x54efb3===null||_0x54efb3===''?undefined:_0x3497d7['bool'](_0x2517ae(0x1a6));}const artifactList={'service':a10_0x5b2e20(0x1c4),'command':a10_0x5b2e20(0x1cc),'description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x5b2e20(0x1b7),'flags':[{'name':a10_0x5b2e20(0x1a9),'type':'string','description':a10_0x5b2e20(0x1c8)},{'name':a10_0x5b2e20(0x1a6),'type':a10_0x5b2e20(0x198),'description':a10_0x5b2e20(0x196)},VERBOSE_FLAG],async 'execute'(_0x48c417){const _0x2b28cc=a10_0x5b2e20,_0x2c1bac=await listRuntimeArtifacts(_0x48c417[_0x2b28cc(0x1cb)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x48c417[_0x2b28cc(0x18f)](_0x2b28cc(0x1a9))?{'source':_0x48c417[_0x2b28cc(0x18f)]('source')}:{},...readFavoriteFlag(_0x48c417)!==undefined?{'favorite':readFavoriteFlag(_0x48c417)}:{}});return{'ok':!![],'data':{'total':_0x2c1bac[_0x2b28cc(0x1bd)],'items':_0x48c417[_0x2b28cc(0x1bc)](_0x2b28cc(0x190))?_0x2c1bac:_0x2c1bac['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x5b2e20(0x1c4),'command':a10_0x5b2e20(0x1ca),'description':a10_0x5b2e20(0x1be),'risk':'read','flags':[{...ID_FLAG,'description':a10_0x5b2e20(0x184)}],async 'execute'(_0x25bb69){const _0x514734=a10_0x5b2e20,_0x23d080=await getRuntimeArtifact(_0x25bb69[_0x514734(0x183)]('id'),_0x25bb69['appCode']);return{'ok':!![],'data':detailArtifact(_0x23d080)};}},artifactCreate={'service':a10_0x5b2e20(0x1c4),'command':a10_0x5b2e20(0x1b1),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x5b2e20(0x188),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x572eb4){const _0x520539=a10_0x5b2e20,_0x2a8759=buildArtifactInput(_0x572eb4),_0x1f45a4=await createRuntimeArtifact(_0x572eb4[_0x520539(0x1cb)],_0x2a8759);return{'ok':!![],'data':detailArtifact(_0x1f45a4),'message':_0x520539(0x1ba)+_0x1f45a4['id']+(_0x1f45a4[_0x520539(0x1ac)]?'\x20('+_0x1f45a4[_0x520539(0x1ac)]+')':'')};},async 'dryRun'(_0x5c9627){const _0x1d55dc=a10_0x5b2e20,_0xa7670a=buildArtifactInput(_0x5c9627);return dryRun('POST','/client/artifact/create')[_0x1d55dc(0x18d)]({'appCode':_0x5c9627[_0x1d55dc(0x1cb)],..._0xa7670a})[_0x1d55dc(0x19e)](_0x1d55dc(0x192))['build']();},'writeEventSubject'(_0x1d2f62){const _0x484541=a10_0x5b2e20,_0x28c1de=_0x1d2f62[_0x484541(0x1bf)]?.['id'];if(typeof _0x28c1de!=='string'&&typeof _0x28c1de!=='number')return undefined;return{'kind':'artifact','id':String(_0x28c1de),'action':_0x484541(0x1b1)};}},artifactUpdate={'service':a10_0x5b2e20(0x1c4),'command':'update','description':a10_0x5b2e20(0x1ad),'risk':a10_0x5b2e20(0x188),'flags':[{...ID_FLAG,'description':a10_0x5b2e20(0x184)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3910cc){const _0x56b287=a10_0x5b2e20,_0x4da70f=_0x3910cc[_0x56b287(0x183)]('id'),_0xbf2904=buildArtifactInput(_0x3910cc),_0x248824=await updateRuntimeArtifact(_0x4da70f,_0x3910cc[_0x56b287(0x1cb)],_0xbf2904);return{'ok':!![],'data':detailArtifact(_0x248824),'message':'Updated\x20Artifact\x20'+_0x248824['id']+(_0x248824[_0x56b287(0x1ac)]?'\x20('+_0x248824['name']+')':'')};},async 'dryRun'(_0x8c0baa){const _0x4f4d0c=a10_0x5b2e20,_0x545e6f=_0x8c0baa[_0x4f4d0c(0x183)]('id'),_0x5d22ce=buildArtifactInput(_0x8c0baa);return dryRun(_0x4f4d0c(0x1a2),_0x4f4d0c(0x1b9)+_0x545e6f+_0x4f4d0c(0x1ae))[_0x4f4d0c(0x18d)]({'appCode':_0x8c0baa['appCode'],..._0x5d22ce})[_0x4f4d0c(0x19e)](_0x4f4d0c(0x19d)+_0x545e6f)['build']();},'writeEventSubject'(_0x20433f){const _0x4f902c=a10_0x5b2e20,_0x4f1679=_0x20433f[_0x4f902c(0x1bf)]?.['id'];if(typeof _0x4f1679!==_0x4f902c(0x18a)&&typeof _0x4f1679!==_0x4f902c(0x197))return undefined;return{'kind':_0x4f902c(0x1c4),'id':String(_0x4f1679),'action':_0x4f902c(0x191)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x560a90=a11_0x2052;(function(_0x853cba,_0x573004){const _0x1de039=a11_0x2052,_0x5b915c=_0x853cba();while(!![]){try{const _0x44786a=-parseInt(_0x1de039(0x18a))/0x1+parseInt(_0x1de039(0x16f))/0x2*(parseInt(_0x1de039(0x1a1))/0x3)+-parseInt(_0x1de039(0x1b5))/0x4*(parseInt(_0x1de039(0x188))/0x5)+-parseInt(_0x1de039(0x19e))/0x6*(-parseInt(_0x1de039(0x1b4))/0x7)+-parseInt(_0x1de039(0x17b))/0x8*(parseInt(_0x1de039(0x16c))/0x9)+-parseInt(_0x1de039(0x176))/0xa+-parseInt(_0x1de039(0x1a0))/0xb*(-parseInt(_0x1de039(0x1a5))/0xc);if(_0x44786a===_0x573004)break;else _0x5b915c['push'](_0x5b915c['shift']());}catch(_0x2d7e33){_0x5b915c['push'](_0x5b915c['shift']());}}}(a11_0x4f20,0x4ee08));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(_0x269688){const _0x5d33ab=a11_0x2052;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x269688[_0x5d33ab(0x1a7)]('global'),'explicitProject':_0x269688[_0x5d33ab(0x1a7)]('project'),'policy':_0x5d33ab(0x174)}));}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(_0x38290c,_0x5dbfcd,_0x229552=a11_0x560a90(0x1bc)){const _0x4bbee0=a11_0x560a90;return _0x38290c+'/device-auth?code='+encodeURIComponent(_0x5dbfcd)+_0x4bbee0(0x179)+encodeURIComponent(_0x229552);}export function getDeviceCodePath(){const _0x5adb8f=a11_0x560a90;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x5adb8f(0x195);}export function readStoredDeviceCode(){const _0x50a910=a11_0x560a90,_0x5b3190=getDeviceCodePath();if(!existsSync(_0x5b3190))return null;try{const _0x122300=readFileSync(_0x5b3190,{'encoding':_0x50a910(0x17e)}),_0x5ed9ce=JSON['parse'](_0x122300);if(_0x5ed9ce&&typeof _0x5ed9ce[_0x50a910(0x184)]===_0x50a910(0x1af)&&typeof _0x5ed9ce['createdAt']===_0x50a910(0x1af)&&(_0x5ed9ce['scope']==='global'||_0x5ed9ce[_0x50a910(0x1be)]===_0x50a910(0x1a6)))return _0x5ed9ce;}catch{}return null;}function a11_0x4f20(){const _0x269ae0=['application/json','url-only','\x0dWaiting\x20for\x20authorization...\x20','global-default','object','169970FYPsPi','cancelled','accessKey','&source=','name','17624GJWLsX','auth','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','utf8','\x20remaining','abort','removeListener','Invalid\x20device\x20auth\x20response','Device\x20auth\x20API\x20error\x20(','code','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','trim','906220cWYgQQ','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','496813cIplzW','data','validation','apiError','aborted','Invalid\x20access_key\x20returned\x20by\x20server.','success','stderr','status','test','Write\x20to\x20global\x20config\x20(default)','/.device-auth','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Verify:\x20','SIGINT','device','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Device\x20authorization\x20cancelled.','networkError','getTime','47616HHPoTG','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','610159UXwzNE','39681DxkiRR','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','expired','signal','132PaudwG','project','bool','now','log','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','toISOString','createdAt','Write\x20to\x20project\x20config','\x20config.','string','\x20auth\x20status','),\x20retrying...','After\x20authorizing,\x20re-run:\x20','\x20auth\x20device','105vdBpdW','4DEPOdH','/api/device-auth/token','global','padStart','once','boolean','write','lovrabet-cli','floor','scope','access_key','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','str','873wERnQv','source','nonInteractive','76XevjQr','stringify'];a11_0x4f20=function(){return _0x269ae0;};return a11_0x4f20();}export function writeStoredDeviceCode(_0xd87169,_0x36b3f3){const _0x1e237d=a11_0x560a90,_0x2d296b=getDeviceCodePath(),_0x1fc565=dirname(_0x2d296b);!existsSync(_0x1fc565)&&mkdirSync(_0x1fc565,{'recursive':!![]});const _0x583f0c={'code':_0xd87169,'createdAt':new Date()[_0x1e237d(0x1ab)](),'scope':_0x36b3f3};writeFileSync(_0x2d296b,JSON[_0x1e237d(0x170)](_0x583f0c),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x142be9=getDeviceCodePath();try{unlinkSync(_0x142be9);}catch{}}export function isStoredDeviceCodeExpired(_0x2c02f4){const _0x409ba3=a11_0x560a90;return Date[_0x409ba3(0x1a8)]()-new Date(_0x2c02f4[_0x409ba3(0x1ac)])[_0x409ba3(0x19d)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x10a3b4,_0x379aa0){const _0x214021=a11_0x560a90,_0x573a1d=_0x10a3b4+_0x214021(0x1b6),_0xe695cc=new AbortController(),_0x39b121=setTimeout(()=>_0xe695cc[_0x214021(0x180)](),0x2710),_0x54d42e=await fetch(_0x573a1d,{'method':'POST','headers':{'Content-Type':_0x214021(0x171)},'body':JSON[_0x214021(0x170)]({'code':_0x379aa0}),'signal':_0xe695cc[_0x214021(0x1a4)]});clearTimeout(_0x39b121);if(!_0x54d42e['ok'])throw CliErrors[_0x214021(0x19c)]('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x54d42e[_0x214021(0x192)]);const _0x11aa79=await _0x54d42e['json'](),_0xece35c=_0x11aa79[_0x214021(0x18b)]&&typeof _0x11aa79[_0x214021(0x18b)]===_0x214021(0x175)?_0x11aa79[_0x214021(0x18b)]:_0x11aa79;if(!_0xece35c||typeof _0xece35c['status']!==_0x214021(0x1af))throw CliErrors[_0x214021(0x18d)](_0x214021(0x182));return{'status':_0xece35c['status'],'access_key':typeof _0xece35c[_0x214021(0x1bf)]==='string'?_0xece35c[_0x214021(0x1bf)]:undefined};}export async function pollDeviceToken(_0x45ab6d,_0xf311b0,_0x3ce5e2){const _0x3ed586=a11_0x560a90;let _0x2d9ef4=0x0;for(let _0x575d6f=0x0;_0x575d6f<MAX_POLLS;_0x575d6f++){if(_0x3ce5e2[_0x3ed586(0x18e)])throw CliErrors[_0x3ed586(0x177)](_0x3ed586(0x19b));let _0xe28e6d;try{_0xe28e6d=await fetchDeviceToken(_0x45ab6d,_0xf311b0);}catch(_0x4fb410){if(_0x4fb410 instanceof Error&&_0x4fb410[_0x3ed586(0x17a)]==='AbortError')throw CliErrors[_0x3ed586(0x177)](_0x3ed586(0x19b));_0x2d9ef4++;if(_0x2d9ef4>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x3ed586(0x19c)](_0x3ed586(0x1a2));writeCliSideChannelLine(_0x3ed586(0x183)+_0x2d9ef4+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x3ed586(0x1b1)),await sleep(POLL_INTERVAL_MS);continue;}_0x2d9ef4=0x0;if(_0xe28e6d[_0x3ed586(0x192)]===_0x3ed586(0x190)){if(!_0xe28e6d[_0x3ed586(0x1bf)])throw CliErrors['apiError']('Invalid\x20access_key\x20returned\x20by\x20server.');return _0xe28e6d[_0x3ed586(0x1bf)];}if(_0xe28e6d['status']===_0x3ed586(0x1a3)){deleteStoredDeviceCode();throw CliErrors['validation'](_0x3ed586(0x17d));}const _0x2ad3f1=(_0x575d6f+0x1)*POLL_INTERVAL_MS,_0x2e4d2e=DEVICE_CODE_TTL_MS-_0x2ad3f1,_0x36efe8=Math[_0x3ed586(0x1bd)](_0x2e4d2e/0xea60),_0x3eb07d=Math[_0x3ed586(0x1bd)](_0x2e4d2e%0xea60/0x3e8);process[_0x3ed586(0x191)]['write'](_0x3ed586(0x173)+_0x36efe8+':'+String(_0x3eb07d)[_0x3ed586(0x1b8)](0x2,'0')+_0x3ed586(0x17f)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x3ed586(0x18c)](_0x3ed586(0x19a));}function sleep(_0x2e0c6e){return new Promise(_0x180ac3=>setTimeout(_0x180ac3,_0x2e0c6e));}function a11_0x2052(_0x165e5c,_0x14b181){_0x165e5c=_0x165e5c-0x16b;const _0x4f202f=a11_0x4f20();let _0x205269=_0x4f202f[_0x165e5c];return _0x205269;}export const authDeviceDefinition={'service':a11_0x560a90(0x17c),'command':a11_0x560a90(0x199),'description':a11_0x560a90(0x19f),'risk':a11_0x560a90(0x1bb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x560a90(0x1b7),'type':'boolean','description':a11_0x560a90(0x194),'default':!![]},{'name':'project','type':a11_0x560a90(0x1ba),'description':a11_0x560a90(0x1ad),'default':![]},{'name':a11_0x560a90(0x16d),'type':a11_0x560a90(0x1af),'description':a11_0x560a90(0x1aa),'default':a11_0x560a90(0x1bc)},{'name':a11_0x560a90(0x172),'type':'boolean','description':a11_0x560a90(0x196),'default':![]}],async 'execute'(_0x1da036){const _0x2596e0=a11_0x560a90,_0x463426=resolveAuthScopeFlags(_0x1da036),_0x94b62b=_0x463426[_0x2596e0(0x1b7)]?_0x2596e0(0x1b7):_0x2596e0(0x1a6),_0x92e5e=readScopedConfig(_0x463426);if(_0x92e5e[_0x2596e0(0x178)])return{'ok':!![],'message':_0x2596e0(0x186)};const _0x1a5bef=(_0x1da036[_0x2596e0(0x16b)](_0x2596e0(0x16d))||'lovrabet-cli')[_0x2596e0(0x187)](),_0x56e77e=getUserDomain(),_0x4566f9=readStoredDeviceCode(),_0x283c12=_0x4566f9&&!isStoredDeviceCodeExpired(_0x4566f9)?_0x4566f9[_0x2596e0(0x184)]:((()=>{const _0x523f82=generateDeviceCode();return writeStoredDeviceCode(_0x523f82,_0x94b62b),_0x523f82;})()),_0xacf1e0=buildDeviceAuthUrl(_0x56e77e,_0x283c12,_0x1a5bef);if(_0x1da036['bool'](_0x2596e0(0x172)))return console[_0x2596e0(0x1a9)](_0xacf1e0),{'ok':!![]};writeCliSideChannelLine(_0x2596e0(0x1c0)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xacf1e0),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x1da036[_0x2596e0(0x16e)])return writeCliSideChannelLine(_0x2596e0(0x1b2)+CLI_BIN_NAME+_0x2596e0(0x1b3)),{'ok':!![],'message':_0x2596e0(0x185)};writeCliSideChannelLine(_0x2596e0(0x189));const _0x9b2903=new AbortController(),_0xfcb67=()=>{const _0x2bdf4a=_0x2596e0;_0x9b2903[_0x2bdf4a(0x180)](),process[_0x2bdf4a(0x181)](_0x2bdf4a(0x198),_0xfcb67);};process[_0x2596e0(0x1b9)](_0x2596e0(0x198),_0xfcb67);let _0x438897;try{_0x438897=await pollDeviceToken(_0x56e77e,_0x283c12,_0x9b2903[_0x2596e0(0x1a4)]);}finally{process['removeListener']('SIGINT',_0xfcb67);}if(!ACCESS_KEY_PATTERN[_0x2596e0(0x193)](_0x438897))throw CliErrors[_0x2596e0(0x18d)](_0x2596e0(0x18f));const _0x25dd16=readScopedConfig(_0x463426);return _0x25dd16[_0x2596e0(0x178)]=_0x438897,writeScopedConfig(_0x25dd16,_0x463426),deleteStoredDeviceCode(),process[_0x2596e0(0x191)][_0x2596e0(0x1bb)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x94b62b+_0x2596e0(0x1ae)),writeCliSideChannelLine(_0x2596e0(0x197)+CLI_BIN_NAME+_0x2596e0(0x1b0)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x3da4bf=a11_0xe0dc;(function(_0x3aef94,_0xc6061a){const _0x280dcf=a11_0xe0dc,_0x4425f4=_0x3aef94();while(!![]){try{const _0x39b662=parseInt(_0x280dcf(0xc4))/0x1+-parseInt(_0x280dcf(0xc0))/0x2*(-parseInt(_0x280dcf(0xe4))/0x3)+-parseInt(_0x280dcf(0xb7))/0x4*(parseInt(_0x280dcf(0xd1))/0x5)+parseInt(_0x280dcf(0xef))/0x6+-parseInt(_0x280dcf(0xe1))/0x7*(parseInt(_0x280dcf(0xf2))/0x8)+parseInt(_0x280dcf(0xd5))/0x9*(parseInt(_0x280dcf(0xd7))/0xa)+parseInt(_0x280dcf(0xcd))/0xb*(-parseInt(_0x280dcf(0xbc))/0xc);if(_0x39b662===_0xc6061a)break;else _0x4425f4['push'](_0x4425f4['shift']());}catch(_0x182091){_0x4425f4['push'](_0x4425f4['shift']());}}}(a11_0x39f6,0x61cc4));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';function a11_0xe0dc(_0x58c7c7,_0x4d4186){_0x58c7c7=_0x58c7c7-0xa8;const _0x39f6f0=a11_0x39f6();let _0xe0dc22=_0x39f6f0[_0x58c7c7];return _0xe0dc22;}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(_0x135c6c){const _0x33383c=a11_0xe0dc;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x135c6c['bool']('global'),'explicitProject':_0x135c6c[_0x33383c(0xc1)]('project'),'policy':'global-default'}));}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']();}function a11_0x39f6(){const _0x22308b=['boolean','apiError','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','44mTMujU','floor','write','createdAt','14105BuSTTU','homeDirName','status','aborted','361332toPKBF','abort','40JKbGNP','Write\x20to\x20global\x20config\x20(default)','url-only','SIGINT','POST','Device\x20authorization\x20cancelled.','/.device-auth','Write\x20to\x20project\x20config','cancelled','global','3051944wFTdsK','json','stringify','10716rqtbwm','Invalid\x20access_key\x20returned\x20by\x20server.','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','access_key','utf8','data','test','AccessKey\x20saved\x20to\x20','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','object','accessKey','2225364KSiZfa','nonInteractive','expired','8SHDOTo','lovrabet-cli','padStart','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','validation','),\x20retrying...','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Device\x20auth\x20API\x20returned\x20HTTP\x20','signal','code','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','After\x20authorizing,\x20re-run:\x20','scope','success','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','getTime','trim','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','\x0dWaiting\x20for\x20authorization...\x20','788QXyhCw','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','\x20auth\x20status','log','removeListener','412812hGHVSo','\x20config.','Device\x20authorization\x20successful.','string','362QckymL','bool','application/json','Invalid\x20device\x20auth\x20response','351895EoNfwg','name','project','device','stderr','networkError'];a11_0x39f6=function(){return _0x22308b;};return a11_0x39f6();}export function buildDeviceAuthUrl(_0x281249,_0x483d2b,_0x1b75dd='lovrabet-cli'){return _0x281249+'/device-auth?code='+encodeURIComponent(_0x483d2b)+'&source='+encodeURIComponent(_0x1b75dd);}export function getDeviceCodePath(){const _0xd6cff7=a11_0xe0dc;return homedir()+'/'+PRODUCT_CONFIG[_0xd6cff7(0xd2)]+_0xd6cff7(0xdd);}export function readStoredDeviceCode(){const _0xd463a0=a11_0xe0dc,_0x5470da=getDeviceCodePath();if(!existsSync(_0x5470da))return null;try{const _0x1fde51=readFileSync(_0x5470da,{'encoding':_0xd463a0(0xe8)}),_0x1d1e44=JSON['parse'](_0x1fde51);if(_0x1d1e44&&typeof _0x1d1e44[_0xd463a0(0xad)]==='string'&&typeof _0x1d1e44[_0xd463a0(0xd0)]===_0xd463a0(0xbf)&&(_0x1d1e44[_0xd463a0(0xb0)]===_0xd463a0(0xe0)||_0x1d1e44[_0xd463a0(0xb0)]==='project'))return _0x1d1e44;}catch{}return null;}export function writeStoredDeviceCode(_0xbca51a,_0x3f839b){const _0x262fdf=a11_0xe0dc,_0x2b43a3=getDeviceCodePath(),_0x2d112c=dirname(_0x2b43a3);!existsSync(_0x2d112c)&&mkdirSync(_0x2d112c,{'recursive':!![]});const _0x5c67fa={'code':_0xbca51a,'createdAt':new Date()['toISOString'](),'scope':_0x3f839b};writeFileSync(_0x2b43a3,JSON[_0x262fdf(0xe3)](_0x5c67fa),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x546940=getDeviceCodePath();try{unlinkSync(_0x546940);}catch{}}export function isStoredDeviceCodeExpired(_0x38277b){const _0x318a35=a11_0xe0dc;return Date['now']()-new Date(_0x38277b['createdAt'])[_0x318a35(0xb3)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x2e366d,_0x1592d6){const _0x2f591b=a11_0xe0dc,_0x26f9c1=_0x2e366d+'/api/device-auth/token',_0x2ca4db=new AbortController(),_0x1b6059=setTimeout(()=>_0x2ca4db['abort'](),0x2710),_0x3cd315=await fetch(_0x26f9c1,{'method':_0x2f591b(0xdb),'headers':{'Content-Type':_0x2f591b(0xc2)},'body':JSON[_0x2f591b(0xe3)]({'code':_0x1592d6}),'signal':_0x2ca4db[_0x2f591b(0xac)]});clearTimeout(_0x1b6059);if(!_0x3cd315['ok'])throw CliErrors[_0x2f591b(0xc9)](_0x2f591b(0xab)+_0x3cd315[_0x2f591b(0xd3)]);const _0x3cb6c2=await _0x3cd315[_0x2f591b(0xe2)](),_0x4c2c77=_0x3cb6c2[_0x2f591b(0xe9)]&&typeof _0x3cb6c2[_0x2f591b(0xe9)]===_0x2f591b(0xed)?_0x3cb6c2[_0x2f591b(0xe9)]:_0x3cb6c2;if(!_0x4c2c77||typeof _0x4c2c77[_0x2f591b(0xd3)]!==_0x2f591b(0xbf))throw CliErrors['apiError'](_0x2f591b(0xc3));return{'status':_0x4c2c77['status'],'access_key':typeof _0x4c2c77['access_key']===_0x2f591b(0xbf)?_0x4c2c77[_0x2f591b(0xe7)]:undefined};}export async function pollDeviceToken(_0x3d53c4,_0x2076a3,_0x49fe79){const _0x4c82b3=a11_0xe0dc;let _0x25f957=0x0;for(let _0x2b0480=0x0;_0x2b0480<MAX_POLLS;_0x2b0480++){if(_0x49fe79[_0x4c82b3(0xd4)])throw CliErrors[_0x4c82b3(0xdf)](_0x4c82b3(0xdc));let _0x4ebcce;try{_0x4ebcce=await fetchDeviceToken(_0x3d53c4,_0x2076a3);}catch(_0x382c76){if(_0x382c76 instanceof Error&&_0x382c76[_0x4c82b3(0xc5)]==='AbortError')throw CliErrors[_0x4c82b3(0xdf)](_0x4c82b3(0xdc));_0x25f957++;if(_0x25f957>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4c82b3(0xc9)](_0x4c82b3(0xae));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x25f957+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4c82b3(0xa9)),await sleep(POLL_INTERVAL_MS);continue;}_0x25f957=0x0;if(_0x4ebcce[_0x4c82b3(0xd3)]===_0x4c82b3(0xb1)){if(!_0x4ebcce[_0x4c82b3(0xe7)])throw CliErrors[_0x4c82b3(0xcb)](_0x4c82b3(0xe5));return _0x4ebcce[_0x4c82b3(0xe7)];}if(_0x4ebcce['status']===_0x4c82b3(0xf1)){deleteStoredDeviceCode();throw CliErrors[_0x4c82b3(0xa8)](_0x4c82b3(0xb2));}const _0x67ddc9=(_0x2b0480+0x1)*POLL_INTERVAL_MS,_0x17ecd9=DEVICE_CODE_TTL_MS-_0x67ddc9,_0x50439e=Math['floor'](_0x17ecd9/0xea60),_0x4ccf14=Math[_0x4c82b3(0xce)](_0x17ecd9%0xea60/0x3e8);process[_0x4c82b3(0xc8)][_0x4c82b3(0xcf)](_0x4c82b3(0xb6)+_0x50439e+':'+String(_0x4ccf14)[_0x4c82b3(0xf4)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x4c82b3(0xa8)](_0x4c82b3(0xaa));}function sleep(_0x53ba02){return new Promise(_0x43d52d=>setTimeout(_0x43d52d,_0x53ba02));}export const authDeviceDefinition={'service':'auth','command':a11_0x3da4bf(0xc7),'description':a11_0x3da4bf(0xf5),'risk':a11_0x3da4bf(0xcf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x3da4bf(0xe0),'type':a11_0x3da4bf(0xca),'description':a11_0x3da4bf(0xd8),'default':!![]},{'name':a11_0x3da4bf(0xc6),'type':a11_0x3da4bf(0xca),'description':a11_0x3da4bf(0xde),'default':![]},{'name':'source','type':a11_0x3da4bf(0xbf),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x3da4bf(0xf3)},{'name':a11_0x3da4bf(0xd9),'type':a11_0x3da4bf(0xca),'description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x55b5fe){const _0x358f2a=a11_0x3da4bf,_0x322d26=resolveAuthScopeFlags(_0x55b5fe),_0x384757=_0x322d26['global']?_0x358f2a(0xe0):_0x358f2a(0xc6),_0x13b6f9=readScopedConfig(_0x322d26);if(_0x13b6f9[_0x358f2a(0xee)])return{'ok':!![],'message':_0x358f2a(0xb5)};const _0x46429d=(_0x55b5fe['str']('source')||_0x358f2a(0xf3))[_0x358f2a(0xb4)](),_0x41e03c=getUserDomain(),_0x1b8108=readStoredDeviceCode(),_0x510cb3=_0x1b8108&&!isStoredDeviceCodeExpired(_0x1b8108)?_0x1b8108[_0x358f2a(0xad)]:((()=>{const _0x4ea6c0=generateDeviceCode();return writeStoredDeviceCode(_0x4ea6c0,_0x384757),_0x4ea6c0;})()),_0x2cabee=buildDeviceAuthUrl(_0x41e03c,_0x510cb3,_0x46429d);if(_0x55b5fe[_0x358f2a(0xc1)]('url-only'))return console[_0x358f2a(0xba)](_0x2cabee),{'ok':!![]};writeCliSideChannelLine(_0x358f2a(0xb8)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x2cabee),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x358f2a(0xe6));if(_0x55b5fe[_0x358f2a(0xf0)])return writeCliSideChannelLine(_0x358f2a(0xaf)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x358f2a(0xcc)};writeCliSideChannelLine(_0x358f2a(0xec));const _0x3804cf=new AbortController(),_0x543343=()=>{const _0x27b037=_0x358f2a;_0x3804cf[_0x27b037(0xd6)](),process[_0x27b037(0xbb)](_0x27b037(0xda),_0x543343);};process['once'](_0x358f2a(0xda),_0x543343);let _0x2adbe8;try{_0x2adbe8=await pollDeviceToken(_0x41e03c,_0x510cb3,_0x3804cf[_0x358f2a(0xac)]);}finally{process['removeListener'](_0x358f2a(0xda),_0x543343);}if(!ACCESS_KEY_PATTERN[_0x358f2a(0xea)](_0x2adbe8))throw CliErrors[_0x358f2a(0xcb)](_0x358f2a(0xe5));const _0xbd66ec=readScopedConfig(_0x322d26);return _0xbd66ec[_0x358f2a(0xee)]=_0x2adbe8,writeScopedConfig(_0xbd66ec,_0x322d26),deleteStoredDeviceCode(),process[_0x358f2a(0xc8)][_0x358f2a(0xcf)]('\x0a'),writeCliSideChannelLine(_0x358f2a(0xeb)+_0x384757+_0x358f2a(0xbd)),writeCliSideChannelLine('Verify:\x20'+CLI_BIN_NAME+_0x358f2a(0xb9)),{'ok':!![],'message':_0x358f2a(0xbe)};}};
|