@lovrabet/lovrabet-cli 2.1.22-beta.2 → 2.1.22-beta.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/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/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
(function(_0x1d5353,_0x2b6e21){const _0x5c3d3a=a0_0x13d2,_0x14ce51=_0x1d5353();while(!![]){try{const _0x4d096a=-parseInt(_0x5c3d3a(0x8a))/0x1+-parseInt(_0x5c3d3a(0x9b))/0x2+parseInt(_0x5c3d3a(0x8c))/0x3+parseInt(_0x5c3d3a(0x9d))/0x4+parseInt(_0x5c3d3a(0xa7))/0x5+-parseInt(_0x5c3d3a(0x88))/0x6+-parseInt(_0x5c3d3a(0x96))/0x7;if(_0x4d096a===_0x2b6e21)break;else _0x14ce51['push'](_0x14ce51['shift']());}catch(_0x4d4629){_0x14ce51['push'](_0x14ce51['shift']());}}}(a0_0x47d1,0x9faac));function a0_0x13d2(_0x4e3175,_0x2e493b){_0x4e3175=_0x4e3175-0x86;const _0x47d19b=a0_0x47d1();let _0x13d218=_0x47d19b[_0x4e3175];return _0x13d218;}function a0_0x47d1(){const _0x5eb4e2=['flatMap','original','code','args','ERR_USE_AFTER_CLOSE','./framework/preparse.js','5510351xLeSiO','corrected','flags','length','stderr','920442MJZgXu','assign','4947608OxYPzq','help','defaultCommand','error',':\x20--','write','log','exit','Unexpected\x20error:','exitCode','3362590FiIPwA','hint','cancelled','name','slice','input','definition','3923616YnuhdX','ExitPromptError','263218TWTYbI','ERR_STREAM_DESTROYED','2727432ghbXpm','Error:\x20','\x0aCancelled.\x0a','Hint:\x20'];a0_0x47d1=function(){return _0x5eb4e2;};return a0_0x47d1();}import{jsx as a0_0x21bf8c}from'react/jsx-runtime';import a0_0x37bbd2 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x37bbd2(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x2adc3e){handleError(_0x2adc3e);}}async function run(){const _0x4f9c9b=a0_0x13d2;let _0x2509f9=cli[_0x4f9c9b(0x86)][0x0],_0x562eef=cli[_0x4f9c9b(0x86)][0x1];const _0x4727f4=cli[_0x4f9c9b(0x98)];try{const {correctFlags:_0x223a77}=await import(_0x4f9c9b(0x95)),_0x2cf6d9=getAllDefinitions()[_0x4f9c9b(0x90)](_0x1c19fd=>_0x1c19fd[_0x4f9c9b(0x98)]??[]),{flags:_0x4a522e,corrections:_0x27922d}=_0x223a77(_0x4727f4,_0x2cf6d9);if(_0x27922d[_0x4f9c9b(0x99)]>0x0){for(const _0x51fc6d of _0x27922d){process[_0x4f9c9b(0x9a)][_0x4f9c9b(0xa2)]('[preparse]\x20'+_0x51fc6d['handler']+_0x4f9c9b(0xa1)+_0x51fc6d[_0x4f9c9b(0x91)]+'\x20->\x20--'+_0x51fc6d[_0x4f9c9b(0x97)]+'\x0a');}Object[_0x4f9c9b(0x9c)](_0x4727f4,_0x4a522e);}}catch{}if(!_0x2509f9){const {waitUntilExit:_0x38b988}=render(a0_0x21bf8c(Help,{}));await _0x38b988();return;}if(!isKnownService(_0x2509f9)){const _0x5075f5=resolveDynamicServiceCommand(cli['input'],_0x4727f4);if(_0x5075f5){if(_0x4727f4['help']){console[_0x4f9c9b(0xa3)](generateCommandHelp(_0x5075f5['definition']));return;}Object['assign'](_0x4727f4,_0x5075f5[_0x4f9c9b(0x98)]);const _0x16f10d=buildConfigFromFlags(_0x4727f4);await initGlobalEnvironment(_0x16f10d);const _0xd7fbc8=createPipelineEnv(_0x16f10d,_0x4727f4);_0xd7fbc8[_0x4f9c9b(0x93)]=_0x5075f5['args'],await runCommand(_0x5075f5[_0x4f9c9b(0x87)],_0xd7fbc8);return;}if(_0x4727f4[_0x4f9c9b(0x9e)]){const _0x19a099=generateDynamicServiceHelp(_0x2509f9);if(_0x19a099){console['log'](_0x19a099);return;}}const {waitUntilExit:_0x586921}=render(a0_0x21bf8c(Help,{}));await _0x586921();return;}const _0x368f6f=getServiceEntry(_0x2509f9);if(!_0x562eef){if(_0x4727f4[_0x4f9c9b(0x9e)]){console[_0x4f9c9b(0xa3)](generateServiceHelp(_0x2509f9));return;}if(_0x368f6f[_0x4f9c9b(0x9f)])_0x562eef=_0x368f6f[_0x4f9c9b(0x9f)];else{console[_0x4f9c9b(0xa3)](generateServiceHelp(_0x2509f9));return;}}const _0x2e0bb9=findDefinition(_0x2509f9,_0x562eef);!_0x2e0bb9&&(console[_0x4f9c9b(0xa3)](generateServiceHelp(_0x2509f9)),handleError(CliErrors['unknownCommand'](_0x2509f9+'\x20'+_0x562eef)));if(_0x4727f4['help']){console['log'](generateCommandHelp(_0x2e0bb9));return;}const _0x4c48b1=buildConfigFromFlags(_0x4727f4);await initGlobalEnvironment(_0x4c48b1);const _0x3ae165=createPipelineEnv(_0x4c48b1,_0x4727f4);_0x3ae165[_0x4f9c9b(0x93)]=cli[_0x4f9c9b(0x86)][_0x4f9c9b(0xab)](0x2),await runCommand(_0x2e0bb9,_0x3ae165);}function handleError(_0x91016d){const _0x4d839c=a0_0x13d2;if(_0x91016d instanceof CliError){_0x91016d['code']===_0x4d839c(0xa9)&&(process[_0x4d839c(0x9a)][_0x4d839c(0xa2)](_0x4d839c(0x8e)),process[_0x4d839c(0xa4)](0x0));console[_0x4d839c(0xa0)](_0x4d839c(0x8d)+_0x91016d['message']);if(_0x91016d[_0x4d839c(0xa8)])console[_0x4d839c(0xa0)](_0x4d839c(0x8f)+_0x91016d[_0x4d839c(0xa8)]);process[_0x4d839c(0xa4)](_0x91016d[_0x4d839c(0xa6)]);}isUserCancellation(_0x91016d)&&(process[_0x4d839c(0x9a)]['write'](_0x4d839c(0x8e)),process[_0x4d839c(0xa4)](0x0)),console[_0x4d839c(0xa0)](_0x4d839c(0xa5),_0x91016d),process[_0x4d839c(0xa4)](0x1);}function isUserCancellation(_0x5af7d2){const _0x360046=a0_0x13d2;if(!(_0x5af7d2 instanceof Error))return![];if(_0x5af7d2[_0x360046(0xaa)]===_0x360046(0x89))return!![];if(_0x5af7d2[_0x360046(0x92)]===_0x360046(0x94))return!![];if(_0x5af7d2[_0x360046(0x92)]===_0x360046(0x8b))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x23a953=a1_0x1e85;(function(_0xae1183,_0x324443){const _0x18206b=a1_0x1e85,_0x40c91c=_0xae1183();while(!![]){try{const _0x471354=parseInt(_0x18206b(0x19a))/0x1+parseInt(_0x18206b(0x1be))/0x2*(parseInt(_0x18206b(0x174))/0x3)+parseInt(_0x18206b(0x197))/0x4*(-parseInt(_0x18206b(0x1ba))/0x5)+-parseInt(_0x18206b(0x183))/0x6+parseInt(_0x18206b(0x1b9))/0x7+parseInt(_0x18206b(0x152))/0x8*(parseInt(_0x18206b(0x146))/0x9)+parseInt(_0x18206b(0x149))/0xa;if(_0x471354===_0x324443)break;else _0x40c91c['push'](_0x40c91c['shift']());}catch(_0x5e3824){_0x40c91c['push'](_0x40c91c['shift']());}}}(a1_0x55ce,0xb9a07));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x23a953(0x14d),'type':a1_0x23a953(0x147),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x23a953(0x16c),'type':a1_0x23a953(0x147),'description':a1_0x23a953(0x173)},DOC_CODE_FLAG={'name':'code','type':a1_0x23a953(0x147),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':a1_0x23a953(0x180),'category':a1_0x23a953(0x1bd),'title':a1_0x23a953(0x160),'method':a1_0x23a953(0x176),'path':a1_0x23a953(0x15d),'summary':a1_0x23a953(0x16e),'whenToUse':a1_0x23a953(0x1a3),'pathParams':[],'queryParams':[],'bodySchema':a1_0x23a953(0x188),'responseHighlights':[a1_0x23a953(0x1a1),a1_0x23a953(0x181)],'examples':[a1_0x23a953(0x145)],'notes':[a1_0x23a953(0x144)],'markdown':[a1_0x23a953(0x165),'',a1_0x23a953(0x1b2)][a1_0x23a953(0x18b)]('\x0a')},{'code':'dataset_detail','category':a1_0x23a953(0x1bd),'title':a1_0x23a953(0x172),'method':a1_0x23a953(0x1b3),'path':a1_0x23a953(0x1a8),'summary':'获取数据集详情','whenToUse':a1_0x23a953(0x157),'pathParams':[],'queryParams':[{'name':'code','description':a1_0x23a953(0x175)}],'bodySchema':a1_0x23a953(0x18c),'responseHighlights':[a1_0x23a953(0x1b8),a1_0x23a953(0x178),a1_0x23a953(0x1b4)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x23a953(0x151)],'markdown':[a1_0x23a953(0x18d),'',a1_0x23a953(0x155)][a1_0x23a953(0x18b)]('\x0a')},{'code':a1_0x23a953(0x142),'category':a1_0x23a953(0x1bd),'title':a1_0x23a953(0x19d),'method':a1_0x23a953(0x176),'path':a1_0x23a953(0x189),'summary':a1_0x23a953(0x1a0),'whenToUse':a1_0x23a953(0x192),'pathParams':[{'name':'appCode','description':a1_0x23a953(0x186)},{'name':a1_0x23a953(0x1b1),'description':a1_0x23a953(0x175)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x23a953(0x194),a1_0x23a953(0x18f)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x23a953(0x16b)],'notes':[a1_0x23a953(0x1a5),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x23a953(0x1ad)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x23a953(0x161)][a1_0x23a953(0x18b)]('\x0a')},{'code':'dataset_data_aggregate','category':'dataset','title':a1_0x23a953(0x198),'method':a1_0x23a953(0x176),'path':a1_0x23a953(0x1a9),'summary':a1_0x23a953(0x15e),'whenToUse':a1_0x23a953(0x16d),'pathParams':[{'name':a1_0x23a953(0x158),'description':a1_0x23a953(0x186)},{'name':a1_0x23a953(0x1b1),'description':a1_0x23a953(0x175)}],'queryParams':[],'bodySchema':a1_0x23a953(0x19e),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x23a953(0x162)],'examples':[a1_0x23a953(0x14f)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x23a953(0x184)],'markdown':[a1_0x23a953(0x1ab),'',a1_0x23a953(0x195)][a1_0x23a953(0x18b)]('\x0a')},{'code':a1_0x23a953(0x16a),'category':a1_0x23a953(0x1bd),'title':a1_0x23a953(0x1ac),'method':a1_0x23a953(0x176),'path':a1_0x23a953(0x1a6),'summary':a1_0x23a953(0x18a),'whenToUse':a1_0x23a953(0x185),'pathParams':[{'name':a1_0x23a953(0x158),'description':a1_0x23a953(0x186)},{'name':a1_0x23a953(0x1b1),'description':a1_0x23a953(0x175)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x23a953(0x1b6)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x23a953(0x156),'category':'dataset','title':'Create\x20dataset\x20record','method':a1_0x23a953(0x176),'path':a1_0x23a953(0x19c),'summary':a1_0x23a953(0x182),'whenToUse':'需要向指定数据集新增一条业务数据时使用','pathParams':[{'name':a1_0x23a953(0x158),'description':a1_0x23a953(0x186)},{'name':'datasetCode','description':a1_0x23a953(0x175)}],'queryParams':[],'bodySchema':a1_0x23a953(0x170),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x23a953(0x1b5)],'markdown':a1_0x23a953(0x187)},{'code':a1_0x23a953(0x17d),'category':'bf','title':a1_0x23a953(0x19f),'method':a1_0x23a953(0x1b3),'path':a1_0x23a953(0x1af),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x23a953(0x14c),'pathParams':[{'name':a1_0x23a953(0x158),'description':a1_0x23a953(0x186)},{'name':a1_0x23a953(0x1bc),'description':a1_0x23a953(0x190)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x23a953(0x1b7)],'examples':[a1_0x23a953(0x1a4)],'notes':[a1_0x23a953(0x14a)],'markdown':a1_0x23a953(0x18e)},{'code':a1_0x23a953(0x193),'category':'bf','title':a1_0x23a953(0x15a),'method':a1_0x23a953(0x176),'path':a1_0x23a953(0x199),'summary':a1_0x23a953(0x1a2),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':'appCode','description':a1_0x23a953(0x186)},{'name':a1_0x23a953(0x1bc),'description':a1_0x23a953(0x16f)}],'queryParams':[],'bodySchema':a1_0x23a953(0x19b),'responseHighlights':[a1_0x23a953(0x15f)],'examples':[a1_0x23a953(0x1b0)],'notes':[a1_0x23a953(0x14e)],'markdown':a1_0x23a953(0x167)},{'code':a1_0x23a953(0x150),'category':a1_0x23a953(0x159),'title':'Execute\x20custom\x20SQL','method':a1_0x23a953(0x176),'path':a1_0x23a953(0x179),'summary':a1_0x23a953(0x154),'whenToUse':a1_0x23a953(0x1a7),'pathParams':[],'queryParams':[],'bodySchema':a1_0x23a953(0x148),'responseHighlights':[a1_0x23a953(0x163)],'examples':[a1_0x23a953(0x15b)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x23a953(0x17a)}];function a1_0x55ce(){const _0x4eba63=['##\x20Aggregate\x20dataset\x20data','Get\x20one\x20dataset\x20record','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','map','/client/bff/endpoint/{appCode}/{functionName}','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','datasetCode','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','GET','operations\x20describes\x20runtime\x20APIs','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Returns\x20one\x20matching\x20business\x20record','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','fields/properties\x20describe\x20data\x20shape','3577455JQSGDQ','1194295FFbOSL','path','functionName','dataset','945866mwJDhJ','dataset_data_filter','validation','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','16749EfTJxy','string','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','571130KvWPpL','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','code','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','category','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','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','custom_sql_execute','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','72wJfHex','includes','执行自定义\x20SQL','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','dataset_data_create','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','appCode','custom_sql','Execute\x20BF\x20endpoint\x20function','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','title','/api/dataset/get-dataset-list-by-app-code','聚合查询数据集数据','Returns\x20script\x20business\x20payload','List\x20datasets','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','where\x20filters\x20before\x20aggregation','Returns\x20SQL\x20execution\x20payload','list','##\x20List\x20datasets','whenToUse','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','length','summary','dataset_data_get_one','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','keyword','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','分页获取数据集列表','Endpoint\x20function\x20name','{\x22fieldName\x22:\x22value\x22}','Show\x20runtime\x20API\x20documentation\x20by\x20code','Dataset\x20detail','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','6JXoNnP','32-character\x20dataset\x20code','POST','method','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','/api/custom/executeSql','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','read','toLowerCase','bf_detail','API\x20doc\x20code\x20not\x20found:\x20','find','dataset_list','paging.totalCount\x20gives\x20total\x20rows','创建数据','6554034miqCFK','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','Current\x20app\x20code','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','/api/{appCode}/{datasetCode}/filter','查询单条数据','join','None','##\x20Dataset\x20detail','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','paging\x20contains\x20pagination','Exact\x20endpoint\x20function\x20name','api-doc','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','bf_execute','tableData\x20contains\x20records','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','detail','20XrCWif','Aggregate\x20dataset\x20data','/api/endpoint/{appCode}/{functionName}','1516168iqbvNK','{\x22param\x22:\x22value\x22}','/api/{appCode}/{datasetCode}/create','Filter\x20dataset\x20data','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Get\x20BF\x20endpoint\x20function\x20contract','条件过滤查询数据','tableData\x20contains\x20dataset\x20id/code/name','执行指定\x20BF\x20函数','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','/api/{appCode}/{datasetCode}/getOne','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','/api/dataset/getOneByCode?code={datasetCode}','/api/{appCode}/{datasetCode}/aggregate','filter'];a1_0x55ce=function(){return _0x4eba63;};return a1_0x55ce();}function entrySummary(_0x2d9b57){const _0x4c36f5=a1_0x23a953;return{'code':_0x2d9b57[_0x4c36f5(0x14b)],'category':_0x2d9b57[_0x4c36f5(0x14d)],'method':_0x2d9b57[_0x4c36f5(0x177)],'path':_0x2d9b57[_0x4c36f5(0x1bb)],'summary':_0x2d9b57['summary'],'whenToUse':_0x2d9b57[_0x4c36f5(0x166)]};}function a1_0x1e85(_0x4ebfab,_0x3e6602){_0x4ebfab=_0x4ebfab-0x142;const _0x55ce35=a1_0x55ce();let _0x1e85e7=_0x55ce35[_0x4ebfab];return _0x1e85e7;}export function listApiDocEntries(_0x581729={}){const _0x2097df=a1_0x23a953,_0x3da187=String(_0x581729[_0x2097df(0x14d)]||'')['trim'](),_0x351a9f=String(_0x581729[_0x2097df(0x16c)]||'')['trim']()['toLowerCase']();return DOCS[_0x2097df(0x1aa)](_0x37c953=>{const _0x3a45e2=_0x2097df;if(_0x3da187&&_0x37c953[_0x3a45e2(0x14d)]!==_0x3da187)return![];if(!_0x351a9f)return!![];return[_0x37c953[_0x3a45e2(0x14b)],_0x37c953[_0x3a45e2(0x14d)],_0x37c953[_0x3a45e2(0x177)],_0x37c953[_0x3a45e2(0x1bb)],_0x37c953[_0x3a45e2(0x169)],_0x37c953['whenToUse'],_0x37c953[_0x3a45e2(0x15c)]][_0x3a45e2(0x18b)]('\x20')[_0x3a45e2(0x17c)]()[_0x3a45e2(0x153)](_0x351a9f);})[_0x2097df(0x1ae)](entrySummary);}export function getApiDocDetail(_0x47749c){const _0x53c1d8=a1_0x23a953,_0x33e39a=DOCS[_0x53c1d8(0x17f)](_0x156611=>_0x156611[_0x53c1d8(0x14b)]===_0x47749c);if(!_0x33e39a)throw CliErrors[_0x53c1d8(0x143)](_0x53c1d8(0x17e)+_0x47749c);return{..._0x33e39a};}const apiDocList={'service':a1_0x23a953(0x191),'command':a1_0x23a953(0x164),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x4b0984){const _0x3786d4=a1_0x23a953,_0x53a311=listApiDocEntries({'category':_0x4b0984['str'](_0x3786d4(0x14d)),'keyword':_0x4b0984['str']('keyword')});return{'ok':!![],'data':{'total':_0x53a311[_0x3786d4(0x168)],'items':_0x53a311}};}},apiDocDetail={'service':'api-doc','command':a1_0x23a953(0x196),'description':a1_0x23a953(0x171),'risk':a1_0x23a953(0x17b),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x322b39){const _0x339fd4=a1_0x23a953;return{'ok':!![],'data':getApiDocDetail(_0x322b39['str'](_0x339fd4(0x14b)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x4e5c9b=a1_0x3e7c;(function(_0x634101,_0x67b6c7){const _0x2f5c90=a1_0x3e7c,_0x22d52a=_0x634101();while(!![]){try{const _0xf588b1=-parseInt(_0x2f5c90(0x18f))/0x1+-parseInt(_0x2f5c90(0x1a4))/0x2+parseInt(_0x2f5c90(0x14e))/0x3*(-parseInt(_0x2f5c90(0x141))/0x4)+parseInt(_0x2f5c90(0x133))/0x5*(-parseInt(_0x2f5c90(0x1a5))/0x6)+parseInt(_0x2f5c90(0x16b))/0x7+parseInt(_0x2f5c90(0x136))/0x8+parseInt(_0x2f5c90(0x186))/0x9*(parseInt(_0x2f5c90(0x195))/0xa);if(_0xf588b1===_0x67b6c7)break;else _0x22d52a['push'](_0x22d52a['shift']());}catch(_0x51632c){_0x22d52a['push'](_0x22d52a['shift']());}}}(a1_0x5400,0x8331e));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x4e5c9b(0x181),'type':a1_0x4e5c9b(0x14b),'description':a1_0x4e5c9b(0x13d)},KEYWORD_FLAG={'name':a1_0x4e5c9b(0x1a6),'type':a1_0x4e5c9b(0x14b),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x4e5c9b(0x16e),'type':a1_0x4e5c9b(0x14b),'required':!![],'description':a1_0x4e5c9b(0x13b)},DOCS=[{'code':a1_0x4e5c9b(0x147),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x138),'method':'POST','path':a1_0x4e5c9b(0x197),'summary':a1_0x4e5c9b(0x19e),'whenToUse':a1_0x4e5c9b(0x13c),'pathParams':[],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x192),'responseHighlights':[a1_0x4e5c9b(0x158),'paging.totalCount\x20gives\x20total\x20rows'],'examples':[a1_0x4e5c9b(0x148)],'notes':[a1_0x4e5c9b(0x172)],'markdown':['##\x20List\x20datasets','',a1_0x4e5c9b(0x198)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x160),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x19f),'method':a1_0x4e5c9b(0x13e),'path':a1_0x4e5c9b(0x196),'summary':a1_0x4e5c9b(0x17d),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':a1_0x4e5c9b(0x16e),'description':a1_0x4e5c9b(0x177)}],'bodySchema':'None','responseHighlights':[a1_0x4e5c9b(0x137),a1_0x4e5c9b(0x170),a1_0x4e5c9b(0x184)],'examples':[a1_0x4e5c9b(0x19b)],'notes':[a1_0x4e5c9b(0x134)],'markdown':[a1_0x4e5c9b(0x139),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x4e5c9b(0x146)]('\x0a')},{'code':'dataset_data_filter','category':a1_0x4e5c9b(0x1a8),'title':'Filter\x20dataset\x20data','method':'POST','path':a1_0x4e5c9b(0x13a),'summary':a1_0x4e5c9b(0x16a),'whenToUse':a1_0x4e5c9b(0x163),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':'Current\x20app\x20code'},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x13f),'responseHighlights':[a1_0x4e5c9b(0x161),'paging\x20contains\x20pagination'],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x4e5c9b(0x155)],'notes':[a1_0x4e5c9b(0x153),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x4e5c9b(0x15d),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x4e5c9b(0x149),'',a1_0x4e5c9b(0x18d)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x183),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x178),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x17b),'summary':a1_0x4e5c9b(0x194),'whenToUse':a1_0x4e5c9b(0x189),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x1ac),'responseHighlights':[a1_0x4e5c9b(0x17f),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x4e5c9b(0x166)],'notes':[a1_0x4e5c9b(0x18e),a1_0x4e5c9b(0x17a)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x4e5c9b(0x179)][a1_0x4e5c9b(0x146)]('\x0a')},{'code':a1_0x4e5c9b(0x159),'category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x182),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x18a),'summary':a1_0x4e5c9b(0x171),'whenToUse':a1_0x4e5c9b(0x169),'pathParams':[{'name':'appCode','description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x135),'description':a1_0x4e5c9b(0x177)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x164),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x4e5c9b(0x14c)],'markdown':a1_0x4e5c9b(0x15e)},{'code':'dataset_data_create','category':a1_0x4e5c9b(0x1a8),'title':a1_0x4e5c9b(0x17e),'method':a1_0x4e5c9b(0x156),'path':a1_0x4e5c9b(0x19a),'summary':a1_0x4e5c9b(0x1a1),'whenToUse':a1_0x4e5c9b(0x142),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':'Current\x20app\x20code'},{'name':a1_0x4e5c9b(0x135),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x16d),'responseHighlights':[a1_0x4e5c9b(0x1a9)],'examples':[a1_0x4e5c9b(0x1a7)],'notes':[a1_0x4e5c9b(0x15a)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x4e5c9b(0x193),'method':a1_0x4e5c9b(0x13e),'path':a1_0x4e5c9b(0x1a2),'summary':a1_0x4e5c9b(0x157),'whenToUse':a1_0x4e5c9b(0x176),'pathParams':[{'name':a1_0x4e5c9b(0x1aa),'description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x15b),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x167),'responseHighlights':[a1_0x4e5c9b(0x17c)],'examples':[a1_0x4e5c9b(0x190)],'notes':[a1_0x4e5c9b(0x15f)],'markdown':a1_0x4e5c9b(0x16f)},{'code':a1_0x4e5c9b(0x15c),'category':'bf','title':a1_0x4e5c9b(0x18c),'method':a1_0x4e5c9b(0x156),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x4e5c9b(0x168),'whenToUse':a1_0x4e5c9b(0x199),'pathParams':[{'name':'appCode','description':a1_0x4e5c9b(0x165)},{'name':a1_0x4e5c9b(0x15b),'description':a1_0x4e5c9b(0x1a0)}],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x175),'responseHighlights':[a1_0x4e5c9b(0x180)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x4e5c9b(0x19d)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x4e5c9b(0x173),'category':a1_0x4e5c9b(0x145),'title':'Execute\x20custom\x20SQL','method':'POST','path':a1_0x4e5c9b(0x14d),'summary':a1_0x4e5c9b(0x191),'whenToUse':'已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','pathParams':[],'queryParams':[],'bodySchema':a1_0x4e5c9b(0x187),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x4e5c9b(0x162)],'notes':[a1_0x4e5c9b(0x16c)],'markdown':a1_0x4e5c9b(0x14a)}];function a1_0x3e7c(_0x3c8184,_0x5685ea){_0x3c8184=_0x3c8184-0x133;const _0x540028=a1_0x5400();let _0x3e7c2a=_0x540028[_0x3c8184];return _0x3e7c2a;}function entrySummary(_0x38aa51){const _0x2e3c58=a1_0x4e5c9b;return{'code':_0x38aa51['code'],'category':_0x38aa51['category'],'method':_0x38aa51[_0x2e3c58(0x1ae)],'path':_0x38aa51[_0x2e3c58(0x14f)],'summary':_0x38aa51[_0x2e3c58(0x174)],'whenToUse':_0x38aa51[_0x2e3c58(0x188)]};}export function listApiDocEntries(_0x5d68de={}){const _0x43f5d9=a1_0x4e5c9b,_0x3742e0=String(_0x5d68de['category']||'')[_0x43f5d9(0x18b)](),_0x130ffa=String(_0x5d68de['keyword']||'')[_0x43f5d9(0x18b)]()['toLowerCase']();return DOCS[_0x43f5d9(0x144)](_0x168638=>{const _0x4986d2=_0x43f5d9;if(_0x3742e0&&_0x168638[_0x4986d2(0x181)]!==_0x3742e0)return![];if(!_0x130ffa)return!![];return[_0x168638[_0x4986d2(0x16e)],_0x168638[_0x4986d2(0x181)],_0x168638[_0x4986d2(0x1ae)],_0x168638['path'],_0x168638['summary'],_0x168638['whenToUse'],_0x168638[_0x4986d2(0x19c)]]['join']('\x20')[_0x4986d2(0x1a3)]()[_0x4986d2(0x1ab)](_0x130ffa);})[_0x43f5d9(0x143)](entrySummary);}export function getApiDocDetail(_0x5867d0){const _0x372c63=a1_0x4e5c9b,_0x3de254=DOCS['find'](_0x376f6f=>_0x376f6f[_0x372c63(0x16e)]===_0x5867d0);if(!_0x3de254)throw CliErrors[_0x372c63(0x151)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x5867d0);return{..._0x3de254};}function a1_0x5400(){const _0x4432f7=['Execute\x20BF\x20endpoint\x20function','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','982653pWMosa','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','执行自定义\x20SQL','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Get\x20BF\x20endpoint\x20function\x20contract','聚合查询数据集数据','1830HLExEQ','/api/dataset/getOneByCode?code={datasetCode}','/api/dataset/get-dataset-list-by-app-code','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','/api/{appCode}/{datasetCode}/create','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','title','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','分页获取数据集列表','Dataset\x20detail','Endpoint\x20function\x20name','创建数据','/client/bff/endpoint/{appCode}/{functionName}','toLowerCase','1024798nLHxym','1164vWgDQR','keyword','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','dataset','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','appCode','includes','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','api-doc','method','8760pKEocd','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','datasetCode','4795840NTkuyz','fields/properties\x20describe\x20data\x20shape','List\x20datasets','##\x20Dataset\x20detail','/api/{appCode}/{datasetCode}/filter','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','GET','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','length','24bSzjJZ','需要向指定数据集新增一条业务数据时使用','map','filter','custom_sql','join','dataset_list','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','##\x20Filter\x20dataset\x20data','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','string','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','/api/custom/executeSql','469737KKpyQD','path','str','validation','read','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','detail','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','POST','按应用和函数名精确获取\x20BF\x20运行契约','tableData\x20contains\x20dataset\x20id/code/name','dataset_data_get_one','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','functionName','bf_execute','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','dataset_detail','tableData\x20contains\x20records','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','{\x22id\x22:123}','Current\x20app\x20code','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','None','执行指定\x20BF\x20函数','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','条件过滤查询数据','927899mmpnhB','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','{\x22fieldName\x22:\x22value\x22}','code','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','查询单条数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','custom_sql_execute','summary','{\x22param\x22:\x22value\x22}','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','32-character\x20dataset\x20code','Aggregate\x20dataset\x20data','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','/api/{appCode}/{datasetCode}/aggregate','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','获取数据集详情','Create\x20dataset\x20record','result\x20rows\x20contain\x20aggregate\x20aliases','Returns\x20script\x20business\x20payload','category','Get\x20one\x20dataset\x20record','dataset_data_aggregate','operations\x20describes\x20runtime\x20APIs','list','126873PtXzDY','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','whenToUse','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','/api/{appCode}/{datasetCode}/getOne','trim'];a1_0x5400=function(){return _0x4432f7;};return a1_0x5400();}const apiDocList={'service':a1_0x4e5c9b(0x1ad),'command':a1_0x4e5c9b(0x185),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xdaa538){const _0x4116a9=a1_0x4e5c9b,_0x2211e0=listApiDocEntries({'category':_0xdaa538['str']('category'),'keyword':_0xdaa538[_0x4116a9(0x150)](_0x4116a9(0x1a6))});return{'ok':!![],'data':{'total':_0x2211e0[_0x4116a9(0x140)],'items':_0x2211e0}};}},apiDocDetail={'service':a1_0x4e5c9b(0x1ad),'command':a1_0x4e5c9b(0x154),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0x4e5c9b(0x152),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x2d9319){const _0x57c6a9=a1_0x4e5c9b;return{'ok':!![],'data':getApiDocDetail(_0x2d9319['str'](_0x57c6a9(0x16e)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1f7db4,_0x165c15){const _0x1e5b53=a2_0x1a3f,_0x33a4bd=_0x1f7db4();while(!![]){try{const _0x3d3924=parseInt(_0x1e5b53(0x90))/0x1*(parseInt(_0x1e5b53(0xa3))/0x2)+parseInt(_0x1e5b53(0x9e))/0x3+-parseInt(_0x1e5b53(0x8d))/0x4+-parseInt(_0x1e5b53(0x8c))/0x5+-parseInt(_0x1e5b53(0x9d))/0x6+-parseInt(_0x1e5b53(0x96))/0x7+-parseInt(_0x1e5b53(0x97))/0x8*(-parseInt(_0x1e5b53(0x92))/0x9);if(_0x3d3924===_0x165c15)break;else _0x33a4bd['push'](_0x33a4bd['shift']());}catch(_0x42e15f){_0x33a4bd['push'](_0x33a4bd['shift']());}}}(a2_0x2ef9,0x1a298));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';function a2_0x2ef9(){const _0x3d46de=['homeDirName','308774OpFRAq','hex','utf8','trim','appName','180470ZLRtit','606504exJjVZ','EACCES','find','1xqSPaO','EXDEV','1413VUIQCp','parse','unknown','code','716786rdMThb','5848glnxCU','ak_','sha256','stringify','items','slice','82404dMtYKd','425574mauFJU','isArray','.tmp','my-apps.json'];a2_0x2ef9=function(){return _0x3d46de;};return a2_0x2ef9();}export function fingerprintAccessKey(_0x3371ae){const _0x19afc5=a2_0x1a3f,_0x2966b9=_0x3371ae[_0x19afc5(0x8a)](),_0x47f480=_0x2966b9[_0x19afc5(0x9c)](-0x6)||_0x19afc5(0x94),_0x1f76bf=createHash(_0x19afc5(0x99))['update'](_0x2966b9)['digest'](_0x19afc5(0x88))[_0x19afc5(0x9c)](0x0,0xc);return _0x19afc5(0x98)+_0x47f480+'_'+_0x1f76bf;}export function getAppCacheFilePath(_0x4d9118,_0x5273f9){const _0x1f85c2=a2_0x1a3f;return resolve(homedir(),PRODUCT_CONFIG[_0x1f85c2(0xa2)],'cache',_0x4d9118,fingerprintAccessKey(_0x5273f9),_0x1f85c2(0xa1));}export function readCachedAppList(_0xe5f32b,_0x20a03a){const _0xa3f66b=a2_0x1a3f;if(!_0x20a03a?.['trim']())return null;const _0x10876d=getAppCacheFilePath(_0xe5f32b,_0x20a03a);if(!existsSync(_0x10876d))return null;try{const _0x1601bd=readFileSync(_0x10876d,_0xa3f66b(0x89));if(!_0x1601bd['trim']())return null;const _0x251be9=JSON[_0xa3f66b(0x93)](_0x1601bd);if(!Array[_0xa3f66b(0x9f)](_0x251be9['items']))return null;return _0x251be9;}catch{return null;}}export function writeCachedAppList(_0xdf48d8,_0x9fbf14,_0xee9824){const _0x2cb497=a2_0x1a3f,_0x44a5d0=getAppCacheFilePath(_0xdf48d8,_0x9fbf14),_0x325030=dirname(_0x44a5d0);!existsSync(_0x325030)&&mkdirSync(_0x325030,{'recursive':!![]});const _0x87bdd9=_0x44a5d0+_0x2cb497(0xa0);try{writeFileSync(_0x87bdd9,JSON[_0x2cb497(0x9a)](_0xee9824,null,0x2)+'\x0a',{'encoding':_0x2cb497(0x89),'mode':0x180});try{renameSync(_0x87bdd9,_0x44a5d0);}catch(_0x132dd6){if(_0x132dd6[_0x2cb497(0x95)]==='EPERM'||_0x132dd6[_0x2cb497(0x95)]===_0x2cb497(0x91)||_0x132dd6['code']===_0x2cb497(0x8e)){writeFileSync(_0x44a5d0,JSON[_0x2cb497(0x9a)](_0xee9824,null,0x2)+'\x0a',{'encoding':_0x2cb497(0x89)});try{unlinkSync(_0x87bdd9);}catch{}}else throw _0x132dd6;}}catch(_0x21d0dc){try{unlinkSync(_0x87bdd9);}catch{}throw _0x21d0dc;}return _0x44a5d0;}function a2_0x1a3f(_0x50468c,_0x7b82ad){_0x50468c=_0x50468c-0x88;const _0x2ef983=a2_0x2ef9();let _0x1a3fb8=_0x2ef983[_0x50468c];return _0x1a3fb8;}export function resolveCachedAppCode(_0x2580a2,_0x5409e7,_0x285ede){const _0x1770c3=a2_0x1a3f;if(!_0x2580a2)return undefined;const _0x68e887=readCachedAppList(_0x5409e7,_0x285ede),_0x4c952a=_0x68e887?.[_0x1770c3(0x9b)][_0x1770c3(0x8f)](_0x22aae2=>_0x22aae2[_0x1770c3(0x8b)]===_0x2580a2&&isRuntimeAccessibleApp(_0x22aae2));return _0x4c952a?.['appCode']?.[_0x1770c3(0x8a)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x259f41=a3_0x1386;(function(_0x595def,_0x2bbfd2){const _0x264882=a3_0x1386,_0x5d16c6=_0x595def();while(!![]){try{const _0x4fd4d3=parseInt(_0x264882(0x1df))/0x1+parseInt(_0x264882(0x1f4))/0x2*(-parseInt(_0x264882(0x21a))/0x3)+-parseInt(_0x264882(0x210))/0x4+parseInt(_0x264882(0x20c))/0x5*(-parseInt(_0x264882(0x1f1))/0x6)+-parseInt(_0x264882(0x21d))/0x7*(parseInt(_0x264882(0x1e6))/0x8)+-parseInt(_0x264882(0x1da))/0x9+-parseInt(_0x264882(0x216))/0xa*(-parseInt(_0x264882(0x1e2))/0xb);if(_0x4fd4d3===_0x2bbfd2)break;else _0x5d16c6['push'](_0x5d16c6['shift']());}catch(_0x56a25a){_0x5d16c6['push'](_0x5d16c6['shift']());}}}(a3_0x3851,0xbe123));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';function a3_0x3851(){const _0x59783d=['Use\x20global\x20config\x20scope','cachePath','join','map','config','remote','appName','6moVuwy','use','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','4vOKZVo','write','appCode','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','trim','app','mergedCli','local','projectPath','project-default','raw','warn','type','Available\x20remote\x20apps:\x20','\x22\x20not\x20found.','.appcode\x20to\x20.lovrabet.json.','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','accessKey','\x20app\x20','bool','source','list','cache','\x20app\x20use\x20<name>\x20[--global]','2678235bfrKjg','Include\x20unpublished\x20apps\x20for\x20diagnostics','str','No\x20apps\x20found\x20on\x20the\x20platform.','6226240RfVyit','filter','items','boolean','Use\x20`','nonInteractive','20miYrOp','defaultApp','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','No\x20cached\x20apps\x20found.','608937PIfGQF','init','Refreshed\x20app\x20cache\x20with\x20','47467pLaifj','appcode','no-cache','include-unpublished','find','enableI18n','fetchedAt','Read\x20from\x20local\x20cache\x20only','read','`\x20instead.','\x20is\x20deprecated.\x20Use\x20`','env','appOwnerName','../../context.js','Usage:\x20','isCurrent','args','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','13734315BUSkDg','Filter\x20by\x20environment\x20(default:\x20current\x20env)','../../commands/app/remote-source.js','push','i18nInfo','1075210gTLKZD','validation','Missing\x20app\x20name.','23671483gTtCZE','from','Default\x20app\x20candidate\x20set\x20to\x20\x22','name','680CQKpGp','string','pull','length'];a3_0x3851=function(){return _0x59783d;};return a3_0x3851();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':'global','type':a3_0x259f41(0x213),'description':a3_0x259f41(0x1ea),'default':![]};function collectFlags(_0x57fb3f,_0x4d2572){const _0x4ad75a=a3_0x259f41,_0x2c8b19={};for(const _0x2f1648 of _0x4d2572){const _0x2c3f08=_0x2f1648[_0x4ad75a(0x200)]===_0x4ad75a(0x213)?_0x57fb3f[_0x4ad75a(0x207)](_0x2f1648[_0x4ad75a(0x1e5)]):_0x57fb3f[_0x4ad75a(0x20e)](_0x2f1648[_0x4ad75a(0x1e5)]);if(_0x2c3f08!==''&&_0x2c3f08!==![])_0x2c8b19[_0x2f1648[_0x4ad75a(0x1e5)]]=_0x2c3f08;}if(_0x57fb3f[_0x4ad75a(0x215)])_0x2c8b19[_0x4ad75a(0x215)]=!![];return _0x2c8b19;}function normalizeLanguages(_0x57bc8c){const _0x26c1bd=a3_0x259f41;if(!Array['isArray'](_0x57bc8c))return[];return _0x57bc8c[_0x26c1bd(0x211)](_0x4d843d=>typeof _0x4d843d==='string')[_0x26c1bd(0x1ed)](_0x191074=>_0x191074[_0x26c1bd(0x1f8)]())[_0x26c1bd(0x211)](Boolean);}function a3_0x1386(_0x4aa691,_0x3ff701){_0x4aa691=_0x4aa691-0x1d0;const _0x3851d7=a3_0x3851();let _0x138603=_0x3851d7[_0x4aa691];return _0x138603;}function buildRemoteAppI18nFields(_0x18fdc4){const _0x4f5204=a3_0x259f41,_0x2cae99=normalizeLanguages(_0x18fdc4[_0x4f5204(0x1de)]?.['langs']);return{'enableI18n':typeof _0x18fdc4[_0x4f5204(0x222)]===_0x4f5204(0x213)?_0x18fdc4[_0x4f5204(0x222)]:null,'languages':_0x2cae99,'i18nInfo':_0x18fdc4[_0x4f5204(0x1de)]?{..._0x18fdc4[_0x4f5204(0x1de)],'langs':_0x2cae99[_0x4f5204(0x1e9)]?_0x2cae99:null}:null};}const initDef={'service':a3_0x259f41(0x1f9),'command':'init','description':'Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a3_0x259f41(0x1f5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x52d37b){const _0x561fe0=a3_0x259f41;return warnDeprecatedAppCommand(_0x561fe0(0x21b),CLI_BIN_NAME+_0x561fe0(0x204)),await runInit(collectFlags(_0x52d37b,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':'app','command':a3_0x259f41(0x209),'description':a3_0x259f41(0x1d8),'risk':a3_0x259f41(0x225),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':'string','description':a3_0x259f41(0x1db),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x259f41(0x213),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x259f41(0x21f),'type':a3_0x259f41(0x213),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x259f41(0x220),'type':a3_0x259f41(0x213),'description':a3_0x259f41(0x20d),'default':![]}],async 'execute'(_0x3ea064){const _0x2aaa1c=a3_0x259f41,_0x9da030=_0x3ea064[_0x2aaa1c(0x20e)](_0x2aaa1c(0x1d2))||_0x3ea064['envName']||getEnv()||'production',_0x1edb89=_0x3ea064[_0x2aaa1c(0x207)](_0x2aaa1c(0x1fb)),_0x3b1bbb=_0x3ea064['bool'](_0x2aaa1c(0x21f)),_0x40528f=_0x3ea064[_0x2aaa1c(0x207)](_0x2aaa1c(0x220)),{readRawConfigWithLayers:_0x36d4dc,resolveDefaultAppSource:_0x5164bf,getLocalAppAliases:_0x1fdc9d}=await import(_0x2aaa1c(0x1d4)),{getRemoteAppList:_0x334740}=await import(_0x2aaa1c(0x1dc)),{config:_0x28d043,layers:_0xe5ace7}=_0x36d4dc(),_0x4061e5=_0x5164bf(_0xe5ace7),{defaultApp:_0x155f7e}=_0x28d043,_0x38d7c5=await _0x334740({'env':_0x9da030,'accessKey':_0x3ea064[_0x2aaa1c(0x205)],'localOnly':_0x1edb89,'noCache':_0x3b1bbb}),_0x370571=_0x40528f?_0x38d7c5[_0x2aaa1c(0x212)]:filterRuntimeAccessibleApps(_0x38d7c5['items']),_0x253536=_0x38d7c5[_0x2aaa1c(0x212)][_0x2aaa1c(0x1e9)]-_0x370571['length'],_0x2c547f=_0x370571[_0x2aaa1c(0x1ed)](_0x10f9be=>{const _0x296585=_0x2aaa1c;return{'name':_0x10f9be[_0x296585(0x1f0)],'appcode':_0x10f9be[_0x296585(0x1f6)],'named':!![],'definedIn':_0x296585(0x1ef),'isDefault':_0x10f9be[_0x296585(0x1f0)]===_0x155f7e,...buildAppProfileListFields(_0x9da030),...buildRemoteAppI18nFields(_0x10f9be),'source':_0x38d7c5[_0x296585(0x208)],'owner':_0x10f9be[_0x296585(0x1d3)]??null,'status':_0x10f9be['appPublishStatus']??null,'cachedAt':_0x38d7c5[_0x296585(0x223)]};}),_0x47f1ca=_0x1fdc9d(_0x28d043);let _0xe0009=0x0;for(const [_0x2f7972,_0x1c6aa1]of Object['entries'](_0x47f1ca)){const _0x2796b2=typeof _0x1c6aa1[_0x2aaa1c(0x21e)]===_0x2aaa1c(0x1e7)?_0x1c6aa1[_0x2aaa1c(0x21e)]['trim']():'';if(!_0x2796b2)continue;const _0x31e8b5=findAppByCode(_0x38d7c5['items'],_0x2796b2);if(!_0x40528f&&_0x31e8b5&&!isRuntimeAccessibleApp(_0x31e8b5))continue;_0xe0009+=0x1,_0x2c547f[_0x2aaa1c(0x1dd)]({'name':_0x2f7972,'appcode':_0x2796b2,'named':!![],'definedIn':_0x2aaa1c(0x1fb),'isDefault':_0x2f7972===_0x155f7e,...buildAppProfileListFields(_0x9da030),'source':_0x2aaa1c(0x1ee),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x2c547f,_0x3ea064[_0x2aaa1c(0x1fa)]);const _0x23b611=_0x2c547f[_0x2aaa1c(0x221)](_0x54d0fe=>_0x54d0fe[_0x2aaa1c(0x1d6)]===!![]),_0x1972d7=_0x155f7e??_0x23b611?.['name']??null,_0x53a295={'env':_0x9da030,'source':_0x38d7c5[_0x2aaa1c(0x208)],'fetchedAt':_0x38d7c5[_0x2aaa1c(0x223)],'cachePath':_0x38d7c5[_0x2aaa1c(0x1eb)],'globalPath':_0xe5ace7['globalPath']??null,'projectPath':_0xe5ace7[_0x2aaa1c(0x1fc)]??null,'defaultApp':_0x1972d7,'defaultAppSource':_0x155f7e!=null?_0x4061e5:null,'localAliasCount':_0xe0009,'remoteTotal':_0x38d7c5[_0x2aaa1c(0x212)]['length'],'hiddenUnpublishedCount':_0x253536,'includeUnpublished':_0x40528f};if(_0x2c547f[_0x2aaa1c(0x1e9)]===0x0)return{'ok':!![],'data':{'items':_0x2c547f,'meta':_0x53a295},'message':_0x38d7c5['source']===_0x2aaa1c(0x20a)?_0x2aaa1c(0x219):_0x2aaa1c(0x20f)};return{'ok':!![],'data':{'items':_0x2c547f,'meta':_0x53a295}};}},pullDef={'service':a3_0x259f41(0x1f9),'command':a3_0x259f41(0x1e8),'description':a3_0x259f41(0x1f3),'risk':a3_0x259f41(0x1f5),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x259f41(0x1d2),'type':a3_0x259f41(0x1e7),'description':'Target\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x259f41(0x1fb),'type':a3_0x259f41(0x213),'description':a3_0x259f41(0x224),'default':![]},{'name':'no-cache','type':a3_0x259f41(0x213),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0xd2e8ca){const _0x1197d9=a3_0x259f41,_0x22da15=_0xd2e8ca[_0x1197d9(0x20e)](_0x1197d9(0x1d2))||_0xd2e8ca['envName']||getEnv()||'production',_0x3ef09c=_0xd2e8ca[_0x1197d9(0x207)](_0x1197d9(0x1fb)),_0x7c2c6=_0xd2e8ca[_0x1197d9(0x207)](_0x1197d9(0x21f)),{getRemoteAppList:_0xa68bb8}=await import('../../commands/app/remote-source.js'),_0x262eac=await _0xa68bb8({'env':_0x22da15,'accessKey':_0xd2e8ca['accessKey'],'localOnly':_0x3ef09c,'noCache':_0x7c2c6});return{'ok':!![],'data':{'total':_0x262eac['items'][_0x1197d9(0x1e9)],'env':_0x22da15,'source':_0x262eac['source'],'fetchedAt':_0x262eac[_0x1197d9(0x223)],'cachePath':_0x262eac['cachePath']},'message':_0x262eac[_0x1197d9(0x208)]==='cache'?'Loaded\x20'+_0x262eac['items'][_0x1197d9(0x1e9)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x22da15+'\x22.':_0x1197d9(0x21c)+_0x262eac['items'][_0x1197d9(0x1e9)]+'\x20app(s)\x20for\x20env=\x22'+_0x22da15+'\x22.'};}},useDef={'service':a3_0x259f41(0x1f9),'command':a3_0x259f41(0x1f2),'description':a3_0x259f41(0x1d9),'risk':a3_0x259f41(0x1f5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x259f41(0x1e5),'description':'Remote\x20app\x20name\x20to\x20activate','required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x89ea61){const _0x28fe42=a3_0x259f41;if(!_0x89ea61['args'][0x0])throw CliErrors['validation'](_0x28fe42(0x1e1),_0x28fe42(0x1d5)+CLI_BIN_NAME+_0x28fe42(0x20b));},async 'execute'(_0x1001a3){const _0xc038ec=a3_0x259f41;warnDeprecatedAppCommand(_0xc038ec(0x1f2),CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x187ad2=_0x1001a3[_0xc038ec(0x1d7)][0x0];if(!_0x187ad2)throw CliErrors[_0xc038ec(0x1e0)](_0xc038ec(0x1e1),'Usage:\x20'+CLI_BIN_NAME+_0xc038ec(0x20b));const {buildConfigFromFlags:_0x124902,resolveLocalAppAliasCode:_0x4c6eec}=await import(_0xc038ec(0x1d4)),{readCachedAppList:_0x5134f7}=await import('../../commands/app/cache.js'),_0x24ceca=_0x1001a3[_0xc038ec(0x20e)]('env'),_0x132018=_0x124902(_0x24ceca?{'env':_0x24ceca}:{}),_0x1482dc=_0x5134f7(_0x132018[_0xc038ec(0x1d2)],_0x132018[_0xc038ec(0x205)]),_0x3a3013=_0x1482dc?.[_0xc038ec(0x212)][_0xc038ec(0x221)](_0x317eaf=>_0x317eaf[_0xc038ec(0x1f0)]===_0x187ad2),_0x4a16a8=_0x4c6eec(_0x132018[_0xc038ec(0x1fe)]??{},_0x187ad2);if(_0x3a3013&&!isRuntimeAccessibleApp(_0x3a3013))throw runtimeInaccessibleAppError(_0x3a3013,'\x22'+_0x187ad2+'\x22');if(_0x4a16a8){const _0x234d90=_0x1482dc?.[_0xc038ec(0x212)][_0xc038ec(0x221)](_0x1202a8=>_0x1202a8[_0xc038ec(0x1f6)]?.['trim']()===_0x4a16a8);if(_0x234d90&&!isRuntimeAccessibleApp(_0x234d90))throw runtimeInaccessibleAppError(_0x234d90,'\x22'+_0x187ad2+'\x22');}if(!_0x3a3013&&!_0x4a16a8&&_0x132018[_0xc038ec(0x217)]!==_0x187ad2){const _0x176769=[..._0x1482dc?.[_0xc038ec(0x212)][_0xc038ec(0x1ed)](_0x2b0295=>_0x2b0295[_0xc038ec(0x1f0)])??[]],_0x326102=_0x176769['length']===0x0?_0xc038ec(0x214)+CLI_BIN_NAME+_0xc038ec(0x218)+_0x187ad2+_0xc038ec(0x203):_0xc038ec(0x201)+Array[_0xc038ec(0x1e3)](new Set(_0x176769))[_0xc038ec(0x1ec)](',\x20')+_0xc038ec(0x1f7);throw CliErrors[_0xc038ec(0x1e0)]('App\x20\x22'+_0x187ad2+_0xc038ec(0x202),_0x326102);}const _0x492f5c=_0x1001a3[_0xc038ec(0x207)]('global');let _0x76bc2f;if(_0x492f5c)_0x76bc2f={'global':!![]};else{const {isInProject:_0x235509}=await import(_0xc038ec(0x1d4)),_0x5b6d20=_0x235509();_0x76bc2f=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0xc038ec(0x1fd),'inProject':_0x5b6d20}));}const _0x5108a4=readConfig(_0x76bc2f);return _0x5108a4[_0xc038ec(0x217)]=_0x187ad2,writeConfig(_0x5108a4,_0x76bc2f),{'ok':!![],'message':_0xc038ec(0x1e4)+_0x187ad2+'\x22'+scopeLabel(_0x76bc2f)+'.'};}};function warnDeprecatedAppCommand(_0x39d3bb,_0x2a9dfd){const _0x3083b5=a3_0x259f41;console[_0x3083b5(0x1ff)](CLI_BIN_NAME+_0x3083b5(0x206)+_0x39d3bb+_0x3083b5(0x1d1)+_0x2a9dfd+_0x3083b5(0x1d0));}const importDef={'service':a3_0x259f41(0x1f9),'command':'import','description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x259f41(0x1f5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x384774){return await runInitImport(collectFlags(_0x384774,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x440126=a3_0xce8c;(function(_0x4d3a17,_0x35045a){const _0xbf32=a3_0xce8c,_0x144e19=_0x4d3a17();while(!![]){try{const _0x576141=-parseInt(_0xbf32(0x1ab))/0x1*(parseInt(_0xbf32(0x198))/0x2)+parseInt(_0xbf32(0x18a))/0x3+-parseInt(_0xbf32(0x1e0))/0x4*(parseInt(_0xbf32(0x1bb))/0x5)+parseInt(_0xbf32(0x1d9))/0x6+-parseInt(_0xbf32(0x194))/0x7*(parseInt(_0xbf32(0x1bc))/0x8)+-parseInt(_0xbf32(0x1e5))/0x9*(parseInt(_0xbf32(0x1c5))/0xa)+parseInt(_0xbf32(0x1ac))/0xb;if(_0x576141===_0x35045a)break;else _0x144e19['push'](_0x144e19['shift']());}catch(_0x1a5d36){_0x144e19['push'](_0x144e19['shift']());}}}(a3_0x5a13,0x3a4a4));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x440126(0x1d7),'type':'boolean','description':a3_0x440126(0x18b),'default':![]};function collectFlags(_0x5d0cc6,_0x2e198f){const _0x8fbf6a=a3_0x440126,_0x262c35={};for(const _0xcc046d of _0x2e198f){const _0xe13e1b=_0xcc046d[_0x8fbf6a(0x1e3)]===_0x8fbf6a(0x1a3)?_0x5d0cc6[_0x8fbf6a(0x1b9)](_0xcc046d['name']):_0x5d0cc6[_0x8fbf6a(0x1ae)](_0xcc046d[_0x8fbf6a(0x1af)]);if(_0xe13e1b!==''&&_0xe13e1b!==![])_0x262c35[_0xcc046d['name']]=_0xe13e1b;}if(_0x5d0cc6[_0x8fbf6a(0x1ce)])_0x262c35[_0x8fbf6a(0x1ce)]=!![];return _0x262c35;}function a3_0xce8c(_0x19c34d,_0x1610f7){_0x19c34d=_0x19c34d-0x188;const _0x5a1337=a3_0x5a13();let _0xce8c4f=_0x5a1337[_0x19c34d];return _0xce8c4f;}function normalizeLanguages(_0xbbb566){const _0x51e4e8=a3_0x440126;if(!Array[_0x51e4e8(0x1b0)](_0xbbb566))return[];return _0xbbb566[_0x51e4e8(0x1b4)](_0x1a52f0=>typeof _0x1a52f0===_0x51e4e8(0x19d))[_0x51e4e8(0x199)](_0x3d45a1=>_0x3d45a1[_0x51e4e8(0x1a2)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x4f67f5){const _0x215418=a3_0x440126,_0x2c9cd9=normalizeLanguages(_0x4f67f5['i18nInfo']?.[_0x215418(0x1c3)]);return{'enableI18n':typeof _0x4f67f5[_0x215418(0x1a5)]===_0x215418(0x1a3)?_0x4f67f5[_0x215418(0x1a5)]:null,'languages':_0x2c9cd9,'i18nInfo':_0x4f67f5[_0x215418(0x197)]?{..._0x4f67f5['i18nInfo'],'langs':_0x2c9cd9[_0x215418(0x190)]?_0x2c9cd9:null}:null};}const initDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x1d5),'description':a3_0x440126(0x19b),'risk':a3_0x440126(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x5cbabb){const _0x2be858=a3_0x440126;return warnDeprecatedAppCommand(_0x2be858(0x1d5),CLI_BIN_NAME+_0x2be858(0x1c6)),await runInit(collectFlags(_0x5cbabb,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x440126(0x18c),'command':'list','description':a3_0x440126(0x1aa),'risk':a3_0x440126(0x1b8),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x440126(0x1c8),'type':a3_0x440126(0x19d),'description':a3_0x440126(0x196),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x440126(0x19a),'type':a3_0x440126(0x1a3),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1a7),'default':![]},{'name':a3_0x440126(0x1be),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1da),'default':![]}],async 'execute'(_0x20c17a){const _0x3984be=a3_0x440126,_0x39435f=_0x20c17a[_0x3984be(0x1ae)](_0x3984be(0x1c8))||_0x20c17a[_0x3984be(0x1b3)]||getEnv()||_0x3984be(0x1e4),_0x36b0b2=_0x20c17a['bool'](_0x3984be(0x19a)),_0x587927=_0x20c17a['bool'](_0x3984be(0x1a8)),_0x22aa9a=_0x20c17a[_0x3984be(0x1b9)](_0x3984be(0x1be)),{readRawConfigWithLayers:_0x218578,resolveDefaultAppSource:_0x437bf9,getLocalAppAliases:_0x4f1af3}=await import(_0x3984be(0x1de)),{getRemoteAppList:_0x25077a}=await import('../../commands/app/remote-source.js'),{config:_0x4e51a4,layers:_0x2476d4}=_0x218578(),_0x36618d=_0x437bf9(_0x2476d4),{defaultApp:_0x364c86}=_0x4e51a4,_0x32fee0=await _0x25077a({'env':_0x39435f,'accessKey':_0x20c17a[_0x3984be(0x1b7)],'localOnly':_0x36b0b2,'noCache':_0x587927}),_0x33f663=_0x22aa9a?_0x32fee0[_0x3984be(0x1d3)]:filterRuntimeAccessibleApps(_0x32fee0['items']),_0x289c76=_0x32fee0[_0x3984be(0x1d3)]['length']-_0x33f663[_0x3984be(0x190)],_0x54e24c=_0x33f663[_0x3984be(0x199)](_0x23530c=>{const _0x34bd4e=_0x3984be;return{'name':_0x23530c['appName'],'appcode':_0x23530c[_0x34bd4e(0x1d8)],'named':!![],'definedIn':'remote','isDefault':_0x23530c['appName']===_0x364c86,...buildAppProfileListFields(_0x39435f),...buildRemoteAppI18nFields(_0x23530c),'source':_0x32fee0['source'],'owner':_0x23530c['appOwnerName']??null,'status':_0x23530c[_0x34bd4e(0x1cc)]??null,'cachedAt':_0x32fee0[_0x34bd4e(0x192)]};}),_0x3b0f0b=_0x4f1af3(_0x4e51a4);let _0x2d35bc=0x0;for(const [_0xf7ee73,_0x29998d]of Object[_0x3984be(0x1c1)](_0x3b0f0b)){const _0x1089c5=typeof _0x29998d[_0x3984be(0x1ba)]===_0x3984be(0x19d)?_0x29998d['appcode'][_0x3984be(0x1a2)]():'';if(!_0x1089c5)continue;const _0x41229f=findAppByCode(_0x32fee0[_0x3984be(0x1d3)],_0x1089c5);if(!_0x22aa9a&&_0x41229f&&!isRuntimeAccessibleApp(_0x41229f))continue;_0x2d35bc+=0x1,_0x54e24c[_0x3984be(0x1a6)]({'name':_0xf7ee73,'appcode':_0x1089c5,'named':!![],'definedIn':_0x3984be(0x19a),'isDefault':_0xf7ee73===_0x364c86,...buildAppProfileListFields(_0x39435f),'source':_0x3984be(0x1e1),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x54e24c,_0x20c17a[_0x3984be(0x1c7)]);const _0x1f377d=_0x54e24c[_0x3984be(0x1bf)](_0x4898b9=>_0x4898b9[_0x3984be(0x1df)]===!![]),_0x4eb37e=_0x364c86??_0x1f377d?.[_0x3984be(0x1af)]??null,_0x4e092f={'env':_0x39435f,'source':_0x32fee0['source'],'fetchedAt':_0x32fee0[_0x3984be(0x192)],'cachePath':_0x32fee0[_0x3984be(0x1d6)],'globalPath':_0x2476d4[_0x3984be(0x193)]??null,'projectPath':_0x2476d4[_0x3984be(0x1c0)]??null,'defaultApp':_0x4eb37e,'defaultAppSource':_0x364c86!=null?_0x36618d:null,'localAliasCount':_0x2d35bc,'remoteTotal':_0x32fee0[_0x3984be(0x1d3)][_0x3984be(0x190)],'hiddenUnpublishedCount':_0x289c76,'includeUnpublished':_0x22aa9a};if(_0x54e24c[_0x3984be(0x190)]===0x0)return{'ok':!![],'data':{'items':_0x54e24c,'meta':_0x4e092f},'message':_0x32fee0[_0x3984be(0x1ca)]===_0x3984be(0x195)?_0x3984be(0x1d2):_0x3984be(0x1a4)};return{'ok':!![],'data':{'items':_0x54e24c,'meta':_0x4e092f}};}},pullDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x191),'description':a3_0x440126(0x1c9),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x440126(0x1c8),'type':'string','description':a3_0x440126(0x19f),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x440126(0x19a),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1dd),'default':![]},{'name':a3_0x440126(0x1a8),'type':a3_0x440126(0x1a3),'description':a3_0x440126(0x1a7),'default':![]}],async 'execute'(_0x3ff8d1){const _0x206730=a3_0x440126,_0x3851c1=_0x3ff8d1['str'](_0x206730(0x1c8))||_0x3ff8d1[_0x206730(0x1b3)]||getEnv()||_0x206730(0x1e4),_0x247e3a=_0x3ff8d1[_0x206730(0x1b9)](_0x206730(0x19a)),_0x3a3b8a=_0x3ff8d1[_0x206730(0x1b9)](_0x206730(0x1a8)),{getRemoteAppList:_0x105ffe}=await import(_0x206730(0x1dc)),_0x3bafc0=await _0x105ffe({'env':_0x3851c1,'accessKey':_0x3ff8d1[_0x206730(0x1b7)],'localOnly':_0x247e3a,'noCache':_0x3a3b8a});return{'ok':!![],'data':{'total':_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)],'env':_0x3851c1,'source':_0x3bafc0['source'],'fetchedAt':_0x3bafc0[_0x206730(0x192)],'cachePath':_0x3bafc0[_0x206730(0x1d6)]},'message':_0x3bafc0[_0x206730(0x1ca)]===_0x206730(0x195)?_0x206730(0x1cf)+_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)]+_0x206730(0x1a0)+_0x3851c1+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x3bafc0[_0x206730(0x1d3)][_0x206730(0x190)]+'\x20app(s)\x20for\x20env=\x22'+_0x3851c1+'\x22.'};}},useDef={'service':'app','command':a3_0x440126(0x1ad),'description':'Deprecated:\x20use\x20workspace\x20use\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a3_0x440126(0x1af),'description':a3_0x440126(0x1b2),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x36ed1c){const _0x461567=a3_0x440126;if(!_0x36ed1c[_0x461567(0x1d1)][0x0])throw CliErrors[_0x461567(0x1e2)](_0x461567(0x1cb),_0x461567(0x1d0)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');},async 'execute'(_0x4c39ce){const _0x3b0b20=a3_0x440126;warnDeprecatedAppCommand('use',CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x3c8769=_0x4c39ce['args'][0x0];if(!_0x3c8769)throw CliErrors[_0x3b0b20(0x1e2)](_0x3b0b20(0x1cb),_0x3b0b20(0x1d0)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const {buildConfigFromFlags:_0x4f7fcc,resolveLocalAppAliasCode:_0x6624ec}=await import(_0x3b0b20(0x1de)),{readCachedAppList:_0x4b5970}=await import('../../commands/app/cache.js'),_0x4cb17b=_0x4c39ce[_0x3b0b20(0x1ae)](_0x3b0b20(0x1c8)),_0x3c4040=_0x4f7fcc(_0x4cb17b?{'env':_0x4cb17b}:{}),_0x424c2c=_0x4b5970(_0x3c4040[_0x3b0b20(0x1c8)],_0x3c4040[_0x3b0b20(0x1b7)]),_0x1ead25=_0x424c2c?.['items'][_0x3b0b20(0x1bf)](_0x18170c=>_0x18170c[_0x3b0b20(0x1bd)]===_0x3c8769),_0x427dbb=_0x6624ec(_0x3c4040[_0x3b0b20(0x18d)]??{},_0x3c8769);if(_0x1ead25&&!isRuntimeAccessibleApp(_0x1ead25))throw runtimeInaccessibleAppError(_0x1ead25,'\x22'+_0x3c8769+'\x22');if(_0x427dbb){const _0x463847=_0x424c2c?.['items'][_0x3b0b20(0x1bf)](_0x58a5be=>_0x58a5be[_0x3b0b20(0x1d8)]?.['trim']()===_0x427dbb);if(_0x463847&&!isRuntimeAccessibleApp(_0x463847))throw runtimeInaccessibleAppError(_0x463847,'\x22'+_0x3c8769+'\x22');}if(!_0x1ead25&&!_0x427dbb&&_0x3c4040[_0x3b0b20(0x18f)]!==_0x3c8769){const _0xdd0399=[..._0x424c2c?.[_0x3b0b20(0x1d3)][_0x3b0b20(0x199)](_0xca4dbb=>_0xca4dbb['appName'])??[]],_0x3c8c16=_0xdd0399['length']===0x0?_0x3b0b20(0x1d4)+CLI_BIN_NAME+_0x3b0b20(0x1c2)+_0x3c8769+_0x3b0b20(0x19e):_0x3b0b20(0x19c)+Array[_0x3b0b20(0x189)](new Set(_0xdd0399))[_0x3b0b20(0x188)](',\x20')+_0x3b0b20(0x1c4);throw CliErrors[_0x3b0b20(0x1e2)]('App\x20\x22'+_0x3c8769+_0x3b0b20(0x1db),_0x3c8c16);}const _0x217a30=_0x4c39ce[_0x3b0b20(0x1b9)]('global');let _0x4cfef0;if(_0x217a30)_0x4cfef0={'global':!![]};else{const {isInProject:_0x17764f}=await import(_0x3b0b20(0x1de)),_0x35f3a3=_0x17764f();_0x4cfef0=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x3b0b20(0x1b6),'inProject':_0x35f3a3}));}const _0x11214b=readConfig(_0x4cfef0);return _0x11214b[_0x3b0b20(0x18f)]=_0x3c8769,writeConfig(_0x11214b,_0x4cfef0),{'ok':!![],'message':_0x3b0b20(0x1b1)+_0x3c8769+'\x22'+scopeLabel(_0x4cfef0)+'.'};}};function a3_0x5a13(){const _0x22d4f4=['884050Lwuguk','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','mergedCli','env','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','source','Missing\x20app\x20name.','appPublishStatus','`\x20instead.','nonInteractive','Loaded\x20','Usage:\x20','args','No\x20cached\x20apps\x20found.','items','Use\x20`','init','cachePath','global','appCode','614364OnBfSE','Include\x20unpublished\x20apps\x20for\x20diagnostics','\x22\x20not\x20found.','../../commands/app/remote-source.js','Read\x20from\x20local\x20cache\x20only','../../context.js','isCurrent','4xmlnyA','config','validation','type','production','45QiRBJd','join','from','610692BsTXTR','Use\x20global\x20config\x20scope','app','raw','write','defaultApp','length','pull','fetchedAt','globalPath','679bPhHab','cache','Filter\x20by\x20environment\x20(default:\x20current\x20env)','i18nInfo','1234DQFhkm','map','local','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Available\x20remote\x20apps:\x20','string','.appcode\x20to\x20.lovrabet.json.','Target\x20environment\x20(default:\x20current\x20env)','\x20cached\x20app(s)\x20for\x20env=\x22','import','trim','boolean','No\x20apps\x20found\x20on\x20the\x20platform.','enableI18n','push','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','no-cache','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','473PFONir','14976258bULXgh','use','str','name','isArray','Default\x20app\x20candidate\x20set\x20to\x20\x22','Remote\x20app\x20name\x20to\x20activate','envName','filter','\x20is\x20deprecated.\x20Use\x20`','project-default','accessKey','read','bool','appcode','2300855LbKpwa','19352ksmmQG','appName','include-unpublished','find','projectPath','entries','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','langs','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.'];a3_0x5a13=function(){return _0x22d4f4;};return a3_0x5a13();}function warnDeprecatedAppCommand(_0x43f560,_0x7c926f){const _0x44e32b=a3_0x440126;console['warn'](CLI_BIN_NAME+'\x20app\x20'+_0x43f560+_0x44e32b(0x1b5)+_0x7c926f+_0x44e32b(0x1cd));}const importDef={'service':a3_0x440126(0x18c),'command':a3_0x440126(0x1a1),'description':a3_0x440126(0x1a9),'risk':a3_0x440126(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x1a794e){return await runInitImport(collectFlags(_0x1a794e,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x34b694,_0x29eaaf){const _0x51611d=a4_0x2e8f,_0x35b056=_0x34b694();while(!![]){try{const _0x311e3d=parseInt(_0x51611d(0xdc))/0x1+parseInt(_0x51611d(0xec))/0x2*(parseInt(_0x51611d(0xe6))/0x3)+-parseInt(_0x51611d(0xea))/0x4+parseInt(_0x51611d(0xf1))/0x5+-parseInt(_0x51611d(0xe9))/0x6*(-parseInt(_0x51611d(0xe8))/0x7)+parseInt(_0x51611d(0xed))/0x8*(parseInt(_0x51611d(0xef))/0x9)+-parseInt(_0x51611d(0xee))/0xa*(parseInt(_0x51611d(0xe1))/0xb);if(_0x311e3d===_0x29eaaf)break;else _0x35b056['push'](_0x35b056['shift']());}catch(_0x5a8d0d){_0x35b056['push'](_0x35b056['shift']());}}}(a4_0x9c6d,0x8f992));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';function a4_0x9c6d(){const _0x362070=['string','2nCQqik','8pbrmcT','4235570aTQhYL','10576134VfJcOu','filter','851805DXEozA','toUpperCase','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','30917tCvsXq','appName','trim','Current\x20status:\x20','.\x20Publish\x20the\x20app\x20before\x20using\x20','11IHtFSA','appPublishStatus','UNKNOWN','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','App\x20','152031gYCPTG','validation','7AJNsEP','4214082vjKooC','4470772jNXAKz'];a4_0x9c6d=function(){return _0x362070;};return a4_0x9c6d();}export function normalizeAppPublishStatus(_0x194c7f){const _0x39ac2d=a4_0x2e8f;if(typeof _0x194c7f!==_0x39ac2d(0xeb))return null;const _0x3d7f=_0x194c7f[_0x39ac2d(0xde)]();return _0x3d7f?_0x3d7f[_0x39ac2d(0xf2)]():null;}function a4_0x2e8f(_0x42578a,_0x361c86){_0x42578a=_0x42578a-0xdc;const _0x9c6d9a=a4_0x9c6d();let _0x2e8f42=_0x9c6d9a[_0x42578a];return _0x2e8f42;}export function isRuntimeAccessibleApp(_0xa53fa9){const _0x16dd8e=a4_0x2e8f;return normalizeAppPublishStatus(_0xa53fa9[_0x16dd8e(0xe2)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x249778){const _0x12b0e1=a4_0x2e8f;return _0x249778[_0x12b0e1(0xf0)](isRuntimeAccessibleApp);}export function findAppByName(_0x4d5858,_0x2f0fc0){const _0xc859c3=a4_0x2e8f;return _0x4d5858['find'](_0x400ded=>_0x400ded[_0xc859c3(0xdd)]===_0x2f0fc0);}export function findAppByCode(_0x3cf717,_0x35fb75){const _0x5b7ddd=a4_0x2e8f,_0x163f3c=_0x35fb75[_0x5b7ddd(0xde)]();if(!_0x163f3c)return undefined;return _0x3cf717['find'](_0x2874c9=>_0x2874c9['appCode']?.[_0x5b7ddd(0xde)]()===_0x163f3c);}export function runtimeInaccessibleAppError(_0x51cc6c,_0x17c6e1){const _0x4ede75=a4_0x2e8f,_0x524bd7=normalizeAppPublishStatus(_0x51cc6c[_0x4ede75(0xe2)])??_0x4ede75(0xe3);return CliErrors[_0x4ede75(0xe7)](_0x4ede75(0xe5)+_0x17c6e1+_0x4ede75(0xf3),_0x4ede75(0xdf)+_0x524bd7+_0x4ede75(0xe0)+CLI_BIN_NAME+_0x4ede75(0xe4));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x597c(){const _0x5824cc=['432624OUhUwz','errorMsg','223416aMkoBf','Mock\x20API\x20error:\x20','success','errorCode','2275180hFyQAr','2WHQvdS','221416wZmuDz','45WnfnaK','tableData','parse','../../../mock/app-list.json','35jwHQpE','utf-8','data','271940qRGXQN','529156TBtfHu','1846928Xmqwrc'];a5_0x597c=function(){return _0x5824cc;};return a5_0x597c();}(function(_0x87797c,_0x1a2bde){const _0x4a824d=a5_0x2b06,_0x49604f=_0x87797c();while(!![]){try{const _0x2e5106=-parseInt(_0x4a824d(0x1f7))/0x1*(-parseInt(_0x4a824d(0x1ee))/0x2)+-parseInt(_0x4a824d(0x1f2))/0x3+parseInt(_0x4a824d(0x1ef))/0x4+-parseInt(_0x4a824d(0x1f6))/0x5+-parseInt(_0x4a824d(0x1f0))/0x6*(parseInt(_0x4a824d(0x1fd))/0x7)+-parseInt(_0x4a824d(0x1f8))/0x8*(-parseInt(_0x4a824d(0x1f9))/0x9)+parseInt(_0x4a824d(0x1ed))/0xa;if(_0x2e5106===_0x1a2bde)break;else _0x49604f['push'](_0x49604f['shift']());}catch(_0x2a426d){_0x49604f['push'](_0x49604f['shift']());}}}(a5_0x597c,0x410c7));function a5_0x2b06(_0x17ef98,_0x4ee9b2){_0x17ef98=_0x17ef98-0x1ed;const _0x597c45=a5_0x597c();let _0x2b0652=_0x597c45[_0x17ef98];return _0x2b0652;}import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x2c6ee5=a5_0x2b06,_0x355e75=join(__dirname,_0x2c6ee5(0x1fc)),_0x41d917=readFileSync(_0x355e75,_0x2c6ee5(0x1fe));return JSON[_0x2c6ee5(0x1fb)](_0x41d917);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x3ad9f0=a5_0x2b06,_0x4a2e08=getMockAppList();if(!_0x4a2e08[_0x3ad9f0(0x1f4)])throw new Error(_0x3ad9f0(0x1f3)+_0x4a2e08[_0x3ad9f0(0x1f1)]+'\x20('+_0x4a2e08[_0x3ad9f0(0x1f5)]+')');return _0x4a2e08[_0x3ad9f0(0x1ff)][_0x3ad9f0(0x1fa)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x45e4(_0x38854d,_0x55d5a3){_0x38854d=_0x38854d-0x78;const _0x298907=a6_0x2989();let _0x45e42d=_0x298907[_0x38854d];return _0x45e42d;}(function(_0x15bf8a,_0x93d44f){const _0x4074c1=a6_0x45e4,_0x24227f=_0x15bf8a();while(!![]){try{const _0x1afebb=-parseInt(_0x4074c1(0x79))/0x1+-parseInt(_0x4074c1(0x85))/0x2*(-parseInt(_0x4074c1(0x7f))/0x3)+parseInt(_0x4074c1(0x89))/0x4+parseInt(_0x4074c1(0x80))/0x5+parseInt(_0x4074c1(0x78))/0x6*(parseInt(_0x4074c1(0x81))/0x7)+-parseInt(_0x4074c1(0x7a))/0x8*(-parseInt(_0x4074c1(0x7d))/0x9)+-parseInt(_0x4074c1(0x83))/0xa;if(_0x1afebb===_0x93d44f)break;else _0x24227f['push'](_0x24227f['shift']());}catch(_0x76f5e0){_0x24227f['push'](_0x24227f['shift']());}}}(a6_0x2989,0x4cf73));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 _0x56cf78=a6_0x45e4,_0x39167d=(productEnv(_0x56cf78(0x88))||'')[_0x56cf78(0x7e)]()['toLowerCase']();return _0x39167d===_0x56cf78(0x84);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x3f3569){const _0x17e9c0=a6_0x45e4,{env:_0x34439c,accessKey:_0x3ba6ea,localOnly:localOnly=![],noCache:noCache=![]}=_0x3f3569,_0x66c5ff=readCachedAppList(_0x34439c,_0x3ba6ea),_0x5e4919=_0x3ba6ea?.['trim']()?getAppCacheFilePath(_0x34439c,_0x3ba6ea):null;if(localOnly)return{'items':_0x66c5ff?.[_0x17e9c0(0x82)]??[],'source':_0x17e9c0(0x7c),'fetchedAt':_0x66c5ff?.[_0x17e9c0(0x7b)]??null,'cachePath':_0x5e4919};try{const _0x5a55d8=await getRemoteAppItems(),_0x3d9316=shouldUseMockRemoteApps()?_0x17e9c0(0x84):_0x17e9c0(0x86),_0x471553=new Date()[_0x17e9c0(0x87)](),_0x464f9e=_0x3ba6ea?.[_0x17e9c0(0x7e)]()?writeCachedAppList(_0x34439c,_0x3ba6ea,{'env':_0x34439c,'fetchedAt':_0x471553,'source':_0x3d9316,'items':_0x5a55d8}):null;return{'items':_0x5a55d8,'source':_0x3d9316,'fetchedAt':_0x471553,'cachePath':_0x464f9e};}catch(_0x4247e1){if(!noCache&&_0x66c5ff)return{'items':_0x66c5ff[_0x17e9c0(0x82)],'source':'cache','fetchedAt':_0x66c5ff[_0x17e9c0(0x7b)],'cachePath':_0x5e4919};throw _0x4247e1;}}function a6_0x2989(){const _0x34c00c=['405439hTabot','3820088CiCNkM','fetchedAt','cache','9pBNETn','trim','1103877kYKvmO','2992585dqxbwH','336oomEth','items','15083920cfTvLX','mock','2kYxiSn','remote','toISOString','APP_LIST_SOURCE','2312092cqbPOv','25884QVsQJD'];a6_0x2989=function(){return _0x34c00c;};return a6_0x2989();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x324b5c,_0xdcc043){const _0x6026da=a7_0x2569,_0x557cb4=_0x324b5c();while(!![]){try{const _0x2a228d=-parseInt(_0x6026da(0x1d4))/0x1+parseInt(_0x6026da(0x1d5))/0x2*(-parseInt(_0x6026da(0x1d3))/0x3)+parseInt(_0x6026da(0x1d7))/0x4*(parseInt(_0x6026da(0x1d0))/0x5)+-parseInt(_0x6026da(0x1ca))/0x6+-parseInt(_0x6026da(0x1d6))/0x7*(-parseInt(_0x6026da(0x1d2))/0x8)+-parseInt(_0x6026da(0x1cf))/0x9*(-parseInt(_0x6026da(0x1cd))/0xa)+-parseInt(_0x6026da(0x1d8))/0xb;if(_0x2a228d===_0xdcc043)break;else _0x557cb4['push'](_0x557cb4['shift']());}catch(_0x7ba516){_0x557cb4['push'](_0x557cb4['shift']());}}}(a7_0x3db1,0x55a6b));import{CLI_BIN_NAME}from'../../constant/cli.js';function a7_0x2569(_0x244dd6,_0x3678bc){_0x244dd6=_0x244dd6-0x1c8;const _0x3db1b8=a7_0x3db1();let _0x25694f=_0x3db1b8[_0x244dd6];return _0x25694f;}function a7_0x3db1(){const _0x5d5099=['828363FotbGX','576168uclTJA','2CfZDYg','1659mdRaZM','775476iOftNo','1817024RrhAaK','appCode','global','name','trim','named','local','isCurrent','appcode','1236000pnFpui','find','defaultApp','460ZWBSdW','definedIn','82611XKanSb','15gVjkIw','currentApp','19256zvpCHp'];a7_0x3db1=function(){return _0x5d5099;};return a7_0x3db1();}import{formatScopeLabel}from'../../commands/common/config-policy.js';export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0x22e8f6,_0xc6617a){const _0xeda93e=a7_0x2569;if(!_0xc6617a)return;const _0x7f43c7=!!(_0xc6617a[_0xeda93e(0x1d1)]??_0xc6617a[_0xeda93e(0x1cc)]);for(const _0x191160 of _0x22e8f6){_0x191160['isCurrent']=![];}const _0x5e2762=_0xc6617a['appCode']!=null?String(_0xc6617a[_0xeda93e(0x1d9)])['trim']():'';if(_0x7f43c7){const _0x4cb88d=_0xc6617a[_0xeda93e(0x1d1)]??_0xc6617a[_0xeda93e(0x1cc)];if(_0x4cb88d){const _0x5e1818=_0x22e8f6[_0xeda93e(0x1cb)](_0x5eddd8=>_0x5eddd8['named']===!![]&&_0x5eddd8[_0xeda93e(0x1db)]===_0x4cb88d&&_0x5eddd8[_0xeda93e(0x1ce)]===_0xeda93e(0x1de)),_0x1f1468=_0x5e1818??_0x22e8f6[_0xeda93e(0x1cb)](_0x1294b1=>_0x1294b1[_0xeda93e(0x1dd)]===!![]&&_0x1294b1['name']===_0x4cb88d);if(_0x1f1468){const _0x15f591=String(_0x1f1468[_0xeda93e(0x1c9)]??'')[_0xeda93e(0x1dc)]();if(!_0x5e2762||_0x15f591===_0x5e2762){_0x1f1468['isCurrent']=!![];return;}}}if(_0x5e2762){const _0x33884b=_0x22e8f6[_0xeda93e(0x1cb)](_0x3c4e99=>String(_0x3c4e99['appcode']??'')[_0xeda93e(0x1dc)]()===_0x5e2762);_0x33884b&&(_0x33884b[_0xeda93e(0x1c8)]=!![]);}return;}if(!_0x5e2762)return;for(const _0x988107 of _0x22e8f6){String(_0x988107['appcode']??'')['trim']()===_0x5e2762&&(_0x988107[_0xeda93e(0x1c8)]=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';export function scopeLabel(_0x163e29){const _0xe2371f=a7_0x2569;return formatScopeLabel(_0x163e29[_0xe2371f(0x1da)]?'global':'project');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a8_0x80f7(){const _0x4eae12=['1666192LouapI','validation','2688tCHaPh','19663688tjqWBV','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','Missing\x20app-config\x20key.','app-config','Unable\x20to\x20get\x20app-config\x20value:\x20key=','App\x20config\x20key','2095394Wzhyhm','630688kGuAYl',',\x20appCode=','2755926zblkTK','appCode','args','apiError','\x20app-config\x20get\x20<key>','trim','2585dJtUEG','3704166EmzAnr'];a8_0x80f7=function(){return _0x4eae12;};return a8_0x80f7();}const a8_0xbfa8ca=a8_0x4f79;function a8_0x4f79(_0x527910,_0x26c27b){_0x527910=_0x527910-0xe2;const _0x80f720=a8_0x80f7();let _0x4f797b=_0x80f720[_0x527910];return _0x4f797b;}(function(_0x55db4b,_0x39355c){const _0x3ed21e=a8_0x4f79,_0x3fc8ea=_0x55db4b();while(!![]){try{const _0x1111e9=parseInt(_0x3ed21e(0xed))/0x1+parseInt(_0x3ed21e(0xe3))/0x2+parseInt(_0x3ed21e(0xef))/0x3+parseInt(_0x3ed21e(0xe5))/0x4*(-parseInt(_0x3ed21e(0xf5))/0x5)+parseInt(_0x3ed21e(0xe2))/0x6+parseInt(_0x3ed21e(0xec))/0x7+-parseInt(_0x3ed21e(0xe6))/0x8;if(_0x1111e9===_0x39355c)break;else _0x3fc8ea['push'](_0x3fc8ea['shift']());}catch(_0x4f8212){_0x3fc8ea['push'](_0x3fc8ea['shift']());}}}(a8_0x80f7,0x788b0));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0xbfa8ca(0xe9),'command':'get','description':a8_0xbfa8ca(0xe7),'risk':'read','args':[{'name':'key','description':a8_0xbfa8ca(0xeb),'required':!![]}],'flags':[],async 'execute'(_0x238ea9){const _0x48aee9=a8_0xbfa8ca,_0x398dcc=_0x238ea9[_0x48aee9(0xf1)][0x0]?.[_0x48aee9(0xf4)]();if(!_0x398dcc)throw CliErrors[_0x48aee9(0xe4)](_0x48aee9(0xe8),'Usage:\x20'+CLI_BIN_NAME+_0x48aee9(0xf3));try{const _0x45e162=await getRuntimeAppConfigByKey(_0x238ea9[_0x48aee9(0xf0)],_0x398dcc);return{'ok':!![],'data':_0x45e162};}catch{throw CliErrors[_0x48aee9(0xf2)](_0x48aee9(0xea)+_0x398dcc+_0x48aee9(0xee)+_0x238ea9[_0x48aee9(0xf0)],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a9_0xa880(_0xbd1e2e,_0x4bc9b7){_0xbd1e2e=_0xbd1e2e-0x1aa;const _0x2299c3=a9_0x2299();let _0xa88069=_0x2299c3[_0xbd1e2e];return _0xa88069;}(function(_0x43fd5d,_0x160d81){const _0x5ed5eb=a9_0xa880,_0x43822b=_0x43fd5d();while(!![]){try{const _0x5adc61=parseInt(_0x5ed5eb(0x1aa))/0x1+parseInt(_0x5ed5eb(0x1ab))/0x2*(-parseInt(_0x5ed5eb(0x1b3))/0x3)+parseInt(_0x5ed5eb(0x1b4))/0x4*(parseInt(_0x5ed5eb(0x1b0))/0x5)+-parseInt(_0x5ed5eb(0x1af))/0x6+parseInt(_0x5ed5eb(0x1ac))/0x7*(parseInt(_0x5ed5eb(0x1ad))/0x8)+-parseInt(_0x5ed5eb(0x1b2))/0x9+-parseInt(_0x5ed5eb(0x1b1))/0xa*(parseInt(_0x5ed5eb(0x1ae))/0xb);if(_0x5adc61===_0x160d81)break;else _0x43822b['push'](_0x43822b['shift']());}catch(_0x282b2b){_0x43822b['push'](_0x43822b['shift']());}}}(a9_0x2299,0xe64ed));import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0x2299(){const _0x405ae7=['101290hswqGq','3391659IbdTRB','24363yHnLhg','80bfkIEH','1641468VRqmAz','286NtTkeq','56bfkaZJ','1154488Zkwmrr','1243iHUamX','1452744IbGxAI','268060WWYatZ'];a9_0x2299=function(){return _0x405ae7;};return a9_0x2299();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x34e289=a10_0x3413;(function(_0x3e68ff,_0xb5b459){const _0x4b4e6d=a10_0x3413,_0x498ba3=_0x3e68ff();while(!![]){try{const _0x32f312=parseInt(_0x4b4e6d(0x20c))/0x1*(-parseInt(_0x4b4e6d(0x232))/0x2)+-parseInt(_0x4b4e6d(0x224))/0x3*(-parseInt(_0x4b4e6d(0x209))/0x4)+parseInt(_0x4b4e6d(0x236))/0x5+-parseInt(_0x4b4e6d(0x20f))/0x6*(-parseInt(_0x4b4e6d(0x22f))/0x7)+parseInt(_0x4b4e6d(0x22c))/0x8*(parseInt(_0x4b4e6d(0x1f0))/0x9)+-parseInt(_0x4b4e6d(0x213))/0xa*(parseInt(_0x4b4e6d(0x237))/0xb)+-parseInt(_0x4b4e6d(0x215))/0xc*(-parseInt(_0x4b4e6d(0x1ee))/0xd);if(_0x32f312===_0xb5b459)break;else _0x498ba3['push'](_0x498ba3['shift']());}catch(_0x28120a){_0x498ba3['push'](_0x498ba3['shift']());}}}(a10_0x51a3,0xb82d6));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_0x34e289(0x1f8),ARTIFACT_SOURCE_AGENT=a10_0x34e289(0x212),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x34e289(0x222),'react-dom','lodash',a10_0x34e289(0x229),a10_0x34e289(0x1f2),a10_0x34e289(0x1fc)];function a10_0x3413(_0x5b4108,_0x16de1a){_0x5b4108=_0x5b4108-0x1e6;const _0x51a377=a10_0x51a3();let _0x341314=_0x51a377[_0x5b4108];return _0x341314;}function a10_0x51a3(){const _0x3005b1=['react_module\x20imports\x20are\x20limited\x20to:\x20','write','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','react','File\x20path\x20is\x20required.','3dwKvCE','createTime','num','/update','.\x20Unsupported:\x20','dayjs','deleted','parse','8gLKHor','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','appCode','8428ISwXYM','file','Updated\x20Artifact\x20','4VzoxdH','updateTime','number','/client/artifact/','1294700iwAYBa','22SgeRjG','lastIndex','add','POST','build','create','length','some','compiledContent','join','map','6098209IMKnNb','verbose','9964071BzpbLI','File\x20is\x20not\x20a\x20regular\x20file:\x20','antd','content','description','object','data','source','react_module','Preview:\x20create\x20react_module\x20Artifact','Created\x20Artifact\x20','/client/artifact/create','@ant-design/icons','update','Optional\x20favorite-state\x20filter','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','bool','artifactType','validation','favorite','string','List\x20current-app\x20react_module\x20Artifacts','artifact','includes','Invalid\x20JSON\x20for\x20--metadata:\x20','2201192LFgMqQ','--metadata\x20must\x20be\x20a\x20JSON\x20object.','detail','736927Uhgimm','isFile','Artifact\x20display\x20name','276STagUs','Artifact\x20ID','flag','AGENT','1062950zSBFMH','trim','12KZquUD','str','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','name','metadata','startsWith','test','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','split'];a10_0x51a3=function(){return _0x3005b1;};return a10_0x51a3();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x34e289(0x1ec)](',\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_0x34e289(0x230),'type':a10_0x34e289(0x204),'required':!![],'description':a10_0x34e289(0x221)},ARTIFACT_NAME_FLAG={'name':a10_0x34e289(0x219),'type':a10_0x34e289(0x204),'description':a10_0x34e289(0x20e)},METADATA_FLAG={'name':a10_0x34e289(0x21a),'type':a10_0x34e289(0x204),'description':a10_0x34e289(0x22d)};function isPlainObject(_0x5b896c){const _0x583d89=a10_0x34e289;return typeof _0x5b896c===_0x583d89(0x1f5)&&_0x5b896c!==null&&!Array['isArray'](_0x5b896c);}function readSourceFile(_0x1ad9b0){const _0x559805=a10_0x34e289;if(!_0x1ad9b0)throw CliErrors[_0x559805(0x202)](_0x559805(0x223));if(!existsSync(_0x1ad9b0))throw CliErrors[_0x559805(0x202)]('File\x20not\x20found:\x20'+_0x1ad9b0);if(!statSync(_0x1ad9b0)[_0x559805(0x20d)]())throw CliErrors[_0x559805(0x202)](_0x559805(0x1f1)+_0x1ad9b0);const _0x246e4a=readFileSync(_0x1ad9b0,'utf8');return validateReactModuleSource(_0x246e4a),_0x246e4a;}function parseMetadata(_0x3cedef){const _0x4a8e6b=a10_0x34e289;if(!_0x3cedef)return undefined;let _0x374a2a;try{_0x374a2a=JSON[_0x4a8e6b(0x22b)](_0x3cedef);}catch{throw CliErrors['validation'](_0x4a8e6b(0x208)+_0x3cedef);}if(!isPlainObject(_0x374a2a))throw CliErrors[_0x4a8e6b(0x202)](_0x4a8e6b(0x20a));const _0x5cce98={..._0x374a2a};return delete _0x5cce98[_0x4a8e6b(0x1eb)],_0x5cce98;}function getPackageName(_0x17612b){const _0x444ead=a10_0x34e289;if(_0x17612b[_0x444ead(0x21b)]('@')){const [_0x3c1176,_0x164239]=_0x17612b[_0x444ead(0x21e)]('/');return _0x3c1176&&_0x164239?_0x3c1176+'/'+_0x164239:_0x17612b;}return _0x17612b['split']('/')[0x0]||_0x17612b;}function validateAllowedImports(_0x409ff6){const _0x3afa88=a10_0x34e289,_0x45b27d=new Set();for(const _0x160520 of IMPORT_SOURCE_PATTERNS){_0x160520[_0x3afa88(0x238)]=0x0;let _0x59ce3e;while((_0x59ce3e=_0x160520['exec'](_0x409ff6))!==null){const _0x12f947=_0x59ce3e[0x1]?.['trim']();_0x12f947&&_0x45b27d[_0x3afa88(0x239)](_0x12f947);}}const _0xd179e9=[..._0x45b27d]['map'](getPackageName)['filter'](_0x131fb7=>!ALLOWED_REACT_MODULE_IMPORTS[_0x3afa88(0x207)](_0x131fb7));if(_0xd179e9['length']>0x0)throw CliErrors['validation'](_0x3afa88(0x21f)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x3afa88(0x228)+[...new Set(_0xd179e9)][_0x3afa88(0x1ec)](',\x20'));}export function validateReactModuleSource(_0xcc2215){const _0x26e63e=a10_0x34e289;if(!_0xcc2215[_0x26e63e(0x214)]())throw CliErrors['validation']('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x26e63e(0x1ea)](_0x3719a6=>_0x3719a6[_0x26e63e(0x21c)](_0xcc2215)))throw CliErrors[_0x26e63e(0x202)](_0x26e63e(0x21d));validateAllowedImports(_0xcc2215);}function buildArtifactInput(_0x5bb02e){const _0x49440d=a10_0x34e289,_0x4dd189=readSourceFile(_0x5bb02e['str'](_0x49440d(0x230))),_0x4469b1=_0x5bb02e['str']('name')['trim'](),_0x52258f=parseMetadata(_0x5bb02e[_0x49440d(0x216)](_0x49440d(0x21a)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4469b1?{'name':_0x4469b1}:{},'content':_0x4dd189,..._0x52258f?{'metadata':_0x52258f}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x410312){const _0x372eac=a10_0x34e289;return{'id':_0x410312['id'],'name':_0x410312[_0x372eac(0x219)],'artifactType':_0x410312['artifactType'],'source':_0x410312[_0x372eac(0x1f7)],'favorite':_0x410312[_0x372eac(0x203)],'deleted':_0x410312[_0x372eac(0x22a)],'createTime':_0x410312[_0x372eac(0x225)],'updateTime':_0x410312[_0x372eac(0x233)]};}function detailArtifact(_0x5a744e){const _0x57d796=a10_0x34e289;return{'id':_0x5a744e['id'],'appCode':_0x5a744e[_0x57d796(0x22e)],'name':_0x5a744e[_0x57d796(0x219)],'artifactType':_0x5a744e[_0x57d796(0x201)],'source':_0x5a744e['source'],'favorite':_0x5a744e[_0x57d796(0x203)],'deleted':_0x5a744e[_0x57d796(0x22a)],'content':_0x5a744e[_0x57d796(0x1f3)]??'','compiledContent':_0x5a744e[_0x57d796(0x1eb)],'metadata':_0x5a744e[_0x57d796(0x21a)]??{},'createTime':_0x5a744e[_0x57d796(0x225)],'updateTime':_0x5a744e['updateTime']};}function readFavoriteFlag(_0xbf23a9){const _0x384445=a10_0x34e289,_0x284169=_0xbf23a9[_0x384445(0x211)](_0x384445(0x203));return _0x284169===undefined||_0x284169===null||_0x284169===''?undefined:_0xbf23a9[_0x384445(0x200)]('favorite');}const artifactList={'service':'artifact','command':'list','description':a10_0x34e289(0x205),'risk':a10_0x34e289(0x218),'flags':[{'name':a10_0x34e289(0x1f7),'type':a10_0x34e289(0x204),'description':a10_0x34e289(0x217)},{'name':a10_0x34e289(0x203),'type':'boolean','description':a10_0x34e289(0x1fe)},VERBOSE_FLAG],async 'execute'(_0x4e36ed){const _0x44b627=a10_0x34e289,_0x6d5fb9=await listRuntimeArtifacts(_0x4e36ed['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4e36ed[_0x44b627(0x216)](_0x44b627(0x1f7))?{'source':_0x4e36ed['str'](_0x44b627(0x1f7))}:{},...readFavoriteFlag(_0x4e36ed)!==undefined?{'favorite':readFavoriteFlag(_0x4e36ed)}:{}});return{'ok':!![],'data':{'total':_0x6d5fb9[_0x44b627(0x1e9)],'items':_0x4e36ed[_0x44b627(0x200)](_0x44b627(0x1ef))?_0x6d5fb9:_0x6d5fb9[_0x44b627(0x1ed)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x34e289(0x206),'command':a10_0x34e289(0x20b),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':'read','flags':[{...ID_FLAG,'description':a10_0x34e289(0x210)}],async 'execute'(_0x215f3e){const _0x1c6840=a10_0x34e289,_0x310fe1=await getRuntimeArtifact(_0x215f3e[_0x1c6840(0x226)]('id'),_0x215f3e[_0x1c6840(0x22e)]);return{'ok':!![],'data':detailArtifact(_0x310fe1)};}},artifactCreate={'service':a10_0x34e289(0x206),'command':a10_0x34e289(0x1e8),'description':a10_0x34e289(0x1ff),'risk':a10_0x34e289(0x220),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5a9454){const _0x8fe985=a10_0x34e289,_0xdf4d9e=buildArtifactInput(_0x5a9454),_0x1424a7=await createRuntimeArtifact(_0x5a9454[_0x8fe985(0x22e)],_0xdf4d9e);return{'ok':!![],'data':detailArtifact(_0x1424a7),'message':_0x8fe985(0x1fa)+_0x1424a7['id']+(_0x1424a7[_0x8fe985(0x219)]?'\x20('+_0x1424a7[_0x8fe985(0x219)]+')':'')};},async 'dryRun'(_0x13cbf9){const _0xca2334=a10_0x34e289,_0x17f1b5=buildArtifactInput(_0x13cbf9);return dryRun('POST',_0xca2334(0x1fb))['body']({'appCode':_0x13cbf9['appCode'],..._0x17f1b5})[_0xca2334(0x1f4)](_0xca2334(0x1f9))[_0xca2334(0x1e7)]();},'writeEventSubject'(_0x1cdef4){const _0x488840=a10_0x34e289,_0x4514f8=_0x1cdef4[_0x488840(0x1f6)]?.['id'];if(typeof _0x4514f8!==_0x488840(0x204)&&typeof _0x4514f8!==_0x488840(0x234))return undefined;return{'kind':_0x488840(0x206),'id':String(_0x4514f8),'action':'create'};}},artifactUpdate={'service':a10_0x34e289(0x206),'command':a10_0x34e289(0x1fd),'description':'Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x34e289(0x220),'flags':[{...ID_FLAG,'description':a10_0x34e289(0x210)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x36405f){const _0x48d41e=a10_0x34e289,_0xc71bf8=_0x36405f['num']('id'),_0x3d4346=buildArtifactInput(_0x36405f),_0x1920e7=await updateRuntimeArtifact(_0xc71bf8,_0x36405f[_0x48d41e(0x22e)],_0x3d4346);return{'ok':!![],'data':detailArtifact(_0x1920e7),'message':_0x48d41e(0x231)+_0x1920e7['id']+(_0x1920e7[_0x48d41e(0x219)]?'\x20('+_0x1920e7[_0x48d41e(0x219)]+')':'')};},async 'dryRun'(_0x4fb1d6){const _0x1946b4=a10_0x34e289,_0x129afa=_0x4fb1d6[_0x1946b4(0x226)]('id'),_0x3627bf=buildArtifactInput(_0x4fb1d6);return dryRun(_0x1946b4(0x1e6),_0x1946b4(0x235)+_0x129afa+_0x1946b4(0x227))['body']({'appCode':_0x4fb1d6[_0x1946b4(0x22e)],..._0x3627bf})[_0x1946b4(0x1f4)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x129afa)[_0x1946b4(0x1e7)]();},'writeEventSubject'(_0x4b8af3){const _0x327841=a10_0x34e289,_0x57a153=_0x4b8af3['data']?.['id'];if(typeof _0x57a153!==_0x327841(0x204)&&typeof _0x57a153!==_0x327841(0x234))return undefined;return{'kind':_0x327841(0x206),'id':String(_0x57a153),'action':_0x327841(0x1fd)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x4f2161=a10_0x10c1;(function(_0x33d9db,_0x181993){const _0x37a90f=a10_0x10c1,_0x2a4511=_0x33d9db();while(!![]){try{const _0x2319cf=parseInt(_0x37a90f(0xcc))/0x1+-parseInt(_0x37a90f(0x88))/0x2*(-parseInt(_0x37a90f(0xc8))/0x3)+-parseInt(_0x37a90f(0xc0))/0x4*(-parseInt(_0x37a90f(0xd8))/0x5)+-parseInt(_0x37a90f(0xd3))/0x6+parseInt(_0x37a90f(0xca))/0x7*(-parseInt(_0x37a90f(0x87))/0x8)+-parseInt(_0x37a90f(0x8e))/0x9+-parseInt(_0x37a90f(0x9c))/0xa*(-parseInt(_0x37a90f(0xbe))/0xb);if(_0x2319cf===_0x181993)break;else _0x2a4511['push'](_0x2a4511['shift']());}catch(_0x83b13f){_0x2a4511['push'](_0x2a4511['shift']());}}}(a10_0x4e3f,0xb3733));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a10_0x10c1(_0x3a7d25,_0x288177){_0x3a7d25=_0x3a7d25-0x87;const _0x4e3f74=a10_0x4e3f();let _0x10c1ab=_0x4e3f74[_0x3a7d25];return _0x10c1ab;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE='react_module',ARTIFACT_SOURCE_AGENT=a10_0x4f2161(0xcd),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x4f2161(0x9d),'react-dom',a10_0x4f2161(0xab),a10_0x4f2161(0xcb),a10_0x4f2161(0xc6),'@ant-design/icons'];function a10_0x4e3f(){const _0x427274=['Preview:\x20create\x20react_module\x20Artifact','14RIuNLK','dayjs','465124JAPocs','AGENT','body','num','validation','startsWith','Show\x20one\x20Artifact\x20by\x20id','1599990mfntKS','content','str','POST','artifactType','5JOVeSL','5375072vNnMip','6022etcwUj','add','compiledContent','verbose','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Invalid\x20JSON\x20for\x20--metadata:\x20','13166793RvDWCu','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','List\x20current-app\x20react_module\x20Artifacts','description','bool','/update','create','file','write','join','name','deleted','react_module\x20imports\x20are\x20limited\x20to:\x20','includes','10wmBxsN','react','trim','File\x20not\x20found:\x20','split','Updated\x20Artifact\x20','flag','parse','File\x20is\x20not\x20a\x20regular\x20file:\x20','updateTime','number','Artifact\x20ID','boolean','lastIndex','/client/artifact/create','lodash','appCode','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','build','Preview:\x20update\x20react_module\x20Artifact\x20','read','metadata','utf8','isArray','object','favorite','list','Created\x20Artifact\x20','string','isFile','createTime','artifact','test','Optional\x20favorite-state\x20filter','21430167txVBom','length','3400500dCyzVe','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','update','data','exec','--metadata\x20must\x20be\x20a\x20JSON\x20object.','antd','source','543qAylXx'];a10_0x4e3f=function(){return _0x427274;};return a10_0x4e3f();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x4f2161(0x97)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x4f2161(0x95),'type':'string','required':!![],'description':a10_0x4f2161(0x8c)},ARTIFACT_NAME_FLAG={'name':a10_0x4f2161(0x98),'type':a10_0x4f2161(0xb8),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':'metadata','type':a10_0x4f2161(0xb8),'description':a10_0x4f2161(0xad)};function isPlainObject(_0x497e65){const _0x76a763=a10_0x4f2161;return typeof _0x497e65===_0x76a763(0xb4)&&_0x497e65!==null&&!Array[_0x76a763(0xb3)](_0x497e65);}function readSourceFile(_0x4bafdd){const _0x33b232=a10_0x4f2161;if(!_0x4bafdd)throw CliErrors[_0x33b232(0xd0)]('File\x20path\x20is\x20required.');if(!existsSync(_0x4bafdd))throw CliErrors[_0x33b232(0xd0)](_0x33b232(0x9f)+_0x4bafdd);if(!statSync(_0x4bafdd)[_0x33b232(0xb9)]())throw CliErrors[_0x33b232(0xd0)](_0x33b232(0xa4)+_0x4bafdd);const _0x16fd4a=readFileSync(_0x4bafdd,_0x33b232(0xb2));return validateReactModuleSource(_0x16fd4a),_0x16fd4a;}function parseMetadata(_0x27253d){const _0x5cefc8=a10_0x4f2161;if(!_0x27253d)return undefined;let _0x963a2;try{_0x963a2=JSON[_0x5cefc8(0xa3)](_0x27253d);}catch{throw CliErrors[_0x5cefc8(0xd0)](_0x5cefc8(0x8d)+_0x27253d);}if(!isPlainObject(_0x963a2))throw CliErrors['validation'](_0x5cefc8(0xc5));const _0x8e1d26={..._0x963a2};return delete _0x8e1d26[_0x5cefc8(0x8a)],_0x8e1d26;}function getPackageName(_0x114c55){const _0x531098=a10_0x4f2161;if(_0x114c55[_0x531098(0xd1)]('@')){const [_0x51f067,_0xdf182b]=_0x114c55[_0x531098(0xa0)]('/');return _0x51f067&&_0xdf182b?_0x51f067+'/'+_0xdf182b:_0x114c55;}return _0x114c55['split']('/')[0x0]||_0x114c55;}function validateAllowedImports(_0x434361){const _0x5f4820=a10_0x4f2161,_0x2cf0f9=new Set();for(const _0x5068a2 of IMPORT_SOURCE_PATTERNS){_0x5068a2[_0x5f4820(0xa9)]=0x0;let _0x53c8ac;while((_0x53c8ac=_0x5068a2[_0x5f4820(0xc4)](_0x434361))!==null){const _0x2b96ed=_0x53c8ac[0x1]?.[_0x5f4820(0x9e)]();_0x2b96ed&&_0x2cf0f9[_0x5f4820(0x89)](_0x2b96ed);}}const _0x47ca96=[..._0x2cf0f9]['map'](getPackageName)['filter'](_0x2e77ae=>!ALLOWED_REACT_MODULE_IMPORTS[_0x5f4820(0x9b)](_0x2e77ae));if(_0x47ca96[_0x5f4820(0xbf)]>0x0)throw CliErrors[_0x5f4820(0xd0)](_0x5f4820(0x9a)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x47ca96)][_0x5f4820(0x97)](',\x20'));}export function validateReactModuleSource(_0x4f9fb6){const _0x510ef0=a10_0x4f2161;if(!_0x4f9fb6[_0x510ef0(0x9e)]())throw CliErrors[_0x510ef0(0xd0)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS['some'](_0x13d636=>_0x13d636[_0x510ef0(0xbc)](_0x4f9fb6)))throw CliErrors[_0x510ef0(0xd0)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x4f9fb6);}function buildArtifactInput(_0x39bd31){const _0x2df90b=a10_0x4f2161,_0x3bf7c3=readSourceFile(_0x39bd31[_0x2df90b(0xd5)](_0x2df90b(0x95))),_0x14bb29=_0x39bd31[_0x2df90b(0xd5)](_0x2df90b(0x98))[_0x2df90b(0x9e)](),_0x24b621=parseMetadata(_0x39bd31['str'](_0x2df90b(0xb1)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x14bb29?{'name':_0x14bb29}:{},'content':_0x3bf7c3,..._0x24b621?{'metadata':_0x24b621}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x44f640){const _0x4a2a2b=a10_0x4f2161;return{'id':_0x44f640['id'],'name':_0x44f640['name'],'artifactType':_0x44f640[_0x4a2a2b(0xd7)],'source':_0x44f640[_0x4a2a2b(0xc7)],'favorite':_0x44f640[_0x4a2a2b(0xb5)],'deleted':_0x44f640[_0x4a2a2b(0x99)],'createTime':_0x44f640[_0x4a2a2b(0xba)],'updateTime':_0x44f640['updateTime']};}function detailArtifact(_0x3ade15){const _0x44652c=a10_0x4f2161;return{'id':_0x3ade15['id'],'appCode':_0x3ade15[_0x44652c(0xac)],'name':_0x3ade15[_0x44652c(0x98)],'artifactType':_0x3ade15[_0x44652c(0xd7)],'source':_0x3ade15['source'],'favorite':_0x3ade15[_0x44652c(0xb5)],'deleted':_0x3ade15['deleted'],'content':_0x3ade15[_0x44652c(0xd4)]??'','compiledContent':_0x3ade15[_0x44652c(0x8a)],'metadata':_0x3ade15[_0x44652c(0xb1)]??{},'createTime':_0x3ade15['createTime'],'updateTime':_0x3ade15[_0x44652c(0xa5)]};}function readFavoriteFlag(_0x10acf8){const _0xd7be0d=a10_0x4f2161,_0x2fed11=_0x10acf8[_0xd7be0d(0xa2)](_0xd7be0d(0xb5));return _0x2fed11===undefined||_0x2fed11===null||_0x2fed11===''?undefined:_0x10acf8[_0xd7be0d(0x92)](_0xd7be0d(0xb5));}const artifactList={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0xb6),'description':a10_0x4f2161(0x90),'risk':a10_0x4f2161(0xb0),'flags':[{'name':'source','type':a10_0x4f2161(0xb8),'description':a10_0x4f2161(0x8f)},{'name':'favorite','type':a10_0x4f2161(0xa8),'description':a10_0x4f2161(0xbd)},VERBOSE_FLAG],async 'execute'(_0x33436f){const _0x171b11=a10_0x4f2161,_0x2c1091=await listRuntimeArtifacts(_0x33436f['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x33436f[_0x171b11(0xd5)](_0x171b11(0xc7))?{'source':_0x33436f[_0x171b11(0xd5)](_0x171b11(0xc7))}:{},...readFavoriteFlag(_0x33436f)!==undefined?{'favorite':readFavoriteFlag(_0x33436f)}:{}});return{'ok':!![],'data':{'total':_0x2c1091['length'],'items':_0x33436f[_0x171b11(0x92)](_0x171b11(0x8b))?_0x2c1091:_0x2c1091['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x4f2161(0xbb),'command':'detail','description':a10_0x4f2161(0xd2),'risk':a10_0x4f2161(0xb0),'flags':[{...ID_FLAG,'description':a10_0x4f2161(0xa7)}],async 'execute'(_0x5c6d92){const _0x4af2da=a10_0x4f2161,_0xca102=await getRuntimeArtifact(_0x5c6d92[_0x4af2da(0xcf)]('id'),_0x5c6d92[_0x4af2da(0xac)]);return{'ok':!![],'data':detailArtifact(_0xca102)};}},artifactCreate={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0x94),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x4f2161(0x96),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x50298d){const _0x1a3e0a=a10_0x4f2161,_0xbe5a37=buildArtifactInput(_0x50298d),_0x5430ca=await createRuntimeArtifact(_0x50298d['appCode'],_0xbe5a37);return{'ok':!![],'data':detailArtifact(_0x5430ca),'message':_0x1a3e0a(0xb7)+_0x5430ca['id']+(_0x5430ca['name']?'\x20('+_0x5430ca[_0x1a3e0a(0x98)]+')':'')};},async 'dryRun'(_0x4507df){const _0x5a106f=a10_0x4f2161,_0x5d21cc=buildArtifactInput(_0x4507df);return dryRun(_0x5a106f(0xd6),_0x5a106f(0xaa))['body']({'appCode':_0x4507df[_0x5a106f(0xac)],..._0x5d21cc})[_0x5a106f(0x91)](_0x5a106f(0xc9))[_0x5a106f(0xae)]();},'writeEventSubject'(_0x590077){const _0x51c9b0=a10_0x4f2161,_0x33dfa5=_0x590077[_0x51c9b0(0xc3)]?.['id'];if(typeof _0x33dfa5!=='string'&&typeof _0x33dfa5!==_0x51c9b0(0xa6))return undefined;return{'kind':_0x51c9b0(0xbb),'id':String(_0x33dfa5),'action':_0x51c9b0(0x94)};}},artifactUpdate={'service':a10_0x4f2161(0xbb),'command':a10_0x4f2161(0xc2),'description':a10_0x4f2161(0xc1),'risk':a10_0x4f2161(0x96),'flags':[{...ID_FLAG,'description':a10_0x4f2161(0xa7)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x103336){const _0xcb38eb=a10_0x4f2161,_0x5a7f1b=_0x103336[_0xcb38eb(0xcf)]('id'),_0xc67dfe=buildArtifactInput(_0x103336),_0x3e9c4c=await updateRuntimeArtifact(_0x5a7f1b,_0x103336[_0xcb38eb(0xac)],_0xc67dfe);return{'ok':!![],'data':detailArtifact(_0x3e9c4c),'message':_0xcb38eb(0xa1)+_0x3e9c4c['id']+(_0x3e9c4c['name']?'\x20('+_0x3e9c4c[_0xcb38eb(0x98)]+')':'')};},async 'dryRun'(_0x39a326){const _0x2111f9=a10_0x4f2161,_0x910377=_0x39a326['num']('id'),_0x161f56=buildArtifactInput(_0x39a326);return dryRun(_0x2111f9(0xd6),'/client/artifact/'+_0x910377+_0x2111f9(0x93))[_0x2111f9(0xce)]({'appCode':_0x39a326[_0x2111f9(0xac)],..._0x161f56})[_0x2111f9(0x91)](_0x2111f9(0xaf)+_0x910377)['build']();},'writeEventSubject'(_0x3f1d74){const _0x1ebcc4=a10_0x4f2161,_0x2fd53e=_0x3f1d74[_0x1ebcc4(0xc3)]?.['id'];if(typeof _0x2fd53e!==_0x1ebcc4(0xb8)&&typeof _0x2fd53e!==_0x1ebcc4(0xa6))return undefined;return{'kind':'artifact','id':String(_0x2fd53e),'action':_0x1ebcc4(0xc2)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x505f95=a11_0x4e37;(function(_0x14237a,_0x364444){const _0x130903=a11_0x4e37,_0xa78c2e=_0x14237a();while(!![]){try{const _0x95f03a=parseInt(_0x130903(0x139))/0x1+-parseInt(_0x130903(0xff))/0x2*(-parseInt(_0x130903(0x108))/0x3)+-parseInt(_0x130903(0x110))/0x4*(parseInt(_0x130903(0x120))/0x5)+-parseInt(_0x130903(0x137))/0x6*(-parseInt(_0x130903(0x135))/0x7)+parseInt(_0x130903(0x13b))/0x8*(parseInt(_0x130903(0xfe))/0x9)+-parseInt(_0x130903(0x121))/0xa*(-parseInt(_0x130903(0xf0))/0xb)+-parseInt(_0x130903(0x131))/0xc;if(_0x95f03a===_0x364444)break;else _0xa78c2e['push'](_0xa78c2e['shift']());}catch(_0x4ad7e9){_0xa78c2e['push'](_0xa78c2e['shift']());}}}(a11_0x1656,0x5f9ec));function a11_0x4e37(_0x2cd346,_0x15a89b){_0x2cd346=_0x2cd346-0xef;const _0x165671=a11_0x1656();let _0x4e37f8=_0x165671[_0x2cd346];return _0x4e37f8;}import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';function a11_0x1656(){const _0xcfd149=['access_key','padStart','test','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','3pmkHCS','data','accessKey','randomUUID','abort','stderr','auth','utf8','216zzyKZN','string','now','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20authorization\x20cancelled.','expired','),\x20retrying...','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','SIGINT','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','\x20remaining','getTime','write','/.device-auth','Invalid\x20access_key\x20returned\x20by\x20server.','validation','45855ufazFC','6615650TtOMkY','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','parse','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','stringify','apiError','boolean','AccessKey\x20saved\x20to\x20','application/json','AbortError','status','/device-auth?code=','Device\x20auth\x20API\x20returned\x20HTTP\x20','device','/api/device-auth/token','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','16194456EtSJHD','bool','lovrabet-cli','Write\x20to\x20global\x20config\x20(default)','907389VwEECB','url-only','36qNgEzK','code','450261MUzAzz','removeListener','21704iVYMfF','object','Write\x20to\x20project\x20config','Device\x20authorization\x20successful.','networkError','Verify:\x20','trim','nonInteractive','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','11BUmxtv','homeDirName','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','success','log','signal','floor','toISOString','&source=','Device\x20auth\x20API\x20error\x20(','\x20auth\x20device','scope','createdAt','project','954HjVsDl','118532byBEci','cancelled','global'];a11_0x1656=function(){return _0xcfd149;};return a11_0x1656();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x5b1ef6){const _0x1464ed=a11_0x4e37;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5b1ef6[_0x1464ed(0x132)]('global'),'explicitProject':_0x5b1ef6['bool'](_0x1464ed(0xfd)),'policy':'global-default'}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x51987e=a11_0x4e37;return crypto[_0x51987e(0x10b)]();}export function buildDeviceAuthUrl(_0x1ac78c,_0x3eba7f,_0x3aed15='lovrabet-cli'){const _0x2b0169=a11_0x4e37;return _0x1ac78c+_0x2b0169(0x12c)+encodeURIComponent(_0x3eba7f)+_0x2b0169(0xf8)+encodeURIComponent(_0x3aed15);}export function getDeviceCodePath(){const _0x5e03df=a11_0x4e37;return homedir()+'/'+PRODUCT_CONFIG[_0x5e03df(0xf1)]+_0x5e03df(0x11d);}export function readStoredDeviceCode(){const _0x241641=a11_0x4e37,_0x2ee787=getDeviceCodePath();if(!existsSync(_0x2ee787))return null;try{const _0x2466a1=readFileSync(_0x2ee787,{'encoding':_0x241641(0x10f)}),_0xe62c11=JSON[_0x241641(0x123)](_0x2466a1);if(_0xe62c11&&typeof _0xe62c11['code']===_0x241641(0x111)&&typeof _0xe62c11['createdAt']===_0x241641(0x111)&&(_0xe62c11[_0x241641(0xfb)]==='global'||_0xe62c11[_0x241641(0xfb)]===_0x241641(0xfd)))return _0xe62c11;}catch{}return null;}export function writeStoredDeviceCode(_0x419098,_0x2f2411){const _0x1d7695=a11_0x4e37,_0x16782f=getDeviceCodePath(),_0x26fa05=dirname(_0x16782f);!existsSync(_0x26fa05)&&mkdirSync(_0x26fa05,{'recursive':!![]});const _0x22655b={'code':_0x419098,'createdAt':new Date()[_0x1d7695(0xf7)](),'scope':_0x2f2411};writeFileSync(_0x16782f,JSON['stringify'](_0x22655b),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x205662=getDeviceCodePath();try{unlinkSync(_0x205662);}catch{}}export function isStoredDeviceCodeExpired(_0x35d24e){const _0x111f47=a11_0x4e37;return Date[_0x111f47(0x112)]()-new Date(_0x35d24e[_0x111f47(0xfc)])[_0x111f47(0x11b)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x21ddf9,_0x524690){const _0x2c9626=a11_0x4e37,_0x1ff92a=_0x21ddf9+_0x2c9626(0x12f),_0x322401=new AbortController(),_0x1c0103=setTimeout(()=>_0x322401[_0x2c9626(0x10c)](),0x2710),_0x595ada=await fetch(_0x1ff92a,{'method':'POST','headers':{'Content-Type':_0x2c9626(0x129)},'body':JSON[_0x2c9626(0x125)]({'code':_0x524690}),'signal':_0x322401[_0x2c9626(0xf5)]});clearTimeout(_0x1c0103);if(!_0x595ada['ok'])throw CliErrors[_0x2c9626(0x13f)](_0x2c9626(0x12d)+_0x595ada[_0x2c9626(0x12b)]);const _0x2ad6b6=await _0x595ada['json'](),_0x1e53a1=_0x2ad6b6[_0x2c9626(0x109)]&&typeof _0x2ad6b6[_0x2c9626(0x109)]===_0x2c9626(0x13c)?_0x2ad6b6[_0x2c9626(0x109)]:_0x2ad6b6;if(!_0x1e53a1||typeof _0x1e53a1['status']!==_0x2c9626(0x111))throw CliErrors[_0x2c9626(0x126)]('Invalid\x20device\x20auth\x20response');return{'status':_0x1e53a1[_0x2c9626(0x12b)],'access_key':typeof _0x1e53a1['access_key']===_0x2c9626(0x111)?_0x1e53a1[_0x2c9626(0x102)]:undefined};}export async function pollDeviceToken(_0xbf6fc6,_0x23ede4,_0x59a677){const _0x539309=a11_0x4e37;let _0x19de4e=0x0;for(let _0x613aac=0x0;_0x613aac<MAX_POLLS;_0x613aac++){if(_0x59a677['aborted'])throw CliErrors[_0x539309(0x100)]('Device\x20authorization\x20cancelled.');let _0x22221b;try{_0x22221b=await fetchDeviceToken(_0xbf6fc6,_0x23ede4);}catch(_0xe730f1){if(_0xe730f1 instanceof Error&&_0xe730f1['name']===_0x539309(0x12a))throw CliErrors['cancelled'](_0x539309(0x114));_0x19de4e++;if(_0x19de4e>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x539309(0x13f)](_0x539309(0x105));writeCliSideChannelLine(_0x539309(0xf9)+_0x19de4e+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x539309(0x116)),await sleep(POLL_INTERVAL_MS);continue;}_0x19de4e=0x0;if(_0x22221b[_0x539309(0x12b)]===_0x539309(0xf3)){if(!_0x22221b[_0x539309(0x102)])throw CliErrors[_0x539309(0x126)](_0x539309(0x11e));return _0x22221b[_0x539309(0x102)];}if(_0x22221b[_0x539309(0x12b)]===_0x539309(0x115)){deleteStoredDeviceCode();throw CliErrors[_0x539309(0x11f)](_0x539309(0x119));}const _0x55594c=(_0x613aac+0x1)*POLL_INTERVAL_MS,_0x3bfaf5=DEVICE_CODE_TTL_MS-_0x55594c,_0xe81d45=Math[_0x539309(0xf6)](_0x3bfaf5/0xea60),_0x35ea01=Math[_0x539309(0xf6)](_0x3bfaf5%0xea60/0x3e8);process[_0x539309(0x10d)][_0x539309(0x11c)]('\x0dWaiting\x20for\x20authorization...\x20'+_0xe81d45+':'+String(_0x35ea01)[_0x539309(0x103)](0x2,'0')+_0x539309(0x11a)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x539309(0x130));}function sleep(_0x1121fa){return new Promise(_0x451647=>setTimeout(_0x451647,_0x1121fa));}export const authDeviceDefinition={'service':a11_0x505f95(0x10e),'command':a11_0x505f95(0x12e),'description':a11_0x505f95(0x106),'risk':a11_0x505f95(0x11c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a11_0x505f95(0x127),'description':a11_0x505f95(0x134),'default':!![]},{'name':a11_0x505f95(0xfd),'type':a11_0x505f95(0x127),'description':a11_0x505f95(0x13d),'default':![]},{'name':'source','type':a11_0x505f95(0x111),'description':a11_0x505f95(0xef),'default':a11_0x505f95(0x133)},{'name':a11_0x505f95(0x136),'type':a11_0x505f95(0x127),'description':a11_0x505f95(0x122),'default':![]}],async 'execute'(_0x1147b5){const _0x74ad5d=a11_0x505f95,_0x312ada=resolveAuthScopeFlags(_0x1147b5),_0x16c711=_0x312ada[_0x74ad5d(0x101)]?'global':_0x74ad5d(0xfd),_0x2ea4d2=readScopedConfig(_0x312ada);if(_0x2ea4d2[_0x74ad5d(0x10a)])return{'ok':!![],'message':_0x74ad5d(0x107)};const _0x493046=(_0x1147b5['str']('source')||_0x74ad5d(0x133))[_0x74ad5d(0x141)](),_0x548512=getUserDomain(),_0x2588dc=readStoredDeviceCode(),_0x871600=_0x2588dc&&!isStoredDeviceCodeExpired(_0x2588dc)?_0x2588dc[_0x74ad5d(0x138)]:((()=>{const _0x408077=generateDeviceCode();return writeStoredDeviceCode(_0x408077,_0x16c711),_0x408077;})()),_0x17a793=buildDeviceAuthUrl(_0x548512,_0x871600,_0x493046);if(_0x1147b5[_0x74ad5d(0x132)](_0x74ad5d(0x136)))return console[_0x74ad5d(0xf4)](_0x17a793),{'ok':!![]};writeCliSideChannelLine(_0x74ad5d(0x117)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x17a793),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x74ad5d(0x113));if(_0x1147b5[_0x74ad5d(0x142)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x74ad5d(0xfa)),{'ok':!![],'message':_0x74ad5d(0xf2)};writeCliSideChannelLine(_0x74ad5d(0x124));const _0x4ae39a=new AbortController(),_0x3bda81=()=>{const _0x88af43=_0x74ad5d;_0x4ae39a[_0x88af43(0x10c)](),process[_0x88af43(0x13a)](_0x88af43(0x118),_0x3bda81);};process['once'](_0x74ad5d(0x118),_0x3bda81);let _0x7a6371;try{_0x7a6371=await pollDeviceToken(_0x548512,_0x871600,_0x4ae39a[_0x74ad5d(0xf5)]);}finally{process['removeListener']('SIGINT',_0x3bda81);}if(!ACCESS_KEY_PATTERN[_0x74ad5d(0x104)](_0x7a6371))throw CliErrors[_0x74ad5d(0x126)](_0x74ad5d(0x11e));const _0x5ccfbf=readScopedConfig(_0x312ada);return _0x5ccfbf[_0x74ad5d(0x10a)]=_0x7a6371,writeScopedConfig(_0x5ccfbf,_0x312ada),deleteStoredDeviceCode(),process[_0x74ad5d(0x10d)]['write']('\x0a'),writeCliSideChannelLine(_0x74ad5d(0x128)+_0x16c711+'\x20config.'),writeCliSideChannelLine(_0x74ad5d(0x140)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x74ad5d(0x13e)};}};
|
|
1
|
+
const a11_0x5d62c6=a11_0x17f2;(function(_0x17444e,_0x33a1a3){const _0x2716b1=a11_0x17f2,_0x547aa8=_0x17444e();while(!![]){try{const _0x46fbb7=-parseInt(_0x2716b1(0x134))/0x1*(parseInt(_0x2716b1(0x166))/0x2)+parseInt(_0x2716b1(0x13b))/0x3*(parseInt(_0x2716b1(0x169))/0x4)+-parseInt(_0x2716b1(0x141))/0x5*(parseInt(_0x2716b1(0x15a))/0x6)+parseInt(_0x2716b1(0x15e))/0x7+-parseInt(_0x2716b1(0x15f))/0x8+parseInt(_0x2716b1(0x131))/0x9*(-parseInt(_0x2716b1(0x165))/0xa)+parseInt(_0x2716b1(0x179))/0xb*(parseInt(_0x2716b1(0x16d))/0xc);if(_0x46fbb7===_0x33a1a3)break;else _0x547aa8['push'](_0x547aa8['shift']());}catch(_0x32ea97){_0x547aa8['push'](_0x547aa8['shift']());}}}(a11_0x9bdf,0xeaf05));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x17f2(_0x3336bb,_0x8d04ba){_0x3336bb=_0x3336bb-0x12f;const _0x9bdfb7=a11_0x9bdf();let _0x17f28d=_0x9bdfb7[_0x3336bb];return _0x17f28d;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x4cf8d9){const _0x315254=a11_0x17f2;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x4cf8d9['bool'](_0x315254(0x176)),'explicitProject':_0x4cf8d9[_0x315254(0x17c)](_0x315254(0x136)),'policy':_0x315254(0x151)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x490c67,_0x259023,_0x23bff9=a11_0x5d62c6(0x161)){const _0x582626=a11_0x5d62c6;return _0x490c67+_0x582626(0x14c)+encodeURIComponent(_0x259023)+_0x582626(0x13c)+encodeURIComponent(_0x23bff9);}export function getDeviceCodePath(){const _0x483450=a11_0x5d62c6;return homedir()+'/'+PRODUCT_CONFIG[_0x483450(0x17b)]+_0x483450(0x156);}export function readStoredDeviceCode(){const _0xd0bec0=a11_0x5d62c6,_0x3a841d=getDeviceCodePath();if(!existsSync(_0x3a841d))return null;try{const _0x393519=readFileSync(_0x3a841d,{'encoding':_0xd0bec0(0x16e)}),_0x2b654e=JSON[_0xd0bec0(0x145)](_0x393519);if(_0x2b654e&&typeof _0x2b654e[_0xd0bec0(0x15c)]===_0xd0bec0(0x150)&&typeof _0x2b654e[_0xd0bec0(0x13e)]===_0xd0bec0(0x150)&&(_0x2b654e[_0xd0bec0(0x132)]===_0xd0bec0(0x176)||_0x2b654e[_0xd0bec0(0x132)]===_0xd0bec0(0x136)))return _0x2b654e;}catch{}return null;}export function writeStoredDeviceCode(_0x14d728,_0x2867ad){const _0x2ec7fc=a11_0x5d62c6,_0x5e782b=getDeviceCodePath(),_0x22f84f=dirname(_0x5e782b);!existsSync(_0x22f84f)&&mkdirSync(_0x22f84f,{'recursive':!![]});const _0x3d44f9={'code':_0x14d728,'createdAt':new Date()[_0x2ec7fc(0x15b)](),'scope':_0x2867ad};writeFileSync(_0x5e782b,JSON[_0x2ec7fc(0x16f)](_0x3d44f9),{'encoding':_0x2ec7fc(0x16e),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x36b71a=getDeviceCodePath();try{unlinkSync(_0x36b71a);}catch{}}export function isStoredDeviceCodeExpired(_0x34c7e9){const _0x2b094c=a11_0x5d62c6;return Date['now']()-new Date(_0x34c7e9[_0x2b094c(0x13e)])[_0x2b094c(0x157)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x4848af,_0x2c274f){const _0x2e514d=a11_0x5d62c6,_0x420f5b=_0x4848af+_0x2e514d(0x13d),_0xcbeaa4=new AbortController(),_0x31e43d=setTimeout(()=>_0xcbeaa4[_0x2e514d(0x13a)](),0x2710),_0x117d40=await fetch(_0x420f5b,{'method':_0x2e514d(0x168),'headers':{'Content-Type':_0x2e514d(0x14f)},'body':JSON[_0x2e514d(0x16f)]({'code':_0x2c274f}),'signal':_0xcbeaa4[_0x2e514d(0x146)]});clearTimeout(_0x31e43d);if(!_0x117d40['ok'])throw CliErrors['networkError'](_0x2e514d(0x160)+_0x117d40[_0x2e514d(0x183)]);const _0x5f45a4=await _0x117d40[_0x2e514d(0x171)](),_0x37d7fa=_0x5f45a4['data']&&typeof _0x5f45a4[_0x2e514d(0x14e)]===_0x2e514d(0x140)?_0x5f45a4[_0x2e514d(0x14e)]:_0x5f45a4;if(!_0x37d7fa||typeof _0x37d7fa[_0x2e514d(0x183)]!==_0x2e514d(0x150))throw CliErrors[_0x2e514d(0x137)]('Invalid\x20device\x20auth\x20response');return{'status':_0x37d7fa[_0x2e514d(0x183)],'access_key':typeof _0x37d7fa['access_key']==='string'?_0x37d7fa['access_key']:undefined};}export async function pollDeviceToken(_0x5586b4,_0x51966c,_0x4784e9){const _0x3caab6=a11_0x5d62c6;let _0x4f8d4a=0x0;for(let _0x355f29=0x0;_0x355f29<MAX_POLLS;_0x355f29++){if(_0x4784e9[_0x3caab6(0x163)])throw CliErrors[_0x3caab6(0x148)](_0x3caab6(0x180));let _0x33644a;try{_0x33644a=await fetchDeviceToken(_0x5586b4,_0x51966c);}catch(_0x68a301){if(_0x68a301 instanceof Error&&_0x68a301[_0x3caab6(0x181)]===_0x3caab6(0x175))throw CliErrors['cancelled']('Device\x20authorization\x20cancelled.');_0x4f8d4a++;if(_0x4f8d4a>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x3caab6(0x17d)](_0x3caab6(0x182));writeCliSideChannelLine(_0x3caab6(0x162)+_0x4f8d4a+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x3caab6(0x178)),await sleep(POLL_INTERVAL_MS);continue;}_0x4f8d4a=0x0;if(_0x33644a[_0x3caab6(0x183)]===_0x3caab6(0x143)){if(!_0x33644a[_0x3caab6(0x177)])throw CliErrors[_0x3caab6(0x137)](_0x3caab6(0x15d));return _0x33644a[_0x3caab6(0x177)];}if(_0x33644a[_0x3caab6(0x183)]===_0x3caab6(0x154)){deleteStoredDeviceCode();throw CliErrors['validation'](_0x3caab6(0x144));}const _0x469c92=(_0x355f29+0x1)*POLL_INTERVAL_MS,_0x50f02b=DEVICE_CODE_TTL_MS-_0x469c92,_0x383c38=Math[_0x3caab6(0x174)](_0x50f02b/0xea60),_0x57b99a=Math['floor'](_0x50f02b%0xea60/0x3e8);process[_0x3caab6(0x149)][_0x3caab6(0x173)](_0x3caab6(0x155)+_0x383c38+':'+String(_0x57b99a)[_0x3caab6(0x130)](0x2,'0')+_0x3caab6(0x12f)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x3caab6(0x138)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x28ce15){return new Promise(_0x11ff97=>setTimeout(_0x11ff97,_0x28ce15));}export const authDeviceDefinition={'service':a11_0x5d62c6(0x16a),'command':a11_0x5d62c6(0x17f),'description':'Authorize\x20via\x20device\x20code\x20flow\x20(open\x20browser,\x20no\x20copy-paste)','risk':a11_0x5d62c6(0x173),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5d62c6(0x176),'type':'boolean','description':a11_0x5d62c6(0x16c),'default':!![]},{'name':'project','type':a11_0x5d62c6(0x152),'description':a11_0x5d62c6(0x14d),'default':![]},{'name':'source','type':a11_0x5d62c6(0x150),'description':a11_0x5d62c6(0x172),'default':a11_0x5d62c6(0x161)},{'name':a11_0x5d62c6(0x170),'type':a11_0x5d62c6(0x152),'description':a11_0x5d62c6(0x14b),'default':![]}],async 'execute'(_0x36015d){const _0x5cab97=a11_0x5d62c6,_0x12d18b=resolveAuthScopeFlags(_0x36015d),_0xe72de6=_0x12d18b[_0x5cab97(0x176)]?_0x5cab97(0x176):'project',_0xb765ce=readScopedConfig(_0x12d18b);if(_0xb765ce[_0x5cab97(0x17a)])return{'ok':!![],'message':_0x5cab97(0x159)};const _0x8152d8=(_0x36015d[_0x5cab97(0x184)]('source')||_0x5cab97(0x161))[_0x5cab97(0x133)](),_0x19df0b=getUserDomain(),_0x32711d=readStoredDeviceCode(),_0x3ec6b0=_0x32711d&&!isStoredDeviceCodeExpired(_0x32711d)?_0x32711d[_0x5cab97(0x15c)]:((()=>{const _0x24fef4=generateDeviceCode();return writeStoredDeviceCode(_0x24fef4,_0xe72de6),_0x24fef4;})()),_0x57b4db=buildDeviceAuthUrl(_0x19df0b,_0x3ec6b0,_0x8152d8);if(_0x36015d[_0x5cab97(0x17c)](_0x5cab97(0x170)))return console[_0x5cab97(0x158)](_0x57b4db),{'ok':!![]};writeCliSideChannelLine(_0x5cab97(0x14a)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x57b4db),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x36015d[_0x5cab97(0x16b)])return writeCliSideChannelLine(_0x5cab97(0x167)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x321ea8=new AbortController(),_0x2aa4e4=()=>{const _0x1f185d=_0x5cab97;_0x321ea8[_0x1f185d(0x13a)](),process['removeListener'](_0x1f185d(0x17e),_0x2aa4e4);};process[_0x5cab97(0x135)]('SIGINT',_0x2aa4e4);let _0x139c2c;try{_0x139c2c=await pollDeviceToken(_0x19df0b,_0x3ec6b0,_0x321ea8['signal']);}finally{process[_0x5cab97(0x13f)](_0x5cab97(0x17e),_0x2aa4e4);}if(!ACCESS_KEY_PATTERN[_0x5cab97(0x147)](_0x139c2c))throw CliErrors['apiError'](_0x5cab97(0x15d));const _0x175a4c=readScopedConfig(_0x12d18b);return _0x175a4c[_0x5cab97(0x17a)]=_0x139c2c,writeScopedConfig(_0x175a4c,_0x12d18b),deleteStoredDeviceCode(),process[_0x5cab97(0x149)][_0x5cab97(0x173)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0xe72de6+_0x5cab97(0x139)),writeCliSideChannelLine(_0x5cab97(0x142)+CLI_BIN_NAME+_0x5cab97(0x153)),{'ok':!![],'message':_0x5cab97(0x164)};}};function a11_0x9bdf(){const _0x4eab6b=['stringify','url-only','json','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','write','floor','AbortError','global','access_key','),\x20retrying...','4983EEuZjp','accessKey','homeDirName','bool','networkError','SIGINT','device','Device\x20authorization\x20cancelled.','name','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','status','str','\x20remaining','padStart','9KUkdGX','scope','trim','3uPLhvi','once','project','apiError','validation','\x20config.','abort','18nbxxnI','&source=','/api/device-auth/token','createdAt','removeListener','object','10RaxJjC','Verify:\x20','success','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','parse','signal','test','cancelled','stderr','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','/device-auth?code=','Write\x20to\x20project\x20config','data','application/json','string','global-default','boolean','\x20auth\x20status','expired','\x0dWaiting\x20for\x20authorization...\x20','/.device-auth','getTime','log','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','5417598cMnmmR','toISOString','code','Invalid\x20access_key\x20returned\x20by\x20server.','4200819bpNCvf','4256248dyEbhu','Device\x20auth\x20API\x20returned\x20HTTP\x20','lovrabet-cli','Device\x20auth\x20API\x20error\x20(','aborted','Device\x20authorization\x20successful.','18143860jaejqf','1210108BQIJpj','After\x20authorizing,\x20re-run:\x20','POST','327280OQfnwS','auth','nonInteractive','Write\x20to\x20global\x20config\x20(default)','154668tIKoCG','utf8'];a11_0x9bdf=function(){return _0x4eab6b;};return a11_0x9bdf();}
|