@lovrabet/lovrabet-cli 2.3.2-beta.3 → 2.3.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/approval/index.d.ts +15 -0
- package/lib/commands/approval/index.js +1 -0
- 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.d.ts +83 -0
- 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/positive-safe-integer.d.ts +5 -0
- package/lib/utils/positive-safe-integer.js +1 -0
- package/lib/utils/redaction.d.ts +17 -0
- package/lib/utils/redaction.js +1 -0
- 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 +3 -2
- package/skills/lovrabet/references/lovrabet-approval-workflow.md +73 -0
- package/skills/lovrabet.manifest.json +4 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function
|
|
2
|
+
const a0_0x456a8b=a0_0x5312;function a0_0x5312(_0x53be43,_0x273b33){_0x53be43=_0x53be43-0x1e8;const _0x3ce950=a0_0x3ce9();let _0x53122c=_0x3ce950[_0x53be43];return _0x53122c;}(function(_0x23950c,_0xdea4c2){const _0x3e8f71=a0_0x5312,_0x35cc33=_0x23950c();while(!![]){try{const _0xec7631=-parseInt(_0x3e8f71(0x1f4))/0x1+-parseInt(_0x3e8f71(0x1ed))/0x2*(-parseInt(_0x3e8f71(0x205))/0x3)+parseInt(_0x3e8f71(0x210))/0x4*(-parseInt(_0x3e8f71(0x204))/0x5)+parseInt(_0x3e8f71(0x214))/0x6+parseInt(_0x3e8f71(0x20c))/0x7*(-parseInt(_0x3e8f71(0x1f0))/0x8)+parseInt(_0x3e8f71(0x207))/0x9*(-parseInt(_0x3e8f71(0x1fc))/0xa)+parseInt(_0x3e8f71(0x20b))/0xb*(parseInt(_0x3e8f71(0x1f9))/0xc);if(_0xec7631===_0xdea4c2)break;else _0x35cc33['push'](_0x35cc33['shift']());}catch(_0x251772){_0x35cc33['push'](_0x35cc33['shift']());}}}(a0_0x3ce9,0x4cbbc));import{jsx as a0_0x135c8a}from'react/jsx-runtime';import a0_0x21b781 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';function a0_0x3ce9(){const _0x2c5e14=['length','ERR_USE_AFTER_CLOSE','assign','doctor','ExitPromptError','32tHQjPz','help','hint','2688XSvGOM','handler','Error:\x20','defaultCommand','242758RaRKer','config','unknownCommand','./framework/preparse.js','exit','878028qmMSqz','\x20->\x20--','message','488570eKptYV','definition','corrected','args','flags','Hint:\x20',':\x20--','Unexpected\x20error:','25kqfZQT','11706eWNzXn','original','9SERZQs','input','validation','code','121WdcimA','791wIEuPE','\x0aCancelled.\x0a','write','error','484988CHNuYQ','ERR_STREAM_DESTROYED','exitCode','log','2296962ChRFCt','slice','stderr','catch'];a0_0x3ce9=function(){return _0x2c5e14;};return a0_0x3ce9();}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_0x21b781(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x456a8b(0x217)](handleError);async function main(){try{await run();}catch(_0x57772c){handleError(_0x57772c);}}async function run(){const _0x395df3=a0_0x456a8b;let _0x1e8b6d=cli[_0x395df3(0x208)][0x0],_0x244997=cli[_0x395df3(0x208)][0x1];const _0x344428=cli['flags'];try{const {correctFlags:_0x12f589}=await import(_0x395df3(0x1f7)),_0x47ae8a=getAllDefinitions()['flatMap'](_0x4be58f=>_0x4be58f[_0x395df3(0x200)]??[]),{flags:_0x2446fb,corrections:_0x49c41c}=_0x12f589(_0x344428,_0x47ae8a);if(_0x49c41c[_0x395df3(0x1e8)]>0x0){for(const _0x2079bd of _0x49c41c){process[_0x395df3(0x216)][_0x395df3(0x20e)]('[preparse]\x20'+_0x2079bd[_0x395df3(0x1f1)]+_0x395df3(0x202)+_0x2079bd[_0x395df3(0x206)]+_0x395df3(0x1fa)+_0x2079bd[_0x395df3(0x1fe)]+'\x0a');}Object[_0x395df3(0x1ea)](_0x344428,_0x2446fb);}}catch{}if(!_0x1e8b6d){const {waitUntilExit:_0x1f03a4}=render(a0_0x135c8a(Help,{}));await _0x1f03a4();return;}const _0x1e7a24=resolveRemovedCommand(_0x1e8b6d,_0x244997);if(_0x1e7a24)throw CliErrors[_0x395df3(0x209)](_0x1e7a24[_0x395df3(0x1fb)],_0x1e7a24[_0x395df3(0x1ef)]);if(!isKnownService(_0x1e8b6d)){const _0x4b3f62=resolveDynamicServiceCommand(cli['input'],_0x344428);if(_0x4b3f62){if(_0x344428[_0x395df3(0x1ee)]){console[_0x395df3(0x213)](generateCommandHelp(_0x4b3f62[_0x395df3(0x1fd)]));return;}Object[_0x395df3(0x1ea)](_0x344428,_0x4b3f62[_0x395df3(0x200)]);const _0x298a35=buildConfigFromFlags(_0x344428);await initGlobalEnvironment(_0x298a35);const _0x53905e=createPipelineEnv(_0x298a35,_0x344428);_0x53905e[_0x395df3(0x1ff)]=_0x4b3f62[_0x395df3(0x1ff)],await runCommand(_0x4b3f62[_0x395df3(0x1fd)],_0x53905e);return;}if(_0x344428[_0x395df3(0x1ee)]){const _0x5270da=generateDynamicServiceHelp(_0x1e8b6d);if(_0x5270da){console['log'](_0x5270da);return;}}const {waitUntilExit:_0x3127e3}=render(a0_0x135c8a(Help,{}));await _0x3127e3();return;}const _0x2812ab=getServiceEntry(_0x1e8b6d);if(!_0x244997){if(_0x344428['help']){console[_0x395df3(0x213)](generateServiceHelp(_0x1e8b6d));return;}if(_0x2812ab['defaultCommand'])_0x244997=_0x2812ab[_0x395df3(0x1f3)];else{console[_0x395df3(0x213)](generateServiceHelp(_0x1e8b6d));return;}}const _0x127c32=findDefinition(_0x1e8b6d,_0x244997);!_0x127c32&&(console[_0x395df3(0x213)](generateServiceHelp(_0x1e8b6d)),handleError(CliErrors[_0x395df3(0x1f6)](_0x1e8b6d+'\x20'+_0x244997)));if(_0x344428[_0x395df3(0x1ee)]){console[_0x395df3(0x213)](generateCommandHelp(_0x127c32));return;}const _0x4b3964=buildConfigFromFlags(_0x344428);_0x1e8b6d!==_0x395df3(0x1f5)&&_0x1e8b6d!==_0x395df3(0x1eb)&&await initGlobalEnvironment(_0x4b3964);const _0x3944f5=createPipelineEnv(_0x4b3964,_0x344428);_0x3944f5['args']=cli['input'][_0x395df3(0x215)](0x2),await runCommand(_0x127c32,_0x3944f5);}function handleError(_0x190a07){const _0x288838=a0_0x456a8b;if(_0x190a07 instanceof CliError){_0x190a07[_0x288838(0x20a)]==='cancelled'&&(process[_0x288838(0x216)]['write'](_0x288838(0x20d)),process[_0x288838(0x1f8)](0x0));console['error'](_0x288838(0x1f2)+_0x190a07[_0x288838(0x1fb)]);if(_0x190a07['hint'])console[_0x288838(0x20f)](_0x288838(0x201)+_0x190a07['hint']);process[_0x288838(0x1f8)](_0x190a07[_0x288838(0x212)]);}isUserCancellation(_0x190a07)&&(process[_0x288838(0x216)][_0x288838(0x20e)](_0x288838(0x20d)),process['exit'](0x0)),console[_0x288838(0x20f)](_0x288838(0x203),_0x190a07),process['exit'](0x1);}function isUserCancellation(_0x2ee02e){const _0xa899b9=a0_0x456a8b;if(!(_0x2ee02e instanceof Error))return![];if(_0x2ee02e['name']===_0xa899b9(0x1ec))return!![];if(_0x2ee02e[_0xa899b9(0x20a)]===_0xa899b9(0x1e9))return!![];if(_0x2ee02e[_0xa899b9(0x20a)]===_0xa899b9(0x211))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_0x230183=a1_0x5dbe;(function(_0x2bed61,_0x1a0d82){const _0x57014f=a1_0x5dbe,_0x59f602=_0x2bed61();while(!![]){try{const _0x5532b0=parseInt(_0x57014f(0xc8))/0x1*(parseInt(_0x57014f(0xc9))/0x2)+-parseInt(_0x57014f(0xe8))/0x3*(parseInt(_0x57014f(0x148))/0x4)+-parseInt(_0x57014f(0xd0))/0x5*(parseInt(_0x57014f(0xd6))/0x6)+-parseInt(_0x57014f(0x111))/0x7*(-parseInt(_0x57014f(0x136))/0x8)+-parseInt(_0x57014f(0xcd))/0x9*(-parseInt(_0x57014f(0x13c))/0xa)+parseInt(_0x57014f(0x126))/0xb*(-parseInt(_0x57014f(0xc6))/0xc)+-parseInt(_0x57014f(0xe9))/0xd;if(_0x5532b0===_0x1a0d82)break;else _0x59f602['push'](_0x59f602['shift']());}catch(_0x1da62a){_0x59f602['push'](_0x59f602['shift']());}}}(a1_0x42c2,0xbbd04));function a1_0x5dbe(_0x41727b,_0x43f78a){_0x41727b=_0x41727b-0xc2;const _0x42c20c=a1_0x42c2();let _0x5dbee6=_0x42c20c[_0x41727b];return _0x5dbee6;}function a1_0x42c2(){const _0x38585d=['3912IzaIYj','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','1QoLZkJ','2259766mhgKUT','/api/dataset/get-dataset-list-by-app-code','List\x20datasets\x20with\x20pagination','/api/dataset/getOneByCode?code={datasetCode}','4456206lefxFR','trim','validation','120ksGPyw','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','map','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','195150UEmNRo','includes','join','find','POST','category','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','datasetCode','/api/{appCode}/{datasetCode}/create','/api/{appCode}/{datasetCode}/filter','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','toLowerCase','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','/api/custom/executeSql','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','##\x20List\x20datasets','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','402YYAksT','6626542TrjHOl','Filter\x20dataset\x20records','dataset_data_aggregate','result\x20rows\x20contain\x20aggregate\x20aliases','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Get\x20dataset\x20detail','string','{\x22id\x22:123}','/api/endpoint/{appCode}/{functionName}','bf_execute','fields/properties\x20describe\x20data\x20shape','dataset_detail','Execute\x20a\x20BF\x20endpoint\x20function','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Show\x20runtime\x20API\x20documentation\x20by\x20code','Aggregate\x20dataset\x20records','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','Get\x20one\x20dataset\x20record','##\x20Execute\x20Personal\x20Backend\x20Function','List\x20available\x20runtime\x20API\x20documentation\x20entries','Returns\x20script\x20business\x20payload','custom_sql','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','dataset_data_get_one','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','32-character\x20dataset\x20code','List\x20datasets','Execute\x20Personal\x20Backend\x20Function','dataset_data_filter','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','dataset_list','str','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Execute\x20BF\x20endpoint\x20function','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','None','code','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','title','154511TDZuhd','appCode','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','bf_detail','/client/bff/endpoint/{appCode}/{functionName}','personal_bf_execute','summary','method','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Aggregate\x20dataset\x20data','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','Current\x20app\x20code','GET','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','{\x22fieldName\x22:\x22value\x22}','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','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','17908kMtZdr','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Aggregate\x20dataset\x20data','Filter\x20dataset\x20data','api-doc','operations\x20describes\x20runtime\x20APIs','Endpoint\x20function\x20name','path','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','408lZYaqS','whenToUse','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','dataset','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','where\x20filters\x20before\x20aggregation','20rrVQVy','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','tableData\x20contains\x20records','keyword','{\x22param\x22:\x22value\x22}','Get\x20BF\x20endpoint\x20function\x20contract','read','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','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','tableData\x20contains\x20dataset\x20id/code/name','paging.totalCount\x20gives\x20total\x20rows','functionName','19568QfnliU','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','dataset_data_create','Exact\x20endpoint\x20function\x20name','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','Execute\x20custom\x20SQL'];a1_0x42c2=function(){return _0x38585d;};return a1_0x42c2();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x230183(0xdb),'type':a1_0x230183(0xef),'description':a1_0x230183(0xd1)},KEYWORD_FLAG={'name':a1_0x230183(0x13f),'type':a1_0x230183(0xef),'description':a1_0x230183(0x10c)},DOC_CODE_FLAG={'name':a1_0x230183(0x10e),'type':a1_0x230183(0xef),'required':!![],'description':a1_0x230183(0x135)},DOCS=[{'code':a1_0x230183(0x107),'category':a1_0x230183(0x139),'title':a1_0x230183(0x103),'method':a1_0x230183(0xda),'path':a1_0x230183(0xca),'summary':a1_0x230183(0xcb),'whenToUse':a1_0x230183(0x101),'pathParams':[],'queryParams':[],'bodySchema':a1_0x230183(0x149),'responseHighlights':[a1_0x230183(0x145),a1_0x230183(0x146)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x230183(0xd3)],'markdown':[a1_0x230183(0xe5),'',a1_0x230183(0x13d)][a1_0x230183(0xd8)]('\x0a')},{'code':a1_0x230183(0xf4),'category':a1_0x230183(0x139),'title':'Dataset\x20detail','method':'GET','path':a1_0x230183(0xcc),'summary':a1_0x230183(0xee),'whenToUse':a1_0x230183(0xc4),'pathParams':[],'queryParams':[{'name':a1_0x230183(0x10e),'description':'32-character\x20dataset\x20code'}],'bodySchema':'None','responseHighlights':[a1_0x230183(0xf3),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned',a1_0x230183(0x12c)],'examples':[a1_0x230183(0x13a)],'notes':[a1_0x230183(0xc7)],'markdown':['##\x20Dataset\x20detail','',a1_0x230183(0x138)][a1_0x230183(0xd8)]('\x0a')},{'code':a1_0x230183(0x105),'category':a1_0x230183(0x139),'title':a1_0x230183(0x12a),'method':'POST','path':a1_0x230183(0xdf),'summary':a1_0x230183(0xea),'whenToUse':a1_0x230183(0x132),'pathParams':[{'name':'appCode','description':a1_0x230183(0x11e)},{'name':a1_0x230183(0xdd),'description':a1_0x230183(0x102)}],'queryParams':[],'bodySchema':a1_0x230183(0x121),'responseHighlights':[a1_0x230183(0x13e),'paging\x20contains\x20pagination'],'examples':[a1_0x230183(0xdc),a1_0x230183(0xf9)],'notes':[a1_0x230183(0x131),a1_0x230183(0xe0),a1_0x230183(0x124),a1_0x230183(0x122)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x230183(0xd8)]('\x0a')},{'code':a1_0x230183(0xeb),'category':a1_0x230183(0x139),'title':a1_0x230183(0x129),'method':a1_0x230183(0xda),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x230183(0xf8),'whenToUse':a1_0x230183(0xed),'pathParams':[{'name':a1_0x230183(0x112),'description':a1_0x230183(0x11e)},{'name':a1_0x230183(0xdd),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x230183(0xec),a1_0x230183(0x13b)],'examples':[a1_0x230183(0x125)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0x230183(0x11c),'',a1_0x230183(0x114)][a1_0x230183(0xd8)]('\x0a')},{'code':a1_0x230183(0x100),'category':a1_0x230183(0x139),'title':a1_0x230183(0xfa),'method':a1_0x230183(0xda),'path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x230183(0xfa),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x230183(0x11e)},{'name':a1_0x230183(0xdd),'description':a1_0x230183(0x102)}],'queryParams':[],'bodySchema':a1_0x230183(0xf0),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0x230183(0xd4)],'notes':[a1_0x230183(0x109)],'markdown':a1_0x230183(0xe6)},{'code':a1_0x230183(0xc2),'category':a1_0x230183(0x139),'title':'Create\x20dataset\x20record','method':a1_0x230183(0xda),'path':a1_0x230183(0xde),'summary':'Create\x20a\x20dataset\x20record','whenToUse':'Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','pathParams':[{'name':a1_0x230183(0x112),'description':a1_0x230183(0x11e)},{'name':a1_0x230183(0xdd),'description':a1_0x230183(0x102)}],'queryParams':[],'bodySchema':a1_0x230183(0x123),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x230183(0x11d)],'notes':[a1_0x230183(0x10f)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x230183(0x116),'category':'bf','title':a1_0x230183(0x141),'method':a1_0x230183(0x11f),'path':a1_0x230183(0x117),'summary':a1_0x230183(0x11b),'whenToUse':a1_0x230183(0x133),'pathParams':[{'name':a1_0x230183(0x112),'description':a1_0x230183(0x11e)},{'name':'functionName','description':a1_0x230183(0xc3)}],'queryParams':[],'bodySchema':a1_0x230183(0x10d),'responseHighlights':[a1_0x230183(0xf6)],'examples':[a1_0x230183(0x12f)],'notes':[a1_0x230183(0x143)],'markdown':a1_0x230183(0xd5)},{'code':a1_0x230183(0xf2),'category':'bf','title':a1_0x230183(0x10b),'method':a1_0x230183(0xda),'path':a1_0x230183(0xf1),'summary':a1_0x230183(0xf5),'whenToUse':a1_0x230183(0x127),'pathParams':[{'name':'appCode','description':a1_0x230183(0x11e)},{'name':a1_0x230183(0x147),'description':a1_0x230183(0x12d)}],'queryParams':[],'bodySchema':a1_0x230183(0x140),'responseHighlights':[a1_0x230183(0xfd)],'examples':[a1_0x230183(0x130)],'notes':[a1_0x230183(0xe4)],'markdown':a1_0x230183(0x113)},{'code':a1_0x230183(0x118),'category':'bf','title':a1_0x230183(0x104),'method':a1_0x230183(0xda),'path':'/api/runtime-bff/personal/{id}/execute','summary':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','whenToUse':a1_0x230183(0x144),'pathParams':[{'name':'id','description':a1_0x230183(0x10a)}],'queryParams':[{'name':'appCode','description':a1_0x230183(0x11e)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x230183(0xfd)],'examples':[a1_0x230183(0x106)],'notes':[a1_0x230183(0x115),a1_0x230183(0xe7)],'markdown':[a1_0x230183(0xfb),'',a1_0x230183(0x120)][a1_0x230183(0xd8)]('\x0a')},{'code':'custom_sql_execute','category':a1_0x230183(0xfe),'title':a1_0x230183(0xc5),'method':'POST','path':a1_0x230183(0xe3),'summary':a1_0x230183(0xc5),'whenToUse':a1_0x230183(0x128),'pathParams':[],'queryParams':[],'bodySchema':a1_0x230183(0xe2),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x230183(0xff)],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x230183(0x134)}];function entrySummary(_0x1d03a5){const _0x2dd6ee=a1_0x230183;return{'code':_0x1d03a5[_0x2dd6ee(0x10e)],'category':_0x1d03a5[_0x2dd6ee(0xdb)],'method':_0x1d03a5[_0x2dd6ee(0x11a)],'path':_0x1d03a5[_0x2dd6ee(0x12e)],'summary':_0x1d03a5['summary'],'whenToUse':_0x1d03a5[_0x2dd6ee(0x137)]};}export function listApiDocEntries(_0x49eca8={}){const _0x492d83=a1_0x230183,_0x4dba88=String(_0x49eca8['category']||'')[_0x492d83(0xce)](),_0xf2b611=String(_0x49eca8[_0x492d83(0x13f)]||'')[_0x492d83(0xce)]()[_0x492d83(0xe1)]();return DOCS['filter'](_0x38c60f=>{const _0xcde99f=_0x492d83;if(_0x4dba88&&_0x38c60f[_0xcde99f(0xdb)]!==_0x4dba88)return![];if(!_0xf2b611)return!![];return[_0x38c60f[_0xcde99f(0x10e)],_0x38c60f[_0xcde99f(0xdb)],_0x38c60f[_0xcde99f(0x11a)],_0x38c60f['path'],_0x38c60f[_0xcde99f(0x119)],_0x38c60f[_0xcde99f(0x137)],_0x38c60f[_0xcde99f(0x110)]][_0xcde99f(0xd8)]('\x20')[_0xcde99f(0xe1)]()[_0xcde99f(0xd7)](_0xf2b611);})[_0x492d83(0xd2)](entrySummary);}export function getApiDocDetail(_0x1c71f3){const _0x81dd92=a1_0x230183,_0x884e94=DOCS[_0x81dd92(0xd9)](_0x14588b=>_0x14588b['code']===_0x1c71f3);if(!_0x884e94)throw CliErrors[_0x81dd92(0xcf)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x1c71f3);return{..._0x884e94};}const apiDocList={'service':a1_0x230183(0x12b),'command':'list','description':a1_0x230183(0xfc),'risk':a1_0x230183(0x142),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x186b06){const _0x21995b=a1_0x230183,_0x2a5a5b=listApiDocEntries({'category':_0x186b06[_0x21995b(0x108)](_0x21995b(0xdb)),'keyword':_0x186b06[_0x21995b(0x108)]('keyword')});return{'ok':!![],'data':{'total':_0x2a5a5b['length'],'items':_0x2a5a5b}};}},apiDocDetail={'service':a1_0x230183(0x12b),'command':'detail','description':a1_0x230183(0xf7),'risk':a1_0x230183(0x142),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0xa84991){const _0x1084c9=a1_0x230183;return{'ok':!![],'data':getApiDocDetail(_0xa84991[_0x1084c9(0x108)](_0x1084c9(0x10e)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e6278,_0x154621){const _0x3c148c=a2_0x1152,_0x1f3344=_0x4e6278();while(!![]){try{const _0x40b3a5=parseInt(_0x3c148c(0x8d))/0x1*(-parseInt(_0x3c148c(0x84))/0x2)+-parseInt(_0x3c148c(0x81))/0x3*(-parseInt(_0x3c148c(0x88))/0x4)+-parseInt(_0x3c148c(0x8f))/0x5*(parseInt(_0x3c148c(0x90))/0x6)+parseInt(_0x3c148c(0x94))/0x7*(parseInt(_0x3c148c(0x93))/0x8)+-parseInt(_0x3c148c(0x98))/0x9+-parseInt(_0x3c148c(0x9a))/0xa+parseInt(_0x3c148c(0x9b))/0xb;if(_0x40b3a5===_0x154621)break;else _0x1f3344['push'](_0x1f3344['shift']());}catch(_0x333ccf){_0x1f3344['push'](_0x1f3344['shift']());}}}(a2_0x4c13,0xbeda1));import{createHash}from'node:crypto';function a2_0x4c13(){const _0x55707a=['90429ULhwML','sha256','5vEITuV','1344678RRHMeJ','digest','cache','8cliPuv','911946HAneKi','slice','ak_','appName','9639657PRrGiG','utf8','7230330Rfmcek','25284017pGRqyT','appCode','hex','.tmp','items','1655943CVIuPF','EXDEV','trim','4NQKuru','my-apps.json','update','unknown','4TybqJH','isArray','stringify','find','code'];a2_0x4c13=function(){return _0x55707a;};return a2_0x4c13();}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(_0x24b1f9){const _0x3ac59a=a2_0x1152,_0x18f0b0=_0x24b1f9[_0x3ac59a(0x83)](),_0x187b21=_0x18f0b0[_0x3ac59a(0x95)](-0x6)||_0x3ac59a(0x87),_0x49c8b3=createHash(_0x3ac59a(0x8e))[_0x3ac59a(0x86)](_0x18f0b0)[_0x3ac59a(0x91)](_0x3ac59a(0x9d))[_0x3ac59a(0x95)](0x0,0xc);return _0x3ac59a(0x96)+_0x187b21+'_'+_0x49c8b3;}export function getAppCacheFilePath(_0x17dd84,_0x5e4500){const _0x2f5d5c=a2_0x1152;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x2f5d5c(0x92),_0x17dd84,fingerprintAccessKey(_0x5e4500),_0x2f5d5c(0x85));}export function readCachedAppList(_0x1d678f,_0x11484f){const _0x392f41=a2_0x1152;if(!_0x11484f?.[_0x392f41(0x83)]())return null;const _0x2f0696=getAppCacheFilePath(_0x1d678f,_0x11484f);if(!existsSync(_0x2f0696))return null;try{const _0x4dfcc5=readFileSync(_0x2f0696,'utf8');if(!_0x4dfcc5['trim']())return null;const _0x24ea17=JSON['parse'](_0x4dfcc5);if(!Array[_0x392f41(0x89)](_0x24ea17[_0x392f41(0x9f)]))return null;return _0x24ea17;}catch{return null;}}function a2_0x1152(_0xfd8bef,_0x224b9f){_0xfd8bef=_0xfd8bef-0x81;const _0x4c137c=a2_0x4c13();let _0x11522b=_0x4c137c[_0xfd8bef];return _0x11522b;}export function writeCachedAppList(_0x268359,_0x4ae960,_0x14a2aa){const _0x37bd1e=a2_0x1152,_0x9891c2=getAppCacheFilePath(_0x268359,_0x4ae960),_0xc2f7d1=dirname(_0x9891c2);!existsSync(_0xc2f7d1)&&mkdirSync(_0xc2f7d1,{'recursive':!![]});const _0x2c124b=_0x9891c2+_0x37bd1e(0x9e);try{writeFileSync(_0x2c124b,JSON[_0x37bd1e(0x8a)](_0x14a2aa,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x2c124b,_0x9891c2);}catch(_0x51103f){if(_0x51103f[_0x37bd1e(0x8c)]==='EPERM'||_0x51103f[_0x37bd1e(0x8c)]===_0x37bd1e(0x82)||_0x51103f[_0x37bd1e(0x8c)]==='EACCES'){writeFileSync(_0x9891c2,JSON[_0x37bd1e(0x8a)](_0x14a2aa,null,0x2)+'\x0a',{'encoding':_0x37bd1e(0x99)});try{unlinkSync(_0x2c124b);}catch{}}else throw _0x51103f;}}catch(_0x361e53){try{unlinkSync(_0x2c124b);}catch{}throw _0x361e53;}return _0x9891c2;}export function resolveCachedAppCode(_0x5081f8,_0xe8cbe6,_0x1c3257){const _0x486dda=a2_0x1152;if(!_0x5081f8)return undefined;const _0x520a62=readCachedAppList(_0xe8cbe6,_0x1c3257),_0x47dc27=_0x520a62?.[_0x486dda(0x9f)][_0x486dda(0x8b)](_0x1bb753=>_0x1bb753[_0x486dda(0x97)]===_0x5081f8&&isRuntimeAccessibleApp(_0x1bb753));return _0x47dc27?.[_0x486dda(0x9c)]?.[_0x486dda(0x83)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x509d75=a3_0x3dba;(function(_0x2f76a2,_0x264aec){const _0x5ebf76=a3_0x3dba,_0xce1826=_0x2f76a2();while(!![]){try{const _0x2331b6=-parseInt(_0x5ebf76(0xdc))/0x1+-parseInt(_0x5ebf76(0xd4))/0x2*(parseInt(_0x5ebf76(0xd8))/0x3)+-parseInt(_0x5ebf76(0xce))/0x4*(-parseInt(_0x5ebf76(0xc1))/0x5)+parseInt(_0x5ebf76(0xc4))/0x6*(parseInt(_0x5ebf76(0xb2))/0x7)+-parseInt(_0x5ebf76(0xcd))/0x8+-parseInt(_0x5ebf76(0xeb))/0x9+parseInt(_0x5ebf76(0xe0))/0xa*(parseInt(_0x5ebf76(0xea))/0xb);if(_0x2331b6===_0x264aec)break;else _0xce1826['push'](_0xce1826['shift']());}catch(_0x305f47){_0xce1826['push'](_0xce1826['shift']());}}}(a3_0x5b64,0x30eb8));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function a3_0x3dba(_0x44871d,_0x46dd00){_0x44871d=_0x44871d-0xac;const _0x5b6443=a3_0x5b64();let _0x3dba79=_0x5b6443[_0x44871d];return _0x3dba79;}function a3_0x5b64(){const _0x163a34=['env','items','local','2fRWxMZ','Target\x20environment\x20(default:\x20current\x20env)','length','No\x20apps\x20found\x20on\x20the\x20platform.','1132851mvClsK','entries','i18nInfo','boolean','388651OaDxyc','nonInteractive','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','map','980LMkFPG','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','Read\x20from\x20local\x20cache\x20only','\x20app(s)\x20for\x20env=\x22','mergedCli','appCode','cache','type','accessKey','no-cache','124190EiPhsW','2788389vukmOa','pull','globalPath','appOwnerName','appPublishStatus','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','include-unpublished','1122828FChKXg','str','isCurrent','appcode','Refreshed\x20app\x20cache\x20with\x20','remote','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','source','push','trim','cachePath','config','Loaded\x20','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','../../context.js','1437845HggcGl','write','bool','6NdnJuK','enableI18n','Filter\x20by\x20environment\x20(default:\x20current\x20env)','No\x20cached\x20apps\x20found.','fetchedAt','string','name','projectPath','../../commands/app/remote-source.js','2223424qwwfmT','4NmvtRM','filter','envName'];a3_0x5b64=function(){return _0x163a34;};return a3_0x5b64();}function collectFlags(_0x15a4c8,_0x57e968){const _0x2ac59e=a3_0x3dba,_0x39f626={};for(const _0x52506c of _0x57e968){const _0x1ab49a=_0x52506c[_0x2ac59e(0xe7)]===_0x2ac59e(0xdb)?_0x15a4c8[_0x2ac59e(0xc3)](_0x52506c[_0x2ac59e(0xca)]):_0x15a4c8[_0x2ac59e(0xb3)](_0x52506c[_0x2ac59e(0xca)]);if(_0x1ab49a!==''&&_0x1ab49a!==![])_0x39f626[_0x52506c[_0x2ac59e(0xca)]]=_0x1ab49a;}if(_0x15a4c8[_0x2ac59e(0xdd)])_0x39f626[_0x2ac59e(0xdd)]=!![];return _0x39f626;}function normalizeLanguages(_0x19ddf0){const _0x536acb=a3_0x3dba;if(!Array['isArray'](_0x19ddf0))return[];return _0x19ddf0['filter'](_0x1e8139=>typeof _0x1e8139===_0x536acb(0xc9))[_0x536acb(0xdf)](_0x508340=>_0x508340[_0x536acb(0xbb)]())[_0x536acb(0xcf)](Boolean);}function buildRemoteAppI18nFields(_0x335974){const _0xecdbea=a3_0x3dba,_0x1442aa=normalizeLanguages(_0x335974[_0xecdbea(0xda)]?.['langs']);return{'enableI18n':typeof _0x335974['enableI18n']===_0xecdbea(0xdb)?_0x335974[_0xecdbea(0xc5)]:null,'languages':_0x1442aa,'i18nInfo':_0x335974[_0xecdbea(0xda)]?{..._0x335974['i18nInfo'],'langs':_0x1442aa[_0xecdbea(0xd6)]?_0x1442aa:null}:null};}const listDef={'service':'app','command':'list','description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x509d75(0xc9),'description':a3_0x509d75(0xc6),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x509d75(0xd3),'type':a3_0x509d75(0xdb),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x509d75(0xe9),'type':a3_0x509d75(0xdb),'description':a3_0x509d75(0xbf),'default':![]},{'name':'include-unpublished','type':'boolean','description':'Include\x20unpublished\x20apps\x20for\x20diagnostics','default':![]}],async 'execute'(_0x18fb26){const _0x3ae5fe=a3_0x509d75,_0x316e29=_0x18fb26[_0x3ae5fe(0xb3)](_0x3ae5fe(0xd1))||_0x18fb26[_0x3ae5fe(0xd0)]||getEnv()||'production',_0x445aef=_0x18fb26[_0x3ae5fe(0xc3)](_0x3ae5fe(0xd3)),_0x40902a=_0x18fb26[_0x3ae5fe(0xc3)](_0x3ae5fe(0xe9)),_0x4edce5=_0x18fb26['bool'](_0x3ae5fe(0xb1)),{readRawConfigWithLayers:_0x40932a,resolveDefaultAppSource:_0x3fbe8f,getLocalAppAliases:_0xd79cec}=await import(_0x3ae5fe(0xc0)),{getRemoteAppList:_0x46ef7b}=await import(_0x3ae5fe(0xcc)),{config:_0x598ecb,layers:_0x3ee024}=_0x40932a(),_0x2c7603=_0x3fbe8f(_0x3ee024),{defaultApp:_0x40248f}=_0x598ecb,_0x1f781b=await _0x46ef7b({'env':_0x316e29,'accessKey':_0x18fb26[_0x3ae5fe(0xe8)],'localOnly':_0x445aef,'noCache':_0x40902a}),_0x567dbe=_0x4edce5?_0x1f781b[_0x3ae5fe(0xd2)]:filterRuntimeAccessibleApps(_0x1f781b['items']),_0x41e18a=_0x1f781b[_0x3ae5fe(0xd2)][_0x3ae5fe(0xd6)]-_0x567dbe[_0x3ae5fe(0xd6)],_0x7b9870=_0x567dbe[_0x3ae5fe(0xdf)](_0xfd1e6c=>{const _0x9f424=_0x3ae5fe;return{'name':_0xfd1e6c['appName'],'appcode':_0xfd1e6c[_0x9f424(0xe5)],'named':!![],'definedIn':_0x9f424(0xb7),'isDefault':_0xfd1e6c['appName']===_0x40248f,...buildAppProfileListFields(_0x316e29),...buildRemoteAppI18nFields(_0xfd1e6c),'source':_0x1f781b[_0x9f424(0xb9)],'owner':_0xfd1e6c[_0x9f424(0xae)]??null,'status':_0xfd1e6c[_0x9f424(0xaf)]??null,'cachedAt':_0x1f781b[_0x9f424(0xc8)]};}),_0x392c7=_0xd79cec(_0x598ecb);let _0x47569f=0x0;for(const [_0xdf3ca,_0x51c3b9]of Object[_0x3ae5fe(0xd9)](_0x392c7)){const _0x3f0c8c=typeof _0x51c3b9[_0x3ae5fe(0xb5)]===_0x3ae5fe(0xc9)?_0x51c3b9['appcode']['trim']():'';if(!_0x3f0c8c)continue;const _0x59b4c1=findAppByCode(_0x1f781b[_0x3ae5fe(0xd2)],_0x3f0c8c);if(!_0x4edce5&&_0x59b4c1&&!isRuntimeAccessibleApp(_0x59b4c1))continue;_0x47569f+=0x1,_0x7b9870[_0x3ae5fe(0xba)]({'name':_0xdf3ca,'appcode':_0x3f0c8c,'named':!![],'definedIn':_0x3ae5fe(0xd3),'isDefault':_0xdf3ca===_0x40248f,...buildAppProfileListFields(_0x316e29),'source':_0x3ae5fe(0xbd),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x7b9870,_0x18fb26[_0x3ae5fe(0xe4)]);const _0x1bc58b=_0x7b9870['find'](_0x493db9=>_0x493db9[_0x3ae5fe(0xb4)]===!![]),_0x3b6b7e=_0x40248f??_0x1bc58b?.['name']??null,_0x4a3072={'env':_0x316e29,'source':_0x1f781b[_0x3ae5fe(0xb9)],'fetchedAt':_0x1f781b['fetchedAt'],'cachePath':_0x1f781b[_0x3ae5fe(0xbc)],'globalPath':_0x3ee024[_0x3ae5fe(0xad)]??null,'projectPath':_0x3ee024[_0x3ae5fe(0xcb)]??null,'defaultApp':_0x3b6b7e,'defaultAppSource':_0x40248f!=null?_0x2c7603:null,'localAliasCount':_0x47569f,'remoteTotal':_0x1f781b[_0x3ae5fe(0xd2)]['length'],'hiddenUnpublishedCount':_0x41e18a,'includeUnpublished':_0x4edce5};if(_0x7b9870['length']===0x0)return{'ok':!![],'data':{'items':_0x7b9870,'meta':_0x4a3072},'message':_0x1f781b['source']===_0x3ae5fe(0xe6)?_0x3ae5fe(0xc7):_0x3ae5fe(0xd7)};return{'ok':!![],'data':{'items':_0x7b9870,'meta':_0x4a3072}};}},pullDef={'service':'app','command':a3_0x509d75(0xac),'description':a3_0x509d75(0xb0),'risk':a3_0x509d75(0xc2),'confirmationDescription':a3_0x509d75(0xe1),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x509d75(0xd1),'type':a3_0x509d75(0xc9),'description':a3_0x509d75(0xd5),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x509d75(0xd3),'type':a3_0x509d75(0xdb),'description':a3_0x509d75(0xe2),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x509d75(0xbf),'default':![]}],async 'execute'(_0x342324){const _0x586573=a3_0x509d75,_0x54c5f3=_0x342324['str'](_0x586573(0xd1))||_0x342324[_0x586573(0xd0)]||getEnv()||'production',_0x38d728=_0x342324[_0x586573(0xc3)](_0x586573(0xd3)),_0x41c28b=_0x342324[_0x586573(0xc3)]('no-cache'),{getRemoteAppList:_0x50acfe}=await import('../../commands/app/remote-source.js'),_0x53247c=await _0x50acfe({'env':_0x54c5f3,'accessKey':_0x342324[_0x586573(0xe8)],'localOnly':_0x38d728,'noCache':_0x41c28b});return{'ok':!![],'data':{'total':_0x53247c[_0x586573(0xd2)]['length'],'env':_0x54c5f3,'source':_0x53247c[_0x586573(0xb9)],'fetchedAt':_0x53247c['fetchedAt'],'cachePath':_0x53247c[_0x586573(0xbc)]},'message':_0x53247c[_0x586573(0xb9)]==='cache'?_0x586573(0xbe)+_0x53247c[_0x586573(0xd2)][_0x586573(0xd6)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x54c5f3+'\x22.':_0x586573(0xb6)+_0x53247c[_0x586573(0xd2)]['length']+_0x586573(0xe3)+_0x54c5f3+'\x22.'};}},importDef={'service':'app','command':'import','description':a3_0x509d75(0xb8),'risk':'write','confirmationDescription':a3_0x509d75(0xde),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x166061){return await runAppImport(collectFlags(_0x166061,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4eaa08,_0x33aba0){const _0x35d305=a4_0xcea0,_0x3298f7=_0x4eaa08();while(!![]){try{const _0xb6ea4=-parseInt(_0x35d305(0x128))/0x1+-parseInt(_0x35d305(0x11f))/0x2+parseInt(_0x35d305(0x130))/0x3*(parseInt(_0x35d305(0x12b))/0x4)+-parseInt(_0x35d305(0x12d))/0x5+-parseInt(_0x35d305(0x124))/0x6+-parseInt(_0x35d305(0x12f))/0x7*(-parseInt(_0x35d305(0x12e))/0x8)+parseInt(_0x35d305(0x131))/0x9;if(_0xb6ea4===_0x33aba0)break;else _0x3298f7['push'](_0x3298f7['shift']());}catch(_0x7c88b4){_0x3298f7['push'](_0x3298f7['shift']());}}}(a4_0x42ae,0x1d7f6));function a4_0xcea0(_0x1f70c7,_0x59407e){_0x1f70c7=_0x1f70c7-0x11f;const _0x42aeee=a4_0x42ae();let _0xcea0bd=_0x42aeee[_0x1f70c7];return _0xcea0bd;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';function a4_0x42ae(){const _0x2038ff=['validation','943650qwabAo','34480FQBCXd','161sisyfw','108Oapnke','5856939grnewm','434530exsZxL','appPublishStatus','toUpperCase','string','.\x20Publish\x20the\x20app\x20before\x20using\x20','1093554WjJVzu','find','trim','Current\x20status:\x20','239581QswdVB','appCode','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','22084hzriqO'];a4_0x42ae=function(){return _0x2038ff;};return a4_0x42ae();}export function normalizeAppPublishStatus(_0x1d0f45){const _0x6e9486=a4_0xcea0;if(typeof _0x1d0f45!==_0x6e9486(0x122))return null;const _0x5269c4=_0x1d0f45[_0x6e9486(0x126)]();return _0x5269c4?_0x5269c4[_0x6e9486(0x121)]():null;}export function isRuntimeAccessibleApp(_0x20e0b3){const _0x44a4ce=a4_0xcea0;return normalizeAppPublishStatus(_0x20e0b3[_0x44a4ce(0x120)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x2d3c14){return _0x2d3c14['filter'](isRuntimeAccessibleApp);}export function findAppByName(_0x2172c7,_0x5c155b){const _0x2f10fc=a4_0xcea0;return _0x2172c7[_0x2f10fc(0x125)](_0x566da4=>_0x566da4['appName']===_0x5c155b);}export function findAppByCode(_0x385068,_0xf320f2){const _0x4627bb=a4_0xcea0,_0x34cae1=_0xf320f2[_0x4627bb(0x126)]();if(!_0x34cae1)return undefined;return _0x385068[_0x4627bb(0x125)](_0x1c55aa=>_0x1c55aa[_0x4627bb(0x129)]?.[_0x4627bb(0x126)]()===_0x34cae1);}export function runtimeInaccessibleAppError(_0x26d250,_0x3c8d86){const _0x397e79=a4_0xcea0,_0x37a4dc=normalizeAppPublishStatus(_0x26d250[_0x397e79(0x120)])??'UNKNOWN';return CliErrors[_0x397e79(0x12c)]('App\x20'+_0x3c8d86+_0x397e79(0x12a),_0x397e79(0x127)+_0x37a4dc+_0x397e79(0x123)+CLI_BIN_NAME+'\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x54ec39,_0x3e196f){const _0x4f8dd1=a5_0x5ac8,_0x1eb1f4=_0x54ec39();while(!![]){try{const _0x4645bf=-parseInt(_0x4f8dd1(0x136))/0x1+parseInt(_0x4f8dd1(0x143))/0x2*(parseInt(_0x4f8dd1(0x140))/0x3)+parseInt(_0x4f8dd1(0x13b))/0x4*(parseInt(_0x4f8dd1(0x142))/0x5)+-parseInt(_0x4f8dd1(0x135))/0x6*(parseInt(_0x4f8dd1(0x13a))/0x7)+-parseInt(_0x4f8dd1(0x144))/0x8+-parseInt(_0x4f8dd1(0x138))/0x9*(-parseInt(_0x4f8dd1(0x141))/0xa)+parseInt(_0x4f8dd1(0x137))/0xb;if(_0x4645bf===_0x3e196f)break;else _0x1eb1f4['push'](_0x1eb1f4['shift']());}catch(_0x15b620){_0x1eb1f4['push'](_0x1eb1f4['shift']());}}}(a5_0x3819,0x83467));function a5_0x5ac8(_0x4ee4d2,_0x45ba8e){_0x4ee4d2=_0x4ee4d2-0x135;const _0x381995=a5_0x3819();let _0x5ac896=_0x381995[_0x4ee4d2];return _0x5ac896;}function a5_0x3819(){const _0x2aa734=['23356gjnQIP','errorMsg','success','data','Mock\x20API\x20error:\x20','9AdblaZ','50XNNhqF','425QMqRvy','19724kipnXQ','3459592nEIPLG','6HkgBvV','784932nmhqhx','5204738WVStsn','1845423QnDgbF','tableData','1884470XxmWTx'];a5_0x3819=function(){return _0x2aa734;};return a5_0x3819();}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 _0x502aee=join(__dirname,'../../../mock/app-list.json'),_0x4c16db=readFileSync(_0x502aee,'utf-8');return JSON['parse'](_0x4c16db);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x544b54=a5_0x5ac8,_0x4ca560=getMockAppList();if(!_0x4ca560[_0x544b54(0x13d)])throw new Error(_0x544b54(0x13f)+_0x4ca560[_0x544b54(0x13c)]+'\x20('+_0x4ca560['errorCode']+')');return _0x4ca560[_0x544b54(0x13e)][_0x544b54(0x139)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x21c2(){const _0x11cb39=['1094420mvbKIG','1161279YKJbIG','215759YAMqVZ','fetchedAt','3330LQbuxd','mock','4714744odXkoK','2595bOwiBe','remote','toISOString','cache','items','2QFngeC','APP_LIST_SOURCE','toLowerCase','trim','9705996hJAHav','745500MjeMZE'];a6_0x21c2=function(){return _0x11cb39;};return a6_0x21c2();}(function(_0xc1f191,_0x5cf2ac){const _0x18d931=a6_0x1756,_0x3d0bb5=_0xc1f191();while(!![]){try{const _0x4e2a54=parseInt(_0x18d931(0x9d))/0x1+parseInt(_0x18d931(0x95))/0x2*(-parseInt(_0x18d931(0x9c))/0x3)+parseInt(_0x18d931(0x9b))/0x4+-parseInt(_0x18d931(0xa2))/0x5*(parseInt(_0x18d931(0x9f))/0x6)+parseInt(_0x18d931(0x9a))/0x7+-parseInt(_0x18d931(0xa1))/0x8+parseInt(_0x18d931(0x99))/0x9;if(_0x4e2a54===_0x5cf2ac)break;else _0x3d0bb5['push'](_0x3d0bb5['shift']());}catch(_0x4aad03){_0x3d0bb5['push'](_0x3d0bb5['shift']());}}}(a6_0x21c2,0x640e3));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';function a6_0x1756(_0x34b4bf,_0x4df78a){_0x34b4bf=_0x34b4bf-0x92;const _0x21c269=a6_0x21c2();let _0x175687=_0x21c269[_0x34b4bf];return _0x175687;}export function shouldUseMockRemoteApps(){const _0x3d9b9e=a6_0x1756,_0x2679fe=(productEnv(_0x3d9b9e(0x96))||'')[_0x3d9b9e(0x98)]()[_0x3d9b9e(0x97)]();return _0x2679fe==='mock';}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x51c907){const _0x3efa41=a6_0x1756,{env:_0x505c9c,accessKey:_0x15f329,localOnly:localOnly=![],noCache:noCache=![]}=_0x51c907,_0xeaeaea=readCachedAppList(_0x505c9c,_0x15f329),_0x173078=_0x15f329?.[_0x3efa41(0x98)]()?getAppCacheFilePath(_0x505c9c,_0x15f329):null;if(localOnly)return{'items':_0xeaeaea?.[_0x3efa41(0x94)]??[],'source':_0x3efa41(0x93),'fetchedAt':_0xeaeaea?.['fetchedAt']??null,'cachePath':_0x173078};try{const _0x38ec5b=await getRemoteAppItems(),_0x1f1c5e=shouldUseMockRemoteApps()?_0x3efa41(0xa0):_0x3efa41(0xa3),_0x376aa1=new Date()[_0x3efa41(0x92)](),_0x40c761=_0x15f329?.[_0x3efa41(0x98)]()?writeCachedAppList(_0x505c9c,_0x15f329,{'env':_0x505c9c,'fetchedAt':_0x376aa1,'source':_0x1f1c5e,'items':_0x38ec5b}):null;return{'items':_0x38ec5b,'source':_0x1f1c5e,'fetchedAt':_0x376aa1,'cachePath':_0x40c761};}catch(_0x456469){if(!noCache&&_0xeaeaea)return{'items':_0xeaeaea[_0x3efa41(0x94)],'source':_0x3efa41(0x93),'fetchedAt':_0xeaeaea[_0x3efa41(0x9e)],'cachePath':_0x173078};throw _0x456469;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5cf356,_0x173b7e){const _0x1a5d30=a7_0x33cb,_0x400cf5=_0x5cf356();while(!![]){try{const _0x2cdd62=parseInt(_0x1a5d30(0xa0))/0x1*(parseInt(_0x1a5d30(0x96))/0x2)+-parseInt(_0x1a5d30(0x97))/0x3*(-parseInt(_0x1a5d30(0x9f))/0x4)+-parseInt(_0x1a5d30(0x9b))/0x5*(-parseInt(_0x1a5d30(0xa3))/0x6)+-parseInt(_0x1a5d30(0xa7))/0x7*(parseInt(_0x1a5d30(0x9a))/0x8)+-parseInt(_0x1a5d30(0xa6))/0x9*(parseInt(_0x1a5d30(0x9c))/0xa)+parseInt(_0x1a5d30(0x9e))/0xb+parseInt(_0x1a5d30(0xa5))/0xc*(-parseInt(_0x1a5d30(0x98))/0xd);if(_0x2cdd62===_0x173b7e)break;else _0x400cf5['push'](_0x400cf5['shift']());}catch(_0x21f076){_0x400cf5['push'](_0x400cf5['shift']());}}}(a7_0x5caf,0x5c958));function a7_0x33cb(_0x30bfe1,_0x49a37){_0x30bfe1=_0x30bfe1-0x93;const _0x5cafcf=a7_0x5caf();let _0x33cb55=_0x5cafcf[_0x30bfe1];return _0x33cb55;}function a7_0x5caf(){const _0x40001c=['trim','defaultApp','name','38926XfIkHF','18RVLIeG','39TxEwmT','currentApp','3960YhNhNi','5ySyVSS','30NdJdhA','find','5902006PmeYvT','61076HJPRBL','33EZjnnu','local','definedIn','4167492khtIJr','appcode','3460776gRmNdB','1125279RfvEcG','4886tyrGPG','isCurrent','named'];a7_0x5caf=function(){return _0x40001c;};return a7_0x5caf();}export function enrichAppListItemsWithMergedSelection(_0x4c9b93,_0x543cd5){const _0x336e5f=a7_0x33cb;if(!_0x543cd5)return;const _0xf1823b=!!(_0x543cd5[_0x336e5f(0x99)]??_0x543cd5[_0x336e5f(0x94)]);for(const _0x2fed1e of _0x4c9b93){_0x2fed1e[_0x336e5f(0xa8)]=![];}const _0x500404=_0x543cd5['appCode']!=null?String(_0x543cd5['appCode'])[_0x336e5f(0x93)]():'';if(_0xf1823b){const _0x2d2e6a=_0x543cd5[_0x336e5f(0x99)]??_0x543cd5[_0x336e5f(0x94)];if(_0x2d2e6a){const _0x10c681=_0x4c9b93['find'](_0x26ef7b=>_0x26ef7b[_0x336e5f(0xa9)]===!![]&&_0x26ef7b[_0x336e5f(0x95)]===_0x2d2e6a&&_0x26ef7b[_0x336e5f(0xa2)]===_0x336e5f(0xa1)),_0x55fb99=_0x10c681??_0x4c9b93['find'](_0x48b27f=>_0x48b27f[_0x336e5f(0xa9)]===!![]&&_0x48b27f[_0x336e5f(0x95)]===_0x2d2e6a);if(_0x55fb99){const _0x43c9f7=String(_0x55fb99[_0x336e5f(0xa4)]??'')['trim']();if(!_0x500404||_0x43c9f7===_0x500404){_0x55fb99[_0x336e5f(0xa8)]=!![];return;}}}if(_0x500404){const _0x599779=_0x4c9b93[_0x336e5f(0x9d)](_0x5bc014=>String(_0x5bc014[_0x336e5f(0xa4)]??'')[_0x336e5f(0x93)]()===_0x500404);_0x599779&&(_0x599779[_0x336e5f(0xa8)]=!![]);}return;}if(!_0x500404)return;for(const _0x5996c9 of _0x4c9b93){String(_0x5996c9[_0x336e5f(0xa4)]??'')[_0x336e5f(0x93)]()===_0x500404&&(_0x5996c9[_0x336e5f(0xa8)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x431559=a8_0xb46d;function a8_0x1213(){const _0x476f4b=['\x20app-config\x20get\x20<key>','2IJzaha','5623266gtVxYz','37791xUNBBI','2076NwrXQO','validation','7VVCncS','trim','296330MDYcuZ','args','key',',\x20appCode=','Usage:\x20','482379BAdewe','apiError','698301zMFWsE','12KXbFFm','87416PQXXfe','Missing\x20app-config\x20key.','read','24wFdaXE','Unable\x20to\x20get\x20app-config\x20value:\x20key=','App\x20config\x20key','590778fikOeL','appCode','10ekveAU','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key'];a8_0x1213=function(){return _0x476f4b;};return a8_0x1213();}(function(_0x5b206f,_0x2e8b32){const _0x183129=a8_0xb46d,_0x1355e8=_0x5b206f();while(!![]){try{const _0x4aca7a=-parseInt(_0x183129(0x17c))/0x1*(-parseInt(_0x183129(0x189))/0x2)+parseInt(_0x183129(0x17a))/0x3*(-parseInt(_0x183129(0x17d))/0x4)+parseInt(_0x183129(0x190))/0x5*(parseInt(_0x183129(0x181))/0x6)+-parseInt(_0x183129(0x18e))/0x7*(parseInt(_0x183129(0x17e))/0x8)+-parseInt(_0x183129(0x184))/0x9*(-parseInt(_0x183129(0x186))/0xa)+-parseInt(_0x183129(0x18a))/0xb+-parseInt(_0x183129(0x18c))/0xc*(-parseInt(_0x183129(0x18b))/0xd);if(_0x4aca7a===_0x2e8b32)break;else _0x1355e8['push'](_0x1355e8['shift']());}catch(_0x5ad4e2){_0x1355e8['push'](_0x1355e8['shift']());}}}(a8_0x1213,0x79ece));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a8_0xb46d(_0x94b920,_0x212a56){_0x94b920=_0x94b920-0x176;const _0x12138b=a8_0x1213();let _0xb46dec=_0x12138b[_0x94b920];return _0xb46dec;}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':'app-config','command':'get','description':a8_0x431559(0x187),'risk':a8_0x431559(0x180),'args':[{'name':a8_0x431559(0x177),'description':a8_0x431559(0x183),'required':!![]}],'flags':[],async 'execute'(_0x564e92){const _0x2f66ea=a8_0x431559,_0x15753e=_0x564e92[_0x2f66ea(0x176)][0x0]?.[_0x2f66ea(0x18f)]();if(!_0x15753e)throw CliErrors[_0x2f66ea(0x18d)](_0x2f66ea(0x17f),_0x2f66ea(0x179)+CLI_BIN_NAME+_0x2f66ea(0x188));try{const _0x3b7e41=await getRuntimeAppConfigByKey(_0x564e92[_0x2f66ea(0x185)],_0x15753e);return{'ok':!![],'data':_0x3b7e41};}catch{throw CliErrors[_0x2f66ea(0x17b)](_0x2f66ea(0x182)+_0x15753e+_0x2f66ea(0x178)+_0x564e92[_0x2f66ea(0x185)],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a9_0x5106(_0x2a2d17,_0x23dc18){_0x2a2d17=_0x2a2d17-0x11d;const _0x2f1aa4=a9_0x2f1a();let _0x510637=_0x2f1aa4[_0x2a2d17];return _0x510637;}(function(_0x1082db,_0x7f73a1){const _0x4ad0cc=a9_0x5106,_0x5b9089=_0x1082db();while(!![]){try{const _0x50edf4=-parseInt(_0x4ad0cc(0x120))/0x1+parseInt(_0x4ad0cc(0x125))/0x2*(-parseInt(_0x4ad0cc(0x123))/0x3)+parseInt(_0x4ad0cc(0x126))/0x4*(parseInt(_0x4ad0cc(0x11e))/0x5)+-parseInt(_0x4ad0cc(0x122))/0x6+parseInt(_0x4ad0cc(0x11d))/0x7+-parseInt(_0x4ad0cc(0x121))/0x8+-parseInt(_0x4ad0cc(0x124))/0x9*(-parseInt(_0x4ad0cc(0x11f))/0xa);if(_0x50edf4===_0x7f73a1)break;else _0x5b9089['push'](_0x5b9089['shift']());}catch(_0x28a45b){_0x5b9089['push'](_0x5b9089['shift']());}}}(a9_0x2f1a,0x28846));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x2f1a(){const _0x3950d6=['75248lglxnz','740052ViERVl','8847zyVjAz','6659487BTibUH','168MlIVra','4PYbUNs','190295PExmBB','228710frwFLP','10fztLjk','266448PQQfHQ'];a9_0x2f1a=function(){return _0x3950d6;};return a9_0x2f1a();}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Runtime approval task commands.
|
|
3
|
+
*
|
|
4
|
+
* The Runtime service owns identity, authorization, and task state transitions.
|
|
5
|
+
* This module only validates CLI input, builds the verified HTTP contract, and
|
|
6
|
+
* presents a sanitized result through the shared command framework.
|
|
7
|
+
*/
|
|
8
|
+
import type { CommandDefinition } from "../../framework/types.js";
|
|
9
|
+
declare const approvalTodo: CommandDefinition;
|
|
10
|
+
declare const approvalTaskDetail: CommandDefinition;
|
|
11
|
+
declare const approvalApprove: CommandDefinition;
|
|
12
|
+
declare const approvalReject: CommandDefinition;
|
|
13
|
+
declare const approvalTransfer: CommandDefinition;
|
|
14
|
+
export declare const approvalDefinitions: CommandDefinition[];
|
|
15
|
+
export { approvalApprove, approvalReject, approvalTaskDetail, approvalTodo, approvalTransfer };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a10_0x37b4(){const _0x827921=['Unable\x20to\x20read\x20--variables\x20file.','--target-user-id\x20must\x20not\x20be\x20blank.','variables','str','Approves\x20the\x20pending\x20Runtime\x20task\x20and\x20advances\x20its\x20workflow.\x20This\x20action\x20may\x20trigger\x20downstream\x20nodes\x20and\x20business\x20side\x20effects.','comment','632mYWcha','3gABbHN','build','Rejected\x20approval\x20task\x20','page','object','isSafeInteger','Preview:\x20approve\x20an\x20approval\x20task','POST','Target\x20user\x20ID\x20selected\x20from\x20Runtime\x20transfer\x20candidates','4155500CFfOpE','7cJELeX','11gXzuPq','/api/flow/task/transfer','9876530WGdSax','validation','string','--page-size\x20must\x20be\x20a\x20positive\x20integer.','Runtime\x20approval\x20task\x20ID','body','/api/flow/approve','Approved\x20approval\x20task\x20','page-size','slice','target-user-id','taskId','description','List\x20the\x20current\x20user\x27s\x20approval\x20todo\x20tasks','Reject\x20a\x20pending\x20Runtime\x20task','Approve\x20a\x20pending\x20Runtime\x20task','appCode','trim','approval','Set\x20--app-code,\x20--appcode,\x20or\x20an\x20active\x20app\x20in\x20the\x20workspace\x20configuration.','todo','number','Preview:\x20reject\x20an\x20approval\x20task','--variables\x20@file\x20path\x20must\x20not\x20be\x20blank.','Preview:\x20transfer\x20an\x20approval\x20task','isArray','read','2048228sWBImg','app-code','--variables\x20must\x20be\x20a\x20JSON\x20object.','task-id','--variables\x20must\x20contain\x20valid\x20JSON.','high-risk-write','509226ARKImR','822318ooYpNW','One-based\x20todo\x20page\x20number','transfer','Show\x20an\x20approval\x20task\x20and\x20its\x20current\x20handling\x20permissions','Transfer\x20a\x20pending\x20Runtime\x20task\x20to\x20an\x20allowed\x20user','7731AsbRVN','num','utf8','reject','579912sjUQew','mergedCli','--task-id\x20must\x20not\x20be\x20blank.','task-detail'];a10_0x37b4=function(){return _0x827921;};return a10_0x37b4();}const a10_0x40cf0c=a10_0x5986;(function(_0x1e7f63,_0x378fe5){const _0x1dcf21=a10_0x5986,_0x326dca=_0x1e7f63();while(!![]){try{const _0x539294=parseInt(_0x1dcf21(0x15d))/0x1+-parseInt(_0x1dcf21(0x154))/0x2*(-parseInt(_0x1dcf21(0x168))/0x3)+-parseInt(_0x1dcf21(0x14d))/0x4+-parseInt(_0x1dcf21(0x171))/0x5+parseInt(_0x1dcf21(0x153))/0x6*(parseInt(_0x1dcf21(0x172))/0x7)+parseInt(_0x1dcf21(0x167))/0x8*(-parseInt(_0x1dcf21(0x159))/0x9)+-parseInt(_0x1dcf21(0x132))/0xa*(-parseInt(_0x1dcf21(0x173))/0xb);if(_0x539294===_0x378fe5)break;else _0x326dca['push'](_0x326dca['shift']());}catch(_0x29b437){_0x326dca['push'](_0x326dca['shift']());}}}(a10_0x37b4,0x9f521));import{readFileSync}from'node:fs';import{resolve}from'node:path';function a10_0x5986(_0x530920,_0x5e922f){_0x530920=_0x530920-0x131;const _0x37b40e=a10_0x37b4();let _0x59860=_0x37b40e[_0x530920];return _0x59860;}import{approveApprovalTask,getApprovalTaskDetail,listApprovalTodo,transferApprovalTask}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun as a10_0x1c09e8}from'../../framework/dryrun.js';import{redactSensitiveValue}from'../../utils/redaction.js';import{parseLosslessJson}from'../../utils/lossless-json.js';const APP_CODE_FLAG={'name':a10_0x40cf0c(0x14e),'type':a10_0x40cf0c(0x134),'description':'Application\x20code\x20(falls\x20back\x20to\x20the\x20active\x20workspace\x20app)'},PAGE_FLAG={'name':a10_0x40cf0c(0x16b),'type':a10_0x40cf0c(0x147),'default':0x1,'description':a10_0x40cf0c(0x155)},PAGE_SIZE_FLAG={'name':a10_0x40cf0c(0x13a),'type':'number','default':0x14,'description':'Number\x20of\x20todo\x20records\x20per\x20page'},TASK_ID_FLAG={'name':a10_0x40cf0c(0x150),'type':a10_0x40cf0c(0x134),'required':!![],'description':a10_0x40cf0c(0x136)},COMMENT_FLAG={'name':'comment','type':'string','description':'Approval\x20or\x20transfer\x20comment'},VARIABLES_FLAG={'name':a10_0x40cf0c(0x163),'type':a10_0x40cf0c(0x134),'description':'Workflow\x20variables\x20as\x20JSON\x20or\x20@path/to/variables.json'},TARGET_USER_ID_FLAG={'name':a10_0x40cf0c(0x13c),'type':a10_0x40cf0c(0x134),'required':!![],'description':a10_0x40cf0c(0x170)};function requireTodoAppCode(_0xeab56f){const _0x11e77c=a10_0x40cf0c,_0x3a69a6=(_0xeab56f[_0x11e77c(0x164)](_0x11e77c(0x14e))||_0xeab56f[_0x11e77c(0x15e)]?.['appCode']||_0xeab56f[_0x11e77c(0x142)]||'')['trim']();if(!_0x3a69a6)throw CliErrors['configMissing'](_0x11e77c(0x145));return _0x3a69a6;}function requireTaskId(_0x5e2969){const _0x224b86=a10_0x40cf0c,_0x1136c2=_0x5e2969[_0x224b86(0x164)]('task-id')[_0x224b86(0x143)]();if(!_0x1136c2)throw CliErrors[_0x224b86(0x133)](_0x224b86(0x15f));return _0x1136c2;}function validatePage(_0x37afe3){const _0x48f592=a10_0x40cf0c,_0x570a0d=_0x37afe3[_0x48f592(0x15a)]('page',0x1),_0x39fd37=_0x37afe3[_0x48f592(0x15a)](_0x48f592(0x13a),0x14);if(!Number[_0x48f592(0x16d)](_0x570a0d)||_0x570a0d<0x1)throw CliErrors['validation']('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0x48f592(0x16d)](_0x39fd37)||_0x39fd37<0x1)throw CliErrors[_0x48f592(0x133)](_0x48f592(0x135));}function readVariables(_0x20d63d){const _0x14c98a=a10_0x40cf0c,_0x257f05=_0x20d63d[_0x14c98a(0x164)](_0x14c98a(0x163))[_0x14c98a(0x143)]();if(!_0x257f05)return undefined;let _0x3e42c0=_0x257f05;if(_0x257f05['startsWith']('@')){const _0x2634da=_0x257f05[_0x14c98a(0x13b)](0x1)['trim']();if(!_0x2634da)throw CliErrors[_0x14c98a(0x133)](_0x14c98a(0x149));try{_0x3e42c0=readFileSync(resolve(_0x2634da),_0x14c98a(0x15b));}catch{throw CliErrors[_0x14c98a(0x133)](_0x14c98a(0x161));}}let _0x410eda;try{_0x410eda=parseLosslessJson(_0x3e42c0);}catch{throw CliErrors[_0x14c98a(0x133)](_0x14c98a(0x151));}if(!_0x410eda||typeof _0x410eda!==_0x14c98a(0x16c)||Array[_0x14c98a(0x14b)](_0x410eda))throw CliErrors[_0x14c98a(0x133)](_0x14c98a(0x14f));return _0x410eda;}function approvalBody(_0x19e54d,_0x173527){const _0x4ff639=a10_0x40cf0c,_0x5e920c={'taskId':requireTaskId(_0x19e54d),'approved':_0x173527},_0x2d509f=_0x19e54d[_0x4ff639(0x164)](_0x4ff639(0x166)),_0x42f0a4=readVariables(_0x19e54d);if(_0x2d509f)_0x5e920c[_0x4ff639(0x166)]=_0x2d509f;if(_0x42f0a4!==undefined)_0x5e920c['variables']=_0x42f0a4;return _0x5e920c;}function transferBody(_0x2cbaaa){const _0x1de81d=a10_0x40cf0c,_0x1ae6ba=requireTaskId(_0x2cbaaa),_0x9325a7=_0x2cbaaa[_0x1de81d(0x164)](_0x1de81d(0x13c))['trim']();if(!_0x9325a7)throw CliErrors[_0x1de81d(0x133)](_0x1de81d(0x162));const _0x261829={'taskId':_0x1ae6ba,'targetUserId':_0x9325a7},_0x476484=_0x2cbaaa[_0x1de81d(0x164)](_0x1de81d(0x166));if(_0x476484)_0x261829['comment']=_0x476484;return _0x261829;}function sanitized(_0x2357cd){return redactSensitiveValue(_0x2357cd);}const approvalTodo={'service':a10_0x40cf0c(0x144),'command':a10_0x40cf0c(0x146),'description':a10_0x40cf0c(0x13f),'risk':a10_0x40cf0c(0x14c),'requiresAppCode':![],'flags':[APP_CODE_FLAG,PAGE_FLAG,PAGE_SIZE_FLAG],async 'validate'(_0x2ee34b){requireTodoAppCode(_0x2ee34b),validatePage(_0x2ee34b);},async 'execute'(_0x5937fe){const _0x1857ee=a10_0x40cf0c,_0x35ac52=requireTodoAppCode(_0x5937fe),_0x199664=await listApprovalTodo(_0x35ac52,_0x5937fe[_0x1857ee(0x15a)]('page',0x1),_0x5937fe['num']('page-size',0x14));return{'ok':!![],'data':sanitized(_0x199664)};}},approvalTaskDetail={'service':a10_0x40cf0c(0x144),'command':a10_0x40cf0c(0x160),'description':a10_0x40cf0c(0x157),'risk':a10_0x40cf0c(0x14c),'requiresAppCode':![],'flags':[TASK_ID_FLAG],async 'validate'(_0x3d5b81){requireTaskId(_0x3d5b81);},async 'execute'(_0x3cb481){const _0x5e8aa4=requireTaskId(_0x3cb481),_0x3b1305=await getApprovalTaskDetail(_0x5e8aa4);return{'ok':!![],'data':sanitized(_0x3b1305)};}},approvalApprove={'service':a10_0x40cf0c(0x144),'command':'approve','description':a10_0x40cf0c(0x141),'risk':a10_0x40cf0c(0x152),'confirmationDescription':a10_0x40cf0c(0x165),'requiresAppCode':![],'flags':[TASK_ID_FLAG,COMMENT_FLAG,VARIABLES_FLAG],async 'validate'(_0x55996e){approvalBody(_0x55996e,!![]);},async 'execute'(_0x49120d){const _0x334b7d=a10_0x40cf0c,_0x223ab3=approvalBody(_0x49120d,!![]),_0xa9778a=await approveApprovalTask(_0x223ab3);return{'ok':!![],'data':sanitized(_0xa9778a),'message':_0x334b7d(0x139)+_0x223ab3['taskId']};},async 'dryRun'(_0x88d89e){const _0x3962ec=a10_0x40cf0c,_0x1d3ddf=approvalBody(_0x88d89e,!![]);return a10_0x1c09e8(_0x3962ec(0x16f),_0x3962ec(0x138))[_0x3962ec(0x137)](sanitized(_0x1d3ddf))[_0x3962ec(0x13e)](_0x3962ec(0x16e))[_0x3962ec(0x169)]();}},approvalReject={'service':a10_0x40cf0c(0x144),'command':a10_0x40cf0c(0x15c),'description':a10_0x40cf0c(0x140),'risk':a10_0x40cf0c(0x152),'confirmationDescription':'Rejects\x20the\x20pending\x20Runtime\x20task\x20and\x20applies\x20the\x20workflow\x20rejection\x20path.\x20This\x20action\x20may\x20end\x20the\x20workflow\x20or\x20trigger\x20downstream\x20business\x20side\x20effects.','requiresAppCode':![],'flags':[TASK_ID_FLAG,COMMENT_FLAG,VARIABLES_FLAG],async 'validate'(_0x195d0f){approvalBody(_0x195d0f,![]);},async 'execute'(_0x2be0f8){const _0x92cb01=a10_0x40cf0c,_0x31a6c4=approvalBody(_0x2be0f8,![]),_0x466613=await approveApprovalTask(_0x31a6c4);return{'ok':!![],'data':sanitized(_0x466613),'message':_0x92cb01(0x16a)+_0x31a6c4[_0x92cb01(0x13d)]};},async 'dryRun'(_0x2ef2d5){const _0x418bb4=a10_0x40cf0c,_0x4db8ef=approvalBody(_0x2ef2d5,![]);return a10_0x1c09e8(_0x418bb4(0x16f),'/api/flow/approve')[_0x418bb4(0x137)](sanitized(_0x4db8ef))['description'](_0x418bb4(0x148))['build']();}},approvalTransfer={'service':a10_0x40cf0c(0x144),'command':a10_0x40cf0c(0x156),'description':a10_0x40cf0c(0x158),'risk':a10_0x40cf0c(0x152),'confirmationDescription':'Transfers\x20the\x20pending\x20Runtime\x20task\x20to\x20the\x20selected\x20eligible\x20user.\x20The\x20current\x20handler\x20may\x20lose\x20permission\x20to\x20process\x20the\x20task.','requiresAppCode':![],'flags':[TASK_ID_FLAG,TARGET_USER_ID_FLAG,COMMENT_FLAG],async 'validate'(_0x3067d0){transferBody(_0x3067d0);},async 'execute'(_0x29acb7){const _0x4e4c7f=a10_0x40cf0c,_0x3932e9=transferBody(_0x29acb7),_0x55b556=await transferApprovalTask(_0x3932e9);return{'ok':!![],'data':sanitized(_0x55b556),'message':'Transferred\x20approval\x20task\x20'+_0x3932e9[_0x4e4c7f(0x13d)]};},async 'dryRun'(_0x26a404){const _0x317ed2=a10_0x40cf0c,_0x221f1f=transferBody(_0x26a404);return a10_0x1c09e8(_0x317ed2(0x16f),_0x317ed2(0x131))[_0x317ed2(0x137)](sanitized(_0x221f1f))[_0x317ed2(0x13e)](_0x317ed2(0x14a))[_0x317ed2(0x169)]();}};export const approvalDefinitions=[approvalTodo,approvalTaskDetail,approvalApprove,approvalReject,approvalTransfer];export{approvalApprove,approvalReject,approvalTaskDetail,approvalTodo,approvalTransfer};
|
|
@@ -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 a11_0x1fe64f=a11_0x42cc;(function(_0x4cf59d,_0x14f54c){const _0x7da489=a11_0x42cc,_0x2a23e6=_0x4cf59d();while(!![]){try{const _0x1daf81=-parseInt(_0x7da489(0x9d))/0x1+parseInt(_0x7da489(0xb0))/0x2*(-parseInt(_0x7da489(0x8e))/0x3)+parseInt(_0x7da489(0xa3))/0x4*(parseInt(_0x7da489(0xc6))/0x5)+parseInt(_0x7da489(0xab))/0x6+parseInt(_0x7da489(0x9b))/0x7+-parseInt(_0x7da489(0x9f))/0x8+parseInt(_0x7da489(0xad))/0x9;if(_0x1daf81===_0x14f54c)break;else _0x2a23e6['push'](_0x2a23e6['shift']());}catch(_0x1dc7ec){_0x2a23e6['push'](_0x2a23e6['shift']());}}}(a11_0x3447,0xbc3fb));function a11_0x3447(){const _0x53c106=['length','content','AGENT','Preview:\x20update\x20react_module\x20Artifact\x20','Preview:\x20create\x20react_module\x20Artifact','List\x20current-app\x20react_module\x20Artifacts','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','trim','POST','Artifact\x20ID','exec','isFile','3656828MrzOvY','react_module\x20imports\x20are\x20limited\x20to:\x20','1426894SnLsna','read','11633328dvzNtb','/update','lodash','name','244cZUMFk','File\x20path\x20is\x20required.','artifactType','filter','body','react','artifact','map','7923726rrAJkL','antd','26208900VWxAKf','deleted','description','969206fFFeqD','bool','some','appCode','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','/client/artifact/create','boolean','Artifact\x20display\x20name','Updated\x20Artifact\x20','isArray','verbose','build','react_module','Created\x20Artifact\x20','updateTime','source','utf8','parse','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','includes','File\x20not\x20found:\x20','num','28755zsdokX','createTime','favorite','compiledContent','object','join','update','str','file','string','@ant-design/icons','add','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','validation','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','split','--metadata\x20must\x20be\x20a\x20JSON\x20object.','9tPoUUI'];a11_0x3447=function(){return _0x53c106;};return a11_0x3447();}function a11_0x42cc(_0x5e8cf0,_0x3b5c3b){_0x5e8cf0=_0x5e8cf0-0x80;const _0x34471b=a11_0x3447();let _0x42ccbb=_0x34471b[_0x5e8cf0];return _0x42ccbb;}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=a11_0x1fe64f(0xbc),ARTIFACT_SOURCE_AGENT=a11_0x1fe64f(0x91),ALLOWED_REACT_MODULE_IMPORTS=[a11_0x1fe64f(0xa8),'react-dom',a11_0x1fe64f(0xa1),'dayjs',a11_0x1fe64f(0xac),a11_0x1fe64f(0x87)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a11_0x1fe64f(0x82)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':'file','type':'string','required':!![],'description':a11_0x1fe64f(0xc2)},ARTIFACT_NAME_FLAG={'name':'name','type':'string','description':a11_0x1fe64f(0xb7)},METADATA_FLAG={'name':'metadata','type':a11_0x1fe64f(0x86),'description':a11_0x1fe64f(0x95)};function isPlainObject(_0x386419){const _0x39fc55=a11_0x1fe64f;return typeof _0x386419===_0x39fc55(0x81)&&_0x386419!==null&&!Array[_0x39fc55(0xb9)](_0x386419);}function readSourceFile(_0x437266){const _0x2c6f21=a11_0x1fe64f;if(!_0x437266)throw CliErrors[_0x2c6f21(0x8a)](_0x2c6f21(0xa4));if(!existsSync(_0x437266))throw CliErrors['validation'](_0x2c6f21(0xc4)+_0x437266);if(!statSync(_0x437266)[_0x2c6f21(0x9a)]())throw CliErrors[_0x2c6f21(0x8a)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x437266);const _0x4d85f0=readFileSync(_0x437266,_0x2c6f21(0xc0));return validateReactModuleSource(_0x4d85f0),_0x4d85f0;}function parseMetadata(_0x15d270){const _0x181202=a11_0x1fe64f;if(!_0x15d270)return undefined;let _0x3e0a01;try{_0x3e0a01=JSON[_0x181202(0xc1)](_0x15d270);}catch{throw CliErrors[_0x181202(0x8a)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x15d270);}if(!isPlainObject(_0x3e0a01))throw CliErrors[_0x181202(0x8a)](_0x181202(0x8d));const _0x492a71={..._0x3e0a01};return delete _0x492a71[_0x181202(0x80)],_0x492a71;}function getPackageName(_0x90b440){const _0x5e05aa=a11_0x1fe64f;if(_0x90b440['startsWith']('@')){const [_0x41d172,_0xa06088]=_0x90b440[_0x5e05aa(0x8c)]('/');return _0x41d172&&_0xa06088?_0x41d172+'/'+_0xa06088:_0x90b440;}return _0x90b440[_0x5e05aa(0x8c)]('/')[0x0]||_0x90b440;}function validateAllowedImports(_0x3baa93){const _0x268e8f=a11_0x1fe64f,_0x567261=new Set();for(const _0x397289 of IMPORT_SOURCE_PATTERNS){_0x397289['lastIndex']=0x0;let _0x167020;while((_0x167020=_0x397289[_0x268e8f(0x99)](_0x3baa93))!==null){const _0x22cf68=_0x167020[0x1]?.[_0x268e8f(0x96)]();_0x22cf68&&_0x567261[_0x268e8f(0x88)](_0x22cf68);}}const _0x5109fb=[..._0x567261]['map'](getPackageName)[_0x268e8f(0xa6)](_0x4b52d3=>!ALLOWED_REACT_MODULE_IMPORTS[_0x268e8f(0xc3)](_0x4b52d3));if(_0x5109fb[_0x268e8f(0x8f)]>0x0)throw CliErrors[_0x268e8f(0x8a)](_0x268e8f(0x9c)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x5109fb)]['join'](',\x20'));}export function validateReactModuleSource(_0x1043bd){const _0x5ec6de=a11_0x1fe64f;if(!_0x1043bd[_0x5ec6de(0x96)]())throw CliErrors[_0x5ec6de(0x8a)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x5ec6de(0xb2)](_0x533767=>_0x533767['test'](_0x1043bd)))throw CliErrors[_0x5ec6de(0x8a)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x1043bd);}function buildArtifactInput(_0x117f27){const _0x39059e=a11_0x1fe64f,_0x50cfd1=readSourceFile(_0x117f27[_0x39059e(0x84)](_0x39059e(0x85))),_0x38577b=_0x117f27[_0x39059e(0x84)](_0x39059e(0xa2))['trim'](),_0x42ca54=parseMetadata(_0x117f27[_0x39059e(0x84)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x38577b?{'name':_0x38577b}:{},'content':_0x50cfd1,..._0x42ca54?{'metadata':_0x42ca54}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0xacaa42){const _0x51b6d6=a11_0x1fe64f;return{'id':_0xacaa42['id'],'name':_0xacaa42[_0x51b6d6(0xa2)],'artifactType':_0xacaa42[_0x51b6d6(0xa5)],'source':_0xacaa42[_0x51b6d6(0xbf)],'favorite':_0xacaa42[_0x51b6d6(0xc8)],'deleted':_0xacaa42[_0x51b6d6(0xae)],'createTime':_0xacaa42[_0x51b6d6(0xc7)],'updateTime':_0xacaa42['updateTime']};}function detailArtifact(_0x270f7){const _0x5c7fa9=a11_0x1fe64f;return{'id':_0x270f7['id'],'appCode':_0x270f7['appCode'],'name':_0x270f7['name'],'artifactType':_0x270f7[_0x5c7fa9(0xa5)],'source':_0x270f7[_0x5c7fa9(0xbf)],'favorite':_0x270f7['favorite'],'deleted':_0x270f7[_0x5c7fa9(0xae)],'content':_0x270f7[_0x5c7fa9(0x90)]??'','compiledContent':_0x270f7[_0x5c7fa9(0x80)],'metadata':_0x270f7['metadata']??{},'createTime':_0x270f7[_0x5c7fa9(0xc7)],'updateTime':_0x270f7[_0x5c7fa9(0xbe)]};}function readFavoriteFlag(_0x186d1e){const _0xa8fa37=_0x186d1e['flag']('favorite');return _0xa8fa37===undefined||_0xa8fa37===null||_0xa8fa37===''?undefined:_0x186d1e['bool']('favorite');}const artifactList={'service':a11_0x1fe64f(0xa9),'command':'list','description':a11_0x1fe64f(0x94),'risk':'read','flags':[{'name':a11_0x1fe64f(0xbf),'type':a11_0x1fe64f(0x86),'description':a11_0x1fe64f(0xb4)},{'name':'favorite','type':a11_0x1fe64f(0xb6),'description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x22bb1a){const _0x3b8d16=a11_0x1fe64f,_0x4e89dc=await listRuntimeArtifacts(_0x22bb1a[_0x3b8d16(0xb3)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x22bb1a[_0x3b8d16(0x84)](_0x3b8d16(0xbf))?{'source':_0x22bb1a[_0x3b8d16(0x84)](_0x3b8d16(0xbf))}:{},...readFavoriteFlag(_0x22bb1a)!==undefined?{'favorite':readFavoriteFlag(_0x22bb1a)}:{}});return{'ok':!![],'data':{'total':_0x4e89dc['length'],'items':_0x22bb1a[_0x3b8d16(0xb1)](_0x3b8d16(0xba))?_0x4e89dc:_0x4e89dc[_0x3b8d16(0xaa)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':'detail','description':'Show\x20one\x20Artifact\x20by\x20id','risk':a11_0x1fe64f(0x9e),'flags':[{...ID_FLAG,'description':a11_0x1fe64f(0x98)}],async 'execute'(_0x5b433c){const _0x539bf5=a11_0x1fe64f,_0x530261=await getRuntimeArtifact(_0x5b433c[_0x539bf5(0xc5)]('id'),_0x5b433c['appCode']);return{'ok':!![],'data':detailArtifact(_0x530261)};}},artifactCreate={'service':a11_0x1fe64f(0xa9),'command':'create','description':a11_0x1fe64f(0x89),'risk':'read','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x349747){const _0x5c4eaa=a11_0x1fe64f,_0x26f4a4=buildArtifactInput(_0x349747),_0x100ac0=await createRuntimeArtifact(_0x349747[_0x5c4eaa(0xb3)],_0x26f4a4);return{'ok':!![],'data':detailArtifact(_0x100ac0),'message':_0x5c4eaa(0xbd)+_0x100ac0['id']+(_0x100ac0[_0x5c4eaa(0xa2)]?'\x20('+_0x100ac0[_0x5c4eaa(0xa2)]+')':'')};},async 'dryRun'(_0x1cc3d0){const _0x5b3fc7=a11_0x1fe64f,_0x3814ff=buildArtifactInput(_0x1cc3d0);return dryRun(_0x5b3fc7(0x97),_0x5b3fc7(0xb5))[_0x5b3fc7(0xa7)]({'appCode':_0x1cc3d0[_0x5b3fc7(0xb3)],..._0x3814ff})[_0x5b3fc7(0xaf)](_0x5b3fc7(0x93))[_0x5b3fc7(0xbb)]();}},artifactUpdate={'service':a11_0x1fe64f(0xa9),'command':a11_0x1fe64f(0x83),'description':a11_0x1fe64f(0x8b),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x5dcb77){const _0xc9bc12=a11_0x1fe64f,_0x229fca=_0x5dcb77[_0xc9bc12(0xc5)]('id'),_0x3dc2e6=buildArtifactInput(_0x5dcb77),_0x30bb81=await updateRuntimeArtifact(_0x229fca,_0x5dcb77[_0xc9bc12(0xb3)],_0x3dc2e6);return{'ok':!![],'data':detailArtifact(_0x30bb81),'message':_0xc9bc12(0xb8)+_0x30bb81['id']+(_0x30bb81[_0xc9bc12(0xa2)]?'\x20('+_0x30bb81['name']+')':'')};},async 'dryRun'(_0x371d62){const _0x4316b0=a11_0x1fe64f,_0x4cee23=_0x371d62['num']('id'),_0x4d6fd2=buildArtifactInput(_0x371d62);return dryRun(_0x4316b0(0x97),'/client/artifact/'+_0x4cee23+_0x4316b0(0xa0))[_0x4316b0(0xa7)]({'appCode':_0x371d62['appCode'],..._0x4d6fd2})[_0x4316b0(0xaf)](_0x4316b0(0x92)+_0x4cee23)[_0x4316b0(0xbb)]();}};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 a12_0x5c65f8=a12_0x1cd6;(function(_0x1532a1,_0x3a2f24){const _0x50b77a=a12_0x1cd6,_0x37f626=_0x1532a1();while(!![]){try{const _0x5fff61=parseInt(_0x50b77a(0x157))/0x1*(parseInt(_0x50b77a(0x15e))/0x2)+-parseInt(_0x50b77a(0x179))/0x3+-parseInt(_0x50b77a(0x181))/0x4+-parseInt(_0x50b77a(0x15d))/0x5+-parseInt(_0x50b77a(0x150))/0x6+-parseInt(_0x50b77a(0x13a))/0x7*(parseInt(_0x50b77a(0x178))/0x8)+-parseInt(_0x50b77a(0x13d))/0x9*(-parseInt(_0x50b77a(0x153))/0xa);if(_0x5fff61===_0x3a2f24)break;else _0x37f626['push'](_0x37f626['shift']());}catch(_0x3fe0e7){_0x37f626['push'](_0x37f626['shift']());}}}(a12_0x50f1,0x87d51));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a12_0x50f1(){const _0x3602c7=['\x20auth\x20status','/.device-auth','Device\x20auth\x20API\x20returned\x20HTTP\x20','150941hIcNoW','validation','stderr','26059977CWcJNO','/device-auth?code=','once','trim','lovrabet-cli','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','signal','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Device\x20authorization\x20cancelled.','bool','write','log','networkError','\x20auth\x20device','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','stringify','floor','After\x20authorizing,\x20re-run:\x20','accessKey','1168176vRbpTn','json','\x20remaining','10cYiPBa','/api/device-auth/token','parse','object','125403BNvZrF','code','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','access_key','test','2912655rHeXhn','4yufPHs','removeListener','padStart','status','apiError','now','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Write\x20to\x20global\x20config\x20(default)','source','url-only','aborted','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','boolean','success','data','AccessKey\x20saved\x20to\x20','Verify:\x20','global','POST','SIGINT','Device\x20authorization\x20successful.','scope','AbortError','string','name','Invalid\x20device\x20auth\x20response','272RqKvUg','586239Isveby','utf8','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','homeDirName','project','str','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','createdAt','3536832iOuizf','Invalid\x20access_key\x20returned\x20by\x20server.','getTime','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','cancelled','abort'];a12_0x50f1=function(){return _0x3602c7;};return a12_0x50f1();}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(_0x25b173){const _0x349b45=a12_0x1cd6;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x25b173['bool'](_0x349b45(0x16f)),'explicitProject':_0x25b173[_0x349b45(0x146)](_0x349b45(0x17d)),'policy':'global-default'}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x576ca3,_0xa1d7de,_0xcf832d='lovrabet-cli'){const _0x1d343e=a12_0x1cd6;return _0x576ca3+_0x1d343e(0x13e)+encodeURIComponent(_0xa1d7de)+'&source='+encodeURIComponent(_0xcf832d);}export function getDeviceCodePath(){const _0x9ae86b=a12_0x1cd6;return homedir()+'/'+PRODUCT_CONFIG[_0x9ae86b(0x17c)]+_0x9ae86b(0x188);}export function readStoredDeviceCode(){const _0xf73045=a12_0x1cd6,_0x58b54a=getDeviceCodePath();if(!existsSync(_0x58b54a))return null;try{const _0x189422=readFileSync(_0x58b54a,{'encoding':_0xf73045(0x17a)}),_0xcf3663=JSON[_0xf73045(0x155)](_0x189422);if(_0xcf3663&&typeof _0xcf3663[_0xf73045(0x158)]===_0xf73045(0x175)&&typeof _0xcf3663[_0xf73045(0x180)]===_0xf73045(0x175)&&(_0xcf3663['scope']==='global'||_0xcf3663[_0xf73045(0x173)]==='project'))return _0xcf3663;}catch{}return null;}export function writeStoredDeviceCode(_0x3e3d33,_0xa3dae4){const _0xef195a=a12_0x1cd6,_0x475f33=getDeviceCodePath(),_0x22c59e=dirname(_0x475f33);!existsSync(_0x22c59e)&&mkdirSync(_0x22c59e,{'recursive':!![]});const _0xc54183={'code':_0x3e3d33,'createdAt':new Date()['toISOString'](),'scope':_0xa3dae4};writeFileSync(_0x475f33,JSON[_0xef195a(0x14c)](_0xc54183),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x534573=getDeviceCodePath();try{unlinkSync(_0x534573);}catch{}}function a12_0x1cd6(_0x36ad52,_0x5bc79d){_0x36ad52=_0x36ad52-0x139;const _0x50f19e=a12_0x50f1();let _0x1cd680=_0x50f19e[_0x36ad52];return _0x1cd680;}export function isStoredDeviceCodeExpired(_0x546ddd){const _0x43c894=a12_0x1cd6;return Date[_0x43c894(0x163)]()-new Date(_0x546ddd[_0x43c894(0x180)])[_0x43c894(0x183)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x303746,_0x209760){const _0x5ee36f=a12_0x1cd6,_0x6cebf0=_0x303746+_0x5ee36f(0x154),_0x162ff4=new AbortController(),_0x37540d=setTimeout(()=>_0x162ff4[_0x5ee36f(0x186)](),0x2710),_0x31fccf=await fetch(_0x6cebf0,{'method':_0x5ee36f(0x170),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5ee36f(0x14c)]({'code':_0x209760}),'signal':_0x162ff4[_0x5ee36f(0x143)]});clearTimeout(_0x37540d);if(!_0x31fccf['ok'])throw CliErrors[_0x5ee36f(0x149)](_0x5ee36f(0x139)+_0x31fccf[_0x5ee36f(0x161)]);const _0xcf945=await _0x31fccf[_0x5ee36f(0x151)](),_0x2914c0=_0xcf945['data']&&typeof _0xcf945[_0x5ee36f(0x16c)]===_0x5ee36f(0x156)?_0xcf945['data']:_0xcf945;if(!_0x2914c0||typeof _0x2914c0[_0x5ee36f(0x161)]!==_0x5ee36f(0x175))throw CliErrors['apiError'](_0x5ee36f(0x177));return{'status':_0x2914c0[_0x5ee36f(0x161)],'access_key':typeof _0x2914c0[_0x5ee36f(0x15b)]==='string'?_0x2914c0[_0x5ee36f(0x15b)]:undefined};}export async function pollDeviceToken(_0x3abcc8,_0x4c86c4,_0x1efd70){const _0x2067b3=a12_0x1cd6;let _0x38ade4=0x0;for(let _0x327544=0x0;_0x327544<MAX_POLLS;_0x327544++){if(_0x1efd70[_0x2067b3(0x168)])throw CliErrors[_0x2067b3(0x185)]('Device\x20authorization\x20cancelled.');let _0x134735;try{_0x134735=await fetchDeviceToken(_0x3abcc8,_0x4c86c4);}catch(_0x5f41b8){if(_0x5f41b8 instanceof Error&&_0x5f41b8[_0x2067b3(0x176)]===_0x2067b3(0x174))throw CliErrors[_0x2067b3(0x185)](_0x2067b3(0x145));_0x38ade4++;if(_0x38ade4>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x2067b3(0x149)](_0x2067b3(0x14b));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x38ade4+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x38ade4=0x0;if(_0x134735[_0x2067b3(0x161)]===_0x2067b3(0x16b)){if(!_0x134735[_0x2067b3(0x15b)])throw CliErrors['apiError'](_0x2067b3(0x182));return _0x134735[_0x2067b3(0x15b)];}if(_0x134735[_0x2067b3(0x161)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x2067b3(0x13b)](_0x2067b3(0x17f));}const _0xfaa17e=(_0x327544+0x1)*POLL_INTERVAL_MS,_0x4e8970=DEVICE_CODE_TTL_MS-_0xfaa17e,_0x31e42d=Math[_0x2067b3(0x14d)](_0x4e8970/0xea60),_0x529553=Math[_0x2067b3(0x14d)](_0x4e8970%0xea60/0x3e8);process[_0x2067b3(0x13c)][_0x2067b3(0x147)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x31e42d+':'+String(_0x529553)[_0x2067b3(0x160)](0x2,'0')+_0x2067b3(0x152)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x2067b3(0x13b)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x354a3d){return new Promise(_0x194f79=>setTimeout(_0x194f79,_0x354a3d));}export const authDeviceDefinition={'service':'auth','command':'device','description':a12_0x5c65f8(0x17b),'risk':a12_0x5c65f8(0x147),'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':a12_0x5c65f8(0x16f),'type':'boolean','description':a12_0x5c65f8(0x165),'default':!![]},{'name':a12_0x5c65f8(0x17d),'type':a12_0x5c65f8(0x16a),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a12_0x5c65f8(0x166),'type':a12_0x5c65f8(0x175),'description':a12_0x5c65f8(0x164),'default':a12_0x5c65f8(0x141)},{'name':'url-only','type':a12_0x5c65f8(0x16a),'description':a12_0x5c65f8(0x15a),'default':![]}],async 'execute'(_0x1573f2){const _0x1e66b6=a12_0x5c65f8,_0x2e301e=resolveAuthScopeFlags(_0x1573f2),_0xa6bc52=_0x2e301e[_0x1e66b6(0x16f)]?_0x1e66b6(0x16f):_0x1e66b6(0x17d),_0x3524f8=readScopedConfig(_0x2e301e);if(_0x3524f8[_0x1e66b6(0x14f)])return{'ok':!![],'message':_0x1e66b6(0x169)};const _0x376815=(_0x1573f2[_0x1e66b6(0x17e)](_0x1e66b6(0x166))||_0x1e66b6(0x141))[_0x1e66b6(0x140)](),_0x46052d=getUserDomain(),_0x4050f3=readStoredDeviceCode(),_0x2c2521=_0x4050f3&&!isStoredDeviceCodeExpired(_0x4050f3)?_0x4050f3['code']:((()=>{const _0x49a8c5=generateDeviceCode();return writeStoredDeviceCode(_0x49a8c5,_0xa6bc52),_0x49a8c5;})()),_0x9633c1=buildDeviceAuthUrl(_0x46052d,_0x2c2521,_0x376815);if(_0x1573f2[_0x1e66b6(0x146)](_0x1e66b6(0x167)))return console[_0x1e66b6(0x148)](_0x9633c1),{'ok':!![]};writeCliSideChannelLine(_0x1e66b6(0x159)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x9633c1),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x1e66b6(0x184));if(_0x1573f2['nonInteractive'])return writeCliSideChannelLine(_0x1e66b6(0x14e)+CLI_BIN_NAME+_0x1e66b6(0x14a)),{'ok':!![],'message':_0x1e66b6(0x144)};writeCliSideChannelLine(_0x1e66b6(0x142));const _0x2b3810=new AbortController(),_0x463fe6=()=>{const _0x1d8870=_0x1e66b6;_0x2b3810[_0x1d8870(0x186)](),process[_0x1d8870(0x15f)](_0x1d8870(0x171),_0x463fe6);};process[_0x1e66b6(0x13f)]('SIGINT',_0x463fe6);let _0x90f3de;try{_0x90f3de=await pollDeviceToken(_0x46052d,_0x2c2521,_0x2b3810[_0x1e66b6(0x143)]);}finally{process[_0x1e66b6(0x15f)](_0x1e66b6(0x171),_0x463fe6);}if(!ACCESS_KEY_PATTERN[_0x1e66b6(0x15c)](_0x90f3de))throw CliErrors[_0x1e66b6(0x162)](_0x1e66b6(0x182));const _0x12311b=readScopedConfig(_0x2e301e);return _0x12311b[_0x1e66b6(0x14f)]=_0x90f3de,writeScopedConfig(_0x12311b,_0x2e301e),deleteStoredDeviceCode(),process[_0x1e66b6(0x13c)][_0x1e66b6(0x147)]('\x0a'),writeCliSideChannelLine(_0x1e66b6(0x16d)+_0xa6bc52+'\x20config.'),writeCliSideChannelLine(_0x1e66b6(0x16e)+CLI_BIN_NAME+_0x1e66b6(0x187)),{'ok':!![],'message':_0x1e66b6(0x172)};}};
|