@lovrabet/lovrabet-cli 2.3.1-beta.3 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/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.d.ts +3 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +0 -16
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.d.ts +30 -0
- package/lib/core/kb-search-client.js +1 -0
- 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.d.ts +2 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/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 +2 -2
- package/skills/lovrabet/references/lovrabet-config-commands.md +3 -1
- package/skills/lovrabet/references/lovrabet-config.md +2 -2
- package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
function a0_0x5917(_0x3aca24,_0x28fa31){_0x3aca24=_0x3aca24-0xe7;const _0x33fa75=a0_0x33fa();let _0x5917fb=_0x33fa75[_0x3aca24];return _0x5917fb;}const a0_0x1cbbbe=a0_0x5917;(function(_0x32503e,_0x2740cb){const _0x16b9b9=a0_0x5917,_0x2ee150=_0x32503e();while(!![]){try{const _0x42bf57=-parseInt(_0x16b9b9(0x100))/0x1*(-parseInt(_0x16b9b9(0x101))/0x2)+-parseInt(_0x16b9b9(0x10f))/0x3+parseInt(_0x16b9b9(0x102))/0x4+parseInt(_0x16b9b9(0x111))/0x5*(parseInt(_0x16b9b9(0xfe))/0x6)+parseInt(_0x16b9b9(0x104))/0x7+-parseInt(_0x16b9b9(0xea))/0x8+-parseInt(_0x16b9b9(0xf2))/0x9*(parseInt(_0x16b9b9(0x103))/0xa);if(_0x42bf57===_0x2740cb)break;else _0x2ee150['push'](_0x2ee150['shift']());}catch(_0x55970d){_0x2ee150['push'](_0x2ee150['shift']());}}}(a0_0x33fa,0xe92d0));import{jsx as a0_0x42337b}from'react/jsx-runtime';import a0_0x2d07bb from'meow';function a0_0x33fa(){const _0x59be4e=['message','./framework/preparse.js','flatMap','definition','code','ERR_STREAM_DESTROYED','stderr','log','exitCode','name','2623176DrsHrW','validation','1nZtKMR','2820266UrADGu','2955460KualQs','83110xnVvNp','8612590Efrkzx','exit','[preparse]\x20','cancelled','handler','doctor','corrected','help','defaultCommand','input','catch','944133KXRZga','flags','15WoDwBH','original','hint','config','10481304WkCYqV','\x0aCancelled.\x0a',':\x20--','unknownCommand','assign','error','length','write','2286RHKnyJ','args'];a0_0x33fa=function(){return _0x59be4e;};return a0_0x33fa();}import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x2d07bb(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x1cbbbe(0x10e)](handleError);async function main(){try{await run();}catch(_0x891d37){handleError(_0x891d37);}}async function run(){const _0x5a3576=a0_0x1cbbbe;let _0x47b240=cli[_0x5a3576(0x10d)][0x0],_0x2eb9d1=cli['input'][0x1];const _0x1ec3a4=cli[_0x5a3576(0x110)];try{const {correctFlags:_0xc3309c}=await import(_0x5a3576(0xf5)),_0xa0dfae=getAllDefinitions()[_0x5a3576(0xf6)](_0x321b11=>_0x321b11[_0x5a3576(0x110)]??[]),{flags:_0x2ba370,corrections:_0x1c2f05}=_0xc3309c(_0x1ec3a4,_0xa0dfae);if(_0x1c2f05[_0x5a3576(0xf0)]>0x0){for(const _0x4e7a34 of _0x1c2f05){process[_0x5a3576(0xfa)][_0x5a3576(0xf1)](_0x5a3576(0x106)+_0x4e7a34[_0x5a3576(0x108)]+_0x5a3576(0xec)+_0x4e7a34[_0x5a3576(0xe7)]+'\x20->\x20--'+_0x4e7a34[_0x5a3576(0x10a)]+'\x0a');}Object[_0x5a3576(0xee)](_0x1ec3a4,_0x2ba370);}}catch{}if(!_0x47b240){const {waitUntilExit:_0xfb8c4c}=render(a0_0x42337b(Help,{}));await _0xfb8c4c();return;}const _0x3d86ef=resolveRemovedCommand(_0x47b240,_0x2eb9d1);if(_0x3d86ef)throw CliErrors[_0x5a3576(0xff)](_0x3d86ef['message'],_0x3d86ef['hint']);if(!isKnownService(_0x47b240)){const _0x4b8c03=resolveDynamicServiceCommand(cli[_0x5a3576(0x10d)],_0x1ec3a4);if(_0x4b8c03){if(_0x1ec3a4[_0x5a3576(0x10b)]){console[_0x5a3576(0xfb)](generateCommandHelp(_0x4b8c03[_0x5a3576(0xf7)]));return;}Object[_0x5a3576(0xee)](_0x1ec3a4,_0x4b8c03[_0x5a3576(0x110)]);const _0x210cb4=buildConfigFromFlags(_0x1ec3a4);await initGlobalEnvironment(_0x210cb4);const _0x3fb93c=createPipelineEnv(_0x210cb4,_0x1ec3a4);_0x3fb93c['args']=_0x4b8c03[_0x5a3576(0xf3)],await runCommand(_0x4b8c03[_0x5a3576(0xf7)],_0x3fb93c);return;}if(_0x1ec3a4[_0x5a3576(0x10b)]){const _0x4bfa45=generateDynamicServiceHelp(_0x47b240);if(_0x4bfa45){console[_0x5a3576(0xfb)](_0x4bfa45);return;}}const {waitUntilExit:_0x3c441a}=render(a0_0x42337b(Help,{}));await _0x3c441a();return;}const _0x1958fb=getServiceEntry(_0x47b240);if(!_0x2eb9d1){if(_0x1ec3a4[_0x5a3576(0x10b)]){console[_0x5a3576(0xfb)](generateServiceHelp(_0x47b240));return;}if(_0x1958fb[_0x5a3576(0x10c)])_0x2eb9d1=_0x1958fb[_0x5a3576(0x10c)];else{console['log'](generateServiceHelp(_0x47b240));return;}}const _0x355e50=findDefinition(_0x47b240,_0x2eb9d1);!_0x355e50&&(console[_0x5a3576(0xfb)](generateServiceHelp(_0x47b240)),handleError(CliErrors[_0x5a3576(0xed)](_0x47b240+'\x20'+_0x2eb9d1)));if(_0x1ec3a4['help']){console[_0x5a3576(0xfb)](generateCommandHelp(_0x355e50));return;}const _0x51e225=buildConfigFromFlags(_0x1ec3a4);_0x47b240!==_0x5a3576(0xe9)&&_0x47b240!==_0x5a3576(0x109)&&await initGlobalEnvironment(_0x51e225);const _0x70ea0a=createPipelineEnv(_0x51e225,_0x1ec3a4);_0x70ea0a[_0x5a3576(0xf3)]=cli[_0x5a3576(0x10d)]['slice'](0x2),await runCommand(_0x355e50,_0x70ea0a);}function handleError(_0x4cba9a){const _0x171142=a0_0x1cbbbe;if(_0x4cba9a instanceof CliError){_0x4cba9a['code']===_0x171142(0x107)&&(process[_0x171142(0xfa)][_0x171142(0xf1)](_0x171142(0xeb)),process['exit'](0x0));console[_0x171142(0xef)]('Error:\x20'+_0x4cba9a[_0x171142(0xf4)]);if(_0x4cba9a[_0x171142(0xe8)])console[_0x171142(0xef)]('Hint:\x20'+_0x4cba9a[_0x171142(0xe8)]);process[_0x171142(0x105)](_0x4cba9a[_0x171142(0xfc)]);}isUserCancellation(_0x4cba9a)&&(process[_0x171142(0xfa)][_0x171142(0xf1)](_0x171142(0xeb)),process[_0x171142(0x105)](0x0)),console[_0x171142(0xef)]('Unexpected\x20error:',_0x4cba9a),process['exit'](0x1);}function isUserCancellation(_0x2a804d){const _0x5b6662=a0_0x1cbbbe;if(!(_0x2a804d instanceof Error))return![];if(_0x2a804d[_0x5b6662(0xfd)]==='ExitPromptError')return!![];if(_0x2a804d[_0x5b6662(0xf8)]==='ERR_USE_AFTER_CLOSE')return!![];if(_0x2a804d[_0x5b6662(0xf8)]===_0x5b6662(0xf9))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a1_0x4b07(){const _0x16b630=['Dataset\x20detail','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Execute\x20BF\x20endpoint\x20function','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','Returns\x20one\x20matching\x20business\x20record','5030eVktps','paging\x20contains\x20pagination','4kSYIGY','/api/{appCode}/{datasetCode}/aggregate','##\x20Filter\x20dataset\x20data','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','43048gNBvAk','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','whenToUse','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','Endpoint\x20function\x20name','join','POST','##\x20Dataset\x20detail','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','Execute\x20Personal\x20Backend\x20Function','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','keyword','31956WrbgTk','summary','4697UnpTod','Execute\x20custom\x20SQL','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','1516WlkNJZ','API\x20doc\x20code\x20not\x20found:\x20','functionName','/api/custom/executeSql','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Returns\x20SQL\x20execution\x20payload','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','api-doc','find','dataset_data_filter','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','appCode','str','/api/dataset/get-dataset-list-by-app-code','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','1067675GZuysm','/api/{appCode}/{datasetCode}/getOne','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','/api/{appCode}/{datasetCode}/filter','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','/api/endpoint/{appCode}/{functionName}','trim','Show\x20runtime\x20API\x20documentation\x20by\x20code','where\x20filters\x20before\x20aggregation','Get\x20BF\x20endpoint\x20function\x20contract','List\x20available\x20runtime\x20API\x20documentation\x20entries','datasetCode','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','1455SnKvuJ','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','validation','477ULeFmu','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','toLowerCase','List\x20datasets','dataset_detail','category','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','includes','paging.totalCount\x20gives\x20total\x20rows','custom_sql_execute','Aggregate\x20dataset\x20data','GET','Current\x20app\x20code','Filter\x20dataset\x20records','dataset_data_get_one','139333nCpGzf','dataset_data_create','method','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','read','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','Get\x20one\x20dataset\x20record','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Exact\x20endpoint\x20function\x20name','32-character\x20dataset\x20code','Create\x20dataset\x20record','3601JZHFbP','custom_sql','dataset','length','/api/{appCode}/{datasetCode}/create','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','code','operations\x20describes\x20runtime\x20APIs','/api/runtime-bff/personal/{id}/execute','##\x20Execute\x20Personal\x20Backend\x20Function','Execute\x20a\x20BF\x20endpoint\x20function','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','tableData\x20contains\x20records','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','filter','{\x22param\x22:\x22value\x22}','path','list','6XNzbRx','Returns\x20script\x20business\x20payload','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','bf_execute','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','bf_detail','1480997ejkmFf','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','##\x20Aggregate\x20dataset\x20data','string'];a1_0x4b07=function(){return _0x16b630;};return a1_0x4b07();}const a1_0x25a9e1=a1_0x5347;(function(_0x2eab1e,_0x26e2d9){const _0x41400d=a1_0x5347,_0x25ae94=_0x2eab1e();while(!![]){try{const _0x51f1f0=parseInt(_0x41400d(0xca))/0x1*(-parseInt(_0x41400d(0x101))/0x2)+-parseInt(_0x41400d(0xb6))/0x3*(-parseInt(_0x41400d(0x96))/0x4)+parseInt(_0x41400d(0xa7))/0x5*(parseInt(_0x41400d(0xec))/0x6)+-parseInt(_0x41400d(0xf6))/0x7+-parseInt(_0x41400d(0x7f))/0x8*(parseInt(_0x41400d(0xba))/0x9)+-parseInt(_0x41400d(0xff))/0xa*(parseInt(_0x41400d(0x92))/0xb)+-parseInt(_0x41400d(0x90))/0xc*(-parseInt(_0x41400d(0xd9))/0xd);if(_0x51f1f0===_0x26e2d9)break;else _0x25ae94['push'](_0x25ae94['shift']());}catch(_0x299384){_0x25ae94['push'](_0x25ae94['shift']());}}}(a1_0x4b07,0x23596));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x25a9e1(0xc0),'type':'string','description':a1_0x25a9e1(0xbb)},KEYWORD_FLAG={'name':a1_0x25a9e1(0x8f),'type':'string','description':a1_0x25a9e1(0xe4)},DOC_CODE_FLAG={'name':'code','type':a1_0x25a9e1(0xf9),'required':!![],'description':a1_0x25a9e1(0xf2)},DOCS=[{'code':'dataset_list','category':'dataset','title':a1_0x25a9e1(0xbe),'method':'POST','path':a1_0x25a9e1(0xa4),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x25a9e1(0xd2),'pathParams':[],'queryParams':[],'bodySchema':a1_0x25a9e1(0xa9),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x25a9e1(0xc3)],'examples':[a1_0x25a9e1(0x89)],'notes':[a1_0x25a9e1(0xd0)],'markdown':['##\x20List\x20datasets','','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.']['join']('\x0a')},{'code':a1_0x25a9e1(0xbf),'category':a1_0x25a9e1(0xdb),'title':a1_0x25a9e1(0xfa),'method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':a1_0x25a9e1(0xb8),'pathParams':[],'queryParams':[{'name':a1_0x25a9e1(0xdf),'description':a1_0x25a9e1(0xd7)}],'bodySchema':'None','responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x25a9e1(0xe5),a1_0x25a9e1(0xe0)],'examples':['lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'],'notes':[a1_0x25a9e1(0xb4)],'markdown':[a1_0x25a9e1(0x87),'',a1_0x25a9e1(0xce)][a1_0x25a9e1(0x85)]('\x0a')},{'code':a1_0x25a9e1(0xa0),'category':a1_0x25a9e1(0xdb),'title':'Filter\x20dataset\x20data','method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0xab),'summary':a1_0x25a9e1(0xc8),'whenToUse':a1_0x25a9e1(0xaa),'pathParams':[{'name':'appCode','description':a1_0x25a9e1(0xc7)},{'name':a1_0x25a9e1(0xb3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x25a9e1(0xcd),'responseHighlights':[a1_0x25a9e1(0xe6),a1_0x25a9e1(0x100)],'examples':[a1_0x25a9e1(0xcf),a1_0x25a9e1(0xd3)],'notes':[a1_0x25a9e1(0xf7),a1_0x25a9e1(0xac),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x25a9e1(0x103),'',a1_0x25a9e1(0xb7)]['join']('\x0a')},{'code':'dataset_data_aggregate','category':'dataset','title':a1_0x25a9e1(0xc5),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0x102),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x25a9e1(0xf3),'pathParams':[{'name':a1_0x25a9e1(0xa2),'description':'Current\x20app\x20code'},{'name':a1_0x25a9e1(0xb3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x25a9e1(0x81),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x25a9e1(0xb0)],'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_0x25a9e1(0x8b),a1_0x25a9e1(0xf0)],'markdown':[a1_0x25a9e1(0xf8),'',a1_0x25a9e1(0x7e)][a1_0x25a9e1(0x85)]('\x0a')},{'code':a1_0x25a9e1(0xc9),'category':a1_0x25a9e1(0xdb),'title':a1_0x25a9e1(0xd4),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0xa8),'summary':a1_0x25a9e1(0xd4),'whenToUse':a1_0x25a9e1(0xa6),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x25a9e1(0xb3),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x25a9e1(0xfe)],'examples':[a1_0x25a9e1(0x94)],'notes':[a1_0x25a9e1(0xd5)],'markdown':a1_0x25a9e1(0x9c)},{'code':a1_0x25a9e1(0xcb),'category':a1_0x25a9e1(0xdb),'title':a1_0x25a9e1(0xd8),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0xdd),'summary':'Create\x20a\x20dataset\x20record','whenToUse':'Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','pathParams':[{'name':a1_0x25a9e1(0xa2),'description':'Current\x20app\x20code'},{'name':a1_0x25a9e1(0xb3),'description':a1_0x25a9e1(0xd7)}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x25a9e1(0xbc)],'examples':[a1_0x25a9e1(0xfd)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':a1_0x25a9e1(0xf1)},{'code':a1_0x25a9e1(0xf5),'category':'bf','title':a1_0x25a9e1(0xb1),'method':a1_0x25a9e1(0xc6),'path':'/client/bff/endpoint/{appCode}/{functionName}','summary':a1_0x25a9e1(0x95),'whenToUse':a1_0x25a9e1(0xc1),'pathParams':[{'name':a1_0x25a9e1(0xa2),'description':a1_0x25a9e1(0xc7)},{'name':a1_0x25a9e1(0x98),'description':a1_0x25a9e1(0xd6)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x25a9e1(0xee)],'examples':[a1_0x25a9e1(0xe7)],'notes':[a1_0x25a9e1(0x8e)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':a1_0x25a9e1(0xef),'category':'bf','title':a1_0x25a9e1(0xfc),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0xad),'summary':a1_0x25a9e1(0xe3),'whenToUse':a1_0x25a9e1(0x88),'pathParams':[{'name':a1_0x25a9e1(0xa2),'description':a1_0x25a9e1(0xc7)},{'name':a1_0x25a9e1(0x98),'description':a1_0x25a9e1(0x84)}],'queryParams':[],'bodySchema':a1_0x25a9e1(0xe9),'responseHighlights':[a1_0x25a9e1(0xed)],'examples':[a1_0x25a9e1(0x9d)],'notes':[a1_0x25a9e1(0xa5)],'markdown':a1_0x25a9e1(0x9a)},{'code':'personal_bf_execute','category':'bf','title':a1_0x25a9e1(0x8a),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0xe1),'summary':a1_0x25a9e1(0xa1),'whenToUse':a1_0x25a9e1(0xde),'pathParams':[{'name':'id','description':'Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123'}],'queryParams':[{'name':a1_0x25a9e1(0xa2),'description':a1_0x25a9e1(0xc7)}],'bodySchema':a1_0x25a9e1(0xe9),'responseHighlights':[a1_0x25a9e1(0xed)],'examples':[a1_0x25a9e1(0x83)],'notes':[a1_0x25a9e1(0xfb),a1_0x25a9e1(0x8d)],'markdown':[a1_0x25a9e1(0xe2),'',a1_0x25a9e1(0xf4)]['join']('\x0a')},{'code':a1_0x25a9e1(0xc4),'category':a1_0x25a9e1(0xda),'title':a1_0x25a9e1(0x93),'method':a1_0x25a9e1(0x86),'path':a1_0x25a9e1(0x99),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x25a9e1(0xb5),'pathParams':[],'queryParams':[],'bodySchema':a1_0x25a9e1(0x8c),'responseHighlights':[a1_0x25a9e1(0x9b)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':['Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.'],'markdown':a1_0x25a9e1(0x80)}];function entrySummary(_0x5a1aa7){const _0x51f47a=a1_0x25a9e1;return{'code':_0x5a1aa7['code'],'category':_0x5a1aa7[_0x51f47a(0xc0)],'method':_0x5a1aa7[_0x51f47a(0xcc)],'path':_0x5a1aa7[_0x51f47a(0xea)],'summary':_0x5a1aa7[_0x51f47a(0x91)],'whenToUse':_0x5a1aa7[_0x51f47a(0x82)]};}export function listApiDocEntries(_0x1832d0={}){const _0x1ea22f=a1_0x25a9e1,_0x5025df=String(_0x1832d0[_0x1ea22f(0xc0)]||'')[_0x1ea22f(0xae)](),_0xc78c1=String(_0x1832d0[_0x1ea22f(0x8f)]||'')[_0x1ea22f(0xae)]()[_0x1ea22f(0xbd)]();return DOCS[_0x1ea22f(0xe8)](_0x2b687f=>{const _0x22aeed=_0x1ea22f;if(_0x5025df&&_0x2b687f[_0x22aeed(0xc0)]!==_0x5025df)return![];if(!_0xc78c1)return!![];return[_0x2b687f[_0x22aeed(0xdf)],_0x2b687f['category'],_0x2b687f[_0x22aeed(0xcc)],_0x2b687f[_0x22aeed(0xea)],_0x2b687f['summary'],_0x2b687f[_0x22aeed(0x82)],_0x2b687f['title']]['join']('\x20')['toLowerCase']()[_0x22aeed(0xc2)](_0xc78c1);})['map'](entrySummary);}function a1_0x5347(_0x395e00,_0xa847b2){_0x395e00=_0x395e00-0x7e;const _0x4b07ad=a1_0x4b07();let _0x534727=_0x4b07ad[_0x395e00];return _0x534727;}export function getApiDocDetail(_0x757f00){const _0x4e9210=a1_0x25a9e1,_0x55624c=DOCS[_0x4e9210(0x9f)](_0x446e28=>_0x446e28['code']===_0x757f00);if(!_0x55624c)throw CliErrors[_0x4e9210(0xb9)](_0x4e9210(0x97)+_0x757f00);return{..._0x55624c};}const apiDocList={'service':'api-doc','command':a1_0x25a9e1(0xeb),'description':a1_0x25a9e1(0xb2),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xd23df0){const _0xa61dc9=a1_0x25a9e1,_0x517c57=listApiDocEntries({'category':_0xd23df0[_0xa61dc9(0xa3)](_0xa61dc9(0xc0)),'keyword':_0xd23df0[_0xa61dc9(0xa3)]('keyword')});return{'ok':!![],'data':{'total':_0x517c57[_0xa61dc9(0xdc)],'items':_0x517c57}};}},apiDocDetail={'service':a1_0x25a9e1(0x9e),'command':'detail','description':a1_0x25a9e1(0xaf),'risk':a1_0x25a9e1(0xd1),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x4dcade){const _0x3cce17=a1_0x25a9e1;return{'ok':!![],'data':getApiDocDetail(_0x4dcade[_0x3cce17(0xa3)](_0x3cce17(0xdf)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x39bb46=a1_0xf150;function a1_0xf150(_0x50420d,_0x2ed523){_0x50420d=_0x50420d-0xf2;const _0x199495=a1_0x1994();let _0xf150fa=_0x199495[_0x50420d];return _0xf150fa;}(function(_0x3cedd1,_0x2f2940){const _0x49636d=a1_0xf150,_0x2a0613=_0x3cedd1();while(!![]){try{const _0x328f90=-parseInt(_0x49636d(0x107))/0x1*(-parseInt(_0x49636d(0x144))/0x2)+parseInt(_0x49636d(0x111))/0x3*(-parseInt(_0x49636d(0x148))/0x4)+-parseInt(_0x49636d(0x127))/0x5*(parseInt(_0x49636d(0xf5))/0x6)+-parseInt(_0x49636d(0x14a))/0x7+-parseInt(_0x49636d(0x147))/0x8*(parseInt(_0x49636d(0x11e))/0x9)+-parseInt(_0x49636d(0x15d))/0xa*(-parseInt(_0x49636d(0xf6))/0xb)+-parseInt(_0x49636d(0x14c))/0xc*(-parseInt(_0x49636d(0x170))/0xd);if(_0x328f90===_0x2f2940)break;else _0x2a0613['push'](_0x2a0613['shift']());}catch(_0xd9f98d){_0x2a0613['push'](_0x2a0613['shift']());}}}(a1_0x1994,0x38890));function a1_0x1994(){const _0xf999c7=['API\x20doc\x20code\x20not\x20found:\x20','paging\x20contains\x20pagination','appCode','string','dataset','method','Get\x20one\x20dataset\x20record','486348KOAcmc','Returns\x20script\x20business\x20payload','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','find','code','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','path','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','tableData\x20contains\x20records','1267506bEwamw','dataset_detail','Returns\x20one\x20matching\x20business\x20record','keyword','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','dataset_data_get_one','includes','length','1383260QbyUfR','Exact\x20endpoint\x20function\x20name','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','api-doc','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','/api/{appCode}/{datasetCode}/aggregate','/api/runtime-bff/personal/{id}/execute','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','{\x22fieldName\x22:\x22value\x22}','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','/api/custom/executeSql','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','personal_bf_execute','/api/{appCode}/{datasetCode}/getOne','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','whenToUse','Execute\x20a\x20BF\x20endpoint\x20function','API\x20doc\x20code,\x20for\x20example\x20dataset_list','None','Get\x20BF\x20endpoint\x20function\x20contract','operations\x20describes\x20runtime\x20APIs','/client/bff/endpoint/{appCode}/{functionName}','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','142394xAvVfY','Execute\x20custom\x20SQL','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','16QNuImo','4UqLtfR','join','1972922gLYviC','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','16440syuMWr','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','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','list','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','GET','custom_sql','bf_detail','functionName','summary','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','{\x22id\x22:123}','validation','Current\x20app\x20code','paging.totalCount\x20gives\x20total\x20rows','30JiKibJ','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','dataset_list','category','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','str','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','datasetCode','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','{\x22param\x22:\x22value\x22}','read','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Returns\x20SQL\x20execution\x20payload','Create\x20dataset\x20record','Filter\x20dataset\x20data','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','custom_sql_execute','Aggregate\x20dataset\x20data','6851IMiczN','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','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','dataset_data_aggregate','##\x20List\x20datasets','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','/api/endpoint/{appCode}/{functionName}','Execute\x20BF\x20endpoint\x20function','6bnInuz','1093653CWXVcQ','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','result\x20rows\x20contain\x20aggregate\x20aliases','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Execute\x20Personal\x20Backend\x20Function','toLowerCase','##\x20Aggregate\x20dataset\x20data','detail','32-character\x20dataset\x20code','Show\x20runtime\x20API\x20documentation\x20by\x20code','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Endpoint\x20function\x20name','where\x20filters\x20before\x20aggregation','3agJdCv','POST','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'];a1_0x1994=function(){return _0xf999c7;};return a1_0x1994();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x39bb46(0x161),'type':a1_0x39bb46(0x10d),'description':a1_0x39bb46(0x171)},KEYWORD_FLAG={'name':'keyword','type':'string','description':a1_0x39bb46(0x15e)},DOC_CODE_FLAG={'name':'code','type':a1_0x39bb46(0x10d),'required':!![],'description':a1_0x39bb46(0x13d)},DOCS=[{'code':a1_0x39bb46(0x160),'category':'dataset','title':'List\x20datasets','method':a1_0x39bb46(0x108),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x39bb46(0x11a),'pathParams':[],'queryParams':[],'bodySchema':a1_0x39bb46(0x14f),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x39bb46(0x15c)],'examples':[a1_0x39bb46(0x172)],'notes':[a1_0x39bb46(0x122)],'markdown':[a1_0x39bb46(0x175),'',a1_0x39bb46(0x100)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x11f),'category':a1_0x39bb46(0x10e),'title':'Dataset\x20detail','method':a1_0x39bb46(0x153),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':a1_0x39bb46(0x16d),'pathParams':[],'queryParams':[{'name':a1_0x39bb46(0x116),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x39bb46(0x176),a1_0x39bb46(0x140)],'examples':[a1_0x39bb46(0x109)],'notes':[a1_0x39bb46(0x114)],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x39bb46(0x149)]('\x0a')},{'code':'dataset_data_filter','category':'dataset','title':a1_0x39bb46(0x16c),'method':'POST','path':'/api/{appCode}/{datasetCode}/filter','summary':'Filter\x20dataset\x20records','whenToUse':a1_0x39bb46(0x118),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x12b),'responseHighlights':[a1_0x39bb46(0x11d),a1_0x39bb46(0x10b)],'examples':[a1_0x39bb46(0x173),a1_0x39bb46(0xf7)],'notes':[a1_0x39bb46(0x152),a1_0x39bb46(0x15f),a1_0x39bb46(0x129),a1_0x39bb46(0x158)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x174),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16f),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12e),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x39bb46(0xf2),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x11c),'responseHighlights':[a1_0x39bb46(0xf8),a1_0x39bb46(0x106)],'examples':[a1_0x39bb46(0x14d)],'notes':[a1_0x39bb46(0x132),a1_0x39bb46(0x142)],'markdown':[a1_0x39bb46(0xfc),'',a1_0x39bb46(0x11b)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x124),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x110),'method':'POST','path':a1_0x39bb46(0x139),'summary':'Get\x20one\x20dataset\x20record','whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x159),'responseHighlights':[a1_0x39bb46(0x120)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x39bb46(0x164)],'markdown':a1_0x39bb46(0x14e)},{'code':'dataset_data_create','category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16b),'method':a1_0x39bb46(0x108),'path':'/api/{appCode}/{datasetCode}/create','summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x39bb46(0x104),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x131),'responseHighlights':[a1_0x39bb46(0x101)],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x39bb46(0x12d)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x39bb46(0x155),'category':'bf','title':a1_0x39bb46(0x13f),'method':a1_0x39bb46(0x153),'path':a1_0x39bb46(0x141),'summary':a1_0x39bb46(0xf9),'whenToUse':a1_0x39bb46(0x143),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':'functionName','description':a1_0x39bb46(0x128)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':[a1_0x39bb46(0x103)],'examples':[a1_0x39bb46(0x136)],'notes':[a1_0x39bb46(0x133)],'markdown':a1_0x39bb46(0x123)},{'code':'bf_execute','category':'bf','title':a1_0x39bb46(0xf4),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0xf3),'summary':a1_0x39bb46(0x13c),'whenToUse':a1_0x39bb46(0x137),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x156),'description':a1_0x39bb46(0x105)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x102)],'markdown':a1_0x39bb46(0x151)},{'code':a1_0x39bb46(0x138),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12f),'summary':a1_0x39bb46(0x130),'whenToUse':a1_0x39bb46(0x162),'pathParams':[{'name':'id','description':a1_0x39bb46(0x13a)}],'queryParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)}],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':[a1_0x39bb46(0x12c)],'notes':[a1_0x39bb46(0x166),a1_0x39bb46(0x113)],'markdown':[a1_0x39bb46(0xfa),'',a1_0x39bb46(0x134)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x16e),'category':a1_0x39bb46(0x154),'title':a1_0x39bb46(0x145),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x135),'summary':a1_0x39bb46(0x145),'whenToUse':a1_0x39bb46(0x169),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x39bb46(0x16a)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x146)],'markdown':a1_0x39bb46(0x14b)}];function entrySummary(_0x43757a){const _0xbbfc43=a1_0x39bb46;return{'code':_0x43757a[_0xbbfc43(0x116)],'category':_0x43757a['category'],'method':_0x43757a[_0xbbfc43(0x10f)],'path':_0x43757a[_0xbbfc43(0x119)],'summary':_0x43757a[_0xbbfc43(0x157)],'whenToUse':_0x43757a[_0xbbfc43(0x13b)]};}export function listApiDocEntries(_0x411c6c={}){const _0x10b53b=a1_0x39bb46,_0x4c7d5=String(_0x411c6c[_0x10b53b(0x161)]||'')['trim'](),_0x137477=String(_0x411c6c['keyword']||'')['trim']()['toLowerCase']();return DOCS['filter'](_0x57cfcf=>{const _0x55baf9=_0x10b53b;if(_0x4c7d5&&_0x57cfcf[_0x55baf9(0x161)]!==_0x4c7d5)return![];if(!_0x137477)return!![];return[_0x57cfcf['code'],_0x57cfcf['category'],_0x57cfcf[_0x55baf9(0x10f)],_0x57cfcf['path'],_0x57cfcf['summary'],_0x57cfcf[_0x55baf9(0x13b)],_0x57cfcf['title']][_0x55baf9(0x149)]('\x20')[_0x55baf9(0xfb)]()[_0x55baf9(0x125)](_0x137477);})['map'](entrySummary);}export function getApiDocDetail(_0x4e1aba){const _0x9d0e7a=a1_0x39bb46,_0x509156=DOCS[_0x9d0e7a(0x115)](_0x553b16=>_0x553b16[_0x9d0e7a(0x116)]===_0x4e1aba);if(!_0x509156)throw CliErrors[_0x9d0e7a(0x15a)](_0x9d0e7a(0x10a)+_0x4e1aba);return{..._0x509156};}const apiDocList={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0x150),'description':a1_0x39bb46(0x117),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5cdde7){const _0x509430=a1_0x39bb46,_0x44d415=listApiDocEntries({'category':_0x5cdde7['str'](_0x509430(0x161)),'keyword':_0x5cdde7[_0x509430(0x163)](_0x509430(0x121))});return{'ok':!![],'data':{'total':_0x44d415[_0x509430(0x126)],'items':_0x44d415}};}},apiDocDetail={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0xfd),'description':a1_0x39bb46(0xff),'risk':a1_0x39bb46(0x168),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1acbaf){const _0x243816=a1_0x39bb46;return{'ok':!![],'data':getApiDocDetail(_0x1acbaf[_0x243816(0x163)](_0x243816(0x116)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c85ae,_0x4bb90e){const _0x252dd6=a2_0x864b,_0x19fdeb=_0x1c85ae();while(!![]){try{const _0x5658d1=-parseInt(_0x252dd6(0x19d))/0x1+parseInt(_0x252dd6(0x1ae))/0x2*(parseInt(_0x252dd6(0x19f))/0x3)+-parseInt(_0x252dd6(0x1b1))/0x4+-parseInt(_0x252dd6(0x1ac))/0x5+parseInt(_0x252dd6(0x1b5))/0x6+-parseInt(_0x252dd6(0x1b0))/0x7*(-parseInt(_0x252dd6(0x1a9))/0x8)+parseInt(_0x252dd6(0x1a6))/0x9*(parseInt(_0x252dd6(0x1a3))/0xa);if(_0x5658d1===_0x4bb90e)break;else _0x19fdeb['push'](_0x19fdeb['shift']());}catch(_0x55c3fa){_0x19fdeb['push'](_0x19fdeb['shift']());}}}(a2_0x3194,0x6a879));function a2_0x864b(_0x25ab00,_0x208a93){_0x25ab00=_0x25ab00-0x19b;const _0x3194e0=a2_0x3194();let _0x864b7b=_0x3194e0[_0x25ab00];return _0x864b7b;}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x7cf2d5){const _0x1d6e8c=a2_0x864b,_0x333f77=_0x7cf2d5['trim'](),_0x2aca88=_0x333f77[_0x1d6e8c(0x1b8)](-0x6)||_0x1d6e8c(0x1b6),_0x4e3b96=createHash(_0x1d6e8c(0x1b7))[_0x1d6e8c(0x1aa)](_0x333f77)[_0x1d6e8c(0x1b9)](_0x1d6e8c(0x1a1))[_0x1d6e8c(0x1b8)](0x0,0xc);return _0x1d6e8c(0x1a2)+_0x2aca88+'_'+_0x4e3b96;}function a2_0x3194(){const _0x16afe0=['3FHJmLG','appCode','hex','ak_','290xcIoPw','utf8','code','161442SJDHuh','find','EXDEV','1752UruBTm','update','cache','2438600lOOhmu','items','491578oNMgnT','stringify','14959spKvtZ','1152592Frmxvs','my-apps.json','appName','trim','1747734gGSKkr','unknown','sha256','slice','digest','.tmp','isArray','313070jYpcFT','EACCES'];a2_0x3194=function(){return _0x16afe0;};return a2_0x3194();}export function getAppCacheFilePath(_0x3a0cc0,_0x3c9c36){const _0x6aa7be=a2_0x864b;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x6aa7be(0x1ab),_0x3a0cc0,fingerprintAccessKey(_0x3c9c36),_0x6aa7be(0x1b2));}export function readCachedAppList(_0xf92091,_0x5d1650){const _0x3f0d0c=a2_0x864b;if(!_0x5d1650?.['trim']())return null;const _0x2cea92=getAppCacheFilePath(_0xf92091,_0x5d1650);if(!existsSync(_0x2cea92))return null;try{const _0x305b21=readFileSync(_0x2cea92,_0x3f0d0c(0x1a4));if(!_0x305b21['trim']())return null;const _0x2e7a19=JSON['parse'](_0x305b21);if(!Array[_0x3f0d0c(0x19c)](_0x2e7a19['items']))return null;return _0x2e7a19;}catch{return null;}}export function writeCachedAppList(_0x5b0845,_0x5079c8,_0x27b3e2){const _0x2cbe90=a2_0x864b,_0x5a69a5=getAppCacheFilePath(_0x5b0845,_0x5079c8),_0x42d803=dirname(_0x5a69a5);!existsSync(_0x42d803)&&mkdirSync(_0x42d803,{'recursive':!![]});const _0x1638d8=_0x5a69a5+_0x2cbe90(0x19b);try{writeFileSync(_0x1638d8,JSON['stringify'](_0x27b3e2,null,0x2)+'\x0a',{'encoding':_0x2cbe90(0x1a4),'mode':0x180});try{renameSync(_0x1638d8,_0x5a69a5);}catch(_0x26ae6b){if(_0x26ae6b[_0x2cbe90(0x1a5)]==='EPERM'||_0x26ae6b[_0x2cbe90(0x1a5)]===_0x2cbe90(0x1a8)||_0x26ae6b['code']===_0x2cbe90(0x19e)){writeFileSync(_0x5a69a5,JSON[_0x2cbe90(0x1af)](_0x27b3e2,null,0x2)+'\x0a',{'encoding':_0x2cbe90(0x1a4)});try{unlinkSync(_0x1638d8);}catch{}}else throw _0x26ae6b;}}catch(_0x163e01){try{unlinkSync(_0x1638d8);}catch{}throw _0x163e01;}return _0x5a69a5;}export function resolveCachedAppCode(_0x5d423,_0x37a2cf,_0x1ab196){const _0x4cb5ed=a2_0x864b;if(!_0x5d423)return undefined;const _0x4c0afe=readCachedAppList(_0x37a2cf,_0x1ab196),_0x4e37af=_0x4c0afe?.[_0x4cb5ed(0x1ad)][_0x4cb5ed(0x1a7)](_0x229926=>_0x229926[_0x4cb5ed(0x1b3)]===_0x5d423&&isRuntimeAccessibleApp(_0x229926));return _0x4e37af?.[_0x4cb5ed(0x1a0)]?.[_0x4cb5ed(0x1b4)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a3_0x1fb7(){const _0x39f2db=['2138139oITMAt','2091747ebFscA','cache','pull','production','import','2171454PzBNWn','length','push','envName','227200bQptvk','../../context.js','find','accessKey','items','include-unpublished','bool','No\x20apps\x20found\x20on\x20the\x20platform.','7778QDGzTX','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','no-cache','\x20app(s)\x20for\x20env=\x22','fetchedAt','53fRaAYD','285069gajDWk','isArray','write','env','filter','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','read','Target\x20environment\x20(default:\x20current\x20env)','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','local','str','map','Loaded\x20','name','config','8cLjjUv','list','mergedCli','cachePath','trim','../../commands/app/remote-source.js','app','Include\x20unpublished\x20apps\x20for\x20diagnostics','type','appPublishStatus','string','boolean','Read\x20app\x20list\x20from\x20local\x20cache\x20only','appcode','1998505uTDjFp','remote','source','enableI18n','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','Refreshed\x20app\x20cache\x20with\x20','appName','appCode','entries','i18nInfo'];a3_0x1fb7=function(){return _0x39f2db;};return a3_0x1fb7();}const a3_0x5de759=a3_0x405a;(function(_0x296fbb,_0x214bd9){const _0x50362c=a3_0x405a,_0x404956=_0x296fbb();while(!![]){try{const _0x474d89=parseInt(_0x50362c(0x204))/0x1*(parseInt(_0x50362c(0x1ff))/0x2)+parseInt(_0x50362c(0x205))/0x3+-parseInt(_0x50362c(0x1f7))/0x4+parseInt(_0x50362c(0x222))/0x5+-parseInt(_0x50362c(0x1f3))/0x6+-parseInt(_0x50362c(0x22d))/0x7*(parseInt(_0x50362c(0x214))/0x8)+parseInt(_0x50362c(0x22c))/0x9;if(_0x474d89===_0x214bd9)break;else _0x404956['push'](_0x404956['shift']());}catch(_0x2af6c3){_0x404956['push'](_0x404956['shift']());}}}(a3_0x1fb7,0x35ed2));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(_0x275359,_0xf4cf8f){const _0x2ab431=a3_0x405a,_0x2d156d={};for(const _0x662066 of _0xf4cf8f){const _0x2adaea=_0x662066[_0x2ab431(0x21c)]===_0x2ab431(0x21f)?_0x275359['bool'](_0x662066[_0x2ab431(0x212)]):_0x275359['str'](_0x662066[_0x2ab431(0x212)]);if(_0x2adaea!==''&&_0x2adaea!==![])_0x2d156d[_0x662066[_0x2ab431(0x212)]]=_0x2adaea;}if(_0x275359['nonInteractive'])_0x2d156d['nonInteractive']=!![];return _0x2d156d;}function normalizeLanguages(_0x25d222){const _0x8cd255=a3_0x405a;if(!Array[_0x8cd255(0x206)](_0x25d222))return[];return _0x25d222[_0x8cd255(0x209)](_0x1b5b9c=>typeof _0x1b5b9c===_0x8cd255(0x21e))[_0x8cd255(0x210)](_0x2e71af=>_0x2e71af[_0x8cd255(0x218)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x2810c7){const _0x3d8274=a3_0x405a,_0x4fa49c=normalizeLanguages(_0x2810c7[_0x3d8274(0x22b)]?.['langs']);return{'enableI18n':typeof _0x2810c7[_0x3d8274(0x225)]===_0x3d8274(0x21f)?_0x2810c7['enableI18n']:null,'languages':_0x4fa49c,'i18nInfo':_0x2810c7[_0x3d8274(0x22b)]?{..._0x2810c7[_0x3d8274(0x22b)],'langs':_0x4fa49c[_0x3d8274(0x1f4)]?_0x4fa49c:null}:null};}function a3_0x405a(_0x583f8c,_0x1c0a75){_0x583f8c=_0x583f8c-0x1f3;const _0x1fb742=a3_0x1fb7();let _0x405aeb=_0x1fb742[_0x583f8c];return _0x405aeb;}const listDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x215),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x5de759(0x20b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x5de759(0x21e),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x220),'default':![]},{'name':a3_0x5de759(0x201),'type':a3_0x5de759(0x21f),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x5de759(0x1fc),'type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x21b),'default':![]}],async 'execute'(_0x2cbcf8){const _0x49f229=a3_0x5de759,_0x5a6551=_0x2cbcf8['str'](_0x49f229(0x208))||_0x2cbcf8[_0x49f229(0x1f6)]||getEnv()||_0x49f229(0x230),_0x17ff07=_0x2cbcf8[_0x49f229(0x1fd)]('local'),_0xcaf0fc=_0x2cbcf8[_0x49f229(0x1fd)](_0x49f229(0x201)),_0xae25c2=_0x2cbcf8[_0x49f229(0x1fd)]('include-unpublished'),{readRawConfigWithLayers:_0x47a2e2,resolveDefaultAppSource:_0x51296f,getLocalAppAliases:_0x4c5ef7}=await import(_0x49f229(0x1f8)),{getRemoteAppList:_0x186e21}=await import(_0x49f229(0x219)),{config:_0x3ccc24,layers:_0x528a84}=_0x47a2e2(),_0x13939c=_0x51296f(_0x528a84),{defaultApp:_0x1668be}=_0x3ccc24,_0xddafdf=await _0x186e21({'env':_0x5a6551,'accessKey':_0x2cbcf8[_0x49f229(0x1fa)],'localOnly':_0x17ff07,'noCache':_0xcaf0fc}),_0xcda6e6=_0xae25c2?_0xddafdf[_0x49f229(0x1fb)]:filterRuntimeAccessibleApps(_0xddafdf[_0x49f229(0x1fb)]),_0x2972e7=_0xddafdf[_0x49f229(0x1fb)][_0x49f229(0x1f4)]-_0xcda6e6[_0x49f229(0x1f4)],_0x3c2839=_0xcda6e6[_0x49f229(0x210)](_0x211512=>{const _0x507556=_0x49f229;return{'name':_0x211512[_0x507556(0x228)],'appcode':_0x211512[_0x507556(0x229)],'named':!![],'definedIn':_0x507556(0x223),'isDefault':_0x211512['appName']===_0x1668be,...buildAppProfileListFields(_0x5a6551),...buildRemoteAppI18nFields(_0x211512),'source':_0xddafdf[_0x507556(0x224)],'owner':_0x211512['appOwnerName']??null,'status':_0x211512[_0x507556(0x21d)]??null,'cachedAt':_0xddafdf[_0x507556(0x203)]};}),_0x564d46=_0x4c5ef7(_0x3ccc24);let _0x214aeb=0x0;for(const [_0x5bb141,_0x5ec67c]of Object[_0x49f229(0x22a)](_0x564d46)){const _0x58ce08=typeof _0x5ec67c[_0x49f229(0x221)]===_0x49f229(0x21e)?_0x5ec67c[_0x49f229(0x221)]['trim']():'';if(!_0x58ce08)continue;const _0x52fc59=findAppByCode(_0xddafdf[_0x49f229(0x1fb)],_0x58ce08);if(!_0xae25c2&&_0x52fc59&&!isRuntimeAccessibleApp(_0x52fc59))continue;_0x214aeb+=0x1,_0x3c2839[_0x49f229(0x1f5)]({'name':_0x5bb141,'appcode':_0x58ce08,'named':!![],'definedIn':_0x49f229(0x20e),'isDefault':_0x5bb141===_0x1668be,...buildAppProfileListFields(_0x5a6551),'source':_0x49f229(0x213),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x3c2839,_0x2cbcf8[_0x49f229(0x216)]);const _0x455389=_0x3c2839[_0x49f229(0x1f9)](_0x271433=>_0x271433['isCurrent']===!![]),_0x37dcda=_0x1668be??_0x455389?.[_0x49f229(0x212)]??null,_0xfa48e2={'env':_0x5a6551,'source':_0xddafdf[_0x49f229(0x224)],'fetchedAt':_0xddafdf[_0x49f229(0x203)],'cachePath':_0xddafdf['cachePath'],'globalPath':_0x528a84['globalPath']??null,'projectPath':_0x528a84['projectPath']??null,'defaultApp':_0x37dcda,'defaultAppSource':_0x1668be!=null?_0x13939c:null,'localAliasCount':_0x214aeb,'remoteTotal':_0xddafdf[_0x49f229(0x1fb)][_0x49f229(0x1f4)],'hiddenUnpublishedCount':_0x2972e7,'includeUnpublished':_0xae25c2};if(_0x3c2839[_0x49f229(0x1f4)]===0x0)return{'ok':!![],'data':{'items':_0x3c2839,'meta':_0xfa48e2},'message':_0xddafdf[_0x49f229(0x224)]===_0x49f229(0x22e)?'No\x20cached\x20apps\x20found.':_0x49f229(0x1fe)};return{'ok':!![],'data':{'items':_0x3c2839,'meta':_0xfa48e2}};}},pullDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x22f),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':a3_0x5de759(0x207),'confirmationDescription':a3_0x5de759(0x200),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x5de759(0x208),'type':a3_0x5de759(0x21e),'description':a3_0x5de759(0x20c),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5de759(0x20e),'type':a3_0x5de759(0x21f),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x20d),'default':![]}],async 'execute'(_0x24ae4e){const _0x54ff0e=a3_0x5de759,_0x86bea2=_0x24ae4e[_0x54ff0e(0x20f)](_0x54ff0e(0x208))||_0x24ae4e[_0x54ff0e(0x1f6)]||getEnv()||_0x54ff0e(0x230),_0x58d8f6=_0x24ae4e['bool'](_0x54ff0e(0x20e)),_0x4258a2=_0x24ae4e[_0x54ff0e(0x1fd)]('no-cache'),{getRemoteAppList:_0x4c01bd}=await import(_0x54ff0e(0x219)),_0x32af82=await _0x4c01bd({'env':_0x86bea2,'accessKey':_0x24ae4e['accessKey'],'localOnly':_0x58d8f6,'noCache':_0x4258a2});return{'ok':!![],'data':{'total':_0x32af82[_0x54ff0e(0x1fb)][_0x54ff0e(0x1f4)],'env':_0x86bea2,'source':_0x32af82[_0x54ff0e(0x224)],'fetchedAt':_0x32af82[_0x54ff0e(0x203)],'cachePath':_0x32af82[_0x54ff0e(0x217)]},'message':_0x32af82['source']===_0x54ff0e(0x22e)?_0x54ff0e(0x211)+_0x32af82[_0x54ff0e(0x1fb)][_0x54ff0e(0x1f4)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x86bea2+'\x22.':_0x54ff0e(0x227)+_0x32af82['items'][_0x54ff0e(0x1f4)]+_0x54ff0e(0x202)+_0x86bea2+'\x22.'};}},importDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x231),'description':a3_0x5de759(0x20a),'risk':a3_0x5de759(0x207),'confirmationDescription':a3_0x5de759(0x226),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x307504){return await runAppImport(collectFlags(_0x307504,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2ecf5c,_0x409723){const _0x36b542=a4_0x3e11,_0x5e8330=_0x2ecf5c();while(!![]){try{const _0x52446a=-parseInt(_0x36b542(0x19f))/0x1*(-parseInt(_0x36b542(0x198))/0x2)+parseInt(_0x36b542(0x19e))/0x3+parseInt(_0x36b542(0x1a3))/0x4*(parseInt(_0x36b542(0x1a7))/0x5)+parseInt(_0x36b542(0x19b))/0x6*(-parseInt(_0x36b542(0x199))/0x7)+parseInt(_0x36b542(0x1a8))/0x8+parseInt(_0x36b542(0x194))/0x9*(parseInt(_0x36b542(0x1a4))/0xa)+-parseInt(_0x36b542(0x196))/0xb;if(_0x52446a===_0x409723)break;else _0x5e8330['push'](_0x5e8330['shift']());}catch(_0x2b0583){_0x5e8330['push'](_0x5e8330['shift']());}}}(a4_0x5c5f,0x7f55a));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0x3e11(_0x307b74,_0x485a5f){_0x307b74=_0x307b74-0x192;const _0x5c5ffd=a4_0x5c5f();let _0x3e11da=_0x5c5ffd[_0x307b74];return _0x3e11da;}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x2c2196){const _0x3da48a=a4_0x3e11;if(typeof _0x2c2196!=='string')return null;const _0x5eb9d6=_0x2c2196[_0x3da48a(0x195)]();return _0x5eb9d6?_0x5eb9d6[_0x3da48a(0x192)]():null;}export function isRuntimeAccessibleApp(_0x34af32){const _0x4af1cb=a4_0x3e11;return normalizeAppPublishStatus(_0x34af32[_0x4af1cb(0x1a6)])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x5c5f(){const _0x2da02a=['App\x20','2077998fwCQvl','6917CfaKqH','find','validation','.\x20Publish\x20the\x20app\x20before\x20using\x20','16PCOayv','64510TVUjnT','UNKNOWN','appPublishStatus','816560iWhlFz','5052568xElPeZ','toUpperCase','Current\x20status:\x20','981vjFxVr','trim','18861007THSkpp','appName','2xOKNrN','21NkzsEm','filter','902724OqToMw','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.'];a4_0x5c5f=function(){return _0x2da02a;};return a4_0x5c5f();}export function filterRuntimeAccessibleApps(_0x7394d7){const _0x2ccfa1=a4_0x3e11;return _0x7394d7[_0x2ccfa1(0x19a)](isRuntimeAccessibleApp);}export function findAppByName(_0x128f13,_0x5b7883){const _0x28d0b9=a4_0x3e11;return _0x128f13['find'](_0x57fa6b=>_0x57fa6b[_0x28d0b9(0x197)]===_0x5b7883);}export function findAppByCode(_0x523b3b,_0x4684b2){const _0x5f18fb=a4_0x3e11,_0x208de0=_0x4684b2['trim']();if(!_0x208de0)return undefined;return _0x523b3b[_0x5f18fb(0x1a0)](_0x54b866=>_0x54b866['appCode']?.['trim']()===_0x208de0);}export function runtimeInaccessibleAppError(_0x2e1492,_0x329722){const _0x18f28c=a4_0x3e11,_0x122a9c=normalizeAppPublishStatus(_0x2e1492[_0x18f28c(0x1a6)])??_0x18f28c(0x1a5);return CliErrors[_0x18f28c(0x1a1)](_0x18f28c(0x19d)+_0x329722+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0x18f28c(0x193)+_0x122a9c+_0x18f28c(0x1a2)+CLI_BIN_NAME+_0x18f28c(0x19c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x25b9ef,_0x129653){const _0x367fb0=a5_0x30f3,_0x136fca=_0x25b9ef();while(!![]){try{const _0x1edc9a=parseInt(_0x367fb0(0x171))/0x1*(-parseInt(_0x367fb0(0x162))/0x2)+-parseInt(_0x367fb0(0x168))/0x3*(-parseInt(_0x367fb0(0x163))/0x4)+-parseInt(_0x367fb0(0x16c))/0x5*(parseInt(_0x367fb0(0x16f))/0x6)+parseInt(_0x367fb0(0x16a))/0x7*(parseInt(_0x367fb0(0x16b))/0x8)+-parseInt(_0x367fb0(0x16e))/0x9+parseInt(_0x367fb0(0x161))/0xa+-parseInt(_0x367fb0(0x172))/0xb*(-parseInt(_0x367fb0(0x167))/0xc);if(_0x1edc9a===_0x129653)break;else _0x136fca['push'](_0x136fca['shift']());}catch(_0x345fee){_0x136fca['push'](_0x136fca['shift']());}}}(a5_0x31ce,0x6954e));import{fileURLToPath}from'url';function a5_0x31ce(){const _0x30b0a7=['6344YGoHth','parse','errorCode','Mock\x20API\x20error:\x20','928140BoFnFw','471XOcvvM','utf-8','525TwElhS','89656CxrtRf','242145DFKWuN','tableData','6008922zzAKny','24LRoKLO','data','790067VoWBkR','132EYrRkJ','errorMsg','652120xPQHUC','2KBuBum'];a5_0x31ce=function(){return _0x30b0a7;};return a5_0x31ce();}import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x1efa4e=a5_0x30f3,_0x5d01b5=join(__dirname,'../../../mock/app-list.json'),_0x3297b6=readFileSync(_0x5d01b5,_0x1efa4e(0x169));return JSON[_0x1efa4e(0x164)](_0x3297b6);}function a5_0x30f3(_0x3e2d39,_0x101f78){_0x3e2d39=_0x3e2d39-0x161;const _0x31ce51=a5_0x31ce();let _0x30f30c=_0x31ce51[_0x3e2d39];return _0x30f30c;}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x10e997=a5_0x30f3,_0x47215b=getMockAppList();if(!_0x47215b['success'])throw new Error(_0x10e997(0x166)+_0x47215b[_0x10e997(0x173)]+'\x20('+_0x47215b[_0x10e997(0x165)]+')');return _0x47215b[_0x10e997(0x170)][_0x10e997(0x16d)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3de87d,_0x413f90){const _0x6f15cb=a6_0x3e09,_0x39280b=_0x3de87d();while(!![]){try{const _0x45854a=parseInt(_0x6f15cb(0x11e))/0x1*(-parseInt(_0x6f15cb(0x114))/0x2)+parseInt(_0x6f15cb(0x115))/0x3*(parseInt(_0x6f15cb(0x11d))/0x4)+-parseInt(_0x6f15cb(0x10e))/0x5*(parseInt(_0x6f15cb(0x111))/0x6)+parseInt(_0x6f15cb(0x117))/0x7*(parseInt(_0x6f15cb(0x10f))/0x8)+parseInt(_0x6f15cb(0x11b))/0x9+parseInt(_0x6f15cb(0x11a))/0xa+parseInt(_0x6f15cb(0x119))/0xb;if(_0x45854a===_0x413f90)break;else _0x39280b['push'](_0x39280b['shift']());}catch(_0x570b5f){_0x39280b['push'](_0x39280b['shift']());}}}(a6_0xeb8f,0x22189));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';function a6_0x3e09(_0x2127c7,_0x1ec0ba){_0x2127c7=_0x2127c7-0x10d;const _0xeb8ffe=a6_0xeb8f();let _0x3e096a=_0xeb8ffe[_0x2127c7];return _0x3e096a;}export function shouldUseMockRemoteApps(){const _0x3820bd=a6_0x3e09,_0x32880a=(productEnv(_0x3820bd(0x118))||'')[_0x3820bd(0x116)]()[_0x3820bd(0x110)]();return _0x32880a===_0x3820bd(0x112);}function a6_0xeb8f(){const _0x351191=['447161KdOjse','561760eSYYJW','432261IoiOzO','fetchedAt','4RKhMmQ','1ICGzQU','cache','1945kFdZad','21752zTTCnn','toLowerCase','3678jLwKPs','mock','items','47890bSnAIj','298503VvnepN','trim','406IiycyK','APP_LIST_SOURCE'];a6_0xeb8f=function(){return _0x351191;};return a6_0xeb8f();}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x52a3a4){const _0x166d87=a6_0x3e09,{env:_0x2a6f11,accessKey:_0x3e6599,localOnly:localOnly=![],noCache:noCache=![]}=_0x52a3a4,_0x544d9b=readCachedAppList(_0x2a6f11,_0x3e6599),_0x56c500=_0x3e6599?.[_0x166d87(0x116)]()?getAppCacheFilePath(_0x2a6f11,_0x3e6599):null;if(localOnly)return{'items':_0x544d9b?.[_0x166d87(0x113)]??[],'source':'cache','fetchedAt':_0x544d9b?.[_0x166d87(0x11c)]??null,'cachePath':_0x56c500};try{const _0x1e337c=await getRemoteAppItems(),_0x485e19=shouldUseMockRemoteApps()?_0x166d87(0x112):'remote',_0x4f5b16=new Date()['toISOString'](),_0x13d830=_0x3e6599?.[_0x166d87(0x116)]()?writeCachedAppList(_0x2a6f11,_0x3e6599,{'env':_0x2a6f11,'fetchedAt':_0x4f5b16,'source':_0x485e19,'items':_0x1e337c}):null;return{'items':_0x1e337c,'source':_0x485e19,'fetchedAt':_0x4f5b16,'cachePath':_0x13d830};}catch(_0x4d6331){if(!noCache&&_0x544d9b)return{'items':_0x544d9b[_0x166d87(0x113)],'source':_0x166d87(0x10d),'fetchedAt':_0x544d9b[_0x166d87(0x11c)],'cachePath':_0x56c500};throw _0x4d6331;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a7_0x41ba(){const _0x47bb1b=['11094350vMGSVh','name','currentApp','local','91414ANAqwZ','2243540wjTEHW','find','11020038MEALeN','3Yjnzpy','25004287wcZrhY','appcode','709820NLChrP','9pXaUfk','6407723QyPblW','named','defaultApp','trim','4EReYPC','isCurrent','appCode','definedIn','8PCypaq'];a7_0x41ba=function(){return _0x47bb1b;};return a7_0x41ba();}function a7_0x3788(_0x3a82a0,_0x4bd2bf){_0x3a82a0=_0x3a82a0-0x109;const _0x41baa6=a7_0x41ba();let _0x378895=_0x41baa6[_0x3a82a0];return _0x378895;}(function(_0x1f3f99,_0x5e9519){const _0x2a655a=a7_0x3788,_0x4ae59b=_0x1f3f99();while(!![]){try{const _0x3e8cf9=-parseInt(_0x2a655a(0x118))/0x1+parseInt(_0x2a655a(0x111))/0x2*(parseInt(_0x2a655a(0x115))/0x3)+parseInt(_0x2a655a(0x11e))/0x4*(-parseInt(_0x2a655a(0x112))/0x5)+parseInt(_0x2a655a(0x114))/0x6+parseInt(_0x2a655a(0x11a))/0x7*(-parseInt(_0x2a655a(0x10c))/0x8)+-parseInt(_0x2a655a(0x119))/0x9*(parseInt(_0x2a655a(0x10d))/0xa)+parseInt(_0x2a655a(0x116))/0xb;if(_0x3e8cf9===_0x5e9519)break;else _0x4ae59b['push'](_0x4ae59b['shift']());}catch(_0x2b43ed){_0x4ae59b['push'](_0x4ae59b['shift']());}}}(a7_0x41ba,0xed571));export function enrichAppListItemsWithMergedSelection(_0xab6236,_0xeda24f){const _0xc19f14=a7_0x3788;if(!_0xeda24f)return;const _0x16dfa7=!!(_0xeda24f[_0xc19f14(0x10f)]??_0xeda24f['defaultApp']);for(const _0x166097 of _0xab6236){_0x166097[_0xc19f14(0x109)]=![];}const _0x1f6588=_0xeda24f['appCode']!=null?String(_0xeda24f[_0xc19f14(0x10a)])[_0xc19f14(0x11d)]():'';if(_0x16dfa7){const _0x5e57bd=_0xeda24f['currentApp']??_0xeda24f[_0xc19f14(0x11c)];if(_0x5e57bd){const _0x182525=_0xab6236['find'](_0x46317b=>_0x46317b[_0xc19f14(0x11b)]===!![]&&_0x46317b[_0xc19f14(0x10e)]===_0x5e57bd&&_0x46317b[_0xc19f14(0x10b)]===_0xc19f14(0x110)),_0x2b97dc=_0x182525??_0xab6236[_0xc19f14(0x113)](_0x2995ed=>_0x2995ed[_0xc19f14(0x11b)]===!![]&&_0x2995ed[_0xc19f14(0x10e)]===_0x5e57bd);if(_0x2b97dc){const _0x3dc307=String(_0x2b97dc['appcode']??'')[_0xc19f14(0x11d)]();if(!_0x1f6588||_0x3dc307===_0x1f6588){_0x2b97dc[_0xc19f14(0x109)]=!![];return;}}}if(_0x1f6588){const _0x3ca7b3=_0xab6236[_0xc19f14(0x113)](_0x2b46ab=>String(_0x2b46ab[_0xc19f14(0x117)]??'')[_0xc19f14(0x11d)]()===_0x1f6588);_0x3ca7b3&&(_0x3ca7b3[_0xc19f14(0x109)]=!![]);}return;}if(!_0x1f6588)return;for(const _0x25567e of _0xab6236){String(_0x25567e['appcode']??'')['trim']()===_0x1f6588&&(_0x25567e[_0xc19f14(0x109)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x14b80f=a8_0x43ed;function a8_0x43ed(_0x82148e,_0x2b676d){_0x82148e=_0x82148e-0x1b2;const _0x2fb03f=a8_0x2fb0();let _0x43ed5e=_0x2fb03f[_0x82148e];return _0x43ed5e;}function a8_0x2fb0(){const _0x33e3d1=['130897MRqwqp','379XsFWTx','1314kBlnxX','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','121rYtcbv','validation','18TzVoWH','Usage:\x20','174896cvxFPr','key','args','app-config','35lyDjqw','40440vWPbqX','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','2904aThmNI','Missing\x20app-config\x20key.','Unable\x20to\x20get\x20app-config\x20value:\x20key=','appCode','485592aiTTyh','get','34944FRQssa','3888558gCWisC',',\x20appCode=','7928xcKjfR','trim'];a8_0x2fb0=function(){return _0x33e3d1;};return a8_0x2fb0();}(function(_0x215d66,_0x416f4d){const _0x1f489b=a8_0x43ed,_0x2ac698=_0x215d66();while(!![]){try{const _0x45d08a=parseInt(_0x1f489b(0x1c8))/0x1*(parseInt(_0x1f489b(0x1c5))/0x2)+-parseInt(_0x1f489b(0x1c3))/0x3+parseInt(_0x1f489b(0x1c0))/0x4*(-parseInt(_0x1f489b(0x1b9))/0x5)+-parseInt(_0x1f489b(0x1c9))/0x6*(parseInt(_0x1f489b(0x1c2))/0x7)+-parseInt(_0x1f489b(0x1b5))/0x8*(-parseInt(_0x1f489b(0x1b3))/0x9)+parseInt(_0x1f489b(0x1ba))/0xa*(parseInt(_0x1f489b(0x1cb))/0xb)+parseInt(_0x1f489b(0x1bc))/0xc*(parseInt(_0x1f489b(0x1c7))/0xd);if(_0x45d08a===_0x416f4d)break;else _0x2ac698['push'](_0x2ac698['shift']());}catch(_0x3e6e50){_0x2ac698['push'](_0x2ac698['shift']());}}}(a8_0x2fb0,0xc064a));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x14b80f(0x1b8),'command':a8_0x14b80f(0x1c1),'description':a8_0x14b80f(0x1ca),'risk':'read','args':[{'name':a8_0x14b80f(0x1b6),'description':'App\x20config\x20key','required':!![]}],'flags':[],async 'execute'(_0x3405fa){const _0x303a05=a8_0x14b80f,_0x15b637=_0x3405fa[_0x303a05(0x1b7)][0x0]?.[_0x303a05(0x1c6)]();if(!_0x15b637)throw CliErrors[_0x303a05(0x1b2)](_0x303a05(0x1bd),_0x303a05(0x1b4)+CLI_BIN_NAME+'\x20app-config\x20get\x20<key>');try{const _0xa5b114=await getRuntimeAppConfigByKey(_0x3405fa[_0x303a05(0x1bf)],_0x15b637);return{'ok':!![],'data':_0xa5b114};}catch{throw CliErrors['apiError'](_0x303a05(0x1be)+_0x15b637+_0x303a05(0x1c4)+_0x3405fa['appCode'],_0x303a05(0x1bb));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a9_0x4f1c(_0x194b1b,_0x4f8ce3){_0x194b1b=_0x194b1b-0x97;const _0x4dd0cf=a9_0x4dd0();let _0x4f1c2e=_0x4dd0cf[_0x194b1b];return _0x4f1c2e;}(function(_0x3b7ce5,_0x5ed628){const _0x59a6fa=a9_0x4f1c,_0x1b044f=_0x3b7ce5();while(!![]){try{const _0x5ea1b2=parseInt(_0x59a6fa(0x97))/0x1*(parseInt(_0x59a6fa(0x9c))/0x2)+parseInt(_0x59a6fa(0x98))/0x3+-parseInt(_0x59a6fa(0x99))/0x4+-parseInt(_0x59a6fa(0x9b))/0x5+parseInt(_0x59a6fa(0x9d))/0x6+parseInt(_0x59a6fa(0x9e))/0x7+-parseInt(_0x59a6fa(0x9a))/0x8;if(_0x5ea1b2===_0x5ed628)break;else _0x1b044f['push'](_0x1b044f['shift']());}catch(_0x170acb){_0x1b044f['push'](_0x1b044f['shift']());}}}(a9_0x4dd0,0x3fe53));function a9_0x4dd0(){const _0x3e533d=['881750ZbIxks','2305566tjCypy','1713376gMQqKC','1MvSXkk','1373466bmDeRV','1894616ufNbfO','6009144hvdPVg','206070YyrqtB'];a9_0x4dd0=function(){return _0x3e533d;};return a9_0x4dd0();}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x3f3fc7=a10_0x3ab0;(function(_0x5a4bba,_0xf0716f){const _0x131cd3=a10_0x3ab0,_0x3f09e6=_0x5a4bba();while(!![]){try{const _0x4b8f10=-parseInt(_0x131cd3(0x1be))/0x1*(-parseInt(_0x131cd3(0x17d))/0x2)+parseInt(_0x131cd3(0x185))/0x3*(-parseInt(_0x131cd3(0x192))/0x4)+-parseInt(_0x131cd3(0x199))/0x5+-parseInt(_0x131cd3(0x19a))/0x6*(-parseInt(_0x131cd3(0x1a5))/0x7)+parseInt(_0x131cd3(0x1cb))/0x8*(-parseInt(_0x131cd3(0x1b5))/0x9)+-parseInt(_0x131cd3(0x18e))/0xa*(-parseInt(_0x131cd3(0x195))/0xb)+parseInt(_0x131cd3(0x1a1))/0xc;if(_0x4b8f10===_0xf0716f)break;else _0x3f09e6['push'](_0x3f09e6['shift']());}catch(_0x33c4ca){_0x3f09e6['push'](_0x3f09e6['shift']());}}}(a10_0x3927,0xd5d75));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_0x3ab0(_0x3c56c2,_0x453679){_0x3c56c2=_0x3c56c2-0x17b;const _0x3927a7=a10_0x3927();let _0x3ab0db=_0x3927a7[_0x3c56c2];return _0x3ab0db;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE='react_module',ARTIFACT_SOURCE_AGENT=a10_0x3f3fc7(0x17f),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3f3fc7(0x18b),a10_0x3f3fc7(0x1a0),a10_0x3f3fc7(0x183),a10_0x3f3fc7(0x18f),a10_0x3f3fc7(0x1af),a10_0x3f3fc7(0x1c3)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3f3fc7(0x194)](',\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_0x3f3fc7(0x1b8),'type':a10_0x3f3fc7(0x186),'required':!![],'description':a10_0x3f3fc7(0x193)},ARTIFACT_NAME_FLAG={'name':a10_0x3f3fc7(0x187),'type':a10_0x3f3fc7(0x186),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x3f3fc7(0x19e),'type':a10_0x3f3fc7(0x186),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x34b799){const _0x59ea98=a10_0x3f3fc7;return typeof _0x34b799==='object'&&_0x34b799!==null&&!Array[_0x59ea98(0x1a7)](_0x34b799);}function a10_0x3927(){const _0x49ae92=['artifact','trim','number','validation','description','lastIndex','test','12400912tdTgHX','utf8','deleted','createTime','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','138SntzbU','Optional\x20favorite-state\x20filter','AGENT','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','some','favorite','lodash','appCode','474903jJDrRI','string','name','Preview:\x20create\x20react_module\x20Artifact','length','File\x20is\x20not\x20a\x20regular\x20file:\x20','react','artifactType','File\x20path\x20is\x20required.','183530FsvZFg','dayjs','POST','data','16qbPJzo','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','join','132WHmoox','update','List\x20current-app\x20react_module\x20Artifacts','Invalid\x20JSON\x20for\x20--metadata:\x20','7090285HDYJZN','6KWkYUM','updateTime','Artifact\x20ID','includes','metadata','content','react-dom','25844316KbLknG','compiledContent','parse','map','3661707DSVlHX','File\x20not\x20found:\x20','isArray','bool','filter','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','react_module\x20imports\x20are\x20limited\x20to:\x20','write','source','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','antd','Show\x20one\x20Artifact\x20by\x20id','str','split','Updated\x20Artifact\x20','num','9emymYC','Created\x20Artifact\x20','create','file','build','boolean','.\x20Unsupported:\x20','body','read','22902MNKOTP','/client/artifact/create','add','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','detail','@ant-design/icons'];a10_0x3927=function(){return _0x49ae92;};return a10_0x3927();}function readSourceFile(_0x55f681){const _0x1424d9=a10_0x3f3fc7;if(!_0x55f681)throw CliErrors[_0x1424d9(0x1c7)](_0x1424d9(0x18d));if(!existsSync(_0x55f681))throw CliErrors['validation'](_0x1424d9(0x1a6)+_0x55f681);if(!statSync(_0x55f681)['isFile']())throw CliErrors['validation'](_0x1424d9(0x18a)+_0x55f681);const _0x229465=readFileSync(_0x55f681,_0x1424d9(0x1cc));return validateReactModuleSource(_0x229465),_0x229465;}function parseMetadata(_0x579533){const _0x5d234f=a10_0x3f3fc7;if(!_0x579533)return undefined;let _0xacadc6;try{_0xacadc6=JSON[_0x5d234f(0x1a3)](_0x579533);}catch{throw CliErrors[_0x5d234f(0x1c7)](_0x5d234f(0x198)+_0x579533);}if(!isPlainObject(_0xacadc6))throw CliErrors[_0x5d234f(0x1c7)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x5318c6={..._0xacadc6};return delete _0x5318c6['compiledContent'],_0x5318c6;}function getPackageName(_0x3da224){const _0x5be456=a10_0x3f3fc7;if(_0x3da224['startsWith']('@')){const [_0x1a8465,_0x4904c8]=_0x3da224[_0x5be456(0x1b2)]('/');return _0x1a8465&&_0x4904c8?_0x1a8465+'/'+_0x4904c8:_0x3da224;}return _0x3da224['split']('/')[0x0]||_0x3da224;}function validateAllowedImports(_0x4bd2d5){const _0x30f9de=a10_0x3f3fc7,_0x185721=new Set();for(const _0x55e1d9 of IMPORT_SOURCE_PATTERNS){_0x55e1d9[_0x30f9de(0x1c9)]=0x0;let _0x325c5f;while((_0x325c5f=_0x55e1d9['exec'](_0x4bd2d5))!==null){const _0x127094=_0x325c5f[0x1]?.[_0x30f9de(0x1c5)]();_0x127094&&_0x185721[_0x30f9de(0x1c0)](_0x127094);}}const _0x1226f2=[..._0x185721][_0x30f9de(0x1a4)](getPackageName)[_0x30f9de(0x1a9)](_0x1db3e2=>!ALLOWED_REACT_MODULE_IMPORTS[_0x30f9de(0x19d)](_0x1db3e2));if(_0x1226f2[_0x30f9de(0x189)]>0x0)throw CliErrors['validation'](_0x30f9de(0x1ab)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x30f9de(0x1bb)+[...new Set(_0x1226f2)][_0x30f9de(0x194)](',\x20'));}export function validateReactModuleSource(_0x4d0008){const _0x24360f=a10_0x3f3fc7;if(!_0x4d0008[_0x24360f(0x1c5)]())throw CliErrors[_0x24360f(0x1c7)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x24360f(0x181)](_0x137022=>_0x137022[_0x24360f(0x1ca)](_0x4d0008)))throw CliErrors[_0x24360f(0x1c7)](_0x24360f(0x1aa));validateAllowedImports(_0x4d0008);}function buildArtifactInput(_0x41ce5d){const _0x1581f6=a10_0x3f3fc7,_0x462c64=readSourceFile(_0x41ce5d['str'](_0x1581f6(0x1b8))),_0x4dc922=_0x41ce5d[_0x1581f6(0x1b1)](_0x1581f6(0x187))['trim'](),_0x3a532d=parseMetadata(_0x41ce5d[_0x1581f6(0x1b1)](_0x1581f6(0x19e)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4dc922?{'name':_0x4dc922}:{},'content':_0x462c64,..._0x3a532d?{'metadata':_0x3a532d}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0xcace9d){const _0x943175=a10_0x3f3fc7;return{'id':_0xcace9d['id'],'name':_0xcace9d[_0x943175(0x187)],'artifactType':_0xcace9d[_0x943175(0x18c)],'source':_0xcace9d['source'],'favorite':_0xcace9d[_0x943175(0x182)],'deleted':_0xcace9d[_0x943175(0x1cd)],'createTime':_0xcace9d[_0x943175(0x17b)],'updateTime':_0xcace9d[_0x943175(0x19b)]};}function detailArtifact(_0x48de81){const _0x2fb2b7=a10_0x3f3fc7;return{'id':_0x48de81['id'],'appCode':_0x48de81[_0x2fb2b7(0x184)],'name':_0x48de81[_0x2fb2b7(0x187)],'artifactType':_0x48de81[_0x2fb2b7(0x18c)],'source':_0x48de81['source'],'favorite':_0x48de81[_0x2fb2b7(0x182)],'deleted':_0x48de81[_0x2fb2b7(0x1cd)],'content':_0x48de81[_0x2fb2b7(0x19f)]??'','compiledContent':_0x48de81[_0x2fb2b7(0x1a2)],'metadata':_0x48de81['metadata']??{},'createTime':_0x48de81[_0x2fb2b7(0x17b)],'updateTime':_0x48de81[_0x2fb2b7(0x19b)]};}function readFavoriteFlag(_0x5da090){const _0x5db492=a10_0x3f3fc7,_0x5a6ca8=_0x5da090['flag'](_0x5db492(0x182));return _0x5a6ca8===undefined||_0x5a6ca8===null||_0x5a6ca8===''?undefined:_0x5da090['bool'](_0x5db492(0x182));}const artifactList={'service':a10_0x3f3fc7(0x1c4),'command':'list','description':a10_0x3f3fc7(0x197),'risk':'read','flags':[{'name':a10_0x3f3fc7(0x1ad),'type':a10_0x3f3fc7(0x186),'description':a10_0x3f3fc7(0x180)},{'name':'favorite','type':a10_0x3f3fc7(0x1ba),'description':a10_0x3f3fc7(0x17e)},VERBOSE_FLAG],async 'execute'(_0x285670){const _0x96a7ba=a10_0x3f3fc7,_0x460f20=await listRuntimeArtifacts(_0x285670[_0x96a7ba(0x184)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x285670[_0x96a7ba(0x1b1)](_0x96a7ba(0x1ad))?{'source':_0x285670[_0x96a7ba(0x1b1)]('source')}:{},...readFavoriteFlag(_0x285670)!==undefined?{'favorite':readFavoriteFlag(_0x285670)}:{}});return{'ok':!![],'data':{'total':_0x460f20[_0x96a7ba(0x189)],'items':_0x285670[_0x96a7ba(0x1a8)]('verbose')?_0x460f20:_0x460f20['map'](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0x3f3fc7(0x1c2),'description':a10_0x3f3fc7(0x1b0),'risk':a10_0x3f3fc7(0x1bd),'flags':[{...ID_FLAG,'description':a10_0x3f3fc7(0x19c)}],async 'execute'(_0x57a452){const _0x1e1012=a10_0x3f3fc7,_0x5a0abc=await getRuntimeArtifact(_0x57a452['num']('id'),_0x57a452[_0x1e1012(0x184)]);return{'ok':!![],'data':detailArtifact(_0x5a0abc)};}},artifactCreate={'service':a10_0x3f3fc7(0x1c4),'command':a10_0x3f3fc7(0x1b7),'description':a10_0x3f3fc7(0x1c1),'risk':'write','confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3956d0){const _0xeacf7c=a10_0x3f3fc7,_0x19ca0c=buildArtifactInput(_0x3956d0),_0xbfc41f=await createRuntimeArtifact(_0x3956d0[_0xeacf7c(0x184)],_0x19ca0c);return{'ok':!![],'data':detailArtifact(_0xbfc41f),'message':_0xeacf7c(0x1b6)+_0xbfc41f['id']+(_0xbfc41f[_0xeacf7c(0x187)]?'\x20('+_0xbfc41f[_0xeacf7c(0x187)]+')':'')};},async 'dryRun'(_0x488b45){const _0x2f565a=a10_0x3f3fc7,_0x61bda9=buildArtifactInput(_0x488b45);return dryRun(_0x2f565a(0x190),_0x2f565a(0x1bf))[_0x2f565a(0x1bc)]({'appCode':_0x488b45[_0x2f565a(0x184)],..._0x61bda9})['description'](_0x2f565a(0x188))['build']();},'writeEventSubject'(_0x473653){const _0x32dfd3=a10_0x3f3fc7,_0x3fe771=_0x473653[_0x32dfd3(0x191)]?.['id'];if(typeof _0x3fe771!==_0x32dfd3(0x186)&&typeof _0x3fe771!==_0x32dfd3(0x1c6))return undefined;return{'kind':'artifact','id':String(_0x3fe771),'action':_0x32dfd3(0x1b7)};}},artifactUpdate={'service':a10_0x3f3fc7(0x1c4),'command':a10_0x3f3fc7(0x196),'description':a10_0x3f3fc7(0x1ae),'risk':a10_0x3f3fc7(0x1ac),'confirmationDescription':a10_0x3f3fc7(0x17c),'flags':[{...ID_FLAG,'description':a10_0x3f3fc7(0x19c)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x137dad){const _0xc09d5d=a10_0x3f3fc7,_0x5d6d3c=_0x137dad['num']('id'),_0xf729fb=buildArtifactInput(_0x137dad),_0x9d90ad=await updateRuntimeArtifact(_0x5d6d3c,_0x137dad['appCode'],_0xf729fb);return{'ok':!![],'data':detailArtifact(_0x9d90ad),'message':_0xc09d5d(0x1b3)+_0x9d90ad['id']+(_0x9d90ad[_0xc09d5d(0x187)]?'\x20('+_0x9d90ad['name']+')':'')};},async 'dryRun'(_0x4455f3){const _0x10cf5d=a10_0x3f3fc7,_0x302b06=_0x4455f3[_0x10cf5d(0x1b4)]('id'),_0x351fa3=buildArtifactInput(_0x4455f3);return dryRun(_0x10cf5d(0x190),'/client/artifact/'+_0x302b06+'/update')[_0x10cf5d(0x1bc)]({'appCode':_0x4455f3['appCode'],..._0x351fa3})[_0x10cf5d(0x1c8)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x302b06)[_0x10cf5d(0x1b9)]();},'writeEventSubject'(_0x1d57c7){const _0x48a455=a10_0x3f3fc7,_0x3b3d15=_0x1d57c7[_0x48a455(0x191)]?.['id'];if(typeof _0x3b3d15!=='string'&&typeof _0x3b3d15!==_0x48a455(0x1c6))return undefined;return{'kind':'artifact','id':String(_0x3b3d15),'action':_0x48a455(0x196)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x71faa0=a10_0x2b0c;(function(_0x57027c,_0x43f27f){const _0x5ce3d4=a10_0x2b0c,_0x4f1c7f=_0x57027c();while(!![]){try{const _0x1db73a=-parseInt(_0x5ce3d4(0x1a0))/0x1*(-parseInt(_0x5ce3d4(0x186))/0x2)+-parseInt(_0x5ce3d4(0x191))/0x3+parseInt(_0x5ce3d4(0x1ac))/0x4+-parseInt(_0x5ce3d4(0x19d))/0x5*(parseInt(_0x5ce3d4(0x190))/0x6)+-parseInt(_0x5ce3d4(0x17e))/0x7*(-parseInt(_0x5ce3d4(0x193))/0x8)+parseInt(_0x5ce3d4(0x187))/0x9+-parseInt(_0x5ce3d4(0x1b1))/0xa*(parseInt(_0x5ce3d4(0x168))/0xb);if(_0x1db73a===_0x43f27f)break;else _0x4f1c7f['push'](_0x4f1c7f['shift']());}catch(_0x44ddd0){_0x4f1c7f['push'](_0x4f1c7f['shift']());}}}(a10_0x29e5,0x400f4));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x71faa0(0x194),ARTIFACT_SOURCE_AGENT=a10_0x71faa0(0x1b7),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x71faa0(0x199),a10_0x71faa0(0x1ab),'lodash',a10_0x71faa0(0x16e),a10_0x71faa0(0x172),a10_0x71faa0(0x16d)];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_0x71faa0(0x182),'type':a10_0x71faa0(0x1a1),'required':!![],'description':a10_0x71faa0(0x17d)},ARTIFACT_NAME_FLAG={'name':a10_0x71faa0(0x1af),'type':'string','description':a10_0x71faa0(0x170)},METADATA_FLAG={'name':a10_0x71faa0(0x18d),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x173)};function isPlainObject(_0x305f31){const _0x9f13dc=a10_0x71faa0;return typeof _0x305f31==='object'&&_0x305f31!==null&&!Array[_0x9f13dc(0x198)](_0x305f31);}function a10_0x2b0c(_0x5eda75,_0x1c7347){_0x5eda75=_0x5eda75-0x166;const _0x29e50e=a10_0x29e5();let _0x2b0c2e=_0x29e50e[_0x5eda75];return _0x2b0c2e;}function readSourceFile(_0x26955a){const _0x48b8fa=a10_0x71faa0;if(!_0x26955a)throw CliErrors['validation'](_0x48b8fa(0x1a4));if(!existsSync(_0x26955a))throw CliErrors['validation'](_0x48b8fa(0x18b)+_0x26955a);if(!statSync(_0x26955a)[_0x48b8fa(0x1b5)]())throw CliErrors[_0x48b8fa(0x16a)](_0x48b8fa(0x1a5)+_0x26955a);const _0x382449=readFileSync(_0x26955a,_0x48b8fa(0x166));return validateReactModuleSource(_0x382449),_0x382449;}function parseMetadata(_0x3940d1){const _0x3aa9a1=a10_0x71faa0;if(!_0x3940d1)return undefined;let _0xdd56e0;try{_0xdd56e0=JSON['parse'](_0x3940d1);}catch{throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x195)+_0x3940d1);}if(!isPlainObject(_0xdd56e0))throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x1b4));const _0xb58c08={..._0xdd56e0};return delete _0xb58c08['compiledContent'],_0xb58c08;}function getPackageName(_0x1e0beb){if(_0x1e0beb['startsWith']('@')){const [_0x49b203,_0x38dae2]=_0x1e0beb['split']('/');return _0x49b203&&_0x38dae2?_0x49b203+'/'+_0x38dae2:_0x1e0beb;}return _0x1e0beb['split']('/')[0x0]||_0x1e0beb;}function validateAllowedImports(_0x2e6120){const _0x37a5cc=a10_0x71faa0,_0x55193f=new Set();for(const _0x518145 of IMPORT_SOURCE_PATTERNS){_0x518145[_0x37a5cc(0x17a)]=0x0;let _0x4093ff;while((_0x4093ff=_0x518145['exec'](_0x2e6120))!==null){const _0xed602f=_0x4093ff[0x1]?.[_0x37a5cc(0x18f)]();_0xed602f&&_0x55193f[_0x37a5cc(0x1a8)](_0xed602f);}}const _0x5ae2f8=[..._0x55193f][_0x37a5cc(0x185)](getPackageName)[_0x37a5cc(0x179)](_0x4a5c3c=>!ALLOWED_REACT_MODULE_IMPORTS[_0x37a5cc(0x174)](_0x4a5c3c));if(_0x5ae2f8['length']>0x0)throw CliErrors[_0x37a5cc(0x16a)](_0x37a5cc(0x181)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x37a5cc(0x1b2)+[...new Set(_0x5ae2f8)][_0x37a5cc(0x1a7)](',\x20'));}function a10_0x29e5(){const _0x1bb6e2=['Show\x20one\x20Artifact\x20by\x20id','@ant-design/icons','dayjs','/update','Artifact\x20display\x20name','Optional\x20favorite-state\x20filter','antd','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','includes','deleted','bool','detail','createTime','filter','lastIndex','create','boolean','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','35pQwFqk','some','read','react_module\x20imports\x20are\x20limited\x20to:\x20','file','artifactType','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','map','16XliAMD','1113543HaKANx','Updated\x20Artifact\x20','list','List\x20current-app\x20react_module\x20Artifacts','File\x20not\x20found:\x20','length','metadata','artifact','trim','66162QeqPYN','576318MYsqDA','data','626440ZKoOiJ','react_module','Invalid\x20JSON\x20for\x20--metadata:\x20','source','Created\x20Artifact\x20','isArray','react','favorite','Preview:\x20update\x20react_module\x20Artifact\x20','description','155dgbaIX','num','/client/artifact/','38041PjXfTd','string','test','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','number','join','add','body','appCode','react-dom','1350304tXwKMt','POST','updateTime','name','str','42450veZvPm','.\x20Unsupported:\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','isFile','flag','AGENT','verbose','Artifact\x20source\x20file\x20is\x20blank.','utf8','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','935DlMZFl','Artifact\x20ID','validation','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file'];a10_0x29e5=function(){return _0x1bb6e2;};return a10_0x29e5();}export function validateReactModuleSource(_0x17e384){const _0x5f3183=a10_0x71faa0;if(!_0x17e384['trim']())throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b9));if(PAGE_LEVEL_PATTERNS[_0x5f3183(0x17f)](_0x482ce7=>_0x482ce7[_0x5f3183(0x1a2)](_0x17e384)))throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b3));validateAllowedImports(_0x17e384);}function buildArtifactInput(_0x2df782){const _0x57add8=a10_0x71faa0,_0x500eb0=readSourceFile(_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x182))),_0x47a9df=_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x1af))[_0x57add8(0x18f)](),_0x2ed36a=parseMetadata(_0x2df782[_0x57add8(0x1b0)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x47a9df?{'name':_0x47a9df}:{},'content':_0x500eb0,..._0x2ed36a?{'metadata':_0x2ed36a}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x515418){const _0x1db55e=a10_0x71faa0;return{'id':_0x515418['id'],'name':_0x515418['name'],'artifactType':_0x515418['artifactType'],'source':_0x515418[_0x1db55e(0x196)],'favorite':_0x515418[_0x1db55e(0x19a)],'deleted':_0x515418[_0x1db55e(0x175)],'createTime':_0x515418[_0x1db55e(0x178)],'updateTime':_0x515418['updateTime']};}function detailArtifact(_0x2d959c){const _0x596f72=a10_0x71faa0;return{'id':_0x2d959c['id'],'appCode':_0x2d959c[_0x596f72(0x1aa)],'name':_0x2d959c['name'],'artifactType':_0x2d959c[_0x596f72(0x183)],'source':_0x2d959c['source'],'favorite':_0x2d959c['favorite'],'deleted':_0x2d959c['deleted'],'content':_0x2d959c['content']??'','compiledContent':_0x2d959c['compiledContent'],'metadata':_0x2d959c[_0x596f72(0x18d)]??{},'createTime':_0x2d959c[_0x596f72(0x178)],'updateTime':_0x2d959c[_0x596f72(0x1ae)]};}function readFavoriteFlag(_0x3ca80b){const _0x49abea=a10_0x71faa0,_0x1fc19d=_0x3ca80b[_0x49abea(0x1b6)](_0x49abea(0x19a));return _0x1fc19d===undefined||_0x1fc19d===null||_0x1fc19d===''?undefined:_0x3ca80b[_0x49abea(0x176)](_0x49abea(0x19a));}const artifactList={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x189),'description':a10_0x71faa0(0x18a),'risk':a10_0x71faa0(0x180),'flags':[{'name':a10_0x71faa0(0x196),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x184)},{'name':a10_0x71faa0(0x19a),'type':a10_0x71faa0(0x17c),'description':a10_0x71faa0(0x171)},VERBOSE_FLAG],async 'execute'(_0x2809a2){const _0x4cf866=a10_0x71faa0,_0x396d2a=await listRuntimeArtifacts(_0x2809a2[_0x4cf866(0x1aa)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2809a2['str'](_0x4cf866(0x196))?{'source':_0x2809a2[_0x4cf866(0x1b0)](_0x4cf866(0x196))}:{},...readFavoriteFlag(_0x2809a2)!==undefined?{'favorite':readFavoriteFlag(_0x2809a2)}:{}});return{'ok':!![],'data':{'total':_0x396d2a[_0x4cf866(0x18c)],'items':_0x2809a2[_0x4cf866(0x176)](_0x4cf866(0x1b8))?_0x396d2a:_0x396d2a['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x177),'description':a10_0x71faa0(0x16c),'risk':a10_0x71faa0(0x180),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x4bd93d){const _0xf53b33=a10_0x71faa0,_0x20cb33=await getRuntimeArtifact(_0x4bd93d[_0xf53b33(0x19e)]('id'),_0x4bd93d[_0xf53b33(0x1aa)]);return{'ok':!![],'data':detailArtifact(_0x20cb33)};}},artifactCreate={'service':'artifact','command':a10_0x71faa0(0x17b),'description':a10_0x71faa0(0x16b),'risk':'write','confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x583fde){const _0x142258=a10_0x71faa0,_0x21da9e=buildArtifactInput(_0x583fde),_0x1031cc=await createRuntimeArtifact(_0x583fde[_0x142258(0x1aa)],_0x21da9e);return{'ok':!![],'data':detailArtifact(_0x1031cc),'message':_0x142258(0x197)+_0x1031cc['id']+(_0x1031cc[_0x142258(0x1af)]?'\x20('+_0x1031cc[_0x142258(0x1af)]+')':'')};},async 'dryRun'(_0x242434){const _0x3e0c52=a10_0x71faa0,_0x4611aa=buildArtifactInput(_0x242434);return dryRun(_0x3e0c52(0x1ad),'/client/artifact/create')[_0x3e0c52(0x1a9)]({'appCode':_0x242434['appCode'],..._0x4611aa})[_0x3e0c52(0x19c)]('Preview:\x20create\x20react_module\x20Artifact')['build']();},'writeEventSubject'(_0x3f5eb7){const _0x16cc41=a10_0x71faa0,_0x10d992=_0x3f5eb7['data']?.['id'];if(typeof _0x10d992!==_0x16cc41(0x1a1)&&typeof _0x10d992!==_0x16cc41(0x1a6))return undefined;return{'kind':_0x16cc41(0x18e),'id':String(_0x10d992),'action':_0x16cc41(0x17b)};}},artifactUpdate={'service':a10_0x71faa0(0x18e),'command':'update','description':a10_0x71faa0(0x167),'risk':'write','confirmationDescription':a10_0x71faa0(0x1a3),'flags':[{...ID_FLAG,'description':a10_0x71faa0(0x169)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xbee952){const _0x53aff2=a10_0x71faa0,_0x111d50=_0xbee952['num']('id'),_0x3837db=buildArtifactInput(_0xbee952),_0x3e0b57=await updateRuntimeArtifact(_0x111d50,_0xbee952['appCode'],_0x3837db);return{'ok':!![],'data':detailArtifact(_0x3e0b57),'message':_0x53aff2(0x188)+_0x3e0b57['id']+(_0x3e0b57[_0x53aff2(0x1af)]?'\x20('+_0x3e0b57[_0x53aff2(0x1af)]+')':'')};},async 'dryRun'(_0x3a0ad4){const _0x3274aa=a10_0x71faa0,_0x487962=_0x3a0ad4[_0x3274aa(0x19e)]('id'),_0x540bc4=buildArtifactInput(_0x3a0ad4);return dryRun('POST',_0x3274aa(0x19f)+_0x487962+_0x3274aa(0x16f))[_0x3274aa(0x1a9)]({'appCode':_0x3a0ad4[_0x3274aa(0x1aa)],..._0x540bc4})['description'](_0x3274aa(0x19b)+_0x487962)['build']();},'writeEventSubject'(_0x3cbedc){const _0x414fd4=a10_0x71faa0,_0x56607d=_0x3cbedc[_0x414fd4(0x192)]?.['id'];if(typeof _0x56607d!=='string'&&typeof _0x56607d!==_0x414fd4(0x1a6))return undefined;return{'kind':_0x414fd4(0x18e),'id':String(_0x56607d),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x706c26=a11_0x4ab3;(function(_0x30d8cb,_0x4a1b1f){const _0x25089a=a11_0x4ab3,_0x3a4925=_0x30d8cb();while(!![]){try{const _0x234773=parseInt(_0x25089a(0xd8))/0x1+-parseInt(_0x25089a(0xcd))/0x2+-parseInt(_0x25089a(0xb6))/0x3*(parseInt(_0x25089a(0xb3))/0x4)+-parseInt(_0x25089a(0xad))/0x5+-parseInt(_0x25089a(0xb8))/0x6*(-parseInt(_0x25089a(0xca))/0x7)+parseInt(_0x25089a(0xee))/0x8+parseInt(_0x25089a(0xaf))/0x9;if(_0x234773===_0x4a1b1f)break;else _0x3a4925['push'](_0x3a4925['shift']());}catch(_0x40338b){_0x3a4925['push'](_0x3a4925['shift']());}}}(a11_0xe5a6,0x7b56a));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(_0x564dbb){const _0x24f00b=a11_0x4ab3;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x564dbb[_0x24f00b(0xc5)](_0x24f00b(0xdd)),'explicitProject':_0x564dbb[_0x24f00b(0xc5)]('project'),'policy':_0x24f00b(0xd1)}));}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;function a11_0x4ab3(_0x3a1b9e,_0x392570){_0x3a1b9e=_0x3a1b9e-0xa4;const _0xe5a6bc=a11_0xe5a6();let _0x4ab34e=_0xe5a6bc[_0x3a1b9e];return _0x4ab34e;}export function generateDeviceCode(){return crypto['randomUUID']();}function a11_0xe5a6(){const _0x147a45=['padStart','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','auth','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','toISOString','device','str','bool','\x20remaining','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','/api/device-auth/token','Write\x20to\x20project\x20config','7LzJLkw','stderr','&source=','928858CDcnkG','Device\x20authorization\x20cancelled.','test','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','global-default','utf8','string','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','source','Invalid\x20access_key\x20returned\x20by\x20server.','application/json','919216ydknTd','removeListener','validation','Write\x20to\x20global\x20config\x20(default)','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','global','signal','abort','boolean','/.device-auth','),\x20retrying...','log','accessKey','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','\x20auth\x20device','json','Device\x20auth\x20API\x20returned\x20HTTP\x20','name','createdAt','\x20config.','SIGINT','stringify','2070008NpaxpP','lovrabet-cli','write','parse','POST','object','apiError','access_key','getTime','After\x20authorizing,\x20re-run:\x20','3924395iMzPdg','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','8080668LUIKJd','/device-auth?code=','cancelled','data','3464PzcuGv','floor','Verify:\x20','1317hRnCRt','project','353142ozOEvW','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.','networkError','scope','status','expired'];a11_0xe5a6=function(){return _0x147a45;};return a11_0xe5a6();}export function buildDeviceAuthUrl(_0x1c2a98,_0x1984a4,_0x27f632=a11_0x706c26(0xa4)){const _0x4e2570=a11_0x706c26;return _0x1c2a98+_0x4e2570(0xb0)+encodeURIComponent(_0x1984a4)+_0x4e2570(0xcc)+encodeURIComponent(_0x27f632);}export function getDeviceCodePath(){const _0x5abb62=a11_0x706c26;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x5abb62(0xe1);}export function readStoredDeviceCode(){const _0x20b3d6=a11_0x706c26,_0x2ff823=getDeviceCodePath();if(!existsSync(_0x2ff823))return null;try{const _0x1b0ee5=readFileSync(_0x2ff823,{'encoding':_0x20b3d6(0xd2)}),_0x58a708=JSON[_0x20b3d6(0xa6)](_0x1b0ee5);if(_0x58a708&&typeof _0x58a708['code']===_0x20b3d6(0xd3)&&typeof _0x58a708[_0x20b3d6(0xea)]==='string'&&(_0x58a708['scope']===_0x20b3d6(0xdd)||_0x58a708[_0x20b3d6(0xbb)]===_0x20b3d6(0xb7)))return _0x58a708;}catch{}return null;}export function writeStoredDeviceCode(_0x36b004,_0x4d4f78){const _0x4849b1=a11_0x706c26,_0x38ac9d=getDeviceCodePath(),_0x1edf34=dirname(_0x38ac9d);!existsSync(_0x1edf34)&&mkdirSync(_0x1edf34,{'recursive':!![]});const _0x580c1d={'code':_0x36b004,'createdAt':new Date()[_0x4849b1(0xc2)](),'scope':_0x4d4f78};writeFileSync(_0x38ac9d,JSON[_0x4849b1(0xed)](_0x580c1d),{'encoding':_0x4849b1(0xd2),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x4c7851=getDeviceCodePath();try{unlinkSync(_0x4c7851);}catch{}}export function isStoredDeviceCodeExpired(_0x1092d4){const _0x393202=a11_0x706c26;return Date['now']()-new Date(_0x1092d4['createdAt'])[_0x393202(0xab)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x465751,_0x5e0c5b){const _0x3a4889=a11_0x706c26,_0x1b9099=_0x465751+_0x3a4889(0xc8),_0x269501=new AbortController(),_0x459636=setTimeout(()=>_0x269501[_0x3a4889(0xdf)](),0x2710),_0x1a7307=await fetch(_0x1b9099,{'method':_0x3a4889(0xa7),'headers':{'Content-Type':_0x3a4889(0xd7)},'body':JSON[_0x3a4889(0xed)]({'code':_0x5e0c5b}),'signal':_0x269501[_0x3a4889(0xde)]});clearTimeout(_0x459636);if(!_0x1a7307['ok'])throw CliErrors[_0x3a4889(0xba)](_0x3a4889(0xe8)+_0x1a7307[_0x3a4889(0xbc)]);const _0x2d3d11=await _0x1a7307[_0x3a4889(0xe7)](),_0x42ffa8=_0x2d3d11['data']&&typeof _0x2d3d11[_0x3a4889(0xb2)]===_0x3a4889(0xa8)?_0x2d3d11[_0x3a4889(0xb2)]:_0x2d3d11;if(!_0x42ffa8||typeof _0x42ffa8['status']!==_0x3a4889(0xd3))throw CliErrors['apiError']('Invalid\x20device\x20auth\x20response');return{'status':_0x42ffa8[_0x3a4889(0xbc)],'access_key':typeof _0x42ffa8[_0x3a4889(0xaa)]==='string'?_0x42ffa8[_0x3a4889(0xaa)]:undefined};}export async function pollDeviceToken(_0x277854,_0x56a1d4,_0x337f0d){const _0x5192e4=a11_0x706c26;let _0x5579bb=0x0;for(let _0x403424=0x0;_0x403424<MAX_POLLS;_0x403424++){if(_0x337f0d['aborted'])throw CliErrors[_0x5192e4(0xb1)]('Device\x20authorization\x20cancelled.');let _0x40a3a8;try{_0x40a3a8=await fetchDeviceToken(_0x277854,_0x56a1d4);}catch(_0x103395){if(_0x103395 instanceof Error&&_0x103395[_0x5192e4(0xe9)]==='AbortError')throw CliErrors[_0x5192e4(0xb1)](_0x5192e4(0xce));_0x5579bb++;if(_0x5579bb>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x5192e4(0xba)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x5579bb+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x5192e4(0xe2)),await sleep(POLL_INTERVAL_MS);continue;}_0x5579bb=0x0;if(_0x40a3a8['status']==='success'){if(!_0x40a3a8['access_key'])throw CliErrors[_0x5192e4(0xa9)](_0x5192e4(0xd6));return _0x40a3a8[_0x5192e4(0xaa)];}if(_0x40a3a8['status']===_0x5192e4(0xbd)){deleteStoredDeviceCode();throw CliErrors['validation'](_0x5192e4(0xd4));}const _0x4f0b88=(_0x403424+0x1)*POLL_INTERVAL_MS,_0x2db84c=DEVICE_CODE_TTL_MS-_0x4f0b88,_0x4b7e3a=Math[_0x5192e4(0xb4)](_0x2db84c/0xea60),_0x2727c4=Math['floor'](_0x2db84c%0xea60/0x3e8);process['stderr']['write']('\x0dWaiting\x20for\x20authorization...\x20'+_0x4b7e3a+':'+String(_0x2727c4)[_0x5192e4(0xbe)](0x2,'0')+_0x5192e4(0xc6)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x5192e4(0xda)](_0x5192e4(0xd0));}function sleep(_0x3e5e24){return new Promise(_0x2671a7=>setTimeout(_0x2671a7,_0x3e5e24));}export const authDeviceDefinition={'service':a11_0x706c26(0xc0),'command':a11_0x706c26(0xc3),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a11_0x706c26(0xa5),'confirmationDescription':a11_0x706c26(0xb9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x706c26(0xdd),'type':a11_0x706c26(0xe0),'description':a11_0x706c26(0xdb),'default':!![]},{'name':a11_0x706c26(0xb7),'type':a11_0x706c26(0xe0),'description':a11_0x706c26(0xc9),'default':![]},{'name':a11_0x706c26(0xd5),'type':'string','description':a11_0x706c26(0xc1),'default':a11_0x706c26(0xa4)},{'name':'url-only','type':a11_0x706c26(0xe0),'description':a11_0x706c26(0xae),'default':![]}],async 'execute'(_0x2c4525){const _0x2b3616=a11_0x706c26,_0x4be90d=resolveAuthScopeFlags(_0x2c4525),_0x4147d5=_0x4be90d[_0x2b3616(0xdd)]?_0x2b3616(0xdd):_0x2b3616(0xb7),_0x54bc28=readScopedConfig(_0x4be90d);if(_0x54bc28[_0x2b3616(0xe4)])return{'ok':!![],'message':_0x2b3616(0xdc)};const _0x4fef75=(_0x2c4525[_0x2b3616(0xc4)](_0x2b3616(0xd5))||_0x2b3616(0xa4))['trim'](),_0x552043=getUserDomain(),_0x29302b=readStoredDeviceCode(),_0xe45a6d=_0x29302b&&!isStoredDeviceCodeExpired(_0x29302b)?_0x29302b['code']:((()=>{const _0x1280ec=generateDeviceCode();return writeStoredDeviceCode(_0x1280ec,_0x4147d5),_0x1280ec;})()),_0x3a183d=buildDeviceAuthUrl(_0x552043,_0xe45a6d,_0x4fef75);if(_0x2c4525[_0x2b3616(0xc5)]('url-only'))return console[_0x2b3616(0xe3)](_0x3a183d),{'ok':!![]};writeCliSideChannelLine(_0x2b3616(0xbf)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3a183d),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x2c4525['nonInteractive'])return writeCliSideChannelLine(_0x2b3616(0xac)+CLI_BIN_NAME+_0x2b3616(0xe6)),{'ok':!![],'message':_0x2b3616(0xe5)};writeCliSideChannelLine(_0x2b3616(0xc7));const _0x41a527=new AbortController(),_0x5109a1=()=>{const _0x3de7b2=_0x2b3616;_0x41a527[_0x3de7b2(0xdf)](),process[_0x3de7b2(0xd9)](_0x3de7b2(0xec),_0x5109a1);};process['once'](_0x2b3616(0xec),_0x5109a1);let _0x4e353d;try{_0x4e353d=await pollDeviceToken(_0x552043,_0xe45a6d,_0x41a527[_0x2b3616(0xde)]);}finally{process[_0x2b3616(0xd9)](_0x2b3616(0xec),_0x5109a1);}if(!ACCESS_KEY_PATTERN[_0x2b3616(0xcf)](_0x4e353d))throw CliErrors[_0x2b3616(0xa9)](_0x2b3616(0xd6));const _0x43d463=readScopedConfig(_0x4be90d);return _0x43d463[_0x2b3616(0xe4)]=_0x4e353d,writeScopedConfig(_0x43d463,_0x4be90d),deleteStoredDeviceCode(),process[_0x2b3616(0xcb)][_0x2b3616(0xa5)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x4147d5+_0x2b3616(0xeb)),writeCliSideChannelLine(_0x2b3616(0xb5)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x1cd5ac=a11_0x57d4;(function(_0x32573b,_0x28846b){const _0x4365c1=a11_0x57d4,_0x43759e=_0x32573b();while(!![]){try{const _0x46dcfb=parseInt(_0x4365c1(0x1e2))/0x1+-parseInt(_0x4365c1(0x1d4))/0x2*(-parseInt(_0x4365c1(0x1e8))/0x3)+-parseInt(_0x4365c1(0x20d))/0x4*(parseInt(_0x4365c1(0x1f0))/0x5)+parseInt(_0x4365c1(0x1e1))/0x6+-parseInt(_0x4365c1(0x214))/0x7+-parseInt(_0x4365c1(0x1f3))/0x8*(-parseInt(_0x4365c1(0x20f))/0x9)+parseInt(_0x4365c1(0x219))/0xa*(-parseInt(_0x4365c1(0x203))/0xb);if(_0x46dcfb===_0x28846b)break;else _0x43759e['push'](_0x43759e['shift']());}catch(_0x42d2ef){_0x43759e['push'](_0x43759e['shift']());}}}(a11_0x2fb1,0x9ca06));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';function a11_0x57d4(_0x21882f,_0x41885d){_0x21882f=_0x21882f-0x1cf;const _0x2fb10a=a11_0x2fb1();let _0x57d4a8=_0x2fb10a[_0x21882f];return _0x57d4a8;}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(_0xc6f08e){const _0x26a270=a11_0x57d4;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0xc6f08e[_0x26a270(0x1ea)]('global'),'explicitProject':_0xc6f08e['bool']('project'),'policy':_0x26a270(0x1e9)}));}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 _0x23a8e6=a11_0x57d4;return crypto[_0x23a8e6(0x1f7)]();}export function buildDeviceAuthUrl(_0x16c19d,_0x375b3d,_0x3747c3=a11_0x1cd5ac(0x212)){const _0x347974=a11_0x1cd5ac;return _0x16c19d+'/device-auth?code='+encodeURIComponent(_0x375b3d)+_0x347974(0x1fa)+encodeURIComponent(_0x3747c3);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x4abd2e=a11_0x1cd5ac,_0x3b1a54=getDeviceCodePath();if(!existsSync(_0x3b1a54))return null;try{const _0x377b84=readFileSync(_0x3b1a54,{'encoding':_0x4abd2e(0x1d5)}),_0x49bf22=JSON[_0x4abd2e(0x1ef)](_0x377b84);if(_0x49bf22&&typeof _0x49bf22[_0x4abd2e(0x1d6)]===_0x4abd2e(0x1fc)&&typeof _0x49bf22[_0x4abd2e(0x217)]===_0x4abd2e(0x1fc)&&(_0x49bf22['scope']===_0x4abd2e(0x1d0)||_0x49bf22['scope']===_0x4abd2e(0x213)))return _0x49bf22;}catch{}return null;}export function writeStoredDeviceCode(_0x2141a7,_0x592cb9){const _0x57af1a=getDeviceCodePath(),_0x299192=dirname(_0x57af1a);!existsSync(_0x299192)&&mkdirSync(_0x299192,{'recursive':!![]});const _0x554e89={'code':_0x2141a7,'createdAt':new Date()['toISOString'](),'scope':_0x592cb9};writeFileSync(_0x57af1a,JSON['stringify'](_0x554e89),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x23f7b3=getDeviceCodePath();try{unlinkSync(_0x23f7b3);}catch{}}export function isStoredDeviceCodeExpired(_0x3372bf){const _0x1b790e=a11_0x1cd5ac;return Date['now']()-new Date(_0x3372bf[_0x1b790e(0x217)])[_0x1b790e(0x1d1)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x2a5df4,_0x3e57d1){const _0x55afcf=a11_0x1cd5ac,_0xa922fa=_0x2a5df4+'/api/device-auth/token',_0x57db7a=new AbortController(),_0x8e1e4=setTimeout(()=>_0x57db7a[_0x55afcf(0x1d2)](),0x2710),_0x5de6ec=await fetch(_0xa922fa,{'method':'POST','headers':{'Content-Type':_0x55afcf(0x1e0)},'body':JSON[_0x55afcf(0x210)]({'code':_0x3e57d1}),'signal':_0x57db7a['signal']});clearTimeout(_0x8e1e4);if(!_0x5de6ec['ok'])throw CliErrors['networkError'](_0x55afcf(0x1ff)+_0x5de6ec[_0x55afcf(0x20e)]);const _0x1a2b31=await _0x5de6ec[_0x55afcf(0x1d9)](),_0x55fe10=_0x1a2b31['data']&&typeof _0x1a2b31['data']==='object'?_0x1a2b31[_0x55afcf(0x211)]:_0x1a2b31;if(!_0x55fe10||typeof _0x55fe10[_0x55afcf(0x20e)]!==_0x55afcf(0x1fc))throw CliErrors['apiError'](_0x55afcf(0x207));return{'status':_0x55fe10['status'],'access_key':typeof _0x55fe10[_0x55afcf(0x20a)]==='string'?_0x55fe10['access_key']:undefined};}export async function pollDeviceToken(_0x56984e,_0x42700e,_0x21f491){const _0x1656ca=a11_0x1cd5ac;let _0x3916db=0x0;for(let _0x17a257=0x0;_0x17a257<MAX_POLLS;_0x17a257++){if(_0x21f491[_0x1656ca(0x208)])throw CliErrors['cancelled'](_0x1656ca(0x1d7));let _0x206786;try{_0x206786=await fetchDeviceToken(_0x56984e,_0x42700e);}catch(_0x54c339){if(_0x54c339 instanceof Error&&_0x54c339['name']===_0x1656ca(0x202))throw CliErrors[_0x1656ca(0x1cf)](_0x1656ca(0x1d7));_0x3916db++;if(_0x3916db>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1656ca(0x204)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x1656ca(0x1f4)+_0x3916db+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1656ca(0x1fe)),await sleep(POLL_INTERVAL_MS);continue;}_0x3916db=0x0;if(_0x206786[_0x1656ca(0x20e)]===_0x1656ca(0x1db)){if(!_0x206786[_0x1656ca(0x20a)])throw CliErrors[_0x1656ca(0x1e4)](_0x1656ca(0x1e3));return _0x206786[_0x1656ca(0x20a)];}if(_0x206786['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x201));}const _0x4d1500=(_0x17a257+0x1)*POLL_INTERVAL_MS,_0x3b6527=DEVICE_CODE_TTL_MS-_0x4d1500,_0x2cec0c=Math[_0x1656ca(0x1d3)](_0x3b6527/0xea60),_0x2a65a2=Math[_0x1656ca(0x1d3)](_0x3b6527%0xea60/0x3e8);process[_0x1656ca(0x1f9)]['write'](_0x1656ca(0x1fd)+_0x2cec0c+':'+String(_0x2a65a2)[_0x1656ca(0x1dc)](0x2,'0')+_0x1656ca(0x1f8)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x1ed));}function sleep(_0x537002){return new Promise(_0x2af941=>setTimeout(_0x2af941,_0x537002));}export const authDeviceDefinition={'service':'auth','command':a11_0x1cd5ac(0x1f5),'description':a11_0x1cd5ac(0x20b),'risk':a11_0x1cd5ac(0x215),'confirmationDescription':a11_0x1cd5ac(0x1f6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1cd5ac(0x1d0),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1da),'default':!![]},{'name':'project','type':a11_0x1cd5ac(0x1df),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x1cd5ac(0x1de),'type':'string','description':a11_0x1cd5ac(0x1f1),'default':a11_0x1cd5ac(0x212)},{'name':a11_0x1cd5ac(0x1e7),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1ec),'default':![]}],async 'execute'(_0x18776c){const _0x6d696a=a11_0x1cd5ac,_0xd8ba66=resolveAuthScopeFlags(_0x18776c),_0x26aaa8=_0xd8ba66[_0x6d696a(0x1d0)]?_0x6d696a(0x1d0):_0x6d696a(0x213),_0x552393=readScopedConfig(_0xd8ba66);if(_0x552393[_0x6d696a(0x216)])return{'ok':!![],'message':_0x6d696a(0x21a)};const _0x20174a=(_0x18776c['str'](_0x6d696a(0x1de))||_0x6d696a(0x212))[_0x6d696a(0x1fb)](),_0x4d1bba=getUserDomain(),_0x248d1a=readStoredDeviceCode(),_0x40d177=_0x248d1a&&!isStoredDeviceCodeExpired(_0x248d1a)?_0x248d1a[_0x6d696a(0x1d6)]:((()=>{const _0x5c6cbf=generateDeviceCode();return writeStoredDeviceCode(_0x5c6cbf,_0x26aaa8),_0x5c6cbf;})()),_0x23f101=buildDeviceAuthUrl(_0x4d1bba,_0x40d177,_0x20174a);if(_0x18776c[_0x6d696a(0x1ea)]('url-only'))return console[_0x6d696a(0x205)](_0x23f101),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x23f101),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x18776c[_0x6d696a(0x1d8)])return writeCliSideChannelLine(_0x6d696a(0x1ee)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x6d696a(0x200)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x18db52=new AbortController(),_0x69186d=()=>{const _0x5ba8fc=_0x6d696a;_0x18db52['abort'](),process[_0x5ba8fc(0x1e6)](_0x5ba8fc(0x218),_0x69186d);};process[_0x6d696a(0x1eb)](_0x6d696a(0x218),_0x69186d);let _0x327b02;try{_0x327b02=await pollDeviceToken(_0x4d1bba,_0x40d177,_0x18db52[_0x6d696a(0x20c)]);}finally{process[_0x6d696a(0x1e6)]('SIGINT',_0x69186d);}if(!ACCESS_KEY_PATTERN['test'](_0x327b02))throw CliErrors['apiError'](_0x6d696a(0x1e3));const _0x32f951=readScopedConfig(_0xd8ba66);return _0x32f951['accessKey']=_0x327b02,writeScopedConfig(_0x32f951,_0xd8ba66),deleteStoredDeviceCode(),process[_0x6d696a(0x1f9)][_0x6d696a(0x215)]('\x0a'),writeCliSideChannelLine(_0x6d696a(0x209)+_0x26aaa8+_0x6d696a(0x1dd)),writeCliSideChannelLine(_0x6d696a(0x206)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x6d696a(0x1f2)};}};function a11_0x2fb1(){const _0x2f5454=['Verify:\x20','Invalid\x20device\x20auth\x20response','aborted','AccessKey\x20saved\x20to\x20','access_key','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','signal','456PEmDlX','status','1530uvNZXK','stringify','data','lovrabet-cli','project','1195635Auzush','write','accessKey','createdAt','SIGINT','141070cepQzx','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','cancelled','global','getTime','abort','floor','2EuOimN','utf8','code','Device\x20authorization\x20cancelled.','nonInteractive','json','Write\x20to\x20global\x20config\x20(default)','success','padStart','\x20config.','source','boolean','application/json','986520QurVUo','1109919Mdmoxz','Invalid\x20access_key\x20returned\x20by\x20server.','apiError','validation','removeListener','url-only','2630691hFuzaR','global-default','bool','once','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','After\x20authorizing,\x20re-run:\x20','parse','23710jbcicN','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Device\x20authorization\x20successful.','4256xCqrTs','Device\x20auth\x20API\x20error\x20(','device','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.','randomUUID','\x20remaining','stderr','&source=','trim','string','\x0dWaiting\x20for\x20authorization...\x20','),\x20retrying...','Device\x20auth\x20API\x20returned\x20HTTP\x20','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','AbortError','693SVaFdY','networkError','log'];a11_0x2fb1=function(){return _0x2f5454;};return a11_0x2fb1();}
|