@lovrabet/lovrabet-cli 2.3.2-beta.3 → 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_0x59f586=a1_0x15d4;(function(_0x5d48a1,_0x587bc9){const _0xf01d31=a1_0x15d4,_0xeac44a=_0x5d48a1();while(!![]){try{const _0x5f421d=parseInt(_0xf01d31(0x258))/0x1+parseInt(_0xf01d31(0x201))/0x2*(parseInt(_0xf01d31(0x1f7))/0x3)+parseInt(_0xf01d31(0x243))/0x4+parseInt(_0xf01d31(0x1f0))/0x5+parseInt(_0xf01d31(0x1e8))/0x6*(parseInt(_0xf01d31(0x226))/0x7)+-parseInt(_0xf01d31(0x209))/0x8*(-parseInt(_0xf01d31(0x25d))/0x9)+-parseInt(_0xf01d31(0x246))/0xa;if(_0x5f421d===_0x587bc9)break;else _0xeac44a['push'](_0xeac44a['shift']());}catch(_0x55af75){_0xeac44a['push'](_0xeac44a['shift']());}}}(a1_0x39ee,0x57571));function a1_0x15d4(_0x469e95,_0x4f7558){_0x469e95=_0x469e95-0x1e2;const _0x39eec9=a1_0x39ee();let _0x15d4aa=_0x39eec9[_0x469e95];return _0x15d4aa;}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x59f586(0x22c),'type':a1_0x59f586(0x23c),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x59f586(0x20a),'type':a1_0x59f586(0x23c),'description':a1_0x59f586(0x234)},DOC_CODE_FLAG={'name':'code','type':a1_0x59f586(0x23c),'required':!![],'description':a1_0x59f586(0x264)},DOCS=[{'code':a1_0x59f586(0x20d),'category':a1_0x59f586(0x202),'title':'List\x20datasets','method':a1_0x59f586(0x1f1),'path':'/api/dataset/get-dataset-list-by-app-code','summary':a1_0x59f586(0x1fa),'whenToUse':a1_0x59f586(0x20b),'pathParams':[],'queryParams':[],'bodySchema':a1_0x59f586(0x1e2),'responseHighlights':[a1_0x59f586(0x227),a1_0x59f586(0x21e)],'examples':[a1_0x59f586(0x1f9)],'notes':['CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.'],'markdown':[a1_0x59f586(0x200),'',a1_0x59f586(0x231)][a1_0x59f586(0x20c)]('\x0a')},{'code':a1_0x59f586(0x232),'category':a1_0x59f586(0x202),'title':'Dataset\x20detail','method':a1_0x59f586(0x250),'path':a1_0x59f586(0x211),'summary':a1_0x59f586(0x1f3),'whenToUse':a1_0x59f586(0x1e7),'pathParams':[],'queryParams':[{'name':a1_0x59f586(0x237),'description':a1_0x59f586(0x1e3)}],'bodySchema':a1_0x59f586(0x23f),'responseHighlights':[a1_0x59f586(0x203),a1_0x59f586(0x244),a1_0x59f586(0x24e)],'examples':[a1_0x59f586(0x1ec)],'notes':[a1_0x59f586(0x26a)],'markdown':['##\x20Dataset\x20detail','',a1_0x59f586(0x24f)][a1_0x59f586(0x20c)]('\x0a')},{'code':'dataset_data_filter','category':a1_0x59f586(0x202),'title':'Filter\x20dataset\x20data','method':a1_0x59f586(0x1f1),'path':a1_0x59f586(0x220),'summary':'Filter\x20dataset\x20records','whenToUse':a1_0x59f586(0x233),'pathParams':[{'name':'appCode','description':a1_0x59f586(0x22e)},{'name':a1_0x59f586(0x267),'description':a1_0x59f586(0x1e3)}],'queryParams':[],'bodySchema':a1_0x59f586(0x251),'responseHighlights':[a1_0x59f586(0x205),a1_0x59f586(0x215)],'examples':[a1_0x59f586(0x262),a1_0x59f586(0x22f)],'notes':[a1_0x59f586(0x240),a1_0x59f586(0x263),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x59f586(0x1e6)],'markdown':[a1_0x59f586(0x1e9),'',a1_0x59f586(0x24a)]['join']('\x0a')},{'code':a1_0x59f586(0x228),'category':a1_0x59f586(0x202),'title':a1_0x59f586(0x25e),'method':a1_0x59f586(0x1f1),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x59f586(0x239),'whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x59f586(0x267),'description':a1_0x59f586(0x1e3)}],'queryParams':[],'bodySchema':a1_0x59f586(0x1f5),'responseHighlights':[a1_0x59f586(0x242),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0x59f586(0x204)],'notes':[a1_0x59f586(0x269),a1_0x59f586(0x1f6)],'markdown':[a1_0x59f586(0x23a),'','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x59f586(0x20c)]('\x0a')},{'code':a1_0x59f586(0x265),'category':a1_0x59f586(0x202),'title':a1_0x59f586(0x249),'method':'POST','path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x59f586(0x249),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x59f586(0x22e)},{'name':a1_0x59f586(0x267),'description':a1_0x59f586(0x1e3)}],'queryParams':[],'bodySchema':a1_0x59f586(0x245),'responseHighlights':[a1_0x59f586(0x230)],'examples':[a1_0x59f586(0x260)],'notes':[a1_0x59f586(0x219)],'markdown':a1_0x59f586(0x254)},{'code':'dataset_data_create','category':'dataset','title':a1_0x59f586(0x253),'method':'POST','path':a1_0x59f586(0x214),'summary':a1_0x59f586(0x229),'whenToUse':a1_0x59f586(0x1fb),'pathParams':[{'name':a1_0x59f586(0x24c),'description':a1_0x59f586(0x22e)},{'name':a1_0x59f586(0x267),'description':a1_0x59f586(0x1e3)}],'queryParams':[],'bodySchema':a1_0x59f586(0x21c),'responseHighlights':[a1_0x59f586(0x21b)],'examples':[a1_0x59f586(0x26b)],'notes':[a1_0x59f586(0x268)],'markdown':a1_0x59f586(0x252)},{'code':a1_0x59f586(0x266),'category':'bf','title':a1_0x59f586(0x222),'method':'GET','path':a1_0x59f586(0x1e4),'summary':a1_0x59f586(0x224),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x59f586(0x24c),'description':a1_0x59f586(0x22e)},{'name':a1_0x59f586(0x236),'description':a1_0x59f586(0x24b)}],'queryParams':[],'bodySchema':a1_0x59f586(0x23f),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0x59f586(0x23e)],'notes':[a1_0x59f586(0x261)],'markdown':a1_0x59f586(0x22a)},{'code':a1_0x59f586(0x248),'category':'bf','title':a1_0x59f586(0x1f4),'method':a1_0x59f586(0x1f1),'path':a1_0x59f586(0x1eb),'summary':'Execute\x20a\x20BF\x20endpoint\x20function','whenToUse':a1_0x59f586(0x25a),'pathParams':[{'name':a1_0x59f586(0x24c),'description':'Current\x20app\x20code'},{'name':a1_0x59f586(0x236),'description':a1_0x59f586(0x1f8)}],'queryParams':[],'bodySchema':a1_0x59f586(0x1fd),'responseHighlights':[a1_0x59f586(0x217)],'examples':[a1_0x59f586(0x25f)],'notes':[a1_0x59f586(0x1ee)],'markdown':a1_0x59f586(0x1e5)},{'code':a1_0x59f586(0x241),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x59f586(0x1f1),'path':a1_0x59f586(0x221),'summary':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','whenToUse':a1_0x59f586(0x23b),'pathParams':[{'name':'id','description':a1_0x59f586(0x1ef)}],'queryParams':[{'name':a1_0x59f586(0x24c),'description':a1_0x59f586(0x22e)}],'bodySchema':a1_0x59f586(0x1fd),'responseHighlights':[a1_0x59f586(0x217)],'examples':[a1_0x59f586(0x256)],'notes':[a1_0x59f586(0x238),a1_0x59f586(0x1f2)],'markdown':[a1_0x59f586(0x22b),'',a1_0x59f586(0x1ea)][a1_0x59f586(0x20c)]('\x0a')},{'code':a1_0x59f586(0x218),'category':a1_0x59f586(0x247),'title':'Execute\x20custom\x20SQL','method':a1_0x59f586(0x1f1),'path':a1_0x59f586(0x223),'summary':a1_0x59f586(0x259),'whenToUse':a1_0x59f586(0x23d),'pathParams':[],'queryParams':[],'bodySchema':a1_0x59f586(0x21a),'responseHighlights':[a1_0x59f586(0x257)],'examples':[a1_0x59f586(0x206)],'notes':[a1_0x59f586(0x1fc)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x4d618d){const _0x33ad4b=a1_0x59f586;return{'code':_0x4d618d[_0x33ad4b(0x237)],'category':_0x4d618d[_0x33ad4b(0x22c)],'method':_0x4d618d[_0x33ad4b(0x225)],'path':_0x4d618d[_0x33ad4b(0x25c)],'summary':_0x4d618d[_0x33ad4b(0x216)],'whenToUse':_0x4d618d[_0x33ad4b(0x210)]};}export function listApiDocEntries(_0x4ad981={}){const _0x3e100a=a1_0x59f586,_0x32c60e=String(_0x4ad981[_0x3e100a(0x22c)]||'')[_0x3e100a(0x1ed)](),_0x40d4d6=String(_0x4ad981[_0x3e100a(0x20a)]||'')[_0x3e100a(0x1ed)]()[_0x3e100a(0x235)]();return DOCS[_0x3e100a(0x21f)](_0x3c6aac=>{const _0x121795=_0x3e100a;if(_0x32c60e&&_0x3c6aac[_0x121795(0x22c)]!==_0x32c60e)return![];if(!_0x40d4d6)return!![];return[_0x3c6aac[_0x121795(0x237)],_0x3c6aac['category'],_0x3c6aac[_0x121795(0x225)],_0x3c6aac[_0x121795(0x25c)],_0x3c6aac[_0x121795(0x216)],_0x3c6aac[_0x121795(0x210)],_0x3c6aac[_0x121795(0x22d)]][_0x121795(0x20c)]('\x20')[_0x121795(0x235)]()[_0x121795(0x20e)](_0x40d4d6);})[_0x3e100a(0x255)](entrySummary);}export function getApiDocDetail(_0x259280){const _0x13b84b=a1_0x59f586,_0x5ec7bb=DOCS[_0x13b84b(0x208)](_0x4d006c=>_0x4d006c['code']===_0x259280);if(!_0x5ec7bb)throw CliErrors[_0x13b84b(0x1ff)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x259280);return{..._0x5ec7bb};}const apiDocList={'service':a1_0x59f586(0x20f),'command':a1_0x59f586(0x25b),'description':a1_0x59f586(0x1fe),'risk':a1_0x59f586(0x207),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xf8af2f){const _0x37797a=a1_0x59f586,_0x56fbeb=listApiDocEntries({'category':_0xf8af2f[_0x37797a(0x24d)]('category'),'keyword':_0xf8af2f[_0x37797a(0x24d)](_0x37797a(0x20a))});return{'ok':!![],'data':{'total':_0x56fbeb[_0x37797a(0x212)],'items':_0x56fbeb}};}},apiDocDetail={'service':a1_0x59f586(0x20f),'command':a1_0x59f586(0x21d),'description':a1_0x59f586(0x213),'risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x195772){const _0x4097e1=a1_0x59f586;return{'ok':!![],'data':getApiDocDetail(_0x195772[_0x4097e1(0x24d)]('code'))};}};function a1_0x39ee(){const _0x2c351c=['category','title','Current\x20app\x20code','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','Returns\x20one\x20matching\x20business\x20record','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','dataset_detail','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','toLowerCase','functionName','code','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Aggregate\x20dataset\x20records','##\x20Aggregate\x20dataset\x20data','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','string','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','None','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','personal_bf_execute','result\x20rows\x20contain\x20aggregate\x20aliases','392564DntICA','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','{\x22id\x22:123}','15868950UcDDAw','custom_sql','bf_execute','Get\x20one\x20dataset\x20record','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Exact\x20endpoint\x20function\x20name','appCode','str','operations\x20describes\x20runtime\x20APIs','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','GET','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Create\x20dataset\x20record','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','map','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','Returns\x20SQL\x20execution\x20payload','551904zzSoJo','Execute\x20custom\x20SQL','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','list','path','136494fQpYzv','Aggregate\x20dataset\x20data','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','dataset_data_get_one','bf_detail','datasetCode','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','32-character\x20dataset\x20code','/client/bff/endpoint/{appCode}/{functionName}','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','510tnKjTl','##\x20Filter\x20dataset\x20data','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','/api/endpoint/{appCode}/{functionName}','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','trim','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','1811280vzzrzc','POST','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','Get\x20dataset\x20detail','Execute\x20BF\x20endpoint\x20function','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','287151UxmWoS','Endpoint\x20function\x20name','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','List\x20datasets\x20with\x20pagination','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','{\x22param\x22:\x22value\x22}','List\x20available\x20runtime\x20API\x20documentation\x20entries','validation','##\x20List\x20datasets','14NUyhpW','dataset','fields/properties\x20describe\x20data\x20shape','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','tableData\x20contains\x20records','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','read','find','40ofioqz','keyword','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','join','dataset_list','includes','api-doc','whenToUse','/api/dataset/getOneByCode?code={datasetCode}','length','Show\x20runtime\x20API\x20documentation\x20by\x20code','/api/{appCode}/{datasetCode}/create','paging\x20contains\x20pagination','summary','Returns\x20script\x20business\x20payload','custom_sql_execute','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','{\x22fieldName\x22:\x22value\x22}','detail','paging.totalCount\x20gives\x20total\x20rows','filter','/api/{appCode}/{datasetCode}/filter','/api/runtime-bff/personal/{id}/execute','Get\x20BF\x20endpoint\x20function\x20contract','/api/custom/executeSql','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','method','15358UTjeZm','tableData\x20contains\x20dataset\x20id/code/name','dataset_data_aggregate','Create\x20a\x20dataset\x20record','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','##\x20Execute\x20Personal\x20Backend\x20Function'];a1_0x39ee=function(){return _0x2c351c;};return a1_0x39ee();}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
|
-
(function(
|
|
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_0x1c799c=a10_0x38a5;(function(_0x3a31ca,_0x3df13a){const _0x1786ff=a10_0x38a5,_0x2937a9=_0x3a31ca();while(!![]){try{const _0x17ad03=-parseInt(_0x1786ff(0xd5))/0x1*(-parseInt(_0x1786ff(0xe6))/0x2)+parseInt(_0x1786ff(0xd6))/0x3+-parseInt(_0x1786ff(0xce))/0x4*(parseInt(_0x1786ff(0x101))/0x5)+-parseInt(_0x1786ff(0xf3))/0x6+-parseInt(_0x1786ff(0xd2))/0x7*(parseInt(_0x1786ff(0xe4))/0x8)+-parseInt(_0x1786ff(0xde))/0x9+parseInt(_0x1786ff(0xf9))/0xa;if(_0x17ad03===_0x3df13a)break;else _0x2937a9['push'](_0x2937a9['shift']());}catch(_0x2c8d55){_0x2937a9['push'](_0x2937a9['shift']());}}}(a10_0x43ed,0x4749e));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';function a10_0x43ed(){const _0x347457=['Artifact\x20source\x20file\x20is\x20blank.','Artifact\x20ID','includes','body','2773608DEoOqM','source','40jFcGeN','isArray','flag','List\x20current-app\x20react_module\x20Artifacts','detail','trim','artifactType','build','Preview:\x20create\x20react_module\x20Artifact','Artifact\x20display\x20name','add','isFile','/client/artifact/','844128BMejsm','content','file','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','.\x20Unsupported:\x20','14498210xsAnyy','length','join','startsWith','split','POST','bool','verbose','85vzilOj','create','description','File\x20is\x20not\x20a\x20regular\x20file:\x20','some','validation','AGENT','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','/client/artifact/create','react_module','exec','metadata','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','react_module\x20imports\x20are\x20limited\x20to:\x20','test','str','filter','updateTime','deleted','parse','compiledContent','Optional\x20favorite-state\x20filter','update','artifact','dayjs','react','appCode','86556kAWiJi','@ant-design/icons','string','Invalid\x20JSON\x20for\x20--metadata:\x20','7URKYGE','num','boolean','985PYwgpq','15918nTWllB','createTime','--metadata\x20must\x20be\x20a\x20JSON\x20object.','list','name','favorite','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','map','2948193vTGaoQ','utf8'];a10_0x43ed=function(){return _0x347457;};return a10_0x43ed();}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_0x1c799c(0x10a),ARTIFACT_SOURCE_AGENT=a10_0x1c799c(0x107),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x1c799c(0xcc),'react-dom','lodash',a10_0x1c799c(0xcb),'antd',a10_0x1c799c(0xcf)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x1c799c(0xfb)](',\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_0x1c799c(0xf5),'type':a10_0x1c799c(0xd0),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0x1c799c(0xda),'type':'string','description':a10_0x1c799c(0xef)},METADATA_FLAG={'name':a10_0x1c799c(0xbe),'type':a10_0x1c799c(0xd0),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x32c49d){const _0x1d116e=a10_0x1c799c;return typeof _0x32c49d==='object'&&_0x32c49d!==null&&!Array[_0x1d116e(0xe7)](_0x32c49d);}function readSourceFile(_0x32adab){const _0x14dbeb=a10_0x1c799c;if(!_0x32adab)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x32adab))throw CliErrors[_0x14dbeb(0x106)]('File\x20not\x20found:\x20'+_0x32adab);if(!statSync(_0x32adab)[_0x14dbeb(0xf1)]())throw CliErrors['validation'](_0x14dbeb(0x104)+_0x32adab);const _0x14f7a7=readFileSync(_0x32adab,_0x14dbeb(0xdf));return validateReactModuleSource(_0x14f7a7),_0x14f7a7;}function parseMetadata(_0x1cbfa3){const _0x50e60b=a10_0x1c799c;if(!_0x1cbfa3)return undefined;let _0x2fb5f0;try{_0x2fb5f0=JSON[_0x50e60b(0xc6)](_0x1cbfa3);}catch{throw CliErrors[_0x50e60b(0x106)](_0x50e60b(0xd1)+_0x1cbfa3);}if(!isPlainObject(_0x2fb5f0))throw CliErrors['validation'](_0x50e60b(0xd8));const _0x3bbb4b={..._0x2fb5f0};return delete _0x3bbb4b[_0x50e60b(0xc7)],_0x3bbb4b;}function a10_0x38a5(_0x16fdf6,_0x12892c){_0x16fdf6=_0x16fdf6-0xbd;const _0x43ed1f=a10_0x43ed();let _0x38a51b=_0x43ed1f[_0x16fdf6];return _0x38a51b;}function getPackageName(_0x1ec26c){const _0xf5926b=a10_0x1c799c;if(_0x1ec26c[_0xf5926b(0xfc)]('@')){const [_0x22f394,_0x2d1e28]=_0x1ec26c['split']('/');return _0x22f394&&_0x2d1e28?_0x22f394+'/'+_0x2d1e28:_0x1ec26c;}return _0x1ec26c[_0xf5926b(0xfd)]('/')[0x0]||_0x1ec26c;}function validateAllowedImports(_0x52356f){const _0x5914c4=a10_0x1c799c,_0x2440bc=new Set();for(const _0x1f578c of IMPORT_SOURCE_PATTERNS){_0x1f578c['lastIndex']=0x0;let _0x223c35;while((_0x223c35=_0x1f578c[_0x5914c4(0xbd)](_0x52356f))!==null){const _0x463d77=_0x223c35[0x1]?.[_0x5914c4(0xeb)]();_0x463d77&&_0x2440bc[_0x5914c4(0xf0)](_0x463d77);}}const _0x553dda=[..._0x2440bc]['map'](getPackageName)[_0x5914c4(0xc3)](_0x45bb64=>!ALLOWED_REACT_MODULE_IMPORTS[_0x5914c4(0xe2)](_0x45bb64));if(_0x553dda[_0x5914c4(0xfa)]>0x0)throw CliErrors[_0x5914c4(0x106)](_0x5914c4(0xc0)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x5914c4(0xf8)+[...new Set(_0x553dda)][_0x5914c4(0xfb)](',\x20'));}export function validateReactModuleSource(_0x1eda59){const _0x1ba9b1=a10_0x1c799c;if(!_0x1eda59[_0x1ba9b1(0xeb)]())throw CliErrors[_0x1ba9b1(0x106)](_0x1ba9b1(0xe0));if(PAGE_LEVEL_PATTERNS[_0x1ba9b1(0x105)](_0x498adf=>_0x498adf[_0x1ba9b1(0xc1)](_0x1eda59)))throw CliErrors[_0x1ba9b1(0x106)](_0x1ba9b1(0x108));validateAllowedImports(_0x1eda59);}function buildArtifactInput(_0x5f3994){const _0x483c0b=a10_0x1c799c,_0x3a0857=readSourceFile(_0x5f3994[_0x483c0b(0xc2)](_0x483c0b(0xf5))),_0xf5d8dd=_0x5f3994['str'](_0x483c0b(0xda))[_0x483c0b(0xeb)](),_0x400246=parseMetadata(_0x5f3994[_0x483c0b(0xc2)](_0x483c0b(0xbe)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0xf5d8dd?{'name':_0xf5d8dd}:{},'content':_0x3a0857,..._0x400246?{'metadata':_0x400246}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x46435a){const _0x4c15cb=a10_0x1c799c;return{'id':_0x46435a['id'],'name':_0x46435a[_0x4c15cb(0xda)],'artifactType':_0x46435a[_0x4c15cb(0xec)],'source':_0x46435a[_0x4c15cb(0xe5)],'favorite':_0x46435a[_0x4c15cb(0xdb)],'deleted':_0x46435a[_0x4c15cb(0xc5)],'createTime':_0x46435a[_0x4c15cb(0xd7)],'updateTime':_0x46435a['updateTime']};}function detailArtifact(_0x15b397){const _0x3d7531=a10_0x1c799c;return{'id':_0x15b397['id'],'appCode':_0x15b397['appCode'],'name':_0x15b397['name'],'artifactType':_0x15b397[_0x3d7531(0xec)],'source':_0x15b397['source'],'favorite':_0x15b397[_0x3d7531(0xdb)],'deleted':_0x15b397[_0x3d7531(0xc5)],'content':_0x15b397[_0x3d7531(0xf4)]??'','compiledContent':_0x15b397[_0x3d7531(0xc7)],'metadata':_0x15b397['metadata']??{},'createTime':_0x15b397['createTime'],'updateTime':_0x15b397[_0x3d7531(0xc4)]};}function readFavoriteFlag(_0x3e1ad2){const _0xace610=a10_0x1c799c,_0x3443f0=_0x3e1ad2[_0xace610(0xe8)](_0xace610(0xdb));return _0x3443f0===undefined||_0x3443f0===null||_0x3443f0===''?undefined:_0x3e1ad2[_0xace610(0xff)](_0xace610(0xdb));}const artifactList={'service':a10_0x1c799c(0xca),'command':a10_0x1c799c(0xd9),'description':a10_0x1c799c(0xe9),'risk':a10_0x1c799c(0xf7),'flags':[{'name':a10_0x1c799c(0xe5),'type':a10_0x1c799c(0xd0),'description':a10_0x1c799c(0xf6)},{'name':a10_0x1c799c(0xdb),'type':a10_0x1c799c(0xd4),'description':a10_0x1c799c(0xc8)},VERBOSE_FLAG],async 'execute'(_0x17909c){const _0x15fe4d=a10_0x1c799c,_0x48d871=await listRuntimeArtifacts(_0x17909c[_0x15fe4d(0xcd)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x17909c['str']('source')?{'source':_0x17909c[_0x15fe4d(0xc2)](_0x15fe4d(0xe5))}:{},...readFavoriteFlag(_0x17909c)!==undefined?{'favorite':readFavoriteFlag(_0x17909c)}:{}});return{'ok':!![],'data':{'total':_0x48d871['length'],'items':_0x17909c[_0x15fe4d(0xff)](_0x15fe4d(0x100))?_0x48d871:_0x48d871[_0x15fe4d(0xdd)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x1c799c(0xca),'command':a10_0x1c799c(0xea),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':a10_0x1c799c(0xf7),'flags':[{...ID_FLAG,'description':a10_0x1c799c(0xe1)}],async 'execute'(_0x147727){const _0x10a8c5=a10_0x1c799c,_0x1c024d=await getRuntimeArtifact(_0x147727[_0x10a8c5(0xd3)]('id'),_0x147727[_0x10a8c5(0xcd)]);return{'ok':!![],'data':detailArtifact(_0x1c024d)};}},artifactCreate={'service':a10_0x1c799c(0xca),'command':a10_0x1c799c(0x102),'description':a10_0x1c799c(0xdc),'risk':'read','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x26c92e){const _0x7a0d9d=a10_0x1c799c,_0x5c3603=buildArtifactInput(_0x26c92e),_0x2f1cf3=await createRuntimeArtifact(_0x26c92e[_0x7a0d9d(0xcd)],_0x5c3603);return{'ok':!![],'data':detailArtifact(_0x2f1cf3),'message':'Created\x20Artifact\x20'+_0x2f1cf3['id']+(_0x2f1cf3[_0x7a0d9d(0xda)]?'\x20('+_0x2f1cf3[_0x7a0d9d(0xda)]+')':'')};},async 'dryRun'(_0x4f5665){const _0x32f654=a10_0x1c799c,_0x24134c=buildArtifactInput(_0x4f5665);return dryRun(_0x32f654(0xfe),_0x32f654(0x109))[_0x32f654(0xe3)]({'appCode':_0x4f5665[_0x32f654(0xcd)],..._0x24134c})[_0x32f654(0x103)](_0x32f654(0xee))[_0x32f654(0xed)]();}},artifactUpdate={'service':a10_0x1c799c(0xca),'command':a10_0x1c799c(0xc9),'description':a10_0x1c799c(0xbf),'risk':a10_0x1c799c(0xf7),'flags':[{...ID_FLAG,'description':a10_0x1c799c(0xe1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x8b5ac6){const _0x3ac2f5=a10_0x1c799c,_0x368837=_0x8b5ac6['num']('id'),_0x1caf7c=buildArtifactInput(_0x8b5ac6),_0x1b7784=await updateRuntimeArtifact(_0x368837,_0x8b5ac6[_0x3ac2f5(0xcd)],_0x1caf7c);return{'ok':!![],'data':detailArtifact(_0x1b7784),'message':'Updated\x20Artifact\x20'+_0x1b7784['id']+(_0x1b7784[_0x3ac2f5(0xda)]?'\x20('+_0x1b7784[_0x3ac2f5(0xda)]+')':'')};},async 'dryRun'(_0x3a1494){const _0x111ff0=a10_0x1c799c,_0x5d53c1=_0x3a1494[_0x111ff0(0xd3)]('id'),_0x493251=buildArtifactInput(_0x3a1494);return dryRun('POST',_0x111ff0(0xf2)+_0x5d53c1+'/update')[_0x111ff0(0xe3)]({'appCode':_0x3a1494['appCode'],..._0x493251})['description']('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x5d53c1)[_0x111ff0(0xed)]();}};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_0x3b1416=a11_0x21ec;(function(_0x1f7662,_0x4ed9d1){const _0x17ffd2=a11_0x21ec,_0x3c4c6e=_0x1f7662();while(!![]){try{const _0x87c5c7=parseInt(_0x17ffd2(0x165))/0x1+parseInt(_0x17ffd2(0x146))/0x2+-parseInt(_0x17ffd2(0x173))/0x3*(parseInt(_0x17ffd2(0x161))/0x4)+-parseInt(_0x17ffd2(0x189))/0x5+parseInt(_0x17ffd2(0x191))/0x6+parseInt(_0x17ffd2(0x15e))/0x7+parseInt(_0x17ffd2(0x18f))/0x8*(parseInt(_0x17ffd2(0x190))/0x9);if(_0x87c5c7===_0x4ed9d1)break;else _0x3c4c6e['push'](_0x3c4c6e['shift']());}catch(_0x444172){_0x3c4c6e['push'](_0x3c4c6e['shift']());}}}(a11_0x3629,0xe92b4));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';function a11_0x21ec(_0x28e19f,_0x273b94){_0x28e19f=_0x28e19f-0x146;const _0x3629b5=a11_0x3629();let _0x21ecf7=_0x3629b5[_0x28e19f];return _0x21ecf7;}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(_0x433a7a){const _0x624bdf=a11_0x21ec;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x433a7a[_0x624bdf(0x17c)]('global'),'explicitProject':_0x433a7a[_0x624bdf(0x17c)]('project'),'policy':_0x624bdf(0x14e)}));}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 _0x3d7921=a11_0x21ec;return crypto[_0x3d7921(0x14c)]();}export function buildDeviceAuthUrl(_0x5b6efb,_0x4a035b,_0x3bcb60='lovrabet-cli'){const _0x19f76f=a11_0x21ec;return _0x5b6efb+_0x19f76f(0x186)+encodeURIComponent(_0x4a035b)+'&source='+encodeURIComponent(_0x3bcb60);}export function getDeviceCodePath(){const _0x50675a=a11_0x21ec;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x50675a(0x181);}export function readStoredDeviceCode(){const _0x13197f=a11_0x21ec,_0x5d6a2f=getDeviceCodePath();if(!existsSync(_0x5d6a2f))return null;try{const _0x2c781f=readFileSync(_0x5d6a2f,{'encoding':'utf8'}),_0x5ebfd3=JSON[_0x13197f(0x168)](_0x2c781f);if(_0x5ebfd3&&typeof _0x5ebfd3[_0x13197f(0x166)]==='string'&&typeof _0x5ebfd3[_0x13197f(0x17f)]==='string'&&(_0x5ebfd3['scope']===_0x13197f(0x172)||_0x5ebfd3[_0x13197f(0x152)]==='project'))return _0x5ebfd3;}catch{}return null;}export function writeStoredDeviceCode(_0x306108,_0x1755ac){const _0x9977b5=a11_0x21ec,_0x2f3bc6=getDeviceCodePath(),_0x522529=dirname(_0x2f3bc6);!existsSync(_0x522529)&&mkdirSync(_0x522529,{'recursive':!![]});const _0x36d320={'code':_0x306108,'createdAt':new Date()[_0x9977b5(0x179)](),'scope':_0x1755ac};writeFileSync(_0x2f3bc6,JSON['stringify'](_0x36d320),{'encoding':_0x9977b5(0x171),'mode':0x180});}export function deleteStoredDeviceCode(){const _0xe7e9bd=getDeviceCodePath();try{unlinkSync(_0xe7e9bd);}catch{}}function a11_0x3629(){const _0x5e8da7=['scope','lovrabet-cli','url-only','SIGINT','\x20auth\x20status','source','Invalid\x20access_key\x20returned\x20by\x20server.','Device\x20auth\x20API\x20returned\x20HTTP\x20','cancelled','floor','removeListener','str','4669686wwfwKC','Verify:\x20','accessKey','4FwUxmY','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20authorization\x20cancelled.','device','1434919tnetoA','code','\x20auth\x20device','parse','validation','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','once','Invalid\x20device\x20auth\x20response','abort','stderr','apiError','string','utf8','global','5319717vvkzrI','auth','test','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','nonInteractive','toISOString','Write\x20to\x20project\x20config','/api/device-auth/token','bool','write','POST','createdAt','aborted','/.device-auth','now','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','stringify','status','/device-auth?code=','networkError','\x0dWaiting\x20for\x20authorization...\x20','5254235iyvVBu','Device\x20authorization\x20successful.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','data','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','\x20remaining','24HCQeAu','774369TZcHDn','8362068muQwMa','After\x20authorizing,\x20re-run:\x20','signal','50656WZuSoQ','AccessKey\x20saved\x20to\x20','\x20config.','name','boolean','json','randomUUID','success','global-default','project','log','access_key'];a11_0x3629=function(){return _0x5e8da7;};return a11_0x3629();}export function isStoredDeviceCodeExpired(_0x4b2300){const _0x11b795=a11_0x21ec;return Date[_0x11b795(0x182)]()-new Date(_0x4b2300[_0x11b795(0x17f)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x19df35,_0x1c1657){const _0x4b816f=a11_0x21ec,_0x34b600=_0x19df35+_0x4b816f(0x17b),_0x2de8d0=new AbortController(),_0x49caf2=setTimeout(()=>_0x2de8d0[_0x4b816f(0x16d)](),0x2710),_0x28592f=await fetch(_0x34b600,{'method':_0x4b816f(0x17e),'headers':{'Content-Type':'application/json'},'body':JSON[_0x4b816f(0x184)]({'code':_0x1c1657}),'signal':_0x2de8d0[_0x4b816f(0x193)]});clearTimeout(_0x49caf2);if(!_0x28592f['ok'])throw CliErrors[_0x4b816f(0x187)](_0x4b816f(0x159)+_0x28592f[_0x4b816f(0x185)]);const _0x1d0dd0=await _0x28592f[_0x4b816f(0x14b)](),_0x3ada3b=_0x1d0dd0[_0x4b816f(0x18c)]&&typeof _0x1d0dd0['data']==='object'?_0x1d0dd0[_0x4b816f(0x18c)]:_0x1d0dd0;if(!_0x3ada3b||typeof _0x3ada3b[_0x4b816f(0x185)]!==_0x4b816f(0x170))throw CliErrors[_0x4b816f(0x16f)](_0x4b816f(0x16c));return{'status':_0x3ada3b[_0x4b816f(0x185)],'access_key':typeof _0x3ada3b[_0x4b816f(0x151)]===_0x4b816f(0x170)?_0x3ada3b[_0x4b816f(0x151)]:undefined};}export async function pollDeviceToken(_0xc5f158,_0x426e38,_0x1ab395){const _0x2c3494=a11_0x21ec;let _0x24b105=0x0;for(let _0x5adf69=0x0;_0x5adf69<MAX_POLLS;_0x5adf69++){if(_0x1ab395[_0x2c3494(0x180)])throw CliErrors[_0x2c3494(0x15a)]('Device\x20authorization\x20cancelled.');let _0x2a43cc;try{_0x2a43cc=await fetchDeviceToken(_0xc5f158,_0x426e38);}catch(_0x2534eb){if(_0x2534eb instanceof Error&&_0x2534eb[_0x2c3494(0x149)]==='AbortError')throw CliErrors[_0x2c3494(0x15a)](_0x2c3494(0x163));_0x24b105++;if(_0x24b105>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError']('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x24b105+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x24b105=0x0;if(_0x2a43cc[_0x2c3494(0x185)]===_0x2c3494(0x14d)){if(!_0x2a43cc[_0x2c3494(0x151)])throw CliErrors[_0x2c3494(0x16f)](_0x2c3494(0x158));return _0x2a43cc[_0x2c3494(0x151)];}if(_0x2a43cc[_0x2c3494(0x185)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x2c3494(0x169)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x1e30b5=(_0x5adf69+0x1)*POLL_INTERVAL_MS,_0x1b9f54=DEVICE_CODE_TTL_MS-_0x1e30b5,_0x4e8cc4=Math[_0x2c3494(0x15b)](_0x1b9f54/0xea60),_0x409351=Math['floor'](_0x1b9f54%0xea60/0x3e8);process['stderr']['write'](_0x2c3494(0x188)+_0x4e8cc4+':'+String(_0x409351)['padStart'](0x2,'0')+_0x2c3494(0x18e)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x2c3494(0x176));}function sleep(_0x2f0d25){return new Promise(_0x195980=>setTimeout(_0x195980,_0x2f0d25));}export const authDeviceDefinition={'service':a11_0x3b1416(0x174),'command':a11_0x3b1416(0x164),'description':a11_0x3b1416(0x18d),'risk':a11_0x3b1416(0x17d),'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':'global','type':a11_0x3b1416(0x14a),'description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a11_0x3b1416(0x14f),'type':a11_0x3b1416(0x14a),'description':a11_0x3b1416(0x17a),'default':![]},{'name':a11_0x3b1416(0x157),'type':a11_0x3b1416(0x170),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x3b1416(0x153)},{'name':a11_0x3b1416(0x154),'type':'boolean','description':a11_0x3b1416(0x16a),'default':![]}],async 'execute'(_0xbbb3fd){const _0x494a51=a11_0x3b1416,_0xe60088=resolveAuthScopeFlags(_0xbbb3fd),_0x4ddd2b=_0xe60088['global']?_0x494a51(0x172):_0x494a51(0x14f),_0x429bad=readScopedConfig(_0xe60088);if(_0x429bad['accessKey'])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x33030b=(_0xbbb3fd[_0x494a51(0x15d)](_0x494a51(0x157))||_0x494a51(0x153))['trim'](),_0xbdd84d=getUserDomain(),_0x482e52=readStoredDeviceCode(),_0x627ef=_0x482e52&&!isStoredDeviceCodeExpired(_0x482e52)?_0x482e52[_0x494a51(0x166)]:((()=>{const _0x2b594b=generateDeviceCode();return writeStoredDeviceCode(_0x2b594b,_0x4ddd2b),_0x2b594b;})()),_0x58b02c=buildDeviceAuthUrl(_0xbdd84d,_0x627ef,_0x33030b);if(_0xbbb3fd[_0x494a51(0x17c)](_0x494a51(0x154)))return console[_0x494a51(0x150)](_0x58b02c),{'ok':!![]};writeCliSideChannelLine(_0x494a51(0x18b)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x58b02c),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x494a51(0x162));if(_0xbbb3fd[_0x494a51(0x178)])return writeCliSideChannelLine(_0x494a51(0x192)+CLI_BIN_NAME+_0x494a51(0x167)),{'ok':!![],'message':_0x494a51(0x183)};writeCliSideChannelLine(_0x494a51(0x177));const _0x538e30=new AbortController(),_0x1dbd96=()=>{const _0x1bc4f9=_0x494a51;_0x538e30[_0x1bc4f9(0x16d)](),process[_0x1bc4f9(0x15c)]('SIGINT',_0x1dbd96);};process[_0x494a51(0x16b)](_0x494a51(0x155),_0x1dbd96);let _0x120520;try{_0x120520=await pollDeviceToken(_0xbdd84d,_0x627ef,_0x538e30[_0x494a51(0x193)]);}finally{process[_0x494a51(0x15c)](_0x494a51(0x155),_0x1dbd96);}if(!ACCESS_KEY_PATTERN[_0x494a51(0x175)](_0x120520))throw CliErrors[_0x494a51(0x16f)](_0x494a51(0x158));const _0x1c30a4=readScopedConfig(_0xe60088);return _0x1c30a4[_0x494a51(0x160)]=_0x120520,writeScopedConfig(_0x1c30a4,_0xe60088),deleteStoredDeviceCode(),process[_0x494a51(0x16e)]['write']('\x0a'),writeCliSideChannelLine(_0x494a51(0x147)+_0x4ddd2b+_0x494a51(0x148)),writeCliSideChannelLine(_0x494a51(0x15f)+CLI_BIN_NAME+_0x494a51(0x156)),{'ok':!![],'message':_0x494a51(0x18a)};}};
|
|
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)};}};
|