@lovrabet/lovrabet-cli 2.2.3-beta.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.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/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
(function(_0xb5d329,_0x289fd4){const _0x3858b4=a0_0x347b,_0x1e4eb4=_0xb5d329();while(!![]){try{const _0x374c81=parseInt(_0x3858b4(0xb4))/0x1+parseInt(_0x3858b4(0xae))/0x2+parseInt(_0x3858b4(0xcb))/0x3+-parseInt(_0x3858b4(0xa4))/0x4*(parseInt(_0x3858b4(0xc3))/0x5)+parseInt(_0x3858b4(0xbc))/0x6*(parseInt(_0x3858b4(0xb7))/0x7)+parseInt(_0x3858b4(0xbe))/0x8*(parseInt(_0x3858b4(0xad))/0x9)+parseInt(_0x3858b4(0xc7))/0xa*(-parseInt(_0x3858b4(0xa6))/0xb);if(_0x374c81===_0x289fd4)break;else _0x1e4eb4['push'](_0x1e4eb4['shift']());}catch(_0x38e634){_0x1e4eb4['push'](_0x1e4eb4['shift']());}}}(a0_0x4fef,0xac2b7));import{jsx as a0_0x23ce76}from'react/jsx-runtime';import a0_0x1eb664 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,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';function a0_0x347b(_0x28c2fc,_0x4efd18){_0x28c2fc=_0x28c2fc-0xa3;const _0x4fef5a=a0_0x4fef();let _0x347b53=_0x4fef5a[_0x28c2fc];return _0x347b53;}import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x1eb664(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});function a0_0x4fef(){const _0x3d456d=['name','3073741PeiEas','hint','validation','flatMap','write','error','stderr','774wQWrQH','1016726IFBdni','help','input','ExitPromptError','original','definition','724257sOQaPt','Error:\x20','message','3143AeoiWn','cancelled','ERR_USE_AFTER_CLOSE','code',':\x20--','5466aVzoxG','Unexpected\x20error:','73256zLkCZg','unknownCommand','args','ERR_STREAM_DESTROYED','corrected','5oOWPXs','defaultCommand','exit','\x20->\x20--','100xdeuER','\x0aCancelled.\x0a','log','assign','3794565FTvrhM','flags','length','777996FlqgdV'];a0_0x4fef=function(){return _0x3d456d;};return a0_0x4fef();}void main()['catch'](handleError);async function main(){try{await run();}catch(_0x366f1b){handleError(_0x366f1b);}}async function run(){const _0x401499=a0_0x347b;let _0x397aa5=cli['input'][0x0],_0x2de651=cli[_0x401499(0xb0)][0x1];const _0x2ffc76=cli[_0x401499(0xcc)];try{const {correctFlags:_0x259280}=await import('./framework/preparse.js'),_0x5652d6=getAllDefinitions()[_0x401499(0xa9)](_0x213714=>_0x213714[_0x401499(0xcc)]??[]),{flags:_0x29c015,corrections:_0x45a8e2}=_0x259280(_0x2ffc76,_0x5652d6);if(_0x45a8e2[_0x401499(0xa3)]>0x0){for(const _0x3db07c of _0x45a8e2){process['stderr'][_0x401499(0xaa)]('[preparse]\x20'+_0x3db07c['handler']+_0x401499(0xbb)+_0x3db07c[_0x401499(0xb2)]+_0x401499(0xc6)+_0x3db07c[_0x401499(0xc2)]+'\x0a');}Object[_0x401499(0xca)](_0x2ffc76,_0x29c015);}}catch{}if(!_0x397aa5){const {waitUntilExit:_0xd19a65}=render(a0_0x23ce76(Help,{}));await _0xd19a65();return;}const _0x23f7e5=resolveRemovedCommand(_0x397aa5,_0x2de651);if(_0x23f7e5)throw CliErrors[_0x401499(0xa8)](_0x23f7e5[_0x401499(0xb6)],_0x23f7e5[_0x401499(0xa7)]);if(!isKnownService(_0x397aa5)){const _0x111c8c=resolveDynamicServiceCommand(cli[_0x401499(0xb0)],_0x2ffc76);if(_0x111c8c){if(_0x2ffc76[_0x401499(0xaf)]){console[_0x401499(0xc9)](generateCommandHelp(_0x111c8c['definition']));return;}Object[_0x401499(0xca)](_0x2ffc76,_0x111c8c[_0x401499(0xcc)]);const _0x2b1b2e=buildConfigFromFlags(_0x2ffc76);await initGlobalEnvironment(_0x2b1b2e);const _0x2d39aa=createPipelineEnv(_0x2b1b2e,_0x2ffc76);_0x2d39aa[_0x401499(0xc0)]=_0x111c8c['args'],await runCommand(_0x111c8c[_0x401499(0xb3)],_0x2d39aa);return;}if(_0x2ffc76[_0x401499(0xaf)]){const _0x429e80=generateDynamicServiceHelp(_0x397aa5);if(_0x429e80){console['log'](_0x429e80);return;}}const {waitUntilExit:_0x4dcac6}=render(a0_0x23ce76(Help,{}));await _0x4dcac6();return;}const _0x42d2f1=getServiceEntry(_0x397aa5);if(!_0x2de651){if(_0x2ffc76[_0x401499(0xaf)]){console[_0x401499(0xc9)](generateServiceHelp(_0x397aa5));return;}if(_0x42d2f1[_0x401499(0xc4)])_0x2de651=_0x42d2f1['defaultCommand'];else{console[_0x401499(0xc9)](generateServiceHelp(_0x397aa5));return;}}const _0x353007=findDefinition(_0x397aa5,_0x2de651);!_0x353007&&(console[_0x401499(0xc9)](generateServiceHelp(_0x397aa5)),handleError(CliErrors[_0x401499(0xbf)](_0x397aa5+'\x20'+_0x2de651)));if(_0x2ffc76[_0x401499(0xaf)]){console['log'](generateCommandHelp(_0x353007));return;}const _0x56c542=buildConfigFromFlags(_0x2ffc76);await initGlobalEnvironment(_0x56c542);const _0x1d31df=createPipelineEnv(_0x56c542,_0x2ffc76);_0x1d31df['args']=cli[_0x401499(0xb0)]['slice'](0x2),await runCommand(_0x353007,_0x1d31df);}function handleError(_0x57f1b8){const _0x62b4e6=a0_0x347b;if(_0x57f1b8 instanceof CliError){_0x57f1b8[_0x62b4e6(0xba)]===_0x62b4e6(0xb8)&&(process[_0x62b4e6(0xac)][_0x62b4e6(0xaa)](_0x62b4e6(0xc8)),process['exit'](0x0));console[_0x62b4e6(0xab)](_0x62b4e6(0xb5)+_0x57f1b8['message']);if(_0x57f1b8[_0x62b4e6(0xa7)])console[_0x62b4e6(0xab)]('Hint:\x20'+_0x57f1b8[_0x62b4e6(0xa7)]);process[_0x62b4e6(0xc5)](_0x57f1b8['exitCode']);}isUserCancellation(_0x57f1b8)&&(process['stderr']['write'](_0x62b4e6(0xc8)),process[_0x62b4e6(0xc5)](0x0)),console[_0x62b4e6(0xab)](_0x62b4e6(0xbd),_0x57f1b8),process[_0x62b4e6(0xc5)](0x1);}function isUserCancellation(_0x45c083){const _0x284da1=a0_0x347b;if(!(_0x45c083 instanceof Error))return![];if(_0x45c083[_0x284da1(0xa5)]===_0x284da1(0xb1))return!![];if(_0x45c083[_0x284da1(0xba)]===_0x284da1(0xb9))return!![];if(_0x45c083[_0x284da1(0xba)]===_0x284da1(0xc1))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x3f1da8=a1_0x44bf;(function(_0x1daf32,_0x2a9837){const _0x3a7436=a1_0x44bf,_0x49cbb4=_0x1daf32();while(!![]){try{const _0x5d9e3=-parseInt(_0x3a7436(0xff))/0x1+parseInt(_0x3a7436(0xe2))/0x2*(-parseInt(_0x3a7436(0x135))/0x3)+parseInt(_0x3a7436(0xfb))/0x4+parseInt(_0x3a7436(0xca))/0x5+-parseInt(_0x3a7436(0x124))/0x6+parseInt(_0x3a7436(0xbf))/0x7+-parseInt(_0x3a7436(0xf2))/0x8*(-parseInt(_0x3a7436(0xf7))/0x9);if(_0x5d9e3===_0x2a9837)break;else _0x49cbb4['push'](_0x49cbb4['shift']());}catch(_0x54fa47){_0x49cbb4['push'](_0x49cbb4['shift']());}}}(a1_0xf575,0x8f87d));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x3f1da8(0xd0),'description':a1_0x3f1da8(0xdc)},KEYWORD_FLAG={'name':a1_0x3f1da8(0xf3),'type':a1_0x3f1da8(0xd0),'description':a1_0x3f1da8(0x12f)},DOC_CODE_FLAG={'name':a1_0x3f1da8(0x138),'type':a1_0x3f1da8(0xd0),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':a1_0x3f1da8(0x119),'category':a1_0x3f1da8(0xbe),'title':a1_0x3f1da8(0xe1),'method':'POST','path':a1_0x3f1da8(0x11e),'summary':'分页获取数据集列表','whenToUse':'需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x3f1da8(0x12e),a1_0x3f1da8(0xe9)],'examples':[a1_0x3f1da8(0x12c)],'notes':[a1_0x3f1da8(0xd4)],'markdown':['##\x20List\x20datasets','','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.']['join']('\x0a')},{'code':a1_0x3f1da8(0x121),'category':a1_0x3f1da8(0xbe),'title':'Dataset\x20detail','method':a1_0x3f1da8(0xbd),'path':a1_0x3f1da8(0xc2),'summary':a1_0x3f1da8(0xc4),'whenToUse':a1_0x3f1da8(0x11d),'pathParams':[],'queryParams':[{'name':'code','description':a1_0x3f1da8(0x10a)}],'bodySchema':'None','responseHighlights':[a1_0x3f1da8(0x127),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned',a1_0x3f1da8(0x118)],'examples':[a1_0x3f1da8(0x115)],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':[a1_0x3f1da8(0x10c),'',a1_0x3f1da8(0xe8)][a1_0x3f1da8(0x109)]('\x0a')},{'code':a1_0x3f1da8(0xed),'category':a1_0x3f1da8(0xbe),'title':a1_0x3f1da8(0xc9),'method':a1_0x3f1da8(0x107),'path':a1_0x3f1da8(0xda),'summary':a1_0x3f1da8(0x123),'whenToUse':a1_0x3f1da8(0xbc),'pathParams':[{'name':a1_0x3f1da8(0xfe),'description':a1_0x3f1da8(0x134)},{'name':'datasetCode','description':a1_0x3f1da8(0x10a)}],'queryParams':[],'bodySchema':a1_0x3f1da8(0xdf),'responseHighlights':[a1_0x3f1da8(0xea),a1_0x3f1da8(0xd9)],'examples':[a1_0x3f1da8(0xf1),a1_0x3f1da8(0x120)],'notes':[a1_0x3f1da8(0x112),a1_0x3f1da8(0x11c),a1_0x3f1da8(0x139),a1_0x3f1da8(0xc8)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x3f1da8(0x109)]('\x0a')},{'code':a1_0x3f1da8(0xfa),'category':a1_0x3f1da8(0xbe),'title':a1_0x3f1da8(0x122),'method':a1_0x3f1da8(0x107),'path':a1_0x3f1da8(0x113),'summary':a1_0x3f1da8(0x116),'whenToUse':a1_0x3f1da8(0xd2),'pathParams':[{'name':a1_0x3f1da8(0xfe),'description':a1_0x3f1da8(0x134)},{'name':'datasetCode','description':a1_0x3f1da8(0x10a)}],'queryParams':[],'bodySchema':a1_0x3f1da8(0x12b),'responseHighlights':[a1_0x3f1da8(0x130),'where\x20filters\x20before\x20aggregation'],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0x3f1da8(0x10d),a1_0x3f1da8(0xee)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x3f1da8(0x103)][a1_0x3f1da8(0x109)]('\x0a')},{'code':a1_0x3f1da8(0xe0),'category':a1_0x3f1da8(0xbe),'title':a1_0x3f1da8(0xfc),'method':'POST','path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x3f1da8(0xf9),'whenToUse':a1_0x3f1da8(0x108),'pathParams':[{'name':a1_0x3f1da8(0xfe),'description':a1_0x3f1da8(0x134)},{'name':a1_0x3f1da8(0xe3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x3f1da8(0xeb)],'examples':[a1_0x3f1da8(0x11a)],'notes':[a1_0x3f1da8(0xdd)],'markdown':a1_0x3f1da8(0x10e)},{'code':a1_0x3f1da8(0x131),'category':'dataset','title':a1_0x3f1da8(0x13a),'method':a1_0x3f1da8(0x107),'path':'/api/{appCode}/{datasetCode}/create','summary':a1_0x3f1da8(0xe6),'whenToUse':a1_0x3f1da8(0xf4),'pathParams':[{'name':a1_0x3f1da8(0xfe),'description':a1_0x3f1da8(0x134)},{'name':a1_0x3f1da8(0xe3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x3f1da8(0x102),'responseHighlights':[a1_0x3f1da8(0xde)],'examples':[a1_0x3f1da8(0x125)],'notes':[a1_0x3f1da8(0xcc)],'markdown':a1_0x3f1da8(0xc7)},{'code':a1_0x3f1da8(0x11f),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':a1_0x3f1da8(0xbd),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x3f1da8(0xcf),'whenToUse':'已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','pathParams':[{'name':a1_0x3f1da8(0xfe),'description':a1_0x3f1da8(0x134)},{'name':a1_0x3f1da8(0xe7),'description':a1_0x3f1da8(0x136)}],'queryParams':[],'bodySchema':a1_0x3f1da8(0x129),'responseHighlights':[a1_0x3f1da8(0xd3)],'examples':[a1_0x3f1da8(0xc5)],'notes':[a1_0x3f1da8(0x12a)],'markdown':a1_0x3f1da8(0xd1)},{'code':a1_0x3f1da8(0x105),'category':'bf','title':a1_0x3f1da8(0x11b),'method':a1_0x3f1da8(0x107),'path':a1_0x3f1da8(0xf8),'summary':a1_0x3f1da8(0xcd),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':'functionName','description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x3f1da8(0x101),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x3f1da8(0xce)],'notes':[a1_0x3f1da8(0xd7)],'markdown':a1_0x3f1da8(0x132)},{'code':a1_0x3f1da8(0x110),'category':a1_0x3f1da8(0x111),'title':a1_0x3f1da8(0xd8),'method':a1_0x3f1da8(0x107),'path':a1_0x3f1da8(0xfd),'summary':a1_0x3f1da8(0xc0),'whenToUse':a1_0x3f1da8(0x104),'pathParams':[],'queryParams':[],'bodySchema':a1_0x3f1da8(0xec),'responseHighlights':[a1_0x3f1da8(0x114)],'examples':[a1_0x3f1da8(0xd6)],'notes':[a1_0x3f1da8(0xf6)],'markdown':a1_0x3f1da8(0xd5)}];function a1_0x44bf(_0x3e32b1,_0x4250b7){_0x3e32b1=_0x3e32b1-0xbc;const _0xf575a3=a1_0xf575();let _0x44bf26=_0xf575a3[_0x3e32b1];return _0x44bf26;}function a1_0xf575(){const _0x4cebd7=['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Execute\x20BF\x20endpoint\x20function','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','/api/dataset/get-dataset-list-by-app-code','bf_detail','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','dataset_detail','Aggregate\x20dataset\x20data','条件过滤查询数据','3089292BbbOLj','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','api-doc','fields/properties\x20describe\x20data\x20shape','list','None','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','detail','tableData\x20contains\x20dataset\x20id/code/name','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','result\x20rows\x20contain\x20aggregate\x20aliases','dataset_data_create','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','read','Current\x20app\x20code','3rCexPv','Exact\x20endpoint\x20function\x20name','category','code','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Create\x20dataset\x20record','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','GET','dataset','647696TwLxBc','执行自定义\x20SQL','str','/api/dataset/getOneByCode?code={datasetCode}','trim','获取数据集详情','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','path','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Filter\x20dataset\x20data','4005345HVynis','List\x20available\x20runtime\x20API\x20documentation\x20entries','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','执行指定\x20BF\x20函数','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','按应用和函数名精确获取\x20BF\x20运行契约','string','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Execute\x20custom\x20SQL','paging\x20contains\x20pagination','/api/{appCode}/{datasetCode}/filter','find','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','dataset_data_get_one','List\x20datasets','670930BRNcoe','datasetCode','map','method','创建数据','functionName','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','paging.totalCount\x20gives\x20total\x20rows','tableData\x20contains\x20records','Returns\x20one\x20matching\x20business\x20record','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','dataset_data_filter','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','includes','whenToUse','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','760lIOGuh','keyword','需要向指定数据集新增一条业务数据时使用','title','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','63117pyRRzF','/api/endpoint/{appCode}/{functionName}','查询单条数据','dataset_data_aggregate','1408312ETfaFZ','Get\x20one\x20dataset\x20record','/api/custom/executeSql','appCode','473662kkgXAH','summary','{\x22param\x22:\x22value\x22}','{\x22fieldName\x22:\x22value\x22}','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','bf_execute','validation','POST','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','join','32-character\x20dataset\x20code','length','##\x20Dataset\x20detail','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','toLowerCase','custom_sql_execute','custom_sql','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','/api/{appCode}/{datasetCode}/aggregate','Returns\x20SQL\x20execution\x20payload','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','聚合查询数据集数据','filter','operations\x20describes\x20runtime\x20APIs','dataset_list'];a1_0xf575=function(){return _0x4cebd7;};return a1_0xf575();}function entrySummary(_0x5e78d4){const _0x516db2=a1_0x3f1da8;return{'code':_0x5e78d4['code'],'category':_0x5e78d4[_0x516db2(0x137)],'method':_0x5e78d4[_0x516db2(0xe5)],'path':_0x5e78d4[_0x516db2(0xc6)],'summary':_0x5e78d4[_0x516db2(0x100)],'whenToUse':_0x5e78d4['whenToUse']};}export function listApiDocEntries(_0x70b91b={}){const _0x244b7e=a1_0x3f1da8,_0x307760=String(_0x70b91b[_0x244b7e(0x137)]||'')[_0x244b7e(0xc3)](),_0x1793ed=String(_0x70b91b[_0x244b7e(0xf3)]||'')['trim']()[_0x244b7e(0x10f)]();return DOCS[_0x244b7e(0x117)](_0x359f0c=>{const _0x236f45=_0x244b7e;if(_0x307760&&_0x359f0c[_0x236f45(0x137)]!==_0x307760)return![];if(!_0x1793ed)return!![];return[_0x359f0c[_0x236f45(0x138)],_0x359f0c['category'],_0x359f0c[_0x236f45(0xe5)],_0x359f0c[_0x236f45(0xc6)],_0x359f0c[_0x236f45(0x100)],_0x359f0c[_0x236f45(0xf0)],_0x359f0c[_0x236f45(0xf5)]][_0x236f45(0x109)]('\x20')[_0x236f45(0x10f)]()[_0x236f45(0xef)](_0x1793ed);})[_0x244b7e(0xe4)](entrySummary);}export function getApiDocDetail(_0x40dbff){const _0x3fea71=a1_0x3f1da8,_0x8a0c51=DOCS[_0x3fea71(0xdb)](_0x5e7cae=>_0x5e7cae['code']===_0x40dbff);if(!_0x8a0c51)throw CliErrors[_0x3fea71(0x106)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x40dbff);return{..._0x8a0c51};}const apiDocList={'service':a1_0x3f1da8(0x126),'command':a1_0x3f1da8(0x128),'description':a1_0x3f1da8(0xcb),'risk':a1_0x3f1da8(0x133),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x56286c){const _0x5bce12=a1_0x3f1da8,_0x50adb5=listApiDocEntries({'category':_0x56286c[_0x5bce12(0xc1)](_0x5bce12(0x137)),'keyword':_0x56286c[_0x5bce12(0xc1)](_0x5bce12(0xf3))});return{'ok':!![],'data':{'total':_0x50adb5[_0x5bce12(0x10b)],'items':_0x50adb5}};}},apiDocDetail={'service':a1_0x3f1da8(0x126),'command':a1_0x3f1da8(0x12d),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x5b50f0){const _0x379cbb=a1_0x3f1da8;return{'ok':!![],'data':getApiDocDetail(_0x5b50f0[_0x379cbb(0xc1)](_0x379cbb(0x138)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0xac7a4b=a1_0x2206;function a1_0x37e1(){const _0x5de62c=['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','15612296DsZAZg','dataset_data_aggregate','1828720MbREXz','bf_detail','tableData\x20contains\x20dataset\x20id/code/name','Filter\x20dataset\x20data','查询单条数据','detail','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','dataset','按应用和函数名精确获取\x20BF\x20运行契约','str','Get\x20BF\x20endpoint\x20function\x20contract','paging.totalCount\x20gives\x20total\x20rows','2191737zOOrnU','operations\x20describes\x20runtime\x20APIs','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','/api/{appCode}/{datasetCode}/filter','toLowerCase','619280HRMpie','paging\x20contains\x20pagination','summary','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','tableData\x20contains\x20records','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','custom_sql_execute','Execute\x20custom\x20SQL','map','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','bf_execute','API\x20doc\x20code\x20not\x20found:\x20','where\x20filters\x20before\x20aggregation','Current\x20app\x20code','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Returns\x20one\x20matching\x20business\x20record','32-character\x20dataset\x20code','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','method','GET','dataset_data_filter','条件过滤查询数据','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','code','7zDVxBa','None','聚合查询数据集数据','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','title','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','Returns\x20SQL\x20execution\x20payload','Aggregate\x20dataset\x20data','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','{\x22id\x22:123}','api-doc','category','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','custom_sql','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Exact\x20endpoint\x20function\x20name','string','keyword','6048738EZOUgX','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','/api/dataset/getOneByCode?code={datasetCode}','Get\x20one\x20dataset\x20record','Returns\x20script\x20business\x20payload','创建数据','fields/properties\x20describe\x20data\x20shape','trim','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Create\x20dataset\x20record','whenToUse','执行自定义\x20SQL','/api/endpoint/{appCode}/{functionName}','includes','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','{\x22fieldName\x22:\x22value\x22}','/api/{appCode}/{datasetCode}/getOne','/api/dataset/get-dataset-list-by-app-code','1305948fnPKDb','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','filter','Execute\x20BF\x20endpoint\x20function','57884mfAvgl','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','##\x20Aggregate\x20dataset\x20data','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','read','/api/{appCode}/{datasetCode}/create','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','appCode','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','需要向指定数据集新增一条业务数据时使用','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','functionName','##\x20List\x20datasets','join','datasetCode','length','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','POST','path','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','dataset_detail','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','##\x20Filter\x20dataset\x20data'];a1_0x37e1=function(){return _0x5de62c;};return a1_0x37e1();}(function(_0x23ff97,_0xd83473){const _0x47ffc0=a1_0x2206,_0x3db83d=_0x23ff97();while(!![]){try{const _0x38ec0b=parseInt(_0x47ffc0(0x11a))/0x1+-parseInt(_0x47ffc0(0x15c))/0x2+-parseInt(_0x47ffc0(0x113))/0x3+-parseInt(_0x47ffc0(0x161))/0x4+parseInt(_0x47ffc0(0x107))/0x5+-parseInt(_0x47ffc0(0x149))/0x6+-parseInt(_0x47ffc0(0x134))/0x7*(-parseInt(_0x47ffc0(0x105))/0x8);if(_0x38ec0b===_0xd83473)break;else _0x3db83d['push'](_0x3db83d['shift']());}catch(_0x3a7a89){_0x3db83d['push'](_0x3db83d['shift']());}}}(a1_0x37e1,0x817ee));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0xac7a4b(0x142),'type':a1_0xac7a4b(0x147),'description':a1_0xac7a4b(0x10d)},KEYWORD_FLAG={'name':'keyword','type':'string','description':a1_0xac7a4b(0x167)},DOC_CODE_FLAG={'name':a1_0xac7a4b(0x133),'type':a1_0xac7a4b(0x147),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':'dataset_list','category':a1_0xac7a4b(0x10e),'title':'List\x20datasets','method':a1_0xac7a4b(0xfd),'path':a1_0xac7a4b(0x15b),'summary':'分页获取数据集列表','whenToUse':a1_0xac7a4b(0x115),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0xac7a4b(0x109),a1_0xac7a4b(0x112)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0xac7a4b(0x16c)],'markdown':[a1_0xac7a4b(0x16e),'',a1_0xac7a4b(0x102)]['join']('\x0a')},{'code':a1_0xac7a4b(0x101),'category':a1_0xac7a4b(0x10e),'title':'Dataset\x20detail','method':'GET','path':a1_0xac7a4b(0x14b),'summary':'获取数据集详情','whenToUse':a1_0xac7a4b(0x12c),'pathParams':[],'queryParams':[{'name':a1_0xac7a4b(0x133),'description':a1_0xac7a4b(0x12b)}],'bodySchema':a1_0xac7a4b(0x135),'responseHighlights':[a1_0xac7a4b(0x14f),a1_0xac7a4b(0x145),a1_0xac7a4b(0x114)],'examples':[a1_0xac7a4b(0x151)],'notes':[a1_0xac7a4b(0x11d)],'markdown':['##\x20Dataset\x20detail','',a1_0xac7a4b(0xfc)][a1_0xac7a4b(0x16f)]('\x0a')},{'code':a1_0xac7a4b(0x130),'category':a1_0xac7a4b(0x10e),'title':a1_0xac7a4b(0x10a),'method':a1_0xac7a4b(0xfd),'path':a1_0xac7a4b(0x118),'summary':a1_0xac7a4b(0x131),'whenToUse':a1_0xac7a4b(0xff),'pathParams':[{'name':a1_0xac7a4b(0x169),'description':'Current\x20app\x20code'},{'name':'datasetCode','description':a1_0xac7a4b(0x12b)}],'queryParams':[],'bodySchema':a1_0xac7a4b(0x124),'responseHighlights':[a1_0xac7a4b(0x11e),a1_0xac7a4b(0x11b)],'examples':[a1_0xac7a4b(0x14a),'lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27'],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0xac7a4b(0x15d),a1_0xac7a4b(0x12d),a1_0xac7a4b(0x143)],'markdown':[a1_0xac7a4b(0x103),'',a1_0xac7a4b(0x132)][a1_0xac7a4b(0x16f)]('\x0a')},{'code':a1_0xac7a4b(0x106),'category':'dataset','title':a1_0xac7a4b(0x13d),'method':a1_0xac7a4b(0xfd),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0xac7a4b(0x136),'whenToUse':a1_0xac7a4b(0x13e),'pathParams':[{'name':a1_0xac7a4b(0x169),'description':'Current\x20app\x20code'},{'name':a1_0xac7a4b(0x170),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0xac7a4b(0x127)],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0xac7a4b(0x162),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0xac7a4b(0x163),'',a1_0xac7a4b(0x164)][a1_0xac7a4b(0x16f)]('\x0a')},{'code':'dataset_data_get_one','category':a1_0xac7a4b(0x10e),'title':a1_0xac7a4b(0x14c),'method':a1_0xac7a4b(0xfd),'path':a1_0xac7a4b(0x15a),'summary':a1_0xac7a4b(0x10b),'whenToUse':'已经知道记录\x20id,需要按数据集读取单条业务数据时使用','pathParams':[{'name':'appCode','description':a1_0xac7a4b(0x128)},{'name':a1_0xac7a4b(0x170),'description':a1_0xac7a4b(0x12b)}],'queryParams':[],'bodySchema':a1_0xac7a4b(0x140),'responseHighlights':[a1_0xac7a4b(0x12a)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0xac7a4b(0x138)],'markdown':a1_0xac7a4b(0x15e)},{'code':'dataset_data_create','category':a1_0xac7a4b(0x10e),'title':a1_0xac7a4b(0x152),'method':a1_0xac7a4b(0xfd),'path':a1_0xac7a4b(0x166),'summary':a1_0xac7a4b(0x14e),'whenToUse':a1_0xac7a4b(0x16b),'pathParams':[{'name':a1_0xac7a4b(0x169),'description':a1_0xac7a4b(0x128)},{'name':a1_0xac7a4b(0x170),'description':a1_0xac7a4b(0x12b)}],'queryParams':[],'bodySchema':a1_0xac7a4b(0x159),'responseHighlights':[a1_0xac7a4b(0x116)],'examples':[a1_0xac7a4b(0x13b)],'notes':[a1_0xac7a4b(0x157)],'markdown':a1_0xac7a4b(0x117)},{'code':a1_0xac7a4b(0x108),'category':'bf','title':a1_0xac7a4b(0x111),'method':a1_0xac7a4b(0x12f),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0xac7a4b(0x10f),'whenToUse':a1_0xac7a4b(0x120),'pathParams':[{'name':a1_0xac7a4b(0x169),'description':a1_0xac7a4b(0x128)},{'name':a1_0xac7a4b(0x16d),'description':a1_0xac7a4b(0x146)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0xac7a4b(0x137)],'examples':[a1_0xac7a4b(0x13a)],'notes':[a1_0xac7a4b(0x104)],'markdown':a1_0xac7a4b(0x168)},{'code':a1_0xac7a4b(0x125),'category':'bf','title':a1_0xac7a4b(0x160),'method':a1_0xac7a4b(0xfd),'path':a1_0xac7a4b(0x155),'summary':'执行指定\x20BF\x20函数','whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':a1_0xac7a4b(0x169),'description':a1_0xac7a4b(0x128)},{'name':a1_0xac7a4b(0x16d),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0xac7a4b(0x14d)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0xac7a4b(0x100)],'markdown':a1_0xac7a4b(0x11f)},{'code':a1_0xac7a4b(0x121),'category':a1_0xac7a4b(0x144),'title':a1_0xac7a4b(0x122),'method':a1_0xac7a4b(0xfd),'path':'/api/custom/executeSql','summary':a1_0xac7a4b(0x154),'whenToUse':a1_0xac7a4b(0x16a),'pathParams':[],'queryParams':[],'bodySchema':a1_0xac7a4b(0x158),'responseHighlights':[a1_0xac7a4b(0x13c)],'examples':[a1_0xac7a4b(0x13f)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0xac7a4b(0x129)}];function entrySummary(_0xe7fb3f){const _0x591841=a1_0xac7a4b;return{'code':_0xe7fb3f['code'],'category':_0xe7fb3f['category'],'method':_0xe7fb3f[_0x591841(0x12e)],'path':_0xe7fb3f[_0x591841(0xfe)],'summary':_0xe7fb3f[_0x591841(0x11c)],'whenToUse':_0xe7fb3f[_0x591841(0x153)]};}export function listApiDocEntries(_0x1ea081={}){const _0x2741fd=a1_0xac7a4b,_0x3f935b=String(_0x1ea081[_0x2741fd(0x142)]||'')[_0x2741fd(0x150)](),_0x2863f0=String(_0x1ea081[_0x2741fd(0x148)]||'')['trim']()['toLowerCase']();return DOCS[_0x2741fd(0x15f)](_0x12f2a1=>{const _0x13d0a8=_0x2741fd;if(_0x3f935b&&_0x12f2a1[_0x13d0a8(0x142)]!==_0x3f935b)return![];if(!_0x2863f0)return!![];return[_0x12f2a1[_0x13d0a8(0x133)],_0x12f2a1[_0x13d0a8(0x142)],_0x12f2a1[_0x13d0a8(0x12e)],_0x12f2a1[_0x13d0a8(0xfe)],_0x12f2a1[_0x13d0a8(0x11c)],_0x12f2a1[_0x13d0a8(0x153)],_0x12f2a1[_0x13d0a8(0x139)]][_0x13d0a8(0x16f)]('\x20')[_0x13d0a8(0x119)]()[_0x13d0a8(0x156)](_0x2863f0);})[_0x2741fd(0x123)](entrySummary);}export function getApiDocDetail(_0xed4f9b){const _0x527a69=a1_0xac7a4b,_0x35c5f5=DOCS['find'](_0x2b8ff9=>_0x2b8ff9[_0x527a69(0x133)]===_0xed4f9b);if(!_0x35c5f5)throw CliErrors['validation'](_0x527a69(0x126)+_0xed4f9b);return{..._0x35c5f5};}function a1_0x2206(_0xc2b52a,_0x272c76){_0xc2b52a=_0xc2b52a-0xfb;const _0x37e162=a1_0x37e1();let _0x22063a=_0x37e162[_0xc2b52a];return _0x22063a;}const apiDocList={'service':a1_0xac7a4b(0x141),'command':'list','description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x507c54){const _0xd0d3b7=a1_0xac7a4b,_0x1c0104=listApiDocEntries({'category':_0x507c54[_0xd0d3b7(0x110)](_0xd0d3b7(0x142)),'keyword':_0x507c54['str']('keyword')});return{'ok':!![],'data':{'total':_0x1c0104[_0xd0d3b7(0xfb)],'items':_0x1c0104}};}},apiDocDetail={'service':'api-doc','command':a1_0xac7a4b(0x10c),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0xac7a4b(0x165),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x447f9a){const _0x1bde05=a1_0xac7a4b;return{'ok':!![],'data':getApiDocDetail(_0x447f9a[_0x1bde05(0x110)](_0x1bde05(0x133)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2c1068,_0x3bf393){const _0x1e3814=a2_0x17e7,_0x9e3ea=_0x2c1068();while(!![]){try{const _0x5ebfb9=-parseInt(_0x1e3814(0x14c))/0x1*(-parseInt(_0x1e3814(0x138))/0x2)+-parseInt(_0x1e3814(0x145))/0x3*(parseInt(_0x1e3814(0x13d))/0x4)+-parseInt(_0x1e3814(0x13c))/0x5+-parseInt(_0x1e3814(0x146))/0x6*(parseInt(_0x1e3814(0x139))/0x7)+-parseInt(_0x1e3814(0x14f))/0x8+-parseInt(_0x1e3814(0x148))/0x9+parseInt(_0x1e3814(0x13b))/0xa;if(_0x5ebfb9===_0x3bf393)break;else _0x9e3ea['push'](_0x9e3ea['shift']());}catch(_0x4dffc5){_0x9e3ea['push'](_0x9e3ea['shift']());}}}(a2_0x52c5,0x35630));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(_0x6d5869){const _0x35c8c1=a2_0x17e7,_0x35b879=_0x6d5869[_0x35c8c1(0x13e)](),_0x30fb54=_0x35b879[_0x35c8c1(0x14e)](-0x6)||_0x35c8c1(0x147),_0x7ad887=createHash(_0x35c8c1(0x13a))[_0x35c8c1(0x150)](_0x35b879)['digest']('hex')[_0x35c8c1(0x14e)](0x0,0xc);return _0x35c8c1(0x140)+_0x30fb54+'_'+_0x7ad887;}function a2_0x52c5(){const _0x1f38e1=['sha256','12737880zLDKgp','1016585QDNqsR','359332kEpYLf','trim','code','ak_','EPERM','utf8','items','homeDirName','6aQdEdG','6ZfmFby','unknown','1946151mUXGqu','appCode','EXDEV','find','66862pIoaBd','stringify','slice','1827992dbdQpY','update','my-apps.json','cache','.tmp','6uTyWoA','2995867lzYMhq'];a2_0x52c5=function(){return _0x1f38e1;};return a2_0x52c5();}export function getAppCacheFilePath(_0xe82216,_0x27ef4f){const _0x5ccba8=a2_0x17e7;return resolve(homedir(),PRODUCT_CONFIG[_0x5ccba8(0x144)],_0x5ccba8(0x152),_0xe82216,fingerprintAccessKey(_0x27ef4f),_0x5ccba8(0x151));}export function readCachedAppList(_0x201af2,_0x63be1b){const _0x14fb3e=a2_0x17e7;if(!_0x63be1b?.[_0x14fb3e(0x13e)]())return null;const _0x2d1fcc=getAppCacheFilePath(_0x201af2,_0x63be1b);if(!existsSync(_0x2d1fcc))return null;try{const _0x27d4b0=readFileSync(_0x2d1fcc,_0x14fb3e(0x142));if(!_0x27d4b0['trim']())return null;const _0x35a484=JSON['parse'](_0x27d4b0);if(!Array['isArray'](_0x35a484[_0x14fb3e(0x143)]))return null;return _0x35a484;}catch{return null;}}function a2_0x17e7(_0x4010f9,_0x6fcd2f){_0x4010f9=_0x4010f9-0x138;const _0x52c54f=a2_0x52c5();let _0x17e78f=_0x52c54f[_0x4010f9];return _0x17e78f;}export function writeCachedAppList(_0x37bc40,_0x1ebdd0,_0x15676f){const _0x3ab726=a2_0x17e7,_0x4ae384=getAppCacheFilePath(_0x37bc40,_0x1ebdd0),_0x23d378=dirname(_0x4ae384);!existsSync(_0x23d378)&&mkdirSync(_0x23d378,{'recursive':!![]});const _0x3ccba6=_0x4ae384+_0x3ab726(0x153);try{writeFileSync(_0x3ccba6,JSON[_0x3ab726(0x14d)](_0x15676f,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x3ccba6,_0x4ae384);}catch(_0x2db207){if(_0x2db207[_0x3ab726(0x13f)]===_0x3ab726(0x141)||_0x2db207['code']===_0x3ab726(0x14a)||_0x2db207[_0x3ab726(0x13f)]==='EACCES'){writeFileSync(_0x4ae384,JSON[_0x3ab726(0x14d)](_0x15676f,null,0x2)+'\x0a',{'encoding':_0x3ab726(0x142)});try{unlinkSync(_0x3ccba6);}catch{}}else throw _0x2db207;}}catch(_0x39f077){try{unlinkSync(_0x3ccba6);}catch{}throw _0x39f077;}return _0x4ae384;}export function resolveCachedAppCode(_0x43d2b2,_0x26297c,_0x147a58){const _0x13badf=a2_0x17e7;if(!_0x43d2b2)return undefined;const _0x56bd25=readCachedAppList(_0x26297c,_0x147a58),_0x366954=_0x56bd25?.[_0x13badf(0x143)][_0x13badf(0x14b)](_0x5d6b66=>_0x5d6b66['appName']===_0x43d2b2&&isRuntimeAccessibleApp(_0x5d6b66));return _0x366954?.[_0x13badf(0x149)]?.[_0x13badf(0x13e)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x13d02a=a3_0x2215;(function(_0x52572b,_0x20638c){const _0x557f93=a3_0x2215,_0x1e5aec=_0x52572b();while(!![]){try{const _0x33ae7e=-parseInt(_0x557f93(0x124))/0x1+parseInt(_0x557f93(0x12f))/0x2*(parseInt(_0x557f93(0x128))/0x3)+parseInt(_0x557f93(0x13c))/0x4*(parseInt(_0x557f93(0x14b))/0x5)+-parseInt(_0x557f93(0x15e))/0x6+-parseInt(_0x557f93(0x153))/0x7+parseInt(_0x557f93(0x14c))/0x8+-parseInt(_0x557f93(0x143))/0x9;if(_0x33ae7e===_0x20638c)break;else _0x1e5aec['push'](_0x1e5aec['shift']());}catch(_0x504f6e){_0x1e5aec['push'](_0x1e5aec['shift']());}}}(a3_0x23bd,0x3998d));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';function a3_0x2215(_0x4da5a4,_0x25c650){_0x4da5a4=_0x4da5a4-0x116;const _0x23bdc7=a3_0x23bd();let _0x221555=_0x23bdc7[_0x4da5a4];return _0x221555;}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x171041,_0x1a3785){const _0x5aa128=a3_0x2215,_0x2c143b={};for(const _0x4c904a of _0x1a3785){const _0x1c63b1=_0x4c904a[_0x5aa128(0x127)]===_0x5aa128(0x13f)?_0x171041['bool'](_0x4c904a['name']):_0x171041['str'](_0x4c904a[_0x5aa128(0x12d)]);if(_0x1c63b1!==''&&_0x1c63b1!==![])_0x2c143b[_0x4c904a[_0x5aa128(0x12d)]]=_0x1c63b1;}if(_0x171041[_0x5aa128(0x131)])_0x2c143b[_0x5aa128(0x131)]=!![];return _0x2c143b;}function normalizeLanguages(_0x3d3ad6){const _0x341a51=a3_0x2215;if(!Array[_0x341a51(0x119)](_0x3d3ad6))return[];return _0x3d3ad6['filter'](_0x599780=>typeof _0x599780==='string')[_0x341a51(0x13d)](_0x5740cd=>_0x5740cd[_0x341a51(0x13e)]())[_0x341a51(0x14e)](Boolean);}function a3_0x23bd(){const _0x7f956d=['bool','../../commands/app/remote-source.js','entries','find','appOwnerName','appCode','28oeMzAi','map','trim','boolean','projectPath','Include\x20unpublished\x20apps\x20for\x20diagnostics','enableI18n','2152341CsPjAN','push','production','import','Read\x20app\x20list\x20from\x20local\x20cache\x20only','envName','\x20cached\x20app(s)\x20for\x20env=\x22','\x20app(s)\x20for\x20env=\x22','284845RUuNWp','2201024nuramW','local','filter','isCurrent','appName','source','fetchedAt','1314222dRKoas','app','pull','将读取指定的\x20.rabetbase.json,并把其中可用的默认应用设置导入本地\x20.lovrabet.json;同名配置可能被更新。','env','string','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','no-cache','从\x20.rabetbase.json\x20文件导入默认应用选择','Filter\x20by\x20environment\x20(default:\x20current\x20env)','No\x20apps\x20found\x20on\x20the\x20platform.','19992YQiJan','include-unpublished','list','将从平台读取当前账号可用的应用列表,并覆盖对应环境的本地应用缓存;不会修改平台应用。','isArray','Refreshed\x20app\x20cache\x20with\x20','Loaded\x20','../../context.js','cache','accessKey','items','Target\x20environment\x20(default:\x20current\x20env)','remote','从平台刷新本地应用缓存','length','49881Trmipg','appcode','read','type','3mUModL','langs','str','i18nInfo','globalPath','name','appPublishStatus','84228YMaImw','No\x20cached\x20apps\x20found.','nonInteractive','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','cachePath','mergedCli','config'];a3_0x23bd=function(){return _0x7f956d;};return a3_0x23bd();}function buildRemoteAppI18nFields(_0x1dcd4c){const _0x2de8ee=a3_0x2215,_0x380bf6=normalizeLanguages(_0x1dcd4c[_0x2de8ee(0x12b)]?.[_0x2de8ee(0x129)]);return{'enableI18n':typeof _0x1dcd4c[_0x2de8ee(0x142)]===_0x2de8ee(0x13f)?_0x1dcd4c[_0x2de8ee(0x142)]:null,'languages':_0x380bf6,'i18nInfo':_0x1dcd4c[_0x2de8ee(0x12b)]?{..._0x1dcd4c[_0x2de8ee(0x12b)],'langs':_0x380bf6[_0x2de8ee(0x123)]?_0x380bf6:null}:null};}const listDef={'service':a3_0x13d02a(0x154),'command':a3_0x13d02a(0x117),'description':a3_0x13d02a(0x132),'risk':a3_0x13d02a(0x126),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x13d02a(0x157),'type':a3_0x13d02a(0x158),'description':a3_0x13d02a(0x15c),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x13d02a(0x13f),'description':a3_0x13d02a(0x147),'default':![]},{'name':a3_0x13d02a(0x15a),'type':a3_0x13d02a(0x13f),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x13d02a(0x116),'type':'boolean','description':a3_0x13d02a(0x141),'default':![]}],async 'execute'(_0x322609){const _0x136575=a3_0x13d02a,_0x45a957=_0x322609[_0x136575(0x12a)]('env')||_0x322609[_0x136575(0x148)]||getEnv()||'production',_0xb1945=_0x322609['bool'](_0x136575(0x14d)),_0x291f99=_0x322609['bool'](_0x136575(0x15a)),_0x163c64=_0x322609[_0x136575(0x136)]('include-unpublished'),{readRawConfigWithLayers:_0x14e4d6,resolveDefaultAppSource:_0x585973,getLocalAppAliases:_0x9adca5}=await import(_0x136575(0x11c)),{getRemoteAppList:_0x5d10e9}=await import(_0x136575(0x137)),{config:_0xe9a54e,layers:_0x43d858}=_0x14e4d6(),_0x2e6212=_0x585973(_0x43d858),{defaultApp:_0x46182e}=_0xe9a54e,_0x10d968=await _0x5d10e9({'env':_0x45a957,'accessKey':_0x322609['accessKey'],'localOnly':_0xb1945,'noCache':_0x291f99}),_0x44dac1=_0x163c64?_0x10d968[_0x136575(0x11f)]:filterRuntimeAccessibleApps(_0x10d968[_0x136575(0x11f)]),_0x3c3e21=_0x10d968['items'][_0x136575(0x123)]-_0x44dac1['length'],_0x507a07=_0x44dac1['map'](_0x5d755d=>{const _0x381471=_0x136575;return{'name':_0x5d755d[_0x381471(0x150)],'appcode':_0x5d755d[_0x381471(0x13b)],'named':!![],'definedIn':_0x381471(0x121),'isDefault':_0x5d755d[_0x381471(0x150)]===_0x46182e,...buildAppProfileListFields(_0x45a957),...buildRemoteAppI18nFields(_0x5d755d),'source':_0x10d968[_0x381471(0x151)],'owner':_0x5d755d[_0x381471(0x13a)]??null,'status':_0x5d755d[_0x381471(0x12e)]??null,'cachedAt':_0x10d968[_0x381471(0x152)]};}),_0x2162be=_0x9adca5(_0xe9a54e);let _0x150910=0x0;for(const [_0x54791f,_0x55fe13]of Object[_0x136575(0x138)](_0x2162be)){const _0x5f1830=typeof _0x55fe13[_0x136575(0x125)]===_0x136575(0x158)?_0x55fe13[_0x136575(0x125)][_0x136575(0x13e)]():'';if(!_0x5f1830)continue;const _0x738d75=findAppByCode(_0x10d968[_0x136575(0x11f)],_0x5f1830);if(!_0x163c64&&_0x738d75&&!isRuntimeAccessibleApp(_0x738d75))continue;_0x150910+=0x1,_0x507a07[_0x136575(0x144)]({'name':_0x54791f,'appcode':_0x5f1830,'named':!![],'definedIn':_0x136575(0x14d),'isDefault':_0x54791f===_0x46182e,...buildAppProfileListFields(_0x45a957),'source':_0x136575(0x135),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x507a07,_0x322609[_0x136575(0x134)]);const _0x13b39=_0x507a07[_0x136575(0x139)](_0x49c58e=>_0x49c58e[_0x136575(0x14f)]===!![]),_0x4ae8e6=_0x46182e??_0x13b39?.[_0x136575(0x12d)]??null,_0x242c22={'env':_0x45a957,'source':_0x10d968['source'],'fetchedAt':_0x10d968[_0x136575(0x152)],'cachePath':_0x10d968[_0x136575(0x133)],'globalPath':_0x43d858[_0x136575(0x12c)]??null,'projectPath':_0x43d858[_0x136575(0x140)]??null,'defaultApp':_0x4ae8e6,'defaultAppSource':_0x46182e!=null?_0x2e6212:null,'localAliasCount':_0x150910,'remoteTotal':_0x10d968[_0x136575(0x11f)][_0x136575(0x123)],'hiddenUnpublishedCount':_0x3c3e21,'includeUnpublished':_0x163c64};if(_0x507a07[_0x136575(0x123)]===0x0)return{'ok':!![],'data':{'items':_0x507a07,'meta':_0x242c22},'message':_0x10d968[_0x136575(0x151)]===_0x136575(0x11d)?_0x136575(0x130):_0x136575(0x15d)};return{'ok':!![],'data':{'items':_0x507a07,'meta':_0x242c22}};}},pullDef={'service':a3_0x13d02a(0x154),'command':a3_0x13d02a(0x155),'description':a3_0x13d02a(0x122),'risk':'write','confirmationDescription':a3_0x13d02a(0x118),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'env','type':a3_0x13d02a(0x158),'description':a3_0x13d02a(0x120),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x13d02a(0x14d),'type':a3_0x13d02a(0x13f),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x13d02a(0x15a),'type':a3_0x13d02a(0x13f),'description':a3_0x13d02a(0x159),'default':![]}],async 'execute'(_0x501bd6){const _0x2e085d=a3_0x13d02a,_0x3fcf1a=_0x501bd6[_0x2e085d(0x12a)](_0x2e085d(0x157))||_0x501bd6[_0x2e085d(0x148)]||getEnv()||_0x2e085d(0x145),_0xdf0290=_0x501bd6['bool'](_0x2e085d(0x14d)),_0x420312=_0x501bd6['bool'](_0x2e085d(0x15a)),{getRemoteAppList:_0x590174}=await import(_0x2e085d(0x137)),_0x461d12=await _0x590174({'env':_0x3fcf1a,'accessKey':_0x501bd6[_0x2e085d(0x11e)],'localOnly':_0xdf0290,'noCache':_0x420312});return{'ok':!![],'data':{'total':_0x461d12[_0x2e085d(0x11f)]['length'],'env':_0x3fcf1a,'source':_0x461d12[_0x2e085d(0x151)],'fetchedAt':_0x461d12[_0x2e085d(0x152)],'cachePath':_0x461d12[_0x2e085d(0x133)]},'message':_0x461d12['source']==='cache'?_0x2e085d(0x11b)+_0x461d12[_0x2e085d(0x11f)][_0x2e085d(0x123)]+_0x2e085d(0x149)+_0x3fcf1a+'\x22.':_0x2e085d(0x11a)+_0x461d12[_0x2e085d(0x11f)][_0x2e085d(0x123)]+_0x2e085d(0x14a)+_0x3fcf1a+'\x22.'};}},importDef={'service':a3_0x13d02a(0x154),'command':a3_0x13d02a(0x146),'description':a3_0x13d02a(0x15b),'risk':'write','confirmationDescription':a3_0x13d02a(0x156),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x555e3b){return await runAppImport(collectFlags(_0x555e3b,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2fbb4f,_0x5809a6){const _0x3ff676=a4_0x524c,_0x3feaa6=_0x2fbb4f();while(!![]){try{const _0x583d5e=-parseInt(_0x3ff676(0xc2))/0x1*(-parseInt(_0x3ff676(0xc5))/0x2)+parseInt(_0x3ff676(0xc3))/0x3*(-parseInt(_0x3ff676(0xc1))/0x4)+parseInt(_0x3ff676(0xc8))/0x5+-parseInt(_0x3ff676(0xca))/0x6+-parseInt(_0x3ff676(0xce))/0x7*(parseInt(_0x3ff676(0xc6))/0x8)+parseInt(_0x3ff676(0xcb))/0x9*(parseInt(_0x3ff676(0xd1))/0xa)+parseInt(_0x3ff676(0xc9))/0xb;if(_0x583d5e===_0x5809a6)break;else _0x3feaa6['push'](_0x3feaa6['shift']());}catch(_0x12dc2f){_0x3feaa6['push'](_0x3feaa6['shift']());}}}(a4_0xd651,0xdab25));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0xd651(){const _0xde2a86=['appCode','appName','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','App\x20','validation','88124TRdqvu','475TfhQeF','123DTBSXo','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','5764FSeFeM','1051680RFHreF','toUpperCase','1106730WUajBz','6471157VbcVjp','1859994hbZZOp','9ZhLEjQ','filter','.\x20Publish\x20the\x20app\x20before\x20using\x20','56WUZXJt','find','string','9821480TSjdNr','trim'];a4_0xd651=function(){return _0xde2a86;};return a4_0xd651();}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x50c822){const _0x7cd19a=a4_0x524c;if(typeof _0x50c822!==_0x7cd19a(0xd0))return null;const _0x404094=_0x50c822[_0x7cd19a(0xd2)]();return _0x404094?_0x404094[_0x7cd19a(0xc7)]():null;}export function isRuntimeAccessibleApp(_0x725f53){return normalizeAppPublishStatus(_0x725f53['appPublishStatus'])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x5e727b){const _0x32263e=a4_0x524c;return _0x5e727b[_0x32263e(0xcc)](isRuntimeAccessibleApp);}function a4_0x524c(_0x1e16d8,_0x4a26c9){_0x1e16d8=_0x1e16d8-0xbe;const _0xd65192=a4_0xd651();let _0x524c6e=_0xd65192[_0x1e16d8];return _0x524c6e;}export function findAppByName(_0x4d1895,_0x1e0256){const _0x4d37df=a4_0x524c;return _0x4d1895[_0x4d37df(0xcf)](_0x1bba34=>_0x1bba34[_0x4d37df(0xd4)]===_0x1e0256);}export function findAppByCode(_0x19723e,_0x706c5){const _0x5cff7e=a4_0x524c,_0x1ebafb=_0x706c5[_0x5cff7e(0xd2)]();if(!_0x1ebafb)return undefined;return _0x19723e[_0x5cff7e(0xcf)](_0x430f1d=>_0x430f1d[_0x5cff7e(0xd3)]?.['trim']()===_0x1ebafb);}export function runtimeInaccessibleAppError(_0x305a0a,_0x5cdee8){const _0x225997=a4_0x524c,_0x4ff3fb=normalizeAppPublishStatus(_0x305a0a['appPublishStatus'])??'UNKNOWN';return CliErrors[_0x225997(0xc0)](_0x225997(0xbf)+_0x5cdee8+_0x225997(0xc4),'Current\x20status:\x20'+_0x4ff3fb+_0x225997(0xcd)+CLI_BIN_NAME+_0x225997(0xbe));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x164308,_0x31fdb2){const _0xce8e97=a5_0x3040,_0x7e70c=_0x164308();while(!![]){try{const _0x398865=-parseInt(_0xce8e97(0x107))/0x1+-parseInt(_0xce8e97(0x10b))/0x2+parseInt(_0xce8e97(0x102))/0x3*(-parseInt(_0xce8e97(0x112))/0x4)+parseInt(_0xce8e97(0x108))/0x5*(parseInt(_0xce8e97(0x104))/0x6)+parseInt(_0xce8e97(0x110))/0x7+parseInt(_0xce8e97(0x103))/0x8+-parseInt(_0xce8e97(0x109))/0x9*(-parseInt(_0xce8e97(0x10e))/0xa);if(_0x398865===_0x31fdb2)break;else _0x7e70c['push'](_0x7e70c['shift']());}catch(_0x393e45){_0x7e70c['push'](_0x7e70c['shift']());}}}(a5_0x11c2,0x4f531));import{fileURLToPath}from'url';function a5_0x3040(_0x4c5cb4,_0x298d86){_0x4c5cb4=_0x4c5cb4-0x102;const _0x11c2c0=a5_0x11c2();let _0x3040ed=_0x11c2c0[_0x4c5cb4];return _0x3040ed;}import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x1db802=a5_0x3040,_0x1b4ab7=join(__dirname,_0x1db802(0x113)),_0x3341cd=readFileSync(_0x1b4ab7,_0x1db802(0x105));return JSON[_0x1db802(0x111)](_0x3341cd);}function a5_0x11c2(){const _0x5d2433=['../../../mock/app-list.json','6tjmXLY','3459784BtqqnV','66aKNFqJ','utf-8','success','591815cYwyyl','120140RQeTsm','4781493lvLBib','data','928310aQeIEk','errorCode','errorMsg','10oVYuhb','tableData','3085957HsJNgr','parse','576052BoAmCK'];a5_0x11c2=function(){return _0x5d2433;};return a5_0x11c2();}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x70e721=a5_0x3040,_0x2607cc=getMockAppList();if(!_0x2607cc[_0x70e721(0x106)])throw new Error('Mock\x20API\x20error:\x20'+_0x2607cc[_0x70e721(0x10d)]+'\x20('+_0x2607cc[_0x70e721(0x10c)]+')');return _0x2607cc[_0x70e721(0x10a)][_0x70e721(0x10f)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x379a34,_0x89ccb7){const _0x3f863e=a6_0x49f2,_0x497fe3=_0x379a34();while(!![]){try{const _0x681de7=-parseInt(_0x3f863e(0x111))/0x1+parseInt(_0x3f863e(0x115))/0x2+-parseInt(_0x3f863e(0x10b))/0x3+-parseInt(_0x3f863e(0x117))/0x4+-parseInt(_0x3f863e(0x110))/0x5+-parseInt(_0x3f863e(0x119))/0x6*(-parseInt(_0x3f863e(0x114))/0x7)+parseInt(_0x3f863e(0x113))/0x8;if(_0x681de7===_0x89ccb7)break;else _0x497fe3['push'](_0x497fe3['shift']());}catch(_0x5afd68){_0x497fe3['push'](_0x497fe3['shift']());}}}(a6_0x32a5,0x6729d));function a6_0x49f2(_0x3bf7d1,_0x1f7d8a){_0x3bf7d1=_0x3bf7d1-0x10b;const _0x32a5fc=a6_0x32a5();let _0x49f2e1=_0x32a5fc[_0x3bf7d1];return _0x49f2e1;}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 _0x50f228=a6_0x49f2,_0x4c6db4=(productEnv('APP_LIST_SOURCE')||'')[_0x50f228(0x116)]()[_0x50f228(0x10f)]();return _0x4c6db4===_0x50f228(0x118);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}function a6_0x32a5(){const _0xf8ddf1=['714aiexWF','608510BGFJiA','trim','1502504TapUHn','mock','30042WBMCbk','604074eSdVkw','items','cache','fetchedAt','toLowerCase','2319790tofpea','426718nOfrRl','remote','8601984SRkarf'];a6_0x32a5=function(){return _0xf8ddf1;};return a6_0x32a5();}export async function getRemoteAppList(_0x146a7a){const _0x2b8f61=a6_0x49f2,{env:_0x26c54e,accessKey:_0x6cbce3,localOnly:localOnly=![],noCache:noCache=![]}=_0x146a7a,_0x535f85=readCachedAppList(_0x26c54e,_0x6cbce3),_0xaa66da=_0x6cbce3?.[_0x2b8f61(0x116)]()?getAppCacheFilePath(_0x26c54e,_0x6cbce3):null;if(localOnly)return{'items':_0x535f85?.[_0x2b8f61(0x10c)]??[],'source':'cache','fetchedAt':_0x535f85?.[_0x2b8f61(0x10e)]??null,'cachePath':_0xaa66da};try{const _0x5eb1ed=await getRemoteAppItems(),_0x118972=shouldUseMockRemoteApps()?_0x2b8f61(0x118):_0x2b8f61(0x112),_0x4fff52=new Date()['toISOString'](),_0x4f810b=_0x6cbce3?.[_0x2b8f61(0x116)]()?writeCachedAppList(_0x26c54e,_0x6cbce3,{'env':_0x26c54e,'fetchedAt':_0x4fff52,'source':_0x118972,'items':_0x5eb1ed}):null;return{'items':_0x5eb1ed,'source':_0x118972,'fetchedAt':_0x4fff52,'cachePath':_0x4f810b};}catch(_0x3498ed){if(!noCache&&_0x535f85)return{'items':_0x535f85[_0x2b8f61(0x10c)],'source':_0x2b8f61(0x10d),'fetchedAt':_0x535f85[_0x2b8f61(0x10e)],'cachePath':_0xaa66da};throw _0x3498ed;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2a131c,_0x851d2){const _0x991af1=a7_0x4d59,_0x47dafa=_0x2a131c();while(!![]){try{const _0x30a6c4=parseInt(_0x991af1(0x8d))/0x1*(parseInt(_0x991af1(0x95))/0x2)+parseInt(_0x991af1(0x97))/0x3*(-parseInt(_0x991af1(0x9d))/0x4)+-parseInt(_0x991af1(0x8f))/0x5*(parseInt(_0x991af1(0x96))/0x6)+parseInt(_0x991af1(0x90))/0x7*(parseInt(_0x991af1(0x8a))/0x8)+parseInt(_0x991af1(0x91))/0x9+parseInt(_0x991af1(0x9c))/0xa+parseInt(_0x991af1(0x92))/0xb*(parseInt(_0x991af1(0x8c))/0xc);if(_0x30a6c4===_0x851d2)break;else _0x47dafa['push'](_0x47dafa['shift']());}catch(_0x3bc0f0){_0x47dafa['push'](_0x47dafa['shift']());}}}(a7_0x443e,0x534a7));function a7_0x443e(){const _0x34aab5=['find','438852BjEVHP','2055240UbxNAM','21gYUZtr','name','defaultApp','isCurrent','currentApp','1638620LGwJhG','381080qlDdWN','named','3618656OAfiHN','appCode','12fIcXLj','2NSRWgz','trim','5FzsCsE','7FyZLIU','2533563gtSzFf','154396wgFAAq','appcode'];a7_0x443e=function(){return _0x34aab5;};return a7_0x443e();}function a7_0x4d59(_0x361371,_0x344a25){_0x361371=_0x361371-0x89;const _0x443e44=a7_0x443e();let _0x4d596d=_0x443e44[_0x361371];return _0x4d596d;}export function enrichAppListItemsWithMergedSelection(_0x46c7ea,_0x289263){const _0x5e410f=a7_0x4d59;if(!_0x289263)return;const _0x265a97=!!(_0x289263[_0x5e410f(0x9b)]??_0x289263[_0x5e410f(0x99)]);for(const _0x3fa778 of _0x46c7ea){_0x3fa778[_0x5e410f(0x9a)]=![];}const _0x30c486=_0x289263[_0x5e410f(0x8b)]!=null?String(_0x289263['appCode'])[_0x5e410f(0x8e)]():'';if(_0x265a97){const _0x267e9d=_0x289263[_0x5e410f(0x9b)]??_0x289263['defaultApp'];if(_0x267e9d){const _0x2a093e=_0x46c7ea[_0x5e410f(0x94)](_0x3e8a5c=>_0x3e8a5c[_0x5e410f(0x89)]===!![]&&_0x3e8a5c['name']===_0x267e9d&&_0x3e8a5c['definedIn']==='local'),_0x5ab2e4=_0x2a093e??_0x46c7ea[_0x5e410f(0x94)](_0x3c47be=>_0x3c47be[_0x5e410f(0x89)]===!![]&&_0x3c47be[_0x5e410f(0x98)]===_0x267e9d);if(_0x5ab2e4){const _0x274048=String(_0x5ab2e4[_0x5e410f(0x93)]??'')[_0x5e410f(0x8e)]();if(!_0x30c486||_0x274048===_0x30c486){_0x5ab2e4[_0x5e410f(0x9a)]=!![];return;}}}if(_0x30c486){const _0x41685f=_0x46c7ea[_0x5e410f(0x94)](_0x2490da=>String(_0x2490da['appcode']??'')[_0x5e410f(0x8e)]()===_0x30c486);_0x41685f&&(_0x41685f['isCurrent']=!![]);}return;}if(!_0x30c486)return;for(const _0x214936 of _0x46c7ea){String(_0x214936[_0x5e410f(0x93)]??'')[_0x5e410f(0x8e)]()===_0x30c486&&(_0x214936[_0x5e410f(0x9a)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x27be67=a8_0xc111;function a8_0xc111(_0x3011ee,_0xc7327e){_0x3011ee=_0x3011ee-0xb1;const _0x2130ac=a8_0x2130();let _0xc111b3=_0x2130ac[_0x3011ee];return _0xc111b3;}function a8_0x2130(){const _0x26f8b0=['get','appCode','validation','4137363qNtqkM','\x20app-config\x20get\x20<key>','trim','apiError',',\x20appCode=','args','231640KzOTum','read','482190EvmteN','1221Mpanjh','222jgzBBS','488999qBzmmB','Missing\x20app-config\x20key.','520508QYkTru','68540IzqGXS','4mWclcq','1973571bwHyND','24LFDWzk'];a8_0x2130=function(){return _0x26f8b0;};return a8_0x2130();}(function(_0x48a84a,_0x41c3da){const _0x57bdda=a8_0xc111,_0x2e84a0=_0x48a84a();while(!![]){try{const _0x110420=parseInt(_0x57bdda(0xb6))/0x1+parseInt(_0x57bdda(0xbd))/0x2*(-parseInt(_0x57bdda(0xbe))/0x3)+parseInt(_0x57bdda(0xbb))/0x4+-parseInt(_0x57bdda(0xbc))/0x5*(parseInt(_0x57bdda(0xb8))/0x6)+parseInt(_0x57bdda(0xb9))/0x7*(-parseInt(_0x57bdda(0xbf))/0x8)+-parseInt(_0x57bdda(0xc3))/0x9+parseInt(_0x57bdda(0xb4))/0xa*(parseInt(_0x57bdda(0xb7))/0xb);if(_0x110420===_0x41c3da)break;else _0x2e84a0['push'](_0x2e84a0['shift']());}catch(_0x541e01){_0x2e84a0['push'](_0x2e84a0['shift']());}}}(a8_0x2130,0xa8c85));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':'app-config','command':a8_0x27be67(0xc0),'description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x27be67(0xb5),'args':[{'name':'key','description':'App\x20config\x20key','required':!![]}],'flags':[],async 'execute'(_0x2667d2){const _0x1ae5be=a8_0x27be67,_0x21ce16=_0x2667d2[_0x1ae5be(0xb3)][0x0]?.[_0x1ae5be(0xc5)]();if(!_0x21ce16)throw CliErrors[_0x1ae5be(0xc2)](_0x1ae5be(0xba),'Usage:\x20'+CLI_BIN_NAME+_0x1ae5be(0xc4));try{const _0x3581a8=await getRuntimeAppConfigByKey(_0x2667d2[_0x1ae5be(0xc1)],_0x21ce16);return{'ok':!![],'data':_0x3581a8};}catch{throw CliErrors[_0x1ae5be(0xb1)]('Unable\x20to\x20get\x20app-config\x20value:\x20key='+_0x21ce16+_0x1ae5be(0xb2)+_0x2667d2['appCode'],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x518cdc,_0x5479a1){const _0x220e08=a9_0x31df,_0x4e4044=_0x518cdc();while(!![]){try{const _0x152ca3=-parseInt(_0x220e08(0x6b))/0x1+parseInt(_0x220e08(0x68))/0x2+parseInt(_0x220e08(0x6c))/0x3*(-parseInt(_0x220e08(0x6a))/0x4)+-parseInt(_0x220e08(0x6e))/0x5+-parseInt(_0x220e08(0x69))/0x6+-parseInt(_0x220e08(0x6d))/0x7*(-parseInt(_0x220e08(0x67))/0x8)+-parseInt(_0x220e08(0x6f))/0x9*(-parseInt(_0x220e08(0x66))/0xa);if(_0x152ca3===_0x5479a1)break;else _0x4e4044['push'](_0x4e4044['shift']());}catch(_0x4b09d8){_0x4e4044['push'](_0x4e4044['shift']());}}}(a9_0x2ffd,0x73de4));function a9_0x31df(_0x976599,_0x3ecce8){_0x976599=_0x976599-0x66;const _0x2ffd7b=a9_0x2ffd();let _0x31df95=_0x2ffd7b[_0x976599];return _0x31df95;}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0x2ffd(){const _0xcb3aff=['3560620ZMIlql','342DqkouS','294990ndbVso','8AnDSoB','1651888iyjPNu','3213342NGRpAX','44024KDHGoH','452160ISEuaw','183IAFgsI','6292279fQvtAF'];a9_0x2ffd=function(){return _0xcb3aff;};return a9_0x2ffd();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x51ba82=a10_0x1070;(function(_0xdb0e14,_0x3cf623){const _0x753a9c=a10_0x1070,_0x306ed2=_0xdb0e14();while(!![]){try{const _0x93cbe6=-parseInt(_0x753a9c(0x1f0))/0x1*(-parseInt(_0x753a9c(0x1de))/0x2)+parseInt(_0x753a9c(0x208))/0x3*(-parseInt(_0x753a9c(0x20b))/0x4)+-parseInt(_0x753a9c(0x204))/0x5*(-parseInt(_0x753a9c(0x203))/0x6)+-parseInt(_0x753a9c(0x1e1))/0x7*(parseInt(_0x753a9c(0x1e3))/0x8)+parseInt(_0x753a9c(0x1db))/0x9+parseInt(_0x753a9c(0x1fd))/0xa+parseInt(_0x753a9c(0x1f2))/0xb*(-parseInt(_0x753a9c(0x1fa))/0xc);if(_0x93cbe6===_0x3cf623)break;else _0x306ed2['push'](_0x306ed2['shift']());}catch(_0x482dd){_0x306ed2['push'](_0x306ed2['shift']());}}}(a10_0x51ce,0x9c003));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='react_module',ARTIFACT_SOURCE_AGENT=a10_0x51ba82(0x214),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x51ba82(0x215),a10_0x51ba82(0x20f),a10_0x51ba82(0x1fb),a10_0x51ba82(0x1d6),a10_0x51ba82(0x209),'@ant-design/icons'];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x51ba82(0x206)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':'file','type':'string','required':!![],'description':a10_0x51ba82(0x1f8)},ARTIFACT_NAME_FLAG={'name':a10_0x51ba82(0x1ee),'type':a10_0x51ba82(0x1e4),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x51ba82(0x1fe),'type':a10_0x51ba82(0x1e4),'description':a10_0x51ba82(0x20a)};function isPlainObject(_0x2cfb9b){const _0x29c756=a10_0x51ba82;return typeof _0x2cfb9b===_0x29c756(0x1e2)&&_0x2cfb9b!==null&&!Array[_0x29c756(0x1cf)](_0x2cfb9b);}function readSourceFile(_0x3a917c){const _0x1ac917=a10_0x51ba82;if(!_0x3a917c)throw CliErrors[_0x1ac917(0x1d1)]('File\x20path\x20is\x20required.');if(!existsSync(_0x3a917c))throw CliErrors[_0x1ac917(0x1d1)]('File\x20not\x20found:\x20'+_0x3a917c);if(!statSync(_0x3a917c)[_0x1ac917(0x1ff)]())throw CliErrors[_0x1ac917(0x1d1)](_0x1ac917(0x212)+_0x3a917c);const _0x11ae0e=readFileSync(_0x3a917c,_0x1ac917(0x1f7));return validateReactModuleSource(_0x11ae0e),_0x11ae0e;}function parseMetadata(_0x1db204){const _0x4bfb63=a10_0x51ba82;if(!_0x1db204)return undefined;let _0x2adb68;try{_0x2adb68=JSON[_0x4bfb63(0x1f4)](_0x1db204);}catch{throw CliErrors[_0x4bfb63(0x1d1)](_0x4bfb63(0x1ea)+_0x1db204);}if(!isPlainObject(_0x2adb68))throw CliErrors[_0x4bfb63(0x1d1)](_0x4bfb63(0x219));const _0x20e4d5={..._0x2adb68};return delete _0x20e4d5[_0x4bfb63(0x1da)],_0x20e4d5;}function getPackageName(_0x42caba){const _0x6e6a41=a10_0x51ba82;if(_0x42caba[_0x6e6a41(0x1ce)]('@')){const [_0x418209,_0x5f2fba]=_0x42caba[_0x6e6a41(0x207)]('/');return _0x418209&&_0x5f2fba?_0x418209+'/'+_0x5f2fba:_0x42caba;}return _0x42caba[_0x6e6a41(0x207)]('/')[0x0]||_0x42caba;}function validateAllowedImports(_0x118d76){const _0x45ed10=a10_0x51ba82,_0x23f03c=new Set();for(const _0xa7d900 of IMPORT_SOURCE_PATTERNS){_0xa7d900[_0x45ed10(0x1ec)]=0x0;let _0x21800e;while((_0x21800e=_0xa7d900[_0x45ed10(0x1d5)](_0x118d76))!==null){const _0xd5b5bc=_0x21800e[0x1]?.[_0x45ed10(0x1ed)]();_0xd5b5bc&&_0x23f03c['add'](_0xd5b5bc);}}const _0x6d2ed7=[..._0x23f03c]['map'](getPackageName)[_0x45ed10(0x1e6)](_0xcd905c=>!ALLOWED_REACT_MODULE_IMPORTS[_0x45ed10(0x1d2)](_0xcd905c));if(_0x6d2ed7[_0x45ed10(0x1cd)]>0x0)throw CliErrors['validation'](_0x45ed10(0x1f6)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x6d2ed7)][_0x45ed10(0x206)](',\x20'));}export function validateReactModuleSource(_0x1136ad){const _0x89a417=a10_0x51ba82;if(!_0x1136ad[_0x89a417(0x1ed)]())throw CliErrors[_0x89a417(0x1d1)](_0x89a417(0x1ef));if(PAGE_LEVEL_PATTERNS[_0x89a417(0x211)](_0x17f0c1=>_0x17f0c1[_0x89a417(0x217)](_0x1136ad)))throw CliErrors[_0x89a417(0x1d1)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x1136ad);}function a10_0x51ce(){const _0x340f7=['723279fRrSFN','antd','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','16sVNwrv','Optional\x20favorite-state\x20filter','保存新的\x20Artifact\x20源码并重新编译;应用中的内嵌模块展示和交互可能立即发生变化。','artifactType','react-dom','artifact','some','File\x20is\x20not\x20a\x20regular\x20file:\x20','Created\x20Artifact\x20','AGENT','react','Preview:\x20create\x20react_module\x20Artifact','test','update','--metadata\x20must\x20be\x20a\x20JSON\x20object.','根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','POST','length','startsWith','isArray','boolean','validation','includes','list','deleted','exec','dayjs','/update','number','body','compiledContent','9863802SRGKBK','description','flag','10RqXisB','str','create','602syDvfW','object','64744XEmVIS','string','appCode','filter','Artifact\x20ID','detail','favorite','Invalid\x20JSON\x20for\x20--metadata:\x20','num','lastIndex','trim','name','Artifact\x20source\x20file\x20is\x20blank.','117027IBNuNB','map','11SDTGNO','createTime','parse','file','react_module\x20imports\x20are\x20limited\x20to:\x20','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','10966020JnnCYi','lodash','/client/artifact/create','9813210TqXyRD','metadata','isFile','data','bool','source','150GPBgmd','110150IbEeoU','read','join','split'];a10_0x51ce=function(){return _0x340f7;};return a10_0x51ce();}function a10_0x1070(_0x284386,_0x2b2636){_0x284386=_0x284386-0x1ca;const _0x51cea3=a10_0x51ce();let _0x1070b7=_0x51cea3[_0x284386];return _0x1070b7;}function buildArtifactInput(_0x29e9f5){const _0x3f8bbc=a10_0x51ba82,_0x581d61=readSourceFile(_0x29e9f5[_0x3f8bbc(0x1df)](_0x3f8bbc(0x1f5))),_0x28284a=_0x29e9f5[_0x3f8bbc(0x1df)]('name')[_0x3f8bbc(0x1ed)](),_0x423b69=parseMetadata(_0x29e9f5[_0x3f8bbc(0x1df)](_0x3f8bbc(0x1fe)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x28284a?{'name':_0x28284a}:{},'content':_0x581d61,..._0x423b69?{'metadata':_0x423b69}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x417a69){const _0x5291cf=a10_0x51ba82;return{'id':_0x417a69['id'],'name':_0x417a69[_0x5291cf(0x1ee)],'artifactType':_0x417a69[_0x5291cf(0x20e)],'source':_0x417a69[_0x5291cf(0x202)],'favorite':_0x417a69[_0x5291cf(0x1e9)],'deleted':_0x417a69['deleted'],'createTime':_0x417a69[_0x5291cf(0x1f3)],'updateTime':_0x417a69['updateTime']};}function detailArtifact(_0x8dc172){const _0x17c272=a10_0x51ba82;return{'id':_0x8dc172['id'],'appCode':_0x8dc172['appCode'],'name':_0x8dc172['name'],'artifactType':_0x8dc172['artifactType'],'source':_0x8dc172[_0x17c272(0x202)],'favorite':_0x8dc172['favorite'],'deleted':_0x8dc172[_0x17c272(0x1d4)],'content':_0x8dc172['content']??'','compiledContent':_0x8dc172[_0x17c272(0x1da)],'metadata':_0x8dc172[_0x17c272(0x1fe)]??{},'createTime':_0x8dc172[_0x17c272(0x1f3)],'updateTime':_0x8dc172['updateTime']};}function readFavoriteFlag(_0x141078){const _0xa878d4=a10_0x51ba82,_0x4eafe1=_0x141078[_0xa878d4(0x1dd)](_0xa878d4(0x1e9));return _0x4eafe1===undefined||_0x4eafe1===null||_0x4eafe1===''?undefined:_0x141078[_0xa878d4(0x201)]('favorite');}const artifactList={'service':a10_0x51ba82(0x210),'command':a10_0x51ba82(0x1d3),'description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x51ba82(0x205),'flags':[{'name':'source','type':a10_0x51ba82(0x1e4),'description':'Optional\x20source\x20filter,\x20for\x20example\x20AGENT'},{'name':'favorite','type':a10_0x51ba82(0x1d0),'description':a10_0x51ba82(0x20c)},VERBOSE_FLAG],async 'execute'(_0x223cec){const _0x536ea3=a10_0x51ba82,_0x28be80=await listRuntimeArtifacts(_0x223cec[_0x536ea3(0x1e5)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x223cec[_0x536ea3(0x1df)]('source')?{'source':_0x223cec[_0x536ea3(0x1df)](_0x536ea3(0x202))}:{},...readFavoriteFlag(_0x223cec)!==undefined?{'favorite':readFavoriteFlag(_0x223cec)}:{}});return{'ok':!![],'data':{'total':_0x28be80['length'],'items':_0x223cec['bool']('verbose')?_0x28be80:_0x28be80[_0x536ea3(0x1f1)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x51ba82(0x210),'command':a10_0x51ba82(0x1e8),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0x51ba82(0x205),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x11ee0c){const _0x45fc6b=a10_0x51ba82,_0x188e7a=await getRuntimeArtifact(_0x11ee0c[_0x45fc6b(0x1eb)]('id'),_0x11ee0c[_0x45fc6b(0x1e5)]);return{'ok':!![],'data':detailArtifact(_0x188e7a)};}},artifactCreate={'service':a10_0x51ba82(0x210),'command':a10_0x51ba82(0x1e0),'description':a10_0x51ba82(0x1ca),'risk':'write','confirmationDescription':'保存新的\x20Artifact\x20源码并进行编译;成功后将在当前应用中新增可展示的内嵌模块。','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x485101){const _0x478aa4=a10_0x51ba82,_0x4a2838=buildArtifactInput(_0x485101),_0x587a31=await createRuntimeArtifact(_0x485101[_0x478aa4(0x1e5)],_0x4a2838);return{'ok':!![],'data':detailArtifact(_0x587a31),'message':_0x478aa4(0x213)+_0x587a31['id']+(_0x587a31[_0x478aa4(0x1ee)]?'\x20('+_0x587a31[_0x478aa4(0x1ee)]+')':'')};},async 'dryRun'(_0x1e12a2){const _0x58837b=a10_0x51ba82,_0x34c403=buildArtifactInput(_0x1e12a2);return dryRun(_0x58837b(0x1cc),_0x58837b(0x1fc))[_0x58837b(0x1d9)]({'appCode':_0x1e12a2[_0x58837b(0x1e5)],..._0x34c403})[_0x58837b(0x1dc)](_0x58837b(0x216))['build']();},'writeEventSubject'(_0x31aa10){const _0x189b6d=a10_0x51ba82,_0x4f8f02=_0x31aa10[_0x189b6d(0x200)]?.['id'];if(typeof _0x4f8f02!==_0x189b6d(0x1e4)&&typeof _0x4f8f02!==_0x189b6d(0x1d8))return undefined;return{'kind':'artifact','id':String(_0x4f8f02),'action':_0x189b6d(0x1e0)};}},artifactUpdate={'service':'artifact','command':a10_0x51ba82(0x218),'description':a10_0x51ba82(0x1f9),'risk':'write','confirmationDescription':a10_0x51ba82(0x20d),'flags':[{...ID_FLAG,'description':a10_0x51ba82(0x1e7)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x358d01){const _0x1fff22=a10_0x51ba82,_0x5c506e=_0x358d01[_0x1fff22(0x1eb)]('id'),_0x5afb3a=buildArtifactInput(_0x358d01),_0x6b1577=await updateRuntimeArtifact(_0x5c506e,_0x358d01['appCode'],_0x5afb3a);return{'ok':!![],'data':detailArtifact(_0x6b1577),'message':'Updated\x20Artifact\x20'+_0x6b1577['id']+(_0x6b1577[_0x1fff22(0x1ee)]?'\x20('+_0x6b1577[_0x1fff22(0x1ee)]+')':'')};},async 'dryRun'(_0x36bb47){const _0x34f268=a10_0x51ba82,_0x190855=_0x36bb47[_0x34f268(0x1eb)]('id'),_0x53dd49=buildArtifactInput(_0x36bb47);return dryRun('POST','/client/artifact/'+_0x190855+_0x34f268(0x1d7))[_0x34f268(0x1d9)]({'appCode':_0x36bb47[_0x34f268(0x1e5)],..._0x53dd49})['description'](_0x34f268(0x1cb)+_0x190855)['build']();},'writeEventSubject'(_0x1ebdbd){const _0x438a82=a10_0x51ba82,_0x52d974=_0x1ebdbd[_0x438a82(0x200)]?.['id'];if(typeof _0x52d974!==_0x438a82(0x1e4)&&typeof _0x52d974!==_0x438a82(0x1d8))return undefined;return{'kind':_0x438a82(0x210),'id':String(_0x52d974),'action':_0x438a82(0x218)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
function a10_0x335d(_0x267d81,_0x41412e){_0x267d81=_0x267d81-0x98;const _0x3677b8=a10_0x3677();let _0x335d45=_0x3677b8[_0x267d81];return _0x335d45;}const a10_0x43d681=a10_0x335d;(function(_0x5d7b1e,_0x375303){const _0x4f7f1f=a10_0x335d,_0x4b603e=_0x5d7b1e();while(!![]){try{const _0x37b595=-parseInt(_0x4f7f1f(0xd8))/0x1*(-parseInt(_0x4f7f1f(0xdf))/0x2)+parseInt(_0x4f7f1f(0xd1))/0x3+-parseInt(_0x4f7f1f(0xbc))/0x4+-parseInt(_0x4f7f1f(0xdb))/0x5+parseInt(_0x4f7f1f(0xaa))/0x6+parseInt(_0x4f7f1f(0x9d))/0x7+-parseInt(_0x4f7f1f(0xac))/0x8;if(_0x37b595===_0x375303)break;else _0x4b603e['push'](_0x4b603e['shift']());}catch(_0x35f45e){_0x4b603e['push'](_0x4b603e['shift']());}}}(a10_0x3677,0xa227c));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_0x43d681(0xb8),ARTIFACT_SOURCE_AGENT=a10_0x43d681(0xba),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x43d681(0xc8),'react-dom',a10_0x43d681(0xda),'dayjs','antd',a10_0x43d681(0xe0)];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_0x43d681(0xbb),'type':a10_0x43d681(0xcd),'required':!![],'description':a10_0x43d681(0xaf)},ARTIFACT_NAME_FLAG={'name':a10_0x43d681(0xe7),'type':a10_0x43d681(0xcd),'description':a10_0x43d681(0xab)},METADATA_FLAG={'name':a10_0x43d681(0xcf),'type':a10_0x43d681(0xcd),'description':a10_0x43d681(0xc6)};function isPlainObject(_0x40bc2a){const _0xcb26be=a10_0x43d681;return typeof _0x40bc2a===_0xcb26be(0x9a)&&_0x40bc2a!==null&&!Array[_0xcb26be(0xa6)](_0x40bc2a);}function readSourceFile(_0x23456b){const _0x123952=a10_0x43d681;if(!_0x23456b)throw CliErrors[_0x123952(0xa5)]('File\x20path\x20is\x20required.');if(!existsSync(_0x23456b))throw CliErrors[_0x123952(0xa5)](_0x123952(0xd3)+_0x23456b);if(!statSync(_0x23456b)[_0x123952(0xb9)]())throw CliErrors[_0x123952(0xa5)](_0x123952(0xb2)+_0x23456b);const _0x4ba664=readFileSync(_0x23456b,'utf8');return validateReactModuleSource(_0x4ba664),_0x4ba664;}function parseMetadata(_0x3b1d16){const _0x38c373=a10_0x43d681;if(!_0x3b1d16)return undefined;let _0x463a28;try{_0x463a28=JSON['parse'](_0x3b1d16);}catch{throw CliErrors[_0x38c373(0xa5)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x3b1d16);}if(!isPlainObject(_0x463a28))throw CliErrors[_0x38c373(0xa5)](_0x38c373(0xc3));const _0x44d3f2={..._0x463a28};return delete _0x44d3f2[_0x38c373(0xbf)],_0x44d3f2;}function getPackageName(_0x122ced){const _0x41f69f=a10_0x43d681;if(_0x122ced[_0x41f69f(0xa2)]('@')){const [_0x189d4f,_0x4b04bc]=_0x122ced[_0x41f69f(0x9e)]('/');return _0x189d4f&&_0x4b04bc?_0x189d4f+'/'+_0x4b04bc:_0x122ced;}return _0x122ced['split']('/')[0x0]||_0x122ced;}function validateAllowedImports(_0x1a6722){const _0x4713a5=a10_0x43d681,_0x3d4cb9=new Set();for(const _0x16f30a of IMPORT_SOURCE_PATTERNS){_0x16f30a[_0x4713a5(0xa9)]=0x0;let _0x35c290;while((_0x35c290=_0x16f30a[_0x4713a5(0xce)](_0x1a6722))!==null){const _0x549654=_0x35c290[0x1]?.[_0x4713a5(0xc1)]();_0x549654&&_0x3d4cb9['add'](_0x549654);}}const _0x34a96f=[..._0x3d4cb9][_0x4713a5(0xa7)](getPackageName)['filter'](_0x560f2c=>!ALLOWED_REACT_MODULE_IMPORTS[_0x4713a5(0xc5)](_0x560f2c));if(_0x34a96f[_0x4713a5(0xa3)]>0x0)throw CliErrors[_0x4713a5(0xa5)](_0x4713a5(0xd5)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x4713a5(0x98)+[...new Set(_0x34a96f)][_0x4713a5(0xd6)](',\x20'));}export function validateReactModuleSource(_0x3f9936){const _0x1d0f7e=a10_0x43d681;if(!_0x3f9936[_0x1d0f7e(0xc1)]())throw CliErrors[_0x1d0f7e(0xa5)](_0x1d0f7e(0xc7));if(PAGE_LEVEL_PATTERNS[_0x1d0f7e(0xa0)](_0x15e2dc=>_0x15e2dc['test'](_0x3f9936)))throw CliErrors[_0x1d0f7e(0xa5)](_0x1d0f7e(0xa8));validateAllowedImports(_0x3f9936);}function buildArtifactInput(_0x1875de){const _0x3ca10c=a10_0x43d681,_0x4443a8=readSourceFile(_0x1875de[_0x3ca10c(0x9b)](_0x3ca10c(0xbb))),_0x456d22=_0x1875de[_0x3ca10c(0x9b)]('name')[_0x3ca10c(0xc1)](),_0x1d5e27=parseMetadata(_0x1875de['str'](_0x3ca10c(0xcf)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x456d22?{'name':_0x456d22}:{},'content':_0x4443a8,..._0x1d5e27?{'metadata':_0x1d5e27}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x378c0c){const _0x989387=a10_0x43d681;return{'id':_0x378c0c['id'],'name':_0x378c0c[_0x989387(0xe7)],'artifactType':_0x378c0c[_0x989387(0xe1)],'source':_0x378c0c['source'],'favorite':_0x378c0c[_0x989387(0xa4)],'deleted':_0x378c0c[_0x989387(0xc4)],'createTime':_0x378c0c['createTime'],'updateTime':_0x378c0c['updateTime']};}function detailArtifact(_0xad510c){const _0x11d269=a10_0x43d681;return{'id':_0xad510c['id'],'appCode':_0xad510c[_0x11d269(0xb4)],'name':_0xad510c[_0x11d269(0xe7)],'artifactType':_0xad510c[_0x11d269(0xe1)],'source':_0xad510c[_0x11d269(0x9c)],'favorite':_0xad510c[_0x11d269(0xa4)],'deleted':_0xad510c[_0x11d269(0xc4)],'content':_0xad510c[_0x11d269(0xb1)]??'','compiledContent':_0xad510c[_0x11d269(0xbf)],'metadata':_0xad510c['metadata']??{},'createTime':_0xad510c['createTime'],'updateTime':_0xad510c[_0x11d269(0xb5)]};}function readFavoriteFlag(_0x3e1997){const _0x346107=a10_0x43d681,_0x46ff5f=_0x3e1997['flag']('favorite');return _0x46ff5f===undefined||_0x46ff5f===null||_0x46ff5f===''?undefined:_0x3e1997['bool'](_0x346107(0xa4));}function a10_0x3677(){const _0x2347bb=['Show\x20one\x20Artifact\x20by\x20id','2775000HtiXzF','/update','File\x20not\x20found:\x20','data','react_module\x20imports\x20are\x20limited\x20to:\x20','join','根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','2kLdUMH','list','lodash','6615470ucVKQo','create','build','根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','1203220kWPeit','@ant-design/icons','artifactType','read','保存新的\x20Artifact\x20源码并重新编译;应用中的内嵌模块展示和交互可能立即发生变化。','number','List\x20current-app\x20react_module\x20Artifacts','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','name','.\x20Unsupported:\x20','description','object','str','source','8808009pXXRcq','split','POST','some','update','startsWith','length','favorite','validation','isArray','map','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','lastIndex','7555992TFRUFD','Artifact\x20display\x20name','17289184fFZjiV','detail','boolean','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','num','content','File\x20is\x20not\x20a\x20regular\x20file:\x20','Artifact\x20ID','appCode','updateTime','/client/artifact/create','artifact','react_module','isFile','AGENT','file','1989636cryOiy','verbose','保存新的\x20Artifact\x20源码并进行编译;成功后将在当前应用中新增可展示的内嵌模块。','compiledContent','Updated\x20Artifact\x20','trim','body','--metadata\x20must\x20be\x20a\x20JSON\x20object.','deleted','includes','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','Artifact\x20source\x20file\x20is\x20blank.','react','write','Preview:\x20update\x20react_module\x20Artifact\x20','/client/artifact/','Preview:\x20create\x20react_module\x20Artifact','string','exec','metadata'];a10_0x3677=function(){return _0x2347bb;};return a10_0x3677();}const artifactList={'service':a10_0x43d681(0xb7),'command':a10_0x43d681(0xd9),'description':a10_0x43d681(0xe5),'risk':a10_0x43d681(0xe2),'flags':[{'name':a10_0x43d681(0x9c),'type':a10_0x43d681(0xcd),'description':a10_0x43d681(0xe6)},{'name':'favorite','type':a10_0x43d681(0xae),'description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x88fe23){const _0x390b75=a10_0x43d681,_0x323bdf=await listRuntimeArtifacts(_0x88fe23['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x88fe23['str'](_0x390b75(0x9c))?{'source':_0x88fe23[_0x390b75(0x9b)](_0x390b75(0x9c))}:{},...readFavoriteFlag(_0x88fe23)!==undefined?{'favorite':readFavoriteFlag(_0x88fe23)}:{}});return{'ok':!![],'data':{'total':_0x323bdf['length'],'items':_0x88fe23['bool'](_0x390b75(0xbd))?_0x323bdf:_0x323bdf[_0x390b75(0xa7)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0x43d681(0xad),'description':a10_0x43d681(0xd0),'risk':a10_0x43d681(0xe2),'flags':[{...ID_FLAG,'description':a10_0x43d681(0xb3)}],async 'execute'(_0x769aab){const _0xcc34dd=a10_0x43d681,_0x39e09f=await getRuntimeArtifact(_0x769aab['num']('id'),_0x769aab[_0xcc34dd(0xb4)]);return{'ok':!![],'data':detailArtifact(_0x39e09f)};}},artifactCreate={'service':'artifact','command':a10_0x43d681(0xdc),'description':a10_0x43d681(0xde),'risk':a10_0x43d681(0xc9),'confirmationDescription':a10_0x43d681(0xbe),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3b581a){const _0x136e02=a10_0x43d681,_0x35d525=buildArtifactInput(_0x3b581a),_0x38880f=await createRuntimeArtifact(_0x3b581a['appCode'],_0x35d525);return{'ok':!![],'data':detailArtifact(_0x38880f),'message':'Created\x20Artifact\x20'+_0x38880f['id']+(_0x38880f[_0x136e02(0xe7)]?'\x20('+_0x38880f[_0x136e02(0xe7)]+')':'')};},async 'dryRun'(_0x37e3a0){const _0x504774=a10_0x43d681,_0x3776b6=buildArtifactInput(_0x37e3a0);return dryRun(_0x504774(0x9f),_0x504774(0xb6))[_0x504774(0xc2)]({'appCode':_0x37e3a0[_0x504774(0xb4)],..._0x3776b6})['description'](_0x504774(0xcc))['build']();},'writeEventSubject'(_0x5da53d){const _0x388590=a10_0x43d681,_0x282618=_0x5da53d[_0x388590(0xd4)]?.['id'];if(typeof _0x282618!==_0x388590(0xcd)&&typeof _0x282618!==_0x388590(0xe4))return undefined;return{'kind':_0x388590(0xb7),'id':String(_0x282618),'action':'create'};}},artifactUpdate={'service':a10_0x43d681(0xb7),'command':'update','description':a10_0x43d681(0xd7),'risk':a10_0x43d681(0xc9),'confirmationDescription':a10_0x43d681(0xe3),'flags':[{...ID_FLAG,'description':a10_0x43d681(0xb3)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2bbd37){const _0x4fce6c=a10_0x43d681,_0xbf3d9b=_0x2bbd37[_0x4fce6c(0xb0)]('id'),_0x6df7c7=buildArtifactInput(_0x2bbd37),_0x37b7de=await updateRuntimeArtifact(_0xbf3d9b,_0x2bbd37['appCode'],_0x6df7c7);return{'ok':!![],'data':detailArtifact(_0x37b7de),'message':_0x4fce6c(0xc0)+_0x37b7de['id']+(_0x37b7de[_0x4fce6c(0xe7)]?'\x20('+_0x37b7de[_0x4fce6c(0xe7)]+')':'')};},async 'dryRun'(_0x30deff){const _0x4198e5=a10_0x43d681,_0x247daa=_0x30deff[_0x4198e5(0xb0)]('id'),_0x1f62d9=buildArtifactInput(_0x30deff);return dryRun(_0x4198e5(0x9f),_0x4198e5(0xcb)+_0x247daa+_0x4198e5(0xd2))[_0x4198e5(0xc2)]({'appCode':_0x30deff['appCode'],..._0x1f62d9})[_0x4198e5(0x99)](_0x4198e5(0xca)+_0x247daa)[_0x4198e5(0xdd)]();},'writeEventSubject'(_0x22556c){const _0x2813e=a10_0x43d681,_0xde1461=_0x22556c[_0x2813e(0xd4)]?.['id'];if(typeof _0xde1461!==_0x2813e(0xcd)&&typeof _0xde1461!==_0x2813e(0xe4))return undefined;return{'kind':'artifact','id':String(_0xde1461),'action':_0x2813e(0xa1)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x9414e2=a11_0x486b;(function(_0x3e705f,_0x3c2893){const _0xe5ed89=a11_0x486b,_0x32bb97=_0x3e705f();while(!![]){try{const _0x234a9f=parseInt(_0xe5ed89(0x129))/0x1*(parseInt(_0xe5ed89(0x159))/0x2)+-parseInt(_0xe5ed89(0x150))/0x3*(-parseInt(_0xe5ed89(0x127))/0x4)+parseInt(_0xe5ed89(0x146))/0x5+parseInt(_0xe5ed89(0x124))/0x6*(-parseInt(_0xe5ed89(0x11e))/0x7)+parseInt(_0xe5ed89(0x134))/0x8+-parseInt(_0xe5ed89(0x164))/0x9*(parseInt(_0xe5ed89(0x141))/0xa)+-parseInt(_0xe5ed89(0x14d))/0xb;if(_0x234a9f===_0x3c2893)break;else _0x32bb97['push'](_0x32bb97['shift']());}catch(_0x2e08df){_0x32bb97['push'](_0x32bb97['shift']());}}}(a11_0x109b,0xf3e80));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';function a11_0x486b(_0x15ba86,_0x2e6411){_0x15ba86=_0x15ba86-0x119;const _0x109baf=a11_0x109b();let _0x486b87=_0x109baf[_0x15ba86];return _0x486b87;}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(_0x2cb540){const _0xc70e46=a11_0x486b;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x2cb540[_0xc70e46(0x12b)](_0xc70e46(0x125)),'explicitProject':_0x2cb540['bool'](_0xc70e46(0x15e)),'policy':_0xc70e46(0x167)}));}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 _0xafecf4=a11_0x486b;return crypto[_0xafecf4(0x13d)]();}export function buildDeviceAuthUrl(_0x3eb1bc,_0x256110,_0x25a89a=a11_0x9414e2(0x152)){return _0x3eb1bc+'/device-auth?code='+encodeURIComponent(_0x256110)+'&source='+encodeURIComponent(_0x25a89a);}export function getDeviceCodePath(){const _0x4b0ee9=a11_0x9414e2;return homedir()+'/'+PRODUCT_CONFIG[_0x4b0ee9(0x168)]+_0x4b0ee9(0x147);}export function readStoredDeviceCode(){const _0x1d58fc=a11_0x9414e2,_0x3d1c6c=getDeviceCodePath();if(!existsSync(_0x3d1c6c))return null;try{const _0x24d1d0=readFileSync(_0x3d1c6c,{'encoding':_0x1d58fc(0x15f)}),_0x3426d6=JSON[_0x1d58fc(0x12e)](_0x24d1d0);if(_0x3426d6&&typeof _0x3426d6[_0x1d58fc(0x12c)]===_0x1d58fc(0x163)&&typeof _0x3426d6[_0x1d58fc(0x15c)]===_0x1d58fc(0x163)&&(_0x3426d6['scope']===_0x1d58fc(0x125)||_0x3426d6[_0x1d58fc(0x137)]==='project'))return _0x3426d6;}catch{}return null;}export function writeStoredDeviceCode(_0xcf380,_0x378838){const _0x106744=a11_0x9414e2,_0x3f6c35=getDeviceCodePath(),_0x571b1a=dirname(_0x3f6c35);!existsSync(_0x571b1a)&&mkdirSync(_0x571b1a,{'recursive':!![]});const _0x2218b1={'code':_0xcf380,'createdAt':new Date()[_0x106744(0x142)](),'scope':_0x378838};writeFileSync(_0x3f6c35,JSON[_0x106744(0x157)](_0x2218b1),{'encoding':_0x106744(0x15f),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x158c6d=getDeviceCodePath();try{unlinkSync(_0x158c6d);}catch{}}export function isStoredDeviceCodeExpired(_0x40ceb3){const _0x5612a9=a11_0x9414e2;return Date[_0x5612a9(0x133)]()-new Date(_0x40ceb3[_0x5612a9(0x15c)])[_0x5612a9(0x156)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x269ec8,_0x32dae4){const _0x147442=a11_0x9414e2,_0x135657=_0x269ec8+_0x147442(0x151),_0x43cded=new AbortController(),_0x2a5886=setTimeout(()=>_0x43cded[_0x147442(0x120)](),0x2710),_0x25b768=await fetch(_0x135657,{'method':_0x147442(0x140),'headers':{'Content-Type':_0x147442(0x12f)},'body':JSON['stringify']({'code':_0x32dae4}),'signal':_0x43cded['signal']});clearTimeout(_0x2a5886);if(!_0x25b768['ok'])throw CliErrors[_0x147442(0x121)](_0x147442(0x128)+_0x25b768[_0x147442(0x14f)]);const _0x23127e=await _0x25b768[_0x147442(0x135)](),_0x53f3b0=_0x23127e[_0x147442(0x122)]&&typeof _0x23127e[_0x147442(0x122)]===_0x147442(0x165)?_0x23127e[_0x147442(0x122)]:_0x23127e;if(!_0x53f3b0||typeof _0x53f3b0[_0x147442(0x14f)]!==_0x147442(0x163))throw CliErrors['apiError'](_0x147442(0x11f));return{'status':_0x53f3b0[_0x147442(0x14f)],'access_key':typeof _0x53f3b0[_0x147442(0x13f)]===_0x147442(0x163)?_0x53f3b0[_0x147442(0x13f)]:undefined};}export async function pollDeviceToken(_0x5a1f1d,_0x1d95f3,_0xfded9a){const _0x5b9108=a11_0x9414e2;let _0x385033=0x0;for(let _0x117249=0x0;_0x117249<MAX_POLLS;_0x117249++){if(_0xfded9a[_0x5b9108(0x14e)])throw CliErrors[_0x5b9108(0x158)]('Device\x20authorization\x20cancelled.');let _0x35c690;try{_0x35c690=await fetchDeviceToken(_0x5a1f1d,_0x1d95f3);}catch(_0xfd0596){if(_0xfd0596 instanceof Error&&_0xfd0596[_0x5b9108(0x138)]==='AbortError')throw CliErrors[_0x5b9108(0x158)](_0x5b9108(0x11a));_0x385033++;if(_0x385033>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x5b9108(0x144));writeCliSideChannelLine(_0x5b9108(0x16b)+_0x385033+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x5b9108(0x149)),await sleep(POLL_INTERVAL_MS);continue;}_0x385033=0x0;if(_0x35c690[_0x5b9108(0x14f)]===_0x5b9108(0x130)){if(!_0x35c690[_0x5b9108(0x13f)])throw CliErrors[_0x5b9108(0x154)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x35c690[_0x5b9108(0x13f)];}if(_0x35c690[_0x5b9108(0x14f)]===_0x5b9108(0x12a)){deleteStoredDeviceCode();throw CliErrors['validation'](_0x5b9108(0x145));}const _0x34ddba=(_0x117249+0x1)*POLL_INTERVAL_MS,_0xc5eec7=DEVICE_CODE_TTL_MS-_0x34ddba,_0x483f90=Math['floor'](_0xc5eec7/0xea60),_0x46cc90=Math['floor'](_0xc5eec7%0xea60/0x3e8);process[_0x5b9108(0x139)][_0x5b9108(0x11b)](_0x5b9108(0x148)+_0x483f90+':'+String(_0x46cc90)[_0x5b9108(0x143)](0x2,'0')+_0x5b9108(0x15d)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x5b9108(0x13e)](_0x5b9108(0x16c));}function sleep(_0x994e){return new Promise(_0x2637ca=>setTimeout(_0x2637ca,_0x994e));}function a11_0x109b(){const _0x3e3247=['url-only','Device\x20authorization\x20cancelled.','write','通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','\x20config.','2003575QWtGDT','Invalid\x20device\x20auth\x20response','abort','networkError','data','\x20auth\x20status','24xEWrBk','global','AccessKey\x20saved\x20to\x20','62212QoKrjX','Device\x20auth\x20API\x20returned\x20HTTP\x20','1986109mdieRT','expired','bool','code','source','parse','application/json','success','Verify:\x20','SIGINT','now','14823864JJMPfV','json','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','scope','name','stderr','log','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','removeListener','randomUUID','validation','access_key','POST','11810QEyFRx','toISOString','padStart','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','7708355AswgBT','/.device-auth','\x0dWaiting\x20for\x20authorization...\x20','),\x20retrying...','Device\x20authorization\x20successful.','Write\x20to\x20project\x20config','accessKey','44454014mIsPpj','aborted','status','180JnlAXb','/api/device-auth/token','lovrabet-cli','将启动设备码授权流程;授权成功后会把获取到的\x20AccessKey\x20保存到所选\x20Lovrabet\x20配置。确认界面不会显示设备码或密钥。','apiError','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','getTime','stringify','cancelled','2KGcSOe','Invalid\x20access_key\x20returned\x20by\x20server.','boolean','createdAt','\x20remaining','project','utf8','nonInteractive','After\x20authorizing,\x20re-run:\x20','trim','string','981sWcPqZ','object','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','global-default','homeDirName','\x20auth\x20device','Write\x20to\x20global\x20config\x20(default)','Device\x20auth\x20API\x20error\x20(','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.'];a11_0x109b=function(){return _0x3e3247;};return a11_0x109b();}export const authDeviceDefinition={'service':'auth','command':'device','description':a11_0x9414e2(0x11c),'risk':a11_0x9414e2(0x11b),'confirmationDescription':a11_0x9414e2(0x153),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x9414e2(0x125),'type':a11_0x9414e2(0x15b),'description':a11_0x9414e2(0x16a),'default':!![]},{'name':a11_0x9414e2(0x15e),'type':a11_0x9414e2(0x15b),'description':a11_0x9414e2(0x14b),'default':![]},{'name':a11_0x9414e2(0x12d),'type':a11_0x9414e2(0x163),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':'lovrabet-cli'},{'name':'url-only','type':a11_0x9414e2(0x15b),'description':a11_0x9414e2(0x136),'default':![]}],async 'execute'(_0x20f07b){const _0x4fc305=a11_0x9414e2,_0x13475a=resolveAuthScopeFlags(_0x20f07b),_0x2a1af2=_0x13475a[_0x4fc305(0x125)]?'global':_0x4fc305(0x15e),_0x13312d=readScopedConfig(_0x13475a);if(_0x13312d['accessKey'])return{'ok':!![],'message':_0x4fc305(0x13b)};const _0x4b8a21=(_0x20f07b['str'](_0x4fc305(0x12d))||_0x4fc305(0x152))[_0x4fc305(0x162)](),_0x40bcb7=getUserDomain(),_0x432ca2=readStoredDeviceCode(),_0x6980ca=_0x432ca2&&!isStoredDeviceCodeExpired(_0x432ca2)?_0x432ca2[_0x4fc305(0x12c)]:((()=>{const _0x16efbc=generateDeviceCode();return writeStoredDeviceCode(_0x16efbc,_0x2a1af2),_0x16efbc;})()),_0x327e99=buildDeviceAuthUrl(_0x40bcb7,_0x6980ca,_0x4b8a21);if(_0x20f07b[_0x4fc305(0x12b)](_0x4fc305(0x119)))return console[_0x4fc305(0x13a)](_0x327e99),{'ok':!![]};writeCliSideChannelLine(_0x4fc305(0x166)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x327e99),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4fc305(0x155));if(_0x20f07b[_0x4fc305(0x160)])return writeCliSideChannelLine(_0x4fc305(0x161)+CLI_BIN_NAME+_0x4fc305(0x169)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x39663=new AbortController(),_0x276cf5=()=>{const _0x252a5b=_0x4fc305;_0x39663[_0x252a5b(0x120)](),process[_0x252a5b(0x13c)]('SIGINT',_0x276cf5);};process['once'](_0x4fc305(0x132),_0x276cf5);let _0x614e98;try{_0x614e98=await pollDeviceToken(_0x40bcb7,_0x6980ca,_0x39663['signal']);}finally{process[_0x4fc305(0x13c)](_0x4fc305(0x132),_0x276cf5);}if(!ACCESS_KEY_PATTERN['test'](_0x614e98))throw CliErrors['apiError'](_0x4fc305(0x15a));const _0x1a8e38=readScopedConfig(_0x13475a);return _0x1a8e38[_0x4fc305(0x14c)]=_0x614e98,writeScopedConfig(_0x1a8e38,_0x13475a),deleteStoredDeviceCode(),process[_0x4fc305(0x139)][_0x4fc305(0x11b)]('\x0a'),writeCliSideChannelLine(_0x4fc305(0x126)+_0x2a1af2+_0x4fc305(0x11d)),writeCliSideChannelLine(_0x4fc305(0x131)+CLI_BIN_NAME+_0x4fc305(0x123)),{'ok':!![],'message':_0x4fc305(0x14a)};}};
|
|
1
|
+
const a11_0x35761e=a11_0x12e9;(function(_0x4138fd,_0x301184){const _0x5718fa=a11_0x12e9,_0xa6c990=_0x4138fd();while(!![]){try{const _0x4a89c8=-parseInt(_0x5718fa(0xa2))/0x1+parseInt(_0x5718fa(0xc4))/0x2*(-parseInt(_0x5718fa(0xcd))/0x3)+-parseInt(_0x5718fa(0xd8))/0x4+parseInt(_0x5718fa(0xda))/0x5*(-parseInt(_0x5718fa(0xc3))/0x6)+-parseInt(_0x5718fa(0x98))/0x7+-parseInt(_0x5718fa(0xa7))/0x8+parseInt(_0x5718fa(0xcf))/0x9;if(_0x4a89c8===_0x301184)break;else _0xa6c990['push'](_0xa6c990['shift']());}catch(_0x39a846){_0xa6c990['push'](_0xa6c990['shift']());}}}(a11_0x42d5,0xca82b));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';function a11_0x12e9(_0x48f803,_0x41d189){_0x48f803=_0x48f803-0x91;const _0x42d571=a11_0x42d5();let _0x12e9bf=_0x42d571[_0x48f803];return _0x12e9bf;}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(_0x85d42b){const _0x539f6f=a11_0x12e9;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x85d42b[_0x539f6f(0xdd)](_0x539f6f(0xa4)),'explicitProject':_0x85d42b[_0x539f6f(0xdd)]('project'),'policy':_0x539f6f(0xcb)}));}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 _0x54095b=a11_0x12e9;return crypto[_0x54095b(0xb3)]();}export function buildDeviceAuthUrl(_0x103b90,_0x1feb83,_0x1460f5=a11_0x35761e(0xbd)){const _0x4241f0=a11_0x35761e;return _0x103b90+_0x4241f0(0xc6)+encodeURIComponent(_0x1feb83)+_0x4241f0(0xca)+encodeURIComponent(_0x1460f5);}export function getDeviceCodePath(){const _0x511c04=a11_0x35761e;return homedir()+'/'+PRODUCT_CONFIG[_0x511c04(0x93)]+_0x511c04(0xbf);}function a11_0x42d5(){const _0x22388a=['将启动设备码授权流程;授权成功后会把获取到的\x20AccessKey\x20保存到所选\x20Lovrabet\x20配置。确认界面不会显示设备码或密钥。','bool','device','Device\x20auth\x20API\x20returned\x20HTTP\x20','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','str','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','expired','removeListener','homeDirName','\x20config.','Device\x20authorization\x20cancelled.','data','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','7838565OdtYIP','source','json','url-only','stringify','通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','validation','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','SIGINT','nonInteractive','179545miiyVZ','AccessKey\x20saved\x20to\x20','global','cancelled','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','841456tBkATX','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','aborted','toISOString','code','accessKey','networkError','stderr','test','AbortError','padStart','utf8','randomUUID','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','trim','status','\x0dWaiting\x20for\x20authorization...\x20','Device\x20auth\x20API\x20error\x20(','apiError','Verify:\x20','signal','POST','lovrabet-cli','Invalid\x20device\x20auth\x20response','/.device-auth','string','success','Write\x20to\x20project\x20config','708666QyjvwQ','158734HBsAsG','Device\x20authorization\x20successful.','/device-auth?code=','\x20auth\x20status','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','boolean','&source=','global-default','/api/device-auth/token','39FfDmTw','access_key','55910673zbGEtE','project','object','Invalid\x20access_key\x20returned\x20by\x20server.','scope','Write\x20to\x20global\x20config\x20(default)','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','floor','name','5171868vjUQah','abort','70LzYpad','createdAt'];a11_0x42d5=function(){return _0x22388a;};return a11_0x42d5();}export function readStoredDeviceCode(){const _0x28536e=a11_0x35761e,_0x12a288=getDeviceCodePath();if(!existsSync(_0x12a288))return null;try{const _0x29c26f=readFileSync(_0x12a288,{'encoding':_0x28536e(0xb2)}),_0x56726c=JSON['parse'](_0x29c26f);if(_0x56726c&&typeof _0x56726c[_0x28536e(0xab)]===_0x28536e(0xc0)&&typeof _0x56726c['createdAt']===_0x28536e(0xc0)&&(_0x56726c[_0x28536e(0xd3)]==='global'||_0x56726c[_0x28536e(0xd3)]===_0x28536e(0xd0)))return _0x56726c;}catch{}return null;}export function writeStoredDeviceCode(_0x3aa1fc,_0x132b04){const _0x2e9d64=a11_0x35761e,_0x32f0ad=getDeviceCodePath(),_0x438e98=dirname(_0x32f0ad);!existsSync(_0x438e98)&&mkdirSync(_0x438e98,{'recursive':!![]});const _0x41abfc={'code':_0x3aa1fc,'createdAt':new Date()[_0x2e9d64(0xaa)](),'scope':_0x132b04};writeFileSync(_0x32f0ad,JSON[_0x2e9d64(0x9c)](_0x41abfc),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x14cbf3=getDeviceCodePath();try{unlinkSync(_0x14cbf3);}catch{}}export function isStoredDeviceCodeExpired(_0x7f9886){const _0x39bc1e=a11_0x35761e;return Date['now']()-new Date(_0x7f9886[_0x39bc1e(0xdb)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x50aee9,_0x4947a6){const _0x5e8dbd=a11_0x35761e,_0x27e8f1=_0x50aee9+_0x5e8dbd(0xcc),_0xb1caca=new AbortController(),_0x2d13e3=setTimeout(()=>_0xb1caca[_0x5e8dbd(0xd9)](),0x2710),_0x13b4be=await fetch(_0x27e8f1,{'method':_0x5e8dbd(0xbc),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5e8dbd(0x9c)]({'code':_0x4947a6}),'signal':_0xb1caca[_0x5e8dbd(0xbb)]});clearTimeout(_0x2d13e3);if(!_0x13b4be['ok'])throw CliErrors['networkError'](_0x5e8dbd(0xdf)+_0x13b4be[_0x5e8dbd(0xb6)]);const _0x464048=await _0x13b4be[_0x5e8dbd(0x9a)](),_0x2a26d6=_0x464048[_0x5e8dbd(0x96)]&&typeof _0x464048[_0x5e8dbd(0x96)]===_0x5e8dbd(0xd1)?_0x464048[_0x5e8dbd(0x96)]:_0x464048;if(!_0x2a26d6||typeof _0x2a26d6['status']!==_0x5e8dbd(0xc0))throw CliErrors[_0x5e8dbd(0xb9)](_0x5e8dbd(0xbe));return{'status':_0x2a26d6[_0x5e8dbd(0xb6)],'access_key':typeof _0x2a26d6[_0x5e8dbd(0xce)]===_0x5e8dbd(0xc0)?_0x2a26d6['access_key']:undefined};}export async function pollDeviceToken(_0x2c02c9,_0x28e839,_0x448477){const _0x2b006b=a11_0x35761e;let _0x2d9b8e=0x0;for(let _0x4ee41d=0x0;_0x4ee41d<MAX_POLLS;_0x4ee41d++){if(_0x448477[_0x2b006b(0xa9)])throw CliErrors[_0x2b006b(0xa5)](_0x2b006b(0x95));let _0x52ac8b;try{_0x52ac8b=await fetchDeviceToken(_0x2c02c9,_0x28e839);}catch(_0x1ae196){if(_0x1ae196 instanceof Error&&_0x1ae196[_0x2b006b(0xd7)]===_0x2b006b(0xb0))throw CliErrors[_0x2b006b(0xa5)](_0x2b006b(0x95));_0x2d9b8e++;if(_0x2d9b8e>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x2b006b(0xad)](_0x2b006b(0xa6));writeCliSideChannelLine(_0x2b006b(0xb8)+_0x2d9b8e+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x2d9b8e=0x0;if(_0x52ac8b[_0x2b006b(0xb6)]===_0x2b006b(0xc1)){if(!_0x52ac8b[_0x2b006b(0xce)])throw CliErrors[_0x2b006b(0xb9)](_0x2b006b(0xd2));return _0x52ac8b[_0x2b006b(0xce)];}if(_0x52ac8b['status']===_0x2b006b(0x91)){deleteStoredDeviceCode();throw CliErrors[_0x2b006b(0x9e)](_0x2b006b(0xc8));}const _0x52f208=(_0x4ee41d+0x1)*POLL_INTERVAL_MS,_0x4e586b=DEVICE_CODE_TTL_MS-_0x52f208,_0x2977d4=Math[_0x2b006b(0xd6)](_0x4e586b/0xea60),_0x311b61=Math[_0x2b006b(0xd6)](_0x4e586b%0xea60/0x3e8);process[_0x2b006b(0xae)]['write'](_0x2b006b(0xb7)+_0x2977d4+':'+String(_0x311b61)[_0x2b006b(0xb1)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation']('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x553268){return new Promise(_0x119058=>setTimeout(_0x119058,_0x553268));}export const authDeviceDefinition={'service':'auth','command':a11_0x35761e(0xde),'description':a11_0x35761e(0x9d),'risk':'write','confirmationDescription':a11_0x35761e(0xdc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':'boolean','description':a11_0x35761e(0xd4),'default':!![]},{'name':a11_0x35761e(0xd0),'type':'boolean','description':a11_0x35761e(0xc2),'default':![]},{'name':'source','type':a11_0x35761e(0xc0),'description':a11_0x35761e(0xe2),'default':a11_0x35761e(0xbd)},{'name':a11_0x35761e(0x9b),'type':a11_0x35761e(0xc9),'description':a11_0x35761e(0x9f),'default':![]}],async 'execute'(_0x234fa4){const _0x108bd9=a11_0x35761e,_0xaec553=resolveAuthScopeFlags(_0x234fa4),_0x331f10=_0xaec553[_0x108bd9(0xa4)]?_0x108bd9(0xa4):'project',_0x84d756=readScopedConfig(_0xaec553);if(_0x84d756['accessKey'])return{'ok':!![],'message':_0x108bd9(0xe0)};const _0x4ce1e7=(_0x234fa4[_0x108bd9(0xe1)](_0x108bd9(0x99))||'lovrabet-cli')[_0x108bd9(0xb5)](),_0x26aabe=getUserDomain(),_0x28361d=readStoredDeviceCode(),_0xfeef7e=_0x28361d&&!isStoredDeviceCodeExpired(_0x28361d)?_0x28361d[_0x108bd9(0xab)]:((()=>{const _0x676183=generateDeviceCode();return writeStoredDeviceCode(_0x676183,_0x331f10),_0x676183;})()),_0x3f32c8=buildDeviceAuthUrl(_0x26aabe,_0xfeef7e,_0x4ce1e7);if(_0x234fa4[_0x108bd9(0xdd)](_0x108bd9(0x9b)))return console['log'](_0x3f32c8),{'ok':!![]};writeCliSideChannelLine(_0x108bd9(0xd5)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3f32c8),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x108bd9(0xa8));if(_0x234fa4[_0x108bd9(0xa1)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x108bd9(0xb4)};writeCliSideChannelLine(_0x108bd9(0x97));const _0x436c2b=new AbortController(),_0x41a805=()=>{const _0x3e8255=_0x108bd9;_0x436c2b['abort'](),process['removeListener'](_0x3e8255(0xa0),_0x41a805);};process['once'](_0x108bd9(0xa0),_0x41a805);let _0x5c5370;try{_0x5c5370=await pollDeviceToken(_0x26aabe,_0xfeef7e,_0x436c2b['signal']);}finally{process[_0x108bd9(0x92)]('SIGINT',_0x41a805);}if(!ACCESS_KEY_PATTERN[_0x108bd9(0xaf)](_0x5c5370))throw CliErrors[_0x108bd9(0xb9)](_0x108bd9(0xd2));const _0x1c562c=readScopedConfig(_0xaec553);return _0x1c562c[_0x108bd9(0xac)]=_0x5c5370,writeScopedConfig(_0x1c562c,_0xaec553),deleteStoredDeviceCode(),process[_0x108bd9(0xae)]['write']('\x0a'),writeCliSideChannelLine(_0x108bd9(0xa3)+_0x331f10+_0x108bd9(0x94)),writeCliSideChannelLine(_0x108bd9(0xba)+CLI_BIN_NAME+_0x108bd9(0xc7)),{'ok':!![],'message':_0x108bd9(0xc5)};}};
|