@lovrabet/lovrabet-cli 2.1.22-beta.6 → 2.1.23-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.d.ts +4 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/confirmation.d.ts +9 -0
- package/lib/runtime/confirmation.js +1 -0
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.d.ts +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.d.ts +2 -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
|
-
|
|
2
|
+
(function(_0x2b838c,_0x270b66){const _0x3029a2=a0_0x1af9,_0x342d24=_0x2b838c();while(!![]){try{const _0x49edd3=-parseInt(_0x3029a2(0x11d))/0x1*(parseInt(_0x3029a2(0x119))/0x2)+-parseInt(_0x3029a2(0x11e))/0x3+parseInt(_0x3029a2(0x123))/0x4*(-parseInt(_0x3029a2(0x12b))/0x5)+parseInt(_0x3029a2(0x10f))/0x6+parseInt(_0x3029a2(0x115))/0x7*(parseInt(_0x3029a2(0x105))/0x8)+-parseInt(_0x3029a2(0x117))/0x9+parseInt(_0x3029a2(0x106))/0xa*(parseInt(_0x3029a2(0x116))/0xb);if(_0x49edd3===_0x270b66)break;else _0x342d24['push'](_0x342d24['shift']());}catch(_0x5071d0){_0x342d24['push'](_0x342d24['shift']());}}}(a0_0xc236,0x94aeb));import{jsx as a0_0x133ef1}from'react/jsx-runtime';import a0_0x43c480 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_0x43c480(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);function a0_0x1af9(_0x1714bc,_0x19776b){_0x1714bc=_0x1714bc-0x105;const _0xc2361e=a0_0xc236();let _0x1af93f=_0xc2361e[_0x1714bc];return _0x1af93f;}async function main(){try{await run();}catch(_0x68ea44){handleError(_0x68ea44);}}async function run(){const _0x1ceee2=a0_0x1af9;let _0x42641b=cli[_0x1ceee2(0x122)][0x0],_0x5d4f75=cli[_0x1ceee2(0x122)][0x1];const _0x21f39a=cli['flags'];try{const {correctFlags:_0x29e382}=await import(_0x1ceee2(0x128)),_0x2b50dd=getAllDefinitions()[_0x1ceee2(0x109)](_0x25495a=>_0x25495a[_0x1ceee2(0x11b)]??[]),{flags:_0x582978,corrections:_0x391c4e}=_0x29e382(_0x21f39a,_0x2b50dd);if(_0x391c4e[_0x1ceee2(0x124)]>0x0){for(const _0x43d521 of _0x391c4e){process[_0x1ceee2(0x118)][_0x1ceee2(0x125)]('[preparse]\x20'+_0x43d521['handler']+_0x1ceee2(0x107)+_0x43d521[_0x1ceee2(0x108)]+'\x20->\x20--'+_0x43d521['corrected']+'\x0a');}Object[_0x1ceee2(0x12e)](_0x21f39a,_0x582978);}}catch{}if(!_0x42641b){const {waitUntilExit:_0x11270f}=render(a0_0x133ef1(Help,{}));await _0x11270f();return;}if(!isKnownService(_0x42641b)){const _0x446048=resolveDynamicServiceCommand(cli[_0x1ceee2(0x122)],_0x21f39a);if(_0x446048){if(_0x21f39a[_0x1ceee2(0x114)]){console[_0x1ceee2(0x10b)](generateCommandHelp(_0x446048[_0x1ceee2(0x113)]));return;}Object[_0x1ceee2(0x12e)](_0x21f39a,_0x446048[_0x1ceee2(0x11b)]);const _0x4bc08c=buildConfigFromFlags(_0x21f39a);await initGlobalEnvironment(_0x4bc08c);const _0x19ac24=createPipelineEnv(_0x4bc08c,_0x21f39a);_0x19ac24[_0x1ceee2(0x10d)]=_0x446048['args'],await runCommand(_0x446048['definition'],_0x19ac24);return;}if(_0x21f39a['help']){const _0x32be26=generateDynamicServiceHelp(_0x42641b);if(_0x32be26){console['log'](_0x32be26);return;}}const {waitUntilExit:_0x1132d4}=render(a0_0x133ef1(Help,{}));await _0x1132d4();return;}const _0x28b22b=getServiceEntry(_0x42641b);if(!_0x5d4f75){if(_0x21f39a[_0x1ceee2(0x114)]){console[_0x1ceee2(0x10b)](generateServiceHelp(_0x42641b));return;}if(_0x28b22b[_0x1ceee2(0x120)])_0x5d4f75=_0x28b22b[_0x1ceee2(0x120)];else{console['log'](generateServiceHelp(_0x42641b));return;}}const _0x1eddca=findDefinition(_0x42641b,_0x5d4f75);!_0x1eddca&&(console[_0x1ceee2(0x10b)](generateServiceHelp(_0x42641b)),handleError(CliErrors[_0x1ceee2(0x129)](_0x42641b+'\x20'+_0x5d4f75)));if(_0x21f39a[_0x1ceee2(0x114)]){console[_0x1ceee2(0x10b)](generateCommandHelp(_0x1eddca));return;}const _0x5c80c7=buildConfigFromFlags(_0x21f39a);await initGlobalEnvironment(_0x5c80c7);const _0x166bc9=createPipelineEnv(_0x5c80c7,_0x21f39a);_0x166bc9[_0x1ceee2(0x10d)]=cli['input'][_0x1ceee2(0x11a)](0x2),await runCommand(_0x1eddca,_0x166bc9);}function handleError(_0x45d4aa){const _0x386efd=a0_0x1af9;if(_0x45d4aa instanceof CliError){_0x45d4aa[_0x386efd(0x10a)]===_0x386efd(0x12d)&&(process[_0x386efd(0x118)][_0x386efd(0x125)](_0x386efd(0x127)),process[_0x386efd(0x111)](0x0));console[_0x386efd(0x110)](_0x386efd(0x10e)+_0x45d4aa[_0x386efd(0x126)]);if(_0x45d4aa['hint'])console['error'](_0x386efd(0x112)+_0x45d4aa[_0x386efd(0x11c)]);process[_0x386efd(0x111)](_0x45d4aa[_0x386efd(0x11f)]);}isUserCancellation(_0x45d4aa)&&(process[_0x386efd(0x118)][_0x386efd(0x125)](_0x386efd(0x127)),process[_0x386efd(0x111)](0x0)),console[_0x386efd(0x110)](_0x386efd(0x10c),_0x45d4aa),process['exit'](0x1);}function isUserCancellation(_0x46fac3){const _0x2d3b84=a0_0x1af9;if(!(_0x46fac3 instanceof Error))return![];if(_0x46fac3[_0x2d3b84(0x121)]===_0x2d3b84(0x12a))return!![];if(_0x46fac3[_0x2d3b84(0x10a)]===_0x2d3b84(0x12c))return!![];if(_0x46fac3[_0x2d3b84(0x10a)]==='ERR_STREAM_DESTROYED')return!![];return![];}function a0_0xc236(){const _0x3fb336=['definition','help','7KphKqi','451fRVqsv','5698242UTcNES','stderr','257016hZqJbC','slice','flags','hint','5IRvDtI','1107447QNFwuA','exitCode','defaultCommand','name','input','211884Zamfch','length','write','message','\x0aCancelled.\x0a','./framework/preparse.js','unknownCommand','ExitPromptError','65oXTPSV','ERR_USE_AFTER_CLOSE','cancelled','assign','7091832cqAfoU','451740YiEOgJ',':\x20--','original','flatMap','code','log','Unexpected\x20error:','args','Error:\x20','1223040rijlNu','error','exit','Hint:\x20'];a0_0xc236=function(){return _0x3fb336;};return a0_0xc236();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x1a0265=a1_0x186c;(function(_0xa0a462,_0x182f9f){const _0xe5eafc=a1_0x186c,_0x2d3728=_0xa0a462();while(!![]){try{const _0x3e0cd1=-parseInt(_0xe5eafc(0x24d))/0x1*(-parseInt(_0xe5eafc(0x22b))/0x2)+parseInt(_0xe5eafc(0x221))/0x3*(-parseInt(_0xe5eafc(0x24c))/0x4)+parseInt(_0xe5eafc(0x1f8))/0x5*(-parseInt(_0xe5eafc(0x20d))/0x6)+-parseInt(_0xe5eafc(0x200))/0x7*(-parseInt(_0xe5eafc(0x21b))/0x8)+parseInt(_0xe5eafc(0x201))/0x9*(-parseInt(_0xe5eafc(0x211))/0xa)+-parseInt(_0xe5eafc(0x217))/0xb+parseInt(_0xe5eafc(0x20c))/0xc*(parseInt(_0xe5eafc(0x1f1))/0xd);if(_0x3e0cd1===_0x182f9f)break;else _0x2d3728['push'](_0x2d3728['shift']());}catch(_0x5190cc){_0x2d3728['push'](_0x2d3728['shift']());}}}(a1_0x16a7,0xb5850));import{CliErrors}from'../../errors.js';function a1_0x186c(_0x268152,_0x43d738){_0x268152=_0x268152-0x1f1;const _0x16a786=a1_0x16a7();let _0x186c82=_0x16a786[_0x268152];return _0x186c82;}const CATEGORY_FLAG={'name':'category','type':a1_0x1a0265(0x250),'description':a1_0x1a0265(0x24a)},KEYWORD_FLAG={'name':a1_0x1a0265(0x236),'type':a1_0x1a0265(0x250),'description':a1_0x1a0265(0x240)},DOC_CODE_FLAG={'name':'code','type':a1_0x1a0265(0x250),'required':!![],'description':a1_0x1a0265(0x1fa)},DOCS=[{'code':'dataset_list','category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x218),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x265),'summary':'分页获取数据集列表','whenToUse':a1_0x1a0265(0x224),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1a0265(0x226),'responseHighlights':[a1_0x1a0265(0x25c),a1_0x1a0265(0x254)],'examples':[a1_0x1a0265(0x26d)],'notes':[a1_0x1a0265(0x253)],'markdown':[a1_0x1a0265(0x239),'',a1_0x1a0265(0x263)][a1_0x1a0265(0x234)]('\x0a')},{'code':'dataset_detail','category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x21d),'method':a1_0x1a0265(0x25e),'path':a1_0x1a0265(0x256),'summary':a1_0x1a0265(0x1f7),'whenToUse':a1_0x1a0265(0x1fb),'pathParams':[],'queryParams':[{'name':a1_0x1a0265(0x269),'description':'32-character\x20dataset\x20code'}],'bodySchema':'None','responseHighlights':[a1_0x1a0265(0x264),a1_0x1a0265(0x20a),a1_0x1a0265(0x261)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':['##\x20Dataset\x20detail','',a1_0x1a0265(0x1fe)][a1_0x1a0265(0x234)]('\x0a')},{'code':a1_0x1a0265(0x208),'category':'dataset','title':a1_0x1a0265(0x255),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x1f5),'summary':a1_0x1a0265(0x25b),'whenToUse':a1_0x1a0265(0x25d),'pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x259),'responseHighlights':[a1_0x1a0265(0x222),a1_0x1a0265(0x22e)],'examples':[a1_0x1a0265(0x244),a1_0x1a0265(0x24f)],'notes':[a1_0x1a0265(0x23f),a1_0x1a0265(0x1f2),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x1a0265(0x24b)],'markdown':[a1_0x1a0265(0x23a),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0x1a0265(0x266),'category':a1_0x1a0265(0x20f),'title':'Aggregate\x20dataset\x20data','method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x223),'summary':a1_0x1a0265(0x252),'whenToUse':'需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x249),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x1a0265(0x232)],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0x1a0265(0x23b),a1_0x1a0265(0x212)],'markdown':[a1_0x1a0265(0x209),'',a1_0x1a0265(0x23e)]['join']('\x0a')},{'code':a1_0x1a0265(0x23c),'category':a1_0x1a0265(0x20f),'title':'Get\x20one\x20dataset\x20record','method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x260),'summary':a1_0x1a0265(0x245),'whenToUse':a1_0x1a0265(0x248),'pathParams':[{'name':a1_0x1a0265(0x206),'description':'Current\x20app\x20code'},{'name':a1_0x1a0265(0x21a),'description':a1_0x1a0265(0x1fd)}],'queryParams':[],'bodySchema':a1_0x1a0265(0x231),'responseHighlights':[a1_0x1a0265(0x268)],'examples':[a1_0x1a0265(0x247)],'notes':[a1_0x1a0265(0x243)],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x1a0265(0x203),'category':a1_0x1a0265(0x20f),'title':a1_0x1a0265(0x20e),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x246),'summary':'创建数据','whenToUse':'需要向指定数据集新增一条业务数据时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x21a),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x235),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x1a0265(0x220)],'notes':[a1_0x1a0265(0x251)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x1a0265(0x22a),'method':'GET','path':a1_0x1a0265(0x227),'summary':'按应用和函数名精确获取\x20BF\x20运行契约','whenToUse':a1_0x1a0265(0x204),'pathParams':[{'name':a1_0x1a0265(0x206),'description':a1_0x1a0265(0x1ff)},{'name':a1_0x1a0265(0x241),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x219),'responseHighlights':[a1_0x1a0265(0x213)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x1a0265(0x22c)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x1a0265(0x1f4),'category':'bf','title':a1_0x1a0265(0x26b),'method':'POST','path':a1_0x1a0265(0x26c),'summary':a1_0x1a0265(0x225),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':a1_0x1a0265(0x206),'description':'Current\x20app\x20code'},{'name':a1_0x1a0265(0x241),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x1a0265(0x216),'responseHighlights':[a1_0x1a0265(0x210)],'examples':[a1_0x1a0265(0x202)],'notes':[a1_0x1a0265(0x25a)],'markdown':a1_0x1a0265(0x257)},{'code':'custom_sql_execute','category':a1_0x1a0265(0x23d),'title':a1_0x1a0265(0x21f),'method':a1_0x1a0265(0x26a),'path':a1_0x1a0265(0x21e),'summary':a1_0x1a0265(0x22d),'whenToUse':a1_0x1a0265(0x229),'pathParams':[],'queryParams':[],'bodySchema':a1_0x1a0265(0x258),'responseHighlights':[a1_0x1a0265(0x21c)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x1a0265(0x22f)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x4f2706){const _0x5b4398=a1_0x1a0265;return{'code':_0x4f2706[_0x5b4398(0x269)],'category':_0x4f2706[_0x5b4398(0x1f6)],'method':_0x4f2706[_0x5b4398(0x205)],'path':_0x4f2706['path'],'summary':_0x4f2706[_0x5b4398(0x242)],'whenToUse':_0x4f2706[_0x5b4398(0x237)]};}export function listApiDocEntries(_0x26a9b6={}){const _0x18fd65=a1_0x1a0265,_0x1b057c=String(_0x26a9b6[_0x18fd65(0x1f6)]||'')[_0x18fd65(0x25f)](),_0x42cee7=String(_0x26a9b6['keyword']||'')[_0x18fd65(0x25f)]()[_0x18fd65(0x1fc)]();return DOCS[_0x18fd65(0x1f3)](_0x2fb5f9=>{const _0x3f2407=_0x18fd65;if(_0x1b057c&&_0x2fb5f9[_0x3f2407(0x1f6)]!==_0x1b057c)return![];if(!_0x42cee7)return!![];return[_0x2fb5f9[_0x3f2407(0x269)],_0x2fb5f9[_0x3f2407(0x1f6)],_0x2fb5f9[_0x3f2407(0x205)],_0x2fb5f9[_0x3f2407(0x20b)],_0x2fb5f9[_0x3f2407(0x242)],_0x2fb5f9[_0x3f2407(0x237)],_0x2fb5f9[_0x3f2407(0x1f9)]][_0x3f2407(0x234)]('\x20')[_0x3f2407(0x1fc)]()[_0x3f2407(0x267)](_0x42cee7);})[_0x18fd65(0x207)](entrySummary);}export function getApiDocDetail(_0x17bde3){const _0x1a93e3=a1_0x1a0265,_0x5878fd=DOCS[_0x1a93e3(0x262)](_0x2a8e60=>_0x2a8e60[_0x1a93e3(0x269)]===_0x17bde3);if(!_0x5878fd)throw CliErrors[_0x1a93e3(0x233)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x17bde3);return{..._0x5878fd};}const apiDocList={'service':a1_0x1a0265(0x24e),'command':'list','description':a1_0x1a0265(0x238),'risk':a1_0x1a0265(0x228),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x117733){const _0x373611=a1_0x1a0265,_0x113edb=listApiDocEntries({'category':_0x117733['str'](_0x373611(0x1f6)),'keyword':_0x117733[_0x373611(0x230)](_0x373611(0x236))});return{'ok':!![],'data':{'total':_0x113edb[_0x373611(0x214)],'items':_0x113edb}};}},apiDocDetail={'service':a1_0x1a0265(0x24e),'command':'detail','description':a1_0x1a0265(0x215),'risk':a1_0x1a0265(0x228),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x23eab2){const _0x49d8cc=a1_0x1a0265;return{'ok':!![],'data':getApiDocDetail(_0x23eab2[_0x49d8cc(0x230)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];function a1_0x16a7(){const _0x449136=['toLowerCase','32-character\x20dataset\x20code','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Current\x20app\x20code','73549xmyNEj','1083042RzrODn','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','dataset_data_create','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','method','appCode','map','dataset_data_filter','##\x20Aggregate\x20dataset\x20data','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','path','103236SAlPal','1304634PEgxuK','Create\x20dataset\x20record','dataset','Returns\x20script\x20business\x20payload','80gopIYR','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','length','Show\x20runtime\x20API\x20documentation\x20by\x20code','{\x22param\x22:\x22value\x22}','198781djnEIr','List\x20datasets','None','datasetCode','40vguxWw','Returns\x20SQL\x20execution\x20payload','Dataset\x20detail','/api/custom/executeSql','Execute\x20custom\x20SQL','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','6UYYoed','tableData\x20contains\x20records','/api/{appCode}/{datasetCode}/aggregate','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','执行指定\x20BF\x20函数','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','/client/bff/endpoint/{appCode}/{functionName}','read','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','Get\x20BF\x20endpoint\x20function\x20contract','2YRXDag','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','执行自定义\x20SQL','paging\x20contains\x20pagination','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','str','{\x22id\x22:123}','where\x20filters\x20before\x20aggregation','validation','join','{\x22fieldName\x22:\x22value\x22}','keyword','whenToUse','List\x20available\x20runtime\x20API\x20documentation\x20entries','##\x20List\x20datasets','##\x20Filter\x20dataset\x20data','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','dataset_data_get_one','custom_sql','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','functionName','summary','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','查询单条数据','/api/{appCode}/{datasetCode}/create','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','已经知道记录\x20id,需要按数据集读取单条业务数据时使用','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','1624604yORGXb','538257MMUrQK','api-doc','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','string','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','聚合查询数据集数据','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','paging.totalCount\x20gives\x20total\x20rows','Filter\x20dataset\x20data','/api/dataset/getOneByCode?code={datasetCode}','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','条件过滤查询数据','tableData\x20contains\x20dataset\x20id/code/name','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','GET','trim','/api/{appCode}/{datasetCode}/getOne','operations\x20describes\x20runtime\x20APIs','find','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','fields/properties\x20describe\x20data\x20shape','/api/dataset/get-dataset-list-by-app-code','dataset_data_aggregate','includes','Returns\x20one\x20matching\x20business\x20record','code','POST','Execute\x20BF\x20endpoint\x20function','/api/endpoint/{appCode}/{functionName}','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','3926Sofvux','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','filter','bf_execute','/api/{appCode}/{datasetCode}/filter','category','获取数据集详情','15MFSykr','title','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用'];a1_0x16a7=function(){return _0x449136;};return a1_0x16a7();}
|
|
1
|
+
function a1_0x571c(){const _0x30bf15=['4oTQVdl','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','api-doc','Returns\x20SQL\x20execution\x20payload','datasetCode','paging.totalCount\x20gives\x20total\x20rows','/api/{appCode}/{datasetCode}/getOne','获取数据集详情','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','dataset_list','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','{\x22fieldName\x22:\x22value\x22}','length','custom_sql_execute','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','23317NaOMdw','read','POST','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Dataset\x20detail','trim','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','dataset_detail','string','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','3401985hKqTnc','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','functionName','List\x20datasets','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','str','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','dataset_data_aggregate','/api/{appCode}/{datasetCode}/filter','title','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','dataset_data_filter','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Current\x20app\x20code','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','执行自定义\x20SQL','28710370ksYmPZ','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','按应用和函数名精确获取\x20BF\x20运行契约','/api/dataset/get-dataset-list-by-app-code','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','##\x20Filter\x20dataset\x20data','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','custom_sql','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','1640zCKFPR','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','/api/{appCode}/{datasetCode}/aggregate','32-character\x20dataset\x20code','{\x22id\x22:123}','需要携带\x20where、orderBy、分页等条件读取业务数据时使用','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20BFF\x20functions\x20or\x20expose\x20platform-only\x20fields.','bf_execute','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','path','##\x20List\x20datasets','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','1840737eAPMJv','list','Aggregate\x20dataset\x20data','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','keyword','Get\x20one\x20dataset\x20record','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','summary','toLowerCase','whenToUse','845340pRGEAZ','tableData\x20contains\x20dataset\x20id/code/name','4480344lVGIUv','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Execute\x20BF\x20endpoint\x20function','filter','9ExQgas','聚合查询数据集数据','None','appCode','operations\x20describes\x20runtime\x20APIs','/client/bff/endpoint/{appCode}/{functionName}','map','/api/dataset/getOneByCode?code={datasetCode}','dataset','join','##\x20Dataset\x20detail','GET','List\x20available\x20runtime\x20API\x20documentation\x20entries','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','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','code','Returns\x20one\x20matching\x20business\x20record','已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','Returns\x20script\x20business\x20payload','API\x20doc\x20code\x20not\x20found:\x20','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','需要向指定数据集新增一条业务数据时使用','/api/custom/executeSql','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','创建数据','Exact\x20endpoint\x20function\x20name','执行指定\x20BF\x20函数','category','143981yXJKGo','/api/{appCode}/{datasetCode}/create','detail'];a1_0x571c=function(){return _0x30bf15;};return a1_0x571c();}const a1_0x554151=a1_0x15f7;(function(_0x101cc5,_0x50d467){const _0x182308=a1_0x15f7,_0xcb03ea=_0x101cc5();while(!![]){try{const _0x10a3c4=parseInt(_0x182308(0x172))/0x1+parseInt(_0x182308(0x14b))/0x2+-parseInt(_0x182308(0x140))/0x3*(-parseInt(_0x182308(0x175))/0x4)+parseInt(_0x182308(0x18e))/0x5+parseInt(_0x182308(0x14d))/0x6+parseInt(_0x182308(0x184))/0x7*(parseInt(_0x182308(0x1a9))/0x8)+-parseInt(_0x182308(0x153))/0x9*(parseInt(_0x182308(0x1a0))/0xa);if(_0x10a3c4===_0x50d467)break;else _0xcb03ea['push'](_0xcb03ea['shift']());}catch(_0xb1a639){_0xcb03ea['push'](_0xcb03ea['shift']());}}}(a1_0x571c,0x66561));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x554151(0x18c),'description':a1_0x554151(0x17f)},KEYWORD_FLAG={'name':'keyword','type':a1_0x554151(0x18c),'description':a1_0x554151(0x13f)},DOC_CODE_FLAG={'name':a1_0x554151(0x162),'type':a1_0x554151(0x18c),'required':!![],'description':a1_0x554151(0x1ac)},DOCS=[{'code':a1_0x554151(0x17e),'category':'dataset','title':a1_0x554151(0x191),'method':a1_0x554151(0x186),'path':a1_0x554151(0x1a3),'summary':'分页获取数据集列表','whenToUse':a1_0x554151(0x19e),'pathParams':[],'queryParams':[],'bodySchema':a1_0x554151(0x16a),'responseHighlights':[a1_0x554151(0x14c),a1_0x554151(0x17a)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x554151(0x18a)],'markdown':[a1_0x554151(0x13e),'',a1_0x554151(0x144)][a1_0x554151(0x15c)]('\x0a')},{'code':a1_0x554151(0x18b),'category':'dataset','title':a1_0x554151(0x188),'method':a1_0x554151(0x15e),'path':a1_0x554151(0x15a),'summary':a1_0x554151(0x17c),'whenToUse':'需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','pathParams':[],'queryParams':[{'name':a1_0x554151(0x162),'description':a1_0x554151(0x1ae)}],'bodySchema':a1_0x554151(0x155),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x554151(0x176),a1_0x554151(0x157)],'examples':[a1_0x554151(0x183)],'notes':[a1_0x554151(0x13c)],'markdown':[a1_0x554151(0x15d),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x554151(0x15c)]('\x0a')},{'code':a1_0x554151(0x19a),'category':a1_0x554151(0x15b),'title':'Filter\x20dataset\x20data','method':'POST','path':a1_0x554151(0x196),'summary':'条件过滤查询数据','whenToUse':a1_0x554151(0x1b0),'pathParams':[{'name':a1_0x554151(0x156),'description':'Current\x20app\x20code'},{'name':a1_0x554151(0x179),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x554151(0x187),'responseHighlights':['tableData\x20contains\x20records','paging\x20contains\x20pagination'],'examples':[a1_0x554151(0x160),'lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27'],'notes':[a1_0x554151(0x14f),a1_0x554151(0x161),a1_0x554151(0x199),a1_0x554151(0x18d)],'markdown':[a1_0x554151(0x1a5),'',a1_0x554151(0x1a6)][a1_0x554151(0x15c)]('\x0a')},{'code':a1_0x554151(0x195),'category':'dataset','title':a1_0x554151(0x142),'method':a1_0x554151(0x186),'path':a1_0x554151(0x1ad),'summary':a1_0x554151(0x154),'whenToUse':'需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','pathParams':[{'name':a1_0x554151(0x156),'description':'Current\x20app\x20code'},{'name':a1_0x554151(0x179),'description':a1_0x554151(0x1ae)}],'queryParams':[],'bodySchema':a1_0x554151(0x1a8),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases','where\x20filters\x20before\x20aggregation'],'examples':[a1_0x554151(0x167)],'notes':[a1_0x554151(0x143),a1_0x554151(0x1aa)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x554151(0x1a1)]['join']('\x0a')},{'code':'dataset_data_get_one','category':a1_0x554151(0x15b),'title':a1_0x554151(0x146),'method':a1_0x554151(0x186),'path':a1_0x554151(0x17b),'summary':'查询单条数据','whenToUse':'已经知道记录\x20id,需要按数据集读取单条业务数据时使用','pathParams':[{'name':a1_0x554151(0x156),'description':'Current\x20app\x20code'},{'name':a1_0x554151(0x179),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x554151(0x1af),'responseHighlights':[a1_0x554151(0x163)],'examples':[a1_0x554151(0x1a4)],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x554151(0x147)},{'code':'dataset_data_create','category':'dataset','title':'Create\x20dataset\x20record','method':a1_0x554151(0x186),'path':a1_0x554151(0x173),'summary':a1_0x554151(0x16e),'whenToUse':a1_0x554151(0x168),'pathParams':[{'name':'appCode','description':a1_0x554151(0x19d)},{'name':a1_0x554151(0x179),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x554151(0x180),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x554151(0x16b)],'notes':[a1_0x554151(0x150)],'markdown':a1_0x554151(0x19c)},{'code':'bf_detail','category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':a1_0x554151(0x15e),'path':a1_0x554151(0x158),'summary':a1_0x554151(0x1a2),'whenToUse':'已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','pathParams':[{'name':a1_0x554151(0x156),'description':a1_0x554151(0x19d)},{'name':a1_0x554151(0x190),'description':a1_0x554151(0x16f)}],'queryParams':[],'bodySchema':a1_0x554151(0x155),'responseHighlights':[a1_0x554151(0x18f)],'examples':[a1_0x554151(0x19b)],'notes':[a1_0x554151(0x13a)],'markdown':a1_0x554151(0x1ab)},{'code':a1_0x554151(0x13b),'category':'bf','title':a1_0x554151(0x151),'method':a1_0x554151(0x186),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x554151(0x170),'whenToUse':a1_0x554151(0x164),'pathParams':[{'name':'appCode','description':a1_0x554151(0x19d)},{'name':'functionName','description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x554151(0x165)],'examples':[a1_0x554151(0x198)],'notes':[a1_0x554151(0x194)],'markdown':a1_0x554151(0x16d)},{'code':a1_0x554151(0x182),'category':a1_0x554151(0x1a7),'title':'Execute\x20custom\x20SQL','method':a1_0x554151(0x186),'path':a1_0x554151(0x169),'summary':a1_0x554151(0x19f),'whenToUse':a1_0x554151(0x16c),'pathParams':[],'queryParams':[],'bodySchema':a1_0x554151(0x17d),'responseHighlights':[a1_0x554151(0x178)],'examples':[a1_0x554151(0x192)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x554151(0x14e)}];function a1_0x15f7(_0x451114,_0x44e55a){_0x451114=_0x451114-0x13a;const _0x571cd5=a1_0x571c();let _0x15f784=_0x571cd5[_0x451114];return _0x15f784;}function entrySummary(_0x3a91dc){const _0xf55033=a1_0x554151;return{'code':_0x3a91dc[_0xf55033(0x162)],'category':_0x3a91dc['category'],'method':_0x3a91dc['method'],'path':_0x3a91dc[_0xf55033(0x13d)],'summary':_0x3a91dc['summary'],'whenToUse':_0x3a91dc[_0xf55033(0x14a)]};}export function listApiDocEntries(_0x4d385f={}){const _0x205151=a1_0x554151,_0x1a46f0=String(_0x4d385f[_0x205151(0x171)]||'')[_0x205151(0x189)](),_0x50f503=String(_0x4d385f[_0x205151(0x145)]||'')[_0x205151(0x189)]()[_0x205151(0x149)]();return DOCS[_0x205151(0x152)](_0x51ad92=>{const _0x4ffd37=_0x205151;if(_0x1a46f0&&_0x51ad92['category']!==_0x1a46f0)return![];if(!_0x50f503)return!![];return[_0x51ad92['code'],_0x51ad92['category'],_0x51ad92['method'],_0x51ad92[_0x4ffd37(0x13d)],_0x51ad92[_0x4ffd37(0x148)],_0x51ad92[_0x4ffd37(0x14a)],_0x51ad92[_0x4ffd37(0x197)]][_0x4ffd37(0x15c)]('\x20')[_0x4ffd37(0x149)]()['includes'](_0x50f503);})[_0x205151(0x159)](entrySummary);}export function getApiDocDetail(_0x135fc3){const _0x333391=a1_0x554151,_0x2033f7=DOCS['find'](_0x40c0b7=>_0x40c0b7['code']===_0x135fc3);if(!_0x2033f7)throw CliErrors['validation'](_0x333391(0x166)+_0x135fc3);return{..._0x2033f7};}const apiDocList={'service':a1_0x554151(0x177),'command':a1_0x554151(0x141),'description':a1_0x554151(0x15f),'risk':a1_0x554151(0x185),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x1dcede){const _0x291e69=a1_0x554151,_0x204c76=listApiDocEntries({'category':_0x1dcede[_0x291e69(0x193)]('category'),'keyword':_0x1dcede[_0x291e69(0x193)](_0x291e69(0x145))});return{'ok':!![],'data':{'total':_0x204c76[_0x291e69(0x181)],'items':_0x204c76}};}},apiDocDetail={'service':a1_0x554151(0x177),'command':a1_0x554151(0x174),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0x554151(0x185),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x41afbf){const _0x44b1a2=a1_0x554151;return{'ok':!![],'data':getApiDocDetail(_0x41afbf[_0x44b1a2(0x193)](_0x44b1a2(0x162)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4290dd,_0x139a02){const _0x1c547f=a2_0x10f9,_0x2e592d=_0x4290dd();while(!![]){try{const _0x56be7b=parseInt(_0x1c547f(0xce))/0x1*(-parseInt(_0x1c547f(0xbd))/0x2)+-parseInt(_0x1c547f(0xb7))/0x3*(parseInt(_0x1c547f(0xbc))/0x4)+-parseInt(_0x1c547f(0xc2))/0x5*(-parseInt(_0x1c547f(0xc6))/0x6)+parseInt(_0x1c547f(0xb6))/0x7+-parseInt(_0x1c547f(0xc3))/0x8+-parseInt(_0x1c547f(0xbe))/0x9+parseInt(_0x1c547f(0xb9))/0xa*(parseInt(_0x1c547f(0xba))/0xb);if(_0x56be7b===_0x139a02)break;else _0x2e592d['push'](_0x2e592d['shift']());}catch(_0x24262e){_0x2e592d['push'](_0x2e592d['shift']());}}}(a2_0x1dcd,0xc12dd));import{createHash}from'node:crypto';function a2_0x1dcd(){const _0x460aad=['slice','.tmp','299202BpoGSa','appCode','isArray','EACCES','stringify','code','3195598DLdXwW','9sUBhLC','hex','60RNuxLx','2091386FIYeTO','cache','1534408WgdPnK','2hmGCjV','2909214VvzPPI','utf8','sha256','items','107050znwXwB','140920ZFFCBG','parse','appName','276QAgCEG','digest','unknown','trim','ak_','EPERM'];a2_0x1dcd=function(){return _0x460aad;};return a2_0x1dcd();}import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';function a2_0x10f9(_0x5ca3c3,_0x314ab3){_0x5ca3c3=_0x5ca3c3-0xb6;const _0x1dcd60=a2_0x1dcd();let _0x10f9c2=_0x1dcd60[_0x5ca3c3];return _0x10f9c2;}import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0xe17bcb){const _0x22620c=a2_0x10f9,_0x57755b=_0xe17bcb['trim'](),_0x558c38=_0x57755b['slice'](-0x6)||_0x22620c(0xc8),_0x1142ea=createHash(_0x22620c(0xc0))['update'](_0x57755b)[_0x22620c(0xc7)](_0x22620c(0xb8))[_0x22620c(0xcc)](0x0,0xc);return _0x22620c(0xca)+_0x558c38+'_'+_0x1142ea;}export function getAppCacheFilePath(_0x46ae13,_0x59d0bc){const _0x58dc7a=a2_0x10f9;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x58dc7a(0xbb),_0x46ae13,fingerprintAccessKey(_0x59d0bc),'my-apps.json');}export function readCachedAppList(_0x103f1c,_0x5a0f49){const _0x29794d=a2_0x10f9;if(!_0x5a0f49?.[_0x29794d(0xc9)]())return null;const _0x21f74b=getAppCacheFilePath(_0x103f1c,_0x5a0f49);if(!existsSync(_0x21f74b))return null;try{const _0xebe780=readFileSync(_0x21f74b,_0x29794d(0xbf));if(!_0xebe780[_0x29794d(0xc9)]())return null;const _0x2ba7a5=JSON[_0x29794d(0xc4)](_0xebe780);if(!Array[_0x29794d(0xd0)](_0x2ba7a5[_0x29794d(0xc1)]))return null;return _0x2ba7a5;}catch{return null;}}export function writeCachedAppList(_0x11876c,_0x415b66,_0x2b755d){const _0x1cf3e6=a2_0x10f9,_0x3155b6=getAppCacheFilePath(_0x11876c,_0x415b66),_0xfda1b2=dirname(_0x3155b6);!existsSync(_0xfda1b2)&&mkdirSync(_0xfda1b2,{'recursive':!![]});const _0x27feb0=_0x3155b6+_0x1cf3e6(0xcd);try{writeFileSync(_0x27feb0,JSON[_0x1cf3e6(0xd2)](_0x2b755d,null,0x2)+'\x0a',{'encoding':_0x1cf3e6(0xbf),'mode':0x180});try{renameSync(_0x27feb0,_0x3155b6);}catch(_0x4093f2){if(_0x4093f2[_0x1cf3e6(0xd3)]===_0x1cf3e6(0xcb)||_0x4093f2['code']==='EXDEV'||_0x4093f2[_0x1cf3e6(0xd3)]===_0x1cf3e6(0xd1)){writeFileSync(_0x3155b6,JSON[_0x1cf3e6(0xd2)](_0x2b755d,null,0x2)+'\x0a',{'encoding':_0x1cf3e6(0xbf)});try{unlinkSync(_0x27feb0);}catch{}}else throw _0x4093f2;}}catch(_0x245d79){try{unlinkSync(_0x27feb0);}catch{}throw _0x245d79;}return _0x3155b6;}export function resolveCachedAppCode(_0x1e0b8f,_0x40e33a,_0xebb234){const _0x7387d3=a2_0x10f9;if(!_0x1e0b8f)return undefined;const _0x103f48=readCachedAppList(_0x40e33a,_0xebb234),_0x574f77=_0x103f48?.['items']['find'](_0x5a9553=>_0x5a9553[_0x7387d3(0xc5)]===_0x1e0b8f&&isRuntimeAccessibleApp(_0x5a9553));return _0x574f77?.[_0x7387d3(0xcf)]?.[_0x7387d3(0xc9)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3_0x2d2b51=a3_0x310d;(function(_0x5e51cc,_0x1dc678){const _0x5ad741=a3_0x310d,_0x36b89d=_0x5e51cc();while(!![]){try{const _0x5bafcb=parseInt(_0x5ad741(0x8d))/0x1*(parseInt(_0x5ad741(0x68))/0x2)+parseInt(_0x5ad741(0x99))/0x3*(parseInt(_0x5ad741(0x9c))/0x4)+-parseInt(_0x5ad741(0x7b))/0x5*(parseInt(_0x5ad741(0xa3))/0x6)+parseInt(_0x5ad741(0x76))/0x7*(-parseInt(_0x5ad741(0xa6))/0x8)+-parseInt(_0x5ad741(0x77))/0x9+parseInt(_0x5ad741(0x96))/0xa+parseInt(_0x5ad741(0x7e))/0xb*(parseInt(_0x5ad741(0xc4))/0xc);if(_0x5bafcb===_0x1dc678)break;else _0x36b89d['push'](_0x36b89d['shift']());}catch(_0x264a4d){_0x36b89d['push'](_0x36b89d['shift']());}}}(a3_0x14af,0x5dc39));function a3_0x14af(){const _0x1d4fd9=['Filter\x20by\x20environment\x20(default:\x20current\x20env)','\x20app(s)\x20for\x20env=\x22','string','enableI18n','appName','已废弃:请使用\x20workspace\x20use\x20为当前目录绑定应用','\x20app\x20use\x20<name>\x20[--global]','Target\x20environment\x20(default:\x20current\x20env)','raw','write','project-default','\x20is\x20deprecated.\x20Use\x20`','filter','\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]','Refreshed\x20app\x20cache\x20with\x20','isArray','items','map','validation','8163420HdukHt','include-unpublished','\x22\x20not\x20found.','str','2WwtlbJ','i18nInfo','from','isCurrent','no-cache','No\x20apps\x20found\x20on\x20the\x20platform.','Read\x20app\x20list\x20from\x20local\x20cache\x20only','\x20app\x20','从平台刷新本地应用缓存','.appcode\x20to\x20.lovrabet.json.','list','globalPath','read','args','1512nSnNzj','5832549kDERDQ','env','fetchedAt','name','10RoQMMD','projectPath','Default\x20app\x20candidate\x20set\x20to\x20\x22','11MCrQad','config','entries','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','find','appOwnerName','push','app','boolean','length','global','langs','defaultApp','Remote\x20app\x20name\x20to\x20activate','import','35977GTUtfF','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','type','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','production','Loaded\x20','use','../../context.js','`\x20instead.','7332900dKyeFH','nonInteractive','从\x20.rabetbase.json\x20文件导入默认应用选择','35106jEFZrd','accessKey','trim','4juqgLJ','bool','Usage:\x20','remote','appCode','source','mergedCli','818904hHhSIg','已废弃:请使用\x20workspace\x20init\x20为当前目录绑定应用','local','5784zrjpZd','envName','App\x20\x22','No\x20cached\x20apps\x20found.','Missing\x20app\x20name.','pull','appcode','init','Use\x20global\x20config\x20scope','Include\x20unpublished\x20apps\x20for\x20diagnostics','Available\x20remote\x20apps:\x20'];a3_0x14af=function(){return _0x1d4fd9;};return a3_0x14af();}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';function a3_0x310d(_0x3c005a,_0x5d7987){_0x3c005a=_0x3c005a-0x65;const _0x14af7d=a3_0x14af();let _0x310d77=_0x14af7d[_0x3c005a];return _0x310d77;}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_0x2d2b51(0x88),'type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0xae),'default':![]};function collectFlags(_0x68a798,_0x1f9bf6){const _0x4c1490=a3_0x2d2b51,_0x11c34b={};for(const _0x5d2961 of _0x1f9bf6){const _0x39e4ac=_0x5d2961[_0x4c1490(0x8f)]===_0x4c1490(0x86)?_0x68a798[_0x4c1490(0x9d)](_0x5d2961[_0x4c1490(0x7a)]):_0x68a798['str'](_0x5d2961[_0x4c1490(0x7a)]);if(_0x39e4ac!==''&&_0x39e4ac!==![])_0x11c34b[_0x5d2961['name']]=_0x39e4ac;}if(_0x68a798[_0x4c1490(0x97)])_0x11c34b[_0x4c1490(0x97)]=!![];return _0x11c34b;}function normalizeLanguages(_0x535599){const _0x22cc58=a3_0x2d2b51;if(!Array[_0x22cc58(0xc0)](_0x535599))return[];return _0x535599[_0x22cc58(0xbd)](_0x37ed2f=>typeof _0x37ed2f===_0x22cc58(0xb3))[_0x22cc58(0xc2)](_0x225cdf=>_0x225cdf[_0x22cc58(0x9b)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x1d1775){const _0x1279ed=a3_0x2d2b51,_0x3031f9=normalizeLanguages(_0x1d1775[_0x1279ed(0x69)]?.[_0x1279ed(0x89)]);return{'enableI18n':typeof _0x1d1775['enableI18n']==='boolean'?_0x1d1775[_0x1279ed(0xb4)]:null,'languages':_0x3031f9,'i18nInfo':_0x1d1775['i18nInfo']?{..._0x1d1775[_0x1279ed(0x69)],'langs':_0x3031f9[_0x1279ed(0x87)]?_0x3031f9:null}:null};}const initDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0xad),'description':a3_0x2d2b51(0xa4),'risk':a3_0x2d2b51(0xba),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x497b25){const _0x120ec8=a3_0x2d2b51;return warnDeprecatedAppCommand('init',CLI_BIN_NAME+_0x120ec8(0xbe)),await runInit(collectFlags(_0x497b25,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':'app','command':a3_0x2d2b51(0x72),'description':a3_0x2d2b51(0x8e),'risk':a3_0x2d2b51(0x74),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x2d2b51(0xb3),'description':a3_0x2d2b51(0xb1),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0x6e),'default':![]},{'name':a3_0x2d2b51(0x6c),'type':a3_0x2d2b51(0x86),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x2d2b51(0x65),'type':a3_0x2d2b51(0x86),'description':a3_0x2d2b51(0xaf),'default':![]}],async 'execute'(_0x237ff0){const _0x3826b5=a3_0x2d2b51,_0x4693a0=_0x237ff0[_0x3826b5(0x67)]('env')||_0x237ff0[_0x3826b5(0xa7)]||getEnv()||'production',_0x46cdf1=_0x237ff0[_0x3826b5(0x9d)]('local'),_0x57eb30=_0x237ff0[_0x3826b5(0x9d)](_0x3826b5(0x6c)),_0x301ae0=_0x237ff0[_0x3826b5(0x9d)]('include-unpublished'),{readRawConfigWithLayers:_0x2e3b6b,resolveDefaultAppSource:_0x10dc3f,getLocalAppAliases:_0x5d6cd3}=await import('../../context.js'),{getRemoteAppList:_0x213e0c}=await import('../../commands/app/remote-source.js'),{config:_0x3f52fe,layers:_0x132e32}=_0x2e3b6b(),_0x2895d2=_0x10dc3f(_0x132e32),{defaultApp:_0x1fd0c0}=_0x3f52fe,_0x28ccf4=await _0x213e0c({'env':_0x4693a0,'accessKey':_0x237ff0['accessKey'],'localOnly':_0x46cdf1,'noCache':_0x57eb30}),_0x1c1ef2=_0x301ae0?_0x28ccf4[_0x3826b5(0xc1)]:filterRuntimeAccessibleApps(_0x28ccf4[_0x3826b5(0xc1)]),_0x7a6fbe=_0x28ccf4[_0x3826b5(0xc1)][_0x3826b5(0x87)]-_0x1c1ef2['length'],_0x74e81e=_0x1c1ef2[_0x3826b5(0xc2)](_0x4c2fde=>{const _0x444921=_0x3826b5;return{'name':_0x4c2fde['appName'],'appcode':_0x4c2fde[_0x444921(0xa0)],'named':!![],'definedIn':_0x444921(0x9f),'isDefault':_0x4c2fde[_0x444921(0xb5)]===_0x1fd0c0,...buildAppProfileListFields(_0x4693a0),...buildRemoteAppI18nFields(_0x4c2fde),'source':_0x28ccf4[_0x444921(0xa1)],'owner':_0x4c2fde[_0x444921(0x83)]??null,'status':_0x4c2fde['appPublishStatus']??null,'cachedAt':_0x28ccf4[_0x444921(0x79)]};}),_0x497501=_0x5d6cd3(_0x3f52fe);let _0xa59b99=0x0;for(const [_0x1ffb68,_0x4c46f1]of Object[_0x3826b5(0x80)](_0x497501)){const _0x545d8b=typeof _0x4c46f1['appcode']==='string'?_0x4c46f1[_0x3826b5(0xac)][_0x3826b5(0x9b)]():'';if(!_0x545d8b)continue;const _0x429c55=findAppByCode(_0x28ccf4[_0x3826b5(0xc1)],_0x545d8b);if(!_0x301ae0&&_0x429c55&&!isRuntimeAccessibleApp(_0x429c55))continue;_0xa59b99+=0x1,_0x74e81e[_0x3826b5(0x84)]({'name':_0x1ffb68,'appcode':_0x545d8b,'named':!![],'definedIn':_0x3826b5(0xa5),'isDefault':_0x1ffb68===_0x1fd0c0,...buildAppProfileListFields(_0x4693a0),'source':_0x3826b5(0x7f),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x74e81e,_0x237ff0[_0x3826b5(0xa2)]);const _0x4b621c=_0x74e81e[_0x3826b5(0x82)](_0x5cfe3f=>_0x5cfe3f[_0x3826b5(0x6b)]===!![]),_0x29f828=_0x1fd0c0??_0x4b621c?.[_0x3826b5(0x7a)]??null,_0x1d9419={'env':_0x4693a0,'source':_0x28ccf4[_0x3826b5(0xa1)],'fetchedAt':_0x28ccf4[_0x3826b5(0x79)],'cachePath':_0x28ccf4['cachePath'],'globalPath':_0x132e32[_0x3826b5(0x73)]??null,'projectPath':_0x132e32[_0x3826b5(0x7c)]??null,'defaultApp':_0x29f828,'defaultAppSource':_0x1fd0c0!=null?_0x2895d2:null,'localAliasCount':_0xa59b99,'remoteTotal':_0x28ccf4[_0x3826b5(0xc1)][_0x3826b5(0x87)],'hiddenUnpublishedCount':_0x7a6fbe,'includeUnpublished':_0x301ae0};if(_0x74e81e[_0x3826b5(0x87)]===0x0)return{'ok':!![],'data':{'items':_0x74e81e,'meta':_0x1d9419},'message':_0x28ccf4[_0x3826b5(0xa1)]==='cache'?_0x3826b5(0xa9):_0x3826b5(0x6d)};return{'ok':!![],'data':{'items':_0x74e81e,'meta':_0x1d9419}};}},pullDef={'service':'app','command':a3_0x2d2b51(0xab),'description':a3_0x2d2b51(0x70),'risk':a3_0x2d2b51(0xba),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x2d2b51(0x78),'type':a3_0x2d2b51(0xb3),'description':a3_0x2d2b51(0xb8),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2d2b51(0xa5),'type':a3_0x2d2b51(0x86),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x2d2b51(0x6c),'type':'boolean','description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x4de51d){const _0x199612=a3_0x2d2b51,_0x5434d4=_0x4de51d[_0x199612(0x67)]('env')||_0x4de51d[_0x199612(0xa7)]||getEnv()||_0x199612(0x91),_0x29ea50=_0x4de51d[_0x199612(0x9d)](_0x199612(0xa5)),_0x348e01=_0x4de51d['bool'](_0x199612(0x6c)),{getRemoteAppList:_0x2acc09}=await import('../../commands/app/remote-source.js'),_0x32f633=await _0x2acc09({'env':_0x5434d4,'accessKey':_0x4de51d[_0x199612(0x9a)],'localOnly':_0x29ea50,'noCache':_0x348e01});return{'ok':!![],'data':{'total':_0x32f633['items'][_0x199612(0x87)],'env':_0x5434d4,'source':_0x32f633[_0x199612(0xa1)],'fetchedAt':_0x32f633[_0x199612(0x79)],'cachePath':_0x32f633['cachePath']},'message':_0x32f633[_0x199612(0xa1)]==='cache'?_0x199612(0x92)+_0x32f633[_0x199612(0xc1)]['length']+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x5434d4+'\x22.':_0x199612(0xbf)+_0x32f633['items'][_0x199612(0x87)]+_0x199612(0xb2)+_0x5434d4+'\x22.'};}},useDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0x93),'description':a3_0x2d2b51(0xb6),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':a3_0x2d2b51(0x8b),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x3e037c){const _0x5d05db=a3_0x2d2b51;if(!_0x3e037c[_0x5d05db(0x75)][0x0])throw CliErrors['validation']('Missing\x20app\x20name.',_0x5d05db(0x9e)+CLI_BIN_NAME+_0x5d05db(0xb7));},async 'execute'(_0x16d16e){const _0x59215d=a3_0x2d2b51;warnDeprecatedAppCommand(_0x59215d(0x93),CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]');const _0x3a7c5b=_0x16d16e[_0x59215d(0x75)][0x0];if(!_0x3a7c5b)throw CliErrors[_0x59215d(0xc3)](_0x59215d(0xaa),'Usage:\x20'+CLI_BIN_NAME+_0x59215d(0xb7));const {buildConfigFromFlags:_0x478222,resolveLocalAppAliasCode:_0x4f2121}=await import(_0x59215d(0x94)),{readCachedAppList:_0x8e9e3d}=await import('../../commands/app/cache.js'),_0x2f24c2=_0x16d16e[_0x59215d(0x67)](_0x59215d(0x78)),_0x4623e3=_0x478222(_0x2f24c2?{'env':_0x2f24c2}:{}),_0x226033=_0x8e9e3d(_0x4623e3['env'],_0x4623e3[_0x59215d(0x9a)]),_0x37d05b=_0x226033?.[_0x59215d(0xc1)][_0x59215d(0x82)](_0x43067f=>_0x43067f[_0x59215d(0xb5)]===_0x3a7c5b),_0x4a7372=_0x4f2121(_0x4623e3[_0x59215d(0xb9)]??{},_0x3a7c5b);if(_0x37d05b&&!isRuntimeAccessibleApp(_0x37d05b))throw runtimeInaccessibleAppError(_0x37d05b,'\x22'+_0x3a7c5b+'\x22');if(_0x4a7372){const _0x27c3d7=_0x226033?.['items'][_0x59215d(0x82)](_0x77d93e=>_0x77d93e[_0x59215d(0xa0)]?.[_0x59215d(0x9b)]()===_0x4a7372);if(_0x27c3d7&&!isRuntimeAccessibleApp(_0x27c3d7))throw runtimeInaccessibleAppError(_0x27c3d7,'\x22'+_0x3a7c5b+'\x22');}if(!_0x37d05b&&!_0x4a7372&&_0x4623e3[_0x59215d(0x8a)]!==_0x3a7c5b){const _0x4178bc=[..._0x226033?.['items']['map'](_0x53fbea=>_0x53fbea['appName'])??[]],_0x43749b=_0x4178bc['length']===0x0?'Use\x20`'+CLI_BIN_NAME+_0x59215d(0x90)+_0x3a7c5b+_0x59215d(0x71):_0x59215d(0xb0)+Array[_0x59215d(0x6a)](new Set(_0x4178bc))['join'](',\x20')+_0x59215d(0x81);throw CliErrors['validation'](_0x59215d(0xa8)+_0x3a7c5b+_0x59215d(0x66),_0x43749b);}const _0x4e3631=_0x16d16e[_0x59215d(0x9d)]('global');let _0x181935;if(_0x4e3631)_0x181935={'global':!![]};else{const {isInProject:_0x20e12b}=await import('../../context.js'),_0x916c2c=_0x20e12b();_0x181935=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x59215d(0xbb),'inProject':_0x916c2c}));}const _0x5562b1=readConfig(_0x181935);return _0x5562b1[_0x59215d(0x8a)]=_0x3a7c5b,writeConfig(_0x5562b1,_0x181935),{'ok':!![],'message':_0x59215d(0x7d)+_0x3a7c5b+'\x22'+scopeLabel(_0x181935)+'.'};}};function warnDeprecatedAppCommand(_0x9571f0,_0x129e75){const _0x15faa0=a3_0x2d2b51;console['warn'](CLI_BIN_NAME+_0x15faa0(0x6f)+_0x9571f0+_0x15faa0(0xbc)+_0x129e75+_0x15faa0(0x95));}const importDef={'service':a3_0x2d2b51(0x85),'command':a3_0x2d2b51(0x8c),'description':a3_0x2d2b51(0x98),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0xc6c1ca){return await runInitImport(collectFlags(_0xc6c1ca,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
1
|
+
const a3_0x20c375=a3_0x3b4f;(function(_0x321f67,_0x541dd5){const _0x46cf2a=a3_0x3b4f,_0x1ce7cb=_0x321f67();while(!![]){try{const _0x5726fd=-parseInt(_0x46cf2a(0xd6))/0x1+-parseInt(_0x46cf2a(0x8b))/0x2+parseInt(_0x46cf2a(0xca))/0x3+-parseInt(_0x46cf2a(0xc3))/0x4+parseInt(_0x46cf2a(0x97))/0x5*(parseInt(_0x46cf2a(0xb3))/0x6)+-parseInt(_0x46cf2a(0xd4))/0x7+parseInt(_0x46cf2a(0xdc))/0x8;if(_0x5726fd===_0x541dd5)break;else _0x1ce7cb['push'](_0x1ce7cb['shift']());}catch(_0x1bba69){_0x1ce7cb['push'](_0x1ce7cb['shift']());}}}(a3_0x4d3e,0xd619c));import{CliErrors}from'../../errors.js';import{initCreateFlagDefs,initImportFlagDefs,runInit,runInitImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{CLI_BIN_NAME,readConfig,writeConfig,scopeLabel,enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';function a3_0x3b4f(_0x237c79,_0x2bad00){_0x237c79=_0x237c79-0x8a;const _0x4d3e68=a3_0x4d3e();let _0x3b4f03=_0x4d3e68[_0x237c79];return _0x3b4f03;}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const GLOBAL_FLAG={'name':a3_0x20c375(0x9a),'type':a3_0x20c375(0x93),'description':'Use\x20global\x20config\x20scope','default':![]};function a3_0x4d3e(){const _0x5995d1=['.appcode\x20to\x20.lovrabet.json.','\x20is\x20deprecated.\x20Use\x20`','globalPath','.\x20Local\x20aliases\x20can\x20be\x20added\x20under\x20apps.<alias>.appcode.','read','Include\x20unpublished\x20apps\x20for\x20diagnostics','Usage:\x20','name','\x20app\x20use\x20<name>\x20[--global]','envName','project-default','isCurrent','Read\x20app\x20list\x20from\x20local\x20cache\x20only','no-cache','map','find','Read\x20from\x20local\x20cache\x20only','Default\x20app\x20candidate\x20set\x20to\x20\x22','fetchedAt','126eWCdjK','trim','local','\x20app\x20list`\x20to\x20discover\x20remote\x20apps,\x20or\x20add\x20apps.','validation','appOwnerName','cachePath','defaultApp','accessKey','已废弃:请使用\x20workspace\x20use\x20为当前目录绑定应用','Filter\x20by\x20environment\x20(default:\x20current\x20env)','appCode','use','\x20workspace\x20use\x20--app\x20<name>\x20[--env\x20daily]','env','../../commands/app/remote-source.js','1399692NNqSBA','langs','appPublishStatus','App\x20\x22','\x22\x20not\x20found.','Loaded\x20','Target\x20environment\x20(default:\x20current\x20env)','4775028eJELWo','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','remote','args','从平台刷新本地应用缓存','string','mergedCli','cache','appName','entries','1721797iLnOwi','source','1290141QONGjY','import','已废弃:请使用\x20workspace\x20init\x20为当前目录绑定应用','production','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','i18nInfo','281928PWeoaa','app','str','items','\x20app(s)\x20for\x20env=\x22','filter','Missing\x20app\x20name.','warn','pull','config','write','878524GjItOm','将从平台读取当前账号可用的应用列表,并覆盖对应环境的本地应用缓存;不会修改平台应用。','Remote\x20app\x20name\x20to\x20activate','将读取指定的\x20.rabetbase.json,并把其中可用的默认应用设置导入本地\x20.lovrabet.json;同名配置可能被更新。','将通过已废弃的\x20app\x20use\x20流程更新本地默认应用;建议改用\x20workspace\x20use。','Refreshed\x20app\x20cache\x20with\x20','nonInteractive','projectPath','boolean','length','../../context.js','appcode','375080DAnCFp','include-unpublished','init','global','join','Available\x20remote\x20apps:\x20','bool','../../commands/app/cache.js','enableI18n'];a3_0x4d3e=function(){return _0x5995d1;};return a3_0x4d3e();}function collectFlags(_0xaed0d5,_0x511dcd){const _0x3e23d3=a3_0x20c375,_0x52ee3b={};for(const _0x588231 of _0x511dcd){const _0x50dc06=_0x588231['type']===_0x3e23d3(0x93)?_0xaed0d5[_0x3e23d3(0x9d)](_0x588231[_0x3e23d3(0xa7)]):_0xaed0d5[_0x3e23d3(0xde)](_0x588231['name']);if(_0x50dc06!==''&&_0x50dc06!==![])_0x52ee3b[_0x588231[_0x3e23d3(0xa7)]]=_0x50dc06;}if(_0xaed0d5[_0x3e23d3(0x91)])_0x52ee3b[_0x3e23d3(0x91)]=!![];return _0x52ee3b;}function normalizeLanguages(_0x5f399a){const _0x453ae8=a3_0x20c375;if(!Array['isArray'](_0x5f399a))return[];return _0x5f399a[_0x453ae8(0xe1)](_0x5665e5=>typeof _0x5665e5==='string')[_0x453ae8(0xae)](_0x580642=>_0x580642[_0x453ae8(0xb4)]())[_0x453ae8(0xe1)](Boolean);}function buildRemoteAppI18nFields(_0x19893f){const _0x57deec=a3_0x20c375,_0x89fefc=normalizeLanguages(_0x19893f[_0x57deec(0xdb)]?.[_0x57deec(0xc4)]);return{'enableI18n':typeof _0x19893f[_0x57deec(0x9f)]===_0x57deec(0x93)?_0x19893f[_0x57deec(0x9f)]:null,'languages':_0x89fefc,'i18nInfo':_0x19893f[_0x57deec(0xdb)]?{..._0x19893f[_0x57deec(0xdb)],'langs':_0x89fefc[_0x57deec(0x94)]?_0x89fefc:null}:null};}const initDef={'service':a3_0x20c375(0xdd),'command':a3_0x20c375(0x99),'description':a3_0x20c375(0xd8),'risk':a3_0x20c375(0x8a),'confirmationDescription':'将通过已废弃的\x20app\x20init\x20流程写入本地\x20Lovrabet\x20应用配置;建议改用\x20workspace\x20init。','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initCreateFlagDefs,async 'execute'(_0x34c88d){const _0x513cbe=a3_0x20c375;return warnDeprecatedAppCommand(_0x513cbe(0x99),CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20[--env\x20daily]'),await runInit(collectFlags(_0x34c88d,initCreateFlagDefs)),{'ok':!![]};}},listDef={'service':a3_0x20c375(0xdd),'command':'list','description':a3_0x20c375(0xcb),'risk':a3_0x20c375(0xa4),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x20c375(0xc1),'type':'string','description':a3_0x20c375(0xbd),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x20c375(0x93),'description':a3_0x20c375(0xac),'default':![]},{'name':a3_0x20c375(0xad),'type':a3_0x20c375(0x93),'description':a3_0x20c375(0xda),'default':![]},{'name':a3_0x20c375(0x98),'type':'boolean','description':a3_0x20c375(0xa5),'default':![]}],async 'execute'(_0x3b6f21){const _0x1d8341=a3_0x20c375,_0x28cf8f=_0x3b6f21[_0x1d8341(0xde)](_0x1d8341(0xc1))||_0x3b6f21[_0x1d8341(0xa9)]||getEnv()||_0x1d8341(0xd9),_0x413af1=_0x3b6f21['bool'](_0x1d8341(0xb5)),_0x59d459=_0x3b6f21['bool']('no-cache'),_0x248407=_0x3b6f21[_0x1d8341(0x9d)](_0x1d8341(0x98)),{readRawConfigWithLayers:_0x3a0915,resolveDefaultAppSource:_0x4a1146,getLocalAppAliases:_0x472843}=await import(_0x1d8341(0x95)),{getRemoteAppList:_0x59d877}=await import(_0x1d8341(0xc2)),{config:_0x1dcbdf,layers:_0x126be7}=_0x3a0915(),_0x5c5399=_0x4a1146(_0x126be7),{defaultApp:_0x49f2d9}=_0x1dcbdf,_0x1cd4c6=await _0x59d877({'env':_0x28cf8f,'accessKey':_0x3b6f21['accessKey'],'localOnly':_0x413af1,'noCache':_0x59d459}),_0x154a98=_0x248407?_0x1cd4c6[_0x1d8341(0xdf)]:filterRuntimeAccessibleApps(_0x1cd4c6[_0x1d8341(0xdf)]),_0x50c3c0=_0x1cd4c6[_0x1d8341(0xdf)][_0x1d8341(0x94)]-_0x154a98['length'],_0x431304=_0x154a98[_0x1d8341(0xae)](_0x235e84=>{const _0x244f23=_0x1d8341;return{'name':_0x235e84['appName'],'appcode':_0x235e84['appCode'],'named':!![],'definedIn':_0x244f23(0xcc),'isDefault':_0x235e84[_0x244f23(0xd2)]===_0x49f2d9,...buildAppProfileListFields(_0x28cf8f),...buildRemoteAppI18nFields(_0x235e84),'source':_0x1cd4c6[_0x244f23(0xd5)],'owner':_0x235e84[_0x244f23(0xb8)]??null,'status':_0x235e84[_0x244f23(0xc5)]??null,'cachedAt':_0x1cd4c6[_0x244f23(0xb2)]};}),_0x457e7a=_0x472843(_0x1dcbdf);let _0x15d377=0x0;for(const [_0x379503,_0x252b50]of Object[_0x1d8341(0xd3)](_0x457e7a)){const _0x2675e9=typeof _0x252b50[_0x1d8341(0x96)]===_0x1d8341(0xcf)?_0x252b50[_0x1d8341(0x96)]['trim']():'';if(!_0x2675e9)continue;const _0x745c9=findAppByCode(_0x1cd4c6['items'],_0x2675e9);if(!_0x248407&&_0x745c9&&!isRuntimeAccessibleApp(_0x745c9))continue;_0x15d377+=0x1,_0x431304['push']({'name':_0x379503,'appcode':_0x2675e9,'named':!![],'definedIn':_0x1d8341(0xb5),'isDefault':_0x379503===_0x49f2d9,...buildAppProfileListFields(_0x28cf8f),'source':_0x1d8341(0xe5),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x431304,_0x3b6f21[_0x1d8341(0xd0)]);const _0x54da9c=_0x431304[_0x1d8341(0xaf)](_0x8a59a=>_0x8a59a[_0x1d8341(0xab)]===!![]),_0x3093a1=_0x49f2d9??_0x54da9c?.[_0x1d8341(0xa7)]??null,_0x5a27d6={'env':_0x28cf8f,'source':_0x1cd4c6[_0x1d8341(0xd5)],'fetchedAt':_0x1cd4c6[_0x1d8341(0xb2)],'cachePath':_0x1cd4c6[_0x1d8341(0xb9)],'globalPath':_0x126be7[_0x1d8341(0xa2)]??null,'projectPath':_0x126be7[_0x1d8341(0x92)]??null,'defaultApp':_0x3093a1,'defaultAppSource':_0x49f2d9!=null?_0x5c5399:null,'localAliasCount':_0x15d377,'remoteTotal':_0x1cd4c6[_0x1d8341(0xdf)][_0x1d8341(0x94)],'hiddenUnpublishedCount':_0x50c3c0,'includeUnpublished':_0x248407};if(_0x431304[_0x1d8341(0x94)]===0x0)return{'ok':!![],'data':{'items':_0x431304,'meta':_0x5a27d6},'message':_0x1cd4c6['source']===_0x1d8341(0xd1)?'No\x20cached\x20apps\x20found.':'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x431304,'meta':_0x5a27d6}};}},pullDef={'service':a3_0x20c375(0xdd),'command':a3_0x20c375(0xe4),'description':a3_0x20c375(0xce),'risk':a3_0x20c375(0x8a),'confirmationDescription':a3_0x20c375(0x8c),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x20c375(0xc1),'type':a3_0x20c375(0xcf),'description':a3_0x20c375(0xc9),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x20c375(0xb5),'type':'boolean','description':a3_0x20c375(0xb0),'default':![]},{'name':a3_0x20c375(0xad),'type':a3_0x20c375(0x93),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x1cbe55){const _0x4f3848=a3_0x20c375,_0x528c7b=_0x1cbe55[_0x4f3848(0xde)](_0x4f3848(0xc1))||_0x1cbe55[_0x4f3848(0xa9)]||getEnv()||'production',_0x44597a=_0x1cbe55[_0x4f3848(0x9d)](_0x4f3848(0xb5)),_0x2dfb8e=_0x1cbe55[_0x4f3848(0x9d)](_0x4f3848(0xad)),{getRemoteAppList:_0x339f7c}=await import('../../commands/app/remote-source.js'),_0x199020=await _0x339f7c({'env':_0x528c7b,'accessKey':_0x1cbe55[_0x4f3848(0xbb)],'localOnly':_0x44597a,'noCache':_0x2dfb8e});return{'ok':!![],'data':{'total':_0x199020[_0x4f3848(0xdf)]['length'],'env':_0x528c7b,'source':_0x199020['source'],'fetchedAt':_0x199020[_0x4f3848(0xb2)],'cachePath':_0x199020[_0x4f3848(0xb9)]},'message':_0x199020[_0x4f3848(0xd5)]===_0x4f3848(0xd1)?_0x4f3848(0xc8)+_0x199020[_0x4f3848(0xdf)][_0x4f3848(0x94)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x528c7b+'\x22.':_0x4f3848(0x90)+_0x199020['items'][_0x4f3848(0x94)]+_0x4f3848(0xe0)+_0x528c7b+'\x22.'};}},useDef={'service':a3_0x20c375(0xdd),'command':a3_0x20c375(0xbf),'description':a3_0x20c375(0xbc),'risk':a3_0x20c375(0x8a),'confirmationDescription':a3_0x20c375(0x8f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'name','description':a3_0x20c375(0x8d),'required':!![]}],'flags':[GLOBAL_FLAG],async 'validate'(_0x5d8add){const _0x4a8c7b=a3_0x20c375;if(!_0x5d8add['args'][0x0])throw CliErrors[_0x4a8c7b(0xb7)](_0x4a8c7b(0xe2),_0x4a8c7b(0xa6)+CLI_BIN_NAME+_0x4a8c7b(0xa8));},async 'execute'(_0x44155a){const _0x122950=a3_0x20c375;warnDeprecatedAppCommand(_0x122950(0xbf),CLI_BIN_NAME+_0x122950(0xc0));const _0x53a3a4=_0x44155a[_0x122950(0xcd)][0x0];if(!_0x53a3a4)throw CliErrors[_0x122950(0xb7)](_0x122950(0xe2),_0x122950(0xa6)+CLI_BIN_NAME+_0x122950(0xa8));const {buildConfigFromFlags:_0x4614e8,resolveLocalAppAliasCode:_0x285060}=await import('../../context.js'),{readCachedAppList:_0x18f8c6}=await import(_0x122950(0x9e)),_0x331af6=_0x44155a['str'](_0x122950(0xc1)),_0x27be16=_0x4614e8(_0x331af6?{'env':_0x331af6}:{}),_0x1029ad=_0x18f8c6(_0x27be16[_0x122950(0xc1)],_0x27be16[_0x122950(0xbb)]),_0x580f7a=_0x1029ad?.[_0x122950(0xdf)][_0x122950(0xaf)](_0x42c3cd=>_0x42c3cd['appName']===_0x53a3a4),_0x3d3898=_0x285060(_0x27be16['raw']??{},_0x53a3a4);if(_0x580f7a&&!isRuntimeAccessibleApp(_0x580f7a))throw runtimeInaccessibleAppError(_0x580f7a,'\x22'+_0x53a3a4+'\x22');if(_0x3d3898){const _0x20ab4f=_0x1029ad?.['items'][_0x122950(0xaf)](_0x3b25b6=>_0x3b25b6[_0x122950(0xbe)]?.[_0x122950(0xb4)]()===_0x3d3898);if(_0x20ab4f&&!isRuntimeAccessibleApp(_0x20ab4f))throw runtimeInaccessibleAppError(_0x20ab4f,'\x22'+_0x53a3a4+'\x22');}if(!_0x580f7a&&!_0x3d3898&&_0x27be16[_0x122950(0xba)]!==_0x53a3a4){const _0x2a7871=[..._0x1029ad?.[_0x122950(0xdf)][_0x122950(0xae)](_0x5636ce=>_0x5636ce['appName'])??[]],_0x4156bd=_0x2a7871['length']===0x0?'Use\x20`'+CLI_BIN_NAME+_0x122950(0xb6)+_0x53a3a4+_0x122950(0xa0):_0x122950(0x9c)+Array['from'](new Set(_0x2a7871))[_0x122950(0x9b)](',\x20')+_0x122950(0xa3);throw CliErrors['validation'](_0x122950(0xc6)+_0x53a3a4+_0x122950(0xc7),_0x4156bd);}const _0x297530=_0x44155a[_0x122950(0x9d)](_0x122950(0x9a));let _0x4bacea;if(_0x297530)_0x4bacea={'global':!![]};else{const {isInProject:_0x2d7d43}=await import(_0x122950(0x95)),_0x1cca5a=_0x2d7d43();_0x4bacea=toScopeFlags(resolveConfigScope({'explicitGlobal':![],'policy':_0x122950(0xaa),'inProject':_0x1cca5a}));}const _0x36417b=readConfig(_0x4bacea);return _0x36417b['defaultApp']=_0x53a3a4,writeConfig(_0x36417b,_0x4bacea),{'ok':!![],'message':_0x122950(0xb1)+_0x53a3a4+'\x22'+scopeLabel(_0x4bacea)+'.'};}};function warnDeprecatedAppCommand(_0x352c01,_0x2a48f3){const _0x18bec3=a3_0x20c375;console[_0x18bec3(0xe3)](CLI_BIN_NAME+'\x20app\x20'+_0x352c01+_0x18bec3(0xa1)+_0x2a48f3+'`\x20instead.');}const importDef={'service':a3_0x20c375(0xdd),'command':a3_0x20c375(0xd7),'description':'从\x20.rabetbase.json\x20文件导入默认应用选择','risk':a3_0x20c375(0x8a),'confirmationDescription':a3_0x20c375(0x8e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initImportFlagDefs,async 'execute'(_0x13a254){return await runInitImport(collectFlags(_0x13a254,initImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[initDef,listDef,pullDef,useDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xb4ac9a,_0x943914){const _0xc6da71=a4_0x3cf9,_0x125afe=_0xb4ac9a();while(!![]){try{const _0x4d6f1e=parseInt(_0xc6da71(0x133))/0x1*(parseInt(_0xc6da71(0x12f))/0x2)+parseInt(_0xc6da71(0x134))/0x3*(-parseInt(_0xc6da71(0x12e))/0x4)+parseInt(_0xc6da71(0x137))/0x5+parseInt(_0xc6da71(0x126))/0x6+-parseInt(_0xc6da71(0x138))/0x7+-parseInt(_0xc6da71(0x129))/0x8+-parseInt(_0xc6da71(0x12a))/0x9*(-parseInt(_0xc6da71(0x130))/0xa);if(_0x4d6f1e===_0x943914)break;else _0x125afe['push'](_0x125afe['shift']());}catch(_0x3533da){_0x125afe['push'](_0x125afe['shift']());}}}(a4_0x35d6,0x663eb));import{CLI_BIN_NAME}from'../../constant/cli.js';function a4_0x3cf9(_0x5605bb,_0x5591ba){_0x5605bb=_0x5605bb-0x124;const _0x35d60a=a4_0x35d6();let _0x3cf920=_0x35d60a[_0x5605bb];return _0x3cf920;}import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0x35d6(){const _0x240425=['16vuObgk','2030JKXJNe','3615860obBIYz','string','appCode','277FntkoV','516399jrqSuM','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','.\x20Publish\x20the\x20app\x20before\x20using\x20','433760ilHrzR','1963094NxOIUY','appPublishStatus','validation','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','3047982bIVUpU','Current\x20status:\x20','UNKNOWN','1690456LmuOsv','18bukQER','trim','appName','filter'];a4_0x35d6=function(){return _0x240425;};return a4_0x35d6();}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x33de72){const _0x591fa1=a4_0x3cf9;if(typeof _0x33de72!==_0x591fa1(0x131))return null;const _0x2b42c7=_0x33de72[_0x591fa1(0x12b)]();return _0x2b42c7?_0x2b42c7['toUpperCase']():null;}export function isRuntimeAccessibleApp(_0x4ed307){const _0x5deead=a4_0x3cf9;return normalizeAppPublishStatus(_0x4ed307[_0x5deead(0x139)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x1709ce){const _0x4fc839=a4_0x3cf9;return _0x1709ce[_0x4fc839(0x12d)](isRuntimeAccessibleApp);}export function findAppByName(_0x4b33c3,_0x444fe3){const _0x1ff0b2=a4_0x3cf9;return _0x4b33c3['find'](_0x4b65dd=>_0x4b65dd[_0x1ff0b2(0x12c)]===_0x444fe3);}export function findAppByCode(_0x493fea,_0xba40f2){const _0x398249=a4_0x3cf9,_0x1f1d37=_0xba40f2[_0x398249(0x12b)]();if(!_0x1f1d37)return undefined;return _0x493fea['find'](_0x578882=>_0x578882[_0x398249(0x132)]?.[_0x398249(0x12b)]()===_0x1f1d37);}export function runtimeInaccessibleAppError(_0x5b2744,_0x372e39){const _0x1bcc6b=a4_0x3cf9,_0x3b1b70=normalizeAppPublishStatus(_0x5b2744[_0x1bcc6b(0x139)])??_0x1bcc6b(0x128);return CliErrors[_0x1bcc6b(0x124)]('App\x20'+_0x372e39+_0x1bcc6b(0x135),_0x1bcc6b(0x127)+_0x3b1b70+_0x1bcc6b(0x136)+CLI_BIN_NAME+_0x1bcc6b(0x125));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x5198(){const _0x3ebbbc=['success','434508bSiYwu','55wePtyz','parse','errorCode','utf-8','tableData','4nMxlyg','786DsyFsQ','data','3316734sOHRom','24PLXQQT','288qOwfEj','../../../mock/app-list.json','1406163vSRmmo','2693TJDWBo','1311723OZKPsW','2711901BzOykW','7963880Kwrdan'];a5_0x5198=function(){return _0x3ebbbc;};return a5_0x5198();}(function(_0x27b86b,_0x2d94aa){const _0x2ec90a=a5_0x42a3,_0x4ea18e=_0x27b86b();while(!![]){try{const _0x3d90fa=-parseInt(_0x2ec90a(0x162))/0x1*(-parseInt(_0x2ec90a(0x16e))/0x2)+-parseInt(_0x2ec90a(0x164))/0x3*(parseInt(_0x2ec90a(0x16d))/0x4)+-parseInt(_0x2ec90a(0x168))/0x5*(parseInt(_0x2ec90a(0x167))/0x6)+parseInt(_0x2ec90a(0x163))/0x7+parseInt(_0x2ec90a(0x15e))/0x8*(-parseInt(_0x2ec90a(0x170))/0x9)+-parseInt(_0x2ec90a(0x165))/0xa+-parseInt(_0x2ec90a(0x161))/0xb*(-parseInt(_0x2ec90a(0x15f))/0xc);if(_0x3d90fa===_0x2d94aa)break;else _0x4ea18e['push'](_0x4ea18e['shift']());}catch(_0x32a8ff){_0x4ea18e['push'](_0x4ea18e['shift']());}}}(a5_0x5198,0xada1f));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 _0x8041b2=a5_0x42a3,_0x26ffb1=join(__dirname,_0x8041b2(0x160)),_0x2757ba=readFileSync(_0x26ffb1,_0x8041b2(0x16b));return JSON[_0x8041b2(0x169)](_0x2757ba);}let _cached=null;function a5_0x42a3(_0x20fa1c,_0x4d9a15){_0x20fa1c=_0x20fa1c-0x15e;const _0x519878=a5_0x5198();let _0x42a3d5=_0x519878[_0x20fa1c];return _0x42a3d5;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x324ca5=a5_0x42a3,_0x1d6f95=getMockAppList();if(!_0x1d6f95[_0x324ca5(0x166)])throw new Error('Mock\x20API\x20error:\x20'+_0x1d6f95['errorMsg']+'\x20('+_0x1d6f95[_0x324ca5(0x16a)]+')');return _0x1d6f95[_0x324ca5(0x16f)][_0x324ca5(0x16c)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3a7242,_0x33e9a1){const _0x17043b=a6_0x1912,_0x4b8c91=_0x3a7242();while(!![]){try{const _0x50facd=-parseInt(_0x17043b(0x9d))/0x1+-parseInt(_0x17043b(0x9e))/0x2+-parseInt(_0x17043b(0x9b))/0x3+parseInt(_0x17043b(0xa3))/0x4+parseInt(_0x17043b(0xa0))/0x5*(parseInt(_0x17043b(0xa4))/0x6)+parseInt(_0x17043b(0xa6))/0x7*(parseInt(_0x17043b(0xa8))/0x8)+-parseInt(_0x17043b(0x9f))/0x9;if(_0x50facd===_0x33e9a1)break;else _0x4b8c91['push'](_0x4b8c91['shift']());}catch(_0xd5aa06){_0x4b8c91['push'](_0x4b8c91['shift']());}}}(a6_0x1de5,0x56704));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 _0x599c6c=a6_0x1912,_0x40c232=(productEnv(_0x599c6c(0x9c))||'')[_0x599c6c(0x9a)]()[_0x599c6c(0xa1)]();return _0x40c232===_0x599c6c(0xa9);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}function a6_0x1de5(){const _0x15d742=['mock','remote','trim','1068633uzgHhZ','APP_LIST_SOURCE','549893HgDbqg','788508IEQlQl','2862522TGIUNV','15fRrDcj','toLowerCase','cache','2551780TnAzjl','1280148hhZYeE','items','3171DrnoTw','fetchedAt','12264MwvNLi'];a6_0x1de5=function(){return _0x15d742;};return a6_0x1de5();}function a6_0x1912(_0x5b2700,_0x3deca8){_0x5b2700=_0x5b2700-0x9a;const _0x1de560=a6_0x1de5();let _0x19129a=_0x1de560[_0x5b2700];return _0x19129a;}export async function getRemoteAppList(_0x324ad2){const _0x4f4011=a6_0x1912,{env:_0x145ff8,accessKey:_0x16921c,localOnly:localOnly=![],noCache:noCache=![]}=_0x324ad2,_0x239779=readCachedAppList(_0x145ff8,_0x16921c),_0xf3535=_0x16921c?.['trim']()?getAppCacheFilePath(_0x145ff8,_0x16921c):null;if(localOnly)return{'items':_0x239779?.[_0x4f4011(0xa5)]??[],'source':_0x4f4011(0xa2),'fetchedAt':_0x239779?.['fetchedAt']??null,'cachePath':_0xf3535};try{const _0x5cc930=await getRemoteAppItems(),_0xf62883=shouldUseMockRemoteApps()?_0x4f4011(0xa9):_0x4f4011(0xaa),_0x94cce1=new Date()['toISOString'](),_0x31a243=_0x16921c?.[_0x4f4011(0x9a)]()?writeCachedAppList(_0x145ff8,_0x16921c,{'env':_0x145ff8,'fetchedAt':_0x94cce1,'source':_0xf62883,'items':_0x5cc930}):null;return{'items':_0x5cc930,'source':_0xf62883,'fetchedAt':_0x94cce1,'cachePath':_0x31a243};}catch(_0x4ca84f){if(!noCache&&_0x239779)return{'items':_0x239779[_0x4f4011(0xa5)],'source':_0x4f4011(0xa2),'fetchedAt':_0x239779[_0x4f4011(0xa7)],'cachePath':_0xf3535};throw _0x4ca84f;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4927d6,_0x477ffb){const _0x2f619f=a7_0x221c,_0x54aacb=_0x4927d6();while(!![]){try{const _0x4199eb=parseInt(_0x2f619f(0x141))/0x1+-parseInt(_0x2f619f(0x14c))/0x2+parseInt(_0x2f619f(0x140))/0x3*(-parseInt(_0x2f619f(0x13b))/0x4)+parseInt(_0x2f619f(0x148))/0x5+-parseInt(_0x2f619f(0x151))/0x6*(parseInt(_0x2f619f(0x13f))/0x7)+parseInt(_0x2f619f(0x14f))/0x8*(parseInt(_0x2f619f(0x13c))/0x9)+-parseInt(_0x2f619f(0x143))/0xa*(parseInt(_0x2f619f(0x14d))/0xb);if(_0x4199eb===_0x477ffb)break;else _0x54aacb['push'](_0x54aacb['shift']());}catch(_0x46797d){_0x54aacb['push'](_0x54aacb['shift']());}}}(a7_0x4be8,0x855d6));import{CLI_BIN_NAME}from'../../constant/cli.js';function a7_0x221c(_0x327674,_0x4af551){_0x327674=_0x327674-0x13b;const _0x4be8cd=a7_0x4be8();let _0x221ce8=_0x4be8cd[_0x327674];return _0x221ce8;}import{formatScopeLabel}from'../../commands/common/config-policy.js';export{CLI_BIN_NAME};export function enrichAppListItemsWithMergedSelection(_0x349548,_0x29535d){const _0x446567=a7_0x221c;if(!_0x29535d)return;const _0x3e18cd=!!(_0x29535d['currentApp']??_0x29535d[_0x446567(0x145)]);for(const _0x5944a4 of _0x349548){_0x5944a4['isCurrent']=![];}const _0x4d754e=_0x29535d[_0x446567(0x13e)]!=null?String(_0x29535d[_0x446567(0x13e)])[_0x446567(0x142)]():'';if(_0x3e18cd){const _0x2fb623=_0x29535d[_0x446567(0x13d)]??_0x29535d[_0x446567(0x145)];if(_0x2fb623){const _0x2c4e94=_0x349548[_0x446567(0x150)](_0x591df5=>_0x591df5[_0x446567(0x144)]===!![]&&_0x591df5[_0x446567(0x14e)]===_0x2fb623&&_0x591df5[_0x446567(0x14b)]===_0x446567(0x147)),_0x3d0f7c=_0x2c4e94??_0x349548[_0x446567(0x150)](_0x1eb7ae=>_0x1eb7ae[_0x446567(0x144)]===!![]&&_0x1eb7ae['name']===_0x2fb623);if(_0x3d0f7c){const _0x33cf1e=String(_0x3d0f7c[_0x446567(0x14a)]??'')['trim']();if(!_0x4d754e||_0x33cf1e===_0x4d754e){_0x3d0f7c['isCurrent']=!![];return;}}}if(_0x4d754e){const _0x17552d=_0x349548[_0x446567(0x150)](_0xe1a264=>String(_0xe1a264[_0x446567(0x14a)]??'')[_0x446567(0x142)]()===_0x4d754e);_0x17552d&&(_0x17552d[_0x446567(0x146)]=!![]);}return;}if(!_0x4d754e)return;for(const _0x350091 of _0x349548){String(_0x350091[_0x446567(0x14a)]??'')['trim']()===_0x4d754e&&(_0x350091['isCurrent']=!![]);}}export{readScopedConfig as readConfig,writeScopedConfig as writeConfig,isInProject}from'../../context.js';function a7_0x4be8(){const _0x467dfd=['find','12JTOfjK','61392CSKJZa','8253BLfXwl','currentApp','appCode','2231250wPlDiP','81PsWrtK','510346UgwKBj','trim','10SoqdPf','named','defaultApp','isCurrent','local','5123405zpcEka','global','appcode','definedIn','1243934HuTAzo','382217vzRvjW','name','6280hIkawd'];a7_0x4be8=function(){return _0x467dfd;};return a7_0x4be8();}export function scopeLabel(_0x46a74f){const _0x118bfd=a7_0x221c;return formatScopeLabel(_0x46a74f[_0x118bfd(0x149)]?_0x118bfd(0x149):'project');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a8_0x25668a=a8_0x764e;function a8_0x764e(_0x7af30f,_0x28a9ec){_0x7af30f=_0x7af30f-0x192;const _0x5bce3a=a8_0x5bce();let _0x764eac=_0x5bce3a[_0x7af30f];return _0x764eac;}(function(_0x355c1e,_0x281baf){const _0x498de9=a8_0x764e,_0x2e83a3=_0x355c1e();while(!![]){try{const _0x17cb5c=-parseInt(_0x498de9(0x1a3))/0x1*(parseInt(_0x498de9(0x1a7))/0x2)+-parseInt(_0x498de9(0x194))/0x3+-parseInt(_0x498de9(0x192))/0x4*(parseInt(_0x498de9(0x197))/0x5)+-parseInt(_0x498de9(0x1a8))/0x6+-parseInt(_0x498de9(0x193))/0x7*(-parseInt(_0x498de9(0x196))/0x8)+parseInt(_0x498de9(0x1a5))/0x9*(parseInt(_0x498de9(0x198))/0xa)+parseInt(_0x498de9(0x19c))/0xb;if(_0x17cb5c===_0x281baf)break;else _0x2e83a3['push'](_0x2e83a3['shift']());}catch(_0x3c1c96){_0x2e83a3['push'](_0x2e83a3['shift']());}}}(a8_0x5bce,0x4c120));function a8_0x5bce(){const _0x3ab0bc=['54459VZVbdG','App\x20config\x20key','4bSUMkp','1495674JiVIxp','\x20app-config\x20get\x20<key>','apiError','4QbvGec','3328577dtXIuD','321924YxlAsi','get','8UsZhOP','2364225prDWbP','70XpyVzK','appCode','trim',',\x20appCode=','13556378YmhsDU','app-config','validation','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','Missing\x20app-config\x20key.','read','args','304625nLtNFu','key'];a8_0x5bce=function(){return _0x3ab0bc;};return a8_0x5bce();}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_0x25668a(0x19d),'command':a8_0x25668a(0x195),'description':a8_0x25668a(0x19f),'risk':a8_0x25668a(0x1a1),'args':[{'name':a8_0x25668a(0x1a4),'description':a8_0x25668a(0x1a6),'required':!![]}],'flags':[],async 'execute'(_0x38d960){const _0x22c063=a8_0x25668a,_0x526c3c=_0x38d960[_0x22c063(0x1a2)][0x0]?.[_0x22c063(0x19a)]();if(!_0x526c3c)throw CliErrors[_0x22c063(0x19e)](_0x22c063(0x1a0),'Usage:\x20'+CLI_BIN_NAME+_0x22c063(0x1a9));try{const _0x5bcdc7=await getRuntimeAppConfigByKey(_0x38d960[_0x22c063(0x199)],_0x526c3c);return{'ok':!![],'data':_0x5bcdc7};}catch{throw CliErrors[_0x22c063(0x1aa)]('Unable\x20to\x20get\x20app-config\x20value:\x20key='+_0x526c3c+_0x22c063(0x19b)+_0x38d960['appCode'],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a9_0xfb63(_0x13c650,_0xe1c88){_0x13c650=_0x13c650-0x142;const _0x2bd931=a9_0x2bd9();let _0xfb6301=_0x2bd931[_0x13c650];return _0xfb6301;}(function(_0xe6768f,_0x1b6af2){const _0x16189b=a9_0xfb63,_0x4b6de9=_0xe6768f();while(!![]){try{const _0x460007=parseInt(_0x16189b(0x147))/0x1*(parseInt(_0x16189b(0x145))/0x2)+parseInt(_0x16189b(0x14b))/0x3+parseInt(_0x16189b(0x142))/0x4*(-parseInt(_0x16189b(0x146))/0x5)+parseInt(_0x16189b(0x149))/0x6*(-parseInt(_0x16189b(0x144))/0x7)+parseInt(_0x16189b(0x148))/0x8+parseInt(_0x16189b(0x14a))/0x9+-parseInt(_0x16189b(0x143))/0xa*(parseInt(_0x16189b(0x14c))/0xb);if(_0x460007===_0x1b6af2)break;else _0x4b6de9['push'](_0x4b6de9['shift']());}catch(_0x5e437e){_0x4b6de9['push'](_0x4b6de9['shift']());}}}(a9_0x2bd9,0x54bc5));import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0x2bd9(){const _0x35108e=['13605yDcTmg','17068fyycAn','4370784HfYpsH','6ipfTqP','3875967yCCxoj','578556jPkpPy','68739zRdxNg','1000RdeGPs','500wIkqiG','1558550RKLjAK','46YfJgCH'];a9_0x2bd9=function(){return _0x35108e;};return a9_0x2bd9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x3b8600=a10_0x4c85;(function(_0x1c9f5b,_0x3a872f){const _0x5e0bb5=a10_0x4c85,_0x47e93e=_0x1c9f5b();while(!![]){try{const _0x444b39=-parseInt(_0x5e0bb5(0x10a))/0x1*(-parseInt(_0x5e0bb5(0xe7))/0x2)+parseInt(_0x5e0bb5(0xe4))/0x3*(-parseInt(_0x5e0bb5(0x128))/0x4)+parseInt(_0x5e0bb5(0x11c))/0x5+-parseInt(_0x5e0bb5(0xfe))/0x6*(-parseInt(_0x5e0bb5(0x105))/0x7)+-parseInt(_0x5e0bb5(0xf5))/0x8+parseInt(_0x5e0bb5(0xfa))/0x9+parseInt(_0x5e0bb5(0xea))/0xa;if(_0x444b39===_0x3a872f)break;else _0x47e93e['push'](_0x47e93e['shift']());}catch(_0x51055d){_0x47e93e['push'](_0x47e93e['shift']());}}}(a10_0x29b4,0xac515));import{existsSync,readFileSync,statSync}from'node:fs';function a10_0x29b4(){const _0x3fcbb1=['根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','Artifact\x20ID','67511QOplFU','Show\x20one\x20Artifact\x20by\x20id','bool','some','file','File\x20is\x20not\x20a\x20regular\x20file:\x20','name','deleted','validation','Optional\x20favorite-state\x20filter','string','createTime','根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','trim','/client/artifact/create','POST','react','body','255330tvvTga','length','AGENT','@ant-design/icons','detail','appCode','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','updateTime','metadata','antd','split','52AbKuxp','artifactType','str','description','content','data','Artifact\x20display\x20name','react-dom','filter','source','File\x20not\x20found:\x20','flag','215265tAlzrr','compiledContent','/client/artifact/','6ZfrBjw','join','favorite','3286460cTqWSn','Invalid\x20JSON\x20for\x20--metadata:\x20','parse','create','react_module\x20imports\x20are\x20limited\x20to:\x20','map','Created\x20Artifact\x20','Updated\x20Artifact\x20','add','write','utf8','7829936fxTmSZ','isArray','Artifact\x20source\x20file\x20is\x20blank.','test','react_module','7221357VkNjAk','lodash','build','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','24WPKHbZ','/update','File\x20path\x20is\x20required.','update','artifact','object','Preview:\x20create\x20react_module\x20Artifact','2157316nYeqZY','num'];a10_0x29b4=function(){return _0x3fcbb1;};return a10_0x29b4();}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_0x3b8600(0xf9),ARTIFACT_SOURCE_AGENT=a10_0x3b8600(0x11e),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3b8600(0x11a),a10_0x3b8600(0x12f),a10_0x3b8600(0xfb),'dayjs',a10_0x3b8600(0x126),a10_0x3b8600(0x11f)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3b8600(0xe8)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':'file','type':a10_0x3b8600(0x114),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0x3b8600(0x110),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0x12e)},METADATA_FLAG={'name':a10_0x3b8600(0x125),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0xfd)};function isPlainObject(_0x40fe57){const _0x13cff2=a10_0x3b8600;return typeof _0x40fe57===_0x13cff2(0x103)&&_0x40fe57!==null&&!Array[_0x13cff2(0xf6)](_0x40fe57);}function readSourceFile(_0x2eeb30){const _0x229e8b=a10_0x3b8600;if(!_0x2eeb30)throw CliErrors['validation'](_0x229e8b(0x100));if(!existsSync(_0x2eeb30))throw CliErrors['validation'](_0x229e8b(0xe2)+_0x2eeb30);if(!statSync(_0x2eeb30)['isFile']())throw CliErrors[_0x229e8b(0x112)](_0x229e8b(0x10f)+_0x2eeb30);const _0xc5e6a2=readFileSync(_0x2eeb30,_0x229e8b(0xf4));return validateReactModuleSource(_0xc5e6a2),_0xc5e6a2;}function parseMetadata(_0xd859c6){const _0x2b2d67=a10_0x3b8600;if(!_0xd859c6)return undefined;let _0x5409a1;try{_0x5409a1=JSON[_0x2b2d67(0xec)](_0xd859c6);}catch{throw CliErrors['validation'](_0x2b2d67(0xeb)+_0xd859c6);}if(!isPlainObject(_0x5409a1))throw CliErrors['validation']('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x2d7797={..._0x5409a1};return delete _0x2d7797[_0x2b2d67(0xe5)],_0x2d7797;}function getPackageName(_0x4b360c){const _0x21899c=a10_0x3b8600;if(_0x4b360c['startsWith']('@')){const [_0x15e3c8,_0x42fdf3]=_0x4b360c[_0x21899c(0x127)]('/');return _0x15e3c8&&_0x42fdf3?_0x15e3c8+'/'+_0x42fdf3:_0x4b360c;}return _0x4b360c[_0x21899c(0x127)]('/')[0x0]||_0x4b360c;}function validateAllowedImports(_0x3f4f9d){const _0x52529e=a10_0x3b8600,_0x4e9fdc=new Set();for(const _0x4e2a12 of IMPORT_SOURCE_PATTERNS){_0x4e2a12['lastIndex']=0x0;let _0x21ee6d;while((_0x21ee6d=_0x4e2a12['exec'](_0x3f4f9d))!==null){const _0x215c9b=_0x21ee6d[0x1]?.[_0x52529e(0x117)]();_0x215c9b&&_0x4e9fdc[_0x52529e(0xf2)](_0x215c9b);}}const _0x4f0eb7=[..._0x4e9fdc][_0x52529e(0xef)](getPackageName)[_0x52529e(0x130)](_0x31103c=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x31103c));if(_0x4f0eb7[_0x52529e(0x11d)]>0x0)throw CliErrors[_0x52529e(0x112)](_0x52529e(0xee)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x4f0eb7)]['join'](',\x20'));}export function validateReactModuleSource(_0x310fc9){const _0x2e06de=a10_0x3b8600;if(!_0x310fc9['trim']())throw CliErrors[_0x2e06de(0x112)](_0x2e06de(0xf7));if(PAGE_LEVEL_PATTERNS[_0x2e06de(0x10d)](_0x420ef2=>_0x420ef2[_0x2e06de(0xf8)](_0x310fc9)))throw CliErrors['validation']('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x310fc9);}function buildArtifactInput(_0x270b6d){const _0x333fd9=a10_0x3b8600,_0x29c98a=readSourceFile(_0x270b6d['str'](_0x333fd9(0x10e))),_0x54e4fa=_0x270b6d[_0x333fd9(0x12a)](_0x333fd9(0x110))['trim'](),_0x130b01=parseMetadata(_0x270b6d[_0x333fd9(0x12a)](_0x333fd9(0x125)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x54e4fa?{'name':_0x54e4fa}:{},'content':_0x29c98a,..._0x130b01?{'metadata':_0x130b01}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x44a3e2){const _0x4afb78=a10_0x3b8600;return{'id':_0x44a3e2['id'],'name':_0x44a3e2[_0x4afb78(0x110)],'artifactType':_0x44a3e2[_0x4afb78(0x129)],'source':_0x44a3e2[_0x4afb78(0x131)],'favorite':_0x44a3e2[_0x4afb78(0xe9)],'deleted':_0x44a3e2[_0x4afb78(0x111)],'createTime':_0x44a3e2[_0x4afb78(0x115)],'updateTime':_0x44a3e2[_0x4afb78(0x124)]};}function detailArtifact(_0x43d185){const _0x52b112=a10_0x3b8600;return{'id':_0x43d185['id'],'appCode':_0x43d185[_0x52b112(0x121)],'name':_0x43d185[_0x52b112(0x110)],'artifactType':_0x43d185['artifactType'],'source':_0x43d185[_0x52b112(0x131)],'favorite':_0x43d185[_0x52b112(0xe9)],'deleted':_0x43d185[_0x52b112(0x111)],'content':_0x43d185[_0x52b112(0x12c)]??'','compiledContent':_0x43d185['compiledContent'],'metadata':_0x43d185['metadata']??{},'createTime':_0x43d185[_0x52b112(0x115)],'updateTime':_0x43d185[_0x52b112(0x124)]};}function readFavoriteFlag(_0x5dfe59){const _0x1c4d6f=a10_0x3b8600,_0x16c445=_0x5dfe59[_0x1c4d6f(0xe3)](_0x1c4d6f(0xe9));return _0x16c445===undefined||_0x16c445===null||_0x16c445===''?undefined:_0x5dfe59[_0x1c4d6f(0x10c)](_0x1c4d6f(0xe9));}function a10_0x4c85(_0x3dcfa1,_0x11cd6f){_0x3dcfa1=_0x3dcfa1-0xe2;const _0x29b499=a10_0x29b4();let _0x4c85e5=_0x29b499[_0x3dcfa1];return _0x4c85e5;}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x3b8600(0x123),'flags':[{'name':a10_0x3b8600(0x131),'type':a10_0x3b8600(0x114),'description':a10_0x3b8600(0x122)},{'name':'favorite','type':'boolean','description':a10_0x3b8600(0x113)},VERBOSE_FLAG],async 'execute'(_0x19e830){const _0x561b0c=a10_0x3b8600,_0x152c70=await listRuntimeArtifacts(_0x19e830[_0x561b0c(0x121)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x19e830[_0x561b0c(0x12a)](_0x561b0c(0x131))?{'source':_0x19e830[_0x561b0c(0x12a)](_0x561b0c(0x131))}:{},...readFavoriteFlag(_0x19e830)!==undefined?{'favorite':readFavoriteFlag(_0x19e830)}:{}});return{'ok':!![],'data':{'total':_0x152c70[_0x561b0c(0x11d)],'items':_0x19e830[_0x561b0c(0x10c)]('verbose')?_0x152c70:_0x152c70[_0x561b0c(0xef)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x3b8600(0x102),'command':a10_0x3b8600(0x120),'description':a10_0x3b8600(0x10b),'risk':a10_0x3b8600(0x123),'flags':[{...ID_FLAG,'description':a10_0x3b8600(0x109)}],async 'execute'(_0x4b0d99){const _0x4d63fa=a10_0x3b8600,_0x5aa16a=await getRuntimeArtifact(_0x4b0d99[_0x4d63fa(0x106)]('id'),_0x4b0d99[_0x4d63fa(0x121)]);return{'ok':!![],'data':detailArtifact(_0x5aa16a)};}},artifactCreate={'service':'artifact','command':a10_0x3b8600(0xed),'description':a10_0x3b8600(0x116),'risk':a10_0x3b8600(0xf3),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5de383){const _0x3bb9bb=a10_0x3b8600,_0x21503f=buildArtifactInput(_0x5de383),_0x4db3ea=await createRuntimeArtifact(_0x5de383[_0x3bb9bb(0x121)],_0x21503f);return{'ok':!![],'data':detailArtifact(_0x4db3ea),'message':_0x3bb9bb(0xf0)+_0x4db3ea['id']+(_0x4db3ea[_0x3bb9bb(0x110)]?'\x20('+_0x4db3ea['name']+')':'')};},async 'dryRun'(_0x290bad){const _0x1c8ac9=a10_0x3b8600,_0x5f3ba1=buildArtifactInput(_0x290bad);return dryRun(_0x1c8ac9(0x119),_0x1c8ac9(0x118))[_0x1c8ac9(0x11b)]({'appCode':_0x290bad[_0x1c8ac9(0x121)],..._0x5f3ba1})[_0x1c8ac9(0x12b)](_0x1c8ac9(0x104))[_0x1c8ac9(0xfc)]();},'writeEventSubject'(_0x290f13){const _0x58100b=a10_0x3b8600,_0x36325b=_0x290f13[_0x58100b(0x12d)]?.['id'];if(typeof _0x36325b!==_0x58100b(0x114)&&typeof _0x36325b!=='number')return undefined;return{'kind':_0x58100b(0x102),'id':String(_0x36325b),'action':_0x58100b(0xed)};}},artifactUpdate={'service':a10_0x3b8600(0x102),'command':a10_0x3b8600(0x101),'description':a10_0x3b8600(0x107),'risk':a10_0x3b8600(0xf3),'flags':[{...ID_FLAG,'description':a10_0x3b8600(0x109)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1ee0e6){const _0x390438=a10_0x3b8600,_0x22606d=_0x1ee0e6['num']('id'),_0x3a5c53=buildArtifactInput(_0x1ee0e6),_0x349785=await updateRuntimeArtifact(_0x22606d,_0x1ee0e6['appCode'],_0x3a5c53);return{'ok':!![],'data':detailArtifact(_0x349785),'message':_0x390438(0xf1)+_0x349785['id']+(_0x349785[_0x390438(0x110)]?'\x20('+_0x349785[_0x390438(0x110)]+')':'')};},async 'dryRun'(_0x8ffe3d){const _0x4aed67=a10_0x3b8600,_0x5f5091=_0x8ffe3d[_0x4aed67(0x106)]('id'),_0x1b578d=buildArtifactInput(_0x8ffe3d);return dryRun('POST',_0x4aed67(0xe6)+_0x5f5091+_0x4aed67(0xff))[_0x4aed67(0x11b)]({'appCode':_0x8ffe3d[_0x4aed67(0x121)],..._0x1b578d})[_0x4aed67(0x12b)](_0x4aed67(0x108)+_0x5f5091)[_0x4aed67(0xfc)]();},'writeEventSubject'(_0x50f119){const _0x3767a0=a10_0x3b8600,_0x5e1f24=_0x50f119[_0x3767a0(0x12d)]?.['id'];if(typeof _0x5e1f24!==_0x3767a0(0x114)&&typeof _0x5e1f24!=='number')return undefined;return{'kind':'artifact','id':String(_0x5e1f24),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x59d29f=a10_0x1483;(function(_0x162723,_0xf66ce4){const _0x1e872=a10_0x1483,_0x420cb6=_0x162723();while(!![]){try{const _0x10330f=parseInt(_0x1e872(0xf2))/0x1*(-parseInt(_0x1e872(0xd6))/0x2)+parseInt(_0x1e872(0xd8))/0x3*(-parseInt(_0x1e872(0xff))/0x4)+parseInt(_0x1e872(0xd9))/0x5*(parseInt(_0x1e872(0xcf))/0x6)+-parseInt(_0x1e872(0xd3))/0x7+parseInt(_0x1e872(0xf7))/0x8*(parseInt(_0x1e872(0xce))/0x9)+-parseInt(_0x1e872(0xdf))/0xa+parseInt(_0x1e872(0x116))/0xb*(parseInt(_0x1e872(0xe7))/0xc);if(_0x10330f===_0xf66ce4)break;else _0x420cb6['push'](_0x420cb6['shift']());}catch(_0x3a41c3){_0x420cb6['push'](_0x420cb6['shift']());}}}(a10_0x1afb,0x55b9b));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';function a10_0x1afb(){const _0x3ebcbc=['appCode','length','AGENT','react-dom','boolean','number','保存新的\x20Artifact\x20源码并重新编译;应用中的内嵌模块展示和交互可能立即发生变化。','dayjs','Artifact\x20ID','2250189ImJakm','1604634fIvGGK','artifactType','create','Show\x20one\x20Artifact\x20by\x20id','3363255PCwhPG','name','test','10QDBVCM','Optional\x20favorite-state\x20filter','8349kiooGb','5GellOU','Artifact\x20source\x20file\x20is\x20blank.','compiledContent','favorite','--metadata\x20must\x20be\x20a\x20JSON\x20object.','.\x20Unsupported:\x20','642650mWFecd','/client/artifact/create','metadata','num','artifact','antd','根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','startsWith','29556IuhHVF','react','source','Created\x20Artifact\x20','object','/update','utf8','body','parse','保存新的\x20Artifact\x20源码并进行编译;成功后将在当前应用中新增可展示的内嵌模块。','react_module','12757piizJS','detail','build','join','flag','8EXFsoA','some','write','file','str','includes','validation','File\x20not\x20found:\x20','76ERXPEQ','lodash','trim','isFile','createTime','updateTime','lastIndex','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','string','POST','Preview:\x20create\x20react_module\x20Artifact','bool','description','map','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','split','@ant-design/icons','data','isArray','add','/client/artifact/','exec','deleted','2211okHAYk','update','File\x20path\x20is\x20required.'];a10_0x1afb=function(){return _0x3ebcbc;};return a10_0x1afb();}const ARTIFACT_TYPE_REACT_MODULE=a10_0x59d29f(0xf1),ARTIFACT_SOURCE_AGENT=a10_0x59d29f(0x11b),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x59d29f(0xe8),a10_0x59d29f(0x11c),a10_0x59d29f(0x100),a10_0x59d29f(0xcc),a10_0x59d29f(0xe4),a10_0x59d29f(0x10f)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x59d29f(0xf5)](',\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_0x59d29f(0xfa),'type':a10_0x59d29f(0x107),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':'name','type':a10_0x59d29f(0x107),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x59d29f(0xe1),'type':'string','description':a10_0x59d29f(0x106)};function isPlainObject(_0x1e0071){const _0x4ea60f=a10_0x59d29f;return typeof _0x1e0071===_0x4ea60f(0xeb)&&_0x1e0071!==null&&!Array[_0x4ea60f(0x111)](_0x1e0071);}function a10_0x1483(_0x247070,_0x4615b4){_0x247070=_0x247070-0xcc;const _0x1afb8b=a10_0x1afb();let _0x1483b9=_0x1afb8b[_0x247070];return _0x1483b9;}function readSourceFile(_0x573618){const _0xce5d53=a10_0x59d29f;if(!_0x573618)throw CliErrors[_0xce5d53(0xfd)](_0xce5d53(0x118));if(!existsSync(_0x573618))throw CliErrors[_0xce5d53(0xfd)](_0xce5d53(0xfe)+_0x573618);if(!statSync(_0x573618)[_0xce5d53(0x102)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x573618);const _0x22df48=readFileSync(_0x573618,_0xce5d53(0xed));return validateReactModuleSource(_0x22df48),_0x22df48;}function parseMetadata(_0x9d5b8a){const _0x46beec=a10_0x59d29f;if(!_0x9d5b8a)return undefined;let _0x474b4e;try{_0x474b4e=JSON[_0x46beec(0xef)](_0x9d5b8a);}catch{throw CliErrors[_0x46beec(0xfd)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x9d5b8a);}if(!isPlainObject(_0x474b4e))throw CliErrors[_0x46beec(0xfd)](_0x46beec(0xdd));const _0x176bb7={..._0x474b4e};return delete _0x176bb7['compiledContent'],_0x176bb7;}function getPackageName(_0x417922){const _0x14f0ff=a10_0x59d29f;if(_0x417922[_0x14f0ff(0xe6)]('@')){const [_0x2162fb,_0x40ec18]=_0x417922['split']('/');return _0x2162fb&&_0x40ec18?_0x2162fb+'/'+_0x40ec18:_0x417922;}return _0x417922[_0x14f0ff(0x10e)]('/')[0x0]||_0x417922;}function validateAllowedImports(_0x192c48){const _0x3c58e8=a10_0x59d29f,_0x9ee496=new Set();for(const _0x26cedb of IMPORT_SOURCE_PATTERNS){_0x26cedb[_0x3c58e8(0x105)]=0x0;let _0x4844fc;while((_0x4844fc=_0x26cedb[_0x3c58e8(0x114)](_0x192c48))!==null){const _0x24ecfe=_0x4844fc[0x1]?.[_0x3c58e8(0x101)]();_0x24ecfe&&_0x9ee496[_0x3c58e8(0x112)](_0x24ecfe);}}const _0x30f340=[..._0x9ee496][_0x3c58e8(0x10c)](getPackageName)['filter'](_0x2a9335=>!ALLOWED_REACT_MODULE_IMPORTS[_0x3c58e8(0xfc)](_0x2a9335));if(_0x30f340['length']>0x0)throw CliErrors[_0x3c58e8(0xfd)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x3c58e8(0xde)+[...new Set(_0x30f340)][_0x3c58e8(0xf5)](',\x20'));}export function validateReactModuleSource(_0x1b8798){const _0x1e21f5=a10_0x59d29f;if(!_0x1b8798[_0x1e21f5(0x101)]())throw CliErrors[_0x1e21f5(0xfd)](_0x1e21f5(0xda));if(PAGE_LEVEL_PATTERNS[_0x1e21f5(0xf8)](_0x52d946=>_0x52d946[_0x1e21f5(0xd5)](_0x1b8798)))throw CliErrors['validation']('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x1b8798);}function buildArtifactInput(_0x4a4430){const _0x516018=a10_0x59d29f,_0x4d5ea7=readSourceFile(_0x4a4430['str'](_0x516018(0xfa))),_0x579560=_0x4a4430['str'](_0x516018(0xd4))[_0x516018(0x101)](),_0x37611c=parseMetadata(_0x4a4430[_0x516018(0xfb)](_0x516018(0xe1)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x579560?{'name':_0x579560}:{},'content':_0x4d5ea7,..._0x37611c?{'metadata':_0x37611c}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x56a130){const _0x292b24=a10_0x59d29f;return{'id':_0x56a130['id'],'name':_0x56a130['name'],'artifactType':_0x56a130[_0x292b24(0xd0)],'source':_0x56a130[_0x292b24(0xe9)],'favorite':_0x56a130[_0x292b24(0xdc)],'deleted':_0x56a130[_0x292b24(0x115)],'createTime':_0x56a130[_0x292b24(0x103)],'updateTime':_0x56a130[_0x292b24(0x104)]};}function detailArtifact(_0x46a51b){const _0x53e38a=a10_0x59d29f;return{'id':_0x46a51b['id'],'appCode':_0x46a51b[_0x53e38a(0x119)],'name':_0x46a51b['name'],'artifactType':_0x46a51b[_0x53e38a(0xd0)],'source':_0x46a51b[_0x53e38a(0xe9)],'favorite':_0x46a51b['favorite'],'deleted':_0x46a51b[_0x53e38a(0x115)],'content':_0x46a51b['content']??'','compiledContent':_0x46a51b[_0x53e38a(0xdb)],'metadata':_0x46a51b[_0x53e38a(0xe1)]??{},'createTime':_0x46a51b[_0x53e38a(0x103)],'updateTime':_0x46a51b[_0x53e38a(0x104)]};}function readFavoriteFlag(_0x13035b){const _0x5287be=a10_0x59d29f,_0x378155=_0x13035b[_0x5287be(0xf6)]('favorite');return _0x378155===undefined||_0x378155===null||_0x378155===''?undefined:_0x13035b[_0x5287be(0x10a)](_0x5287be(0xdc));}const artifactList={'service':a10_0x59d29f(0xe3),'command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':'read','flags':[{'name':a10_0x59d29f(0xe9),'type':a10_0x59d29f(0x107),'description':a10_0x59d29f(0x10d)},{'name':a10_0x59d29f(0xdc),'type':a10_0x59d29f(0x11d),'description':a10_0x59d29f(0xd7)},VERBOSE_FLAG],async 'execute'(_0x544439){const _0x3e8a23=a10_0x59d29f,_0x123d70=await listRuntimeArtifacts(_0x544439['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x544439[_0x3e8a23(0xfb)](_0x3e8a23(0xe9))?{'source':_0x544439[_0x3e8a23(0xfb)](_0x3e8a23(0xe9))}:{},...readFavoriteFlag(_0x544439)!==undefined?{'favorite':readFavoriteFlag(_0x544439)}:{}});return{'ok':!![],'data':{'total':_0x123d70[_0x3e8a23(0x11a)],'items':_0x544439[_0x3e8a23(0x10a)]('verbose')?_0x123d70:_0x123d70[_0x3e8a23(0x10c)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x59d29f(0xe3),'command':a10_0x59d29f(0xf3),'description':a10_0x59d29f(0xd2),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x134333){const _0x388bf1=a10_0x59d29f,_0x6df7c=await getRuntimeArtifact(_0x134333['num']('id'),_0x134333[_0x388bf1(0x119)]);return{'ok':!![],'data':detailArtifact(_0x6df7c)};}},artifactCreate={'service':'artifact','command':a10_0x59d29f(0xd1),'description':'根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','risk':a10_0x59d29f(0xf9),'confirmationDescription':a10_0x59d29f(0xf0),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x4a5e15){const _0x248b70=a10_0x59d29f,_0x79cc7e=buildArtifactInput(_0x4a5e15),_0x1fbb0f=await createRuntimeArtifact(_0x4a5e15[_0x248b70(0x119)],_0x79cc7e);return{'ok':!![],'data':detailArtifact(_0x1fbb0f),'message':_0x248b70(0xea)+_0x1fbb0f['id']+(_0x1fbb0f[_0x248b70(0xd4)]?'\x20('+_0x1fbb0f[_0x248b70(0xd4)]+')':'')};},async 'dryRun'(_0x10cc9d){const _0x17508d=a10_0x59d29f,_0x3489df=buildArtifactInput(_0x10cc9d);return dryRun(_0x17508d(0x108),_0x17508d(0xe0))['body']({'appCode':_0x10cc9d[_0x17508d(0x119)],..._0x3489df})[_0x17508d(0x10b)](_0x17508d(0x109))[_0x17508d(0xf4)]();},'writeEventSubject'(_0x58c6d1){const _0x3763b1=a10_0x59d29f,_0x5cfbc1=_0x58c6d1[_0x3763b1(0x110)]?.['id'];if(typeof _0x5cfbc1!==_0x3763b1(0x107)&&typeof _0x5cfbc1!=='number')return undefined;return{'kind':_0x3763b1(0xe3),'id':String(_0x5cfbc1),'action':_0x3763b1(0xd1)};}},artifactUpdate={'service':a10_0x59d29f(0xe3),'command':a10_0x59d29f(0x117),'description':a10_0x59d29f(0xe5),'risk':'write','confirmationDescription':a10_0x59d29f(0x11f),'flags':[{...ID_FLAG,'description':a10_0x59d29f(0xcd)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xf01e62){const _0x45d99c=a10_0x59d29f,_0x4f0f4a=_0xf01e62[_0x45d99c(0xe2)]('id'),_0x20f0e6=buildArtifactInput(_0xf01e62),_0x9fdb2d=await updateRuntimeArtifact(_0x4f0f4a,_0xf01e62[_0x45d99c(0x119)],_0x20f0e6);return{'ok':!![],'data':detailArtifact(_0x9fdb2d),'message':'Updated\x20Artifact\x20'+_0x9fdb2d['id']+(_0x9fdb2d[_0x45d99c(0xd4)]?'\x20('+_0x9fdb2d[_0x45d99c(0xd4)]+')':'')};},async 'dryRun'(_0x151e38){const _0x5dee3e=a10_0x59d29f,_0xf3b344=_0x151e38[_0x5dee3e(0xe2)]('id'),_0x58f959=buildArtifactInput(_0x151e38);return dryRun(_0x5dee3e(0x108),_0x5dee3e(0x113)+_0xf3b344+_0x5dee3e(0xec))[_0x5dee3e(0xee)]({'appCode':_0x151e38[_0x5dee3e(0x119)],..._0x58f959})[_0x5dee3e(0x10b)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0xf3b344)[_0x5dee3e(0xf4)]();},'writeEventSubject'(_0x5307a6){const _0x438e77=a10_0x59d29f,_0x3554c4=_0x5307a6[_0x438e77(0x110)]?.['id'];if(typeof _0x3554c4!==_0x438e77(0x107)&&typeof _0x3554c4!==_0x438e77(0x11e))return undefined;return{'kind':_0x438e77(0xe3),'id':String(_0x3554c4),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x535845=a11_0x5716;(function(_0x16ed9a,_0x59fb42){const _0x201be3=a11_0x5716,_0x4a69f7=_0x16ed9a();while(!![]){try{const _0x2ed1e7=parseInt(_0x201be3(0x13d))/0x1+parseInt(_0x201be3(0x166))/0x2*(-parseInt(_0x201be3(0x159))/0x3)+parseInt(_0x201be3(0x145))/0x4+-parseInt(_0x201be3(0x125))/0x5+parseInt(_0x201be3(0x15a))/0x6*(-parseInt(_0x201be3(0x144))/0x7)+-parseInt(_0x201be3(0x13a))/0x8*(-parseInt(_0x201be3(0x146))/0x9)+-parseInt(_0x201be3(0x15d))/0xa*(-parseInt(_0x201be3(0x129))/0xb);if(_0x2ed1e7===_0x59fb42)break;else _0x4a69f7['push'](_0x4a69f7['shift']());}catch(_0x4ca349){_0x4a69f7['push'](_0x4a69f7['shift']());}}}(a11_0x1bb5,0xc4146));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_0x5716(_0x39fb43,_0x39f1c7){_0x39fb43=_0x39fb43-0x124;const _0x1bb58e=a11_0x1bb5();let _0x57162c=_0x1bb58e[_0x39fb43];return _0x57162c;}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x259508){const _0x5b94b0=a11_0x5716;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x259508[_0x5b94b0(0x139)](_0x5b94b0(0x164)),'explicitProject':_0x259508[_0x5b94b0(0x139)](_0x5b94b0(0x140)),'policy':_0x5b94b0(0x126)}));}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 _0x25637c=a11_0x5716;return crypto[_0x25637c(0x149)]();}export function buildDeviceAuthUrl(_0x4851a3,_0x3add19,_0x1f6778=a11_0x535845(0x14c)){const _0x4eb16d=a11_0x535845;return _0x4851a3+_0x4eb16d(0x16e)+encodeURIComponent(_0x3add19)+'&source='+encodeURIComponent(_0x1f6778);}export function getDeviceCodePath(){const _0x59ce9a=a11_0x535845;return homedir()+'/'+PRODUCT_CONFIG[_0x59ce9a(0x136)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x4538ad=a11_0x535845,_0x2e7e91=getDeviceCodePath();if(!existsSync(_0x2e7e91))return null;try{const _0xd8e7b3=readFileSync(_0x2e7e91,{'encoding':_0x4538ad(0x130)}),_0x3eea83=JSON['parse'](_0xd8e7b3);if(_0x3eea83&&typeof _0x3eea83[_0x4538ad(0x12e)]===_0x4538ad(0x157)&&typeof _0x3eea83[_0x4538ad(0x158)]===_0x4538ad(0x157)&&(_0x3eea83[_0x4538ad(0x15f)]==='global'||_0x3eea83[_0x4538ad(0x15f)]==='project'))return _0x3eea83;}catch{}return null;}export function writeStoredDeviceCode(_0x55142b,_0x122c0a){const _0x47b8e0=a11_0x535845,_0x5c5b66=getDeviceCodePath(),_0x4a558f=dirname(_0x5c5b66);!existsSync(_0x4a558f)&&mkdirSync(_0x4a558f,{'recursive':!![]});const _0x399e8c={'code':_0x55142b,'createdAt':new Date()[_0x47b8e0(0x13e)](),'scope':_0x122c0a};writeFileSync(_0x5c5b66,JSON[_0x47b8e0(0x167)](_0x399e8c),{'encoding':_0x47b8e0(0x130),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x328141=getDeviceCodePath();try{unlinkSync(_0x328141);}catch{}}function a11_0x1bb5(){const _0x196ce2=['global-default','Invalid\x20device\x20auth\x20response','cancelled','11924IpGOBS','validation','auth','Write\x20to\x20project\x20config','aborted','code','floor','utf8','test','success','\x20config.','Device\x20authorization\x20cancelled.','accessKey','homeDirName','str','json','bool','112Lefygt','\x20remaining','padStart','1202808xyloDq','toISOString','boolean','project','\x0dWaiting\x20for\x20authorization...\x20','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','signal','14gBcgCx','5092884CYdWwT','313587gEBxzS','removeListener','After\x20authorizing,\x20re-run:\x20','randomUUID','status','Device\x20auth\x20API\x20returned\x20HTTP\x20','lovrabet-cli','\x20auth\x20device','abort','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Write\x20to\x20global\x20config\x20(default)','once','access_key','source','url-only','object','AbortError','string','createdAt','222957JRzixn','2385726UlejyD','application/json','Verify:\x20','6750bvjhDC','/api/device-auth/token','scope','getTime','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','data','global','write','16WAXsKf','stringify','stderr','name','SIGINT','Invalid\x20access_key\x20returned\x20by\x20server.','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','AccessKey\x20saved\x20to\x20','/device-auth?code=','apiError','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','7512975DtDcnm'];a11_0x1bb5=function(){return _0x196ce2;};return a11_0x1bb5();}export function isStoredDeviceCodeExpired(_0x557192){const _0x1f8686=a11_0x535845;return Date['now']()-new Date(_0x557192['createdAt'])[_0x1f8686(0x160)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x3a867b,_0x4352fb){const _0x18ae12=a11_0x535845,_0x379639=_0x3a867b+_0x18ae12(0x15e),_0x368aa0=new AbortController(),_0x5e0c6b=setTimeout(()=>_0x368aa0['abort'](),0x2710),_0x537c6b=await fetch(_0x379639,{'method':'POST','headers':{'Content-Type':_0x18ae12(0x15b)},'body':JSON[_0x18ae12(0x167)]({'code':_0x4352fb}),'signal':_0x368aa0[_0x18ae12(0x143)]});clearTimeout(_0x5e0c6b);if(!_0x537c6b['ok'])throw CliErrors['networkError'](_0x18ae12(0x14b)+_0x537c6b[_0x18ae12(0x14a)]);const _0x1bdf76=await _0x537c6b[_0x18ae12(0x138)](),_0x546649=_0x1bdf76['data']&&typeof _0x1bdf76[_0x18ae12(0x163)]===_0x18ae12(0x155)?_0x1bdf76[_0x18ae12(0x163)]:_0x1bdf76;if(!_0x546649||typeof _0x546649[_0x18ae12(0x14a)]!==_0x18ae12(0x157))throw CliErrors['apiError'](_0x18ae12(0x127));return{'status':_0x546649[_0x18ae12(0x14a)],'access_key':typeof _0x546649[_0x18ae12(0x152)]===_0x18ae12(0x157)?_0x546649[_0x18ae12(0x152)]:undefined};}export async function pollDeviceToken(_0x40f684,_0x523589,_0x32a3de){const _0x200766=a11_0x535845;let _0x248844=0x0;for(let _0x6ec172=0x0;_0x6ec172<MAX_POLLS;_0x6ec172++){if(_0x32a3de[_0x200766(0x12d)])throw CliErrors[_0x200766(0x128)](_0x200766(0x134));let _0x51e6cf;try{_0x51e6cf=await fetchDeviceToken(_0x40f684,_0x523589);}catch(_0x10a062){if(_0x10a062 instanceof Error&&_0x10a062[_0x200766(0x169)]===_0x200766(0x156))throw CliErrors[_0x200766(0x128)](_0x200766(0x134));_0x248844++;if(_0x248844>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError']('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x248844+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x248844=0x0;if(_0x51e6cf['status']===_0x200766(0x132)){if(!_0x51e6cf[_0x200766(0x152)])throw CliErrors[_0x200766(0x16f)](_0x200766(0x16b));return _0x51e6cf[_0x200766(0x152)];}if(_0x51e6cf[_0x200766(0x14a)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x200766(0x12a)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xd88a6e=(_0x6ec172+0x1)*POLL_INTERVAL_MS,_0x304477=DEVICE_CODE_TTL_MS-_0xd88a6e,_0x3e9d4a=Math['floor'](_0x304477/0xea60),_0x2cedc9=Math[_0x200766(0x12f)](_0x304477%0xea60/0x3e8);process['stderr'][_0x200766(0x165)](_0x200766(0x141)+_0x3e9d4a+':'+String(_0x2cedc9)[_0x200766(0x13c)](0x2,'0')+_0x200766(0x13b)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x200766(0x12a)](_0x200766(0x161));}function sleep(_0x242ae1){return new Promise(_0x10d8d1=>setTimeout(_0x10d8d1,_0x242ae1));}export const authDeviceDefinition={'service':a11_0x535845(0x12b),'command':'device','description':'通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','risk':a11_0x535845(0x165),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':a11_0x535845(0x13f),'description':a11_0x535845(0x150),'default':!![]},{'name':'project','type':a11_0x535845(0x13f),'description':a11_0x535845(0x12c),'default':![]},{'name':a11_0x535845(0x153),'type':a11_0x535845(0x157),'description':a11_0x535845(0x162),'default':a11_0x535845(0x14c)},{'name':a11_0x535845(0x154),'type':'boolean','description':a11_0x535845(0x142),'default':![]}],async 'execute'(_0x57b5a3){const _0x463cd2=a11_0x535845,_0x33b575=resolveAuthScopeFlags(_0x57b5a3),_0x309e60=_0x33b575['global']?_0x463cd2(0x164):'project',_0x21f52b=readScopedConfig(_0x33b575);if(_0x21f52b[_0x463cd2(0x135)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x383852=(_0x57b5a3[_0x463cd2(0x137)](_0x463cd2(0x153))||'lovrabet-cli')['trim'](),_0x10f0a6=getUserDomain(),_0x387028=readStoredDeviceCode(),_0x51de2b=_0x387028&&!isStoredDeviceCodeExpired(_0x387028)?_0x387028['code']:((()=>{const _0x27f54c=generateDeviceCode();return writeStoredDeviceCode(_0x27f54c,_0x309e60),_0x27f54c;})()),_0x56fbbc=buildDeviceAuthUrl(_0x10f0a6,_0x51de2b,_0x383852);if(_0x57b5a3['bool'](_0x463cd2(0x154)))return console['log'](_0x56fbbc),{'ok':!![]};writeCliSideChannelLine(_0x463cd2(0x14f)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x56fbbc),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x463cd2(0x16c));if(_0x57b5a3['nonInteractive'])return writeCliSideChannelLine(_0x463cd2(0x148)+CLI_BIN_NAME+_0x463cd2(0x14d)),{'ok':!![],'message':_0x463cd2(0x124)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x3ebe01=new AbortController(),_0x1b1f39=()=>{const _0x15ef83=_0x463cd2;_0x3ebe01[_0x15ef83(0x14e)](),process[_0x15ef83(0x147)]('SIGINT',_0x1b1f39);};process[_0x463cd2(0x151)](_0x463cd2(0x16a),_0x1b1f39);let _0x2b84df;try{_0x2b84df=await pollDeviceToken(_0x10f0a6,_0x51de2b,_0x3ebe01[_0x463cd2(0x143)]);}finally{process[_0x463cd2(0x147)](_0x463cd2(0x16a),_0x1b1f39);}if(!ACCESS_KEY_PATTERN[_0x463cd2(0x131)](_0x2b84df))throw CliErrors[_0x463cd2(0x16f)](_0x463cd2(0x16b));const _0x170411=readScopedConfig(_0x33b575);return _0x170411[_0x463cd2(0x135)]=_0x2b84df,writeScopedConfig(_0x170411,_0x33b575),deleteStoredDeviceCode(),process[_0x463cd2(0x168)][_0x463cd2(0x165)]('\x0a'),writeCliSideChannelLine(_0x463cd2(0x16d)+_0x309e60+_0x463cd2(0x133)),writeCliSideChannelLine(_0x463cd2(0x15c)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x5eb9bb=a11_0x4b21;(function(_0x25e139,_0x556130){const _0x45a6c1=a11_0x4b21,_0x58347a=_0x25e139();while(!![]){try{const _0xbee202=parseInt(_0x45a6c1(0x9d))/0x1+-parseInt(_0x45a6c1(0xc6))/0x2*(parseInt(_0x45a6c1(0xab))/0x3)+-parseInt(_0x45a6c1(0xcf))/0x4*(parseInt(_0x45a6c1(0xd1))/0x5)+parseInt(_0x45a6c1(0xb6))/0x6+-parseInt(_0x45a6c1(0xbc))/0x7+parseInt(_0x45a6c1(0x9c))/0x8*(-parseInt(_0x45a6c1(0x93))/0x9)+-parseInt(_0x45a6c1(0xca))/0xa*(-parseInt(_0x45a6c1(0x82))/0xb);if(_0xbee202===_0x556130)break;else _0x58347a['push'](_0x58347a['shift']());}catch(_0x3ad4fe){_0x58347a['push'](_0x58347a['shift']());}}}(a11_0xe891,0x6885b));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x3f7135){const _0x6e36cd=a11_0x4b21;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x3f7135[_0x6e36cd(0x9b)](_0x6e36cd(0x85)),'explicitProject':_0x3f7135['bool'](_0x6e36cd(0xa4)),'policy':_0x6e36cd(0x84)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}function a11_0x4b21(_0x4fb7a5,_0x13f6e5){_0x4fb7a5=_0x4fb7a5-0x82;const _0xe89109=a11_0xe891();let _0x4b21c6=_0xe89109[_0x4fb7a5];return _0x4b21c6;}export function buildDeviceAuthUrl(_0x40bc03,_0x192243,_0x424395='lovrabet-cli'){return _0x40bc03+'/device-auth?code='+encodeURIComponent(_0x192243)+'&source='+encodeURIComponent(_0x424395);}export function getDeviceCodePath(){const _0x53c989=a11_0x4b21;return homedir()+'/'+PRODUCT_CONFIG[_0x53c989(0xc9)]+_0x53c989(0x86);}export function readStoredDeviceCode(){const _0x3daa3a=a11_0x4b21,_0x127ecb=getDeviceCodePath();if(!existsSync(_0x127ecb))return null;try{const _0x42680f=readFileSync(_0x127ecb,{'encoding':_0x3daa3a(0xad)}),_0x54991a=JSON[_0x3daa3a(0xb4)](_0x42680f);if(_0x54991a&&typeof _0x54991a[_0x3daa3a(0xa7)]===_0x3daa3a(0xce)&&typeof _0x54991a[_0x3daa3a(0x94)]===_0x3daa3a(0xce)&&(_0x54991a[_0x3daa3a(0xbe)]===_0x3daa3a(0x85)||_0x54991a[_0x3daa3a(0xbe)]===_0x3daa3a(0xa4)))return _0x54991a;}catch{}return null;}export function writeStoredDeviceCode(_0x2828e0,_0x534388){const _0x297fca=a11_0x4b21,_0x460026=getDeviceCodePath(),_0x2fa9b1=dirname(_0x460026);!existsSync(_0x2fa9b1)&&mkdirSync(_0x2fa9b1,{'recursive':!![]});const _0x444d96={'code':_0x2828e0,'createdAt':new Date()[_0x297fca(0x83)](),'scope':_0x534388};writeFileSync(_0x460026,JSON[_0x297fca(0xae)](_0x444d96),{'encoding':_0x297fca(0xad),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x191d6d=getDeviceCodePath();try{unlinkSync(_0x191d6d);}catch{}}export function isStoredDeviceCodeExpired(_0x1f53b6){const _0x3e2318=a11_0x4b21;return Date[_0x3e2318(0x97)]()-new Date(_0x1f53b6[_0x3e2318(0x94)])[_0x3e2318(0xaf)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x40e5ea,_0x44db2e){const _0x1f756b=a11_0x4b21,_0x4332d9=_0x40e5ea+_0x1f756b(0xa6),_0x2ba007=new AbortController(),_0x6e135b=setTimeout(()=>_0x2ba007[_0x1f756b(0x8e)](),0x2710),_0x9b4476=await fetch(_0x4332d9,{'method':_0x1f756b(0xd3),'headers':{'Content-Type':_0x1f756b(0xc3)},'body':JSON[_0x1f756b(0xae)]({'code':_0x44db2e}),'signal':_0x2ba007[_0x1f756b(0xaa)]});clearTimeout(_0x6e135b);if(!_0x9b4476['ok'])throw CliErrors['networkError'](_0x1f756b(0xd2)+_0x9b4476[_0x1f756b(0x98)]);const _0x507cf1=await _0x9b4476[_0x1f756b(0x90)](),_0x504373=_0x507cf1['data']&&typeof _0x507cf1['data']===_0x1f756b(0x87)?_0x507cf1[_0x1f756b(0xcd)]:_0x507cf1;if(!_0x504373||typeof _0x504373['status']!==_0x1f756b(0xce))throw CliErrors[_0x1f756b(0xc7)](_0x1f756b(0xc0));return{'status':_0x504373['status'],'access_key':typeof _0x504373[_0x1f756b(0xb2)]===_0x1f756b(0xce)?_0x504373[_0x1f756b(0xb2)]:undefined};}export async function pollDeviceToken(_0x1d9fa9,_0x128bd1,_0x53a908){const _0x28cb15=a11_0x4b21;let _0x4c284d=0x0;for(let _0x3b10ef=0x0;_0x3b10ef<MAX_POLLS;_0x3b10ef++){if(_0x53a908[_0x28cb15(0xc5)])throw CliErrors['cancelled'](_0x28cb15(0x95));let _0x2cba52;try{_0x2cba52=await fetchDeviceToken(_0x1d9fa9,_0x128bd1);}catch(_0x596d02){if(_0x596d02 instanceof Error&&_0x596d02[_0x28cb15(0xb9)]==='AbortError')throw CliErrors[_0x28cb15(0xb3)](_0x28cb15(0x95));_0x4c284d++;if(_0x4c284d>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x28cb15(0x8a));writeCliSideChannelLine(_0x28cb15(0x8c)+_0x4c284d+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x28cb15(0xa2)),await sleep(POLL_INTERVAL_MS);continue;}_0x4c284d=0x0;if(_0x2cba52[_0x28cb15(0x98)]===_0x28cb15(0xb5)){if(!_0x2cba52[_0x28cb15(0xb2)])throw CliErrors['apiError'](_0x28cb15(0x9a));return _0x2cba52[_0x28cb15(0xb2)];}if(_0x2cba52[_0x28cb15(0x98)]===_0x28cb15(0x9e)){deleteStoredDeviceCode();throw CliErrors[_0x28cb15(0x89)](_0x28cb15(0xa1));}const _0x51bb0c=(_0x3b10ef+0x1)*POLL_INTERVAL_MS,_0x48782f=DEVICE_CODE_TTL_MS-_0x51bb0c,_0x3946f4=Math[_0x28cb15(0xc2)](_0x48782f/0xea60),_0x266033=Math['floor'](_0x48782f%0xea60/0x3e8);process['stderr'][_0x28cb15(0xcb)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x3946f4+':'+String(_0x266033)[_0x28cb15(0x96)](0x2,'0')+_0x28cb15(0xd4)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x28cb15(0x89)](_0x28cb15(0xcc));}function a11_0xe891(){const _0x1ed972=['\x20auth\x20status','scope','auth','Invalid\x20device\x20auth\x20response','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','floor','application/json','boolean','aborted','1028002vDCUjH','apiError','once','homeDirName','302060OPaYTi','write','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','data','string','28TvUmdO','log','448675IhMDOe','Device\x20auth\x20API\x20returned\x20HTTP\x20','POST','\x20remaining','Write\x20to\x20project\x20config','nonInteractive','319gHLeKc','toISOString','global-default','global','/.device-auth','object','通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','validation','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','removeListener','Device\x20auth\x20API\x20error\x20(','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','abort','accessKey','json','AccessKey\x20saved\x20to\x20','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','660753gaTcjD','createdAt','Device\x20authorization\x20cancelled.','padStart','now','status','device','Invalid\x20access_key\x20returned\x20by\x20server.','bool','24MIaZoA','855938gTdiDB','expired','After\x20authorizing,\x20re-run:\x20','str','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','),\x20retrying...','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','project','trim','/api/device-auth/token','code','source','SIGINT','signal','3skkuYl','Device\x20authorization\x20successful.','utf8','stringify','getTime','stderr','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','access_key','cancelled','parse','success','2167578bfDLrD','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','\x20auth\x20device','name','url-only','lovrabet-cli','2118585OoZqHa'];a11_0xe891=function(){return _0x1ed972;};return a11_0xe891();}function sleep(_0x58875b){return new Promise(_0x2dc3c2=>setTimeout(_0x2dc3c2,_0x58875b));}export const authDeviceDefinition={'service':a11_0x5eb9bb(0xbf),'command':a11_0x5eb9bb(0x99),'description':a11_0x5eb9bb(0x88),'risk':a11_0x5eb9bb(0xcb),'confirmationDescription':'将启动设备码授权流程;授权成功后会把获取到的\x20AccessKey\x20保存到所选\x20Lovrabet\x20配置。确认界面不会显示设备码或密钥。','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5eb9bb(0x85),'type':'boolean','description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a11_0x5eb9bb(0xa4),'type':a11_0x5eb9bb(0xc4),'description':a11_0x5eb9bb(0xd5),'default':![]},{'name':a11_0x5eb9bb(0xa8),'type':'string','description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x5eb9bb(0xbb)},{'name':'url-only','type':a11_0x5eb9bb(0xc4),'description':a11_0x5eb9bb(0xc1),'default':![]}],async 'execute'(_0x1f4ce0){const _0x5c79ae=a11_0x5eb9bb,_0xaec4b7=resolveAuthScopeFlags(_0x1f4ce0),_0x365349=_0xaec4b7['global']?_0x5c79ae(0x85):_0x5c79ae(0xa4),_0x499770=readScopedConfig(_0xaec4b7);if(_0x499770['accessKey'])return{'ok':!![],'message':_0x5c79ae(0xa3)};const _0x39ca36=(_0x1f4ce0[_0x5c79ae(0xa0)](_0x5c79ae(0xa8))||_0x5c79ae(0xbb))[_0x5c79ae(0xa5)](),_0x4bd83b=getUserDomain(),_0xbe63f1=readStoredDeviceCode(),_0x1d4ec3=_0xbe63f1&&!isStoredDeviceCodeExpired(_0xbe63f1)?_0xbe63f1[_0x5c79ae(0xa7)]:((()=>{const _0x442333=generateDeviceCode();return writeStoredDeviceCode(_0x442333,_0x365349),_0x442333;})()),_0x2345e8=buildDeviceAuthUrl(_0x4bd83b,_0x1d4ec3,_0x39ca36);if(_0x1f4ce0[_0x5c79ae(0x9b)](_0x5c79ae(0xba)))return console[_0x5c79ae(0xd0)](_0x2345e8),{'ok':!![]};writeCliSideChannelLine(_0x5c79ae(0x8d)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x2345e8),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x5c79ae(0x92));if(_0x1f4ce0[_0x5c79ae(0xd6)])return writeCliSideChannelLine(_0x5c79ae(0x9f)+CLI_BIN_NAME+_0x5c79ae(0xb8)),{'ok':!![],'message':_0x5c79ae(0xb7)};writeCliSideChannelLine(_0x5c79ae(0xb1));const _0x5c6907=new AbortController(),_0x48cac4=()=>{const _0x31c69e=_0x5c79ae;_0x5c6907[_0x31c69e(0x8e)](),process['removeListener'](_0x31c69e(0xa9),_0x48cac4);};process[_0x5c79ae(0xc8)](_0x5c79ae(0xa9),_0x48cac4);let _0x4d8a3b;try{_0x4d8a3b=await pollDeviceToken(_0x4bd83b,_0x1d4ec3,_0x5c6907['signal']);}finally{process[_0x5c79ae(0x8b)]('SIGINT',_0x48cac4);}if(!ACCESS_KEY_PATTERN['test'](_0x4d8a3b))throw CliErrors[_0x5c79ae(0xc7)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x519fd2=readScopedConfig(_0xaec4b7);return _0x519fd2[_0x5c79ae(0x8f)]=_0x4d8a3b,writeScopedConfig(_0x519fd2,_0xaec4b7),deleteStoredDeviceCode(),process[_0x5c79ae(0xb0)]['write']('\x0a'),writeCliSideChannelLine(_0x5c79ae(0x91)+_0x365349+'\x20config.'),writeCliSideChannelLine('Verify:\x20'+CLI_BIN_NAME+_0x5c79ae(0xbd)),{'ok':!![],'message':_0x5c79ae(0xac)};}};
|