@lovrabet/lovrabet-cli 2.3.1-beta.1 → 2.3.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.d.ts +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.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +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.d.ts +0 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/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/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet/references/lovrabet-config-commands.md +5 -6
- package/skills/lovrabet/references/lovrabet-config.md +8 -9
- package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
(function(_0x224d6a,_0x3ff998){const _0x194567=a0_0x3c01,_0x188499=_0x224d6a();while(!![]){try{const _0x52718c=parseInt(_0x194567(0x144))/0x1+parseInt(_0x194567(0x158))/0x2*(parseInt(_0x194567(0x15e))/0x3)+-parseInt(_0x194567(0x146))/0x4*(-parseInt(_0x194567(0x14e))/0x5)+-parseInt(_0x194567(0x142))/0x6*(parseInt(_0x194567(0x14a))/0x7)+parseInt(_0x194567(0x139))/0x8+-parseInt(_0x194567(0x15f))/0x9*(parseInt(_0x194567(0x140))/0xa)+-parseInt(_0x194567(0x157))/0xb;if(_0x52718c===_0x3ff998)break;else _0x188499['push'](_0x188499['shift']());}catch(_0x26ea4e){_0x188499['push'](_0x188499['shift']());}}}(a0_0x18cf,0x41c3d));import{jsx as a0_0x373d38}from'react/jsx-runtime';import a0_0xbea979 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';function a0_0x3c01(_0x4b8d6f,_0x404b61){_0x4b8d6f=_0x4b8d6f-0x139;const _0x18cfb2=a0_0x18cf();let _0x3c019b=_0x18cfb2[_0x4b8d6f];return _0x3c019b;}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_0xbea979(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);function a0_0x18cf(){const _0x2c7dc5=['hint','Hint:\x20','error','flatMap','code','\x20->\x20--','1298704VLhssL','7656kKkEhC','message','slice','ERR_USE_AFTER_CLOSE','exitCode','corrected','417fcxxcv','1631241cDxhvI','exit','cancelled','args','stderr','\x0aCancelled.\x0a','2452344QKZFtT','[preparse]\x20','write','log','./framework/preparse.js','ERR_STREAM_DESTROYED','help','20QYjzvw','defaultCommand','282mUNoOg','input','89298QZduKn','original','76waqIRl',':\x20--','ExitPromptError','length','61229euElSm','flags','definition','unknownCommand','61345BJfqos','Unexpected\x20error:','handler'];a0_0x18cf=function(){return _0x2c7dc5;};return a0_0x18cf();}async function main(){try{await run();}catch(_0x28afc8){handleError(_0x28afc8);}}async function run(){const _0x19ceb9=a0_0x3c01;let _0x201cbf=cli[_0x19ceb9(0x143)][0x0],_0x596584=cli[_0x19ceb9(0x143)][0x1];const _0x4692fc=cli[_0x19ceb9(0x14b)];try{const {correctFlags:_0x2c2d83}=await import(_0x19ceb9(0x13d)),_0x55b44c=getAllDefinitions()[_0x19ceb9(0x154)](_0x1d448d=>_0x1d448d[_0x19ceb9(0x14b)]??[]),{flags:_0x2bf3ef,corrections:_0x11e908}=_0x2c2d83(_0x4692fc,_0x55b44c);if(_0x11e908[_0x19ceb9(0x149)]>0x0){for(const _0x409a8d of _0x11e908){process[_0x19ceb9(0x163)][_0x19ceb9(0x13b)](_0x19ceb9(0x13a)+_0x409a8d[_0x19ceb9(0x150)]+_0x19ceb9(0x147)+_0x409a8d[_0x19ceb9(0x145)]+_0x19ceb9(0x156)+_0x409a8d[_0x19ceb9(0x15d)]+'\x0a');}Object['assign'](_0x4692fc,_0x2bf3ef);}}catch{}if(!_0x201cbf){const {waitUntilExit:_0x309a9d}=render(a0_0x373d38(Help,{}));await _0x309a9d();return;}const _0x566843=resolveRemovedCommand(_0x201cbf,_0x596584);if(_0x566843)throw CliErrors['validation'](_0x566843[_0x19ceb9(0x159)],_0x566843[_0x19ceb9(0x151)]);if(!isKnownService(_0x201cbf)){const _0xc4c19f=resolveDynamicServiceCommand(cli[_0x19ceb9(0x143)],_0x4692fc);if(_0xc4c19f){if(_0x4692fc[_0x19ceb9(0x13f)]){console['log'](generateCommandHelp(_0xc4c19f[_0x19ceb9(0x14c)]));return;}Object['assign'](_0x4692fc,_0xc4c19f[_0x19ceb9(0x14b)]);const _0x24e0dd=buildConfigFromFlags(_0x4692fc);await initGlobalEnvironment(_0x24e0dd);const _0x2e87e3=createPipelineEnv(_0x24e0dd,_0x4692fc);_0x2e87e3[_0x19ceb9(0x162)]=_0xc4c19f[_0x19ceb9(0x162)],await runCommand(_0xc4c19f[_0x19ceb9(0x14c)],_0x2e87e3);return;}if(_0x4692fc[_0x19ceb9(0x13f)]){const _0xc04662=generateDynamicServiceHelp(_0x201cbf);if(_0xc04662){console[_0x19ceb9(0x13c)](_0xc04662);return;}}const {waitUntilExit:_0x1df14a}=render(a0_0x373d38(Help,{}));await _0x1df14a();return;}const _0x31e86f=getServiceEntry(_0x201cbf);if(!_0x596584){if(_0x4692fc['help']){console[_0x19ceb9(0x13c)](generateServiceHelp(_0x201cbf));return;}if(_0x31e86f[_0x19ceb9(0x141)])_0x596584=_0x31e86f[_0x19ceb9(0x141)];else{console[_0x19ceb9(0x13c)](generateServiceHelp(_0x201cbf));return;}}const _0x5654de=findDefinition(_0x201cbf,_0x596584);!_0x5654de&&(console[_0x19ceb9(0x13c)](generateServiceHelp(_0x201cbf)),handleError(CliErrors[_0x19ceb9(0x14d)](_0x201cbf+'\x20'+_0x596584)));if(_0x4692fc['help']){console['log'](generateCommandHelp(_0x5654de));return;}const _0xb43470=buildConfigFromFlags(_0x4692fc);await initGlobalEnvironment(_0xb43470);const _0x384f72=createPipelineEnv(_0xb43470,_0x4692fc);_0x384f72[_0x19ceb9(0x162)]=cli[_0x19ceb9(0x143)][_0x19ceb9(0x15a)](0x2),await runCommand(_0x5654de,_0x384f72);}function handleError(_0x36fd68){const _0x30a638=a0_0x3c01;if(_0x36fd68 instanceof CliError){_0x36fd68['code']===_0x30a638(0x161)&&(process[_0x30a638(0x163)]['write'](_0x30a638(0x164)),process[_0x30a638(0x160)](0x0));console[_0x30a638(0x153)]('Error:\x20'+_0x36fd68[_0x30a638(0x159)]);if(_0x36fd68['hint'])console[_0x30a638(0x153)](_0x30a638(0x152)+_0x36fd68[_0x30a638(0x151)]);process[_0x30a638(0x160)](_0x36fd68[_0x30a638(0x15c)]);}isUserCancellation(_0x36fd68)&&(process[_0x30a638(0x163)][_0x30a638(0x13b)]('\x0aCancelled.\x0a'),process['exit'](0x0)),console[_0x30a638(0x153)](_0x30a638(0x14f),_0x36fd68),process[_0x30a638(0x160)](0x1);}function isUserCancellation(_0x42efcf){const _0x4e8948=a0_0x3c01;if(!(_0x42efcf instanceof Error))return![];if(_0x42efcf['name']===_0x4e8948(0x148))return!![];if(_0x42efcf[_0x4e8948(0x155)]===_0x4e8948(0x15b))return!![];if(_0x42efcf[_0x4e8948(0x155)]===_0x4e8948(0x13e))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x140dd6=a1_0x3612;(function(_0x478232,_0x1fee79){const _0x5500e1=a1_0x3612,_0x36c689=_0x478232();while(!![]){try{const _0x11605d=parseInt(_0x5500e1(0x9f))/0x1+parseInt(_0x5500e1(0xd6))/0x2+-parseInt(_0x5500e1(0xa4))/0x3+-parseInt(_0x5500e1(0x94))/0x4+-parseInt(_0x5500e1(0x9a))/0x5*(parseInt(_0x5500e1(0xd1))/0x6)+-parseInt(_0x5500e1(0xde))/0x7+parseInt(_0x5500e1(0xee))/0x8*(parseInt(_0x5500e1(0x104))/0x9);if(_0x11605d===_0x1fee79)break;else _0x36c689['push'](_0x36c689['shift']());}catch(_0xcae7e4){_0x36c689['push'](_0x36c689['shift']());}}}(a1_0x20f8,0x65be2));function a1_0x20f8(){const _0x10dbe2=['Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Filter\x20dataset\x20data','Returns\x20one\x20matching\x20business\x20record','trim','path','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','functionName','dataset_data_filter','length','##\x20List\x20datasets','GET','keyword','Show\x20runtime\x20API\x20documentation\x20by\x20code','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','/client/bff/endpoint/{appCode}/{functionName}','string','Current\x20app\x20code','API\x20doc\x20code\x20not\x20found:\x20','read','/api/custom/executeSql','join','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Endpoint\x20function\x20name','bf_execute','list','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','##\x20Dataset\x20detail','filter','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','API\x20doc\x20code,\x20for\x20example\x20dataset_list','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','32-character\x20dataset\x20code','appCode','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Get\x20dataset\x20detail','bf_detail','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','fields/properties\x20describe\x20data\x20shape','126ipQNEV','{\x22fieldName\x22:\x22value\x22}','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','/api/dataset/get-dataset-list-by-app-code','862876EYeDuH','Aggregate\x20dataset\x20records','Exact\x20endpoint\x20function\x20name','personal_bf_execute','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','toLowerCase','Dataset\x20detail','List\x20datasets','1922676ybxAdn','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','POST','/api/runtime-bff/personal/{id}/execute','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','dataset_list','dataset','dataset_data_create','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','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','summary','8CPnxGw','result\x20rows\x20contain\x20aggregate\x20aliases','{\x22param\x22:\x22value\x22}','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','tableData\x20contains\x20dataset\x20id/code/name','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','Execute\x20custom\x20SQL','Filter\x20dataset\x20records','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','includes','custom_sql','##\x20Filter\x20dataset\x20data','/api/{appCode}/{datasetCode}/create','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','whenToUse','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','api-doc','Returns\x20SQL\x20execution\x20payload','Returns\x20script\x20business\x20payload','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','8167401sgdcFd','Execute\x20Personal\x20Backend\x20Function','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Create\x20dataset\x20record','datasetCode','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','{\x22id\x22:123}','method','category','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','title','validation','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','192900qAWrsb','operations\x20describes\x20runtime\x20APIs','Execute\x20a\x20BF\x20endpoint\x20function','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','14450CdqhXd','code','dataset_data_get_one','paging.totalCount\x20gives\x20total\x20rows','Get\x20one\x20dataset\x20record','8676xQEBGr','where\x20filters\x20before\x20aggregation','None','detail','paging\x20contains\x20pagination','1641846EmTgEd','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','custom_sql_execute','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.'];a1_0x20f8=function(){return _0x10dbe2;};return a1_0x20f8();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x140dd6(0x10c),'type':'string','description':a1_0x140dd6(0xdf)},KEYWORD_FLAG={'name':a1_0x140dd6(0xb5),'type':a1_0x140dd6(0xb9),'description':a1_0x140dd6(0xf1)},DOC_CODE_FLAG={'name':a1_0x140dd6(0x9b),'type':'string','required':!![],'description':a1_0x140dd6(0xc7)},DOCS=[{'code':a1_0x140dd6(0xe8),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xdd),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xd5),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x140dd6(0xcc),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x140dd6(0xf2),a1_0x140dd6(0x9d)],'examples':[a1_0x140dd6(0xfc)],'notes':[a1_0x140dd6(0xd3)],'markdown':[a1_0x140dd6(0xb3),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0x140dd6(0xbe)]('\x0a')},{'code':'dataset_detail','category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xdc),'method':a1_0x140dd6(0xb4),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x140dd6(0xcd),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x140dd6(0x9b),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x140dd6(0xa1),'responseHighlights':[a1_0x140dd6(0xd0),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned',a1_0x140dd6(0x95)],'examples':[a1_0x140dd6(0xe3)],'notes':[a1_0x140dd6(0x99)],'markdown':[a1_0x140dd6(0xc4),'',a1_0x140dd6(0x110)][a1_0x140dd6(0xbe)]('\x0a')},{'code':a1_0x140dd6(0xb1),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xaa),'method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x140dd6(0xf5),'whenToUse':a1_0x140dd6(0xc6),'pathParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)},{'name':a1_0x140dd6(0x108),'description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xcb),'responseHighlights':['tableData\x20contains\x20records',a1_0x140dd6(0xa3)],'examples':[a1_0x140dd6(0xf3),a1_0x140dd6(0xec)],'notes':[a1_0x140dd6(0xff),a1_0x140dd6(0xeb),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x140dd6(0xfa),'',a1_0x140dd6(0xaf)][a1_0x140dd6(0xbe)]('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x140dd6(0xe9),'title':'Aggregate\x20dataset\x20data','method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x140dd6(0xd7),'whenToUse':a1_0x140dd6(0xda),'pathParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)},{'name':'datasetCode','description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xe6),'responseHighlights':[a1_0x140dd6(0xef),a1_0x140dd6(0xa0)],'examples':[a1_0x140dd6(0xc8)],'notes':[a1_0x140dd6(0xa6),a1_0x140dd6(0xf7)],'markdown':['##\x20Aggregate\x20dataset\x20data','','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x140dd6(0xbe)]('\x0a')},{'code':a1_0x140dd6(0x9c),'category':'dataset','title':a1_0x140dd6(0x9e),'method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/getOne','summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x140dd6(0x103),'pathParams':[{'name':'appCode','description':a1_0x140dd6(0xba)},{'name':a1_0x140dd6(0x108),'description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0x10a),'responseHighlights':[a1_0x140dd6(0xab)],'examples':[a1_0x140dd6(0x98)],'notes':[a1_0x140dd6(0xfd)],'markdown':a1_0x140dd6(0x106)},{'code':a1_0x140dd6(0xea),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0x107),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xfb),'summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x140dd6(0xa9),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x140dd6(0x108),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x140dd6(0xd2),'responseHighlights':[a1_0x140dd6(0x93)],'examples':[a1_0x140dd6(0xd4)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x140dd6(0xce),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':'GET','path':a1_0x140dd6(0xb8),'summary':a1_0x140dd6(0xcf),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x140dd6(0xca),'description':'Current\x20app\x20code'},{'name':a1_0x140dd6(0xb0),'description':a1_0x140dd6(0xd8)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xa1),'responseHighlights':[a1_0x140dd6(0x109)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x140dd6(0xe7)],'markdown':a1_0x140dd6(0x97)},{'code':a1_0x140dd6(0xc1),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x140dd6(0xe0),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x140dd6(0x96),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x140dd6(0xca),'description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x140dd6(0xc0)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xf0),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x140dd6(0xb7)],'notes':[a1_0x140dd6(0xc3)],'markdown':a1_0x140dd6(0xe4)},{'code':a1_0x140dd6(0xd9),'category':'bf','title':a1_0x140dd6(0x105),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xe1),'summary':a1_0x140dd6(0xa5),'whenToUse':a1_0x140dd6(0xe2),'pathParams':[{'name':'id','description':a1_0x140dd6(0xbf)}],'queryParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)}],'bodySchema':a1_0x140dd6(0xf0),'responseHighlights':[a1_0x140dd6(0x102)],'examples':[a1_0x140dd6(0xf6)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.'],'markdown':['##\x20Execute\x20Personal\x20Backend\x20Function','',a1_0x140dd6(0xa8)]['join']('\x0a')},{'code':a1_0x140dd6(0xa7),'category':a1_0x140dd6(0xf9),'title':'Execute\x20custom\x20SQL','method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xbd),'summary':a1_0x140dd6(0xf4),'whenToUse':a1_0x140dd6(0x10d),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x140dd6(0x101)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x140dd6(0xae)],'markdown':a1_0x140dd6(0xe5)}];function entrySummary(_0x5000e1){const _0x55f582=a1_0x140dd6;return{'code':_0x5000e1[_0x55f582(0x9b)],'category':_0x5000e1['category'],'method':_0x5000e1[_0x55f582(0x10b)],'path':_0x5000e1[_0x55f582(0xad)],'summary':_0x5000e1[_0x55f582(0xed)],'whenToUse':_0x5000e1[_0x55f582(0xfe)]};}function a1_0x3612(_0x32a591,_0x5d75ac){_0x32a591=_0x32a591-0x93;const _0x20f84c=a1_0x20f8();let _0x361273=_0x20f84c[_0x32a591];return _0x361273;}export function listApiDocEntries(_0x3c5491={}){const _0x4f311f=a1_0x140dd6,_0x48a0e3=String(_0x3c5491['category']||'')['trim'](),_0x42c9ff=String(_0x3c5491['keyword']||'')[_0x4f311f(0xac)]()['toLowerCase']();return DOCS[_0x4f311f(0xc5)](_0x2522a7=>{const _0x3614c0=_0x4f311f;if(_0x48a0e3&&_0x2522a7[_0x3614c0(0x10c)]!==_0x48a0e3)return![];if(!_0x42c9ff)return!![];return[_0x2522a7['code'],_0x2522a7[_0x3614c0(0x10c)],_0x2522a7['method'],_0x2522a7['path'],_0x2522a7[_0x3614c0(0xed)],_0x2522a7['whenToUse'],_0x2522a7[_0x3614c0(0x10e)]]['join']('\x20')[_0x3614c0(0xdb)]()[_0x3614c0(0xf8)](_0x42c9ff);})['map'](entrySummary);}export function getApiDocDetail(_0x31b3fe){const _0x3a3b3a=a1_0x140dd6,_0x460cec=DOCS['find'](_0x4e1f0e=>_0x4e1f0e['code']===_0x31b3fe);if(!_0x460cec)throw CliErrors[_0x3a3b3a(0x10f)](_0x3a3b3a(0xbb)+_0x31b3fe);return{..._0x460cec};}const apiDocList={'service':a1_0x140dd6(0x100),'command':a1_0x140dd6(0xc2),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x140dd6(0xbc),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3dfaf0){const _0x214985=a1_0x140dd6,_0x3f20d0=listApiDocEntries({'category':_0x3dfaf0['str'](_0x214985(0x10c)),'keyword':_0x3dfaf0['str'](_0x214985(0xb5))});return{'ok':!![],'data':{'total':_0x3f20d0[_0x214985(0xb2)],'items':_0x3f20d0}};}},apiDocDetail={'service':a1_0x140dd6(0x100),'command':a1_0x140dd6(0xa2),'description':a1_0x140dd6(0xb6),'risk':a1_0x140dd6(0xbc),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x6c019f){const _0x1b5aa9=a1_0x140dd6;return{'ok':!![],'data':getApiDocDetail(_0x6c019f['str'](_0x1b5aa9(0x9b)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x4588b6=a1_0x1ff0;(function(_0x25e222,_0xeb423f){const _0x33a8f7=a1_0x1ff0,_0x2a7a0e=_0x25e222();while(!![]){try{const _0x2a319b=parseInt(_0x33a8f7(0x20a))/0x1*(-parseInt(_0x33a8f7(0x1ac))/0x2)+parseInt(_0x33a8f7(0x1d8))/0x3*(parseInt(_0x33a8f7(0x1e1))/0x4)+-parseInt(_0x33a8f7(0x209))/0x5+parseInt(_0x33a8f7(0x201))/0x6*(parseInt(_0x33a8f7(0x1bf))/0x7)+parseInt(_0x33a8f7(0x1bc))/0x8+-parseInt(_0x33a8f7(0x1a9))/0x9+parseInt(_0x33a8f7(0x1a2))/0xa*(-parseInt(_0x33a8f7(0x1ce))/0xb);if(_0x2a319b===_0xeb423f)break;else _0x2a7a0e['push'](_0x2a7a0e['shift']());}catch(_0x50dce2){_0x2a7a0e['push'](_0x2a7a0e['shift']());}}}(a1_0x4337,0x70d98));function a1_0x4337(){const _0x10af78=['Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','summary','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','22bxgUBE','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','method','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','read','Returns\x20script\x20business\x20payload','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\x20dataset\x20detail','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Exact\x20endpoint\x20function\x20name','9TDLLDc','operations\x20describes\x20runtime\x20APIs','List\x20datasets\x20with\x20pagination','result\x20rows\x20contain\x20aggregate\x20aliases','##\x20List\x20datasets','/api/{appCode}/{datasetCode}/aggregate','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','/api/runtime-bff/personal/{id}/execute','843000qXFblq','join','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','{\x22param\x22:\x22value\x22}','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','dataset_data_get_one','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','whenToUse','tableData\x20contains\x20records','paging\x20contains\x20pagination','dataset_list','/api/{appCode}/{datasetCode}/getOne','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Execute\x20a\x20BF\x20endpoint\x20function','API\x20doc\x20code\x20not\x20found:\x20','Execute\x20Personal\x20Backend\x20Function','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Filter\x20dataset\x20records','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','title','Current\x20app\x20code','appCode','None','{\x22fieldName\x22:\x22value\x22}','toLowerCase','/api/{appCode}/{datasetCode}/create','includes','POST','1998YZbKQY','dataset','detail','Get\x20one\x20dataset\x20record','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','32-character\x20dataset\x20code','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','2403330TbYnxh','340303tHgwIF','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Show\x20runtime\x20API\x20documentation\x20by\x20code','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','dataset_data_filter','keyword','datasetCode','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','dataset_data_aggregate','code','/api/dataset/get-dataset-list-by-app-code','/api/dataset/getOneByCode?code={datasetCode}','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','Dataset\x20detail','/api/custom/executeSql','##\x20Filter\x20dataset\x20data','validation','str','length','4545770xlfOxj','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','find','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','custom_sql','GET','Execute\x20custom\x20SQL','770706pvLWFg','Get\x20BF\x20endpoint\x20function\x20contract','API\x20doc\x20code,\x20for\x20example\x20dataset_list','2OGGvLU','dataset_data_create','Execute\x20BF\x20endpoint\x20function','fields/properties\x20describe\x20data\x20shape','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','List\x20datasets','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','##\x20Aggregate\x20dataset\x20data','where\x20filters\x20before\x20aggregation','string','category','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','list','6354064aOPHtX','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','##\x20Dataset\x20detail','17899zOIEmx','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','trim','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','Endpoint\x20function\x20name','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Create\x20dataset\x20record','path','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','/client/bff/endpoint/{appCode}/{functionName}'];a1_0x4337=function(){return _0x10af78;};return a1_0x4337();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x4588b6(0x1b7),'description':a1_0x4588b6(0x1cb)},KEYWORD_FLAG={'name':a1_0x4588b6(0x210),'type':'string','description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':'code','type':a1_0x4588b6(0x1b7),'required':!![],'description':a1_0x4588b6(0x1ab)},DOCS=[{'code':a1_0x4588b6(0x1ec),'category':'dataset','title':a1_0x4588b6(0x1b3),'method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x199),'summary':a1_0x4588b6(0x1da),'whenToUse':a1_0x4588b6(0x20c),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name','paging.totalCount\x20gives\x20total\x20rows'],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x4588b6(0x1e3)],'markdown':[a1_0x4588b6(0x1dc),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0x4588b6(0x1e2)]('\x0a')},{'code':'dataset_detail','category':a1_0x4588b6(0x202),'title':a1_0x4588b6(0x19c),'method':a1_0x4588b6(0x1a7),'path':a1_0x4588b6(0x19a),'summary':a1_0x4588b6(0x1d5),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x4588b6(0x214),'description':a1_0x4588b6(0x207)}],'bodySchema':'None','responseHighlights':[a1_0x4588b6(0x1af),a1_0x4588b6(0x1a5),a1_0x4588b6(0x1d9)],'examples':[a1_0x4588b6(0x1c0)],'notes':[a1_0x4588b6(0x1d1)],'markdown':[a1_0x4588b6(0x1be),'',a1_0x4588b6(0x1f4)][a1_0x4588b6(0x1e2)]('\x0a')},{'code':a1_0x4588b6(0x20f),'category':'dataset','title':'Filter\x20dataset\x20data','method':a1_0x4588b6(0x200),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x4588b6(0x1f5),'whenToUse':a1_0x4588b6(0x1ba),'pathParams':[{'name':'appCode','description':a1_0x4588b6(0x1f9)},{'name':a1_0x4588b6(0x211),'description':a1_0x4588b6(0x207)}],'queryParams':[],'bodySchema':a1_0x4588b6(0x1df),'responseHighlights':[a1_0x4588b6(0x1ea),a1_0x4588b6(0x1eb)],'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':[a1_0x4588b6(0x212),a1_0x4588b6(0x1f2),a1_0x4588b6(0x1c5),a1_0x4588b6(0x1b9)],'markdown':[a1_0x4588b6(0x19e),'',a1_0x4588b6(0x1b0)][a1_0x4588b6(0x1e2)]('\x0a')},{'code':a1_0x4588b6(0x213),'category':a1_0x4588b6(0x202),'title':'Aggregate\x20dataset\x20data','method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x1dd),'summary':'Aggregate\x20dataset\x20records','whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':a1_0x4588b6(0x1fa),'description':a1_0x4588b6(0x1f9)},{'name':a1_0x4588b6(0x211),'description':a1_0x4588b6(0x207)}],'queryParams':[],'bodySchema':a1_0x4588b6(0x1f7),'responseHighlights':[a1_0x4588b6(0x1db),a1_0x4588b6(0x1b6)],'examples':[a1_0x4588b6(0x1d4)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x4588b6(0x1c2)],'markdown':[a1_0x4588b6(0x1b5),'',a1_0x4588b6(0x1e8)][a1_0x4588b6(0x1e2)]('\x0a')},{'code':a1_0x4588b6(0x1e7),'category':a1_0x4588b6(0x202),'title':'Get\x20one\x20dataset\x20record','method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x1ed),'summary':a1_0x4588b6(0x204),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':a1_0x4588b6(0x1fa),'description':'Current\x20app\x20code'},{'name':a1_0x4588b6(0x211),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x4588b6(0x1d6)],'markdown':a1_0x4588b6(0x1de)},{'code':a1_0x4588b6(0x1ad),'category':'dataset','title':a1_0x4588b6(0x1c7),'method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x1fe),'summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x4588b6(0x1ee),'pathParams':[{'name':a1_0x4588b6(0x1fa),'description':a1_0x4588b6(0x1f9)},{'name':a1_0x4588b6(0x211),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x4588b6(0x1fc),'responseHighlights':[a1_0x4588b6(0x20e)],'examples':[a1_0x4588b6(0x1bd)],'notes':[a1_0x4588b6(0x1b4)],'markdown':a1_0x4588b6(0x1c3)},{'code':'bf_detail','category':'bf','title':a1_0x4588b6(0x1aa),'method':'GET','path':a1_0x4588b6(0x1ca),'summary':a1_0x4588b6(0x20b),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x4588b6(0x1fa),'description':a1_0x4588b6(0x1f9)},{'name':'functionName','description':a1_0x4588b6(0x1d7)}],'queryParams':[],'bodySchema':a1_0x4588b6(0x1fb),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0x4588b6(0x1f3)],'notes':['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.'],'markdown':a1_0x4588b6(0x1f6)},{'code':'bf_execute','category':'bf','title':a1_0x4588b6(0x1ae),'method':a1_0x4588b6(0x200),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x4588b6(0x1ef),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x4588b6(0x1fa),'description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x4588b6(0x1c4)}],'queryParams':[],'bodySchema':a1_0x4588b6(0x1e5),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x4588b6(0x1e4)],'markdown':a1_0x4588b6(0x208)},{'code':'personal_bf_execute','category':'bf','title':a1_0x4588b6(0x1f1),'method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x1e0),'summary':a1_0x4588b6(0x19b),'whenToUse':a1_0x4588b6(0x1cf),'pathParams':[{'name':'id','description':a1_0x4588b6(0x1c6)}],'queryParams':[{'name':'appCode','description':a1_0x4588b6(0x1f9)}],'bodySchema':a1_0x4588b6(0x1e5),'responseHighlights':[a1_0x4588b6(0x1d3)],'examples':[a1_0x4588b6(0x1e6)],'notes':[a1_0x4588b6(0x206),a1_0x4588b6(0x1a3)],'markdown':['##\x20Execute\x20Personal\x20Backend\x20Function','',a1_0x4588b6(0x1cd)][a1_0x4588b6(0x1e2)]('\x0a')},{'code':'custom_sql_execute','category':a1_0x4588b6(0x1a6),'title':'Execute\x20custom\x20SQL','method':a1_0x4588b6(0x200),'path':a1_0x4588b6(0x19d),'summary':a1_0x4588b6(0x1a8),'whenToUse':a1_0x4588b6(0x205),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x4588b6(0x1c9)],'notes':[a1_0x4588b6(0x1b2)],'markdown':a1_0x4588b6(0x1b1)}];function entrySummary(_0x17d121){const _0xbdee41=a1_0x4588b6;return{'code':_0x17d121[_0xbdee41(0x214)],'category':_0x17d121[_0xbdee41(0x1b8)],'method':_0x17d121[_0xbdee41(0x1d0)],'path':_0x17d121[_0xbdee41(0x1c8)],'summary':_0x17d121[_0xbdee41(0x1cc)],'whenToUse':_0x17d121[_0xbdee41(0x1e9)]};}export function listApiDocEntries(_0x5beb81={}){const _0x52a74f=a1_0x4588b6,_0x351eff=String(_0x5beb81['category']||'')[_0x52a74f(0x1c1)](),_0x3fd01e=String(_0x5beb81[_0x52a74f(0x210)]||'')[_0x52a74f(0x1c1)]()[_0x52a74f(0x1fd)]();return DOCS['filter'](_0x460380=>{const _0xb743f6=_0x52a74f;if(_0x351eff&&_0x460380[_0xb743f6(0x1b8)]!==_0x351eff)return![];if(!_0x3fd01e)return!![];return[_0x460380[_0xb743f6(0x214)],_0x460380[_0xb743f6(0x1b8)],_0x460380[_0xb743f6(0x1d0)],_0x460380['path'],_0x460380[_0xb743f6(0x1cc)],_0x460380[_0xb743f6(0x1e9)],_0x460380[_0xb743f6(0x1f8)]]['join']('\x20')['toLowerCase']()[_0xb743f6(0x1ff)](_0x3fd01e);})['map'](entrySummary);}function a1_0x1ff0(_0x55bc81,_0x1058bf){_0x55bc81=_0x55bc81-0x199;const _0x433720=a1_0x4337();let _0x1ff0d4=_0x433720[_0x55bc81];return _0x1ff0d4;}export function getApiDocDetail(_0x591176){const _0x44478a=a1_0x4588b6,_0x178097=DOCS[_0x44478a(0x1a4)](_0x4a7bf8=>_0x4a7bf8[_0x44478a(0x214)]===_0x591176);if(!_0x178097)throw CliErrors[_0x44478a(0x19f)](_0x44478a(0x1f0)+_0x591176);return{..._0x178097};}const apiDocList={'service':'api-doc','command':a1_0x4588b6(0x1bb),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x4588b6(0x1d2),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x50e6a1){const _0x3eaf6f=a1_0x4588b6,_0x16ce55=listApiDocEntries({'category':_0x50e6a1[_0x3eaf6f(0x1a0)](_0x3eaf6f(0x1b8)),'keyword':_0x50e6a1[_0x3eaf6f(0x1a0)]('keyword')});return{'ok':!![],'data':{'total':_0x16ce55[_0x3eaf6f(0x1a1)],'items':_0x16ce55}};}},apiDocDetail={'service':'api-doc','command':a1_0x4588b6(0x203),'description':a1_0x4588b6(0x20d),'risk':a1_0x4588b6(0x1d2),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x504133){const _0xece09f=a1_0x4588b6;return{'ok':!![],'data':getApiDocDetail(_0x504133[_0xece09f(0x1a0)](_0xece09f(0x214)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x33cce3,_0x508942){const _0x5f2105=a2_0x3ab7,_0xfefe15=_0x33cce3();while(!![]){try{const _0xbb36ef=-parseInt(_0x5f2105(0x128))/0x1+parseInt(_0x5f2105(0x13a))/0x2*(parseInt(_0x5f2105(0x134))/0x3)+-parseInt(_0x5f2105(0x12b))/0x4+-parseInt(_0x5f2105(0x13b))/0x5*(-parseInt(_0x5f2105(0x129))/0x6)+-parseInt(_0x5f2105(0x126))/0x7*(-parseInt(_0x5f2105(0x122))/0x8)+parseInt(_0x5f2105(0x132))/0x9*(parseInt(_0x5f2105(0x121))/0xa)+-parseInt(_0x5f2105(0x135))/0xb;if(_0xbb36ef===_0x508942)break;else _0xfefe15['push'](_0xfefe15['shift']());}catch(_0x2ede67){_0xfefe15['push'](_0xfefe15['shift']());}}}(a2_0x5f2a,0xe2199));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';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function a2_0x3ab7(_0x2a19bb,_0x2d53ce){_0x2a19bb=_0x2a19bb-0x120;const _0x5f2af4=a2_0x5f2a();let _0x3ab702=_0x5f2af4[_0x2a19bb];return _0x3ab702;}export function fingerprintAccessKey(_0x3b3711){const _0x4eccf5=a2_0x3ab7,_0x300234=_0x3b3711[_0x4eccf5(0x12a)](),_0x29a04a=_0x300234['slice'](-0x6)||_0x4eccf5(0x125),_0xd9d058=createHash(_0x4eccf5(0x133))[_0x4eccf5(0x137)](_0x300234)[_0x4eccf5(0x120)](_0x4eccf5(0x139))[_0x4eccf5(0x138)](0x0,0xc);return'ak_'+_0x29a04a+'_'+_0xd9d058;}function a2_0x5f2a(){const _0x4b50f2=['821133XTKuPY','sha256','3XZfaYJ','17875737hbuYCr','isArray','update','slice','hex','2199466yGRMqo','590cCdbav','my-apps.json','EXDEV','appName','items','digest','30hisEjo','8CrrnNX','cache','code','unknown','11897431DNxmBz','stringify','164560FBSrlX','36228CvpCrm','trim','4279316ohgubx','homeDirName','EPERM','parse','EACCES','find','utf8'];a2_0x5f2a=function(){return _0x4b50f2;};return a2_0x5f2a();}export function getAppCacheFilePath(_0x29ee83,_0x33a303){const _0x4c1843=a2_0x3ab7;return resolve(homedir(),PRODUCT_CONFIG[_0x4c1843(0x12c)],_0x4c1843(0x123),_0x29ee83,fingerprintAccessKey(_0x33a303),_0x4c1843(0x13c));}export function readCachedAppList(_0x415236,_0xd13d5f){const _0x5005b2=a2_0x3ab7;if(!_0xd13d5f?.['trim']())return null;const _0x5a6eca=getAppCacheFilePath(_0x415236,_0xd13d5f);if(!existsSync(_0x5a6eca))return null;try{const _0x29aaa4=readFileSync(_0x5a6eca,_0x5005b2(0x131));if(!_0x29aaa4['trim']())return null;const _0x4cae10=JSON[_0x5005b2(0x12e)](_0x29aaa4);if(!Array[_0x5005b2(0x136)](_0x4cae10[_0x5005b2(0x13f)]))return null;return _0x4cae10;}catch{return null;}}export function writeCachedAppList(_0xf8de31,_0x15b28f,_0x41dbe9){const _0x18767d=a2_0x3ab7,_0xf363c8=getAppCacheFilePath(_0xf8de31,_0x15b28f),_0x4628f8=dirname(_0xf363c8);!existsSync(_0x4628f8)&&mkdirSync(_0x4628f8,{'recursive':!![]});const _0x3ea4eb=_0xf363c8+'.tmp';try{writeFileSync(_0x3ea4eb,JSON[_0x18767d(0x127)](_0x41dbe9,null,0x2)+'\x0a',{'encoding':_0x18767d(0x131),'mode':0x180});try{renameSync(_0x3ea4eb,_0xf363c8);}catch(_0x59214e){if(_0x59214e[_0x18767d(0x124)]===_0x18767d(0x12d)||_0x59214e[_0x18767d(0x124)]===_0x18767d(0x13d)||_0x59214e[_0x18767d(0x124)]===_0x18767d(0x12f)){writeFileSync(_0xf363c8,JSON[_0x18767d(0x127)](_0x41dbe9,null,0x2)+'\x0a',{'encoding':_0x18767d(0x131)});try{unlinkSync(_0x3ea4eb);}catch{}}else throw _0x59214e;}}catch(_0x110f9b){try{unlinkSync(_0x3ea4eb);}catch{}throw _0x110f9b;}return _0xf363c8;}export function resolveCachedAppCode(_0xca1ebd,_0x543b27,_0x289cc1){const _0x4fd055=a2_0x3ab7;if(!_0xca1ebd)return undefined;const _0x425df1=readCachedAppList(_0x543b27,_0x289cc1),_0x4822f9=_0x425df1?.[_0x4fd055(0x13f)][_0x4fd055(0x130)](_0x173e70=>_0x173e70[_0x4fd055(0x13e)]===_0xca1ebd&&isRuntimeAccessibleApp(_0x173e70));return _0x4822f9?.['appCode']?.[_0x4fd055(0x12a)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x5612e6=a3_0x341a;(function(_0x4a658d,_0x21c0aa){const _0x346875=a3_0x341a,_0x4dff90=_0x4a658d();while(!![]){try{const _0x312b03=-parseInt(_0x346875(0x10c))/0x1+-parseInt(_0x346875(0xe4))/0x2*(parseInt(_0x346875(0xd9))/0x3)+parseInt(_0x346875(0xfc))/0x4*(parseInt(_0x346875(0x103))/0x5)+parseInt(_0x346875(0xe0))/0x6+-parseInt(_0x346875(0xf8))/0x7+parseInt(_0x346875(0x107))/0x8*(parseInt(_0x346875(0x105))/0x9)+parseInt(_0x346875(0xff))/0xa*(-parseInt(_0x346875(0xd4))/0xb);if(_0x312b03===_0x21c0aa)break;else _0x4dff90['push'](_0x4dff90['shift']());}catch(_0x5eb307){_0x4dff90['push'](_0x4dff90['shift']());}}}(a3_0x2ff1,0xaf3b4));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_0x2ff1(){const _0x237f4a=['5121492UxvRYC','Include\x20unpublished\x20apps\x20for\x20diagnostics','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','config','62UbWdvV','nonInteractive','envName','fetchedAt','isCurrent','write','list','map','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','production','string','\x20cached\x20app(s)\x20for\x20env=\x22','source','no-cache','mergedCli','globalPath','No\x20apps\x20found\x20on\x20the\x20platform.','appPublishStatus','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','bool','7527506cDjbSu','env','pull','../../context.js','4jcZhKt','items','Loaded\x20','10MxJRIx','i18nInfo','entries','accessKey','6483025GTUVNi','include-unpublished','3989691uGTHWp','enableI18n','24gtoWtN','read','../../commands/app/remote-source.js','name','boolean','279133BqXqan','filter','Filter\x20by\x20environment\x20(default:\x20current\x20env)','remote','length','2534774WnNALd','appOwnerName','projectPath','cachePath','app','113943JIKYtT','Read\x20from\x20local\x20cache\x20only','appcode','local','appName','str','cache'];a3_0x2ff1=function(){return _0x237f4a;};return a3_0x2ff1();}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x5650eb,_0x448c59){const _0x302362=a3_0x341a,_0x203be0={};for(const _0x34b449 of _0x448c59){const _0x4c10b7=_0x34b449['type']==='boolean'?_0x5650eb[_0x302362(0xf7)](_0x34b449[_0x302362(0x10a)]):_0x5650eb[_0x302362(0xde)](_0x34b449[_0x302362(0x10a)]);if(_0x4c10b7!==''&&_0x4c10b7!==![])_0x203be0[_0x34b449[_0x302362(0x10a)]]=_0x4c10b7;}if(_0x5650eb[_0x302362(0xe5)])_0x203be0[_0x302362(0xe5)]=!![];return _0x203be0;}function a3_0x341a(_0x1c1307,_0x100818){_0x1c1307=_0x1c1307-0xd3;const _0x2ff114=a3_0x2ff1();let _0x341aa6=_0x2ff114[_0x1c1307];return _0x341aa6;}function normalizeLanguages(_0x31cc99){const _0x137553=a3_0x341a;if(!Array['isArray'](_0x31cc99))return[];return _0x31cc99[_0x137553(0x10d)](_0x3cc5b3=>typeof _0x3cc5b3===_0x137553(0xee))[_0x137553(0xeb)](_0x219d7c=>_0x219d7c['trim']())[_0x137553(0x10d)](Boolean);}function buildRemoteAppI18nFields(_0x567bbe){const _0x2a33bd=a3_0x341a,_0x4b8fbd=normalizeLanguages(_0x567bbe[_0x2a33bd(0x100)]?.['langs']);return{'enableI18n':typeof _0x567bbe[_0x2a33bd(0x106)]==='boolean'?_0x567bbe[_0x2a33bd(0x106)]:null,'languages':_0x4b8fbd,'i18nInfo':_0x567bbe['i18nInfo']?{..._0x567bbe[_0x2a33bd(0x100)],'langs':_0x4b8fbd['length']?_0x4b8fbd:null}:null};}const listDef={'service':a3_0x5612e6(0xd8),'command':a3_0x5612e6(0xea),'description':a3_0x5612e6(0xe2),'risk':a3_0x5612e6(0x108),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x5612e6(0xee),'description':a3_0x5612e6(0x10e),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5612e6(0xdc),'type':a3_0x5612e6(0x10b),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x5612e6(0xf1),'type':'boolean','description':a3_0x5612e6(0xf6),'default':![]},{'name':a3_0x5612e6(0x104),'type':a3_0x5612e6(0x10b),'description':a3_0x5612e6(0xe1),'default':![]}],async 'execute'(_0x23e334){const _0x181a8b=a3_0x5612e6,_0xf2d7f9=_0x23e334[_0x181a8b(0xde)](_0x181a8b(0xf9))||_0x23e334[_0x181a8b(0xe6)]||getEnv()||_0x181a8b(0xed),_0x7b4412=_0x23e334[_0x181a8b(0xf7)](_0x181a8b(0xdc)),_0xc3c92a=_0x23e334[_0x181a8b(0xf7)](_0x181a8b(0xf1)),_0x153c6a=_0x23e334[_0x181a8b(0xf7)](_0x181a8b(0x104)),{readRawConfigWithLayers:_0x1c6358,resolveDefaultAppSource:_0x1d05ab,getLocalAppAliases:_0x1872e5}=await import(_0x181a8b(0xfb)),{getRemoteAppList:_0x210921}=await import(_0x181a8b(0x109)),{config:_0x343937,layers:_0xe8bec2}=_0x1c6358(),_0x531740=_0x1d05ab(_0xe8bec2),{defaultApp:_0x16b6e6}=_0x343937,_0x168c32=await _0x210921({'env':_0xf2d7f9,'accessKey':_0x23e334[_0x181a8b(0x102)],'localOnly':_0x7b4412,'noCache':_0xc3c92a}),_0x44f2f8=_0x153c6a?_0x168c32[_0x181a8b(0xfd)]:filterRuntimeAccessibleApps(_0x168c32[_0x181a8b(0xfd)]),_0x9a8faf=_0x168c32[_0x181a8b(0xfd)][_0x181a8b(0xd3)]-_0x44f2f8[_0x181a8b(0xd3)],_0x54e92b=_0x44f2f8[_0x181a8b(0xeb)](_0x2b2a74=>{const _0x52b214=_0x181a8b;return{'name':_0x2b2a74[_0x52b214(0xdd)],'appcode':_0x2b2a74['appCode'],'named':!![],'definedIn':_0x52b214(0x10f),'isDefault':_0x2b2a74[_0x52b214(0xdd)]===_0x16b6e6,...buildAppProfileListFields(_0xf2d7f9),...buildRemoteAppI18nFields(_0x2b2a74),'source':_0x168c32[_0x52b214(0xf0)],'owner':_0x2b2a74[_0x52b214(0xd5)]??null,'status':_0x2b2a74[_0x52b214(0xf5)]??null,'cachedAt':_0x168c32[_0x52b214(0xe7)]};}),_0x360ef1=_0x1872e5(_0x343937);let _0x55147f=0x0;for(const [_0x13821,_0x4b08b2]of Object[_0x181a8b(0x101)](_0x360ef1)){const _0x522324=typeof _0x4b08b2[_0x181a8b(0xdb)]===_0x181a8b(0xee)?_0x4b08b2[_0x181a8b(0xdb)]['trim']():'';if(!_0x522324)continue;const _0x3a21a4=findAppByCode(_0x168c32[_0x181a8b(0xfd)],_0x522324);if(!_0x153c6a&&_0x3a21a4&&!isRuntimeAccessibleApp(_0x3a21a4))continue;_0x55147f+=0x1,_0x54e92b['push']({'name':_0x13821,'appcode':_0x522324,'named':!![],'definedIn':'local','isDefault':_0x13821===_0x16b6e6,...buildAppProfileListFields(_0xf2d7f9),'source':_0x181a8b(0xe3),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x54e92b,_0x23e334[_0x181a8b(0xf2)]);const _0x4a7141=_0x54e92b['find'](_0x14a4fc=>_0x14a4fc[_0x181a8b(0xe8)]===!![]),_0x54917c=_0x16b6e6??_0x4a7141?.[_0x181a8b(0x10a)]??null,_0x4a610b={'env':_0xf2d7f9,'source':_0x168c32['source'],'fetchedAt':_0x168c32[_0x181a8b(0xe7)],'cachePath':_0x168c32[_0x181a8b(0xd7)],'globalPath':_0xe8bec2[_0x181a8b(0xf3)]??null,'projectPath':_0xe8bec2[_0x181a8b(0xd6)]??null,'defaultApp':_0x54917c,'defaultAppSource':_0x16b6e6!=null?_0x531740:null,'localAliasCount':_0x55147f,'remoteTotal':_0x168c32[_0x181a8b(0xfd)]['length'],'hiddenUnpublishedCount':_0x9a8faf,'includeUnpublished':_0x153c6a};if(_0x54e92b[_0x181a8b(0xd3)]===0x0)return{'ok':!![],'data':{'items':_0x54e92b,'meta':_0x4a610b},'message':_0x168c32[_0x181a8b(0xf0)]===_0x181a8b(0xdf)?'No\x20cached\x20apps\x20found.':_0x181a8b(0xf4)};return{'ok':!![],'data':{'items':_0x54e92b,'meta':_0x4a610b}};}},pullDef={'service':a3_0x5612e6(0xd8),'command':a3_0x5612e6(0xfa),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':a3_0x5612e6(0xe9),'confirmationDescription':'Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x5612e6(0xf9),'type':a3_0x5612e6(0xee),'description':'Target\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5612e6(0xdc),'type':a3_0x5612e6(0x10b),'description':a3_0x5612e6(0xda),'default':![]},{'name':a3_0x5612e6(0xf1),'type':a3_0x5612e6(0x10b),'description':a3_0x5612e6(0xf6),'default':![]}],async 'execute'(_0x413ac8){const _0x402c2c=a3_0x5612e6,_0x12832e=_0x413ac8[_0x402c2c(0xde)]('env')||_0x413ac8[_0x402c2c(0xe6)]||getEnv()||_0x402c2c(0xed),_0x475ace=_0x413ac8['bool'](_0x402c2c(0xdc)),_0x38629b=_0x413ac8[_0x402c2c(0xf7)](_0x402c2c(0xf1)),{getRemoteAppList:_0x189604}=await import(_0x402c2c(0x109)),_0x42a54a=await _0x189604({'env':_0x12832e,'accessKey':_0x413ac8[_0x402c2c(0x102)],'localOnly':_0x475ace,'noCache':_0x38629b});return{'ok':!![],'data':{'total':_0x42a54a['items'][_0x402c2c(0xd3)],'env':_0x12832e,'source':_0x42a54a['source'],'fetchedAt':_0x42a54a['fetchedAt'],'cachePath':_0x42a54a[_0x402c2c(0xd7)]},'message':_0x42a54a[_0x402c2c(0xf0)]===_0x402c2c(0xdf)?_0x402c2c(0xfe)+_0x42a54a[_0x402c2c(0xfd)]['length']+_0x402c2c(0xef)+_0x12832e+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x42a54a[_0x402c2c(0xfd)][_0x402c2c(0xd3)]+'\x20app(s)\x20for\x20env=\x22'+_0x12832e+'\x22.'};}},importDef={'service':a3_0x5612e6(0xd8),'command':'import','description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x5612e6(0xe9),'confirmationDescription':a3_0x5612e6(0xec),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x5a43b7){return await runAppImport(collectFlags(_0x5a43b7,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a4_0x2efe(_0x5ca669,_0x22d1cd){_0x5ca669=_0x5ca669-0x168;const _0x3dcf60=a4_0x3dcf();let _0x2efe13=_0x3dcf60[_0x5ca669];return _0x2efe13;}(function(_0x3c9657,_0xbeeda9){const _0x116d77=a4_0x2efe,_0x2a9918=_0x3c9657();while(!![]){try{const _0x435cec=-parseInt(_0x116d77(0x172))/0x1+-parseInt(_0x116d77(0x169))/0x2+-parseInt(_0x116d77(0x173))/0x3*(-parseInt(_0x116d77(0x171))/0x4)+-parseInt(_0x116d77(0x170))/0x5*(-parseInt(_0x116d77(0x177))/0x6)+parseInt(_0x116d77(0x176))/0x7+parseInt(_0x116d77(0x17c))/0x8*(parseInt(_0x116d77(0x17d))/0x9)+-parseInt(_0x116d77(0x174))/0xa;if(_0x435cec===_0xbeeda9)break;else _0x2a9918['push'](_0x2a9918['shift']());}catch(_0x5c15a8){_0x2a9918['push'](_0x2a9918['shift']());}}}(a4_0x3dcf,0x774bd));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x514e07){const _0x1e4182=a4_0x2efe;if(typeof _0x514e07!==_0x1e4182(0x16a))return null;const _0x3b493f=_0x514e07[_0x1e4182(0x17a)]();return _0x3b493f?_0x3b493f[_0x1e4182(0x17b)]():null;}export function isRuntimeAccessibleApp(_0x1043e0){const _0x1a30ee=a4_0x2efe;return normalizeAppPublishStatus(_0x1043e0[_0x1a30ee(0x178)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x36adb6){const _0xf14af6=a4_0x2efe;return _0x36adb6[_0xf14af6(0x16f)](isRuntimeAccessibleApp);}export function findAppByName(_0x1d7865,_0x20323f){const _0x317671=a4_0x2efe;return _0x1d7865[_0x317671(0x16b)](_0x706a06=>_0x706a06[_0x317671(0x16e)]===_0x20323f);}export function findAppByCode(_0x551bca,_0x2ae385){const _0x3eb343=a4_0x2efe,_0x318779=_0x2ae385['trim']();if(!_0x318779)return undefined;return _0x551bca[_0x3eb343(0x16b)](_0x4743cd=>_0x4743cd[_0x3eb343(0x179)]?.[_0x3eb343(0x17a)]()===_0x318779);}function a4_0x3dcf(){const _0x19db3a=['appPublishStatus','appCode','trim','toUpperCase','24BmyCSs','183015ehgDvZ','.\x20Publish\x20the\x20app\x20before\x20using\x20','209810vHZbss','string','find','App\x20','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','appName','filter','5OdSpUv','20620avukbz','27821AsUUsv','150MZpUkw','216050rVyxFJ','validation','2184259ixnMWT','73056sZqZuv'];a4_0x3dcf=function(){return _0x19db3a;};return a4_0x3dcf();}export function runtimeInaccessibleAppError(_0x4dd4d6,_0x44688e){const _0x1750a5=a4_0x2efe,_0x2029dd=normalizeAppPublishStatus(_0x4dd4d6[_0x1750a5(0x178)])??'UNKNOWN';return CliErrors[_0x1750a5(0x175)](_0x1750a5(0x16c)+_0x44688e+_0x1750a5(0x16d),'Current\x20status:\x20'+_0x2029dd+_0x1750a5(0x168)+CLI_BIN_NAME+'\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2ac9a4,_0x56f81f){const _0x2a4bfd=a5_0x4a94,_0x21ab3b=_0x2ac9a4();while(!![]){try{const _0x55736f=parseInt(_0x2a4bfd(0x117))/0x1+-parseInt(_0x2a4bfd(0x11a))/0x2+parseInt(_0x2a4bfd(0x110))/0x3*(-parseInt(_0x2a4bfd(0x111))/0x4)+parseInt(_0x2a4bfd(0x119))/0x5*(parseInt(_0x2a4bfd(0x116))/0x6)+parseInt(_0x2a4bfd(0x10b))/0x7+-parseInt(_0x2a4bfd(0x10c))/0x8*(parseInt(_0x2a4bfd(0x10a))/0x9)+parseInt(_0x2a4bfd(0x112))/0xa;if(_0x55736f===_0x56f81f)break;else _0x21ab3b['push'](_0x21ab3b['shift']());}catch(_0x5932c0){_0x21ab3b['push'](_0x21ab3b['shift']());}}}(a5_0x286a,0x1d22d));import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x286a(){const _0x2f3861=['errorMsg','data','334128zwwVZf','182623EwNhqx','../../../mock/app-list.json','10jxFhpg','222000UtBhCq','673749oJELEh','383131TBumRF','8LwSZUY','utf-8','success','errorCode','26886VsUWRR','76SovOoB','1267480fwOzJh','Mock\x20API\x20error:\x20'];a5_0x286a=function(){return _0x2f3861;};return a5_0x286a();}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x4db678=a5_0x4a94,_0x2aecc7=join(__dirname,_0x4db678(0x118)),_0x113033=readFileSync(_0x2aecc7,_0x4db678(0x10d));return JSON['parse'](_0x113033);}let _cached=null;function a5_0x4a94(_0x207990,_0xf80f7e){_0x207990=_0x207990-0x10a;const _0x286a1d=a5_0x286a();let _0x4a9497=_0x286a1d[_0x207990];return _0x4a9497;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x92286=a5_0x4a94,_0x1ea101=getMockAppList();if(!_0x1ea101[_0x92286(0x10e)])throw new Error(_0x92286(0x113)+_0x1ea101[_0x92286(0x114)]+'\x20('+_0x1ea101[_0x92286(0x10f)]+')');return _0x1ea101[_0x92286(0x115)]['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a6_0x5004(){const _0x765866=['117650gaFIWQ','toISOString','fetchedAt','8940946EebGFd','cache','367240CRZnfH','8vBEGiP','mock','remote','trim','12651759zWYeOQ','toLowerCase','52204920TxuXVP','324dpfSnq','items','25958DkDsQL','36aacXrg','2824716fyRWnt'];a6_0x5004=function(){return _0x765866;};return a6_0x5004();}(function(_0x465c0a,_0x4213d7){const _0x189288=a6_0x1961,_0x847de4=_0x465c0a();while(!![]){try{const _0x39afe8=-parseInt(_0x189288(0xc1))/0x1+-parseInt(_0x189288(0xbe))/0x2*(parseInt(_0x189288(0xbc))/0x3)+-parseInt(_0x189288(0xc0))/0x4+-parseInt(_0x189288(0xc6))/0x5*(-parseInt(_0x189288(0xbf))/0x6)+-parseInt(_0x189288(0xc4))/0x7+parseInt(_0x189288(0xc7))/0x8*(-parseInt(_0x189288(0xb9))/0x9)+parseInt(_0x189288(0xbb))/0xa;if(_0x39afe8===_0x4213d7)break;else _0x847de4['push'](_0x847de4['shift']());}catch(_0x4c9ef9){_0x847de4['push'](_0x847de4['shift']());}}}(a6_0x5004,0xb7bce));function a6_0x1961(_0x5788fa,_0x5c5780){_0x5788fa=_0x5788fa-0xb8;const _0x50041f=a6_0x5004();let _0x19617e=_0x50041f[_0x5788fa];return _0x19617e;}import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x351b4c=a6_0x1961,_0x481b41=(productEnv('APP_LIST_SOURCE')||'')['trim']()[_0x351b4c(0xba)]();return _0x481b41===_0x351b4c(0xc8);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0xbc5cdb){const _0x28e058=a6_0x1961,{env:_0x3eab4b,accessKey:_0x318931,localOnly:localOnly=![],noCache:noCache=![]}=_0xbc5cdb,_0x2b6b38=readCachedAppList(_0x3eab4b,_0x318931),_0x54fff1=_0x318931?.[_0x28e058(0xb8)]()?getAppCacheFilePath(_0x3eab4b,_0x318931):null;if(localOnly)return{'items':_0x2b6b38?.[_0x28e058(0xbd)]??[],'source':'cache','fetchedAt':_0x2b6b38?.[_0x28e058(0xc3)]??null,'cachePath':_0x54fff1};try{const _0x91018b=await getRemoteAppItems(),_0x47e4e2=shouldUseMockRemoteApps()?_0x28e058(0xc8):_0x28e058(0xc9),_0x5e2c72=new Date()[_0x28e058(0xc2)](),_0x3d9498=_0x318931?.['trim']()?writeCachedAppList(_0x3eab4b,_0x318931,{'env':_0x3eab4b,'fetchedAt':_0x5e2c72,'source':_0x47e4e2,'items':_0x91018b}):null;return{'items':_0x91018b,'source':_0x47e4e2,'fetchedAt':_0x5e2c72,'cachePath':_0x3d9498};}catch(_0x4abfa3){if(!noCache&&_0x2b6b38)return{'items':_0x2b6b38[_0x28e058(0xbd)],'source':_0x28e058(0xc5),'fetchedAt':_0x2b6b38[_0x28e058(0xc3)],'cachePath':_0x54fff1};throw _0x4abfa3;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x220ef6,_0x4b837b){const _0x3531e5=a7_0x35a2,_0x1054c1=_0x220ef6();while(!![]){try{const _0x485cdc=-parseInt(_0x3531e5(0x1e4))/0x1+-parseInt(_0x3531e5(0x1dd))/0x2+-parseInt(_0x3531e5(0x1e5))/0x3+parseInt(_0x3531e5(0x1ed))/0x4+-parseInt(_0x3531e5(0x1eb))/0x5*(-parseInt(_0x3531e5(0x1f0))/0x6)+-parseInt(_0x3531e5(0x1e9))/0x7+-parseInt(_0x3531e5(0x1ec))/0x8*(-parseInt(_0x3531e5(0x1e2))/0x9);if(_0x485cdc===_0x4b837b)break;else _0x1054c1['push'](_0x1054c1['shift']());}catch(_0x4e1ab5){_0x1054c1['push'](_0x1054c1['shift']());}}}(a7_0x17c4,0xbb003));function a7_0x17c4(){const _0x52fc08=['appcode','defaultApp','36JXjLLk','1095172vLYxdt','trim','appCode','name','isCurrent','2294460cCrErh','local','1213367hVrXMv','2182938xKrQQP','definedIn','currentApp','find','1138200ONCXNV','named','1247930hpdeBO','40IUuqmp','2579752XVhvaV'];a7_0x17c4=function(){return _0x52fc08;};return a7_0x17c4();}function a7_0x35a2(_0x2a96ae,_0x3b6bdf){_0x2a96ae=_0x2a96ae-0x1dd;const _0x17c484=a7_0x17c4();let _0x35a228=_0x17c484[_0x2a96ae];return _0x35a228;}export function enrichAppListItemsWithMergedSelection(_0x3be145,_0x5b38cf){const _0xf2791a=a7_0x35a2;if(!_0x5b38cf)return;const _0x384510=!!(_0x5b38cf['currentApp']??_0x5b38cf[_0xf2791a(0x1ef)]);for(const _0x342a82 of _0x3be145){_0x342a82[_0xf2791a(0x1e1)]=![];}const _0x54eb6c=_0x5b38cf[_0xf2791a(0x1df)]!=null?String(_0x5b38cf[_0xf2791a(0x1df)])[_0xf2791a(0x1de)]():'';if(_0x384510){const _0x4c3559=_0x5b38cf[_0xf2791a(0x1e7)]??_0x5b38cf['defaultApp'];if(_0x4c3559){const _0x3065df=_0x3be145[_0xf2791a(0x1e8)](_0x5afb81=>_0x5afb81['named']===!![]&&_0x5afb81[_0xf2791a(0x1e0)]===_0x4c3559&&_0x5afb81[_0xf2791a(0x1e6)]===_0xf2791a(0x1e3)),_0x58d49e=_0x3065df??_0x3be145[_0xf2791a(0x1e8)](_0x59f66f=>_0x59f66f[_0xf2791a(0x1ea)]===!![]&&_0x59f66f[_0xf2791a(0x1e0)]===_0x4c3559);if(_0x58d49e){const _0x237afd=String(_0x58d49e[_0xf2791a(0x1ee)]??'')[_0xf2791a(0x1de)]();if(!_0x54eb6c||_0x237afd===_0x54eb6c){_0x58d49e['isCurrent']=!![];return;}}}if(_0x54eb6c){const _0x16ca60=_0x3be145['find'](_0x2717aa=>String(_0x2717aa[_0xf2791a(0x1ee)]??'')[_0xf2791a(0x1de)]()===_0x54eb6c);_0x16ca60&&(_0x16ca60[_0xf2791a(0x1e1)]=!![]);}return;}if(!_0x54eb6c)return;for(const _0x3cae7c of _0x3be145){String(_0x3cae7c[_0xf2791a(0x1ee)]??'')[_0xf2791a(0x1de)]()===_0x54eb6c&&(_0x3cae7c[_0xf2791a(0x1e1)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x2a9605=a8_0x29f0;(function(_0x1763c1,_0x1c35e6){const _0x5ca847=a8_0x29f0,_0x611fdc=_0x1763c1();while(!![]){try{const _0x282fac=-parseInt(_0x5ca847(0x1f6))/0x1+parseInt(_0x5ca847(0x1ee))/0x2*(parseInt(_0x5ca847(0x1f0))/0x3)+parseInt(_0x5ca847(0x1fe))/0x4*(parseInt(_0x5ca847(0x1f1))/0x5)+parseInt(_0x5ca847(0x1ff))/0x6+-parseInt(_0x5ca847(0x1ea))/0x7*(-parseInt(_0x5ca847(0x1f5))/0x8)+-parseInt(_0x5ca847(0x1f8))/0x9*(-parseInt(_0x5ca847(0x1f9))/0xa)+parseInt(_0x5ca847(0x1e8))/0xb*(-parseInt(_0x5ca847(0x1fd))/0xc);if(_0x282fac===_0x1c35e6)break;else _0x611fdc['push'](_0x611fdc['shift']());}catch(_0x49c544){_0x611fdc['push'](_0x611fdc['shift']());}}}(a8_0x2e8f,0x7516a));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x2e8f(){const _0x164444=['749480QTfQPy','1115898vMHChg','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','\x20app-config\x20get\x20<key>','12382172CasNuU','validation','7hFbFbq','args','appCode','apiError','3740rpbHQg','Missing\x20app-config\x20key.','183WWpScZ','15RxucVH','Usage:\x20','app-config','key','5009016JSIqBs','348945nCtoGr','get','4193109bSNIrg','10jePlQo',',\x20appCode=','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','App\x20config\x20key','12euFfVa'];a8_0x2e8f=function(){return _0x164444;};return a8_0x2e8f();}function a8_0x29f0(_0x557ec6,_0x41473b){_0x557ec6=_0x557ec6-0x1e8;const _0x2e8ffa=a8_0x2e8f();let _0x29f0d6=_0x2e8ffa[_0x557ec6];return _0x29f0d6;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x2a9605(0x1f3),'command':a8_0x2a9605(0x1f7),'description':a8_0x2a9605(0x200),'risk':'read','args':[{'name':a8_0x2a9605(0x1f4),'description':a8_0x2a9605(0x1fc),'required':!![]}],'flags':[],async 'execute'(_0x5df719){const _0x41f448=a8_0x2a9605,_0x3b84b1=_0x5df719[_0x41f448(0x1eb)][0x0]?.['trim']();if(!_0x3b84b1)throw CliErrors[_0x41f448(0x1e9)](_0x41f448(0x1ef),_0x41f448(0x1f2)+CLI_BIN_NAME+_0x41f448(0x201));try{const _0x546c64=await getRuntimeAppConfigByKey(_0x5df719['appCode'],_0x3b84b1);return{'ok':!![],'data':_0x546c64};}catch{throw CliErrors[_0x41f448(0x1ed)]('Unable\x20to\x20get\x20app-config\x20value:\x20key='+_0x3b84b1+_0x41f448(0x1fa)+_0x5df719[_0x41f448(0x1ec)],_0x41f448(0x1fb));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x385f63,_0x57a494){const _0x484ca4=a9_0x2212,_0x14d08c=_0x385f63();while(!![]){try{const _0x2b6a64=parseInt(_0x484ca4(0x18d))/0x1*(-parseInt(_0x484ca4(0x191))/0x2)+-parseInt(_0x484ca4(0x196))/0x3*(parseInt(_0x484ca4(0x192))/0x4)+-parseInt(_0x484ca4(0x198))/0x5*(-parseInt(_0x484ca4(0x195))/0x6)+parseInt(_0x484ca4(0x197))/0x7+-parseInt(_0x484ca4(0x190))/0x8*(parseInt(_0x484ca4(0x193))/0x9)+-parseInt(_0x484ca4(0x18f))/0xa*(parseInt(_0x484ca4(0x194))/0xb)+-parseInt(_0x484ca4(0x18e))/0xc*(-parseInt(_0x484ca4(0x199))/0xd);if(_0x2b6a64===_0x57a494)break;else _0x14d08c['push'](_0x14d08c['shift']());}catch(_0x1c0f6f){_0x14d08c['push'](_0x14d08c['shift']());}}}(a9_0x5666,0xe3481));function a9_0x2212(_0x502181,_0x321d11){_0x502181=_0x502181-0x18d;const _0x5666c3=a9_0x5666();let _0x2212bf=_0x5666c3[_0x502181];return _0x2212bf;}import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x5666(){const _0x4c6ca7=['11134WVxyiN','316444rlOBkj','430173PADFPa','127006mlFQAR','294nIVTCa','60GMBKkv','3902430WGJOrT','107435WFmrZT','91fhEmgg','53SgcAGw','3384276uxFVYu','10NLXpch','128mlCeQZ'];a9_0x5666=function(){return _0x4c6ca7;};return a9_0x5666();}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x3439a9=a10_0x2e3e;(function(_0x40e256,_0x442909){const _0x47c5a3=a10_0x2e3e,_0x174754=_0x40e256();while(!![]){try{const _0x12dc86=parseInt(_0x47c5a3(0x10a))/0x1+-parseInt(_0x47c5a3(0x12a))/0x2+-parseInt(_0x47c5a3(0x124))/0x3*(-parseInt(_0x47c5a3(0x13a))/0x4)+-parseInt(_0x47c5a3(0x108))/0x5+parseInt(_0x47c5a3(0x102))/0x6+-parseInt(_0x47c5a3(0xf2))/0x7+parseInt(_0x47c5a3(0xf5))/0x8;if(_0x12dc86===_0x442909)break;else _0x174754['push'](_0x174754['shift']());}catch(_0x395a20){_0x174754['push'](_0x174754['shift']());}}}(a10_0x21ad,0xc4126));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';function a10_0x21ad(){const _0xac5267=['9472856KsszZX','Artifact\x20display\x20name','artifactType','flag','react_module','lastIndex','Artifact\x20source\x20file\x20is\x20blank.','boolean','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','source','filter','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','Invalid\x20JSON\x20for\x20--metadata:\x20','7197354YBjBXg','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','build','AGENT','utf8','includes','1649625bMrROY','react','67607jgniGh','deleted','List\x20current-app\x20react_module\x20Artifacts','exec','split','trim','str','test','length','@ant-design/icons','Preview:\x20update\x20react_module\x20Artifact\x20','name','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','appCode','data','favorite','validation','artifact','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','add','--metadata\x20must\x20be\x20a\x20JSON\x20object.','Optional\x20favorite-state\x20filter','read','object','.\x20Unsupported:\x20','description','4635315YWmNdJ','updateTime','map','write','isArray','Show\x20one\x20Artifact\x20by\x20id','2780646EeHxMb','lodash','/update','create','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','list','file','parse','update','some','compiledContent','metadata','detail','string','num','POST','4SxjFFT','bool','startsWith','join','10311140QlqPUr','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','react-dom'];a10_0x21ad=function(){return _0xac5267;};return a10_0x21ad();}import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x3439a9(0xf9),ARTIFACT_SOURCE_AGENT=a10_0x3439a9(0x105),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3439a9(0x109),a10_0x3439a9(0xf4),a10_0x3439a9(0x12b),'dayjs','antd',a10_0x3439a9(0x113)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3439a9(0xf1)](',\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_0x3439a9(0x130),'type':a10_0x3439a9(0x137),'required':!![],'description':a10_0x3439a9(0x12e)},ARTIFACT_NAME_FLAG={'name':a10_0x3439a9(0x115),'type':'string','description':a10_0x3439a9(0xf6)},METADATA_FLAG={'name':'metadata','type':a10_0x3439a9(0x137),'description':a10_0x3439a9(0x11c)};function isPlainObject(_0x5bc51e){const _0x137d64=a10_0x3439a9;return typeof _0x5bc51e===_0x137d64(0x121)&&_0x5bc51e!==null&&!Array[_0x137d64(0x128)](_0x5bc51e);}function readSourceFile(_0x2f3b13){const _0x2efa54=a10_0x3439a9;if(!_0x2f3b13)throw CliErrors[_0x2efa54(0x11a)]('File\x20path\x20is\x20required.');if(!existsSync(_0x2f3b13))throw CliErrors[_0x2efa54(0x11a)]('File\x20not\x20found:\x20'+_0x2f3b13);if(!statSync(_0x2f3b13)['isFile']())throw CliErrors[_0x2efa54(0x11a)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2f3b13);const _0xf20968=readFileSync(_0x2f3b13,_0x2efa54(0x106));return validateReactModuleSource(_0xf20968),_0xf20968;}function parseMetadata(_0x57664d){const _0x22aad9=a10_0x3439a9;if(!_0x57664d)return undefined;let _0x353c31;try{_0x353c31=JSON[_0x22aad9(0x131)](_0x57664d);}catch{throw CliErrors['validation'](_0x22aad9(0x101)+_0x57664d);}if(!isPlainObject(_0x353c31))throw CliErrors[_0x22aad9(0x11a)](_0x22aad9(0x11e));const _0x56e4b0={..._0x353c31};return delete _0x56e4b0['compiledContent'],_0x56e4b0;}function getPackageName(_0x4a36c8){const _0x36eb22=a10_0x3439a9;if(_0x4a36c8[_0x36eb22(0xf0)]('@')){const [_0x1adab7,_0x8a0fab]=_0x4a36c8['split']('/');return _0x1adab7&&_0x8a0fab?_0x1adab7+'/'+_0x8a0fab:_0x4a36c8;}return _0x4a36c8[_0x36eb22(0x10e)]('/')[0x0]||_0x4a36c8;}function validateAllowedImports(_0x413846){const _0x2ed079=a10_0x3439a9,_0x22c04e=new Set();for(const _0x972579 of IMPORT_SOURCE_PATTERNS){_0x972579[_0x2ed079(0xfa)]=0x0;let _0x1b72c6;while((_0x1b72c6=_0x972579[_0x2ed079(0x10d)](_0x413846))!==null){const _0x4420b4=_0x1b72c6[0x1]?.[_0x2ed079(0x10f)]();_0x4420b4&&_0x22c04e[_0x2ed079(0x11d)](_0x4420b4);}}const _0x21a882=[..._0x22c04e]['map'](getPackageName)[_0x2ed079(0xff)](_0x24b0f5=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2ed079(0x107)](_0x24b0f5));if(_0x21a882[_0x2ed079(0x112)]>0x0)throw CliErrors[_0x2ed079(0x11a)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2ed079(0x122)+[...new Set(_0x21a882)][_0x2ed079(0xf1)](',\x20'));}export function validateReactModuleSource(_0x3fe7bf){const _0x18a297=a10_0x3439a9;if(!_0x3fe7bf[_0x18a297(0x10f)]())throw CliErrors[_0x18a297(0x11a)](_0x18a297(0xfb));if(PAGE_LEVEL_PATTERNS[_0x18a297(0x133)](_0x1efe73=>_0x1efe73[_0x18a297(0x111)](_0x3fe7bf)))throw CliErrors[_0x18a297(0x11a)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x3fe7bf);}function buildArtifactInput(_0x275ca9){const _0xf1a9b6=a10_0x3439a9,_0x3fe703=readSourceFile(_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x130))),_0x1f35fc=_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x115))[_0xf1a9b6(0x10f)](),_0x42b2b3=parseMetadata(_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x135)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1f35fc?{'name':_0x1f35fc}:{},'content':_0x3fe703,..._0x42b2b3?{'metadata':_0x42b2b3}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x4b7a43){const _0x40d0bf=a10_0x3439a9;return{'id':_0x4b7a43['id'],'name':_0x4b7a43[_0x40d0bf(0x115)],'artifactType':_0x4b7a43[_0x40d0bf(0xf7)],'source':_0x4b7a43[_0x40d0bf(0xfe)],'favorite':_0x4b7a43['favorite'],'deleted':_0x4b7a43[_0x40d0bf(0x10b)],'createTime':_0x4b7a43['createTime'],'updateTime':_0x4b7a43[_0x40d0bf(0x125)]};}function detailArtifact(_0x5005d0){const _0x2ce508=a10_0x3439a9;return{'id':_0x5005d0['id'],'appCode':_0x5005d0[_0x2ce508(0x117)],'name':_0x5005d0[_0x2ce508(0x115)],'artifactType':_0x5005d0[_0x2ce508(0xf7)],'source':_0x5005d0[_0x2ce508(0xfe)],'favorite':_0x5005d0['favorite'],'deleted':_0x5005d0[_0x2ce508(0x10b)],'content':_0x5005d0['content']??'','compiledContent':_0x5005d0[_0x2ce508(0x134)],'metadata':_0x5005d0[_0x2ce508(0x135)]??{},'createTime':_0x5005d0['createTime'],'updateTime':_0x5005d0[_0x2ce508(0x125)]};}function readFavoriteFlag(_0x1e2f0d){const _0x22e9ac=a10_0x3439a9,_0x186663=_0x1e2f0d[_0x22e9ac(0xf8)](_0x22e9ac(0x119));return _0x186663===undefined||_0x186663===null||_0x186663===''?undefined:_0x1e2f0d[_0x22e9ac(0x13b)](_0x22e9ac(0x119));}const artifactList={'service':'artifact','command':a10_0x3439a9(0x12f),'description':a10_0x3439a9(0x10c),'risk':a10_0x3439a9(0x120),'flags':[{'name':a10_0x3439a9(0xfe),'type':a10_0x3439a9(0x137),'description':a10_0x3439a9(0x116)},{'name':a10_0x3439a9(0x119),'type':a10_0x3439a9(0xfc),'description':a10_0x3439a9(0x11f)},VERBOSE_FLAG],async 'execute'(_0x581bf0){const _0x16ade9=a10_0x3439a9,_0x1f0769=await listRuntimeArtifacts(_0x581bf0[_0x16ade9(0x117)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x581bf0['str'](_0x16ade9(0xfe))?{'source':_0x581bf0[_0x16ade9(0x110)](_0x16ade9(0xfe))}:{},...readFavoriteFlag(_0x581bf0)!==undefined?{'favorite':readFavoriteFlag(_0x581bf0)}:{}});return{'ok':!![],'data':{'total':_0x1f0769[_0x16ade9(0x112)],'items':_0x581bf0[_0x16ade9(0x13b)]('verbose')?_0x1f0769:_0x1f0769[_0x16ade9(0x126)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x3439a9(0x11b),'command':a10_0x3439a9(0x136),'description':a10_0x3439a9(0x129),'risk':a10_0x3439a9(0x120),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0xa358b1){const _0x41d016=await getRuntimeArtifact(_0xa358b1['num']('id'),_0xa358b1['appCode']);return{'ok':!![],'data':detailArtifact(_0x41d016)};}},artifactCreate={'service':'artifact','command':a10_0x3439a9(0x12d),'description':a10_0x3439a9(0xfd),'risk':'write','confirmationDescription':a10_0x3439a9(0xf3),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1244ca){const _0x3cd567=a10_0x3439a9,_0x1f42f4=buildArtifactInput(_0x1244ca),_0x3722e9=await createRuntimeArtifact(_0x1244ca[_0x3cd567(0x117)],_0x1f42f4);return{'ok':!![],'data':detailArtifact(_0x3722e9),'message':'Created\x20Artifact\x20'+_0x3722e9['id']+(_0x3722e9['name']?'\x20('+_0x3722e9[_0x3cd567(0x115)]+')':'')};},async 'dryRun'(_0x4d45f0){const _0x1fd16d=a10_0x3439a9,_0x2af725=buildArtifactInput(_0x4d45f0);return dryRun(_0x1fd16d(0x139),'/client/artifact/create')['body']({'appCode':_0x4d45f0[_0x1fd16d(0x117)],..._0x2af725})['description']('Preview:\x20create\x20react_module\x20Artifact')[_0x1fd16d(0x104)]();},'writeEventSubject'(_0x19a585){const _0xaa5e84=a10_0x3439a9,_0x513ab4=_0x19a585['data']?.['id'];if(typeof _0x513ab4!==_0xaa5e84(0x137)&&typeof _0x513ab4!=='number')return undefined;return{'kind':'artifact','id':String(_0x513ab4),'action':_0xaa5e84(0x12d)};}},artifactUpdate={'service':a10_0x3439a9(0x11b),'command':a10_0x3439a9(0x132),'description':a10_0x3439a9(0x100),'risk':a10_0x3439a9(0x127),'confirmationDescription':a10_0x3439a9(0x103),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x92b91f){const _0xc74f7=a10_0x3439a9,_0xefaa79=_0x92b91f[_0xc74f7(0x138)]('id'),_0x4ed5a1=buildArtifactInput(_0x92b91f),_0x1a0d78=await updateRuntimeArtifact(_0xefaa79,_0x92b91f['appCode'],_0x4ed5a1);return{'ok':!![],'data':detailArtifact(_0x1a0d78),'message':'Updated\x20Artifact\x20'+_0x1a0d78['id']+(_0x1a0d78[_0xc74f7(0x115)]?'\x20('+_0x1a0d78['name']+')':'')};},async 'dryRun'(_0x4933a6){const _0x5291d5=a10_0x3439a9,_0x4ab166=_0x4933a6[_0x5291d5(0x138)]('id'),_0x1e29a5=buildArtifactInput(_0x4933a6);return dryRun('POST','/client/artifact/'+_0x4ab166+_0x5291d5(0x12c))['body']({'appCode':_0x4933a6[_0x5291d5(0x117)],..._0x1e29a5})[_0x5291d5(0x123)](_0x5291d5(0x114)+_0x4ab166)[_0x5291d5(0x104)]();},'writeEventSubject'(_0x48613e){const _0x38866a=a10_0x3439a9,_0x20ebf2=_0x48613e[_0x38866a(0x118)]?.['id'];if(typeof _0x20ebf2!==_0x38866a(0x137)&&typeof _0x20ebf2!=='number')return undefined;return{'kind':'artifact','id':String(_0x20ebf2),'action':'update'};}};function a10_0x2e3e(_0x3c56b0,_0x5bfd0e){_0x3c56b0=_0x3c56b0-0xf0;const _0x21adcc=a10_0x21ad();let _0x2e3ef3=_0x21adcc[_0x3c56b0];return _0x2e3ef3;}export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x1e3fea=a10_0x42f2;function a10_0x26ed(){const _0x59ae2c=['4802wisdTi','body','329hugkJR','list','AGENT','flag','/update','Artifact\x20ID','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','add','1929415UYREGY','Updated\x20Artifact\x20','exec','15kzOKyD','data','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','map','779944sGCiDj','update','bool','description','test','num','dayjs','Invalid\x20JSON\x20for\x20--metadata:\x20','build','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','react_module\x20imports\x20are\x20limited\x20to:\x20','react_module','POST','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','lodash','validation','lastIndex','string','utf8','7564344OqcAFl','file','react-dom','includes','Optional\x20favorite-state\x20filter','source','artifact','File\x20is\x20not\x20a\x20regular\x20file:\x20','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','279zFWgmg','length','Artifact\x20source\x20file\x20is\x20blank.','some','Created\x20Artifact\x20','1814155NXYLhq','createTime','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','metadata','artifactType','2156671SeqgDk','Preview:\x20update\x20react_module\x20Artifact\x20','favorite','react','.\x20Unsupported:\x20','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','appCode','57560vWzArZ','number','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','compiledContent','isArray','create','updateTime','File\x20path\x20is\x20required.','startsWith','trim','6GNKuPy','name','List\x20current-app\x20react_module\x20Artifacts','str'];a10_0x26ed=function(){return _0x59ae2c;};return a10_0x26ed();}(function(_0xe196b5,_0x38e80e){const _0x28f88=a10_0x42f2,_0x1b6e40=_0xe196b5();while(!![]){try{const _0x5e03ae=-parseInt(_0x28f88(0xb0))/0x1*(parseInt(_0x28f88(0xae))/0x2)+-parseInt(_0x28f88(0xbc))/0x3*(-parseInt(_0x28f88(0xc0))/0x4)+-parseInt(_0x28f88(0xb9))/0x5*(parseInt(_0x28f88(0xaa))/0x6)+-parseInt(_0x28f88(0xe1))/0x7+parseInt(_0x28f88(0xd3))/0x8+-parseInt(_0x28f88(0xdc))/0x9*(parseInt(_0x28f88(0xa0))/0xa)+parseInt(_0x28f88(0x98))/0xb;if(_0x5e03ae===_0x38e80e)break;else _0x1b6e40['push'](_0x1b6e40['shift']());}catch(_0xbec51a){_0x1b6e40['push'](_0x1b6e40['shift']());}}}(a10_0x26ed,0x7ad51));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';function a10_0x42f2(_0x1ea778,_0x3d092d){_0x1ea778=_0x1ea778-0x95;const _0x26edec=a10_0x26ed();let _0x42f27d=_0x26edec[_0x1ea778];return _0x42f27d;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x1e3fea(0xcb),ARTIFACT_SOURCE_AGENT=a10_0x1e3fea(0xb2),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x1e3fea(0x9b),a10_0x1e3fea(0xd5),a10_0x1e3fea(0xce),a10_0x1e3fea(0xc6),'antd','@ant-design/icons'];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':'file','type':'string','required':!![],'description':a10_0x1e3fea(0xb7)},ARTIFACT_NAME_FLAG={'name':a10_0x1e3fea(0xab),'type':'string','description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x1e3fea(0x96),'type':a10_0x1e3fea(0xd1),'description':a10_0x1e3fea(0xdb)};function isPlainObject(_0xcdeff6){const _0x926fe1=a10_0x1e3fea;return typeof _0xcdeff6==='object'&&_0xcdeff6!==null&&!Array[_0x926fe1(0xa4)](_0xcdeff6);}function readSourceFile(_0x5400e0){const _0x3fb0b3=a10_0x1e3fea;if(!_0x5400e0)throw CliErrors[_0x3fb0b3(0xcf)](_0x3fb0b3(0xa7));if(!existsSync(_0x5400e0))throw CliErrors['validation'](_0x3fb0b3(0x9d)+_0x5400e0);if(!statSync(_0x5400e0)['isFile']())throw CliErrors[_0x3fb0b3(0xcf)](_0x3fb0b3(0xda)+_0x5400e0);const _0x1da002=readFileSync(_0x5400e0,_0x3fb0b3(0xd2));return validateReactModuleSource(_0x1da002),_0x1da002;}function parseMetadata(_0x407c2f){const _0x24be96=a10_0x1e3fea;if(!_0x407c2f)return undefined;let _0xaf0810;try{_0xaf0810=JSON['parse'](_0x407c2f);}catch{throw CliErrors[_0x24be96(0xcf)](_0x24be96(0xc7)+_0x407c2f);}if(!isPlainObject(_0xaf0810))throw CliErrors[_0x24be96(0xcf)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x44c62e={..._0xaf0810};return delete _0x44c62e[_0x24be96(0xa3)],_0x44c62e;}function getPackageName(_0x355345){const _0x4881bc=a10_0x1e3fea;if(_0x355345[_0x4881bc(0xa8)]('@')){const [_0x50a97c,_0x26fa99]=_0x355345['split']('/');return _0x50a97c&&_0x26fa99?_0x50a97c+'/'+_0x26fa99:_0x355345;}return _0x355345['split']('/')[0x0]||_0x355345;}function validateAllowedImports(_0x4a111d){const _0x13592f=a10_0x1e3fea,_0x382f0b=new Set();for(const _0x304bb7 of IMPORT_SOURCE_PATTERNS){_0x304bb7[_0x13592f(0xd0)]=0x0;let _0x1e9ccb;while((_0x1e9ccb=_0x304bb7[_0x13592f(0xbb)](_0x4a111d))!==null){const _0x2f71e4=_0x1e9ccb[0x1]?.[_0x13592f(0xa9)]();_0x2f71e4&&_0x382f0b[_0x13592f(0xb8)](_0x2f71e4);}}const _0x5b7736=[..._0x382f0b][_0x13592f(0xbf)](getPackageName)['filter'](_0x5ecaa9=>!ALLOWED_REACT_MODULE_IMPORTS[_0x13592f(0xd6)](_0x5ecaa9));if(_0x5b7736[_0x13592f(0xdd)]>0x0)throw CliErrors[_0x13592f(0xcf)](_0x13592f(0xca)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x13592f(0x9c)+[...new Set(_0x5b7736)]['join'](',\x20'));}export function validateReactModuleSource(_0x1130da){const _0x173dc5=a10_0x1e3fea;if(!_0x1130da[_0x173dc5(0xa9)]())throw CliErrors[_0x173dc5(0xcf)](_0x173dc5(0xde));if(PAGE_LEVEL_PATTERNS[_0x173dc5(0xdf)](_0x4ce446=>_0x4ce446[_0x173dc5(0xc4)](_0x1130da)))throw CliErrors['validation'](_0x173dc5(0xc9));validateAllowedImports(_0x1130da);}function buildArtifactInput(_0x18f300){const _0x5acae2=a10_0x1e3fea,_0x143e88=readSourceFile(_0x18f300[_0x5acae2(0xad)](_0x5acae2(0xd4))),_0x4b3714=_0x18f300[_0x5acae2(0xad)](_0x5acae2(0xab))[_0x5acae2(0xa9)](),_0xd30233=parseMetadata(_0x18f300[_0x5acae2(0xad)](_0x5acae2(0x96)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4b3714?{'name':_0x4b3714}:{},'content':_0x143e88,..._0xd30233?{'metadata':_0xd30233}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2a00ae){const _0x3d8017=a10_0x1e3fea;return{'id':_0x2a00ae['id'],'name':_0x2a00ae['name'],'artifactType':_0x2a00ae[_0x3d8017(0x97)],'source':_0x2a00ae[_0x3d8017(0xd8)],'favorite':_0x2a00ae[_0x3d8017(0x9a)],'deleted':_0x2a00ae['deleted'],'createTime':_0x2a00ae['createTime'],'updateTime':_0x2a00ae[_0x3d8017(0xa6)]};}function detailArtifact(_0x37278c){const _0x129678=a10_0x1e3fea;return{'id':_0x37278c['id'],'appCode':_0x37278c[_0x129678(0x9f)],'name':_0x37278c['name'],'artifactType':_0x37278c[_0x129678(0x97)],'source':_0x37278c[_0x129678(0xd8)],'favorite':_0x37278c[_0x129678(0x9a)],'deleted':_0x37278c['deleted'],'content':_0x37278c['content']??'','compiledContent':_0x37278c[_0x129678(0xa3)],'metadata':_0x37278c[_0x129678(0x96)]??{},'createTime':_0x37278c[_0x129678(0xe2)],'updateTime':_0x37278c[_0x129678(0xa6)]};}function readFavoriteFlag(_0x3b50e9){const _0xfdbd47=a10_0x1e3fea,_0x137a75=_0x3b50e9[_0xfdbd47(0xb3)](_0xfdbd47(0x9a));return _0x137a75===undefined||_0x137a75===null||_0x137a75===''?undefined:_0x3b50e9['bool']('favorite');}const artifactList={'service':'artifact','command':a10_0x1e3fea(0xb1),'description':a10_0x1e3fea(0xac),'risk':'read','flags':[{'name':a10_0x1e3fea(0xd8),'type':a10_0x1e3fea(0xd1),'description':a10_0x1e3fea(0xb6)},{'name':'favorite','type':'boolean','description':a10_0x1e3fea(0xd7)},VERBOSE_FLAG],async 'execute'(_0x239689){const _0x27925e=a10_0x1e3fea,_0x4ca245=await listRuntimeArtifacts(_0x239689[_0x27925e(0x9f)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x239689['str'](_0x27925e(0xd8))?{'source':_0x239689[_0x27925e(0xad)](_0x27925e(0xd8))}:{},...readFavoriteFlag(_0x239689)!==undefined?{'favorite':readFavoriteFlag(_0x239689)}:{}});return{'ok':!![],'data':{'total':_0x4ca245[_0x27925e(0xdd)],'items':_0x239689[_0x27925e(0xc2)]('verbose')?_0x4ca245:_0x4ca245[_0x27925e(0xbf)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x1e3fea(0xd9),'command':'detail','description':a10_0x1e3fea(0x9e),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x5b88fb){const _0xe44f0a=a10_0x1e3fea,_0x3d8b98=await getRuntimeArtifact(_0x5b88fb[_0xe44f0a(0xc5)]('id'),_0x5b88fb[_0xe44f0a(0x9f)]);return{'ok':!![],'data':detailArtifact(_0x3d8b98)};}},artifactCreate={'service':a10_0x1e3fea(0xd9),'command':'create','description':a10_0x1e3fea(0xa2),'risk':'write','confirmationDescription':a10_0x1e3fea(0xcd),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1c7266){const _0x457926=a10_0x1e3fea,_0x56ba5d=buildArtifactInput(_0x1c7266),_0x15a04e=await createRuntimeArtifact(_0x1c7266['appCode'],_0x56ba5d);return{'ok':!![],'data':detailArtifact(_0x15a04e),'message':_0x457926(0xe0)+_0x15a04e['id']+(_0x15a04e[_0x457926(0xab)]?'\x20('+_0x15a04e[_0x457926(0xab)]+')':'')};},async 'dryRun'(_0x2dd9b7){const _0x3fb6e4=a10_0x1e3fea,_0x33f273=buildArtifactInput(_0x2dd9b7);return dryRun(_0x3fb6e4(0xcc),'/client/artifact/create')[_0x3fb6e4(0xaf)]({'appCode':_0x2dd9b7[_0x3fb6e4(0x9f)],..._0x33f273})[_0x3fb6e4(0xc3)]('Preview:\x20create\x20react_module\x20Artifact')[_0x3fb6e4(0xc8)]();},'writeEventSubject'(_0x18810c){const _0x1f2c8c=a10_0x1e3fea,_0x47275a=_0x18810c[_0x1f2c8c(0xbd)]?.['id'];if(typeof _0x47275a!==_0x1f2c8c(0xd1)&&typeof _0x47275a!==_0x1f2c8c(0xa1))return undefined;return{'kind':_0x1f2c8c(0xd9),'id':String(_0x47275a),'action':_0x1f2c8c(0xa5)};}},artifactUpdate={'service':a10_0x1e3fea(0xd9),'command':a10_0x1e3fea(0xc1),'description':a10_0x1e3fea(0xbe),'risk':'write','confirmationDescription':a10_0x1e3fea(0x95),'flags':[{...ID_FLAG,'description':a10_0x1e3fea(0xb5)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x58e757){const _0x23f01b=a10_0x1e3fea,_0x5d018e=_0x58e757[_0x23f01b(0xc5)]('id'),_0x4af4a9=buildArtifactInput(_0x58e757),_0x266e42=await updateRuntimeArtifact(_0x5d018e,_0x58e757['appCode'],_0x4af4a9);return{'ok':!![],'data':detailArtifact(_0x266e42),'message':_0x23f01b(0xba)+_0x266e42['id']+(_0x266e42[_0x23f01b(0xab)]?'\x20('+_0x266e42['name']+')':'')};},async 'dryRun'(_0x42afcb){const _0x3b021f=a10_0x1e3fea,_0x542fc8=_0x42afcb[_0x3b021f(0xc5)]('id'),_0x35d920=buildArtifactInput(_0x42afcb);return dryRun(_0x3b021f(0xcc),'/client/artifact/'+_0x542fc8+_0x3b021f(0xb4))[_0x3b021f(0xaf)]({'appCode':_0x42afcb[_0x3b021f(0x9f)],..._0x35d920})['description'](_0x3b021f(0x99)+_0x542fc8)[_0x3b021f(0xc8)]();},'writeEventSubject'(_0x4ba727){const _0x297842=a10_0x1e3fea,_0x170c8a=_0x4ba727['data']?.['id'];if(typeof _0x170c8a!==_0x297842(0xd1)&&typeof _0x170c8a!==_0x297842(0xa1))return undefined;return{'kind':_0x297842(0xd9),'id':String(_0x170c8a),'action':_0x297842(0xc1)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x1a8596=a11_0x209c;(function(_0x368215,_0x19d037){const _0x5424f8=a11_0x209c,_0x655ac5=_0x368215();while(!![]){try{const _0x1fadc6=-parseInt(_0x5424f8(0x104))/0x1*(-parseInt(_0x5424f8(0x110))/0x2)+parseInt(_0x5424f8(0xe1))/0x3*(-parseInt(_0x5424f8(0xd4))/0x4)+-parseInt(_0x5424f8(0xe6))/0x5+-parseInt(_0x5424f8(0xcc))/0x6+parseInt(_0x5424f8(0xf6))/0x7*(parseInt(_0x5424f8(0xde))/0x8)+parseInt(_0x5424f8(0xe3))/0x9*(-parseInt(_0x5424f8(0xd2))/0xa)+-parseInt(_0x5424f8(0xf3))/0xb*(-parseInt(_0x5424f8(0x102))/0xc);if(_0x1fadc6===_0x19d037)break;else _0x655ac5['push'](_0x655ac5['shift']());}catch(_0x115021){_0x655ac5['push'](_0x655ac5['shift']());}}}(a11_0x2a50,0xcee5b));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x2079b7){const _0x5cce74=a11_0x209c;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x2079b7[_0x5cce74(0xfd)](_0x5cce74(0x100)),'explicitProject':_0x2079b7['bool']('project'),'policy':_0x5cce74(0xe2)}));}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(_0x16c316,_0x5e31a6,_0x30d396=a11_0x1a8596(0xdf)){const _0x5830f4=a11_0x1a8596;return _0x16c316+_0x5830f4(0xd9)+encodeURIComponent(_0x5e31a6)+_0x5830f4(0xe0)+encodeURIComponent(_0x30d396);}export function getDeviceCodePath(){const _0xcba6a6=a11_0x1a8596;return homedir()+'/'+PRODUCT_CONFIG[_0xcba6a6(0xd0)]+_0xcba6a6(0x10a);}function a11_0x209c(_0x5877c4,_0x1e2634){_0x5877c4=_0x5877c4-0xc6;const _0x2a5017=a11_0x2a50();let _0x209c20=_0x2a5017[_0x5877c4];return _0x209c20;}export function readStoredDeviceCode(){const _0x3a3ca1=a11_0x1a8596,_0x1d022e=getDeviceCodePath();if(!existsSync(_0x1d022e))return null;try{const _0xa18361=readFileSync(_0x1d022e,{'encoding':_0x3a3ca1(0xfe)}),_0x3bd5df=JSON['parse'](_0xa18361);if(_0x3bd5df&&typeof _0x3bd5df[_0x3a3ca1(0xed)]==='string'&&typeof _0x3bd5df[_0x3a3ca1(0xc6)]==='string'&&(_0x3bd5df['scope']===_0x3a3ca1(0x100)||_0x3bd5df['scope']===_0x3a3ca1(0xdc)))return _0x3bd5df;}catch{}return null;}export function writeStoredDeviceCode(_0x5dbb23,_0x54f7c4){const _0x5ec8af=a11_0x1a8596,_0x2ae8f5=getDeviceCodePath(),_0x5a3824=dirname(_0x2ae8f5);!existsSync(_0x5a3824)&&mkdirSync(_0x5a3824,{'recursive':!![]});const _0x9762c2={'code':_0x5dbb23,'createdAt':new Date()[_0x5ec8af(0x113)](),'scope':_0x54f7c4};writeFileSync(_0x2ae8f5,JSON[_0x5ec8af(0xdd)](_0x9762c2),{'encoding':_0x5ec8af(0xfe),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x4cae19=getDeviceCodePath();try{unlinkSync(_0x4cae19);}catch{}}export function isStoredDeviceCodeExpired(_0x39e1bf){const _0x2e874c=a11_0x1a8596;return Date[_0x2e874c(0x117)]()-new Date(_0x39e1bf[_0x2e874c(0xc6)])['getTime']()>DEVICE_CODE_TTL_MS;}function a11_0x2a50(){const _0x4a4403=['auth','access_key','abort','boolean','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','code','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','status','stderr','object','/api/device-auth/token','259391FbMuuS','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','networkError','34685sJagrc','application/json','Write\x20to\x20global\x20config\x20(default)','\x0dWaiting\x20for\x20authorization...\x20','test','Device\x20authorization\x20successful.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','bool','utf8','aborted','global','signal','1884GHHmWs','success','3jLWTcD','\x20auth\x20device','),\x20retrying...','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','SIGINT','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','/.device-auth','nonInteractive','floor','device','\x20config.','Verify:\x20','214340dJnfKa','write','json','toISOString','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.','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','string','now','createdAt','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','name','\x20auth\x20status','validation','AbortError','4853310vxPjpc','AccessKey\x20saved\x20to\x20','data','Device\x20authorization\x20cancelled.','homeDirName','apiError','52100szPiqP','cancelled','7772SDXlHq','source','removeListener','expired','log','/device-auth?code=','once','\x20remaining','project','stringify','1832iztKfe','lovrabet-cli','&source=','2349eOwhSk','global-default','2655mnaYEl','After\x20authorizing,\x20re-run:\x20','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','2218835WoyieL','Invalid\x20access_key\x20returned\x20by\x20server.'];a11_0x2a50=function(){return _0x4a4403;};return a11_0x2a50();}export async function fetchDeviceToken(_0x833fb6,_0x206ba7){const _0x396e18=a11_0x1a8596,_0x50d087=_0x833fb6+_0x396e18(0xf2),_0x411bb0=new AbortController(),_0x42364d=setTimeout(()=>_0x411bb0[_0x396e18(0xea)](),0x2710),_0x4159cd=await fetch(_0x50d087,{'method':'POST','headers':{'Content-Type':_0x396e18(0xf7)},'body':JSON[_0x396e18(0xdd)]({'code':_0x206ba7}),'signal':_0x411bb0['signal']});clearTimeout(_0x42364d);if(!_0x4159cd['ok'])throw CliErrors['networkError']('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x4159cd[_0x396e18(0xef)]);const _0x226870=await _0x4159cd[_0x396e18(0x112)](),_0x5ca9de=_0x226870[_0x396e18(0xce)]&&typeof _0x226870[_0x396e18(0xce)]===_0x396e18(0xf1)?_0x226870[_0x396e18(0xce)]:_0x226870;if(!_0x5ca9de||typeof _0x5ca9de[_0x396e18(0xef)]!==_0x396e18(0x116))throw CliErrors['apiError']('Invalid\x20device\x20auth\x20response');return{'status':_0x5ca9de[_0x396e18(0xef)],'access_key':typeof _0x5ca9de[_0x396e18(0xe9)]===_0x396e18(0x116)?_0x5ca9de['access_key']:undefined};}export async function pollDeviceToken(_0x12d5f8,_0x589fb8,_0x48e89b){const _0x3dd64c=a11_0x1a8596;let _0x497ee0=0x0;for(let _0x39fe41=0x0;_0x39fe41<MAX_POLLS;_0x39fe41++){if(_0x48e89b[_0x3dd64c(0xff)])throw CliErrors[_0x3dd64c(0xd3)](_0x3dd64c(0xcf));let _0x184417;try{_0x184417=await fetchDeviceToken(_0x12d5f8,_0x589fb8);}catch(_0xa5947d){if(_0xa5947d instanceof Error&&_0xa5947d[_0x3dd64c(0xc8)]===_0x3dd64c(0xcb))throw CliErrors['cancelled'](_0x3dd64c(0xcf));_0x497ee0++;if(_0x497ee0>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x3dd64c(0xf5)](_0x3dd64c(0x109));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x497ee0+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x3dd64c(0x106)),await sleep(POLL_INTERVAL_MS);continue;}_0x497ee0=0x0;if(_0x184417[_0x3dd64c(0xef)]===_0x3dd64c(0x103)){if(!_0x184417[_0x3dd64c(0xe9)])throw CliErrors[_0x3dd64c(0xd1)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x184417['access_key'];}if(_0x184417[_0x3dd64c(0xef)]===_0x3dd64c(0xd7)){deleteStoredDeviceCode();throw CliErrors['validation']('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xa7b126=(_0x39fe41+0x1)*POLL_INTERVAL_MS,_0x2ad658=DEVICE_CODE_TTL_MS-_0xa7b126,_0x397c63=Math['floor'](_0x2ad658/0xea60),_0x4542ff=Math[_0x3dd64c(0x10c)](_0x2ad658%0xea60/0x3e8);process[_0x3dd64c(0xf0)][_0x3dd64c(0x111)](_0x3dd64c(0xf9)+_0x397c63+':'+String(_0x4542ff)['padStart'](0x2,'0')+_0x3dd64c(0xdb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x3dd64c(0xca)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x5629e7){return new Promise(_0x31c560=>setTimeout(_0x31c560,_0x5629e7));}export const authDeviceDefinition={'service':a11_0x1a8596(0xe8),'command':a11_0x1a8596(0x10d),'description':a11_0x1a8596(0xe5),'risk':'write','confirmationDescription':a11_0x1a8596(0x114),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1a8596(0x100),'type':a11_0x1a8596(0xeb),'description':a11_0x1a8596(0xf8),'default':!![]},{'name':'project','type':a11_0x1a8596(0xeb),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x1a8596(0xd5),'type':a11_0x1a8596(0x116),'description':a11_0x1a8596(0xfc),'default':a11_0x1a8596(0xdf)},{'name':'url-only','type':a11_0x1a8596(0xeb),'description':a11_0x1a8596(0xc7),'default':![]}],async 'execute'(_0x321156){const _0x46b29b=a11_0x1a8596,_0x2522b2=resolveAuthScopeFlags(_0x321156),_0x11eb80=_0x2522b2[_0x46b29b(0x100)]?_0x46b29b(0x100):'project',_0x10a7f1=readScopedConfig(_0x2522b2);if(_0x10a7f1['accessKey'])return{'ok':!![],'message':_0x46b29b(0x115)};const _0x29ad37=(_0x321156['str'](_0x46b29b(0xd5))||_0x46b29b(0xdf))['trim'](),_0x4ba0d5=getUserDomain(),_0x3b67b7=readStoredDeviceCode(),_0x309521=_0x3b67b7&&!isStoredDeviceCodeExpired(_0x3b67b7)?_0x3b67b7['code']:((()=>{const _0x56a1c1=generateDeviceCode();return writeStoredDeviceCode(_0x56a1c1,_0x11eb80),_0x56a1c1;})()),_0xf73ed2=buildDeviceAuthUrl(_0x4ba0d5,_0x309521,_0x29ad37);if(_0x321156[_0x46b29b(0xfd)]('url-only'))return console[_0x46b29b(0xd8)](_0xf73ed2),{'ok':!![]};writeCliSideChannelLine(_0x46b29b(0x107)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xf73ed2),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x46b29b(0xf4));if(_0x321156[_0x46b29b(0x10b)])return writeCliSideChannelLine(_0x46b29b(0xe4)+CLI_BIN_NAME+_0x46b29b(0x105)),{'ok':!![],'message':_0x46b29b(0xec)};writeCliSideChannelLine(_0x46b29b(0xee));const _0x13ccbb=new AbortController(),_0x2da7d1=()=>{const _0x5df8a6=_0x46b29b;_0x13ccbb[_0x5df8a6(0xea)](),process[_0x5df8a6(0xd6)](_0x5df8a6(0x108),_0x2da7d1);};process[_0x46b29b(0xda)]('SIGINT',_0x2da7d1);let _0x26d1c2;try{_0x26d1c2=await pollDeviceToken(_0x4ba0d5,_0x309521,_0x13ccbb[_0x46b29b(0x101)]);}finally{process[_0x46b29b(0xd6)](_0x46b29b(0x108),_0x2da7d1);}if(!ACCESS_KEY_PATTERN[_0x46b29b(0xfa)](_0x26d1c2))throw CliErrors[_0x46b29b(0xd1)](_0x46b29b(0xe7));const _0x222572=readScopedConfig(_0x2522b2);return _0x222572['accessKey']=_0x26d1c2,writeScopedConfig(_0x222572,_0x2522b2),deleteStoredDeviceCode(),process[_0x46b29b(0xf0)][_0x46b29b(0x111)]('\x0a'),writeCliSideChannelLine(_0x46b29b(0xcd)+_0x11eb80+_0x46b29b(0x10e)),writeCliSideChannelLine(_0x46b29b(0x10f)+CLI_BIN_NAME+_0x46b29b(0xc9)),{'ok':!![],'message':_0x46b29b(0xfb)};}};
|
|
1
|
+
const a11_0x47434d=a11_0x35bb;(function(_0x1aeceb,_0x22b670){const _0x1788df=a11_0x35bb,_0x5ded8e=_0x1aeceb();while(!![]){try{const _0x3eeff5=parseInt(_0x1788df(0x165))/0x1+-parseInt(_0x1788df(0x160))/0x2*(-parseInt(_0x1788df(0x16b))/0x3)+-parseInt(_0x1788df(0x190))/0x4*(-parseInt(_0x1788df(0x19f))/0x5)+parseInt(_0x1788df(0x1a1))/0x6*(-parseInt(_0x1788df(0x185))/0x7)+parseInt(_0x1788df(0x164))/0x8+-parseInt(_0x1788df(0x1a0))/0x9+-parseInt(_0x1788df(0x19e))/0xa;if(_0x3eeff5===_0x22b670)break;else _0x5ded8e['push'](_0x5ded8e['shift']());}catch(_0x3c5dcc){_0x5ded8e['push'](_0x5ded8e['shift']());}}}(a11_0x3cf0,0x394e4));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_0x35bb(_0x22ea92,_0x5928c2){_0x22ea92=_0x22ea92-0x15c;const _0x3cf05a=a11_0x3cf0();let _0x35bb3a=_0x3cf05a[_0x22ea92];return _0x35bb3a;}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(_0x4d7d4d){const _0x451c38=a11_0x35bb;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x4d7d4d['bool'](_0x451c38(0x179)),'explicitProject':_0x4d7d4d[_0x451c38(0x19a)](_0x451c38(0x162)),'policy':_0x451c38(0x186)}));}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 _0x49b610=a11_0x35bb;return crypto[_0x49b610(0x166)]();}export function buildDeviceAuthUrl(_0x46dd1f,_0x32efab,_0x36f57e='lovrabet-cli'){const _0x45feb6=a11_0x35bb;return _0x46dd1f+'/device-auth?code='+encodeURIComponent(_0x32efab)+_0x45feb6(0x18d)+encodeURIComponent(_0x36f57e);}export function getDeviceCodePath(){const _0x88fde3=a11_0x35bb;return homedir()+'/'+PRODUCT_CONFIG[_0x88fde3(0x15c)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x590074=a11_0x35bb,_0x3383bb=getDeviceCodePath();if(!existsSync(_0x3383bb))return null;try{const _0x3243a6=readFileSync(_0x3383bb,{'encoding':_0x590074(0x192)}),_0x3da0f7=JSON['parse'](_0x3243a6);if(_0x3da0f7&&typeof _0x3da0f7[_0x590074(0x16d)]===_0x590074(0x193)&&typeof _0x3da0f7['createdAt']==='string'&&(_0x3da0f7[_0x590074(0x197)]===_0x590074(0x179)||_0x3da0f7['scope']===_0x590074(0x162)))return _0x3da0f7;}catch{}return null;}export function writeStoredDeviceCode(_0x442b21,_0x4c9f6c){const _0x2c3707=a11_0x35bb,_0x208d03=getDeviceCodePath(),_0x4d329a=dirname(_0x208d03);!existsSync(_0x4d329a)&&mkdirSync(_0x4d329a,{'recursive':!![]});const _0x4b05d2={'code':_0x442b21,'createdAt':new Date()[_0x2c3707(0x19c)](),'scope':_0x4c9f6c};writeFileSync(_0x208d03,JSON[_0x2c3707(0x191)](_0x4b05d2),{'encoding':_0x2c3707(0x192),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x9411d3=getDeviceCodePath();try{unlinkSync(_0x9411d3);}catch{}}export function isStoredDeviceCodeExpired(_0x4a4f7a){const _0x37a5a7=a11_0x35bb;return Date['now']()-new Date(_0x4a4f7a[_0x37a5a7(0x15d)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x5279b9,_0xbdfed7){const _0x48d651=a11_0x35bb,_0xf724bb=_0x5279b9+_0x48d651(0x17c),_0x9eb3d2=new AbortController(),_0x4eb5ed=setTimeout(()=>_0x9eb3d2[_0x48d651(0x188)](),0x2710),_0x4ed9f3=await fetch(_0xf724bb,{'method':'POST','headers':{'Content-Type':_0x48d651(0x176)},'body':JSON[_0x48d651(0x191)]({'code':_0xbdfed7}),'signal':_0x9eb3d2['signal']});clearTimeout(_0x4eb5ed);if(!_0x4ed9f3['ok'])throw CliErrors[_0x48d651(0x163)](_0x48d651(0x18e)+_0x4ed9f3[_0x48d651(0x178)]);const _0x5e7636=await _0x4ed9f3[_0x48d651(0x17d)](),_0x18a871=_0x5e7636['data']&&typeof _0x5e7636['data']===_0x48d651(0x182)?_0x5e7636[_0x48d651(0x175)]:_0x5e7636;if(!_0x18a871||typeof _0x18a871[_0x48d651(0x178)]!==_0x48d651(0x193))throw CliErrors[_0x48d651(0x1a2)]('Invalid\x20device\x20auth\x20response');return{'status':_0x18a871[_0x48d651(0x178)],'access_key':typeof _0x18a871[_0x48d651(0x15f)]===_0x48d651(0x193)?_0x18a871[_0x48d651(0x15f)]:undefined};}export async function pollDeviceToken(_0xedf2ad,_0x465ea1,_0x4c0453){const _0x40a622=a11_0x35bb;let _0x369a81=0x0;for(let _0x436c65=0x0;_0x436c65<MAX_POLLS;_0x436c65++){if(_0x4c0453['aborted'])throw CliErrors[_0x40a622(0x17f)](_0x40a622(0x187));let _0x3ad757;try{_0x3ad757=await fetchDeviceToken(_0xedf2ad,_0x465ea1);}catch(_0x1270a9){if(_0x1270a9 instanceof Error&&_0x1270a9[_0x40a622(0x194)]===_0x40a622(0x174))throw CliErrors['cancelled']('Device\x20authorization\x20cancelled.');_0x369a81++;if(_0x369a81>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x40a622(0x163)](_0x40a622(0x1a3));writeCliSideChannelLine(_0x40a622(0x196)+_0x369a81+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x40a622(0x180)),await sleep(POLL_INTERVAL_MS);continue;}_0x369a81=0x0;if(_0x3ad757[_0x40a622(0x178)]===_0x40a622(0x183)){if(!_0x3ad757[_0x40a622(0x15f)])throw CliErrors[_0x40a622(0x1a2)](_0x40a622(0x177));return _0x3ad757[_0x40a622(0x15f)];}if(_0x3ad757[_0x40a622(0x178)]===_0x40a622(0x18a)){deleteStoredDeviceCode();throw CliErrors[_0x40a622(0x16e)](_0x40a622(0x199));}const _0x140d91=(_0x436c65+0x1)*POLL_INTERVAL_MS,_0x49aaf7=DEVICE_CODE_TTL_MS-_0x140d91,_0x4424b3=Math['floor'](_0x49aaf7/0xea60),_0x50ee78=Math[_0x40a622(0x17b)](_0x49aaf7%0xea60/0x3e8);process[_0x40a622(0x16c)][_0x40a622(0x16a)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x4424b3+':'+String(_0x50ee78)[_0x40a622(0x16f)](0x2,'0')+_0x40a622(0x181)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x40a622(0x17a));}function sleep(_0x5da3a0){return new Promise(_0x131287=>setTimeout(_0x131287,_0x5da3a0));}function a11_0x3cf0(){const _0x141be0=['application/json','Invalid\x20access_key\x20returned\x20by\x20server.','status','global','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','floor','/api/device-auth/token','json','lovrabet-cli','cancelled','),\x20retrying...','\x20remaining','object','success','Device\x20authorization\x20successful.','21TQAgWe','global-default','Device\x20authorization\x20cancelled.','abort','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','expired','boolean','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','&source=','Device\x20auth\x20API\x20returned\x20HTTP\x20','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','16tlOmyR','stringify','utf8','string','name','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.','Device\x20auth\x20API\x20error\x20(','scope','once','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','bool','auth','toISOString','signal','2155570jAkgJF','368345ZoYBMn','1690686AjNOSS','849474fhoFZK','apiError','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','After\x20authorizing,\x20re-run:\x20','Write\x20to\x20project\x20config','homeDirName','createdAt','trim','access_key','28894xmbbPg','\x20config.','project','networkError','3619280MdJffw','286892NOdnJB','randomUUID','nonInteractive','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','accessKey','write','6caBEBV','stderr','code','validation','padStart','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','url-only','SIGINT','removeListener','AbortError','data'];a11_0x3cf0=function(){return _0x141be0;};return a11_0x3cf0();}export const authDeviceDefinition={'service':a11_0x47434d(0x19b),'command':'device','description':a11_0x47434d(0x189),'risk':'write','confirmationDescription':a11_0x47434d(0x195),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x47434d(0x179),'type':a11_0x47434d(0x18b),'description':'Write\x20to\x20global\x20config\x20(default)','default':!![]},{'name':a11_0x47434d(0x162),'type':a11_0x47434d(0x18b),'description':a11_0x47434d(0x1a5),'default':![]},{'name':'source','type':a11_0x47434d(0x193),'description':a11_0x47434d(0x168),'default':a11_0x47434d(0x17e)},{'name':a11_0x47434d(0x171),'type':'boolean','description':a11_0x47434d(0x170),'default':![]}],async 'execute'(_0x132508){const _0x270eb9=a11_0x47434d,_0x302111=resolveAuthScopeFlags(_0x132508),_0x16ed56=_0x302111[_0x270eb9(0x179)]?_0x270eb9(0x179):_0x270eb9(0x162),_0x4c47d2=readScopedConfig(_0x302111);if(_0x4c47d2[_0x270eb9(0x169)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x244cec=(_0x132508['str']('source')||_0x270eb9(0x17e))[_0x270eb9(0x15e)](),_0x31a80f=getUserDomain(),_0x127d03=readStoredDeviceCode(),_0xd8bd1a=_0x127d03&&!isStoredDeviceCodeExpired(_0x127d03)?_0x127d03[_0x270eb9(0x16d)]:((()=>{const _0x268f2e=generateDeviceCode();return writeStoredDeviceCode(_0x268f2e,_0x16ed56),_0x268f2e;})()),_0x40d5ed=buildDeviceAuthUrl(_0x31a80f,_0xd8bd1a,_0x244cec);if(_0x132508[_0x270eb9(0x19a)](_0x270eb9(0x171)))return console['log'](_0x40d5ed),{'ok':!![]};writeCliSideChannelLine(_0x270eb9(0x18c)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x40d5ed),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x270eb9(0x18f));if(_0x132508[_0x270eb9(0x167)])return writeCliSideChannelLine(_0x270eb9(0x1a4)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x162176=new AbortController(),_0x2b207f=()=>{const _0x2638b6=_0x270eb9;_0x162176[_0x2638b6(0x188)](),process['removeListener'](_0x2638b6(0x172),_0x2b207f);};process[_0x270eb9(0x198)](_0x270eb9(0x172),_0x2b207f);let _0x539b47;try{_0x539b47=await pollDeviceToken(_0x31a80f,_0xd8bd1a,_0x162176[_0x270eb9(0x19d)]);}finally{process[_0x270eb9(0x173)]('SIGINT',_0x2b207f);}if(!ACCESS_KEY_PATTERN['test'](_0x539b47))throw CliErrors[_0x270eb9(0x1a2)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x3191a7=readScopedConfig(_0x302111);return _0x3191a7[_0x270eb9(0x169)]=_0x539b47,writeScopedConfig(_0x3191a7,_0x302111),deleteStoredDeviceCode(),process[_0x270eb9(0x16c)][_0x270eb9(0x16a)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x16ed56+_0x270eb9(0x161)),writeCliSideChannelLine('Verify:\x20'+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x270eb9(0x184)};}};
|