@lovrabet/lovrabet-cli 2.3.2-beta.2 → 2.3.2
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/init.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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.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/region.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/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.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/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
(function(_0x5651e2,_0x2dab03){const _0x1ee566=a0_0x2ad6,_0x559233=_0x5651e2();while(!![]){try{const _0x2bb73b=-parseInt(_0x1ee566(0x106))/0x1*(-parseInt(_0x1ee566(0xe5))/0x2)+-parseInt(_0x1ee566(0xf6))/0x3*(-parseInt(_0x1ee566(0xfe))/0x4)+parseInt(_0x1ee566(0xef))/0x5*(parseInt(_0x1ee566(0xee))/0x6)+parseInt(_0x1ee566(0xf4))/0x7*(parseInt(_0x1ee566(0x105))/0x8)+-parseInt(_0x1ee566(0xf5))/0x9+parseInt(_0x1ee566(0xde))/0xa+-parseInt(_0x1ee566(0x103))/0xb;if(_0x2bb73b===_0x2dab03)break;else _0x559233['push'](_0x559233['shift']());}catch(_0x3f7e14){_0x559233['push'](_0x559233['shift']());}}}(a0_0x16eb,0x85746));import{jsx as a0_0x4c5bbf}from'react/jsx-runtime';function a0_0x16eb(){const _0x5a2dd2=['172SuXNEL','Error:\x20','hint','assign','exitCode','17037900lCbsZK','definition','2753336zDQONE','631606GpjJHl','message','[preparse]\x20','3974650MSqNkN','ERR_USE_AFTER_CLOSE','\x0aCancelled.\x0a','args','input','./framework/preparse.js','help','2oMAwKe','doctor','original','length','error','flatMap','name','log','slice','4098ySpEAD','4605UTFTXt','defaultCommand','Unexpected\x20error:','flags','unknownCommand','7sNcPYM','6019560TbxJrF','53169asHMkY','write','stderr','ERR_STREAM_DESTROYED','exit','Hint:\x20','validation','code'];a0_0x16eb=function(){return _0x5a2dd2;};return a0_0x16eb();}function a0_0x2ad6(_0x370ba5,_0x5d0e81){_0x370ba5=_0x370ba5-0xdd;const _0x16ebca=a0_0x16eb();let _0x2ad605=_0x16ebca[_0x370ba5];return _0x2ad605;}import a0_0x3ac694 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x3ac694(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x4075ad){handleError(_0x4075ad);}}async function run(){const _0x2e1ee2=a0_0x2ad6;let _0x16d313=cli[_0x2e1ee2(0xe2)][0x0],_0x1b5443=cli[_0x2e1ee2(0xe2)][0x1];const _0x4941ee=cli['flags'];try{const {correctFlags:_0x48f95b}=await import(_0x2e1ee2(0xe3)),_0x5b054c=getAllDefinitions()[_0x2e1ee2(0xea)](_0x5c78cc=>_0x5c78cc[_0x2e1ee2(0xf2)]??[]),{flags:_0x49bc57,corrections:_0x216862}=_0x48f95b(_0x4941ee,_0x5b054c);if(_0x216862[_0x2e1ee2(0xe8)]>0x0){for(const _0x219126 of _0x216862){process['stderr'][_0x2e1ee2(0xf7)](_0x2e1ee2(0xdd)+_0x219126['handler']+':\x20--'+_0x219126[_0x2e1ee2(0xe7)]+'\x20->\x20--'+_0x219126['corrected']+'\x0a');}Object[_0x2e1ee2(0x101)](_0x4941ee,_0x49bc57);}}catch{}if(!_0x16d313){const {waitUntilExit:_0x731f52}=render(a0_0x4c5bbf(Help,{}));await _0x731f52();return;}const _0x2023a6=resolveRemovedCommand(_0x16d313,_0x1b5443);if(_0x2023a6)throw CliErrors[_0x2e1ee2(0xfc)](_0x2023a6[_0x2e1ee2(0x107)],_0x2023a6[_0x2e1ee2(0x100)]);if(!isKnownService(_0x16d313)){const _0x3a8132=resolveDynamicServiceCommand(cli[_0x2e1ee2(0xe2)],_0x4941ee);if(_0x3a8132){if(_0x4941ee[_0x2e1ee2(0xe4)]){console[_0x2e1ee2(0xec)](generateCommandHelp(_0x3a8132[_0x2e1ee2(0x104)]));return;}Object[_0x2e1ee2(0x101)](_0x4941ee,_0x3a8132[_0x2e1ee2(0xf2)]);const _0x808844=buildConfigFromFlags(_0x4941ee);await initGlobalEnvironment(_0x808844);const _0x3da3f4=createPipelineEnv(_0x808844,_0x4941ee);_0x3da3f4[_0x2e1ee2(0xe1)]=_0x3a8132[_0x2e1ee2(0xe1)],await runCommand(_0x3a8132[_0x2e1ee2(0x104)],_0x3da3f4);return;}if(_0x4941ee[_0x2e1ee2(0xe4)]){const _0x42ef69=generateDynamicServiceHelp(_0x16d313);if(_0x42ef69){console[_0x2e1ee2(0xec)](_0x42ef69);return;}}const {waitUntilExit:_0x1ff908}=render(a0_0x4c5bbf(Help,{}));await _0x1ff908();return;}const _0x4c49af=getServiceEntry(_0x16d313);if(!_0x1b5443){if(_0x4941ee[_0x2e1ee2(0xe4)]){console[_0x2e1ee2(0xec)](generateServiceHelp(_0x16d313));return;}if(_0x4c49af[_0x2e1ee2(0xf0)])_0x1b5443=_0x4c49af[_0x2e1ee2(0xf0)];else{console[_0x2e1ee2(0xec)](generateServiceHelp(_0x16d313));return;}}const _0x30af82=findDefinition(_0x16d313,_0x1b5443);!_0x30af82&&(console[_0x2e1ee2(0xec)](generateServiceHelp(_0x16d313)),handleError(CliErrors[_0x2e1ee2(0xf3)](_0x16d313+'\x20'+_0x1b5443)));if(_0x4941ee['help']){console[_0x2e1ee2(0xec)](generateCommandHelp(_0x30af82));return;}const _0x463899=buildConfigFromFlags(_0x4941ee);_0x16d313!=='config'&&_0x16d313!==_0x2e1ee2(0xe6)&&await initGlobalEnvironment(_0x463899);const _0x32cd3a=createPipelineEnv(_0x463899,_0x4941ee);_0x32cd3a['args']=cli[_0x2e1ee2(0xe2)][_0x2e1ee2(0xed)](0x2),await runCommand(_0x30af82,_0x32cd3a);}function handleError(_0x4b110b){const _0x40516a=a0_0x2ad6;if(_0x4b110b instanceof CliError){_0x4b110b[_0x40516a(0xfd)]==='cancelled'&&(process[_0x40516a(0xf8)]['write'](_0x40516a(0xe0)),process[_0x40516a(0xfa)](0x0));console[_0x40516a(0xe9)](_0x40516a(0xff)+_0x4b110b[_0x40516a(0x107)]);if(_0x4b110b[_0x40516a(0x100)])console[_0x40516a(0xe9)](_0x40516a(0xfb)+_0x4b110b[_0x40516a(0x100)]);process[_0x40516a(0xfa)](_0x4b110b[_0x40516a(0x102)]);}isUserCancellation(_0x4b110b)&&(process[_0x40516a(0xf8)][_0x40516a(0xf7)](_0x40516a(0xe0)),process['exit'](0x0)),console[_0x40516a(0xe9)](_0x40516a(0xf1),_0x4b110b),process['exit'](0x1);}function isUserCancellation(_0xff734c){const _0x3c6933=a0_0x2ad6;if(!(_0xff734c instanceof Error))return![];if(_0xff734c[_0x3c6933(0xeb)]==='ExitPromptError')return!![];if(_0xff734c['code']===_0x3c6933(0xdf))return!![];if(_0xff734c[_0x3c6933(0xfd)]===_0x3c6933(0xf9))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x406f01=a1_0x1bcc;(function(_0x5b0fe2,_0x3e8290){const _0x345f9b=a1_0x1bcc,_0x30aa45=_0x5b0fe2();while(!![]){try{const _0x3cbfe9=parseInt(_0x345f9b(0x1a7))/0x1*(-parseInt(_0x345f9b(0x187))/0x2)+parseInt(_0x345f9b(0x1ae))/0x3*(parseInt(_0x345f9b(0x18d))/0x4)+-parseInt(_0x345f9b(0x1a0))/0x5*(-parseInt(_0x345f9b(0x17f))/0x6)+-parseInt(_0x345f9b(0x1e7))/0x7+-parseInt(_0x345f9b(0x1c9))/0x8*(parseInt(_0x345f9b(0x1d8))/0x9)+-parseInt(_0x345f9b(0x19e))/0xa*(parseInt(_0x345f9b(0x1d4))/0xb)+parseInt(_0x345f9b(0x1f6))/0xc*(parseInt(_0x345f9b(0x190))/0xd);if(_0x3cbfe9===_0x3e8290)break;else _0x30aa45['push'](_0x30aa45['shift']());}catch(_0x4c6936){_0x30aa45['push'](_0x30aa45['shift']());}}}(a1_0x5c72,0x6fd08));import{CliErrors}from'../../errors.js';function a1_0x1bcc(_0x5be030,_0x3a96ba){_0x5be030=_0x5be030-0x17c;const _0x5c722b=a1_0x5c72();let _0x1bcca9=_0x5c722b[_0x5be030];return _0x1bcca9;}const CATEGORY_FLAG={'name':a1_0x406f01(0x1b5),'type':a1_0x406f01(0x1b1),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':'keyword','type':a1_0x406f01(0x1b1),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':'code','type':'string','required':!![],'description':a1_0x406f01(0x1cf)},DOCS=[{'code':a1_0x406f01(0x1db),'category':a1_0x406f01(0x1e1),'title':'List\x20datasets','method':'POST','path':a1_0x406f01(0x1eb),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x406f01(0x197),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name','paging.totalCount\x20gives\x20total\x20rows'],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x406f01(0x185)],'markdown':['##\x20List\x20datasets','','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0x406f01(0x1f8)]('\x0a')},{'code':a1_0x406f01(0x1b7),'category':a1_0x406f01(0x1e1),'title':a1_0x406f01(0x19d),'method':a1_0x406f01(0x1bf),'path':a1_0x406f01(0x1bd),'summary':a1_0x406f01(0x1ce),'whenToUse':a1_0x406f01(0x198),'pathParams':[],'queryParams':[{'name':'code','description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x406f01(0x1e6),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x406f01(0x1ef),a1_0x406f01(0x1e2)],'examples':[a1_0x406f01(0x1f0)],'notes':[a1_0x406f01(0x1c5)],'markdown':[a1_0x406f01(0x1f5),'',a1_0x406f01(0x193)][a1_0x406f01(0x1f8)]('\x0a')},{'code':a1_0x406f01(0x182),'category':a1_0x406f01(0x1e1),'title':'Filter\x20dataset\x20data','method':a1_0x406f01(0x1c0),'path':a1_0x406f01(0x18a),'summary':'Filter\x20dataset\x20records','whenToUse':a1_0x406f01(0x1d7),'pathParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)},{'name':a1_0x406f01(0x1ee),'description':a1_0x406f01(0x1a6)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x406f01(0x1b6),a1_0x406f01(0x1bc)],'examples':[a1_0x406f01(0x1ca),a1_0x406f01(0x1b4)],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0x406f01(0x1ad),a1_0x406f01(0x194),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x406f01(0x1be),'',a1_0x406f01(0x1d5)][a1_0x406f01(0x1f8)]('\x0a')},{'code':a1_0x406f01(0x1c2),'category':'dataset','title':a1_0x406f01(0x1b8),'method':'POST','path':a1_0x406f01(0x1e4),'summary':a1_0x406f01(0x1c8),'whenToUse':a1_0x406f01(0x1d6),'pathParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)},{'name':a1_0x406f01(0x1ee),'description':a1_0x406f01(0x1a6)}],'queryParams':[],'bodySchema':a1_0x406f01(0x199),'responseHighlights':[a1_0x406f01(0x17d),'where\x20filters\x20before\x20aggregation'],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x406f01(0x1f4)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0x406f01(0x19c)][a1_0x406f01(0x1f8)]('\x0a')},{'code':'dataset_data_get_one','category':a1_0x406f01(0x1e1),'title':a1_0x406f01(0x19f),'method':a1_0x406f01(0x1c0),'path':'/api/{appCode}/{datasetCode}/getOne','summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x406f01(0x1dc),'pathParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)},{'name':a1_0x406f01(0x1ee),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x406f01(0x1e5),'responseHighlights':[a1_0x406f01(0x1e3)],'examples':[a1_0x406f01(0x181)],'notes':[a1_0x406f01(0x1ac)],'markdown':a1_0x406f01(0x184)},{'code':a1_0x406f01(0x1c1),'category':a1_0x406f01(0x1e1),'title':a1_0x406f01(0x1dd),'method':'POST','path':a1_0x406f01(0x1ea),'summary':a1_0x406f01(0x1a9),'whenToUse':a1_0x406f01(0x1cd),'pathParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)},{'name':a1_0x406f01(0x1ee),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x406f01(0x1d3)],'examples':[a1_0x406f01(0x1b2)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':a1_0x406f01(0x186)},{'code':'bf_detail','category':'bf','title':a1_0x406f01(0x18f),'method':'GET','path':a1_0x406f01(0x1d1),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)},{'name':a1_0x406f01(0x1b9),'description':a1_0x406f01(0x1ec)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x406f01(0x18c)],'examples':[a1_0x406f01(0x1b0)],'notes':[a1_0x406f01(0x1da)],'markdown':a1_0x406f01(0x1ed)},{'code':a1_0x406f01(0x195),'category':'bf','title':a1_0x406f01(0x1a5),'method':a1_0x406f01(0x1c0),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x406f01(0x183),'whenToUse':a1_0x406f01(0x1f1),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x406f01(0x1e9)}],'queryParams':[],'bodySchema':a1_0x406f01(0x1af),'responseHighlights':[a1_0x406f01(0x1bb)],'examples':[a1_0x406f01(0x1e0)],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x406f01(0x1e8),'category':'bf','title':a1_0x406f01(0x18e),'method':'POST','path':a1_0x406f01(0x19a),'summary':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','whenToUse':a1_0x406f01(0x196),'pathParams':[{'name':'id','description':a1_0x406f01(0x19b)}],'queryParams':[{'name':a1_0x406f01(0x1d2),'description':a1_0x406f01(0x1a4)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x406f01(0x1bb)],'examples':[a1_0x406f01(0x18b)],'notes':[a1_0x406f01(0x1ba),a1_0x406f01(0x192)],'markdown':[a1_0x406f01(0x189),'','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.']['join']('\x0a')},{'code':a1_0x406f01(0x1cc),'category':'custom_sql','title':a1_0x406f01(0x1ab),'method':a1_0x406f01(0x1c0),'path':a1_0x406f01(0x1c7),'summary':a1_0x406f01(0x1ab),'whenToUse':a1_0x406f01(0x17c),'pathParams':[],'queryParams':[],'bodySchema':a1_0x406f01(0x1cb),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x406f01(0x1a3)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x406f01(0x1f3)}];function entrySummary(_0x59f04d){const _0x474964=a1_0x406f01;return{'code':_0x59f04d[_0x474964(0x1a8)],'category':_0x59f04d[_0x474964(0x1b5)],'method':_0x59f04d[_0x474964(0x1df)],'path':_0x59f04d[_0x474964(0x1b3)],'summary':_0x59f04d[_0x474964(0x188)],'whenToUse':_0x59f04d['whenToUse']};}export function listApiDocEntries(_0x471920={}){const _0x2180bb=a1_0x406f01,_0x41a01d=String(_0x471920[_0x2180bb(0x1b5)]||'')['trim'](),_0x11d63e=String(_0x471920[_0x2180bb(0x17e)]||'')[_0x2180bb(0x1a1)]()[_0x2180bb(0x1d0)]();return DOCS['filter'](_0xf382ac=>{const _0x509a55=_0x2180bb;if(_0x41a01d&&_0xf382ac['category']!==_0x41a01d)return![];if(!_0x11d63e)return!![];return[_0xf382ac['code'],_0xf382ac['category'],_0xf382ac[_0x509a55(0x1df)],_0xf382ac['path'],_0xf382ac[_0x509a55(0x188)],_0xf382ac[_0x509a55(0x180)],_0xf382ac[_0x509a55(0x1de)]][_0x509a55(0x1f8)]('\x20')[_0x509a55(0x1d0)]()[_0x509a55(0x1c3)](_0x11d63e);})[_0x2180bb(0x1f7)](entrySummary);}function a1_0x5c72(){const _0x20b06c=['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','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','custom_sql_execute','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Get\x20dataset\x20detail','API\x20doc\x20code,\x20for\x20example\x20dataset_list','toLowerCase','/client/bff/endpoint/{appCode}/{functionName}','appCode','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','11WASIvr','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','9TbXvAh','List\x20available\x20runtime\x20API\x20documentation\x20entries','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','dataset_list','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','Create\x20dataset\x20record','title','method','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','dataset','operations\x20describes\x20runtime\x20APIs','Returns\x20one\x20matching\x20business\x20record','/api/{appCode}/{datasetCode}/aggregate','{\x22id\x22:123}','None','3641687IVQEwv','personal_bf_execute','Endpoint\x20function\x20name','/api/{appCode}/{datasetCode}/create','/api/dataset/get-dataset-list-by-app-code','Exact\x20endpoint\x20function\x20name','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','datasetCode','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','str','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','##\x20Dataset\x20detail','1668jlasqy','map','join','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','result\x20rows\x20contain\x20aggregate\x20aliases','keyword','5241918SJGHfi','whenToUse','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','dataset_data_filter','Execute\x20a\x20BF\x20endpoint\x20function','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','1490612tnmIxc','summary','##\x20Execute\x20Personal\x20Backend\x20Function','/api/{appCode}/{datasetCode}/filter','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','8gZABmK','Execute\x20Personal\x20Backend\x20Function','Get\x20BF\x20endpoint\x20function\x20contract','133926PsdhSM','length','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','bf_execute','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','/api/runtime-bff/personal/{id}/execute','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','Dataset\x20detail','5290510JpRXSv','Get\x20one\x20dataset\x20record','5GlJCvL','trim','Show\x20runtime\x20API\x20documentation\x20by\x20code','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','Current\x20app\x20code','Execute\x20BF\x20endpoint\x20function','32-character\x20dataset\x20code','1gmJgal','code','Create\x20a\x20dataset\x20record','list','Execute\x20custom\x20SQL','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','70704xZfNtZ','{\x22param\x22:\x22value\x22}','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','string','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','path','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','category','tableData\x20contains\x20records','dataset_detail','Aggregate\x20dataset\x20data','functionName','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Returns\x20script\x20business\x20payload','paging\x20contains\x20pagination','/api/dataset/getOneByCode?code={datasetCode}','##\x20Filter\x20dataset\x20data','GET','POST','dataset_data_create','dataset_data_aggregate','includes','read','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','api-doc','/api/custom/executeSql','Aggregate\x20dataset\x20records','801416ozQEvs'];a1_0x5c72=function(){return _0x20b06c;};return a1_0x5c72();}export function getApiDocDetail(_0x4b81cd){const _0x5b2f6a=DOCS['find'](_0x5b7f31=>_0x5b7f31['code']===_0x4b81cd);if(!_0x5b2f6a)throw CliErrors['validation']('API\x20doc\x20code\x20not\x20found:\x20'+_0x4b81cd);return{..._0x5b2f6a};}const apiDocList={'service':a1_0x406f01(0x1c6),'command':a1_0x406f01(0x1aa),'description':a1_0x406f01(0x1d9),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x4d4a57){const _0x2dc928=a1_0x406f01,_0xae3420=listApiDocEntries({'category':_0x4d4a57[_0x2dc928(0x1f2)](_0x2dc928(0x1b5)),'keyword':_0x4d4a57['str'](_0x2dc928(0x17e))});return{'ok':!![],'data':{'total':_0xae3420[_0x2dc928(0x191)],'items':_0xae3420}};}},apiDocDetail={'service':'api-doc','command':'detail','description':a1_0x406f01(0x1a2),'risk':a1_0x406f01(0x1c4),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x31007b){const _0x33f2a6=a1_0x406f01;return{'ok':!![],'data':getApiDocDetail(_0x31007b[_0x33f2a6(0x1f2)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x197d52=a1_0xdb2d;(function(_0x17e30d,_0x3d7991){const _0xa53fb0=a1_0xdb2d,_0x7cc3ca=_0x17e30d();while(!![]){try{const _0x57d79a=parseInt(_0xa53fb0(0x267))/0x1+-parseInt(_0xa53fb0(0x23d))/0x2*(parseInt(_0xa53fb0(0x251))/0x3)+parseInt(_0xa53fb0(0x240))/0x4+parseInt(_0xa53fb0(0x265))/0x5*(-parseInt(_0xa53fb0(0x1ff))/0x6)+-parseInt(_0xa53fb0(0x22b))/0x7+parseInt(_0xa53fb0(0x21e))/0x8*(parseInt(_0xa53fb0(0x21d))/0x9)+parseInt(_0xa53fb0(0x21a))/0xa;if(_0x57d79a===_0x3d7991)break;else _0x7cc3ca['push'](_0x7cc3ca['shift']());}catch(_0x11e519){_0x7cc3ca['push'](_0x7cc3ca['shift']());}}}(a1_0x1d2f,0xe75b7));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x197d52(0x204),'type':'string','description':a1_0x197d52(0x1f2)},KEYWORD_FLAG={'name':a1_0x197d52(0x258),'type':a1_0x197d52(0x1f8),'description':a1_0x197d52(0x1ed)},DOC_CODE_FLAG={'name':a1_0x197d52(0x270),'type':a1_0x197d52(0x1f8),'required':!![],'description':a1_0x197d52(0x224)},DOCS=[{'code':a1_0x197d52(0x248),'category':'dataset','title':a1_0x197d52(0x244),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x22e),'summary':a1_0x197d52(0x264),'whenToUse':a1_0x197d52(0x26e),'pathParams':[],'queryParams':[],'bodySchema':a1_0x197d52(0x205),'responseHighlights':[a1_0x197d52(0x237),a1_0x197d52(0x20b)],'examples':[a1_0x197d52(0x202)],'notes':[a1_0x197d52(0x26a)],'markdown':[a1_0x197d52(0x1f0),'',a1_0x197d52(0x211)][a1_0x197d52(0x230)]('\x0a')},{'code':a1_0x197d52(0x242),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x25e),'method':a1_0x197d52(0x229),'path':a1_0x197d52(0x226),'summary':a1_0x197d52(0x23e),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x197d52(0x270),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x197d52(0x20f),'responseHighlights':[a1_0x197d52(0x200),a1_0x197d52(0x20e),a1_0x197d52(0x22a)],'examples':[a1_0x197d52(0x256)],'notes':[a1_0x197d52(0x225)],'markdown':[a1_0x197d52(0x24a),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x197d52(0x230)]('\x0a')},{'code':'dataset_data_filter','category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x1f7),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x23a),'summary':a1_0x197d52(0x1f3),'whenToUse':a1_0x197d52(0x1fc),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x238),'description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x197d52(0x250),a1_0x197d52(0x227)],'examples':[a1_0x197d52(0x232),a1_0x197d52(0x1fd)],'notes':[a1_0x197d52(0x24b),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x197d52(0x25a),a1_0x197d52(0x1fa)],'markdown':[a1_0x197d52(0x1f6),'',a1_0x197d52(0x262)]['join']('\x0a')},{'code':a1_0x197d52(0x253),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x218),'method':'POST','path':a1_0x197d52(0x233),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x197d52(0x259),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x197d52(0x238),'description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':a1_0x197d52(0x1ee),'responseHighlights':[a1_0x197d52(0x21c),a1_0x197d52(0x21f)],'examples':[a1_0x197d52(0x228)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x197d52(0x21b)],'markdown':[a1_0x197d52(0x23f),'',a1_0x197d52(0x1f5)]['join']('\x0a')},{'code':a1_0x197d52(0x213),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x254),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x249),'summary':a1_0x197d52(0x254),'whenToUse':a1_0x197d52(0x206),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x197d52(0x238),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x197d52(0x215),'responseHighlights':[a1_0x197d52(0x210)],'examples':[a1_0x197d52(0x26d)],'notes':[a1_0x197d52(0x24c)],'markdown':a1_0x197d52(0x252)},{'code':'dataset_data_create','category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x23c),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x222),'summary':a1_0x197d52(0x241),'whenToUse':a1_0x197d52(0x26f),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':'datasetCode','description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':a1_0x197d52(0x26c),'responseHighlights':[a1_0x197d52(0x243)],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x197d52(0x207)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x197d52(0x20d),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':a1_0x197d52(0x229),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x197d52(0x216),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x20c),'description':a1_0x197d52(0x20a)}],'queryParams':[],'bodySchema':a1_0x197d52(0x20f),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0x197d52(0x219)],'notes':[a1_0x197d52(0x217)],'markdown':a1_0x197d52(0x24f)},{'code':a1_0x197d52(0x23b),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x223),'summary':a1_0x197d52(0x221),'whenToUse':a1_0x197d52(0x201),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x20c),'description':a1_0x197d52(0x209)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':a1_0x197d52(0x25b)},{'code':a1_0x197d52(0x246),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x1f9),'summary':a1_0x197d52(0x1ef),'whenToUse':a1_0x197d52(0x235),'pathParams':[{'name':'id','description':a1_0x197d52(0x22d)}],'queryParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x197d52(0x260)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.',a1_0x197d52(0x239)],'markdown':[a1_0x197d52(0x1fb),'',a1_0x197d52(0x236)][a1_0x197d52(0x230)]('\x0a')},{'code':a1_0x197d52(0x245),'category':a1_0x197d52(0x212),'title':a1_0x197d52(0x257),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x247),'summary':a1_0x197d52(0x257),'whenToUse':a1_0x197d52(0x214),'pathParams':[],'queryParams':[],'bodySchema':a1_0x197d52(0x208),'responseHighlights':[a1_0x197d52(0x269)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x197d52(0x1ec)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x58e68f){const _0x46a844=a1_0x197d52;return{'code':_0x58e68f['code'],'category':_0x58e68f['category'],'method':_0x58e68f[_0x46a844(0x263)],'path':_0x58e68f[_0x46a844(0x220)],'summary':_0x58e68f[_0x46a844(0x26b)],'whenToUse':_0x58e68f[_0x46a844(0x25f)]};}export function listApiDocEntries(_0xe87a2b={}){const _0x4cb6ca=a1_0x197d52,_0x234304=String(_0xe87a2b[_0x4cb6ca(0x204)]||'')[_0x4cb6ca(0x266)](),_0x20f1db=String(_0xe87a2b[_0x4cb6ca(0x258)]||'')[_0x4cb6ca(0x266)]()[_0x4cb6ca(0x24d)]();return DOCS['filter'](_0x4a578e=>{const _0xd6e364=_0x4cb6ca;if(_0x234304&&_0x4a578e[_0xd6e364(0x204)]!==_0x234304)return![];if(!_0x20f1db)return!![];return[_0x4a578e[_0xd6e364(0x270)],_0x4a578e[_0xd6e364(0x204)],_0x4a578e[_0xd6e364(0x263)],_0x4a578e['path'],_0x4a578e['summary'],_0x4a578e[_0xd6e364(0x25f)],_0x4a578e[_0xd6e364(0x231)]]['join']('\x20')[_0xd6e364(0x24d)]()[_0xd6e364(0x268)](_0x20f1db);})['map'](entrySummary);}function a1_0x1d2f(){const _0x529fa7=['Filter\x20dataset\x20records','Current\x20app\x20code','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','##\x20Filter\x20dataset\x20data','Filter\x20dataset\x20data','string','/api/runtime-bff/personal/{id}/execute','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','##\x20Execute\x20Personal\x20Backend\x20Function','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','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','read','4360740hlYLYu','fields/properties\x20describe\x20data\x20shape','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','list','category','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Endpoint\x20function\x20name','Exact\x20endpoint\x20function\x20name','paging.totalCount\x20gives\x20total\x20rows','functionName','bf_detail','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','None','Returns\x20one\x20matching\x20business\x20record','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','custom_sql','dataset_data_get_one','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','{\x22id\x22:123}','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Aggregate\x20dataset\x20data','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','23557230xHGyuG','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','result\x20rows\x20contain\x20aggregate\x20aliases','178317RXAGCQ','64ZLNxan','where\x20filters\x20before\x20aggregation','path','Execute\x20a\x20BF\x20endpoint\x20function','/api/{appCode}/{datasetCode}/create','/api/endpoint/{appCode}/{functionName}','API\x20doc\x20code,\x20for\x20example\x20dataset_list','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','/api/dataset/getOneByCode?code={datasetCode}','paging\x20contains\x20pagination','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','GET','operations\x20describes\x20runtime\x20APIs','6151327xvrDpY','validation','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','/api/dataset/get-dataset-list-by-app-code','POST','join','title','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}/aggregate','str','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','tableData\x20contains\x20dataset\x20id/code/name','datasetCode','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','/api/{appCode}/{datasetCode}/filter','bf_execute','Create\x20dataset\x20record','11922pSexdm','Get\x20dataset\x20detail','##\x20Aggregate\x20dataset\x20data','1820468qHmJxj','Create\x20a\x20dataset\x20record','dataset_detail','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','List\x20datasets','custom_sql_execute','personal_bf_execute','/api/custom/executeSql','dataset_list','/api/{appCode}/{datasetCode}/getOne','##\x20Dataset\x20detail','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','toLowerCase','api-doc','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','tableData\x20contains\x20records','699NPWFxC','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','dataset_data_aggregate','Get\x20one\x20dataset\x20record','appCode','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Execute\x20custom\x20SQL','keyword','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','32-character\x20dataset\x20code','dataset','Dataset\x20detail','whenToUse','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','method','List\x20datasets\x20with\x20pagination','10iksIqh','trim','1699549qRZQAf','includes','Returns\x20SQL\x20execution\x20payload','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','summary','{\x22fieldName\x22:\x22value\x22}','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','code','API\x20doc\x20code\x20not\x20found:\x20','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','##\x20List\x20datasets','Show\x20runtime\x20API\x20documentation\x20by\x20code','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'];a1_0x1d2f=function(){return _0x529fa7;};return a1_0x1d2f();}export function getApiDocDetail(_0x4381c8){const _0x5a59fe=a1_0x197d52,_0x188770=DOCS['find'](_0x206a86=>_0x206a86[_0x5a59fe(0x270)]===_0x4381c8);if(!_0x188770)throw CliErrors[_0x5a59fe(0x22c)](_0x5a59fe(0x271)+_0x4381c8);return{..._0x188770};}function a1_0xdb2d(_0x5a0bba,_0x2ae6b2){_0x5a0bba=_0x5a0bba-0x1ec;const _0x1d2fe6=a1_0x1d2f();let _0xdb2d1=_0x1d2fe6[_0x5a0bba];return _0xdb2d1;}const apiDocList={'service':a1_0x197d52(0x24e),'command':a1_0x197d52(0x203),'description':a1_0x197d52(0x261),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xed9eae){const _0x2c3b0b=a1_0x197d52,_0x107a6f=listApiDocEntries({'category':_0xed9eae[_0x2c3b0b(0x234)]('category'),'keyword':_0xed9eae['str'](_0x2c3b0b(0x258))});return{'ok':!![],'data':{'total':_0x107a6f['length'],'items':_0x107a6f}};}},apiDocDetail={'service':a1_0x197d52(0x24e),'command':'detail','description':a1_0x197d52(0x1f1),'risk':a1_0x197d52(0x1fe),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x355ea0){const _0x5a5506=a1_0x197d52;return{'ok':!![],'data':getApiDocDetail(_0x355ea0[_0x5a5506(0x234)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4664a2,_0x2e23f1){const _0x2908ec=a2_0x7909,_0x2da48b=_0x4664a2();while(!![]){try{const _0x5ed071=-parseInt(_0x2908ec(0xb3))/0x1*(parseInt(_0x2908ec(0xad))/0x2)+parseInt(_0x2908ec(0xb1))/0x3+-parseInt(_0x2908ec(0xab))/0x4+-parseInt(_0x2908ec(0xa5))/0x5+parseInt(_0x2908ec(0xa7))/0x6*(parseInt(_0x2908ec(0xb0))/0x7)+parseInt(_0x2908ec(0xa0))/0x8*(parseInt(_0x2908ec(0x9e))/0x9)+parseInt(_0x2908ec(0xb5))/0xa*(parseInt(_0x2908ec(0xa8))/0xb);if(_0x5ed071===_0x2e23f1)break;else _0x2da48b['push'](_0x2da48b['shift']());}catch(_0x3c6bce){_0x2da48b['push'](_0x2da48b['shift']());}}}(a2_0x43e7,0x66590));import{createHash}from'node:crypto';function a2_0x43e7(){const _0x2c4f73=['digest','680WnHaXJ','stringify','hex','EACCES','.tmp','1517015euqKPY','items','48378MBnQWs','561pWDnZN','unknown','sha256','337044THEEus','appName','175082okBieF','trim','parse','70bQBWRf','757656XSbfxw','code','3CyxsgZ','slice','15060Xdpfse','my-apps.json','homeDirName','utf8','69831WnrfAt'];a2_0x43e7=function(){return _0x2c4f73;};return a2_0x43e7();}import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x16d1bf){const _0x2a8fdb=a2_0x7909,_0x2567bd=_0x16d1bf['trim'](),_0x28b7be=_0x2567bd[_0x2a8fdb(0xb4)](-0x6)||_0x2a8fdb(0xa9),_0x9699a6=createHash(_0x2a8fdb(0xaa))['update'](_0x2567bd)[_0x2a8fdb(0x9f)](_0x2a8fdb(0xa2))[_0x2a8fdb(0xb4)](0x0,0xc);return'ak_'+_0x28b7be+'_'+_0x9699a6;}export function getAppCacheFilePath(_0x5702f9,_0x59c62a){const _0x4bb84e=a2_0x7909;return resolve(homedir(),PRODUCT_CONFIG[_0x4bb84e(0xb7)],'cache',_0x5702f9,fingerprintAccessKey(_0x59c62a),_0x4bb84e(0xb6));}export function readCachedAppList(_0x5dca76,_0x338ef8){const _0x302e8b=a2_0x7909;if(!_0x338ef8?.['trim']())return null;const _0x5c3909=getAppCacheFilePath(_0x5dca76,_0x338ef8);if(!existsSync(_0x5c3909))return null;try{const _0x5c656f=readFileSync(_0x5c3909,'utf8');if(!_0x5c656f['trim']())return null;const _0xb9a415=JSON[_0x302e8b(0xaf)](_0x5c656f);if(!Array['isArray'](_0xb9a415[_0x302e8b(0xa6)]))return null;return _0xb9a415;}catch{return null;}}export function writeCachedAppList(_0x3667cd,_0x9368f,_0x4aed27){const _0x32ca90=a2_0x7909,_0x24287b=getAppCacheFilePath(_0x3667cd,_0x9368f),_0x393c21=dirname(_0x24287b);!existsSync(_0x393c21)&&mkdirSync(_0x393c21,{'recursive':!![]});const _0x3212dd=_0x24287b+_0x32ca90(0xa4);try{writeFileSync(_0x3212dd,JSON[_0x32ca90(0xa1)](_0x4aed27,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x3212dd,_0x24287b);}catch(_0x539470){if(_0x539470[_0x32ca90(0xb2)]==='EPERM'||_0x539470[_0x32ca90(0xb2)]==='EXDEV'||_0x539470[_0x32ca90(0xb2)]===_0x32ca90(0xa3)){writeFileSync(_0x24287b,JSON[_0x32ca90(0xa1)](_0x4aed27,null,0x2)+'\x0a',{'encoding':_0x32ca90(0x9d)});try{unlinkSync(_0x3212dd);}catch{}}else throw _0x539470;}}catch(_0x230bde){try{unlinkSync(_0x3212dd);}catch{}throw _0x230bde;}return _0x24287b;}function a2_0x7909(_0xc2e184,_0x4cd729){_0xc2e184=_0xc2e184-0x9d;const _0x43e754=a2_0x43e7();let _0x79093c=_0x43e754[_0xc2e184];return _0x79093c;}export function resolveCachedAppCode(_0x560f72,_0x2ce008,_0x3ac64c){const _0x5837d4=a2_0x7909;if(!_0x560f72)return undefined;const _0x295bc7=readCachedAppList(_0x2ce008,_0x3ac64c),_0x3d2cfa=_0x295bc7?.[_0x5837d4(0xa6)]['find'](_0x48bc0d=>_0x48bc0d[_0x5837d4(0xac)]===_0x560f72&&isRuntimeAccessibleApp(_0x48bc0d));return _0x3d2cfa?.['appCode']?.[_0x5837d4(0xae)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x595669=a3_0x54bf;(function(_0x43bd60,_0x416eaa){const _0x27b69f=a3_0x54bf,_0x238dca=_0x43bd60();while(!![]){try{const _0x33697d=-parseInt(_0x27b69f(0x172))/0x1*(-parseInt(_0x27b69f(0x170))/0x2)+parseInt(_0x27b69f(0x1ab))/0x3+parseInt(_0x27b69f(0x17f))/0x4*(parseInt(_0x27b69f(0x17e))/0x5)+-parseInt(_0x27b69f(0x180))/0x6+-parseInt(_0x27b69f(0x18c))/0x7*(-parseInt(_0x27b69f(0x1a6))/0x8)+-parseInt(_0x27b69f(0x1a4))/0x9*(parseInt(_0x27b69f(0x174))/0xa)+-parseInt(_0x27b69f(0x16f))/0xb*(parseInt(_0x27b69f(0x197))/0xc);if(_0x33697d===_0x416eaa)break;else _0x238dca['push'](_0x238dca['shift']());}catch(_0x443f56){_0x238dca['push'](_0x238dca['shift']());}}}(a3_0x7260,0x3e0f3));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';function a3_0x54bf(_0x5df401,_0x3b4d8b){_0x5df401=_0x5df401-0x16e;const _0x7260e5=a3_0x7260();let _0x54bf47=_0x7260e5[_0x5df401];return _0x54bf47;}import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x5e5253,_0x2ee59b){const _0x26649a=a3_0x54bf,_0x4a959f={};for(const _0x495b4d of _0x2ee59b){const _0x292b09=_0x495b4d['type']==='boolean'?_0x5e5253[_0x26649a(0x176)](_0x495b4d[_0x26649a(0x19d)]):_0x5e5253[_0x26649a(0x181)](_0x495b4d['name']);if(_0x292b09!==''&&_0x292b09!==![])_0x4a959f[_0x495b4d[_0x26649a(0x19d)]]=_0x292b09;}if(_0x5e5253['nonInteractive'])_0x4a959f[_0x26649a(0x19f)]=!![];return _0x4a959f;}function normalizeLanguages(_0x3ee4b5){const _0x55cfb1=a3_0x54bf;if(!Array[_0x55cfb1(0x190)](_0x3ee4b5))return[];return _0x3ee4b5[_0x55cfb1(0x18d)](_0xd3ecc=>typeof _0xd3ecc==='string')[_0x55cfb1(0x1a3)](_0x110724=>_0x110724['trim']())[_0x55cfb1(0x18d)](Boolean);}function buildRemoteAppI18nFields(_0x1d2522){const _0x2a08e8=a3_0x54bf,_0xff8f80=normalizeLanguages(_0x1d2522[_0x2a08e8(0x17c)]?.[_0x2a08e8(0x1aa)]);return{'enableI18n':typeof _0x1d2522[_0x2a08e8(0x1a0)]===_0x2a08e8(0x191)?_0x1d2522[_0x2a08e8(0x1a0)]:null,'languages':_0xff8f80,'i18nInfo':_0x1d2522[_0x2a08e8(0x17c)]?{..._0x1d2522[_0x2a08e8(0x17c)],'langs':_0xff8f80[_0x2a08e8(0x179)]?_0xff8f80:null}:null};}const listDef={'service':a3_0x595669(0x19e),'command':a3_0x595669(0x199),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x595669(0x171),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':'string','description':a3_0x595669(0x1a9),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x595669(0x182),'type':a3_0x595669(0x191),'description':a3_0x595669(0x16e),'default':![]},{'name':'no-cache','type':a3_0x595669(0x191),'description':a3_0x595669(0x192),'default':![]},{'name':a3_0x595669(0x189),'type':a3_0x595669(0x191),'description':a3_0x595669(0x1b0),'default':![]}],async 'execute'(_0x2447dc){const _0x17db04=a3_0x595669,_0x477bd6=_0x2447dc[_0x17db04(0x181)](_0x17db04(0x1b1))||_0x2447dc['envName']||getEnv()||'production',_0x2fd05c=_0x2447dc[_0x17db04(0x176)](_0x17db04(0x182)),_0x58e986=_0x2447dc[_0x17db04(0x176)]('no-cache'),_0x15e70a=_0x2447dc[_0x17db04(0x176)]('include-unpublished'),{readRawConfigWithLayers:_0x4bfdf9,resolveDefaultAppSource:_0x7a0274,getLocalAppAliases:_0x11cc6b}=await import(_0x17db04(0x198)),{getRemoteAppList:_0x143e59}=await import(_0x17db04(0x18b)),{config:_0x2fc487,layers:_0x3f93b6}=_0x4bfdf9(),_0x15a7b1=_0x7a0274(_0x3f93b6),{defaultApp:_0x2ccddd}=_0x2fc487,_0x14e644=await _0x143e59({'env':_0x477bd6,'accessKey':_0x2447dc[_0x17db04(0x183)],'localOnly':_0x2fd05c,'noCache':_0x58e986}),_0x2a3b97=_0x15e70a?_0x14e644['items']:filterRuntimeAccessibleApps(_0x14e644[_0x17db04(0x177)]),_0x5ef50f=_0x14e644['items']['length']-_0x2a3b97[_0x17db04(0x179)],_0x40ad77=_0x2a3b97[_0x17db04(0x1a3)](_0x9e1340=>{const _0xf5762b=_0x17db04;return{'name':_0x9e1340[_0xf5762b(0x195)],'appcode':_0x9e1340['appCode'],'named':!![],'definedIn':_0xf5762b(0x18a),'isDefault':_0x9e1340[_0xf5762b(0x195)]===_0x2ccddd,...buildAppProfileListFields(_0x477bd6),...buildRemoteAppI18nFields(_0x9e1340),'source':_0x14e644[_0xf5762b(0x19a)],'owner':_0x9e1340['appOwnerName']??null,'status':_0x9e1340[_0xf5762b(0x178)]??null,'cachedAt':_0x14e644[_0xf5762b(0x186)]};}),_0x37f8ed=_0x11cc6b(_0x2fc487);let _0x566d97=0x0;for(const [_0x505d79,_0x53e67a]of Object[_0x17db04(0x1ac)](_0x37f8ed)){const _0x21d7d2=typeof _0x53e67a['appcode']===_0x17db04(0x196)?_0x53e67a[_0x17db04(0x1ae)][_0x17db04(0x1a5)]():'';if(!_0x21d7d2)continue;const _0x178553=findAppByCode(_0x14e644[_0x17db04(0x177)],_0x21d7d2);if(!_0x15e70a&&_0x178553&&!isRuntimeAccessibleApp(_0x178553))continue;_0x566d97+=0x1,_0x40ad77[_0x17db04(0x18e)]({'name':_0x505d79,'appcode':_0x21d7d2,'named':!![],'definedIn':_0x17db04(0x182),'isDefault':_0x505d79===_0x2ccddd,...buildAppProfileListFields(_0x477bd6),'source':_0x17db04(0x173),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x40ad77,_0x2447dc['mergedCli']);const _0x5e884b=_0x40ad77['find'](_0x4ac24d=>_0x4ac24d['isCurrent']===!![]),_0x1cab3f=_0x2ccddd??_0x5e884b?.[_0x17db04(0x19d)]??null,_0x22fb97={'env':_0x477bd6,'source':_0x14e644[_0x17db04(0x19a)],'fetchedAt':_0x14e644['fetchedAt'],'cachePath':_0x14e644[_0x17db04(0x1a2)],'globalPath':_0x3f93b6[_0x17db04(0x187)]??null,'projectPath':_0x3f93b6[_0x17db04(0x1a1)]??null,'defaultApp':_0x1cab3f,'defaultAppSource':_0x2ccddd!=null?_0x15a7b1:null,'localAliasCount':_0x566d97,'remoteTotal':_0x14e644['items'][_0x17db04(0x179)],'hiddenUnpublishedCount':_0x5ef50f,'includeUnpublished':_0x15e70a};if(_0x40ad77['length']===0x0)return{'ok':!![],'data':{'items':_0x40ad77,'meta':_0x22fb97},'message':_0x14e644['source']===_0x17db04(0x1a8)?_0x17db04(0x18f):'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x40ad77,'meta':_0x22fb97}};}},pullDef={'service':a3_0x595669(0x19e),'command':a3_0x595669(0x1ad),'description':a3_0x595669(0x188),'risk':a3_0x595669(0x19c),'confirmationDescription':a3_0x595669(0x175),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x595669(0x1b1),'type':a3_0x595669(0x196),'description':a3_0x595669(0x17b),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x595669(0x191),'description':a3_0x595669(0x19b),'default':![]},{'name':a3_0x595669(0x193),'type':a3_0x595669(0x191),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x57dd39){const _0xa5583f=a3_0x595669,_0x146177=_0x57dd39['str']('env')||_0x57dd39['envName']||getEnv()||_0xa5583f(0x184),_0x57c899=_0x57dd39[_0xa5583f(0x176)](_0xa5583f(0x182)),_0x6a466=_0x57dd39['bool'](_0xa5583f(0x193)),{getRemoteAppList:_0x38776b}=await import(_0xa5583f(0x18b)),_0x92ea5f=await _0x38776b({'env':_0x146177,'accessKey':_0x57dd39['accessKey'],'localOnly':_0x57c899,'noCache':_0x6a466});return{'ok':!![],'data':{'total':_0x92ea5f['items'][_0xa5583f(0x179)],'env':_0x146177,'source':_0x92ea5f[_0xa5583f(0x19a)],'fetchedAt':_0x92ea5f[_0xa5583f(0x186)],'cachePath':_0x92ea5f[_0xa5583f(0x1a2)]},'message':_0x92ea5f[_0xa5583f(0x19a)]===_0xa5583f(0x1a8)?_0xa5583f(0x185)+_0x92ea5f['items']['length']+_0xa5583f(0x1af)+_0x146177+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x92ea5f['items'][_0xa5583f(0x179)]+_0xa5583f(0x194)+_0x146177+'\x22.'};}},importDef={'service':'app','command':a3_0x595669(0x17a),'description':a3_0x595669(0x1a7),'risk':a3_0x595669(0x19c),'confirmationDescription':a3_0x595669(0x17d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x4bd27e){return await runAppImport(collectFlags(_0x4bd27e,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];function a3_0x7260(){const _0x2e22b2=['4PWZTPk','read','100531PQSbHo','config','1350jIjNBZ','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','bool','items','appPublishStatus','length','import','Target\x20environment\x20(default:\x20current\x20env)','i18nInfo','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','24490izDNFi','296IwkdrF','1254354QRVHZR','str','local','accessKey','production','Loaded\x20','fetchedAt','globalPath','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','include-unpublished','remote','../../commands/app/remote-source.js','680918HsNwzT','filter','push','No\x20cached\x20apps\x20found.','isArray','boolean','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','no-cache','\x20app(s)\x20for\x20env=\x22','appName','string','12SGaaqT','../../context.js','list','source','Read\x20from\x20local\x20cache\x20only','write','name','app','nonInteractive','enableI18n','projectPath','cachePath','map','22446LjoPbK','trim','8sejLoJ','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','cache','Filter\x20by\x20environment\x20(default:\x20current\x20env)','langs','535389LpULNo','entries','pull','appcode','\x20cached\x20app(s)\x20for\x20env=\x22','Include\x20unpublished\x20apps\x20for\x20diagnostics','env','Read\x20app\x20list\x20from\x20local\x20cache\x20only','432377sxZlfO'];a3_0x7260=function(){return _0x2e22b2;};return a3_0x7260();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x578897,_0x2bb1c2){const _0x40ec3a=a4_0x2121,_0x2013bd=_0x578897();while(!![]){try{const _0x23c8e8=parseInt(_0x40ec3a(0x169))/0x1+-parseInt(_0x40ec3a(0x164))/0x2+-parseInt(_0x40ec3a(0x15c))/0x3*(-parseInt(_0x40ec3a(0x15f))/0x4)+parseInt(_0x40ec3a(0x166))/0x5+-parseInt(_0x40ec3a(0x16c))/0x6*(parseInt(_0x40ec3a(0x159))/0x7)+-parseInt(_0x40ec3a(0x16b))/0x8*(-parseInt(_0x40ec3a(0x15e))/0x9)+-parseInt(_0x40ec3a(0x163))/0xa;if(_0x23c8e8===_0x2bb1c2)break;else _0x2013bd['push'](_0x2013bd['shift']());}catch(_0x1d92ee){_0x2013bd['push'](_0x2013bd['shift']());}}}(a4_0x5245,0x7d7d1));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x6fb325){const _0x5ebd76=a4_0x2121;if(typeof _0x6fb325!==_0x5ebd76(0x15b))return null;const _0x1d15aa=_0x6fb325[_0x5ebd76(0x15a)]();return _0x1d15aa?_0x1d15aa[_0x5ebd76(0x15d)]():null;}export function isRuntimeAccessibleApp(_0x57ad8b){return normalizeAppPublishStatus(_0x57ad8b['appPublishStatus'])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x5245(){const _0x5b7de8=['2255180RYZTMU','UNKNOWN','App\x20','566011uwTIrH','filter','8KefwCS','3388782vrBkPG','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','.\x20Publish\x20the\x20app\x20before\x20using\x20','7UDkUiB','trim','string','18cVtmJG','toUpperCase','683253fksJgO','680872rGrwRf','appName','appPublishStatus','validation','4103450dfncOf','1250258JnMNLe','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.'];a4_0x5245=function(){return _0x5b7de8;};return a4_0x5245();}export function filterRuntimeAccessibleApps(_0x1a6247){const _0x342401=a4_0x2121;return _0x1a6247[_0x342401(0x16a)](isRuntimeAccessibleApp);}function a4_0x2121(_0x2526f9,_0x1f1a33){_0x2526f9=_0x2526f9-0x157;const _0x524596=a4_0x5245();let _0x212112=_0x524596[_0x2526f9];return _0x212112;}export function findAppByName(_0x5129ae,_0x8f31c6){const _0x501842=a4_0x2121;return _0x5129ae['find'](_0x6f4b30=>_0x6f4b30[_0x501842(0x160)]===_0x8f31c6);}export function findAppByCode(_0x1e594b,_0x3e2551){const _0x482dfc=a4_0x2121,_0x69855=_0x3e2551[_0x482dfc(0x15a)]();if(!_0x69855)return undefined;return _0x1e594b['find'](_0x59bc23=>_0x59bc23['appCode']?.['trim']()===_0x69855);}export function runtimeInaccessibleAppError(_0x259f0c,_0x555f26){const _0x2b3773=a4_0x2121,_0x1361f0=normalizeAppPublishStatus(_0x259f0c[_0x2b3773(0x161)])??_0x2b3773(0x167);return CliErrors[_0x2b3773(0x162)](_0x2b3773(0x168)+_0x555f26+_0x2b3773(0x157),'Current\x20status:\x20'+_0x1361f0+_0x2b3773(0x158)+CLI_BIN_NAME+_0x2b3773(0x165));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x4a41(){const _0x4c3881=['Mock\x20API\x20error:\x20','88ZouZTk','298774TOlgbP','1308124HjzELm','../../../mock/app-list.json','11079vuAfuT','4142745tKAPsj','tableData','5234144toXkuF','utf-8','6ADwGvx','1342862pYnAtH','15670QhLLoR','105708TuMtgn'];a5_0x4a41=function(){return _0x4c3881;};return a5_0x4a41();}(function(_0x4e5ba2,_0xe931b9){const _0xeca188=a5_0x3ae6,_0x31e290=_0x4e5ba2();while(!![]){try{const _0x92398b=parseInt(_0xeca188(0x106))/0x1+parseInt(_0xeca188(0x10c))/0x2+-parseInt(_0xeca188(0x108))/0x3+parseInt(_0xeca188(0x103))/0x4+-parseInt(_0xeca188(0x101))/0x5*(parseInt(_0xeca188(0x105))/0x6)+parseInt(_0xeca188(0x10b))/0x7*(parseInt(_0xeca188(0x10a))/0x8)+parseInt(_0xeca188(0x100))/0x9*(-parseInt(_0xeca188(0x107))/0xa);if(_0x92398b===_0xe931b9)break;else _0x31e290['push'](_0x31e290['shift']());}catch(_0x57a1ea){_0x31e290['push'](_0x31e290['shift']());}}}(a5_0x4a41,0xefcb8));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 _0x5d19b1=a5_0x3ae6,_0x26e394=join(__dirname,_0x5d19b1(0xff)),_0x2ba1f9=readFileSync(_0x26e394,_0x5d19b1(0x104));return JSON['parse'](_0x2ba1f9);}function a5_0x3ae6(_0x1027c6,_0x403e72){_0x1027c6=_0x1027c6-0xff;const _0x4a4127=a5_0x4a41();let _0x3ae6e4=_0x4a4127[_0x1027c6];return _0x3ae6e4;}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x41b7dd=a5_0x3ae6,_0x31358c=getMockAppList();if(!_0x31358c['success'])throw new Error(_0x41b7dd(0x109)+_0x31358c['errorMsg']+'\x20('+_0x31358c['errorCode']+')');return _0x31358c['data'][_0x41b7dd(0x102)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5442fc,_0x270709){const _0x58f6e9=a6_0x3374,_0x303cee=_0x5442fc();while(!![]){try{const _0x4b60de=-parseInt(_0x58f6e9(0x151))/0x1+parseInt(_0x58f6e9(0x155))/0x2+parseInt(_0x58f6e9(0x160))/0x3*(-parseInt(_0x58f6e9(0x15d))/0x4)+-parseInt(_0x58f6e9(0x14f))/0x5+parseInt(_0x58f6e9(0x15f))/0x6*(-parseInt(_0x58f6e9(0x152))/0x7)+parseInt(_0x58f6e9(0x157))/0x8*(-parseInt(_0x58f6e9(0x159))/0x9)+parseInt(_0x58f6e9(0x154))/0xa;if(_0x4b60de===_0x270709)break;else _0x303cee['push'](_0x303cee['shift']());}catch(_0x44872d){_0x303cee['push'](_0x303cee['shift']());}}}(a6_0x33ff,0x6175a));import{getMyApps}from'../../core/api-client.js';function a6_0x33ff(){const _0x2f954b=['5924LVgdNn','fetchedAt','161130tYYdUx','1269jYsUvZ','929480lWpVCi','APP_LIST_SOURCE','765519VpLATK','119rYTpYF','trim','26491250osUuYs','434408rUVfdz','toISOString','368dajYdz','toLowerCase','84663qYVeFv','mock','remote','cache'];a6_0x33ff=function(){return _0x2f954b;};return a6_0x33ff();}import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';function a6_0x3374(_0x4861e7,_0x23655c){_0x4861e7=_0x4861e7-0x14f;const _0x33ff94=a6_0x33ff();let _0x3374e3=_0x33ff94[_0x4861e7];return _0x3374e3;}import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x230254=a6_0x3374,_0x4338ea=(productEnv(_0x230254(0x150))||'')[_0x230254(0x153)]()[_0x230254(0x158)]();return _0x4338ea===_0x230254(0x15a);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x444a94){const _0x148c7a=a6_0x3374,{env:_0x37e6b5,accessKey:_0x5ee451,localOnly:localOnly=![],noCache:noCache=![]}=_0x444a94,_0x273e94=readCachedAppList(_0x37e6b5,_0x5ee451),_0x1ba8ba=_0x5ee451?.[_0x148c7a(0x153)]()?getAppCacheFilePath(_0x37e6b5,_0x5ee451):null;if(localOnly)return{'items':_0x273e94?.['items']??[],'source':_0x148c7a(0x15c),'fetchedAt':_0x273e94?.['fetchedAt']??null,'cachePath':_0x1ba8ba};try{const _0x4ce9e8=await getRemoteAppItems(),_0x495c79=shouldUseMockRemoteApps()?_0x148c7a(0x15a):_0x148c7a(0x15b),_0x162c32=new Date()[_0x148c7a(0x156)](),_0x1d80ac=_0x5ee451?.[_0x148c7a(0x153)]()?writeCachedAppList(_0x37e6b5,_0x5ee451,{'env':_0x37e6b5,'fetchedAt':_0x162c32,'source':_0x495c79,'items':_0x4ce9e8}):null;return{'items':_0x4ce9e8,'source':_0x495c79,'fetchedAt':_0x162c32,'cachePath':_0x1d80ac};}catch(_0x471e4c){if(!noCache&&_0x273e94)return{'items':_0x273e94['items'],'source':_0x148c7a(0x15c),'fetchedAt':_0x273e94[_0x148c7a(0x15e)],'cachePath':_0x1ba8ba};throw _0x471e4c;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a7_0x3a70(_0x4da8ad,_0x3d8be5){_0x4da8ad=_0x4da8ad-0x167;const _0x285cea=a7_0x285c();let _0x3a7005=_0x285cea[_0x4da8ad];return _0x3a7005;}(function(_0x3fb5f9,_0x256098){const _0x1e1afc=a7_0x3a70,_0x427ee3=_0x3fb5f9();while(!![]){try{const _0x5826d5=-parseInt(_0x1e1afc(0x178))/0x1*(parseInt(_0x1e1afc(0x175))/0x2)+-parseInt(_0x1e1afc(0x168))/0x3+-parseInt(_0x1e1afc(0x179))/0x4+parseInt(_0x1e1afc(0x176))/0x5*(-parseInt(_0x1e1afc(0x172))/0x6)+parseInt(_0x1e1afc(0x16f))/0x7*(parseInt(_0x1e1afc(0x171))/0x8)+parseInt(_0x1e1afc(0x177))/0x9+parseInt(_0x1e1afc(0x16a))/0xa;if(_0x5826d5===_0x256098)break;else _0x427ee3['push'](_0x427ee3['shift']());}catch(_0x29247d){_0x427ee3['push'](_0x427ee3['shift']());}}}(a7_0x285c,0x91637));function a7_0x285c(){const _0x42b2e9=['5ErDWwK','791628PnHZNr','name','appcode','187059efcMvh','trim','14357430ZIBrwU','appCode','currentApp','named','isCurrent','190274JpTJAV','defaultApp','240ueeffW','5936898ZJVSue','find','local','229926LDURwy','5hmPKne','1519794dLpduc'];a7_0x285c=function(){return _0x42b2e9;};return a7_0x285c();}export function enrichAppListItemsWithMergedSelection(_0x271c50,_0x136c04){const _0x255aa3=a7_0x3a70;if(!_0x136c04)return;const _0x224b10=!!(_0x136c04[_0x255aa3(0x16c)]??_0x136c04[_0x255aa3(0x170)]);for(const _0x30877b of _0x271c50){_0x30877b['isCurrent']=![];}const _0x1d9c41=_0x136c04[_0x255aa3(0x16b)]!=null?String(_0x136c04['appCode'])[_0x255aa3(0x169)]():'';if(_0x224b10){const _0x8709ec=_0x136c04[_0x255aa3(0x16c)]??_0x136c04[_0x255aa3(0x170)];if(_0x8709ec){const _0x7bd454=_0x271c50['find'](_0xd363d2=>_0xd363d2[_0x255aa3(0x16d)]===!![]&&_0xd363d2[_0x255aa3(0x17a)]===_0x8709ec&&_0xd363d2['definedIn']===_0x255aa3(0x174)),_0x4b211b=_0x7bd454??_0x271c50[_0x255aa3(0x173)](_0x503359=>_0x503359[_0x255aa3(0x16d)]===!![]&&_0x503359[_0x255aa3(0x17a)]===_0x8709ec);if(_0x4b211b){const _0x192634=String(_0x4b211b[_0x255aa3(0x167)]??'')['trim']();if(!_0x1d9c41||_0x192634===_0x1d9c41){_0x4b211b[_0x255aa3(0x16e)]=!![];return;}}}if(_0x1d9c41){const _0x1edf9c=_0x271c50[_0x255aa3(0x173)](_0x3a8eee=>String(_0x3a8eee[_0x255aa3(0x167)]??'')[_0x255aa3(0x169)]()===_0x1d9c41);_0x1edf9c&&(_0x1edf9c['isCurrent']=!![]);}return;}if(!_0x1d9c41)return;for(const _0x4d0552 of _0x271c50){String(_0x4d0552['appcode']??'')['trim']()===_0x1d9c41&&(_0x4d0552[_0x255aa3(0x16e)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x3901c3=a8_0x4be1;(function(_0x1a0a68,_0x44ad71){const _0x1fca27=a8_0x4be1,_0xdaf0cc=_0x1a0a68();while(!![]){try{const _0x570a8d=-parseInt(_0x1fca27(0x192))/0x1*(parseInt(_0x1fca27(0x190))/0x2)+-parseInt(_0x1fca27(0x19c))/0x3*(parseInt(_0x1fca27(0x1a4))/0x4)+-parseInt(_0x1fca27(0x1a5))/0x5*(-parseInt(_0x1fca27(0x1a9))/0x6)+parseInt(_0x1fca27(0x19f))/0x7+parseInt(_0x1fca27(0x195))/0x8*(-parseInt(_0x1fca27(0x1a2))/0x9)+parseInt(_0x1fca27(0x1a6))/0xa+-parseInt(_0x1fca27(0x194))/0xb*(-parseInt(_0x1fca27(0x1a3))/0xc);if(_0x570a8d===_0x44ad71)break;else _0xdaf0cc['push'](_0xdaf0cc['shift']());}catch(_0x462ba1){_0xdaf0cc['push'](_0xdaf0cc['shift']());}}}(a8_0x1b98,0xcfc76));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a8_0x4be1(_0x328101,_0x4a9e73){_0x328101=_0x328101-0x18f;const _0x1b989c=a8_0x1b98();let _0x4be1eb=_0x1b989c[_0x328101];return _0x4be1eb;}function a8_0x1b98(){const _0x3de372=['1438AreHpZ','apiError','11ydzKUf','9192geVFiy','Unable\x20to\x20get\x20app-config\x20value:\x20key=','app-config','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','read','Missing\x20app-config\x20key.','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','75jHBxIy','trim','appCode','5555389qKpgPi',',\x20appCode=','get','9711wReNbB','27490452mZOcyU','269848lxMhTE','5aDtQfR','7503940PcbjfR','Usage:\x20','\x20app-config\x20get\x20<key>','3459894qnlpoX','args','882rtDwYu','App\x20config\x20key'];a8_0x1b98=function(){return _0x3de372;};return a8_0x1b98();}export const appConfigGet={'service':a8_0x3901c3(0x197),'command':a8_0x3901c3(0x1a1),'description':a8_0x3901c3(0x19b),'risk':a8_0x3901c3(0x199),'args':[{'name':'key','description':a8_0x3901c3(0x191),'required':!![]}],'flags':[],async 'execute'(_0x1ef016){const _0x3c6b56=a8_0x3901c3,_0x4d1d68=_0x1ef016[_0x3c6b56(0x18f)][0x0]?.[_0x3c6b56(0x19d)]();if(!_0x4d1d68)throw CliErrors['validation'](_0x3c6b56(0x19a),_0x3c6b56(0x1a7)+CLI_BIN_NAME+_0x3c6b56(0x1a8));try{const _0xf07ab9=await getRuntimeAppConfigByKey(_0x1ef016['appCode'],_0x4d1d68);return{'ok':!![],'data':_0xf07ab9};}catch{throw CliErrors[_0x3c6b56(0x193)](_0x3c6b56(0x196)+_0x4d1d68+_0x3c6b56(0x1a0)+_0x1ef016[_0x3c6b56(0x19e)],_0x3c6b56(0x198));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x35ad18,_0x1bc9df){const _0x2a8337=a9_0x120b,_0x5cdde3=_0x35ad18();while(!![]){try{const _0x530488=parseInt(_0x2a8337(0x1a4))/0x1*(-parseInt(_0x2a8337(0x1a3))/0x2)+parseInt(_0x2a8337(0x19c))/0x3+-parseInt(_0x2a8337(0x1a1))/0x4*(-parseInt(_0x2a8337(0x19e))/0x5)+-parseInt(_0x2a8337(0x19b))/0x6+-parseInt(_0x2a8337(0x1a5))/0x7*(parseInt(_0x2a8337(0x19d))/0x8)+parseInt(_0x2a8337(0x1a2))/0x9+parseInt(_0x2a8337(0x19f))/0xa*(parseInt(_0x2a8337(0x1a0))/0xb);if(_0x530488===_0x1bc9df)break;else _0x5cdde3['push'](_0x5cdde3['shift']());}catch(_0x4473b7){_0x5cdde3['push'](_0x5cdde3['shift']());}}}(a9_0x52b6,0xbe401));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x120b(_0x155930,_0x312d28){_0x155930=_0x155930-0x19b;const _0x52b615=a9_0x52b6();let _0x120b27=_0x52b615[_0x155930];return _0x120b27;}export const appConfigDefinitions=[appConfigGet];function a9_0x52b6(){const _0x339d94=['14201dpHDln','320148nexsYv','7335297lxLyIl','2SHGCog','1159878WVuClt','5435871rIhMvm','3267192iZggSc','2095506dLQEjT','8yfTljT','30IOgzwx','9810ylsDQM'];a9_0x52b6=function(){return _0x339d94;};return a9_0x52b6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x6af267=a10_0x4d6a;(function(_0x3f882e,_0x1db648){const _0x41a189=a10_0x4d6a,_0xe42f94=_0x3f882e();while(!![]){try{const _0x3b566a=-parseInt(_0x41a189(0x100))/0x1+-parseInt(_0x41a189(0x101))/0x2*(-parseInt(_0x41a189(0x12d))/0x3)+parseInt(_0x41a189(0xf6))/0x4+-parseInt(_0x41a189(0x119))/0x5*(-parseInt(_0x41a189(0xeb))/0x6)+-parseInt(_0x41a189(0x102))/0x7*(-parseInt(_0x41a189(0x117))/0x8)+parseInt(_0x41a189(0xe6))/0x9+-parseInt(_0x41a189(0x11f))/0xa;if(_0x3b566a===_0x1db648)break;else _0xe42f94['push'](_0xe42f94['shift']());}catch(_0x1ab373){_0xe42f94['push'](_0xe42f94['shift']());}}}(a10_0x3e87,0xd8a2e));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x6af267(0x129),ARTIFACT_SOURCE_AGENT='AGENT',ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x6af267(0xf4),a10_0x6af267(0x120),a10_0x6af267(0x10b),a10_0x6af267(0x108),a10_0x6af267(0x131)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x6af267(0xfe)](',\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_0x6af267(0x11a),'type':a10_0x6af267(0xee),'required':!![],'description':a10_0x6af267(0xf9)},ARTIFACT_NAME_FLAG={'name':a10_0x6af267(0x123),'type':a10_0x6af267(0xee),'description':a10_0x6af267(0x109)},METADATA_FLAG={'name':a10_0x6af267(0x124),'type':'string','description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x45b61d){const _0x3729b6=a10_0x6af267;return typeof _0x45b61d===_0x3729b6(0xfb)&&_0x45b61d!==null&&!Array['isArray'](_0x45b61d);}function readSourceFile(_0xd4372d){const _0x5803fa=a10_0x6af267;if(!_0xd4372d)throw CliErrors[_0x5803fa(0x10d)](_0x5803fa(0x12b));if(!existsSync(_0xd4372d))throw CliErrors['validation'](_0x5803fa(0x10c)+_0xd4372d);if(!statSync(_0xd4372d)[_0x5803fa(0x130)]())throw CliErrors[_0x5803fa(0x10d)](_0x5803fa(0x105)+_0xd4372d);const _0x4332af=readFileSync(_0xd4372d,'utf8');return validateReactModuleSource(_0x4332af),_0x4332af;}function parseMetadata(_0x129047){const _0x28c15e=a10_0x6af267;if(!_0x129047)return undefined;let _0x50109f;try{_0x50109f=JSON[_0x28c15e(0x104)](_0x129047);}catch{throw CliErrors[_0x28c15e(0x10d)](_0x28c15e(0xf2)+_0x129047);}if(!isPlainObject(_0x50109f))throw CliErrors['validation']('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x4ab1c6={..._0x50109f};return delete _0x4ab1c6['compiledContent'],_0x4ab1c6;}function a10_0x4d6a(_0x44f4db,_0x37172f){_0x44f4db=_0x44f4db-0xe5;const _0x3e87ec=a10_0x3e87();let _0x4d6ae0=_0x3e87ec[_0x44f4db];return _0x4d6ae0;}function getPackageName(_0x5481f9){const _0x42d644=a10_0x6af267;if(_0x5481f9[_0x42d644(0xf1)]('@')){const [_0x5e7a2c,_0x590143]=_0x5481f9[_0x42d644(0xe5)]('/');return _0x5e7a2c&&_0x590143?_0x5e7a2c+'/'+_0x590143:_0x5481f9;}return _0x5481f9[_0x42d644(0xe5)]('/')[0x0]||_0x5481f9;}function validateAllowedImports(_0x3eee8b){const _0x2edddc=a10_0x6af267,_0x3d2ef9=new Set();for(const _0x5541f6 of IMPORT_SOURCE_PATTERNS){_0x5541f6[_0x2edddc(0x113)]=0x0;let _0x5a15d9;while((_0x5a15d9=_0x5541f6[_0x2edddc(0x127)](_0x3eee8b))!==null){const _0x5580d1=_0x5a15d9[0x1]?.[_0x2edddc(0x11e)]();_0x5580d1&&_0x3d2ef9[_0x2edddc(0x11b)](_0x5580d1);}}const _0x1f8f3e=[..._0x3d2ef9][_0x2edddc(0x111)](getPackageName)[_0x2edddc(0xe7)](_0xd24b16=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2edddc(0x12f)](_0xd24b16));if(_0x1f8f3e[_0x2edddc(0x107)]>0x0)throw CliErrors[_0x2edddc(0x10d)](_0x2edddc(0xf8)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2edddc(0xed)+[...new Set(_0x1f8f3e)]['join'](',\x20'));}export function validateReactModuleSource(_0x308a87){const _0x35f981=a10_0x6af267;if(!_0x308a87[_0x35f981(0x11e)]())throw CliErrors['validation']('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x35f981(0xea)](_0x255ff5=>_0x255ff5[_0x35f981(0x10a)](_0x308a87)))throw CliErrors[_0x35f981(0x10d)](_0x35f981(0xf3));validateAllowedImports(_0x308a87);}function a10_0x3e87(){const _0x58707b=['Optional\x20source\x20filter,\x20for\x20example\x20AGENT','includes','isFile','@ant-design/icons','artifactType','verbose','split','6985962LHxXcr','filter','Artifact\x20ID','/update','some','6nYWalf','boolean','.\x20Unsupported:\x20','string','/client/artifact/create','bool','startsWith','Invalid\x20JSON\x20for\x20--metadata:\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','react-dom','detail','1953016Ydugvi','Show\x20one\x20Artifact\x20by\x20id','react_module\x20imports\x20are\x20limited\x20to:\x20','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','object','read','source','join','num','579348RrEPzq','2rqSOpL','2534THyzym','body','parse','File\x20is\x20not\x20a\x20regular\x20file:\x20','appCode','length','antd','Artifact\x20display\x20name','test','dayjs','File\x20not\x20found:\x20','validation','Created\x20Artifact\x20','updateTime','description','map','artifact','lastIndex','build','flag','favorite','960xDSVzW','content','4632570dUPRnL','file','add','POST','deleted','trim','11874100kEgEPB','lodash','compiledContent','Updated\x20Artifact\x20','name','metadata','Optional\x20favorite-state\x20filter','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','exec','str','react_module','update','File\x20path\x20is\x20required.','createTime','1259022wGYOTT'];a10_0x3e87=function(){return _0x58707b;};return a10_0x3e87();}function buildArtifactInput(_0x5199fb){const _0x3b5095=a10_0x6af267,_0x264ea8=readSourceFile(_0x5199fb[_0x3b5095(0x128)](_0x3b5095(0x11a))),_0x2bae1e=_0x5199fb[_0x3b5095(0x128)](_0x3b5095(0x123))[_0x3b5095(0x11e)](),_0x27b6cc=parseMetadata(_0x5199fb[_0x3b5095(0x128)](_0x3b5095(0x124)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2bae1e?{'name':_0x2bae1e}:{},'content':_0x264ea8,..._0x27b6cc?{'metadata':_0x27b6cc}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x493f78){const _0x1a469b=a10_0x6af267;return{'id':_0x493f78['id'],'name':_0x493f78[_0x1a469b(0x123)],'artifactType':_0x493f78[_0x1a469b(0x132)],'source':_0x493f78[_0x1a469b(0xfd)],'favorite':_0x493f78[_0x1a469b(0x116)],'deleted':_0x493f78[_0x1a469b(0x11d)],'createTime':_0x493f78['createTime'],'updateTime':_0x493f78[_0x1a469b(0x10f)]};}function detailArtifact(_0x125783){const _0x36cd0d=a10_0x6af267;return{'id':_0x125783['id'],'appCode':_0x125783[_0x36cd0d(0x106)],'name':_0x125783[_0x36cd0d(0x123)],'artifactType':_0x125783[_0x36cd0d(0x132)],'source':_0x125783[_0x36cd0d(0xfd)],'favorite':_0x125783[_0x36cd0d(0x116)],'deleted':_0x125783[_0x36cd0d(0x11d)],'content':_0x125783[_0x36cd0d(0x118)]??'','compiledContent':_0x125783[_0x36cd0d(0x121)],'metadata':_0x125783['metadata']??{},'createTime':_0x125783[_0x36cd0d(0x12c)],'updateTime':_0x125783[_0x36cd0d(0x10f)]};}function readFavoriteFlag(_0x1deeb2){const _0x3eb271=a10_0x6af267,_0x86777c=_0x1deeb2[_0x3eb271(0x115)](_0x3eb271(0x116));return _0x86777c===undefined||_0x86777c===null||_0x86777c===''?undefined:_0x1deeb2[_0x3eb271(0xf0)](_0x3eb271(0x116));}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x6af267(0xfc),'flags':[{'name':a10_0x6af267(0xfd),'type':a10_0x6af267(0xee),'description':a10_0x6af267(0x12e)},{'name':a10_0x6af267(0x116),'type':a10_0x6af267(0xec),'description':a10_0x6af267(0x125)},VERBOSE_FLAG],async 'execute'(_0xffd7b0){const _0x5dd91c=a10_0x6af267,_0xd137f6=await listRuntimeArtifacts(_0xffd7b0[_0x5dd91c(0x106)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0xffd7b0[_0x5dd91c(0x128)]('source')?{'source':_0xffd7b0[_0x5dd91c(0x128)](_0x5dd91c(0xfd))}:{},...readFavoriteFlag(_0xffd7b0)!==undefined?{'favorite':readFavoriteFlag(_0xffd7b0)}:{}});return{'ok':!![],'data':{'total':_0xd137f6[_0x5dd91c(0x107)],'items':_0xffd7b0[_0x5dd91c(0xf0)](_0x5dd91c(0x133))?_0xd137f6:_0xd137f6[_0x5dd91c(0x111)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x6af267(0x112),'command':a10_0x6af267(0xf5),'description':a10_0x6af267(0xf7),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x15fc44){const _0x4afbf3=await getRuntimeArtifact(_0x15fc44['num']('id'),_0x15fc44['appCode']);return{'ok':!![],'data':detailArtifact(_0x4afbf3)};}},artifactCreate={'service':a10_0x6af267(0x112),'command':'create','description':a10_0x6af267(0x126),'risk':a10_0x6af267(0xfc),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5496f0){const _0x4346db=a10_0x6af267,_0xa93204=buildArtifactInput(_0x5496f0),_0x58bd73=await createRuntimeArtifact(_0x5496f0[_0x4346db(0x106)],_0xa93204);return{'ok':!![],'data':detailArtifact(_0x58bd73),'message':_0x4346db(0x10e)+_0x58bd73['id']+(_0x58bd73[_0x4346db(0x123)]?'\x20('+_0x58bd73[_0x4346db(0x123)]+')':'')};},async 'dryRun'(_0x3873ab){const _0x32d775=a10_0x6af267,_0x5ccbdf=buildArtifactInput(_0x3873ab);return dryRun(_0x32d775(0x11c),_0x32d775(0xef))[_0x32d775(0x103)]({'appCode':_0x3873ab[_0x32d775(0x106)],..._0x5ccbdf})[_0x32d775(0x110)]('Preview:\x20create\x20react_module\x20Artifact')[_0x32d775(0x114)]();}},artifactUpdate={'service':a10_0x6af267(0x112),'command':a10_0x6af267(0x12a),'description':a10_0x6af267(0xfa),'risk':a10_0x6af267(0xfc),'flags':[{...ID_FLAG,'description':a10_0x6af267(0xe8)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1b727b){const _0x29572d=a10_0x6af267,_0x4fbc59=_0x1b727b[_0x29572d(0xff)]('id'),_0x4e545d=buildArtifactInput(_0x1b727b),_0x43c36d=await updateRuntimeArtifact(_0x4fbc59,_0x1b727b[_0x29572d(0x106)],_0x4e545d);return{'ok':!![],'data':detailArtifact(_0x43c36d),'message':_0x29572d(0x122)+_0x43c36d['id']+(_0x43c36d[_0x29572d(0x123)]?'\x20('+_0x43c36d[_0x29572d(0x123)]+')':'')};},async 'dryRun'(_0x27d524){const _0x3bc8d1=a10_0x6af267,_0x173e4a=_0x27d524[_0x3bc8d1(0xff)]('id'),_0x177217=buildArtifactInput(_0x27d524);return dryRun('POST','/client/artifact/'+_0x173e4a+_0x3bc8d1(0xe9))[_0x3bc8d1(0x103)]({'appCode':_0x27d524[_0x3bc8d1(0x106)],..._0x177217})[_0x3bc8d1(0x110)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x173e4a)['build']();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x486c57=a10_0x4fa9;(function(_0x4dc5d7,_0x2ec88c){const _0x1b1397=a10_0x4fa9,_0x478908=_0x4dc5d7();while(!![]){try{const _0x30f470=parseInt(_0x1b1397(0x1f8))/0x1*(-parseInt(_0x1b1397(0x23d))/0x2)+-parseInt(_0x1b1397(0x22a))/0x3*(-parseInt(_0x1b1397(0x22c))/0x4)+parseInt(_0x1b1397(0x231))/0x5+parseInt(_0x1b1397(0x214))/0x6*(-parseInt(_0x1b1397(0x234))/0x7)+parseInt(_0x1b1397(0x1f4))/0x8+-parseInt(_0x1b1397(0x1f7))/0x9*(parseInt(_0x1b1397(0x242))/0xa)+parseInt(_0x1b1397(0x229))/0xb*(parseInt(_0x1b1397(0x203))/0xc);if(_0x30f470===_0x2ec88c)break;else _0x478908['push'](_0x478908['shift']());}catch(_0x153985){_0x478908['push'](_0x478908['shift']());}}}(a10_0x1715,0x26462));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x486c57(0x21e),ARTIFACT_SOURCE_AGENT=a10_0x486c57(0x224),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x486c57(0x222),a10_0x486c57(0x23e),a10_0x486c57(0x221),a10_0x486c57(0x23a),a10_0x486c57(0x204),a10_0x486c57(0x20a)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x486c57(0x21b),'type':'string','required':!![],'description':a10_0x486c57(0x206)},ARTIFACT_NAME_FLAG={'name':a10_0x486c57(0x237),'type':a10_0x486c57(0x244),'description':a10_0x486c57(0x20d)},METADATA_FLAG={'name':a10_0x486c57(0x1f5),'type':a10_0x486c57(0x244),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x33dd9d){const _0x484e96=a10_0x486c57;return typeof _0x33dd9d===_0x484e96(0x227)&&_0x33dd9d!==null&&!Array[_0x484e96(0x21a)](_0x33dd9d);}function readSourceFile(_0x53db82){const _0x3bfb14=a10_0x486c57;if(!_0x53db82)throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x211));if(!existsSync(_0x53db82))throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x216)+_0x53db82);if(!statSync(_0x53db82)[_0x3bfb14(0x209)]())throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x213)+_0x53db82);const _0x2e689f=readFileSync(_0x53db82,_0x3bfb14(0x22f));return validateReactModuleSource(_0x2e689f),_0x2e689f;}function parseMetadata(_0x282a54){const _0x2604cd=a10_0x486c57;if(!_0x282a54)return undefined;let _0x3d1a5e;try{_0x3d1a5e=JSON[_0x2604cd(0x219)](_0x282a54);}catch{throw CliErrors[_0x2604cd(0x1fd)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x282a54);}if(!isPlainObject(_0x3d1a5e))throw CliErrors[_0x2604cd(0x1fd)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x289f21={..._0x3d1a5e};return delete _0x289f21[_0x2604cd(0x212)],_0x289f21;}function getPackageName(_0x4df82f){const _0x48a1af=a10_0x486c57;if(_0x4df82f['startsWith']('@')){const [_0x3a60e0,_0x55e1af]=_0x4df82f['split']('/');return _0x3a60e0&&_0x55e1af?_0x3a60e0+'/'+_0x55e1af:_0x4df82f;}return _0x4df82f[_0x48a1af(0x232)]('/')[0x0]||_0x4df82f;}function a10_0x1715(){const _0x168c93=['read','dayjs','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','length','477584EXiqqN','react-dom','Created\x20Artifact\x20','detail','verbose','20LwLCQA','join','string','Show\x20one\x20Artifact\x20by\x20id','favorite','2473096BAgdsR','metadata','exec','1270962vjRdXA','1iktPWE','num','flag','description','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','validation','/update','/client/artifact/create','deleted','/client/artifact/','body','108hpVeYC','antd','list','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','updateTime','boolean','isFile','@ant-design/icons','add','appCode','Artifact\x20display\x20name','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','Updated\x20Artifact\x20','POST','File\x20path\x20is\x20required.','compiledContent','File\x20is\x20not\x20a\x20regular\x20file:\x20','6HIxabk','some','File\x20not\x20found:\x20','Artifact\x20ID','content','parse','isArray','file','create','bool','react_module','artifact','filter','lodash','react','build','AGENT','str','lastIndex','object','trim','46651xtkylg','4335wBJnZE','source','764ZFfTLi','artifactType','map','utf8','Artifact\x20source\x20file\x20is\x20blank.','1537230imJPAg','split','createTime','1769243HQMzmt','Optional\x20favorite-state\x20filter','update','name','Preview:\x20create\x20react_module\x20Artifact'];a10_0x1715=function(){return _0x168c93;};return a10_0x1715();}function validateAllowedImports(_0x15bf73){const _0x4490c0=a10_0x486c57,_0x730cae=new Set();for(const _0x507ecc of IMPORT_SOURCE_PATTERNS){_0x507ecc[_0x4490c0(0x226)]=0x0;let _0x2d3b03;while((_0x2d3b03=_0x507ecc[_0x4490c0(0x1f6)](_0x15bf73))!==null){const _0x6cab64=_0x2d3b03[0x1]?.[_0x4490c0(0x228)]();_0x6cab64&&_0x730cae[_0x4490c0(0x20b)](_0x6cab64);}}const _0x43e272=[..._0x730cae]['map'](getPackageName)[_0x4490c0(0x220)](_0x25ca23=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x25ca23));if(_0x43e272[_0x4490c0(0x23c)]>0x0)throw CliErrors[_0x4490c0(0x1fd)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x43e272)][_0x4490c0(0x243)](',\x20'));}export function validateReactModuleSource(_0x3536cc){const _0x2b22a9=a10_0x486c57;if(!_0x3536cc[_0x2b22a9(0x228)]())throw CliErrors[_0x2b22a9(0x1fd)](_0x2b22a9(0x230));if(PAGE_LEVEL_PATTERNS[_0x2b22a9(0x215)](_0xade000=>_0xade000['test'](_0x3536cc)))throw CliErrors[_0x2b22a9(0x1fd)](_0x2b22a9(0x20e));validateAllowedImports(_0x3536cc);}function buildArtifactInput(_0x103f2f){const _0x4891ca=a10_0x486c57,_0x16994a=readSourceFile(_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x21b))),_0x3ac291=_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x237))[_0x4891ca(0x228)](),_0x2cdc75=parseMetadata(_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x1f5)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x3ac291?{'name':_0x3ac291}:{},'content':_0x16994a,..._0x2cdc75?{'metadata':_0x2cdc75}:{},'source':ARTIFACT_SOURCE_AGENT};}function a10_0x4fa9(_0x174cb3,_0x4c71c8){_0x174cb3=_0x174cb3-0x1f4;const _0x17156b=a10_0x1715();let _0x4fa91a=_0x17156b[_0x174cb3];return _0x4fa91a;}function summarizeArtifact(_0x2c9426){const _0x3eec41=a10_0x486c57;return{'id':_0x2c9426['id'],'name':_0x2c9426[_0x3eec41(0x237)],'artifactType':_0x2c9426['artifactType'],'source':_0x2c9426[_0x3eec41(0x22b)],'favorite':_0x2c9426['favorite'],'deleted':_0x2c9426['deleted'],'createTime':_0x2c9426[_0x3eec41(0x233)],'updateTime':_0x2c9426[_0x3eec41(0x207)]};}function detailArtifact(_0x3939aa){const _0x1a1845=a10_0x486c57;return{'id':_0x3939aa['id'],'appCode':_0x3939aa[_0x1a1845(0x20c)],'name':_0x3939aa['name'],'artifactType':_0x3939aa[_0x1a1845(0x22d)],'source':_0x3939aa[_0x1a1845(0x22b)],'favorite':_0x3939aa['favorite'],'deleted':_0x3939aa[_0x1a1845(0x200)],'content':_0x3939aa[_0x1a1845(0x218)]??'','compiledContent':_0x3939aa['compiledContent'],'metadata':_0x3939aa['metadata']??{},'createTime':_0x3939aa[_0x1a1845(0x233)],'updateTime':_0x3939aa['updateTime']};}function readFavoriteFlag(_0x54e0fe){const _0x4ffe16=a10_0x486c57,_0x1de892=_0x54e0fe[_0x4ffe16(0x1fa)]('favorite');return _0x1de892===undefined||_0x1de892===null||_0x1de892===''?undefined:_0x54e0fe[_0x4ffe16(0x21d)](_0x4ffe16(0x246));}const artifactList={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x205),'description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x486c57(0x239),'flags':[{'name':a10_0x486c57(0x22b),'type':a10_0x486c57(0x244),'description':a10_0x486c57(0x23b)},{'name':a10_0x486c57(0x246),'type':a10_0x486c57(0x208),'description':a10_0x486c57(0x235)},VERBOSE_FLAG],async 'execute'(_0x14aebf){const _0xcccd5d=a10_0x486c57,_0x266295=await listRuntimeArtifacts(_0x14aebf[_0xcccd5d(0x20c)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x14aebf[_0xcccd5d(0x225)](_0xcccd5d(0x22b))?{'source':_0x14aebf[_0xcccd5d(0x225)](_0xcccd5d(0x22b))}:{},...readFavoriteFlag(_0x14aebf)!==undefined?{'favorite':readFavoriteFlag(_0x14aebf)}:{}});return{'ok':!![],'data':{'total':_0x266295[_0xcccd5d(0x23c)],'items':_0x14aebf['bool'](_0xcccd5d(0x241))?_0x266295:_0x266295[_0xcccd5d(0x22e)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x240),'description':a10_0x486c57(0x245),'risk':a10_0x486c57(0x239),'flags':[{...ID_FLAG,'description':a10_0x486c57(0x217)}],async 'execute'(_0x28c68b){const _0xe2984c=await getRuntimeArtifact(_0x28c68b['num']('id'),_0x28c68b['appCode']);return{'ok':!![],'data':detailArtifact(_0xe2984c)};}},artifactCreate={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x21c),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x486c57(0x239),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1b3cd8){const _0x810ff5=a10_0x486c57,_0x5eef12=buildArtifactInput(_0x1b3cd8),_0x496426=await createRuntimeArtifact(_0x1b3cd8['appCode'],_0x5eef12);return{'ok':!![],'data':detailArtifact(_0x496426),'message':_0x810ff5(0x23f)+_0x496426['id']+(_0x496426['name']?'\x20('+_0x496426[_0x810ff5(0x237)]+')':'')};},async 'dryRun'(_0x4a0666){const _0xe8ef39=a10_0x486c57,_0xe32b3b=buildArtifactInput(_0x4a0666);return dryRun(_0xe8ef39(0x210),_0xe8ef39(0x1ff))[_0xe8ef39(0x202)]({'appCode':_0x4a0666[_0xe8ef39(0x20c)],..._0xe32b3b})[_0xe8ef39(0x1fb)](_0xe8ef39(0x238))[_0xe8ef39(0x223)]();}},artifactUpdate={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x236),'description':a10_0x486c57(0x1fc),'risk':a10_0x486c57(0x239),'flags':[{...ID_FLAG,'description':a10_0x486c57(0x217)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2adf24){const _0x2b9e4b=a10_0x486c57,_0x3e5c4c=_0x2adf24[_0x2b9e4b(0x1f9)]('id'),_0x239be6=buildArtifactInput(_0x2adf24),_0x193a03=await updateRuntimeArtifact(_0x3e5c4c,_0x2adf24[_0x2b9e4b(0x20c)],_0x239be6);return{'ok':!![],'data':detailArtifact(_0x193a03),'message':_0x2b9e4b(0x20f)+_0x193a03['id']+(_0x193a03['name']?'\x20('+_0x193a03[_0x2b9e4b(0x237)]+')':'')};},async 'dryRun'(_0x57c6ea){const _0x100255=a10_0x486c57,_0x286f68=_0x57c6ea[_0x100255(0x1f9)]('id'),_0x3a4544=buildArtifactInput(_0x57c6ea);return dryRun(_0x100255(0x210),_0x100255(0x201)+_0x286f68+_0x100255(0x1fe))[_0x100255(0x202)]({'appCode':_0x57c6ea['appCode'],..._0x3a4544})[_0x100255(0x1fb)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x286f68)[_0x100255(0x223)]();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x48c11=a11_0x2ca9;(function(_0xcddaad,_0x3d7103){const _0x1b03cf=a11_0x2ca9,_0x1f501c=_0xcddaad();while(!![]){try{const _0x5b2fec=parseInt(_0x1b03cf(0x1b2))/0x1*(-parseInt(_0x1b03cf(0x1b6))/0x2)+parseInt(_0x1b03cf(0x1d8))/0x3*(-parseInt(_0x1b03cf(0x1d2))/0x4)+parseInt(_0x1b03cf(0x1de))/0x5*(parseInt(_0x1b03cf(0x1dd))/0x6)+-parseInt(_0x1b03cf(0x1c1))/0x7*(-parseInt(_0x1b03cf(0x1cc))/0x8)+parseInt(_0x1b03cf(0x1db))/0x9*(parseInt(_0x1b03cf(0x1c3))/0xa)+-parseInt(_0x1b03cf(0x1cb))/0xb+parseInt(_0x1b03cf(0x1a4))/0xc;if(_0x5b2fec===_0x3d7103)break;else _0x1f501c['push'](_0x1f501c['shift']());}catch(_0x2cb30b){_0x1f501c['push'](_0x1f501c['shift']());}}}(a11_0x5b23,0x6ea31));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';function a11_0x5b23(){const _0x589cda=['Invalid\x20access_key\x20returned\x20by\x20server.','log','1375800YYhiEI','\x0dWaiting\x20for\x20authorization...\x20','success','\x20auth\x20status','status','access_key','stderr','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','scope','global','Device\x20authorization\x20successful.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','code','object','1709lrEVYB','Device\x20authorization\x20cancelled.','homeDirName','POST','234YHqImp','createdAt','project','/device-auth?code=','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Write\x20to\x20global\x20config\x20(default)','lovrabet-cli','json','signal','After\x20authorizing,\x20re-run:\x20','floor','2930753GzhFpR','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','4927830xyatQZ','toISOString','write','Device\x20auth\x20API\x20returned\x20HTTP\x20','global-default','string','data','aborted','3156626HudEmc','8KRktDo','url-only','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','networkError','trim','auth','156IXoKat','now','/api/device-auth/token','Invalid\x20device\x20auth\x20response','getTime','SIGINT','64023MBLjsj','Device\x20auth\x20API\x20error\x20(','\x20remaining','9tVKWUq','stringify','895530rVXgeC','25GDmnXs','padStart','boolean','accessKey','bool','utf8','cancelled','apiError','Verify:\x20','removeListener','str','source','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','validation','AccessKey\x20saved\x20to\x20','abort','test','name','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)'];a11_0x5b23=function(){return _0x589cda;};return a11_0x5b23();}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(_0x335bb2){const _0x2a804e=a11_0x2ca9;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x335bb2[_0x2a804e(0x193)](_0x2a804e(0x1ad)),'explicitProject':_0x335bb2[_0x2a804e(0x193)](_0x2a804e(0x1b8)),'policy':_0x2a804e(0x1c7)}));}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;function a11_0x2ca9(_0xd4190c,_0x33ffa6){_0xd4190c=_0xd4190c-0x191;const _0x5b23e4=a11_0x5b23();let _0x2ca9cf=_0x5b23e4[_0xd4190c];return _0x2ca9cf;}export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x1748d6,_0x29f141,_0x470891=a11_0x48c11(0x1bc)){const _0x1855cf=a11_0x48c11;return _0x1748d6+_0x1855cf(0x1b9)+encodeURIComponent(_0x29f141)+'&source='+encodeURIComponent(_0x470891);}export function getDeviceCodePath(){const _0x1ea22e=a11_0x48c11;return homedir()+'/'+PRODUCT_CONFIG[_0x1ea22e(0x1b4)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x249a01=a11_0x48c11,_0x4ef2d9=getDeviceCodePath();if(!existsSync(_0x4ef2d9))return null;try{const _0x2297d2=readFileSync(_0x4ef2d9,{'encoding':'utf8'}),_0x130321=JSON['parse'](_0x2297d2);if(_0x130321&&typeof _0x130321[_0x249a01(0x1b0)]===_0x249a01(0x1c8)&&typeof _0x130321[_0x249a01(0x1b7)]===_0x249a01(0x1c8)&&(_0x130321[_0x249a01(0x1ac)]==='global'||_0x130321[_0x249a01(0x1ac)]===_0x249a01(0x1b8)))return _0x130321;}catch{}return null;}export function writeStoredDeviceCode(_0x2bd572,_0x9721cb){const _0x30f0fc=a11_0x48c11,_0x1b4d82=getDeviceCodePath(),_0x4e5508=dirname(_0x1b4d82);!existsSync(_0x4e5508)&&mkdirSync(_0x4e5508,{'recursive':!![]});const _0xedc929={'code':_0x2bd572,'createdAt':new Date()[_0x30f0fc(0x1c4)](),'scope':_0x9721cb};writeFileSync(_0x1b4d82,JSON[_0x30f0fc(0x1dc)](_0xedc929),{'encoding':_0x30f0fc(0x194),'mode':0x180});}export function deleteStoredDeviceCode(){const _0xce2cff=getDeviceCodePath();try{unlinkSync(_0xce2cff);}catch{}}export function isStoredDeviceCodeExpired(_0x52318a){const _0xa98fc0=a11_0x48c11;return Date[_0xa98fc0(0x1d3)]()-new Date(_0x52318a[_0xa98fc0(0x1b7)])[_0xa98fc0(0x1d6)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x4b8288,_0x3ad25c){const _0x30cba6=a11_0x48c11,_0x142f0d=_0x4b8288+_0x30cba6(0x1d4),_0x3e9cdc=new AbortController(),_0x348a2c=setTimeout(()=>_0x3e9cdc[_0x30cba6(0x19e)](),0x2710),_0x43f184=await fetch(_0x142f0d,{'method':_0x30cba6(0x1b5),'headers':{'Content-Type':'application/json'},'body':JSON[_0x30cba6(0x1dc)]({'code':_0x3ad25c}),'signal':_0x3e9cdc[_0x30cba6(0x1be)]});clearTimeout(_0x348a2c);if(!_0x43f184['ok'])throw CliErrors['networkError'](_0x30cba6(0x1c6)+_0x43f184['status']);const _0x17df49=await _0x43f184[_0x30cba6(0x1bd)](),_0x4397ec=_0x17df49[_0x30cba6(0x1c9)]&&typeof _0x17df49[_0x30cba6(0x1c9)]===_0x30cba6(0x1b1)?_0x17df49['data']:_0x17df49;if(!_0x4397ec||typeof _0x4397ec[_0x30cba6(0x1a8)]!==_0x30cba6(0x1c8))throw CliErrors[_0x30cba6(0x196)](_0x30cba6(0x1d5));return{'status':_0x4397ec[_0x30cba6(0x1a8)],'access_key':typeof _0x4397ec[_0x30cba6(0x1a9)]==='string'?_0x4397ec[_0x30cba6(0x1a9)]:undefined};}export async function pollDeviceToken(_0x1e282a,_0x23398e,_0x18cd99){const _0xb80c0a=a11_0x48c11;let _0x385638=0x0;for(let _0x2b773a=0x0;_0x2b773a<MAX_POLLS;_0x2b773a++){if(_0x18cd99[_0xb80c0a(0x1ca)])throw CliErrors[_0xb80c0a(0x195)](_0xb80c0a(0x1b3));let _0x2cb572;try{_0x2cb572=await fetchDeviceToken(_0x1e282a,_0x23398e);}catch(_0x2a99c6){if(_0x2a99c6 instanceof Error&&_0x2a99c6[_0xb80c0a(0x1a0)]==='AbortError')throw CliErrors[_0xb80c0a(0x195)](_0xb80c0a(0x1b3));_0x385638++;if(_0x385638>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0xb80c0a(0x1cf)](_0xb80c0a(0x1c2));writeCliSideChannelLine(_0xb80c0a(0x1d9)+_0x385638+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x385638=0x0;if(_0x2cb572[_0xb80c0a(0x1a8)]===_0xb80c0a(0x1a6)){if(!_0x2cb572[_0xb80c0a(0x1a9)])throw CliErrors[_0xb80c0a(0x196)](_0xb80c0a(0x1a2));return _0x2cb572[_0xb80c0a(0x1a9)];}if(_0x2cb572['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0xb80c0a(0x19c)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x47e085=(_0x2b773a+0x1)*POLL_INTERVAL_MS,_0x2f74c3=DEVICE_CODE_TTL_MS-_0x47e085,_0x540152=Math[_0xb80c0a(0x1c0)](_0x2f74c3/0xea60),_0x4dd51b=Math[_0xb80c0a(0x1c0)](_0x2f74c3%0xea60/0x3e8);process['stderr'][_0xb80c0a(0x1c5)](_0xb80c0a(0x1a5)+_0x540152+':'+String(_0x4dd51b)[_0xb80c0a(0x1df)](0x2,'0')+_0xb80c0a(0x1da)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0xb80c0a(0x19c)](_0xb80c0a(0x1ce));}function sleep(_0x17c8cc){return new Promise(_0x584ece=>setTimeout(_0x584ece,_0x17c8cc));}export const authDeviceDefinition={'service':a11_0x48c11(0x1d1),'command':'device','description':a11_0x48c11(0x1a1),'risk':'write','confirmationDescription':'Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x48c11(0x1ad),'type':'boolean','description':a11_0x48c11(0x1bb),'default':!![]},{'name':a11_0x48c11(0x1b8),'type':a11_0x48c11(0x191),'description':'Write\x20to\x20project\x20config','default':![]},{'name':'source','type':a11_0x48c11(0x1c8),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x48c11(0x1bc)},{'name':a11_0x48c11(0x1cd),'type':a11_0x48c11(0x191),'description':a11_0x48c11(0x19b),'default':![]}],async 'execute'(_0x3022c5){const _0x4d805e=a11_0x48c11,_0x536c21=resolveAuthScopeFlags(_0x3022c5),_0x5f50b5=_0x536c21[_0x4d805e(0x1ad)]?'global':_0x4d805e(0x1b8),_0x57d486=readScopedConfig(_0x536c21);if(_0x57d486[_0x4d805e(0x192)])return{'ok':!![],'message':_0x4d805e(0x1ab)};const _0x5a8d82=(_0x3022c5[_0x4d805e(0x199)](_0x4d805e(0x19a))||_0x4d805e(0x1bc))[_0x4d805e(0x1d0)](),_0x46217c=getUserDomain(),_0x35d09f=readStoredDeviceCode(),_0x580dc2=_0x35d09f&&!isStoredDeviceCodeExpired(_0x35d09f)?_0x35d09f[_0x4d805e(0x1b0)]:((()=>{const _0x3d5a40=generateDeviceCode();return writeStoredDeviceCode(_0x3d5a40,_0x5f50b5),_0x3d5a40;})()),_0x3ba015=buildDeviceAuthUrl(_0x46217c,_0x580dc2,_0x5a8d82);if(_0x3022c5[_0x4d805e(0x193)](_0x4d805e(0x1cd)))return console[_0x4d805e(0x1a3)](_0x3ba015),{'ok':!![]};writeCliSideChannelLine(_0x4d805e(0x1af)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3ba015),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x3022c5['nonInteractive'])return writeCliSideChannelLine(_0x4d805e(0x1bf)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x4d805e(0x1ba)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x51b0fe=new AbortController(),_0x1d1b24=()=>{const _0x39d731=_0x4d805e;_0x51b0fe[_0x39d731(0x19e)](),process[_0x39d731(0x198)](_0x39d731(0x1d7),_0x1d1b24);};process['once'](_0x4d805e(0x1d7),_0x1d1b24);let _0x4c41d6;try{_0x4c41d6=await pollDeviceToken(_0x46217c,_0x580dc2,_0x51b0fe[_0x4d805e(0x1be)]);}finally{process['removeListener'](_0x4d805e(0x1d7),_0x1d1b24);}if(!ACCESS_KEY_PATTERN[_0x4d805e(0x19f)](_0x4c41d6))throw CliErrors[_0x4d805e(0x196)](_0x4d805e(0x1a2));const _0x1c8644=readScopedConfig(_0x536c21);return _0x1c8644[_0x4d805e(0x192)]=_0x4c41d6,writeScopedConfig(_0x1c8644,_0x536c21),deleteStoredDeviceCode(),process[_0x4d805e(0x1aa)][_0x4d805e(0x1c5)]('\x0a'),writeCliSideChannelLine(_0x4d805e(0x19d)+_0x5f50b5+'\x20config.'),writeCliSideChannelLine(_0x4d805e(0x197)+CLI_BIN_NAME+_0x4d805e(0x1a7)),{'ok':!![],'message':_0x4d805e(0x1ae)};}};
|
|
1
|
+
const a11_0x1d0ba7=a11_0x3a39;(function(_0x30ab64,_0x395e04){const _0x1fc376=a11_0x3a39,_0x5e1e74=_0x30ab64();while(!![]){try{const _0x214d0a=-parseInt(_0x1fc376(0x18d))/0x1+-parseInt(_0x1fc376(0x198))/0x2+-parseInt(_0x1fc376(0x19d))/0x3+-parseInt(_0x1fc376(0x188))/0x4+parseInt(_0x1fc376(0x16e))/0x5+parseInt(_0x1fc376(0x158))/0x6+parseInt(_0x1fc376(0x15d))/0x7;if(_0x214d0a===_0x395e04)break;else _0x5e1e74['push'](_0x5e1e74['shift']());}catch(_0x4ed018){_0x5e1e74['push'](_0x5e1e74['shift']());}}}(a11_0xd23f,0xafefc));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';function a11_0x3a39(_0x53f0a4,_0x24b842){_0x53f0a4=_0x53f0a4-0x155;const _0xd23fe0=a11_0xd23f();let _0x3a398a=_0xd23fe0[_0x53f0a4];return _0x3a398a;}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(_0x5acb0b){const _0x1fac91=a11_0x3a39;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5acb0b['bool']('global'),'explicitProject':_0x5acb0b['bool'](_0x1fac91(0x19f)),'policy':_0x1fac91(0x167)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x4b19e8=a11_0x3a39;return crypto[_0x4b19e8(0x15b)]();}export function buildDeviceAuthUrl(_0x191897,_0x1cfdc8,_0x4e084c='lovrabet-cli'){const _0x38ac16=a11_0x3a39;return _0x191897+_0x38ac16(0x155)+encodeURIComponent(_0x1cfdc8)+_0x38ac16(0x179)+encodeURIComponent(_0x4e084c);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x457458=a11_0x3a39,_0x5eea90=getDeviceCodePath();if(!existsSync(_0x5eea90))return null;try{const _0x1a9593=readFileSync(_0x5eea90,{'encoding':_0x457458(0x183)}),_0x4fbec9=JSON[_0x457458(0x16f)](_0x1a9593);if(_0x4fbec9&&typeof _0x4fbec9['code']===_0x457458(0x18c)&&typeof _0x4fbec9[_0x457458(0x159)]===_0x457458(0x18c)&&(_0x4fbec9[_0x457458(0x164)]===_0x457458(0x186)||_0x4fbec9[_0x457458(0x164)]==='project'))return _0x4fbec9;}catch{}return null;}export function writeStoredDeviceCode(_0x39f5d1,_0x56fd56){const _0x176a55=a11_0x3a39,_0x20f190=getDeviceCodePath(),_0x965ac3=dirname(_0x20f190);!existsSync(_0x965ac3)&&mkdirSync(_0x965ac3,{'recursive':!![]});const _0x41b940={'code':_0x39f5d1,'createdAt':new Date()['toISOString'](),'scope':_0x56fd56};writeFileSync(_0x20f190,JSON[_0x176a55(0x185)](_0x41b940),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x72fb4b=getDeviceCodePath();try{unlinkSync(_0x72fb4b);}catch{}}export function isStoredDeviceCodeExpired(_0x414cb5){const _0x5a73a4=a11_0x3a39;return Date[_0x5a73a4(0x177)]()-new Date(_0x414cb5[_0x5a73a4(0x159)])[_0x5a73a4(0x175)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x11a78b,_0x4c71a7){const _0x41e46c=a11_0x3a39,_0x46bfb1=_0x11a78b+'/api/device-auth/token',_0x5dacf5=new AbortController(),_0x1994aa=setTimeout(()=>_0x5dacf5[_0x41e46c(0x191)](),0x2710),_0xfe83e7=await fetch(_0x46bfb1,{'method':_0x41e46c(0x16a),'headers':{'Content-Type':_0x41e46c(0x16b)},'body':JSON[_0x41e46c(0x185)]({'code':_0x4c71a7}),'signal':_0x5dacf5[_0x41e46c(0x184)]});clearTimeout(_0x1994aa);if(!_0xfe83e7['ok'])throw CliErrors['networkError'](_0x41e46c(0x18e)+_0xfe83e7[_0x41e46c(0x16c)]);const _0x192bf4=await _0xfe83e7['json'](),_0x38b151=_0x192bf4[_0x41e46c(0x17f)]&&typeof _0x192bf4[_0x41e46c(0x17f)]===_0x41e46c(0x180)?_0x192bf4[_0x41e46c(0x17f)]:_0x192bf4;if(!_0x38b151||typeof _0x38b151[_0x41e46c(0x16c)]!==_0x41e46c(0x18c))throw CliErrors[_0x41e46c(0x172)](_0x41e46c(0x169));return{'status':_0x38b151[_0x41e46c(0x16c)],'access_key':typeof _0x38b151[_0x41e46c(0x192)]==='string'?_0x38b151[_0x41e46c(0x192)]:undefined};}export async function pollDeviceToken(_0x3832fa,_0xb5f598,_0x361db1){const _0xf7d29a=a11_0x3a39;let _0x5413f0=0x0;for(let _0xb3a181=0x0;_0xb3a181<MAX_POLLS;_0xb3a181++){if(_0x361db1['aborted'])throw CliErrors[_0xf7d29a(0x193)](_0xf7d29a(0x176));let _0x5bef7a;try{_0x5bef7a=await fetchDeviceToken(_0x3832fa,_0xb5f598);}catch(_0x57ebd6){if(_0x57ebd6 instanceof Error&&_0x57ebd6[_0xf7d29a(0x163)]===_0xf7d29a(0x19b))throw CliErrors[_0xf7d29a(0x193)](_0xf7d29a(0x176));_0x5413f0++;if(_0x5413f0>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0xf7d29a(0x19c)](_0xf7d29a(0x162));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x5413f0+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0xf7d29a(0x1a1)),await sleep(POLL_INTERVAL_MS);continue;}_0x5413f0=0x0;if(_0x5bef7a['status']===_0xf7d29a(0x178)){if(!_0x5bef7a[_0xf7d29a(0x192)])throw CliErrors[_0xf7d29a(0x172)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x5bef7a[_0xf7d29a(0x192)];}if(_0x5bef7a[_0xf7d29a(0x16c)]===_0xf7d29a(0x18a)){deleteStoredDeviceCode();throw CliErrors[_0xf7d29a(0x157)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xa5349c=(_0xb3a181+0x1)*POLL_INTERVAL_MS,_0x3c8101=DEVICE_CODE_TTL_MS-_0xa5349c,_0x544f24=Math[_0xf7d29a(0x168)](_0x3c8101/0xea60),_0xc4907f=Math[_0xf7d29a(0x168)](_0x3c8101%0xea60/0x3e8);process[_0xf7d29a(0x195)][_0xf7d29a(0x15f)](_0xf7d29a(0x166)+_0x544f24+':'+String(_0xc4907f)[_0xf7d29a(0x156)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0xf7d29a(0x157)](_0xf7d29a(0x189));}function sleep(_0x480e96){return new Promise(_0x5ae4e3=>setTimeout(_0x5ae4e3,_0x480e96));}function a11_0xd23f(){const _0x2d1954=['POST','application/json','status','removeListener','3355100NxjLdx','parse','str','Verify:\x20','apiError','Invalid\x20access_key\x20returned\x20by\x20server.','Device\x20authorization\x20successful.','getTime','Device\x20authorization\x20cancelled.','now','success','&source=','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','\x20auth\x20device','url-only','boolean','once','data','object','device','test','utf8','signal','stringify','global','code','5401748yzijwb','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','expired','SIGINT','string','1234896KgtxmM','Device\x20auth\x20API\x20returned\x20HTTP\x20','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','trim','abort','access_key','cancelled','\x20config.','stderr','accessKey','log','1128954grzawa','bool','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','AbortError','networkError','4055991nCnXOV','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','project','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','),\x20retrying...','nonInteractive','Write\x20to\x20project\x20config','/device-auth?code=','padStart','validation','6264912ULCSpz','createdAt','source','randomUUID','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','24550897CYDzgX','lovrabet-cli','write','Write\x20to\x20global\x20config\x20(default)','auth','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','name','scope','AccessKey\x20saved\x20to\x20','\x0dWaiting\x20for\x20authorization...\x20','global-default','floor','Invalid\x20device\x20auth\x20response'];a11_0xd23f=function(){return _0x2d1954;};return a11_0xd23f();}export const authDeviceDefinition={'service':a11_0x1d0ba7(0x161),'command':a11_0x1d0ba7(0x181),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a11_0x1d0ba7(0x15f),'confirmationDescription':a11_0x1d0ba7(0x19e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1d0ba7(0x186),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x160),'default':!![]},{'name':a11_0x1d0ba7(0x19f),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x1a3),'default':![]},{'name':a11_0x1d0ba7(0x15a),'type':a11_0x1d0ba7(0x18c),'description':a11_0x1d0ba7(0x17a),'default':a11_0x1d0ba7(0x15e)},{'name':a11_0x1d0ba7(0x17c),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x18f),'default':![]}],async 'execute'(_0x5eecec){const _0x3acf6e=a11_0x1d0ba7,_0x3c2bd4=resolveAuthScopeFlags(_0x5eecec),_0x4ee54c=_0x3c2bd4[_0x3acf6e(0x186)]?'global':_0x3acf6e(0x19f),_0x540b0e=readScopedConfig(_0x3c2bd4);if(_0x540b0e[_0x3acf6e(0x196)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x1fe228=(_0x5eecec[_0x3acf6e(0x170)](_0x3acf6e(0x15a))||'lovrabet-cli')[_0x3acf6e(0x190)](),_0x529401=getUserDomain(),_0x4a727b=readStoredDeviceCode(),_0x23bcff=_0x4a727b&&!isStoredDeviceCodeExpired(_0x4a727b)?_0x4a727b[_0x3acf6e(0x187)]:((()=>{const _0x5a4c28=generateDeviceCode();return writeStoredDeviceCode(_0x5a4c28,_0x4ee54c),_0x5a4c28;})()),_0xb306f3=buildDeviceAuthUrl(_0x529401,_0x23bcff,_0x1fe228);if(_0x5eecec[_0x3acf6e(0x199)](_0x3acf6e(0x17c)))return console[_0x3acf6e(0x197)](_0xb306f3),{'ok':!![]};writeCliSideChannelLine(_0x3acf6e(0x19a)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xb306f3),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3acf6e(0x1a0));if(_0x5eecec[_0x3acf6e(0x1a2)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x3acf6e(0x17b)),{'ok':!![],'message':_0x3acf6e(0x15c)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x4fad2a=new AbortController(),_0x135e52=()=>{const _0x38a8d8=_0x3acf6e;_0x4fad2a[_0x38a8d8(0x191)](),process['removeListener'](_0x38a8d8(0x18b),_0x135e52);};process[_0x3acf6e(0x17e)](_0x3acf6e(0x18b),_0x135e52);let _0x8f3cab;try{_0x8f3cab=await pollDeviceToken(_0x529401,_0x23bcff,_0x4fad2a[_0x3acf6e(0x184)]);}finally{process[_0x3acf6e(0x16d)](_0x3acf6e(0x18b),_0x135e52);}if(!ACCESS_KEY_PATTERN[_0x3acf6e(0x182)](_0x8f3cab))throw CliErrors[_0x3acf6e(0x172)](_0x3acf6e(0x173));const _0x3daabc=readScopedConfig(_0x3c2bd4);return _0x3daabc[_0x3acf6e(0x196)]=_0x8f3cab,writeScopedConfig(_0x3daabc,_0x3c2bd4),deleteStoredDeviceCode(),process['stderr'][_0x3acf6e(0x15f)]('\x0a'),writeCliSideChannelLine(_0x3acf6e(0x165)+_0x4ee54c+_0x3acf6e(0x194)),writeCliSideChannelLine(_0x3acf6e(0x171)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x3acf6e(0x174)};}};
|