@lovrabet/lovrabet-cli 2.3.0-beta.3 → 2.3.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
const a0_0x454e98=a0_0x2241;(function(_0x2e2395,_0x1d68dd){const _0x489a6e=a0_0x2241,_0xe05ce4=_0x2e2395();while(!![]){try{const _0x3427bf=parseInt(_0x489a6e(0x1ad))/0x1*(parseInt(_0x489a6e(0x191))/0x2)+-parseInt(_0x489a6e(0x1ac))/0x3+parseInt(_0x489a6e(0x1a6))/0x4*(parseInt(_0x489a6e(0x19c))/0x5)+-parseInt(_0x489a6e(0x1a8))/0x6+parseInt(_0x489a6e(0x192))/0x7*(parseInt(_0x489a6e(0x1b1))/0x8)+parseInt(_0x489a6e(0x1ae))/0x9*(parseInt(_0x489a6e(0x198))/0xa)+-parseInt(_0x489a6e(0x1a9))/0xb*(parseInt(_0x489a6e(0x190))/0xc);if(_0x3427bf===_0x1d68dd)break;else _0xe05ce4['push'](_0xe05ce4['shift']());}catch(_0x23d271){_0xe05ce4['push'](_0xe05ce4['shift']());}}}(a0_0x49f9,0x4acf9));import{jsx as a0_0x3c3eba}from'react/jsx-runtime';import a0_0x45630f from'meow';import{render}from'ink';function a0_0x2241(_0x29ec73,_0x2a7c7b){_0x29ec73=_0x29ec73-0x18f;const _0x49f98a=a0_0x49f9();let _0x224150=_0x49f98a[_0x29ec73];return _0x224150;}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_0x45630f(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x454e98(0x199)](handleError);async function main(){try{await run();}catch(_0x3af1ea){handleError(_0x3af1ea);}}async function run(){const _0x539c36=a0_0x454e98;let _0x486e10=cli[_0x539c36(0x19d)][0x0],_0x47557a=cli[_0x539c36(0x19d)][0x1];const _0x2574f0=cli[_0x539c36(0x1a4)];try{const {correctFlags:_0x5b4dff}=await import(_0x539c36(0x19b)),_0x5e0507=getAllDefinitions()['flatMap'](_0x26a2e5=>_0x26a2e5[_0x539c36(0x1a4)]??[]),{flags:_0x1dab3c,corrections:_0x4b02a8}=_0x5b4dff(_0x2574f0,_0x5e0507);if(_0x4b02a8[_0x539c36(0x1a0)]>0x0){for(const _0x1ca35f of _0x4b02a8){process[_0x539c36(0x1b8)]['write'](_0x539c36(0x1b3)+_0x1ca35f[_0x539c36(0x1af)]+_0x539c36(0x1aa)+_0x1ca35f[_0x539c36(0x1ab)]+_0x539c36(0x1b6)+_0x1ca35f['corrected']+'\x0a');}Object[_0x539c36(0x1b4)](_0x2574f0,_0x1dab3c);}}catch{}if(!_0x486e10){const {waitUntilExit:_0x100029}=render(a0_0x3c3eba(Help,{}));await _0x100029();return;}const _0x4d0808=resolveRemovedCommand(_0x486e10,_0x47557a);if(_0x4d0808)throw CliErrors[_0x539c36(0x1a3)](_0x4d0808[_0x539c36(0x194)],_0x4d0808[_0x539c36(0x19a)]);if(!isKnownService(_0x486e10)){const _0x39be1d=resolveDynamicServiceCommand(cli['input'],_0x2574f0);if(_0x39be1d){if(_0x2574f0[_0x539c36(0x197)]){console['log'](generateCommandHelp(_0x39be1d[_0x539c36(0x18f)]));return;}Object[_0x539c36(0x1b4)](_0x2574f0,_0x39be1d[_0x539c36(0x1a4)]);const _0xcc5e0c=buildConfigFromFlags(_0x2574f0);await initGlobalEnvironment(_0xcc5e0c);const _0x2fc71b=createPipelineEnv(_0xcc5e0c,_0x2574f0);_0x2fc71b['args']=_0x39be1d['args'],await runCommand(_0x39be1d[_0x539c36(0x18f)],_0x2fc71b);return;}if(_0x2574f0[_0x539c36(0x197)]){const _0x552354=generateDynamicServiceHelp(_0x486e10);if(_0x552354){console[_0x539c36(0x19f)](_0x552354);return;}}const {waitUntilExit:_0x54389b}=render(a0_0x3c3eba(Help,{}));await _0x54389b();return;}const _0x3580e8=getServiceEntry(_0x486e10);if(!_0x47557a){if(_0x2574f0['help']){console[_0x539c36(0x19f)](generateServiceHelp(_0x486e10));return;}if(_0x3580e8['defaultCommand'])_0x47557a=_0x3580e8['defaultCommand'];else{console[_0x539c36(0x19f)](generateServiceHelp(_0x486e10));return;}}const _0x3f5645=findDefinition(_0x486e10,_0x47557a);!_0x3f5645&&(console['log'](generateServiceHelp(_0x486e10)),handleError(CliErrors[_0x539c36(0x1b5)](_0x486e10+'\x20'+_0x47557a)));if(_0x2574f0[_0x539c36(0x197)]){console[_0x539c36(0x19f)](generateCommandHelp(_0x3f5645));return;}const _0x30c58c=buildConfigFromFlags(_0x2574f0);await initGlobalEnvironment(_0x30c58c);const _0x4096e6=createPipelineEnv(_0x30c58c,_0x2574f0);_0x4096e6[_0x539c36(0x1a1)]=cli['input'][_0x539c36(0x193)](0x2),await runCommand(_0x3f5645,_0x4096e6);}function handleError(_0xd51778){const _0xc757b8=a0_0x454e98;if(_0xd51778 instanceof CliError){_0xd51778[_0xc757b8(0x1b9)]===_0xc757b8(0x1a5)&&(process['stderr'][_0xc757b8(0x1a2)]('\x0aCancelled.\x0a'),process[_0xc757b8(0x1b0)](0x0));console[_0xc757b8(0x195)]('Error:\x20'+_0xd51778['message']);if(_0xd51778[_0xc757b8(0x19a)])console[_0xc757b8(0x195)](_0xc757b8(0x1a7)+_0xd51778[_0xc757b8(0x19a)]);process[_0xc757b8(0x1b0)](_0xd51778['exitCode']);}isUserCancellation(_0xd51778)&&(process['stderr']['write'](_0xc757b8(0x1b2)),process['exit'](0x0)),console[_0xc757b8(0x195)](_0xc757b8(0x196),_0xd51778),process[_0xc757b8(0x1b0)](0x1);}function a0_0x49f9(){const _0x156119=['write','validation','flags','cancelled','300LPxpNJ','Hint:\x20','621372NdMUrG','30118ezEoDE',':\x20--','original','1439457isdwWt','815enqQHw','27dXegXo','handler','exit','138216vxuLrb','\x0aCancelled.\x0a','[preparse]\x20','assign','unknownCommand','\x20->\x20--','ERR_USE_AFTER_CLOSE','stderr','code','definition','3756zaPoWt','332XqorFX','245jsaZeK','slice','message','error','Unexpected\x20error:','help','1704800rVLiHN','catch','hint','./framework/preparse.js','33025NtOiOe','input','name','log','length','args'];a0_0x49f9=function(){return _0x156119;};return a0_0x49f9();}function isUserCancellation(_0x45f901){const _0x5ba472=a0_0x454e98;if(!(_0x45f901 instanceof Error))return![];if(_0x45f901[_0x5ba472(0x19e)]==='ExitPromptError')return!![];if(_0x45f901[_0x5ba472(0x1b9)]===_0x5ba472(0x1b7))return!![];if(_0x45f901['code']==='ERR_STREAM_DESTROYED')return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x13b218=a1_0x1d57;function a1_0x3c72(){const _0x5dfbd6=['##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','4oFJHgg','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','includes','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','499535vJFoyL','Dataset\x20detail','category','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','length','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','fields/properties\x20describe\x20data\x20shape','appCode','List\x20datasets','api-doc','/api/{appCode}/{datasetCode}/filter','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','2874579SJPptN','837044fuOxhv','string','API\x20doc\x20code\x20not\x20found:\x20','POST','/api/{appCode}/{datasetCode}/aggregate','/api/dataset/get-dataset-list-by-app-code','GET','paging.totalCount\x20gives\x20total\x20rows','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','result\x20rows\x20contain\x20aggregate\x20aliases','custom_sql','dataset_data_get_one','trim','/api/endpoint/{appCode}/{functionName}','Current\x20app\x20code','{\x22param\x22:\x22value\x22}','paging\x20contains\x20pagination','/api/custom/executeSql','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','5482806xBTLuf','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','custom_sql_execute','Execute\x20a\x20BF\x20endpoint\x20function','title','32-character\x20dataset\x20code','list','List\x20available\x20runtime\x20API\x20documentation\x20entries','455774zMTYxl','dataset_data_filter','Create\x20a\x20dataset\x20record','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','6897474pPyXeE','16SfXBKT','Execute\x20BF\x20endpoint\x20function','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','Aggregate\x20dataset\x20data','Filter\x20dataset\x20data','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','/client/bff/endpoint/{appCode}/{functionName}','map','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','{\x22fieldName\x22:\x22value\x22}','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','datasetCode','Get\x20one\x20dataset\x20record','Create\x20dataset\x20record','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','where\x20filters\x20before\x20aggregation','summary','Returns\x20SQL\x20execution\x20payload','/api/{appCode}/{datasetCode}/getOne','dataset','join','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Get\x20BF\x20endpoint\x20function\x20contract','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','dataset_data_create','detail','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Endpoint\x20function\x20name','2664991bsRBYM','##\x20Aggregate\x20dataset\x20data','List\x20datasets\x20with\x20pagination','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','validation','whenToUse','Returns\x20one\x20matching\x20business\x20record','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','path','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','toLowerCase','keyword','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','read','str','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','functionName','filter','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','dataset_detail','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','method','Aggregate\x20dataset\x20records','code','Execute\x20custom\x20SQL','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'];a1_0x3c72=function(){return _0x5dfbd6;};return a1_0x3c72();}(function(_0x221f57,_0x2701a9){const _0x210a5d=a1_0x1d57,_0x42c6e6=_0x221f57();while(!![]){try{const _0xd69775=parseInt(_0x210a5d(0x128))/0x1+-parseInt(_0x210a5d(0x145))/0x2+-parseInt(_0x210a5d(0x127))/0x3*(-parseInt(_0x210a5d(0x116))/0x4)+-parseInt(_0x210a5d(0x11a))/0x5+-parseInt(_0x210a5d(0x13b))/0x6+-parseInt(_0x210a5d(0xf6))/0x7*(parseInt(_0x210a5d(0x14a))/0x8)+parseInt(_0x210a5d(0x149))/0x9;if(_0xd69775===_0x2701a9)break;else _0x42c6e6['push'](_0x42c6e6['shift']());}catch(_0x17a105){_0x42c6e6['push'](_0x42c6e6['shift']());}}}(a1_0x3c72,0x8860a));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x13b218(0x11c),'type':a1_0x13b218(0x129),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x13b218(0x101),'type':'string','description':a1_0x13b218(0x162)},DOC_CODE_FLAG={'name':a1_0x13b218(0x10f),'type':a1_0x13b218(0x129),'required':!![],'description':'API\x20doc\x20code,\x20for\x20example\x20dataset_list'},DOCS=[{'code':'dataset_list','category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x123),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x12d),'summary':a1_0x13b218(0xf8),'whenToUse':a1_0x13b218(0x115),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x13b218(0x12f)],'examples':[a1_0x13b218(0xff)],'notes':['CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.'],'markdown':['##\x20List\x20datasets','',a1_0x13b218(0xfd)]['join']('\x0a')},{'code':a1_0x13b218(0x10a),'category':'dataset','title':a1_0x13b218(0x11b),'method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x13b218(0x10f),'description':a1_0x13b218(0x142)}],'bodySchema':'None','responseHighlights':[a1_0x13b218(0x121),a1_0x13b218(0x152),'operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0x13b218(0x102)],'notes':[a1_0x13b218(0x103)],'markdown':['##\x20Dataset\x20detail','',a1_0x13b218(0x13c)]['join']('\x0a')},{'code':a1_0x13b218(0x146),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x14e),'method':'POST','path':a1_0x13b218(0x125),'summary':'Filter\x20dataset\x20records','whenToUse':a1_0x13b218(0x158),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':['tableData\x20contains\x20records',a1_0x13b218(0x138)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27'],'notes':[a1_0x13b218(0x148),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.',a1_0x13b218(0x10b),a1_0x13b218(0x154)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x13b218(0x130)][a1_0x13b218(0x15f)]('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x14d),'method':'POST','path':a1_0x13b218(0x12c),'summary':a1_0x13b218(0x10e),'whenToUse':a1_0x13b218(0x165),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x13b218(0x131),a1_0x13b218(0x15a)],'examples':[a1_0x13b218(0x13d)],'notes':[a1_0x13b218(0xf9),a1_0x13b218(0x111)],'markdown':[a1_0x13b218(0xf7),'',a1_0x13b218(0x109)]['join']('\x0a')},{'code':a1_0x13b218(0x133),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x156),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x15d),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x13b218(0x11f),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x13b218(0xfc)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x13b218(0x10c)},{'code':a1_0x13b218(0x163),'category':a1_0x13b218(0x15e),'title':a1_0x13b218(0x157),'method':'POST','path':'/api/{appCode}/{datasetCode}/create','summary':a1_0x13b218(0x147),'whenToUse':a1_0x13b218(0x119),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x155),'description':a1_0x13b218(0x142)}],'queryParams':[],'bodySchema':a1_0x13b218(0x153),'responseHighlights':[a1_0x13b218(0x160)],'examples':[a1_0x13b218(0x11d)],'notes':[a1_0x13b218(0x114)],'markdown':a1_0x13b218(0x13e)},{'code':'bf_detail','category':'bf','title':a1_0x13b218(0x161),'method':a1_0x13b218(0x12e),'path':a1_0x13b218(0x150),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':a1_0x13b218(0x13a),'pathParams':[{'name':a1_0x13b218(0x122),'description':a1_0x13b218(0x136)},{'name':a1_0x13b218(0x107),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x13b218(0x120)],'examples':[a1_0x13b218(0x106)],'notes':[a1_0x13b218(0x159)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':'bf_execute','category':'bf','title':a1_0x13b218(0x14b),'method':'POST','path':a1_0x13b218(0x135),'summary':a1_0x13b218(0x140),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x13b218(0x107),'description':a1_0x13b218(0xf5)}],'queryParams':[],'bodySchema':a1_0x13b218(0x137),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x13b218(0x112)],'markdown':a1_0x13b218(0x126)},{'code':a1_0x13b218(0x13f),'category':a1_0x13b218(0x132),'title':a1_0x13b218(0x110),'method':a1_0x13b218(0x12b),'path':a1_0x13b218(0x139),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x13b218(0x14f),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x13b218(0x15c)],'examples':[a1_0x13b218(0x14c)],'notes':[a1_0x13b218(0x117)],'markdown':a1_0x13b218(0x113)}];function entrySummary(_0x2717ef){const _0x3619f4=a1_0x13b218;return{'code':_0x2717ef[_0x3619f4(0x10f)],'category':_0x2717ef[_0x3619f4(0x11c)],'method':_0x2717ef[_0x3619f4(0x10d)],'path':_0x2717ef[_0x3619f4(0xfe)],'summary':_0x2717ef[_0x3619f4(0x15b)],'whenToUse':_0x2717ef[_0x3619f4(0xfb)]};}function a1_0x1d57(_0x487cfb,_0x3f2b02){_0x487cfb=_0x487cfb-0xf5;const _0x3c72ea=a1_0x3c72();let _0x1d57a4=_0x3c72ea[_0x487cfb];return _0x1d57a4;}export function listApiDocEntries(_0x186b0f={}){const _0x2eee2c=a1_0x13b218,_0xb2d86c=String(_0x186b0f['category']||'')[_0x2eee2c(0x134)](),_0x93d79e=String(_0x186b0f[_0x2eee2c(0x101)]||'')[_0x2eee2c(0x134)]()[_0x2eee2c(0x100)]();return DOCS[_0x2eee2c(0x108)](_0x23d701=>{const _0x4fc1e1=_0x2eee2c;if(_0xb2d86c&&_0x23d701['category']!==_0xb2d86c)return![];if(!_0x93d79e)return!![];return[_0x23d701['code'],_0x23d701['category'],_0x23d701[_0x4fc1e1(0x10d)],_0x23d701[_0x4fc1e1(0xfe)],_0x23d701['summary'],_0x23d701[_0x4fc1e1(0xfb)],_0x23d701[_0x4fc1e1(0x141)]][_0x4fc1e1(0x15f)]('\x20')['toLowerCase']()[_0x4fc1e1(0x118)](_0x93d79e);})[_0x2eee2c(0x151)](entrySummary);}export function getApiDocDetail(_0x25e5a6){const _0x304955=a1_0x13b218,_0x1a0344=DOCS['find'](_0x365cb7=>_0x365cb7['code']===_0x25e5a6);if(!_0x1a0344)throw CliErrors[_0x304955(0xfa)](_0x304955(0x12a)+_0x25e5a6);return{..._0x1a0344};}const apiDocList={'service':a1_0x13b218(0x124),'command':a1_0x13b218(0x143),'description':a1_0x13b218(0x144),'risk':a1_0x13b218(0x104),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xc3652e){const _0x194150=a1_0x13b218,_0x5c711a=listApiDocEntries({'category':_0xc3652e[_0x194150(0x105)](_0x194150(0x11c)),'keyword':_0xc3652e[_0x194150(0x105)](_0x194150(0x101))});return{'ok':!![],'data':{'total':_0x5c711a[_0x194150(0x11e)],'items':_0x5c711a}};}},apiDocDetail={'service':'api-doc','command':a1_0x13b218(0x164),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x2417b5){const _0x209641=a1_0x13b218;return{'ok':!![],'data':getApiDocDetail(_0x2417b5[_0x209641(0x105)](_0x209641(0x10f)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
function a1_0x427a(_0x498246,_0x1f080a){_0x498246=_0x498246-0x163;const _0x559db3=a1_0x559d();let _0x427a0a=_0x559db3[_0x498246];return _0x427a0a;}const a1_0x125201=a1_0x427a;(function(_0xd588d8,_0x55b6c4){const _0x492c6d=a1_0x427a,_0x428653=_0xd588d8();while(!![]){try{const _0x377a6b=parseInt(_0x492c6d(0x1c1))/0x1+parseInt(_0x492c6d(0x18f))/0x2*(-parseInt(_0x492c6d(0x168))/0x3)+parseInt(_0x492c6d(0x1b9))/0x4*(parseInt(_0x492c6d(0x1ad))/0x5)+-parseInt(_0x492c6d(0x1c6))/0x6*(parseInt(_0x492c6d(0x1a0))/0x7)+parseInt(_0x492c6d(0x1bd))/0x8+parseInt(_0x492c6d(0x1c7))/0x9+-parseInt(_0x492c6d(0x1ca))/0xa;if(_0x377a6b===_0x55b6c4)break;else _0x428653['push'](_0x428653['shift']());}catch(_0x3f098b){_0x428653['push'](_0x428653['shift']());}}}(a1_0x559d,0xb80b3));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x125201(0x1b3),'description':a1_0x125201(0x17e)},KEYWORD_FLAG={'name':'keyword','type':a1_0x125201(0x1b3),'description':a1_0x125201(0x172)},DOC_CODE_FLAG={'name':'code','type':a1_0x125201(0x1b3),'required':!![],'description':a1_0x125201(0x1a3)},DOCS=[{'code':a1_0x125201(0x1b8),'category':a1_0x125201(0x1b6),'title':a1_0x125201(0x198),'method':a1_0x125201(0x166),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x125201(0x174),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x125201(0x19c),a1_0x125201(0x1d4)],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x125201(0x1ab)],'markdown':['##\x20List\x20datasets','',a1_0x125201(0x1b4)][a1_0x125201(0x194)]('\x0a')},{'code':'dataset_detail','category':a1_0x125201(0x1b6),'title':a1_0x125201(0x189),'method':a1_0x125201(0x196),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x125201(0x1d1),'whenToUse':a1_0x125201(0x181),'pathParams':[],'queryParams':[{'name':a1_0x125201(0x175),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x125201(0x16a),'responseHighlights':[a1_0x125201(0x1b0),a1_0x125201(0x177),'operations\x20describes\x20runtime\x20APIs'],'examples':[a1_0x125201(0x190)],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':[a1_0x125201(0x199),'',a1_0x125201(0x173)]['join']('\x0a')},{'code':a1_0x125201(0x1cd),'category':'dataset','title':a1_0x125201(0x16d),'method':a1_0x125201(0x166),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x125201(0x185),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','pathParams':[{'name':a1_0x125201(0x16c),'description':a1_0x125201(0x1a9)},{'name':a1_0x125201(0x1d5),'description':a1_0x125201(0x19d)}],'queryParams':[],'bodySchema':a1_0x125201(0x16f),'responseHighlights':['tableData\x20contains\x20records','paging\x20contains\x20pagination'],'examples':[a1_0x125201(0x1d3),a1_0x125201(0x193)],'notes':[a1_0x125201(0x1a2),a1_0x125201(0x1d0),a1_0x125201(0x1c0),a1_0x125201(0x1a4)],'markdown':[a1_0x125201(0x1c3),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0x125201(0x192),'category':a1_0x125201(0x1b6),'title':a1_0x125201(0x1ae),'method':a1_0x125201(0x166),'path':a1_0x125201(0x191),'summary':a1_0x125201(0x17b),'whenToUse':a1_0x125201(0x1b2),'pathParams':[{'name':a1_0x125201(0x16c),'description':a1_0x125201(0x1a9)},{'name':a1_0x125201(0x1d5),'description':a1_0x125201(0x19d)}],'queryParams':[],'bodySchema':'{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','responseHighlights':[a1_0x125201(0x164),a1_0x125201(0x180)],'examples':[a1_0x125201(0x16e)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0x125201(0x1c4),'','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x125201(0x194)]('\x0a')},{'code':a1_0x125201(0x184),'category':a1_0x125201(0x1b6),'title':a1_0x125201(0x1be),'method':a1_0x125201(0x166),'path':a1_0x125201(0x188),'summary':a1_0x125201(0x1be),'whenToUse':a1_0x125201(0x182),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x125201(0x1d5),'description':a1_0x125201(0x19d)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x125201(0x1b1)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':a1_0x125201(0x1cf)},{'code':'dataset_data_create','category':a1_0x125201(0x1b6),'title':a1_0x125201(0x18b),'method':a1_0x125201(0x166),'path':a1_0x125201(0x1ac),'summary':a1_0x125201(0x183),'whenToUse':a1_0x125201(0x1d6),'pathParams':[{'name':'appCode','description':a1_0x125201(0x1a9)},{'name':a1_0x125201(0x1d5),'description':a1_0x125201(0x19d)}],'queryParams':[],'bodySchema':a1_0x125201(0x1bb),'responseHighlights':[a1_0x125201(0x1bf)],'examples':[a1_0x125201(0x1c9)],'notes':[a1_0x125201(0x197)],'markdown':a1_0x125201(0x167)},{'code':a1_0x125201(0x16b),'category':'bf','title':a1_0x125201(0x179),'method':'GET','path':a1_0x125201(0x17d),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':a1_0x125201(0x1af),'pathParams':[{'name':a1_0x125201(0x16c),'description':a1_0x125201(0x1a9)},{'name':a1_0x125201(0x1c8),'description':a1_0x125201(0x19f)}],'queryParams':[],'bodySchema':a1_0x125201(0x16a),'responseHighlights':[a1_0x125201(0x17c)],'examples':[a1_0x125201(0x1a6)],'notes':[a1_0x125201(0x1ce)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':'bf_execute','category':'bf','title':a1_0x125201(0x1cc),'method':a1_0x125201(0x166),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x125201(0x1c2),'whenToUse':a1_0x125201(0x18e),'pathParams':[{'name':a1_0x125201(0x16c),'description':a1_0x125201(0x1a9)},{'name':'functionName','description':a1_0x125201(0x1a1)}],'queryParams':[],'bodySchema':a1_0x125201(0x19b),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x125201(0x186)],'notes':[a1_0x125201(0x17a)],'markdown':a1_0x125201(0x163)},{'code':'custom_sql_execute','category':a1_0x125201(0x178),'title':'Execute\x20custom\x20SQL','method':a1_0x125201(0x166),'path':a1_0x125201(0x1aa),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x125201(0x1a5),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x125201(0x1c5)],'examples':[a1_0x125201(0x1d2)],'notes':[a1_0x125201(0x17f)],'markdown':a1_0x125201(0x19a)}];function a1_0x559d(){const _0x361806=['Filter\x20dataset\x20records','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','read','/api/{appCode}/{datasetCode}/getOne','Dataset\x20detail','validation','Create\x20dataset\x20record','Show\x20runtime\x20API\x20documentation\x20by\x20code','trim','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','2nuToij','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','/api/{appCode}/{datasetCode}/aggregate','dataset_data_aggregate','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','join','keyword','GET','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','List\x20datasets','##\x20Dataset\x20detail','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','{\x22param\x22:\x22value\x22}','tableData\x20contains\x20dataset\x20id/code/name','32-character\x20dataset\x20code','toLowerCase','Exact\x20endpoint\x20function\x20name','7fihxRW','Endpoint\x20function\x20name','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','str','find','Current\x20app\x20code','/api/custom/executeSql','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','/api/{appCode}/{datasetCode}/create','1180gSFMGm','Aggregate\x20dataset\x20data','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','fields/properties\x20describe\x20data\x20shape','Returns\x20one\x20matching\x20business\x20record','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','string','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','summary','dataset','path','dataset_list','23172PRxvDS','api-doc','{\x22fieldName\x22:\x22value\x22}','length','10644912AwgFMt','Get\x20one\x20dataset\x20record','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','480179NubFTc','Execute\x20a\x20BF\x20endpoint\x20function','##\x20Filter\x20dataset\x20data','##\x20Aggregate\x20dataset\x20data','Returns\x20SQL\x20execution\x20payload','220956FAfSRM','7390422FRzWri','functionName','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','29171970IMnlLs','method','Execute\x20BF\x20endpoint\x20function','dataset_data_filter','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Get\x20dataset\x20detail','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','paging.totalCount\x20gives\x20total\x20rows','datasetCode','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','result\x20rows\x20contain\x20aggregate\x20aliases','whenToUse','POST','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','873699NUDPdR','includes','None','bf_detail','appCode','Filter\x20dataset\x20data','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','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','list','category','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','code','filter','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','custom_sql','Get\x20BF\x20endpoint\x20function\x20contract','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Aggregate\x20dataset\x20records','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','/client/bff/endpoint/{appCode}/{functionName}','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','where\x20filters\x20before\x20aggregation','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','Create\x20a\x20dataset\x20record','dataset_data_get_one'];a1_0x559d=function(){return _0x361806;};return a1_0x559d();}function entrySummary(_0x13a87f){const _0x55be3f=a1_0x125201;return{'code':_0x13a87f['code'],'category':_0x13a87f[_0x55be3f(0x171)],'method':_0x13a87f[_0x55be3f(0x1cb)],'path':_0x13a87f[_0x55be3f(0x1b7)],'summary':_0x13a87f[_0x55be3f(0x1b5)],'whenToUse':_0x13a87f[_0x55be3f(0x165)]};}export function listApiDocEntries(_0x100581={}){const _0x310d82=a1_0x125201,_0x505f2b=String(_0x100581[_0x310d82(0x171)]||'')[_0x310d82(0x18d)](),_0x4c1edf=String(_0x100581[_0x310d82(0x195)]||'')[_0x310d82(0x18d)]()[_0x310d82(0x19e)]();return DOCS[_0x310d82(0x176)](_0x1659f7=>{const _0x50a74b=_0x310d82;if(_0x505f2b&&_0x1659f7[_0x50a74b(0x171)]!==_0x505f2b)return![];if(!_0x4c1edf)return!![];return[_0x1659f7['code'],_0x1659f7[_0x50a74b(0x171)],_0x1659f7['method'],_0x1659f7[_0x50a74b(0x1b7)],_0x1659f7['summary'],_0x1659f7[_0x50a74b(0x165)],_0x1659f7['title']][_0x50a74b(0x194)]('\x20')[_0x50a74b(0x19e)]()[_0x50a74b(0x169)](_0x4c1edf);})['map'](entrySummary);}export function getApiDocDetail(_0x461055){const _0x5ee806=a1_0x125201,_0x4a9106=DOCS[_0x5ee806(0x1a8)](_0x3ea15f=>_0x3ea15f[_0x5ee806(0x175)]===_0x461055);if(!_0x4a9106)throw CliErrors[_0x5ee806(0x18a)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x461055);return{..._0x4a9106};}const apiDocList={'service':'api-doc','command':a1_0x125201(0x170),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x125201(0x187),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x42431d){const _0x40235c=a1_0x125201,_0x740ff3=listApiDocEntries({'category':_0x42431d[_0x40235c(0x1a7)](_0x40235c(0x171)),'keyword':_0x42431d['str'](_0x40235c(0x195))});return{'ok':!![],'data':{'total':_0x740ff3[_0x40235c(0x1bc)],'items':_0x740ff3}};}},apiDocDetail={'service':a1_0x125201(0x1ba),'command':'detail','description':a1_0x125201(0x18c),'risk':a1_0x125201(0x187),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x3a9813){const _0xcbe3ac=a1_0x125201;return{'ok':!![],'data':getApiDocDetail(_0x3a9813[_0xcbe3ac(0x1a7)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e0ee9,_0x519577){const _0x5b62e7=a2_0x3059,_0x4c9676=_0x2e0ee9();while(!![]){try{const _0x3ea2b8=-parseInt(_0x5b62e7(0xcd))/0x1+-parseInt(_0x5b62e7(0xc4))/0x2+-parseInt(_0x5b62e7(0xc8))/0x3+-parseInt(_0x5b62e7(0xd2))/0x4+-parseInt(_0x5b62e7(0xc0))/0x5+-parseInt(_0x5b62e7(0xc3))/0x6*(-parseInt(_0x5b62e7(0xd4))/0x7)+-parseInt(_0x5b62e7(0xd7))/0x8*(-parseInt(_0x5b62e7(0xcb))/0x9);if(_0x3ea2b8===_0x519577)break;else _0x4c9676['push'](_0x4c9676['shift']());}catch(_0x122f2d){_0x4c9676['push'](_0x4c9676['shift']());}}}(a2_0x359b,0x787cf));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function a2_0x359b(){const _0x421e68=['find','stringify','40113IlBKXN','homeDirName','360697tQniYK','EACCES','items','appName','parse','3116164GdHMMz','hex','1608649qBYTQC','.tmp','my-apps.json','3864PmxeNZ','digest','EPERM','slice','code','utf8','406400aeCGou','unknown','trim','18MdWosm','470276QEyLWe','appCode','EXDEV','cache','2677431Ussfes'];a2_0x359b=function(){return _0x421e68;};return a2_0x359b();}export function fingerprintAccessKey(_0xa6aa5){const _0x1ec660=a2_0x3059,_0x3ececb=_0xa6aa5['trim'](),_0x2b1650=_0x3ececb[_0x1ec660(0xda)](-0x6)||_0x1ec660(0xc1),_0x56c8b3=createHash('sha256')['update'](_0x3ececb)[_0x1ec660(0xd8)](_0x1ec660(0xd3))['slice'](0x0,0xc);return'ak_'+_0x2b1650+'_'+_0x56c8b3;}export function getAppCacheFilePath(_0x597923,_0x56cbcd){const _0x3b2c5c=a2_0x3059;return resolve(homedir(),PRODUCT_CONFIG[_0x3b2c5c(0xcc)],_0x3b2c5c(0xc7),_0x597923,fingerprintAccessKey(_0x56cbcd),_0x3b2c5c(0xd6));}function a2_0x3059(_0x288583,_0x272c44){_0x288583=_0x288583-0xbf;const _0x359ba5=a2_0x359b();let _0x3059e5=_0x359ba5[_0x288583];return _0x3059e5;}export function readCachedAppList(_0x452e65,_0x2e8a62){const _0x5b5de2=a2_0x3059;if(!_0x2e8a62?.[_0x5b5de2(0xc2)]())return null;const _0x29bede=getAppCacheFilePath(_0x452e65,_0x2e8a62);if(!existsSync(_0x29bede))return null;try{const _0x474403=readFileSync(_0x29bede,_0x5b5de2(0xbf));if(!_0x474403[_0x5b5de2(0xc2)]())return null;const _0x1eddb2=JSON[_0x5b5de2(0xd1)](_0x474403);if(!Array['isArray'](_0x1eddb2[_0x5b5de2(0xcf)]))return null;return _0x1eddb2;}catch{return null;}}export function writeCachedAppList(_0x56e325,_0x367bf0,_0x258461){const _0x3d2686=a2_0x3059,_0x37e401=getAppCacheFilePath(_0x56e325,_0x367bf0),_0x5124ac=dirname(_0x37e401);!existsSync(_0x5124ac)&&mkdirSync(_0x5124ac,{'recursive':!![]});const _0x313315=_0x37e401+_0x3d2686(0xd5);try{writeFileSync(_0x313315,JSON['stringify'](_0x258461,null,0x2)+'\x0a',{'encoding':_0x3d2686(0xbf),'mode':0x180});try{renameSync(_0x313315,_0x37e401);}catch(_0x182578){if(_0x182578['code']===_0x3d2686(0xd9)||_0x182578[_0x3d2686(0xdb)]===_0x3d2686(0xc6)||_0x182578[_0x3d2686(0xdb)]===_0x3d2686(0xce)){writeFileSync(_0x37e401,JSON[_0x3d2686(0xca)](_0x258461,null,0x2)+'\x0a',{'encoding':'utf8'});try{unlinkSync(_0x313315);}catch{}}else throw _0x182578;}}catch(_0x17f8ab){try{unlinkSync(_0x313315);}catch{}throw _0x17f8ab;}return _0x37e401;}export function resolveCachedAppCode(_0x264bb4,_0x203be3,_0x262be2){const _0x3debe9=a2_0x3059;if(!_0x264bb4)return undefined;const _0x17a885=readCachedAppList(_0x203be3,_0x262be2),_0x4b047e=_0x17a885?.[_0x3debe9(0xcf)][_0x3debe9(0xc9)](_0x15a3ba=>_0x15a3ba[_0x3debe9(0xd0)]===_0x264bb4&&isRuntimeAccessibleApp(_0x15a3ba));return _0x4b047e?.[_0x3debe9(0xc5)]?.[_0x3debe9(0xc2)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x2b7d1f=a3_0xa06f;(function(_0x933bb2,_0x1fff87){const _0x5e6df6=a3_0xa06f,_0x518431=_0x933bb2();while(!![]){try{const _0x128a4f=-parseInt(_0x5e6df6(0xd6))/0x1*(-parseInt(_0x5e6df6(0xd4))/0x2)+-parseInt(_0x5e6df6(0xe3))/0x3+-parseInt(_0x5e6df6(0xbd))/0x4+-parseInt(_0x5e6df6(0xaf))/0x5+-parseInt(_0x5e6df6(0xd9))/0x6*(-parseInt(_0x5e6df6(0xb0))/0x7)+-parseInt(_0x5e6df6(0xbb))/0x8+parseInt(_0x5e6df6(0xd8))/0x9;if(_0x128a4f===_0x1fff87)break;else _0x518431['push'](_0x518431['shift']());}catch(_0x274a08){_0x518431['push'](_0x518431['shift']());}}}(a3_0x21aa,0xdc61b));function a3_0x21aa(){const _0x531b83=['items','enableI18n','fetchedAt','No\x20cached\x20apps\x20found.','3910971NURPiZ','appOwnerName','Filter\x20by\x20environment\x20(default:\x20current\x20env)','appName','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','read','filter','cachePath','accessKey','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','mergedCli','../../commands/app/remote-source.js','name','trim','find','2697020OtZfUf','28196zcZzEG','Refreshed\x20app\x20cache\x20with\x20','Include\x20unpublished\x20apps\x20for\x20diagnostics','langs','nonInteractive','\x20cached\x20app(s)\x20for\x20env=\x22','push','no-cache','str','string','source','11246680VNOYVW','map','1572624MJrDsa','import','entries','list','Read\x20app\x20list\x20from\x20local\x20cache\x20only','cache','write','isCurrent','length','No\x20apps\x20found\x20on\x20the\x20platform.','production','projectPath','boolean','include-unpublished','Target\x20environment\x20(default:\x20current\x20env)','remote','bool','envName','env','../../context.js','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','appPublishStatus','app','240098LEdpIv','pull','4SSHkzb','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','24472683CPvUXj','2004MAvqHO','i18nInfo','local','isArray','appCode','config'];a3_0x21aa=function(){return _0x531b83;};return a3_0x21aa();}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(_0x3bda0a,_0x8f9d4e){const _0x1820eb=a3_0xa06f,_0x3311b2={};for(const _0x537e9f of _0x8f9d4e){const _0x40d096=_0x537e9f['type']===_0x1820eb(0xc9)?_0x3bda0a[_0x1820eb(0xcd)](_0x537e9f[_0x1820eb(0xac)]):_0x3bda0a['str'](_0x537e9f['name']);if(_0x40d096!==''&&_0x40d096!==![])_0x3311b2[_0x537e9f[_0x1820eb(0xac)]]=_0x40d096;}if(_0x3bda0a['nonInteractive'])_0x3311b2[_0x1820eb(0xb4)]=!![];return _0x3311b2;}function normalizeLanguages(_0xaba94d){const _0x424ad5=a3_0xa06f;if(!Array[_0x424ad5(0xdc)](_0xaba94d))return[];return _0xaba94d[_0x424ad5(0xa6)](_0x261c64=>typeof _0x261c64===_0x424ad5(0xb9))['map'](_0x53f4be=>_0x53f4be[_0x424ad5(0xad)]())[_0x424ad5(0xa6)](Boolean);}function buildRemoteAppI18nFields(_0x253b00){const _0x13924a=a3_0xa06f,_0x364890=normalizeLanguages(_0x253b00[_0x13924a(0xda)]?.[_0x13924a(0xb3)]);return{'enableI18n':typeof _0x253b00[_0x13924a(0xe0)]==='boolean'?_0x253b00['enableI18n']:null,'languages':_0x364890,'i18nInfo':_0x253b00['i18nInfo']?{..._0x253b00[_0x13924a(0xda)],'langs':_0x364890[_0x13924a(0xc5)]?_0x364890:null}:null};}const listDef={'service':'app','command':a3_0x2b7d1f(0xc0),'description':a3_0x2b7d1f(0xd7),'risk':a3_0x2b7d1f(0xa5),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x2b7d1f(0xcf),'type':a3_0x2b7d1f(0xb9),'description':a3_0x2b7d1f(0xa2),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2b7d1f(0xdb),'type':a3_0x2b7d1f(0xc9),'description':a3_0x2b7d1f(0xc1),'default':![]},{'name':a3_0x2b7d1f(0xb7),'type':a3_0x2b7d1f(0xc9),'description':a3_0x2b7d1f(0xa4),'default':![]},{'name':a3_0x2b7d1f(0xca),'type':'boolean','description':a3_0x2b7d1f(0xb2),'default':![]}],async 'execute'(_0xf3214d){const _0x23b878=a3_0x2b7d1f,_0x4b0531=_0xf3214d[_0x23b878(0xb8)]('env')||_0xf3214d[_0x23b878(0xce)]||getEnv()||_0x23b878(0xc7),_0x5c5079=_0xf3214d['bool']('local'),_0x69a299=_0xf3214d[_0x23b878(0xcd)](_0x23b878(0xb7)),_0x814863=_0xf3214d[_0x23b878(0xcd)](_0x23b878(0xca)),{readRawConfigWithLayers:_0xfe0aee,resolveDefaultAppSource:_0x18b468,getLocalAppAliases:_0x4ca52b}=await import(_0x23b878(0xd0)),{getRemoteAppList:_0x370e61}=await import('../../commands/app/remote-source.js'),{config:_0x4e772f,layers:_0x10804b}=_0xfe0aee(),_0x2f9820=_0x18b468(_0x10804b),{defaultApp:_0x2f29e0}=_0x4e772f,_0x350ec7=await _0x370e61({'env':_0x4b0531,'accessKey':_0xf3214d['accessKey'],'localOnly':_0x5c5079,'noCache':_0x69a299}),_0x52f6d9=_0x814863?_0x350ec7[_0x23b878(0xdf)]:filterRuntimeAccessibleApps(_0x350ec7[_0x23b878(0xdf)]),_0x41a13a=_0x350ec7[_0x23b878(0xdf)][_0x23b878(0xc5)]-_0x52f6d9[_0x23b878(0xc5)],_0x36b8b4=_0x52f6d9[_0x23b878(0xbc)](_0x31f9df=>{const _0x3e8483=_0x23b878;return{'name':_0x31f9df[_0x3e8483(0xa3)],'appcode':_0x31f9df[_0x3e8483(0xdd)],'named':!![],'definedIn':_0x3e8483(0xcc),'isDefault':_0x31f9df[_0x3e8483(0xa3)]===_0x2f29e0,...buildAppProfileListFields(_0x4b0531),...buildRemoteAppI18nFields(_0x31f9df),'source':_0x350ec7[_0x3e8483(0xba)],'owner':_0x31f9df[_0x3e8483(0xe4)]??null,'status':_0x31f9df[_0x3e8483(0xd2)]??null,'cachedAt':_0x350ec7['fetchedAt']};}),_0x13300b=_0x4ca52b(_0x4e772f);let _0x28dca6=0x0;for(const [_0x507b81,_0x9f036b]of Object[_0x23b878(0xbf)](_0x13300b)){const _0x85043e=typeof _0x9f036b['appcode']===_0x23b878(0xb9)?_0x9f036b['appcode']['trim']():'';if(!_0x85043e)continue;const _0x33412d=findAppByCode(_0x350ec7[_0x23b878(0xdf)],_0x85043e);if(!_0x814863&&_0x33412d&&!isRuntimeAccessibleApp(_0x33412d))continue;_0x28dca6+=0x1,_0x36b8b4[_0x23b878(0xb6)]({'name':_0x507b81,'appcode':_0x85043e,'named':!![],'definedIn':_0x23b878(0xdb),'isDefault':_0x507b81===_0x2f29e0,...buildAppProfileListFields(_0x4b0531),'source':_0x23b878(0xde),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x36b8b4,_0xf3214d[_0x23b878(0xaa)]);const _0x371df3=_0x36b8b4[_0x23b878(0xae)](_0x1aff03=>_0x1aff03[_0x23b878(0xc4)]===!![]),_0x26855d=_0x2f29e0??_0x371df3?.[_0x23b878(0xac)]??null,_0x46bb96={'env':_0x4b0531,'source':_0x350ec7[_0x23b878(0xba)],'fetchedAt':_0x350ec7[_0x23b878(0xe1)],'cachePath':_0x350ec7[_0x23b878(0xa7)],'globalPath':_0x10804b['globalPath']??null,'projectPath':_0x10804b[_0x23b878(0xc8)]??null,'defaultApp':_0x26855d,'defaultAppSource':_0x2f29e0!=null?_0x2f9820:null,'localAliasCount':_0x28dca6,'remoteTotal':_0x350ec7[_0x23b878(0xdf)]['length'],'hiddenUnpublishedCount':_0x41a13a,'includeUnpublished':_0x814863};if(_0x36b8b4['length']===0x0)return{'ok':!![],'data':{'items':_0x36b8b4,'meta':_0x46bb96},'message':_0x350ec7[_0x23b878(0xba)]===_0x23b878(0xc2)?_0x23b878(0xe2):_0x23b878(0xc6)};return{'ok':!![],'data':{'items':_0x36b8b4,'meta':_0x46bb96}};}},pullDef={'service':a3_0x2b7d1f(0xd3),'command':a3_0x2b7d1f(0xd5),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':'write','confirmationDescription':a3_0x2b7d1f(0xd1),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'env','type':a3_0x2b7d1f(0xb9),'description':a3_0x2b7d1f(0xcb),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x2b7d1f(0xdb),'type':a3_0x2b7d1f(0xc9),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x2b7d1f(0xc9),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x2fc6f1){const _0x1fb935=a3_0x2b7d1f,_0x4e9132=_0x2fc6f1[_0x1fb935(0xb8)](_0x1fb935(0xcf))||_0x2fc6f1[_0x1fb935(0xce)]||getEnv()||'production',_0x3c7528=_0x2fc6f1[_0x1fb935(0xcd)]('local'),_0x5884f7=_0x2fc6f1[_0x1fb935(0xcd)](_0x1fb935(0xb7)),{getRemoteAppList:_0x1a062c}=await import(_0x1fb935(0xab)),_0x2224a6=await _0x1a062c({'env':_0x4e9132,'accessKey':_0x2fc6f1[_0x1fb935(0xa8)],'localOnly':_0x3c7528,'noCache':_0x5884f7});return{'ok':!![],'data':{'total':_0x2224a6[_0x1fb935(0xdf)][_0x1fb935(0xc5)],'env':_0x4e9132,'source':_0x2224a6[_0x1fb935(0xba)],'fetchedAt':_0x2224a6['fetchedAt'],'cachePath':_0x2224a6[_0x1fb935(0xa7)]},'message':_0x2224a6[_0x1fb935(0xba)]==='cache'?'Loaded\x20'+_0x2224a6[_0x1fb935(0xdf)]['length']+_0x1fb935(0xb5)+_0x4e9132+'\x22.':_0x1fb935(0xb1)+_0x2224a6[_0x1fb935(0xdf)][_0x1fb935(0xc5)]+'\x20app(s)\x20for\x20env=\x22'+_0x4e9132+'\x22.'};}},importDef={'service':a3_0x2b7d1f(0xd3),'command':a3_0x2b7d1f(0xbe),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x2b7d1f(0xc3),'confirmationDescription':a3_0x2b7d1f(0xa9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x4d3275){return await runAppImport(collectFlags(_0x4d3275,appImportFlagDefs)),{'ok':!![]};}};function a3_0xa06f(_0xdc1d18,_0x5caa67){_0xdc1d18=_0xdc1d18-0xa2;const _0x21aa88=a3_0x21aa();let _0xa06ffa=_0x21aa88[_0xdc1d18];return _0xa06ffa;}export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5347f1,_0x1ed03d){const _0x50238b=a4_0x1262,_0x5f68e0=_0x5347f1();while(!![]){try{const _0x298bba=-parseInt(_0x50238b(0x149))/0x1*(parseInt(_0x50238b(0x152))/0x2)+-parseInt(_0x50238b(0x15a))/0x3+parseInt(_0x50238b(0x157))/0x4+-parseInt(_0x50238b(0x146))/0x5*(-parseInt(_0x50238b(0x154))/0x6)+parseInt(_0x50238b(0x147))/0x7+parseInt(_0x50238b(0x155))/0x8*(-parseInt(_0x50238b(0x15b))/0x9)+-parseInt(_0x50238b(0x159))/0xa*(-parseInt(_0x50238b(0x156))/0xb);if(_0x298bba===_0x1ed03d)break;else _0x5f68e0['push'](_0x5f68e0['shift']());}catch(_0x2c79cf){_0x5f68e0['push'](_0x5f68e0['shift']());}}}(a4_0x46e1,0xd4abc));function a4_0x46e1(){const _0x590c7a=['7164122IctFeD','appCode','253ONPdUk','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','trim','filter','validation','appName','UNKNOWN','find','string','13278LnrQTU','Current\x20status:\x20','3497862LKxiHd','112JuHmzm','112211oxvjoo','2613064ohbywe','appPublishStatus','2190zwxwuE','4636569VkUQqI','255483mzHbme','.\x20Publish\x20the\x20app\x20before\x20using\x20','App\x20','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','toUpperCase','5ZMybXJ'];a4_0x46e1=function(){return _0x590c7a;};return a4_0x46e1();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0xeb97a9){const _0x1ef46a=a4_0x1262;if(typeof _0xeb97a9!==_0x1ef46a(0x151))return null;const _0x48b3eb=_0xeb97a9['trim']();return _0x48b3eb?_0x48b3eb[_0x1ef46a(0x145)]():null;}export function isRuntimeAccessibleApp(_0x45c975){const _0x2de011=a4_0x1262;return normalizeAppPublishStatus(_0x45c975[_0x2de011(0x158)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x5e2efa){const _0x19d90b=a4_0x1262;return _0x5e2efa[_0x19d90b(0x14c)](isRuntimeAccessibleApp);}export function findAppByName(_0xa4189d,_0x34d98c){const _0x3308f3=a4_0x1262;return _0xa4189d[_0x3308f3(0x150)](_0x453b7a=>_0x453b7a[_0x3308f3(0x14e)]===_0x34d98c);}function a4_0x1262(_0x3ea6bf,_0x57c8c7){_0x3ea6bf=_0x3ea6bf-0x144;const _0x46e118=a4_0x46e1();let _0x1262f7=_0x46e118[_0x3ea6bf];return _0x1262f7;}export function findAppByCode(_0x1a164b,_0x3d289e){const _0x5bd70b=a4_0x1262,_0x5e1777=_0x3d289e['trim']();if(!_0x5e1777)return undefined;return _0x1a164b['find'](_0x4a15d2=>_0x4a15d2[_0x5bd70b(0x148)]?.[_0x5bd70b(0x14b)]()===_0x5e1777);}export function runtimeInaccessibleAppError(_0x547525,_0x316423){const _0x25a525=a4_0x1262,_0x320a51=normalizeAppPublishStatus(_0x547525[_0x25a525(0x158)])??_0x25a525(0x14f);return CliErrors[_0x25a525(0x14d)](_0x25a525(0x15d)+_0x316423+_0x25a525(0x14a),_0x25a525(0x153)+_0x320a51+_0x25a525(0x15c)+CLI_BIN_NAME+_0x25a525(0x144));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xf06259,_0x4adad2){const _0x1df92f=a5_0x2050,_0xc17bfd=_0xf06259();while(!![]){try{const _0x2fcbdb=parseInt(_0x1df92f(0x76))/0x1+-parseInt(_0x1df92f(0x73))/0x2*(-parseInt(_0x1df92f(0x75))/0x3)+parseInt(_0x1df92f(0x6d))/0x4+parseInt(_0x1df92f(0x6b))/0x5*(parseInt(_0x1df92f(0x6c))/0x6)+-parseInt(_0x1df92f(0x72))/0x7*(parseInt(_0x1df92f(0x74))/0x8)+parseInt(_0x1df92f(0x78))/0x9+-parseInt(_0x1df92f(0x6f))/0xa*(parseInt(_0x1df92f(0x69))/0xb);if(_0x2fcbdb===_0x4adad2)break;else _0xc17bfd['push'](_0xc17bfd['shift']());}catch(_0x1996f2){_0xc17bfd['push'](_0xc17bfd['shift']());}}}(a5_0x5db2,0x5333b));import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x3f5c1b=a5_0x2050,_0x32bbe2=join(__dirname,_0x3f5c1b(0x70)),_0x1f906e=readFileSync(_0x32bbe2,'utf-8');return JSON[_0x3f5c1b(0x77)](_0x1f906e);}let _cached=null;function a5_0x2050(_0x215ae2,_0x459227){_0x215ae2=_0x215ae2-0x69;const _0x5db2e9=a5_0x5db2();let _0x205056=_0x5db2e9[_0x215ae2];return _0x205056;}function a5_0x5db2(){const _0x1e152e=['386948OuLzgd','8008nTHzJW','3SLlkOh','80353hPbKux','parse','2395710HSxffx','1797620SXQuGc','data','5cpwPpi','1363440thyenk','787724jbnoDg','Mock\x20API\x20error:\x20','30HQthSM','../../../mock/app-list.json','errorCode','931mnsioj'];a5_0x5db2=function(){return _0x1e152e;};return a5_0x5db2();}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x3c80e2=a5_0x2050,_0x595ee9=getMockAppList();if(!_0x595ee9['success'])throw new Error(_0x3c80e2(0x6e)+_0x595ee9['errorMsg']+'\x20('+_0x595ee9[_0x3c80e2(0x71)]+')');return _0x595ee9[_0x3c80e2(0x6a)]['tableData'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xf78dd2,_0x43aca4){const _0x4899e1=a6_0x473b,_0x2e5150=_0xf78dd2();while(!![]){try{const _0x2a111d=-parseInt(_0x4899e1(0x1ad))/0x1+parseInt(_0x4899e1(0x1b5))/0x2*(parseInt(_0x4899e1(0x1b9))/0x3)+-parseInt(_0x4899e1(0x1ac))/0x4+parseInt(_0x4899e1(0x1af))/0x5+parseInt(_0x4899e1(0x1b6))/0x6+parseInt(_0x4899e1(0x1b4))/0x7*(parseInt(_0x4899e1(0x1b1))/0x8)+-parseInt(_0x4899e1(0x1b3))/0x9*(parseInt(_0x4899e1(0x1b8))/0xa);if(_0x2a111d===_0x43aca4)break;else _0x2e5150['push'](_0x2e5150['shift']());}catch(_0x2f8f2f){_0x2e5150['push'](_0x2e5150['shift']());}}}(a6_0x36d4,0x4785b));import{getMyApps}from'../../core/api-client.js';function a6_0x473b(_0x14a593,_0x2584c9){_0x14a593=_0x14a593-0x1ac;const _0x36d4b5=a6_0x36d4();let _0x473b5d=_0x36d4b5[_0x14a593];return _0x473b5d;}import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x1e5ef8=a6_0x473b,_0x4d6468=(productEnv(_0x1e5ef8(0x1ba))||'')[_0x1e5ef8(0x1ae)]()['toLowerCase']();return _0x4d6468==='mock';}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x5d14a1){const _0x568915=a6_0x473b,{env:_0x1ea3c3,accessKey:_0x466ebd,localOnly:localOnly=![],noCache:noCache=![]}=_0x5d14a1,_0x23ad1e=readCachedAppList(_0x1ea3c3,_0x466ebd),_0xfba9f4=_0x466ebd?.[_0x568915(0x1ae)]()?getAppCacheFilePath(_0x1ea3c3,_0x466ebd):null;if(localOnly)return{'items':_0x23ad1e?.['items']??[],'source':_0x568915(0x1b2),'fetchedAt':_0x23ad1e?.[_0x568915(0x1b0)]??null,'cachePath':_0xfba9f4};try{const _0x7b0bc=await getRemoteAppItems(),_0x342238=shouldUseMockRemoteApps()?'mock':_0x568915(0x1bc),_0x12868b=new Date()[_0x568915(0x1bb)](),_0x341162=_0x466ebd?.[_0x568915(0x1ae)]()?writeCachedAppList(_0x1ea3c3,_0x466ebd,{'env':_0x1ea3c3,'fetchedAt':_0x12868b,'source':_0x342238,'items':_0x7b0bc}):null;return{'items':_0x7b0bc,'source':_0x342238,'fetchedAt':_0x12868b,'cachePath':_0x341162};}catch(_0x4d8362){if(!noCache&&_0x23ad1e)return{'items':_0x23ad1e[_0x568915(0x1b7)],'source':_0x568915(0x1b2),'fetchedAt':_0x23ad1e[_0x568915(0x1b0)],'cachePath':_0xfba9f4};throw _0x4d8362;}}function a6_0x36d4(){const _0x294e82=['items','940310CFPjVZ','1314SbkNVs','APP_LIST_SOURCE','toISOString','remote','2016148FHxnoE','237813nVutrG','trim','2917345kEYBUq','fetchedAt','8LJKvuG','cache','36vSRWMz','1460816YOWANO','978cJSduK','2427540IDEFwD'];a6_0x36d4=function(){return _0x294e82;};return a6_0x36d4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5f3d39,_0x534555){const _0x210269=a7_0x17aa,_0x2b0fe2=_0x5f3d39();while(!![]){try{const _0xcafcaa=parseInt(_0x210269(0xd4))/0x1+parseInt(_0x210269(0xd9))/0x2+parseInt(_0x210269(0xce))/0x3+-parseInt(_0x210269(0xd1))/0x4+-parseInt(_0x210269(0xd8))/0x5*(parseInt(_0x210269(0xcd))/0x6)+-parseInt(_0x210269(0xd5))/0x7+parseInt(_0x210269(0xc8))/0x8;if(_0xcafcaa===_0x534555)break;else _0x2b0fe2['push'](_0x2b0fe2['shift']());}catch(_0x4cc2ef){_0x2b0fe2['push'](_0x2b0fe2['shift']());}}}(a7_0x39bc,0x9f8aa));function a7_0x17aa(_0x150ef1,_0x2c042f){_0x150ef1=_0x150ef1-0xc8;const _0x39bc76=a7_0x39bc();let _0x17aa80=_0x39bc76[_0x150ef1];return _0x17aa80;}function a7_0x39bc(){const _0x187952=['2065700wzjJdI','8821912hRWGxX','named','appcode','defaultApp','isCurrent','6AdxHsT','2070927uHutum','definedIn','name','3074512GzqFfA','appCode','trim','39498HrfWfj','1403346srypAV','find','currentApp','6214040SwLcTA'];a7_0x39bc=function(){return _0x187952;};return a7_0x39bc();}export function enrichAppListItemsWithMergedSelection(_0x592578,_0x22c923){const _0x32ea49=a7_0x17aa;if(!_0x22c923)return;const _0x4419c8=!!(_0x22c923[_0x32ea49(0xd7)]??_0x22c923['defaultApp']);for(const _0xf8eaf6 of _0x592578){_0xf8eaf6[_0x32ea49(0xcc)]=![];}const _0x14328e=_0x22c923[_0x32ea49(0xd2)]!=null?String(_0x22c923[_0x32ea49(0xd2)])['trim']():'';if(_0x4419c8){const _0x457b86=_0x22c923['currentApp']??_0x22c923[_0x32ea49(0xcb)];if(_0x457b86){const _0x4537c3=_0x592578[_0x32ea49(0xd6)](_0x4055f2=>_0x4055f2[_0x32ea49(0xc9)]===!![]&&_0x4055f2[_0x32ea49(0xd0)]===_0x457b86&&_0x4055f2[_0x32ea49(0xcf)]==='local'),_0x49b997=_0x4537c3??_0x592578[_0x32ea49(0xd6)](_0x18bb5a=>_0x18bb5a[_0x32ea49(0xc9)]===!![]&&_0x18bb5a[_0x32ea49(0xd0)]===_0x457b86);if(_0x49b997){const _0x20ce92=String(_0x49b997[_0x32ea49(0xca)]??'')[_0x32ea49(0xd3)]();if(!_0x14328e||_0x20ce92===_0x14328e){_0x49b997[_0x32ea49(0xcc)]=!![];return;}}}if(_0x14328e){const _0x243b7a=_0x592578[_0x32ea49(0xd6)](_0xfa42eb=>String(_0xfa42eb[_0x32ea49(0xca)]??'')[_0x32ea49(0xd3)]()===_0x14328e);_0x243b7a&&(_0x243b7a[_0x32ea49(0xcc)]=!![]);}return;}if(!_0x14328e)return;for(const _0x457f14 of _0x592578){String(_0x457f14[_0x32ea49(0xca)]??'')['trim']()===_0x14328e&&(_0x457f14[_0x32ea49(0xcc)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x4ce430=a8_0x4cd5;(function(_0x451f5e,_0x46b117){const _0x3e81da=a8_0x4cd5,_0x362ce1=_0x451f5e();while(!![]){try{const _0x245eb2=parseInt(_0x3e81da(0x16b))/0x1+parseInt(_0x3e81da(0x16a))/0x2*(parseInt(_0x3e81da(0x169))/0x3)+parseInt(_0x3e81da(0x177))/0x4*(-parseInt(_0x3e81da(0x178))/0x5)+-parseInt(_0x3e81da(0x172))/0x6+parseInt(_0x3e81da(0x179))/0x7*(-parseInt(_0x3e81da(0x173))/0x8)+-parseInt(_0x3e81da(0x17b))/0x9*(parseInt(_0x3e81da(0x16c))/0xa)+parseInt(_0x3e81da(0x167))/0xb;if(_0x245eb2===_0x46b117)break;else _0x362ce1['push'](_0x362ce1['shift']());}catch(_0x3656d9){_0x362ce1['push'](_0x362ce1['shift']());}}}(a8_0x52b7,0xa6510));function a8_0x52b7(){const _0x2f43aa=['\x20app-config\x20get\x20<key>','args','read','22264HJoyfy','15yBEuXq','78582UVvgve','key','18zHscee','App\x20config\x20key','18741008DJCxnp','app-config','276513TJpAvM','10ZgpCpz','5719gqycAg','3215820TdihiD','Unable\x20to\x20get\x20app-config\x20value:\x20key=','apiError','Usage:\x20','validation','trim','4166976OwQhnK','96tfcCuZ'];a8_0x52b7=function(){return _0x2f43aa;};return a8_0x52b7();}import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0x4cd5(_0xcb1ba5,_0x124c05){_0xcb1ba5=_0xcb1ba5-0x167;const _0x52b7ad=a8_0x52b7();let _0x4cd552=_0x52b7ad[_0xcb1ba5];return _0x4cd552;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x4ce430(0x168),'command':'get','description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x4ce430(0x176),'args':[{'name':a8_0x4ce430(0x17a),'description':a8_0x4ce430(0x17c),'required':!![]}],'flags':[],async 'execute'(_0x5a7d63){const _0x235452=a8_0x4ce430,_0x251830=_0x5a7d63[_0x235452(0x175)][0x0]?.[_0x235452(0x171)]();if(!_0x251830)throw CliErrors[_0x235452(0x170)]('Missing\x20app-config\x20key.',_0x235452(0x16f)+CLI_BIN_NAME+_0x235452(0x174));try{const _0x4649c0=await getRuntimeAppConfigByKey(_0x5a7d63['appCode'],_0x251830);return{'ok':!![],'data':_0x4649c0};}catch{throw CliErrors[_0x235452(0x16e)](_0x235452(0x16d)+_0x251830+',\x20appCode='+_0x5a7d63['appCode'],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2affcf,_0x5ba441){const _0x1798d1=a9_0xd445,_0x330519=_0x2affcf();while(!![]){try{const _0x47a471=-parseInt(_0x1798d1(0x9f))/0x1+-parseInt(_0x1798d1(0xa3))/0x2*(parseInt(_0x1798d1(0xa2))/0x3)+-parseInt(_0x1798d1(0xa0))/0x4*(parseInt(_0x1798d1(0x9d))/0x5)+parseInt(_0x1798d1(0xa1))/0x6*(parseInt(_0x1798d1(0xa4))/0x7)+-parseInt(_0x1798d1(0x9e))/0x8+parseInt(_0x1798d1(0xa6))/0x9+parseInt(_0x1798d1(0xa5))/0xa;if(_0x47a471===_0x5ba441)break;else _0x330519['push'](_0x330519['shift']());}catch(_0x5e6b9a){_0x330519['push'](_0x330519['shift']());}}}(a9_0x2289,0x8c0a0));function a9_0x2289(){const _0x49e419=['3960131KefLGn','7585860kCtKDo','4625919yvYWQg','10HeELNz','2354184CKXiBO','358090eVkpmA','644636XtEwOb','6yftZVE','11919ryDhjJ','146zMVCHg'];a9_0x2289=function(){return _0x49e419;};return a9_0x2289();}function a9_0xd445(_0x2fbac2,_0x3c65b1){_0x2fbac2=_0x2fbac2-0x9d;const _0x228991=a9_0x2289();let _0xd4450d=_0x228991[_0x2fbac2];return _0xd4450d;}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0xc0e850=a10_0x34be;(function(_0x4cbe4c,_0x2f2c35){const _0x475b5b=a10_0x34be,_0x3f26c6=_0x4cbe4c();while(!![]){try{const _0x3ead5b=-parseInt(_0x475b5b(0x152))/0x1+parseInt(_0x475b5b(0x136))/0x2+parseInt(_0x475b5b(0x147))/0x3+-parseInt(_0x475b5b(0x122))/0x4+-parseInt(_0x475b5b(0x131))/0x5*(-parseInt(_0x475b5b(0x12c))/0x6)+parseInt(_0x475b5b(0x153))/0x7*(-parseInt(_0x475b5b(0x148))/0x8)+-parseInt(_0x475b5b(0x15d))/0x9;if(_0x3ead5b===_0x2f2c35)break;else _0x3f26c6['push'](_0x3f26c6['shift']());}catch(_0x48f518){_0x3f26c6['push'](_0x3f26c6['shift']());}}}(a10_0x34f9,0x528f4));function a10_0x34be(_0x26b740,_0x43bcc6){_0x26b740=_0x26b740-0x113;const _0x34f9a7=a10_0x34f9();let _0x34be6d=_0x34f9a7[_0x26b740];return _0x34be6d;}import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0xc0e850(0x14a),ARTIFACT_SOURCE_AGENT=a10_0xc0e850(0x123),ALLOWED_REACT_MODULE_IMPORTS=[a10_0xc0e850(0x116),'react-dom',a10_0xc0e850(0x11d),a10_0xc0e850(0x160),a10_0xc0e850(0x11f),a10_0xc0e850(0x124)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0xc0e850(0x151)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0xc0e850(0x128),'type':a10_0xc0e850(0x155),'required':!![],'description':'Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file'},ARTIFACT_NAME_FLAG={'name':a10_0xc0e850(0x138),'type':a10_0xc0e850(0x155),'description':a10_0xc0e850(0x146)},METADATA_FLAG={'name':a10_0xc0e850(0x154),'type':a10_0xc0e850(0x155),'description':a10_0xc0e850(0x143)};function isPlainObject(_0x51602e){const _0x2d8ae4=a10_0xc0e850;return typeof _0x51602e===_0x2d8ae4(0x12a)&&_0x51602e!==null&&!Array[_0x2d8ae4(0x120)](_0x51602e);}function readSourceFile(_0xfed638){const _0x2a32a2=a10_0xc0e850;if(!_0xfed638)throw CliErrors[_0x2a32a2(0x119)](_0x2a32a2(0x12e));if(!existsSync(_0xfed638))throw CliErrors[_0x2a32a2(0x119)](_0x2a32a2(0x13e)+_0xfed638);if(!statSync(_0xfed638)['isFile']())throw CliErrors['validation'](_0x2a32a2(0x14d)+_0xfed638);const _0x3b0c10=readFileSync(_0xfed638,_0x2a32a2(0x134));return validateReactModuleSource(_0x3b0c10),_0x3b0c10;}function parseMetadata(_0x27e4d9){const _0x2e6d44=a10_0xc0e850;if(!_0x27e4d9)return undefined;let _0x47a3f4;try{_0x47a3f4=JSON[_0x2e6d44(0x139)](_0x27e4d9);}catch{throw CliErrors[_0x2e6d44(0x119)](_0x2e6d44(0x140)+_0x27e4d9);}if(!isPlainObject(_0x47a3f4))throw CliErrors[_0x2e6d44(0x119)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x333064={..._0x47a3f4};return delete _0x333064[_0x2e6d44(0x11c)],_0x333064;}function getPackageName(_0xac97dd){const _0x328ec9=a10_0xc0e850;if(_0xac97dd[_0x328ec9(0x14e)]('@')){const [_0x4b96f1,_0x1ab3eb]=_0xac97dd[_0x328ec9(0x15c)]('/');return _0x4b96f1&&_0x1ab3eb?_0x4b96f1+'/'+_0x1ab3eb:_0xac97dd;}return _0xac97dd[_0x328ec9(0x15c)]('/')[0x0]||_0xac97dd;}function validateAllowedImports(_0x13d8f8){const _0x109e98=a10_0xc0e850,_0x26df77=new Set();for(const _0x14e472 of IMPORT_SOURCE_PATTERNS){_0x14e472['lastIndex']=0x0;let _0x2782be;while((_0x2782be=_0x14e472[_0x109e98(0x162)](_0x13d8f8))!==null){const _0x2ed6f9=_0x2782be[0x1]?.['trim']();_0x2ed6f9&&_0x26df77[_0x109e98(0x15a)](_0x2ed6f9);}}const _0x53ba0c=[..._0x26df77][_0x109e98(0x15f)](getPackageName)['filter'](_0x4e4a9e=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x4e4a9e));if(_0x53ba0c[_0x109e98(0x12f)]>0x0)throw CliErrors['validation'](_0x109e98(0x11e)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x109e98(0x118)+[...new Set(_0x53ba0c)][_0x109e98(0x151)](',\x20'));}export function validateReactModuleSource(_0x39c3a7){const _0x40ca4d=a10_0xc0e850;if(!_0x39c3a7[_0x40ca4d(0x129)]())throw CliErrors['validation'](_0x40ca4d(0x135));if(PAGE_LEVEL_PATTERNS['some'](_0x228f61=>_0x228f61[_0x40ca4d(0x115)](_0x39c3a7)))throw CliErrors['validation'](_0x40ca4d(0x142));validateAllowedImports(_0x39c3a7);}function buildArtifactInput(_0x3f8e87){const _0x2d053d=a10_0xc0e850,_0x7ed782=readSourceFile(_0x3f8e87[_0x2d053d(0x132)]('file')),_0x1a0863=_0x3f8e87['str']('name')[_0x2d053d(0x129)](),_0x4e90d0=parseMetadata(_0x3f8e87[_0x2d053d(0x132)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1a0863?{'name':_0x1a0863}:{},'content':_0x7ed782,..._0x4e90d0?{'metadata':_0x4e90d0}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x2b315c){const _0x3b911f=a10_0xc0e850;return{'id':_0x2b315c['id'],'name':_0x2b315c['name'],'artifactType':_0x2b315c[_0x3b911f(0x156)],'source':_0x2b315c[_0x3b911f(0x127)],'favorite':_0x2b315c[_0x3b911f(0x15e)],'deleted':_0x2b315c[_0x3b911f(0x13a)],'createTime':_0x2b315c[_0x3b911f(0x126)],'updateTime':_0x2b315c[_0x3b911f(0x141)]};}function detailArtifact(_0x13c6a6){const _0x31591e=a10_0xc0e850;return{'id':_0x13c6a6['id'],'appCode':_0x13c6a6[_0x31591e(0x121)],'name':_0x13c6a6[_0x31591e(0x138)],'artifactType':_0x13c6a6['artifactType'],'source':_0x13c6a6[_0x31591e(0x127)],'favorite':_0x13c6a6['favorite'],'deleted':_0x13c6a6[_0x31591e(0x13a)],'content':_0x13c6a6[_0x31591e(0x13d)]??'','compiledContent':_0x13c6a6[_0x31591e(0x11c)],'metadata':_0x13c6a6[_0x31591e(0x154)]??{},'createTime':_0x13c6a6[_0x31591e(0x126)],'updateTime':_0x13c6a6[_0x31591e(0x141)]};}function readFavoriteFlag(_0x2a2a85){const _0x3b8e43=a10_0xc0e850,_0x2d5f50=_0x2a2a85['flag'](_0x3b8e43(0x15e));return _0x2d5f50===undefined||_0x2d5f50===null||_0x2d5f50===''?undefined:_0x2a2a85[_0x3b8e43(0x150)](_0x3b8e43(0x15e));}const artifactList={'service':a10_0xc0e850(0x13b),'command':'list','description':a10_0xc0e850(0x158),'risk':a10_0xc0e850(0x114),'flags':[{'name':a10_0xc0e850(0x127),'type':a10_0xc0e850(0x155),'description':'Optional\x20source\x20filter,\x20for\x20example\x20AGENT'},{'name':a10_0xc0e850(0x15e),'type':a10_0xc0e850(0x15b),'description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x2b8e7c){const _0x48328e=a10_0xc0e850,_0x37a6e2=await listRuntimeArtifacts(_0x2b8e7c[_0x48328e(0x121)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2b8e7c[_0x48328e(0x132)](_0x48328e(0x127))?{'source':_0x2b8e7c[_0x48328e(0x132)](_0x48328e(0x127))}:{},...readFavoriteFlag(_0x2b8e7c)!==undefined?{'favorite':readFavoriteFlag(_0x2b8e7c)}:{}});return{'ok':!![],'data':{'total':_0x37a6e2[_0x48328e(0x12f)],'items':_0x2b8e7c['bool'](_0x48328e(0x157))?_0x37a6e2:_0x37a6e2[_0x48328e(0x15f)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0xc0e850(0x159),'description':a10_0xc0e850(0x13f),'risk':a10_0xc0e850(0x114),'flags':[{...ID_FLAG,'description':a10_0xc0e850(0x11b)}],async 'execute'(_0x3791ef){const _0x274e66=a10_0xc0e850,_0x74404f=await getRuntimeArtifact(_0x3791ef['num']('id'),_0x3791ef[_0x274e66(0x121)]);return{'ok':!![],'data':detailArtifact(_0x74404f)};}},artifactCreate={'service':a10_0xc0e850(0x13b),'command':'create','description':a10_0xc0e850(0x125),'risk':a10_0xc0e850(0x145),'confirmationDescription':a10_0xc0e850(0x149),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x56a3f6){const _0x526994=a10_0xc0e850,_0x4ab82f=buildArtifactInput(_0x56a3f6),_0x15bf80=await createRuntimeArtifact(_0x56a3f6[_0x526994(0x121)],_0x4ab82f);return{'ok':!![],'data':detailArtifact(_0x15bf80),'message':_0x526994(0x12d)+_0x15bf80['id']+(_0x15bf80['name']?'\x20('+_0x15bf80[_0x526994(0x138)]+')':'')};},async 'dryRun'(_0x1ed59b){const _0x5061c6=a10_0xc0e850,_0x3c384c=buildArtifactInput(_0x1ed59b);return dryRun(_0x5061c6(0x13c),_0x5061c6(0x144))[_0x5061c6(0x14b)]({'appCode':_0x1ed59b[_0x5061c6(0x121)],..._0x3c384c})[_0x5061c6(0x12b)]('Preview:\x20create\x20react_module\x20Artifact')[_0x5061c6(0x113)]();},'writeEventSubject'(_0x23f0a6){const _0x4406e8=a10_0xc0e850,_0x3aecbb=_0x23f0a6[_0x4406e8(0x117)]?.['id'];if(typeof _0x3aecbb!=='string'&&typeof _0x3aecbb!=='number')return undefined;return{'kind':_0x4406e8(0x13b),'id':String(_0x3aecbb),'action':'create'};}},artifactUpdate={'service':a10_0xc0e850(0x13b),'command':a10_0xc0e850(0x14f),'description':a10_0xc0e850(0x130),'risk':a10_0xc0e850(0x145),'confirmationDescription':a10_0xc0e850(0x133),'flags':[{...ID_FLAG,'description':a10_0xc0e850(0x11b)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3660aa){const _0x26b5e1=a10_0xc0e850,_0x385660=_0x3660aa[_0x26b5e1(0x161)]('id'),_0x14d14d=buildArtifactInput(_0x3660aa),_0x24a747=await updateRuntimeArtifact(_0x385660,_0x3660aa[_0x26b5e1(0x121)],_0x14d14d);return{'ok':!![],'data':detailArtifact(_0x24a747),'message':_0x26b5e1(0x11a)+_0x24a747['id']+(_0x24a747[_0x26b5e1(0x138)]?'\x20('+_0x24a747[_0x26b5e1(0x138)]+')':'')};},async 'dryRun'(_0x53c331){const _0x56fa7e=a10_0xc0e850,_0x2d36b4=_0x53c331['num']('id'),_0x5aa778=buildArtifactInput(_0x53c331);return dryRun(_0x56fa7e(0x13c),'/client/artifact/'+_0x2d36b4+_0x56fa7e(0x137))[_0x56fa7e(0x14b)]({'appCode':_0x53c331[_0x56fa7e(0x121)],..._0x5aa778})[_0x56fa7e(0x12b)](_0x56fa7e(0x14c)+_0x2d36b4)[_0x56fa7e(0x113)]();},'writeEventSubject'(_0x289fad){const _0x3a2046=a10_0xc0e850,_0x5b8cf9=_0x289fad[_0x3a2046(0x117)]?.['id'];if(typeof _0x5b8cf9!==_0x3a2046(0x155)&&typeof _0x5b8cf9!=='number')return undefined;return{'kind':_0x3a2046(0x13b),'id':String(_0x5b8cf9),'action':_0x3a2046(0x14f)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];function a10_0x34f9(){const _0x129488=['react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','/client/artifact/create','write','Artifact\x20display\x20name','402162eWjdxQ','1027304AAlMMR','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','react_module','body','Preview:\x20update\x20react_module\x20Artifact\x20','File\x20is\x20not\x20a\x20regular\x20file:\x20','startsWith','update','bool','join','14143VhoBqr','7uxTDzV','metadata','string','artifactType','verbose','List\x20current-app\x20react_module\x20Artifacts','detail','add','boolean','split','2227446ljGfLZ','favorite','map','dayjs','num','exec','build','read','test','react','data','.\x20Unsupported:\x20','validation','Updated\x20Artifact\x20','Artifact\x20ID','compiledContent','lodash','react_module\x20imports\x20are\x20limited\x20to:\x20','antd','isArray','appCode','160176UcEWpb','AGENT','@ant-design/icons','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','createTime','source','file','trim','object','description','2116734SPSuOJ','Created\x20Artifact\x20','File\x20path\x20is\x20required.','length','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','5IskTFe','str','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','utf8','Artifact\x20source\x20file\x20is\x20blank.','562830ZieHWl','/update','name','parse','deleted','artifact','POST','content','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','Invalid\x20JSON\x20for\x20--metadata:\x20','updateTime'];a10_0x34f9=function(){return _0x129488;};return a10_0x34f9();}
|
|
1
|
+
function a10_0x210a(){const _0x22d728=['length','startsWith','num','83325gNcsNJ','artifact','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','/client/artifact/','@ant-design/icons','Artifact\x20ID','file','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','description','str','join','some','File\x20path\x20is\x20required.','build','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','flag','object','--metadata\x20must\x20be\x20a\x20JSON\x20object.','verbose','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','exec','utf8','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','isArray','175RGVadJ','Invalid\x20JSON\x20for\x20--metadata:\x20','filter','compiledContent','artifactType','deleted','lodash','20288BlooBZ','update','number','Preview:\x20create\x20react_module\x20Artifact','parse','/update','appCode','map','test','File\x20is\x20not\x20a\x20regular\x20file:\x20','Show\x20one\x20Artifact\x20by\x20id','Artifact\x20source\x20file\x20is\x20blank.','3672vvkYPc','lastIndex','favorite','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','name','6746cMdKnh','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','write','react','body','read','updateTime','antd','bool','content','create','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','AGENT','87JiGGTc','validation','metadata','Created\x20Artifact\x20','trim','File\x20not\x20found:\x20','Artifact\x20display\x20name','split','source','data','react-dom','23930230hrYnOS','1848852qWdYDm','string','add','86646gkLtCH','4431350dlZQGb','.\x20Unsupported:\x20'];a10_0x210a=function(){return _0x22d728;};return a10_0x210a();}const a10_0x1ee4b8=a10_0x5555;(function(_0xd3826b,_0x1f1eee){const _0x51d6d5=a10_0x5555,_0x25ee18=_0xd3826b();while(!![]){try{const _0x5ddbda=parseInt(_0x51d6d5(0x23e))/0x1*(parseInt(_0x51d6d5(0x231))/0x2)+parseInt(_0x51d6d5(0x201))/0x3+-parseInt(_0x51d6d5(0x1f8))/0x4+-parseInt(_0x51d6d5(0x1fc))/0x5+parseInt(_0x51d6d5(0x1fb))/0x6*(parseInt(_0x51d6d5(0x219))/0x7)+parseInt(_0x51d6d5(0x220))/0x8*(-parseInt(_0x51d6d5(0x22c))/0x9)+parseInt(_0x51d6d5(0x1f7))/0xa;if(_0x5ddbda===_0x1f1eee)break;else _0x25ee18['push'](_0x25ee18['shift']());}catch(_0x4a0ed2){_0x25ee18['push'](_0x25ee18['shift']());}}}(a10_0x210a,0xa8f87));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='react_module',ARTIFACT_SOURCE_AGENT=a10_0x1ee4b8(0x23d),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x1ee4b8(0x234),a10_0x1ee4b8(0x1f6),a10_0x1ee4b8(0x21f),'dayjs',a10_0x1ee4b8(0x238),a10_0x1ee4b8(0x205)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x1ee4b8(0x20b)](',\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_0x1ee4b8(0x207),'type':a10_0x1ee4b8(0x1f9),'required':!![],'description':a10_0x1ee4b8(0x22f)},ARTIFACT_NAME_FLAG={'name':'name','type':a10_0x1ee4b8(0x1f9),'description':a10_0x1ee4b8(0x1f2)},METADATA_FLAG={'name':'metadata','type':a10_0x1ee4b8(0x1f9),'description':a10_0x1ee4b8(0x232)};function isPlainObject(_0x3ceb0e){const _0x108e6e=a10_0x1ee4b8;return typeof _0x3ceb0e===_0x108e6e(0x211)&&_0x3ceb0e!==null&&!Array[_0x108e6e(0x218)](_0x3ceb0e);}function readSourceFile(_0x5c112b){const _0x37c752=a10_0x1ee4b8;if(!_0x5c112b)throw CliErrors[_0x37c752(0x23f)](_0x37c752(0x20d));if(!existsSync(_0x5c112b))throw CliErrors[_0x37c752(0x23f)](_0x37c752(0x243)+_0x5c112b);if(!statSync(_0x5c112b)['isFile']())throw CliErrors[_0x37c752(0x23f)](_0x37c752(0x229)+_0x5c112b);const _0xb9a7ed=readFileSync(_0x5c112b,_0x37c752(0x216));return validateReactModuleSource(_0xb9a7ed),_0xb9a7ed;}function parseMetadata(_0x2de704){const _0x564dc3=a10_0x1ee4b8;if(!_0x2de704)return undefined;let _0xf40d;try{_0xf40d=JSON[_0x564dc3(0x224)](_0x2de704);}catch{throw CliErrors[_0x564dc3(0x23f)](_0x564dc3(0x21a)+_0x2de704);}if(!isPlainObject(_0xf40d))throw CliErrors[_0x564dc3(0x23f)](_0x564dc3(0x212));const _0x46785d={..._0xf40d};return delete _0x46785d[_0x564dc3(0x21c)],_0x46785d;}function getPackageName(_0x10d9c4){const _0x3be6ac=a10_0x1ee4b8;if(_0x10d9c4[_0x3be6ac(0x1ff)]('@')){const [_0x4b1f42,_0x439eb5]=_0x10d9c4['split']('/');return _0x4b1f42&&_0x439eb5?_0x4b1f42+'/'+_0x439eb5:_0x10d9c4;}return _0x10d9c4[_0x3be6ac(0x1f3)]('/')[0x0]||_0x10d9c4;}function validateAllowedImports(_0x4e5847){const _0x313381=a10_0x1ee4b8,_0x21c0ac=new Set();for(const _0x3b4903 of IMPORT_SOURCE_PATTERNS){_0x3b4903[_0x313381(0x22d)]=0x0;let _0x4c1f49;while((_0x4c1f49=_0x3b4903[_0x313381(0x215)](_0x4e5847))!==null){const _0x282d83=_0x4c1f49[0x1]?.[_0x313381(0x242)]();_0x282d83&&_0x21c0ac[_0x313381(0x1fa)](_0x282d83);}}const _0x1865f4=[..._0x21c0ac][_0x313381(0x227)](getPackageName)[_0x313381(0x21b)](_0x102d15=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x102d15));if(_0x1865f4['length']>0x0)throw CliErrors['validation']('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x313381(0x1fd)+[...new Set(_0x1865f4)][_0x313381(0x20b)](',\x20'));}export function validateReactModuleSource(_0x4f027d){const _0xc217ba=a10_0x1ee4b8;if(!_0x4f027d[_0xc217ba(0x242)]())throw CliErrors[_0xc217ba(0x23f)](_0xc217ba(0x22b));if(PAGE_LEVEL_PATTERNS[_0xc217ba(0x20c)](_0x2f2fcd=>_0x2f2fcd[_0xc217ba(0x228)](_0x4f027d)))throw CliErrors[_0xc217ba(0x23f)](_0xc217ba(0x217));validateAllowedImports(_0x4f027d);}function buildArtifactInput(_0x12e87c){const _0x169004=a10_0x1ee4b8,_0x4bec38=readSourceFile(_0x12e87c[_0x169004(0x20a)](_0x169004(0x207))),_0x299852=_0x12e87c[_0x169004(0x20a)]('name')[_0x169004(0x242)](),_0x19fe34=parseMetadata(_0x12e87c[_0x169004(0x20a)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x299852?{'name':_0x299852}:{},'content':_0x4bec38,..._0x19fe34?{'metadata':_0x19fe34}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x1a9a00){const _0xfdc870=a10_0x1ee4b8;return{'id':_0x1a9a00['id'],'name':_0x1a9a00[_0xfdc870(0x230)],'artifactType':_0x1a9a00[_0xfdc870(0x21d)],'source':_0x1a9a00[_0xfdc870(0x1f4)],'favorite':_0x1a9a00[_0xfdc870(0x22e)],'deleted':_0x1a9a00[_0xfdc870(0x21e)],'createTime':_0x1a9a00['createTime'],'updateTime':_0x1a9a00[_0xfdc870(0x237)]};}function a10_0x5555(_0x4a5791,_0x340098){_0x4a5791=_0x4a5791-0x1f2;const _0x210a3a=a10_0x210a();let _0x555523=_0x210a3a[_0x4a5791];return _0x555523;}function detailArtifact(_0x5cd68e){const _0x2ed7e9=a10_0x1ee4b8;return{'id':_0x5cd68e['id'],'appCode':_0x5cd68e['appCode'],'name':_0x5cd68e[_0x2ed7e9(0x230)],'artifactType':_0x5cd68e[_0x2ed7e9(0x21d)],'source':_0x5cd68e[_0x2ed7e9(0x1f4)],'favorite':_0x5cd68e[_0x2ed7e9(0x22e)],'deleted':_0x5cd68e['deleted'],'content':_0x5cd68e[_0x2ed7e9(0x23a)]??'','compiledContent':_0x5cd68e[_0x2ed7e9(0x21c)],'metadata':_0x5cd68e[_0x2ed7e9(0x240)]??{},'createTime':_0x5cd68e['createTime'],'updateTime':_0x5cd68e[_0x2ed7e9(0x237)]};}function readFavoriteFlag(_0x8130ce){const _0x387f15=a10_0x1ee4b8,_0x51ac29=_0x8130ce[_0x387f15(0x210)](_0x387f15(0x22e));return _0x51ac29===undefined||_0x51ac29===null||_0x51ac29===''?undefined:_0x8130ce[_0x387f15(0x239)](_0x387f15(0x22e));}const artifactList={'service':a10_0x1ee4b8(0x202),'command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':a10_0x1ee4b8(0x236),'flags':[{'name':a10_0x1ee4b8(0x1f4),'type':a10_0x1ee4b8(0x1f9),'description':a10_0x1ee4b8(0x214)},{'name':a10_0x1ee4b8(0x22e),'type':'boolean','description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x282320){const _0x66a387=a10_0x1ee4b8,_0x355c96=await listRuntimeArtifacts(_0x282320[_0x66a387(0x226)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x282320[_0x66a387(0x20a)]('source')?{'source':_0x282320['str'](_0x66a387(0x1f4))}:{},...readFavoriteFlag(_0x282320)!==undefined?{'favorite':readFavoriteFlag(_0x282320)}:{}});return{'ok':!![],'data':{'total':_0x355c96[_0x66a387(0x1fe)],'items':_0x282320[_0x66a387(0x239)](_0x66a387(0x213))?_0x355c96:_0x355c96['map'](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':'detail','description':a10_0x1ee4b8(0x22a),'risk':'read','flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x5920bd){const _0x1ff073=a10_0x1ee4b8,_0x1edd3b=await getRuntimeArtifact(_0x5920bd[_0x1ff073(0x200)]('id'),_0x5920bd[_0x1ff073(0x226)]);return{'ok':!![],'data':detailArtifact(_0x1edd3b)};}},artifactCreate={'service':a10_0x1ee4b8(0x202),'command':a10_0x1ee4b8(0x23b),'description':a10_0x1ee4b8(0x23c),'risk':a10_0x1ee4b8(0x233),'confirmationDescription':a10_0x1ee4b8(0x208),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x32cc00){const _0x1f2dfa=a10_0x1ee4b8,_0x2c898a=buildArtifactInput(_0x32cc00),_0x44c74a=await createRuntimeArtifact(_0x32cc00[_0x1f2dfa(0x226)],_0x2c898a);return{'ok':!![],'data':detailArtifact(_0x44c74a),'message':_0x1f2dfa(0x241)+_0x44c74a['id']+(_0x44c74a[_0x1f2dfa(0x230)]?'\x20('+_0x44c74a[_0x1f2dfa(0x230)]+')':'')};},async 'dryRun'(_0x34a28f){const _0xba164c=a10_0x1ee4b8,_0x53ebb4=buildArtifactInput(_0x34a28f);return dryRun('POST','/client/artifact/create')[_0xba164c(0x235)]({'appCode':_0x34a28f['appCode'],..._0x53ebb4})['description'](_0xba164c(0x223))[_0xba164c(0x20e)]();},'writeEventSubject'(_0x575474){const _0x29021a=a10_0x1ee4b8,_0xbb0591=_0x575474['data']?.['id'];if(typeof _0xbb0591!==_0x29021a(0x1f9)&&typeof _0xbb0591!==_0x29021a(0x222))return undefined;return{'kind':_0x29021a(0x202),'id':String(_0xbb0591),'action':'create'};}},artifactUpdate={'service':a10_0x1ee4b8(0x202),'command':'update','description':a10_0x1ee4b8(0x203),'risk':a10_0x1ee4b8(0x233),'confirmationDescription':a10_0x1ee4b8(0x20f),'flags':[{...ID_FLAG,'description':a10_0x1ee4b8(0x206)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3759f4){const _0x4362c5=a10_0x1ee4b8,_0x3de4ee=_0x3759f4[_0x4362c5(0x200)]('id'),_0x7ae0df=buildArtifactInput(_0x3759f4),_0x49afa5=await updateRuntimeArtifact(_0x3de4ee,_0x3759f4[_0x4362c5(0x226)],_0x7ae0df);return{'ok':!![],'data':detailArtifact(_0x49afa5),'message':'Updated\x20Artifact\x20'+_0x49afa5['id']+(_0x49afa5[_0x4362c5(0x230)]?'\x20('+_0x49afa5[_0x4362c5(0x230)]+')':'')};},async 'dryRun'(_0x5340f0){const _0x14a628=a10_0x1ee4b8,_0x46a738=_0x5340f0[_0x14a628(0x200)]('id'),_0x5c6ad3=buildArtifactInput(_0x5340f0);return dryRun('POST',_0x14a628(0x204)+_0x46a738+_0x14a628(0x225))[_0x14a628(0x235)]({'appCode':_0x5340f0[_0x14a628(0x226)],..._0x5c6ad3})[_0x14a628(0x209)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x46a738)['build']();},'writeEventSubject'(_0x4a94a1){const _0x3bb439=a10_0x1ee4b8,_0x3f8e01=_0x4a94a1[_0x3bb439(0x1f5)]?.['id'];if(typeof _0x3f8e01!==_0x3bb439(0x1f9)&&typeof _0x3f8e01!=='number')return undefined;return{'kind':'artifact','id':String(_0x3f8e01),'action':_0x3bb439(0x221)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x57f353=a11_0x2b59;(function(_0x139c2b,_0x54cb9f){const _0x31f1ae=a11_0x2b59,_0x5dba77=_0x139c2b();while(!![]){try{const _0x570afd=-parseInt(_0x31f1ae(0x16e))/0x1*(-parseInt(_0x31f1ae(0x175))/0x2)+-parseInt(_0x31f1ae(0x18b))/0x3*(-parseInt(_0x31f1ae(0x17a))/0x4)+-parseInt(_0x31f1ae(0x180))/0x5*(parseInt(_0x31f1ae(0x1b1))/0x6)+-parseInt(_0x31f1ae(0x1a7))/0x7*(parseInt(_0x31f1ae(0x194))/0x8)+-parseInt(_0x31f1ae(0x192))/0x9*(-parseInt(_0x31f1ae(0x16c))/0xa)+parseInt(_0x31f1ae(0x17d))/0xb+-parseInt(_0x31f1ae(0x195))/0xc*(parseInt(_0x31f1ae(0x1aa))/0xd);if(_0x570afd===_0x54cb9f)break;else _0x5dba77['push'](_0x5dba77['shift']());}catch(_0x5e941b){_0x5dba77['push'](_0x5dba77['shift']());}}}(a11_0x29a5,0xd544a));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x2b59(_0x55d2a3,_0x264f4c){_0x55d2a3=_0x55d2a3-0x162;const _0x29a5f2=a11_0x29a5();let _0x2b59f2=_0x29a5f2[_0x55d2a3];return _0x2b59f2;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';function a11_0x29a5(){const _0x5019b6=['Write\x20to\x20global\x20config\x20(default)','7gbodKM','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','url-only','once','SIGINT','accessKey','cancelled','483886qFSpeN','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','validation','POST','json','25556bLduqH','toISOString','str','9136611tYOCpI','apiError','createdAt','5bxUYVX','parse','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','string','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','global-default','source','data','boolean','access_key','Device\x20authorization\x20cancelled.','519AeiZBI','AbortError','stringify','code','stderr','scope','\x20auth\x20status','7585479SCgHtI','Invalid\x20device\x20auth\x20response','9400kjtBtt','72sWtIZm','signal','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','nonInteractive','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','Device\x20authorization\x20successful.','randomUUID','expired','global','lovrabet-cli','bool','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','aborted','floor','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','AccessKey\x20saved\x20to\x20','homeDirName','project','2135GqBvGE','application/json','test','4334876IRtIbt','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Verify:\x20','networkError','status','write','\x0dWaiting\x20for\x20authorization...\x20','7438182ynbLwX','object','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','utf8','success','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','removeListener','auth','now','\x20auth\x20device','Device\x20auth\x20API\x20error\x20(','&source=','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','getTime','),\x20retrying...','abort','Invalid\x20access_key\x20returned\x20by\x20server.','10HRWKPd'];a11_0x29a5=function(){return _0x5019b6;};return a11_0x29a5();}import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x3a432c){const _0x5b306c=a11_0x2b59;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x3a432c[_0x5b306c(0x19f)](_0x5b306c(0x19d)),'explicitProject':_0x3a432c['bool'](_0x5b306c(0x1a6)),'policy':_0x5b306c(0x185)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x3719d7=a11_0x2b59;return crypto[_0x3719d7(0x19b)]();}export function buildDeviceAuthUrl(_0x22bc2e,_0x486ab6,_0x38919d=a11_0x57f353(0x19e)){const _0x54ee50=a11_0x57f353;return _0x22bc2e+'/device-auth?code='+encodeURIComponent(_0x486ab6)+_0x54ee50(0x166)+encodeURIComponent(_0x38919d);}export function getDeviceCodePath(){const _0x454272=a11_0x57f353;return homedir()+'/'+PRODUCT_CONFIG[_0x454272(0x1a5)]+'/.device-auth';}export function readStoredDeviceCode(){const _0x665413=a11_0x57f353,_0xe397e3=getDeviceCodePath();if(!existsSync(_0xe397e3))return null;try{const _0x3a52df=readFileSync(_0xe397e3,{'encoding':_0x665413(0x1b4)}),_0x70bf6f=JSON[_0x665413(0x181)](_0x3a52df);if(_0x70bf6f&&typeof _0x70bf6f[_0x665413(0x18e)]===_0x665413(0x183)&&typeof _0x70bf6f[_0x665413(0x17f)]===_0x665413(0x183)&&(_0x70bf6f[_0x665413(0x190)]==='global'||_0x70bf6f[_0x665413(0x190)]==='project'))return _0x70bf6f;}catch{}return null;}export function writeStoredDeviceCode(_0x2032f1,_0x160015){const _0xa3e5bb=a11_0x57f353,_0x1a4d40=getDeviceCodePath(),_0x248703=dirname(_0x1a4d40);!existsSync(_0x248703)&&mkdirSync(_0x248703,{'recursive':!![]});const _0xa37216={'code':_0x2032f1,'createdAt':new Date()[_0xa3e5bb(0x17b)](),'scope':_0x160015};writeFileSync(_0x1a4d40,JSON[_0xa3e5bb(0x18d)](_0xa37216),{'encoding':_0xa3e5bb(0x1b4),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x417e62=getDeviceCodePath();try{unlinkSync(_0x417e62);}catch{}}export function isStoredDeviceCodeExpired(_0x47b96b){const _0x5c5e8=a11_0x57f353;return Date[_0x5c5e8(0x163)]()-new Date(_0x47b96b['createdAt'])[_0x5c5e8(0x168)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x32b7f4,_0x547242){const _0x48cbd2=a11_0x57f353,_0x123fb4=_0x32b7f4+'/api/device-auth/token',_0x4b33b0=new AbortController(),_0x1204f3=setTimeout(()=>_0x4b33b0[_0x48cbd2(0x16a)](),0x2710),_0x4eef27=await fetch(_0x123fb4,{'method':_0x48cbd2(0x178),'headers':{'Content-Type':_0x48cbd2(0x1a8)},'body':JSON['stringify']({'code':_0x547242}),'signal':_0x4b33b0[_0x48cbd2(0x196)]});clearTimeout(_0x1204f3);if(!_0x4eef27['ok'])throw CliErrors['networkError']('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x4eef27[_0x48cbd2(0x1ae)]);const _0x54db15=await _0x4eef27[_0x48cbd2(0x179)](),_0x761a7e=_0x54db15[_0x48cbd2(0x187)]&&typeof _0x54db15[_0x48cbd2(0x187)]===_0x48cbd2(0x1b2)?_0x54db15[_0x48cbd2(0x187)]:_0x54db15;if(!_0x761a7e||typeof _0x761a7e['status']!=='string')throw CliErrors[_0x48cbd2(0x17e)](_0x48cbd2(0x193));return{'status':_0x761a7e[_0x48cbd2(0x1ae)],'access_key':typeof _0x761a7e[_0x48cbd2(0x189)]===_0x48cbd2(0x183)?_0x761a7e['access_key']:undefined};}export async function pollDeviceToken(_0x50333b,_0x1d521c,_0x1e59f8){const _0x8c1f84=a11_0x57f353;let _0x2586e7=0x0;for(let _0x485617=0x0;_0x485617<MAX_POLLS;_0x485617++){if(_0x1e59f8[_0x8c1f84(0x1a1)])throw CliErrors[_0x8c1f84(0x174)](_0x8c1f84(0x18a));let _0x55af74;try{_0x55af74=await fetchDeviceToken(_0x50333b,_0x1d521c);}catch(_0x5ee659){if(_0x5ee659 instanceof Error&&_0x5ee659['name']===_0x8c1f84(0x18c))throw CliErrors[_0x8c1f84(0x174)]('Device\x20authorization\x20cancelled.');_0x2586e7++;if(_0x2586e7>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x8c1f84(0x1ad)](_0x8c1f84(0x1b6));writeCliSideChannelLine(_0x8c1f84(0x165)+_0x2586e7+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x8c1f84(0x169)),await sleep(POLL_INTERVAL_MS);continue;}_0x2586e7=0x0;if(_0x55af74[_0x8c1f84(0x1ae)]===_0x8c1f84(0x1b5)){if(!_0x55af74[_0x8c1f84(0x189)])throw CliErrors[_0x8c1f84(0x17e)](_0x8c1f84(0x16b));return _0x55af74[_0x8c1f84(0x189)];}if(_0x55af74['status']===_0x8c1f84(0x19c)){deleteStoredDeviceCode();throw CliErrors[_0x8c1f84(0x177)](_0x8c1f84(0x1a0));}const _0x3faa87=(_0x485617+0x1)*POLL_INTERVAL_MS,_0x41681b=DEVICE_CODE_TTL_MS-_0x3faa87,_0x54e939=Math[_0x8c1f84(0x1a2)](_0x41681b/0xea60),_0x45cd84=Math[_0x8c1f84(0x1a2)](_0x41681b%0xea60/0x3e8);process[_0x8c1f84(0x18f)][_0x8c1f84(0x1af)](_0x8c1f84(0x1b0)+_0x54e939+':'+String(_0x45cd84)['padStart'](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x8c1f84(0x177)](_0x8c1f84(0x182));}function sleep(_0x565f71){return new Promise(_0x159849=>setTimeout(_0x159849,_0x565f71));}export const authDeviceDefinition={'service':a11_0x57f353(0x162),'command':'device','description':a11_0x57f353(0x1a3),'risk':a11_0x57f353(0x1af),'confirmationDescription':a11_0x57f353(0x199),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x57f353(0x19d),'type':a11_0x57f353(0x188),'description':a11_0x57f353(0x16d),'default':!![]},{'name':'project','type':a11_0x57f353(0x188),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x57f353(0x186),'type':'string','description':a11_0x57f353(0x16f),'default':a11_0x57f353(0x19e)},{'name':a11_0x57f353(0x170),'type':a11_0x57f353(0x188),'description':a11_0x57f353(0x197),'default':![]}],async 'execute'(_0x503fb8){const _0x44fae3=a11_0x57f353,_0x11a546=resolveAuthScopeFlags(_0x503fb8),_0x1e1183=_0x11a546['global']?_0x44fae3(0x19d):_0x44fae3(0x1a6),_0x23ccad=readScopedConfig(_0x11a546);if(_0x23ccad[_0x44fae3(0x173)])return{'ok':!![],'message':_0x44fae3(0x1b3)};const _0x47fa33=(_0x503fb8[_0x44fae3(0x17c)](_0x44fae3(0x186))||_0x44fae3(0x19e))['trim'](),_0x2c0410=getUserDomain(),_0x42b273=readStoredDeviceCode(),_0x341060=_0x42b273&&!isStoredDeviceCodeExpired(_0x42b273)?_0x42b273[_0x44fae3(0x18e)]:((()=>{const _0x4a522e=generateDeviceCode();return writeStoredDeviceCode(_0x4a522e,_0x1e1183),_0x4a522e;})()),_0x1103c0=buildDeviceAuthUrl(_0x2c0410,_0x341060,_0x47fa33);if(_0x503fb8['bool']('url-only'))return console['log'](_0x1103c0),{'ok':!![]};writeCliSideChannelLine(_0x44fae3(0x1ab)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x1103c0),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x44fae3(0x167));if(_0x503fb8[_0x44fae3(0x198)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x44fae3(0x164)),{'ok':!![],'message':_0x44fae3(0x176)};writeCliSideChannelLine(_0x44fae3(0x184));const _0x42d142=new AbortController(),_0x3d068f=()=>{const _0x3e5eed=_0x44fae3;_0x42d142[_0x3e5eed(0x16a)](),process[_0x3e5eed(0x1b7)](_0x3e5eed(0x172),_0x3d068f);};process[_0x44fae3(0x171)](_0x44fae3(0x172),_0x3d068f);let _0xfe29b7;try{_0xfe29b7=await pollDeviceToken(_0x2c0410,_0x341060,_0x42d142['signal']);}finally{process[_0x44fae3(0x1b7)](_0x44fae3(0x172),_0x3d068f);}if(!ACCESS_KEY_PATTERN[_0x44fae3(0x1a9)](_0xfe29b7))throw CliErrors[_0x44fae3(0x17e)](_0x44fae3(0x16b));const _0x129457=readScopedConfig(_0x11a546);return _0x129457[_0x44fae3(0x173)]=_0xfe29b7,writeScopedConfig(_0x129457,_0x11a546),deleteStoredDeviceCode(),process[_0x44fae3(0x18f)][_0x44fae3(0x1af)]('\x0a'),writeCliSideChannelLine(_0x44fae3(0x1a4)+_0x1e1183+'\x20config.'),writeCliSideChannelLine(_0x44fae3(0x1ac)+CLI_BIN_NAME+_0x44fae3(0x191)),{'ok':!![],'message':_0x44fae3(0x19a)};}};
|
|
1
|
+
const a11_0x5578f8=a11_0x1ab2;(function(_0x4b8099,_0x3cd169){const _0x9c3fe8=a11_0x1ab2,_0x9e9d62=_0x4b8099();while(!![]){try{const _0x32c1de=-parseInt(_0x9c3fe8(0xca))/0x1*(-parseInt(_0x9c3fe8(0xc8))/0x2)+-parseInt(_0x9c3fe8(0xaa))/0x3+parseInt(_0x9c3fe8(0xa9))/0x4*(parseInt(_0x9c3fe8(0xf5))/0x5)+-parseInt(_0x9c3fe8(0xe5))/0x6+-parseInt(_0x9c3fe8(0xd2))/0x7*(parseInt(_0x9c3fe8(0xdc))/0x8)+-parseInt(_0x9c3fe8(0xa3))/0x9+parseInt(_0x9c3fe8(0xbd))/0xa;if(_0x32c1de===_0x3cd169)break;else _0x9e9d62['push'](_0x9e9d62['shift']());}catch(_0x5cdff7){_0x9e9d62['push'](_0x9e9d62['shift']());}}}(a11_0x1edc,0xe69aa));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x1ab2(_0x17bc34,_0x1c0e0d){_0x17bc34=_0x17bc34-0xa2;const _0x1edc7b=a11_0x1edc();let _0x1ab2ad=_0x1edc7b[_0x17bc34];return _0x1ab2ad;}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(_0x5de658){const _0x391d18=a11_0x1ab2;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5de658[_0x391d18(0xd4)]('global'),'explicitProject':_0x5de658[_0x391d18(0xd4)](_0x391d18(0xe3)),'policy':_0x391d18(0xeb)}));}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 _0x33b09c=a11_0x1ab2;return crypto[_0x33b09c(0xf0)]();}export function buildDeviceAuthUrl(_0x5aaec3,_0x2d567e,_0x31d3cc=a11_0x5578f8(0xb3)){const _0x3b838a=a11_0x5578f8;return _0x5aaec3+_0x3b838a(0xde)+encodeURIComponent(_0x2d567e)+_0x3b838a(0xe4)+encodeURIComponent(_0x31d3cc);}export function getDeviceCodePath(){const _0xe3bb6d=a11_0x5578f8;return homedir()+'/'+PRODUCT_CONFIG[_0xe3bb6d(0xdd)]+_0xe3bb6d(0xd0);}function a11_0x1edc(){const _0x618c31=['/.device-auth','scope','805ZKloZj','url-only','bool','POST','str','validation','Invalid\x20access_key\x20returned\x20by\x20server.','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','string','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','103592Mzaoje','homeDirName','/device-auth?code=','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','signal','write','access_key','project','&source=','9755808txPvny','SIGINT','name','toISOString','Invalid\x20device\x20auth\x20response','stderr','global-default','Device\x20auth\x20API\x20returned\x20HTTP\x20','networkError','\x20remaining','\x20auth\x20device','randomUUID','now','utf8','\x20auth\x20status','parse','5oTWuUH','data','6739335Vpulrz','createdAt','floor','test','status','Write\x20to\x20project\x20config','4419592CKeGyV','2348451tpOcYq','expired','abort','Device\x20authorization\x20cancelled.','application/json','global','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','nonInteractive','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','lovrabet-cli','auth','source','boolean','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.','getTime','padStart','Device\x20auth\x20API\x20error\x20(','code','Verify:\x20','30212820NQzjiG','once','json','device','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Write\x20to\x20global\x20config\x20(default)','apiError','stringify','),\x20retrying...','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','removeListener','38apHTfY','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','77111ychEqQ','\x0dWaiting\x20for\x20authorization...\x20','accessKey','Device\x20authorization\x20successful.','log','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.'];a11_0x1edc=function(){return _0x618c31;};return a11_0x1edc();}export function readStoredDeviceCode(){const _0x37c178=a11_0x5578f8,_0xde4d5d=getDeviceCodePath();if(!existsSync(_0xde4d5d))return null;try{const _0x53b131=readFileSync(_0xde4d5d,{'encoding':'utf8'}),_0x58d900=JSON[_0x37c178(0xf4)](_0x53b131);if(_0x58d900&&typeof _0x58d900[_0x37c178(0xbb)]===_0x37c178(0xda)&&typeof _0x58d900['createdAt']===_0x37c178(0xda)&&(_0x58d900[_0x37c178(0xd1)]===_0x37c178(0xaf)||_0x58d900[_0x37c178(0xd1)]===_0x37c178(0xe3)))return _0x58d900;}catch{}return null;}export function writeStoredDeviceCode(_0x480950,_0x615614){const _0x4a7604=a11_0x5578f8,_0x4f8478=getDeviceCodePath(),_0x1c77cd=dirname(_0x4f8478);!existsSync(_0x1c77cd)&&mkdirSync(_0x1c77cd,{'recursive':!![]});const _0x45d812={'code':_0x480950,'createdAt':new Date()[_0x4a7604(0xe8)](),'scope':_0x615614};writeFileSync(_0x4f8478,JSON[_0x4a7604(0xc4)](_0x45d812),{'encoding':_0x4a7604(0xf2),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x4c2802=getDeviceCodePath();try{unlinkSync(_0x4c2802);}catch{}}export function isStoredDeviceCodeExpired(_0x4cced2){const _0x58a33e=a11_0x5578f8;return Date[_0x58a33e(0xf1)]()-new Date(_0x4cced2[_0x58a33e(0xa4)])[_0x58a33e(0xb8)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0xae02eb,_0x8ff15c){const _0x7c3388=a11_0x5578f8,_0x179c44=_0xae02eb+'/api/device-auth/token',_0x1ad4e9=new AbortController(),_0x2b413c=setTimeout(()=>_0x1ad4e9['abort'](),0x2710),_0x233de0=await fetch(_0x179c44,{'method':_0x7c3388(0xd5),'headers':{'Content-Type':_0x7c3388(0xae)},'body':JSON[_0x7c3388(0xc4)]({'code':_0x8ff15c}),'signal':_0x1ad4e9['signal']});clearTimeout(_0x2b413c);if(!_0x233de0['ok'])throw CliErrors[_0x7c3388(0xed)](_0x7c3388(0xec)+_0x233de0[_0x7c3388(0xa7)]);const _0x34a281=await _0x233de0[_0x7c3388(0xbf)](),_0x13d1aa=_0x34a281[_0x7c3388(0xa2)]&&typeof _0x34a281['data']==='object'?_0x34a281['data']:_0x34a281;if(!_0x13d1aa||typeof _0x13d1aa['status']!==_0x7c3388(0xda))throw CliErrors[_0x7c3388(0xc3)](_0x7c3388(0xe9));return{'status':_0x13d1aa[_0x7c3388(0xa7)],'access_key':typeof _0x13d1aa[_0x7c3388(0xe2)]===_0x7c3388(0xda)?_0x13d1aa[_0x7c3388(0xe2)]:undefined};}export async function pollDeviceToken(_0x4547c8,_0xff223c,_0x1d0312){const _0xba304=a11_0x5578f8;let _0xc1b413=0x0;for(let _0x478a51=0x0;_0x478a51<MAX_POLLS;_0x478a51++){if(_0x1d0312['aborted'])throw CliErrors['cancelled'](_0xba304(0xad));let _0x257538;try{_0x257538=await fetchDeviceToken(_0x4547c8,_0xff223c);}catch(_0x54f06d){if(_0x54f06d instanceof Error&&_0x54f06d[_0xba304(0xe7)]==='AbortError')throw CliErrors['cancelled']('Device\x20authorization\x20cancelled.');_0xc1b413++;if(_0xc1b413>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0xba304(0xb2));writeCliSideChannelLine(_0xba304(0xba)+_0xc1b413+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0xba304(0xc5)),await sleep(POLL_INTERVAL_MS);continue;}_0xc1b413=0x0;if(_0x257538['status']==='success'){if(!_0x257538['access_key'])throw CliErrors['apiError'](_0xba304(0xd8));return _0x257538['access_key'];}if(_0x257538[_0xba304(0xa7)]===_0xba304(0xab)){deleteStoredDeviceCode();throw CliErrors[_0xba304(0xd7)](_0xba304(0xcf));}const _0x3d76ca=(_0x478a51+0x1)*POLL_INTERVAL_MS,_0x3a6365=DEVICE_CODE_TTL_MS-_0x3d76ca,_0x6f5d93=Math[_0xba304(0xa5)](_0x3a6365/0xea60),_0x218aed=Math[_0xba304(0xa5)](_0x3a6365%0xea60/0x3e8);process['stderr'][_0xba304(0xe1)](_0xba304(0xcb)+_0x6f5d93+':'+String(_0x218aed)[_0xba304(0xb9)](0x2,'0')+_0xba304(0xee)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0xba304(0xd7)](_0xba304(0xdb));}function sleep(_0x4b63b6){return new Promise(_0x49557e=>setTimeout(_0x49557e,_0x4b63b6));}export const authDeviceDefinition={'service':a11_0x5578f8(0xb4),'command':a11_0x5578f8(0xc0),'description':a11_0x5578f8(0xc9),'risk':'write','confirmationDescription':a11_0x5578f8(0xb7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'global','type':'boolean','description':a11_0x5578f8(0xc2),'default':!![]},{'name':'project','type':a11_0x5578f8(0xb6),'description':a11_0x5578f8(0xa8),'default':![]},{'name':a11_0x5578f8(0xb5),'type':a11_0x5578f8(0xda),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x5578f8(0xb3)},{'name':a11_0x5578f8(0xd3),'type':a11_0x5578f8(0xb6),'description':a11_0x5578f8(0xb0),'default':![]}],async 'execute'(_0x420bef){const _0x18d4b6=a11_0x5578f8,_0x3ad5db=resolveAuthScopeFlags(_0x420bef),_0x116058=_0x3ad5db[_0x18d4b6(0xaf)]?_0x18d4b6(0xaf):_0x18d4b6(0xe3),_0x500036=readScopedConfig(_0x3ad5db);if(_0x500036[_0x18d4b6(0xcc)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x3cf16d=(_0x420bef[_0x18d4b6(0xd6)](_0x18d4b6(0xb5))||'lovrabet-cli')['trim'](),_0x5f08e3=getUserDomain(),_0x3dc4c8=readStoredDeviceCode(),_0x2b9b53=_0x3dc4c8&&!isStoredDeviceCodeExpired(_0x3dc4c8)?_0x3dc4c8[_0x18d4b6(0xbb)]:((()=>{const _0x46c349=generateDeviceCode();return writeStoredDeviceCode(_0x46c349,_0x116058),_0x46c349;})()),_0x3276ee=buildDeviceAuthUrl(_0x5f08e3,_0x2b9b53,_0x3cf16d);if(_0x420bef['bool'](_0x18d4b6(0xd3)))return console[_0x18d4b6(0xce)](_0x3276ee),{'ok':!![]};writeCliSideChannelLine(_0x18d4b6(0xc1)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x3276ee),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x18d4b6(0xdf));if(_0x420bef[_0x18d4b6(0xb1)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x18d4b6(0xef)),{'ok':!![],'message':_0x18d4b6(0xd9)};writeCliSideChannelLine(_0x18d4b6(0xc6));const _0x4057e1=new AbortController(),_0x4140c1=()=>{const _0x4caa11=_0x18d4b6;_0x4057e1[_0x4caa11(0xac)](),process[_0x4caa11(0xc7)](_0x4caa11(0xe6),_0x4140c1);};process[_0x18d4b6(0xbe)]('SIGINT',_0x4140c1);let _0x1ab17a;try{_0x1ab17a=await pollDeviceToken(_0x5f08e3,_0x2b9b53,_0x4057e1[_0x18d4b6(0xe0)]);}finally{process[_0x18d4b6(0xc7)](_0x18d4b6(0xe6),_0x4140c1);}if(!ACCESS_KEY_PATTERN[_0x18d4b6(0xa6)](_0x1ab17a))throw CliErrors[_0x18d4b6(0xc3)]('Invalid\x20access_key\x20returned\x20by\x20server.');const _0x24bd48=readScopedConfig(_0x3ad5db);return _0x24bd48['accessKey']=_0x1ab17a,writeScopedConfig(_0x24bd48,_0x3ad5db),deleteStoredDeviceCode(),process[_0x18d4b6(0xea)][_0x18d4b6(0xe1)]('\x0a'),writeCliSideChannelLine('AccessKey\x20saved\x20to\x20'+_0x116058+'\x20config.'),writeCliSideChannelLine(_0x18d4b6(0xbc)+CLI_BIN_NAME+_0x18d4b6(0xf3)),{'ok':!![],'message':_0x18d4b6(0xcd)};}};
|