@lovrabet/lovrabet-cli 2.3.2 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/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_0x77daf8=a0_0x32a0;(function(_0x5ad303,_0x11b7d9){const _0x208334=a0_0x32a0,_0x333569=_0x5ad303();while(!![]){try{const _0x4ec4a2=parseInt(_0x208334(0x118))/0x1+parseInt(_0x208334(0x115))/0x2*(parseInt(_0x208334(0x131))/0x3)+-parseInt(_0x208334(0x127))/0x4+-parseInt(_0x208334(0x12a))/0x5*(parseInt(_0x208334(0x138))/0x6)+-parseInt(_0x208334(0x11d))/0x7+parseInt(_0x208334(0x13a))/0x8*(-parseInt(_0x208334(0x116))/0x9)+parseInt(_0x208334(0x13b))/0xa;if(_0x4ec4a2===_0x11b7d9)break;else _0x333569['push'](_0x333569['shift']());}catch(_0x5658b3){_0x333569['push'](_0x333569['shift']());}}}(a0_0x1a30,0xd31a7));import{jsx as a0_0x51c194}from'react/jsx-runtime';function a0_0x1a30(){const _0x2bf0db=['9aezYhd','message','1413260DpHaLr','Unexpected\x20error:','log','error','definition','2366525cOjCfh','length','catch','name','corrected','Error:\x20','exit','write','flatMap','flags','3085440cNdopZ','defaultCommand','stderr','86410tomPry','hint','code','assign','Hint:\x20','\x20->\x20--','doctor','67191QacEiV','args','original','help','\x0aCancelled.\x0a','exitCode','config','564cKaQfQ','input','807080uQqKwV','11216030NAqMNG','ExitPromptError','slice','handler','104ahDxVu'];a0_0x1a30=function(){return _0x2bf0db;};return a0_0x1a30();}import a0_0x5e3f32 from'meow';function a0_0x32a0(_0x14f2c5,_0xd0482b){_0x14f2c5=_0x14f2c5-0x114;const _0x1a301c=a0_0x1a30();let _0x32a02d=_0x1a301c[_0x14f2c5];return _0x32a02d;}import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x5e3f32(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x77daf8(0x11f)](handleError);async function main(){try{await run();}catch(_0x5606b1){handleError(_0x5606b1);}}async function run(){const _0x47ed29=a0_0x77daf8;let _0x12992f=cli[_0x47ed29(0x139)][0x0],_0x3f9a02=cli['input'][0x1];const _0x1c81c5=cli['flags'];try{const {correctFlags:_0x26a905}=await import('./framework/preparse.js'),_0x144686=getAllDefinitions()[_0x47ed29(0x125)](_0x909494=>_0x909494[_0x47ed29(0x126)]??[]),{flags:_0xf7e97,corrections:_0x135a5c}=_0x26a905(_0x1c81c5,_0x144686);if(_0x135a5c[_0x47ed29(0x11e)]>0x0){for(const _0x2d4626 of _0x135a5c){process[_0x47ed29(0x129)]['write']('[preparse]\x20'+_0x2d4626[_0x47ed29(0x114)]+':\x20--'+_0x2d4626[_0x47ed29(0x133)]+_0x47ed29(0x12f)+_0x2d4626[_0x47ed29(0x121)]+'\x0a');}Object[_0x47ed29(0x12d)](_0x1c81c5,_0xf7e97);}}catch{}if(!_0x12992f){const {waitUntilExit:_0x40acf0}=render(a0_0x51c194(Help,{}));await _0x40acf0();return;}const _0x9cb6e5=resolveRemovedCommand(_0x12992f,_0x3f9a02);if(_0x9cb6e5)throw CliErrors['validation'](_0x9cb6e5[_0x47ed29(0x117)],_0x9cb6e5[_0x47ed29(0x12b)]);if(!isKnownService(_0x12992f)){const _0x5a5ad2=resolveDynamicServiceCommand(cli['input'],_0x1c81c5);if(_0x5a5ad2){if(_0x1c81c5[_0x47ed29(0x134)]){console[_0x47ed29(0x11a)](generateCommandHelp(_0x5a5ad2[_0x47ed29(0x11c)]));return;}Object['assign'](_0x1c81c5,_0x5a5ad2[_0x47ed29(0x126)]);const _0x4510f2=buildConfigFromFlags(_0x1c81c5);await initGlobalEnvironment(_0x4510f2);const _0x2692c0=createPipelineEnv(_0x4510f2,_0x1c81c5);_0x2692c0[_0x47ed29(0x132)]=_0x5a5ad2['args'],await runCommand(_0x5a5ad2[_0x47ed29(0x11c)],_0x2692c0);return;}if(_0x1c81c5[_0x47ed29(0x134)]){const _0x198ffa=generateDynamicServiceHelp(_0x12992f);if(_0x198ffa){console['log'](_0x198ffa);return;}}const {waitUntilExit:_0x10feb8}=render(a0_0x51c194(Help,{}));await _0x10feb8();return;}const _0x435b3c=getServiceEntry(_0x12992f);if(!_0x3f9a02){if(_0x1c81c5['help']){console[_0x47ed29(0x11a)](generateServiceHelp(_0x12992f));return;}if(_0x435b3c['defaultCommand'])_0x3f9a02=_0x435b3c[_0x47ed29(0x128)];else{console[_0x47ed29(0x11a)](generateServiceHelp(_0x12992f));return;}}const _0x1ca922=findDefinition(_0x12992f,_0x3f9a02);!_0x1ca922&&(console[_0x47ed29(0x11a)](generateServiceHelp(_0x12992f)),handleError(CliErrors['unknownCommand'](_0x12992f+'\x20'+_0x3f9a02)));if(_0x1c81c5[_0x47ed29(0x134)]){console[_0x47ed29(0x11a)](generateCommandHelp(_0x1ca922));return;}const _0x4137fb=buildConfigFromFlags(_0x1c81c5);_0x12992f!==_0x47ed29(0x137)&&_0x12992f!==_0x47ed29(0x130)&&await initGlobalEnvironment(_0x4137fb);const _0x115e16=createPipelineEnv(_0x4137fb,_0x1c81c5);_0x115e16[_0x47ed29(0x132)]=cli[_0x47ed29(0x139)][_0x47ed29(0x13d)](0x2),await runCommand(_0x1ca922,_0x115e16);}function handleError(_0x54491b){const _0x171d94=a0_0x77daf8;if(_0x54491b instanceof CliError){_0x54491b[_0x171d94(0x12c)]==='cancelled'&&(process[_0x171d94(0x129)]['write'](_0x171d94(0x135)),process['exit'](0x0));console[_0x171d94(0x11b)](_0x171d94(0x122)+_0x54491b[_0x171d94(0x117)]);if(_0x54491b[_0x171d94(0x12b)])console[_0x171d94(0x11b)](_0x171d94(0x12e)+_0x54491b[_0x171d94(0x12b)]);process[_0x171d94(0x123)](_0x54491b[_0x171d94(0x136)]);}isUserCancellation(_0x54491b)&&(process['stderr'][_0x171d94(0x124)](_0x171d94(0x135)),process['exit'](0x0)),console[_0x171d94(0x11b)](_0x171d94(0x119),_0x54491b),process[_0x171d94(0x123)](0x1);}function isUserCancellation(_0x33e9c9){const _0x4c2728=a0_0x77daf8;if(!(_0x33e9c9 instanceof Error))return![];if(_0x33e9c9[_0x4c2728(0x120)]===_0x4c2728(0x13c))return!![];if(_0x33e9c9[_0x4c2728(0x12c)]==='ERR_USE_AFTER_CLOSE')return!![];if(_0x33e9c9[_0x4c2728(0x12c)]==='ERR_STREAM_DESTROYED')return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x197d52=a1_0xdb2d;(function(_0x17e30d,_0x3d7991){const _0xa53fb0=a1_0xdb2d,_0x7cc3ca=_0x17e30d();while(!![]){try{const _0x57d79a=parseInt(_0xa53fb0(0x267))/0x1+-parseInt(_0xa53fb0(0x23d))/0x2*(parseInt(_0xa53fb0(0x251))/0x3)+parseInt(_0xa53fb0(0x240))/0x4+parseInt(_0xa53fb0(0x265))/0x5*(-parseInt(_0xa53fb0(0x1ff))/0x6)+-parseInt(_0xa53fb0(0x22b))/0x7+parseInt(_0xa53fb0(0x21e))/0x8*(parseInt(_0xa53fb0(0x21d))/0x9)+parseInt(_0xa53fb0(0x21a))/0xa;if(_0x57d79a===_0x3d7991)break;else _0x7cc3ca['push'](_0x7cc3ca['shift']());}catch(_0x11e519){_0x7cc3ca['push'](_0x7cc3ca['shift']());}}}(a1_0x1d2f,0xe75b7));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x197d52(0x204),'type':'string','description':a1_0x197d52(0x1f2)},KEYWORD_FLAG={'name':a1_0x197d52(0x258),'type':a1_0x197d52(0x1f8),'description':a1_0x197d52(0x1ed)},DOC_CODE_FLAG={'name':a1_0x197d52(0x270),'type':a1_0x197d52(0x1f8),'required':!![],'description':a1_0x197d52(0x224)},DOCS=[{'code':a1_0x197d52(0x248),'category':'dataset','title':a1_0x197d52(0x244),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x22e),'summary':a1_0x197d52(0x264),'whenToUse':a1_0x197d52(0x26e),'pathParams':[],'queryParams':[],'bodySchema':a1_0x197d52(0x205),'responseHighlights':[a1_0x197d52(0x237),a1_0x197d52(0x20b)],'examples':[a1_0x197d52(0x202)],'notes':[a1_0x197d52(0x26a)],'markdown':[a1_0x197d52(0x1f0),'',a1_0x197d52(0x211)][a1_0x197d52(0x230)]('\x0a')},{'code':a1_0x197d52(0x242),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x25e),'method':a1_0x197d52(0x229),'path':a1_0x197d52(0x226),'summary':a1_0x197d52(0x23e),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x197d52(0x270),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x197d52(0x20f),'responseHighlights':[a1_0x197d52(0x200),a1_0x197d52(0x20e),a1_0x197d52(0x22a)],'examples':[a1_0x197d52(0x256)],'notes':[a1_0x197d52(0x225)],'markdown':[a1_0x197d52(0x24a),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x197d52(0x230)]('\x0a')},{'code':'dataset_data_filter','category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x1f7),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x23a),'summary':a1_0x197d52(0x1f3),'whenToUse':a1_0x197d52(0x1fc),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x238),'description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x197d52(0x250),a1_0x197d52(0x227)],'examples':[a1_0x197d52(0x232),a1_0x197d52(0x1fd)],'notes':[a1_0x197d52(0x24b),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x197d52(0x25a),a1_0x197d52(0x1fa)],'markdown':[a1_0x197d52(0x1f6),'',a1_0x197d52(0x262)]['join']('\x0a')},{'code':a1_0x197d52(0x253),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x218),'method':'POST','path':a1_0x197d52(0x233),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x197d52(0x259),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x197d52(0x238),'description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':a1_0x197d52(0x1ee),'responseHighlights':[a1_0x197d52(0x21c),a1_0x197d52(0x21f)],'examples':[a1_0x197d52(0x228)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x197d52(0x21b)],'markdown':[a1_0x197d52(0x23f),'',a1_0x197d52(0x1f5)]['join']('\x0a')},{'code':a1_0x197d52(0x213),'category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x254),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x249),'summary':a1_0x197d52(0x254),'whenToUse':a1_0x197d52(0x206),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x197d52(0x238),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x197d52(0x215),'responseHighlights':[a1_0x197d52(0x210)],'examples':[a1_0x197d52(0x26d)],'notes':[a1_0x197d52(0x24c)],'markdown':a1_0x197d52(0x252)},{'code':'dataset_data_create','category':a1_0x197d52(0x25d),'title':a1_0x197d52(0x23c),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x222),'summary':a1_0x197d52(0x241),'whenToUse':a1_0x197d52(0x26f),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':'datasetCode','description':a1_0x197d52(0x25c)}],'queryParams':[],'bodySchema':a1_0x197d52(0x26c),'responseHighlights':[a1_0x197d52(0x243)],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x197d52(0x207)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x197d52(0x20d),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':a1_0x197d52(0x229),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x197d52(0x216),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x20c),'description':a1_0x197d52(0x20a)}],'queryParams':[],'bodySchema':a1_0x197d52(0x20f),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0x197d52(0x219)],'notes':[a1_0x197d52(0x217)],'markdown':a1_0x197d52(0x24f)},{'code':a1_0x197d52(0x23b),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x223),'summary':a1_0x197d52(0x221),'whenToUse':a1_0x197d52(0x201),'pathParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)},{'name':a1_0x197d52(0x20c),'description':a1_0x197d52(0x209)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':a1_0x197d52(0x25b)},{'code':a1_0x197d52(0x246),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x1f9),'summary':a1_0x197d52(0x1ef),'whenToUse':a1_0x197d52(0x235),'pathParams':[{'name':'id','description':a1_0x197d52(0x22d)}],'queryParams':[{'name':a1_0x197d52(0x255),'description':a1_0x197d52(0x1f4)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x197d52(0x260)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.',a1_0x197d52(0x239)],'markdown':[a1_0x197d52(0x1fb),'',a1_0x197d52(0x236)][a1_0x197d52(0x230)]('\x0a')},{'code':a1_0x197d52(0x245),'category':a1_0x197d52(0x212),'title':a1_0x197d52(0x257),'method':a1_0x197d52(0x22f),'path':a1_0x197d52(0x247),'summary':a1_0x197d52(0x257),'whenToUse':a1_0x197d52(0x214),'pathParams':[],'queryParams':[],'bodySchema':a1_0x197d52(0x208),'responseHighlights':[a1_0x197d52(0x269)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x197d52(0x1ec)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x58e68f){const _0x46a844=a1_0x197d52;return{'code':_0x58e68f['code'],'category':_0x58e68f['category'],'method':_0x58e68f[_0x46a844(0x263)],'path':_0x58e68f[_0x46a844(0x220)],'summary':_0x58e68f[_0x46a844(0x26b)],'whenToUse':_0x58e68f[_0x46a844(0x25f)]};}export function listApiDocEntries(_0xe87a2b={}){const _0x4cb6ca=a1_0x197d52,_0x234304=String(_0xe87a2b[_0x4cb6ca(0x204)]||'')[_0x4cb6ca(0x266)](),_0x20f1db=String(_0xe87a2b[_0x4cb6ca(0x258)]||'')[_0x4cb6ca(0x266)]()[_0x4cb6ca(0x24d)]();return DOCS['filter'](_0x4a578e=>{const _0xd6e364=_0x4cb6ca;if(_0x234304&&_0x4a578e[_0xd6e364(0x204)]!==_0x234304)return![];if(!_0x20f1db)return!![];return[_0x4a578e[_0xd6e364(0x270)],_0x4a578e[_0xd6e364(0x204)],_0x4a578e[_0xd6e364(0x263)],_0x4a578e['path'],_0x4a578e['summary'],_0x4a578e[_0xd6e364(0x25f)],_0x4a578e[_0xd6e364(0x231)]]['join']('\x20')[_0xd6e364(0x24d)]()[_0xd6e364(0x268)](_0x20f1db);})['map'](entrySummary);}function a1_0x1d2f(){const _0x529fa7=['Filter\x20dataset\x20records','Current\x20app\x20code','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','##\x20Filter\x20dataset\x20data','Filter\x20dataset\x20data','string','/api/runtime-bff/personal/{id}/execute','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','##\x20Execute\x20Personal\x20Backend\x20Function','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','read','4360740hlYLYu','fields/properties\x20describe\x20data\x20shape','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','list','category','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Endpoint\x20function\x20name','Exact\x20endpoint\x20function\x20name','paging.totalCount\x20gives\x20total\x20rows','functionName','bf_detail','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','None','Returns\x20one\x20matching\x20business\x20record','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','custom_sql','dataset_data_get_one','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','{\x22id\x22:123}','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Aggregate\x20dataset\x20data','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','23557230xHGyuG','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','result\x20rows\x20contain\x20aggregate\x20aliases','178317RXAGCQ','64ZLNxan','where\x20filters\x20before\x20aggregation','path','Execute\x20a\x20BF\x20endpoint\x20function','/api/{appCode}/{datasetCode}/create','/api/endpoint/{appCode}/{functionName}','API\x20doc\x20code,\x20for\x20example\x20dataset_list','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','/api/dataset/getOneByCode?code={datasetCode}','paging\x20contains\x20pagination','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','GET','operations\x20describes\x20runtime\x20APIs','6151327xvrDpY','validation','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','/api/dataset/get-dataset-list-by-app-code','POST','join','title','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','/api/{appCode}/{datasetCode}/aggregate','str','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','tableData\x20contains\x20dataset\x20id/code/name','datasetCode','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','/api/{appCode}/{datasetCode}/filter','bf_execute','Create\x20dataset\x20record','11922pSexdm','Get\x20dataset\x20detail','##\x20Aggregate\x20dataset\x20data','1820468qHmJxj','Create\x20a\x20dataset\x20record','dataset_detail','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','List\x20datasets','custom_sql_execute','personal_bf_execute','/api/custom/executeSql','dataset_list','/api/{appCode}/{datasetCode}/getOne','##\x20Dataset\x20detail','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','toLowerCase','api-doc','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','tableData\x20contains\x20records','699NPWFxC','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','dataset_data_aggregate','Get\x20one\x20dataset\x20record','appCode','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Execute\x20custom\x20SQL','keyword','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','32-character\x20dataset\x20code','dataset','Dataset\x20detail','whenToUse','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','method','List\x20datasets\x20with\x20pagination','10iksIqh','trim','1699549qRZQAf','includes','Returns\x20SQL\x20execution\x20payload','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','summary','{\x22fieldName\x22:\x22value\x22}','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','code','API\x20doc\x20code\x20not\x20found:\x20','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','##\x20List\x20datasets','Show\x20runtime\x20API\x20documentation\x20by\x20code','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'];a1_0x1d2f=function(){return _0x529fa7;};return a1_0x1d2f();}export function getApiDocDetail(_0x4381c8){const _0x5a59fe=a1_0x197d52,_0x188770=DOCS['find'](_0x206a86=>_0x206a86[_0x5a59fe(0x270)]===_0x4381c8);if(!_0x188770)throw CliErrors[_0x5a59fe(0x22c)](_0x5a59fe(0x271)+_0x4381c8);return{..._0x188770};}function a1_0xdb2d(_0x5a0bba,_0x2ae6b2){_0x5a0bba=_0x5a0bba-0x1ec;const _0x1d2fe6=a1_0x1d2f();let _0xdb2d1=_0x1d2fe6[_0x5a0bba];return _0xdb2d1;}const apiDocList={'service':a1_0x197d52(0x24e),'command':a1_0x197d52(0x203),'description':a1_0x197d52(0x261),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xed9eae){const _0x2c3b0b=a1_0x197d52,_0x107a6f=listApiDocEntries({'category':_0xed9eae[_0x2c3b0b(0x234)]('category'),'keyword':_0xed9eae['str'](_0x2c3b0b(0x258))});return{'ok':!![],'data':{'total':_0x107a6f['length'],'items':_0x107a6f}};}},apiDocDetail={'service':a1_0x197d52(0x24e),'command':'detail','description':a1_0x197d52(0x1f1),'risk':a1_0x197d52(0x1fe),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x355ea0){const _0x5a5506=a1_0x197d52;return{'ok':!![],'data':getApiDocDetail(_0x355ea0[_0x5a5506(0x234)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x206d91=a1_0x13d9;(function(_0x36946e,_0x52e1f3){const _0x20c75a=a1_0x13d9,_0x243283=_0x36946e();while(!![]){try{const _0x48cbe7=-parseInt(_0x20c75a(0x129))/0x1*(-parseInt(_0x20c75a(0x17f))/0x2)+-parseInt(_0x20c75a(0x14a))/0x3+-parseInt(_0x20c75a(0x11d))/0x4+parseInt(_0x20c75a(0x17c))/0x5*(parseInt(_0x20c75a(0x185))/0x6)+-parseInt(_0x20c75a(0x18e))/0x7+parseInt(_0x20c75a(0x167))/0x8+parseInt(_0x20c75a(0x14c))/0x9;if(_0x48cbe7===_0x52e1f3)break;else _0x243283['push'](_0x243283['shift']());}catch(_0x3777c3){_0x243283['push'](_0x243283['shift']());}}}(a1_0x25e4,0xb9f64));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x206d91(0x192),'description':a1_0x206d91(0x130)},KEYWORD_FLAG={'name':a1_0x206d91(0x165),'type':'string','description':a1_0x206d91(0x138)},DOC_CODE_FLAG={'name':a1_0x206d91(0x14e),'type':a1_0x206d91(0x192),'required':!![],'description':a1_0x206d91(0x137)},DOCS=[{'code':a1_0x206d91(0x122),'category':a1_0x206d91(0x173),'title':'List\x20datasets','method':a1_0x206d91(0x152),'path':'/api/dataset/get-dataset-list-by-app-code','summary':a1_0x206d91(0x13d),'whenToUse':a1_0x206d91(0x15a),'pathParams':[],'queryParams':[],'bodySchema':a1_0x206d91(0x174),'responseHighlights':[a1_0x206d91(0x13e),a1_0x206d91(0x12e)],'examples':[a1_0x206d91(0x170)],'notes':[a1_0x206d91(0x149)],'markdown':[a1_0x206d91(0x18c),'',a1_0x206d91(0x162)][a1_0x206d91(0x11a)]('\x0a')},{'code':a1_0x206d91(0x180),'category':a1_0x206d91(0x173),'title':a1_0x206d91(0x146),'method':a1_0x206d91(0x158),'path':a1_0x206d91(0x13a),'summary':'Get\x20dataset\x20detail','whenToUse':a1_0x206d91(0x12f),'pathParams':[],'queryParams':[{'name':a1_0x206d91(0x14e),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x206d91(0x182),'responseHighlights':['fields/properties\x20describe\x20data\x20shape','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0x206d91(0x175)],'notes':[a1_0x206d91(0x132)],'markdown':[a1_0x206d91(0x15e),'',a1_0x206d91(0x183)][a1_0x206d91(0x11a)]('\x0a')},{'code':a1_0x206d91(0x136),'category':a1_0x206d91(0x173),'title':a1_0x206d91(0x12d),'method':a1_0x206d91(0x152),'path':a1_0x206d91(0x15f),'summary':a1_0x206d91(0x144),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','pathParams':[{'name':a1_0x206d91(0x123),'description':a1_0x206d91(0x118)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x206d91(0x151),'responseHighlights':[a1_0x206d91(0x18d),a1_0x206d91(0x127)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27'],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0x206d91(0x179),a1_0x206d91(0x114),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x206d91(0x189),'',a1_0x206d91(0x159)]['join']('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x206d91(0x173),'title':a1_0x206d91(0x178),'method':a1_0x206d91(0x152),'path':a1_0x206d91(0x184),'summary':'Aggregate\x20dataset\x20records','whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':a1_0x206d91(0x123),'description':'Current\x20app\x20code'},{'name':a1_0x206d91(0x17e),'description':a1_0x206d91(0x134)}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x206d91(0x15d)],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0x206d91(0x14f),a1_0x206d91(0x176)],'markdown':[a1_0x206d91(0x150),'',a1_0x206d91(0x163)][a1_0x206d91(0x11a)]('\x0a')},{'code':a1_0x206d91(0x11c),'category':a1_0x206d91(0x173),'title':a1_0x206d91(0x14d),'method':'POST','path':a1_0x206d91(0x16b),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x206d91(0x126),'pathParams':[{'name':a1_0x206d91(0x123),'description':'Current\x20app\x20code'},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x206d91(0x131),'responseHighlights':[a1_0x206d91(0x164)],'examples':[a1_0x206d91(0x128)],'notes':[a1_0x206d91(0x177)],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x206d91(0x16e),'category':a1_0x206d91(0x173),'title':a1_0x206d91(0x13c),'method':a1_0x206d91(0x152),'path':a1_0x206d91(0x191),'summary':a1_0x206d91(0x17b),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','pathParams':[{'name':a1_0x206d91(0x123),'description':a1_0x206d91(0x118)},{'name':a1_0x206d91(0x17e),'description':a1_0x206d91(0x134)}],'queryParams':[],'bodySchema':a1_0x206d91(0x11f),'responseHighlights':[a1_0x206d91(0x147)],'examples':[a1_0x206d91(0x18f)],'notes':[a1_0x206d91(0x12a)],'markdown':a1_0x206d91(0x16d)},{'code':'bf_detail','category':'bf','title':a1_0x206d91(0x124),'method':'GET','path':a1_0x206d91(0x11e),'summary':a1_0x206d91(0x116),'whenToUse':a1_0x206d91(0x125),'pathParams':[{'name':a1_0x206d91(0x123),'description':'Current\x20app\x20code'},{'name':a1_0x206d91(0x13b),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x206d91(0x182),'responseHighlights':[a1_0x206d91(0x142)],'examples':[a1_0x206d91(0x190)],'notes':[a1_0x206d91(0x166)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x206d91(0x12c),'category':'bf','title':a1_0x206d91(0x148),'method':a1_0x206d91(0x152),'path':a1_0x206d91(0x120),'summary':'Execute\x20a\x20BF\x20endpoint\x20function','whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x206d91(0x123),'description':'Current\x20app\x20code'},{'name':a1_0x206d91(0x13b),'description':a1_0x206d91(0x161)}],'queryParams':[],'bodySchema':a1_0x206d91(0x186),'responseHighlights':[a1_0x206d91(0x16c)],'examples':[a1_0x206d91(0x119)],'notes':[a1_0x206d91(0x135)],'markdown':a1_0x206d91(0x143)},{'code':a1_0x206d91(0x133),'category':'bf','title':a1_0x206d91(0x17d),'method':a1_0x206d91(0x152),'path':a1_0x206d91(0x169),'summary':a1_0x206d91(0x121),'whenToUse':a1_0x206d91(0x18a),'pathParams':[{'name':'id','description':a1_0x206d91(0x153)}],'queryParams':[{'name':'appCode','description':a1_0x206d91(0x118)}],'bodySchema':a1_0x206d91(0x186),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x206d91(0x172)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.'],'markdown':[a1_0x206d91(0x17a),'','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.'][a1_0x206d91(0x11a)]('\x0a')},{'code':a1_0x206d91(0x117),'category':a1_0x206d91(0x160),'title':'Execute\x20custom\x20SQL','method':a1_0x206d91(0x152),'path':a1_0x206d91(0x154),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x206d91(0x15c),'pathParams':[],'queryParams':[],'bodySchema':a1_0x206d91(0x193),'responseHighlights':[a1_0x206d91(0x140)],'examples':[a1_0x206d91(0x11b)],'notes':[a1_0x206d91(0x16f)],'markdown':'##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.'}];function entrySummary(_0x51d1f0){const _0xc5e619=a1_0x206d91;return{'code':_0x51d1f0['code'],'category':_0x51d1f0[_0xc5e619(0x168)],'method':_0x51d1f0[_0xc5e619(0x141)],'path':_0x51d1f0[_0xc5e619(0x156)],'summary':_0x51d1f0[_0xc5e619(0x12b)],'whenToUse':_0x51d1f0[_0xc5e619(0x181)]};}export function listApiDocEntries(_0x2cd3b9={}){const _0x375e2a=a1_0x206d91,_0x41e36a=String(_0x2cd3b9[_0x375e2a(0x168)]||'')[_0x375e2a(0x14b)](),_0x5f3225=String(_0x2cd3b9['keyword']||'')['trim']()[_0x375e2a(0x18b)]();return DOCS[_0x375e2a(0x157)](_0x35ddd0=>{const _0x18d493=_0x375e2a;if(_0x41e36a&&_0x35ddd0['category']!==_0x41e36a)return![];if(!_0x5f3225)return!![];return[_0x35ddd0['code'],_0x35ddd0[_0x18d493(0x168)],_0x35ddd0[_0x18d493(0x141)],_0x35ddd0['path'],_0x35ddd0[_0x18d493(0x12b)],_0x35ddd0[_0x18d493(0x181)],_0x35ddd0[_0x18d493(0x13f)]][_0x18d493(0x11a)]('\x20')[_0x18d493(0x18b)]()['includes'](_0x5f3225);})[_0x375e2a(0x115)](entrySummary);}export function getApiDocDetail(_0x534fa9){const _0xea79bd=a1_0x206d91,_0x4639d4=DOCS[_0xea79bd(0x188)](_0x2cf759=>_0x2cf759[_0xea79bd(0x14e)]===_0x534fa9);if(!_0x4639d4)throw CliErrors['validation'](_0xea79bd(0x187)+_0x534fa9);return{..._0x4639d4};}const apiDocList={'service':a1_0x206d91(0x171),'command':a1_0x206d91(0x139),'description':a1_0x206d91(0x15b),'risk':a1_0x206d91(0x145),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3ab370){const _0x104949=a1_0x206d91,_0x27215c=listApiDocEntries({'category':_0x3ab370[_0x104949(0x16a)]('category'),'keyword':_0x3ab370['str']('keyword')});return{'ok':!![],'data':{'total':_0x27215c['length'],'items':_0x27215c}};}},apiDocDetail={'service':a1_0x206d91(0x171),'command':a1_0x206d91(0x155),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':a1_0x206d91(0x145),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x4ea1e2){const _0x439479=a1_0x206d91;return{'ok':!![],'data':getApiDocDetail(_0x4ea1e2[_0x439479(0x16a)](_0x439479(0x14e)))};}};function a1_0x13d9(_0x3f88c1,_0x1c6060){_0x3f88c1=_0x3f88c1-0x114;const _0x25e4ff=a1_0x25e4();let _0x13d953=_0x25e4ff[_0x3f88c1];return _0x13d953;}function a1_0x25e4(){const _0x582071=['CLI\x20returns\x20appCode/functionName/description/version/gmtModified','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Filter\x20dataset\x20records','read','Dataset\x20detail','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Execute\x20BF\x20endpoint\x20function','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','3038892TGEvtV','trim','28741014gjULfh','Get\x20one\x20dataset\x20record','code','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','##\x20Aggregate\x20dataset\x20data','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','POST','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','/api/custom/executeSql','detail','path','filter','GET','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','where\x20filters\x20before\x20aggregation','##\x20Dataset\x20detail','/api/{appCode}/{datasetCode}/filter','custom_sql','Endpoint\x20function\x20name','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','Returns\x20one\x20matching\x20business\x20record','keyword','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','510440ngLwYh','category','/api/runtime-bff/personal/{id}/execute','str','/api/{appCode}/{datasetCode}/getOne','Returns\x20script\x20business\x20payload','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','dataset_data_create','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','api-doc','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','dataset','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Aggregate\x20dataset\x20data','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','##\x20Execute\x20Personal\x20Backend\x20Function','Create\x20a\x20dataset\x20record','1336945ZfOGIR','Execute\x20Personal\x20Backend\x20Function','datasetCode','4778KEGPas','dataset_detail','whenToUse','None','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','/api/{appCode}/{datasetCode}/aggregate','6zbwxFm','{\x22param\x22:\x22value\x22}','API\x20doc\x20code\x20not\x20found:\x20','find','##\x20Filter\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','toLowerCase','##\x20List\x20datasets','tableData\x20contains\x20records','10064138ZdCwvt','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','/api/{appCode}/{datasetCode}/create','string','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','map','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','custom_sql_execute','Current\x20app\x20code','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','join','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','dataset_data_get_one','3513740dJTvyQ','/client/bff/endpoint/{appCode}/{functionName}','{\x22fieldName\x22:\x22value\x22}','/api/endpoint/{appCode}/{functionName}','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','dataset_list','appCode','Get\x20BF\x20endpoint\x20function\x20contract','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','paging\x20contains\x20pagination','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','237fIoWbS','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','summary','bf_execute','Filter\x20dataset\x20data','paging.totalCount\x20gives\x20total\x20rows','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','{\x22id\x22:123}','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','personal_bf_execute','32-character\x20dataset\x20code','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','dataset_data_filter','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','list','/api/dataset/getOneByCode?code={datasetCode}','functionName','Create\x20dataset\x20record','List\x20datasets\x20with\x20pagination','tableData\x20contains\x20dataset\x20id/code/name','title','Returns\x20SQL\x20execution\x20payload','method'];a1_0x25e4=function(){return _0x582071;};return a1_0x25e4();}export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2c8ecc,_0x124121){const _0xa05c18=a2_0x11ac,_0x194518=_0x2c8ecc();while(!![]){try{const _0x248241=-parseInt(_0xa05c18(0x1de))/0x1+parseInt(_0xa05c18(0x1d3))/0x2+parseInt(_0xa05c18(0x1da))/0x3*(-parseInt(_0xa05c18(0x1e3))/0x4)+parseInt(_0xa05c18(0x1d4))/0x5*(parseInt(_0xa05c18(0x1d8))/0x6)+-parseInt(_0xa05c18(0x1e2))/0x7*(-parseInt(_0xa05c18(0x1d6))/0x8)+-parseInt(_0xa05c18(0x1ee))/0x9*(parseInt(_0xa05c18(0x1d1))/0xa)+parseInt(_0xa05c18(0x1dd))/0xb;if(_0x248241===_0x124121)break;else _0x194518['push'](_0x194518['shift']());}catch(_0x28c62b){_0x194518['push'](_0x194518['shift']());}}}(a2_0x3f1f,0x66815));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';function a2_0x11ac(_0x47abbb,_0x19c1ff){_0x47abbb=_0x47abbb-0x1d1;const _0x3f1f3a=a2_0x3f1f();let _0x11acb5=_0x3f1f3a[_0x47abbb];return _0x11acb5;}import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x5ac963){const _0xbe40a8=a2_0x11ac,_0x417657=_0x5ac963[_0xbe40a8(0x1d7)](),_0x40d46a=_0x417657[_0xbe40a8(0x1db)](-0x6)||_0xbe40a8(0x1e0),_0x12fc85=createHash(_0xbe40a8(0x1f0))[_0xbe40a8(0x1ed)](_0x417657)[_0xbe40a8(0x1e6)](_0xbe40a8(0x1e7))[_0xbe40a8(0x1db)](0x0,0xc);return'ak_'+_0x40d46a+'_'+_0x12fc85;}export function getAppCacheFilePath(_0x5d2f86,_0x2ea16f){const _0x5429a5=a2_0x11ac;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x5429a5(0x1d5),_0x5d2f86,fingerprintAccessKey(_0x2ea16f),_0x5429a5(0x1e5));}function a2_0x3f1f(){const _0x580a77=['21YptBQR','slice','EACCES','4787420mqwTKl','504388LpUCvt','parse','unknown','items','3440423PPuimQ','229860OTWDFO','isArray','my-apps.json','digest','hex','EPERM','appCode','stringify','find','.tmp','update','423fAtPWL','utf8','sha256','21140VVVwQu','code','853684YFhcpa','835zKdKGs','cache','8HVPFDj','trim','2598ZZAQMR','EXDEV'];a2_0x3f1f=function(){return _0x580a77;};return a2_0x3f1f();}export function readCachedAppList(_0x46679e,_0x5f4c1e){const _0x371a7f=a2_0x11ac;if(!_0x5f4c1e?.['trim']())return null;const _0x4af009=getAppCacheFilePath(_0x46679e,_0x5f4c1e);if(!existsSync(_0x4af009))return null;try{const _0x58ee64=readFileSync(_0x4af009,_0x371a7f(0x1ef));if(!_0x58ee64['trim']())return null;const _0x34d46d=JSON[_0x371a7f(0x1df)](_0x58ee64);if(!Array[_0x371a7f(0x1e4)](_0x34d46d[_0x371a7f(0x1e1)]))return null;return _0x34d46d;}catch{return null;}}export function writeCachedAppList(_0x3642cb,_0x27daa6,_0x1d8797){const _0x6ddc73=a2_0x11ac,_0x546907=getAppCacheFilePath(_0x3642cb,_0x27daa6),_0x271223=dirname(_0x546907);!existsSync(_0x271223)&&mkdirSync(_0x271223,{'recursive':!![]});const _0x19e1a7=_0x546907+_0x6ddc73(0x1ec);try{writeFileSync(_0x19e1a7,JSON['stringify'](_0x1d8797,null,0x2)+'\x0a',{'encoding':_0x6ddc73(0x1ef),'mode':0x180});try{renameSync(_0x19e1a7,_0x546907);}catch(_0x560133){if(_0x560133[_0x6ddc73(0x1d2)]===_0x6ddc73(0x1e8)||_0x560133[_0x6ddc73(0x1d2)]===_0x6ddc73(0x1d9)||_0x560133[_0x6ddc73(0x1d2)]===_0x6ddc73(0x1dc)){writeFileSync(_0x546907,JSON[_0x6ddc73(0x1ea)](_0x1d8797,null,0x2)+'\x0a',{'encoding':_0x6ddc73(0x1ef)});try{unlinkSync(_0x19e1a7);}catch{}}else throw _0x560133;}}catch(_0x317a12){try{unlinkSync(_0x19e1a7);}catch{}throw _0x317a12;}return _0x546907;}export function resolveCachedAppCode(_0x4ed90d,_0x2b06da,_0x4cb45e){const _0x44be03=a2_0x11ac;if(!_0x4ed90d)return undefined;const _0x4d9dd7=readCachedAppList(_0x2b06da,_0x4cb45e),_0x48f957=_0x4d9dd7?.[_0x44be03(0x1e1)][_0x44be03(0x1eb)](_0x4f22d1=>_0x4f22d1['appName']===_0x4ed90d&&isRuntimeAccessibleApp(_0x4f22d1));return _0x48f957?.[_0x44be03(0x1e9)]?.['trim']()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x34918e=a3_0x4c77;(function(_0x1fb1ff,_0x40e645){const _0x40c6d5=a3_0x4c77,_0x7cf77=_0x1fb1ff();while(!![]){try{const _0x38ebbe=-parseInt(_0x40c6d5(0xcd))/0x1+-parseInt(_0x40c6d5(0xd5))/0x2*(parseInt(_0x40c6d5(0xf7))/0x3)+parseInt(_0x40c6d5(0x107))/0x4*(-parseInt(_0x40c6d5(0xf0))/0x5)+parseInt(_0x40c6d5(0xf2))/0x6*(-parseInt(_0x40c6d5(0xfe))/0x7)+-parseInt(_0x40c6d5(0xeb))/0x8*(-parseInt(_0x40c6d5(0xf8))/0x9)+parseInt(_0x40c6d5(0xd7))/0xa*(-parseInt(_0x40c6d5(0xd2))/0xb)+parseInt(_0x40c6d5(0xda))/0xc;if(_0x38ebbe===_0x40e645)break;else _0x7cf77['push'](_0x7cf77['shift']());}catch(_0x303159){_0x7cf77['push'](_0x7cf77['shift']());}}}(a3_0x18f9,0xdb55a));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';function a3_0x18f9(){const _0x218462=['trim','appCode','No\x20apps\x20found\x20on\x20the\x20platform.','Refreshed\x20app\x20cache\x20with\x20','production','i18nInfo','isArray','Read\x20from\x20local\x20cache\x20only','286664YsUNdN','appcode','nonInteractive','isCurrent','boolean','8546095gUppEE','source','4915176JXgIbE','bool','../../commands/app/remote-source.js','length','\x20cached\x20app(s)\x20for\x20env=\x22','597xmznqq','342RwcTIq','Include\x20unpublished\x20apps\x20for\x20diagnostics','Read\x20app\x20list\x20from\x20local\x20cache\x20only','local','map','str','7PCBINW','string','remote','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','include-unpublished','Filter\x20by\x20environment\x20(default:\x20current\x20env)','No\x20cached\x20apps\x20found.','name','envName','4dhHQmi','filter','Target\x20environment\x20(default:\x20current\x20env)','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','pull','langs','env','mergedCli','read','no-cache','config','879140LqycRB','import','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','cache','fetchedAt','715sHQkJb','enableI18n','items','11090NzCAoZ','app','48670zGNAsU','projectPath','globalPath','52369260dLiobw','accessKey','list','write','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','\x20app(s)\x20for\x20env=\x22','appName','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','push'];a3_0x18f9=function(){return _0x218462;};return a3_0x18f9();}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x301b84,_0x102e02){const _0x47344c=a3_0x4c77,_0xe8d13={};for(const _0x29d7e2 of _0x102e02){const _0x4e4028=_0x29d7e2['type']===_0x47344c(0xef)?_0x301b84[_0x47344c(0xf3)](_0x29d7e2[_0x47344c(0x105)]):_0x301b84[_0x47344c(0xfd)](_0x29d7e2[_0x47344c(0x105)]);if(_0x4e4028!==''&&_0x4e4028!==![])_0xe8d13[_0x29d7e2[_0x47344c(0x105)]]=_0x4e4028;}if(_0x301b84[_0x47344c(0xed)])_0xe8d13[_0x47344c(0xed)]=!![];return _0xe8d13;}function normalizeLanguages(_0x57950c){const _0x2a3d45=a3_0x4c77;if(!Array[_0x2a3d45(0xe9)](_0x57950c))return[];return _0x57950c['filter'](_0x272c27=>typeof _0x272c27===_0x2a3d45(0xff))[_0x2a3d45(0xfc)](_0x375d66=>_0x375d66[_0x2a3d45(0xe3)]())[_0x2a3d45(0x108)](Boolean);}function buildRemoteAppI18nFields(_0x44da63){const _0x26182d=a3_0x4c77,_0x31108d=normalizeLanguages(_0x44da63['i18nInfo']?.[_0x26182d(0xc7)]);return{'enableI18n':typeof _0x44da63['enableI18n']==='boolean'?_0x44da63[_0x26182d(0xd3)]:null,'languages':_0x31108d,'i18nInfo':_0x44da63[_0x26182d(0xe8)]?{..._0x44da63[_0x26182d(0xe8)],'langs':_0x31108d[_0x26182d(0xf5)]?_0x31108d:null}:null};}function a3_0x4c77(_0x3e8c19,_0x3c8b40){_0x3e8c19=_0x3e8c19-0xc4;const _0x18f950=a3_0x18f9();let _0x4c77aa=_0x18f950[_0x3e8c19];return _0x4c77aa;}const listDef={'service':a3_0x34918e(0xd6),'command':a3_0x34918e(0xdc),'description':a3_0x34918e(0xc5),'risk':a3_0x34918e(0xca),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x34918e(0xc8),'type':a3_0x34918e(0xff),'description':a3_0x34918e(0x103),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x34918e(0xfb),'type':'boolean','description':a3_0x34918e(0xfa),'default':![]},{'name':a3_0x34918e(0xcb),'type':'boolean','description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':'include-unpublished','type':a3_0x34918e(0xef),'description':a3_0x34918e(0xf9),'default':![]}],async 'execute'(_0x3a200c){const _0x5a1fc8=a3_0x34918e,_0x48f3c3=_0x3a200c['str'](_0x5a1fc8(0xc8))||_0x3a200c[_0x5a1fc8(0x106)]||getEnv()||'production',_0x4ff6de=_0x3a200c[_0x5a1fc8(0xf3)]('local'),_0x56561c=_0x3a200c[_0x5a1fc8(0xf3)](_0x5a1fc8(0xcb)),_0x1fd7ff=_0x3a200c['bool'](_0x5a1fc8(0x102)),{readRawConfigWithLayers:_0x83118e,resolveDefaultAppSource:_0x3399d8,getLocalAppAliases:_0x276f30}=await import('../../context.js'),{getRemoteAppList:_0x5580d0}=await import(_0x5a1fc8(0xf4)),{config:_0x3d9c79,layers:_0x38fec4}=_0x83118e(),_0x8f0c4f=_0x3399d8(_0x38fec4),{defaultApp:_0x466f5d}=_0x3d9c79,_0x477d45=await _0x5580d0({'env':_0x48f3c3,'accessKey':_0x3a200c[_0x5a1fc8(0xdb)],'localOnly':_0x4ff6de,'noCache':_0x56561c}),_0xcb4352=_0x1fd7ff?_0x477d45['items']:filterRuntimeAccessibleApps(_0x477d45[_0x5a1fc8(0xd4)]),_0x2e0bea=_0x477d45[_0x5a1fc8(0xd4)]['length']-_0xcb4352[_0x5a1fc8(0xf5)],_0x94c605=_0xcb4352[_0x5a1fc8(0xfc)](_0x5e1e0a=>{const _0xc99b67=_0x5a1fc8;return{'name':_0x5e1e0a['appName'],'appcode':_0x5e1e0a[_0xc99b67(0xe4)],'named':!![],'definedIn':_0xc99b67(0x100),'isDefault':_0x5e1e0a[_0xc99b67(0xe0)]===_0x466f5d,...buildAppProfileListFields(_0x48f3c3),...buildRemoteAppI18nFields(_0x5e1e0a),'source':_0x477d45['source'],'owner':_0x5e1e0a['appOwnerName']??null,'status':_0x5e1e0a['appPublishStatus']??null,'cachedAt':_0x477d45[_0xc99b67(0xd1)]};}),_0x236920=_0x276f30(_0x3d9c79);let _0xabb150=0x0;for(const [_0x570bbe,_0x1e97de]of Object['entries'](_0x236920)){const _0x25b225=typeof _0x1e97de[_0x5a1fc8(0xec)]===_0x5a1fc8(0xff)?_0x1e97de['appcode'][_0x5a1fc8(0xe3)]():'';if(!_0x25b225)continue;const _0x2be2f0=findAppByCode(_0x477d45['items'],_0x25b225);if(!_0x1fd7ff&&_0x2be2f0&&!isRuntimeAccessibleApp(_0x2be2f0))continue;_0xabb150+=0x1,_0x94c605[_0x5a1fc8(0xe2)]({'name':_0x570bbe,'appcode':_0x25b225,'named':!![],'definedIn':_0x5a1fc8(0xfb),'isDefault':_0x570bbe===_0x466f5d,...buildAppProfileListFields(_0x48f3c3),'source':_0x5a1fc8(0xcc),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x94c605,_0x3a200c[_0x5a1fc8(0xc9)]);const _0xc16987=_0x94c605['find'](_0x4d1483=>_0x4d1483[_0x5a1fc8(0xee)]===!![]),_0x108d3f=_0x466f5d??_0xc16987?.[_0x5a1fc8(0x105)]??null,_0x5c35ec={'env':_0x48f3c3,'source':_0x477d45[_0x5a1fc8(0xf1)],'fetchedAt':_0x477d45[_0x5a1fc8(0xd1)],'cachePath':_0x477d45['cachePath'],'globalPath':_0x38fec4[_0x5a1fc8(0xd9)]??null,'projectPath':_0x38fec4[_0x5a1fc8(0xd8)]??null,'defaultApp':_0x108d3f,'defaultAppSource':_0x466f5d!=null?_0x8f0c4f:null,'localAliasCount':_0xabb150,'remoteTotal':_0x477d45[_0x5a1fc8(0xd4)][_0x5a1fc8(0xf5)],'hiddenUnpublishedCount':_0x2e0bea,'includeUnpublished':_0x1fd7ff};if(_0x94c605[_0x5a1fc8(0xf5)]===0x0)return{'ok':!![],'data':{'items':_0x94c605,'meta':_0x5c35ec},'message':_0x477d45[_0x5a1fc8(0xf1)]==='cache'?_0x5a1fc8(0x104):_0x5a1fc8(0xe5)};return{'ok':!![],'data':{'items':_0x94c605,'meta':_0x5c35ec}};}},pullDef={'service':'app','command':a3_0x34918e(0xc6),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':a3_0x34918e(0xdd),'confirmationDescription':a3_0x34918e(0xcf),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x34918e(0xc8),'type':'string','description':a3_0x34918e(0xc4),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x34918e(0xfb),'type':a3_0x34918e(0xef),'description':a3_0x34918e(0xea),'default':![]},{'name':a3_0x34918e(0xcb),'type':'boolean','description':a3_0x34918e(0xde),'default':![]}],async 'execute'(_0x5d036c){const _0xbb90e5=a3_0x34918e,_0x37365e=_0x5d036c[_0xbb90e5(0xfd)]('env')||_0x5d036c[_0xbb90e5(0x106)]||getEnv()||_0xbb90e5(0xe7),_0x50453a=_0x5d036c['bool'](_0xbb90e5(0xfb)),_0x452eb4=_0x5d036c[_0xbb90e5(0xf3)](_0xbb90e5(0xcb)),{getRemoteAppList:_0x258971}=await import(_0xbb90e5(0xf4)),_0xf63ad5=await _0x258971({'env':_0x37365e,'accessKey':_0x5d036c[_0xbb90e5(0xdb)],'localOnly':_0x50453a,'noCache':_0x452eb4});return{'ok':!![],'data':{'total':_0xf63ad5['items']['length'],'env':_0x37365e,'source':_0xf63ad5[_0xbb90e5(0xf1)],'fetchedAt':_0xf63ad5[_0xbb90e5(0xd1)],'cachePath':_0xf63ad5['cachePath']},'message':_0xf63ad5[_0xbb90e5(0xf1)]===_0xbb90e5(0xd0)?'Loaded\x20'+_0xf63ad5[_0xbb90e5(0xd4)][_0xbb90e5(0xf5)]+_0xbb90e5(0xf6)+_0x37365e+'\x22.':_0xbb90e5(0xe6)+_0xf63ad5[_0xbb90e5(0xd4)]['length']+_0xbb90e5(0xdf)+_0x37365e+'\x22.'};}},importDef={'service':a3_0x34918e(0xd6),'command':a3_0x34918e(0xce),'description':a3_0x34918e(0x101),'risk':a3_0x34918e(0xdd),'confirmationDescription':a3_0x34918e(0xe1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x56615){return await runAppImport(collectFlags(_0x56615,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24d43e,_0x588c76){const _0x176f4e=a4_0x33df,_0x241588=_0x24d43e();while(!![]){try{const _0x2f2b8e=parseInt(_0x176f4e(0x187))/0x1+parseInt(_0x176f4e(0x17b))/0x2*(-parseInt(_0x176f4e(0x178))/0x3)+parseInt(_0x176f4e(0x186))/0x4*(-parseInt(_0x176f4e(0x179))/0x5)+-parseInt(_0x176f4e(0x189))/0x6*(-parseInt(_0x176f4e(0x188))/0x7)+parseInt(_0x176f4e(0x181))/0x8+parseInt(_0x176f4e(0x175))/0x9+-parseInt(_0x176f4e(0x17d))/0xa;if(_0x2f2b8e===_0x588c76)break;else _0x241588['push'](_0x241588['shift']());}catch(_0x2bddd7){_0x241588['push'](_0x241588['shift']());}}}(a4_0x4d36,0x1b0b8));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';function a4_0x4d36(){const _0x26e30c=['App\x20','399150JXUtus','trim','Current\x20status:\x20','validation','1438792kCKtcH','appName','appPublishStatus','appCode','filter','229640oiOtVc','21980xwxlvY','7oipLqL','132558rgYmCO','UNKNOWN','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','393372CAeCVg','string','.\x20Publish\x20the\x20app\x20before\x20using\x20','178587pEepFe','5upLuyk','find','2kFjxCn'];a4_0x4d36=function(){return _0x26e30c;};return a4_0x4d36();}export function normalizeAppPublishStatus(_0x10cc83){const _0x205fe6=a4_0x33df;if(typeof _0x10cc83!==_0x205fe6(0x176))return null;const _0x5f496f=_0x10cc83[_0x205fe6(0x17e)]();return _0x5f496f?_0x5f496f['toUpperCase']():null;}export function isRuntimeAccessibleApp(_0x2799a3){const _0x3ef9e7=a4_0x33df;return normalizeAppPublishStatus(_0x2799a3[_0x3ef9e7(0x183)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x1ef283){const _0x53f664=a4_0x33df;return _0x1ef283[_0x53f664(0x185)](isRuntimeAccessibleApp);}export function findAppByName(_0x473912,_0x51b067){const _0x1ba8b6=a4_0x33df;return _0x473912[_0x1ba8b6(0x17a)](_0x56f392=>_0x56f392[_0x1ba8b6(0x182)]===_0x51b067);}function a4_0x33df(_0x1c7832,_0x3af94f){_0x1c7832=_0x1c7832-0x175;const _0x4d3694=a4_0x4d36();let _0x33df2a=_0x4d3694[_0x1c7832];return _0x33df2a;}export function findAppByCode(_0x4d3096,_0x595843){const _0x25ee65=a4_0x33df,_0x486ad1=_0x595843['trim']();if(!_0x486ad1)return undefined;return _0x4d3096[_0x25ee65(0x17a)](_0x20d141=>_0x20d141[_0x25ee65(0x184)]?.[_0x25ee65(0x17e)]()===_0x486ad1);}export function runtimeInaccessibleAppError(_0x1833a8,_0x29f973){const _0x2be514=a4_0x33df,_0x3f88a7=normalizeAppPublishStatus(_0x1833a8[_0x2be514(0x183)])??_0x2be514(0x18a);return CliErrors[_0x2be514(0x180)](_0x2be514(0x17c)+_0x29f973+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0x2be514(0x17f)+_0x3f88a7+_0x2be514(0x177)+CLI_BIN_NAME+_0x2be514(0x18b));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a5_0x36f4(){const _0x2e9262=['errorCode','errorMsg','parse','27Ypbxjf','6479462kTaxxa','826912WwlzYg','495918NbagjW','data','5fZdPhr','../../../mock/app-list.json','18714WbySGq','65452QyzMAV','532830wiwACF','utf-8','tableData','1814848rkFaJU','success','15VhqsOO','5SzmXpa'];a5_0x36f4=function(){return _0x2e9262;};return a5_0x36f4();}(function(_0x32107b,_0x3c5d93){const _0xf9bdcb=a5_0x3569,_0x588636=_0x32107b();while(!![]){try{const _0x308285=-parseInt(_0xf9bdcb(0x8e))/0x1*(-parseInt(_0xf9bdcb(0x86))/0x2)+-parseInt(_0xf9bdcb(0x8d))/0x3*(-parseInt(_0xf9bdcb(0x87))/0x4)+-parseInt(_0xf9bdcb(0x84))/0x5*(-parseInt(_0xf9bdcb(0x82))/0x6)+parseInt(_0xf9bdcb(0x8b))/0x7+parseInt(_0xf9bdcb(0x81))/0x8+-parseInt(_0xf9bdcb(0x92))/0x9*(-parseInt(_0xf9bdcb(0x88))/0xa)+-parseInt(_0xf9bdcb(0x80))/0xb;if(_0x308285===_0x3c5d93)break;else _0x588636['push'](_0x588636['shift']());}catch(_0x118290){_0x588636['push'](_0x588636['shift']());}}}(a5_0x36f4,0x23530));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 _0x6c63e1=a5_0x3569,_0x376de8=join(__dirname,_0x6c63e1(0x85)),_0x1a888b=readFileSync(_0x376de8,_0x6c63e1(0x89));return JSON[_0x6c63e1(0x91)](_0x1a888b);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}function a5_0x3569(_0x499774,_0x1e4368){_0x499774=_0x499774-0x80;const _0x36f460=a5_0x36f4();let _0x3569fb=_0x36f460[_0x499774];return _0x3569fb;}export function getMockRemoteAppItems(){const _0xdd3059=a5_0x3569,_0x3c14b8=getMockAppList();if(!_0x3c14b8[_0xdd3059(0x8c)])throw new Error('Mock\x20API\x20error:\x20'+_0x3c14b8[_0xdd3059(0x90)]+'\x20('+_0x3c14b8[_0xdd3059(0x8f)]+')');return _0x3c14b8[_0xdd3059(0x83)][_0xdd3059(0x8a)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3f932b,_0xba21d0){const _0x12d7dd=a6_0x27fc,_0xa8e942=_0x3f932b();while(!![]){try{const _0x18580f=parseInt(_0x12d7dd(0x118))/0x1+-parseInt(_0x12d7dd(0x11d))/0x2+-parseInt(_0x12d7dd(0x11b))/0x3*(parseInt(_0x12d7dd(0x122))/0x4)+parseInt(_0x12d7dd(0x11e))/0x5*(-parseInt(_0x12d7dd(0x11f))/0x6)+parseInt(_0x12d7dd(0x121))/0x7+parseInt(_0x12d7dd(0x117))/0x8*(parseInt(_0x12d7dd(0x123))/0x9)+parseInt(_0x12d7dd(0x126))/0xa;if(_0x18580f===_0xba21d0)break;else _0xa8e942['push'](_0xa8e942['shift']());}catch(_0x45c965){_0xa8e942['push'](_0xa8e942['shift']());}}}(a6_0x3ff7,0x91744));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_0x27fc(_0x5a55a3,_0x47feba){_0x5a55a3=_0x5a55a3-0x117;const _0x3ff75c=a6_0x3ff7();let _0x27fc18=_0x3ff75c[_0x5a55a3];return _0x27fc18;}function a6_0x3ff7(){const _0xef99cb=['remote','799352guBFYf','632322pZDZPB','items','fetchedAt','880323uMMgyZ','mock','778978thgNZB','55AkmCgD','537066xoEeWQ','cache','5089931oTLcnZ','4qLjyJc','36DSNEWH','APP_LIST_SOURCE','toLowerCase','5042000FFEnpW','toISOString'];a6_0x3ff7=function(){return _0xef99cb;};return a6_0x3ff7();}export function shouldUseMockRemoteApps(){const _0x44e7ef=a6_0x27fc,_0x4d926e=(productEnv(_0x44e7ef(0x124))||'')['trim']()[_0x44e7ef(0x125)]();return _0x4d926e===_0x44e7ef(0x11c);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x471673){const _0x24de24=a6_0x27fc,{env:_0x4775b9,accessKey:_0x28e2fd,localOnly:localOnly=![],noCache:noCache=![]}=_0x471673,_0x48e7d6=readCachedAppList(_0x4775b9,_0x28e2fd),_0x31e0d9=_0x28e2fd?.['trim']()?getAppCacheFilePath(_0x4775b9,_0x28e2fd):null;if(localOnly)return{'items':_0x48e7d6?.[_0x24de24(0x119)]??[],'source':_0x24de24(0x120),'fetchedAt':_0x48e7d6?.[_0x24de24(0x11a)]??null,'cachePath':_0x31e0d9};try{const _0x5174b3=await getRemoteAppItems(),_0xc735c1=shouldUseMockRemoteApps()?_0x24de24(0x11c):_0x24de24(0x128),_0x5ef1a7=new Date()[_0x24de24(0x127)](),_0x52da69=_0x28e2fd?.['trim']()?writeCachedAppList(_0x4775b9,_0x28e2fd,{'env':_0x4775b9,'fetchedAt':_0x5ef1a7,'source':_0xc735c1,'items':_0x5174b3}):null;return{'items':_0x5174b3,'source':_0xc735c1,'fetchedAt':_0x5ef1a7,'cachePath':_0x52da69};}catch(_0x41e1e1){if(!noCache&&_0x48e7d6)return{'items':_0x48e7d6['items'],'source':'cache','fetchedAt':_0x48e7d6[_0x24de24(0x11a)],'cachePath':_0x31e0d9};throw _0x41e1e1;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x460443,_0x430527){const _0x161627=a7_0x4ed4,_0x2777db=_0x460443();while(!![]){try{const _0x13294f=parseInt(_0x161627(0x1c0))/0x1*(-parseInt(_0x161627(0x1cb))/0x2)+parseInt(_0x161627(0x1cd))/0x3+-parseInt(_0x161627(0x1c6))/0x4+-parseInt(_0x161627(0x1ce))/0x5*(-parseInt(_0x161627(0x1c9))/0x6)+parseInt(_0x161627(0x1c7))/0x7+parseInt(_0x161627(0x1cc))/0x8+-parseInt(_0x161627(0x1ca))/0x9;if(_0x13294f===_0x430527)break;else _0x2777db['push'](_0x2777db['shift']());}catch(_0x19e444){_0x2777db['push'](_0x2777db['shift']());}}}(a7_0x2169,0x95ff0));export function enrichAppListItemsWithMergedSelection(_0x23d866,_0x30f7a8){const _0x23f8f1=a7_0x4ed4;if(!_0x30f7a8)return;const _0x5eaf16=!!(_0x30f7a8[_0x23f8f1(0x1d0)]??_0x30f7a8[_0x23f8f1(0x1c4)]);for(const _0x393f3c of _0x23d866){_0x393f3c[_0x23f8f1(0x1cf)]=![];}const _0x257b8e=_0x30f7a8[_0x23f8f1(0x1d1)]!=null?String(_0x30f7a8[_0x23f8f1(0x1d1)])[_0x23f8f1(0x1d2)]():'';if(_0x5eaf16){const _0x4cf601=_0x30f7a8[_0x23f8f1(0x1d0)]??_0x30f7a8[_0x23f8f1(0x1c4)];if(_0x4cf601){const _0x35dc4a=_0x23d866[_0x23f8f1(0x1c2)](_0x4307f9=>_0x4307f9[_0x23f8f1(0x1c8)]===!![]&&_0x4307f9[_0x23f8f1(0x1d3)]===_0x4cf601&&_0x4307f9[_0x23f8f1(0x1c1)]===_0x23f8f1(0x1c3)),_0x6c09e8=_0x35dc4a??_0x23d866[_0x23f8f1(0x1c2)](_0x292e91=>_0x292e91[_0x23f8f1(0x1c8)]===!![]&&_0x292e91['name']===_0x4cf601);if(_0x6c09e8){const _0x19ae06=String(_0x6c09e8[_0x23f8f1(0x1c5)]??'')[_0x23f8f1(0x1d2)]();if(!_0x257b8e||_0x19ae06===_0x257b8e){_0x6c09e8[_0x23f8f1(0x1cf)]=!![];return;}}}if(_0x257b8e){const _0x2ce27f=_0x23d866['find'](_0x54ed98=>String(_0x54ed98[_0x23f8f1(0x1c5)]??'')['trim']()===_0x257b8e);_0x2ce27f&&(_0x2ce27f['isCurrent']=!![]);}return;}if(!_0x257b8e)return;for(const _0x1792c9 of _0x23d866){String(_0x1792c9['appcode']??'')['trim']()===_0x257b8e&&(_0x1792c9[_0x23f8f1(0x1cf)]=!![]);}}function a7_0x4ed4(_0x18317e,_0x1d952e){_0x18317e=_0x18317e-0x1c0;const _0x21693b=a7_0x2169();let _0x4ed4cc=_0x21693b[_0x18317e];return _0x4ed4cc;}function a7_0x2169(){const _0x3f4108=['933951xskqff','959075rIQELD','isCurrent','currentApp','appCode','trim','name','21815ZkXkyu','definedIn','find','local','defaultApp','appcode','1165580zdglAQ','5988955xXJlHK','named','18ATKyiw','1071351DumsRh','90NYbBqb','2113328lSnjiX'];a7_0x2169=function(){return _0x3f4108;};return a7_0x2169();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a8_0x5d68(){const _0x33ebf5=['get','14OYeyXz','7642280rOmBpw','app-config','3BObBtw','414696UoNFmL','read','15126Ycsghr','Usage:\x20','11uDtFRP','57734DzNzRM','\x20app-config\x20get\x20<key>','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','args','712bKKDoS','appCode','key','1089528VSGuRQ','trim',',\x20appCode=','App\x20config\x20key','1345035TWEpHA','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','validation','4080qDtgcV','18495GidDEP'];a8_0x5d68=function(){return _0x33ebf5;};return a8_0x5d68();}const a8_0xb97605=a8_0x4cb2;(function(_0x50900c,_0x3a5231){const _0x3250a3=a8_0x4cb2,_0xff4a4e=_0x50900c();while(!![]){try{const _0x20dcb1=-parseInt(_0x3250a3(0x155))/0x1*(-parseInt(_0x3250a3(0x15b))/0x2)+parseInt(_0x3250a3(0x158))/0x3*(parseInt(_0x3250a3(0x15f))/0x4)+parseInt(_0x3250a3(0x14c))/0x5+-parseInt(_0x3250a3(0x156))/0x6*(parseInt(_0x3250a3(0x152))/0x7)+-parseInt(_0x3250a3(0x14f))/0x8*(parseInt(_0x3250a3(0x150))/0x9)+parseInt(_0x3250a3(0x153))/0xa*(parseInt(_0x3250a3(0x15a))/0xb)+-parseInt(_0x3250a3(0x162))/0xc;if(_0x20dcb1===_0x3a5231)break;else _0xff4a4e['push'](_0xff4a4e['shift']());}catch(_0x4a8b41){_0xff4a4e['push'](_0xff4a4e['shift']());}}}(a8_0x5d68,0xb4b8c));function a8_0x4cb2(_0x32ca09,_0x1cfe0c){_0x32ca09=_0x32ca09-0x149;const _0x5d683e=a8_0x5d68();let _0x4cb2c6=_0x5d683e[_0x32ca09];return _0x4cb2c6;}import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0xb97605(0x154),'command':a8_0xb97605(0x151),'description':a8_0xb97605(0x15d),'risk':a8_0xb97605(0x157),'args':[{'name':a8_0xb97605(0x161),'description':a8_0xb97605(0x14b),'required':!![]}],'flags':[],async 'execute'(_0x5107f4){const _0x16bd88=a8_0xb97605,_0x49cdf0=_0x5107f4[_0x16bd88(0x15e)][0x0]?.[_0x16bd88(0x149)]();if(!_0x49cdf0)throw CliErrors[_0x16bd88(0x14e)]('Missing\x20app-config\x20key.',_0x16bd88(0x159)+CLI_BIN_NAME+_0x16bd88(0x15c));try{const _0x4ffd4a=await getRuntimeAppConfigByKey(_0x5107f4[_0x16bd88(0x160)],_0x49cdf0);return{'ok':!![],'data':_0x4ffd4a};}catch{throw CliErrors['apiError']('Unable\x20to\x20get\x20app-config\x20value:\x20key='+_0x49cdf0+_0x16bd88(0x14a)+_0x5107f4[_0x16bd88(0x160)],_0x16bd88(0x14d));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x91ff56,_0x14d9b7){const _0x18bceb=a9_0x19d4,_0x5d01af=_0x91ff56();while(!![]){try{const _0x1da493=parseInt(_0x18bceb(0xcf))/0x1*(parseInt(_0x18bceb(0xd3))/0x2)+parseInt(_0x18bceb(0xd2))/0x3*(-parseInt(_0x18bceb(0xca))/0x4)+parseInt(_0x18bceb(0xcc))/0x5*(parseInt(_0x18bceb(0xcd))/0x6)+-parseInt(_0x18bceb(0xd0))/0x7+-parseInt(_0x18bceb(0xd1))/0x8*(parseInt(_0x18bceb(0xcb))/0x9)+-parseInt(_0x18bceb(0xce))/0xa*(parseInt(_0x18bceb(0xc9))/0xb)+parseInt(_0x18bceb(0xc8))/0xc;if(_0x1da493===_0x14d9b7)break;else _0x5d01af['push'](_0x5d01af['shift']());}catch(_0x2b1712){_0x5d01af['push'](_0x5d01af['shift']());}}}(a9_0xa1f9,0x9601e));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x19d4(_0x5a4a94,_0x4e1782){_0x5a4a94=_0x5a4a94-0xc8;const _0xa1f99c=a9_0xa1f9();let _0x19d48b=_0xa1f99c[_0x5a4a94];return _0x19d48b;}function a9_0xa1f9(){const _0x3cfa2c=['8440128WpCyON','33RLgKrl','71972WPJmBr','2310723hKBFYs','5JprUZx','5092122vjlIbr','101610inhRHv','41iIKlBk','3154298fxpOsT','32dFXIFS','87XaOaWM','53282tczbqX'];a9_0xa1f9=function(){return _0x3cfa2c;};return a9_0xa1f9();}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
|
+
const a10_0x253db9=a10_0x2a2c;(function(_0x1986ce,_0x426451){const _0x244af0=a10_0x2a2c,_0x3efa98=_0x1986ce();while(!![]){try{const _0x24cb14=-parseInt(_0x244af0(0x97))/0x1*(parseInt(_0x244af0(0x99))/0x2)+-parseInt(_0x244af0(0x9b))/0x3*(parseInt(_0x244af0(0xbf))/0x4)+-parseInt(_0x244af0(0x9c))/0x5+-parseInt(_0x244af0(0xa6))/0x6*(parseInt(_0x244af0(0x9f))/0x7)+parseInt(_0x244af0(0xb4))/0x8+parseInt(_0x244af0(0xd5))/0x9+parseInt(_0x244af0(0xbe))/0xa;if(_0x24cb14===_0x426451)break;else _0x3efa98['push'](_0x3efa98['shift']());}catch(_0x203a5f){_0x3efa98['push'](_0x3efa98['shift']());}}}(a10_0x1153,0xadb26));import{readFileSync}from'node:fs';import{resolve}from'node:path';import{approveApprovalTask,getApprovalTaskDetail,listApprovalTodo,transferApprovalTask}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a10_0x1153(){const _0x3b7fcd=['Transfer\x20a\x20pending\x20Runtime\x20task\x20to\x20an\x20allowed\x20user','/api/flow/task/transfer','number','Approval\x20or\x20transfer\x20comment','page','object','--variables\x20must\x20be\x20a\x20JSON\x20object.','Approved\x20approval\x20task\x20','3299568DCyHbh','--variables\x20@file\x20path\x20must\x20not\x20be\x20blank.','--page\x20must\x20be\x20a\x20positive\x20integer.','--variables\x20must\x20contain\x20valid\x20JSON.','approval','variables','mergedCli','Runtime\x20approval\x20task\x20ID','isSafeInteger','Number\x20of\x20todo\x20records\x20per\x20page','37303820aBojZv','112iuSMxD','--target-user-id\x20must\x20not\x20be\x20blank.','page-size','--page-size\x20must\x20be\x20a\x20positive\x20integer.','POST','Rejects\x20the\x20pending\x20Runtime\x20task\x20and\x20applies\x20the\x20workflow\x20rejection\x20path.\x20This\x20action\x20may\x20end\x20the\x20workflow\x20or\x20trigger\x20downstream\x20business\x20side\x20effects.','Show\x20an\x20approval\x20task\x20and\x20its\x20current\x20handling\x20permissions','app-code','/api/flow/approve','body','approve','Rejected\x20approval\x20task\x20','task-id','description','startsWith','Target\x20user\x20ID\x20selected\x20from\x20Runtime\x20transfer\x20candidates','appCode','transfer','validation','todo','Unable\x20to\x20read\x20--variables\x20file.','One-based\x20todo\x20page\x20number','9477864XxyHaU','Workflow\x20variables\x20as\x20JSON\x20or\x20@path/to/variables.json','configMissing','Preview:\x20transfer\x20an\x20approval\x20task','isArray','utf8','high-risk-write','249127fdyRCq','task-detail','6fCQkFI','read','148077IiYTvs','6068185GRxiLA','Preview:\x20reject\x20an\x20approval\x20task','str','49tAIjjq','build','comment','num','string','--task-id\x20must\x20not\x20be\x20blank.','Application\x20code\x20(falls\x20back\x20to\x20the\x20active\x20workspace\x20app)','978336tFoQUT','taskId','target-user-id','trim','Set\x20--app-code,\x20--appcode,\x20or\x20an\x20active\x20app\x20in\x20the\x20workspace\x20configuration.','Transfers\x20the\x20pending\x20Runtime\x20task\x20to\x20the\x20selected\x20eligible\x20user.\x20The\x20current\x20handler\x20may\x20lose\x20permission\x20to\x20process\x20the\x20task.'];a10_0x1153=function(){return _0x3b7fcd;};return a10_0x1153();}import{dryRun as a10_0x27d825}from'../../framework/dryrun.js';import{redactSensitiveValue}from'../../utils/redaction.js';import{parseLosslessJson}from'../../utils/lossless-json.js';const APP_CODE_FLAG={'name':a10_0x253db9(0xc6),'type':a10_0x253db9(0xa3),'description':a10_0x253db9(0xa5)},PAGE_FLAG={'name':a10_0x253db9(0xb0),'type':'number','default':0x1,'description':a10_0x253db9(0xd4)},PAGE_SIZE_FLAG={'name':a10_0x253db9(0xc1),'type':a10_0x253db9(0xae),'default':0x14,'description':a10_0x253db9(0xbd)},TASK_ID_FLAG={'name':a10_0x253db9(0xcb),'type':a10_0x253db9(0xa3),'required':!![],'description':a10_0x253db9(0xbb)},COMMENT_FLAG={'name':'comment','type':a10_0x253db9(0xa3),'description':a10_0x253db9(0xaf)},VARIABLES_FLAG={'name':a10_0x253db9(0xb9),'type':'string','description':a10_0x253db9(0x91)},TARGET_USER_ID_FLAG={'name':'target-user-id','type':a10_0x253db9(0xa3),'required':!![],'description':a10_0x253db9(0xce)};function requireTodoAppCode(_0x2a0fc5){const _0x41de11=a10_0x253db9,_0x4b6334=(_0x2a0fc5[_0x41de11(0x9e)](_0x41de11(0xc6))||_0x2a0fc5[_0x41de11(0xba)]?.[_0x41de11(0xcf)]||_0x2a0fc5[_0x41de11(0xcf)]||'')[_0x41de11(0xa9)]();if(!_0x4b6334)throw CliErrors[_0x41de11(0x92)](_0x41de11(0xaa));return _0x4b6334;}function requireTaskId(_0x128dd7){const _0x5a0eb1=a10_0x253db9,_0x433ba8=_0x128dd7[_0x5a0eb1(0x9e)](_0x5a0eb1(0xcb))[_0x5a0eb1(0xa9)]();if(!_0x433ba8)throw CliErrors[_0x5a0eb1(0xd1)](_0x5a0eb1(0xa4));return _0x433ba8;}function validatePage(_0x1077ac){const _0x41621e=a10_0x253db9,_0x42d34a=_0x1077ac[_0x41621e(0xa2)]('page',0x1),_0x269cf3=_0x1077ac['num'](_0x41621e(0xc1),0x14);if(!Number[_0x41621e(0xbc)](_0x42d34a)||_0x42d34a<0x1)throw CliErrors[_0x41621e(0xd1)](_0x41621e(0xb6));if(!Number[_0x41621e(0xbc)](_0x269cf3)||_0x269cf3<0x1)throw CliErrors['validation'](_0x41621e(0xc2));}function readVariables(_0x496002){const _0x2eb5cc=a10_0x253db9,_0x3edfef=_0x496002[_0x2eb5cc(0x9e)](_0x2eb5cc(0xb9))['trim']();if(!_0x3edfef)return undefined;let _0x28ca38=_0x3edfef;if(_0x3edfef[_0x2eb5cc(0xcd)]('@')){const _0x1147a9=_0x3edfef['slice'](0x1)[_0x2eb5cc(0xa9)]();if(!_0x1147a9)throw CliErrors[_0x2eb5cc(0xd1)](_0x2eb5cc(0xb5));try{_0x28ca38=readFileSync(resolve(_0x1147a9),_0x2eb5cc(0x95));}catch{throw CliErrors[_0x2eb5cc(0xd1)](_0x2eb5cc(0xd3));}}let _0x4e2f75;try{_0x4e2f75=parseLosslessJson(_0x28ca38);}catch{throw CliErrors[_0x2eb5cc(0xd1)](_0x2eb5cc(0xb7));}if(!_0x4e2f75||typeof _0x4e2f75!==_0x2eb5cc(0xb1)||Array[_0x2eb5cc(0x94)](_0x4e2f75))throw CliErrors[_0x2eb5cc(0xd1)](_0x2eb5cc(0xb2));return _0x4e2f75;}function a10_0x2a2c(_0x4e09ef,_0x5999fb){_0x4e09ef=_0x4e09ef-0x91;const _0x1153a3=a10_0x1153();let _0x2a2c3e=_0x1153a3[_0x4e09ef];return _0x2a2c3e;}function approvalBody(_0x12a306,_0x164a60){const _0x39dc38=a10_0x253db9,_0x3de50e={'taskId':requireTaskId(_0x12a306),'approved':_0x164a60},_0x4f260d=_0x12a306[_0x39dc38(0x9e)](_0x39dc38(0xa1)),_0x29a9c7=readVariables(_0x12a306);if(_0x4f260d)_0x3de50e['comment']=_0x4f260d;if(_0x29a9c7!==undefined)_0x3de50e[_0x39dc38(0xb9)]=_0x29a9c7;return _0x3de50e;}function transferBody(_0x3be4ee){const _0x5d9782=a10_0x253db9,_0x48de86=requireTaskId(_0x3be4ee),_0x5c0b93=_0x3be4ee['str'](_0x5d9782(0xa8))[_0x5d9782(0xa9)]();if(!_0x5c0b93)throw CliErrors[_0x5d9782(0xd1)](_0x5d9782(0xc0));const _0x63a92f={'taskId':_0x48de86,'targetUserId':_0x5c0b93},_0x58515b=_0x3be4ee[_0x5d9782(0x9e)](_0x5d9782(0xa1));if(_0x58515b)_0x63a92f['comment']=_0x58515b;return _0x63a92f;}function sanitized(_0x5eea52){return redactSensitiveValue(_0x5eea52);}const approvalTodo={'service':a10_0x253db9(0xb8),'command':a10_0x253db9(0xd2),'description':'List\x20the\x20current\x20user\x27s\x20approval\x20todo\x20tasks','risk':a10_0x253db9(0x9a),'requiresAppCode':![],'flags':[APP_CODE_FLAG,PAGE_FLAG,PAGE_SIZE_FLAG],async 'validate'(_0x5968ae){requireTodoAppCode(_0x5968ae),validatePage(_0x5968ae);},async 'execute'(_0x42b8de){const _0x341011=a10_0x253db9,_0x2e8554=requireTodoAppCode(_0x42b8de),_0x53a4d2=await listApprovalTodo(_0x2e8554,_0x42b8de[_0x341011(0xa2)]('page',0x1),_0x42b8de[_0x341011(0xa2)](_0x341011(0xc1),0x14));return{'ok':!![],'data':sanitized(_0x53a4d2)};}},approvalTaskDetail={'service':a10_0x253db9(0xb8),'command':a10_0x253db9(0x98),'description':a10_0x253db9(0xc5),'risk':a10_0x253db9(0x9a),'requiresAppCode':![],'flags':[TASK_ID_FLAG],async 'validate'(_0x561149){requireTaskId(_0x561149);},async 'execute'(_0x3b6f9a){const _0x2c2690=requireTaskId(_0x3b6f9a),_0x4ce98e=await getApprovalTaskDetail(_0x2c2690);return{'ok':!![],'data':sanitized(_0x4ce98e)};}},approvalApprove={'service':a10_0x253db9(0xb8),'command':a10_0x253db9(0xc9),'description':'Approve\x20a\x20pending\x20Runtime\x20task','risk':'high-risk-write','confirmationDescription':'Approves\x20the\x20pending\x20Runtime\x20task\x20and\x20advances\x20its\x20workflow.\x20This\x20action\x20may\x20trigger\x20downstream\x20nodes\x20and\x20business\x20side\x20effects.','requiresAppCode':![],'flags':[TASK_ID_FLAG,COMMENT_FLAG,VARIABLES_FLAG],async 'validate'(_0xc62680){approvalBody(_0xc62680,!![]);},async 'execute'(_0x108840){const _0x3c64a6=a10_0x253db9,_0x4d71a9=approvalBody(_0x108840,!![]),_0x99490d=await approveApprovalTask(_0x4d71a9);return{'ok':!![],'data':sanitized(_0x99490d),'message':_0x3c64a6(0xb3)+_0x4d71a9[_0x3c64a6(0xa7)]};},async 'dryRun'(_0x41b95d){const _0x9e35b=a10_0x253db9,_0x8019a=approvalBody(_0x41b95d,!![]);return a10_0x27d825(_0x9e35b(0xc3),_0x9e35b(0xc7))[_0x9e35b(0xc8)](sanitized(_0x8019a))['description']('Preview:\x20approve\x20an\x20approval\x20task')[_0x9e35b(0xa0)]();}},approvalReject={'service':'approval','command':'reject','description':'Reject\x20a\x20pending\x20Runtime\x20task','risk':a10_0x253db9(0x96),'confirmationDescription':a10_0x253db9(0xc4),'requiresAppCode':![],'flags':[TASK_ID_FLAG,COMMENT_FLAG,VARIABLES_FLAG],async 'validate'(_0x2a76dd){approvalBody(_0x2a76dd,![]);},async 'execute'(_0x4fb480){const _0x564979=a10_0x253db9,_0x6ef492=approvalBody(_0x4fb480,![]),_0x2b4d33=await approveApprovalTask(_0x6ef492);return{'ok':!![],'data':sanitized(_0x2b4d33),'message':_0x564979(0xca)+_0x6ef492[_0x564979(0xa7)]};},async 'dryRun'(_0x1c124e){const _0x1655af=a10_0x253db9,_0x58abf9=approvalBody(_0x1c124e,![]);return a10_0x27d825(_0x1655af(0xc3),_0x1655af(0xc7))['body'](sanitized(_0x58abf9))[_0x1655af(0xcc)](_0x1655af(0x9d))[_0x1655af(0xa0)]();}},approvalTransfer={'service':a10_0x253db9(0xb8),'command':a10_0x253db9(0xd0),'description':a10_0x253db9(0xac),'risk':'high-risk-write','confirmationDescription':a10_0x253db9(0xab),'requiresAppCode':![],'flags':[TASK_ID_FLAG,TARGET_USER_ID_FLAG,COMMENT_FLAG],async 'validate'(_0x33cc96){transferBody(_0x33cc96);},async 'execute'(_0x47944e){const _0x2b2169=transferBody(_0x47944e),_0x5b6087=await transferApprovalTask(_0x2b2169);return{'ok':!![],'data':sanitized(_0x5b6087),'message':'Transferred\x20approval\x20task\x20'+_0x2b2169['taskId']};},async 'dryRun'(_0x87012b){const _0x143e5c=a10_0x253db9,_0x4e14c3=transferBody(_0x87012b);return a10_0x27d825(_0x143e5c(0xc3),_0x143e5c(0xad))[_0x143e5c(0xc8)](sanitized(_0x4e14c3))[_0x143e5c(0xcc)](_0x143e5c(0x93))[_0x143e5c(0xa0)]();}};export const approvalDefinitions=[approvalTodo,approvalTaskDetail,approvalApprove,approvalReject,approvalTransfer];export{approvalApprove,approvalReject,approvalTaskDetail,approvalTodo,approvalTransfer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x486c57=a10_0x4fa9;(function(_0x4dc5d7,_0x2ec88c){const _0x1b1397=a10_0x4fa9,_0x478908=_0x4dc5d7();while(!![]){try{const _0x30f470=parseInt(_0x1b1397(0x1f8))/0x1*(-parseInt(_0x1b1397(0x23d))/0x2)+-parseInt(_0x1b1397(0x22a))/0x3*(-parseInt(_0x1b1397(0x22c))/0x4)+parseInt(_0x1b1397(0x231))/0x5+parseInt(_0x1b1397(0x214))/0x6*(-parseInt(_0x1b1397(0x234))/0x7)+parseInt(_0x1b1397(0x1f4))/0x8+-parseInt(_0x1b1397(0x1f7))/0x9*(parseInt(_0x1b1397(0x242))/0xa)+parseInt(_0x1b1397(0x229))/0xb*(parseInt(_0x1b1397(0x203))/0xc);if(_0x30f470===_0x2ec88c)break;else _0x478908['push'](_0x478908['shift']());}catch(_0x153985){_0x478908['push'](_0x478908['shift']());}}}(a10_0x1715,0x26462));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x486c57(0x21e),ARTIFACT_SOURCE_AGENT=a10_0x486c57(0x224),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x486c57(0x222),a10_0x486c57(0x23e),a10_0x486c57(0x221),a10_0x486c57(0x23a),a10_0x486c57(0x204),a10_0x486c57(0x20a)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x486c57(0x21b),'type':'string','required':!![],'description':a10_0x486c57(0x206)},ARTIFACT_NAME_FLAG={'name':a10_0x486c57(0x237),'type':a10_0x486c57(0x244),'description':a10_0x486c57(0x20d)},METADATA_FLAG={'name':a10_0x486c57(0x1f5),'type':a10_0x486c57(0x244),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x33dd9d){const _0x484e96=a10_0x486c57;return typeof _0x33dd9d===_0x484e96(0x227)&&_0x33dd9d!==null&&!Array[_0x484e96(0x21a)](_0x33dd9d);}function readSourceFile(_0x53db82){const _0x3bfb14=a10_0x486c57;if(!_0x53db82)throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x211));if(!existsSync(_0x53db82))throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x216)+_0x53db82);if(!statSync(_0x53db82)[_0x3bfb14(0x209)]())throw CliErrors[_0x3bfb14(0x1fd)](_0x3bfb14(0x213)+_0x53db82);const _0x2e689f=readFileSync(_0x53db82,_0x3bfb14(0x22f));return validateReactModuleSource(_0x2e689f),_0x2e689f;}function parseMetadata(_0x282a54){const _0x2604cd=a10_0x486c57;if(!_0x282a54)return undefined;let _0x3d1a5e;try{_0x3d1a5e=JSON[_0x2604cd(0x219)](_0x282a54);}catch{throw CliErrors[_0x2604cd(0x1fd)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x282a54);}if(!isPlainObject(_0x3d1a5e))throw CliErrors[_0x2604cd(0x1fd)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x289f21={..._0x3d1a5e};return delete _0x289f21[_0x2604cd(0x212)],_0x289f21;}function getPackageName(_0x4df82f){const _0x48a1af=a10_0x486c57;if(_0x4df82f['startsWith']('@')){const [_0x3a60e0,_0x55e1af]=_0x4df82f['split']('/');return _0x3a60e0&&_0x55e1af?_0x3a60e0+'/'+_0x55e1af:_0x4df82f;}return _0x4df82f[_0x48a1af(0x232)]('/')[0x0]||_0x4df82f;}function a10_0x1715(){const _0x168c93=['read','dayjs','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','length','477584EXiqqN','react-dom','Created\x20Artifact\x20','detail','verbose','20LwLCQA','join','string','Show\x20one\x20Artifact\x20by\x20id','favorite','2473096BAgdsR','metadata','exec','1270962vjRdXA','1iktPWE','num','flag','description','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','validation','/update','/client/artifact/create','deleted','/client/artifact/','body','108hpVeYC','antd','list','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','updateTime','boolean','isFile','@ant-design/icons','add','appCode','Artifact\x20display\x20name','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','Updated\x20Artifact\x20','POST','File\x20path\x20is\x20required.','compiledContent','File\x20is\x20not\x20a\x20regular\x20file:\x20','6HIxabk','some','File\x20not\x20found:\x20','Artifact\x20ID','content','parse','isArray','file','create','bool','react_module','artifact','filter','lodash','react','build','AGENT','str','lastIndex','object','trim','46651xtkylg','4335wBJnZE','source','764ZFfTLi','artifactType','map','utf8','Artifact\x20source\x20file\x20is\x20blank.','1537230imJPAg','split','createTime','1769243HQMzmt','Optional\x20favorite-state\x20filter','update','name','Preview:\x20create\x20react_module\x20Artifact'];a10_0x1715=function(){return _0x168c93;};return a10_0x1715();}function validateAllowedImports(_0x15bf73){const _0x4490c0=a10_0x486c57,_0x730cae=new Set();for(const _0x507ecc of IMPORT_SOURCE_PATTERNS){_0x507ecc[_0x4490c0(0x226)]=0x0;let _0x2d3b03;while((_0x2d3b03=_0x507ecc[_0x4490c0(0x1f6)](_0x15bf73))!==null){const _0x6cab64=_0x2d3b03[0x1]?.[_0x4490c0(0x228)]();_0x6cab64&&_0x730cae[_0x4490c0(0x20b)](_0x6cab64);}}const _0x43e272=[..._0x730cae]['map'](getPackageName)[_0x4490c0(0x220)](_0x25ca23=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x25ca23));if(_0x43e272[_0x4490c0(0x23c)]>0x0)throw CliErrors[_0x4490c0(0x1fd)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x43e272)][_0x4490c0(0x243)](',\x20'));}export function validateReactModuleSource(_0x3536cc){const _0x2b22a9=a10_0x486c57;if(!_0x3536cc[_0x2b22a9(0x228)]())throw CliErrors[_0x2b22a9(0x1fd)](_0x2b22a9(0x230));if(PAGE_LEVEL_PATTERNS[_0x2b22a9(0x215)](_0xade000=>_0xade000['test'](_0x3536cc)))throw CliErrors[_0x2b22a9(0x1fd)](_0x2b22a9(0x20e));validateAllowedImports(_0x3536cc);}function buildArtifactInput(_0x103f2f){const _0x4891ca=a10_0x486c57,_0x16994a=readSourceFile(_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x21b))),_0x3ac291=_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x237))[_0x4891ca(0x228)](),_0x2cdc75=parseMetadata(_0x103f2f[_0x4891ca(0x225)](_0x4891ca(0x1f5)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x3ac291?{'name':_0x3ac291}:{},'content':_0x16994a,..._0x2cdc75?{'metadata':_0x2cdc75}:{},'source':ARTIFACT_SOURCE_AGENT};}function a10_0x4fa9(_0x174cb3,_0x4c71c8){_0x174cb3=_0x174cb3-0x1f4;const _0x17156b=a10_0x1715();let _0x4fa91a=_0x17156b[_0x174cb3];return _0x4fa91a;}function summarizeArtifact(_0x2c9426){const _0x3eec41=a10_0x486c57;return{'id':_0x2c9426['id'],'name':_0x2c9426[_0x3eec41(0x237)],'artifactType':_0x2c9426['artifactType'],'source':_0x2c9426[_0x3eec41(0x22b)],'favorite':_0x2c9426['favorite'],'deleted':_0x2c9426['deleted'],'createTime':_0x2c9426[_0x3eec41(0x233)],'updateTime':_0x2c9426[_0x3eec41(0x207)]};}function detailArtifact(_0x3939aa){const _0x1a1845=a10_0x486c57;return{'id':_0x3939aa['id'],'appCode':_0x3939aa[_0x1a1845(0x20c)],'name':_0x3939aa['name'],'artifactType':_0x3939aa[_0x1a1845(0x22d)],'source':_0x3939aa[_0x1a1845(0x22b)],'favorite':_0x3939aa['favorite'],'deleted':_0x3939aa[_0x1a1845(0x200)],'content':_0x3939aa[_0x1a1845(0x218)]??'','compiledContent':_0x3939aa['compiledContent'],'metadata':_0x3939aa['metadata']??{},'createTime':_0x3939aa[_0x1a1845(0x233)],'updateTime':_0x3939aa['updateTime']};}function readFavoriteFlag(_0x54e0fe){const _0x4ffe16=a10_0x486c57,_0x1de892=_0x54e0fe[_0x4ffe16(0x1fa)]('favorite');return _0x1de892===undefined||_0x1de892===null||_0x1de892===''?undefined:_0x54e0fe[_0x4ffe16(0x21d)](_0x4ffe16(0x246));}const artifactList={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x205),'description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x486c57(0x239),'flags':[{'name':a10_0x486c57(0x22b),'type':a10_0x486c57(0x244),'description':a10_0x486c57(0x23b)},{'name':a10_0x486c57(0x246),'type':a10_0x486c57(0x208),'description':a10_0x486c57(0x235)},VERBOSE_FLAG],async 'execute'(_0x14aebf){const _0xcccd5d=a10_0x486c57,_0x266295=await listRuntimeArtifacts(_0x14aebf[_0xcccd5d(0x20c)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x14aebf[_0xcccd5d(0x225)](_0xcccd5d(0x22b))?{'source':_0x14aebf[_0xcccd5d(0x225)](_0xcccd5d(0x22b))}:{},...readFavoriteFlag(_0x14aebf)!==undefined?{'favorite':readFavoriteFlag(_0x14aebf)}:{}});return{'ok':!![],'data':{'total':_0x266295[_0xcccd5d(0x23c)],'items':_0x14aebf['bool'](_0xcccd5d(0x241))?_0x266295:_0x266295[_0xcccd5d(0x22e)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x240),'description':a10_0x486c57(0x245),'risk':a10_0x486c57(0x239),'flags':[{...ID_FLAG,'description':a10_0x486c57(0x217)}],async 'execute'(_0x28c68b){const _0xe2984c=await getRuntimeArtifact(_0x28c68b['num']('id'),_0x28c68b['appCode']);return{'ok':!![],'data':detailArtifact(_0xe2984c)};}},artifactCreate={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x21c),'description':'Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','risk':a10_0x486c57(0x239),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1b3cd8){const _0x810ff5=a10_0x486c57,_0x5eef12=buildArtifactInput(_0x1b3cd8),_0x496426=await createRuntimeArtifact(_0x1b3cd8['appCode'],_0x5eef12);return{'ok':!![],'data':detailArtifact(_0x496426),'message':_0x810ff5(0x23f)+_0x496426['id']+(_0x496426['name']?'\x20('+_0x496426[_0x810ff5(0x237)]+')':'')};},async 'dryRun'(_0x4a0666){const _0xe8ef39=a10_0x486c57,_0xe32b3b=buildArtifactInput(_0x4a0666);return dryRun(_0xe8ef39(0x210),_0xe8ef39(0x1ff))[_0xe8ef39(0x202)]({'appCode':_0x4a0666[_0xe8ef39(0x20c)],..._0xe32b3b})[_0xe8ef39(0x1fb)](_0xe8ef39(0x238))[_0xe8ef39(0x223)]();}},artifactUpdate={'service':a10_0x486c57(0x21f),'command':a10_0x486c57(0x236),'description':a10_0x486c57(0x1fc),'risk':a10_0x486c57(0x239),'flags':[{...ID_FLAG,'description':a10_0x486c57(0x217)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2adf24){const _0x2b9e4b=a10_0x486c57,_0x3e5c4c=_0x2adf24[_0x2b9e4b(0x1f9)]('id'),_0x239be6=buildArtifactInput(_0x2adf24),_0x193a03=await updateRuntimeArtifact(_0x3e5c4c,_0x2adf24[_0x2b9e4b(0x20c)],_0x239be6);return{'ok':!![],'data':detailArtifact(_0x193a03),'message':_0x2b9e4b(0x20f)+_0x193a03['id']+(_0x193a03['name']?'\x20('+_0x193a03[_0x2b9e4b(0x237)]+')':'')};},async 'dryRun'(_0x57c6ea){const _0x100255=a10_0x486c57,_0x286f68=_0x57c6ea[_0x100255(0x1f9)]('id'),_0x3a4544=buildArtifactInput(_0x57c6ea);return dryRun(_0x100255(0x210),_0x100255(0x201)+_0x286f68+_0x100255(0x1fe))[_0x100255(0x202)]({'appCode':_0x57c6ea['appCode'],..._0x3a4544})[_0x100255(0x1fb)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x286f68)[_0x100255(0x223)]();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a11_0x12e46d=a11_0x5caa;(function(_0x4a4ffb,_0x32dfdd){const _0xbdbb41=a11_0x5caa,_0x5283f7=_0x4a4ffb();while(!![]){try{const _0x4170a3=parseInt(_0xbdbb41(0x123))/0x1*(-parseInt(_0xbdbb41(0xdb))/0x2)+parseInt(_0xbdbb41(0xe6))/0x3*(parseInt(_0xbdbb41(0xf1))/0x4)+parseInt(_0xbdbb41(0xdf))/0x5*(parseInt(_0xbdbb41(0x10a))/0x6)+-parseInt(_0xbdbb41(0xe5))/0x7+parseInt(_0xbdbb41(0xfd))/0x8+parseInt(_0xbdbb41(0xe1))/0x9*(-parseInt(_0xbdbb41(0xfe))/0xa)+-parseInt(_0xbdbb41(0x105))/0xb*(parseInt(_0xbdbb41(0xf0))/0xc);if(_0x4170a3===_0x32dfdd)break;else _0x5283f7['push'](_0x5283f7['shift']());}catch(_0x13c589){_0x5283f7['push'](_0x5283f7['shift']());}}}(a11_0x35ed,0x4736f));function a11_0x5caa(_0x362b0f,_0x1a9364){_0x362b0f=_0x362b0f-0xda;const _0x35ed51=a11_0x35ed();let _0x5caa7a=_0x35ed51[_0x362b0f];return _0x5caa7a;}function a11_0x35ed(){const _0x5e0406=['split','read','36BMembH','4Wanamu','string','flag','antd','react_module','filter','parse','map','num','description','artifact','detail','2280840vmduUV','60VFYSst','boolean','createTime','exec','add','isArray','updateTime','1648823FPFoSU','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','appCode','source','--metadata\x20must\x20be\x20a\x20JSON\x20object.','3084ixHMdL','Artifact\x20source\x20file\x20is\x20blank.','File\x20path\x20is\x20required.','react-dom','dayjs','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','/update','favorite','includes','artifactType','startsWith','lodash','Artifact\x20ID','Created\x20Artifact\x20','create','Show\x20one\x20Artifact\x20by\x20id','Updated\x20Artifact\x20','Optional\x20favorite-state\x20filter','verbose','react','body','@ant-design/icons','File\x20is\x20not\x20a\x20regular\x20file:\x20','name','AGENT','2jfRRxb','trim','str','List\x20current-app\x20react_module\x20Artifacts','bool','lastIndex','Preview:\x20update\x20react_module\x20Artifact\x20','/client/artifact/create','Artifact\x20display\x20name','file','22124IlxUGr','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','deleted','4735oHkxlp','isFile','359361aVTBHj','build','length','join','1091370rifPfh','1161357wpiPut','POST','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','validation','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','some','metadata','Preview:\x20create\x20react_module\x20Artifact'];a11_0x35ed=function(){return _0x5e0406;};return a11_0x35ed();}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_0x12e46d(0xf5),ARTIFACT_SOURCE_AGENT=a11_0x12e46d(0x122),ALLOWED_REACT_MODULE_IMPORTS=[a11_0x12e46d(0x11d),a11_0x12e46d(0x10d),a11_0x12e46d(0x115),a11_0x12e46d(0x10e),a11_0x12e46d(0xf4),a11_0x12e46d(0x11f)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a11_0x12e46d(0xe4)](',\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':a11_0x12e46d(0xda),'type':a11_0x12e46d(0xf2),'required':!![],'description':a11_0x12e46d(0xdc)},ARTIFACT_NAME_FLAG={'name':a11_0x12e46d(0x121),'type':a11_0x12e46d(0xf2),'description':a11_0x12e46d(0x12b)},METADATA_FLAG={'name':a11_0x12e46d(0xec),'type':a11_0x12e46d(0xf2),'description':a11_0x12e46d(0xe8)};function isPlainObject(_0x53db8b){const _0x9fe9ef=a11_0x12e46d;return typeof _0x53db8b==='object'&&_0x53db8b!==null&&!Array[_0x9fe9ef(0x103)](_0x53db8b);}function readSourceFile(_0x14bf1d){const _0x1e0027=a11_0x12e46d;if(!_0x14bf1d)throw CliErrors[_0x1e0027(0xe9)](_0x1e0027(0x10c));if(!existsSync(_0x14bf1d))throw CliErrors[_0x1e0027(0xe9)]('File\x20not\x20found:\x20'+_0x14bf1d);if(!statSync(_0x14bf1d)[_0x1e0027(0xe0)]())throw CliErrors[_0x1e0027(0xe9)](_0x1e0027(0x120)+_0x14bf1d);const _0x5dc482=readFileSync(_0x14bf1d,'utf8');return validateReactModuleSource(_0x5dc482),_0x5dc482;}function parseMetadata(_0x57facc){const _0x15f8a2=a11_0x12e46d;if(!_0x57facc)return undefined;let _0x16e51d;try{_0x16e51d=JSON[_0x15f8a2(0xf7)](_0x57facc);}catch{throw CliErrors[_0x15f8a2(0xe9)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x57facc);}if(!isPlainObject(_0x16e51d))throw CliErrors[_0x15f8a2(0xe9)](_0x15f8a2(0x109));const _0x5dda75={..._0x16e51d};return delete _0x5dda75['compiledContent'],_0x5dda75;}function getPackageName(_0xc9e52d){const _0x41633b=a11_0x12e46d;if(_0xc9e52d[_0x41633b(0x114)]('@')){const [_0x5ba453,_0x432626]=_0xc9e52d[_0x41633b(0xee)]('/');return _0x5ba453&&_0x432626?_0x5ba453+'/'+_0x432626:_0xc9e52d;}return _0xc9e52d['split']('/')[0x0]||_0xc9e52d;}function validateAllowedImports(_0x11a327){const _0x429d22=a11_0x12e46d,_0x4d6f5a=new Set();for(const _0x46d396 of IMPORT_SOURCE_PATTERNS){_0x46d396[_0x429d22(0x128)]=0x0;let _0x17f891;while((_0x17f891=_0x46d396[_0x429d22(0x101)](_0x11a327))!==null){const _0x2fc5e5=_0x17f891[0x1]?.[_0x429d22(0x124)]();_0x2fc5e5&&_0x4d6f5a[_0x429d22(0x102)](_0x2fc5e5);}}const _0x2d7add=[..._0x4d6f5a][_0x429d22(0xf8)](getPackageName)[_0x429d22(0xf6)](_0x330189=>!ALLOWED_REACT_MODULE_IMPORTS[_0x429d22(0x112)](_0x330189));if(_0x2d7add['length']>0x0)throw CliErrors[_0x429d22(0xe9)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+'.\x20Unsupported:\x20'+[...new Set(_0x2d7add)][_0x429d22(0xe4)](',\x20'));}export function validateReactModuleSource(_0x5612bb){const _0x16ff5a=a11_0x12e46d;if(!_0x5612bb[_0x16ff5a(0x124)]())throw CliErrors[_0x16ff5a(0xe9)](_0x16ff5a(0x10b));if(PAGE_LEVEL_PATTERNS[_0x16ff5a(0xeb)](_0x5a9b0b=>_0x5a9b0b['test'](_0x5612bb)))throw CliErrors['validation'](_0x16ff5a(0x10f));validateAllowedImports(_0x5612bb);}function buildArtifactInput(_0x312199){const _0x354fd5=a11_0x12e46d,_0x318ba4=readSourceFile(_0x312199[_0x354fd5(0x125)](_0x354fd5(0xda))),_0x320a6e=_0x312199[_0x354fd5(0x125)](_0x354fd5(0x121))[_0x354fd5(0x124)](),_0x35a256=parseMetadata(_0x312199[_0x354fd5(0x125)](_0x354fd5(0xec)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x320a6e?{'name':_0x320a6e}:{},'content':_0x318ba4,..._0x35a256?{'metadata':_0x35a256}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x150dd7){const _0x1ed0b0=a11_0x12e46d;return{'id':_0x150dd7['id'],'name':_0x150dd7[_0x1ed0b0(0x121)],'artifactType':_0x150dd7[_0x1ed0b0(0x113)],'source':_0x150dd7[_0x1ed0b0(0x108)],'favorite':_0x150dd7['favorite'],'deleted':_0x150dd7['deleted'],'createTime':_0x150dd7['createTime'],'updateTime':_0x150dd7[_0x1ed0b0(0x104)]};}function detailArtifact(_0x33cfe2){const _0x4356a8=a11_0x12e46d;return{'id':_0x33cfe2['id'],'appCode':_0x33cfe2['appCode'],'name':_0x33cfe2[_0x4356a8(0x121)],'artifactType':_0x33cfe2[_0x4356a8(0x113)],'source':_0x33cfe2[_0x4356a8(0x108)],'favorite':_0x33cfe2[_0x4356a8(0x111)],'deleted':_0x33cfe2[_0x4356a8(0xde)],'content':_0x33cfe2['content']??'','compiledContent':_0x33cfe2['compiledContent'],'metadata':_0x33cfe2[_0x4356a8(0xec)]??{},'createTime':_0x33cfe2[_0x4356a8(0x100)],'updateTime':_0x33cfe2[_0x4356a8(0x104)]};}function readFavoriteFlag(_0x1570ec){const _0x527442=a11_0x12e46d,_0x3b4a3e=_0x1570ec[_0x527442(0xf3)](_0x527442(0x111));return _0x3b4a3e===undefined||_0x3b4a3e===null||_0x3b4a3e===''?undefined:_0x1570ec['bool'](_0x527442(0x111));}const artifactList={'service':a11_0x12e46d(0xfb),'command':'list','description':a11_0x12e46d(0x126),'risk':a11_0x12e46d(0xef),'flags':[{'name':a11_0x12e46d(0x108),'type':'string','description':a11_0x12e46d(0x106)},{'name':a11_0x12e46d(0x111),'type':a11_0x12e46d(0xff),'description':a11_0x12e46d(0x11b)},VERBOSE_FLAG],async 'execute'(_0x1f5703){const _0x1fb0b1=a11_0x12e46d,_0xcf444c=await listRuntimeArtifacts(_0x1f5703[_0x1fb0b1(0x107)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1f5703[_0x1fb0b1(0x125)](_0x1fb0b1(0x108))?{'source':_0x1f5703[_0x1fb0b1(0x125)](_0x1fb0b1(0x108))}:{},...readFavoriteFlag(_0x1f5703)!==undefined?{'favorite':readFavoriteFlag(_0x1f5703)}:{}});return{'ok':!![],'data':{'total':_0xcf444c[_0x1fb0b1(0xe3)],'items':_0x1f5703[_0x1fb0b1(0x127)](_0x1fb0b1(0x11c))?_0xcf444c:_0xcf444c['map'](summarizeArtifact)}};}},artifactDetail={'service':a11_0x12e46d(0xfb),'command':a11_0x12e46d(0xfc),'description':a11_0x12e46d(0x119),'risk':a11_0x12e46d(0xef),'flags':[{...ID_FLAG,'description':a11_0x12e46d(0x116)}],async 'execute'(_0x49579f){const _0x2f2785=a11_0x12e46d,_0x5cc522=await getRuntimeArtifact(_0x49579f[_0x2f2785(0xf9)]('id'),_0x49579f[_0x2f2785(0x107)]);return{'ok':!![],'data':detailArtifact(_0x5cc522)};}},artifactCreate={'service':'artifact','command':a11_0x12e46d(0x118),'description':a11_0x12e46d(0xdd),'risk':a11_0x12e46d(0xef),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x489abc){const _0x41f747=a11_0x12e46d,_0x57119f=buildArtifactInput(_0x489abc),_0x2df861=await createRuntimeArtifact(_0x489abc[_0x41f747(0x107)],_0x57119f);return{'ok':!![],'data':detailArtifact(_0x2df861),'message':_0x41f747(0x117)+_0x2df861['id']+(_0x2df861[_0x41f747(0x121)]?'\x20('+_0x2df861[_0x41f747(0x121)]+')':'')};},async 'dryRun'(_0xaab7d4){const _0x17cbc0=a11_0x12e46d,_0x19a780=buildArtifactInput(_0xaab7d4);return dryRun(_0x17cbc0(0xe7),_0x17cbc0(0x12a))[_0x17cbc0(0x11e)]({'appCode':_0xaab7d4[_0x17cbc0(0x107)],..._0x19a780})[_0x17cbc0(0xfa)](_0x17cbc0(0xed))[_0x17cbc0(0xe2)]();}},artifactUpdate={'service':a11_0x12e46d(0xfb),'command':'update','description':a11_0x12e46d(0xea),'risk':a11_0x12e46d(0xef),'flags':[{...ID_FLAG,'description':a11_0x12e46d(0x116)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x4378ad){const _0x1a4b73=a11_0x12e46d,_0x513507=_0x4378ad[_0x1a4b73(0xf9)]('id'),_0x19412d=buildArtifactInput(_0x4378ad),_0x496b91=await updateRuntimeArtifact(_0x513507,_0x4378ad[_0x1a4b73(0x107)],_0x19412d);return{'ok':!![],'data':detailArtifact(_0x496b91),'message':_0x1a4b73(0x11a)+_0x496b91['id']+(_0x496b91['name']?'\x20('+_0x496b91[_0x1a4b73(0x121)]+')':'')};},async 'dryRun'(_0x750bc0){const _0x342686=a11_0x12e46d,_0x41d72a=_0x750bc0[_0x342686(0xf9)]('id'),_0x5d3aa6=buildArtifactInput(_0x750bc0);return dryRun(_0x342686(0xe7),'/client/artifact/'+_0x41d72a+_0x342686(0x110))['body']({'appCode':_0x750bc0[_0x342686(0x107)],..._0x5d3aa6})['description'](_0x342686(0x129)+_0x41d72a)[_0x342686(0xe2)]();}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x1d0ba7=a11_0x3a39;(function(_0x30ab64,_0x395e04){const _0x1fc376=a11_0x3a39,_0x5e1e74=_0x30ab64();while(!![]){try{const _0x214d0a=-parseInt(_0x1fc376(0x18d))/0x1+-parseInt(_0x1fc376(0x198))/0x2+-parseInt(_0x1fc376(0x19d))/0x3+-parseInt(_0x1fc376(0x188))/0x4+parseInt(_0x1fc376(0x16e))/0x5+parseInt(_0x1fc376(0x158))/0x6+parseInt(_0x1fc376(0x15d))/0x7;if(_0x214d0a===_0x395e04)break;else _0x5e1e74['push'](_0x5e1e74['shift']());}catch(_0x4ed018){_0x5e1e74['push'](_0x5e1e74['shift']());}}}(a11_0xd23f,0xafefc));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';function a11_0x3a39(_0x53f0a4,_0x24b842){_0x53f0a4=_0x53f0a4-0x155;const _0xd23fe0=a11_0xd23f();let _0x3a398a=_0xd23fe0[_0x53f0a4];return _0x3a398a;}import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x5acb0b){const _0x1fac91=a11_0x3a39;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5acb0b['bool']('global'),'explicitProject':_0x5acb0b['bool'](_0x1fac91(0x19f)),'policy':_0x1fac91(0x167)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x4b19e8=a11_0x3a39;return crypto[_0x4b19e8(0x15b)]();}export function buildDeviceAuthUrl(_0x191897,_0x1cfdc8,_0x4e084c='lovrabet-cli'){const _0x38ac16=a11_0x3a39;return _0x191897+_0x38ac16(0x155)+encodeURIComponent(_0x1cfdc8)+_0x38ac16(0x179)+encodeURIComponent(_0x4e084c);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x457458=a11_0x3a39,_0x5eea90=getDeviceCodePath();if(!existsSync(_0x5eea90))return null;try{const _0x1a9593=readFileSync(_0x5eea90,{'encoding':_0x457458(0x183)}),_0x4fbec9=JSON[_0x457458(0x16f)](_0x1a9593);if(_0x4fbec9&&typeof _0x4fbec9['code']===_0x457458(0x18c)&&typeof _0x4fbec9[_0x457458(0x159)]===_0x457458(0x18c)&&(_0x4fbec9[_0x457458(0x164)]===_0x457458(0x186)||_0x4fbec9[_0x457458(0x164)]==='project'))return _0x4fbec9;}catch{}return null;}export function writeStoredDeviceCode(_0x39f5d1,_0x56fd56){const _0x176a55=a11_0x3a39,_0x20f190=getDeviceCodePath(),_0x965ac3=dirname(_0x20f190);!existsSync(_0x965ac3)&&mkdirSync(_0x965ac3,{'recursive':!![]});const _0x41b940={'code':_0x39f5d1,'createdAt':new Date()['toISOString'](),'scope':_0x56fd56};writeFileSync(_0x20f190,JSON[_0x176a55(0x185)](_0x41b940),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x72fb4b=getDeviceCodePath();try{unlinkSync(_0x72fb4b);}catch{}}export function isStoredDeviceCodeExpired(_0x414cb5){const _0x5a73a4=a11_0x3a39;return Date[_0x5a73a4(0x177)]()-new Date(_0x414cb5[_0x5a73a4(0x159)])[_0x5a73a4(0x175)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x11a78b,_0x4c71a7){const _0x41e46c=a11_0x3a39,_0x46bfb1=_0x11a78b+'/api/device-auth/token',_0x5dacf5=new AbortController(),_0x1994aa=setTimeout(()=>_0x5dacf5[_0x41e46c(0x191)](),0x2710),_0xfe83e7=await fetch(_0x46bfb1,{'method':_0x41e46c(0x16a),'headers':{'Content-Type':_0x41e46c(0x16b)},'body':JSON[_0x41e46c(0x185)]({'code':_0x4c71a7}),'signal':_0x5dacf5[_0x41e46c(0x184)]});clearTimeout(_0x1994aa);if(!_0xfe83e7['ok'])throw CliErrors['networkError'](_0x41e46c(0x18e)+_0xfe83e7[_0x41e46c(0x16c)]);const _0x192bf4=await _0xfe83e7['json'](),_0x38b151=_0x192bf4[_0x41e46c(0x17f)]&&typeof _0x192bf4[_0x41e46c(0x17f)]===_0x41e46c(0x180)?_0x192bf4[_0x41e46c(0x17f)]:_0x192bf4;if(!_0x38b151||typeof _0x38b151[_0x41e46c(0x16c)]!==_0x41e46c(0x18c))throw CliErrors[_0x41e46c(0x172)](_0x41e46c(0x169));return{'status':_0x38b151[_0x41e46c(0x16c)],'access_key':typeof _0x38b151[_0x41e46c(0x192)]==='string'?_0x38b151[_0x41e46c(0x192)]:undefined};}export async function pollDeviceToken(_0x3832fa,_0xb5f598,_0x361db1){const _0xf7d29a=a11_0x3a39;let _0x5413f0=0x0;for(let _0xb3a181=0x0;_0xb3a181<MAX_POLLS;_0xb3a181++){if(_0x361db1['aborted'])throw CliErrors[_0xf7d29a(0x193)](_0xf7d29a(0x176));let _0x5bef7a;try{_0x5bef7a=await fetchDeviceToken(_0x3832fa,_0xb5f598);}catch(_0x57ebd6){if(_0x57ebd6 instanceof Error&&_0x57ebd6[_0xf7d29a(0x163)]===_0xf7d29a(0x19b))throw CliErrors[_0xf7d29a(0x193)](_0xf7d29a(0x176));_0x5413f0++;if(_0x5413f0>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0xf7d29a(0x19c)](_0xf7d29a(0x162));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x5413f0+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0xf7d29a(0x1a1)),await sleep(POLL_INTERVAL_MS);continue;}_0x5413f0=0x0;if(_0x5bef7a['status']===_0xf7d29a(0x178)){if(!_0x5bef7a[_0xf7d29a(0x192)])throw CliErrors[_0xf7d29a(0x172)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x5bef7a[_0xf7d29a(0x192)];}if(_0x5bef7a[_0xf7d29a(0x16c)]===_0xf7d29a(0x18a)){deleteStoredDeviceCode();throw CliErrors[_0xf7d29a(0x157)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xa5349c=(_0xb3a181+0x1)*POLL_INTERVAL_MS,_0x3c8101=DEVICE_CODE_TTL_MS-_0xa5349c,_0x544f24=Math[_0xf7d29a(0x168)](_0x3c8101/0xea60),_0xc4907f=Math[_0xf7d29a(0x168)](_0x3c8101%0xea60/0x3e8);process[_0xf7d29a(0x195)][_0xf7d29a(0x15f)](_0xf7d29a(0x166)+_0x544f24+':'+String(_0xc4907f)[_0xf7d29a(0x156)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0xf7d29a(0x157)](_0xf7d29a(0x189));}function sleep(_0x480e96){return new Promise(_0x5ae4e3=>setTimeout(_0x5ae4e3,_0x480e96));}function a11_0xd23f(){const _0x2d1954=['POST','application/json','status','removeListener','3355100NxjLdx','parse','str','Verify:\x20','apiError','Invalid\x20access_key\x20returned\x20by\x20server.','Device\x20authorization\x20successful.','getTime','Device\x20authorization\x20cancelled.','now','success','&source=','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','\x20auth\x20device','url-only','boolean','once','data','object','device','test','utf8','signal','stringify','global','code','5401748yzijwb','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','expired','SIGINT','string','1234896KgtxmM','Device\x20auth\x20API\x20returned\x20HTTP\x20','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','trim','abort','access_key','cancelled','\x20config.','stderr','accessKey','log','1128954grzawa','bool','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','AbortError','networkError','4055991nCnXOV','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','project','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','),\x20retrying...','nonInteractive','Write\x20to\x20project\x20config','/device-auth?code=','padStart','validation','6264912ULCSpz','createdAt','source','randomUUID','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','24550897CYDzgX','lovrabet-cli','write','Write\x20to\x20global\x20config\x20(default)','auth','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','name','scope','AccessKey\x20saved\x20to\x20','\x0dWaiting\x20for\x20authorization...\x20','global-default','floor','Invalid\x20device\x20auth\x20response'];a11_0xd23f=function(){return _0x2d1954;};return a11_0xd23f();}export const authDeviceDefinition={'service':a11_0x1d0ba7(0x161),'command':a11_0x1d0ba7(0x181),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a11_0x1d0ba7(0x15f),'confirmationDescription':a11_0x1d0ba7(0x19e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1d0ba7(0x186),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x160),'default':!![]},{'name':a11_0x1d0ba7(0x19f),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x1a3),'default':![]},{'name':a11_0x1d0ba7(0x15a),'type':a11_0x1d0ba7(0x18c),'description':a11_0x1d0ba7(0x17a),'default':a11_0x1d0ba7(0x15e)},{'name':a11_0x1d0ba7(0x17c),'type':a11_0x1d0ba7(0x17d),'description':a11_0x1d0ba7(0x18f),'default':![]}],async 'execute'(_0x5eecec){const _0x3acf6e=a11_0x1d0ba7,_0x3c2bd4=resolveAuthScopeFlags(_0x5eecec),_0x4ee54c=_0x3c2bd4[_0x3acf6e(0x186)]?'global':_0x3acf6e(0x19f),_0x540b0e=readScopedConfig(_0x3c2bd4);if(_0x540b0e[_0x3acf6e(0x196)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x1fe228=(_0x5eecec[_0x3acf6e(0x170)](_0x3acf6e(0x15a))||'lovrabet-cli')[_0x3acf6e(0x190)](),_0x529401=getUserDomain(),_0x4a727b=readStoredDeviceCode(),_0x23bcff=_0x4a727b&&!isStoredDeviceCodeExpired(_0x4a727b)?_0x4a727b[_0x3acf6e(0x187)]:((()=>{const _0x5a4c28=generateDeviceCode();return writeStoredDeviceCode(_0x5a4c28,_0x4ee54c),_0x5a4c28;})()),_0xb306f3=buildDeviceAuthUrl(_0x529401,_0x23bcff,_0x1fe228);if(_0x5eecec[_0x3acf6e(0x199)](_0x3acf6e(0x17c)))return console[_0x3acf6e(0x197)](_0xb306f3),{'ok':!![]};writeCliSideChannelLine(_0x3acf6e(0x19a)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xb306f3),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3acf6e(0x1a0));if(_0x5eecec[_0x3acf6e(0x1a2)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x3acf6e(0x17b)),{'ok':!![],'message':_0x3acf6e(0x15c)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x4fad2a=new AbortController(),_0x135e52=()=>{const _0x38a8d8=_0x3acf6e;_0x4fad2a[_0x38a8d8(0x191)](),process['removeListener'](_0x38a8d8(0x18b),_0x135e52);};process[_0x3acf6e(0x17e)](_0x3acf6e(0x18b),_0x135e52);let _0x8f3cab;try{_0x8f3cab=await pollDeviceToken(_0x529401,_0x23bcff,_0x4fad2a[_0x3acf6e(0x184)]);}finally{process[_0x3acf6e(0x16d)](_0x3acf6e(0x18b),_0x135e52);}if(!ACCESS_KEY_PATTERN[_0x3acf6e(0x182)](_0x8f3cab))throw CliErrors[_0x3acf6e(0x172)](_0x3acf6e(0x173));const _0x3daabc=readScopedConfig(_0x3c2bd4);return _0x3daabc[_0x3acf6e(0x196)]=_0x8f3cab,writeScopedConfig(_0x3daabc,_0x3c2bd4),deleteStoredDeviceCode(),process['stderr'][_0x3acf6e(0x15f)]('\x0a'),writeCliSideChannelLine(_0x3acf6e(0x165)+_0x4ee54c+_0x3acf6e(0x194)),writeCliSideChannelLine(_0x3acf6e(0x171)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x3acf6e(0x174)};}};
|
|
1
|
+
const a12_0x90d57=a12_0x59cb;(function(_0x335c3b,_0x4d36a3){const _0x3f0a72=a12_0x59cb,_0x516d30=_0x335c3b();while(!![]){try{const _0x9d3df3=parseInt(_0x3f0a72(0x10c))/0x1+-parseInt(_0x3f0a72(0x11e))/0x2*(-parseInt(_0x3f0a72(0x126))/0x3)+parseInt(_0x3f0a72(0x11b))/0x4*(parseInt(_0x3f0a72(0x122))/0x5)+-parseInt(_0x3f0a72(0x125))/0x6+parseInt(_0x3f0a72(0x108))/0x7+-parseInt(_0x3f0a72(0xfa))/0x8*(-parseInt(_0x3f0a72(0xf6))/0x9)+parseInt(_0x3f0a72(0x120))/0xa*(-parseInt(_0x3f0a72(0x107))/0xb);if(_0x9d3df3===_0x4d36a3)break;else _0x516d30['push'](_0x516d30['shift']());}catch(_0x3b99e8){_0x516d30['push'](_0x516d30['shift']());}}}(a12_0x1f14,0xcc96e));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_0x1f14(){const _0x2f3225=['cancelled','floor','nonInteractive','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','accessKey','success','Device\x20authorization\x20cancelled.','scope','data','str','SIGINT','stringify','name','/device-auth?code=','Verify:\x20','Device\x20auth\x20API\x20returned\x20HTTP\x20','boolean','toISOString','json','36wiJEmH','createdAt','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20auth\x20API\x20error\x20(','1745072YqXQyt','status','removeListener','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','once','object','project','device','code','aborted','global-default','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','signal','22tlFzuR','1064567aEJSHA','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','POST','global','1488967rSyoBz','\x0dWaiting\x20for\x20authorization...\x20','expired','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','access_key','Write\x20to\x20project\x20config','validation','stderr','AccessKey\x20saved\x20to\x20','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','After\x20authorizing,\x20re-run:\x20','&source=','write','application/json','),\x20retrying...','3672104xhavQC','lovrabet-cli','auth','15844MVIVSw','source','18286490ifQGsZ','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','5mesXcf','log','networkError','1175472dYNfik','477rLISMQ','AbortError','trim','/api/device-auth/token','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','apiError','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Invalid\x20access_key\x20returned\x20by\x20server.','homeDirName','string','utf8','url-only','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.','\x20remaining'];a12_0x1f14=function(){return _0x2f3225;};return a12_0x1f14();}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(_0x418059){const _0x30a267=a12_0x59cb;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x418059['bool'](_0x30a267(0x10b)),'explicitProject':_0x418059['bool'](_0x30a267(0x100)),'policy':_0x30a267(0x104)}));}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(_0x2168f9,_0x41e915,_0x4c8dd5='lovrabet-cli'){const _0x14c7df=a12_0x59cb;return _0x2168f9+_0x14c7df(0xf0)+encodeURIComponent(_0x41e915)+_0x14c7df(0x117)+encodeURIComponent(_0x4c8dd5);}export function getDeviceCodePath(){const _0x5ebe9c=a12_0x59cb;return homedir()+'/'+PRODUCT_CONFIG[_0x5ebe9c(0xdd)]+'/.device-auth';}function a12_0x59cb(_0xd27d52,_0x4991c0){_0xd27d52=_0xd27d52-0xd7;const _0x1f142a=a12_0x1f14();let _0x59cba3=_0x1f142a[_0xd27d52];return _0x59cba3;}export function readStoredDeviceCode(){const _0x37afa9=a12_0x59cb,_0x5408d3=getDeviceCodePath();if(!existsSync(_0x5408d3))return null;try{const _0x277aca=readFileSync(_0x5408d3,{'encoding':_0x37afa9(0xdf)}),_0x3a751a=JSON['parse'](_0x277aca);if(_0x3a751a&&typeof _0x3a751a[_0x37afa9(0x102)]==='string'&&typeof _0x3a751a[_0x37afa9(0xf7)]===_0x37afa9(0xde)&&(_0x3a751a[_0x37afa9(0xea)]==='global'||_0x3a751a[_0x37afa9(0xea)]===_0x37afa9(0x100)))return _0x3a751a;}catch{}return null;}export function writeStoredDeviceCode(_0x442000,_0x9553c1){const _0x262c66=a12_0x59cb,_0x385e3d=getDeviceCodePath(),_0x1d7963=dirname(_0x385e3d);!existsSync(_0x1d7963)&&mkdirSync(_0x1d7963,{'recursive':!![]});const _0x419ace={'code':_0x442000,'createdAt':new Date()[_0x262c66(0xf4)](),'scope':_0x9553c1};writeFileSync(_0x385e3d,JSON['stringify'](_0x419ace),{'encoding':_0x262c66(0xdf),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x3c6633=getDeviceCodePath();try{unlinkSync(_0x3c6633);}catch{}}export function isStoredDeviceCodeExpired(_0x41f2f1){const _0x571877=a12_0x59cb;return Date['now']()-new Date(_0x41f2f1[_0x571877(0xf7)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x5533ff,_0x3ee293){const _0x23709f=a12_0x59cb,_0x3cec46=_0x5533ff+_0x23709f(0xd8),_0x3d522a=new AbortController(),_0x1d3665=setTimeout(()=>_0x3d522a['abort'](),0x2710),_0x5b90cb=await fetch(_0x3cec46,{'method':_0x23709f(0x10a),'headers':{'Content-Type':_0x23709f(0x119)},'body':JSON[_0x23709f(0xee)]({'code':_0x3ee293}),'signal':_0x3d522a['signal']});clearTimeout(_0x1d3665);if(!_0x5b90cb['ok'])throw CliErrors[_0x23709f(0x124)](_0x23709f(0xf2)+_0x5b90cb[_0x23709f(0xfb)]);const _0x58e489=await _0x5b90cb[_0x23709f(0xf5)](),_0x20a713=_0x58e489['data']&&typeof _0x58e489[_0x23709f(0xeb)]===_0x23709f(0xff)?_0x58e489[_0x23709f(0xeb)]:_0x58e489;if(!_0x20a713||typeof _0x20a713['status']!=='string')throw CliErrors[_0x23709f(0xda)]('Invalid\x20device\x20auth\x20response');return{'status':_0x20a713[_0x23709f(0xfb)],'access_key':typeof _0x20a713[_0x23709f(0x110)]===_0x23709f(0xde)?_0x20a713[_0x23709f(0x110)]:undefined};}export async function pollDeviceToken(_0x1866f6,_0x39b7a0,_0x49f480){const _0x20cadd=a12_0x59cb;let _0x4d32a6=0x0;for(let _0x35fbc5=0x0;_0x35fbc5<MAX_POLLS;_0x35fbc5++){if(_0x49f480[_0x20cadd(0x103)])throw CliErrors[_0x20cadd(0xe3)](_0x20cadd(0xe9));let _0xc6b3fa;try{_0xc6b3fa=await fetchDeviceToken(_0x1866f6,_0x39b7a0);}catch(_0x100988){if(_0x100988 instanceof Error&&_0x100988[_0x20cadd(0xef)]===_0x20cadd(0x127))throw CliErrors[_0x20cadd(0xe3)](_0x20cadd(0xe9));_0x4d32a6++;if(_0x4d32a6>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x20cadd(0x124)](_0x20cadd(0x105));writeCliSideChannelLine(_0x20cadd(0xf9)+_0x4d32a6+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x20cadd(0x11a)),await sleep(POLL_INTERVAL_MS);continue;}_0x4d32a6=0x0;if(_0xc6b3fa[_0x20cadd(0xfb)]===_0x20cadd(0xe8)){if(!_0xc6b3fa['access_key'])throw CliErrors[_0x20cadd(0xda)](_0x20cadd(0xdc));return _0xc6b3fa[_0x20cadd(0x110)];}if(_0xc6b3fa[_0x20cadd(0xfb)]===_0x20cadd(0x10e)){deleteStoredDeviceCode();throw CliErrors[_0x20cadd(0x112)](_0x20cadd(0x10f));}const _0x4a7e7b=(_0x35fbc5+0x1)*POLL_INTERVAL_MS,_0x3a6769=DEVICE_CODE_TTL_MS-_0x4a7e7b,_0x44e25d=Math[_0x20cadd(0xe4)](_0x3a6769/0xea60),_0x2e7258=Math[_0x20cadd(0xe4)](_0x3a6769%0xea60/0x3e8);process[_0x20cadd(0x113)][_0x20cadd(0x118)](_0x20cadd(0x10d)+_0x44e25d+':'+String(_0x2e7258)['padStart'](0x2,'0')+_0x20cadd(0xe2)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x20cadd(0x109));}function sleep(_0x2a21ca){return new Promise(_0x81b09b=>setTimeout(_0x81b09b,_0x2a21ca));}export const authDeviceDefinition={'service':a12_0x90d57(0x11d),'command':a12_0x90d57(0x101),'description':a12_0x90d57(0xd9),'risk':'write','confirmationDescription':a12_0x90d57(0xe1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a12_0x90d57(0x10b),'type':'boolean','description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a12_0x90d57(0x100),'type':a12_0x90d57(0xf3),'description':a12_0x90d57(0x111),'default':![]},{'name':a12_0x90d57(0x11f),'type':'string','description':a12_0x90d57(0xfd),'default':a12_0x90d57(0x11c)},{'name':a12_0x90d57(0xe0),'type':'boolean','description':'Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','default':![]}],async 'execute'(_0x5aff13){const _0x4b6842=a12_0x90d57,_0x4bbad1=resolveAuthScopeFlags(_0x5aff13),_0x3ff9e8=_0x4bbad1['global']?_0x4b6842(0x10b):_0x4b6842(0x100),_0x35fe08=readScopedConfig(_0x4bbad1);if(_0x35fe08[_0x4b6842(0xe7)])return{'ok':!![],'message':_0x4b6842(0xdb)};const _0x2ea874=(_0x5aff13[_0x4b6842(0xec)]('source')||'lovrabet-cli')[_0x4b6842(0xd7)](),_0x4ab9cf=getUserDomain(),_0x3fd20c=readStoredDeviceCode(),_0x45225a=_0x3fd20c&&!isStoredDeviceCodeExpired(_0x3fd20c)?_0x3fd20c[_0x4b6842(0x102)]:((()=>{const _0x34ea56=generateDeviceCode();return writeStoredDeviceCode(_0x34ea56,_0x3ff9e8),_0x34ea56;})()),_0x256cf=buildDeviceAuthUrl(_0x4ab9cf,_0x45225a,_0x2ea874);if(_0x5aff13['bool']('url-only'))return console[_0x4b6842(0x123)](_0x256cf),{'ok':!![]};writeCliSideChannelLine(_0x4b6842(0xe6)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x256cf),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4b6842(0x115));if(_0x5aff13[_0x4b6842(0xe5)])return writeCliSideChannelLine(_0x4b6842(0x116)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x4b6842(0x121)};writeCliSideChannelLine(_0x4b6842(0xf8));const _0x557135=new AbortController(),_0x165f20=()=>{const _0x1d38ec=_0x4b6842;_0x557135['abort'](),process[_0x1d38ec(0xfc)](_0x1d38ec(0xed),_0x165f20);};process[_0x4b6842(0xfe)](_0x4b6842(0xed),_0x165f20);let _0x524343;try{_0x524343=await pollDeviceToken(_0x4ab9cf,_0x45225a,_0x557135[_0x4b6842(0x106)]);}finally{process[_0x4b6842(0xfc)](_0x4b6842(0xed),_0x165f20);}if(!ACCESS_KEY_PATTERN['test'](_0x524343))throw CliErrors[_0x4b6842(0xda)](_0x4b6842(0xdc));const _0x3b3b3c=readScopedConfig(_0x4bbad1);return _0x3b3b3c[_0x4b6842(0xe7)]=_0x524343,writeScopedConfig(_0x3b3b3c,_0x4bbad1),deleteStoredDeviceCode(),process[_0x4b6842(0x113)]['write']('\x0a'),writeCliSideChannelLine(_0x4b6842(0x114)+_0x3ff9e8+'\x20config.'),writeCliSideChannelLine(_0x4b6842(0xf1)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|