@lovrabet/lovrabet-cli 2.1.16-beta.1 → 2.1.16
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/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
(function(_0x59f49e,_0x57a9eb){const _0x1d3296=a0_0xf059,_0xba53b1=_0x59f49e();while(!![]){try{const _0x14474d=-parseInt(_0x1d3296(0x151))/0x1*(parseInt(_0x1d3296(0x15c))/0x2)+-parseInt(_0x1d3296(0x153))/0x3*(parseInt(_0x1d3296(0x152))/0x4)+-parseInt(_0x1d3296(0x13e))/0x5+parseInt(_0x1d3296(0x15b))/0x6+parseInt(_0x1d3296(0x136))/0x7*(parseInt(_0x1d3296(0x13d))/0x8)+-parseInt(_0x1d3296(0x142))/0x9+parseInt(_0x1d3296(0x150))/0xa*(parseInt(_0x1d3296(0x135))/0xb);if(_0x14474d===_0x57a9eb)break;else _0xba53b1['push'](_0xba53b1['shift']());}catch(_0x5b1228){_0xba53b1['push'](_0xba53b1['shift']());}}}(a0_0x7e9d,0x384cd));function a0_0xf059(_0x5d395f,_0x2ffca4){_0x5d395f=_0x5d395f-0x135;const _0x7e9d17=a0_0x7e9d();let _0xf0590f=_0x7e9d17[_0x5d395f];return _0xf0590f;}import{jsx as a0_0x16fb9b}from'react/jsx-runtime';function a0_0x7e9d(){const _0x56b8c7=['flags','exit','1742536VXaIKg','908950inUPJq','original','corrected','log','107694pjwpoC','definition','assign','stderr','Hint:\x20','name','flatMap','Error:\x20',':\x20--','input','message','./framework/preparse.js','code','error','10ZWlmTD','1EXxPcp','313796rGaybT','12MLFttm','exitCode','write','defaultCommand','ERR_STREAM_DESTROYED','ERR_USE_AFTER_CLOSE','help','\x0aCancelled.\x0a','2662464RGiyEf','351178AEUflM','args','2774035gkFDdv','7zrmzRh','length','\x20->\x20--','unknownCommand','handler'];a0_0x7e9d=function(){return _0x56b8c7;};return a0_0x7e9d();}import a0_0x29c97e 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';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x29c97e(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x3b8457){handleError(_0x3b8457);}}async function run(){const _0x264aa4=a0_0xf059;let _0x43fabd=cli[_0x264aa4(0x14b)][0x0],_0x2d608f=cli[_0x264aa4(0x14b)][0x1];const _0x2f3a92=cli[_0x264aa4(0x13b)];try{const {correctFlags:_0x13d849}=await import(_0x264aa4(0x14d)),_0x4f3da8=getAllDefinitions()[_0x264aa4(0x148)](_0x47899c=>_0x47899c[_0x264aa4(0x13b)]??[]),{flags:_0x1e3d4e,corrections:_0x579934}=_0x13d849(_0x2f3a92,_0x4f3da8);if(_0x579934[_0x264aa4(0x137)]>0x0){for(const _0x568a7d of _0x579934){process['stderr'][_0x264aa4(0x155)]('[preparse]\x20'+_0x568a7d[_0x264aa4(0x13a)]+_0x264aa4(0x14a)+_0x568a7d[_0x264aa4(0x13f)]+_0x264aa4(0x138)+_0x568a7d[_0x264aa4(0x140)]+'\x0a');}Object[_0x264aa4(0x144)](_0x2f3a92,_0x1e3d4e);}}catch{}if(!_0x43fabd){const {waitUntilExit:_0x568c06}=render(a0_0x16fb9b(Help,{}));await _0x568c06();return;}if(!isKnownService(_0x43fabd)){const _0x254612=resolveDynamicServiceCommand(cli[_0x264aa4(0x14b)],_0x2f3a92);if(_0x254612){if(_0x2f3a92[_0x264aa4(0x159)]){console['log'](generateCommandHelp(_0x254612['definition']));return;}Object[_0x264aa4(0x144)](_0x2f3a92,_0x254612[_0x264aa4(0x13b)]);const _0x322272=buildConfigFromFlags(_0x2f3a92);await initGlobalEnvironment(_0x322272);const _0xebf1f=createPipelineEnv(_0x322272,_0x2f3a92);_0xebf1f[_0x264aa4(0x15d)]=_0x254612['args'],await runCommand(_0x254612[_0x264aa4(0x143)],_0xebf1f);return;}if(_0x2f3a92[_0x264aa4(0x159)]){const _0x469869=generateDynamicServiceHelp(_0x43fabd);if(_0x469869){console[_0x264aa4(0x141)](_0x469869);return;}}const {waitUntilExit:_0x3fd66b}=render(a0_0x16fb9b(Help,{}));await _0x3fd66b();return;}const _0x2ea3dc=getServiceEntry(_0x43fabd);if(!_0x2d608f){if(_0x2f3a92[_0x264aa4(0x159)]){console[_0x264aa4(0x141)](generateServiceHelp(_0x43fabd));return;}if(_0x2ea3dc['defaultCommand'])_0x2d608f=_0x2ea3dc[_0x264aa4(0x156)];else{console[_0x264aa4(0x141)](generateServiceHelp(_0x43fabd));return;}}const _0x5008d4=findDefinition(_0x43fabd,_0x2d608f);!_0x5008d4&&(console[_0x264aa4(0x141)](generateServiceHelp(_0x43fabd)),handleError(CliErrors[_0x264aa4(0x139)](_0x43fabd+'\x20'+_0x2d608f)));if(_0x2f3a92['help']){console[_0x264aa4(0x141)](generateCommandHelp(_0x5008d4));return;}const _0x4e430a=buildConfigFromFlags(_0x2f3a92);await initGlobalEnvironment(_0x4e430a);const _0x1c6385=createPipelineEnv(_0x4e430a,_0x2f3a92);_0x1c6385[_0x264aa4(0x15d)]=cli['input']['slice'](0x2),await runCommand(_0x5008d4,_0x1c6385);}function handleError(_0x2d76c4){const _0x1ad2b9=a0_0xf059;if(_0x2d76c4 instanceof CliError){_0x2d76c4[_0x1ad2b9(0x14e)]==='cancelled'&&(process[_0x1ad2b9(0x145)][_0x1ad2b9(0x155)](_0x1ad2b9(0x15a)),process[_0x1ad2b9(0x13c)](0x0));console[_0x1ad2b9(0x14f)](_0x1ad2b9(0x149)+_0x2d76c4[_0x1ad2b9(0x14c)]);if(_0x2d76c4['hint'])console[_0x1ad2b9(0x14f)](_0x1ad2b9(0x146)+_0x2d76c4['hint']);process[_0x1ad2b9(0x13c)](_0x2d76c4[_0x1ad2b9(0x154)]);}isUserCancellation(_0x2d76c4)&&(process[_0x1ad2b9(0x145)][_0x1ad2b9(0x155)]('\x0aCancelled.\x0a'),process[_0x1ad2b9(0x13c)](0x0)),console[_0x1ad2b9(0x14f)]('Unexpected\x20error:',_0x2d76c4),process['exit'](0x1);}function isUserCancellation(_0x4e2720){const _0x20bb21=a0_0xf059;if(!(_0x4e2720 instanceof Error))return![];if(_0x4e2720[_0x20bb21(0x147)]==='ExitPromptError')return!![];if(_0x4e2720['code']===_0x20bb21(0x158))return!![];if(_0x4e2720[_0x20bb21(0x14e)]===_0x20bb21(0x157))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0xc705eb=a1_0x4f9d;function a1_0x4f9d(_0x34e938,_0x345ce5){_0x34e938=_0x34e938-0x121;const _0x23a5a3=a1_0x23a5();let _0x4f9d48=_0x23a5a3[_0x34e938];return _0x4f9d48;}(function(_0x562f11,_0x4372bf){const _0xe83a67=a1_0x4f9d,_0xf1d398=_0x562f11();while(!![]){try{const _0x4bacb2=-parseInt(_0xe83a67(0x136))/0x1+-parseInt(_0xe83a67(0x197))/0x2*(parseInt(_0xe83a67(0x152))/0x3)+-parseInt(_0xe83a67(0x144))/0x4*(-parseInt(_0xe83a67(0x18f))/0x5)+parseInt(_0xe83a67(0x162))/0x6+-parseInt(_0xe83a67(0x175))/0x7+-parseInt(_0xe83a67(0x15f))/0x8*(parseInt(_0xe83a67(0x193))/0x9)+parseInt(_0xe83a67(0x167))/0xa*(parseInt(_0xe83a67(0x130))/0xb);if(_0x4bacb2===_0x4372bf)break;else _0xf1d398['push'](_0xf1d398['shift']());}catch(_0x1dd862){_0xf1d398['push'](_0xf1d398['shift']());}}}(a1_0x23a5,0xd7fad));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0xc705eb(0x145),'type':a1_0xc705eb(0x18d),'description':a1_0xc705eb(0x18e)},KEYWORD_FLAG={'name':a1_0xc705eb(0x147),'type':a1_0xc705eb(0x18d),'description':a1_0xc705eb(0x17f)},DOC_CODE_FLAG={'name':'code','type':a1_0xc705eb(0x18d),'required':!![],'description':a1_0xc705eb(0x185)},DOCS=[{'code':a1_0xc705eb(0x164),'category':a1_0xc705eb(0x15d),'title':a1_0xc705eb(0x14a),'method':a1_0xc705eb(0x12b),'path':a1_0xc705eb(0x163),'summary':'分页获取数据集列表','whenToUse':'需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','pathParams':[],'queryParams':[],'bodySchema':a1_0xc705eb(0x181),'responseHighlights':[a1_0xc705eb(0x171),a1_0xc705eb(0x14c)],'examples':[a1_0xc705eb(0x182)],'notes':[a1_0xc705eb(0x155)],'markdown':[a1_0xc705eb(0x18a),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.']['join']('\x0a')},{'code':'dataset_detail','category':a1_0xc705eb(0x15d),'title':a1_0xc705eb(0x125),'method':a1_0xc705eb(0x16a),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0xc705eb(0x153),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':'code','description':a1_0xc705eb(0x157)}],'bodySchema':'None','responseHighlights':[a1_0xc705eb(0x12e),a1_0xc705eb(0x14d),a1_0xc705eb(0x169)],'examples':[a1_0xc705eb(0x170)],'notes':[a1_0xc705eb(0x15a)],'markdown':[a1_0xc705eb(0x184),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0xc705eb(0x16f)]('\x0a')},{'code':a1_0xc705eb(0x174),'category':a1_0xc705eb(0x15d),'title':a1_0xc705eb(0x123),'method':'POST','path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0xc705eb(0x139),'whenToUse':a1_0xc705eb(0x131),'pathParams':[{'name':a1_0xc705eb(0x17e),'description':a1_0xc705eb(0x186)},{'name':a1_0xc705eb(0x19a),'description':a1_0xc705eb(0x157)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0xc705eb(0x178),a1_0xc705eb(0x17a)],'examples':[a1_0xc705eb(0x13d)],'notes':[a1_0xc705eb(0x159)],'markdown':[a1_0xc705eb(0x160),'',a1_0xc705eb(0x180)][a1_0xc705eb(0x16f)]('\x0a')},{'code':a1_0xc705eb(0x195),'category':a1_0xc705eb(0x15d),'title':'Aggregate\x20dataset\x20data','method':a1_0xc705eb(0x12b),'path':a1_0xc705eb(0x172),'summary':a1_0xc705eb(0x149),'whenToUse':a1_0xc705eb(0x177),'pathParams':[{'name':a1_0xc705eb(0x17e),'description':a1_0xc705eb(0x186)},{'name':'datasetCode','description':a1_0xc705eb(0x157)}],'queryParams':[],'bodySchema':a1_0xc705eb(0x127),'responseHighlights':[a1_0xc705eb(0x196),a1_0xc705eb(0x199)],'examples':[a1_0xc705eb(0x17d)],'notes':[a1_0xc705eb(0x198),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0xc705eb(0x12a),'',a1_0xc705eb(0x16b)][a1_0xc705eb(0x16f)]('\x0a')},{'code':a1_0xc705eb(0x13c),'category':a1_0xc705eb(0x15d),'title':a1_0xc705eb(0x12c),'method':a1_0xc705eb(0x12b),'path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0xc705eb(0x132),'whenToUse':a1_0xc705eb(0x124),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0xc705eb(0x19a),'description':a1_0xc705eb(0x157)}],'queryParams':[],'bodySchema':a1_0xc705eb(0x142),'responseHighlights':[a1_0xc705eb(0x179)],'examples':[a1_0xc705eb(0x13f)],'notes':[a1_0xc705eb(0x137)],'markdown':a1_0xc705eb(0x134)},{'code':'dataset_data_create','category':a1_0xc705eb(0x15d),'title':a1_0xc705eb(0x18c),'method':a1_0xc705eb(0x12b),'path':a1_0xc705eb(0x14e),'summary':'创建数据','whenToUse':a1_0xc705eb(0x13b),'pathParams':[{'name':a1_0xc705eb(0x17e),'description':a1_0xc705eb(0x186)},{'name':a1_0xc705eb(0x19a),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0xc705eb(0x14b),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0xc705eb(0x12f)],'notes':[a1_0xc705eb(0x16d)],'markdown':a1_0xc705eb(0x150)},{'code':a1_0xc705eb(0x165),'category':'bf','title':a1_0xc705eb(0x168),'method':a1_0xc705eb(0x16a),'path':a1_0xc705eb(0x13a),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0xc705eb(0x121),'pathParams':[{'name':'appCode','description':a1_0xc705eb(0x186)},{'name':a1_0xc705eb(0x192),'description':a1_0xc705eb(0x18b)}],'queryParams':[],'bodySchema':a1_0xc705eb(0x183),'responseHighlights':[a1_0xc705eb(0x129)],'examples':[a1_0xc705eb(0x17c)],'notes':['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.'],'markdown':a1_0xc705eb(0x191)},{'code':a1_0xc705eb(0x148),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0xc705eb(0x12b),'path':a1_0xc705eb(0x138),'summary':a1_0xc705eb(0x141),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0xc705eb(0x192),'description':a1_0xc705eb(0x188)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0xc705eb(0x15c)],'examples':[a1_0xc705eb(0x158)],'notes':[a1_0xc705eb(0x187)],'markdown':a1_0xc705eb(0x16e)},{'code':'custom_sql_execute','category':a1_0xc705eb(0x143),'title':'Execute\x20custom\x20SQL','method':a1_0xc705eb(0x12b),'path':'/api/custom/executeSql','summary':a1_0xc705eb(0x15e),'whenToUse':a1_0xc705eb(0x12d),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0xc705eb(0x173)],'examples':[a1_0xc705eb(0x17b)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0xc705eb(0x156)}];function entrySummary(_0x1a86e2){const _0x4e9b3b=a1_0xc705eb;return{'code':_0x1a86e2[_0x4e9b3b(0x128)],'category':_0x1a86e2[_0x4e9b3b(0x145)],'method':_0x1a86e2['method'],'path':_0x1a86e2['path'],'summary':_0x1a86e2[_0x4e9b3b(0x13e)],'whenToUse':_0x1a86e2[_0x4e9b3b(0x190)]};}export function listApiDocEntries(_0x29f9e6={}){const _0x28e8b4=a1_0xc705eb,_0x5ccab6=String(_0x29f9e6[_0x28e8b4(0x145)]||'')[_0x28e8b4(0x122)](),_0x20b9a8=String(_0x29f9e6[_0x28e8b4(0x147)]||'')[_0x28e8b4(0x122)]()[_0x28e8b4(0x189)]();return DOCS[_0x28e8b4(0x146)](_0x43ff86=>{const _0x4734bd=_0x28e8b4;if(_0x5ccab6&&_0x43ff86[_0x4734bd(0x145)]!==_0x5ccab6)return![];if(!_0x20b9a8)return!![];return[_0x43ff86[_0x4734bd(0x128)],_0x43ff86[_0x4734bd(0x145)],_0x43ff86[_0x4734bd(0x126)],_0x43ff86[_0x4734bd(0x135)],_0x43ff86[_0x4734bd(0x13e)],_0x43ff86[_0x4734bd(0x190)],_0x43ff86[_0x4734bd(0x14f)]]['join']('\x20')[_0x4734bd(0x189)]()[_0x4734bd(0x154)](_0x20b9a8);})['map'](entrySummary);}export function getApiDocDetail(_0x3706ef){const _0x127171=a1_0xc705eb,_0x59369f=DOCS[_0x127171(0x16c)](_0xbcb32=>_0xbcb32[_0x127171(0x128)]===_0x3706ef);if(!_0x59369f)throw CliErrors[_0x127171(0x151)](_0x127171(0x133)+_0x3706ef);return{..._0x59369f};}const apiDocList={'service':a1_0xc705eb(0x161),'command':a1_0xc705eb(0x140),'description':a1_0xc705eb(0x15b),'risk':a1_0xc705eb(0x166),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x39daad){const _0x49805c=a1_0xc705eb,_0x39ec6d=listApiDocEntries({'category':_0x39daad[_0x49805c(0x176)](_0x49805c(0x145)),'keyword':_0x39daad[_0x49805c(0x176)](_0x49805c(0x147))});return{'ok':!![],'data':{'total':_0x39ec6d['length'],'items':_0x39ec6d}};}},apiDocDetail={'service':a1_0xc705eb(0x161),'command':a1_0xc705eb(0x194),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0xc705eb(0x166),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x47b2bb){const _0x50c234=a1_0xc705eb;return{'ok':!![],'data':getApiDocDetail(_0x47b2bb[_0x50c234(0x176)](_0x50c234(0x128)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];function a1_0x23a5(){const _0x326ca3=['条件过滤查询数据','/client/bff/endpoint/{appCode}/{functionName}','需要向指定数据集新增一条业务数据时使用','dataset_data_get_one','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27','summary','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','list','执行指定\x20BF\x20函数','{\x22id\x22:123}','custom_sql','9168ainWAR','category','filter','keyword','bf_execute','聚合查询数据集数据','List\x20datasets','{\x22fieldName\x22:\x22value\x22}','paging.totalCount\x20gives\x20total\x20rows','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','/api/{appCode}/{datasetCode}/create','title','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','validation','194685jEPbwP','获取数据集详情','includes','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','32-character\x20dataset\x20code','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','List\x20available\x20runtime\x20API\x20documentation\x20entries','Returns\x20script\x20business\x20payload','dataset','执行自定义\x20SQL','3826328pQddeE','##\x20Filter\x20dataset\x20data','api-doc','450270EUpdlD','/api/dataset/get-dataset-list-by-app-code','dataset_list','bf_detail','read','520PkMUVI','Get\x20BF\x20endpoint\x20function\x20contract','operations\x20describes\x20runtime\x20APIs','GET','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','find','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','join','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','tableData\x20contains\x20dataset\x20id/code/name','/api/{appCode}/{datasetCode}/aggregate','Returns\x20SQL\x20execution\x20payload','dataset_data_filter','8829163Evvxjd','str','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','tableData\x20contains\x20records','Returns\x20one\x20matching\x20business\x20record','paging\x20contains\x20pagination','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','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','appCode','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','None','##\x20Dataset\x20detail','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Current\x20app\x20code','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Endpoint\x20function\x20name','toLowerCase','##\x20List\x20datasets','Exact\x20endpoint\x20function\x20name','Create\x20dataset\x20record','string','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','1645tbLPIP','whenToUse','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','functionName','18JwznsP','detail','dataset_data_aggregate','result\x20rows\x20contain\x20aggregate\x20aliases','10YBPyjq','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','where\x20filters\x20before\x20aggregation','datasetCode','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','trim','Filter\x20dataset\x20data','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','Dataset\x20detail','method','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','code','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','##\x20Aggregate\x20dataset\x20data','POST','Get\x20one\x20dataset\x20record','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','fields/properties\x20describe\x20data\x20shape','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','709071YOvkXH','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','查询单条数据','API\x20doc\x20code\x20not\x20found:\x20','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','path','754066rjYOOP','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','/api/endpoint/{appCode}/{functionName}'];a1_0x23a5=function(){return _0x326ca3;};return a1_0x23a5();}
|
|
1
|
+
const a1_0x817b04=a1_0x2134;(function(_0x246895,_0x190785){const _0x431b42=a1_0x2134,_0x1e00f7=_0x246895();while(!![]){try{const _0x1a5226=-parseInt(_0x431b42(0xdc))/0x1+parseInt(_0x431b42(0xec))/0x2*(parseInt(_0x431b42(0xa7))/0x3)+parseInt(_0x431b42(0xff))/0x4*(-parseInt(_0x431b42(0x97))/0x5)+parseInt(_0x431b42(0xf8))/0x6*(-parseInt(_0x431b42(0x8f))/0x7)+-parseInt(_0x431b42(0xcf))/0x8+parseInt(_0x431b42(0x8e))/0x9*(parseInt(_0x431b42(0xbc))/0xa)+parseInt(_0x431b42(0xb5))/0xb;if(_0x1a5226===_0x190785)break;else _0x1e00f7['push'](_0x1e00f7['shift']());}catch(_0x73121e){_0x1e00f7['push'](_0x1e00f7['shift']());}}}(a1_0x18a3,0x1fb23));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x817b04(0xf6),'type':a1_0x817b04(0xb4),'description':a1_0x817b04(0x108)},KEYWORD_FLAG={'name':a1_0x817b04(0xc2),'type':a1_0x817b04(0xb4),'description':a1_0x817b04(0xba)},DOC_CODE_FLAG={'name':a1_0x817b04(0xb7),'type':'string','required':!![],'description':a1_0x817b04(0xd5)},DOCS=[{'code':a1_0x817b04(0xfc),'category':a1_0x817b04(0xd3),'title':a1_0x817b04(0xf9),'method':a1_0x817b04(0x107),'path':a1_0x817b04(0x88),'summary':a1_0x817b04(0xef),'whenToUse':a1_0x817b04(0x99),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x817b04(0xb1),a1_0x817b04(0xd8)],'examples':[a1_0x817b04(0xf3)],'notes':[a1_0x817b04(0xda)],'markdown':[a1_0x817b04(0xdb),'',a1_0x817b04(0x9d)][a1_0x817b04(0xc5)]('\x0a')},{'code':a1_0x817b04(0x94),'category':a1_0x817b04(0xd3),'title':a1_0x817b04(0x101),'method':a1_0x817b04(0x104),'path':a1_0x817b04(0xe7),'summary':a1_0x817b04(0xb2),'whenToUse':a1_0x817b04(0xce),'pathParams':[],'queryParams':[{'name':a1_0x817b04(0xb7),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x817b04(0xa8),'responseHighlights':[a1_0x817b04(0x10c),a1_0x817b04(0x10a),a1_0x817b04(0x9e)],'examples':[a1_0x817b04(0xaf)],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':[a1_0x817b04(0x100),'',a1_0x817b04(0xfb)][a1_0x817b04(0xc5)]('\x0a')},{'code':a1_0x817b04(0xb3),'category':'dataset','title':a1_0x817b04(0xdd),'method':'POST','path':a1_0x817b04(0xe1),'summary':a1_0x817b04(0x96),'whenToUse':a1_0x817b04(0x89),'pathParams':[{'name':a1_0x817b04(0xe0),'description':a1_0x817b04(0xcc)},{'name':a1_0x817b04(0x95),'description':a1_0x817b04(0xab)}],'queryParams':[],'bodySchema':a1_0x817b04(0x9f),'responseHighlights':[a1_0x817b04(0xcb),a1_0x817b04(0xfa)],'examples':[a1_0x817b04(0xb9)],'notes':[a1_0x817b04(0x8a)],'markdown':[a1_0x817b04(0xc3),'',a1_0x817b04(0xd7)][a1_0x817b04(0xc5)]('\x0a')},{'code':a1_0x817b04(0xee),'category':a1_0x817b04(0xd3),'title':a1_0x817b04(0x8d),'method':a1_0x817b04(0x107),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x817b04(0xd9),'whenToUse':a1_0x817b04(0xa3),'pathParams':[{'name':'appCode','description':a1_0x817b04(0xcc)},{'name':a1_0x817b04(0x95),'description':a1_0x817b04(0xab)}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x817b04(0xe8),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x817b04(0x9c)],'notes':[a1_0x817b04(0xf5),a1_0x817b04(0xd4)],'markdown':[a1_0x817b04(0xb0),'',a1_0x817b04(0xac)][a1_0x817b04(0xc5)]('\x0a')},{'code':a1_0x817b04(0x91),'category':a1_0x817b04(0xd3),'title':a1_0x817b04(0xf4),'method':a1_0x817b04(0x107),'path':a1_0x817b04(0xc8),'summary':'查询单条数据','whenToUse':a1_0x817b04(0xeb),'pathParams':[{'name':a1_0x817b04(0xe0),'description':'Current\x20app\x20code'},{'name':a1_0x817b04(0x95),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x817b04(0x103),'responseHighlights':[a1_0x817b04(0xa5)],'examples':[a1_0x817b04(0xa6)],'notes':[a1_0x817b04(0xb6)],'markdown':a1_0x817b04(0xc0)},{'code':a1_0x817b04(0xd0),'category':a1_0x817b04(0xd3),'title':a1_0x817b04(0xbd),'method':'POST','path':a1_0x817b04(0xe3),'summary':'创建数据','whenToUse':a1_0x817b04(0xe2),'pathParams':[{'name':a1_0x817b04(0xe0),'description':a1_0x817b04(0xcc)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x817b04(0xca),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x817b04(0xcd)],'notes':[a1_0x817b04(0xf2)],'markdown':a1_0x817b04(0x109)},{'code':a1_0x817b04(0xa0),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':'GET','path':a1_0x817b04(0xc4),'summary':a1_0x817b04(0xf1),'whenToUse':a1_0x817b04(0xdf),'pathParams':[{'name':'appCode','description':a1_0x817b04(0xcc)},{'name':a1_0x817b04(0xbe),'description':a1_0x817b04(0xe5)}],'queryParams':[],'bodySchema':a1_0x817b04(0xa8),'responseHighlights':[a1_0x817b04(0xa9)],'examples':[a1_0x817b04(0x93)],'notes':['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.'],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x817b04(0xc9),'category':'bf','title':a1_0x817b04(0xd6),'method':a1_0x817b04(0x107),'path':a1_0x817b04(0xf0),'summary':a1_0x817b04(0xc1),'whenToUse':a1_0x817b04(0xa4),'pathParams':[{'name':a1_0x817b04(0xe0),'description':'Current\x20app\x20code'},{'name':a1_0x817b04(0xbe),'description':a1_0x817b04(0x8c)}],'queryParams':[],'bodySchema':a1_0x817b04(0xfd),'responseHighlights':[a1_0x817b04(0xed)],'examples':[a1_0x817b04(0x9a)],'notes':[a1_0x817b04(0xfe)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x817b04(0xc7),'category':'custom_sql','title':a1_0x817b04(0xae),'method':a1_0x817b04(0x107),'path':a1_0x817b04(0x98),'summary':a1_0x817b04(0xe4),'whenToUse':a1_0x817b04(0x90),'pathParams':[],'queryParams':[],'bodySchema':a1_0x817b04(0xaa),'responseHighlights':[a1_0x817b04(0xe6)],'examples':[a1_0x817b04(0xea)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x817b04(0x9b)}];function a1_0x2134(_0x54da3c,_0x4ee573){_0x54da3c=_0x54da3c-0x88;const _0x18a351=a1_0x18a3();let _0x2134e7=_0x18a351[_0x54da3c];return _0x2134e7;}function entrySummary(_0x377b4a){const _0x244a30=a1_0x817b04;return{'code':_0x377b4a[_0x244a30(0xb7)],'category':_0x377b4a[_0x244a30(0xf6)],'method':_0x377b4a[_0x244a30(0x102)],'path':_0x377b4a[_0x244a30(0xbf)],'summary':_0x377b4a[_0x244a30(0x92)],'whenToUse':_0x377b4a[_0x244a30(0xa2)]};}export function listApiDocEntries(_0x2ba91c={}){const _0x3d7bb4=a1_0x817b04,_0x3be852=String(_0x2ba91c['category']||'')[_0x3d7bb4(0x10b)](),_0x1678a4=String(_0x2ba91c[_0x3d7bb4(0xc2)]||'')['trim']()[_0x3d7bb4(0xde)]();return DOCS['filter'](_0x5bee6b=>{const _0x2da720=_0x3d7bb4;if(_0x3be852&&_0x5bee6b['category']!==_0x3be852)return![];if(!_0x1678a4)return!![];return[_0x5bee6b[_0x2da720(0xb7)],_0x5bee6b[_0x2da720(0xf6)],_0x5bee6b[_0x2da720(0x102)],_0x5bee6b[_0x2da720(0xbf)],_0x5bee6b[_0x2da720(0x92)],_0x5bee6b['whenToUse'],_0x5bee6b[_0x2da720(0xad)]][_0x2da720(0xc5)]('\x20')[_0x2da720(0xde)]()[_0x2da720(0xa1)](_0x1678a4);})[_0x3d7bb4(0xb8)](entrySummary);}export function getApiDocDetail(_0x5f0922){const _0x5e5f88=a1_0x817b04,_0x28368d=DOCS[_0x5e5f88(0xe9)](_0x13bde6=>_0x13bde6[_0x5e5f88(0xb7)]===_0x5f0922);if(!_0x28368d)throw CliErrors[_0x5e5f88(0xd2)](_0x5e5f88(0xbb)+_0x5f0922);return{..._0x28368d};}function a1_0x18a3(){const _0x4b0104=['{\x22param\x22:\x22value\x22}','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','29032iisIwX','##\x20Dataset\x20detail','Dataset\x20detail','method','{\x22id\x22:123}','GET','read','length','POST','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','trim','fields/properties\x20describe\x20data\x20shape','/api/dataset/get-dataset-list-by-app-code','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','detail','Endpoint\x20function\x20name','Aggregate\x20dataset\x20data','531mYFdyI','470008fTFRLG','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','dataset_data_get_one','summary','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','dataset_detail','datasetCode','条件过滤查询数据','35rBFwyL','/api/custom/executeSql','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','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','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','operations\x20describes\x20runtime\x20APIs','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','bf_detail','includes','whenToUse','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','Returns\x20one\x20matching\x20business\x20record','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','51xnFKHF','None','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','32-character\x20dataset\x20code','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','title','Execute\x20custom\x20SQL','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','##\x20Aggregate\x20dataset\x20data','tableData\x20contains\x20dataset\x20id/code/name','获取数据集详情','dataset_data_filter','string','1935890ENuaaa','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','code','map','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22currentPage\x22:1,\x22pageSize\x22:5}\x27','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','API\x20doc\x20code\x20not\x20found:\x20','32090jCDqnl','Create\x20dataset\x20record','functionName','path','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','执行指定\x20BF\x20函数','keyword','##\x20Filter\x20dataset\x20data','/client/bff/endpoint/{appCode}/{functionName}','join','str','custom_sql_execute','/api/{appCode}/{datasetCode}/getOne','bf_execute','{\x22fieldName\x22:\x22value\x22}','tableData\x20contains\x20records','Current\x20app\x20code','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','1124352oklxTu','dataset_data_create','list','validation','dataset','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Execute\x20BF\x20endpoint\x20function','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','paging.totalCount\x20gives\x20total\x20rows','聚合查询数据集数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20List\x20datasets','120163ajvNED','Filter\x20dataset\x20data','toLowerCase','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','appCode','/api/{appCode}/{datasetCode}/filter','需要向指定数据集新增一条业务数据时使用','/api/{appCode}/{datasetCode}/create','执行自定义\x20SQL','Exact\x20endpoint\x20function\x20name','Returns\x20SQL\x20execution\x20payload','/api/dataset/getOneByCode?code={datasetCode}','result\x20rows\x20contain\x20aggregate\x20aliases','find','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','24742bfHSJv','Returns\x20script\x20business\x20payload','dataset_data_aggregate','分页获取数据集列表','/api/endpoint/{appCode}/{functionName}','按应用和函数名精确获取\x20BF\x20运行契约','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','Get\x20one\x20dataset\x20record','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','category','Show\x20runtime\x20API\x20documentation\x20by\x20code','12tnFSjp','List\x20datasets','paging\x20contains\x20pagination','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','dataset_list'];a1_0x18a3=function(){return _0x4b0104;};return a1_0x18a3();}const apiDocList={'service':'api-doc','command':a1_0x817b04(0xd1),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x817b04(0x105),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xe450ca){const _0x16c9a0=a1_0x817b04,_0x4ab35e=listApiDocEntries({'category':_0xe450ca[_0x16c9a0(0xc6)](_0x16c9a0(0xf6)),'keyword':_0xe450ca['str'](_0x16c9a0(0xc2))});return{'ok':!![],'data':{'total':_0x4ab35e[_0x16c9a0(0x106)],'items':_0x4ab35e}};}},apiDocDetail={'service':'api-doc','command':a1_0x817b04(0x8b),'description':a1_0x817b04(0xf7),'risk':a1_0x817b04(0x105),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x4e836d){const _0x559f43=a1_0x817b04;return{'ok':!![],'data':getApiDocDetail(_0x4e836d[_0x559f43(0xc6)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a2_0xe98a(_0x192618,_0x22eff7){_0x192618=_0x192618-0x1c2;const _0x6ba2df=a2_0x6ba2();let _0xe98ab7=_0x6ba2df[_0x192618];return _0xe98ab7;}(function(_0x2c5290,_0x299773){const _0x35d9f0=a2_0xe98a,_0x509d53=_0x2c5290();while(!![]){try{const _0x25239f=parseInt(_0x35d9f0(0x1d7))/0x1+parseInt(_0x35d9f0(0x1d9))/0x2*(-parseInt(_0x35d9f0(0x1c2))/0x3)+-parseInt(_0x35d9f0(0x1da))/0x4*(-parseInt(_0x35d9f0(0x1c3))/0x5)+-parseInt(_0x35d9f0(0x1cf))/0x6+parseInt(_0x35d9f0(0x1c6))/0x7+parseInt(_0x35d9f0(0x1dc))/0x8*(parseInt(_0x35d9f0(0x1c4))/0x9)+-parseInt(_0x35d9f0(0x1d4))/0xa;if(_0x25239f===_0x299773)break;else _0x509d53['push'](_0x509d53['shift']());}catch(_0x4c9fa9){_0x509d53['push'](_0x509d53['shift']());}}}(a2_0x6ba2,0x8b6b4));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x3aaafb){const _0x4de5cd=a2_0xe98a,_0x529289=_0x3aaafb['trim'](),_0x3482d4=_0x529289[_0x4de5cd(0x1db)](-0x6)||_0x4de5cd(0x1d8),_0x35e83e=createHash(_0x4de5cd(0x1cc))['update'](_0x529289)['digest'](_0x4de5cd(0x1c8))['slice'](0x0,0xc);return _0x4de5cd(0x1d1)+_0x3482d4+'_'+_0x35e83e;}function a2_0x6ba2(){const _0x2cb3b4=['1725gdiHec','105VlMVan','37521RTglAf','stringify','5186804LiWjhB','EXDEV','hex','EACCES','utf8','items','sha256','find','.tmp','3724230nMqwyo','my-apps.json','ak_','trim','appName','7721780haEIxg','cache','homeDirName','760701wUizri','unknown','2038DThkua','198068AWrufW','slice','16ioancH','code'];a2_0x6ba2=function(){return _0x2cb3b4;};return a2_0x6ba2();}export function getAppCacheFilePath(_0x566943,_0x4bfe30){const _0x33a319=a2_0xe98a;return resolve(homedir(),PRODUCT_CONFIG[_0x33a319(0x1d6)],_0x33a319(0x1d5),_0x566943,fingerprintAccessKey(_0x4bfe30),_0x33a319(0x1d0));}export function readCachedAppList(_0x341a6a,_0x10490c){const _0x4a99f6=a2_0xe98a;if(!_0x10490c?.[_0x4a99f6(0x1d2)]())return null;const _0x377267=getAppCacheFilePath(_0x341a6a,_0x10490c);if(!existsSync(_0x377267))return null;try{const _0x5c10ba=readFileSync(_0x377267,_0x4a99f6(0x1ca));if(!_0x5c10ba[_0x4a99f6(0x1d2)]())return null;const _0x4960d5=JSON['parse'](_0x5c10ba);if(!Array['isArray'](_0x4960d5[_0x4a99f6(0x1cb)]))return null;return _0x4960d5;}catch{return null;}}export function writeCachedAppList(_0x5a3c2a,_0x51ebe1,_0x1dd1da){const _0x2da121=a2_0xe98a,_0x3bd39c=getAppCacheFilePath(_0x5a3c2a,_0x51ebe1),_0x45d006=dirname(_0x3bd39c);!existsSync(_0x45d006)&&mkdirSync(_0x45d006,{'recursive':!![]});const _0x1fdfbe=_0x3bd39c+_0x2da121(0x1ce);try{writeFileSync(_0x1fdfbe,JSON[_0x2da121(0x1c5)](_0x1dd1da,null,0x2)+'\x0a',{'encoding':_0x2da121(0x1ca),'mode':0x180});try{renameSync(_0x1fdfbe,_0x3bd39c);}catch(_0x58eb4e){if(_0x58eb4e[_0x2da121(0x1dd)]==='EPERM'||_0x58eb4e['code']===_0x2da121(0x1c7)||_0x58eb4e[_0x2da121(0x1dd)]===_0x2da121(0x1c9)){writeFileSync(_0x3bd39c,JSON['stringify'](_0x1dd1da,null,0x2)+'\x0a',{'encoding':_0x2da121(0x1ca)});try{unlinkSync(_0x1fdfbe);}catch{}}else throw _0x58eb4e;}}catch(_0x5d629c){try{unlinkSync(_0x1fdfbe);}catch{}throw _0x5d629c;}return _0x3bd39c;}export function resolveCachedAppCode(_0x283270,_0xcabbcc,_0x45ec65){const _0x5eb99c=a2_0xe98a;if(!_0x283270)return undefined;const _0x382915=readCachedAppList(_0xcabbcc,_0x45ec65),_0x5ff1c5=_0x382915?.[_0x5eb99c(0x1cb)][_0x5eb99c(0x1cd)](_0x57d645=>_0x57d645[_0x5eb99c(0x1d3)]===_0x283270&&isRuntimeAccessibleApp(_0x57d645));return _0x5ff1c5?.['appCode']?.[_0x5eb99c(0x1d2)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0xb1dc2=a3_0x2456;(function(_0x2de6d1,_0x32f264){const _0x25b10e=a3_0x2456,_0x32961f=_0x2de6d1();while(!![]){try{const _0x57f41f=-parseInt(_0x25b10e(0x19e))/0x1*(-parseInt(_0x25b10e(0x17d))/0x2)+parseInt(_0x25b10e(0x1a1))/0x3+-parseInt(_0x25b10e(0x183))/0x4*(parseInt(_0x25b10e(0x158))/0x5)+parseInt(_0x25b10e(0x16c))/0x6+parseInt(_0x25b10e(0x187))/0x7*(parseInt(_0x25b10e(0x1a6))/0x8)+-parseInt(_0x25b10e(0x18c))/0x9+-parseInt(_0x25b10e(0x178))/0xa*(-parseInt(_0x25b10e(0x151))/0xb);if(_0x57f41f===_0x32f264)break;else _0x32961f['push'](_0x32961f['shift']());}catch(_0x5f23d7){_0x32961f['push'](_0x32961f['shift']());}}}(a3_0x374e,0xedd94));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';function a3_0x2456(_0x46c65c,_0x171889){_0x46c65c=_0x46c65c-0x14e;const _0x374e12=a3_0x374e();let _0x2456ad=_0x374e12[_0x46c65c];return _0x2456ad;}import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0xb1dc2(0x184),'type':a3_0xb1dc2(0x167),'description':a3_0xb1dc2(0x190),'default':![]};function collectFlags(_0x31bccb,_0x214916){const _0x1de5c5=a3_0xb1dc2,_0x495d3d={};for(const _0x4ea89e of _0x214916){const _0x3ea839=_0x4ea89e[_0x1de5c5(0x176)]===_0x1de5c5(0x167)?_0x31bccb[_0x1de5c5(0x156)](_0x4ea89e[_0x1de5c5(0x182)]):_0x31bccb[_0x1de5c5(0x18a)](_0x4ea89e[_0x1de5c5(0x182)]);if(_0x3ea839!==''&&_0x3ea839!==![])_0x495d3d[_0x4ea89e[_0x1de5c5(0x182)]]=_0x3ea839;}if(_0x31bccb[_0x1de5c5(0x163)])_0x495d3d['nonInteractive']=!![];return _0x495d3d;}function a3_0x374e(){const _0x418086=['Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','App\x20\x22','4426488GEIyqP','appPublishStatus','Read\x20from\x20local\x20cache\x20only','find','init','join','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','\x20is\x20deprecated.\x20Use\x20`','Remote\x20app\x20name\x20to\x20activate','../../commands/app/remote-source.js','type','cache','4220aXrEbQ','envName','trim','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','enableI18n','303518QHHRwi','appcode','No\x20apps\x20found\x20on\x20the\x20platform.','Use\x20`','../../commands/app/cache.js','name','836236IgJIzL','global','production','args','843941EPEnyb','env','no-cache','str','fetchedAt','8379252wRbddW','\x20app\x20','Target\x20environment\x20(default:\x20current\x20env)','accessKey','Use\x20global\x20config\x20scope','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','remote','length','write','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','../../context.js','Usage:\x20','appCode','items','validation','Available\x20remote\x20apps:\x20','Default\x20app\x20candidate\x20set\x20to\x20\x22','read','1xYwUSk','\x20cached\x20app(s)\x20for\x20env=\x22','from','457695FftAAl','source','filter','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','Loaded\x20','56QmuGjL','Read\x20app\x20list\x20from\x20local\x20cache\x20only','Refreshed\x20app\x20cache\x20with\x20','entries','include-unpublished','isCurrent','appOwnerName','5951skMkcN','appName','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Filter\x20by\x20environment\x20(default:\x20current\x20env)','raw','bool','app','5kRDqJJ','\x20app(s)\x20for\x20env=\x22','local','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','Include\x20unpublished\x20apps\x20for\x20diagnostics','defaultApp','use','string','i18nInfo','No\x20cached\x20apps\x20found.','.appcode\x20to\x20.lovrabet.json.','nonInteractive','pull','\x22\x20not\x20found.','project-default','boolean','map'];a3_0x374e=function(){return _0x418086;};return a3_0x374e();}function normalizeLanguages(_0x5ba7b5){const _0x5ccd67=a3_0xb1dc2;if(!Array['isArray'](_0x5ba7b5))return[];return _0x5ba7b5[_0x5ccd67(0x1a3)](_0x1afc85=>typeof _0x1afc85==='string')[_0x5ccd67(0x168)](_0x1a9da4=>_0x1a9da4['trim']())[_0x5ccd67(0x1a3)](Boolean);}function buildRemoteAppI18nFields(_0x497580){const _0x36987c=a3_0xb1dc2,_0x3f9b56=normalizeLanguages(_0x497580[_0x36987c(0x160)]?.['langs']);return{'enableI18n':typeof _0x497580[_0x36987c(0x17c)]===_0x36987c(0x167)?_0x497580[_0x36987c(0x17c)]:null,'languages':_0x3f9b56,'i18nInfo':_0x497580[_0x36987c(0x160)]?{..._0x497580['i18nInfo'],'langs':_0x3f9b56['length']?_0x3f9b56:null}:null};}const initDef={'service':a3_0xb1dc2(0x157),'command':a3_0xb1dc2(0x170),'description':a3_0xb1dc2(0x153),'risk':a3_0xb1dc2(0x194),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x17812c){const _0x3c9fac=a3_0xb1dc2;return warnDeprecatedAppCommand(_0x3c9fac(0x170),CLI_BIN_NAME+_0x3c9fac(0x1a4)),await runInit(collectFlags(_0x17812c,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0xb1dc2(0x157),'command':'list','description':a3_0xb1dc2(0x15b),'risk':a3_0xb1dc2(0x19d),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0xb1dc2(0x188),'type':a3_0xb1dc2(0x15f),'description':a3_0xb1dc2(0x154),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0xb1dc2(0x15a),'type':'boolean','description':a3_0xb1dc2(0x1a7),'default':![]},{'name':'no-cache','type':a3_0xb1dc2(0x167),'description':a3_0xb1dc2(0x16a),'default':![]},{'name':a3_0xb1dc2(0x14e),'type':a3_0xb1dc2(0x167),'description':a3_0xb1dc2(0x15c),'default':![]}],async 'execute'(_0x4ec193){const _0xe3ad86=a3_0xb1dc2,_0x5ed2e6=_0x4ec193['str'](_0xe3ad86(0x188))||_0x4ec193[_0xe3ad86(0x179)]||getEnv()||_0xe3ad86(0x185),_0x41a67c=_0x4ec193['bool'](_0xe3ad86(0x15a)),_0x27fe69=_0x4ec193[_0xe3ad86(0x156)]('no-cache'),_0x529e14=_0x4ec193['bool']('include-unpublished'),{readRawConfigWithLayers:_0x154a9b,resolveDefaultAppSource:_0x1234ad,getLocalAppAliases:_0x4fc72f}=await import('../../context.js'),{getRemoteAppList:_0x2796f3}=await import(_0xe3ad86(0x175)),{config:_0x3df9ab,layers:_0x19bb31}=_0x154a9b(),_0x51b1c0=_0x1234ad(_0x19bb31),{defaultApp:_0x304e7c}=_0x3df9ab,_0x3e5c29=await _0x2796f3({'env':_0x5ed2e6,'accessKey':_0x4ec193[_0xe3ad86(0x18f)],'localOnly':_0x41a67c,'noCache':_0x27fe69}),_0x3cd090=_0x529e14?_0x3e5c29[_0xe3ad86(0x199)]:filterRuntimeAccessibleApps(_0x3e5c29['items']),_0x25fcce=_0x3e5c29[_0xe3ad86(0x199)][_0xe3ad86(0x193)]-_0x3cd090[_0xe3ad86(0x193)],_0x3eb2ec=_0x3cd090[_0xe3ad86(0x168)](_0x410cea=>{const _0x4853f5=_0xe3ad86;return{'name':_0x410cea[_0x4853f5(0x152)],'appcode':_0x410cea[_0x4853f5(0x198)],'named':!![],'definedIn':_0x4853f5(0x192),'isDefault':_0x410cea[_0x4853f5(0x152)]===_0x304e7c,...buildAppProfileListFields(_0x5ed2e6),...buildRemoteAppI18nFields(_0x410cea),'source':_0x3e5c29['source'],'owner':_0x410cea[_0x4853f5(0x150)]??null,'status':_0x410cea[_0x4853f5(0x16d)]??null,'cachedAt':_0x3e5c29[_0x4853f5(0x18b)]};}),_0x1c3626=_0x4fc72f(_0x3df9ab);let _0x16c2c0=0x0;for(const [_0x5a2c0d,_0x2bf0b5]of Object[_0xe3ad86(0x1a9)](_0x1c3626)){const _0x4641be=typeof _0x2bf0b5[_0xe3ad86(0x17e)]==='string'?_0x2bf0b5[_0xe3ad86(0x17e)]['trim']():'';if(!_0x4641be)continue;const _0x1ab4e9=findAppByCode(_0x3e5c29[_0xe3ad86(0x199)],_0x4641be);if(!_0x529e14&&_0x1ab4e9&&!isRuntimeAccessibleApp(_0x1ab4e9))continue;_0x16c2c0+=0x1,_0x3eb2ec['push']({'name':_0x5a2c0d,'appcode':_0x4641be,'named':!![],'definedIn':_0xe3ad86(0x15a),'isDefault':_0x5a2c0d===_0x304e7c,...buildAppProfileListFields(_0x5ed2e6),'source':'config','owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x3eb2ec,_0x4ec193['mergedCli']);const _0x34420b=_0x3eb2ec[_0xe3ad86(0x16f)](_0x464ff3=>_0x464ff3[_0xe3ad86(0x14f)]===!![]),_0x117da2=_0x304e7c??_0x34420b?.[_0xe3ad86(0x182)]??null,_0xe7328f={'env':_0x5ed2e6,'source':_0x3e5c29[_0xe3ad86(0x1a2)],'fetchedAt':_0x3e5c29[_0xe3ad86(0x18b)],'cachePath':_0x3e5c29['cachePath'],'globalPath':_0x19bb31['globalPath']??null,'projectPath':_0x19bb31['projectPath']??null,'defaultApp':_0x117da2,'defaultAppSource':_0x304e7c!=null?_0x51b1c0:null,'localAliasCount':_0x16c2c0,'remoteTotal':_0x3e5c29['items']['length'],'hiddenUnpublishedCount':_0x25fcce,'includeUnpublished':_0x529e14};if(_0x3eb2ec[_0xe3ad86(0x193)]===0x0)return{'ok':!![],'data':{'items':_0x3eb2ec,'meta':_0xe7328f},'message':_0x3e5c29[_0xe3ad86(0x1a2)]==='cache'?_0xe3ad86(0x161):_0xe3ad86(0x17f)};return{'ok':!![],'data':{'items':_0x3eb2ec,'meta':_0xe7328f}};}},pullDef={'service':a3_0xb1dc2(0x157),'command':a3_0xb1dc2(0x164),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0xb1dc2(0x188),'type':a3_0xb1dc2(0x15f),'description':a3_0xb1dc2(0x18e),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0xb1dc2(0x167),'description':a3_0xb1dc2(0x16e),'default':![]},{'name':a3_0xb1dc2(0x189),'type':a3_0xb1dc2(0x167),'description':a3_0xb1dc2(0x16a),'default':![]}],async 'execute'(_0x349531){const _0x32ce29=a3_0xb1dc2,_0x463a65=_0x349531['str'](_0x32ce29(0x188))||_0x349531[_0x32ce29(0x179)]||getEnv()||_0x32ce29(0x185),_0x5af929=_0x349531[_0x32ce29(0x156)](_0x32ce29(0x15a)),_0x36e8e1=_0x349531[_0x32ce29(0x156)](_0x32ce29(0x189)),{getRemoteAppList:_0x22a2a5}=await import('../../commands/app/remote-source.js'),_0x398e10=await _0x22a2a5({'env':_0x463a65,'accessKey':_0x349531[_0x32ce29(0x18f)],'localOnly':_0x5af929,'noCache':_0x36e8e1});return{'ok':!![],'data':{'total':_0x398e10[_0x32ce29(0x199)][_0x32ce29(0x193)],'env':_0x463a65,'source':_0x398e10[_0x32ce29(0x1a2)],'fetchedAt':_0x398e10[_0x32ce29(0x18b)],'cachePath':_0x398e10['cachePath']},'message':_0x398e10[_0x32ce29(0x1a2)]===_0x32ce29(0x177)?_0x32ce29(0x1a5)+_0x398e10[_0x32ce29(0x199)]['length']+_0x32ce29(0x19f)+_0x463a65+'\x22.':_0x32ce29(0x1a8)+_0x398e10[_0x32ce29(0x199)][_0x32ce29(0x193)]+_0x32ce29(0x159)+_0x463a65+'\x22.'};}},useDef={'service':'app','command':a3_0xb1dc2(0x15e),'description':a3_0xb1dc2(0x195),'risk':a3_0xb1dc2(0x194),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':a3_0xb1dc2(0x174),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x25f6df){const _0x51229e=a3_0xb1dc2;if(!_0x25f6df[_0x51229e(0x186)][0x0])throw CliErrors[_0x51229e(0x19a)]('Missing\x20app\x20name.',_0x51229e(0x197)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');},async 'execute'(_0x5a7e53){const _0x5d1fdd=a3_0xb1dc2;warnDeprecatedAppCommand('use',CLI_BIN_NAME+_0x5d1fdd(0x172));const _0xf2aab1=_0x5a7e53[_0x5d1fdd(0x186)][0x0];if(!_0xf2aab1)throw CliErrors[_0x5d1fdd(0x19a)]('Missing\x20app\x20name.',_0x5d1fdd(0x197)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const {buildConfigFromFlags:_0x5c6b89,resolveLocalAppAliasCode:_0x30f70f}=await import('../../context.js'),{readCachedAppList:_0x58f8c7}=await import(_0x5d1fdd(0x181)),_0xbf778e=_0x5a7e53[_0x5d1fdd(0x18a)](_0x5d1fdd(0x188)),_0x58414e=_0x5c6b89(_0xbf778e?{'env':_0xbf778e}:{}),_0x3107fe=_0x58f8c7(_0x58414e[_0x5d1fdd(0x188)],_0x58414e[_0x5d1fdd(0x18f)]),_0x42b638=_0x3107fe?.[_0x5d1fdd(0x199)]['find'](_0x3a99cf=>_0x3a99cf[_0x5d1fdd(0x152)]===_0xf2aab1),_0x20c721=_0x30f70f(_0x58414e[_0x5d1fdd(0x155)]??{},_0xf2aab1);if(_0x42b638&&!isRuntimeAccessibleApp(_0x42b638))throw runtimeInaccessibleAppError(_0x42b638,'\x22'+_0xf2aab1+'\x22');if(_0x20c721){const _0x2fbe45=_0x3107fe?.[_0x5d1fdd(0x199)][_0x5d1fdd(0x16f)](_0x4f6a9d=>_0x4f6a9d[_0x5d1fdd(0x198)]?.[_0x5d1fdd(0x17a)]()===_0x20c721);if(_0x2fbe45&&!isRuntimeAccessibleApp(_0x2fbe45))throw runtimeInaccessibleAppError(_0x2fbe45,'\x22'+_0xf2aab1+'\x22');}if(!_0x42b638&&!_0x20c721&&_0x58414e[_0x5d1fdd(0x15d)]!==_0xf2aab1){const _0x3fa6dd=[..._0x3107fe?.[_0x5d1fdd(0x199)][_0x5d1fdd(0x168)](_0x54acbb=>_0x54acbb[_0x5d1fdd(0x152)])??[]],_0x6e285=_0x3fa6dd['length']===0x0?_0x5d1fdd(0x180)+CLI_BIN_NAME+_0x5d1fdd(0x191)+_0xf2aab1+_0x5d1fdd(0x162):_0x5d1fdd(0x19b)+Array[_0x5d1fdd(0x1a0)](new Set(_0x3fa6dd))[_0x5d1fdd(0x171)](',\x20')+_0x5d1fdd(0x17b);throw CliErrors['validation'](_0x5d1fdd(0x16b)+_0xf2aab1+_0x5d1fdd(0x165),_0x6e285);}const _0x507c85=_0x5a7e53['bool'](_0x5d1fdd(0x184));let _0x471a98;if(_0x507c85)_0x471a98={'global':!![]};else{const {isInProject:_0x220fd4}=await import(_0x5d1fdd(0x196)),_0x238086=_0x220fd4();_0x471a98=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x5d1fdd(0x166),'inProject':_0x238086}));}const _0x452ce9=readConfig(_0x471a98);return _0x452ce9[_0x5d1fdd(0x15d)]=_0xf2aab1,writeConfig(_0x452ce9,_0x471a98),{'ok':!![],'message':_0x5d1fdd(0x19c)+_0xf2aab1+'\x22'+scopeLabel(_0x471a98)+'.'};}};function warnDeprecatedAppCommand(_0x5af2f3,_0x201c10){const _0x463d0f=a3_0xb1dc2;console['warn'](CLI_BIN_NAME+_0x463d0f(0x18d)+_0x5af2f3+_0x463d0f(0x173)+_0x201c10+'`\x20instead.');}const importDef={'service':'app','command':'import','description':a3_0xb1dc2(0x169),'risk':a3_0xb1dc2(0x194),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x300a22){return await runInitImport(collectFlags(_0x300a22,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x180e84=a3_0x1749;(function(_0x1d5426,_0x4db03b){const _0x4fb512=a3_0x1749,_0x439a66=_0x1d5426();while(!![]){try{const _0x5cb805=-parseInt(_0x4fb512(0x1ed))/0x1+parseInt(_0x4fb512(0x210))/0x2+-parseInt(_0x4fb512(0x1c6))/0x3*(parseInt(_0x4fb512(0x1d1))/0x4)+-parseInt(_0x4fb512(0x1bc))/0x5*(-parseInt(_0x4fb512(0x1ee))/0x6)+-parseInt(_0x4fb512(0x1bd))/0x7*(-parseInt(_0x4fb512(0x1de))/0x8)+parseInt(_0x4fb512(0x1c5))/0x9*(parseInt(_0x4fb512(0x1c7))/0xa)+-parseInt(_0x4fb512(0x204))/0xb;if(_0x5cb805===_0x4db03b)break;else _0x439a66['push'](_0x439a66['shift']());}catch(_0x156530){_0x439a66['push'](_0x439a66['shift']());}}}(a3_0x1c92,0x42308));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_0x1c92(){const _0x211731=['2637EhEJXb','1419YekFCH','7970LFWAqP','Filter\x20by\x20environment\x20(default:\x20current\x20env)','Loaded\x20','Use\x20`','env','no-cache','production','args','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','cachePath','3688keJDll','write','globalPath','config','langs','appCode','App\x20\x22','Available\x20remote\x20apps:\x20','source','push','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','projectPath','validation','152VmQUNj','.appcode\x20to\x20.lovrabet.json.','\x20cached\x20app(s)\x20for\x20env=\x22','app','Missing\x20app\x20name.','init','import','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','Refreshed\x20app\x20cache\x20with\x20','appName','remote','project-default','boolean','\x20is\x20deprecated.\x20Use\x20`','find','518115RGGKET','6mPgwJg','Usage:\x20','accessKey','name','\x20app\x20use\x20<name>\x20[--global]','cache','enableI18n','Use\x20global\x20config\x20scope','local','Target\x20environment\x20(default:\x20current\x20env)','read','isCurrent','include-unpublished','appOwnerName','defaultApp','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','Default\x20app\x20candidate\x20set\x20to\x20\x22','mergedCli','../../context.js','map','join','../../commands/app/remote-source.js','1737406GLTIoI','trim','filter','No\x20apps\x20found\x20on\x20the\x20platform.','warn','i18nInfo','global','\x22\x20not\x20found.','fetchedAt','No\x20cached\x20apps\x20found.','Remote\x20app\x20name\x20to\x20activate','Include\x20unpublished\x20apps\x20for\x20diagnostics','1031386EugYCY','envName','pull','items','str','1360955PSLihI','133322UWSxUK','string','list','length','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','type','bool','entries'];a3_0x1c92=function(){return _0x211731;};return a3_0x1c92();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x180e84(0x20a),'type':a3_0x180e84(0x1ea),'description':a3_0x180e84(0x1f5),'default':![]};function collectFlags(_0xb8c07d,_0x17d439){const _0x18879f=a3_0x180e84,_0x552875={};for(const _0x33f66d of _0x17d439){const _0x3e323e=_0x33f66d[_0x18879f(0x1c2)]===_0x18879f(0x1ea)?_0xb8c07d['bool'](_0x33f66d[_0x18879f(0x1f1)]):_0xb8c07d['str'](_0x33f66d[_0x18879f(0x1f1)]);if(_0x3e323e!==''&&_0x3e323e!==![])_0x552875[_0x33f66d['name']]=_0x3e323e;}if(_0xb8c07d['nonInteractive'])_0x552875['nonInteractive']=!![];return _0x552875;}function a3_0x1749(_0x4b6329,_0x3e3987){_0x4b6329=_0x4b6329-0x1ba;const _0x1c92fa=a3_0x1c92();let _0x174920=_0x1c92fa[_0x4b6329];return _0x174920;}function normalizeLanguages(_0x25362a){const _0x337e44=a3_0x180e84;if(!Array['isArray'](_0x25362a))return[];return _0x25362a[_0x337e44(0x206)](_0x3253f7=>typeof _0x3253f7===_0x337e44(0x1be))['map'](_0x2b35b5=>_0x2b35b5[_0x337e44(0x205)]())[_0x337e44(0x206)](Boolean);}function buildRemoteAppI18nFields(_0x2b8ba1){const _0x47ade8=a3_0x180e84,_0x29065f=normalizeLanguages(_0x2b8ba1[_0x47ade8(0x209)]?.[_0x47ade8(0x1d5)]);return{'enableI18n':typeof _0x2b8ba1[_0x47ade8(0x1f4)]===_0x47ade8(0x1ea)?_0x2b8ba1[_0x47ade8(0x1f4)]:null,'languages':_0x29065f,'i18nInfo':_0x2b8ba1[_0x47ade8(0x209)]?{..._0x2b8ba1[_0x47ade8(0x209)],'langs':_0x29065f[_0x47ade8(0x1c0)]?_0x29065f:null}:null};}const initDef={'service':'app','command':'init','description':a3_0x180e84(0x1cf),'risk':a3_0x180e84(0x1d2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x472cde){const _0x5857c0=a3_0x180e84;return warnDeprecatedAppCommand(_0x5857c0(0x1e3),CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]'),await runInit(collectFlags(_0x472cde,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x180e84(0x1e1),'command':a3_0x180e84(0x1bf),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x180e84(0x1f8),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x180e84(0x1be),'description':a3_0x180e84(0x1c8),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x180e84(0x1cc),'type':a3_0x180e84(0x1ea),'description':a3_0x180e84(0x1e5),'default':![]},{'name':a3_0x180e84(0x1fa),'type':a3_0x180e84(0x1ea),'description':a3_0x180e84(0x20f),'default':![]}],async 'execute'(_0x2a2f36){const _0x4db231=a3_0x180e84,_0x23768c=_0x2a2f36[_0x4db231(0x1bb)](_0x4db231(0x1cb))||_0x2a2f36[_0x4db231(0x211)]||getEnv()||_0x4db231(0x1cd),_0x15d2f5=_0x2a2f36[_0x4db231(0x1c3)](_0x4db231(0x1f6)),_0x250ad5=_0x2a2f36[_0x4db231(0x1c3)](_0x4db231(0x1cc)),_0x4b0081=_0x2a2f36['bool'](_0x4db231(0x1fa)),{readRawConfigWithLayers:_0xa7d359,resolveDefaultAppSource:_0x363c4c,getLocalAppAliases:_0xaa4381}=await import('../../context.js'),{getRemoteAppList:_0x20133a}=await import(_0x4db231(0x203)),{config:_0x4c09a4,layers:_0x31259c}=_0xa7d359(),_0x2b3edb=_0x363c4c(_0x31259c),{defaultApp:_0x1e5a6f}=_0x4c09a4,_0x27516c=await _0x20133a({'env':_0x23768c,'accessKey':_0x2a2f36[_0x4db231(0x1f0)],'localOnly':_0x15d2f5,'noCache':_0x250ad5}),_0x444ea4=_0x4b0081?_0x27516c[_0x4db231(0x1ba)]:filterRuntimeAccessibleApps(_0x27516c[_0x4db231(0x1ba)]),_0x46a863=_0x27516c[_0x4db231(0x1ba)][_0x4db231(0x1c0)]-_0x444ea4[_0x4db231(0x1c0)],_0x7a56dc=_0x444ea4[_0x4db231(0x201)](_0x2b48d3=>{const _0x9b4a93=_0x4db231;return{'name':_0x2b48d3[_0x9b4a93(0x1e7)],'appcode':_0x2b48d3[_0x9b4a93(0x1d6)],'named':!![],'definedIn':_0x9b4a93(0x1e8),'isDefault':_0x2b48d3[_0x9b4a93(0x1e7)]===_0x1e5a6f,...buildAppProfileListFields(_0x23768c),...buildRemoteAppI18nFields(_0x2b48d3),'source':_0x27516c[_0x9b4a93(0x1d9)],'owner':_0x2b48d3[_0x9b4a93(0x1fb)]??null,'status':_0x2b48d3['appPublishStatus']??null,'cachedAt':_0x27516c[_0x9b4a93(0x20c)]};}),_0x7b94e4=_0xaa4381(_0x4c09a4);let _0x30e41a=0x0;for(const [_0x5beabe,_0x5dc6a6]of Object[_0x4db231(0x1c4)](_0x7b94e4)){const _0x3a2253=typeof _0x5dc6a6['appcode']===_0x4db231(0x1be)?_0x5dc6a6['appcode']['trim']():'';if(!_0x3a2253)continue;const _0x5b7a02=findAppByCode(_0x27516c[_0x4db231(0x1ba)],_0x3a2253);if(!_0x4b0081&&_0x5b7a02&&!isRuntimeAccessibleApp(_0x5b7a02))continue;_0x30e41a+=0x1,_0x7a56dc[_0x4db231(0x1da)]({'name':_0x5beabe,'appcode':_0x3a2253,'named':!![],'definedIn':_0x4db231(0x1f6),'isDefault':_0x5beabe===_0x1e5a6f,...buildAppProfileListFields(_0x23768c),'source':_0x4db231(0x1d4),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x7a56dc,_0x2a2f36[_0x4db231(0x1ff)]);const _0x1a5d9d=_0x7a56dc[_0x4db231(0x1ec)](_0x478ba4=>_0x478ba4[_0x4db231(0x1f9)]===!![]),_0x567031=_0x1e5a6f??_0x1a5d9d?.[_0x4db231(0x1f1)]??null,_0x38639e={'env':_0x23768c,'source':_0x27516c['source'],'fetchedAt':_0x27516c[_0x4db231(0x20c)],'cachePath':_0x27516c[_0x4db231(0x1d0)],'globalPath':_0x31259c[_0x4db231(0x1d3)]??null,'projectPath':_0x31259c[_0x4db231(0x1dc)]??null,'defaultApp':_0x567031,'defaultAppSource':_0x1e5a6f!=null?_0x2b3edb:null,'localAliasCount':_0x30e41a,'remoteTotal':_0x27516c[_0x4db231(0x1ba)][_0x4db231(0x1c0)],'hiddenUnpublishedCount':_0x46a863,'includeUnpublished':_0x4b0081};if(_0x7a56dc[_0x4db231(0x1c0)]===0x0)return{'ok':!![],'data':{'items':_0x7a56dc,'meta':_0x38639e},'message':_0x27516c['source']===_0x4db231(0x1f3)?_0x4db231(0x20d):_0x4db231(0x207)};return{'ok':!![],'data':{'items':_0x7a56dc,'meta':_0x38639e}};}},pullDef={'service':'app','command':a3_0x180e84(0x212),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':a3_0x180e84(0x1d2),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x180e84(0x1cb),'type':a3_0x180e84(0x1be),'description':a3_0x180e84(0x1f7),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x180e84(0x1f6),'type':a3_0x180e84(0x1ea),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':'boolean','description':a3_0x180e84(0x1e5),'default':![]}],async 'execute'(_0x56f65e){const _0x510b95=a3_0x180e84,_0x3044ac=_0x56f65e[_0x510b95(0x1bb)](_0x510b95(0x1cb))||_0x56f65e[_0x510b95(0x211)]||getEnv()||'production',_0x1bb423=_0x56f65e[_0x510b95(0x1c3)](_0x510b95(0x1f6)),_0x5da2b0=_0x56f65e['bool'](_0x510b95(0x1cc)),{getRemoteAppList:_0x43df44}=await import(_0x510b95(0x203)),_0x52daa4=await _0x43df44({'env':_0x3044ac,'accessKey':_0x56f65e['accessKey'],'localOnly':_0x1bb423,'noCache':_0x5da2b0});return{'ok':!![],'data':{'total':_0x52daa4[_0x510b95(0x1ba)][_0x510b95(0x1c0)],'env':_0x3044ac,'source':_0x52daa4[_0x510b95(0x1d9)],'fetchedAt':_0x52daa4['fetchedAt'],'cachePath':_0x52daa4['cachePath']},'message':_0x52daa4[_0x510b95(0x1d9)]===_0x510b95(0x1f3)?_0x510b95(0x1c9)+_0x52daa4[_0x510b95(0x1ba)]['length']+_0x510b95(0x1e0)+_0x3044ac+'\x22.':_0x510b95(0x1e6)+_0x52daa4[_0x510b95(0x1ba)][_0x510b95(0x1c0)]+'\x20app(s)\x20for\x20env=\x22'+_0x3044ac+'\x22.'};}},useDef={'service':a3_0x180e84(0x1e1),'command':'use','description':a3_0x180e84(0x1c1),'risk':a3_0x180e84(0x1d2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x180e84(0x1f1),'description':a3_0x180e84(0x20e),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x17eaf4){const _0x497777=a3_0x180e84;if(!_0x17eaf4[_0x497777(0x1ce)][0x0])throw CliErrors['validation'](_0x497777(0x1e2),'Usage:\x20'+CLI_BIN_NAME+_0x497777(0x1f2));},async 'execute'(_0x37cc40){const _0x13b2ed=a3_0x180e84;warnDeprecatedAppCommand('use',CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x3445f8=_0x37cc40[_0x13b2ed(0x1ce)][0x0];if(!_0x3445f8)throw CliErrors[_0x13b2ed(0x1dd)](_0x13b2ed(0x1e2),_0x13b2ed(0x1ef)+CLI_BIN_NAME+_0x13b2ed(0x1f2));const {buildConfigFromFlags:_0x555717,resolveLocalAppAliasCode:_0x4dd34d}=await import('../../context.js'),{readCachedAppList:_0x3c288c}=await import('../../commands/app/cache.js'),_0x3a255e=_0x37cc40['str'](_0x13b2ed(0x1cb)),_0x4a82b3=_0x555717(_0x3a255e?{'env':_0x3a255e}:{}),_0x300299=_0x3c288c(_0x4a82b3[_0x13b2ed(0x1cb)],_0x4a82b3[_0x13b2ed(0x1f0)]),_0x4df3c2=_0x300299?.['items'][_0x13b2ed(0x1ec)](_0x2ce803=>_0x2ce803[_0x13b2ed(0x1e7)]===_0x3445f8),_0x342a00=_0x4dd34d(_0x4a82b3['raw']??{},_0x3445f8);if(_0x4df3c2&&!isRuntimeAccessibleApp(_0x4df3c2))throw runtimeInaccessibleAppError(_0x4df3c2,'\x22'+_0x3445f8+'\x22');if(_0x342a00){const _0x263b1b=_0x300299?.[_0x13b2ed(0x1ba)][_0x13b2ed(0x1ec)](_0x5e3732=>_0x5e3732[_0x13b2ed(0x1d6)]?.[_0x13b2ed(0x205)]()===_0x342a00);if(_0x263b1b&&!isRuntimeAccessibleApp(_0x263b1b))throw runtimeInaccessibleAppError(_0x263b1b,'\x22'+_0x3445f8+'\x22');}if(!_0x4df3c2&&!_0x342a00&&_0x4a82b3[_0x13b2ed(0x1fc)]!==_0x3445f8){const _0x7682b0=[..._0x300299?.[_0x13b2ed(0x1ba)][_0x13b2ed(0x201)](_0x18e14e=>_0x18e14e[_0x13b2ed(0x1e7)])??[]],_0x328b08=_0x7682b0[_0x13b2ed(0x1c0)]===0x0?_0x13b2ed(0x1ca)+CLI_BIN_NAME+_0x13b2ed(0x1db)+_0x3445f8+_0x13b2ed(0x1df):_0x13b2ed(0x1d8)+Array['from'](new Set(_0x7682b0))[_0x13b2ed(0x202)](',\x20')+'.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.';throw CliErrors[_0x13b2ed(0x1dd)](_0x13b2ed(0x1d7)+_0x3445f8+_0x13b2ed(0x20b),_0x328b08);}const _0x83d6d2=_0x37cc40['bool'](_0x13b2ed(0x20a));let _0x1e831b;if(_0x83d6d2)_0x1e831b={'global':!![]};else{const {isInProject:_0x2c90ec}=await import(_0x13b2ed(0x200)),_0x29696c=_0x2c90ec();_0x1e831b=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x13b2ed(0x1e9),'inProject':_0x29696c}));}const _0x2eedb9=readConfig(_0x1e831b);return _0x2eedb9[_0x13b2ed(0x1fc)]=_0x3445f8,writeConfig(_0x2eedb9,_0x1e831b),{'ok':!![],'message':_0x13b2ed(0x1fe)+_0x3445f8+'\x22'+scopeLabel(_0x1e831b)+'.'};}};function warnDeprecatedAppCommand(_0x3db408,_0x2a88cf){const _0x5c1d14=a3_0x180e84;console[_0x5c1d14(0x208)](CLI_BIN_NAME+'\x20app\x20'+_0x3db408+_0x5c1d14(0x1eb)+_0x2a88cf+'`\x20instead.');}const importDef={'service':a3_0x180e84(0x1e1),'command':a3_0x180e84(0x1e4),'description':a3_0x180e84(0x1fd),'risk':a3_0x180e84(0x1d2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x554fcd){return await runInitImport(collectFlags(_0x554fcd,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a4_0x5ac4(_0x1bab7d,_0x17413a){_0x1bab7d=_0x1bab7d-0x171;const _0x19a1b8=a4_0x19a1();let _0x5ac4ea=_0x19a1b8[_0x1bab7d];return _0x5ac4ea;}(function(_0x1961f3,_0x10297){const _0x4bf036=a4_0x5ac4,_0x5096a0=_0x1961f3();while(!![]){try{const _0x7b65b7=parseInt(_0x4bf036(0x180))/0x1+-parseInt(_0x4bf036(0x173))/0x2*(-parseInt(_0x4bf036(0x179))/0x3)+parseInt(_0x4bf036(0x174))/0x4*(parseInt(_0x4bf036(0x181))/0x5)+parseInt(_0x4bf036(0x17f))/0x6+-parseInt(_0x4bf036(0x178))/0x7+-parseInt(_0x4bf036(0x175))/0x8+-parseInt(_0x4bf036(0x183))/0x9;if(_0x7b65b7===_0x10297)break;else _0x5096a0['push'](_0x5096a0['shift']());}catch(_0x1a3484){_0x5096a0['push'](_0x5096a0['shift']());}}}(a4_0x19a1,0x6440d));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x403986){const _0x3a1d77=a4_0x5ac4;if(typeof _0x403986!==_0x3a1d77(0x17a))return null;const _0x10328f=_0x403986[_0x3a1d77(0x177)]();return _0x10328f?_0x10328f[_0x3a1d77(0x176)]():null;}function a4_0x19a1(){const _0x4ba792=['appPublishStatus','5286591CQwiGk','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','find','appName','36abavRa','776464zdIywb','4817008wrbexO','toUpperCase','trim','5217919lmAhIo','129189hvfGFR','string','App\x20','Current\x20status:\x20','.\x20Publish\x20the\x20app\x20before\x20using\x20','validation','2946210JyPGEc','302946LysJlo','20GGonhD'];a4_0x19a1=function(){return _0x4ba792;};return a4_0x19a1();}export function isRuntimeAccessibleApp(_0xf1c64e){const _0x100212=a4_0x5ac4;return normalizeAppPublishStatus(_0xf1c64e[_0x100212(0x182)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x1b9c5d){return _0x1b9c5d['filter'](isRuntimeAccessibleApp);}export function findAppByName(_0x23e8eb,_0x3f2178){const _0x302864=a4_0x5ac4;return _0x23e8eb['find'](_0x3d4198=>_0x3d4198[_0x302864(0x172)]===_0x3f2178);}export function findAppByCode(_0x3d0d29,_0x4d6d21){const _0x4bc33a=a4_0x5ac4,_0xde8d5e=_0x4d6d21[_0x4bc33a(0x177)]();if(!_0xde8d5e)return undefined;return _0x3d0d29[_0x4bc33a(0x171)](_0x57445b=>_0x57445b['appCode']?.['trim']()===_0xde8d5e);}export function runtimeInaccessibleAppError(_0x357af6,_0x5f1f78){const _0x487545=a4_0x5ac4,_0x45ace0=normalizeAppPublishStatus(_0x357af6[_0x487545(0x182)])??'UNKNOWN';return CliErrors[_0x487545(0x17e)](_0x487545(0x17b)+_0x5f1f78+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0x487545(0x17c)+_0x45ace0+_0x487545(0x17d)+CLI_BIN_NAME+_0x487545(0x184));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1ceb89,_0x4500f6){const _0x126946=a5_0x3703,_0x3dd60a=_0x1ceb89();while(!![]){try{const _0x56b858=-parseInt(_0x126946(0x1b9))/0x1*(-parseInt(_0x126946(0x1b6))/0x2)+parseInt(_0x126946(0x1c0))/0x3*(-parseInt(_0x126946(0x1b8))/0x4)+parseInt(_0x126946(0x1bc))/0x5*(-parseInt(_0x126946(0x1be))/0x6)+parseInt(_0x126946(0x1b7))/0x7+-parseInt(_0x126946(0x1c7))/0x8*(parseInt(_0x126946(0x1bf))/0x9)+parseInt(_0x126946(0x1bb))/0xa*(-parseInt(_0x126946(0x1c1))/0xb)+parseInt(_0x126946(0x1bd))/0xc*(-parseInt(_0x126946(0x1c4))/0xd);if(_0x56b858===_0x4500f6)break;else _0x3dd60a['push'](_0x3dd60a['shift']());}catch(_0x2cdc14){_0x3dd60a['push'](_0x3dd60a['shift']());}}}(a5_0x5069,0x2a973));import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x36f2a3=a5_0x3703,_0x12abe7=join(__dirname,_0x36f2a3(0x1c2)),_0x1dd348=readFileSync(_0x12abe7,_0x36f2a3(0x1c5));return JSON[_0x36f2a3(0x1ba)](_0x1dd348);}let _cached=null;function a5_0x3703(_0x3913c6,_0x44fe26){_0x3913c6=_0x3913c6-0x1b5;const _0x5069b5=a5_0x5069();let _0x37038b=_0x5069b5[_0x3913c6];return _0x37038b;}function a5_0x5069(){const _0x4e95bf=['313990AMUqpp','115536BSVCVq','12DczAUA','36NWADyM','3dcdpDb','22kggWxM','../../../mock/app-list.json','success','286SeLPjC','utf-8','errorCode','17024SxAeyu','Mock\x20API\x20error:\x20','data','13966hsOvWO','1961799rtSwMO','151028WvLWCk','47uqPMvK','parse','251630iqytoE'];a5_0x5069=function(){return _0x4e95bf;};return a5_0x5069();}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x47dd47=a5_0x3703,_0x123518=getMockAppList();if(!_0x123518[_0x47dd47(0x1c3)])throw new Error(_0x47dd47(0x1c8)+_0x123518['errorMsg']+'\x20('+_0x123518[_0x47dd47(0x1c6)]+')');return _0x123518[_0x47dd47(0x1b5)]['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5310fc,_0xb574e8){const _0x50b8ed=a6_0x65be,_0x17dd2a=_0x5310fc();while(!![]){try{const _0x35d744=parseInt(_0x50b8ed(0x1f1))/0x1+parseInt(_0x50b8ed(0x1f0))/0x2*(-parseInt(_0x50b8ed(0x1f2))/0x3)+parseInt(_0x50b8ed(0x1f6))/0x4+parseInt(_0x50b8ed(0x1f8))/0x5*(parseInt(_0x50b8ed(0x202))/0x6)+-parseInt(_0x50b8ed(0x1fe))/0x7*(parseInt(_0x50b8ed(0x200))/0x8)+parseInt(_0x50b8ed(0x1f7))/0x9*(-parseInt(_0x50b8ed(0x1f3))/0xa)+parseInt(_0x50b8ed(0x1fc))/0xb;if(_0x35d744===_0xb574e8)break;else _0x17dd2a['push'](_0x17dd2a['shift']());}catch(_0x4a354f){_0x17dd2a['push'](_0x17dd2a['shift']());}}}(a6_0x28fc,0x9b82e));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 _0x1e1486=a6_0x65be,_0x212027=(productEnv(_0x1e1486(0x1f5))||'')[_0x1e1486(0x201)]()[_0x1e1486(0x1f4)]();return _0x212027===_0x1e1486(0x1f9);}function a6_0x28fc(){const _0x6ae873=['toLowerCase','APP_LIST_SOURCE','4102960lDtTOy','2434437rPNiAV','1510450Laozxj','mock','fetchedAt','remote','4429150ILqrHz','items','1263675GDkoxW','toISOString','32TAJsvO','trim','6tHuAwL','cache','866eeGBWG','1002239bLTJqE','5769MwdSlA','20dKDdBQ'];a6_0x28fc=function(){return _0x6ae873;};return a6_0x28fc();}function a6_0x65be(_0x3107ea,_0x1f5c4e){_0x3107ea=_0x3107ea-0x1ef;const _0x28fc3f=a6_0x28fc();let _0x65bea2=_0x28fc3f[_0x3107ea];return _0x65bea2;}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x42b265){const _0x26fb0f=a6_0x65be,{env:_0x27e23d,accessKey:_0x41f583,localOnly:localOnly=![],noCache:noCache=![]}=_0x42b265,_0x200d33=readCachedAppList(_0x27e23d,_0x41f583),_0x2e90aa=_0x41f583?.['trim']()?getAppCacheFilePath(_0x27e23d,_0x41f583):null;if(localOnly)return{'items':_0x200d33?.['items']??[],'source':_0x26fb0f(0x1ef),'fetchedAt':_0x200d33?.[_0x26fb0f(0x1fa)]??null,'cachePath':_0x2e90aa};try{const _0x478b05=await getRemoteAppItems(),_0x3b099c=shouldUseMockRemoteApps()?_0x26fb0f(0x1f9):_0x26fb0f(0x1fb),_0x4189cc=new Date()[_0x26fb0f(0x1ff)](),_0x33bfdf=_0x41f583?.[_0x26fb0f(0x201)]()?writeCachedAppList(_0x27e23d,_0x41f583,{'env':_0x27e23d,'fetchedAt':_0x4189cc,'source':_0x3b099c,'items':_0x478b05}):null;return{'items':_0x478b05,'source':_0x3b099c,'fetchedAt':_0x4189cc,'cachePath':_0x33bfdf};}catch(_0x1ea84c){if(!noCache&&_0x200d33)return{'items':_0x200d33[_0x26fb0f(0x1fd)],'source':'cache','fetchedAt':_0x200d33['fetchedAt'],'cachePath':_0x2e90aa};throw _0x1ea84c;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x370867,_0x575d99){const _0x3146e8=a7_0x1d48,_0x5841e3=_0x370867();while(!![]){try{const _0x3a7244=parseInt(_0x3146e8(0x16c))/0x1*(-parseInt(_0x3146e8(0x171))/0x2)+-parseInt(_0x3146e8(0x173))/0x3+-parseInt(_0x3146e8(0x17b))/0x4*(-parseInt(_0x3146e8(0x172))/0x5)+-parseInt(_0x3146e8(0x16a))/0x6+-parseInt(_0x3146e8(0x16e))/0x7*(-parseInt(_0x3146e8(0x177))/0x8)+-parseInt(_0x3146e8(0x16b))/0x9*(parseInt(_0x3146e8(0x175))/0xa)+parseInt(_0x3146e8(0x17c))/0xb;if(_0x3a7244===_0x575d99)break;else _0x5841e3['push'](_0x5841e3['shift']());}catch(_0x56f20d){_0x5841e3['push'](_0x5841e3['shift']());}}}(a7_0xadae,0xea041));import{CLI_BIN_NAME}from'../../constant/cli.js';import{formatScopeLabel}from'../../commands/common/config-policy.js';function a7_0x1d48(_0x2eb6c7,_0x49698b){_0x2eb6c7=_0x2eb6c7-0x168;const _0xadae66=a7_0xadae();let _0x1d4852=_0xadae66[_0x2eb6c7];return _0x1d4852;}export{CLI_BIN_NAME};function a7_0xadae(){const _0x598170=['defaultApp','currentApp','96KFWmBx','32928192zegGMW','local','trim','2809560JRnEJT','261itHLHf','226388PneFHl','isCurrent','1821358ttAQVL','appCode','find','10umYMBH','86400urzDQy','2293410XYgBPO','name','119030lHHSGl','named','8kfRwag','appcode'];a7_0xadae=function(){return _0x598170;};return a7_0xadae();}export function enrichAppListItemsWithMergedSelection(_0x1b1029,_0x2ab39d){const _0x45dad9=a7_0x1d48;if(!_0x2ab39d)return;const _0x290027=!!(_0x2ab39d['currentApp']??_0x2ab39d[_0x45dad9(0x179)]);for(const _0x15d6ab of _0x1b1029){_0x15d6ab[_0x45dad9(0x16d)]=![];}const _0x33d6fe=_0x2ab39d[_0x45dad9(0x16f)]!=null?String(_0x2ab39d[_0x45dad9(0x16f)])[_0x45dad9(0x169)]():'';if(_0x290027){const _0x2f4ea5=_0x2ab39d[_0x45dad9(0x17a)]??_0x2ab39d[_0x45dad9(0x179)];if(_0x2f4ea5){const _0x123e25=_0x1b1029['find'](_0x1de350=>_0x1de350[_0x45dad9(0x176)]===!![]&&_0x1de350[_0x45dad9(0x174)]===_0x2f4ea5&&_0x1de350['definedIn']===_0x45dad9(0x168)),_0x388ffe=_0x123e25??_0x1b1029['find'](_0x44bf5f=>_0x44bf5f[_0x45dad9(0x176)]===!![]&&_0x44bf5f[_0x45dad9(0x174)]===_0x2f4ea5);if(_0x388ffe){const _0x159ef4=String(_0x388ffe['appcode']??'')['trim']();if(!_0x33d6fe||_0x159ef4===_0x33d6fe){_0x388ffe['isCurrent']=!![];return;}}}if(_0x33d6fe){const _0x688fa=_0x1b1029[_0x45dad9(0x170)](_0xde28e0=>String(_0xde28e0[_0x45dad9(0x178)]??'')['trim']()===_0x33d6fe);_0x688fa&&(_0x688fa[_0x45dad9(0x16d)]=!![]);}return;}if(!_0x33d6fe)return;for(const _0x222cc2 of _0x1b1029){String(_0x222cc2[_0x45dad9(0x178)]??'')[_0x45dad9(0x169)]()===_0x33d6fe&&(_0x222cc2[_0x45dad9(0x16d)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x532b77){return formatScopeLabel(_0x532b77['global']?'global':'project');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x35f1bf=a8_0x2f6c;function a8_0x2f6c(_0x77fb58,_0x3f770b){_0x77fb58=_0x77fb58-0xaf;const _0x13ffcd=a8_0x13ff();let _0x2f6c6c=_0x13ffcd[_0x77fb58];return _0x2f6c6c;}(function(_0x50d9fc,_0x2d6b8a){const _0xb6722d=a8_0x2f6c,_0x4abb21=_0x50d9fc();while(!![]){try{const _0x3f20cc=parseInt(_0xb6722d(0xbb))/0x1+-parseInt(_0xb6722d(0xc1))/0x2*(-parseInt(_0xb6722d(0xb3))/0x3)+parseInt(_0xb6722d(0xb0))/0x4*(-parseInt(_0xb6722d(0xbe))/0x5)+parseInt(_0xb6722d(0xb7))/0x6+parseInt(_0xb6722d(0xbd))/0x7*(-parseInt(_0xb6722d(0xaf))/0x8)+parseInt(_0xb6722d(0xb1))/0x9*(parseInt(_0xb6722d(0xbf))/0xa)+-parseInt(_0xb6722d(0xb8))/0xb;if(_0x3f20cc===_0x2d6b8a)break;else _0x4abb21['push'](_0x4abb21['shift']());}catch(_0x50e896){_0x4abb21['push'](_0x4abb21['shift']());}}}(a8_0x13ff,0x44df0));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a8_0x13ff(){const _0x54e168=['trim','981pgNnaL','read','appCode','validation','945792wYtOpJ','4234351rmuKjx','App\x20config\x20key','get','264829sMzRqK','app-config','185787cqHyzl','822595GCYQtm','201610rLseYz','Usage:\x20','2756pXRnqX','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','apiError','48DLoGUh','8wsDHZQ','126ODsnBp'];a8_0x13ff=function(){return _0x54e168;};return a8_0x13ff();}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x35f1bf(0xbc),'command':a8_0x35f1bf(0xba),'description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x35f1bf(0xb4),'args':[{'name':'key','description':a8_0x35f1bf(0xb9),'required':!![]}],'flags':[],async 'execute'(_0xc7df44){const _0x4b2324=a8_0x35f1bf,_0x227d5d=_0xc7df44['args'][0x0]?.[_0x4b2324(0xb2)]();if(!_0x227d5d)throw CliErrors[_0x4b2324(0xb6)]('Missing\x20app-config\x20key.',_0x4b2324(0xc0)+CLI_BIN_NAME+'\x20app-config\x20get\x20<key>');try{const _0x20cb53=await getRuntimeAppConfigByKey(_0xc7df44[_0x4b2324(0xb5)],_0x227d5d);return{'ok':!![],'data':_0x20cb53};}catch{throw CliErrors[_0x4b2324(0xc3)]('Unable\x20to\x20get\x20app-config\x20value:\x20key='+_0x227d5d+',\x20appCode='+_0xc7df44[_0x4b2324(0xb5)],_0x4b2324(0xc2));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a9_0x3c77(_0xb2ad3e,_0x14dfd1){_0xb2ad3e=_0xb2ad3e-0x15c;const _0x4a0016=a9_0x4a00();let _0x3c7766=_0x4a0016[_0xb2ad3e];return _0x3c7766;}function a9_0x4a00(){const _0x3a47c4=['2066896yvGAVx','1494262LXxXRB','1405484SHQFUT','881177EQguRc','3238336qXwkgQ','254630wDyPVu','634890mghrvO','6KcIYeS'];a9_0x4a00=function(){return _0x3a47c4;};return a9_0x4a00();}(function(_0x339e4d,_0x378734){const _0x37383b=a9_0x3c77,_0x1a0aa2=_0x339e4d();while(!![]){try{const _0x34dc24=parseInt(_0x37383b(0x15c))/0x1+parseInt(_0x37383b(0x163))/0x2+-parseInt(_0x37383b(0x15f))/0x3+-parseInt(_0x37383b(0x15d))/0x4+parseInt(_0x37383b(0x15e))/0x5*(parseInt(_0x37383b(0x160))/0x6)+-parseInt(_0x37383b(0x162))/0x7+parseInt(_0x37383b(0x161))/0x8;if(_0x34dc24===_0x378734)break;else _0x1a0aa2['push'](_0x1a0aa2['shift']());}catch(_0x5cca7c){_0x1a0aa2['push'](_0x1a0aa2['shift']());}}}(a9_0x4a00,0xa0c5f));import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a10_0x5ec2(){const _0x1205a1=['Updated\x20Artifact\x20','write','3cluDtv','antd','deleted','1101956XedDZX','--metadata\x20must\x20be\x20a\x20JSON\x20object.','700ZvZOGb','Invalid\x20JSON\x20for\x20--metadata:\x20','updateTime','@ant-design/icons','Artifact\x20ID','map','AGENT','Created\x20Artifact\x20','exec','create','396AvdZSW','react_module\x20imports\x20are\x20limited\x20to:\x20','isArray','num','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','File\x20not\x20found:\x20','.\x20Unsupported:\x20','react_module','Artifact\x20display\x20name','21985XWdGjY','trim','some','validation','Preview:\x20update\x20react_module\x20Artifact\x20','10xCASMy','build','body','file','3059639FVUgnB','str','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','artifactType','object','content','length','join','2328680gMKjfe','isFile','POST','/update','5093745rjOOyT','parse','startsWith','bool','compiledContent','list','createTime','Optional\x20favorite-state\x20filter','favorite','test','boolean','source','string','File\x20is\x20not\x20a\x20regular\x20file:\x20','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','react-dom','238024GMybuI','artifact','Artifact\x20source\x20file\x20is\x20blank.','dayjs','lodash','File\x20path\x20is\x20required.','63834oUAfVb','/client/artifact/create','name','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','split','utf8','appCode','react','read','metadata'];a10_0x5ec2=function(){return _0x1205a1;};return a10_0x5ec2();}const a10_0x42c11d=a10_0x1359;(function(_0x19cf20,_0x9051ce){const _0x4e4dce=a10_0x1359,_0x27f483=_0x19cf20();while(!![]){try{const _0x4e3eff=-parseInt(_0x4e4dce(0x1ac))/0x1*(parseInt(_0x4e4dce(0x1b1))/0x2)+-parseInt(_0x4e4dce(0x1e3))/0x3*(parseInt(_0x4e4dce(0x1e6))/0x4)+-parseInt(_0x4e4dce(0x1c1))/0x5+-parseInt(_0x4e4dce(0x1d7))/0x6*(-parseInt(_0x4e4dce(0x1e8))/0x7)+parseInt(_0x4e4dce(0x1d1))/0x8*(parseInt(_0x4e4dce(0x1f2))/0x9)+parseInt(_0x4e4dce(0x1bd))/0xa+-parseInt(_0x4e4dce(0x1b5))/0xb;if(_0x4e3eff===_0x9051ce)break;else _0x27f483['push'](_0x27f483['shift']());}catch(_0x1c4bd3){_0x27f483['push'](_0x27f483['shift']());}}}(a10_0x5ec2,0xe17c4));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_0x42c11d(0x1aa),ARTIFACT_SOURCE_AGENT=a10_0x42c11d(0x1ee),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x42c11d(0x1de),a10_0x42c11d(0x1d0),a10_0x42c11d(0x1d5),a10_0x42c11d(0x1d4),a10_0x42c11d(0x1e4),a10_0x42c11d(0x1eb)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x42c11d(0x1bc)](',\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_0x42c11d(0x1b4),'type':a10_0x42c11d(0x1cd),'required':!![],'description':a10_0x42c11d(0x1da)},ARTIFACT_NAME_FLAG={'name':'name','type':'string','description':a10_0x42c11d(0x1ab)},METADATA_FLAG={'name':'metadata','type':a10_0x42c11d(0x1cd),'description':a10_0x42c11d(0x1a6)};function isPlainObject(_0x343a2d){const _0xd2c56e=a10_0x42c11d;return typeof _0x343a2d===_0xd2c56e(0x1b9)&&_0x343a2d!==null&&!Array[_0xd2c56e(0x1a4)](_0x343a2d);}function readSourceFile(_0x1b6590){const _0x2da392=a10_0x42c11d;if(!_0x1b6590)throw CliErrors[_0x2da392(0x1af)](_0x2da392(0x1d6));if(!existsSync(_0x1b6590))throw CliErrors[_0x2da392(0x1af)](_0x2da392(0x1a8)+_0x1b6590);if(!statSync(_0x1b6590)[_0x2da392(0x1be)]())throw CliErrors[_0x2da392(0x1af)](_0x2da392(0x1ce)+_0x1b6590);const _0x390f48=readFileSync(_0x1b6590,_0x2da392(0x1dc));return validateReactModuleSource(_0x390f48),_0x390f48;}function parseMetadata(_0x1c0e51){const _0x79c373=a10_0x42c11d;if(!_0x1c0e51)return undefined;let _0x5c3234;try{_0x5c3234=JSON[_0x79c373(0x1c2)](_0x1c0e51);}catch{throw CliErrors[_0x79c373(0x1af)](_0x79c373(0x1e9)+_0x1c0e51);}if(!isPlainObject(_0x5c3234))throw CliErrors['validation'](_0x79c373(0x1e7));const _0x524b13={..._0x5c3234};return delete _0x524b13[_0x79c373(0x1c5)],_0x524b13;}function getPackageName(_0x2381c5){const _0x4a5d08=a10_0x42c11d;if(_0x2381c5[_0x4a5d08(0x1c3)]('@')){const [_0x4a0174,_0xc321a4]=_0x2381c5[_0x4a5d08(0x1db)]('/');return _0x4a0174&&_0xc321a4?_0x4a0174+'/'+_0xc321a4:_0x2381c5;}return _0x2381c5[_0x4a5d08(0x1db)]('/')[0x0]||_0x2381c5;}function validateAllowedImports(_0x67ecd5){const _0x5e77b2=a10_0x42c11d,_0x451db5=new Set();for(const _0x39cc95 of IMPORT_SOURCE_PATTERNS){_0x39cc95['lastIndex']=0x0;let _0x4d4ef9;while((_0x4d4ef9=_0x39cc95[_0x5e77b2(0x1f0)](_0x67ecd5))!==null){const _0x759098=_0x4d4ef9[0x1]?.['trim']();_0x759098&&_0x451db5['add'](_0x759098);}}const _0x569e66=[..._0x451db5][_0x5e77b2(0x1ed)](getPackageName)['filter'](_0x238a67=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x238a67));if(_0x569e66[_0x5e77b2(0x1bb)]>0x0)throw CliErrors[_0x5e77b2(0x1af)](_0x5e77b2(0x1f3)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x5e77b2(0x1a9)+[...new Set(_0x569e66)]['join'](',\x20'));}export function validateReactModuleSource(_0x1fd9c9){const _0x584afc=a10_0x42c11d;if(!_0x1fd9c9[_0x584afc(0x1ad)]())throw CliErrors[_0x584afc(0x1af)](_0x584afc(0x1d3));if(PAGE_LEVEL_PATTERNS[_0x584afc(0x1ae)](_0x1b7b02=>_0x1b7b02[_0x584afc(0x1ca)](_0x1fd9c9)))throw CliErrors[_0x584afc(0x1af)](_0x584afc(0x1a7));validateAllowedImports(_0x1fd9c9);}function buildArtifactInput(_0x57fcf8){const _0x3f3a27=a10_0x42c11d,_0x622b9f=readSourceFile(_0x57fcf8[_0x3f3a27(0x1b6)](_0x3f3a27(0x1b4))),_0x3b6aa0=_0x57fcf8['str'](_0x3f3a27(0x1d9))[_0x3f3a27(0x1ad)](),_0xd983f9=parseMetadata(_0x57fcf8[_0x3f3a27(0x1b6)](_0x3f3a27(0x1e0)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x3b6aa0?{'name':_0x3b6aa0}:{},'content':_0x622b9f,..._0xd983f9?{'metadata':_0xd983f9}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2acadb){const _0x206b7e=a10_0x42c11d;return{'id':_0x2acadb['id'],'name':_0x2acadb['name'],'artifactType':_0x2acadb[_0x206b7e(0x1b8)],'source':_0x2acadb[_0x206b7e(0x1cc)],'favorite':_0x2acadb[_0x206b7e(0x1c9)],'deleted':_0x2acadb[_0x206b7e(0x1e5)],'createTime':_0x2acadb[_0x206b7e(0x1c7)],'updateTime':_0x2acadb['updateTime']};}function detailArtifact(_0x6ee2ef){const _0x12a752=a10_0x42c11d;return{'id':_0x6ee2ef['id'],'appCode':_0x6ee2ef[_0x12a752(0x1dd)],'name':_0x6ee2ef[_0x12a752(0x1d9)],'artifactType':_0x6ee2ef[_0x12a752(0x1b8)],'source':_0x6ee2ef[_0x12a752(0x1cc)],'favorite':_0x6ee2ef['favorite'],'deleted':_0x6ee2ef[_0x12a752(0x1e5)],'content':_0x6ee2ef[_0x12a752(0x1ba)]??'','compiledContent':_0x6ee2ef[_0x12a752(0x1c5)],'metadata':_0x6ee2ef[_0x12a752(0x1e0)]??{},'createTime':_0x6ee2ef[_0x12a752(0x1c7)],'updateTime':_0x6ee2ef[_0x12a752(0x1ea)]};}function a10_0x1359(_0x3ce1a8,_0x30c102){_0x3ce1a8=_0x3ce1a8-0x1a4;const _0x5ec21f=a10_0x5ec2();let _0x135935=_0x5ec21f[_0x3ce1a8];return _0x135935;}function readFavoriteFlag(_0x1ba4f9){const _0x47e2b6=a10_0x42c11d,_0x4ea6f8=_0x1ba4f9['flag'](_0x47e2b6(0x1c9));return _0x4ea6f8===undefined||_0x4ea6f8===null||_0x4ea6f8===''?undefined:_0x1ba4f9[_0x47e2b6(0x1c4)](_0x47e2b6(0x1c9));}const artifactList={'service':a10_0x42c11d(0x1d2),'command':a10_0x42c11d(0x1c6),'description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x42c11d(0x1df),'flags':[{'name':a10_0x42c11d(0x1cc),'type':a10_0x42c11d(0x1cd),'description':a10_0x42c11d(0x1cf)},{'name':'favorite','type':a10_0x42c11d(0x1cb),'description':a10_0x42c11d(0x1c8)},VERBOSE_FLAG],async 'execute'(_0x45bfc5){const _0x33c2f4=a10_0x42c11d,_0xffbb95=await listRuntimeArtifacts(_0x45bfc5[_0x33c2f4(0x1dd)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x45bfc5[_0x33c2f4(0x1b6)](_0x33c2f4(0x1cc))?{'source':_0x45bfc5['str']('source')}:{},...readFavoriteFlag(_0x45bfc5)!==undefined?{'favorite':readFavoriteFlag(_0x45bfc5)}:{}});return{'ok':!![],'data':{'total':_0xffbb95['length'],'items':_0x45bfc5[_0x33c2f4(0x1c4)]('verbose')?_0xffbb95:_0xffbb95[_0x33c2f4(0x1ed)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x42c11d(0x1d2),'command':'detail','description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0x42c11d(0x1df),'flags':[{...ID_FLAG,'description':a10_0x42c11d(0x1ec)}],async 'execute'(_0x3425f6){const _0x1d5d75=a10_0x42c11d,_0x5f510b=await getRuntimeArtifact(_0x3425f6[_0x1d5d75(0x1a5)]('id'),_0x3425f6[_0x1d5d75(0x1dd)]);return{'ok':!![],'data':detailArtifact(_0x5f510b)};}},artifactCreate={'service':a10_0x42c11d(0x1d2),'command':a10_0x42c11d(0x1f1),'description':a10_0x42c11d(0x1b7),'risk':a10_0x42c11d(0x1e2),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5c3d8f){const _0x5a14a2=a10_0x42c11d,_0x56ede8=buildArtifactInput(_0x5c3d8f),_0x5b93c4=await createRuntimeArtifact(_0x5c3d8f[_0x5a14a2(0x1dd)],_0x56ede8);return{'ok':!![],'data':detailArtifact(_0x5b93c4),'message':_0x5a14a2(0x1ef)+_0x5b93c4['id']+(_0x5b93c4[_0x5a14a2(0x1d9)]?'\x20('+_0x5b93c4[_0x5a14a2(0x1d9)]+')':'')};},async 'dryRun'(_0x15c7e1){const _0x3916aa=a10_0x42c11d,_0x1b12ca=buildArtifactInput(_0x15c7e1);return dryRun('POST',_0x3916aa(0x1d8))[_0x3916aa(0x1b3)]({'appCode':_0x15c7e1[_0x3916aa(0x1dd)],..._0x1b12ca})['description']('Preview:\x20create\x20react_module\x20Artifact')[_0x3916aa(0x1b2)]();}},artifactUpdate={'service':a10_0x42c11d(0x1d2),'command':'update','description':'Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x42c11d(0x1e2),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x97f35c){const _0xc1aee4=a10_0x42c11d,_0x1a352a=_0x97f35c[_0xc1aee4(0x1a5)]('id'),_0x51db82=buildArtifactInput(_0x97f35c),_0x23109b=await updateRuntimeArtifact(_0x1a352a,_0x97f35c[_0xc1aee4(0x1dd)],_0x51db82);return{'ok':!![],'data':detailArtifact(_0x23109b),'message':_0xc1aee4(0x1e1)+_0x23109b['id']+(_0x23109b['name']?'\x20('+_0x23109b[_0xc1aee4(0x1d9)]+')':'')};},async 'dryRun'(_0x192baf){const _0x5b76d0=a10_0x42c11d,_0x39ec56=_0x192baf[_0x5b76d0(0x1a5)]('id'),_0x4c2591=buildArtifactInput(_0x192baf);return dryRun(_0x5b76d0(0x1bf),'/client/artifact/'+_0x39ec56+_0x5b76d0(0x1c0))[_0x5b76d0(0x1b3)]({'appCode':_0x192baf[_0x5b76d0(0x1dd)],..._0x4c2591})['description'](_0x5b76d0(0x1b0)+_0x39ec56)[_0x5b76d0(0x1b2)]();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x3243e5=a10_0x3637;(function(_0x169673,_0x30c31a){const _0x230f82=a10_0x3637,_0x1c6478=_0x169673();while(!![]){try{const _0x169cdf=-parseInt(_0x230f82(0x192))/0x1*(-parseInt(_0x230f82(0x184))/0x2)+parseInt(_0x230f82(0x1c1))/0x3*(-parseInt(_0x230f82(0x187))/0x4)+parseInt(_0x230f82(0x198))/0x5*(parseInt(_0x230f82(0x1af))/0x6)+parseInt(_0x230f82(0x188))/0x7+parseInt(_0x230f82(0x1a6))/0x8*(-parseInt(_0x230f82(0x1b0))/0x9)+-parseInt(_0x230f82(0x18a))/0xa*(parseInt(_0x230f82(0x19b))/0xb)+-parseInt(_0x230f82(0x176))/0xc*(-parseInt(_0x230f82(0x1c3))/0xd);if(_0x169cdf===_0x30c31a)break;else _0x1c6478['push'](_0x1c6478['shift']());}catch(_0x4e563d){_0x1c6478['push'](_0x1c6478['shift']());}}}(a10_0x2fa9,0x64e58));import{existsSync,readFileSync,statSync}from'node:fs';function a10_0x3637(_0x486cf7,_0xc394bc){_0x486cf7=_0x486cf7-0x175;const _0x2fa975=a10_0x2fa9();let _0x363713=_0x2fa975[_0x486cf7];return _0x363713;}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_0x3243e5(0x18b),ARTIFACT_SOURCE_AGENT='AGENT',ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3243e5(0x1b5),a10_0x3243e5(0x1c2),'lodash',a10_0x3243e5(0x1c5),a10_0x3243e5(0x1be),a10_0x3243e5(0x1a2)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x3243e5(0x17b),'type':a10_0x3243e5(0x182),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0x3243e5(0x1b6),'type':a10_0x3243e5(0x182),'description':a10_0x3243e5(0x181)},METADATA_FLAG={'name':'metadata','type':a10_0x3243e5(0x182),'description':a10_0x3243e5(0x17e)};function isPlainObject(_0x4d0c7e){const _0x466108=a10_0x3243e5;return typeof _0x4d0c7e===_0x466108(0x196)&&_0x4d0c7e!==null&&!Array[_0x466108(0x1ac)](_0x4d0c7e);}function readSourceFile(_0x27ea1f){const _0x5f1f5b=a10_0x3243e5;if(!_0x27ea1f)throw CliErrors['validation'](_0x5f1f5b(0x178));if(!existsSync(_0x27ea1f))throw CliErrors[_0x5f1f5b(0x1a8)](_0x5f1f5b(0x17c)+_0x27ea1f);if(!statSync(_0x27ea1f)[_0x5f1f5b(0x175)]())throw CliErrors['validation'](_0x5f1f5b(0x1a5)+_0x27ea1f);const _0x1f2788=readFileSync(_0x27ea1f,_0x5f1f5b(0x18f));return validateReactModuleSource(_0x1f2788),_0x1f2788;}function parseMetadata(_0xd2a88e){const _0x35fe07=a10_0x3243e5;if(!_0xd2a88e)return undefined;let _0x6abd0c;try{_0x6abd0c=JSON[_0x35fe07(0x1ba)](_0xd2a88e);}catch{throw CliErrors['validation'](_0x35fe07(0x1c4)+_0xd2a88e);}if(!isPlainObject(_0x6abd0c))throw CliErrors[_0x35fe07(0x1a8)](_0x35fe07(0x1ad));const _0xb33d3d={..._0x6abd0c};return delete _0xb33d3d[_0x35fe07(0x195)],_0xb33d3d;}function getPackageName(_0x3bccb2){const _0x27660f=a10_0x3243e5;if(_0x3bccb2['startsWith']('@')){const [_0x180f43,_0x394140]=_0x3bccb2[_0x27660f(0x189)]('/');return _0x180f43&&_0x394140?_0x180f43+'/'+_0x394140:_0x3bccb2;}return _0x3bccb2['split']('/')[0x0]||_0x3bccb2;}function validateAllowedImports(_0x13daba){const _0xd45977=a10_0x3243e5,_0x3d9db8=new Set();for(const _0x11eab7 of IMPORT_SOURCE_PATTERNS){_0x11eab7['lastIndex']=0x0;let _0x26feb3;while((_0x26feb3=_0x11eab7['exec'](_0x13daba))!==null){const _0x4584a6=_0x26feb3[0x1]?.['trim']();_0x4584a6&&_0x3d9db8['add'](_0x4584a6);}}const _0x1cd000=[..._0x3d9db8][_0xd45977(0x1b7)](getPackageName)['filter'](_0x1bda3b=>!ALLOWED_REACT_MODULE_IMPORTS[_0xd45977(0x17d)](_0x1bda3b));if(_0x1cd000['length']>0x0)throw CliErrors[_0xd45977(0x1a8)](_0xd45977(0x18d)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0xd45977(0x1a0)+[...new Set(_0x1cd000)][_0xd45977(0x1c0)](',\x20'));}export function validateReactModuleSource(_0x4deae9){const _0x2f1658=a10_0x3243e5;if(!_0x4deae9[_0x2f1658(0x17a)]())throw CliErrors[_0x2f1658(0x1a8)](_0x2f1658(0x1a1));if(PAGE_LEVEL_PATTERNS[_0x2f1658(0x1b2)](_0x2b3fd6=>_0x2b3fd6[_0x2f1658(0x1a7)](_0x4deae9)))throw CliErrors['validation']('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x4deae9);}function buildArtifactInput(_0x5d4813){const _0x1c5dc4=a10_0x3243e5,_0x2ccd23=readSourceFile(_0x5d4813['str'](_0x1c5dc4(0x17b))),_0x3d924e=_0x5d4813['str'](_0x1c5dc4(0x1b6))[_0x1c5dc4(0x17a)](),_0x429937=parseMetadata(_0x5d4813[_0x1c5dc4(0x1bc)](_0x1c5dc4(0x19d)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x3d924e?{'name':_0x3d924e}:{},'content':_0x2ccd23,..._0x429937?{'metadata':_0x429937}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2bf54b){const _0x30701d=a10_0x3243e5;return{'id':_0x2bf54b['id'],'name':_0x2bf54b[_0x30701d(0x1b6)],'artifactType':_0x2bf54b[_0x30701d(0x177)],'source':_0x2bf54b['source'],'favorite':_0x2bf54b[_0x30701d(0x1a4)],'deleted':_0x2bf54b[_0x30701d(0x183)],'createTime':_0x2bf54b[_0x30701d(0x191)],'updateTime':_0x2bf54b[_0x30701d(0x1ab)]};}function detailArtifact(_0x2de461){const _0x4f7ba4=a10_0x3243e5;return{'id':_0x2de461['id'],'appCode':_0x2de461[_0x4f7ba4(0x19a)],'name':_0x2de461['name'],'artifactType':_0x2de461[_0x4f7ba4(0x177)],'source':_0x2de461[_0x4f7ba4(0x19f)],'favorite':_0x2de461['favorite'],'deleted':_0x2de461[_0x4f7ba4(0x183)],'content':_0x2de461[_0x4f7ba4(0x180)]??'','compiledContent':_0x2de461['compiledContent'],'metadata':_0x2de461['metadata']??{},'createTime':_0x2de461[_0x4f7ba4(0x191)],'updateTime':_0x2de461[_0x4f7ba4(0x1ab)]};}function readFavoriteFlag(_0x32dc4a){const _0x2511e6=a10_0x3243e5,_0x1454c7=_0x32dc4a[_0x2511e6(0x1c7)]('favorite');return _0x1454c7===undefined||_0x1454c7===null||_0x1454c7===''?undefined:_0x32dc4a[_0x2511e6(0x18e)](_0x2511e6(0x1a4));}const artifactList={'service':'artifact','command':a10_0x3243e5(0x193),'description':a10_0x3243e5(0x18c),'risk':'read','flags':[{'name':a10_0x3243e5(0x19f),'type':a10_0x3243e5(0x182),'description':a10_0x3243e5(0x1b8)},{'name':a10_0x3243e5(0x1a4),'type':a10_0x3243e5(0x1ae),'description':a10_0x3243e5(0x190)},VERBOSE_FLAG],async 'execute'(_0x4a4463){const _0x560ae7=a10_0x3243e5,_0x34b669=await listRuntimeArtifacts(_0x4a4463[_0x560ae7(0x19a)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4a4463[_0x560ae7(0x1bc)]('source')?{'source':_0x4a4463[_0x560ae7(0x1bc)]('source')}:{},...readFavoriteFlag(_0x4a4463)!==undefined?{'favorite':readFavoriteFlag(_0x4a4463)}:{}});return{'ok':!![],'data':{'total':_0x34b669[_0x560ae7(0x1c8)],'items':_0x4a4463[_0x560ae7(0x18e)](_0x560ae7(0x1bf))?_0x34b669:_0x34b669[_0x560ae7(0x1b7)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x3243e5(0x1bb),'command':a10_0x3243e5(0x194),'description':a10_0x3243e5(0x1aa),'risk':a10_0x3243e5(0x19c),'flags':[{...ID_FLAG,'description':a10_0x3243e5(0x1b4)}],async 'execute'(_0x5a1ba7){const _0x4c0dd2=a10_0x3243e5,_0x1f5947=await getRuntimeArtifact(_0x5a1ba7[_0x4c0dd2(0x1bd)]('id'),_0x5a1ba7[_0x4c0dd2(0x19a)]);return{'ok':!![],'data':detailArtifact(_0x1f5947)};}},artifactCreate={'service':a10_0x3243e5(0x1bb),'command':a10_0x3243e5(0x185),'description':a10_0x3243e5(0x17f),'risk':'write','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x25c07b){const _0x4d6225=a10_0x3243e5,_0x48d867=buildArtifactInput(_0x25c07b),_0x459662=await createRuntimeArtifact(_0x25c07b[_0x4d6225(0x19a)],_0x48d867);return{'ok':!![],'data':detailArtifact(_0x459662),'message':_0x4d6225(0x186)+_0x459662['id']+(_0x459662[_0x4d6225(0x1b6)]?'\x20('+_0x459662[_0x4d6225(0x1b6)]+')':'')};},async 'dryRun'(_0x13695f){const _0x1f8c85=a10_0x3243e5,_0x1c66c1=buildArtifactInput(_0x13695f);return dryRun(_0x1f8c85(0x1a9),_0x1f8c85(0x1c6))[_0x1f8c85(0x19e)]({'appCode':_0x13695f[_0x1f8c85(0x19a)],..._0x1c66c1})[_0x1f8c85(0x197)]('Preview:\x20create\x20react_module\x20Artifact')[_0x1f8c85(0x179)]();}},artifactUpdate={'service':a10_0x3243e5(0x1bb),'command':a10_0x3243e5(0x1b9),'description':a10_0x3243e5(0x1a3),'risk':a10_0x3243e5(0x199),'flags':[{...ID_FLAG,'description':a10_0x3243e5(0x1b4)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5c51e3){const _0xc40bc3=a10_0x3243e5,_0x5de2f4=_0x5c51e3[_0xc40bc3(0x1bd)]('id'),_0x564ed8=buildArtifactInput(_0x5c51e3),_0x234d9e=await updateRuntimeArtifact(_0x5de2f4,_0x5c51e3[_0xc40bc3(0x19a)],_0x564ed8);return{'ok':!![],'data':detailArtifact(_0x234d9e),'message':_0xc40bc3(0x1b3)+_0x234d9e['id']+(_0x234d9e[_0xc40bc3(0x1b6)]?'\x20('+_0x234d9e['name']+')':'')};},async 'dryRun'(_0xf57c7a){const _0x41c732=a10_0x3243e5,_0x23c43f=_0xf57c7a['num']('id'),_0x2b2beb=buildArtifactInput(_0xf57c7a);return dryRun(_0x41c732(0x1a9),'/client/artifact/'+_0x23c43f+'/update')[_0x41c732(0x19e)]({'appCode':_0xf57c7a['appCode'],..._0x2b2beb})[_0x41c732(0x197)](_0x41c732(0x1b1)+_0x23c43f)[_0x41c732(0x179)]();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];function a10_0x2fa9(){const _0x403159=['utf8','Optional\x20favorite-state\x20filter','createTime','31UcVEWi','list','detail','compiledContent','object','description','40nrRqJX','write','appCode','131791WktxRn','read','metadata','body','source','.\x20Unsupported:\x20','Artifact\x20source\x20file\x20is\x20blank.','@ant-design/icons','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','favorite','File\x20is\x20not\x20a\x20regular\x20file:\x20','1442696sWRuSG','test','validation','POST','Show\x20one\x20Artifact\x20by\x20id','updateTime','isArray','--metadata\x20must\x20be\x20a\x20JSON\x20object.','boolean','215466hQReHd','27MJgKDe','Preview:\x20update\x20react_module\x20Artifact\x20','some','Updated\x20Artifact\x20','Artifact\x20ID','react','name','map','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','update','parse','artifact','str','num','antd','verbose','join','987iDOOnJ','react-dom','2509VYBEfQ','Invalid\x20JSON\x20for\x20--metadata:\x20','dayjs','/client/artifact/create','flag','length','isFile','41988ysgPpR','artifactType','File\x20path\x20is\x20required.','build','trim','file','File\x20not\x20found:\x20','includes','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','content','Artifact\x20display\x20name','string','deleted','40838PDnAWL','create','Created\x20Artifact\x20','9908TnzdIn','4570104IlcaBT','split','400kLLjuQ','react_module','List\x20current-app\x20react_module\x20Artifacts','react_module\x20imports\x20are\x20limited\x20to:\x20','bool'];a10_0x2fa9=function(){return _0x403159;};return a10_0x2fa9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x3a43fd=a11_0x1a06;(function(_0x36c62a,_0x217b04){const _0x47ec74=a11_0x1a06,_0x615394=_0x36c62a();while(!![]){try{const _0x384841=-parseInt(_0x47ec74(0x114))/0x1+-parseInt(_0x47ec74(0x140))/0x2+parseInt(_0x47ec74(0x128))/0x3*(-parseInt(_0x47ec74(0x12d))/0x4)+parseInt(_0x47ec74(0x132))/0x5*(-parseInt(_0x47ec74(0x110))/0x6)+parseInt(_0x47ec74(0x145))/0x7*(-parseInt(_0x47ec74(0x12e))/0x8)+parseInt(_0x47ec74(0x14c))/0x9+parseInt(_0x47ec74(0x14f))/0xa;if(_0x384841===_0x217b04)break;else _0x615394['push'](_0x615394['shift']());}catch(_0x2041ac){_0x615394['push'](_0x615394['shift']());}}}(a11_0x60fd,0x8c54e));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(_0x419235){const _0x2406d7=a11_0x1a06;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x419235[_0x2406d7(0x11c)]('global'),'explicitProject':_0x419235['bool'](_0x2406d7(0x129)),'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(){const _0x4afbf1=a11_0x1a06;return crypto[_0x4afbf1(0x116)]();}export function buildDeviceAuthUrl(_0x1273b9,_0x3b8d6e,_0x22eb6d='lovrabet-cli'){const _0x265fbe=a11_0x1a06;return _0x1273b9+_0x265fbe(0x127)+encodeURIComponent(_0x3b8d6e)+_0x265fbe(0x119)+encodeURIComponent(_0x22eb6d);}export function getDeviceCodePath(){const _0x52d3b9=a11_0x1a06;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x52d3b9(0x137);}export function readStoredDeviceCode(){const _0x2f9ebc=a11_0x1a06,_0x4319e5=getDeviceCodePath();if(!existsSync(_0x4319e5))return null;try{const _0x359767=readFileSync(_0x4319e5,{'encoding':_0x2f9ebc(0x123)}),_0x56fdf2=JSON[_0x2f9ebc(0x10c)](_0x359767);if(_0x56fdf2&&typeof _0x56fdf2['code']==='string'&&typeof _0x56fdf2['createdAt']==='string'&&(_0x56fdf2['scope']===_0x2f9ebc(0x151)||_0x56fdf2['scope']===_0x2f9ebc(0x129)))return _0x56fdf2;}catch{}return null;}export function writeStoredDeviceCode(_0x4f54fe,_0x1064ce){const _0x1dc642=a11_0x1a06,_0x382e1a=getDeviceCodePath(),_0x58ce9c=dirname(_0x382e1a);!existsSync(_0x58ce9c)&&mkdirSync(_0x58ce9c,{'recursive':!![]});const _0x25b082={'code':_0x4f54fe,'createdAt':new Date()[_0x1dc642(0x149)](),'scope':_0x1064ce};writeFileSync(_0x382e1a,JSON[_0x1dc642(0x13a)](_0x25b082),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x39ef84=getDeviceCodePath();try{unlinkSync(_0x39ef84);}catch{}}export function isStoredDeviceCodeExpired(_0x2d0d0b){const _0x129ea6=a11_0x1a06;return Date[_0x129ea6(0x11e)]()-new Date(_0x2d0d0b['createdAt'])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x14e00f,_0x39bbc5){const _0x48f45b=a11_0x1a06,_0x5852fa=_0x14e00f+_0x48f45b(0x121),_0x35789d=new AbortController(),_0x196ae5=setTimeout(()=>_0x35789d[_0x48f45b(0x130)](),0x2710),_0x1df44b=await fetch(_0x5852fa,{'method':_0x48f45b(0x104),'headers':{'Content-Type':_0x48f45b(0x142)},'body':JSON[_0x48f45b(0x13a)]({'code':_0x39bbc5}),'signal':_0x35789d[_0x48f45b(0x148)]});clearTimeout(_0x196ae5);if(!_0x1df44b['ok'])throw CliErrors[_0x48f45b(0x10a)](_0x48f45b(0x122)+_0x1df44b[_0x48f45b(0x135)]);const _0x1e1550=await _0x1df44b[_0x48f45b(0x152)](),_0x30866c=_0x1e1550[_0x48f45b(0x14a)]&&typeof _0x1e1550[_0x48f45b(0x14a)]===_0x48f45b(0x12a)?_0x1e1550[_0x48f45b(0x14a)]:_0x1e1550;if(!_0x30866c||typeof _0x30866c['status']!==_0x48f45b(0x12b))throw CliErrors[_0x48f45b(0x107)]('Invalid\x20device\x20auth\x20response');return{'status':_0x30866c[_0x48f45b(0x135)],'access_key':typeof _0x30866c[_0x48f45b(0x105)]==='string'?_0x30866c[_0x48f45b(0x105)]:undefined};}export async function pollDeviceToken(_0x53c795,_0x33eec5,_0x43ef3d){const _0x59da9e=a11_0x1a06;let _0x1abc62=0x0;for(let _0x2a20e3=0x0;_0x2a20e3<MAX_POLLS;_0x2a20e3++){if(_0x43ef3d[_0x59da9e(0x12c)])throw CliErrors[_0x59da9e(0x11b)](_0x59da9e(0x136));let _0x5d35b7;try{_0x5d35b7=await fetchDeviceToken(_0x53c795,_0x33eec5);}catch(_0x1d63d5){if(_0x1d63d5 instanceof Error&&_0x1d63d5[_0x59da9e(0x124)]===_0x59da9e(0x10f))throw CliErrors[_0x59da9e(0x11b)](_0x59da9e(0x136));_0x1abc62++;if(_0x1abc62>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x59da9e(0x10a)](_0x59da9e(0x125));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x1abc62+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x59da9e(0x118)),await sleep(POLL_INTERVAL_MS);continue;}_0x1abc62=0x0;if(_0x5d35b7['status']===_0x59da9e(0x115)){if(!_0x5d35b7[_0x59da9e(0x105)])throw CliErrors[_0x59da9e(0x107)](_0x59da9e(0x11a));return _0x5d35b7[_0x59da9e(0x105)];}if(_0x5d35b7[_0x59da9e(0x135)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x59da9e(0x133)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x246447=(_0x2a20e3+0x1)*POLL_INTERVAL_MS,_0x19ce6f=DEVICE_CODE_TTL_MS-_0x246447,_0x22a4d2=Math[_0x59da9e(0x134)](_0x19ce6f/0xea60),_0x453d86=Math[_0x59da9e(0x134)](_0x19ce6f%0xea60/0x3e8);process['stderr'][_0x59da9e(0x11f)](_0x59da9e(0x109)+_0x22a4d2+':'+String(_0x453d86)[_0x59da9e(0x106)](0x2,'0')+_0x59da9e(0x11d)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x59da9e(0x133)](_0x59da9e(0x13e));}function a11_0x1a06(_0x42466a,_0x5b5c39){_0x42466a=_0x42466a-0x104;const _0x60fd0a=a11_0x60fd();let _0x1a0645=_0x60fd0a[_0x42466a];return _0x1a0645;}function a11_0x60fd(){const _0x50d5f9=['device','application/json','test','trim','959bkKcXo','log','\x20auth\x20status','signal','toISOString','data','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','500256tWtNkq','Write\x20to\x20project\x20config','code','35681350ZEhobC','accessKey','global','json','nonInteractive','POST','access_key','padStart','apiError','Write\x20to\x20global\x20config\x20(default)','\x0dWaiting\x20for\x20authorization...\x20','networkError','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','parse','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','auth','AbortError','12ujwTYw','AccessKey\x20saved\x20to\x20','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','lovrabet-cli','476000LhTUNO','success','randomUUID','once','),\x20retrying...','&source=','Invalid\x20access_key\x20returned\x20by\x20server.','cancelled','bool','\x20remaining','now','write','Verify:\x20','/api/device-auth/token','Device\x20auth\x20API\x20returned\x20HTTP\x20','utf8','name','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','SIGINT','/device-auth?code=','147pILoTr','project','object','string','aborted','40764uAVHpV','54856KmrKjU','removeListener','abort','boolean','126465FwuQjA','validation','floor','status','Device\x20authorization\x20cancelled.','/.device-auth','url-only','source','stringify','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20authorization\x20successful.','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','\x20config.','2167134eFXnEt'];a11_0x60fd=function(){return _0x50d5f9;};return a11_0x60fd();}function sleep(_0x1d059b){return new Promise(_0x476907=>setTimeout(_0x476907,_0x1d059b));}export const authDeviceDefinition={'service':a11_0x3a43fd(0x10e),'command':a11_0x3a43fd(0x141),'description':a11_0x3a43fd(0x10d),'risk':a11_0x3a43fd(0x11f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x3a43fd(0x151),'type':a11_0x3a43fd(0x131),'description':a11_0x3a43fd(0x108),'default':!![]},{'name':a11_0x3a43fd(0x129),'type':a11_0x3a43fd(0x131),'description':a11_0x3a43fd(0x14d),'default':![]},{'name':a11_0x3a43fd(0x139),'type':a11_0x3a43fd(0x12b),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x3a43fd(0x113)},{'name':a11_0x3a43fd(0x138),'type':a11_0x3a43fd(0x131),'description':a11_0x3a43fd(0x13b),'default':![]}],async 'execute'(_0x54a67e){const _0x14e69a=a11_0x3a43fd,_0x52474d=resolveAuthScopeFlags(_0x54a67e),_0x2989c0=_0x52474d[_0x14e69a(0x151)]?_0x14e69a(0x151):'project',_0x40a485=readScopedConfig(_0x52474d);if(_0x40a485[_0x14e69a(0x150)])return{'ok':!![],'message':_0x14e69a(0x10b)};const _0x55e31a=(_0x54a67e['str']('source')||'lovrabet-cli')[_0x14e69a(0x144)](),_0x197336=getUserDomain(),_0x189fda=readStoredDeviceCode(),_0x5a3de2=_0x189fda&&!isStoredDeviceCodeExpired(_0x189fda)?_0x189fda[_0x14e69a(0x14e)]:((()=>{const _0x5b2329=generateDeviceCode();return writeStoredDeviceCode(_0x5b2329,_0x2989c0),_0x5b2329;})()),_0xd9b4cb=buildDeviceAuthUrl(_0x197336,_0x5a3de2,_0x55e31a);if(_0x54a67e[_0x14e69a(0x11c)](_0x14e69a(0x138)))return console[_0x14e69a(0x146)](_0xd9b4cb),{'ok':!![]};writeCliSideChannelLine(_0x14e69a(0x14b)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xd9b4cb),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x14e69a(0x112));if(_0x54a67e[_0x14e69a(0x153)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0x14e69a(0x13d));const _0x4d6312=new AbortController(),_0x157f4c=()=>{const _0x4f2910=_0x14e69a;_0x4d6312[_0x4f2910(0x130)](),process[_0x4f2910(0x12f)](_0x4f2910(0x126),_0x157f4c);};process[_0x14e69a(0x117)](_0x14e69a(0x126),_0x157f4c);let _0x24692c;try{_0x24692c=await pollDeviceToken(_0x197336,_0x5a3de2,_0x4d6312[_0x14e69a(0x148)]);}finally{process[_0x14e69a(0x12f)](_0x14e69a(0x126),_0x157f4c);}if(!ACCESS_KEY_PATTERN[_0x14e69a(0x143)](_0x24692c))throw CliErrors['apiError']('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x21acd8=readScopedConfig(_0x52474d);return _0x21acd8['accessKey']=_0x24692c,writeScopedConfig(_0x21acd8,_0x52474d),deleteStoredDeviceCode(),process['stderr'][_0x14e69a(0x11f)]('\x0a'),writeCliSideChannelLine(_0x14e69a(0x111)+_0x2989c0+_0x14e69a(0x13f)),writeCliSideChannelLine(_0x14e69a(0x120)+CLI_BIN_NAME+_0x14e69a(0x147)),{'ok':!![],'message':_0x14e69a(0x13c)};}};
|
|
1
|
+
const a11_0xe8526=a11_0x5e1b;(function(_0x43c868,_0x3a2606){const _0x17cb45=a11_0x5e1b,_0x3d47e8=_0x43c868();while(!![]){try{const _0x2a4e64=parseInt(_0x17cb45(0xb2))/0x1*(-parseInt(_0x17cb45(0xaf))/0x2)+-parseInt(_0x17cb45(0xab))/0x3+-parseInt(_0x17cb45(0xc7))/0x4*(parseInt(_0x17cb45(0x9a))/0x5)+-parseInt(_0x17cb45(0xa2))/0x6*(-parseInt(_0x17cb45(0x8c))/0x7)+parseInt(_0x17cb45(0x98))/0x8+-parseInt(_0x17cb45(0x97))/0x9+parseInt(_0x17cb45(0x88))/0xa;if(_0x2a4e64===_0x3a2606)break;else _0x3d47e8['push'](_0x3d47e8['shift']());}catch(_0x40c70d){_0x3d47e8['push'](_0x3d47e8['shift']());}}}(a11_0x76e6,0x45a21));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';function a11_0x76e6(){const _0x1693b5=['Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','abort','SIGINT','auth','utf8','AbortError','Invalid\x20access_key\x20returned\x20by\x20server.','4488489mKZIsg','3959048LiqRyW','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','7295FEnTra','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','),\x20retrying...','access_key','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','stderr','global','1480566jYUXWp','data','POST','Device\x20authorization\x20successful.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','scope','getTime','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','\x20remaining','1018011PxVOoj','\x20config.','boolean','/api/device-auth/token','12148OknbSe','\x20auth\x20device','lovrabet-cli','36rymYkE','&source=','signal','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','stringify','nonInteractive','removeListener','toISOString','parse','Device\x20auth\x20API\x20error\x20(','device','cancelled','networkError','write','source','aborted','project','/device-auth?code=','\x0dWaiting\x20for\x20authorization...\x20','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','str','156hkVXiB','expired','padStart','accessKey','log','floor','status','url-only','application/json','apiError','validation','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Write\x20to\x20project\x20config','randomUUID','6571980nEgBwS','Verify:\x20','string','bool','7HzdRXO','now','After\x20authorizing,\x20re-run:\x20','name'];a11_0x76e6=function(){return _0x1693b5;};return a11_0x76e6();}import{dirname}from'node:path';import{homedir}from'node:os';function a11_0x5e1b(_0x5f1769,_0x2d93eb){_0x5f1769=_0x5f1769-0x7b;const _0x76e6fe=a11_0x76e6();let _0x5e1bd5=_0x76e6fe[_0x5f1769];return _0x5e1bd5;}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(_0x33825f){const _0x4c118e=a11_0x5e1b;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x33825f[_0x4c118e(0x8b)]('global'),'explicitProject':_0x33825f[_0x4c118e(0x8b)](_0x4c118e(0xc2)),'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(){const _0x50f54a=a11_0x5e1b;return crypto[_0x50f54a(0x87)]();}export function buildDeviceAuthUrl(_0x214799,_0x2d29ea,_0x5106fb=a11_0xe8526(0xb1)){const _0x4ad947=a11_0xe8526;return _0x214799+_0x4ad947(0xc3)+encodeURIComponent(_0x2d29ea)+_0x4ad947(0xb3)+encodeURIComponent(_0x5106fb);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x1f7450=a11_0xe8526,_0x44df29=getDeviceCodePath();if(!existsSync(_0x44df29))return null;try{const _0x423200=readFileSync(_0x44df29,{'encoding':_0x1f7450(0x94)}),_0x3260f2=JSON[_0x1f7450(0xba)](_0x423200);if(_0x3260f2&&typeof _0x3260f2['code']==='string'&&typeof _0x3260f2['createdAt']==='string'&&(_0x3260f2[_0x1f7450(0xa7)]===_0x1f7450(0xa1)||_0x3260f2[_0x1f7450(0xa7)]===_0x1f7450(0xc2)))return _0x3260f2;}catch{}return null;}export function writeStoredDeviceCode(_0x251da1,_0x31838b){const _0x3b5dc3=a11_0xe8526,_0x3c57b5=getDeviceCodePath(),_0x596454=dirname(_0x3c57b5);!existsSync(_0x596454)&&mkdirSync(_0x596454,{'recursive':!![]});const _0x5c3cc0={'code':_0x251da1,'createdAt':new Date()[_0x3b5dc3(0xb9)](),'scope':_0x31838b};writeFileSync(_0x3c57b5,JSON[_0x3b5dc3(0xb6)](_0x5c3cc0),{'encoding':_0x3b5dc3(0x94),'mode':0x180});}export function deleteStoredDeviceCode(){const _0xf536c6=getDeviceCodePath();try{unlinkSync(_0xf536c6);}catch{}}export function isStoredDeviceCodeExpired(_0x4e910b){const _0x4aa61c=a11_0xe8526;return Date[_0x4aa61c(0x8d)]()-new Date(_0x4e910b['createdAt'])[_0x4aa61c(0xa8)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x3c12bf,_0x52af5f){const _0x1effb6=a11_0xe8526,_0x132e07=_0x3c12bf+_0x1effb6(0xae),_0x22d281=new AbortController(),_0xd6aeff=setTimeout(()=>_0x22d281['abort'](),0x2710),_0x266789=await fetch(_0x132e07,{'method':_0x1effb6(0xa4),'headers':{'Content-Type':_0x1effb6(0x82)},'body':JSON[_0x1effb6(0xb6)]({'code':_0x52af5f}),'signal':_0x22d281[_0x1effb6(0xb4)]});clearTimeout(_0xd6aeff);if(!_0x266789['ok'])throw CliErrors[_0x1effb6(0xbe)]('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x266789[_0x1effb6(0x80)]);const _0x67c45d=await _0x266789['json'](),_0x128a2c=_0x67c45d[_0x1effb6(0xa3)]&&typeof _0x67c45d[_0x1effb6(0xa3)]==='object'?_0x67c45d[_0x1effb6(0xa3)]:_0x67c45d;if(!_0x128a2c||typeof _0x128a2c[_0x1effb6(0x80)]!==_0x1effb6(0x8a))throw CliErrors[_0x1effb6(0x83)]('Invalid\x20device\x20auth\x20response');return{'status':_0x128a2c[_0x1effb6(0x80)],'access_key':typeof _0x128a2c[_0x1effb6(0x9e)]===_0x1effb6(0x8a)?_0x128a2c['access_key']:undefined};}export async function pollDeviceToken(_0x4340f2,_0x4d793d,_0x198537){const _0x815bfe=a11_0xe8526;let _0x5986d4=0x0;for(let _0x5e4e08=0x0;_0x5e4e08<MAX_POLLS;_0x5e4e08++){if(_0x198537[_0x815bfe(0xc1)])throw CliErrors[_0x815bfe(0xbd)]('Device\x20authorization\x20cancelled.');let _0x554662;try{_0x554662=await fetchDeviceToken(_0x4340f2,_0x4d793d);}catch(_0x214b4d){if(_0x214b4d instanceof Error&&_0x214b4d[_0x815bfe(0x8f)]===_0x815bfe(0x95))throw CliErrors['cancelled']('Device\x20authorization\x20cancelled.');_0x5986d4++;if(_0x5986d4>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x815bfe(0xbe)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x815bfe(0xbb)+_0x5986d4+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x815bfe(0x9d)),await sleep(POLL_INTERVAL_MS);continue;}_0x5986d4=0x0;if(_0x554662[_0x815bfe(0x80)]==='success'){if(!_0x554662[_0x815bfe(0x9e)])throw CliErrors[_0x815bfe(0x83)](_0x815bfe(0x96));return _0x554662[_0x815bfe(0x9e)];}if(_0x554662[_0x815bfe(0x80)]===_0x815bfe(0x7b)){deleteStoredDeviceCode();throw CliErrors[_0x815bfe(0x84)](_0x815bfe(0xa6));}const _0xf7ad94=(_0x5e4e08+0x1)*POLL_INTERVAL_MS,_0x24580f=DEVICE_CODE_TTL_MS-_0xf7ad94,_0x11cf6d=Math['floor'](_0x24580f/0xea60),_0x5d1fca=Math[_0x815bfe(0x7f)](_0x24580f%0xea60/0x3e8);process[_0x815bfe(0xa0)]['write'](_0x815bfe(0xc4)+_0x11cf6d+':'+String(_0x5d1fca)[_0x815bfe(0x7c)](0x2,'0')+_0x815bfe(0xaa)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x815bfe(0x84)](_0x815bfe(0x9b));}function sleep(_0x366f76){return new Promise(_0x2b24ab=>setTimeout(_0x2b24ab,_0x366f76));}export const authDeviceDefinition={'service':a11_0xe8526(0x93),'command':a11_0xe8526(0xbc),'description':a11_0xe8526(0x99),'risk':a11_0xe8526(0xbf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0xe8526(0xa1),'type':'boolean','description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a11_0xe8526(0xc2),'type':a11_0xe8526(0xad),'description':a11_0xe8526(0x86),'default':![]},{'name':a11_0xe8526(0xc0),'type':'string','description':a11_0xe8526(0xb5),'default':a11_0xe8526(0xb1)},{'name':a11_0xe8526(0x81),'type':a11_0xe8526(0xad),'description':a11_0xe8526(0x90),'default':![]}],async 'execute'(_0x2c5034){const _0xe0a1d0=a11_0xe8526,_0x3cfe6d=resolveAuthScopeFlags(_0x2c5034),_0x417b8b=_0x3cfe6d['global']?'global':_0xe0a1d0(0xc2),_0x3640c1=readScopedConfig(_0x3cfe6d);if(_0x3640c1[_0xe0a1d0(0x7d)])return{'ok':!![],'message':_0xe0a1d0(0x85)};const _0x37fde4=(_0x2c5034[_0xe0a1d0(0xc6)](_0xe0a1d0(0xc0))||'lovrabet-cli')['trim'](),_0x47eb94=getUserDomain(),_0x21c461=readStoredDeviceCode(),_0x5930e3=_0x21c461&&!isStoredDeviceCodeExpired(_0x21c461)?_0x21c461['code']:((()=>{const _0x4b02e5=generateDeviceCode();return writeStoredDeviceCode(_0x4b02e5,_0x417b8b),_0x4b02e5;})()),_0x14a789=buildDeviceAuthUrl(_0x47eb94,_0x5930e3,_0x37fde4);if(_0x2c5034[_0xe0a1d0(0x8b)](_0xe0a1d0(0x81)))return console[_0xe0a1d0(0x7e)](_0x14a789),{'ok':!![]};writeCliSideChannelLine(_0xe0a1d0(0x9c)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x14a789),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xe0a1d0(0xa9));if(_0x2c5034[_0xe0a1d0(0xb7)])return writeCliSideChannelLine(_0xe0a1d0(0x8e)+CLI_BIN_NAME+_0xe0a1d0(0xb0)),{'ok':!![],'message':_0xe0a1d0(0x9f)};writeCliSideChannelLine(_0xe0a1d0(0xc5));const _0xf21909=new AbortController(),_0x1e3351=()=>{const _0x2184a6=_0xe0a1d0;_0xf21909[_0x2184a6(0x91)](),process['removeListener'](_0x2184a6(0x92),_0x1e3351);};process['once']('SIGINT',_0x1e3351);let _0x20ecdf;try{_0x20ecdf=await pollDeviceToken(_0x47eb94,_0x5930e3,_0xf21909[_0xe0a1d0(0xb4)]);}finally{process[_0xe0a1d0(0xb8)](_0xe0a1d0(0x92),_0x1e3351);}if(!ACCESS_KEY_PATTERN['test'](_0x20ecdf))throw CliErrors[_0xe0a1d0(0x83)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x55ae11=readScopedConfig(_0x3cfe6d);return _0x55ae11[_0xe0a1d0(0x7d)]=_0x20ecdf,writeScopedConfig(_0x55ae11,_0x3cfe6d),deleteStoredDeviceCode(),process[_0xe0a1d0(0xa0)][_0xe0a1d0(0xbf)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x417b8b+_0xe0a1d0(0xac)),writeCliSideChannelLine(_0xe0a1d0(0x89)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0xe0a1d0(0xa5)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a12_0x3074e5=a12_0x29a9;(function(_0x4c1146,_0x282193){const _0x1a4af1=a12_0x29a9,_0x53bad8=_0x4c1146();while(!![]){try{const _0x532840=-parseInt(_0x1a4af1(0xb1))/0x1+parseInt(_0x1a4af1(0xc9))/0x2*(parseInt(_0x1a4af1(0x9f))/0x3)+-parseInt(_0x1a4af1(0xdd))/0x4+parseInt(_0x1a4af1(0xc7))/0x5*(parseInt(_0x1a4af1(0xea))/0x6)+parseInt(_0x1a4af1(0x99))/0x7+parseInt(_0x1a4af1(0xba))/0x8*(-parseInt(_0x1a4af1(0xe8))/0x9)+parseInt(_0x1a4af1(0xc5))/0xa*(parseInt(_0x1a4af1(0xd7))/0xb);if(_0x532840===_0x282193)break;else _0x53bad8['push'](_0x53bad8['shift']());}catch(_0x17615b){_0x53bad8['push'](_0x53bad8['shift']());}}}(a12_0x1be9,0xa76aa));import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../../constant/product.js';import{AUTH_MODE}from'../../constant/auth-mode.js';import{normalizeEnv,isDaily,isDev}from'../../constant/env.js';import{USER_ACCESS_KEY_CREATE_URL}from'../../constant/url.js';import{CliErrors}from'../../errors.js';import{promptAccessKey,isAbortPrompt}from'../../commands/auth/prompt.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{getLoginUserInfo}from'../../core/api-client.js';import{getUserDomain}from'../../constant/domain.js';import{authDeviceDefinition,readStoredDeviceCode,deleteStoredDeviceCode,fetchDeviceToken,isStoredDeviceCodeExpired}from'../../commands/auth/device.js';function a12_0x29a9(_0x842116,_0x262593){_0x842116=_0x842116-0x98;const _0x1be9bc=a12_0x1be9();let _0x29a911=_0x1be9bc[_0x842116];return _0x29a911;}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/;function showAccessKeyCreateHint(){const _0x68665f=a12_0x29a9;writeCliSideChannelLine(_0x68665f(0xcc)+PRODUCT_CONFIG['userCenterDisplayName']+':'),writeCliSideChannelLine('\x0a'+USER_ACCESS_KEY_CREATE_URL+'\x0a'),writeCliSideChannelLine('Tip:\x20you\x20can\x20also\x20run:'),writeCliSideChannelLine('\x20\x20'+CLI_BIN_NAME+_0x68665f(0xc3));}function buildAccessKeySetupGuide(){const _0x576d36=a12_0x29a9;return['AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20'+PRODUCT_CONFIG['userCenterDisplayName']+':',USER_ACCESS_KEY_CREATE_URL,_0x576d36(0xa1)+CLI_BIN_NAME+_0x576d36(0x9d)]['join']('\x0a');}function canPromptForAccessKey(_0x389cbf){const _0x5e3ad2=a12_0x29a9;return!_0x389cbf[_0x5e3ad2(0xbf)]&&process[_0x5e3ad2(0xa7)][_0x5e3ad2(0xdc)]!==![]&&process['stdout'][_0x5e3ad2(0xdc)]!==![];}function resolveAuthScopeFlags(_0x18509a){const _0xa33fa5=a12_0x29a9;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x18509a[_0xa33fa5(0xc4)](_0xa33fa5(0xe6)),'explicitProject':_0x18509a[_0xa33fa5(0xc4)](_0xa33fa5(0xb5)),'policy':'global-default'}));}async function resolveAuthWriteInput(_0x530183){const _0x3e295=a12_0x29a9;let _0x18b546=(_0x530183[_0x3e295(0xd4)]('access-key')||_0x530183[_0x3e295(0xd4)]('ak')||'')[_0x3e295(0xe5)]();const _0x2f4a32=(_0x530183[_0x3e295(0xd4)](_0x3e295(0xd1))||'')[_0x3e295(0xe5)]();if(!_0x18b546&&canPromptForAccessKey(_0x530183))try{showAccessKeyCreateHint(),_0x18b546=await promptAccessKey('');}catch(_0x49b0db){if(isAbortPrompt(_0x49b0db))throw CliErrors[_0x3e295(0xbc)]();throw _0x49b0db;}if(!_0x18b546)throw CliErrors[_0x3e295(0xde)](_0x3e295(0xca),buildAccessKeySetupGuide());if(!ACCESS_KEY_PATTERN[_0x3e295(0x9a)](_0x18b546))throw CliErrors[_0x3e295(0xde)]('Invalid\x20accessKey\x20format:\x20\x22'+_0x18b546+'\x22',_0x3e295(0xe4));if(!_0x2f4a32)return{'accessKey':_0x18b546};const _0x461a27=normalizeEnv(_0x2f4a32);return{'accessKey':_0x18b546,'env':isDaily(_0x461a27)?_0x3e295(0xc2):isDev(_0x461a27)?'development':_0x3e295(0xc8)};}function a12_0x1be9(){const _0x5be25c=['status','authRequired','access_key','\x20auth\x20login\x20--access-key\x20<ak_xxx>`\x20to\x20save\x20credentials.','env','\x20auth\x20status','Auth\x20config\x20reinitialized\x20in\x20','str','expired','AccessKey:\x20','253VLhBxe','\x20Verify:\x20','=ak_xxx','length','success','isTTY','3694012WYBPRd','validation','ClientAk','join','access-key','init','slice','Expected:\x20ak_\x20followed\x20by\x2016+\x20alphanumeric\x20chars','trim','global','auth','274419ElKFEi','`auth\x20login`\x20does\x20not\x20support\x20--yes.','18EZgLKF','Read\x20from\x20global\x20config\x20(default)','ACCESS_KEY','Clear\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','string','No\x20AccessKey\x20found\x20in\x20','read','AccessKey\x20cleared\x20from\x20','Then\x20verify\x20with:\x20','\x20config','accessKey','9046380HzFBlo','test','{\x20\x22accessKey\x22:\x20\x22ak_xxx\x22\x20}','Option\x20B:\x20apps\x20config\x20(','\x20auth\x20login\x20--access-key\x20<ak_xxx>\x20[--global]','Device\x20authorization\x20pending.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20try\x20again.','98187lDNhxP','Show\x20current\x20authentication\x20status','Give\x20the\x20AccessKey\x20to\x20your\x20AI\x20Agent,\x20then\x20run:\x20','Option\x20A:\x20','yes','\x20config.','Exit\x20non-zero\x20when\x20no\x20AccessKey\x20is\x20configured','Clear\x20accessKey\x20from\x20config','stdin','info','\x20config.\x20Nothing\x20to\x20clear.','Use\x20`','\x20(via\x20','newConfigFileName','push','logout','AccessKey\x20saved\x20to\x20','Device\x20authorization\x20successful.','1000366YGtFDr','Write\x20to\x20project\x20config\x20instead\x20of\x20global\x20config','Shorthand\x20for\x20--access-key','Option\x20C:\x20environment\x20variable','project','check','\x20env\x20var','Read\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','repeat','24tKQnee','AccessKey\x20(ak_xxx...)','cancelled','login','Write\x20to\x20global\x20config\x20(default)','nonInteractive','boolean','write','daily','\x20auth\x20login\x20--access-key\x20<ak_xxx>','bool','225190PkKBLM','Auth\x20mode:\x20','884640bXESJf','production','22xGrYeK','Missing\x20accessKey.','\x20Current\x20env:\x20','AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20'];a12_0x1be9=function(){return _0x5be25c;};return a12_0x1be9();}export const authDefinitions=[{'service':a12_0x3074e5(0xe7),'command':a12_0x3074e5(0xbd),'description':'Save\x20accessKey\x20to\x20config\x20(global\x20by\x20default;\x20use\x20--project\x20for\x20project\x20config)','risk':a12_0x3074e5(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3074e5(0xe1),'type':'string','description':a12_0x3074e5(0xbb)},{'name':'ak','type':a12_0x3074e5(0xee),'description':a12_0x3074e5(0xb3)},{'name':'global','type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xbe),'default':!![]},{'name':'project','type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xb2),'default':![]}],async 'execute'(_0x405092){const _0x29ffbf=a12_0x3074e5;if(_0x405092[_0x29ffbf(0xc4)](_0x29ffbf(0xa3)))throw CliErrors['validation'](_0x29ffbf(0xe9),_0x29ffbf(0xaa)+CLI_BIN_NAME+'\x20auth\x20login\x20--non-interactive`\x20to\x20avoid\x20prompts,\x20or\x20`'+CLI_BIN_NAME+_0x29ffbf(0xd0));const _0x5d91c3=(_0x405092[_0x29ffbf(0xd4)](_0x29ffbf(0xe1))||_0x405092[_0x29ffbf(0xd4)]('ak')||'')[_0x29ffbf(0xe5)]();if(!_0x5d91c3&&_0x405092['nonInteractive'])return{'ok':!![],'message':buildAccessKeySetupGuide()};const _0x1f7477=await resolveAuthWriteInput(_0x405092),_0x386998=resolveAuthScopeFlags(_0x405092),_0x280a24=readScopedConfig(_0x386998);_0x280a24['accessKey']=_0x1f7477[_0x29ffbf(0x98)];_0x1f7477[_0x29ffbf(0xd1)]&&(_0x280a24[_0x29ffbf(0xd1)]=_0x1f7477[_0x29ffbf(0xd1)]);writeScopedConfig(_0x280a24,_0x386998);const _0x27d2b0=_0x386998[_0x29ffbf(0xe6)]?_0x29ffbf(0xe6):_0x29ffbf(0xb5),_0x24fc2e=_0x280a24[_0x29ffbf(0xd1)]?_0x29ffbf(0xcb)+_0x280a24[_0x29ffbf(0xd1)]+'.':'';return{'ok':!![],'message':_0x29ffbf(0xaf)+_0x27d2b0+_0x29ffbf(0xa4)+_0x24fc2e+_0x29ffbf(0xd8)+CLI_BIN_NAME+_0x29ffbf(0xd2)};}},{'service':a12_0x3074e5(0xe7),'command':a12_0x3074e5(0xe2),'description':'Clear\x20all\x20config\x20in\x20scope\x20and\x20initialize\x20auth\x20from\x20scratch','risk':a12_0x3074e5(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3074e5(0xe1),'type':a12_0x3074e5(0xee),'description':a12_0x3074e5(0xbb)},{'name':'ak','type':a12_0x3074e5(0xee),'description':a12_0x3074e5(0xb3)},{'name':a12_0x3074e5(0xd1),'type':a12_0x3074e5(0xee),'description':'Target\x20environment\x20to\x20persist\x20with\x20the\x20new\x20auth\x20config'},{'name':'global','type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xbe),'default':!![]},{'name':'project','type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xb2),'default':![]}],async 'execute'(_0x5c51df){const _0x418b9f=a12_0x3074e5,_0x4ef4a3=await resolveAuthWriteInput(_0x5c51df),_0x16bc01=resolveAuthScopeFlags(_0x5c51df),_0x2a6cfb={'accessKey':_0x4ef4a3[_0x418b9f(0x98)]};_0x4ef4a3['env']&&(_0x2a6cfb[_0x418b9f(0xd1)]=_0x4ef4a3[_0x418b9f(0xd1)]);writeScopedConfig(_0x2a6cfb,_0x16bc01);const _0x1e2f2c=_0x16bc01[_0x418b9f(0xe6)]?'global':_0x418b9f(0xb5),_0x46c2f3=_0x2a6cfb[_0x418b9f(0xd1)]?_0x418b9f(0xcb)+_0x2a6cfb[_0x418b9f(0xd1)]+'.':'';return{'ok':!![],'message':_0x418b9f(0xd3)+_0x1e2f2c+'\x20scope.'+_0x46c2f3+_0x418b9f(0xd8)+CLI_BIN_NAME+_0x418b9f(0xd2)};}},{'service':'auth','command':a12_0x3074e5(0xae),'description':a12_0x3074e5(0xa6),'risk':a12_0x3074e5(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3074e5(0xe6),'type':a12_0x3074e5(0xc0),'description':'Clear\x20from\x20global\x20config\x20(default)','default':!![]},{'name':a12_0x3074e5(0xb5),'type':'boolean','description':a12_0x3074e5(0xed),'default':![]}],async 'execute'(_0x2917eb){const _0x35dc36=a12_0x3074e5,_0x5871f2=resolveAuthScopeFlags(_0x2917eb),_0x3c3371=readScopedConfig(_0x5871f2),_0x24bf19=!!_0x3c3371[_0x35dc36(0x98)];delete _0x3c3371[_0x35dc36(0x98)],writeScopedConfig(_0x3c3371,_0x5871f2);const _0x4f3d66=_0x5871f2['global']?_0x35dc36(0xe6):_0x35dc36(0xb5);if(_0x24bf19)return{'ok':!![],'message':_0x35dc36(0xf1)+_0x4f3d66+_0x35dc36(0xa4)};return{'ok':!![],'message':_0x35dc36(0xef)+_0x4f3d66+_0x35dc36(0xa9)};}},{'service':a12_0x3074e5(0xe7),'command':a12_0x3074e5(0xcd),'description':a12_0x3074e5(0xa0),'risk':a12_0x3074e5(0xf0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3074e5(0xe6),'type':'boolean','description':a12_0x3074e5(0xeb),'default':!![]},{'name':a12_0x3074e5(0xb5),'type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xb8),'default':![]},{'name':a12_0x3074e5(0xb6),'type':a12_0x3074e5(0xc0),'description':a12_0x3074e5(0xa5),'default':![]}],async 'execute'(_0xe196cf){const _0x58f1df=a12_0x3074e5,_0x1debf2=resolveAuthScopeFlags(_0xe196cf),_0x527979=readScopedConfig(_0x1debf2),_0x1c6894=productEnvName(_0x58f1df(0xec)),_0x3567fb=productEnv(_0x58f1df(0xec))||undefined,_0x54dd7d=_0x527979[_0x58f1df(0x98)]||undefined,_0x4880f2=_0x3567fb||_0x54dd7d,_0x5edfea=_0x3567fb?_0x1c6894+_0x58f1df(0xb7):_0x54dd7d?(_0x1debf2[_0x58f1df(0xe6)]?_0x58f1df(0xe6):_0x58f1df(0xb5))+_0x58f1df(0xf3):null,_0x6cf858=[_0x58f1df(0xc6)+AUTH_MODE[_0x58f1df(0xdf)]];if(_0x4880f2){const _0x27e5f7=_0x4880f2[_0x58f1df(0xda)]>0x8?''+_0x4880f2[_0x58f1df(0xe3)](0x0,0x8)+'*'[_0x58f1df(0xb9)](_0x4880f2['length']-0x8):_0x4880f2;_0x6cf858[_0x58f1df(0xad)](_0x58f1df(0xd6)+_0x27e5f7+(_0x5edfea?_0x58f1df(0xab)+_0x5edfea+')':''));}if(!_0x4880f2){_0x6cf858[_0x58f1df(0xad)](''),_0x6cf858['push']('No\x20credentials\x20found.\x20Configure\x20one\x20of\x20the\x20options\x20below:'),_0x6cf858[_0x58f1df(0xad)](''),_0x6cf858[_0x58f1df(0xad)](_0x58f1df(0xa2)+CLI_BIN_NAME+'\x20auth\x20login\x20[--global]\x20[--access-key\x20ak_xxx]'),_0x6cf858[_0x58f1df(0xad)](''),_0x6cf858[_0x58f1df(0xad)](_0x58f1df(0x9c)+PRODUCT_CONFIG[_0x58f1df(0xac)]+')'),_0x6cf858[_0x58f1df(0xad)](_0x58f1df(0x9b)),_0x6cf858[_0x58f1df(0xad)](''),_0x6cf858[_0x58f1df(0xad)](_0x58f1df(0xb4)),_0x6cf858['push']('\x20\x20export\x20'+_0x1c6894+_0x58f1df(0xd9)),_0x6cf858[_0x58f1df(0xad)](''),_0x6cf858['push'](_0x58f1df(0xf2)+CLI_BIN_NAME+'\x20auth\x20status'),_0x6cf858['push']('If\x20command\x20execution\x20still\x20fails,\x20run:\x20'+CLI_BIN_NAME+'\x20doctor');if(_0xe196cf[_0x58f1df(0xc4)](_0x58f1df(0xb6))){const _0x24a893=readStoredDeviceCode();if(_0x24a893&&!isStoredDeviceCodeExpired(_0x24a893)){const _0x5e2fc2=getUserDomain(),_0xf66f1f=await fetchDeviceToken(_0x5e2fc2,_0x24a893['code']);if(_0xf66f1f[_0x58f1df(0xcd)]===_0x58f1df(0xdb)&&_0xf66f1f[_0x58f1df(0xcf)]){const _0x584d58={'global':_0x24a893['scope']===_0x58f1df(0xe6)},_0x30b60c=readScopedConfig(_0x584d58);return _0x30b60c['accessKey']=_0xf66f1f[_0x58f1df(0xcf)],writeScopedConfig(_0x30b60c,_0x584d58),deleteStoredDeviceCode(),{'ok':!![],'message':_0x58f1df(0xb0)};}_0xf66f1f[_0x58f1df(0xcd)]===_0x58f1df(0xd5)&&deleteStoredDeviceCode();throw CliErrors[_0x58f1df(0xce)](_0x58f1df(0x9e));}throw CliErrors[_0x58f1df(0xce)](_0x6cf858[_0x58f1df(0xe0)]('\x0a'));}}return{'ok':!![],'message':_0x6cf858[_0x58f1df(0xe0)]('\x0a')};}},{'service':a12_0x3074e5(0xe7),'command':a12_0x3074e5(0xa8),'description':'Fetch\x20current\x20login\x20user\x20info\x20for\x20the\x20active\x20access\x20key','risk':a12_0x3074e5(0xf0),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0x422db1){const _0x4848e2=a12_0x3074e5,_0x4aa87e=await getLoginUserInfo();return{'ok':!![],'data':{'user':_0x4aa87e,'meta':{'env':_0x422db1['envName']??_0x4848e2(0xc8)}}};}},authDeviceDefinition];
|
|
1
|
+
const a12_0x3d163e=a12_0x2fcb;(function(_0x2c880a,_0x22a3ce){const _0x1bee34=a12_0x2fcb,_0x304841=_0x2c880a();while(!![]){try{const _0x3817eb=parseInt(_0x1bee34(0x12b))/0x1*(parseInt(_0x1bee34(0x15b))/0x2)+-parseInt(_0x1bee34(0x180))/0x3+parseInt(_0x1bee34(0x176))/0x4+-parseInt(_0x1bee34(0x15a))/0x5*(parseInt(_0x1bee34(0x140))/0x6)+parseInt(_0x1bee34(0x138))/0x7*(parseInt(_0x1bee34(0x151))/0x8)+-parseInt(_0x1bee34(0x16d))/0x9+-parseInt(_0x1bee34(0x14e))/0xa*(-parseInt(_0x1bee34(0x17f))/0xb);if(_0x3817eb===_0x22a3ce)break;else _0x304841['push'](_0x304841['shift']());}catch(_0x257052){_0x304841['push'](_0x304841['shift']());}}}(a12_0x77ee,0xf2a46));import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG,productEnv,productEnvName}from'../../constant/product.js';import{AUTH_MODE}from'../../constant/auth-mode.js';function a12_0x77ee(){const _0x40ee4d=['code','development','trim','project','push','Option\x20B:\x20apps\x20config\x20(','str','Write\x20to\x20global\x20config\x20(default)','Shorthand\x20for\x20--access-key','Write\x20to\x20project\x20config\x20instead\x20of\x20global\x20config','No\x20AccessKey\x20found\x20in\x20','17709903yyuQDK','AccessKey:\x20','Show\x20current\x20authentication\x20status','Missing\x20accessKey.','string','boolean','\x20scope.','Option\x20C:\x20environment\x20variable','validation','5244972apiWQr','init','\x20auth\x20login\x20--access-key\x20<ak_xxx>\x20[--global]','\x20auth\x20status','Expected:\x20ak_\x20followed\x20by\x2016+\x20alphanumeric\x20chars','AccessKey\x20saved\x20to\x20','Clear\x20from\x20global\x20config\x20(default)','bool','\x20Verify:\x20','11396InooxV','3757305KjJSvm','envName','\x20(via\x20','AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20','Then\x20verify\x20with:\x20','logout','repeat','\x20Current\x20env:\x20','No\x20credentials\x20found.\x20Configure\x20one\x20of\x20the\x20options\x20below:','AccessKey\x20(ak_xxx...)','Clear\x20all\x20config\x20in\x20scope\x20and\x20initialize\x20auth\x20from\x20scratch','4423pYDfEw','daily','Device\x20authorization\x20successful.','status','{\x20\x22accessKey\x22:\x20\x22ak_xxx\x22\x20}','\x20auth\x20login\x20--non-interactive`\x20to\x20avoid\x20prompts,\x20or\x20`','Device\x20authorization\x20pending.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20try\x20again.','login','slice','global','info','\x20auth\x20login\x20--access-key\x20<ak_xxx>`\x20to\x20save\x20credentials.','Fetch\x20current\x20login\x20user\x20info\x20for\x20the\x20active\x20access\x20key','11771795hToCAy','\x20config','isTTY','join','ACCESS_KEY','Target\x20environment\x20to\x20persist\x20with\x20the\x20new\x20auth\x20config','access-key','userCenterDisplayName','6KRMgVg','Read\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','accessKey','Clear\x20from\x20project\x20config\x20instead\x20of\x20global\x20config','ClientAk','\x20config.','Invalid\x20accessKey\x20format:\x20\x22','AccessKey\x20cleared\x20from\x20','\x20doctor','\x20auth\x20login\x20--access-key\x20<ak_xxx>','Tip:\x20you\x20can\x20also\x20run:','production','Use\x20`','Auth\x20config\x20reinitialized\x20in\x20','8530DWFJGN','read','If\x20command\x20execution\x20still\x20fails,\x20run:\x20','8kqYnYr','=ak_xxx','check','write','access_key','Auth\x20mode:\x20','test','\x20config.\x20Nothing\x20to\x20clear.','auth','4748325cEfGmJ','582qcJbzP','yes','`auth\x20login`\x20does\x20not\x20support\x20--yes.','Clear\x20accessKey\x20from\x20config','env','\x20\x20export\x20','authRequired'];a12_0x77ee=function(){return _0x40ee4d;};return a12_0x77ee();}import{normalizeEnv,isDaily,isDev}from'../../constant/env.js';function a12_0x2fcb(_0x43f89c,_0x152c17){_0x43f89c=_0x43f89c-0x123;const _0x77eedb=a12_0x77ee();let _0x2fcbdd=_0x77eedb[_0x43f89c];return _0x2fcbdd;}import{USER_ACCESS_KEY_CREATE_URL}from'../../constant/url.js';import{CliErrors}from'../../errors.js';import{promptAccessKey,isAbortPrompt}from'../../commands/auth/prompt.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{getLoginUserInfo}from'../../core/api-client.js';import{getUserDomain}from'../../constant/domain.js';import{authDeviceDefinition,readStoredDeviceCode,deleteStoredDeviceCode,fetchDeviceToken,isStoredDeviceCodeExpired}from'../../commands/auth/device.js';const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/;function showAccessKeyCreateHint(){const _0x4674df=a12_0x2fcb;writeCliSideChannelLine(_0x4674df(0x123)+PRODUCT_CONFIG[_0x4674df(0x13f)]+':'),writeCliSideChannelLine('\x0a'+USER_ACCESS_KEY_CREATE_URL+'\x0a'),writeCliSideChannelLine(_0x4674df(0x14a)),writeCliSideChannelLine('\x20\x20'+CLI_BIN_NAME+_0x4674df(0x149));}function buildAccessKeySetupGuide(){const _0x553c89=a12_0x2fcb;return['AccessKey\x20required\x20for\x20login.\x20Create\x20one\x20in\x20'+PRODUCT_CONFIG[_0x553c89(0x13f)]+':',USER_ACCESS_KEY_CREATE_URL,'Give\x20the\x20AccessKey\x20to\x20your\x20AI\x20Agent,\x20then\x20run:\x20'+CLI_BIN_NAME+_0x553c89(0x178)]['join']('\x0a');}function canPromptForAccessKey(_0x2886bd){const _0xf14a27=a12_0x2fcb;return!_0x2886bd['nonInteractive']&&process['stdin'][_0xf14a27(0x13a)]!==![]&&process['stdout'][_0xf14a27(0x13a)]!==![];}function resolveAuthScopeFlags(_0x215894){const _0x28ddc4=a12_0x2fcb;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x215894['bool']('global'),'explicitProject':_0x215894[_0x28ddc4(0x17d)](_0x28ddc4(0x165)),'policy':'global-default'}));}async function resolveAuthWriteInput(_0x159e20){const _0x1593f4=a12_0x2fcb;let _0x2a4a92=(_0x159e20[_0x1593f4(0x168)](_0x1593f4(0x13e))||_0x159e20[_0x1593f4(0x168)]('ak')||'')[_0x1593f4(0x164)]();const _0x41d278=(_0x159e20[_0x1593f4(0x168)]('env')||'')[_0x1593f4(0x164)]();if(!_0x2a4a92&&canPromptForAccessKey(_0x159e20))try{showAccessKeyCreateHint(),_0x2a4a92=await promptAccessKey('');}catch(_0xd4e596){if(isAbortPrompt(_0xd4e596))throw CliErrors['cancelled']();throw _0xd4e596;}if(!_0x2a4a92)throw CliErrors[_0x1593f4(0x175)](_0x1593f4(0x170),buildAccessKeySetupGuide());if(!ACCESS_KEY_PATTERN[_0x1593f4(0x157)](_0x2a4a92))throw CliErrors[_0x1593f4(0x175)](_0x1593f4(0x146)+_0x2a4a92+'\x22',_0x1593f4(0x17a));if(!_0x41d278)return{'accessKey':_0x2a4a92};const _0x8aeba1=normalizeEnv(_0x41d278);return{'accessKey':_0x2a4a92,'env':isDaily(_0x8aeba1)?_0x1593f4(0x12c):isDev(_0x8aeba1)?_0x1593f4(0x163):'production'};}export const authDefinitions=[{'service':a12_0x3d163e(0x159),'command':a12_0x3d163e(0x132),'description':'Save\x20accessKey\x20to\x20config\x20(global\x20by\x20default;\x20use\x20--project\x20for\x20project\x20config)','risk':a12_0x3d163e(0x154),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3d163e(0x13e),'type':a12_0x3d163e(0x171),'description':a12_0x3d163e(0x129)},{'name':'ak','type':a12_0x3d163e(0x171),'description':a12_0x3d163e(0x16a)},{'name':a12_0x3d163e(0x134),'type':a12_0x3d163e(0x172),'description':a12_0x3d163e(0x169),'default':!![]},{'name':'project','type':'boolean','description':a12_0x3d163e(0x16b),'default':![]}],async 'execute'(_0x5db46e){const _0x3ecef4=a12_0x3d163e;if(_0x5db46e[_0x3ecef4(0x17d)](_0x3ecef4(0x15c)))throw CliErrors[_0x3ecef4(0x175)](_0x3ecef4(0x15d),_0x3ecef4(0x14c)+CLI_BIN_NAME+_0x3ecef4(0x130)+CLI_BIN_NAME+_0x3ecef4(0x136));const _0x580f04=(_0x5db46e[_0x3ecef4(0x168)]('access-key')||_0x5db46e[_0x3ecef4(0x168)]('ak')||'')[_0x3ecef4(0x164)]();if(!_0x580f04&&_0x5db46e['nonInteractive'])return{'ok':!![],'message':buildAccessKeySetupGuide()};const _0x1509e7=await resolveAuthWriteInput(_0x5db46e),_0x51c997=resolveAuthScopeFlags(_0x5db46e),_0x25ca40=readScopedConfig(_0x51c997);_0x25ca40['accessKey']=_0x1509e7['accessKey'];_0x1509e7['env']&&(_0x25ca40['env']=_0x1509e7[_0x3ecef4(0x15f)]);writeScopedConfig(_0x25ca40,_0x51c997);const _0x502a90=_0x51c997[_0x3ecef4(0x134)]?_0x3ecef4(0x134):_0x3ecef4(0x165),_0x5559b9=_0x25ca40[_0x3ecef4(0x15f)]?'\x20Current\x20env:\x20'+_0x25ca40[_0x3ecef4(0x15f)]+'.':'';return{'ok':!![],'message':_0x3ecef4(0x17b)+_0x502a90+_0x3ecef4(0x145)+_0x5559b9+'\x20Verify:\x20'+CLI_BIN_NAME+_0x3ecef4(0x179)};}},{'service':a12_0x3d163e(0x159),'command':a12_0x3d163e(0x177),'description':a12_0x3d163e(0x12a),'risk':a12_0x3d163e(0x154),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3d163e(0x13e),'type':a12_0x3d163e(0x171),'description':a12_0x3d163e(0x129)},{'name':'ak','type':a12_0x3d163e(0x171),'description':'Shorthand\x20for\x20--access-key'},{'name':'env','type':a12_0x3d163e(0x171),'description':a12_0x3d163e(0x13d)},{'name':a12_0x3d163e(0x134),'type':a12_0x3d163e(0x172),'description':a12_0x3d163e(0x169),'default':!![]},{'name':a12_0x3d163e(0x165),'type':'boolean','description':a12_0x3d163e(0x16b),'default':![]}],async 'execute'(_0x5ba1dc){const _0x5edcea=a12_0x3d163e,_0x2486df=await resolveAuthWriteInput(_0x5ba1dc),_0x4fc4a1=resolveAuthScopeFlags(_0x5ba1dc),_0xe1b765={'accessKey':_0x2486df[_0x5edcea(0x142)]};_0x2486df['env']&&(_0xe1b765[_0x5edcea(0x15f)]=_0x2486df[_0x5edcea(0x15f)]);writeScopedConfig(_0xe1b765,_0x4fc4a1);const _0x2d8506=_0x4fc4a1[_0x5edcea(0x134)]?_0x5edcea(0x134):'project',_0x2e744f=_0xe1b765[_0x5edcea(0x15f)]?_0x5edcea(0x127)+_0xe1b765['env']+'.':'';return{'ok':!![],'message':_0x5edcea(0x14d)+_0x2d8506+_0x5edcea(0x173)+_0x2e744f+_0x5edcea(0x17e)+CLI_BIN_NAME+_0x5edcea(0x179)};}},{'service':'auth','command':a12_0x3d163e(0x125),'description':a12_0x3d163e(0x15e),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3d163e(0x134),'type':a12_0x3d163e(0x172),'description':a12_0x3d163e(0x17c),'default':!![]},{'name':'project','type':a12_0x3d163e(0x172),'description':a12_0x3d163e(0x143),'default':![]}],async 'execute'(_0x21598e){const _0x3db348=a12_0x3d163e,_0x464706=resolveAuthScopeFlags(_0x21598e),_0x4410a0=readScopedConfig(_0x464706),_0x12a635=!!_0x4410a0['accessKey'];delete _0x4410a0[_0x3db348(0x142)],writeScopedConfig(_0x4410a0,_0x464706);const _0x49f162=_0x464706[_0x3db348(0x134)]?'global':'project';if(_0x12a635)return{'ok':!![],'message':_0x3db348(0x147)+_0x49f162+_0x3db348(0x145)};return{'ok':!![],'message':_0x3db348(0x16c)+_0x49f162+_0x3db348(0x158)};}},{'service':'auth','command':a12_0x3d163e(0x12e),'description':a12_0x3d163e(0x16f),'risk':a12_0x3d163e(0x14f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x3d163e(0x134),'type':a12_0x3d163e(0x172),'description':'Read\x20from\x20global\x20config\x20(default)','default':!![]},{'name':a12_0x3d163e(0x165),'type':'boolean','description':a12_0x3d163e(0x141),'default':![]},{'name':a12_0x3d163e(0x153),'type':a12_0x3d163e(0x172),'description':'Exit\x20non-zero\x20when\x20no\x20AccessKey\x20is\x20configured','default':![]}],async 'execute'(_0x20e49a){const _0x42361a=a12_0x3d163e,_0x124156=resolveAuthScopeFlags(_0x20e49a),_0x214ea1=readScopedConfig(_0x124156),_0x12a697=productEnvName(_0x42361a(0x13c)),_0x25307a=productEnv('ACCESS_KEY')||undefined,_0xcfbf0b=_0x214ea1['accessKey']||undefined,_0x56ca6d=_0x25307a||_0xcfbf0b,_0x25bc51=_0x25307a?_0x12a697+'\x20env\x20var':_0xcfbf0b?(_0x124156[_0x42361a(0x134)]?'global':_0x42361a(0x165))+_0x42361a(0x139):null,_0x4210b4=[_0x42361a(0x156)+AUTH_MODE[_0x42361a(0x144)]];if(_0x56ca6d){const _0x29235d=_0x56ca6d['length']>0x8?''+_0x56ca6d[_0x42361a(0x133)](0x0,0x8)+'*'[_0x42361a(0x126)](_0x56ca6d['length']-0x8):_0x56ca6d;_0x4210b4[_0x42361a(0x166)](_0x42361a(0x16e)+_0x29235d+(_0x25bc51?_0x42361a(0x182)+_0x25bc51+')':''));}if(!_0x56ca6d){_0x4210b4['push'](''),_0x4210b4['push'](_0x42361a(0x128)),_0x4210b4[_0x42361a(0x166)](''),_0x4210b4[_0x42361a(0x166)]('Option\x20A:\x20'+CLI_BIN_NAME+'\x20auth\x20login\x20[--global]\x20[--access-key\x20ak_xxx]'),_0x4210b4['push'](''),_0x4210b4[_0x42361a(0x166)](_0x42361a(0x167)+PRODUCT_CONFIG['newConfigFileName']+')'),_0x4210b4[_0x42361a(0x166)](_0x42361a(0x12f)),_0x4210b4['push'](''),_0x4210b4['push'](_0x42361a(0x174)),_0x4210b4[_0x42361a(0x166)](_0x42361a(0x160)+_0x12a697+_0x42361a(0x152)),_0x4210b4[_0x42361a(0x166)](''),_0x4210b4['push'](_0x42361a(0x124)+CLI_BIN_NAME+_0x42361a(0x179)),_0x4210b4['push'](_0x42361a(0x150)+CLI_BIN_NAME+_0x42361a(0x148));if(_0x20e49a[_0x42361a(0x17d)]('check')){const _0x41e4f1=readStoredDeviceCode();if(_0x41e4f1&&!isStoredDeviceCodeExpired(_0x41e4f1)){const _0x44e88e=getUserDomain(),_0x4da173=await fetchDeviceToken(_0x44e88e,_0x41e4f1[_0x42361a(0x162)]);if(_0x4da173['status']==='success'&&_0x4da173['access_key']){const _0x296deb={'global':_0x41e4f1['scope']===_0x42361a(0x134)},_0x3f2064=readScopedConfig(_0x296deb);return _0x3f2064['accessKey']=_0x4da173[_0x42361a(0x155)],writeScopedConfig(_0x3f2064,_0x296deb),deleteStoredDeviceCode(),{'ok':!![],'message':_0x42361a(0x12d)};}_0x4da173[_0x42361a(0x12e)]==='expired'&&deleteStoredDeviceCode();throw CliErrors[_0x42361a(0x161)](_0x42361a(0x131));}throw CliErrors['authRequired'](_0x4210b4['join']('\x0a'));}}return{'ok':!![],'message':_0x4210b4[_0x42361a(0x13b)]('\x0a')};}},{'service':a12_0x3d163e(0x159),'command':a12_0x3d163e(0x135),'description':a12_0x3d163e(0x137),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(_0x17bce3){const _0x3cb533=a12_0x3d163e,_0x3f1de9=await getLoginUserInfo();return{'ok':!![],'data':{'user':_0x3f1de9,'meta':{'env':_0x17bce3[_0x3cb533(0x181)]??_0x3cb533(0x14b)}}};}},authDeviceDefinition];
|