@lovrabet/lovrabet-cli 2.3.0-beta.3 → 2.3.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/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.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
const a0_0xd6ab23=a0_0x1b3b;function a0_0x1b3b(_0x23f070,_0x1f5c6e){_0x23f070=_0x23f070-0x70;const _0x20d173=a0_0x20d1();let _0x1b3b1e=_0x20d173[_0x23f070];return _0x1b3b1e;}(function(_0x1637dc,_0x437e06){const _0xa3885d=a0_0x1b3b,_0xb111e3=_0x1637dc();while(!![]){try{const _0x222dbc=-parseInt(_0xa3885d(0x88))/0x1+parseInt(_0xa3885d(0x89))/0x2+parseInt(_0xa3885d(0x7f))/0x3*(parseInt(_0xa3885d(0x87))/0x4)+-parseInt(_0xa3885d(0x95))/0x5+-parseInt(_0xa3885d(0x8d))/0x6+parseInt(_0xa3885d(0x83))/0x7+-parseInt(_0xa3885d(0x80))/0x8;if(_0x222dbc===_0x437e06)break;else _0xb111e3['push'](_0xb111e3['shift']());}catch(_0x249a67){_0xb111e3['push'](_0xb111e3['shift']());}}}(a0_0x20d1,0xcc2b9));import{jsx as a0_0x4a6146}from'react/jsx-runtime';import a0_0x5ddc9a from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x5ddc9a(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0xd6ab23(0x74)](handleError);async function main(){try{await run();}catch(_0x56c1af){handleError(_0x56c1af);}}async function run(){const _0x154269=a0_0xd6ab23;let _0x3f0334=cli[_0x154269(0x7a)][0x0],_0x56f6ac=cli[_0x154269(0x7a)][0x1];const _0x4bd894=cli[_0x154269(0x84)];try{const {correctFlags:_0x146935}=await import(_0x154269(0x79)),_0x396b8d=getAllDefinitions()['flatMap'](_0x22c431=>_0x22c431['flags']??[]),{flags:_0x29a7f9,corrections:_0x4c256f}=_0x146935(_0x4bd894,_0x396b8d);if(_0x4c256f[_0x154269(0x82)]>0x0){for(const _0x561563 of _0x4c256f){process[_0x154269(0x72)][_0x154269(0x94)](_0x154269(0x86)+_0x561563['handler']+':\x20--'+_0x561563['original']+_0x154269(0x7c)+_0x561563[_0x154269(0x93)]+'\x0a');}Object[_0x154269(0x8f)](_0x4bd894,_0x29a7f9);}}catch{}if(!_0x3f0334){const {waitUntilExit:_0xc342fe}=render(a0_0x4a6146(Help,{}));await _0xc342fe();return;}const _0x58b349=resolveRemovedCommand(_0x3f0334,_0x56f6ac);if(_0x58b349)throw CliErrors[_0x154269(0x92)](_0x58b349[_0x154269(0x7e)],_0x58b349[_0x154269(0x90)]);if(!isKnownService(_0x3f0334)){const _0x1405ad=resolveDynamicServiceCommand(cli['input'],_0x4bd894);if(_0x1405ad){if(_0x4bd894[_0x154269(0x73)]){console[_0x154269(0x78)](generateCommandHelp(_0x1405ad[_0x154269(0x8a)]));return;}Object['assign'](_0x4bd894,_0x1405ad[_0x154269(0x84)]);const _0x490e22=buildConfigFromFlags(_0x4bd894);await initGlobalEnvironment(_0x490e22);const _0xe32257=createPipelineEnv(_0x490e22,_0x4bd894);_0xe32257[_0x154269(0x85)]=_0x1405ad[_0x154269(0x85)],await runCommand(_0x1405ad[_0x154269(0x8a)],_0xe32257);return;}if(_0x4bd894[_0x154269(0x73)]){const _0x50cad1=generateDynamicServiceHelp(_0x3f0334);if(_0x50cad1){console[_0x154269(0x78)](_0x50cad1);return;}}const {waitUntilExit:_0x19f479}=render(a0_0x4a6146(Help,{}));await _0x19f479();return;}const _0x197c8c=getServiceEntry(_0x3f0334);if(!_0x56f6ac){if(_0x4bd894['help']){console[_0x154269(0x78)](generateServiceHelp(_0x3f0334));return;}if(_0x197c8c[_0x154269(0x70)])_0x56f6ac=_0x197c8c['defaultCommand'];else{console[_0x154269(0x78)](generateServiceHelp(_0x3f0334));return;}}const _0x1def2b=findDefinition(_0x3f0334,_0x56f6ac);!_0x1def2b&&(console[_0x154269(0x78)](generateServiceHelp(_0x3f0334)),handleError(CliErrors[_0x154269(0x7d)](_0x3f0334+'\x20'+_0x56f6ac)));if(_0x4bd894[_0x154269(0x73)]){console['log'](generateCommandHelp(_0x1def2b));return;}const _0x49b61d=buildConfigFromFlags(_0x4bd894);await initGlobalEnvironment(_0x49b61d);const _0x370725=createPipelineEnv(_0x49b61d,_0x4bd894);_0x370725[_0x154269(0x85)]=cli[_0x154269(0x7a)]['slice'](0x2),await runCommand(_0x1def2b,_0x370725);}function handleError(_0x3c0e04){const _0x2a885f=a0_0xd6ab23;if(_0x3c0e04 instanceof CliError){_0x3c0e04['code']==='cancelled'&&(process['stderr'][_0x2a885f(0x94)](_0x2a885f(0x71)),process[_0x2a885f(0x77)](0x0));console[_0x2a885f(0x8e)](_0x2a885f(0x75)+_0x3c0e04[_0x2a885f(0x7e)]);if(_0x3c0e04[_0x2a885f(0x90)])console['error']('Hint:\x20'+_0x3c0e04[_0x2a885f(0x90)]);process[_0x2a885f(0x77)](_0x3c0e04[_0x2a885f(0x91)]);}isUserCancellation(_0x3c0e04)&&(process[_0x2a885f(0x72)][_0x2a885f(0x94)](_0x2a885f(0x71)),process[_0x2a885f(0x77)](0x0)),console[_0x2a885f(0x8e)](_0x2a885f(0x8b),_0x3c0e04),process[_0x2a885f(0x77)](0x1);}function isUserCancellation(_0x39c8fb){const _0x1c71a2=a0_0xd6ab23;if(!(_0x39c8fb instanceof Error))return![];if(_0x39c8fb['name']===_0x1c71a2(0x8c))return!![];if(_0x39c8fb[_0x1c71a2(0x7b)]===_0x1c71a2(0x76))return!![];if(_0x39c8fb['code']===_0x1c71a2(0x81))return!![];return![];}function a0_0x20d1(){const _0x273012=['Unexpected\x20error:','ExitPromptError','4357164fqFPre','error','assign','hint','exitCode','validation','corrected','write','7332940eFwSQc','defaultCommand','\x0aCancelled.\x0a','stderr','help','catch','Error:\x20','ERR_USE_AFTER_CLOSE','exit','log','./framework/preparse.js','input','code','\x20->\x20--','unknownCommand','message','3lysBxN','1618184ztlavU','ERR_STREAM_DESTROYED','length','6128339DFdyRa','flags','args','[preparse]\x20','6020936MOBEfE','570785gfZKJm','2842820UnSRCR','definition'];a0_0x20d1=function(){return _0x273012;};return a0_0x20d1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x13b218=a1_0x1d57;function a1_0x3c72(){const _0x5dfbd6=['##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','4oFJHgg','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','includes','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','499535vJFoyL','Dataset\x20detail','category','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','length','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','fields/properties\x20describe\x20data\x20shape','appCode','List\x20datasets','api-doc','/api/{appCode}/{datasetCode}/filter','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','2874579SJPptN','837044fuOxhv','string','API\x20doc\x20code\x20not\x20found:\x20','POST','/api/{appCode}/{datasetCode}/aggregate','/api/dataset/get-dataset-list-by-app-code','GET','paging.totalCount\x20gives\x20total\x20rows','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','result\x20rows\x20contain\x20aggregate\x20aliases','custom_sql','dataset_data_get_one','trim','/api/endpoint/{appCode}/{functionName}','Current\x20app\x20code','{\x22param\x22:\x22value\x22}','paging\x20contains\x20pagination','/api/custom/executeSql','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','5482806xBTLuf','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','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','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','custom_sql_execute','Execute\x20a\x20BF\x20endpoint\x20function','title','32-character\x20dataset\x20code','list','List\x20available\x20runtime\x20API\x20documentation\x20entries','455774zMTYxl','dataset_data_filter','Create\x20a\x20dataset\x20record','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','6897474pPyXeE','16SfXBKT','Execute\x20BF\x20endpoint\x20function','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','Aggregate\x20dataset\x20data','Filter\x20dataset\x20data','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','/client/bff/endpoint/{appCode}/{functionName}','map','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','{\x22fieldName\x22:\x22value\x22}','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','datasetCode','Get\x20one\x20dataset\x20record','Create\x20dataset\x20record','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','where\x20filters\x20before\x20aggregation','summary','Returns\x20SQL\x20execution\x20payload','/api/{appCode}/{datasetCode}/getOne','dataset','join','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Get\x20BF\x20endpoint\x20function\x20contract','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','dataset_data_create','detail','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Endpoint\x20function\x20name','2664991bsRBYM','##\x20Aggregate\x20dataset\x20data','List\x20datasets\x20with\x20pagination','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','validation','whenToUse','Returns\x20one\x20matching\x20business\x20record','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','path','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','toLowerCase','keyword','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','read','str','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','functionName','filter','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','dataset_detail','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','method','Aggregate\x20dataset\x20records','code','Execute\x20custom\x20SQL','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'];a1_0x3c72=function(){return _0x5dfbd6;};return a1_0x3c72();}(function(_0x221f57,_0x2701a9){const _0x210a5d=a1_0x1d57,_0x42c6e6=_0x221f57();while(!![]){try{const _0xd69775=parseInt(_0x210a5d(0x128))/0x1+-parseInt(_0x210a5d(0x145))/0x2+-parseInt(_0x210a5d(0x127))/0x3*(-parseInt(_0x210a5d(0x116))/0x4)+-parseInt(_0x210a5d(0x11a))/0x5+-parseInt(_0x210a5d(0x13b))/0x6+-parseInt(_0x210a5d(0xf6))/0x7*(parseInt(_0x210a5d(0x14a))/0x8)+parseInt(_0x210a5d(0x149))/0x9;if(_0xd69775===_0x2701a9)break;else _0x42c6e6['push'](_0x42c6e6['shift']());}catch(_0x17a105){_0x42c6e6['push'](_0x42c6e6['shift']());}}}(a1_0x3c72,0x8860a));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x13b218(0x11c),'type':a1_0x13b218(0x129),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x13b218(0x101),'type':'string','description':a1_0x13b218(0x162)},DOC_CODE_FLAG={'name':a1_0x13b218(0x10f),'type':a1_0x13b218(0x129),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':'dataset_list','category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x123),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x12d),'summary':a1_0x13b218(0xf8),'whenToUse':a1_0x13b218(0x115),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x13b218(0x12f)],'examples':[a1_0x13b218(0xff)],'notes':['CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.'],'markdown':['##\x20List\x20datasets','',a1_0x13b218(0xfd)]['join']('\x0a')},{'code':a1_0x13b218(0x10a),'category':'dataset','title':a1_0x13b218(0x11b),'method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x13b218(0x10f),'description':a1_0x13b218(0x142)}],'bodySchema':'None','responseHighlights':[a1_0x13b218(0x121),a1_0x13b218(0x152),'operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0x13b218(0x102)],'notes':[a1_0x13b218(0x103)],'markdown':['##\x20Dataset\x20detail','',a1_0x13b218(0x13c)]['join']('\x0a')},{'code':a1_0x13b218(0x146),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x14e),'method':'POST','path':a1_0x13b218(0x125),'summary':'Filter\x20dataset\x20records','whenToUse':a1_0x13b218(0x158),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':['tableData\x20contains\x20records',a1_0x13b218(0x138)],'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_0x13b218(0x148),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x13b218(0x10b),a1_0x13b218(0x154)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x13b218(0x130)][a1_0x13b218(0x15f)]('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x14d),'method':'POST','path':a1_0x13b218(0x12c),'summary':a1_0x13b218(0x10e),'whenToUse':a1_0x13b218(0x165),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x13b218(0x131),a1_0x13b218(0x15a)],'examples':[a1_0x13b218(0x13d)],'notes':[a1_0x13b218(0xf9),a1_0x13b218(0x111)],'markdown':[a1_0x13b218(0xf7),'',a1_0x13b218(0x109)]['join']('\x0a')},{'code':a1_0x13b218(0x133),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x156),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x15d),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x13b218(0x11f),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x13b218(0xfc)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x13b218(0x10c)},{'code':a1_0x13b218(0x163),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x157),'method':'POST','path':'/api/{appCode}/{datasetCode}/create','summary':a1_0x13b218(0x147),'whenToUse':a1_0x13b218(0x119),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':a1_0x13b218(0x153),'responseHighlights':[a1_0x13b218(0x160)],'examples':[a1_0x13b218(0x11d)],'notes':[a1_0x13b218(0x114)],'markdown':a1_0x13b218(0x13e)},{'code':'bf_detail','category':'bf','title':a1_0x13b218(0x161),'method':a1_0x13b218(0x12e),'path':a1_0x13b218(0x150),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':a1_0x13b218(0x13a),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x107),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x13b218(0x120)],'examples':[a1_0x13b218(0x106)],'notes':[a1_0x13b218(0x159)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':'bf_execute','category':'bf','title':a1_0x13b218(0x14b),'method':'POST','path':a1_0x13b218(0x135),'summary':a1_0x13b218(0x140),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x13b218(0x107),'description':a1_0x13b218(0xf5)}],'queryParams':[],'bodySchema':a1_0x13b218(0x137),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x13b218(0x112)],'markdown':a1_0x13b218(0x126)},{'code':a1_0x13b218(0x13f),'category':a1_0x13b218(0x132),'title':a1_0x13b218(0x110),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x139),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x13b218(0x14f),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x13b218(0x15c)],'examples':[a1_0x13b218(0x14c)],'notes':[a1_0x13b218(0x117)],'markdown':a1_0x13b218(0x113)}];function entrySummary(_0x2717ef){const _0x3619f4=a1_0x13b218;return{'code':_0x2717ef[_0x3619f4(0x10f)],'category':_0x2717ef[_0x3619f4(0x11c)],'method':_0x2717ef[_0x3619f4(0x10d)],'path':_0x2717ef[_0x3619f4(0xfe)],'summary':_0x2717ef[_0x3619f4(0x15b)],'whenToUse':_0x2717ef[_0x3619f4(0xfb)]};}function a1_0x1d57(_0x487cfb,_0x3f2b02){_0x487cfb=_0x487cfb-0xf5;const _0x3c72ea=a1_0x3c72();let _0x1d57a4=_0x3c72ea[_0x487cfb];return _0x1d57a4;}export function listApiDocEntries(_0x186b0f={}){const _0x2eee2c=a1_0x13b218,_0xb2d86c=String(_0x186b0f['category']||'')[_0x2eee2c(0x134)](),_0x93d79e=String(_0x186b0f[_0x2eee2c(0x101)]||'')[_0x2eee2c(0x134)]()[_0x2eee2c(0x100)]();return DOCS[_0x2eee2c(0x108)](_0x23d701=>{const _0x4fc1e1=_0x2eee2c;if(_0xb2d86c&&_0x23d701['category']!==_0xb2d86c)return![];if(!_0x93d79e)return!![];return[_0x23d701['code'],_0x23d701['category'],_0x23d701[_0x4fc1e1(0x10d)],_0x23d701[_0x4fc1e1(0xfe)],_0x23d701['summary'],_0x23d701[_0x4fc1e1(0xfb)],_0x23d701[_0x4fc1e1(0x141)]][_0x4fc1e1(0x15f)]('\x20')['toLowerCase']()[_0x4fc1e1(0x118)](_0x93d79e);})[_0x2eee2c(0x151)](entrySummary);}export function getApiDocDetail(_0x25e5a6){const _0x304955=a1_0x13b218,_0x1a0344=DOCS['find'](_0x365cb7=>_0x365cb7['code']===_0x25e5a6);if(!_0x1a0344)throw CliErrors[_0x304955(0xfa)](_0x304955(0x12a)+_0x25e5a6);return{..._0x1a0344};}const apiDocList={'service':a1_0x13b218(0x124),'command':a1_0x13b218(0x143),'description':a1_0x13b218(0x144),'risk':a1_0x13b218(0x104),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xc3652e){const _0x194150=a1_0x13b218,_0x5c711a=listApiDocEntries({'category':_0xc3652e[_0x194150(0x105)](_0x194150(0x11c)),'keyword':_0xc3652e[_0x194150(0x105)](_0x194150(0x101))});return{'ok':!![],'data':{'total':_0x5c711a[_0x194150(0x11e)],'items':_0x5c711a}};}},apiDocDetail={'service':'api-doc','command':a1_0x13b218(0x164),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x2417b5){const _0x209641=a1_0x13b218;return{'ok':!![],'data':getApiDocDetail(_0x2417b5[_0x209641(0x105)](_0x209641(0x10f)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
function a1_0x31bf(_0x4a8ca6,_0x492a86){_0x4a8ca6=_0x4a8ca6-0x103;const _0x34c3fd=a1_0x34c3();let _0x31bf97=_0x34c3fd[_0x4a8ca6];return _0x31bf97;}const a1_0x355bdb=a1_0x31bf;(function(_0x43d380,_0x4694f5){const _0x9b7e10=a1_0x31bf,_0x49c4ff=_0x43d380();while(!![]){try{const _0x3872f2=parseInt(_0x9b7e10(0x14d))/0x1+parseInt(_0x9b7e10(0x167))/0x2*(-parseInt(_0x9b7e10(0x131))/0x3)+-parseInt(_0x9b7e10(0x156))/0x4+-parseInt(_0x9b7e10(0x16c))/0x5+parseInt(_0x9b7e10(0x14f))/0x6+parseInt(_0x9b7e10(0x114))/0x7+-parseInt(_0x9b7e10(0x161))/0x8;if(_0x3872f2===_0x4694f5)break;else _0x49c4ff['push'](_0x49c4ff['shift']());}catch(_0x2280f1){_0x49c4ff['push'](_0x49c4ff['shift']());}}}(a1_0x34c3,0xcac58));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x355bdb(0x12d),'type':a1_0x355bdb(0x177),'description':a1_0x355bdb(0x15c)},KEYWORD_FLAG={'name':a1_0x355bdb(0x163),'type':a1_0x355bdb(0x177),'description':a1_0x355bdb(0x168)},DOC_CODE_FLAG={'name':a1_0x355bdb(0x171),'type':a1_0x355bdb(0x177),'required':!![],'description':a1_0x355bdb(0x132)},DOCS=[{'code':a1_0x355bdb(0x176),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x158),'method':'POST','path':a1_0x355bdb(0x11f),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x355bdb(0x134),'pathParams':[],'queryParams':[],'bodySchema':a1_0x355bdb(0x122),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x355bdb(0x162)],'examples':[a1_0x355bdb(0x126)],'notes':[a1_0x355bdb(0x113)],'markdown':[a1_0x355bdb(0x11c),'',a1_0x355bdb(0x152)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x104),'category':a1_0x355bdb(0x14c),'title':'Dataset\x20detail','method':a1_0x355bdb(0x138),'path':a1_0x355bdb(0x10f),'summary':'Get\x20dataset\x20detail','whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x355bdb(0x171),'description':a1_0x355bdb(0x10b)}],'bodySchema':a1_0x355bdb(0x12c),'responseHighlights':[a1_0x355bdb(0x155),a1_0x355bdb(0x14e),a1_0x355bdb(0x149)],'examples':[a1_0x355bdb(0x12e)],'notes':[a1_0x355bdb(0x148)],'markdown':['##\x20Dataset\x20detail','',a1_0x355bdb(0x13f)]['join']('\x0a')},{'code':a1_0x355bdb(0x15f),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x147),'method':a1_0x355bdb(0x15d),'path':a1_0x355bdb(0x17a),'summary':a1_0x355bdb(0x174),'whenToUse':a1_0x355bdb(0x13a),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':a1_0x355bdb(0x10b)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x355bdb(0x146),a1_0x355bdb(0x139)],'examples':[a1_0x355bdb(0x173),a1_0x355bdb(0x125)],'notes':[a1_0x355bdb(0x160),a1_0x355bdb(0x164),a1_0x355bdb(0x10e),a1_0x355bdb(0x17b)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x355bdb(0x178)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x14b),'category':'dataset','title':a1_0x355bdb(0x10a),'method':a1_0x355bdb(0x15d),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':'Aggregate\x20dataset\x20records','whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x355bdb(0x118),'description':a1_0x355bdb(0x10b)}],'queryParams':[],'bodySchema':a1_0x355bdb(0x142),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases','where\x20filters\x20before\x20aggregation'],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0x355bdb(0x13d),a1_0x355bdb(0x133)],'markdown':[a1_0x355bdb(0x15b),'',a1_0x355bdb(0x16e)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x141),'category':'dataset','title':a1_0x355bdb(0x13b),'method':a1_0x355bdb(0x15d),'path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x355bdb(0x13b),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x355bdb(0x15a),'responseHighlights':[a1_0x355bdb(0x11a)],'examples':[a1_0x355bdb(0x15e)],'notes':[a1_0x355bdb(0x159)],'markdown':a1_0x355bdb(0x11b)},{'code':a1_0x355bdb(0x136),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x166),'method':a1_0x355bdb(0x15d),'path':a1_0x355bdb(0x128),'summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x355bdb(0x103),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x355bdb(0x175)],'examples':[a1_0x355bdb(0x108)],'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_0x355bdb(0x117),'category':'bf','title':a1_0x355bdb(0x150),'method':a1_0x355bdb(0x138),'path':a1_0x355bdb(0x151),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':a1_0x355bdb(0x10c),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x135),'description':a1_0x355bdb(0x12f)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x355bdb(0x16d)],'examples':[a1_0x355bdb(0x115)],'notes':[a1_0x355bdb(0x116)],'markdown':a1_0x355bdb(0x169)},{'code':a1_0x355bdb(0x140),'category':'bf','title':a1_0x355bdb(0x145),'method':'POST','path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x355bdb(0x11d),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x135),'description':a1_0x355bdb(0x13e)}],'queryParams':[],'bodySchema':a1_0x355bdb(0x16b),'responseHighlights':[a1_0x355bdb(0x105)],'examples':[a1_0x355bdb(0x10d)],'notes':[a1_0x355bdb(0x165)],'markdown':a1_0x355bdb(0x137)},{'code':a1_0x355bdb(0x124),'category':a1_0x355bdb(0x127),'title':a1_0x355bdb(0x123),'method':'POST','path':a1_0x355bdb(0x14a),'summary':a1_0x355bdb(0x123),'whenToUse':a1_0x355bdb(0x119),'pathParams':[],'queryParams':[],'bodySchema':a1_0x355bdb(0x120),'responseHighlights':[a1_0x355bdb(0x144)],'examples':[a1_0x355bdb(0x106)],'notes':[a1_0x355bdb(0x172)],'markdown':a1_0x355bdb(0x130)}];function entrySummary(_0x4e1abb){const _0x2b45ce=a1_0x355bdb;return{'code':_0x4e1abb[_0x2b45ce(0x171)],'category':_0x4e1abb['category'],'method':_0x4e1abb[_0x2b45ce(0x154)],'path':_0x4e1abb['path'],'summary':_0x4e1abb[_0x2b45ce(0x111)],'whenToUse':_0x4e1abb['whenToUse']};}export function listApiDocEntries(_0x52cf5a={}){const _0x593b83=a1_0x355bdb,_0x4caa3f=String(_0x52cf5a['category']||'')[_0x593b83(0x16a)](),_0x3e16b7=String(_0x52cf5a['keyword']||'')[_0x593b83(0x16a)]()[_0x593b83(0x12a)]();return DOCS['filter'](_0x30621c=>{const _0x10b0b7=_0x593b83;if(_0x4caa3f&&_0x30621c[_0x10b0b7(0x12d)]!==_0x4caa3f)return![];if(!_0x3e16b7)return!![];return[_0x30621c[_0x10b0b7(0x171)],_0x30621c[_0x10b0b7(0x12d)],_0x30621c[_0x10b0b7(0x154)],_0x30621c['path'],_0x30621c[_0x10b0b7(0x111)],_0x30621c['whenToUse'],_0x30621c[_0x10b0b7(0x153)]][_0x10b0b7(0x179)]('\x20')['toLowerCase']()['includes'](_0x3e16b7);})['map'](entrySummary);}export function getApiDocDetail(_0x23eddc){const _0x5e64c9=a1_0x355bdb,_0x1c8956=DOCS[_0x5e64c9(0x110)](_0x1da293=>_0x1da293[_0x5e64c9(0x171)]===_0x23eddc);if(!_0x1c8956)throw CliErrors[_0x5e64c9(0x107)](_0x5e64c9(0x121)+_0x23eddc);return{..._0x1c8956};}function a1_0x34c3(){const _0x11602d=['1898768ljkXsV','paging.totalCount\x20gives\x20total\x20rows','keyword','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Create\x20dataset\x20record','2XQQYvT','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','trim','{\x22param\x22:\x22value\x22}','5510405CqmWAb','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','list','str','code','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','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','Filter\x20dataset\x20records','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','dataset_list','string','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','join','/api/{appCode}/{datasetCode}/filter','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','dataset_detail','Returns\x20script\x20business\x20payload','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','validation','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','detail','Aggregate\x20dataset\x20data','32-character\x20dataset\x20code','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','/api/dataset/getOneByCode?code={datasetCode}','find','summary','length','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','1456448WftpDr','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','bf_detail','datasetCode','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Returns\x20one\x20matching\x20business\x20record','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','##\x20List\x20datasets','Execute\x20a\x20BF\x20endpoint\x20function','Show\x20runtime\x20API\x20documentation\x20by\x20code','/api/dataset/get-dataset-list-by-app-code','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','API\x20doc\x20code\x20not\x20found:\x20','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Execute\x20custom\x20SQL','custom_sql_execute','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','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','custom_sql','/api/{appCode}/{datasetCode}/create','appCode','toLowerCase','Current\x20app\x20code','None','category','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Exact\x20endpoint\x20function\x20name','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','741597gRnXQn','API\x20doc\x20code,\x20for\x20example\x20dataset_list','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','functionName','dataset_data_create','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','GET','paging\x20contains\x20pagination','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','Get\x20one\x20dataset\x20record','read','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Endpoint\x20function\x20name','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','bf_execute','dataset_data_get_one','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','List\x20available\x20runtime\x20API\x20documentation\x20entries','Returns\x20SQL\x20execution\x20payload','Execute\x20BF\x20endpoint\x20function','tableData\x20contains\x20records','Filter\x20dataset\x20data','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','operations\x20describes\x20runtime\x20APIs','/api/custom/executeSql','dataset_data_aggregate','dataset','1400742SAWVzN','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','6758550IZXUTy','Get\x20BF\x20endpoint\x20function\x20contract','/client/bff/endpoint/{appCode}/{functionName}','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','title','method','fields/properties\x20describe\x20data\x20shape','1272212lmUwzX','api-doc','List\x20datasets','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','{\x22id\x22:123}','##\x20Aggregate\x20dataset\x20data','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','POST','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','dataset_data_filter','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.'];a1_0x34c3=function(){return _0x11602d;};return a1_0x34c3();}const apiDocList={'service':a1_0x355bdb(0x157),'command':a1_0x355bdb(0x16f),'description':a1_0x355bdb(0x143),'risk':a1_0x355bdb(0x13c),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xd06136){const _0x3c0d12=a1_0x355bdb,_0x3abc14=listApiDocEntries({'category':_0xd06136[_0x3c0d12(0x170)](_0x3c0d12(0x12d)),'keyword':_0xd06136[_0x3c0d12(0x170)](_0x3c0d12(0x163))});return{'ok':!![],'data':{'total':_0x3abc14[_0x3c0d12(0x112)],'items':_0x3abc14}};}},apiDocDetail={'service':a1_0x355bdb(0x157),'command':a1_0x355bdb(0x109),'description':a1_0x355bdb(0x11e),'risk':a1_0x355bdb(0x13c),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x33e97f){const _0x5a15b5=a1_0x355bdb;return{'ok':!![],'data':getApiDocDetail(_0x33e97f[_0x5a15b5(0x170)](_0x5a15b5(0x171)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4fcf3d,_0x3d32f0){const _0x41ac7a=a2_0x6e34,_0x41edc2=_0x4fcf3d();while(!![]){try{const _0x522369=parseInt(_0x41ac7a(0x1d6))/0x1+-parseInt(_0x41ac7a(0x1d5))/0x2+parseInt(_0x41ac7a(0x1c8))/0x3+-parseInt(_0x41ac7a(0x1d3))/0x4*(-parseInt(_0x41ac7a(0x1c7))/0x5)+parseInt(_0x41ac7a(0x1cf))/0x6+parseInt(_0x41ac7a(0x1c4))/0x7+parseInt(_0x41ac7a(0x1cd))/0x8*(-parseInt(_0x41ac7a(0x1bd))/0x9);if(_0x522369===_0x3d32f0)break;else _0x41edc2['push'](_0x41edc2['shift']());}catch(_0x36719a){_0x41edc2['push'](_0x41edc2['shift']());}}}(a2_0x1e2a,0xee669));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';export function fingerprintAccessKey(_0x14225a){const _0x34aba2=a2_0x6e34,_0x1e0fc2=_0x14225a[_0x34aba2(0x1d4)](),_0xf3f147=_0x1e0fc2[_0x34aba2(0x1d1)](-0x6)||_0x34aba2(0x1d2),_0x431b60=createHash(_0x34aba2(0x1be))[_0x34aba2(0x1c3)](_0x1e0fc2)[_0x34aba2(0x1c5)](_0x34aba2(0x1cc))['slice'](0x0,0xc);return _0x34aba2(0x1ce)+_0xf3f147+'_'+_0x431b60;}export function getAppCacheFilePath(_0xf3af2c,_0x2f9866){const _0x32d691=a2_0x6e34;return resolve(homedir(),PRODUCT_CONFIG[_0x32d691(0x1bf)],_0x32d691(0x1d0),_0xf3af2c,fingerprintAccessKey(_0x2f9866),_0x32d691(0x1cb));}export function readCachedAppList(_0x5eff48,_0x3541e8){const _0x39b0f0=a2_0x6e34;if(!_0x3541e8?.['trim']())return null;const _0x354087=getAppCacheFilePath(_0x5eff48,_0x3541e8);if(!existsSync(_0x354087))return null;try{const _0x524757=readFileSync(_0x354087,_0x39b0f0(0x1c0));if(!_0x524757['trim']())return null;const _0x509d30=JSON[_0x39b0f0(0x1c1)](_0x524757);if(!Array[_0x39b0f0(0x1bc)](_0x509d30[_0x39b0f0(0x1d7)]))return null;return _0x509d30;}catch{return null;}}function a2_0x6e34(_0x1c6e50,_0x4d4017){_0x1c6e50=_0x1c6e50-0x1ba;const _0x1e2ada=a2_0x1e2a();let _0x6e34b9=_0x1e2ada[_0x1c6e50];return _0x6e34b9;}function a2_0x1e2a(){const _0x67ba13=['update','12054028EPmJws','digest','.tmp','70ykYqOu','182778yYgUAL','code','stringify','my-apps.json','hex','2906936uUZSZA','ak_','1057914QaDOIK','cache','slice','unknown','80056AdmOcg','trim','2959706pkDBuN','943631WRfTEi','items','EACCES','EXDEV','isArray','18TgBzSt','sha256','homeDirName','utf8','parse','find'];a2_0x1e2a=function(){return _0x67ba13;};return a2_0x1e2a();}export function writeCachedAppList(_0x426fe8,_0x2ad19b,_0x4a7609){const _0x5ad074=a2_0x6e34,_0x215596=getAppCacheFilePath(_0x426fe8,_0x2ad19b),_0x4fa2e6=dirname(_0x215596);!existsSync(_0x4fa2e6)&&mkdirSync(_0x4fa2e6,{'recursive':!![]});const _0xeed049=_0x215596+_0x5ad074(0x1c6);try{writeFileSync(_0xeed049,JSON[_0x5ad074(0x1ca)](_0x4a7609,null,0x2)+'\x0a',{'encoding':_0x5ad074(0x1c0),'mode':0x180});try{renameSync(_0xeed049,_0x215596);}catch(_0x777423){if(_0x777423[_0x5ad074(0x1c9)]==='EPERM'||_0x777423[_0x5ad074(0x1c9)]===_0x5ad074(0x1bb)||_0x777423[_0x5ad074(0x1c9)]===_0x5ad074(0x1ba)){writeFileSync(_0x215596,JSON['stringify'](_0x4a7609,null,0x2)+'\x0a',{'encoding':_0x5ad074(0x1c0)});try{unlinkSync(_0xeed049);}catch{}}else throw _0x777423;}}catch(_0x4f1c2d){try{unlinkSync(_0xeed049);}catch{}throw _0x4f1c2d;}return _0x215596;}export function resolveCachedAppCode(_0x48e9d6,_0x424b5b,_0x133d7a){const _0x2b8246=a2_0x6e34;if(!_0x48e9d6)return undefined;const _0x5227c8=readCachedAppList(_0x424b5b,_0x133d7a),_0x15cedd=_0x5227c8?.[_0x2b8246(0x1d7)][_0x2b8246(0x1c2)](_0x2ba3b3=>_0x2ba3b3['appName']===_0x48e9d6&&isRuntimeAccessibleApp(_0x2ba3b3));return _0x15cedd?.['appCode']?.[_0x2b8246(0x1d4)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x37d5b2=a3_0x4994;(function(_0x5a5303,_0x3ca08f){const _0xd1cb91=a3_0x4994,_0x5cb1bb=_0x5a5303();while(!![]){try{const _0x143931=parseInt(_0xd1cb91(0x173))/0x1*(parseInt(_0xd1cb91(0x19b))/0x2)+-parseInt(_0xd1cb91(0x19a))/0x3+parseInt(_0xd1cb91(0x15f))/0x4+-parseInt(_0xd1cb91(0x199))/0x5+-parseInt(_0xd1cb91(0x162))/0x6*(parseInt(_0xd1cb91(0x181))/0x7)+-parseInt(_0xd1cb91(0x196))/0x8+parseInt(_0xd1cb91(0x16f))/0x9;if(_0x143931===_0x3ca08f)break;else _0x5cb1bb['push'](_0x5cb1bb['shift']());}catch(_0x456c5f){_0x5cb1bb['push'](_0x5cb1bb['shift']());}}}(a3_0x187e,0xe6f86));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';function a3_0x4994(_0xa212fe,_0x32886a){_0xa212fe=_0xa212fe-0x15d;const _0x187eb8=a3_0x187e();let _0x499478=_0x187eb8[_0xa212fe];return _0x499478;}function a3_0x187e(){const _0x18ff47=['appOwnerName','Target\x20environment\x20(default:\x20current\x20env)','appcode','str','No\x20apps\x20found\x20on\x20the\x20platform.','\x20cached\x20app(s)\x20for\x20env=\x22','langs','pull','include-unpublished','357ZGTUcK','Loaded\x20','app','Include\x20unpublished\x20apps\x20for\x20diagnostics','\x20app(s)\x20for\x20env=\x22','isArray','env','name','production','bool','../../commands/app/remote-source.js','globalPath','list','items','accessKey','i18nInfo','Read\x20app\x20list\x20from\x20local\x20cache\x20only','config','appPublishStatus','string','trim','7366328jZZtrO','no-cache','push','2121275lNKpTh','4536057bVYnLK','3187564fiuSdh','Refreshed\x20app\x20cache\x20with\x20','entries','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','isCurrent','map','115668EcaCRu','write','import','209556orxqbd','read','cache','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','enableI18n','mergedCli','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','find','fetchedAt','appCode','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','filter','35654814vArbJR','local','envName','type','1gUtZQw','source','boolean','length','appName'];a3_0x187e=function(){return _0x18ff47;};return a3_0x187e();}import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x4ec717,_0x4b7caf){const _0x4b77d9=a3_0x4994,_0x572cdf={};for(const _0xec6734 of _0x4b7caf){const _0x5c3822=_0xec6734[_0x4b77d9(0x172)]===_0x4b77d9(0x175)?_0x4ec717[_0x4b77d9(0x18a)](_0xec6734[_0x4b77d9(0x188)]):_0x4ec717[_0x4b77d9(0x17b)](_0xec6734[_0x4b77d9(0x188)]);if(_0x5c3822!==''&&_0x5c3822!==![])_0x572cdf[_0xec6734[_0x4b77d9(0x188)]]=_0x5c3822;}if(_0x4ec717['nonInteractive'])_0x572cdf['nonInteractive']=!![];return _0x572cdf;}function normalizeLanguages(_0x453cdc){const _0x41cf93=a3_0x4994;if(!Array[_0x41cf93(0x186)](_0x453cdc))return[];return _0x453cdc[_0x41cf93(0x16e)](_0x10d74d=>typeof _0x10d74d==='string')['map'](_0x535fd1=>_0x535fd1[_0x41cf93(0x195)]())[_0x41cf93(0x16e)](Boolean);}function buildRemoteAppI18nFields(_0x2102f4){const _0x25edc5=a3_0x4994,_0x3523b1=normalizeLanguages(_0x2102f4[_0x25edc5(0x190)]?.[_0x25edc5(0x17e)]);return{'enableI18n':typeof _0x2102f4[_0x25edc5(0x166)]===_0x25edc5(0x175)?_0x2102f4[_0x25edc5(0x166)]:null,'languages':_0x3523b1,'i18nInfo':_0x2102f4[_0x25edc5(0x190)]?{..._0x2102f4['i18nInfo'],'langs':_0x3523b1[_0x25edc5(0x176)]?_0x3523b1:null}:null};}const listDef={'service':a3_0x37d5b2(0x183),'command':a3_0x37d5b2(0x18d),'description':a3_0x37d5b2(0x165),'risk':a3_0x37d5b2(0x163),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':'string','description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x37d5b2(0x175),'description':a3_0x37d5b2(0x191),'default':![]},{'name':'no-cache','type':'boolean','description':a3_0x37d5b2(0x16d),'default':![]},{'name':a3_0x37d5b2(0x180),'type':a3_0x37d5b2(0x175),'description':a3_0x37d5b2(0x184),'default':![]}],async 'execute'(_0x529f9b){const _0x5e6e36=a3_0x37d5b2,_0x552a38=_0x529f9b['str'](_0x5e6e36(0x187))||_0x529f9b[_0x5e6e36(0x171)]||getEnv()||_0x5e6e36(0x189),_0x1b3548=_0x529f9b['bool'](_0x5e6e36(0x170)),_0x41a7e9=_0x529f9b[_0x5e6e36(0x18a)](_0x5e6e36(0x197)),_0x1786d2=_0x529f9b[_0x5e6e36(0x18a)](_0x5e6e36(0x180)),{readRawConfigWithLayers:_0x8beae5,resolveDefaultAppSource:_0x56929b,getLocalAppAliases:_0x3609cc}=await import('../../context.js'),{getRemoteAppList:_0xf5819a}=await import(_0x5e6e36(0x18b)),{config:_0x499671,layers:_0x369a92}=_0x8beae5(),_0x467231=_0x56929b(_0x369a92),{defaultApp:_0x122aa6}=_0x499671,_0x1f1e69=await _0xf5819a({'env':_0x552a38,'accessKey':_0x529f9b[_0x5e6e36(0x18f)],'localOnly':_0x1b3548,'noCache':_0x41a7e9}),_0x4aa4b3=_0x1786d2?_0x1f1e69[_0x5e6e36(0x18e)]:filterRuntimeAccessibleApps(_0x1f1e69[_0x5e6e36(0x18e)]),_0x27ae4a=_0x1f1e69[_0x5e6e36(0x18e)]['length']-_0x4aa4b3[_0x5e6e36(0x176)],_0x5464ed=_0x4aa4b3[_0x5e6e36(0x15e)](_0x3ce28b=>{const _0xc7bb74=_0x5e6e36;return{'name':_0x3ce28b[_0xc7bb74(0x177)],'appcode':_0x3ce28b[_0xc7bb74(0x16c)],'named':!![],'definedIn':'remote','isDefault':_0x3ce28b[_0xc7bb74(0x177)]===_0x122aa6,...buildAppProfileListFields(_0x552a38),...buildRemoteAppI18nFields(_0x3ce28b),'source':_0x1f1e69['source'],'owner':_0x3ce28b[_0xc7bb74(0x178)]??null,'status':_0x3ce28b[_0xc7bb74(0x193)]??null,'cachedAt':_0x1f1e69[_0xc7bb74(0x16b)]};}),_0x588632=_0x3609cc(_0x499671);let _0x395c96=0x0;for(const [_0x487e7d,_0x591c1d]of Object[_0x5e6e36(0x19d)](_0x588632)){const _0x26f803=typeof _0x591c1d[_0x5e6e36(0x17a)]===_0x5e6e36(0x194)?_0x591c1d['appcode'][_0x5e6e36(0x195)]():'';if(!_0x26f803)continue;const _0x2e530d=findAppByCode(_0x1f1e69[_0x5e6e36(0x18e)],_0x26f803);if(!_0x1786d2&&_0x2e530d&&!isRuntimeAccessibleApp(_0x2e530d))continue;_0x395c96+=0x1,_0x5464ed[_0x5e6e36(0x198)]({'name':_0x487e7d,'appcode':_0x26f803,'named':!![],'definedIn':_0x5e6e36(0x170),'isDefault':_0x487e7d===_0x122aa6,...buildAppProfileListFields(_0x552a38),'source':_0x5e6e36(0x192),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x5464ed,_0x529f9b[_0x5e6e36(0x167)]);const _0x316df2=_0x5464ed[_0x5e6e36(0x16a)](_0x478da1=>_0x478da1[_0x5e6e36(0x15d)]===!![]),_0x4454ba=_0x122aa6??_0x316df2?.[_0x5e6e36(0x188)]??null,_0x4b94c7={'env':_0x552a38,'source':_0x1f1e69[_0x5e6e36(0x174)],'fetchedAt':_0x1f1e69[_0x5e6e36(0x16b)],'cachePath':_0x1f1e69['cachePath'],'globalPath':_0x369a92[_0x5e6e36(0x18c)]??null,'projectPath':_0x369a92['projectPath']??null,'defaultApp':_0x4454ba,'defaultAppSource':_0x122aa6!=null?_0x467231:null,'localAliasCount':_0x395c96,'remoteTotal':_0x1f1e69[_0x5e6e36(0x18e)][_0x5e6e36(0x176)],'hiddenUnpublishedCount':_0x27ae4a,'includeUnpublished':_0x1786d2};if(_0x5464ed[_0x5e6e36(0x176)]===0x0)return{'ok':!![],'data':{'items':_0x5464ed,'meta':_0x4b94c7},'message':_0x1f1e69[_0x5e6e36(0x174)]==='cache'?'No\x20cached\x20apps\x20found.':_0x5e6e36(0x17c)};return{'ok':!![],'data':{'items':_0x5464ed,'meta':_0x4b94c7}};}},pullDef={'service':a3_0x37d5b2(0x183),'command':a3_0x37d5b2(0x17f),'description':a3_0x37d5b2(0x169),'risk':a3_0x37d5b2(0x160),'confirmationDescription':a3_0x37d5b2(0x168),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'env','type':a3_0x37d5b2(0x194),'description':a3_0x37d5b2(0x179),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x37d5b2(0x170),'type':a3_0x37d5b2(0x175),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x37d5b2(0x197),'type':'boolean','description':a3_0x37d5b2(0x16d),'default':![]}],async 'execute'(_0x5742d3){const _0x345dcd=a3_0x37d5b2,_0x23a7b7=_0x5742d3[_0x345dcd(0x17b)]('env')||_0x5742d3[_0x345dcd(0x171)]||getEnv()||_0x345dcd(0x189),_0x5cc191=_0x5742d3['bool'](_0x345dcd(0x170)),_0x1dd8a0=_0x5742d3[_0x345dcd(0x18a)](_0x345dcd(0x197)),{getRemoteAppList:_0x1ea99f}=await import(_0x345dcd(0x18b)),_0x13cd8e=await _0x1ea99f({'env':_0x23a7b7,'accessKey':_0x5742d3[_0x345dcd(0x18f)],'localOnly':_0x5cc191,'noCache':_0x1dd8a0});return{'ok':!![],'data':{'total':_0x13cd8e[_0x345dcd(0x18e)][_0x345dcd(0x176)],'env':_0x23a7b7,'source':_0x13cd8e[_0x345dcd(0x174)],'fetchedAt':_0x13cd8e[_0x345dcd(0x16b)],'cachePath':_0x13cd8e['cachePath']},'message':_0x13cd8e[_0x345dcd(0x174)]===_0x345dcd(0x164)?_0x345dcd(0x182)+_0x13cd8e['items'][_0x345dcd(0x176)]+_0x345dcd(0x17d)+_0x23a7b7+'\x22.':_0x345dcd(0x19c)+_0x13cd8e[_0x345dcd(0x18e)][_0x345dcd(0x176)]+_0x345dcd(0x185)+_0x23a7b7+'\x22.'};}},importDef={'service':a3_0x37d5b2(0x183),'command':a3_0x37d5b2(0x161),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x37d5b2(0x160),'confirmationDescription':a3_0x37d5b2(0x19e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x42247d){return await runAppImport(collectFlags(_0x42247d,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3f63cb,_0xaa5c97){const _0x1eed30=a4_0x2ed9,_0x40124b=_0x3f63cb();while(!![]){try{const _0x41809f=-parseInt(_0x1eed30(0x1e5))/0x1+parseInt(_0x1eed30(0x1f1))/0x2*(-parseInt(_0x1eed30(0x1e3))/0x3)+parseInt(_0x1eed30(0x1de))/0x4*(-parseInt(_0x1eed30(0x1ec))/0x5)+-parseInt(_0x1eed30(0x1e9))/0x6*(-parseInt(_0x1eed30(0x1ed))/0x7)+-parseInt(_0x1eed30(0x1e0))/0x8+parseInt(_0x1eed30(0x1ee))/0x9*(-parseInt(_0x1eed30(0x1e7))/0xa)+parseInt(_0x1eed30(0x1df))/0xb;if(_0x41809f===_0xaa5c97)break;else _0x40124b['push'](_0x40124b['shift']());}catch(_0x48e9a1){_0x40124b['push'](_0x40124b['shift']());}}}(a4_0x4e35,0x6c712));import{CLI_BIN_NAME}from'../../constant/cli.js';function a4_0x2ed9(_0x6e8a7f,_0x51b6ec){_0x6e8a7f=_0x6e8a7f-0x1de;const _0x4e35bd=a4_0x4e35();let _0x2ed9c7=_0x4e35bd[_0x6e8a7f];return _0x2ed9c7;}import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x40deb1){const _0x55c1c4=a4_0x2ed9;if(typeof _0x40deb1!==_0x55c1c4(0x1f6))return null;const _0x163cef=_0x40deb1[_0x55c1c4(0x1ef)]();return _0x163cef?_0x163cef[_0x55c1c4(0x1e2)]():null;}export function isRuntimeAccessibleApp(_0x4d1154){const _0x104fae=a4_0x2ed9;return normalizeAppPublishStatus(_0x4d1154[_0x104fae(0x1e4)])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x4e35(){const _0x295764=['\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','validation','appCode','string','8WoZMSb','29644395QrjTje','5636128EHfFDd','filter','toUpperCase','3gvzHke','appPublishStatus','813440pvkHYP','find','3511030QAxYYZ','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','2572086cEaDGH','appName','Current\x20status:\x20','918845WbKKaL','7TidjUl','9qILvjm','trim','App\x20','885702EhDNjs','UNKNOWN'];a4_0x4e35=function(){return _0x295764;};return a4_0x4e35();}export function filterRuntimeAccessibleApps(_0x48fece){const _0x4bfbf9=a4_0x2ed9;return _0x48fece[_0x4bfbf9(0x1e1)](isRuntimeAccessibleApp);}export function findAppByName(_0x2fbd82,_0x37d031){const _0x2cf779=a4_0x2ed9;return _0x2fbd82[_0x2cf779(0x1e6)](_0x58d6a8=>_0x58d6a8[_0x2cf779(0x1ea)]===_0x37d031);}export function findAppByCode(_0x3d71d6,_0x36b1af){const _0x19f296=a4_0x2ed9,_0xdbb01=_0x36b1af['trim']();if(!_0xdbb01)return undefined;return _0x3d71d6['find'](_0x47f0f9=>_0x47f0f9[_0x19f296(0x1f5)]?.[_0x19f296(0x1ef)]()===_0xdbb01);}export function runtimeInaccessibleAppError(_0x10bf49,_0x18ecff){const _0x5e9141=a4_0x2ed9,_0x2167ea=normalizeAppPublishStatus(_0x10bf49[_0x5e9141(0x1e4)])??_0x5e9141(0x1f2);return CliErrors[_0x5e9141(0x1f4)](_0x5e9141(0x1f0)+_0x18ecff+_0x5e9141(0x1e8),_0x5e9141(0x1eb)+_0x2167ea+'.\x20Publish\x20the\x20app\x20before\x20using\x20'+CLI_BIN_NAME+_0x5e9141(0x1f3));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a5_0x24ab(_0x1b77d7,_0x46bf4d){_0x1b77d7=_0x1b77d7-0x17b;const _0x3cb32f=a5_0x3cb3();let _0x24ab48=_0x3cb32f[_0x1b77d7];return _0x24ab48;}(function(_0x239523,_0x253477){const _0x932e15=a5_0x24ab,_0xefc7ab=_0x239523();while(!![]){try{const _0x8bdbd8=-parseInt(_0x932e15(0x17f))/0x1*(parseInt(_0x932e15(0x188))/0x2)+-parseInt(_0x932e15(0x187))/0x3*(-parseInt(_0x932e15(0x17e))/0x4)+parseInt(_0x932e15(0x184))/0x5*(parseInt(_0x932e15(0x183))/0x6)+-parseInt(_0x932e15(0x17c))/0x7*(parseInt(_0x932e15(0x181))/0x8)+-parseInt(_0x932e15(0x18c))/0x9+-parseInt(_0x932e15(0x17b))/0xa*(-parseInt(_0x932e15(0x182))/0xb)+parseInt(_0x932e15(0x18b))/0xc;if(_0x8bdbd8===_0x253477)break;else _0xefc7ab['push'](_0xefc7ab['shift']());}catch(_0x474074){_0xefc7ab['push'](_0xefc7ab['shift']());}}}(a5_0x3cb3,0xab4ac));import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x503766=a5_0x24ab,_0x130b7a=join(__dirname,_0x503766(0x180)),_0x1df43b=readFileSync(_0x130b7a,_0x503766(0x18d));return JSON[_0x503766(0x189)](_0x1df43b);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x2ca51e=a5_0x24ab,_0x48381f=getMockAppList();if(!_0x48381f[_0x2ca51e(0x186)])throw new Error(_0x2ca51e(0x18a)+_0x48381f['errorMsg']+'\x20('+_0x48381f['errorCode']+')');return _0x48381f[_0x2ca51e(0x17d)][_0x2ca51e(0x185)];}function a5_0x3cb3(){const _0x15f765=['13558510vSQlmF','204617wiwtzg','data','628SypZUr','407mSQPex','../../../mock/app-list.json','304tZiEwK','11dVgOVU','5268LJFolr','6550OpJsMy','tableData','success','2289ICrDig','2360UwjgvF','parse','Mock\x20API\x20error:\x20','12281868vHUAlD','12209949OTGUCU','utf-8'];a5_0x3cb3=function(){return _0x15f765;};return a5_0x3cb3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x51fd3f,_0x40a8ad){const _0x325c2e=a6_0x1640,_0x5eb061=_0x51fd3f();while(!![]){try{const _0x2ff44a=-parseInt(_0x325c2e(0xea))/0x1*(parseInt(_0x325c2e(0xe3))/0x2)+parseInt(_0x325c2e(0xe2))/0x3+parseInt(_0x325c2e(0xf1))/0x4+-parseInt(_0x325c2e(0xe7))/0x5*(-parseInt(_0x325c2e(0xf2))/0x6)+-parseInt(_0x325c2e(0xe6))/0x7+parseInt(_0x325c2e(0xf4))/0x8*(parseInt(_0x325c2e(0xe4))/0x9)+parseInt(_0x325c2e(0xed))/0xa*(-parseInt(_0x325c2e(0xee))/0xb);if(_0x2ff44a===_0x40a8ad)break;else _0x5eb061['push'](_0x5eb061['shift']());}catch(_0x537954){_0x5eb061['push'](_0x5eb061['shift']());}}}(a6_0x1453,0xde26f));function a6_0x1453(){const _0x4bf14d=['9727795RRlEOy','5IfrcCL','remote','mock','93VOKFwL','cache','toLowerCase','26839080XCmmyy','11bbqXzX','items','trim','3540364dweKlx','7920114QUMHfr','fetchedAt','309152YEqQoh','4929465ZBGIRg','10490tmDlHh','378OJePvN','toISOString'];a6_0x1453=function(){return _0x4bf14d;};return a6_0x1453();}import{getMyApps}from'../../core/api-client.js';function a6_0x1640(_0x3c9213,_0x29f012){_0x3c9213=_0x3c9213-0xe2;const _0x145390=a6_0x1453();let _0x1640cf=_0x145390[_0x3c9213];return _0x1640cf;}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 _0x54d14f=a6_0x1640,_0x47932f=(productEnv('APP_LIST_SOURCE')||'')['trim']()[_0x54d14f(0xec)]();return _0x47932f==='mock';}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x25775b){const _0x2de623=a6_0x1640,{env:_0x539042,accessKey:_0x3250e4,localOnly:localOnly=![],noCache:noCache=![]}=_0x25775b,_0xe37fe9=readCachedAppList(_0x539042,_0x3250e4),_0x5051e5=_0x3250e4?.[_0x2de623(0xf0)]()?getAppCacheFilePath(_0x539042,_0x3250e4):null;if(localOnly)return{'items':_0xe37fe9?.['items']??[],'source':_0x2de623(0xeb),'fetchedAt':_0xe37fe9?.[_0x2de623(0xf3)]??null,'cachePath':_0x5051e5};try{const _0x2926ef=await getRemoteAppItems(),_0x4981df=shouldUseMockRemoteApps()?_0x2de623(0xe9):_0x2de623(0xe8),_0x5138b9=new Date()[_0x2de623(0xe5)](),_0x5b146d=_0x3250e4?.[_0x2de623(0xf0)]()?writeCachedAppList(_0x539042,_0x3250e4,{'env':_0x539042,'fetchedAt':_0x5138b9,'source':_0x4981df,'items':_0x2926ef}):null;return{'items':_0x2926ef,'source':_0x4981df,'fetchedAt':_0x5138b9,'cachePath':_0x5b146d};}catch(_0x17b37b){if(!noCache&&_0xe37fe9)return{'items':_0xe37fe9[_0x2de623(0xef)],'source':_0x2de623(0xeb),'fetchedAt':_0xe37fe9[_0x2de623(0xf3)],'cachePath':_0x5051e5};throw _0x17b37b;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a7_0x1099(_0x235c47,_0x27441b){_0x235c47=_0x235c47-0xeb;const _0x5111c4=a7_0x5111();let _0x1099e1=_0x5111c4[_0x235c47];return _0x1099e1;}(function(_0x4a82ef,_0x2e2643){const _0x14454c=a7_0x1099,_0xa99efc=_0x4a82ef();while(!![]){try{const _0x139ebc=parseInt(_0x14454c(0xfe))/0x1*(parseInt(_0x14454c(0xf7))/0x2)+-parseInt(_0x14454c(0xec))/0x3*(parseInt(_0x14454c(0xff))/0x4)+parseInt(_0x14454c(0xeb))/0x5*(-parseInt(_0x14454c(0xf2))/0x6)+-parseInt(_0x14454c(0xef))/0x7*(parseInt(_0x14454c(0xf1))/0x8)+parseInt(_0x14454c(0x100))/0x9*(-parseInt(_0x14454c(0xf0))/0xa)+-parseInt(_0x14454c(0xf5))/0xb+parseInt(_0x14454c(0xed))/0xc;if(_0x139ebc===_0x2e2643)break;else _0xa99efc['push'](_0xa99efc['shift']());}catch(_0x27b7b3){_0xa99efc['push'](_0xa99efc['shift']());}}}(a7_0x5111,0x82f81));function a7_0x5111(){const _0x2d1f3d=['isCurrent','322hsYMBQ','10dehHZZ','149960fgOPJT','1756488wmNGOS','defaultApp','name','4238102mhfBlJ','appCode','2446LMswsa','definedIn','appcode','trim','currentApp','find','named','669YeNdzy','1588276xPTlgH','2510316SzGBXC','5DGItwK','6zggtxo','27979488KhjtBp'];a7_0x5111=function(){return _0x2d1f3d;};return a7_0x5111();}export function enrichAppListItemsWithMergedSelection(_0x32047b,_0x28d451){const _0x340be6=a7_0x1099;if(!_0x28d451)return;const _0x1a3ae7=!!(_0x28d451[_0x340be6(0xfb)]??_0x28d451['defaultApp']);for(const _0x2df06b of _0x32047b){_0x2df06b['isCurrent']=![];}const _0x242f9b=_0x28d451[_0x340be6(0xf6)]!=null?String(_0x28d451['appCode'])['trim']():'';if(_0x1a3ae7){const _0x2a87f2=_0x28d451[_0x340be6(0xfb)]??_0x28d451[_0x340be6(0xf3)];if(_0x2a87f2){const _0x22808e=_0x32047b[_0x340be6(0xfc)](_0x4a0446=>_0x4a0446[_0x340be6(0xfd)]===!![]&&_0x4a0446['name']===_0x2a87f2&&_0x4a0446[_0x340be6(0xf8)]==='local'),_0x2e31b5=_0x22808e??_0x32047b[_0x340be6(0xfc)](_0x3d878b=>_0x3d878b['named']===!![]&&_0x3d878b[_0x340be6(0xf4)]===_0x2a87f2);if(_0x2e31b5){const _0x4247e8=String(_0x2e31b5[_0x340be6(0xf9)]??'')[_0x340be6(0xfa)]();if(!_0x242f9b||_0x4247e8===_0x242f9b){_0x2e31b5['isCurrent']=!![];return;}}}if(_0x242f9b){const _0x305030=_0x32047b[_0x340be6(0xfc)](_0x910dc9=>String(_0x910dc9[_0x340be6(0xf9)]??'')[_0x340be6(0xfa)]()===_0x242f9b);_0x305030&&(_0x305030[_0x340be6(0xee)]=!![]);}return;}if(!_0x242f9b)return;for(const _0x252cb0 of _0x32047b){String(_0x252cb0[_0x340be6(0xf9)]??'')[_0x340be6(0xfa)]()===_0x242f9b&&(_0x252cb0[_0x340be6(0xee)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x38ed50=a8_0x9a98;(function(_0x3af96e,_0x129faa){const _0x5bf46c=a8_0x9a98,_0x3bdb92=_0x3af96e();while(!![]){try{const _0xdc125d=parseInt(_0x5bf46c(0x1a9))/0x1*(-parseInt(_0x5bf46c(0x1b3))/0x2)+parseInt(_0x5bf46c(0x1aa))/0x3+parseInt(_0x5bf46c(0x1af))/0x4+-parseInt(_0x5bf46c(0x1a0))/0x5*(parseInt(_0x5bf46c(0x1ad))/0x6)+parseInt(_0x5bf46c(0x1a6))/0x7+-parseInt(_0x5bf46c(0x1b4))/0x8+parseInt(_0x5bf46c(0x1a2))/0x9*(-parseInt(_0x5bf46c(0x1a7))/0xa);if(_0xdc125d===_0x129faa)break;else _0x3bdb92['push'](_0x3bdb92['shift']());}catch(_0x34886b){_0x3bdb92['push'](_0x3bdb92['shift']());}}}(a8_0x371b,0xeab7f));function a8_0x9a98(_0x2e6d9f,_0x39875b){_0x2e6d9f=_0x2e6d9f-0x1a0;const _0x371b09=a8_0x371b();let _0x9a989=_0x371b09[_0x2e6d9f];return _0x9a989;}import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x371b(){const _0x4e05df=['954072tfRTIo','9491275ZagJVD',',\x20appCode=','1125nwiVjv','Missing\x20app-config\x20key.','app-config','App\x20config\x20key','12989424QxrQcP','290bWNfri','Unable\x20to\x20get\x20app-config\x20value:\x20key=','63636PIUIwI','1635837SYlveF','trim','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','6XXInym','args','5126524qivWoN','key','get','appCode','22odStQd'];a8_0x371b=function(){return _0x4e05df;};return a8_0x371b();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x38ed50(0x1a4),'command':a8_0x38ed50(0x1b1),'description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':'read','args':[{'name':a8_0x38ed50(0x1b0),'description':a8_0x38ed50(0x1a5),'required':!![]}],'flags':[],async 'execute'(_0xbe9dca){const _0x2b5149=a8_0x38ed50,_0x32599f=_0xbe9dca[_0x2b5149(0x1ae)][0x0]?.[_0x2b5149(0x1ab)]();if(!_0x32599f)throw CliErrors['validation'](_0x2b5149(0x1a3),'Usage:\x20'+CLI_BIN_NAME+'\x20app-config\x20get\x20<key>');try{const _0x589ed4=await getRuntimeAppConfigByKey(_0xbe9dca[_0x2b5149(0x1b2)],_0x32599f);return{'ok':!![],'data':_0x589ed4};}catch{throw CliErrors['apiError'](_0x2b5149(0x1a8)+_0x32599f+_0x2b5149(0x1a1)+_0xbe9dca[_0x2b5149(0x1b2)],_0x2b5149(0x1ac));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3e9c1f,_0x401412){const _0x3274aa=a9_0x5cdb,_0x515e4e=_0x3e9c1f();while(!![]){try{const _0x4c2094=parseInt(_0x3274aa(0x8a))/0x1+parseInt(_0x3274aa(0x91))/0x2+-parseInt(_0x3274aa(0x8f))/0x3*(-parseInt(_0x3274aa(0x90))/0x4)+-parseInt(_0x3274aa(0x8e))/0x5+parseInt(_0x3274aa(0x92))/0x6+parseInt(_0x3274aa(0x8b))/0x7*(parseInt(_0x3274aa(0x8c))/0x8)+-parseInt(_0x3274aa(0x8d))/0x9*(parseInt(_0x3274aa(0x93))/0xa);if(_0x4c2094===_0x401412)break;else _0x515e4e['push'](_0x515e4e['shift']());}catch(_0x5e2e59){_0x515e4e['push'](_0x515e4e['shift']());}}}(a9_0x3a5d,0xeeee1));function a9_0x3a5d(){const _0x35db7f=['624dolaRC','5492uiHzwi','1492524zQnivC','1405926sJoKzj','140dtsUeF','748197OnahTO','223069wxeHOs','464hMYBJf','1714311XohmRQ','1086435mmHBRY'];a9_0x3a5d=function(){return _0x35db7f;};return a9_0x3a5d();}function a9_0x5cdb(_0x5a4c03,_0x17d1b7){_0x5a4c03=_0x5a4c03-0x8a;const _0x3a5d4e=a9_0x3a5d();let _0x5cdbd1=_0x3a5d4e[_0x5a4c03];return _0x5cdbd1;}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0xc0e850=a10_0x34be;(function(_0x4cbe4c,_0x2f2c35){const _0x475b5b=a10_0x34be,_0x3f26c6=_0x4cbe4c();while(!![]){try{const _0x3ead5b=-parseInt(_0x475b5b(0x152))/0x1+parseInt(_0x475b5b(0x136))/0x2+parseInt(_0x475b5b(0x147))/0x3+-parseInt(_0x475b5b(0x122))/0x4+-parseInt(_0x475b5b(0x131))/0x5*(-parseInt(_0x475b5b(0x12c))/0x6)+parseInt(_0x475b5b(0x153))/0x7*(-parseInt(_0x475b5b(0x148))/0x8)+-parseInt(_0x475b5b(0x15d))/0x9;if(_0x3ead5b===_0x2f2c35)break;else _0x3f26c6['push'](_0x3f26c6['shift']());}catch(_0x48f518){_0x3f26c6['push'](_0x3f26c6['shift']());}}}(a10_0x34f9,0x528f4));function a10_0x34be(_0x26b740,_0x43bcc6){_0x26b740=_0x26b740-0x113;const _0x34f9a7=a10_0x34f9();let _0x34be6d=_0x34f9a7[_0x26b740];return _0x34be6d;}import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0xc0e850(0x14a),ARTIFACT_SOURCE_AGENT=a10_0xc0e850(0x123),ALLOWED_REACT_MODULE_IMPORTS=[a10_0xc0e850(0x116),'react-dom',a10_0xc0e850(0x11d),a10_0xc0e850(0x160),a10_0xc0e850(0x11f),a10_0xc0e850(0x124)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0xc0e850(0x151)](',\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_0xc0e850(0x128),'type':a10_0xc0e850(0x155),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0xc0e850(0x138),'type':a10_0xc0e850(0x155),'description':a10_0xc0e850(0x146)},METADATA_FLAG={'name':a10_0xc0e850(0x154),'type':a10_0xc0e850(0x155),'description':a10_0xc0e850(0x143)};function isPlainObject(_0x51602e){const _0x2d8ae4=a10_0xc0e850;return typeof _0x51602e===_0x2d8ae4(0x12a)&&_0x51602e!==null&&!Array[_0x2d8ae4(0x120)](_0x51602e);}function readSourceFile(_0xfed638){const _0x2a32a2=a10_0xc0e850;if(!_0xfed638)throw CliErrors[_0x2a32a2(0x119)](_0x2a32a2(0x12e));if(!existsSync(_0xfed638))throw CliErrors[_0x2a32a2(0x119)](_0x2a32a2(0x13e)+_0xfed638);if(!statSync(_0xfed638)['isFile']())throw CliErrors['validation'](_0x2a32a2(0x14d)+_0xfed638);const _0x3b0c10=readFileSync(_0xfed638,_0x2a32a2(0x134));return validateReactModuleSource(_0x3b0c10),_0x3b0c10;}function parseMetadata(_0x27e4d9){const _0x2e6d44=a10_0xc0e850;if(!_0x27e4d9)return undefined;let _0x47a3f4;try{_0x47a3f4=JSON[_0x2e6d44(0x139)](_0x27e4d9);}catch{throw CliErrors[_0x2e6d44(0x119)](_0x2e6d44(0x140)+_0x27e4d9);}if(!isPlainObject(_0x47a3f4))throw CliErrors[_0x2e6d44(0x119)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x333064={..._0x47a3f4};return delete _0x333064[_0x2e6d44(0x11c)],_0x333064;}function getPackageName(_0xac97dd){const _0x328ec9=a10_0xc0e850;if(_0xac97dd[_0x328ec9(0x14e)]('@')){const [_0x4b96f1,_0x1ab3eb]=_0xac97dd[_0x328ec9(0x15c)]('/');return _0x4b96f1&&_0x1ab3eb?_0x4b96f1+'/'+_0x1ab3eb:_0xac97dd;}return _0xac97dd[_0x328ec9(0x15c)]('/')[0x0]||_0xac97dd;}function validateAllowedImports(_0x13d8f8){const _0x109e98=a10_0xc0e850,_0x26df77=new Set();for(const _0x14e472 of IMPORT_SOURCE_PATTERNS){_0x14e472['lastIndex']=0x0;let _0x2782be;while((_0x2782be=_0x14e472[_0x109e98(0x162)](_0x13d8f8))!==null){const _0x2ed6f9=_0x2782be[0x1]?.['trim']();_0x2ed6f9&&_0x26df77[_0x109e98(0x15a)](_0x2ed6f9);}}const _0x53ba0c=[..._0x26df77][_0x109e98(0x15f)](getPackageName)['filter'](_0x4e4a9e=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x4e4a9e));if(_0x53ba0c[_0x109e98(0x12f)]>0x0)throw CliErrors['validation'](_0x109e98(0x11e)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x109e98(0x118)+[...new Set(_0x53ba0c)][_0x109e98(0x151)](',\x20'));}export function validateReactModuleSource(_0x39c3a7){const _0x40ca4d=a10_0xc0e850;if(!_0x39c3a7[_0x40ca4d(0x129)]())throw CliErrors['validation'](_0x40ca4d(0x135));if(PAGE_LEVEL_PATTERNS['some'](_0x228f61=>_0x228f61[_0x40ca4d(0x115)](_0x39c3a7)))throw CliErrors['validation'](_0x40ca4d(0x142));validateAllowedImports(_0x39c3a7);}function buildArtifactInput(_0x3f8e87){const _0x2d053d=a10_0xc0e850,_0x7ed782=readSourceFile(_0x3f8e87[_0x2d053d(0x132)]('file')),_0x1a0863=_0x3f8e87['str']('name')[_0x2d053d(0x129)](),_0x4e90d0=parseMetadata(_0x3f8e87[_0x2d053d(0x132)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1a0863?{'name':_0x1a0863}:{},'content':_0x7ed782,..._0x4e90d0?{'metadata':_0x4e90d0}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2b315c){const _0x3b911f=a10_0xc0e850;return{'id':_0x2b315c['id'],'name':_0x2b315c['name'],'artifactType':_0x2b315c[_0x3b911f(0x156)],'source':_0x2b315c[_0x3b911f(0x127)],'favorite':_0x2b315c[_0x3b911f(0x15e)],'deleted':_0x2b315c[_0x3b911f(0x13a)],'createTime':_0x2b315c[_0x3b911f(0x126)],'updateTime':_0x2b315c[_0x3b911f(0x141)]};}function detailArtifact(_0x13c6a6){const _0x31591e=a10_0xc0e850;return{'id':_0x13c6a6['id'],'appCode':_0x13c6a6[_0x31591e(0x121)],'name':_0x13c6a6[_0x31591e(0x138)],'artifactType':_0x13c6a6['artifactType'],'source':_0x13c6a6[_0x31591e(0x127)],'favorite':_0x13c6a6['favorite'],'deleted':_0x13c6a6[_0x31591e(0x13a)],'content':_0x13c6a6[_0x31591e(0x13d)]??'','compiledContent':_0x13c6a6[_0x31591e(0x11c)],'metadata':_0x13c6a6[_0x31591e(0x154)]??{},'createTime':_0x13c6a6[_0x31591e(0x126)],'updateTime':_0x13c6a6[_0x31591e(0x141)]};}function readFavoriteFlag(_0x2a2a85){const _0x3b8e43=a10_0xc0e850,_0x2d5f50=_0x2a2a85['flag'](_0x3b8e43(0x15e));return _0x2d5f50===undefined||_0x2d5f50===null||_0x2d5f50===''?undefined:_0x2a2a85[_0x3b8e43(0x150)](_0x3b8e43(0x15e));}const artifactList={'service':a10_0xc0e850(0x13b),'command':'list','description':a10_0xc0e850(0x158),'risk':a10_0xc0e850(0x114),'flags':[{'name':a10_0xc0e850(0x127),'type':a10_0xc0e850(0x155),'description':'Optional\x20source\x20filter,\x20for\x20example\x20AGENT'},{'name':a10_0xc0e850(0x15e),'type':a10_0xc0e850(0x15b),'description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x2b8e7c){const _0x48328e=a10_0xc0e850,_0x37a6e2=await listRuntimeArtifacts(_0x2b8e7c[_0x48328e(0x121)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2b8e7c[_0x48328e(0x132)](_0x48328e(0x127))?{'source':_0x2b8e7c[_0x48328e(0x132)](_0x48328e(0x127))}:{},...readFavoriteFlag(_0x2b8e7c)!==undefined?{'favorite':readFavoriteFlag(_0x2b8e7c)}:{}});return{'ok':!![],'data':{'total':_0x37a6e2[_0x48328e(0x12f)],'items':_0x2b8e7c['bool'](_0x48328e(0x157))?_0x37a6e2:_0x37a6e2[_0x48328e(0x15f)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0xc0e850(0x159),'description':a10_0xc0e850(0x13f),'risk':a10_0xc0e850(0x114),'flags':[{...ID_FLAG,'description':a10_0xc0e850(0x11b)}],async 'execute'(_0x3791ef){const _0x274e66=a10_0xc0e850,_0x74404f=await getRuntimeArtifact(_0x3791ef['num']('id'),_0x3791ef[_0x274e66(0x121)]);return{'ok':!![],'data':detailArtifact(_0x74404f)};}},artifactCreate={'service':a10_0xc0e850(0x13b),'command':'create','description':a10_0xc0e850(0x125),'risk':a10_0xc0e850(0x145),'confirmationDescription':a10_0xc0e850(0x149),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x56a3f6){const _0x526994=a10_0xc0e850,_0x4ab82f=buildArtifactInput(_0x56a3f6),_0x15bf80=await createRuntimeArtifact(_0x56a3f6[_0x526994(0x121)],_0x4ab82f);return{'ok':!![],'data':detailArtifact(_0x15bf80),'message':_0x526994(0x12d)+_0x15bf80['id']+(_0x15bf80['name']?'\x20('+_0x15bf80[_0x526994(0x138)]+')':'')};},async 'dryRun'(_0x1ed59b){const _0x5061c6=a10_0xc0e850,_0x3c384c=buildArtifactInput(_0x1ed59b);return dryRun(_0x5061c6(0x13c),_0x5061c6(0x144))[_0x5061c6(0x14b)]({'appCode':_0x1ed59b[_0x5061c6(0x121)],..._0x3c384c})[_0x5061c6(0x12b)]('Preview:\x20create\x20react_module\x20Artifact')[_0x5061c6(0x113)]();},'writeEventSubject'(_0x23f0a6){const _0x4406e8=a10_0xc0e850,_0x3aecbb=_0x23f0a6[_0x4406e8(0x117)]?.['id'];if(typeof _0x3aecbb!=='string'&&typeof _0x3aecbb!=='number')return undefined;return{'kind':_0x4406e8(0x13b),'id':String(_0x3aecbb),'action':'create'};}},artifactUpdate={'service':a10_0xc0e850(0x13b),'command':a10_0xc0e850(0x14f),'description':a10_0xc0e850(0x130),'risk':a10_0xc0e850(0x145),'confirmationDescription':a10_0xc0e850(0x133),'flags':[{...ID_FLAG,'description':a10_0xc0e850(0x11b)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3660aa){const _0x26b5e1=a10_0xc0e850,_0x385660=_0x3660aa[_0x26b5e1(0x161)]('id'),_0x14d14d=buildArtifactInput(_0x3660aa),_0x24a747=await updateRuntimeArtifact(_0x385660,_0x3660aa[_0x26b5e1(0x121)],_0x14d14d);return{'ok':!![],'data':detailArtifact(_0x24a747),'message':_0x26b5e1(0x11a)+_0x24a747['id']+(_0x24a747[_0x26b5e1(0x138)]?'\x20('+_0x24a747[_0x26b5e1(0x138)]+')':'')};},async 'dryRun'(_0x53c331){const _0x56fa7e=a10_0xc0e850,_0x2d36b4=_0x53c331['num']('id'),_0x5aa778=buildArtifactInput(_0x53c331);return dryRun(_0x56fa7e(0x13c),'/client/artifact/'+_0x2d36b4+_0x56fa7e(0x137))[_0x56fa7e(0x14b)]({'appCode':_0x53c331[_0x56fa7e(0x121)],..._0x5aa778})[_0x56fa7e(0x12b)](_0x56fa7e(0x14c)+_0x2d36b4)[_0x56fa7e(0x113)]();},'writeEventSubject'(_0x289fad){const _0x3a2046=a10_0xc0e850,_0x5b8cf9=_0x289fad[_0x3a2046(0x117)]?.['id'];if(typeof _0x5b8cf9!==_0x3a2046(0x155)&&typeof _0x5b8cf9!=='number')return undefined;return{'kind':_0x3a2046(0x13b),'id':String(_0x5b8cf9),'action':_0x3a2046(0x14f)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];function a10_0x34f9(){const _0x129488=['react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','/client/artifact/create','write','Artifact\x20display\x20name','402162eWjdxQ','1027304AAlMMR','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','react_module','body','Preview:\x20update\x20react_module\x20Artifact\x20','File\x20is\x20not\x20a\x20regular\x20file:\x20','startsWith','update','bool','join','14143VhoBqr','7uxTDzV','metadata','string','artifactType','verbose','List\x20current-app\x20react_module\x20Artifacts','detail','add','boolean','split','2227446ljGfLZ','favorite','map','dayjs','num','exec','build','read','test','react','data','.\x20Unsupported:\x20','validation','Updated\x20Artifact\x20','Artifact\x20ID','compiledContent','lodash','react_module\x20imports\x20are\x20limited\x20to:\x20','antd','isArray','appCode','160176UcEWpb','AGENT','@ant-design/icons','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','createTime','source','file','trim','object','description','2116734SPSuOJ','Created\x20Artifact\x20','File\x20path\x20is\x20required.','length','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','5IskTFe','str','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','utf8','Artifact\x20source\x20file\x20is\x20blank.','562830ZieHWl','/update','name','parse','deleted','artifact','POST','content','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','Invalid\x20JSON\x20for\x20--metadata:\x20','updateTime'];a10_0x34f9=function(){return _0x129488;};return a10_0x34f9();}
|
|
1
|
+
const a10_0x5e26b8=a10_0x1cae;(function(_0x498833,_0x468e45){const _0x55ad29=a10_0x1cae,_0x3d41dc=_0x498833();while(!![]){try{const _0x2c5ed2=-parseInt(_0x55ad29(0x8b))/0x1+parseInt(_0x55ad29(0x9e))/0x2+parseInt(_0x55ad29(0xc2))/0x3*(parseInt(_0x55ad29(0x91))/0x4)+parseInt(_0x55ad29(0xb9))/0x5+-parseInt(_0x55ad29(0xa9))/0x6*(-parseInt(_0x55ad29(0xb4))/0x7)+-parseInt(_0x55ad29(0xd7))/0x8+-parseInt(_0x55ad29(0xbb))/0x9;if(_0x2c5ed2===_0x468e45)break;else _0x3d41dc['push'](_0x3d41dc['shift']());}catch(_0x15b517){_0x3d41dc['push'](_0x3d41dc['shift']());}}}(a10_0x39ae,0x46f53));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_0x1cae(_0x34254c,_0x1b24d7){_0x34254c=_0x34254c-0x88;const _0x39ae37=a10_0x39ae();let _0x1cae3b=_0x39ae37[_0x34254c];return _0x1cae3b;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x5e26b8(0xac),ARTIFACT_SOURCE_AGENT=a10_0x5e26b8(0xd9),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x5e26b8(0xbc),a10_0x5e26b8(0xd5),a10_0x5e26b8(0x97),a10_0x5e26b8(0x8e),a10_0x5e26b8(0xb5),a10_0x5e26b8(0xce)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x5e26b8(0xc9),'type':a10_0x5e26b8(0xa2),'required':!![],'description':a10_0x5e26b8(0x9f)},ARTIFACT_NAME_FLAG={'name':a10_0x5e26b8(0xc8),'type':a10_0x5e26b8(0xa2),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x5e26b8(0xbf),'type':a10_0x5e26b8(0xa2),'description':a10_0x5e26b8(0xc4)};function isPlainObject(_0x4c1f47){const _0xd610ac=a10_0x5e26b8;return typeof _0x4c1f47===_0xd610ac(0xa4)&&_0x4c1f47!==null&&!Array[_0xd610ac(0xc0)](_0x4c1f47);}function readSourceFile(_0x400f66){const _0x52318e=a10_0x5e26b8;if(!_0x400f66)throw CliErrors[_0x52318e(0x88)](_0x52318e(0xb8));if(!existsSync(_0x400f66))throw CliErrors[_0x52318e(0x88)](_0x52318e(0xc7)+_0x400f66);if(!statSync(_0x400f66)[_0x52318e(0xae)]())throw CliErrors[_0x52318e(0x88)](_0x52318e(0xcb)+_0x400f66);const _0x225967=readFileSync(_0x400f66,'utf8');return validateReactModuleSource(_0x225967),_0x225967;}function parseMetadata(_0xd59e2b){const _0x3bce79=a10_0x5e26b8;if(!_0xd59e2b)return undefined;let _0x1dff6c;try{_0x1dff6c=JSON[_0x3bce79(0xb1)](_0xd59e2b);}catch{throw CliErrors['validation'](_0x3bce79(0xda)+_0xd59e2b);}if(!isPlainObject(_0x1dff6c))throw CliErrors[_0x3bce79(0x88)](_0x3bce79(0xa8));const _0x353224={..._0x1dff6c};return delete _0x353224[_0x3bce79(0xd3)],_0x353224;}function getPackageName(_0x165ac1){const _0x4c6f99=a10_0x5e26b8;if(_0x165ac1[_0x4c6f99(0xd8)]('@')){const [_0x2c31b6,_0x381da0]=_0x165ac1['split']('/');return _0x2c31b6&&_0x381da0?_0x2c31b6+'/'+_0x381da0:_0x165ac1;}return _0x165ac1[_0x4c6f99(0xaa)]('/')[0x0]||_0x165ac1;}function validateAllowedImports(_0x229fbb){const _0x367868=a10_0x5e26b8,_0x3af6a4=new Set();for(const _0x3ac652 of IMPORT_SOURCE_PATTERNS){_0x3ac652['lastIndex']=0x0;let _0x5ad3aa;while((_0x5ad3aa=_0x3ac652[_0x367868(0xb7)](_0x229fbb))!==null){const _0x1e8303=_0x5ad3aa[0x1]?.['trim']();_0x1e8303&&_0x3af6a4[_0x367868(0xb0)](_0x1e8303);}}const _0x199cd0=[..._0x3af6a4][_0x367868(0xa5)](getPackageName)['filter'](_0x14dde1=>!ALLOWED_REACT_MODULE_IMPORTS[_0x367868(0xd6)](_0x14dde1));if(_0x199cd0[_0x367868(0x95)]>0x0)throw CliErrors[_0x367868(0x88)](_0x367868(0x9c)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x367868(0xb2)+[...new Set(_0x199cd0)][_0x367868(0x96)](',\x20'));}function a10_0x39ae(){const _0x602ec5=['add','parse','.\x20Unsupported:\x20','/client/artifact/create','7TTTDok','antd','some','exec','File\x20path\x20is\x20required.','556155ddYfWo','body','5467653JuEOeV','react','POST','create','metadata','isArray','Artifact\x20ID','8571qyoxHU','verbose','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','description','Updated\x20Artifact\x20','File\x20not\x20found:\x20','name','file','Artifact\x20source\x20file\x20is\x20blank.','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20react_module\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','@ant-design/icons','test','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','trim','Created\x20Artifact\x20','compiledContent','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','react-dom','includes','1416120AAxLqk','startsWith','AGENT','Invalid\x20JSON\x20for\x20--metadata:\x20','flag','validation','/update','artifactType','357142HzDCnS','favorite','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','dayjs','source','boolean','592NuBMIf','updateTime','update','str','length','join','lodash','/client/artifact/','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','write','react_module\x20imports\x20are\x20limited\x20to:\x20','num','822546laiSDM','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','artifact','string','Optional\x20favorite-state\x20filter','object','map','appCode','data','--metadata\x20must\x20be\x20a\x20JSON\x20object.','2921862vJpLhA','split','detail','react_module','Show\x20one\x20Artifact\x20by\x20id','isFile','number'];a10_0x39ae=function(){return _0x602ec5;};return a10_0x39ae();}export function validateReactModuleSource(_0x51a0c9){const _0x4bd49b=a10_0x5e26b8;if(!_0x51a0c9[_0x4bd49b(0xd1)]())throw CliErrors[_0x4bd49b(0x88)](_0x4bd49b(0xca));if(PAGE_LEVEL_PATTERNS[_0x4bd49b(0xb6)](_0x29e251=>_0x29e251[_0x4bd49b(0xcf)](_0x51a0c9)))throw CliErrors[_0x4bd49b(0x88)](_0x4bd49b(0xd4));validateAllowedImports(_0x51a0c9);}function buildArtifactInput(_0x302db4){const _0x4ef375=a10_0x5e26b8,_0x24ba46=readSourceFile(_0x302db4[_0x4ef375(0x94)](_0x4ef375(0xc9))),_0x344d73=_0x302db4[_0x4ef375(0x94)](_0x4ef375(0xc8))[_0x4ef375(0xd1)](),_0x4b1575=parseMetadata(_0x302db4['str']('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x344d73?{'name':_0x344d73}:{},'content':_0x24ba46,..._0x4b1575?{'metadata':_0x4b1575}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x1f572d){const _0x49752d=a10_0x5e26b8;return{'id':_0x1f572d['id'],'name':_0x1f572d['name'],'artifactType':_0x1f572d[_0x49752d(0x8a)],'source':_0x1f572d['source'],'favorite':_0x1f572d[_0x49752d(0x8c)],'deleted':_0x1f572d['deleted'],'createTime':_0x1f572d['createTime'],'updateTime':_0x1f572d[_0x49752d(0x92)]};}function detailArtifact(_0x3e40d9){const _0x4dfef5=a10_0x5e26b8;return{'id':_0x3e40d9['id'],'appCode':_0x3e40d9['appCode'],'name':_0x3e40d9['name'],'artifactType':_0x3e40d9[_0x4dfef5(0x8a)],'source':_0x3e40d9['source'],'favorite':_0x3e40d9[_0x4dfef5(0x8c)],'deleted':_0x3e40d9['deleted'],'content':_0x3e40d9['content']??'','compiledContent':_0x3e40d9[_0x4dfef5(0xd3)],'metadata':_0x3e40d9[_0x4dfef5(0xbf)]??{},'createTime':_0x3e40d9['createTime'],'updateTime':_0x3e40d9[_0x4dfef5(0x92)]};}function readFavoriteFlag(_0x586b57){const _0x1bb704=a10_0x5e26b8,_0x2be1f9=_0x586b57[_0x1bb704(0xdb)](_0x1bb704(0x8c));return _0x2be1f9===undefined||_0x2be1f9===null||_0x2be1f9===''?undefined:_0x586b57['bool'](_0x1bb704(0x8c));}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':'read','flags':[{'name':'source','type':a10_0x5e26b8(0xa2),'description':a10_0x5e26b8(0x99)},{'name':a10_0x5e26b8(0x8c),'type':a10_0x5e26b8(0x90),'description':a10_0x5e26b8(0xa3)},VERBOSE_FLAG],async 'execute'(_0x39aeb0){const _0x5057f2=a10_0x5e26b8,_0x1c3fed=await listRuntimeArtifacts(_0x39aeb0['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x39aeb0['str'](_0x5057f2(0x8f))?{'source':_0x39aeb0['str'](_0x5057f2(0x8f))}:{},...readFavoriteFlag(_0x39aeb0)!==undefined?{'favorite':readFavoriteFlag(_0x39aeb0)}:{}});return{'ok':!![],'data':{'total':_0x1c3fed['length'],'items':_0x39aeb0['bool'](_0x5057f2(0xc3))?_0x1c3fed:_0x1c3fed[_0x5057f2(0xa5)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0xab),'description':a10_0x5e26b8(0xad),'risk':a10_0x5e26b8(0x9a),'flags':[{...ID_FLAG,'description':a10_0x5e26b8(0xc1)}],async 'execute'(_0x101159){const _0x26ff6d=a10_0x5e26b8,_0x30162a=await getRuntimeArtifact(_0x101159['num']('id'),_0x101159[_0x26ff6d(0xa6)]);return{'ok':!![],'data':detailArtifact(_0x30162a)};}},artifactCreate={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0xbe),'description':a10_0x5e26b8(0xd0),'risk':a10_0x5e26b8(0x9b),'confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x28d4fb){const _0x5254cf=a10_0x5e26b8,_0x58ca54=buildArtifactInput(_0x28d4fb),_0x2794a3=await createRuntimeArtifact(_0x28d4fb[_0x5254cf(0xa6)],_0x58ca54);return{'ok':!![],'data':detailArtifact(_0x2794a3),'message':_0x5254cf(0xd2)+_0x2794a3['id']+(_0x2794a3['name']?'\x20('+_0x2794a3['name']+')':'')};},async 'dryRun'(_0x1f0a1d){const _0x5285dc=a10_0x5e26b8,_0x52ca23=buildArtifactInput(_0x1f0a1d);return dryRun(_0x5285dc(0xbd),_0x5285dc(0xb3))[_0x5285dc(0xba)]({'appCode':_0x1f0a1d[_0x5285dc(0xa6)],..._0x52ca23})[_0x5285dc(0xc5)](_0x5285dc(0xcc))['build']();},'writeEventSubject'(_0x1a4232){const _0x31bb3c=a10_0x5e26b8,_0x531858=_0x1a4232[_0x31bb3c(0xa7)]?.['id'];if(typeof _0x531858!==_0x31bb3c(0xa2)&&typeof _0x531858!==_0x31bb3c(0xaf))return undefined;return{'kind':_0x31bb3c(0xa1),'id':String(_0x531858),'action':_0x31bb3c(0xbe)};}},artifactUpdate={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0x93),'description':a10_0x5e26b8(0x8d),'risk':'write','confirmationDescription':a10_0x5e26b8(0xa0),'flags':[{...ID_FLAG,'description':a10_0x5e26b8(0xc1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x208fde){const _0x5935d9=a10_0x5e26b8,_0x2d3d59=_0x208fde[_0x5935d9(0x9d)]('id'),_0x771c7a=buildArtifactInput(_0x208fde),_0x567210=await updateRuntimeArtifact(_0x2d3d59,_0x208fde[_0x5935d9(0xa6)],_0x771c7a);return{'ok':!![],'data':detailArtifact(_0x567210),'message':_0x5935d9(0xc6)+_0x567210['id']+(_0x567210[_0x5935d9(0xc8)]?'\x20('+_0x567210['name']+')':'')};},async 'dryRun'(_0x66ea){const _0x4d1b9f=a10_0x5e26b8,_0x459258=_0x66ea[_0x4d1b9f(0x9d)]('id'),_0x14e4c5=buildArtifactInput(_0x66ea);return dryRun(_0x4d1b9f(0xbd),_0x4d1b9f(0x98)+_0x459258+_0x4d1b9f(0x89))[_0x4d1b9f(0xba)]({'appCode':_0x66ea['appCode'],..._0x14e4c5})[_0x4d1b9f(0xc5)](_0x4d1b9f(0xcd)+_0x459258)['build']();},'writeEventSubject'(_0xe71b11){const _0x1815bb=a10_0x5e26b8,_0x7d527c=_0xe71b11['data']?.['id'];if(typeof _0x7d527c!=='string'&&typeof _0x7d527c!==_0x1815bb(0xaf))return undefined;return{'kind':_0x1815bb(0xa1),'id':String(_0x7d527c),'action':_0x1815bb(0x93)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x57f353=a11_0x2b59;(function(_0x139c2b,_0x54cb9f){const _0x31f1ae=a11_0x2b59,_0x5dba77=_0x139c2b();while(!![]){try{const _0x570afd=-parseInt(_0x31f1ae(0x16e))/0x1*(-parseInt(_0x31f1ae(0x175))/0x2)+-parseInt(_0x31f1ae(0x18b))/0x3*(-parseInt(_0x31f1ae(0x17a))/0x4)+-parseInt(_0x31f1ae(0x180))/0x5*(parseInt(_0x31f1ae(0x1b1))/0x6)+-parseInt(_0x31f1ae(0x1a7))/0x7*(parseInt(_0x31f1ae(0x194))/0x8)+-parseInt(_0x31f1ae(0x192))/0x9*(-parseInt(_0x31f1ae(0x16c))/0xa)+parseInt(_0x31f1ae(0x17d))/0xb+-parseInt(_0x31f1ae(0x195))/0xc*(parseInt(_0x31f1ae(0x1aa))/0xd);if(_0x570afd===_0x54cb9f)break;else _0x5dba77['push'](_0x5dba77['shift']());}catch(_0x5e941b){_0x5dba77['push'](_0x5dba77['shift']());}}}(a11_0x29a5,0xd544a));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x2b59(_0x55d2a3,_0x264f4c){_0x55d2a3=_0x55d2a3-0x162;const _0x29a5f2=a11_0x29a5();let _0x2b59f2=_0x29a5f2[_0x55d2a3];return _0x2b59f2;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';function a11_0x29a5(){const _0x5019b6=['Write\x20to\x20global\x20config\x20(default)','7gbodKM','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','url-only','once','SIGINT','accessKey','cancelled','483886qFSpeN','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','validation','POST','json','25556bLduqH','toISOString','str','9136611tYOCpI','apiError','createdAt','5bxUYVX','parse','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','string','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','global-default','source','data','boolean','access_key','Device\x20authorization\x20cancelled.','519AeiZBI','AbortError','stringify','code','stderr','scope','\x20auth\x20status','7585479SCgHtI','Invalid\x20device\x20auth\x20response','9400kjtBtt','72sWtIZm','signal','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','nonInteractive','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\x20authorization\x20successful.','randomUUID','expired','global','lovrabet-cli','bool','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','aborted','floor','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','AccessKey\x20saved\x20to\x20','homeDirName','project','2135GqBvGE','application/json','test','4334876IRtIbt','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Verify:\x20','networkError','status','write','\x0dWaiting\x20for\x20authorization...\x20','7438182ynbLwX','object','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','utf8','success','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','removeListener','auth','now','\x20auth\x20device','Device\x20auth\x20API\x20error\x20(','&source=','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','getTime','),\x20retrying...','abort','Invalid\x20access_key\x20returned\x20by\x20server.','10HRWKPd'];a11_0x29a5=function(){return _0x5019b6;};return a11_0x29a5();}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(_0x3a432c){const _0x5b306c=a11_0x2b59;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x3a432c[_0x5b306c(0x19f)](_0x5b306c(0x19d)),'explicitProject':_0x3a432c['bool'](_0x5b306c(0x1a6)),'policy':_0x5b306c(0x185)}));}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 _0x3719d7=a11_0x2b59;return crypto[_0x3719d7(0x19b)]();}export function buildDeviceAuthUrl(_0x22bc2e,_0x486ab6,_0x38919d=a11_0x57f353(0x19e)){const _0x54ee50=a11_0x57f353;return _0x22bc2e+'/device-auth?code='+encodeURIComponent(_0x486ab6)+_0x54ee50(0x166)+encodeURIComponent(_0x38919d);}export function getDeviceCodePath(){const _0x454272=a11_0x57f353;return homedir()+'/'+PRODUCT_CONFIG[_0x454272(0x1a5)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x665413=a11_0x57f353,_0xe397e3=getDeviceCodePath();if(!existsSync(_0xe397e3))return null;try{const _0x3a52df=readFileSync(_0xe397e3,{'encoding':_0x665413(0x1b4)}),_0x70bf6f=JSON[_0x665413(0x181)](_0x3a52df);if(_0x70bf6f&&typeof _0x70bf6f[_0x665413(0x18e)]===_0x665413(0x183)&&typeof _0x70bf6f[_0x665413(0x17f)]===_0x665413(0x183)&&(_0x70bf6f[_0x665413(0x190)]==='global'||_0x70bf6f[_0x665413(0x190)]==='project'))return _0x70bf6f;}catch{}return null;}export function writeStoredDeviceCode(_0x2032f1,_0x160015){const _0xa3e5bb=a11_0x57f353,_0x1a4d40=getDeviceCodePath(),_0x248703=dirname(_0x1a4d40);!existsSync(_0x248703)&&mkdirSync(_0x248703,{'recursive':!![]});const _0xa37216={'code':_0x2032f1,'createdAt':new Date()[_0xa3e5bb(0x17b)](),'scope':_0x160015};writeFileSync(_0x1a4d40,JSON[_0xa3e5bb(0x18d)](_0xa37216),{'encoding':_0xa3e5bb(0x1b4),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x417e62=getDeviceCodePath();try{unlinkSync(_0x417e62);}catch{}}export function isStoredDeviceCodeExpired(_0x47b96b){const _0x5c5e8=a11_0x57f353;return Date[_0x5c5e8(0x163)]()-new Date(_0x47b96b['createdAt'])[_0x5c5e8(0x168)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x32b7f4,_0x547242){const _0x48cbd2=a11_0x57f353,_0x123fb4=_0x32b7f4+'/api/device-auth/token',_0x4b33b0=new AbortController(),_0x1204f3=setTimeout(()=>_0x4b33b0[_0x48cbd2(0x16a)](),0x2710),_0x4eef27=await fetch(_0x123fb4,{'method':_0x48cbd2(0x178),'headers':{'Content-Type':_0x48cbd2(0x1a8)},'body':JSON['stringify']({'code':_0x547242}),'signal':_0x4b33b0[_0x48cbd2(0x196)]});clearTimeout(_0x1204f3);if(!_0x4eef27['ok'])throw CliErrors['networkError']('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x4eef27[_0x48cbd2(0x1ae)]);const _0x54db15=await _0x4eef27[_0x48cbd2(0x179)](),_0x761a7e=_0x54db15[_0x48cbd2(0x187)]&&typeof _0x54db15[_0x48cbd2(0x187)]===_0x48cbd2(0x1b2)?_0x54db15[_0x48cbd2(0x187)]:_0x54db15;if(!_0x761a7e||typeof _0x761a7e['status']!=='string')throw CliErrors[_0x48cbd2(0x17e)](_0x48cbd2(0x193));return{'status':_0x761a7e[_0x48cbd2(0x1ae)],'access_key':typeof _0x761a7e[_0x48cbd2(0x189)]===_0x48cbd2(0x183)?_0x761a7e['access_key']:undefined};}export async function pollDeviceToken(_0x50333b,_0x1d521c,_0x1e59f8){const _0x8c1f84=a11_0x57f353;let _0x2586e7=0x0;for(let _0x485617=0x0;_0x485617<MAX_POLLS;_0x485617++){if(_0x1e59f8[_0x8c1f84(0x1a1)])throw CliErrors[_0x8c1f84(0x174)](_0x8c1f84(0x18a));let _0x55af74;try{_0x55af74=await fetchDeviceToken(_0x50333b,_0x1d521c);}catch(_0x5ee659){if(_0x5ee659 instanceof Error&&_0x5ee659['name']===_0x8c1f84(0x18c))throw CliErrors[_0x8c1f84(0x174)]('Device\x20authorization\x20cancelled.');_0x2586e7++;if(_0x2586e7>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x8c1f84(0x1ad)](_0x8c1f84(0x1b6));writeCliSideChannelLine(_0x8c1f84(0x165)+_0x2586e7+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x8c1f84(0x169)),await sleep(POLL_INTERVAL_MS);continue;}_0x2586e7=0x0;if(_0x55af74[_0x8c1f84(0x1ae)]===_0x8c1f84(0x1b5)){if(!_0x55af74[_0x8c1f84(0x189)])throw CliErrors[_0x8c1f84(0x17e)](_0x8c1f84(0x16b));return _0x55af74[_0x8c1f84(0x189)];}if(_0x55af74['status']===_0x8c1f84(0x19c)){deleteStoredDeviceCode();throw CliErrors[_0x8c1f84(0x177)](_0x8c1f84(0x1a0));}const _0x3faa87=(_0x485617+0x1)*POLL_INTERVAL_MS,_0x41681b=DEVICE_CODE_TTL_MS-_0x3faa87,_0x54e939=Math[_0x8c1f84(0x1a2)](_0x41681b/0xea60),_0x45cd84=Math[_0x8c1f84(0x1a2)](_0x41681b%0xea60/0x3e8);process[_0x8c1f84(0x18f)][_0x8c1f84(0x1af)](_0x8c1f84(0x1b0)+_0x54e939+':'+String(_0x45cd84)['padStart'](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x8c1f84(0x177)](_0x8c1f84(0x182));}function sleep(_0x565f71){return new Promise(_0x159849=>setTimeout(_0x159849,_0x565f71));}export const authDeviceDefinition={'service':a11_0x57f353(0x162),'command':'device','description':a11_0x57f353(0x1a3),'risk':a11_0x57f353(0x1af),'confirmationDescription':a11_0x57f353(0x199),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x57f353(0x19d),'type':a11_0x57f353(0x188),'description':a11_0x57f353(0x16d),'default':!![]},{'name':'project','type':a11_0x57f353(0x188),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x57f353(0x186),'type':'string','description':a11_0x57f353(0x16f),'default':a11_0x57f353(0x19e)},{'name':a11_0x57f353(0x170),'type':a11_0x57f353(0x188),'description':a11_0x57f353(0x197),'default':![]}],async 'execute'(_0x503fb8){const _0x44fae3=a11_0x57f353,_0x11a546=resolveAuthScopeFlags(_0x503fb8),_0x1e1183=_0x11a546['global']?_0x44fae3(0x19d):_0x44fae3(0x1a6),_0x23ccad=readScopedConfig(_0x11a546);if(_0x23ccad[_0x44fae3(0x173)])return{'ok':!![],'message':_0x44fae3(0x1b3)};const _0x47fa33=(_0x503fb8[_0x44fae3(0x17c)](_0x44fae3(0x186))||_0x44fae3(0x19e))['trim'](),_0x2c0410=getUserDomain(),_0x42b273=readStoredDeviceCode(),_0x341060=_0x42b273&&!isStoredDeviceCodeExpired(_0x42b273)?_0x42b273[_0x44fae3(0x18e)]:((()=>{const _0x4a522e=generateDeviceCode();return writeStoredDeviceCode(_0x4a522e,_0x1e1183),_0x4a522e;})()),_0x1103c0=buildDeviceAuthUrl(_0x2c0410,_0x341060,_0x47fa33);if(_0x503fb8['bool']('url-only'))return console['log'](_0x1103c0),{'ok':!![]};writeCliSideChannelLine(_0x44fae3(0x1ab)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x1103c0),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x44fae3(0x167));if(_0x503fb8[_0x44fae3(0x198)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x44fae3(0x164)),{'ok':!![],'message':_0x44fae3(0x176)};writeCliSideChannelLine(_0x44fae3(0x184));const _0x42d142=new AbortController(),_0x3d068f=()=>{const _0x3e5eed=_0x44fae3;_0x42d142[_0x3e5eed(0x16a)](),process[_0x3e5eed(0x1b7)](_0x3e5eed(0x172),_0x3d068f);};process[_0x44fae3(0x171)](_0x44fae3(0x172),_0x3d068f);let _0xfe29b7;try{_0xfe29b7=await pollDeviceToken(_0x2c0410,_0x341060,_0x42d142['signal']);}finally{process[_0x44fae3(0x1b7)](_0x44fae3(0x172),_0x3d068f);}if(!ACCESS_KEY_PATTERN[_0x44fae3(0x1a9)](_0xfe29b7))throw CliErrors[_0x44fae3(0x17e)](_0x44fae3(0x16b));const _0x129457=readScopedConfig(_0x11a546);return _0x129457[_0x44fae3(0x173)]=_0xfe29b7,writeScopedConfig(_0x129457,_0x11a546),deleteStoredDeviceCode(),process[_0x44fae3(0x18f)][_0x44fae3(0x1af)]('\x0a'),writeCliSideChannelLine(_0x44fae3(0x1a4)+_0x1e1183+'\x20config.'),writeCliSideChannelLine(_0x44fae3(0x1ac)+CLI_BIN_NAME+_0x44fae3(0x191)),{'ok':!![],'message':_0x44fae3(0x19a)};}};
|
|
1
|
+
const a11_0x11cbe8=a11_0x59fe;(function(_0x23bb54,_0x1fb1a8){const _0x31266b=a11_0x59fe,_0x10780a=_0x23bb54();while(!![]){try{const _0x3d3a25=parseInt(_0x31266b(0x1ef))/0x1+-parseInt(_0x31266b(0x20a))/0x2*(parseInt(_0x31266b(0x210))/0x3)+-parseInt(_0x31266b(0x1ec))/0x4+-parseInt(_0x31266b(0x1f5))/0x5*(-parseInt(_0x31266b(0x207))/0x6)+-parseInt(_0x31266b(0x218))/0x7+-parseInt(_0x31266b(0x224))/0x8+-parseInt(_0x31266b(0x209))/0x9*(-parseInt(_0x31266b(0x20f))/0xa);if(_0x3d3a25===_0x1fb1a8)break;else _0x10780a['push'](_0x10780a['shift']());}catch(_0x2a1c16){_0x10780a['push'](_0x10780a['shift']());}}}(a11_0x374e,0x19f7a));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(_0x12a274){const _0x4a00e3=a11_0x59fe;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x12a274[_0x4a00e3(0x22a)](_0x4a00e3(0x228)),'explicitProject':_0x12a274[_0x4a00e3(0x22a)](_0x4a00e3(0x203)),'policy':_0x4a00e3(0x213)}));}function a11_0x374e(){const _0x2b44e9=['networkError','Write\x20to\x20project\x20config','cancelled','nonInteractive','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','306792ByilxJ','log','\x20auth\x20status','181232GXNwpa','SIGINT','url-only','auth','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Verify:\x20','13510veTOQK','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','test','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','accessKey','\x20config.','createdAt','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Device\x20auth\x20API\x20error\x20(','validation','aborted','code','randomUUID','once','project','apiError','write','str','84PkLGJK','utf8','117zwhZnQ','26untQwl','),\x20retrying...','Write\x20to\x20global\x20config\x20(default)','stringify','Invalid\x20access_key\x20returned\x20by\x20server.','266390soybmF','22182aQazEP','removeListener','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','global-default','AccessKey\x20saved\x20to\x20','abort','toISOString','status','805210RvYqJA','&source=','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Device\x20auth\x20API\x20returned\x20HTTP\x20','device','signal','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','string','After\x20authorizing,\x20re-run:\x20','boolean','data','expired','1369240bmWhgG','/device-auth?code=','scope','object','global','AbortError','bool','/.device-auth','name','source','\x20auth\x20device','trim','padStart','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20authorization\x20cancelled.','stderr','homeDirName','lovrabet-cli','json','access_key'];a11_0x374e=function(){return _0x2b44e9;};return a11_0x374e();}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 _0x40560e=a11_0x59fe;return crypto[_0x40560e(0x201)]();}function a11_0x59fe(_0x2d7666,_0x315e1f){_0x2d7666=_0x2d7666-0x1e8;const _0x374e42=a11_0x374e();let _0x59fe1a=_0x374e42[_0x2d7666];return _0x59fe1a;}export function buildDeviceAuthUrl(_0x504bcb,_0x1a851c,_0x4211f7=a11_0x11cbe8(0x235)){const _0x108974=a11_0x11cbe8;return _0x504bcb+_0x108974(0x225)+encodeURIComponent(_0x1a851c)+_0x108974(0x219)+encodeURIComponent(_0x4211f7);}export function getDeviceCodePath(){const _0x1444cd=a11_0x11cbe8;return homedir()+'/'+PRODUCT_CONFIG[_0x1444cd(0x234)]+_0x1444cd(0x22b);}export function readStoredDeviceCode(){const _0x4b10f6=a11_0x11cbe8,_0x2be38b=getDeviceCodePath();if(!existsSync(_0x2be38b))return null;try{const _0x2a3c54=readFileSync(_0x2be38b,{'encoding':_0x4b10f6(0x208)}),_0x21d04f=JSON['parse'](_0x2a3c54);if(_0x21d04f&&typeof _0x21d04f[_0x4b10f6(0x200)]===_0x4b10f6(0x21f)&&typeof _0x21d04f['createdAt']==='string'&&(_0x21d04f[_0x4b10f6(0x226)]==='global'||_0x21d04f[_0x4b10f6(0x226)]===_0x4b10f6(0x203)))return _0x21d04f;}catch{}return null;}export function writeStoredDeviceCode(_0x13e99a,_0xb0ae6a){const _0x3e6c77=a11_0x11cbe8,_0x522aba=getDeviceCodePath(),_0x532f80=dirname(_0x522aba);!existsSync(_0x532f80)&&mkdirSync(_0x532f80,{'recursive':!![]});const _0x200766={'code':_0x13e99a,'createdAt':new Date()[_0x3e6c77(0x216)](),'scope':_0xb0ae6a};writeFileSync(_0x522aba,JSON[_0x3e6c77(0x20d)](_0x200766),{'encoding':_0x3e6c77(0x208),'mode':0x180});}export function deleteStoredDeviceCode(){const _0xddd20a=getDeviceCodePath();try{unlinkSync(_0xddd20a);}catch{}}export function isStoredDeviceCodeExpired(_0x371afa){const _0x282fd5=a11_0x11cbe8;return Date['now']()-new Date(_0x371afa[_0x282fd5(0x1fb)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x20af30,_0x84c349){const _0x544ced=a11_0x11cbe8,_0x1c68f2=_0x20af30+'/api/device-auth/token',_0x40389b=new AbortController(),_0x244614=setTimeout(()=>_0x40389b[_0x544ced(0x215)](),0x2710),_0x55d481=await fetch(_0x1c68f2,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'code':_0x84c349}),'signal':_0x40389b[_0x544ced(0x21d)]});clearTimeout(_0x244614);if(!_0x55d481['ok'])throw CliErrors[_0x544ced(0x238)](_0x544ced(0x21b)+_0x55d481[_0x544ced(0x217)]);const _0x36cbc7=await _0x55d481[_0x544ced(0x236)](),_0x4cf22a=_0x36cbc7['data']&&typeof _0x36cbc7[_0x544ced(0x222)]===_0x544ced(0x227)?_0x36cbc7[_0x544ced(0x222)]:_0x36cbc7;if(!_0x4cf22a||typeof _0x4cf22a[_0x544ced(0x217)]!=='string')throw CliErrors[_0x544ced(0x204)]('Invalid\x20device\x20auth\x20response');return{'status':_0x4cf22a['status'],'access_key':typeof _0x4cf22a[_0x544ced(0x237)]===_0x544ced(0x21f)?_0x4cf22a[_0x544ced(0x237)]:undefined};}export async function pollDeviceToken(_0x2896d9,_0x2d48f0,_0x39b7ab){const _0x4d4ee4=a11_0x11cbe8;let _0x4821bc=0x0;for(let _0x3c1116=0x0;_0x3c1116<MAX_POLLS;_0x3c1116++){if(_0x39b7ab[_0x4d4ee4(0x1ff)])throw CliErrors['cancelled'](_0x4d4ee4(0x232));let _0x1d0cf1;try{_0x1d0cf1=await fetchDeviceToken(_0x2896d9,_0x2d48f0);}catch(_0x9f7ac0){if(_0x9f7ac0 instanceof Error&&_0x9f7ac0[_0x4d4ee4(0x22c)]===_0x4d4ee4(0x229))throw CliErrors[_0x4d4ee4(0x1e9)](_0x4d4ee4(0x232));_0x4821bc++;if(_0x4821bc>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4d4ee4(0x238)](_0x4d4ee4(0x1eb));writeCliSideChannelLine(_0x4d4ee4(0x1fd)+_0x4821bc+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4d4ee4(0x20b)),await sleep(POLL_INTERVAL_MS);continue;}_0x4821bc=0x0;if(_0x1d0cf1[_0x4d4ee4(0x217)]==='success'){if(!_0x1d0cf1['access_key'])throw CliErrors[_0x4d4ee4(0x204)](_0x4d4ee4(0x20e));return _0x1d0cf1['access_key'];}if(_0x1d0cf1['status']===_0x4d4ee4(0x223)){deleteStoredDeviceCode();throw CliErrors[_0x4d4ee4(0x1fe)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x5d1be6=(_0x3c1116+0x1)*POLL_INTERVAL_MS,_0x32d1a5=DEVICE_CODE_TTL_MS-_0x5d1be6,_0x897f0e=Math['floor'](_0x32d1a5/0xea60),_0x47495b=Math['floor'](_0x32d1a5%0xea60/0x3e8);process[_0x4d4ee4(0x233)][_0x4d4ee4(0x205)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x897f0e+':'+String(_0x47495b)[_0x4d4ee4(0x230)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x4d4ee4(0x1fe)](_0x4d4ee4(0x1f8));}function sleep(_0x18bfb9){return new Promise(_0x5ec247=>setTimeout(_0x5ec247,_0x18bfb9));}export const authDeviceDefinition={'service':a11_0x11cbe8(0x1f2),'command':a11_0x11cbe8(0x21c),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a11_0x11cbe8(0x205),'confirmationDescription':'Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x11cbe8(0x228),'type':a11_0x11cbe8(0x221),'description':a11_0x11cbe8(0x20c),'default':!![]},{'name':'project','type':a11_0x11cbe8(0x221),'description':a11_0x11cbe8(0x1e8),'default':![]},{'name':'source','type':a11_0x11cbe8(0x21f),'description':a11_0x11cbe8(0x21a),'default':'lovrabet-cli'},{'name':a11_0x11cbe8(0x1f1),'type':'boolean','description':a11_0x11cbe8(0x212),'default':![]}],async 'execute'(_0x20e92c){const _0x173923=a11_0x11cbe8,_0xec5f4e=resolveAuthScopeFlags(_0x20e92c),_0x1085f1=_0xec5f4e[_0x173923(0x228)]?_0x173923(0x228):_0x173923(0x203),_0x257a46=readScopedConfig(_0xec5f4e);if(_0x257a46[_0x173923(0x1f9)])return{'ok':!![],'message':_0x173923(0x1fc)};const _0x3b575e=(_0x20e92c[_0x173923(0x206)](_0x173923(0x22d))||_0x173923(0x235))[_0x173923(0x22f)](),_0x1cd3b3=getUserDomain(),_0x346854=readStoredDeviceCode(),_0x5d03ce=_0x346854&&!isStoredDeviceCodeExpired(_0x346854)?_0x346854[_0x173923(0x200)]:((()=>{const _0x4dc6a5=generateDeviceCode();return writeStoredDeviceCode(_0x4dc6a5,_0x1085f1),_0x4dc6a5;})()),_0x381e89=buildDeviceAuthUrl(_0x1cd3b3,_0x5d03ce,_0x3b575e);if(_0x20e92c[_0x173923(0x22a)](_0x173923(0x1f1)))return console[_0x173923(0x1ed)](_0x381e89),{'ok':!![]};writeCliSideChannelLine(_0x173923(0x21e)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x381e89),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x173923(0x1f3));if(_0x20e92c[_0x173923(0x1ea)])return writeCliSideChannelLine(_0x173923(0x220)+CLI_BIN_NAME+_0x173923(0x22e)),{'ok':!![],'message':_0x173923(0x1f6)};writeCliSideChannelLine(_0x173923(0x231));const _0x3825fc=new AbortController(),_0xb75dea=()=>{const _0x3b8c08=_0x173923;_0x3825fc[_0x3b8c08(0x215)](),process[_0x3b8c08(0x211)](_0x3b8c08(0x1f0),_0xb75dea);};process[_0x173923(0x202)](_0x173923(0x1f0),_0xb75dea);let _0x3816f1;try{_0x3816f1=await pollDeviceToken(_0x1cd3b3,_0x5d03ce,_0x3825fc[_0x173923(0x21d)]);}finally{process[_0x173923(0x211)]('SIGINT',_0xb75dea);}if(!ACCESS_KEY_PATTERN[_0x173923(0x1f7)](_0x3816f1))throw CliErrors[_0x173923(0x204)](_0x173923(0x20e));const _0x31fb1c=readScopedConfig(_0xec5f4e);return _0x31fb1c[_0x173923(0x1f9)]=_0x3816f1,writeScopedConfig(_0x31fb1c,_0xec5f4e),deleteStoredDeviceCode(),process[_0x173923(0x233)]['write']('\x0a'),writeCliSideChannelLine(_0x173923(0x214)+_0x1085f1+_0x173923(0x1fa)),writeCliSideChannelLine(_0x173923(0x1f4)+CLI_BIN_NAME+_0x173923(0x1ee)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|