@lovrabet/lovrabet-cli 2.3.0-beta.1 → 2.3.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.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_0x4efa99=a0_0x3473;(function(_0x39228f,_0x552e34){const _0x57521c=a0_0x3473,_0x5f3006=_0x39228f();while(!![]){try{const _0x56b8e1=-parseInt(_0x57521c(0x135))/0x1*(parseInt(_0x57521c(0x13e))/0x2)+parseInt(_0x57521c(0x125))/0x3+-parseInt(_0x57521c(0x149))/0x4+parseInt(_0x57521c(0x147))/0x5+parseInt(_0x57521c(0x14a))/0x6*(-parseInt(_0x57521c(0x13c))/0x7)+parseInt(_0x57521c(0x127))/0x8*(parseInt(_0x57521c(0x145))/0x9)+-parseInt(_0x57521c(0x128))/0xa*(-parseInt(_0x57521c(0x123))/0xb);if(_0x56b8e1===_0x552e34)break;else _0x5f3006['push'](_0x5f3006['shift']());}catch(_0x37c904){_0x5f3006['push'](_0x5f3006['shift']());}}}(a0_0x17c9,0xed96c));import{jsx as a0_0x355c9c}from'react/jsx-runtime';import a0_0x4beb33 from'meow';import{render}from'ink';function a0_0x17c9(){const _0x178260=['3258950KLMDxD','\x0aCancelled.\x0a','Hint:\x20','error','original','definition','ERR_USE_AFTER_CLOSE',':\x20--','message','unknownCommand','stderr','Unexpected\x20error:','defaultCommand','85dhWDvm','exit','[preparse]\x20','assign','write','handler','name','10157eIpRMF','slice','22982RrOmWE','Error:\x20','ExitPromptError','hint','validation','catch','help','6723DhCqQC','code','356470CIeKEB','log','5047568tNOLuQ','6486WfiayA','flags','flatMap','args','./framework/preparse.js','88uXyibc','input','3555897IlITfC','length','9816aNNpHL'];a0_0x17c9=function(){return _0x178260;};return a0_0x17c9();}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';function a0_0x3473(_0x2da421,_0x1bb79c){_0x2da421=_0x2da421-0x120;const _0x17c99d=a0_0x17c9();let _0x347358=_0x17c99d[_0x2da421];return _0x347358;}const helpText=generateFullHelp(),cli=a0_0x4beb33(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x4efa99(0x143)](handleError);async function main(){try{await run();}catch(_0x4542d8){handleError(_0x4542d8);}}async function run(){const _0x384c28=a0_0x4efa99;let _0x21c58a=cli[_0x384c28(0x124)][0x0],_0x1335a2=cli[_0x384c28(0x124)][0x1];const _0x4920e6=cli[_0x384c28(0x14b)];try{const {correctFlags:_0x54f0d5}=await import(_0x384c28(0x122)),_0x326acb=getAllDefinitions()[_0x384c28(0x120)](_0x7bc066=>_0x7bc066['flags']??[]),{flags:_0x372779,corrections:_0x17f378}=_0x54f0d5(_0x4920e6,_0x326acb);if(_0x17f378[_0x384c28(0x126)]>0x0){for(const _0x2c0b06 of _0x17f378){process['stderr'][_0x384c28(0x139)](_0x384c28(0x137)+_0x2c0b06[_0x384c28(0x13a)]+_0x384c28(0x12f)+_0x2c0b06[_0x384c28(0x12c)]+'\x20->\x20--'+_0x2c0b06['corrected']+'\x0a');}Object[_0x384c28(0x138)](_0x4920e6,_0x372779);}}catch{}if(!_0x21c58a){const {waitUntilExit:_0x1d821c}=render(a0_0x355c9c(Help,{}));await _0x1d821c();return;}const _0x517638=resolveRemovedCommand(_0x21c58a,_0x1335a2);if(_0x517638)throw CliErrors[_0x384c28(0x142)](_0x517638[_0x384c28(0x130)],_0x517638[_0x384c28(0x141)]);if(!isKnownService(_0x21c58a)){const _0x4652e9=resolveDynamicServiceCommand(cli[_0x384c28(0x124)],_0x4920e6);if(_0x4652e9){if(_0x4920e6[_0x384c28(0x144)]){console[_0x384c28(0x148)](generateCommandHelp(_0x4652e9[_0x384c28(0x12d)]));return;}Object[_0x384c28(0x138)](_0x4920e6,_0x4652e9[_0x384c28(0x14b)]);const _0x286660=buildConfigFromFlags(_0x4920e6);await initGlobalEnvironment(_0x286660);const _0x4c828d=createPipelineEnv(_0x286660,_0x4920e6);_0x4c828d[_0x384c28(0x121)]=_0x4652e9[_0x384c28(0x121)],await runCommand(_0x4652e9['definition'],_0x4c828d);return;}if(_0x4920e6[_0x384c28(0x144)]){const _0x4f4065=generateDynamicServiceHelp(_0x21c58a);if(_0x4f4065){console['log'](_0x4f4065);return;}}const {waitUntilExit:_0x17ccf3}=render(a0_0x355c9c(Help,{}));await _0x17ccf3();return;}const _0x230eb4=getServiceEntry(_0x21c58a);if(!_0x1335a2){if(_0x4920e6['help']){console[_0x384c28(0x148)](generateServiceHelp(_0x21c58a));return;}if(_0x230eb4[_0x384c28(0x134)])_0x1335a2=_0x230eb4[_0x384c28(0x134)];else{console[_0x384c28(0x148)](generateServiceHelp(_0x21c58a));return;}}const _0x3a1025=findDefinition(_0x21c58a,_0x1335a2);!_0x3a1025&&(console[_0x384c28(0x148)](generateServiceHelp(_0x21c58a)),handleError(CliErrors[_0x384c28(0x131)](_0x21c58a+'\x20'+_0x1335a2)));if(_0x4920e6[_0x384c28(0x144)]){console[_0x384c28(0x148)](generateCommandHelp(_0x3a1025));return;}const _0x56401e=buildConfigFromFlags(_0x4920e6);await initGlobalEnvironment(_0x56401e);const _0x427f7a=createPipelineEnv(_0x56401e,_0x4920e6);_0x427f7a[_0x384c28(0x121)]=cli[_0x384c28(0x124)][_0x384c28(0x13d)](0x2),await runCommand(_0x3a1025,_0x427f7a);}function handleError(_0x230884){const _0x1f1323=a0_0x4efa99;if(_0x230884 instanceof CliError){_0x230884['code']==='cancelled'&&(process[_0x1f1323(0x132)][_0x1f1323(0x139)](_0x1f1323(0x129)),process['exit'](0x0));console[_0x1f1323(0x12b)](_0x1f1323(0x13f)+_0x230884[_0x1f1323(0x130)]);if(_0x230884[_0x1f1323(0x141)])console[_0x1f1323(0x12b)](_0x1f1323(0x12a)+_0x230884[_0x1f1323(0x141)]);process[_0x1f1323(0x136)](_0x230884['exitCode']);}isUserCancellation(_0x230884)&&(process[_0x1f1323(0x132)][_0x1f1323(0x139)](_0x1f1323(0x129)),process['exit'](0x0)),console[_0x1f1323(0x12b)](_0x1f1323(0x133),_0x230884),process[_0x1f1323(0x136)](0x1);}function isUserCancellation(_0x2e2be1){const _0x36dfd0=a0_0x4efa99;if(!(_0x2e2be1 instanceof Error))return![];if(_0x2e2be1[_0x36dfd0(0x13b)]===_0x36dfd0(0x140))return!![];if(_0x2e2be1[_0x36dfd0(0x146)]===_0x36dfd0(0x12e))return!![];if(_0x2e2be1[_0x36dfd0(0x146)]==='ERR_STREAM_DESTROYED')return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a1_0x5747(_0x5adafb,_0x5935d1){_0x5adafb=_0x5adafb-0x189;const _0x55dd06=a1_0x55dd();let _0x57477c=_0x55dd06[_0x5adafb];return _0x57477c;}const a1_0xa1bd4b=a1_0x5747;(function(_0xa66b29,_0x532422){const _0x3da8d1=a1_0x5747,_0x4b9cc3=_0xa66b29();while(!![]){try{const _0x357abd=-parseInt(_0x3da8d1(0x1ac))/0x1+-parseInt(_0x3da8d1(0x18e))/0x2*(parseInt(_0x3da8d1(0x1bc))/0x3)+-parseInt(_0x3da8d1(0x1d0))/0x4+-parseInt(_0x3da8d1(0x1bf))/0x5*(-parseInt(_0x3da8d1(0x202))/0x6)+parseInt(_0x3da8d1(0x1d2))/0x7*(parseInt(_0x3da8d1(0x1b7))/0x8)+-parseInt(_0x3da8d1(0x1e5))/0x9*(-parseInt(_0x3da8d1(0x1b9))/0xa)+parseInt(_0x3da8d1(0x192))/0xb;if(_0x357abd===_0x532422)break;else _0x4b9cc3['push'](_0x4b9cc3['shift']());}catch(_0x2fd532){_0x4b9cc3['push'](_0x4b9cc3['shift']());}}}(a1_0x55dd,0xf3ef7));function a1_0x55dd(){const _0x2b6e97=['/api/{appCode}/{datasetCode}/create','list','GET','str','category','Execute\x20BF\x20endpoint\x20function','6656178IXiEAz','Current\x20app\x20code','Get\x20dataset\x20detail','paging.totalCount\x20gives\x20total\x20rows','/api/dataset/getOneByCode?code={datasetCode}','##\x20Filter\x20dataset\x20data','dataset_data_create','tableData\x20contains\x20records','trim','/api/dataset/get-dataset-list-by-app-code','Show\x20runtime\x20API\x20documentation\x20by\x20code','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','17948OucwRt','Filter\x20dataset\x20data','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Exact\x20endpoint\x20function\x20name','9618125XrtHlh','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','read','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Aggregate\x20dataset\x20data','datasetCode','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','custom_sql','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','dataset_data_aggregate','##\x20List\x20datasets','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Execute\x20custom\x20SQL','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','tableData\x20contains\x20dataset\x20id/code/name','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Create\x20dataset\x20record','##\x20Dataset\x20detail','/api/{appCode}/{datasetCode}/getOne','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','map','method','1284340VzwRBs','/api/{appCode}/{datasetCode}/filter','length','detail','Create\x20a\x20dataset\x20record','Get\x20one\x20dataset\x20record','paging\x20contains\x20pagination','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','None','dataset','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','8lnXEzC','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','70xZJyEN','operations\x20describes\x20runtime\x20APIs','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','327tWFXnX','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','filter','5DVLjJT','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Dataset\x20detail','Aggregate\x20dataset\x20records','path','whenToUse','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','api-doc','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','toLowerCase','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','string','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','fields/properties\x20describe\x20data\x20shape','/api/endpoint/{appCode}/{functionName}','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','dataset_detail','3916868KyWbiq','keyword','10723363pFXwuw','summary','Get\x20BF\x20endpoint\x20function\x20contract','32-character\x20dataset\x20code','appCode','POST','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','validation','Filter\x20dataset\x20records','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','/client/bff/endpoint/{appCode}/{functionName}','/api/{appCode}/{datasetCode}/aggregate','Execute\x20a\x20BF\x20endpoint\x20function','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','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','List\x20datasets','bf_detail','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','find','932445HGJnHE','dataset_data_filter','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','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','{\x22param\x22:\x22value\x22}','Returns\x20SQL\x20execution\x20payload','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','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','result\x20rows\x20contain\x20aggregate\x20aliases','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','{\x22id\x22:123}','title','dataset_data_get_one','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','API\x20doc\x20code\x20not\x20found:\x20','API\x20doc\x20code,\x20for\x20example\x20dataset_list','functionName','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','code','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','/api/custom/executeSql','join'];a1_0x55dd=function(){return _0x2b6e97;};return a1_0x55dd();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0xa1bd4b(0x200),'type':a1_0xa1bd4b(0x1ca),'description':a1_0xa1bd4b(0x1ec)},KEYWORD_FLAG={'name':a1_0xa1bd4b(0x1d1),'type':a1_0xa1bd4b(0x1ca),'description':a1_0xa1bd4b(0x1c7)},DOC_CODE_FLAG={'name':'code','type':a1_0xa1bd4b(0x1ca),'required':!![],'description':a1_0xa1bd4b(0x1f5)},DOCS=[{'code':'dataset_list','category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1e1),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x20b),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0xa1bd4b(0x19c),'pathParams':[],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x199),'responseHighlights':[a1_0xa1bd4b(0x1a4),a1_0xa1bd4b(0x205)],'examples':[a1_0xa1bd4b(0x18c)],'notes':[a1_0xa1bd4b(0x19f)],'markdown':[a1_0xa1bd4b(0x19e),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1cf),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1c1),'method':a1_0xa1bd4b(0x1fe),'path':a1_0xa1bd4b(0x206),'summary':a1_0xa1bd4b(0x204),'whenToUse':a1_0xa1bd4b(0x1e3),'pathParams':[],'queryParams':[{'name':'code','description':'32-character\x20dataset\x20code'}],'bodySchema':'None','responseHighlights':[a1_0xa1bd4b(0x1cc),a1_0xa1bd4b(0x1c9),a1_0xa1bd4b(0x1ba)],'examples':[a1_0xa1bd4b(0x1bd)],'notes':[a1_0xa1bd4b(0x1ce)],'markdown':[a1_0xa1bd4b(0x1a7),'',a1_0xa1bd4b(0x1a1)][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1e6),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x18f),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1ad),'summary':a1_0xa1bd4b(0x1da),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':'datasetCode','description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x190),'responseHighlights':[a1_0xa1bd4b(0x209),a1_0xa1bd4b(0x1b2)],'examples':[a1_0xa1bd4b(0x1ed),a1_0xa1bd4b(0x1e9)],'notes':[a1_0xa1bd4b(0x1b3),a1_0xa1bd4b(0x1cb),a1_0xa1bd4b(0x1a2),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0xa1bd4b(0x207),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0xa1bd4b(0x19d),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x196),'method':'POST','path':a1_0xa1bd4b(0x1dd),'summary':a1_0xa1bd4b(0x1c2),'whenToUse':a1_0xa1bd4b(0x1d8),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1bb),'responseHighlights':[a1_0xa1bd4b(0x1ee),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0xa1bd4b(0x1e0)],'notes':[a1_0xa1bd4b(0x1c0),a1_0xa1bd4b(0x18b)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0xa1bd4b(0x1ef)][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1f2),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1b1),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1a8),'summary':a1_0xa1bd4b(0x1b1),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1f0),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0xa1bd4b(0x19b)],'notes':[a1_0xa1bd4b(0x1a5)],'markdown':a1_0xa1bd4b(0x1f9)},{'code':a1_0xa1bd4b(0x208),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1a6),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1fc),'summary':a1_0xa1bd4b(0x1b0),'whenToUse':a1_0xa1bd4b(0x1db),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':'Current\x20app\x20code'},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0xa1bd4b(0x1a3)],'examples':[a1_0xa1bd4b(0x1e7)],'notes':[a1_0xa1bd4b(0x1c5)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0xa1bd4b(0x1e2),'category':'bf','title':a1_0xa1bd4b(0x1d4),'method':a1_0xa1bd4b(0x1fe),'path':a1_0xa1bd4b(0x1dc),'summary':a1_0xa1bd4b(0x189),'whenToUse':a1_0xa1bd4b(0x1df),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':'Current\x20app\x20code'},{'name':a1_0xa1bd4b(0x1f6),'description':a1_0xa1bd4b(0x191)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1b4),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0xa1bd4b(0x18a)],'notes':[a1_0xa1bd4b(0x195)],'markdown':a1_0xa1bd4b(0x1f7)},{'code':'bf_execute','category':'bf','title':a1_0xa1bd4b(0x201),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1cd),'summary':a1_0xa1bd4b(0x1de),'whenToUse':a1_0xa1bd4b(0x1f3),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x1f6),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1ea),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0xa1bd4b(0x18d)],'notes':[a1_0xa1bd4b(0x1a9)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0xa1bd4b(0x1e8),'category':a1_0xa1bd4b(0x19a),'title':a1_0xa1bd4b(0x1a0),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1fa),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0xa1bd4b(0x193),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0xa1bd4b(0x1eb)],'examples':[a1_0xa1bd4b(0x198)],'notes':[a1_0xa1bd4b(0x1b8)],'markdown':a1_0xa1bd4b(0x1b6)}];function entrySummary(_0x36b66e){const _0xe14889=a1_0xa1bd4b;return{'code':_0x36b66e[_0xe14889(0x1f8)],'category':_0x36b66e[_0xe14889(0x200)],'method':_0x36b66e[_0xe14889(0x1ab)],'path':_0x36b66e[_0xe14889(0x1c3)],'summary':_0x36b66e[_0xe14889(0x1d3)],'whenToUse':_0x36b66e['whenToUse']};}export function listApiDocEntries(_0x30800a={}){const _0x46584f=a1_0xa1bd4b,_0x4bb74e=String(_0x30800a[_0x46584f(0x200)]||'')[_0x46584f(0x20a)](),_0x13139e=String(_0x30800a[_0x46584f(0x1d1)]||'')[_0x46584f(0x20a)]()['toLowerCase']();return DOCS[_0x46584f(0x1be)](_0x1820c7=>{const _0x4fe5e9=_0x46584f;if(_0x4bb74e&&_0x1820c7[_0x4fe5e9(0x200)]!==_0x4bb74e)return![];if(!_0x13139e)return!![];return[_0x1820c7[_0x4fe5e9(0x1f8)],_0x1820c7[_0x4fe5e9(0x200)],_0x1820c7[_0x4fe5e9(0x1ab)],_0x1820c7[_0x4fe5e9(0x1c3)],_0x1820c7[_0x4fe5e9(0x1d3)],_0x1820c7[_0x4fe5e9(0x1c4)],_0x1820c7[_0x4fe5e9(0x1f1)]][_0x4fe5e9(0x1fb)]('\x20')[_0x4fe5e9(0x1c8)]()['includes'](_0x13139e);})[_0x46584f(0x1aa)](entrySummary);}export function getApiDocDetail(_0x4220b6){const _0x3f9d3c=a1_0xa1bd4b,_0x497221=DOCS[_0x3f9d3c(0x1e4)](_0xfc121e=>_0xfc121e[_0x3f9d3c(0x1f8)]===_0x4220b6);if(!_0x497221)throw CliErrors[_0x3f9d3c(0x1d9)](_0x3f9d3c(0x1f4)+_0x4220b6);return{..._0x497221};}const apiDocList={'service':a1_0xa1bd4b(0x1c6),'command':a1_0xa1bd4b(0x1fd),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0xa1bd4b(0x194),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xe52296){const _0x24abcd=a1_0xa1bd4b,_0x4a708b=listApiDocEntries({'category':_0xe52296['str']('category'),'keyword':_0xe52296[_0x24abcd(0x1ff)]('keyword')});return{'ok':!![],'data':{'total':_0x4a708b[_0x24abcd(0x1ae)],'items':_0x4a708b}};}},apiDocDetail={'service':a1_0xa1bd4b(0x1c6),'command':a1_0xa1bd4b(0x1af),'description':a1_0xa1bd4b(0x20c),'risk':a1_0xa1bd4b(0x194),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x43564a){return{'ok':!![],'data':getApiDocDetail(_0x43564a['str']('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x85d992=a1_0x5938;(function(_0x2b38eb,_0x1aa2df){const _0x1a38de=a1_0x5938,_0x504569=_0x2b38eb();while(!![]){try{const _0xd6f281=-parseInt(_0x1a38de(0x119))/0x1+-parseInt(_0x1a38de(0xdc))/0x2*(-parseInt(_0x1a38de(0xf2))/0x3)+parseInt(_0x1a38de(0xcc))/0x4*(parseInt(_0x1a38de(0x12b))/0x5)+parseInt(_0x1a38de(0x121))/0x6+parseInt(_0x1a38de(0xcd))/0x7+-parseInt(_0x1a38de(0xf6))/0x8+-parseInt(_0x1a38de(0xc5))/0x9;if(_0xd6f281===_0x1aa2df)break;else _0x504569['push'](_0x504569['shift']());}catch(_0x4a2b08){_0x504569['push'](_0x504569['shift']());}}}(a1_0x1fb1,0xcb360));import{CliErrors}from'../../errors.js';function a1_0x5938(_0x21512f,_0x2afdc3){_0x21512f=_0x21512f-0xb9;const _0x1fb117=a1_0x1fb1();let _0x5938d0=_0x1fb117[_0x21512f];return _0x5938d0;}const CATEGORY_FLAG={'name':a1_0x85d992(0xd2),'type':a1_0x85d992(0xf8),'description':a1_0x85d992(0xc6)},KEYWORD_FLAG={'name':a1_0x85d992(0x122),'type':a1_0x85d992(0xf8),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x85d992(0xeb),'type':a1_0x85d992(0xf8),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':a1_0x85d992(0x108),'category':a1_0x85d992(0xf9),'title':a1_0x85d992(0xd7),'method':a1_0x85d992(0x134),'path':a1_0x85d992(0xfb),'summary':a1_0x85d992(0x11c),'whenToUse':'Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','pathParams':[],'queryParams':[],'bodySchema':a1_0x85d992(0xe5),'responseHighlights':[a1_0x85d992(0xfe),a1_0x85d992(0x10d)],'examples':[a1_0x85d992(0x116)],'notes':[a1_0x85d992(0x117)],'markdown':[a1_0x85d992(0xe6),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0x85d992(0xea)]('\x0a')},{'code':a1_0x85d992(0xc2),'category':'dataset','title':a1_0x85d992(0x127),'method':a1_0x85d992(0x103),'path':a1_0x85d992(0xce),'summary':'Get\x20dataset\x20detail','whenToUse':a1_0x85d992(0xf3),'pathParams':[],'queryParams':[{'name':a1_0x85d992(0xeb),'description':a1_0x85d992(0xca)}],'bodySchema':'None','responseHighlights':[a1_0x85d992(0xff),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned',a1_0x85d992(0x135)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x85d992(0xfc)],'markdown':[a1_0x85d992(0xe8),'',a1_0x85d992(0xd0)][a1_0x85d992(0xea)]('\x0a')},{'code':a1_0x85d992(0x104),'category':a1_0x85d992(0xf9),'title':a1_0x85d992(0xc4),'method':a1_0x85d992(0x134),'path':a1_0x85d992(0xd8),'summary':'Filter\x20dataset\x20records','whenToUse':a1_0x85d992(0xbb),'pathParams':[{'name':a1_0x85d992(0x109),'description':a1_0x85d992(0x10e)},{'name':a1_0x85d992(0x10a),'description':a1_0x85d992(0xca)}],'queryParams':[],'bodySchema':a1_0x85d992(0x112),'responseHighlights':[a1_0x85d992(0x129),a1_0x85d992(0x102)],'examples':[a1_0x85d992(0xe2),a1_0x85d992(0xe0)],'notes':['where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.',a1_0x85d992(0xc7),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x85d992(0xc0)],'markdown':[a1_0x85d992(0xc8),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x85d992(0xea)]('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x85d992(0xf9),'title':a1_0x85d992(0xd4),'method':a1_0x85d992(0x134),'path':a1_0x85d992(0xc3),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x85d992(0xba),'pathParams':[{'name':a1_0x85d992(0x109),'description':a1_0x85d992(0x10e)},{'name':a1_0x85d992(0x10a),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x85d992(0x10b),'responseHighlights':[a1_0x85d992(0xdf),a1_0x85d992(0xbf)],'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_0x85d992(0xdd),a1_0x85d992(0x126)],'markdown':[a1_0x85d992(0xe9),'',a1_0x85d992(0xbe)][a1_0x85d992(0xea)]('\x0a')},{'code':a1_0x85d992(0x101),'category':a1_0x85d992(0xf9),'title':a1_0x85d992(0x10c),'method':a1_0x85d992(0x134),'path':a1_0x85d992(0x12d),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x85d992(0xc9),'pathParams':[{'name':'appCode','description':a1_0x85d992(0x10e)},{'name':a1_0x85d992(0x10a),'description':a1_0x85d992(0xca)}],'queryParams':[],'bodySchema':a1_0x85d992(0x10f),'responseHighlights':[a1_0x85d992(0x107)],'examples':[a1_0x85d992(0xde)],'notes':[a1_0x85d992(0x11b)],'markdown':a1_0x85d992(0x125)},{'code':a1_0x85d992(0xda),'category':a1_0x85d992(0xf9),'title':'Create\x20dataset\x20record','method':a1_0x85d992(0x134),'path':a1_0x85d992(0x11d),'summary':a1_0x85d992(0x12e),'whenToUse':a1_0x85d992(0x120),'pathParams':[{'name':a1_0x85d992(0x109),'description':a1_0x85d992(0x10e)},{'name':a1_0x85d992(0x10a),'description':a1_0x85d992(0xca)}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x85d992(0xd1)],'examples':[a1_0x85d992(0xcb)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':a1_0x85d992(0xed)},{'code':'bf_detail','category':'bf','title':a1_0x85d992(0x11a),'method':a1_0x85d992(0x103),'path':a1_0x85d992(0x106),'summary':a1_0x85d992(0xc1),'whenToUse':a1_0x85d992(0x123),'pathParams':[{'name':a1_0x85d992(0x109),'description':'Current\x20app\x20code'},{'name':a1_0x85d992(0xb9),'description':a1_0x85d992(0xe3)}],'queryParams':[],'bodySchema':a1_0x85d992(0xf1),'responseHighlights':[a1_0x85d992(0x12c)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x85d992(0xd3)],'markdown':a1_0x85d992(0x131)},{'code':a1_0x85d992(0xf5),'category':'bf','title':a1_0x85d992(0xf4),'method':a1_0x85d992(0x134),'path':a1_0x85d992(0x111),'summary':a1_0x85d992(0xfa),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x85d992(0x109),'description':a1_0x85d992(0x10e)},{'name':a1_0x85d992(0xb9),'description':a1_0x85d992(0xbd)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x85d992(0x128)],'examples':[a1_0x85d992(0x124)],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':a1_0x85d992(0xe1)},{'code':'custom_sql_execute','category':a1_0x85d992(0x133),'title':'Execute\x20custom\x20SQL','method':a1_0x85d992(0x134),'path':a1_0x85d992(0x11f),'summary':a1_0x85d992(0x132),'whenToUse':a1_0x85d992(0xd6),'pathParams':[],'queryParams':[],'bodySchema':a1_0x85d992(0x118),'responseHighlights':[a1_0x85d992(0xf0)],'examples':[a1_0x85d992(0xbc)],'notes':[a1_0x85d992(0x11e)],'markdown':a1_0x85d992(0xe4)}];function entrySummary(_0xd809c){const _0x40e2b6=a1_0x85d992;return{'code':_0xd809c[_0x40e2b6(0xeb)],'category':_0xd809c[_0x40e2b6(0xd2)],'method':_0xd809c['method'],'path':_0xd809c[_0x40e2b6(0x110)],'summary':_0xd809c['summary'],'whenToUse':_0xd809c['whenToUse']};}export function listApiDocEntries(_0x9ccc54={}){const _0x59ae2f=a1_0x85d992,_0x10684e=String(_0x9ccc54[_0x59ae2f(0xd2)]||'')[_0x59ae2f(0xdb)](),_0x18340a=String(_0x9ccc54['keyword']||'')[_0x59ae2f(0xdb)]()[_0x59ae2f(0x12f)]();return DOCS['filter'](_0x5d6298=>{const _0x457d6b=_0x59ae2f;if(_0x10684e&&_0x5d6298[_0x457d6b(0xd2)]!==_0x10684e)return![];if(!_0x18340a)return!![];return[_0x5d6298[_0x457d6b(0xeb)],_0x5d6298[_0x457d6b(0xd2)],_0x5d6298[_0x457d6b(0x12a)],_0x5d6298['path'],_0x5d6298[_0x457d6b(0xcf)],_0x5d6298[_0x457d6b(0x115)],_0x5d6298[_0x457d6b(0xfd)]][_0x457d6b(0xea)]('\x20')[_0x457d6b(0x12f)]()[_0x457d6b(0xd5)](_0x18340a);})[_0x59ae2f(0xee)](entrySummary);}function a1_0x1fb1(){const _0x4846a9=['Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','category','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Aggregate\x20dataset\x20data','includes','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','List\x20datasets','/api/{appCode}/{datasetCode}/filter','find','dataset_data_create','trim','2290814wJGtFY','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','result\x20rows\x20contain\x20aggregate\x20aliases','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','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','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','Exact\x20endpoint\x20function\x20name','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','##\x20List\x20datasets','read','##\x20Dataset\x20detail','##\x20Aggregate\x20dataset\x20data','join','code','List\x20available\x20runtime\x20API\x20documentation\x20entries','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','map','API\x20doc\x20code\x20not\x20found:\x20','Returns\x20SQL\x20execution\x20payload','None','3ieUKfY','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','Execute\x20BF\x20endpoint\x20function','bf_execute','7846784gqHWOI','length','string','dataset','Execute\x20a\x20BF\x20endpoint\x20function','/api/dataset/get-dataset-list-by-app-code','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','title','tableData\x20contains\x20dataset\x20id/code/name','fields/properties\x20describe\x20data\x20shape','validation','dataset_data_get_one','paging\x20contains\x20pagination','GET','dataset_data_filter','str','/client/bff/endpoint/{appCode}/{functionName}','Returns\x20one\x20matching\x20business\x20record','dataset_list','appCode','datasetCode','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Get\x20one\x20dataset\x20record','paging.totalCount\x20gives\x20total\x20rows','Current\x20app\x20code','{\x22id\x22:123}','path','/api/endpoint/{appCode}/{functionName}','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','api-doc','detail','whenToUse','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','1174513KeSFmu','Get\x20BF\x20endpoint\x20function\x20contract','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','List\x20datasets\x20with\x20pagination','/api/{appCode}/{datasetCode}/create','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','/api/custom/executeSql','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','7996230mXIHuD','keyword','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','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Dataset\x20detail','Returns\x20script\x20business\x20payload','tableData\x20contains\x20records','method','203815RnQUDf','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','/api/{appCode}/{datasetCode}/getOne','Create\x20a\x20dataset\x20record','toLowerCase','Show\x20runtime\x20API\x20documentation\x20by\x20code','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Execute\x20custom\x20SQL','custom_sql','POST','operations\x20describes\x20runtime\x20APIs','functionName','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','Endpoint\x20function\x20name','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','where\x20filters\x20before\x20aggregation','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','dataset_detail','/api/{appCode}/{datasetCode}/aggregate','Filter\x20dataset\x20data','18709011XIwFyr','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','##\x20Filter\x20dataset\x20data','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','32-character\x20dataset\x20code','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','148hRAhjx','7561043TEMQBG','/api/dataset/getOneByCode?code={datasetCode}','summary'];a1_0x1fb1=function(){return _0x4846a9;};return a1_0x1fb1();}export function getApiDocDetail(_0xb1fbd4){const _0x406919=a1_0x85d992,_0x54b473=DOCS[_0x406919(0xd9)](_0x3b9e81=>_0x3b9e81[_0x406919(0xeb)]===_0xb1fbd4);if(!_0x54b473)throw CliErrors[_0x406919(0x100)](_0x406919(0xef)+_0xb1fbd4);return{..._0x54b473};}const apiDocList={'service':a1_0x85d992(0x113),'command':'list','description':a1_0x85d992(0xec),'risk':a1_0x85d992(0xe7),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x57c6ec){const _0x5dfbdd=a1_0x85d992,_0x269929=listApiDocEntries({'category':_0x57c6ec[_0x5dfbdd(0x105)](_0x5dfbdd(0xd2)),'keyword':_0x57c6ec[_0x5dfbdd(0x105)](_0x5dfbdd(0x122))});return{'ok':!![],'data':{'total':_0x269929[_0x5dfbdd(0xf7)],'items':_0x269929}};}},apiDocDetail={'service':'api-doc','command':a1_0x85d992(0x114),'description':a1_0x85d992(0x130),'risk':a1_0x85d992(0xe7),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1accee){const _0x2233f9=a1_0x85d992;return{'ok':!![],'data':getApiDocDetail(_0x1accee[_0x2233f9(0x105)](_0x2233f9(0xeb)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3faccd,_0x44fbc2){const _0x353d8a=a2_0x1f36,_0x25ff01=_0x3faccd();while(!![]){try{const _0x5ecffe=parseInt(_0x353d8a(0x1e4))/0x1*(parseInt(_0x353d8a(0x1dc))/0x2)+parseInt(_0x353d8a(0x1ec))/0x3*(parseInt(_0x353d8a(0x1d5))/0x4)+-parseInt(_0x353d8a(0x1e1))/0x5*(-parseInt(_0x353d8a(0x1d3))/0x6)+parseInt(_0x353d8a(0x1e0))/0x7*(-parseInt(_0x353d8a(0x1ed))/0x8)+parseInt(_0x353d8a(0x1de))/0x9*(-parseInt(_0x353d8a(0x1d9))/0xa)+parseInt(_0x353d8a(0x1d1))/0xb*(parseInt(_0x353d8a(0x1e8))/0xc)+-parseInt(_0x353d8a(0x1d7))/0xd;if(_0x5ecffe===_0x44fbc2)break;else _0x25ff01['push'](_0x25ff01['shift']());}catch(_0x34ba9b){_0x25ff01['push'](_0x25ff01['shift']());}}}(a2_0x27bf,0x287ab));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';function a2_0x1f36(_0x34ba6c,_0x581255){_0x34ba6c=_0x34ba6c-0x1d0;const _0x27bf47=a2_0x27bf();let _0x1f361b=_0x27bf47[_0x34ba6c];return _0x1f361b;}import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x5ee5a7){const _0x48f099=a2_0x1f36,_0x48e903=_0x5ee5a7[_0x48f099(0x1eb)](),_0x10d692=_0x48e903[_0x48f099(0x1e7)](-0x6)||'unknown',_0xa8c83b=createHash(_0x48f099(0x1e2))[_0x48f099(0x1df)](_0x48e903)[_0x48f099(0x1d0)](_0x48f099(0x1da))['slice'](0x0,0xc);return _0x48f099(0x1e6)+_0x10d692+'_'+_0xa8c83b;}export function getAppCacheFilePath(_0x3e97ce,_0x1a7723){const _0x2e8261=a2_0x1f36;return resolve(homedir(),PRODUCT_CONFIG[_0x2e8261(0x1e9)],_0x2e8261(0x1e5),_0x3e97ce,fingerprintAccessKey(_0x1a7723),_0x2e8261(0x1d2));}function a2_0x27bf(){const _0x594869=['cache','ak_','slice','84QsArUQ','homeDirName','stringify','trim','255GzBNbs','1980808ylvJJE','code','utf8','digest','220319cLIjix','my-apps.json','7566DtFNAs','appCode','11116DLskkh','EACCES','217464GWbniF','parse','28550bUjCDg','hex','find','6vCFmAc','appName','198spmBXx','update','7UgycFK','5wCnfYi','sha256','EPERM','38421HZqlBI'];a2_0x27bf=function(){return _0x594869;};return a2_0x27bf();}export function readCachedAppList(_0x5c4b4f,_0x5179bd){const _0x57d634=a2_0x1f36;if(!_0x5179bd?.[_0x57d634(0x1eb)]())return null;const _0x2b6c8b=getAppCacheFilePath(_0x5c4b4f,_0x5179bd);if(!existsSync(_0x2b6c8b))return null;try{const _0x33becf=readFileSync(_0x2b6c8b,_0x57d634(0x1ef));if(!_0x33becf[_0x57d634(0x1eb)]())return null;const _0x486dd6=JSON[_0x57d634(0x1d8)](_0x33becf);if(!Array['isArray'](_0x486dd6['items']))return null;return _0x486dd6;}catch{return null;}}export function writeCachedAppList(_0x2c5db0,_0x47cbd7,_0x1bf7e5){const _0x52f091=a2_0x1f36,_0x5a2803=getAppCacheFilePath(_0x2c5db0,_0x47cbd7),_0x5976bb=dirname(_0x5a2803);!existsSync(_0x5976bb)&&mkdirSync(_0x5976bb,{'recursive':!![]});const _0x9c39c2=_0x5a2803+'.tmp';try{writeFileSync(_0x9c39c2,JSON[_0x52f091(0x1ea)](_0x1bf7e5,null,0x2)+'\x0a',{'encoding':_0x52f091(0x1ef),'mode':0x180});try{renameSync(_0x9c39c2,_0x5a2803);}catch(_0x2979f0){if(_0x2979f0['code']===_0x52f091(0x1e3)||_0x2979f0[_0x52f091(0x1ee)]==='EXDEV'||_0x2979f0[_0x52f091(0x1ee)]===_0x52f091(0x1d6)){writeFileSync(_0x5a2803,JSON[_0x52f091(0x1ea)](_0x1bf7e5,null,0x2)+'\x0a',{'encoding':_0x52f091(0x1ef)});try{unlinkSync(_0x9c39c2);}catch{}}else throw _0x2979f0;}}catch(_0x530257){try{unlinkSync(_0x9c39c2);}catch{}throw _0x530257;}return _0x5a2803;}export function resolveCachedAppCode(_0x4de3d4,_0x47ef54,_0x10c1e4){const _0x340e04=a2_0x1f36;if(!_0x4de3d4)return undefined;const _0x331c7b=readCachedAppList(_0x47ef54,_0x10c1e4),_0x155d3b=_0x331c7b?.['items'][_0x340e04(0x1db)](_0x30ed04=>_0x30ed04[_0x340e04(0x1dd)]===_0x4de3d4&&isRuntimeAccessibleApp(_0x30ed04));return _0x155d3b?.[_0x340e04(0x1d4)]?.[_0x340e04(0x1eb)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x5e8c32=a3_0x19c4;(function(_0xaaf7c,_0xaa5255){const _0x4a591e=a3_0x19c4,_0x34a9b3=_0xaaf7c();while(!![]){try{const _0x413a76=-parseInt(_0x4a591e(0xfc))/0x1+parseInt(_0x4a591e(0x119))/0x2+-parseInt(_0x4a591e(0x100))/0x3+-parseInt(_0x4a591e(0x109))/0x4+parseInt(_0x4a591e(0x128))/0x5+-parseInt(_0x4a591e(0x127))/0x6+-parseInt(_0x4a591e(0x102))/0x7*(-parseInt(_0x4a591e(0x12a))/0x8);if(_0x413a76===_0xaa5255)break;else _0x34a9b3['push'](_0x34a9b3['shift']());}catch(_0x39479b){_0x34a9b3['push'](_0x34a9b3['shift']());}}}(a3_0x5db9,0x9d3ba));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x1bdd81,_0x59621c){const _0x4315ee=a3_0x19c4,_0x122bdc={};for(const _0x18e444 of _0x59621c){const _0x4ec0a9=_0x18e444['type']===_0x4315ee(0x110)?_0x1bdd81[_0x4315ee(0xff)](_0x18e444[_0x4315ee(0x11b)]):_0x1bdd81[_0x4315ee(0x12e)](_0x18e444[_0x4315ee(0x11b)]);if(_0x4ec0a9!==''&&_0x4ec0a9!==![])_0x122bdc[_0x18e444[_0x4315ee(0x11b)]]=_0x4ec0a9;}if(_0x1bdd81['nonInteractive'])_0x122bdc[_0x4315ee(0x117)]=!![];return _0x122bdc;}function a3_0x5db9(){const _0x44be64=['cachePath','cache','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','\x20cached\x20app(s)\x20for\x20env=\x22','3922536pTfvcE','776710YLBWYd','trim','10437752OoFveY','env','items','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','str','production','Target\x20environment\x20(default:\x20current\x20env)','mergedCli','Refreshed\x20app\x20cache\x20with\x20','include-unpublished','271894reXyjG','list','\x20app(s)\x20for\x20env=\x22','bool','3776637zNCzau','accessKey','14nAdEIh','config','source','fetchedAt','i18nInfo','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','enableI18n','3785068MFxoTg','local','map','string','appcode','push','../../commands/app/remote-source.js','boolean','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','no-cache','import','../../context.js','app','appPublishStatus','nonInteractive','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','2020084jChLRC','Include\x20unpublished\x20apps\x20for\x20diagnostics','name','Loaded\x20','length','write','envName','isCurrent','filter','entries'];a3_0x5db9=function(){return _0x44be64;};return a3_0x5db9();}function normalizeLanguages(_0x1aea3a){const _0xb1f789=a3_0x19c4;if(!Array['isArray'](_0x1aea3a))return[];return _0x1aea3a[_0xb1f789(0x121)](_0x5dd285=>typeof _0x5dd285===_0xb1f789(0x10c))[_0xb1f789(0x10b)](_0x368e36=>_0x368e36['trim']())[_0xb1f789(0x121)](Boolean);}function buildRemoteAppI18nFields(_0x218378){const _0x526f28=a3_0x19c4,_0x3a6464=normalizeLanguages(_0x218378[_0x526f28(0x106)]?.['langs']);return{'enableI18n':typeof _0x218378[_0x526f28(0x108)]===_0x526f28(0x110)?_0x218378['enableI18n']:null,'languages':_0x3a6464,'i18nInfo':_0x218378['i18nInfo']?{..._0x218378[_0x526f28(0x106)],'langs':_0x3a6464[_0x526f28(0x11d)]?_0x3a6464:null}:null};}function a3_0x19c4(_0x1c9495,_0x5a5c57){_0x1c9495=_0x1c9495-0xfa;const _0x5db958=a3_0x5db9();let _0x19c49a=_0x5db958[_0x1c9495];return _0x19c49a;}const listDef={'service':'app','command':a3_0x5e8c32(0xfd),'description':a3_0x5e8c32(0x118),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x5e8c32(0x12b),'type':a3_0x5e8c32(0x10c),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5e8c32(0x10a),'type':a3_0x5e8c32(0x110),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x5e8c32(0x112),'type':a3_0x5e8c32(0x110),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x5e8c32(0xfb),'type':'boolean','description':a3_0x5e8c32(0x11a),'default':![]}],async 'execute'(_0x42eb11){const _0x476b29=a3_0x5e8c32,_0x1d1cab=_0x42eb11[_0x476b29(0x12e)](_0x476b29(0x12b))||_0x42eb11[_0x476b29(0x11f)]||getEnv()||_0x476b29(0x12f),_0x1a2f4d=_0x42eb11['bool'](_0x476b29(0x10a)),_0x3657ab=_0x42eb11['bool'](_0x476b29(0x112)),_0x534631=_0x42eb11[_0x476b29(0xff)]('include-unpublished'),{readRawConfigWithLayers:_0x2ebe25,resolveDefaultAppSource:_0x42e321,getLocalAppAliases:_0x4dcc2f}=await import(_0x476b29(0x114)),{getRemoteAppList:_0x5931d3}=await import(_0x476b29(0x10f)),{config:_0x13ea9e,layers:_0x3d0909}=_0x2ebe25(),_0x30e69f=_0x42e321(_0x3d0909),{defaultApp:_0x27b4a4}=_0x13ea9e,_0x59ea8f=await _0x5931d3({'env':_0x1d1cab,'accessKey':_0x42eb11['accessKey'],'localOnly':_0x1a2f4d,'noCache':_0x3657ab}),_0x11c644=_0x534631?_0x59ea8f[_0x476b29(0x12c)]:filterRuntimeAccessibleApps(_0x59ea8f[_0x476b29(0x12c)]),_0x2d0553=_0x59ea8f[_0x476b29(0x12c)]['length']-_0x11c644[_0x476b29(0x11d)],_0x5eae93=_0x11c644['map'](_0x3f6616=>{const _0x391ca1=_0x476b29;return{'name':_0x3f6616['appName'],'appcode':_0x3f6616['appCode'],'named':!![],'definedIn':'remote','isDefault':_0x3f6616['appName']===_0x27b4a4,...buildAppProfileListFields(_0x1d1cab),...buildRemoteAppI18nFields(_0x3f6616),'source':_0x59ea8f['source'],'owner':_0x3f6616['appOwnerName']??null,'status':_0x3f6616[_0x391ca1(0x116)]??null,'cachedAt':_0x59ea8f[_0x391ca1(0x105)]};}),_0x319719=_0x4dcc2f(_0x13ea9e);let _0x491626=0x0;for(const [_0x50e777,_0x124bfc]of Object[_0x476b29(0x122)](_0x319719)){const _0x525cc8=typeof _0x124bfc[_0x476b29(0x10d)]===_0x476b29(0x10c)?_0x124bfc[_0x476b29(0x10d)][_0x476b29(0x129)]():'';if(!_0x525cc8)continue;const _0xf5b623=findAppByCode(_0x59ea8f[_0x476b29(0x12c)],_0x525cc8);if(!_0x534631&&_0xf5b623&&!isRuntimeAccessibleApp(_0xf5b623))continue;_0x491626+=0x1,_0x5eae93[_0x476b29(0x10e)]({'name':_0x50e777,'appcode':_0x525cc8,'named':!![],'definedIn':_0x476b29(0x10a),'isDefault':_0x50e777===_0x27b4a4,...buildAppProfileListFields(_0x1d1cab),'source':_0x476b29(0x103),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x5eae93,_0x42eb11[_0x476b29(0x131)]);const _0x377210=_0x5eae93['find'](_0x7e71f1=>_0x7e71f1[_0x476b29(0x120)]===!![]),_0x307c3f=_0x27b4a4??_0x377210?.[_0x476b29(0x11b)]??null,_0x2dea10={'env':_0x1d1cab,'source':_0x59ea8f[_0x476b29(0x104)],'fetchedAt':_0x59ea8f[_0x476b29(0x105)],'cachePath':_0x59ea8f['cachePath'],'globalPath':_0x3d0909['globalPath']??null,'projectPath':_0x3d0909['projectPath']??null,'defaultApp':_0x307c3f,'defaultAppSource':_0x27b4a4!=null?_0x30e69f:null,'localAliasCount':_0x491626,'remoteTotal':_0x59ea8f[_0x476b29(0x12c)][_0x476b29(0x11d)],'hiddenUnpublishedCount':_0x2d0553,'includeUnpublished':_0x534631};if(_0x5eae93['length']===0x0)return{'ok':!![],'data':{'items':_0x5eae93,'meta':_0x2dea10},'message':_0x59ea8f['source']===_0x476b29(0x124)?'No\x20cached\x20apps\x20found.':'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x5eae93,'meta':_0x2dea10}};}},pullDef={'service':a3_0x5e8c32(0x115),'command':'pull','description':a3_0x5e8c32(0x107),'risk':a3_0x5e8c32(0x11e),'confirmationDescription':a3_0x5e8c32(0x111),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x5e8c32(0x12b),'type':a3_0x5e8c32(0x10c),'description':a3_0x5e8c32(0x130),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5e8c32(0x10a),'type':a3_0x5e8c32(0x110),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x5e8c32(0x110),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x30b495){const _0x1a42c0=a3_0x5e8c32,_0x365ce4=_0x30b495['str'](_0x1a42c0(0x12b))||_0x30b495[_0x1a42c0(0x11f)]||getEnv()||_0x1a42c0(0x12f),_0x2391c1=_0x30b495[_0x1a42c0(0xff)](_0x1a42c0(0x10a)),_0x9f5978=_0x30b495[_0x1a42c0(0xff)]('no-cache'),{getRemoteAppList:_0x1fc298}=await import(_0x1a42c0(0x10f)),_0x2ec0e3=await _0x1fc298({'env':_0x365ce4,'accessKey':_0x30b495[_0x1a42c0(0x101)],'localOnly':_0x2391c1,'noCache':_0x9f5978});return{'ok':!![],'data':{'total':_0x2ec0e3[_0x1a42c0(0x12c)][_0x1a42c0(0x11d)],'env':_0x365ce4,'source':_0x2ec0e3[_0x1a42c0(0x104)],'fetchedAt':_0x2ec0e3[_0x1a42c0(0x105)],'cachePath':_0x2ec0e3[_0x1a42c0(0x123)]},'message':_0x2ec0e3['source']===_0x1a42c0(0x124)?_0x1a42c0(0x11c)+_0x2ec0e3[_0x1a42c0(0x12c)][_0x1a42c0(0x11d)]+_0x1a42c0(0x126)+_0x365ce4+'\x22.':_0x1a42c0(0xfa)+_0x2ec0e3[_0x1a42c0(0x12c)][_0x1a42c0(0x11d)]+_0x1a42c0(0xfe)+_0x365ce4+'\x22.'};}},importDef={'service':'app','command':a3_0x5e8c32(0x113),'description':a3_0x5e8c32(0x125),'risk':'write','confirmationDescription':a3_0x5e8c32(0x12d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x2a537c){return await runAppImport(collectFlags(_0x2a537c,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a4_0x3c8d(_0x56ab91,_0x411a53){_0x56ab91=_0x56ab91-0x155;const _0x930ab6=a4_0x930a();let _0x3c8dc9=_0x930ab6[_0x56ab91];return _0x3c8dc9;}(function(_0x1d71f5,_0x2fb3f1){const _0x37638e=a4_0x3c8d,_0x3b8420=_0x1d71f5();while(!![]){try{const _0x29f901=parseInt(_0x37638e(0x16d))/0x1+-parseInt(_0x37638e(0x161))/0x2*(-parseInt(_0x37638e(0x159))/0x3)+-parseInt(_0x37638e(0x158))/0x4*(parseInt(_0x37638e(0x169))/0x5)+parseInt(_0x37638e(0x165))/0x6*(-parseInt(_0x37638e(0x157))/0x7)+parseInt(_0x37638e(0x15a))/0x8+parseInt(_0x37638e(0x162))/0x9*(parseInt(_0x37638e(0x16c))/0xa)+parseInt(_0x37638e(0x155))/0xb*(parseInt(_0x37638e(0x160))/0xc);if(_0x29f901===_0x2fb3f1)break;else _0x3b8420['push'](_0x3b8420['shift']());}catch(_0x402af5){_0x3b8420['push'](_0x3b8420['shift']());}}}(a4_0x930a,0xb0d3a));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0x930a(){const _0x22e902=['55139yZSppB','4cYEPGN','27imKXhd','4242464iJiUOZ','appName','.\x20Publish\x20the\x20app\x20before\x20using\x20','App\x20','validation','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','7855500atFMfX','273046HuPvsd','202887tFoqeI','filter','find','492iaaoKZ','appCode','trim','Current\x20status:\x20','5698690RMAHsg','toUpperCase','UNKNOWN','20DUGOBQ','51208ufnLgJ','appPublishStatus','11ASIhNK','string'];a4_0x930a=function(){return _0x22e902;};return a4_0x930a();}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x1868c1){const _0x51a28c=a4_0x3c8d;if(typeof _0x1868c1!==_0x51a28c(0x156))return null;const _0x3d0438=_0x1868c1[_0x51a28c(0x167)]();return _0x3d0438?_0x3d0438[_0x51a28c(0x16a)]():null;}export function isRuntimeAccessibleApp(_0x5d1bc1){const _0x16ece9=a4_0x3c8d;return normalizeAppPublishStatus(_0x5d1bc1[_0x16ece9(0x16e)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x45748a){const _0x2955c8=a4_0x3c8d;return _0x45748a[_0x2955c8(0x163)](isRuntimeAccessibleApp);}export function findAppByName(_0x18b519,_0x16ac75){const _0x24d0eb=a4_0x3c8d;return _0x18b519['find'](_0x318683=>_0x318683[_0x24d0eb(0x15b)]===_0x16ac75);}export function findAppByCode(_0x33995f,_0x5d92c7){const _0x48c129=a4_0x3c8d,_0x1bd378=_0x5d92c7[_0x48c129(0x167)]();if(!_0x1bd378)return undefined;return _0x33995f[_0x48c129(0x164)](_0x4e56c3=>_0x4e56c3[_0x48c129(0x166)]?.[_0x48c129(0x167)]()===_0x1bd378);}export function runtimeInaccessibleAppError(_0x22fd2d,_0x5ab5f9){const _0x21c423=a4_0x3c8d,_0x59ddc6=normalizeAppPublishStatus(_0x22fd2d['appPublishStatus'])??_0x21c423(0x16b);return CliErrors[_0x21c423(0x15e)](_0x21c423(0x15d)+_0x5ab5f9+_0x21c423(0x15f),_0x21c423(0x168)+_0x59ddc6+_0x21c423(0x15c)+CLI_BIN_NAME+'\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x2502(_0x36c732,_0x5bc060){_0x36c732=_0x36c732-0xcd;const _0x2450dd=a5_0x2450();let _0x25028c=_0x2450dd[_0x36c732];return _0x25028c;}(function(_0x52b048,_0x24ef0f){const _0x214afb=a5_0x2502,_0x39635e=_0x52b048();while(!![]){try{const _0xb7362b=-parseInt(_0x214afb(0xd2))/0x1+-parseInt(_0x214afb(0xd7))/0x2+-parseInt(_0x214afb(0xcf))/0x3+-parseInt(_0x214afb(0xd9))/0x4+-parseInt(_0x214afb(0xd4))/0x5+-parseInt(_0x214afb(0xd3))/0x6*(-parseInt(_0x214afb(0xd0))/0x7)+parseInt(_0x214afb(0xda))/0x8*(parseInt(_0x214afb(0xdb))/0x9);if(_0xb7362b===_0x24ef0f)break;else _0x39635e['push'](_0x39635e['shift']());}catch(_0x1edd02){_0x39635e['push'](_0x39635e['shift']());}}}(a5_0x2450,0x8b685));import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x2450(){const _0x5bd7e9=['2803484HQPqQv','8ifecTv','33226371aVcxAM','Mock\x20API\x20error:\x20','tableData','1116585GnJtNr','7qTEXnl','utf-8','1091073TIEwEc','4657206iiErCM','5367840PGDpQC','parse','errorMsg','1318600gwCzNR','../../../mock/app-list.json'];a5_0x2450=function(){return _0x5bd7e9;};return a5_0x2450();}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x479c4a=a5_0x2502,_0x358609=join(__dirname,_0x479c4a(0xd8)),_0x426b21=readFileSync(_0x358609,_0x479c4a(0xd1));return JSON[_0x479c4a(0xd5)](_0x426b21);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x2aadc3=a5_0x2502,_0x1d3d76=getMockAppList();if(!_0x1d3d76['success'])throw new Error(_0x2aadc3(0xcd)+_0x1d3d76[_0x2aadc3(0xd6)]+'\x20('+_0x1d3d76['errorCode']+')');return _0x1d3d76['data'][_0x2aadc3(0xce)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x555dd9,_0x3752c5){const _0xd9bfe0=a6_0x2239,_0x436dfe=_0x555dd9();while(!![]){try{const _0x12230=-parseInt(_0xd9bfe0(0x118))/0x1*(-parseInt(_0xd9bfe0(0x12c))/0x2)+parseInt(_0xd9bfe0(0x117))/0x3+parseInt(_0xd9bfe0(0x122))/0x4*(parseInt(_0xd9bfe0(0x11e))/0x5)+parseInt(_0xd9bfe0(0x11b))/0x6*(-parseInt(_0xd9bfe0(0x11c))/0x7)+-parseInt(_0xd9bfe0(0x129))/0x8*(parseInt(_0xd9bfe0(0x123))/0x9)+-parseInt(_0xd9bfe0(0x125))/0xa*(-parseInt(_0xd9bfe0(0x11d))/0xb)+parseInt(_0xd9bfe0(0x127))/0xc*(-parseInt(_0xd9bfe0(0x121))/0xd);if(_0x12230===_0x3752c5)break;else _0x436dfe['push'](_0x436dfe['shift']());}catch(_0x39810f){_0x436dfe['push'](_0x436dfe['shift']());}}}(a6_0x5c2c,0xb9c43));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x62715d=a6_0x2239,_0x4e9114=(productEnv(_0x62715d(0x11f))||'')[_0x62715d(0x12b)]()[_0x62715d(0x126)]();return _0x4e9114===_0x62715d(0x12a);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}function a6_0x2239(_0xa261bd,_0x4ef66c){_0xa261bd=_0xa261bd-0x117;const _0x5c2c56=a6_0x5c2c();let _0x223974=_0x5c2c56[_0xa261bd];return _0x223974;}export async function getRemoteAppList(_0x168aa0){const _0x387ef7=a6_0x2239,{env:_0x426109,accessKey:_0x2f53b1,localOnly:localOnly=![],noCache:noCache=![]}=_0x168aa0,_0x22ff78=readCachedAppList(_0x426109,_0x2f53b1),_0x2ddb49=_0x2f53b1?.[_0x387ef7(0x12b)]()?getAppCacheFilePath(_0x426109,_0x2f53b1):null;if(localOnly)return{'items':_0x22ff78?.['items']??[],'source':_0x387ef7(0x120),'fetchedAt':_0x22ff78?.['fetchedAt']??null,'cachePath':_0x2ddb49};try{const _0x21f2c2=await getRemoteAppItems(),_0x11bf07=shouldUseMockRemoteApps()?_0x387ef7(0x12a):_0x387ef7(0x128),_0x2929b0=new Date()[_0x387ef7(0x11a)](),_0x4aae8d=_0x2f53b1?.[_0x387ef7(0x12b)]()?writeCachedAppList(_0x426109,_0x2f53b1,{'env':_0x426109,'fetchedAt':_0x2929b0,'source':_0x11bf07,'items':_0x21f2c2}):null;return{'items':_0x21f2c2,'source':_0x11bf07,'fetchedAt':_0x2929b0,'cachePath':_0x4aae8d};}catch(_0x1ae0fb){if(!noCache&&_0x22ff78)return{'items':_0x22ff78[_0x387ef7(0x119)],'source':_0x387ef7(0x120),'fetchedAt':_0x22ff78[_0x387ef7(0x124)],'cachePath':_0x2ddb49};throw _0x1ae0fb;}}function a6_0x5c2c(){const _0x888bfb=['1378128SdpwzN','mock','trim','142BUGlOF','3727941DELxgb','15541LKLPOS','items','toISOString','2334uJRrDm','10801vMwhUa','11RyBzlQ','873945VZxGWz','APP_LIST_SOURCE','cache','65GofmFw','8NDBcXS','9QpXUdz','fetchedAt','8419410mbUEYQ','toLowerCase','4810044nSWlRg','remote'];a6_0x5c2c=function(){return _0x888bfb;};return a6_0x5c2c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a7_0x3800(){const _0x466ae2=['1578604pWaYsL','455NUrtom','22387293LrLwzf','name','trim','3FlxjFx','defaultApp','currentApp','1722014KgfXkT','local','definedIn','10862264WfXWpm','5774112tLzQbz','isCurrent','appCode','appcode','named','13032944UdSEDB','find','34332IPGonY'];a7_0x3800=function(){return _0x466ae2;};return a7_0x3800();}(function(_0x15ed2a,_0x54b744){const _0x86a33=a7_0x5212,_0x2476a5=_0x15ed2a();while(!![]){try{const _0x1b75f3=parseInt(_0x86a33(0x81))/0x1+parseInt(_0x86a33(0x79))/0x2*(parseInt(_0x86a33(0x7e))/0x3)+parseInt(_0x86a33(0x85))/0x4+-parseInt(_0x86a33(0x7a))/0x5*(parseInt(_0x86a33(0x78))/0x6)+parseInt(_0x86a33(0x84))/0x7+-parseInt(_0x86a33(0x8a))/0x8+-parseInt(_0x86a33(0x7b))/0x9;if(_0x1b75f3===_0x54b744)break;else _0x2476a5['push'](_0x2476a5['shift']());}catch(_0x5d9fae){_0x2476a5['push'](_0x2476a5['shift']());}}}(a7_0x3800,0xd43b3));function a7_0x5212(_0xc61c9f,_0x565069){_0xc61c9f=_0xc61c9f-0x77;const _0x3800be=a7_0x3800();let _0x52129a=_0x3800be[_0xc61c9f];return _0x52129a;}export function enrichAppListItemsWithMergedSelection(_0x4ac225,_0x1552fa){const _0xa0536f=a7_0x5212;if(!_0x1552fa)return;const _0x3df104=!!(_0x1552fa[_0xa0536f(0x80)]??_0x1552fa[_0xa0536f(0x7f)]);for(const _0x5d23bd of _0x4ac225){_0x5d23bd[_0xa0536f(0x86)]=![];}const _0x34e632=_0x1552fa[_0xa0536f(0x87)]!=null?String(_0x1552fa[_0xa0536f(0x87)])[_0xa0536f(0x7d)]():'';if(_0x3df104){const _0x217707=_0x1552fa[_0xa0536f(0x80)]??_0x1552fa[_0xa0536f(0x7f)];if(_0x217707){const _0x4259e7=_0x4ac225[_0xa0536f(0x77)](_0x309cb4=>_0x309cb4[_0xa0536f(0x89)]===!![]&&_0x309cb4[_0xa0536f(0x7c)]===_0x217707&&_0x309cb4[_0xa0536f(0x83)]===_0xa0536f(0x82)),_0xd651c0=_0x4259e7??_0x4ac225['find'](_0x20a6ea=>_0x20a6ea[_0xa0536f(0x89)]===!![]&&_0x20a6ea['name']===_0x217707);if(_0xd651c0){const _0x1fe5f9=String(_0xd651c0[_0xa0536f(0x88)]??'')[_0xa0536f(0x7d)]();if(!_0x34e632||_0x1fe5f9===_0x34e632){_0xd651c0['isCurrent']=!![];return;}}}if(_0x34e632){const _0x157f40=_0x4ac225[_0xa0536f(0x77)](_0x4b524b=>String(_0x4b524b[_0xa0536f(0x88)]??'')[_0xa0536f(0x7d)]()===_0x34e632);_0x157f40&&(_0x157f40['isCurrent']=!![]);}return;}if(!_0x34e632)return;for(const _0x4ad06b of _0x4ac225){String(_0x4ad06b[_0xa0536f(0x88)]??'')['trim']()===_0x34e632&&(_0x4ad06b[_0xa0536f(0x86)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x14ddf3=a8_0x4400;(function(_0x2a0fd9,_0x503583){const _0x258088=a8_0x4400,_0x5a3008=_0x2a0fd9();while(!![]){try{const _0x54654f=parseInt(_0x258088(0x16d))/0x1+-parseInt(_0x258088(0x16b))/0x2+parseInt(_0x258088(0x16f))/0x3+-parseInt(_0x258088(0x175))/0x4+parseInt(_0x258088(0x172))/0x5*(parseInt(_0x258088(0x171))/0x6)+-parseInt(_0x258088(0x16c))/0x7*(-parseInt(_0x258088(0x176))/0x8)+-parseInt(_0x258088(0x17e))/0x9*(parseInt(_0x258088(0x16a))/0xa);if(_0x54654f===_0x503583)break;else _0x5a3008['push'](_0x5a3008['shift']());}catch(_0x3eeb4b){_0x5a3008['push'](_0x5a3008['shift']());}}}(a8_0x376b,0xed8e2));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a8_0x376b(){const _0x1f2970=['1381228MsTUos','581QVaFWr','1396788uqlsAH',',\x20appCode=','1531902hBVdyu','apiError','1255998itugPz','25ZsChIz','read','trim','6827724SiycQm','68040cCBraU','app-config','Unable\x20to\x20get\x20app-config\x20value:\x20key=','appCode','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','\x20app-config\x20get\x20<key>','Usage:\x20','2604879olKPqT','10dSevVO'];a8_0x376b=function(){return _0x1f2970;};return a8_0x376b();}import{CLI_BIN_NAME}from'../../constant/cli.js';function a8_0x4400(_0x564f31,_0x5d55c5){_0x564f31=_0x564f31-0x16a;const _0x376b58=a8_0x376b();let _0x4400c6=_0x376b58[_0x564f31];return _0x4400c6;}export const appConfigGet={'service':a8_0x14ddf3(0x177),'command':'get','description':a8_0x14ddf3(0x17b),'risk':a8_0x14ddf3(0x173),'args':[{'name':'key','description':'App\x20config\x20key','required':!![]}],'flags':[],async 'execute'(_0x203fd4){const _0x31e7b7=a8_0x14ddf3,_0xd3c8ac=_0x203fd4['args'][0x0]?.[_0x31e7b7(0x174)]();if(!_0xd3c8ac)throw CliErrors['validation']('Missing\x20app-config\x20key.',_0x31e7b7(0x17d)+CLI_BIN_NAME+_0x31e7b7(0x17c));try{const _0xa818d1=await getRuntimeAppConfigByKey(_0x203fd4[_0x31e7b7(0x179)],_0xd3c8ac);return{'ok':!![],'data':_0xa818d1};}catch{throw CliErrors[_0x31e7b7(0x170)](_0x31e7b7(0x178)+_0xd3c8ac+_0x31e7b7(0x16e)+_0x203fd4[_0x31e7b7(0x179)],_0x31e7b7(0x17a));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x451ad9,_0x50c7ae){const _0x3cb534=a9_0x33a9,_0x590f50=_0x451ad9();while(!![]){try{const _0x126495=-parseInt(_0x3cb534(0x199))/0x1*(-parseInt(_0x3cb534(0x19d))/0x2)+-parseInt(_0x3cb534(0x19a))/0x3+-parseInt(_0x3cb534(0x195))/0x4+parseInt(_0x3cb534(0x19f))/0x5*(parseInt(_0x3cb534(0x198))/0x6)+-parseInt(_0x3cb534(0x19c))/0x7*(parseInt(_0x3cb534(0x194))/0x8)+parseInt(_0x3cb534(0x197))/0x9*(parseInt(_0x3cb534(0x196))/0xa)+-parseInt(_0x3cb534(0x19b))/0xb*(-parseInt(_0x3cb534(0x19e))/0xc);if(_0x126495===_0x50c7ae)break;else _0x590f50['push'](_0x590f50['shift']());}catch(_0x40bc23){_0x590f50['push'](_0x590f50['shift']());}}}(a9_0x1847,0x5dcf5));function a9_0x33a9(_0x3298d4,_0x1cfc94){_0x3298d4=_0x3298d4-0x194;const _0x1847d=a9_0x1847();let _0x33a9ad=_0x1847d[_0x3298d4];return _0x33a9ad;}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0x1847(){const _0x57fadb=['45040DICZDo','55472sQiXZu','30lKWDVK','1239291tdoZMR','496326knQZpt','1nyvZtT','714063UQXXdB','44DdDkhI','728Sguimd','704958qYhkkW','871908OwWyEt','10gmcFop'];a9_0x1847=function(){return _0x57fadb;};return a9_0x1847();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x3bb534=a10_0x82c7;(function(_0x257a6a,_0x4de7db){const _0xc8d41c=a10_0x82c7,_0x423f2d=_0x257a6a();while(!![]){try{const _0x5d223b=-parseInt(_0xc8d41c(0x15a))/0x1*(-parseInt(_0xc8d41c(0x15c))/0x2)+-parseInt(_0xc8d41c(0x16e))/0x3*(parseInt(_0xc8d41c(0x19f))/0x4)+parseInt(_0xc8d41c(0x198))/0x5+parseInt(_0xc8d41c(0x15d))/0x6*(-parseInt(_0xc8d41c(0x163))/0x7)+-parseInt(_0xc8d41c(0x168))/0x8*(parseInt(_0xc8d41c(0x172))/0x9)+parseInt(_0xc8d41c(0x189))/0xa+parseInt(_0xc8d41c(0x16f))/0xb*(parseInt(_0xc8d41c(0x18d))/0xc);if(_0x5d223b===_0x4de7db)break;else _0x423f2d['push'](_0x423f2d['shift']());}catch(_0x1f5b2f){_0x423f2d['push'](_0x423f2d['shift']());}}}(a10_0x4034,0x997d9));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';function a10_0x82c7(_0x554816,_0x578e84){_0x554816=_0x554816-0x151;const _0x4034f8=a10_0x4034();let _0x82c71c=_0x4034f8[_0x554816];return _0x82c71c;}const ARTIFACT_TYPE_REACT_MODULE=a10_0x3bb534(0x1a6),ARTIFACT_SOURCE_AGENT=a10_0x3bb534(0x184),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3bb534(0x19a),a10_0x3bb534(0x191),a10_0x3bb534(0x17f),a10_0x3bb534(0x183),a10_0x3bb534(0x152),a10_0x3bb534(0x17e)];function a10_0x4034(){const _0xd500c6=['--metadata\x20must\x20be\x20a\x20JSON\x20object.','react_module','utf8','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','Updated\x20Artifact\x20','metadata','File\x20is\x20not\x20a\x20regular\x20file:\x20','startsWith','antd','File\x20path\x20is\x20required.','Artifact\x20ID','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','artifactType','trim','deleted','104JHYeUt','/client/artifact/create','13044CqDfVk','1518402MKnWyj','file','map','description','Artifact\x20display\x20name','POST','7pgBnwU','isFile','object','verbose','source','40536CyvduS','Created\x20Artifact\x20','filter','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','join','name','3AEXMKT','33kdGIav','split','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','1197FgpWBk','react_module\x20imports\x20are\x20limited\x20to:\x20','exec','add','string','number','test','create','updateTime','favorite','isArray','List\x20current-app\x20react_module\x20Artifacts','@ant-design/icons','lodash','read','Artifact\x20source\x20file\x20is\x20blank.','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','dayjs','AGENT','write','some','parse','artifact','3036340JnjINa','body','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','lastIndex','800412lEWpvv','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','num','.\x20Unsupported:\x20','react-dom','appCode','content','createTime','includes','compiledContent','Preview:\x20create\x20react_module\x20Artifact','4374155NcKiJW','str','react','length','list','data','validation','2004724oqtkLb','boolean','Optional\x20favorite-state\x20filter','update','build','bool'];a10_0x4034=function(){return _0xd500c6;};return a10_0x4034();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3bb534(0x16c)](',\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_0x3bb534(0x15e),'type':a10_0x3bb534(0x176),'required':!![],'description':a10_0x3bb534(0x182)},ARTIFACT_NAME_FLAG={'name':a10_0x3bb534(0x16d),'type':'string','description':a10_0x3bb534(0x161)},METADATA_FLAG={'name':a10_0x3bb534(0x1aa),'type':a10_0x3bb534(0x176),'description':a10_0x3bb534(0x18e)};function isPlainObject(_0x33b057){const _0x4fddaf=a10_0x3bb534;return typeof _0x33b057===_0x4fddaf(0x165)&&_0x33b057!==null&&!Array[_0x4fddaf(0x17c)](_0x33b057);}function readSourceFile(_0x597384){const _0x4589e3=a10_0x3bb534;if(!_0x597384)throw CliErrors['validation'](_0x4589e3(0x153));if(!existsSync(_0x597384))throw CliErrors[_0x4589e3(0x19e)](_0x4589e3(0x155)+_0x597384);if(!statSync(_0x597384)[_0x4589e3(0x164)]())throw CliErrors[_0x4589e3(0x19e)](_0x4589e3(0x1ab)+_0x597384);const _0x23df46=readFileSync(_0x597384,_0x4589e3(0x1a7));return validateReactModuleSource(_0x23df46),_0x23df46;}function parseMetadata(_0x54e95e){const _0x102f4e=a10_0x3bb534;if(!_0x54e95e)return undefined;let _0x3bafc6;try{_0x3bafc6=JSON[_0x102f4e(0x187)](_0x54e95e);}catch{throw CliErrors[_0x102f4e(0x19e)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x54e95e);}if(!isPlainObject(_0x3bafc6))throw CliErrors[_0x102f4e(0x19e)](_0x102f4e(0x1a5));const _0x25baac={..._0x3bafc6};return delete _0x25baac[_0x102f4e(0x196)],_0x25baac;}function getPackageName(_0x4c0022){const _0x3e6900=a10_0x3bb534;if(_0x4c0022[_0x3e6900(0x151)]('@')){const [_0x5c4698,_0x27b4e0]=_0x4c0022[_0x3e6900(0x170)]('/');return _0x5c4698&&_0x27b4e0?_0x5c4698+'/'+_0x27b4e0:_0x4c0022;}return _0x4c0022[_0x3e6900(0x170)]('/')[0x0]||_0x4c0022;}function validateAllowedImports(_0x75af4a){const _0x2eee0e=a10_0x3bb534,_0xc4c8ed=new Set();for(const _0x542731 of IMPORT_SOURCE_PATTERNS){_0x542731[_0x2eee0e(0x18c)]=0x0;let _0x5e3265;while((_0x5e3265=_0x542731[_0x2eee0e(0x174)](_0x75af4a))!==null){const _0x51b722=_0x5e3265[0x1]?.[_0x2eee0e(0x158)]();_0x51b722&&_0xc4c8ed[_0x2eee0e(0x175)](_0x51b722);}}const _0x25daf1=[..._0xc4c8ed][_0x2eee0e(0x15f)](getPackageName)[_0x2eee0e(0x16a)](_0x446a6f=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2eee0e(0x195)](_0x446a6f));if(_0x25daf1[_0x2eee0e(0x19b)]>0x0)throw CliErrors[_0x2eee0e(0x19e)](_0x2eee0e(0x173)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2eee0e(0x190)+[...new Set(_0x25daf1)][_0x2eee0e(0x16c)](',\x20'));}export function validateReactModuleSource(_0x472a67){const _0x35ec72=a10_0x3bb534;if(!_0x472a67[_0x35ec72(0x158)]())throw CliErrors[_0x35ec72(0x19e)](_0x35ec72(0x181));if(PAGE_LEVEL_PATTERNS[_0x35ec72(0x186)](_0x237cb5=>_0x237cb5[_0x35ec72(0x178)](_0x472a67)))throw CliErrors[_0x35ec72(0x19e)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x472a67);}function buildArtifactInput(_0xd9e4e){const _0x16b3f0=a10_0x3bb534,_0x17b45d=readSourceFile(_0xd9e4e[_0x16b3f0(0x199)](_0x16b3f0(0x15e))),_0x1bcdb6=_0xd9e4e[_0x16b3f0(0x199)](_0x16b3f0(0x16d))['trim'](),_0x16d533=parseMetadata(_0xd9e4e[_0x16b3f0(0x199)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1bcdb6?{'name':_0x1bcdb6}:{},'content':_0x17b45d,..._0x16d533?{'metadata':_0x16d533}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x110606){const _0x387659=a10_0x3bb534;return{'id':_0x110606['id'],'name':_0x110606[_0x387659(0x16d)],'artifactType':_0x110606['artifactType'],'source':_0x110606[_0x387659(0x167)],'favorite':_0x110606[_0x387659(0x17b)],'deleted':_0x110606[_0x387659(0x159)],'createTime':_0x110606['createTime'],'updateTime':_0x110606[_0x387659(0x17a)]};}function detailArtifact(_0x37a7ea){const _0x2dd39b=a10_0x3bb534;return{'id':_0x37a7ea['id'],'appCode':_0x37a7ea[_0x2dd39b(0x192)],'name':_0x37a7ea[_0x2dd39b(0x16d)],'artifactType':_0x37a7ea[_0x2dd39b(0x157)],'source':_0x37a7ea['source'],'favorite':_0x37a7ea['favorite'],'deleted':_0x37a7ea[_0x2dd39b(0x159)],'content':_0x37a7ea[_0x2dd39b(0x193)]??'','compiledContent':_0x37a7ea[_0x2dd39b(0x196)],'metadata':_0x37a7ea[_0x2dd39b(0x1aa)]??{},'createTime':_0x37a7ea[_0x2dd39b(0x194)],'updateTime':_0x37a7ea['updateTime']};}function readFavoriteFlag(_0x3a2122){const _0x837f74=a10_0x3bb534,_0x3153c4=_0x3a2122['flag']('favorite');return _0x3153c4===undefined||_0x3153c4===null||_0x3153c4===''?undefined:_0x3a2122[_0x837f74(0x1a4)](_0x837f74(0x17b));}const artifactList={'service':a10_0x3bb534(0x188),'command':a10_0x3bb534(0x19c),'description':a10_0x3bb534(0x17d),'risk':a10_0x3bb534(0x180),'flags':[{'name':a10_0x3bb534(0x167),'type':a10_0x3bb534(0x176),'description':a10_0x3bb534(0x1a8)},{'name':a10_0x3bb534(0x17b),'type':a10_0x3bb534(0x1a0),'description':a10_0x3bb534(0x1a1)},VERBOSE_FLAG],async 'execute'(_0x2ccd96){const _0x6e8ed1=a10_0x3bb534,_0x12810c=await listRuntimeArtifacts(_0x2ccd96[_0x6e8ed1(0x192)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2ccd96['str'](_0x6e8ed1(0x167))?{'source':_0x2ccd96['str'](_0x6e8ed1(0x167))}:{},...readFavoriteFlag(_0x2ccd96)!==undefined?{'favorite':readFavoriteFlag(_0x2ccd96)}:{}});return{'ok':!![],'data':{'total':_0x12810c[_0x6e8ed1(0x19b)],'items':_0x2ccd96[_0x6e8ed1(0x1a4)](_0x6e8ed1(0x166))?_0x12810c:_0x12810c['map'](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':'detail','description':a10_0x3bb534(0x156),'risk':'read','flags':[{...ID_FLAG,'description':a10_0x3bb534(0x154)}],async 'execute'(_0xf79209){const _0x53c6c5=a10_0x3bb534,_0x2bb15e=await getRuntimeArtifact(_0xf79209[_0x53c6c5(0x18f)]('id'),_0xf79209[_0x53c6c5(0x192)]);return{'ok':!![],'data':detailArtifact(_0x2bb15e)};}},artifactCreate={'service':'artifact','command':'create','description':a10_0x3bb534(0x16b),'risk':a10_0x3bb534(0x185),'confirmationDescription':a10_0x3bb534(0x18b),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xe9fc13){const _0x1cb6e7=a10_0x3bb534,_0x28f0ec=buildArtifactInput(_0xe9fc13),_0x1e5155=await createRuntimeArtifact(_0xe9fc13[_0x1cb6e7(0x192)],_0x28f0ec);return{'ok':!![],'data':detailArtifact(_0x1e5155),'message':_0x1cb6e7(0x169)+_0x1e5155['id']+(_0x1e5155[_0x1cb6e7(0x16d)]?'\x20('+_0x1e5155[_0x1cb6e7(0x16d)]+')':'')};},async 'dryRun'(_0x36582a){const _0x1099d3=a10_0x3bb534,_0x41b5db=buildArtifactInput(_0x36582a);return dryRun(_0x1099d3(0x162),_0x1099d3(0x15b))['body']({'appCode':_0x36582a[_0x1099d3(0x192)],..._0x41b5db})[_0x1099d3(0x160)](_0x1099d3(0x197))['build']();},'writeEventSubject'(_0x4e5a82){const _0x39e5b8=a10_0x3bb534,_0x50bf10=_0x4e5a82[_0x39e5b8(0x19d)]?.['id'];if(typeof _0x50bf10!==_0x39e5b8(0x176)&&typeof _0x50bf10!==_0x39e5b8(0x177))return undefined;return{'kind':_0x39e5b8(0x188),'id':String(_0x50bf10),'action':_0x39e5b8(0x179)};}},artifactUpdate={'service':a10_0x3bb534(0x188),'command':a10_0x3bb534(0x1a2),'description':a10_0x3bb534(0x171),'risk':'write','confirmationDescription':'Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x32d1b6){const _0x5730a1=a10_0x3bb534,_0x3ead33=_0x32d1b6['num']('id'),_0x6a3b8b=buildArtifactInput(_0x32d1b6),_0xd3a1c9=await updateRuntimeArtifact(_0x3ead33,_0x32d1b6['appCode'],_0x6a3b8b);return{'ok':!![],'data':detailArtifact(_0xd3a1c9),'message':_0x5730a1(0x1a9)+_0xd3a1c9['id']+(_0xd3a1c9[_0x5730a1(0x16d)]?'\x20('+_0xd3a1c9['name']+')':'')};},async 'dryRun'(_0x28a02a){const _0x195958=a10_0x3bb534,_0x20ebe8=_0x28a02a[_0x195958(0x18f)]('id'),_0x2a4c44=buildArtifactInput(_0x28a02a);return dryRun('POST','/client/artifact/'+_0x20ebe8+'/update')[_0x195958(0x18a)]({'appCode':_0x28a02a[_0x195958(0x192)],..._0x2a4c44})[_0x195958(0x160)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x20ebe8)[_0x195958(0x1a3)]();},'writeEventSubject'(_0x5294bd){const _0x45237a=a10_0x3bb534,_0x2228f5=_0x5294bd[_0x45237a(0x19d)]?.['id'];if(typeof _0x2228f5!=='string'&&typeof _0x2228f5!==_0x45237a(0x177))return undefined;return{'kind':_0x45237a(0x188),'id':String(_0x2228f5),'action':_0x45237a(0x1a2)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x40fb0c=a10_0xd9a7;(function(_0x2c33fc,_0x271eab){const _0x485b3e=a10_0xd9a7,_0x106330=_0x2c33fc();while(!![]){try{const _0x351d71=parseInt(_0x485b3e(0xef))/0x1+-parseInt(_0x485b3e(0xd5))/0x2*(-parseInt(_0x485b3e(0xb3))/0x3)+-parseInt(_0x485b3e(0xf1))/0x4+parseInt(_0x485b3e(0xe2))/0x5+parseInt(_0x485b3e(0xb6))/0x6*(parseInt(_0x485b3e(0xbc))/0x7)+parseInt(_0x485b3e(0xad))/0x8+parseInt(_0x485b3e(0xcc))/0x9*(parseInt(_0x485b3e(0xd7))/0xa);if(_0x351d71===_0x271eab)break;else _0x106330['push'](_0x106330['shift']());}catch(_0x2db91b){_0x106330['push'](_0x106330['shift']());}}}(a10_0x5aeb,0x486ec));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_0x5aeb(){const _0x9b762c=['create','.\x20Unsupported:\x20','exec','/client/artifact/','lodash','num','react_module\x20imports\x20are\x20limited\x20to:\x20','691392ilRygT','string','number','compiledContent','/update','content','80829plyysA','Artifact\x20ID','parse','240acafnF','lastIndex','artifact','source','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','react-dom','50603GlQEtR','data','list','flag','trim','AGENT','Updated\x20Artifact\x20','name','Artifact\x20source\x20file\x20is\x20blank.','updateTime','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','add','body','validation','build','join','14031QEWtvS','map','utf8','File\x20path\x20is\x20required.','Preview:\x20update\x20react_module\x20Artifact\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','includes','deleted','isFile','6LGLOjx','some','270LVMVNJ','str','@ant-design/icons','length','description','write','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','POST','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','/client/artifact/create','file','253755hExIWL','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','Preview:\x20create\x20react_module\x20Artifact','startsWith','update','File\x20is\x20not\x20a\x20regular\x20file:\x20','react_module','appCode','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','bool','File\x20not\x20found:\x20','split','react','102924fotSIK','Optional\x20favorite-state\x20filter','1421988DaQMvX','metadata','isArray','filter','object','artifactType','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','List\x20current-app\x20react_module\x20Artifacts','favorite','antd'];a10_0x5aeb=function(){return _0x9b762c;};return a10_0x5aeb();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x40fb0c(0xe8),ARTIFACT_SOURCE_AGENT=a10_0x40fb0c(0xc1),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x40fb0c(0xee),a10_0x40fb0c(0xbb),a10_0x40fb0c(0xaa),'dayjs',a10_0x40fb0c(0xfa),a10_0x40fb0c(0xd9)];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_0x40fb0c(0xe1),'type':'string','required':!![],'description':a10_0x40fb0c(0xba)},ARTIFACT_NAME_FLAG={'name':a10_0x40fb0c(0xc3),'type':'string','description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':'metadata','type':a10_0x40fb0c(0xae),'description':a10_0x40fb0c(0xe3)};function isPlainObject(_0x2d0b63){const _0x5be210=a10_0x40fb0c;return typeof _0x2d0b63===_0x5be210(0xf5)&&_0x2d0b63!==null&&!Array[_0x5be210(0xf3)](_0x2d0b63);}function readSourceFile(_0x3474ee){const _0x5b3021=a10_0x40fb0c;if(!_0x3474ee)throw CliErrors['validation'](_0x5b3021(0xcf));if(!existsSync(_0x3474ee))throw CliErrors['validation'](_0x5b3021(0xec)+_0x3474ee);if(!statSync(_0x3474ee)[_0x5b3021(0xd4)]())throw CliErrors[_0x5b3021(0xc9)](_0x5b3021(0xe7)+_0x3474ee);const _0x363189=readFileSync(_0x3474ee,_0x5b3021(0xce));return validateReactModuleSource(_0x363189),_0x363189;}function parseMetadata(_0x323e1d){const _0x3e37e7=a10_0x40fb0c;if(!_0x323e1d)return undefined;let _0x1771ef;try{_0x1771ef=JSON[_0x3e37e7(0xb5)](_0x323e1d);}catch{throw CliErrors[_0x3e37e7(0xc9)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x323e1d);}if(!isPlainObject(_0x1771ef))throw CliErrors[_0x3e37e7(0xc9)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x2d6990={..._0x1771ef};return delete _0x2d6990['compiledContent'],_0x2d6990;}function getPackageName(_0xd98e1f){const _0x22d497=a10_0x40fb0c;if(_0xd98e1f[_0x22d497(0xe5)]('@')){const [_0x391f3d,_0xf7ffa8]=_0xd98e1f[_0x22d497(0xed)]('/');return _0x391f3d&&_0xf7ffa8?_0x391f3d+'/'+_0xf7ffa8:_0xd98e1f;}return _0xd98e1f[_0x22d497(0xed)]('/')[0x0]||_0xd98e1f;}function validateAllowedImports(_0x7a3213){const _0x5f1424=a10_0x40fb0c,_0x2326b1=new Set();for(const _0x60a46a of IMPORT_SOURCE_PATTERNS){_0x60a46a[_0x5f1424(0xb7)]=0x0;let _0x761cd9;while((_0x761cd9=_0x60a46a[_0x5f1424(0xa8)](_0x7a3213))!==null){const _0x205cbd=_0x761cd9[0x1]?.['trim']();_0x205cbd&&_0x2326b1[_0x5f1424(0xc7)](_0x205cbd);}}const _0x3cb0a2=[..._0x2326b1][_0x5f1424(0xcd)](getPackageName)[_0x5f1424(0xf4)](_0x3d887f=>!ALLOWED_REACT_MODULE_IMPORTS[_0x5f1424(0xd2)](_0x3d887f));if(_0x3cb0a2[_0x5f1424(0xda)]>0x0)throw CliErrors[_0x5f1424(0xc9)](_0x5f1424(0xac)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x5f1424(0xa7)+[...new Set(_0x3cb0a2)][_0x5f1424(0xcb)](',\x20'));}export function validateReactModuleSource(_0x200dca){const _0x55f140=a10_0x40fb0c;if(!_0x200dca['trim']())throw CliErrors[_0x55f140(0xc9)](_0x55f140(0xc4));if(PAGE_LEVEL_PATTERNS[_0x55f140(0xd6)](_0x39ac6c=>_0x39ac6c['test'](_0x200dca)))throw CliErrors[_0x55f140(0xc9)](_0x55f140(0xd1));validateAllowedImports(_0x200dca);}function buildArtifactInput(_0x501994){const _0x456c9a=a10_0x40fb0c,_0x8f1ba8=readSourceFile(_0x501994[_0x456c9a(0xd8)](_0x456c9a(0xe1))),_0x1436a3=_0x501994['str'](_0x456c9a(0xc3))[_0x456c9a(0xc0)](),_0x274631=parseMetadata(_0x501994[_0x456c9a(0xd8)](_0x456c9a(0xf2)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1436a3?{'name':_0x1436a3}:{},'content':_0x8f1ba8,..._0x274631?{'metadata':_0x274631}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x4083ea){const _0x4a4802=a10_0x40fb0c;return{'id':_0x4083ea['id'],'name':_0x4083ea['name'],'artifactType':_0x4083ea[_0x4a4802(0xf6)],'source':_0x4083ea[_0x4a4802(0xb9)],'favorite':_0x4083ea[_0x4a4802(0xf9)],'deleted':_0x4083ea[_0x4a4802(0xd3)],'createTime':_0x4083ea['createTime'],'updateTime':_0x4083ea[_0x4a4802(0xc5)]};}function detailArtifact(_0x3cb0f0){const _0x35da75=a10_0x40fb0c;return{'id':_0x3cb0f0['id'],'appCode':_0x3cb0f0[_0x35da75(0xe9)],'name':_0x3cb0f0['name'],'artifactType':_0x3cb0f0['artifactType'],'source':_0x3cb0f0['source'],'favorite':_0x3cb0f0['favorite'],'deleted':_0x3cb0f0[_0x35da75(0xd3)],'content':_0x3cb0f0[_0x35da75(0xb2)]??'','compiledContent':_0x3cb0f0[_0x35da75(0xb0)],'metadata':_0x3cb0f0[_0x35da75(0xf2)]??{},'createTime':_0x3cb0f0['createTime'],'updateTime':_0x3cb0f0['updateTime']};}function readFavoriteFlag(_0xfbfdc6){const _0x1ae814=a10_0x40fb0c,_0x3c6563=_0xfbfdc6[_0x1ae814(0xbf)](_0x1ae814(0xf9));return _0x3c6563===undefined||_0x3c6563===null||_0x3c6563===''?undefined:_0xfbfdc6[_0x1ae814(0xeb)](_0x1ae814(0xf9));}function a10_0xd9a7(_0x34ac48,_0x59aac5){_0x34ac48=_0x34ac48-0xa6;const _0x5aebb9=a10_0x5aeb();let _0xd9a740=_0x5aebb9[_0x34ac48];return _0xd9a740;}const artifactList={'service':'artifact','command':a10_0x40fb0c(0xbe),'description':a10_0x40fb0c(0xf8),'risk':'read','flags':[{'name':'source','type':a10_0x40fb0c(0xae),'description':a10_0x40fb0c(0xc6)},{'name':a10_0x40fb0c(0xf9),'type':'boolean','description':a10_0x40fb0c(0xf0)},VERBOSE_FLAG],async 'execute'(_0x24e4d9){const _0x29fe4f=a10_0x40fb0c,_0x3a2a34=await listRuntimeArtifacts(_0x24e4d9[_0x29fe4f(0xe9)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x24e4d9[_0x29fe4f(0xd8)](_0x29fe4f(0xb9))?{'source':_0x24e4d9[_0x29fe4f(0xd8)](_0x29fe4f(0xb9))}:{},...readFavoriteFlag(_0x24e4d9)!==undefined?{'favorite':readFavoriteFlag(_0x24e4d9)}:{}});return{'ok':!![],'data':{'total':_0x3a2a34[_0x29fe4f(0xda)],'items':_0x24e4d9[_0x29fe4f(0xeb)]('verbose')?_0x3a2a34:_0x3a2a34[_0x29fe4f(0xcd)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x40fb0c(0xb8),'command':'detail','description':'Show\x20one\x20Artifact\x20by\x20id','risk':'read','flags':[{...ID_FLAG,'description':a10_0x40fb0c(0xb4)}],async 'execute'(_0x45d03c){const _0x217d7b=a10_0x40fb0c,_0x4c4e25=await getRuntimeArtifact(_0x45d03c[_0x217d7b(0xab)]('id'),_0x45d03c[_0x217d7b(0xe9)]);return{'ok':!![],'data':detailArtifact(_0x4c4e25)};}},artifactCreate={'service':a10_0x40fb0c(0xb8),'command':a10_0x40fb0c(0xa6),'description':a10_0x40fb0c(0xf7),'risk':a10_0x40fb0c(0xdc),'confirmationDescription':a10_0x40fb0c(0xdf),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1f9f70){const _0x3915a7=a10_0x40fb0c,_0x5c3f58=buildArtifactInput(_0x1f9f70),_0x46ee70=await createRuntimeArtifact(_0x1f9f70[_0x3915a7(0xe9)],_0x5c3f58);return{'ok':!![],'data':detailArtifact(_0x46ee70),'message':'Created\x20Artifact\x20'+_0x46ee70['id']+(_0x46ee70['name']?'\x20('+_0x46ee70[_0x3915a7(0xc3)]+')':'')};},async 'dryRun'(_0xe184a){const _0x4f5755=a10_0x40fb0c,_0xe55478=buildArtifactInput(_0xe184a);return dryRun(_0x4f5755(0xde),_0x4f5755(0xe0))[_0x4f5755(0xc8)]({'appCode':_0xe184a[_0x4f5755(0xe9)],..._0xe55478})[_0x4f5755(0xdb)](_0x4f5755(0xe4))['build']();},'writeEventSubject'(_0x3c4716){const _0x2ac8d7=a10_0x40fb0c,_0x5b34f3=_0x3c4716[_0x2ac8d7(0xbd)]?.['id'];if(typeof _0x5b34f3!==_0x2ac8d7(0xae)&&typeof _0x5b34f3!==_0x2ac8d7(0xaf))return undefined;return{'kind':'artifact','id':String(_0x5b34f3),'action':_0x2ac8d7(0xa6)};}},artifactUpdate={'service':'artifact','command':a10_0x40fb0c(0xe6),'description':a10_0x40fb0c(0xea),'risk':a10_0x40fb0c(0xdc),'confirmationDescription':a10_0x40fb0c(0xdd),'flags':[{...ID_FLAG,'description':a10_0x40fb0c(0xb4)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x141fc7){const _0x351a7b=a10_0x40fb0c,_0x40ea1e=_0x141fc7[_0x351a7b(0xab)]('id'),_0x3f894b=buildArtifactInput(_0x141fc7),_0x55e57e=await updateRuntimeArtifact(_0x40ea1e,_0x141fc7[_0x351a7b(0xe9)],_0x3f894b);return{'ok':!![],'data':detailArtifact(_0x55e57e),'message':_0x351a7b(0xc2)+_0x55e57e['id']+(_0x55e57e[_0x351a7b(0xc3)]?'\x20('+_0x55e57e[_0x351a7b(0xc3)]+')':'')};},async 'dryRun'(_0x208cd2){const _0x4d403c=a10_0x40fb0c,_0x44be4e=_0x208cd2[_0x4d403c(0xab)]('id'),_0x332e0d=buildArtifactInput(_0x208cd2);return dryRun('POST',_0x4d403c(0xa9)+_0x44be4e+_0x4d403c(0xb1))['body']({'appCode':_0x208cd2[_0x4d403c(0xe9)],..._0x332e0d})[_0x4d403c(0xdb)](_0x4d403c(0xd0)+_0x44be4e)[_0x4d403c(0xca)]();},'writeEventSubject'(_0x433614){const _0x56f4a8=a10_0x40fb0c,_0x141c49=_0x433614[_0x56f4a8(0xbd)]?.['id'];if(typeof _0x141c49!==_0x56f4a8(0xae)&&typeof _0x141c49!==_0x56f4a8(0xaf))return undefined;return{'kind':'artifact','id':String(_0x141c49),'action':_0x56f4a8(0xe6)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x5268c9=a11_0x505b;function a11_0x483f(){const _0xcda9d5=['test','networkError','1891325JBBSuo','apiError','utf8','application/json','project','lovrabet-cli','\x20auth\x20status','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20authorization\x20successful.','randomUUID','Write\x20to\x20global\x20config\x20(default)','abort','write','code','boolean','8611548xdZMfC','796584gChTBO','getTime','signal','accessKey','cancelled','data','auth','Invalid\x20device\x20auth\x20response','object','Verify:\x20','floor','once','source','SIGINT','/.device-auth','name','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','success','14sHRFCg','\x0dWaiting\x20for\x20authorization...\x20','status','aborted','118302EWWqhX','removeListener','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','global-default','url-only','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','\x20remaining','str','Device\x20auth\x20API\x20returned\x20HTTP\x20','AccessKey\x20saved\x20to\x20','&source=','stringify','bool','device','global','scope','12fWRhap','string','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Write\x20to\x20project\x20config','homeDirName','Invalid\x20access_key\x20returned\x20by\x20server.','validation','Device\x20auth\x20API\x20error\x20(','3767152okOrRO','access_key','padStart','357160WHOUnO','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','json','stderr','log','POST','\x20auth\x20device','/device-auth?code=','8267517DzXsPd','AbortError','\x20config.','20Tgavsg','Device\x20authorization\x20cancelled.','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.'];a11_0x483f=function(){return _0xcda9d5;};return a11_0x483f();}(function(_0x296224,_0x9b20d3){const _0x5e80d5=a11_0x505b,_0x17f90b=_0x296224();while(!![]){try{const _0x180cd3=-parseInt(_0x5e80d5(0x1c3))/0x1*(-parseInt(_0x5e80d5(0x182))/0x2)+parseInt(_0x5e80d5(0x1ad))/0x3+-parseInt(_0x5e80d5(0x18a))/0x4+parseInt(_0x5e80d5(0x19d))/0x5+-parseInt(_0x5e80d5(0x1ac))/0x6+parseInt(_0x5e80d5(0x1bf))/0x7*(-parseInt(_0x5e80d5(0x18d))/0x8)+parseInt(_0x5e80d5(0x195))/0x9*(parseInt(_0x5e80d5(0x198))/0xa);if(_0x180cd3===_0x9b20d3)break;else _0x17f90b['push'](_0x17f90b['shift']());}catch(_0x1763be){_0x17f90b['push'](_0x17f90b['shift']());}}}(a11_0x483f,0xb0e0f));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(_0x5d1264){const _0x39d4a6=a11_0x505b;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5d1264['bool'](_0x39d4a6(0x180)),'explicitProject':_0x5d1264[_0x39d4a6(0x1d1)](_0x39d4a6(0x1a1)),'policy':_0x39d4a6(0x1c6)}));}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 _0x3aef69=a11_0x505b;return crypto[_0x3aef69(0x1a6)]();}export function buildDeviceAuthUrl(_0x543a42,_0xacebe8,_0x1c78f2=a11_0x5268c9(0x1a2)){const _0x24bcc7=a11_0x5268c9;return _0x543a42+_0x24bcc7(0x194)+encodeURIComponent(_0xacebe8)+_0x24bcc7(0x1cf)+encodeURIComponent(_0x1c78f2);}export function getDeviceCodePath(){const _0x114f75=a11_0x5268c9;return homedir()+'/'+PRODUCT_CONFIG[_0x114f75(0x186)]+_0x114f75(0x1bb);}export function readStoredDeviceCode(){const _0x46df2c=a11_0x5268c9,_0x54f47a=getDeviceCodePath();if(!existsSync(_0x54f47a))return null;try{const _0x2ae554=readFileSync(_0x54f47a,{'encoding':_0x46df2c(0x19f)}),_0x393444=JSON['parse'](_0x2ae554);if(_0x393444&&typeof _0x393444[_0x46df2c(0x1aa)]===_0x46df2c(0x183)&&typeof _0x393444['createdAt']===_0x46df2c(0x183)&&(_0x393444[_0x46df2c(0x181)]===_0x46df2c(0x180)||_0x393444[_0x46df2c(0x181)]===_0x46df2c(0x1a1)))return _0x393444;}catch{}return null;}export function writeStoredDeviceCode(_0x8187c0,_0x282ce3){const _0x1103b9=a11_0x5268c9,_0x39a515=getDeviceCodePath(),_0x3f221c=dirname(_0x39a515);!existsSync(_0x3f221c)&&mkdirSync(_0x3f221c,{'recursive':!![]});const _0x4850c8={'code':_0x8187c0,'createdAt':new Date()['toISOString'](),'scope':_0x282ce3};writeFileSync(_0x39a515,JSON[_0x1103b9(0x1d0)](_0x4850c8),{'encoding':_0x1103b9(0x19f),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x47c7f3=getDeviceCodePath();try{unlinkSync(_0x47c7f3);}catch{}}export function isStoredDeviceCodeExpired(_0x4f3586){const _0x483dbb=a11_0x5268c9;return Date['now']()-new Date(_0x4f3586['createdAt'])[_0x483dbb(0x1ae)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0xb205f0,_0x5599d4){const _0x4d0ebf=a11_0x5268c9,_0x424c19=_0xb205f0+'/api/device-auth/token',_0x5a7878=new AbortController(),_0x369272=setTimeout(()=>_0x5a7878[_0x4d0ebf(0x1a8)](),0x2710),_0x55d965=await fetch(_0x424c19,{'method':_0x4d0ebf(0x192),'headers':{'Content-Type':_0x4d0ebf(0x1a0)},'body':JSON[_0x4d0ebf(0x1d0)]({'code':_0x5599d4}),'signal':_0x5a7878[_0x4d0ebf(0x1af)]});clearTimeout(_0x369272);if(!_0x55d965['ok'])throw CliErrors[_0x4d0ebf(0x19c)](_0x4d0ebf(0x1cd)+_0x55d965[_0x4d0ebf(0x1c1)]);const _0x3d0d9c=await _0x55d965[_0x4d0ebf(0x18f)](),_0xe86edf=_0x3d0d9c[_0x4d0ebf(0x1b2)]&&typeof _0x3d0d9c[_0x4d0ebf(0x1b2)]===_0x4d0ebf(0x1b5)?_0x3d0d9c[_0x4d0ebf(0x1b2)]:_0x3d0d9c;if(!_0xe86edf||typeof _0xe86edf[_0x4d0ebf(0x1c1)]!=='string')throw CliErrors['apiError'](_0x4d0ebf(0x1b4));return{'status':_0xe86edf[_0x4d0ebf(0x1c1)],'access_key':typeof _0xe86edf[_0x4d0ebf(0x18b)]===_0x4d0ebf(0x183)?_0xe86edf[_0x4d0ebf(0x18b)]:undefined};}function a11_0x505b(_0x5c7753,_0x5ee28d){_0x5c7753=_0x5c7753-0x17f;const _0x483fe9=a11_0x483f();let _0x505b36=_0x483fe9[_0x5c7753];return _0x505b36;}export async function pollDeviceToken(_0x3b13cb,_0x20496c,_0x14418f){const _0x322696=a11_0x5268c9;let _0x513378=0x0;for(let _0x2ab358=0x0;_0x2ab358<MAX_POLLS;_0x2ab358++){if(_0x14418f[_0x322696(0x1c2)])throw CliErrors[_0x322696(0x1b1)]('Device\x20authorization\x20cancelled.');let _0x1941b7;try{_0x1941b7=await fetchDeviceToken(_0x3b13cb,_0x20496c);}catch(_0x28ac8b){if(_0x28ac8b instanceof Error&&_0x28ac8b[_0x322696(0x1bc)]===_0x322696(0x196))throw CliErrors[_0x322696(0x1b1)](_0x322696(0x199));_0x513378++;if(_0x513378>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x322696(0x18e));writeCliSideChannelLine(_0x322696(0x189)+_0x513378+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x513378=0x0;if(_0x1941b7['status']===_0x322696(0x1be)){if(!_0x1941b7[_0x322696(0x18b)])throw CliErrors[_0x322696(0x19e)](_0x322696(0x187));return _0x1941b7[_0x322696(0x18b)];}if(_0x1941b7[_0x322696(0x1c1)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x322696(0x188)](_0x322696(0x1ca));}const _0x66f5b7=(_0x2ab358+0x1)*POLL_INTERVAL_MS,_0x217220=DEVICE_CODE_TTL_MS-_0x66f5b7,_0x3f6292=Math['floor'](_0x217220/0xea60),_0x5295b4=Math[_0x322696(0x1b7)](_0x217220%0xea60/0x3e8);process[_0x322696(0x190)][_0x322696(0x1a9)](_0x322696(0x1c0)+_0x3f6292+':'+String(_0x5295b4)[_0x322696(0x18c)](0x2,'0')+_0x322696(0x1cb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x322696(0x188)](_0x322696(0x1bd));}function sleep(_0x51eea0){return new Promise(_0x2ce481=>setTimeout(_0x2ce481,_0x51eea0));}export const authDeviceDefinition={'service':a11_0x5268c9(0x1b3),'command':a11_0x5268c9(0x17f),'description':a11_0x5268c9(0x1c8),'risk':'write','confirmationDescription':a11_0x5268c9(0x19a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5268c9(0x180),'type':a11_0x5268c9(0x1ab),'description':a11_0x5268c9(0x1a7),'default':!![]},{'name':a11_0x5268c9(0x1a1),'type':'boolean','description':a11_0x5268c9(0x185),'default':![]},{'name':a11_0x5268c9(0x1b9),'type':a11_0x5268c9(0x183),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':'lovrabet-cli'},{'name':a11_0x5268c9(0x1c7),'type':a11_0x5268c9(0x1ab),'description':a11_0x5268c9(0x1c9),'default':![]}],async 'execute'(_0x4ab164){const _0xb76634=a11_0x5268c9,_0x21cc5d=resolveAuthScopeFlags(_0x4ab164),_0x2b81c4=_0x21cc5d[_0xb76634(0x180)]?_0xb76634(0x180):'project',_0x256a37=readScopedConfig(_0x21cc5d);if(_0x256a37[_0xb76634(0x1b0)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x3345fb=(_0x4ab164[_0xb76634(0x1cc)]('source')||_0xb76634(0x1a2))['trim'](),_0x342e89=getUserDomain(),_0x421e09=readStoredDeviceCode(),_0x411e23=_0x421e09&&!isStoredDeviceCodeExpired(_0x421e09)?_0x421e09['code']:((()=>{const _0xc4df8b=generateDeviceCode();return writeStoredDeviceCode(_0xc4df8b,_0x2b81c4),_0xc4df8b;})()),_0x2afd7b=buildDeviceAuthUrl(_0x342e89,_0x411e23,_0x3345fb);if(_0x4ab164[_0xb76634(0x1d1)](_0xb76634(0x1c7)))return console[_0xb76634(0x191)](_0x2afd7b),{'ok':!![]};writeCliSideChannelLine(_0xb76634(0x184)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x2afd7b),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xb76634(0x1c5));if(_0x4ab164['nonInteractive'])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0xb76634(0x193)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0xb76634(0x1a4));const _0x56f41f=new AbortController(),_0x11cf3a=()=>{const _0x355755=_0xb76634;_0x56f41f[_0x355755(0x1a8)](),process[_0x355755(0x1c4)]('SIGINT',_0x11cf3a);};process[_0xb76634(0x1b8)](_0xb76634(0x1ba),_0x11cf3a);let _0xcf5161;try{_0xcf5161=await pollDeviceToken(_0x342e89,_0x411e23,_0x56f41f[_0xb76634(0x1af)]);}finally{process['removeListener'](_0xb76634(0x1ba),_0x11cf3a);}if(!ACCESS_KEY_PATTERN[_0xb76634(0x19b)](_0xcf5161))throw CliErrors[_0xb76634(0x19e)](_0xb76634(0x187));const _0x10a337=readScopedConfig(_0x21cc5d);return _0x10a337['accessKey']=_0xcf5161,writeScopedConfig(_0x10a337,_0x21cc5d),deleteStoredDeviceCode(),process['stderr']['write']('\x0a'),writeCliSideChannelLine(_0xb76634(0x1ce)+_0x2b81c4+_0xb76634(0x197)),writeCliSideChannelLine(_0xb76634(0x1b6)+CLI_BIN_NAME+_0xb76634(0x1a3)),{'ok':!![],'message':_0xb76634(0x1a5)};}};
|
|
1
|
+
const a11_0x8f0372=a11_0x4ea6;(function(_0x310237,_0x3f4b2c){const _0x5a2432=a11_0x4ea6,_0x562425=_0x310237();while(!![]){try{const _0x4eafe3=-parseInt(_0x5a2432(0x100))/0x1+-parseInt(_0x5a2432(0xbe))/0x2+parseInt(_0x5a2432(0xd9))/0x3*(-parseInt(_0x5a2432(0xc1))/0x4)+parseInt(_0x5a2432(0xd1))/0x5+parseInt(_0x5a2432(0xbd))/0x6*(-parseInt(_0x5a2432(0xfa))/0x7)+parseInt(_0x5a2432(0xe7))/0x8*(-parseInt(_0x5a2432(0xe0))/0x9)+parseInt(_0x5a2432(0x107))/0xa;if(_0x4eafe3===_0x3f4b2c)break;else _0x562425['push'](_0x562425['shift']());}catch(_0x45a8d1){_0x562425['push'](_0x562425['shift']());}}}(a11_0x5087,0x7e7ec));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';function a11_0x4ea6(_0x15661d,_0x395a0f){_0x15661d=_0x15661d-0xb2;const _0x5087e4=a11_0x5087();let _0x4ea661=_0x5087e4[_0x15661d];return _0x4ea661;}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0xfe4437){const _0x41add8=a11_0x4ea6;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0xfe4437[_0x41add8(0xce)](_0x41add8(0xf5)),'explicitProject':_0xfe4437[_0x41add8(0xce)](_0x41add8(0xe4)),'policy':_0x41add8(0xbc)}));}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 _0x3c3a90=a11_0x4ea6;return crypto[_0x3c3a90(0xfb)]();}export function buildDeviceAuthUrl(_0x153c5f,_0x38b421,_0x2f508c=a11_0x8f0372(0xea)){const _0x541c47=a11_0x8f0372;return _0x153c5f+_0x541c47(0xf0)+encodeURIComponent(_0x38b421)+_0x541c47(0x102)+encodeURIComponent(_0x2f508c);}export function getDeviceCodePath(){const _0x22293d=a11_0x8f0372;return homedir()+'/'+PRODUCT_CONFIG[_0x22293d(0xf4)]+_0x22293d(0xb2);}function a11_0x5087(){const _0x415733=['accessKey','bool','Invalid\x20access_key\x20returned\x20by\x20server.','string','2854240wsjxCN','cancelled','data','\x0dWaiting\x20for\x20authorization...\x20','trim','AccessKey\x20saved\x20to\x20','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','once','3CdFMbX','device','code','floor','str','signal','auth','334782hiHlYT','createdAt','name','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','project','\x20config.','validation','168srpWZi','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','write','lovrabet-cli','),\x20retrying...','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','apiError','/device-auth?code=','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','POST','After\x20authorizing,\x20re-run:\x20','homeDirName','global','\x20auth\x20status','Device\x20authorization\x20cancelled.','scope','parse','1127QZKuIG','randomUUID','json','Device\x20auth\x20API\x20returned\x20HTTP\x20','AbortError','access_key','562860jZnADf','networkError','&source=','Write\x20to\x20global\x20config\x20(default)','test','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.','22210860ctxgWA','/.device-auth','source','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','SIGINT','padStart','Device\x20authorization\x20successful.','stringify','now','Write\x20to\x20project\x20config','Device\x20auth\x20API\x20error\x20(','global-default','7914rbPufQ','55412eghHCU','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','expired','2758908rLqWgn','\x20remaining','utf8','stderr','removeListener','\x20auth\x20device','getTime','/api/device-auth/token','log','object','application/json','status'];a11_0x5087=function(){return _0x415733;};return a11_0x5087();}export function readStoredDeviceCode(){const _0x167703=a11_0x8f0372,_0x384c54=getDeviceCodePath();if(!existsSync(_0x384c54))return null;try{const _0x3287cf=readFileSync(_0x384c54,{'encoding':_0x167703(0xc3)}),_0x414c3e=JSON[_0x167703(0xf9)](_0x3287cf);if(_0x414c3e&&typeof _0x414c3e[_0x167703(0xdb)]===_0x167703(0xd0)&&typeof _0x414c3e[_0x167703(0xe1)]==='string'&&(_0x414c3e[_0x167703(0xf8)]===_0x167703(0xf5)||_0x414c3e[_0x167703(0xf8)]===_0x167703(0xe4)))return _0x414c3e;}catch{}return null;}export function writeStoredDeviceCode(_0xf42a14,_0x5f062b){const _0x28109e=getDeviceCodePath(),_0x48078a=dirname(_0x28109e);!existsSync(_0x48078a)&&mkdirSync(_0x48078a,{'recursive':!![]});const _0xa3c703={'code':_0xf42a14,'createdAt':new Date()['toISOString'](),'scope':_0x5f062b};writeFileSync(_0x28109e,JSON['stringify'](_0xa3c703),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x1f3aba=getDeviceCodePath();try{unlinkSync(_0x1f3aba);}catch{}}export function isStoredDeviceCodeExpired(_0x5cd399){const _0x37ec75=a11_0x8f0372;return Date[_0x37ec75(0xb9)]()-new Date(_0x5cd399[_0x37ec75(0xe1)])[_0x37ec75(0xc7)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x11fc3a,_0x1c1630){const _0x1a5518=a11_0x8f0372,_0xc84b6a=_0x11fc3a+_0x1a5518(0xc8),_0x2a1823=new AbortController(),_0x1d8b0b=setTimeout(()=>_0x2a1823['abort'](),0x2710),_0x367c74=await fetch(_0xc84b6a,{'method':_0x1a5518(0xf2),'headers':{'Content-Type':_0x1a5518(0xcb)},'body':JSON[_0x1a5518(0xb8)]({'code':_0x1c1630}),'signal':_0x2a1823[_0x1a5518(0xde)]});clearTimeout(_0x1d8b0b);if(!_0x367c74['ok'])throw CliErrors[_0x1a5518(0x101)](_0x1a5518(0xfd)+_0x367c74[_0x1a5518(0xcc)]);const _0x3c6a0d=await _0x367c74[_0x1a5518(0xfc)](),_0x5bd803=_0x3c6a0d[_0x1a5518(0xd3)]&&typeof _0x3c6a0d[_0x1a5518(0xd3)]===_0x1a5518(0xca)?_0x3c6a0d[_0x1a5518(0xd3)]:_0x3c6a0d;if(!_0x5bd803||typeof _0x5bd803[_0x1a5518(0xcc)]!==_0x1a5518(0xd0))throw CliErrors[_0x1a5518(0xef)]('Invalid\x20device\x20auth\x20response');return{'status':_0x5bd803['status'],'access_key':typeof _0x5bd803[_0x1a5518(0xff)]===_0x1a5518(0xd0)?_0x5bd803[_0x1a5518(0xff)]:undefined};}export async function pollDeviceToken(_0x519f71,_0x131323,_0x4c526a){const _0x4d74dc=a11_0x8f0372;let _0x40e636=0x0;for(let _0x290001=0x0;_0x290001<MAX_POLLS;_0x290001++){if(_0x4c526a['aborted'])throw CliErrors[_0x4d74dc(0xd2)](_0x4d74dc(0xf7));let _0x367c70;try{_0x367c70=await fetchDeviceToken(_0x519f71,_0x131323);}catch(_0x38dc42){if(_0x38dc42 instanceof Error&&_0x38dc42[_0x4d74dc(0xe2)]===_0x4d74dc(0xfe))throw CliErrors[_0x4d74dc(0xd2)](_0x4d74dc(0xf7));_0x40e636++;if(_0x40e636>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4d74dc(0x101)](_0x4d74dc(0xbf));writeCliSideChannelLine(_0x4d74dc(0xbb)+_0x40e636+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4d74dc(0xeb)),await sleep(POLL_INTERVAL_MS);continue;}_0x40e636=0x0;if(_0x367c70[_0x4d74dc(0xcc)]==='success'){if(!_0x367c70[_0x4d74dc(0xff)])throw CliErrors[_0x4d74dc(0xef)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x367c70[_0x4d74dc(0xff)];}if(_0x367c70[_0x4d74dc(0xcc)]===_0x4d74dc(0xc0)){deleteStoredDeviceCode();throw CliErrors[_0x4d74dc(0xe6)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x7ef960=(_0x290001+0x1)*POLL_INTERVAL_MS,_0x4893a8=DEVICE_CODE_TTL_MS-_0x7ef960,_0x62b975=Math[_0x4d74dc(0xdc)](_0x4893a8/0xea60),_0x59bb0d=Math[_0x4d74dc(0xdc)](_0x4893a8%0xea60/0x3e8);process[_0x4d74dc(0xc4)]['write'](_0x4d74dc(0xd4)+_0x62b975+':'+String(_0x59bb0d)[_0x4d74dc(0xb6)](0x2,'0')+_0x4d74dc(0xc2)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation']('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x240e86){return new Promise(_0x401670=>setTimeout(_0x401670,_0x240e86));}export const authDeviceDefinition={'service':a11_0x8f0372(0xdf),'command':a11_0x8f0372(0xda),'description':a11_0x8f0372(0xec),'risk':'write','confirmationDescription':a11_0x8f0372(0x106),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x8f0372(0xf5),'type':'boolean','description':a11_0x8f0372(0x103),'default':!![]},{'name':a11_0x8f0372(0xe4),'type':'boolean','description':a11_0x8f0372(0xba),'default':![]},{'name':a11_0x8f0372(0xb3),'type':'string','description':a11_0x8f0372(0xf1),'default':a11_0x8f0372(0xea)},{'name':'url-only','type':'boolean','description':a11_0x8f0372(0xe3),'default':![]}],async 'execute'(_0x14313e){const _0x4eb179=a11_0x8f0372,_0x455df3=resolveAuthScopeFlags(_0x14313e),_0x27fbbd=_0x455df3[_0x4eb179(0xf5)]?_0x4eb179(0xf5):'project',_0x8824ff=readScopedConfig(_0x455df3);if(_0x8824ff[_0x4eb179(0xcd)])return{'ok':!![],'message':_0x4eb179(0xed)};const _0x4962f2=(_0x14313e[_0x4eb179(0xdd)]('source')||_0x4eb179(0xea))[_0x4eb179(0xd5)](),_0x7c4c5a=getUserDomain(),_0x18be66=readStoredDeviceCode(),_0x669fb2=_0x18be66&&!isStoredDeviceCodeExpired(_0x18be66)?_0x18be66[_0x4eb179(0xdb)]:((()=>{const _0x41e1ef=generateDeviceCode();return writeStoredDeviceCode(_0x41e1ef,_0x27fbbd),_0x41e1ef;})()),_0x140154=buildDeviceAuthUrl(_0x7c4c5a,_0x669fb2,_0x4962f2);if(_0x14313e[_0x4eb179(0xce)]('url-only'))return console[_0x4eb179(0xc9)](_0x140154),{'ok':!![]};writeCliSideChannelLine(_0x4eb179(0xe8)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x140154),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4eb179(0xb4));if(_0x14313e[_0x4eb179(0x105)])return writeCliSideChannelLine(_0x4eb179(0xf3)+CLI_BIN_NAME+_0x4eb179(0xc6)),{'ok':!![],'message':_0x4eb179(0xd7)};writeCliSideChannelLine(_0x4eb179(0xee));const _0x3f1f19=new AbortController(),_0x219fbe=()=>{const _0xbd04ec=_0x4eb179;_0x3f1f19['abort'](),process[_0xbd04ec(0xc5)](_0xbd04ec(0xb5),_0x219fbe);};process[_0x4eb179(0xd8)](_0x4eb179(0xb5),_0x219fbe);let _0x469c9c;try{_0x469c9c=await pollDeviceToken(_0x7c4c5a,_0x669fb2,_0x3f1f19[_0x4eb179(0xde)]);}finally{process[_0x4eb179(0xc5)](_0x4eb179(0xb5),_0x219fbe);}if(!ACCESS_KEY_PATTERN[_0x4eb179(0x104)](_0x469c9c))throw CliErrors[_0x4eb179(0xef)](_0x4eb179(0xcf));const _0x2b65ff=readScopedConfig(_0x455df3);return _0x2b65ff['accessKey']=_0x469c9c,writeScopedConfig(_0x2b65ff,_0x455df3),deleteStoredDeviceCode(),process[_0x4eb179(0xc4)][_0x4eb179(0xe9)]('\x0a'),writeCliSideChannelLine(_0x4eb179(0xd6)+_0x27fbbd+_0x4eb179(0xe5)),writeCliSideChannelLine('Verify:\x20'+CLI_BIN_NAME+_0x4eb179(0xf6)),{'ok':!![],'message':_0x4eb179(0xb7)};}};
|